일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 중첩 구조 분해
- nestjs
- TypeScript
- 참조에 의한 객체 복사
- 로그스태시
- JSON.stringify
- react-slick
- 구조 분해 할당
- 카카오 소셜로그인
- nextjs
- 위크셋
- 객체
- DB
- logstash
- context switch
- 화살표 함수
- nest
- MongoDB
- 자바스크립트
- JSON.parse
- javacript
- JavaScript
- nodemailer
- Map
- Mongoose
- 이메일 전송
- 위크맵
- 카카오로그인
- AGGREGATE
- 캐러셀
- Today
- Total
목록전체 글 (188)
뚜sh뚜sh
# MySQL 데이터베이스에서 데이터를 읽어오기input { jdbc { jdbc_driver_library => [MySQL JDBC 드라이버 라이브러리 경로] jdbc_driver_class => [MySQL JDBC 드라이버 클래스] jdbc_connection_string => [MySQL 접속 URL] jdbc_user => [username] jdbc_password => [password] statement => [실행할 SQL 쿼리] # 스케줄 주기 설정(CRON 표현식) schedule => "*/1 * * * *" # 증분 추적을 위한 설정 u..
지금 진행하고 있는 프로젝트에서는 config server를 통해 설정 파일의 대부분의 내용들을 주입받고 있다.그러다 보니 빌드할 때 설정값이 없어서 빌드에 실패했다.설정값이 필요한 내용들을 빌드할 때 제외하기 위해 찾아보다가 위의 3가지의 어노테이션을 찾게 되었고 언제 사용하는지 기억하기 위해 정리해 본다! @Profile특정 Spring Profile이 활성화될 때만 해당 빈을 등록해 준다.주로 개발, 테스트, 프로덕션 환경 등에서 서로 다른 빈을 구성할 때 사용한다.@Profile("dev") @ConditionalOnBean특정한 타입의 빈이 존재할 때만 현재 빈을 등록해 준다.특정 구성이나 기능이 다른 빈의 존재 여부에 의존적일 때 사용한다.@ConditionalOnBean(ABean.cl..
1. JDBC 플러그인 설치내가 설치한 logstash-8.16.0은 jdbc 플러그인이 포함되어 있어서 따로 설치할 필요 없었다! logstash에 jdbc 플러그인이 포함되어 있는지 확인하는 방법- 아래 명령어를 실행했을 때 목록에 logstash-input-jdbc가 포함되어 있는지 확인하면 됨/path/to/logstash/bin/logstash-plugin list 2. JDBC 드라이버 준비jdbc 플러그인은 데이터베이스에 연결하기 위해 JDBC 드라이버가 필요했다나는 MySQL에 연결할 예정이어서 MySQL JDBC 드라이버를 설치했다 3. 로그스태시 설정 파일(logstash.conf)input { jdbc { jdbc_driver_library => "path/to..
시스템 서비스란?시스템 서비스는 컴퓨터 운영 체제에서 백그라운드에서 지속적으로 실행되는 프로그램이다. 나는 로그스태시를 백그라운드에서 실행하기 위해 로그스태시를 시스템 서비스로 설정하기로 했다! 1. 서비스 파일 생성sudo vi /etc/systemd/system/logstash.service 2. 서비스 파일 내용 작성[Unit]Description=Logstash ServiceAfter=network.target[Service]ExecStart=/path/to/logstash-8.16.0/bin/logstash -f path/to/logstash-8.16.0/logstash.confRestart=alwaysUser=[user]Group=[]groupWorkingDirectory=/path/to..
1. 로그스태시 설치- 로그스태시 설치 파일을 Elastic 공식 다운로드 서버에서 직접 다운로드wget https://artifacts.elastic.co/downloads/logstash/logstash-8.16.0-linux-x86_64.tar.gz 2. 로그스태시 압축 파일 해제- tar : 파일을 압축하거나 압축 해제할 때 사용하는 Linux 명령어- x : 압축 파일을 해제(추출)하라는 옵션- f : 특정 파일을 대상으로 작업하겠다는 옵션, f 뒤에 압축 파일 이름이 위치- z : .tar.gz 형식의 파일을 처리할 때 사용하는 옵션tar xfz logstash-8.16.0-linux-x86_64.tar.gz 3. 로그스태시 실행 명령어- logstash 압축 푼 폴더 안에서 아래 명령어 ..
컴퓨터 구조는 컴퓨터가 이해하는 정보(데이터, 명령어) + 컴퓨터의 4가지 핵심 부품(CPU, 메모리(RAM), 보조기억장치, 입출력장치)으로 구성되어 있다. 컴퓨터가 이해하는 정보컴퓨터는 0과 1로 표현된 정보만을 이해한다.0과 1로 표현되는 정보에는 크게 두 종류가 있는데, 바로 데이터와 명령어다. 데이터컴퓨터가 이해하는 숫자, 문자, 이미지, 동영상과 같은 정적인 정보를 가리켜 데이터라고 한다.컴퓨터와 주고받는 정보나 컴퓨터에 저장된 정보를 가리킬 때 편하게 데이터라 통칭하기도 한다. 명령어컴퓨터가 이해하는 정보에는 데이터와 명령어가 있다고 했지만, 이 둘 중 컴퓨터를 실질적으로 작동시키는 더 중요한 정보는 명령어다.데이터는 명령어 없이는 아무것도 할 수 없는 정보 덩어리일 뿐이지만, 명령어..
MySQL에서 VARCHAR와 LONGTEXT는 문자열 데이터를 저장하기 위한 두 가지 다른 데이터 타입이다. 주요 차이점은 저장할 수 있는 데이터의 최대 길이와 저장 메커니즘에 있다. VARCHAR VARCHAR 타입은 가변 길이 문자열을 저장할 수 있으며, 최대 길이는 버전에 따라 다를 수 있지만, 일반적으로 최대 65,535 바이트까지 저장할 수 있다. 실제 문자열 길이에 따라 필요한 저장 공간이 달라진다. 즉, 문자열 길이에 비례하여 저장 공간을 사용한다. VARCHAR는 길이가 상대적으로 짧은 문자열을 저장하는 데 적합하며, 주로 텍스트 필드나 짧은 설명, 이름 등을 저장하는 데 사용된다. VARCHAR 필드에 저장된 데이터는 해당 레코드와 함께 같은 데이터 페이지에 저장된다. JPA를 사용할 ..
[ERROR] 나는 Swagger UI 페이지만 사용할 예정이라 SecurityConfig 파일내부에서 인증 없이 접근할 수 있는 경로를 설정하는 곳에 /swagger-ui/**만 추가했더니 Swagger UI 페이지가 제대로 작동하지 않았다. [이유] Swagger UI는 /v3/api-docs 엔드포인트에서 OpenAPI 명세서를 가져와서, 이를 기반으로 사용자에게 보기 좋은 문서화된 API 페이지를 제공한다. [해결 방법] /swagger-ui/**, /v3/api-docs/** 두 경로를 함께 추가했다!
1. build.gradle에 의존성 추가 implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.4.0' 2. 서버 실행 후 http://[server]:[port]/[context-path]/swagger-ui/index.html 에서 Swagger UI 페이지를 확인할 수 있다. server : 서버 이름 or IP port : 포트번호 context-path : 애플리케이션의 컨텍스트 경로 [추가 기능] http://[server]:[port]/[context-path]/v3/api-docs.yaml을 입력하면 yaml 형식의 문서가 다운로드된다. [추가 기능] custom path로 Swagger UI 페이지에 접근하고 싶다면, ..
다익스트라 알고리즘(Dijkstra's algorithm) 그래프에서 두 정점 사이의 최단 경로를 찾는 알고리즘이다. 주로 가중치가 있는 그래프에서 한 정점에서 다른 모든 정점으로의 최단 거리를 찾을 때 사용된다. 가중치는 양수여야 한다. (음수 가중치가 있으면 알고리즘이 올바르게 작동하지 않을 수 있음) 다익스트라 알고리즘 원리 1. 초기화 시작 정점을 제외한 모든 정점의 거리를 무한대로 설정한다. 시작 정점의 거리는 0으로 설정한다. 2. 방문하지 않은 정점 중에서 최소 거리 정점 선택 현재까지 알려진 최단 거리에 있는, 아직 방문하지 않은 정점을 선택한다. 3. 최소 거리 정점을 경유지로 하여 인접 정점의 거리 갱신 선택된 정점을 경유하여 갈 수 있는 인접 정점들의 거리를 확인하고, 새로운 경로가 ..