분류 전체보기 645

[git] branch

branch 종류 통합 브랜치(Integration Branch) 언제든지 배포할 수 있는 버전을 만들 수 있어야 하는 브랜치 토픽 브랜치(Topic Branch) 기능 추가 버그 수정 통합 브랜치로부터 만들어 낸다. 토픽 브랜치에서 특정 작업이 완료되면 다시 통합 브랜치에 병합하는 방식으로 진행 전환하기 Git에서는 항상 작업할 브랜치를 미리 선택해야 한다. 브랜치 전환 이후에 실행한 커밋은 전환한 브랜치에 추가된다. 명령어 git switch 다른 브랜치로 전환 git checkout 다른 브랜치로 전환 HEAD를 바꾼다.(working directory가 전환한 브랜치로 변경됨) 통합하기 merge 토픽 브랜치를 통합 브랜치로 병합할 때 통합 브랜치의 상태가 이전부터 변경되어 있지만 않으면 매우 쉽..

git 2023.01.09

Apache Kafka 설치

분산 이벤트 저장 stream 처리 플랫폼 pub-sub모델의 Message queue Apache Software Foundation에서 Java와 Scala를 이용해 개발한 오픈 소스 시스템 내가 사용한 OS 👉 Windows11 ⚙️ Install https://www.apache.org/dyn/closer.cgi?path=/kafka/3.3.1/kafka_2.13-3.3.1.tgz Apache Downloads We suggest the following site for your download: https://dlcdn.apache.org/kafka/3.3.1/kafka_2.13-3.3.1.tgz Alternate download locations are suggested below. It is..

Message Queue/Kafka 2023.01.06

[Git] fatal: refusing to merge unrelated histories

서로 존재하는지 모르고 커밋 기록이 다른 프로젝트를 merge할 때 fatal: refusing to merge unrelated histories 🟨 이 문제가 발생할만한 상황 프로젝트를 클론하고나서 어떻게 된 일인지 .git 폴더가 삭제되거나 손상되었다. Git은 로컬 history를 인식하지 못하게 된다. 이후 원격 저장소로 push 또는 pull을 할 때 에러가 발생한다. 새 저장소를 만들었고 여기에 커밋을 추가했다. 이 원격 저장소로부터 pull을 시도한다. Git은 이 프로젝트가 어떻게 연관되어 있는지 모르기에 에러가 발생한다. ✨ 해결 git pull 또는 git merge를 사용 후 git pull origin master --allow-unrelated-histories 참고👇 https..

git 2023.01.06

nGrinder 설치

내가 사용한 운영체제 : Windows11 ✔️ Prerequisite Oracle JDK 1.6~ or OpenJDK 1.7~ PATH environment 변수를 체크한다. 방화벽에서 차단된 포트는 연다. https://github.com/naver/ngrinder/wiki/Installation-Guide 에서 참고하기 https://github.com/naver/ngrinder/releases 다운로드한다. nGrinder controller 실행 http://localhost:8080으로 접속 후 로그인한다. id와 비밀번호는 admin이다. 여기에서 Agent와 Monitor를 다운로드한다. ngrinder-agent 압축 해제 ngrinder-monitor 압축 해제 ngrinder-agen..

Web 2023.01.03

JWT

JWT Json Web Token Header, payload, signature로 이루어짐 Header은 어떤 방식, 알고리즘을 사용해서 토큰화했는지 명시 Payload는 사용자가 담고자 하는 정보를 담는 곳 Signature는 토큰의 유효성 여부에 대한 정보를 담는 곳 피싱하는 사이트나 앱들은 Token 탈취보다는 개인 정보를 탈취해서 password를 가져가려는 것이 목표 중요한 비즈니스 로직에 2FA, OTP 같은 것을 추가로 걸어서 최대한 방어하려고 한다. 결제나 암호/개인저보와 관련된 부분에 접근할 때에는 패스워드를 다시 입력하거나(토큰 재발행), 전화 OTP 인증, Authenticator 등을 이용 Token 충분히 정보를 옮기는 데이터 조각 사용자의 신원 또는 행위를 수행하기 위한 인가를..

