코딩한걸음
article thumbnail
내 코드가 그렇게 이상한가요? 를 읽고 정리
카테고리 없음 2024. 2. 29. 19:00

책 소개 이 책, "내 코드가 그렇게 이상한가요?"는 개발자들이 자주 저지르는 코드 설계 및 구현의 오류를 지적하고, 이를 개선하기 위한 방안을 제시합니다. 코드의 가독성, 유지보수성, 확장성을 고려한 클린 코드 작성법에 대해 다룹니다. 구매 링크 : 내 책이 그렇게 이상한가요? 설계의 문제점 파악하기 의도를 분명히 전달할 수 있는 이름 정하기 문제: 변수, 함수, 클래스 등의 이름이 그 역할이나 의도를 명확하게 전달하지 못할 때, 코드의 가독성과 이해도가 크게 떨어집니다. 해결: 이름을 정할 때는 해당 코드 조각의 목적, 역할, 사용 방법을 명확하게 반영하는 이름을 사용해야 합니다. 이는 후에 코드를 읽는 다른 개발자가 코드의 의도를 쉽게 파악할 수 있게 합니다. 목적별로 변수를 따로 할당하기 문제: ..

article thumbnail
[Python] 문자열 포매팅: % 연산자, str.format(), f-strings 성능 비교
Python 2024. 2. 5. 09:00

개요 python의 문자열 포매팅 방법에는 3가지가 있다. 각각의 사용법과 차이를 알아본다. % Operator Python의 초기 버전에서 사용되던 전통적인 방식입니다. 자료형 별로 특정 문자를 사용해 지정해준다. 자료형 문자 입력 자료형 정수 %d int, float 실수 %f int, float 문자열 %s str, int, float 8진수 %o int 16진수 %x int % %% operator = "%s is %d years old" % (name, age) str.format() method Python 2.6 이상에서 도입된 보다 현대적이고 유연한 방식입니다. 이 방식은 중괄호 **{}**를 플레이스홀더로 사용하며, format() 메소드를 통해 값을 주입합니다. str_format = ..

[Python] method type
Python 2024. 1. 18. 09:00

Python method type 파이썬에서는 메서드를 세 가지 타입으로 분류한다. 인스턴스 메서드(instance methods) 클래스 메서드(class methods) 정적 메서드(static methods) 인스턴스 메서드 (Instance methods) 인스턴스(객체)에 대한 메서드 첫 번째 파라미터로 `self`를 사용하여, 인스턴스 자신을 참조합니다. 해당 인스턴스의 속성(데이터)과 다른 메서드에 접근할 수 있음 일반적으로 클래스 정의의 기본 메서드 타입 클래스 메서드 (Class methods) 클래스 자체에 대해 작동 `@classmethod` 데코레이터로 정의되며, 첫 번째 파라미터로 `cls`를 사용하여 클래스 자체를 참조 인스턴스 속성이 아닌 클래스 속성(클래스 변수)에 접근하고 ..

[Python] pyenv 설치 및 세팅 (for mac)
Python 2024. 1. 10. 08:00

이 글은 mac을 기준으로 작성 되었습니다. pyenv ? 프로젝트 별로 python 버전이 다른 경우 쉽게 스위칭하기 위해 사용 pyenv 설치 $ brew install pyenv 환경 변수 설정 (for zsh) $ export PYENV_ROOT="$HOME/.pyenv" $ export PATH="$PYENV_ROOT/bin:$PATH" $ eval "$(pyenv init --path)" $ eval "$(pyenv init -)" 설정 후 동작 확인 $ pyenv --version >> pyenv 2.3.35 pyenv에 python 설치 # 설치 가능한 Python 버전 확인 $ pyenv install --list # 특정 버전 python 설치 $ pyenv install 3.8.x $..

[BAEKJOON] 11404 플로이드
Coding Test/BAEKJOON 2023. 11. 24. 09:00

