분류 전체보기71 [Python] sort, sorted (Timsort, 팀 소트) 문득 Python의 Sequence.list(), sorted() 는 어떤 정렬 알고리즘을 쓰는 지 궁금해졌다.결론부터 말하면 둘 다 Timsort를 사용한다. (3.11 이후는 Timsort 변형인 Powersort)1. sort() vs sorted() 함수사용 형태원본 변경반환값list.sort()리스트 메서드ONonesorted()내장 함수X정렬된 새로운 리스트 sort 함수는 List.sort(*, key=None, reverse=False) 형식으로 "리스트형의 메소드"으로 리스트_객체 값을 직접 수정한다.sorted 함수는 sorted(iterable, /, *, key=None, reverse=False) 형식으로 "파이썬 기본 내장 함수"으로 원본 값은 그대로이고 정렬 값을 반환한다.. 2025. 5. 22. [Supabase] Supabase SDK -> Edge function ->서버까지 백엔드는 Supabse 프론트는 SwiftUI로 구성했다.처음엔 간단히 시작했지만, 예상치 못한 문제들과 함께 백엔드 아키텍처가 몇 번 바뀌게 됐다. 1. Supabase SDK Swift용 Supabase SDK를 직접 사용해 iOS 앱에서 데이터를 다루었다. 장점1. 빠른 구현 가능Supabase 에서 프로젝트를 생성 -> 테이블 설계 -> RLS 설정을 하면 해당 테이블에 대한 배포가 끝난다.백엔드 서버 작업 없이 DB 접근이 가능하다.예시 : https://du-sungchan-24k.tistory.com/entry/Swift-Supabase-OAuth-Sign-in-with-Apple2. OAuth 및 인증 관리Apple OAuth, Google OAuth 등 인증 플로우가 SDK에 포함되.. 2025. 5. 14. [Database] CAP 이론 (CAP Theorem) 분산 시스템에서 Consistency, Availability, Partition tolerance 이 세 가지를 모두 만족하는 건 불가능1. CAP 이론이란?CAP = Consistency / Availability / Partition Tolerance세 가지 중 두 가지만 보장 가능 2. CAP 항목 1. Consistency사용자가 어떤 노드에 접근하든, 항상 동일한 데이터를 받아야 함. 즉, 쓰기 작업이 발생한 후 모든 복제본이 즉시 업데이트되어야 함.2. Availability시스템은 항상 요청에 응답해야 함. 성공하든 실패하든 응답이 있어야 하며, 절대 시스템이 중단되면 안 됨.3. Partition Tolerance시스템 내 노드 간 네트워크가 끊겨도, 전체 시스템은 정상 작동해야 함. 3.. 2025. 5. 12. [FastAPI] N+1 Problem 1. N+1 ProblemORM으로 관계형 데이터를 가져올 때, 한번의 쿼리(N) 로 가져온 각 항목에 대해 추가적인 쿼리 (+1)가 반복 실행되는 문제예시블로그 글(Post) 10개를 가져오면 (SELECT * FROM post)각 글의 작성자(User)를 가져오기 위해 추가로 10개의 쿼리 (SELECT * FROM user WHERE id = ?) 실행됨 2. FastAPI + SQLAlchemy 예제모델 정의# models.pyfrom sqlalchemy import Column, Integer, String, ForeignKeyfrom sqlalchemy.orm import relationshipfrom app.database import Baseclass User(Base): __tab.. 2025. 5. 7. [Swift + Supabase] 인증, 약관 동의 구현 1. Supabase 특징PostgreSQL 기반의 데이터베이스Row Level Security (RLS) 정책을 통한 유저 권한 관리REST, OAuth, Log 등 백엔드의 기능을 기본적으로 제공하여 별도의 서버 필요 X 사용 문서가 정말 잘 되어 있어 빠르게 학습 가능 2. Swift 1. Client 초기화class SupabaseManager { static let shared = SupabaseManager() let supabase: SupabaseClient private init() { let supabaseUrl = URL(string: Bundle.main.object(forInfoDictionaryKey: "SUPABASE_URL") as! String.. 2025. 5. 5. [React] 상태(state), props, 이벤트 처리 1. State - 컴포넌트 내부에서 변하는 값컴포넌트 안에서 바뀌는 데이터 import { useState } from 'react';function Counter() { const [count, setCount] = useState(0); // count가 상태 return ( 현재 숫자: {count} setCount(count + 1)}>증가 );}useState(0) → 초기값 0으로 상태 생성setCount() → 상태를 변경하는 함수상태가 바뀌면, 화면도 자동으로 다시 렌더링 2. Props부모 컴포넌트가 자식 컴포넌트에게 값을 전달 function Welcome({ name }) { return {name}님, 환영합니다!;}function App.. 2025. 5. 2. 이전 1 2 3 4 ··· 12 다음