기술 창고(246)
-
[Git] 로컬 / 원격지 작업 설정
다른 개발자 분께서 만든 프로젝트를 Clone 하여 인텔리제이 내부에서 불러왔다. 만들어진 프로젝트의 모듈을 변경할 수 없는 것처럼 보였다. 그래서 Spring 프로젝트를 만들기 위해 Spring 모듈을 추가해주었는데, 위의 이미지와 같이 clone 받은 프로젝트 내에 새로운 프로젝트 모듈이 생겨버렸다. 추가시키지 말고 clone 받은 프로젝트 자체를 Spring 모듈로 전환하여 진행하고 싶었지만 바뀌지가 않았다. 내부에 생성된 프로젝트에서 작업을 진행하고 외부의 본 프로젝트를 원격지로 지정하여 반영시켜주기로 하였다. 우선 Git Bash를 실행하고 내부에 생성된 프로젝트로 진입한다. 나의 경우에는 "C드라이브 -> work 폴더 -> clone받은 본 프로젝트 -> 내부에 생성된 프로젝트" 로 진입한다..
2023.02.23 -
[DB] H2 데이터베이스
H2는 Java 기반의 관계형 데이터 베이스(RDBMS)이다. 서버 모드와 임베디드 모드의 인메모리 DB 기능을 지원한다. 브라우저 기반의 콘솔모드를 사용할 수 있고, 별도의 추가적이고 복잡한 설치과정이 필요없고 용량도 매우 적어 사용하기 간편하다. H2의 작동 혹은 어플리케이션을 실행한 서버를 끄게 되면 DB에 저장된 내용들은 사라지게 된다. JDBC api 또한 지원하기 때문에 사용하기 편리하다. MYSQL과 같은 표준 SQL을 지원한다. 위와 같은 특징들 때문에 어플리케이션 개발 단계의 테스트 DB로서 많이 사용된다. H2 사용법 (Feat. 연동 방법) (1) H2 DB installer 다운 https://www.h2database.com/html/main.html H2 Database Engi..
2023.02.23 -
[CI / CD] Jenkins 와 Git 연동 시 발생된 에러 해결 (We couldn't this payload: failed to connect to host)
Jenkins 와 Git 의 Webhooks 를 연동하고 프로젝트를 push 하였는데 Jenkins에서 캐치하지 못하여 자동적으로 빌드가 되지 않았다. 그래서 Jenkins 에서 잘못 설정된 것인지 Git 에서 잘못 설정된 것인지 확인해보기로 했다. 우선 Jenkins 에서 지금 빌드를 눌러 수동적으로 빌드가 정상적으로 진행되는지 확인해보았는데 정상적으로 빌드되는 것을 확인할 수 있었다. 따라서 Jenkins 쪽에는 이상이 없다고 판단했다. 이번엔 Git 레포지토리로 가서 Settings의 Webhooks 항목에 에러 표시가 나있는 작업 이력을 확인해보았다. 확인해보았더니 We couldn't this payload: failed to connect to host 라는 에러가 발생하였다. 해당에러가 발생..
2023.02.16 -
[CI / CD] Jenkins 와 Git 연동
Jenkins는 설치 완료하였다. 이제 Git 이랑 연동하여 프로젝트를 commit 후 push할 때 jenkins가 캐치하여 빌드, 테스트할 수 있도록 하자 (1) Git 토큰 발부 일단 자신의 Git 계정으로 들어가자 상단의 계정 마크를 눌러 나오는 탭들 중에 Settings 를 선택한다. Archives 항목 밑에 Developer Settings 를 선택한다. Personal access tokens -> Token (classic) -> Generate new token -> Generate new token (classic) 위의 순서대로 들어간다. 들어가면 자신의 Git 으로 토큰을 만드는 페이지가 나온다. Note에 토큰이름을 지정해준다. (아무 명칭이나 상관없음) Expiration 은 ..
2023.02.15 -
Non-Blocking IO / Blocking IO
Blocking IO Blocking IO 란 IO 프로세스가 시작한 작업이 진행되는 동안 다른 작업은 중단한 상태로 진행 중인 IO 작업이 끝날 때까지 대기하는 방식을 뜻한다, Blocking IO 에 관한 자료를 찾다보니 가장 흔한 이미지가 위의 사진이였다. 사진을 보면, Read() 함수가 호출이 되면 해당 함수가 완전히 끝날 때까지 다른 작업을 수행하지 못한다. Non-Blocking IO Non-Blocking IO 는 한 프로세스가 IO 작업을 호출했을 때 IO 작업이 완료될 때까지 작업을 중단하지 않고 IO 호출에 대해 즉시 리턴한 뒤, 해당 프로세스가 이어서 다른 IO 작업을 수행할 수 있도록 하는 방식을 뜻한다. Non-Blocking IO 는 한 프로세스가 작업을 진행할 때 즉시 커널 ..
2023.02.10 -
[CI / CD] Jenkins 설치
나는 이때까지 자동화해서 빌드, 테스트, 배포는 해본적이 없기 때문에 이러한 편리한 기능을 사용해보고 싶었다. 처음 CI / CD를 적용하여 자동화해보기 때문에 사용하는 과정을 잘 정리해두면 좋을 것 같았다. (1) Jenkins Installer 설치 우선 Jenkins를 설치해주도록 하자. https://www.jenkins.io/ Jenkins The Jenkins project would like to take a moment and share deep gratitude to our sponsors. Sponsorship of the Jenkins project is key to the maintenance and development of Jenkins. There are different wa..
2023.02.08