목록전체 글 (115)
julia coding story
🧠 데이터 엔지니어 입장에서 GIL을 알아야 하는 이유“데이터 파이프라인이 느려진다면, 진짜 병목은 코드가 아니라 GIL일 수도 있다.” 1️⃣ GIL이 뭐길래?GIL(Global Interpreter Lock)은 파이썬이 한 번에 하나의 스레드만 실행하도록 제한하는 락(lock)이에요.멀티스레드를 써도 결국 한 시점에는 하나의 스레드만 파이썬 코드를 돌릴 수 있습니다. 왜 이런 제약이 생겼을까요?파이썬의 메모리 관리 방식이 참조 카운팅(reference counting) 기반이라, 여러 스레드가 동시에 메모리를 건드리면 꼬일 위험이 있기 때문이에요.그래서 CPython은 “안전하게 하나씩 처리하자”는 선택을 한 거죠.결국 GIL은 안정성의 대가로 병렬성(performance)을 포기한 구조입니다. 2..
https://www.acmicpc.net/problem/14889 힌트1. sys썼느냐?2. 중복되는게 없느냐?ex> 0번 선수가 A팀이든 B팀이든 상관없고 구하는건 차이니까 A: 0,1,2 / B: 3,4,5B: 0,1,2 / A: 3,4,5 일때 두번 대칭으로 중복인경우 해결? 조합으로 하면 저래됨그니까 그 동그란 탁자에 앉은 경우의 수 구하듯 구하는거임 1차 시도 (실패 - 메모리초과)from itertools import combinations, permutations# N은 짝수# N/2명으로 이루어진 스타트링팀 / 링크 팀으로 나눠야함N = int(input())ab = []for i in range(N): ab.append(list(map(int, input().split())))..
https://www.acmicpc.net/problem/2108 이거 굉장히 쉬워보이지만 시간초과때문에 골때림 힌트1. Counter 쓸생각하지마셈2. sys로 input받았는지 생각해보셈3. 수기로 다 할생각하셈 꼼수 안됨 킹받네4. -0.333이 0으로 되는지 확인해보셈 1차 시간 초과 (실패)from collections import CounterN = int(input())l = []tot = 0for i in range(N): t = int(input()) #tot += t l.append(t)if N == 1: print(l[0]) print(l[0]) print(l[0]) print(0)else: # 1. 산술평균 : N개의 수들의 합을 N으..
📊 SQL에서 사분위수 구하는 두 가지 방법1️⃣ 수치값의 사분위수 – PERCENTILE_DISCPERCENTILE_DISC는 특정 분위수(Percentile)의 실제 값을 반환하는 함수입니다.예를 들어 **중앙값(50% 분위수, median)**을 구하고 싶다면 다음처럼 씁니다. SELECT PERCENTILE_DISC(0.5) WITHIN GROUP (ORDER BY 급여) AS 중앙값_급여 FROM 직원; 👉 해석:0.5 → 50% 위치의 값(= 중앙값)WITHIN GROUP (ORDER BY 급여) → 급여를 작은 값부터 정렬한 뒤, 그 위치에 해당하는 값을 반환📌 특징:실제 데이터 값 중 하나를 반환합니다.즉, 평균처럼 "계산된 값"이 아니라 정렬된 데이터에서 정확히 그 지점을 찾아서 반..
GROUP_CONCAT은 **MySQL, SQLite 등에서 제공하는 집계 함수(aggregate function)**로, GROUP BY와 함께 사용될 때 여러 행(row)의 문자열 값을 하나로 합쳐서 반환합니다.✅ 기본 개념일반적으로 SUM(), COUNT() 같은 집계 함수는 숫자를 다루지만GROUP_CONCAT()은 문자열을 다루고, 행 단위로 여러 값을 하나의 문자열로 연결해 줍니다.기본 구분자는 , (콤마)입니다.✅ 기본 사용 예시 SELECT department, GROUP_CONCAT(name) AS employees FROM employee GROUP BY department; 📌 결과 예시:departmentemployeesSalesAlice,Bob,CharlieITDavid,Eva✅..
https://school.programmers.co.kr/learn/courses/30/lessons/67257 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr eval함수 보통 쓰는데 난 안쓰고 풀어봄 문제가 많았음 걸린점1. copy.deepcopy를 하지 않아서 계속 맘대로 바뀜;2.''' ('*', '-', '+') [100, 60000, 500, 20] ['-', '-', '+'] [-59900, -60400, 20] ['+'] [-120300, 20] [] [22000, 60420, 18000, 20020, 60420, 120300] 지금 코드는 이렇게 -를 겹쳐야하는 경우에는 부합하지 못함..ㅠ..
1. 정의공매도는 주식을 실제로 보유하지 않은 상태에서 주식을 빌려와 먼저 매도한 뒤, 주가가 하락하면 더 낮은 가격에 다시 매수하여 되갚는 투자 기법입니다.즉, 주가 하락에 베팅하는 투자 방식입니다.2. 기본 구조 1. 주식 차입: 투자자는 증권사나 기관으로부터 주식을 빌림. 2. 시장 매도: 빌린 주식을 현재 시세로 판매. 3. 주가 변동: 주가가 하락하길 기다림. 4. 재매수(숏 커버링): 낮은 가격에 주식을 다시 매수해 빌린 곳에 반환. 5. 차익 실현: 매도 가격과 매수 가격의 차익이 수익.3. 특징 • 하락장에서 수익 가능: 일반 투자자는 주가 상승에서만 이익을 보지만, 공매도는 하락에서도 이익을 볼 수 있음. • 레버리지 효과: 담보(보증금)를 기반으로 거래하기 때문에 수익·손실 모두 확대...
1. 정의스테이블코인은 가치 변동성을 최소화하기 위해 법정화폐(USD, KRW 등)나 원자재(금 등)에 연동된 암호화폐입니다.즉, 비트코인이나 이더리움처럼 가격이 급격히 오르내리는 대신, 일정한 가치를 유지하도록 설계된 디지털 자산입니다.2. 특징 • 가치 연동성: 특정 자산(주로 달러)에 1:1로 연동되도록 설계. • 종류: • 법정화폐 담보형: USDT, USDC처럼 실제 달러 예치금으로 뒷받침. • 암호화폐 담보형: DAI처럼 암호화폐를 초과 담보로 잡아 안정성 확보. • 알고리즘형: 테라(LUNA/UST)처럼 알고리즘을 통해 발행·소각으로 가격 유지. • 결제 및 송금 수단: 블록체인 상에서 빠른 송금 가능. • 스마트컨트랙트 활용: DeFi(탈중앙화 금융) 서비스에서 담보, 대출, 결제 수단으로..