반응형 분류 전체보기346 .gitignore가 작동하지 않는 경우 고려할 사항 대부분의 개발자가 버전 관리를 위해 Git을 사용한다. 이때 보안등의 이유로 버전 관리에서 제외할 디렉터리, 파일 등이 존재할 수 있다. 이럴때 .gitignore 파일에 해당 목록을 작성하여 관리할 수 있다. 그런데 .gitignore 파일에 작성한 목록이 버전 관리에서 제외되지 않고, 그대로 보이는 경우가 있다. 이런 경우 Git의 캐시가 문제일 수 있다. 따라서 다음과 같이 Git의 캐시는 지우고 다시 버전 관리할 파일 및 디렉터리를 스테이지에 올려보자. git rm -r --cached . git add. 2022. 1. 20. [알고리즘&코딩테스트] 투 포인터 알고리즘 (Two Pointers) 투 포인터란? · 화살표 두 개에 의미를 부여해서 탐색 범위를 압축하는 방법이다. · 두 개의 화살표 우치를 기록하면서 문제를 처리한다. 카테고리 1. 1차원 배열 위에 2개의 포인터를 만드는 경우 · 해당 카테고리는 두가지로 나뉜다. 1. 2개의 포인터가 모두 왼쪽에서 시작해서 같은 방향으로 이동 2. 2개의 포인터가 양 끝에서 서로를 향해 이동 2. 관찰을 통해서 문제에 등장하는 변수 2개의 값을 두 포인터로 표현하는 경우 ex) A와 B 변수의 곱의 최소 값 구하기 꿀팁 · 다음의 키워드가 등장하면 두 포인터 접근을 시도해 볼 가치가 있다. - 1차원 배열에서의 "연속 부분 수열" or "순서를 지키며 차례대로" - 곱의 최소 예제 BOJ 1806 - 부분합 · 문제링크: https://www.ac.. 2022. 1. 19. [알고리즘&코딩테스트] 매개 변수 탐색 (Parametric Search) 매개 변수 탐색(Parametric Search)란? · 이진 탐색(이분 탐색)을 사용하여 조건을 만족하는 최대값을 구하는 방법이다. · 핵심 1. 정답을 매개 변수로 만들고, Yes/No 문제(결정 문제)로 바꿔 보기 2. 모든 값에 대해서 Yes/No를 채웠다고 생각했을 때, 정렬된 상태인가? 3. Yes/No를 결정하는 문제로 풀기 · 문제를 거꾸로 푸는 것이기 때문에 통찰력이 요구된다. · 최근 코딩테스트 빈도로 굉장히 높게 나온다. · 키워드에 "~~의 최댓값/최솟값 을 구하시오"가 포함되면 매개 변수 탐색을 접근해볼 가치가 있다. · 자주 하는 실수 1. 매개 변수에 대한 결정이 Nooooooo Yessssss 꼴이 아닌데 이분 탐색을 하는 경우 2. L, R, M, Result 변수의 정의를.. 2022. 1. 15. [Real MySQL 8.0] 5장 - 트랜잭션과 잠금 (동시성에 영향을 미치는 요소) 목차 · 트랜잭션 · MySQL 엔진의 잠금 · InnoDB 스토리지 엔진 잠금 · MySQL 격리 수준 트랜잭션 · 논리적인 작업 셋 자체가 100% 적용되거나, 아무것도 적용되지 않아야함을 보장해 주는 것이다. - Partial update: 일부만 적용되는 현상. 트랜잭션이 적용되지 않을 때 발생함. · 목적: 데이터의 정합성을 보장 MySQL에서의 트랜잭션 · InnoDB 스토리지엔진는 트랜잭션을 제공하고, MEMORY와 MyISAM 스토리지엔진은 제공하지 않는다. - 즉, MyISAM에서는 Partial Update가 발생하므로, 데이터 클렌징 코드를 따로 작성해야한다. 주의사항 · 프로그램 코드에서 트랜잭션의 범위를 최소화해야한다. 특히, 네트워크 작업 등 긴 시간이 걸리는 작업은 제외해야한다.. 2022. 1. 11. [알고리즘&코딩테스트] 이분 탐색 (Binary Search) 문제 목차 · 수열에서의 탐색이란? · 이분 탐색이란? - 이분 탐색의 시간 복잡도 - 이분 탐색에서 자주 하는 실수 - 이분 탐색 작동 방식 수열에서의 탐색이란? · 수열과 탐색 대상 X가 주어졌을 때, 다음의 질문을 던지는 것 - X가 존재하는가? - X [이하, 미만, 이상, 초과]의 원소는 몇 개가 있는가? - X와 가장 가까운 원소는 무엇인가? · 아래 그림 처럼 정렬 되지 않은 수열이 주어지면 탐색 속도는 O(N)이다. X = 63 72 19 38 58 10 92 18 11 87 · 아래 그림 처럼 정렬된 수열이 주어지면 이분 탐색으로 더 빠르게 탐색할 수 있다. 10 11 18 19 38 58 72 87 92 이분 탐색이란? · 정렬이 보장된 배열에서 기준 X를 가지고 범위를 이분하면서 탐색하는 .. 2022. 1. 9. JUnit 테스트에서 ApplicationRunner 실행하지 않도록 설정하기 ApplicationRunner는 스프링 애플리케이션을 시작할때, 어떠한 동작을 하기 위해 사용된다. 그런데 이러한 동작이 테스트 상황에서는 필요하지 않을 수 있다. 이럴 때, 어떻게 해당 로직을 제외하고 테스트를 진행할까? 가장 간단한 방법으로 @Profile 애노테이션을 사용하는 방법이 있다. 해당 애노테이션은 스프링 애플리케이션의 런타임 환경을 관리할 수 있도록 도와준다. 이제 방법을 알아보자. 아래와 같이 ApplicationRunner를 상속하는 클래스에 "test 라는 이름의 그룹을 활성화하지 않는다"라는 의미에 @Profile("!test") 애너테이션을 추가한다. @Profile("!test") @Component public class SomeApplicationRunner impleme.. 2022. 1. 9. 이전 1 ··· 11 12 13 14 15 16 17 ··· 58 다음 반응형