본문 바로가기

IT/Server

(10)
[Spring] 프로젝트 참고 사이트 [SPRING] 스프링 프레임워크 시작하기-4 자바 웹개발 JDK Eclipse Tomcat DBMS (ORACLE, MySQL, H2...) 어제 공부한 내용 복습 1. bean 엘리먼트 속성 1-1. init-method : Servlet 컨테이너는 생성자로 Servlet 객체의 멤버변수를 초기화할 수 없다 velog.io
[Spring] Spring 설치 https://jerryjerryjerry.tistory.com/64?category=280350 [Spring] Spring 설치방법, 톰캣 서버 연결, 디렉토리 구조 * Spring 이란?에 대한 포스팅 : http://jerryjerryjerry.tistory.com/62 * Spring 설치 방법 1. 첫번째 설치방법으로는 이클립스 안에서 STS 플러그인을 설치하는 방법이 있다. 2. 두번째 설치방법으로는 이클립.. jerryjerryjerry.tistory.com
[Spring] 스프링, 스프링 프레임워크(Spring Framework) 1. 스프링이란? 스프링프레임워크(Spring Framework) - 자바 플랫폼을 위한 오픈소스 애플리케이션 프레임워크로서 스프링(Spring)이라고도 불린다. - 동적인 웹 사이트를 개발하기 위한 여러 가지 서비스를 제공한다. - Framework : 개발할 때 설계 기본이 되는 뼈대나 구조 / 환경 (문제 영역을 해결한 재사용, 확장 가능한 라이브러리.) 프레임 워크는 자주 쓰일 만한 기능들을 한데 모아 놓은 유틸(클래스)들의 모음(집합) - 설계의 기반이 되는 부분을 기술한 확장 가능한 기반 코드와 사용자가 이 코드를 자기 입맛대로 수정, 확장하는데 필요한 라이브러리 이 두가지 요소가 통합되어 제공되는 형태이다. - 사용자가 이 기반 코드를 이용해 일정 수준 이상의 품질을 보장받는 코드를, 비교적..
OSI 7계층 > [LAYER 4] 전송 계층 > PORT 1. PORT(포트), 넌 누구니? 포트는 운영 체제 통신의 종단점이다. 이 용어는 하드웨어 장치에도 사용되지만, 소프트웨어에서는 네트워크 서비스나 특정 프로세스를 식별하는 논리 단위이다. 사용법 : URI 문법에 의해서 사용 및 표기할 수 있으며, IP 주소와 함께 표기하는 예는 다음과 같다. ftp://000.000.000.000:21 여기서 000.000.000.000은 IP 주소를 나타내며 : 다음의 21이 포트 번호를 의미한다. 2. PORT(포트), 언제 사용될까? 포트(port)는 보통 항구나 공항(airport)을 나타냅니다. 이러한 항구와 공항은 외부세계와 접속할 수 있는 관문이 됩니다. 컴퓨터에서도 마찬가지입니다. 컴퓨터에서의 포트(port)란 외부의 다른 장비와 접속하기 위한 플러그와..
Jenkins, Docker, AWS 처음에는 Jenkins 를 단독으로 설치하려고 하였으나, 이참에 Docker 를 이용해서 자동화된 테스트까지 돌리고 싶어서, Docker 위에 Jenkins 를 설치하기로 마음 먹었다. Docker Docker 는 환경의 구성을 Image 로 만들어 두고 이를 Container 를 이용해 항상 동일한 환경을 제공해주는 Platform 이다. 여기서 Image 는 세팅 환경이고, Container 는 실행 환경이라고 볼 수 있다. Image 로 Jenkins 를 세팅하고, Container 에서 Jenkins 를 구동한다. Docker 를 이용해 Jenkins 를 세팅하게 되면, Docker 내부의 Docker 를 만들어서 일정한 테스트 환경을 유지하는데 사용할 수 있다. AWS CLI AWS CLI 는 ..
backend 이해하기 사용한 서버 목록 - WAS 서버 (자바+스프링) 3대 - Mysql 서버 2대 (Master, Slave) - Redis 서버 1대 (세션,캐시) - Nginx 웹서버 1대 - Jenkins 서버 1대 - Vault 서버 1대 - Ngrinder 서버 1대 - Pinpoint 서버 1대 프로젝트 서버 구조에 대한 전반적인 설명 - 사용자는 Nginix IP로 Http 요청을 보냅니다. - Nginix의 Reversed Proxy 기능을 통해 WAS서버 3대에 부하를 분산시킵니다. - WAS서버는 데이터 접근을 위해 Mysql서버와 Redis서버에 요청을 보냅니다. - Jenkins서버는 CI/CD 구축을 위해 사용하여 Github에 코드를 push할 시 통합, 배포를 자동화 시켜줍니다. - Jenkin..
[Jenkins] CI ( Continuous Integration ) / CD ( Continuous Delivery ) CI 서비스는 전체 응용 프로그램을 컴파일하고 테스트합니다. 또한 지속적인 딜리버리는 이 테스팅 된 애플리케이션을 예를 들어 알파 테스터가 조기 피드백을 사용하고 제공 할 수 있도록 저장소로 푸시합니다. CD 빌드는 프로덕션 환경에 자동으로 배포되며 광범위한 베타 테스트에도 사용할 수 있습니다. CD는 린 로지스틱스를 목표로 합니다. 새 코드 추가부터 승인 테스트까지 프로세스를 자동화합니다. CD는 모든 단계를 자동화하여 빌드를 배포 할 준비가 되었습니다. 지속적인 딜리버리 : 응용 프로그램을 구축하고 테스트를 실행하는 것 외에도 응용 프로그램은 "전달"되기도합니다. 이는 종종 누군가가 수동 테스트를 수행 할 수 있도록 서버에 배치하거나 테스트 그룹의 사용자에게 전자 메일로 전송하는 것을 의미합니다. 프..
[Jenkins] 젠킨스 설치 및 구동 젠킨스는 자바로 개발되었으며 서블릿 컨테이너 위에서 구동된다. 따라서 WAS인 Toacat, Jetty 등 서블릿 컨테이너를 설치하고 이 위에서 젠킨스 war파일로 구동한다. 각 OS별로 별도의 설치파일을 제공하고 있으나, OS에 제한적이지 않고 WAS에 배포함으로써 구동할 수 있도록 .war파일을 다운받았다. JDK 설치 http://www.oracle.com/technetwork/java/javase/downloads/index.html 접속 후 JDK 설치 windows 환경 변수 설정 WAS 설치 http://tomcat.apache.org/ 접속 후 Tomcat 설치 원하는 위치에 압축 해제 Jenkins 설치 https://jenkins.io/ 접속 후 LTS 버전 탭 이동 Download J..
[Jenkins] Jenkins란 젠킨스는 소프트웨어 개발 시 지속적으로 통합 서비스를 제공하는 툴이다. CI(Continuous Integration) 툴 이라고 표현한다. 다수의 개발자들이 하나의 프로그램을 개발할 때 버전 충돌을 방지하기 위해 각자 작업한 내용을 공유영역에 있는 저장소에 빈번히 업로드함으로써 지속적 통합이 가능하도록 해준다. 젠킨스와 같은 CI툴이 등장하기 전에는 일정시간마다 빌드를 실행하는 방식이 일반적이었다. 특히 개발자들이 당일 작성한 소스들의 커밋이 모드 끝난 심야 시간대에 이러한 빌드가 타이머에 의해 집중적으로 진행되었는데, 이를 nightly-build라 한다. 하지만, 젠킨스는 정기적인 빌드에서 한발 나아가 서브버전, Git 과 같은 버전관리시스템과 연동하여 소스의 커밋을 감지하면 자동적으로 자동화 테스..
Gradle Gradle을 이용해 자바 프로젝트 만들기 이 포스트를 이용해 Gradle 자바 프로젝트를 생성하는 법을 알아 보도록 하겠다. 예상 독자 이 포스트의 독자들은 자바 개발 환경 설정을 마친 상태이며, 각자 원하는 IDE를 다운로드한 상태이다 imasoftwareengineer.tistory.com Gradle 그래들이란 오픈소스 빌드 자동화 툴이다. 이게 무슨 말이냐, 여러분은 자바 프로젝트를 하면서 외부 라이브러리르 갖다 쓴 적이 있을 것이다. 그 때마다 여러분은 외부 라이브러리 jar파일을 가져와 Classpath에 추가해야 했을 것이다. 외부 라이브러리가 1개라면 상관 없겠지만 100개 1000개라면 인간이 직접 관리하기에는 너무 많은 양일 것이다. 그래들은 여러분이 jar파일을 추가하는 대신 해당 ..