Misc 12

스폐셜 메서드(Dunder Method)

1. 파이썬 스폐셜 메서드란?__init__, __call__, __lt__처럼 앞뒤로 언더바 2개(__)가 붙은 메서드객체의 행동을 정의할 때 사용예:len(obj) → obj.__len__() 호출obj1 obj() → obj.__call__() 호출2. 코딩테스트에서 자주 쓰이는 스폐셜 메서드메서드역할코테 활용 예시__init__객체 생성 시 초기화상태값 세팅__lt__정렬 기준 커스터마이징__eq__, __hash__객체 비교, 집합/딕셔너리 키로 사용BFS/DFS에서 방문 좌표 관리__len__, __getitem__길이/인덱스 접근 지원슬라이딩 윈도우, 커스텀 컨테이너__add__, __sub__연산자 오버로딩벡터/좌표 연산 문제__call__객체를 함수처럼 호출카운터, 메모이제이션, 시뮬레이..

Misc/Python 문법 2025.08.29

[python] math 모듈

1. math.gcd(a, b)최대공약수(GCD)를 구함예: math.gcd(12, 15) -> 3최소공배수(a*b) / gcd(a, b)2. math.factorial(n)n! (팩토리얼) 계산예: math.factorial(5) -> 1203. math.sqrt(x)제곱근 반환예: math.sqrt(16) -> 4.04. math.isqrt(n) (파이썬 3.8 이상)정수 제곱근 (소수점 버림)예: math.isqrt(10) -> 35. math.ceil(x)올림 함수 (소수점 위로 올림)예: math.ceil(4.2) -> 56. math.floor(x)내림 함수 (소수점 아래로 내림)예: math.floor(4.8) -> 47. math.pow(x, y)거듭제곱 (x^y) 반환, float 반환예..

Misc/Python 문법 2025.08.09

map()

1. map 함수반복 가능한 객체의 요소를 지정된 함수로 처리하는 함수이다.map(function, iterable)function: 각 요소에 적용할 함수iterable: 함수를 적용할 데이터 집합 2. 리스트에 map 사용a = [1.2, 2.5, 3.7, 4.6]for i in range(len(a)): a[i] = int(a[i])print(a) # [1, 2, 3, 4]실수가 저장된 리스트 a가 있을 때, 리스트 a의 모든 요소를 정수를 변환하기 위해 for 반복문 사용했다. 번거로우니 map을 사용해 보자.a = [1.2, 2.5, 3.7, 4.6]a = list(map(int, a))print(a) # [1, 2, 3, 4]map에 int와 리스트를 넣으면, 리스트의 모든 요소를 int..

Misc/Python 문법 2024.10.20

python 기초 문법

1. len() : 문자열의 길이 구하기 word = input()print(len(word)) 2. input() : 입력받기input() // 문자열 입력 받기int(input()) // 숫자 입력 받기 3. print() : 출력print()print(a+b) // a와 b 사이의 공백 없이 출력 4. Slicinglist(start, stop, step)start: 슬라이싱 시작 위치stop: 슬라이싱 끝 위치step: 간격을 설정1) step = 1 (default)list = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L']list[1:10:1] // list[1:10]와 동일// OUTPUT// ['B', 'C', 'D', 'E', ..

Misc/Python 문법 2024.09.28

NodeJs Backend REST API (3) - Prisma

1. Prisma를 이용한 Schema 관리ORM(Object-relational Mapping): DB데이터(schema)를 객체(object)로 매핑해 주는 역할을 하는 것*ORM 툴인 prisma는 DB를 제어하는 sql문을 좀 더 편리하게 개발할 수 있도록 도와주는 orm의 일종입니다. *ORM(Object-relational Mapping): DB데이터(schema)를 객체(object)로 매핑해 주는 역할을 하는 것  1) Prisma 설치프리즈마도 기본적으로 NodeJS가 설치된 환경에서 사용할 수 있습니다.  npm init -y초기환된 프로젝트를 생성 npm i prisma --save -dev프리즈마를 설치 package.json 설치 내용들을 확인 가능 2) SQLitesqlite는 ..

Misc/백엔드 2024.07.13

