만쥬의 개발일기
article thumbnail
[JavaScript] - 자바스크립트 유닛 테스트 도구인 Jest 사용법

설치 터미널에서 다음 명령어로 jest를 설치한다. npm install --save-dev jest 설정 package.json 에서 스크립트의 test를 jest로 수정해준다. 다음 예시처럼 폴더계층을 만들어준다. ├── package-lock.json ├── package.json ├── src │ ├── index.js │ └── tests │ └── test.js 테스트 작성 test.js에 테스트 코드를 짠다. describe('Jest 사용 예시', () => { test('숫자 0은 false이다', () => { expect(Boolean(0)).toBe(false); }); // 프리미티브 타입 검사의 경우 toEqual()을 사용해도 큰 문제는 없습니다. test('숫자 0은 fals..

article thumbnail
[CI/CD] - 도커와 젠킨스를 사용한 CI/CD -4 (도커의 설치부터 자동배포까지)
♾️DevOps/♾️CI & CD 2024. 1. 9. 09:08

Github to Jenkins Webhook 설정하기 깃허브에서 Webhook 설정 깃허브의 프로젝트 ➡️ settings➡️Webhooks ➡️Payload URL에 Payload URL을 '{Jenkins 서버IP:PORT}/github-webhook/'로 적은 후 저장한다. Webhook 테스트 저장 후 Recent Deliveries 탭에서 Webhook을 보내고 정상적으로 되는지 확인한다. 젠킨스 Jenkins Job 설정 Github에서 Webhook을 보내고 Jenkins가 수신하는 것까지 완료된 것이고 Webhook을 받았을 때 자동으로 Jenkins Job이 실행되도록 하려면 Jenkins Job 설정에서 Github hook trigger for GITScm polling 체크박스를 ..

article thumbnail
[이펙티브 자바] - 1장 ~ 2장
📖BOOK/📙Effective Java 2024. 1. 2. 22:46

1장 : 들어가기 이 책은 총 90개의 아이템과, 아이템들을 주제별로 묶은 11개의 장으로 구성된다. 또한 많은 디자인 패턴과, 피해야할 안티패턴들을 소개한다. 이 책의 용어들은 대부분 자바8용 언어 명세를 따른다. 자바가 지원하는 타입은 다음 네가지이다. 인터페이스 클래스 배열 (array) 기본타입 (primitive) 위 네가지 타입 중 처음 세가지는 참조 타입(reference type)이다. 즉, 클래스의 인스턴스와 배열은 객체이지만, 기본 타입은 그렇지 않다. 클래스의 멤버로는 필드, 메서드, 멤버 클래스, 멤버 인터페이스 등이 있따. 메서드 시그니처는 메서드 이름과 파라미터의 타입들로 이뤄진다. 또한 이 책에서는 인터페이스 상속 ➡️ 클래스가 인터페이스를 구현한다 or 인터페이스가 다른 인터..

article thumbnail
[Go] - 리눅스 환경에 Golang 설치 후 사용해보기

Go를 쓸 일이 언제 오나 싶었는데, 마침 Golang으로 제작된 오픈소스를 쓸 일이 생겨 이 참에 사용해보았다. tar 파일 받기 https://go.dev/dl/ All releases - The Go Programming Language go.dev 먼저 Go 공식 홈페이지에서 리눅스용 Go를 다운받습니다. tar.gz는 tar 파일을 압축한 상태입니다. 따라서 압축 파일을 받은 뒤 다음 명령어로 압축을 풀어줍니다. tar -xvzf 아카이브파일.tar.gz Go 위치 설정 압축이 풀린 go 폴더가 생성되었다면, 원하는 위치로 위치를 옮겨 줍니다. 저는 다음 명령어를 통해 /usr/local 위치로 옮겨 주었습니다. sudo mv go /usr/local Go PATH 등록하기 저는 Zsh 셸을 사..

article thumbnail
[PostgreSQL] - 원격 서버에서 PostgreSQL 접속하는 법
🛠️TOOL/🐘PostgreSQL 2024. 1. 2. 10:08

PostgreSQL을 설치하면 기본적으로 외부 서버에서 접속할 수 없기 때문에, config 파일들을 수정해주어야 한다. 개발환경은 WSL2 + ubuntu18.04 이다. 우선 다음 명령어로 Ubuntu에서 열려있는 포트를 확인한다. netstat -nltp postgres의 기본 포트는 5432이다. 위 결과처럼 127.0.0.1:5432로 되어 있다면 5432포트는 내부에서만 접속할 수 있다는 뜻이다. postgresql.conf파일 수정 Postgres 설정을 변경하려면 postgresql.conf에서 변경해 줘야 한다. 먼저 다음 명령어로 postgresql.conf 파일을 vim 편집기로 변경해준다. sudo vim /etc/postgresql/10/main/postgresql.conf (po..

article thumbnail
[PostgreSQL] - PostgreSQL DB생성 및 접속 시 Peer authentication 에러 해결법
🛠️TOOL/🐘PostgreSQL 2024. 1. 1. 23:18

PostgreSQL을 사용하며 DB를 생성하거나, psql로 접속할때 종종 Peer authentication 에러가 발생하곤 한다. 이때에는 pg_hba.conf파일의 설정을 변경해주어야 한다. 먼저 pg_hba_conf 파일의 위치를 찾아야하는데, 리눅스 우분투의 경우 보통 다음 경로에 위치한다. /etc/postgresql/{postgresql 버전}/main/pg_hba.conf 해당 파일을 vi 편집기로 접속하고, 몇가지 설정을 변경해준다. 로컬 호스트 기준 여기서 local all postgres와 local all all의 peer을 모두 md5로 변경해준다. 위 사진과 같이 변경되었다면 저장을 해준다. 외부 host기준 host all all 127.0.0.1/32 md5 위 설정에서 12..

article thumbnail
[PostgreSQL] - PostgreSQL사용 시 데이터 공간 부족 문제 해결
🛠️TOOL/🐘PostgreSQL 2024. 1. 1. 23:09

postgresql 설정 파일이 위치한 폴더로 이동한다. 각 OS별로 대부분 다음 위치에 존재한다. Linux /etc/postgresql/13/main/postgresql.conf macos /usr/local/var/postgres/postgresql.conf window C:\\Program Files\\PostgreSQL\\13\\data\\postgresql.conf 해당위치의 postgresql.conf 파일에서 data_directory를 확인한다. 해당 경로가 postgresql 서버에서 사용하는 모든 데이터와 메타데이터가 저장되는 데이터베이스 클러스터이다. 그리고 해당 파일에서 log_temp_files 부분을 다음과 같이 수정해준다. log_temp_files = 10240 공간 확보 ..

article thumbnail
[Spring Boot] - 클라이언트 접속 IP 기록용 Tomcat Access Log 설정하기

Tomcat Access Log란? 웹 서버의 로그 파일로서 클라이언트의 HTTP 요청 및 응답에 대한 정보를 기록하는 로그입니다. 이를 통해 애플리케이션의 동작 상태를 파악하고 문제를 해결하는 데 유용하게 사용됩니다. Tomcat Access Log 사용 목적 💡 가장 주요한 사용 목적은 HTTP 요청 및 응답 정보를 기록 애플리케이션의 동작 상태 파악 애플리케이션의 성능 분석 보안 이슈 파악 사용자 행동 분석 Access Log의 구성 요소 구성 요소의 종류 구성요소 약어 설명 Remote Host %a HTTP 요청을 보낸 클라이언트의 IP 주소 Timestamp {yyyy-mm-dd HH:mm:ss} HTTP 요청이 발생한 시간 Request Line %r HTTP 요청 메서드, URL 및 HTT..