본문 바로가기

분류 전체보기

(26)
[Jenkins] Jenkins와 Github 레파지토리와 연동하기 이전에 Mac에 Jenkins를 설치하였습니다. 이번에는 Jenkins와 Github 레파지토리를 연동하겠습니다! 1. Github에서 access token 발급받기 settings -> developer settings 클릭합니다. Personal access tokens에서 generate new token 클릭합니다. 아래와 같이 토큰 이름과 Jenkins가 요구하는 scope 설정합니다. 완료하면 아래와 같이 access tokens이 발급됩니다. 이 토큰을 복사해주세요! 창을 닫으면 토큰을 다시 발급받아야 하니 창은 닫지 않는 것이 좋습니다. 2. jenkins에 access tokens으로 깃허브 서버 추가하기 Jenkins 관리에서 시스템 설정을 클릭합니다. add github server..
[Jenkins] Mac에서 Jenkins 설치하기 Jenkins는 소프트웨어를 개발 할 때 CI/CD 환경을 구축할 수 있는 툴입니다. 그럼 Mac에서 Jenkins를 설치해보겠습니다! 1. Jenkins 다운받기 brew install jenkins-lts brew를 통해 다운 받습니다. 2. 시작하기 설치가 완료되면 아래의 시작 명령어를 통해 시작을 합니다. # 시작 brew services start jenkins-lts # 중지 brew services stop jenkins-lts # 재시작 brew services restart jenkins-lts # 삭제 brew remove jenkins-lts 3. 실행하기 http://localhost:8080으로 Jenkins를 실행하면, 아래의 화면을 볼 수 있습니다. 위의 화면에서 볼 수 있듯이..
[MYSQL] INSERT문, DELETE문, UPDATE문 MYSQL MYSQL의 CRUD 중 SELECT문에 관해서는 저번 포스팅에서 알아보았습니다. 이번에는 INSERT문, DELETE문, UPDATE문에 대해 알아보겠습니다! INSERT 문 INSERT INTO 테이블명(컬럼명) VALUES(데이터) insert into dept(department_id, department_name, manager_id, location_id) values(10, '기획부', 100, 101); insert into dept(department_id, department_name) values(20, '관리부'); insert into dept(manager_id, location_id, department_id, department_name) values(100, 10..
[MYSQL] SELECT문(조건절, GROUP BY, ORDER BY 등) MYSQL MYSQL의 CRUD는 INSERT, SELECT, UPDATE, DELETE가 있습니다. 그중 가장 많이 사용되는 SELECT문에 대해 알아보겠습니다! 기본 select 형식 SELECT (값, 컬럼명, 함수, sub query) FROM (테이블명, sub query) -- 기본 select select * from employees; select employee_id, last_name, first_name from employees; -- 임의 컬럼 select '이름: ', 20, first_name from employees; -- alias == 별명 select first_name as "이름", last_name as "성" from employees; select first_..
[Servlet&JSP] 서블릿(Servlet) 이란! Servlet이란 자바를 사용하여 클라이언트의 요청에 따라 동적으로 웹 서비스를 제공하는 서버측 프로그램입니다. 간단한 메소드 호출만으로 요청(Request)과 응답(Response)을 처리할 수 있게 해줍니다. 대표적인 메소드로는 doGet(), doPost()가 있습니다. Servlet 등록 방식 (1) web.xml 사용 helloServlet sample1.HelloServlet helloServlet /location package sample1; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServ..
[SPRING] STOMP STOMP WebSocket을 사용하기 위해서는 WebSocketHandler가 필요하며, 어떠한 handler를 상속받는지에 따라 어떤 타입의 메세지를 처리할지 결정할 수 있습니다. 하지만 메세지가 어떤 포맷으로 전달될지, 어떤 내용을 담고 있는지에 대해서는 정의하지 않고 있기 때문에 이 부분을 직접 구현해야 한다는 번거로움이 있습니다. 이를 해결하기 위해 서브 프로토콜로 메세지의 형식, 유형, 내용 등을 정의해주는 프로토콜인 STOMP를 사용합니다. STOMP의 형식 COMMAND header1:value1 header2:value2 Body^@ STOMP의 형식은 위와 같습니다. COMMAND는 어떠한 종류의 메시지인지 알려주는 용도로, 대표적으로 SEND, SUBSCRIBE 등이 있습니다. 또한 ..
[SPRING] WebSocket WebSocket 등장 인터넷을 사용할 때 가장 많이 사용되는 프로토콜은 HTTP입니다. HTTP는 클라이언트의 요청이 있는 경우에만 서버가 응답할 수 있는 단방향 프로토콜입니다. 즉 서버가 먼저 클라이언트에게 메시지를 보낼 수 없는 프로토콜입니다. 하지만 채팅이나 게임 등 실시간 통신이 필요한 경우가 생겨나면서 HTTP처럼 단방향 프로토콜이 아닌 양방향 프로토콜이 필요해졌습니다. 이를 위해 WebSocket이 등장하였습니다. WebSocket은 양방향 프로토콜로 클라이언트의 요청 없이 자유롭게 서버와 클라이언트 사이의 통신이 가능합니다. WebSocket 이전 기술 WebSocket은 HTML5부터 등장했기 때문에 이전에는 다른 방법으로 HTTP의 단점을 보완했습니다. (1) HTTP Polling 새..
[스터디1] 싱글턴 패턴과 정적 메소드 싱글턴 패턴 - 목적과 의의 싱글턴 패턴이란 객체의 인스턴스가 오로지 한 개만 생성되도록 설계하는 것입니다. 프로그램 내에서 전역적으로 사용하고 유일해야 하는 경우 사용하는데, 로그 기록, 캐싱, 사용자 설정 등에서 사용됩니다. - 예제 (1) 순수한 구현 public class Background { private static Background instance; private Background() { } public static Background getInstance(){ if(instance == null){ instance = new Background(); } return instance; } } 위의 코드를 통해 싱글턴 객체를 생성할 수 있지만, 멀티스레드 환경에서 싱글턴이 보장되지 않는다..