https://www.acmicpc.net/problem/11404 11404번: 플로이드 첫째 줄에 도시의 개수 n이 주어지고 둘째 줄에는 버스의 개수 m이 주어진다. 그리고 셋째 줄부터 m+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 버스의 출발 도시의 번호가 www.acmicpc.net 문제 n(2 ≤ n ≤ 100)개의 도시가 있다. 그리고 한 도시에서 출발하여 다른 도시에 도착하는 m(1 ≤ m ≤ 100,000)개의 버스가 있다. 각 버스는 한 번 사용할 때 필요한 비용이 있다. 모든 도시의 쌍 (A, B)에 대해서 도시 A에서 B로 가는데 필요한 비용의 최솟값을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 도시의 개수 n이 주어지고 둘째 줄에는 버스의 개수 m이 주어진다..

[BAEKJOON] 1167 트리의 지름
Coding Test/BAEKJOON 2023. 11. 21. 19:10

https://www.acmicpc.net/problem/1167 1167번: 트리의 지름 트리가 입력으로 주어진다. 먼저 첫 번째 줄에서는 트리의 정점의 개수 V가 주어지고 (2 ≤ V ≤ 100,000)둘째 줄부터 V개의 줄에 걸쳐 간선의 정보가 다음과 같이 주어진다. 정점 번호는 1부터 V까지 www.acmicpc.net 문제 트리의 지름이란, 트리에서 임의의 두 점 사이의 거리 중 가장 긴 것을 말한다. 트리의 지름을 구하는 프로그램을 작성하시오. 입력 트리가 입력으로 주어진다. 먼저 첫 번째 줄에서는 트리의 정점의 개수 V가 주어지고(2 ≤ V ≤ 100,000) 둘째 줄부터 V개의 줄에 걸쳐 간선의 정보가 다음과 같이 주어진다. 정점 번호는 1부터 V까지 매겨져 있다. 먼저 정점 번호가 주어지..

article thumbnail
[Django 50문 50답] JWT의 Access Token과 Refresh Token은 왜 필요한가요?
Python/Django 2023. 11. 3. 18:25

Q. JWT의 Access Token과 Refresh Token은 왜 필요한가요? Access Token은 사용자가 인증을 마친 후 서비스 내의 리소스에 접근할 수 있는 권한을 부여하기 위해 사용됩니다. 이 토큰은 짧은 유효 시간을 가지고 있으며, 이는 만약 토큰이 탈취되더라도 제한된 시간 동안만 유효하다는 의미 입니다. 따라서 보안 리스크를 최소화할 수 있습니다. Refresh Token은 유효기간이 만료된 Access Token을 새로 발급받기 위해 사용됩니다. Refresh Token은 상대적으로 긴 수명을 가지고 있고 Access Token보다 더 안전하게 저장되어야 합니다. 사용자가 매번 로그인하여 새로운 Access Token을 받는 번거로움 없이, 안전하게 서비스를 이용할 수 있도록 합니다...

[Django 50문 50답] Django Admin은 무엇이고 어떤 기능을 제공합니까?
Python/Django 2023. 10. 27. 08:00

Q. Django Admin은 무엇이고 어떤 기능을 제공합니까? Django Admin은 Django 프레임워크에 포함된 관리자 인터페이스입니다. 이를 통해 개발자는 웹 어플리케이션의 데이터를 쉽게 관리하고 조작할 수 있습니다. 주요 기능은 " 모델 기반의 인터페이스 생성 : 등록된 모델에 기반하여 자동으로 CRUD 인터페이스 생성 사용자 인증 : 사용자 관리 및 권한 관리 기능을 내장하여, 특정 사용자나 그룹에 대한 접근 제한 설정 검색 및 필터링 : 생성된 인터페이스에서 데이터 검색 및 필터링 기능을 지원 커스터마이징 : 기본 제공되는 인터페이스나 동작 외에도, 개발자의 요구에 맞게 인터페이스를 커스터마이즈 가능 다양한 필드 지원 : 이미지 업로드, 날짜 선택 등 다양한 필드 타입을 지원하여 복잡한 ..