application-auth.properties security.jwt.token.secret-key={SECRET_KEY} security.jwt.token.expire-length={EXPIRE_LENGTH} application-db.properties spring.datasource.url=jdbc:{DB}://{IP}:{PORT}/{DATABASE}?characterEncoding=UTF-8&serverTimezone=UTC spring.datasource.driverClassName=org.mariadb.jdbc.Driver spring.datasource.username={USER_NAME} spring.datasource.password={PASSWORD} application-elk.p..
Elastic Stack ELK: Elasticsearch, Logstash, Kibana Elasticsearch: 검색 및 분석엔진 Logstash: 서버 사이드 데이터 처리 파이프라인, 여러 소스의 데이터를 수집하여 변환한 뒤 elasticsearch 에 전송 Kibana: Elasticsearch 의 내용을 차트와 그래프를 이용해 데이터를 시각화 Beats: 경량의 단일 목적 데이터 수집기 제품군 Elastic Stack: EKL + Beat 우리 서비스 ELK Stack 구성 ElasticSeach, Logstash, Kibana는 docker-elk 레포지토리를 참고하여 설정 각각의 GM 서버에는 로그 정보를 Logstash에 전달하는 filebeat를 설치 FileBeat 로그가 있는 서버에..
로깅 개념 로그 레벨 TRACE < DEBUG < INFO < WARN < ERROR < FATAL INFO 레벨로 설정하면 그 위의 INFO, WARN, ERROR, FATAL 로그가 출력된다. FATAL: 아주 심각한 에러가 발생한 상태. 시스템적으로 심각한 문제가 발생하여 애플리케이션 작동이 불가능. 프로그램이 종료되는 경우가 많음. ERROR: 의도하지 않은 에러가 발생한 경우. 프로그램이 종료되진 않음. 프로그램에서 개발자가 의도하지 않은 예외를 나타낼 때 사용. WARN: 에러가 될 수 있는 잠재적 가능성이 있는 경우. INFO: 명확한 의도가 있는 에러. 요구사항에 따라 시스템 동작을 보여줄 때 사용. 개발자가 의도한 예외. DEBUG: INFO 레벨보다 더 자세함. TRACE: DEBUG ..
HTTP http 는 application-level 프로토콜이다. request/response protocol request는 requestLine, header, body로 구성되어 있다. response는 statusLine, header, body로 구성되어 있다. 브라우저마다 지원하지 않는 응답코드나 Request Line Request-Line = Method SP Request-URI SP HTTP-Version CRLF 가장 첫번째 줄이다. method, uri, http-version 이 포함되며 공백을 기준으로 구분한다. CRLF (개행)으로 끝난다. 예시: "GET /login HTTP/1.1 \r\n" Method method is case-sensitive GET, POST, P..
File java 애플리케이션은 resource 디렉토리에 정적파일을 저장 @Test void resource_디렉터리에_있는_파일의_경로를_찾는다() { final String fileName = "nextstep.txt"; URL request = getClass().getClassLoader().getResource(fileName); System.out.println("!!!"+getClass()); // !!!class nextstep.learning.http.FileTest System.out.println("!!!"+getClass().getClassLoader().getName()); // !!!app assert request != null; final String actual = req..
http 서버 구현하기 미션을 하고 있다. 진행하면서 @GetMapping, @PostMapping 등으로 메소드 실행 분기처리를 하고 싶어졌다. 그래서 작성하는 Method 단위의 커스텀 어노테이션 만들기 1. 어노테이션 정의 @interface로 어노테이션을 정의한다. 메타 어노테이션을 정의한다. @Target: ElementType.METHOD, ElementType.FIELD 등으로 다양하게 어디에 적용할 어노테이션인지 정의할 수 있다. @Retention: 런타임에도 참조할 수 있게 RetentionPolicy.RUNTIME 으로 해준다. 이것 역시 컴파일을 기준으로 언제 참조 가능한지 설정해 줄 수 있다. CustomAnnotation 참고 블로그 이번 경우에서는 path라는 속성으로 uri을..
기술적인 것들 - 도커 - AWS - VIM - JPA - Spring - 환경설정 - 네트워크 개념 - CI/CD 등을 직접하거나 해 놓은 것을 보고 많이 배웠다. 뒤로 갈수록 더 환경설정 부분에 치중하느라 자바 코드 작성은 다른 미션 때보다 덜 하게 된 것 같다. (사실 1주일 방학동안 안해서 기억이 잘 안난다..ㅎㅎ) 협업하기 협업은 역시 어렵다. 항상 내 기준으로 생각하면 안 되고 상대의 입장에서도 생각해봐야 한다. 그래서 예쁘게 말하는 것이 진짜 중요하다. 이것이 남도 생각하고, 나도 생각하는 방법이라고 생각이 든다. 말은 쉽고 행동은 어렵다. 상대방이 원하는 것을 잘 파악하고, 내가 원하는 것을 명확하게 전달할 줄 아는 것이 가장 중요한 것 같다. 그러려면 잘 들어야 한다!! 잘 듣는 게(의도..
이미지 컨테이너를 생성할 때 필요한 요소 이미지는 여러 계층으로 된 바이너리 파일로 존재 읽기전용 [저장소이름]/[이미지이름]:[태그] 컨테이너 이미지로 컨테이너를 생성 독립된 파일시스템과 격리된 시스템자원 및 네트워크를 사용할 수 있는 독립된 공간 도커 이미지의 종류에 따라 알맞은 설정과 파일을 가지게 됨 컨테이너에서 무엇을 하든 원래 이미지에는 영향을 주지 않음 가상 IP 주소를 할당받음. 172.17.0.x 의 IP를 순차적으로 할당 컨테이너를 삭제하면 컨테이너 계층에 있던 정보도 삭제됨 도커 명령어 Docker-compose docker-compose up -d # -d, --detach : background 로 실행 # up : start or restart all the services de..
- Total
- Today
- Yesterday
- 회고
- 월간회고
- TIL
- 마스터즈코스
- DB
- 글쓰기미션
- TCP/IP
- 네트워크
- 객체지향
- 운영체제
- 학습로그
- 우아한테크코스
- Spring
- 카카오
- 인증
- 내부코드
- Transaction
- CS
- python
- javascript
- 알고리즘
- 우테코수업
- OS
- 코드스쿼드
- JPA
- React
- 모의면접준비
- JS
- 개발공부일지
- java
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |