많은 양의 데이터 중에서 원하는 데이터를 찾는 과정대표적인 그래프 탐색 알고리즘으로 DFS와 BFS가 있으며, 코딩 테스트에서 매우 자주 등장하므로 반드시 숙지해야 한다.선입후출 (LIFO) — 나중에 들어온 것이 먼저 나온다.Python에서는 리스트의 append()
현재 상황에서 지금 당장 좋은 것만 고르는 방법문제를 풀기 위한 최소한의 아이디어를 떠올리는 능력이 필요하다.정당성 분석이 중요 — 단순히 가장 좋아 보이는 선택을 반복해도 최적의 해가 나오는지 검토해야 한다.일반적인 상황에서는 최적의 해를 보장할 수 없는 경우가 많다

캡스톤디자인 프로젝트 GANADI(반려동물 안구질환 AI 스크리닝 플랫폼) 백엔드 개발에 처음으로 참여했다. 개발 자체도 처음이고 FastAPI도 처음이라 모르는 것투성이였는데, 첫날부터 팀원분께 버그를 잡아주시는 상황이 생겼다. 부끄럽지만 다음에 같은 실수를 반복하지
마당서점 데이터베이스를 이용한 SQL 기초 쿼리 연습박지성의 custid를 모를 경우 서브쿼리 사용= vs IN 차이= : 서브쿼리 결과가 1개일 때만 사용 가능, 2개 이상이면 오류IN : 결과가 여러 개여도 정상 작동 → 동명이인 등을 고려하면 IN이 더 안전⚠️
입력 데이터가 많을 때 input() 대신 사용. 엔터가 줄 바꿈 기호로 포함되므로 rstrip() 필수!문자열 앞에 f를 붙이고 중괄호 안에 변수명을 넣어 간편하게 출력리스트, 튜플, 문자열, 딕셔너리 모두에서 사용 가능리스트 내 원소의 등장 횟수를 자동으로 카운팅
연산 횟수가 5억을 넘어가는 경우, C언어 기준 1~3초, Python 기준 5~15초 소요코딩 테스트의 시간제한은 보통 1~5초. 명시되지 않은 경우 5초로 가정하자.지문 읽기 및 컴퓨터적 사고요구사항(복잡도) 분석문제 해결을 위한 아이디어 찾기소스코드 설계 및 코딩

두 개의 테이블을 공통 컬럼을 기준으로 연결해서 조회하는 기능입니다.User 테이블:ToDo 테이블:JOIN 쿼리:결과:user.id = todo.user_id 라는 공통 컬럼을 기준으로 두 테이블을 연결합니다.출력 결과:데이터를 언제 가져오는지에 대한 전략입니다.연관

API가 많아지면 main.py 하나에 모든 코드를 넣으면 관리하기 어렵습니다.Router를 사용하면 API를 기능별로 파일을 분리해서 관리할 수 있습니다.파일 구조:Before vs After:Before: @app.get("/todos"), @app.get("/to

시스템의 품질과 신뢰성을 검증하기 위한 코드입니다.장점:코드 변경 → 기능 점검 과정을 자동화하여 반복 작업을 줄이고 생산성 향상시스템에 대한 안정성 확신 → 유연한 코드 변경 및 리팩터링 가능심화 키워드: Unit Test, Integration Test, Regre

SQLAlchemy는 Python에서 관계형 데이터베이스를 편리하게 사용할 수 있도록 도와주는 라이브러리입니다.주요 기능:ORM (Object-Relational Mapping)Query (쿼리 생성)Transaction (트랜잭션 처리)Connection Poolin

웹 서버 실행 후 코드를 변경하면, 웹 서버를 재시작해야 변경사항이 Swagger UI에 반영됩니다.FastAPI 서버 종료: Ctrl + C

DDL, 정규화, JOIN, INSERT/UPDATE/DELETE, UNION, VIEWDDL(Data Definition Language) : 데이터베이스 구조를 정의하는 SQL 문법컬럼에 잘못된 데이터가 들어오는 것을 방지하는 규칙NOT NULL + UNIQUE 를

MySQL 기준으로 작성된 SQL 기초 학습 노트입니다.DBeaver 사용 권장 — 깔끔하고 직관적이며, MySQL 외 다른 DBMS(PostgreSQL, Oracle 등)도 쉽게 연결 가능database = 폴더 개념table = 파일 개념테이블을 만들기 전에 어떤

Python 기반의 API 생성 툴로, 프레임워크보다는 API 생성에 특화된 도구다.Micro Service 방식으로 서버를 기능별로 분할해서 만든다.매우 빠른 속도코드가 간결함비동기 처리 지원 → 특정 코드가 오래 걸리면 일단 제끼고 다른 코드 실행 가능요청이 많은

Java Arrays 라이브러리 사용법java.util.Arrays에 포함된 클래스로, 배열을 다루는 유틸리티 메서드들을 제공한다.C에서 직접 구현하던 것들을 한 줄로 처리할 수 있다.배열의 일부를 잘라서 새 배열로 복사한다.⚠️ 끝인덱스는 포함되지 않는다 (exclu

팀 프로젝트(3~5인)에서 Fork 과정 없이 하나의 원본 저장소에서 직접 브랜치를 나누어 작업하는 효율적인 협업 모델입니다.방장(소유자)은 팀원들에게 저장소 수정 권한을 부여해야 합니다.Collaborator 초대: Settings > Collaborators > A

새로운 기능 추가 (브랜치를 생성해서 기능 추가 후 main 브랜치로 병합)버그 수정 (브랜치를 생성해서 버그 수정 후 main 브랜치로 병합)병합과 리베이스 테스트이전 코드 개선특정 커밋으로 돌아가고 싶을 때💡 현재 연결된 원격 저장소 확인: git remote -

GUI(SourceTree 등) 환경을 넘어, 터미널(Git Bash)에서 직접 명령어를 입력하며 Git 저장소를 관리하는 필수 방법들을 정리했습니다.Git Bash: 윈도우 환경에서 리눅스 스타일의 명령어를 사용할 수 있게 해주는 도구입니다.프롬프트($): 명령어를

발신인 계좌에서 지정된 금액을 인출한다.수취인 계좌에 해당 금액을 입금한다.변동성 있는 서비스 메서드에 @Transactional 애너테이션을 붙여 애스펙트를 사용한다.Spring Data에서 기본적으로 findById(), findAll() 등의 메서드를 제공한다.I

스프링 데이터는 반복되는 CRUD 코드를 획기적으로 줄여주고, 다양한 영속성 기술(RDBMS, NoSQL 등)을 공통된 방식으로 다룰 수 있게 해주는 강력한 라이브러리입니다.정의: 영속성 기술에 맞는 구현을 제공하여, 최소한의 코드 작성만으로 리포지터리를 정의할 수 있