2024/11 5

[백준/Python] 부등호 2529

'''- 부등호를 만족하는 최대, 최소를 출력- 사용되는 숫자는 유니크해야함- 백트래킹으로하자'''def compare(before, cur, sign): return beforecurdef dfs(depth, s): global max_v, min_v, visited # 제일 처음 depth가 k+1이 되었을 때 -> 0부터 오름차순이므로 min이 됨 # 제일 마지막으로 depth가 k+1이 되었을 때 -> max가 됨 if depth == k+1: if len(min_v) == 0: min_v = s else: max_v = s return # 0부터 오름차순으로 탐색 for i in r..

[OS] 1. 커널(kernel) (feat. 혼자 공부하는 컴퓨터구조 + 운영체제)

커널(Kernel)  운영체제는 우리 컴퓨터에서 아주 많은 기능을 담당한다. 그중에서도 '자원에 접근하고 조작하는 기능', '프로그램이 올바르고 안전하게 실행되게 하는 기능' 등, 가장 핵심적인 서비스들을 담당하는 부분을 커널(kernel)이라고 한다.(* 사용자 인터페이스인 GUI와 CLI는 컴퓨터와 상호작용하기 위한 통로일 뿐 커널에 속한 기능은 아니다)      커널의 핵심 역할  이중 모드와 시스템 호출: 운영체제는 사용자가 실행하는 응용 프로그램이 하드웨어 자원에 직접 접근하는 것을 방지하여 자원을 보호한다. 응용 프로그램이 CPU, 메모리, HDD 등에 마음대로 접근하고 조작할 수 있다면 자원이 무질서하게 관리될 것이고, 응용 프로그램이 조금만 실수하더라도 컴퓨터 전체에 큰 영향을 끼칠 수 있..

Operating System 2024.11.13

[Github] Issue와 Pull Requests 연동하기

팀 프로젝트를 진행하다 보면 PR (Pull Requests)는 필수적으로 사용하게 된다. 그리고 PR은 코드 리뷰어를 위해 최소한의 단위로 만들게 되는데, 이렇게 되면 하나의 전체적인 기능을 위해 여러 가지 PR이 생기게 된다.(ex. 회원가입에 필요한 기능: 이메일 중복확인 API, 인증 이메일 전송 API, 인증번호 확인 API, 닉네임 중복확인 API ... 수많은 기능이 필요하다 )  문제는 개발을 진행하다보면 PR들이 섞이면서 이 PR이 어떤 도메인, 어떤 기능을 위한 PR인지 한눈에 알아보기가 힘들어진다따라서 오늘은 이런 문제를 해결하기 위해 하나의 전체적인 기능을 Issue로 등록하고, 거기에 작은 기능의 PR들을 연결시켜 서로 연관된 PR을 모아서 관리할 수 있도록 해보겠다.       ..

[Annotation] 유효성 검사 어노테이션 여러 개를 합칠 수 있을까? (feat. Custom Annotation, Validation)

Untitled 개발 이후, 회사의 다른 서비스를 만들면서 하나의 계정으로 회사의 모든 서비스들을 이용할 수 있으면 유저들이 편할 것 같다는 생각을 했다. 그래서 대표님게 SSO(Single Sign On)을 건의했고, 그렇게 통합 인증 서버를 만들게 되었다. 통합 인증 서버는 앞으로 회사의 모든 서비스들에서 트래픽이 몰릴 것이므로 좀 더 단단하게 만들고 싶었고, 이전에는 사용하지 않았던 Validation을 적용해보기로 했다.     Validation    먼저 Spring Validation은 @RequestBody, @RequestParam, @PathVariable에 대해 유효성 검증을 수행하고, 유효하지 않는 데이터인 경우 Exception을 발생시키는 라이브러리이다 내가 제일 먼저 적용한 A..