NodeJs Backend REST API (2) - Fastify

1. REST API get 데이터 호출 post 데이터 삽입 put 데이터 수정 delete 데이터 삭제2. Fastify 개발 환경 설정1) Nodejs와 VSCode 설치2) TypeScript 설치npm i typescript -g3) Fastify 설치npm init일단 기본 옵션으로 설정하고 필요하면 이후에 package.json에서 수정 가능npm i fastifypackage.json에서 정상 설치 확인4) TypeScript와 관련된 패키지 설치npm i -D typescript @types/nodepackage.json에서 정상 설치 확인 5) TypeScript 관련 설정 파일 생성npx tsc --inittsconfig.json 파일이 생성됨6) 각종 플러그인 설치nodemon: 파..

Misc/백엔드 2024.07.03

NodeJs Backend REST API (1) - Typescript

1. 기본 타입number숫자string문자열booleanT/Fnull undefined타입이 정의되지 않은 타입any모든 타입, API같은 외부 자원을 활용해 개발 시 타입을 단언할 수 없는 경우 유용never절대 발생하지 않을 값, 어떠한 타입도 적용 Xvoid값을 반환하지 않는 함수에서 사용object객체 2. Type의 조합type Person = { name: string age: number}let kim: Person3. Union2개 이상의 타입을 허용하는 경우let test: number|stringtype Student = { name: string age: number major: string}type Worker = { name: string a..

Misc/백엔드 2024.07.03

HTTP

1. 정의1) HyperText Transfer Protocol주로 HTML과 같은 HyperText 문서를 주고받기 위해 만들어졌고, 최근에는 HTML뿐 아니라 모든 웹 관련 API 통신에 이용되는 통신 프로토콜이다. 2) HTTP 특징비연결성(Connectionless): 매 요청마다 다시 연결 맺음무상태성(Stateless): 클라이언트의 상태를 기억하지 않음 2. HTTP 구조1) 요청 메시지시작 라인(start-line)HTTP methodGET, POST, PATCH, PUT, DELETE == READ, CREATE, UPDATE(part), UPDATE(all), DELETE서버에서 요청을 Routing할 때 사용됨URL리소스를 요청하는 주소(Locator)ptotocol versionht..

Misc/백엔드 2024.06.25

API

1. Application Programming InterfaceAPI 맥락에서 애플리케이션은 고유한 기능을 가진 소프트웨어이다.인터페이스는 두 애플리케이션 간의 서비스 계약이고, 위의 계약은 요청과 응답을 사용하여 두 애플리케이션이 서로 통신하는 방법을 정의한다. API 문서에는 개발자가 이러한 요청과 응답을 구성하는 방법에 대한 정보가 들어 있다. ∴  API란? 한 프로그램에서 다른 프로그램으로 데이터를 주고받기 위한 방법(=코드)API = 메뉴판커스터마이징 없이, 적힌 메뉴 그대로 주는 것메뉴판을 만들어두어야 사용자가 알고 주문할 수 있음 2. API가 가져야 할 내용1. 요청방식(method) : 데이터를 요청할 것인지 응답할 것인지 2. 무슨 자료 요청할지(endpoint) : 어떤 데이터를 ..

Misc/백엔드 2024.06.25

백엔드의 전체 흐름

1. 앱프론트엔드: 화면, 단말 위주백엔드: 서버, API, 데이터, 인프라2. 전체 전체 관점에서 아는 것이 중요하다.백엔드 개발자로서 JAVA나 Spring은 당연히 잘 알아야 하지만 이것만 알아서는 안된다.API 스펙, API호출을 위한 프로토콜, HTTP 통신단, DB 등 알아야 할 것이 많다.1) React (vs) React NativeReactreturn 하는 곳에  html 태그 기반React Native 앱 개발용앱 개발용이므로 화면의 요소들도 앱의 소스가 들어감2) API (vs) Web ServerAPIApplication Programming Interface인터페이스로 접속 = 화면은 그대로고 데이터만 주고받는다.내용들은 다 Client에게 있고 데이터만 주고 받는 상황Web Se..

Misc/백엔드 2024.06.24
728x90