LSC 설명 블로그 https://velog.io/@emplam27/%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%EA%B7%B8%EB%A6%BC%EC%9C%BC%EB%A1%9C-%EC%95%8C%EC%95%84%EB%B3%B4%EB%8A%94-LCS-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-Longest-Common-Substring%EC%99%80-Longest-Common-Subsequence [알고리즘] 그림으로 알아보는 LCS 알고리즘 - Longest Common Substring와 Longest Common Subsequence LCS는 주로 최장 공통 부분수열(Longest Common Subsequence)을 말합니다만, 최장 공통 문자열(L..
분류 전체보기
Git의 내부 Object 1. Blob (Binary Large Object) Blob Object란 실제 파일을 뜻하며, 실제 소스파일을 가지고 있는 실세 오브젝트같은 느낌 단지 파일 내용만 저장한 개체 파일은 meta data(ex.생성일)를 포함함 파일모드 100644: 보통의 파일 100755: 실행파일 120000: 심볼릭 링크 2. Tree Object Tree Object 내부에는 프로젝트 구조의 각 디렉토리에 대한 정보 하위에 어떤 폴더와 파일을 가지고 있는지 알려주고, 객체 해쉬 값을 저장 이 Tree Object의 제일 상위 객체는 root이며, 프로젝트의 최상위 폴더에 대한 정보를 담게 됩니다. Tree 개체 하나는 항목을 여러 개 가질 수 있다. 그 항목에는 Blob 개체나 하위 ..
쿼라 튜닝은 왜 필요한가 MySQL의 실행계획을 통해 동작방식을 확인하고 성능개선을 하기 위해 필요하다. 문제가 발생했을 때 해결하기 위해 - 암달의 법칙 프로그램은 병렬처리가 가능한 부분과 불가능한 순차적인 부분으로 구성되므로 프로세서를 아무리 병렬화 시켜도 더 이상 성능이 향상되지 않는 한계가 존재 한다는 법칙 많이 쓰이는 거를 향상시켜야 함 I. 프로세스 병렬화 속도 한계성에 대한 암달의 법칙 가. 암달(Amdahl)의 법칙 정의 프로그램은 병렬처리가 가능한 부분과 불가능한 순차적인 부분으로 구성되므로 프로세서를 아무리 병렬화 시켜도 더 이상 성능이 향상되지 않는 한계가 존재 한다는 법칙 나. 암달의 법칙 의미 성능 한계는 캐쉬, 메모리, 버스와 같이 제한된 자원을 프로세스가 서로 점유하려고 쟁탈 ..
OAuth 하는 이유 인터넷 사용자들이 비밀번호를 제공하지 않고 다른 웹사이트 상의 자신들의 정보에 대해 웹사이트나 애플리케이션의 접근 권한을 부여할 수 있는 공통적인 수단으로서 사용되는, 접근 위임을 위한 개방형 표준이다.[1] 이 매커니즘은 여러 기업들에 의해 사용되는데, 이를테면 아마존,[2] 구글, 페이스북, 마이크로소프트, 트위터가 있으며 사용자들이 타사 애플리케이션이나 웹사이트의 계정에 관한 정보를 공유할 수 있게 허용한다. OAuth를 사용 시의 OpenID와 의사 인증 OAuth는 사용자가 누구인지를 확인하는 인증(Authentication) 프로토콜이 아닌, 사용자의 요청이 권한이 있는지를 확인하는 인가(Authorization) 프로토콜이다.
https://school.programmers.co.kr/learn/courses/30/lessons/214288 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음에 전형적인 dfs문제인 줄 알고 풀었다가 tc 9번부터 시간초과가 났다. 틀린코드 from collections import deque import copy import sys reqDict = {} mentoCnt = 0 mentoStatusList = [] def solution(k, n, reqs): global mentoCnt answer = 0 mentoCnt = n # 남아있는 ..
리뷰어님께 드린 질문 현업에서는 id pk로 할 때 auto increment 랑 uuid 중 뭐로 하나요? 그리고 왜 그렇게 하나요? 소규모 프로젝트에서는 dto를 안쓴다고 하는데 맞나요? 현재 프로젝트에서 dto를 따로 만드는게 맞나요? 회원가입과 같이 정보를 등록하는 api의 경우 프론트에게 return 값을 뭐로 줘야 하나요? data 검증을 어디서 하나요??? service, controller 중 service에서 하는 것 같긴 합니다만... 현업에서는 id pk로 할 때 auto increment 랑 uuid 중 뭐로 하나요? 그리고 왜 그렇게 하나요? 이 질문은 내가 이전에 리뷰어님께 물어본 적이 있지만 페어분께서 한 번 물어보자 하셔서 물어보았다. 답변: "기본적으로는 auto incre..
페어프로그래밍 이번 6주차 1주간 페어프로그래밍으로 진행하였다. 페어프로그래밍을 처음 하다보니 어떻게 진행해야하는 지 막막했다. 다른 캠퍼분들과, 블로그 글들을 통해 페어 룰을 나누고, 내비게이터와 드라이버를 나누어 진행한다는 것을 발견하고, 우선 페어 룰을 만들었다. 아래와 같이 페어룰을 정하였다. 1번 사항 외에는 다 잘 지켜서 했다. 1번 사항은 하다보면 20분이 지나는 경우도 있었고, 코딩을 하다가 중간에 바꾸기가 애매해서 지키기가 어려웠다. 만약 다음에 페어 프로그래밍을 한다면, 서로 리서치하는 시간을 갖고 그 다음에 기능별로 바꾸면서 진행해야 할 것 같다. 1. driver, navigator 20분씩 교대 2. 파일명, 변수명 : camelCase 3. 커밋 메세지 : https://chlo..
오늘의 회고 오늘은 리뷰어님께 리뷰를 받았다. 리뷰어님께 아래 세개의 사항을 질문 드렸다. Error handling을 적절하게 하고 있나요? 현재 controller, service의 파일을 resource 이름으로(index) 했는데 나중에 서비스가 복잡해졌을 경우에는 이런 방식으로 해도 괜찮을까요? log를 관리할 때 폴더를 debug, error, info로 나누어봤는데 이렇게 해도 될까요? 1. Error handling을 적절하게 하고 있나요? 위 질문을 한 이유는 'ts-custom-error' 모듈의 github에서 제공해주는 예시코드 를 그대로 복붙해서 쓰고 있었기 때문이다. 리뷰어님으로부터 "정의되지 않은 에러도 처리할 수 있어야 한다", "try / catch 로 매번 감싸기보다는, ..