JEV와 KEV 이해하기: 글을 생성하는 AI에서 결정을 내리는 AI로
·
AI
고객 문의를 담당 부서로 보내려면 긴 답변보다 ‘결제·계정·기술·기타 중 어디인가’라는 판단이 필요하다.JEV와 KEV는 이런 정해진 질문에 대한 결정을 모델의 중심 출력으로 다룬다.이 글은 2026년 10월 1일 공식 문서와 공개 저장소를 확인해 정리했다. 아래 입력과 확률 예시는 설명용이며, 모델을 호출하거나 성능을 측정한 결과는 아니다.1. JEV와 KEV는 어떤 관계인가?Jev는 TypeSafe가 제공하는 System One 모델이다. 자연어 상태를 읽고 정해진 형식의 결정과 확률을 반환한다. 자유로운 문장 작성이나 코드 생성에 쓰는 모델과 목적이 다르다. TypeSafe System One System One - TypeSafe AISystem One models make fast, struct..
OpenAI DevDay 2026 정리: GPT-6.1 Sol, dots, Space
·
AI
OpenAI DevDay 2026에서 눈에 띈 변화는 모델 성능뿐 아니라 AI가 일하는 환경이다. GPT-6.1 Sol은 실행 비용을, dots는 지속적인 업무를, Space는 결과물의 공유와 편집을 다룬다. 이 세 가지를 역할별로 이해하면 발표 목록을 외우는 것보다 실제 활용 방법이 선명해진다.이 글은 2026년 10월 1일 공식 발표·문서 확인 기준이다. 직접 사용한 후기나 성능 실측은 포함하지 않는다.1. 한국시간 9월 30일 새벽 2시, DevDay에서 발표한 것공식 행사명은 OpenAI DevDay 2026이다. 샌프란시스코에서 9월 29일 오전 10시에 시작한 키노트는 한국시간으로 9월 30일 오전 2시다. 당시 샌프란시스코는 서머타임을 적용해 한국과 16시간 차이가 난다. 공식 행사 일정 O..
SQL 고급: JOIN·서브쿼리·인덱스·VIEW를 하나의 예제로 이해하기
·
DB & SQL
테이블을 나누어 저장하면 중복은 줄어들지만, 조회할 때는 다시 연결해야 한다.또 “평균보다 큰 주문”이나 “주문이 없는 고객”처럼 다른 조회 결과를 조건으로 쓰는 순간에는 단순한 WHERE만으로 부족하다.이 글에서는 고객과 주문을 예제로 JOIN, 서브쿼리, 인덱스, VIEW를 연결한다. JOIN은 어떤 행을 남길지, 서브쿼리는 어떤 형태의 결과를 비교할지, 인덱스는 어떤 탐색 비용을 줄일지를 결정한다.문법은 MySQL 8.4를 기준으로 설명한다.1. 고객과 주문을 분리하는 이유주문마다 고객 이름을 저장하면 고객 이름이 바뀔 때 여러 행을 수정해야 한다. 고객 정보는 customers에 두고, 주문은 customer_id로 고객을 참조하도록 설계하면 수정 지점을 줄일 수 있다.이번 글에서 사용하는 데이터..
SQL 기본기: 조회·필터링·정렬·그룹화와 논리 실행 순서
·
DB & SQL
SQL 조회문은 위에서 아래로 읽히지만, 데이터베이스가 논리적으로 처리하는 순서는 그렇게 단순하지 않다. 이 차이를 이해하면 NULL 비교가 왜 실패하는지, 집계 결과를 왜 WHERE에서 거를 수 없는지, LIMIT만 쓴 결과가 왜 매번 같다고 보장할 수 없는지를 설명할 수 있다.이 글에서는 데이터 변경의 안전 수칙부터 SELECT, 필터링, 정렬, 집계, HAVING까지 하나의 주문 테이블로 연결한다.1. 데이터 변경문은 WHERE부터 확인한다DML(Data Manipulation Language)은 행을 추가·수정·삭제한다.INSERT INTO products (name, price, stock)VALUES ('키보드', 45000, 10);UPDATE productsSET stock = stock ..
관계형 데이터베이스 설계: 키·무결성·정규화에서 DDL까지
·
DB & SQL
관계형 데이터베이스를 처음 배우면 CREATE TABLE 문법부터 외우기 쉽다. 하지만 좋은 테이블은 문법보다 먼저 무엇을 한 행으로 볼지, 어떤 값으로 행을 식별할지, 테이블 사이의 관계를 어떻게 지킬지를 결정한 결과다. 이 글에서는 모델링, 키, 무결성, 정규화, DDL을 하나의 흐름으로 연결한다.1. 테이블은 현실의 대상을 행과 열로 표현한다관계형 데이터베이스는 데이터를 테이블로 표현한다. 열(column)은 이름, 가격처럼 대상이 가진 속성이고, 행(row)은 한 고객이나 한 상품처럼 속성값을 모은 하나의 기록이다.예를 들어 온라인 서점이라면 처음부터 모든 정보를 한 표에 넣기보다 다음처럼 역할을 나눌 수 있다.customers: 고객 한 명을 한 행으로 저장products: 상품 한 개를 한 행..
정규식과 NumPy: 텍스트에서 수치를 추출해 배열로 계산하기
·
알고리즘/이론
정규식은 텍스트에서 구조를 찾고, NumPy는 추출한 수치를 배열로 계산한다. 두 도구를 연결할 때는 무엇을 유효한 입력으로 인정할지, 어떤 dtype과 shape으로 바꿀지, 실패한 입력을 어떻게 처리할지를 먼저 정한다.1. 검색과 검증은 다르다함수의미반환re.match문자열 시작에서 패턴을 맞춤Match 또는 Nonere.search일치하는 첫 위치를 찾음Match 또는 Nonere.fullmatch문자열 전체가 패턴인지 검사Match 또는 Nonere.findall모든 비중첩 일치를 모음문자열 또는 캡처 그룹들의 리스트re.finditer모든 비중첩 Match를 순차 반환반복자match는 시작 위치를 제한할 뿐 끝까지 소비한다고 보장하지 않는다. 형식 전체 검증에는 fullmatch가 명확하다. f..
제너레이터와 비동기: 값을 만드는 시점과 기다리는 방식
·
알고리즘/이론
제너레이터는 필요한 시점에 다음 값을 만든다. 비동기는 기다리는 동안 다른 작업을 진행한다. 둘 다 실행을 중단했다가 이어갈 수 있지만, 제너레이터를 썼다고 I/O가 자동으로 비동기가 되는 것은 아니다.1. iterable과 iterator반복 가능한 객체(iterable)는 iter(obj)로 반복자를 얻을 수 있다. 반복자(iterator)는 next(it)로 다음 값을 내놓고, 끝나면 StopIteration을 발생시킨다. 리스트는 반복 가능하지만 그 자체가 반복자는 아니다.values = [10, 20]it = iter(values)assert next(it) == 10assert list(it) == [20]assert list(it) == []assert list(values) == [10, ..
정렬: 불변식, 안정성, 파이썬 구현 비용
·
알고리즘/이론
정렬 알고리즘을 구분하는 좋은 질문은 한 단계가 끝나면 어느 부분이 확정되는가다. 버블은 뒤쪽 최댓값, 선택은 앞쪽 최솟값을 확정한다. 삽입은 정렬된 접두 구간을 넓힌다. 병합은 정렬된 두 구간을 합치고, 퀵은 피벗을 기준으로 원소를 분할한다.1. 시간만큼 중요한 비교 기준안정 정렬은 정렬 키가 같은 원소의 기존 상대 순서를 보존한다. 제자리 정렬은 보조 저장 공간을 적게 쓰는 성질이다. 둘은 별개다. 비교 횟수뿐 아니라 이동, 슬라이싱, 리스트 앞쪽 삭제, 재귀 스택까지 구현 비용에 포함해야 한다.알고리즘최선평균최악추가 공간안정성: 아래 구현 기준버블, 조기 종료 있음O(n)O(n²)O(n²)O(1)안정삽입O(n)O(n²)O(n²)O(1)안정선택O(n²)O(n²)O(n²)O(1)불안정카운팅O(n+K)O..