Web 2022.12.09

[Error] "The specified key byte array is 128 bits which is not secure enough for any JWT HMAC-SHA algorithm.

{ "response": "error", "message": "로그인에 실패했습니다.", "data": "The specified key byte array is 128 bits which is not secure enough for any JWT HMAC-SHA algorithm. The JWT JWA Specification (RFC 7518, Section 3.2) states that keys used with HMAC-SHA algorithms MUST have a size >= 256 bits (the key size must be greater than or equal to the hash output size). Consider using the io.jsonwebtoken.security..

[Error] Error creating bean with name 'dataSourceScriptDatabaseInitializer' defined in class path resource

의존성에 mysql-connector-j를 빼먹으면 다음과 같은 로그가 나온다. 초기에 dependencies를 구성할 때 실수로라도 빼먹지말자!!!! org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'dataSourceScriptDatabaseInitializer' defined in class path resource [org/springframework/boot/autoconfigure/sql/init/DataSourceInitializationConfiguration.class]: Unsatisfied dependency expressed through method 'data..

[파이썬] 16940. BFS 스페셜 저지

문제 BOJ에서 정답이 여러가지인 경우에는 스페셜 저지를 사용한다. 스페셜 저지는 유저가 출력한 답을 검증하는 코드를 통해서 정답 유무를 결정하는 방식이다. 오늘은 스페셜 저지 코드를 하나 만들어보려고 한다. 정점의 개수가 N이고, 정점에 1부터 N까지 번호가 매겨져있는 양방향 그래프가 있을 때, BFS 알고리즘은 다음과 같은 형태로 이루어져 있다. 큐에 시작 정점을 넣는다. 이 문제에서 시작 정점은 1이다. 1을 방문했다고 처리한다. 큐가 비어 있지 않은 동안 다음을 반복한다. 큐에 들어있는 첫 정점을 큐에서 꺼낸다. 이 정점을 x라고 하자. x와 연결되어 있으면, 아직 방문하지 않은 정점 y를 모두 큐에 넣는다. 모든 y를 방문했다고 처리한다. 2-2 단계에서 방문하지 않은 정점을 방문하는 순서는 중..

coding test 2022.12.04

MSA

마이크로서비스 서비스를 비즈니스 경계에 맞게 세분화 서비스 간 통신은 네트워크 호출을 통해 진행 확장 가능하고 회복적이며 유연한 어플리케이션 구성 MSA를 구성하는 주요 Component Config Managerment 서비스의 재빌드/재부팅 없이 설정사항을 반영 Netflix Archaius, Kubernetes Configmap Service Discovery MSA 기반 서비스 배포 시 서비스 검색 및 등록 Netflix Eureka, Kubernetes Service, Istio API Management 클라이언트 접근 요청을 일원화 Netflix Zuul, Kubernetes Ingress Centralized Logging 서비스별 로그의 중앙집중화(ELK Stack) Distributed..

Computer science 2022.12.03

[파이썬] 1167. 트리의 지름

문제 트리의 지름이란, 트리에서 임의의 두 점 사이의 거리 중 가장 긴 것을 말한다. 트리의 지름을 구하는 프로그램을 작성하시오. 입력 트리가 입력으로 주어진다. 먼저 첫 번째 줄에서는 트리의 정점의 개수 V가 주어지고 (2 ≤ V ≤ 100,000)둘째 줄부터 V개의 줄에 걸쳐 간선의 정보가 다음과 같이 주어진다. 정점 번호는 1부터 V까지 매겨져 있다. 먼저 정점 번호가 주어지고, 이어서 연결된 간선의 정보를 의미하는 정수가 두 개씩 주어지는데, 하나는 정점번호, 다른 하나는 그 정점까지의 거리이다. 예를 들어 네 번째 줄의 경우 정점 3은 정점 1과 거리가 2인 간선으로 연결되어 있고, 정점 4와는 거리가 3인 간선으로 연결되어 있는 것을 보여준다. 각 줄의 마지막에는 -1이 입력으로 주어진다. 주..

coding test 2022.11.19