2024/03 9

[Python] Lv.2 캐시

https://school.programmers.co.kr/learn/courses/30/lessons/17680 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이 문제는 캐시 교체 알고리즘으로 LRU를 사용한다. 이 문제를 통해 LRU라는 개념을 처음 보았기 때문에, 간단하게 ChatGPT로 어떤 알고리즘인지만 이해했다. 아래는 LRU 알고리즘에 대한 요약이다. LRU(Least Recently Used)는 캐시 교체 알고리즘 중 하나로, 주로 메모리 캐싱에서 사용된다. 이 알고리즘은 가장 최근에 사용되지 않은 데이터를 교체하는 방식으로 동작한다. 구체..

cording test 2024.03.29

테스트코드 외에 test%.py 명명 금지

$ python manage.py test accounts [Errno 2] No such file or directory: 'C:\\Users\\jmmas\\OneDrive\\BatangScreen\\Coding\\Project\\kiki-project-django\\kikiproject\\shortcuts\\management\\commands\\shortcuts.json' . . . AttributeError: module 'shortcuts.management.commands.test' has no attribute 'Command' (venv) 테스트코드를 작성하고, 테스트를 해보기 위해 명령어를 눌렀는데 위와 같이 문제가 생겼다. 이상해서 디렉토리를 들여다보니.. test.py가 이미 존재한 ..

Framework/Django 2024.03.19

[Python] Lv3. N으로 표현

https://school.programmers.co.kr/learn/courses/30/lessons/42895 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr DP 문제의 특성으로는 제한사항을 특별히 꼼꼼히 읽어봐야 하는 점이 있다. 제한사항 N은 1 이상 9 이하입니다. number는 1 이상 32,000 이하입니다. 수식에는 괄호와 사칙연산만 가능하며 나누기 연산에서 나머지는 무시합니다. 최솟값이 8보다 크면 -1을 return 합니다. 카테고리부터 DP이기 때문에 DP로 풀어보려고 노력했다. 일단 혼자 풀어보는 것은.. 실패했다. 그 이유는 시작할..

cording test 2024.03.19

[Python] 프로그래머스 Lv.1 실패율

https://school.programmers.co.kr/learn/courses/30/lessons/42889 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 실패율 : 실패자/스테이지 도달자 N : 전체 스테이지 수 stages : 사용자가 있는 스테이지의 번호 담긴 배열 실패율이 높은 스테이지부터 내림차순 return 1부터 N까지를 순회하여, (stage에 있는 i번째 수의 개수/남은 사람의 수)가 실패율을 반환한다는 원리를 금방 이해했다. 그래서 마찬가지로 순회한 다음, 그 실패율을 담은 배열의 순위를 return 값으로 잡는 것이 목표이므로 아..

cording test 2024.03.16

소셜로그인에서 redirect uri는 왜 필요한가?

리디렉션(Redirection)은 웹 서버나 웹 애플리케이션이 클라이언트의 요청을 받았을 때, 해당 요청을 다른 위치로 전송하는 프로세스를 말한다. 즉, 클라이언트가 요청한 URL이나 리소스를 다른 URL이나 리소스로 이동시키는 것을 의미한다. 리디렉션은 보통 다음과 같은 상황에서 발생한다: 인증 및 인가 프로세스: 사용자가 로그인 페이지로 이동하여 인증을 완료한 후에, 시스템은 사용자를 인증된 페이지로 리디렉션한다. URL 재작성: 특정 URL에 대한 요청이 있을 때, 서버는 요청된 URL을 다른 URL로 리디렉션하여 요청을 처리합니다. 이는 웹 사이트의 구조 변경이나 특정 페이지의 이동 등에 사용된다. SEO (검색 엔진 최적화): 서버는 특정 URL에 대한 요청을 다른 URL로 리디렉션하여, 검색 ..

Framework/Django 2024.03.16

[Python] 프로그래머스 Lv.2 뒤에 있는 큰 수 찾기

https://school.programmers.co.kr/learn/courses/30/lessons/154539 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음에는 적절하게 자료구조를 사용할 생각을 못했다. 레벨 1을 싹쓸이하고 올라오느라 미처 고민도 못해봤는데, 그러다 보니 아래와 같은 코드를 먼저 시도해보았다. 딱 머릿속에 생각나는 대로.. def solution(numbers): answer = [] for i in range(len(numbers)): found = False for j in range(i + 1, len(numbers)):..

cording test 2024.03.12

[Python] Garbage Collection

Python의 언어가 가지는 의미를 이때까지 얕게 이해했음을 이번 Garbage Collection(이하 GC) 공부를 통해 확실하게 느꼈다. 프레임워크를 잘 사용하고, 파이썬 함수/자료구조/알고리즘을 적절히 잘 사용하여 효율적으로 코드를 짜면 1차적으로 좋은 신입이 되지 않을까 생각했는데.. 새로운 분야에 눈을 뜬 것 같아서 오히려 좋다. GC는 현대적인 언어에는 거의 필수로 존재하며 개발자의 생산성을 향상해준다. C#, JS, Python 등의 언어는 GC를 기본적으로 제공하며, C, C++과 같은 언어에서는 malloc(), free()와 같은 저수준의 메모리 관리 함수를 제공한다. 실제로 현대적인 언어로 오면서 개발자는 메모리를 직접 관리하는 코드를 거의 사용하지 않게 되었다.(어쩐지 아직 경험해..

언어/Python 2024.03.05

데이트팝 기술면접 풀이

https://blog.datepop.co.kr/python-interview/ 데이트팝 Python 주니어 개발자 인터뷰 후기 데이트팝 Python 주니어 개발자 인터뷰 후기 blog.datepop.co.kr 위 블로그에서 기술면접 인터뷰 후기를 보게 되었고, 데이트팝 면접 질문들에 관해 스스로 공부했던 것을 대답하기로 했다. 비록 도달하진 못했지만 내가 지금 어느 정도인지도 확인할 필요가 있었는데, 생각보다 합격의 길이 먼듯 멀지 않은듯.. 한 걸음만 더 걸으면 되겠다고 생각했는데 왜 아직 모르는 게 있지?라는 생각을 면접 때마다 하게 되는 것 같다. 우선은 위 기술블로그를 보고 정확하게 질문에 대한 대답을 이해하기 위해 아래에 최선의 답을 적어보았다. 파이썬은 Garbage Collection는 메..