Junit5란? Patform: JVM에서 테스트 프레임 워크를 실행시키기 위한 기반. TestEngine API 제공 Jupiter: JUnit5를 지원하는 TestEngine API 구현체 Vintage: Junit4와 3을 지원하는 TestEngin 구현체 단위테스트란? 응용 프로그램에서 테스트 가능한 가장 작은 소프트웨어를 실행하여 예상대로 동작하는지 확인하는 테스트이다. Junit4와 Junit5의 차이점 JUnit4는 하나의 Jar파일로 dependency가 추가되어, Junit이 참조하는 다른 라이브러리가 있는 형태인데 JUnit5부터는 그 자체로 여러 모듈화가 된다. 어노테이션 @Test: 테스트 메서드임 @BeforeAll: 해당 클래스에 위치한 모든 테스트 메서드 실행 전에 딱 한 번 ..
MySql 1. Public key retrieval is not allowed [Mysql] Public key retrieval is not allowed 에러 해결 해결 ⇒ 접속 url 설정 useSSL=true OR allowPublicKeyRetrieval=true로 맞춘다 jdbc:mysql://localhost:3306/test_db?useSSL=false&allowPublicKeyRetrieval=true MongoDB 0. connect ECONNREFUSED 127.0.0.1:27017 brew services start mongodb-community@4.2 실행은 되는데 mongod 실행시 에러가 발생했다. 1. NonExistentPath: Data directiory /data/..
https://github.com/callicoder/spring-boot-react-oauth2-social-login-demo 의 프로젝트를 참고하여 소셜로그인 과정을 정리해보았다. GitHub - callicoder/spring-boot-react-oauth2-social-login-demo: Spring Boot React OAuth2 Social Login with Google, Facebook, and Spring Boot React OAuth2 Social Login with Google, Facebook, and Github - GitHub - callicoder/spring-boot-react-oauth2-social-login-demo: Spring Boot React OAuth2 So..
링크 : https://www.acmicpc.net/problem/2981 사용 언어 : JAVA 내 생각 대체 왜 그랬는지는 모르겠는데 골드 4라 쉽겠지 생각했다. 근데 아무리 생각해도 어떻게 해야하는지 감도 안오고,, 혹시나 제출해봐도 계속 틀리고 시간초과나고ㅋㅋㅋ 결국 멘탈 터져서 나중에는 출력에 println 써서 0퍼 컷 당하고 그랬다ㅎㅎ;; 처음에 쉽다고 얕봐서 더 멘탈이 나간 듯 하다. 결국 패배를 인정하고 구글링했다. 그리고 내 기초 지식이 부실했음을 깨닫고 컴공의 기본 of 기본인 유클리드 호제에 대해 다시 공부하였고, 까먹지 않기 위해 울면서 포스팅을 쓴다 ㅠㅠ 초기 생각 사실 맨 처음에도 유클리드 호제 같긴 했는데 당최 어떻게 써먹어야하는질 몰라서 그냥 냅다 풀었다. for (extr..
유클리드 호제법(-互除法, Euclidean algorithm) 2개의 자연수 또는 정식(整式, 유리식)의 최대공약수를 구하는 알고리즘의 하나이다. 호제법: 두 수가 서로 상대방 수를 나누어서 결국 원하는 수를 얻는 알고리즘 유클리드 호제법은 A와 B의 최대공약수를 A를 B로 나눈 나머지 값을 활용하여 구하는 방식이다. 그 내용은 다음과 같다. A와 B의 최대공약수를 (A, B)라 표기할 때, (A, B) = (B, A%B) 이다. 유클리드 호제법은 위의 과정을 나누는 수가 0이 되어 더이상 나눌 수 없을 때 까지 반복한다. 수식으로 표현하면 이렇게 된다. (A, B) = (B, A%B) = (A%B, B%(A%B)) = (B%(A%B), (A%B)%{B%(A%B)}) = ... 예시를 함께 보자. 78..
링크 : https://www.acmicpc.net/problem/5052 사용 언어 : JAVA 내 생각 초기 생각 트라이 구조를 활용하자. 트라이(trie) 자료구조란? 동적 집합이나 연관 배열을 저장하는 데 사용되는 트리 자료 구조이다. 주로 문자열이 키인 경우가 많다. 쉽게 말해 그냥 문자열을 트리 구조로 표현(할 때 주로 사용)하는 것인데, 노드의 모든 자손은 노드에 연관된 문자열의 공통 접두사를 공유한다는 특징이 있다. 루트는 빈 문자열에 연관된다. 이 자료구조를 어떻게 활용할 수 있을까? 하나의 Node 객체에 담겨야하는 데이터는 두가지라고 생각했다. boolean: 이 노드를 마지막으로 갖는 문자열이 있는가? Node[10]: 자식 노드 (자식으로 올 수 있는게 0~9, 총 10가지이므로 ..
갓갓 소스 코드 출처: https://daddyprogrammer.org/post/series/spring-websocket-chat-server/ 웹소켓(websocket)으로 채팅서버 만들기 웹소켓(websocket)으로 채팅서버 만들기 daddyprogrammer.org 대충 stomp 로직 분석한 내 노션 글.. https://fringe-paneer-bfc.notion.site/Socket-Chat-8d123b31ef964a719778f5f38e8a920c Socket Chat 채팅방 fringe-paneer-bfc.notion.site
DML (Data Manipulation Language) 데이터 조작어 정의된 데이터베이스에 입력된 레코드를 조회하거나 수정, 삭제하는 역할의 언어. 데이터베이스 사용자가 질의어를 통해 저장된 데이터를 실질적으로 처리하는데 사용. DML은 타겟 테이블을 메모리 버퍼 위에 올려두고 변경을 수행하기 때문에 실시간으로 테이블에 반영되지 않아 Commit 명령어를 통해 트랜잭션을 종료해야 변경 사항이 테이블에 반영된다. 따라서 DML에 의한 데이터 변동을 Commit하지 않았다면 Rollback으로 다시 되돌릴 수 있다. select 테이블에서 조건에 맞는 튜플 검색 select 컬럼 from 테이블 where 조건 order by 컬럼 ASE/DESC limit 개수 insert 새로운 튜플 삽입 inser..