TIL

TIL

day63 TIL

TDD란? Test Driven Devleopmen의 약자로, 일반적인 개발의 흐름인 코드를 작성한 뒤, 테스트를 한다가 아닌, (실패할) 테스트 코드를 먼저 잓어하고, 해당 테스트를 통과하는 최소한의 코드를 작성 한 뒤 리펙토링을 진행하는 형태의 개발 방법론입니다. 유닛 테스트 코드를 먼저 작성하고 연습을 통해 요구사항에 대한 더 상세한 이해를 추가하는 개발 방법론입니다. TDD 특징 일반적인 개발의 흐름 1. 요구사항에 따른 설계 2. 코드 개발 3. 테스트 TDD의 개발의 흐름 1. 요구사항 기반 테스트 작성 2. 테스트를 통과하는 코드 작성 3. 통과한 코드의 품질 향상 4. (요구사항에 대한 향상된 이해를 바탕으로) 테스트를 기반으로 설계 수정 RED 아직 작성되지 않은 기능에 대한 테스트 코드..

TIL

day60 TIL

위상 정렬 Topological Sort 위상정렬이란? 유향 그래프의 정점들을 선형으로 나열하되, 모든 정점들의 등장 순서가, 간선들이 가진 방향의 순서릴 지키도록 나열하는 알고리즘입니다. 예를 들어 여러 작업들이 존재하는데, 몇몇 작업은 특정 다른 작업보다 먼저 수행되어야 할 경우(의존성), 그 순서를 지킬 수 있는 방법을 구하는 알고리즘입니다. 위상정렬 특징 DAG(사이클이 존재하지 않는 방향 그래프)에서만 수행 가능합니다. 위상 정렬의 시간 복잡도 O(V+E) //V : Vertax(정점) E : Edge(간선) 위상정렬 예시 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; i..

TIL

day53 TIL

JWT - Json Web Token JSON으로 표현된 정보를 안전하게 주고 받기 위한 Token의 일종이다. (여기서의 토큰은 신분증에 가깝다. 이 토큰에 사용자는 누구이며, 발급일 만료일 나오고, 언제 로그인했는지까지 나오게 됩니다. ) JWT 내부에 서비스를 사용하기 위한 인증정보가 담기며, JWT를 받은 서비스는 JWT가 위변조가 되었는지 알아차릴 수 있기 때문에 Token 기반의 인증 시스템에서 많이 활용됩니다. JWT 특징 사용자 확인을 위한 인증 정보 위변조 확인이 용이 → 위변조가 어려움 토큰 기반 인증 시스템에서 많이 활용 기본적으로 JWT는 세부분으로 나뉘어져 만들어집니다. header.payload.signature header.payload.signature header : JWT..

TIL

day51 TIL

Logging이란? 로그를 남기는 행위 Logger 로그를 작성하기 위해 사용하는 객체 Slf4j (Simple Logging Facade 4 Java) Java에서 로그를 작성하는 방법을 통일하는 프레임워크 자기자신을 로그를 남기는 프레임워크가 아니고, 다양한 로그 프레임 워크를 사용하는 방법의 Facade(디자인패턴)일 뿐이다. Facade 복잡한 단계를 거치거나, 여러 구성 요소를 사용해서 도달해야 하는 기능을 좀더 단순하게 사용할 수 있는 인터페이스를 만드는 디자인 패턴의 일종 Logback 현재 스프링 부트에서 기본으로 사용하고 있는 Logging 프레임 워크 XML을 이용해 설정 Logging 동작 알아보기 TestController 코드 추가 (logger 사용하기) //@Slf4j @Res..

TIL

day50 TIL

Testing 💡 테스팅이란? 저희가 만든 산출물이 기대한 대로 작동하는지를 시험해 보는 것을 . 어느 단계의 산출물을 테스트 하는지에 따라서 계층으로 나누어서 생각할 수 있다. ✅ 테스트의 종류 단위 테스트Unit Test : 개별 코드 단위(주로 메소드)를 테스트 하는 단계 → 컨트롤러, 서비스, 레포지토리 계층에서 정의한 개별 메소드들이 정상적으로 작동하는지 테스트 하는 것을 의미합니다. 통합 테스트 Integration Test : 서로 다른 모듈이 상호 작용 하는 것을 테스트 하는 단계 → 컨트롤러, 서비스, 레포지토리가 전체 그림에서 유연하게 상효작용하는지를 테스트하는 것을 의미합니다. 시스템 테스트 System Test : 완전히 통합되어 구축된 시스템을 테스트 하는 단계 ✅ 테스트 코드의 ..

TIL

day49 TIL

23.06.27 미로 탐색 알고리즘 게임맵최단거리 public class Maze { private int[] dx = new int[]{-1, 1, 0, 0}; private int[] dy = new int[]{0, 0, 1, -1}; public int solution(int[][] maze){ // BFS 로직을 활용하는데 // 다음에 접근할 수 있는 칸을 maze 의 가로 세로 크기 이내의 // 칸을 기준으로 판단 // int[]를 답는 Queue {x, y, 여태까지 이동거리} Queue visitNext = new LinkedList(); // 미로에서 이미 도달한 적 있는 칸임을 나타내기 위한 visited 이차원 배열 boolean[][] visited = new boolean[6][6]..

dalooong
'TIL' 카테고리의 글 목록