| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 | 31 |
- 코딩테스트 준비
- 데이터분석
- 인턴십 면접
- 딥러닝
- 인공지능
- 모두의연구소
- SQLD
- 개발 도서
- OpenAI
- 통계
- n8n
- 코딩테스트
- 미국석사
- 해외유학준비
- 영국석사
- 코드트리
- ICT 글로벌 인턴십
- docker
- 제이펍
- 부트캠프
- SQL
- 데이터사이언스
- 해외석사준비
- 아이펠
- 해외입시
- 해외석사
- 아이펠 리서치
- unity
- 자동화
- 머신러닝
- Today
- Total
목록전체 글 (42)
Developer Jenny Lim's Blog
출국 전에 취득할 수 있는 자격증은 다 취득하고 가려고 연초부터 부랴부랴 공부했다. 그 중에 정말 힘들었고 제일 오래 공부했던 SQLD도 마침내 합격했다. 거의 웬만한 프로그래밍 언어는 다 공부해봤고 코드도 많이 짜봐서 어렵지 않았는데, 이상하게 SQL만 유독 힘들었다. 이거에 관련해서 토론을 해봤는데, SQL은 비절차적 언어라서 더 그렇게 느껴지는 것 같다. C나 Python는 아무래도 절차적 언어이다보니, 이에 익숙한 개발자 입장에서는 이건 왜 이렇게 쓰는 거지? 생각이 많이 들게 한다. 1. 사용한 교재 SQLD는 ADsP와 더불어 시중에 여러 교재들이 많이 나와있기 때문에 무엇을 선택하든지 상관 없긴 하다. 나는 예전에 사둔 책 (심지어 2026도 아님) 보면서 공부 했는데 어짜피 시험에서 다..
Top N 쿼리 : 상위 N 순위까지 추출하는 쿼리 → 기본적으로 순위 함수(RANK, DENSE_RANK, ROW_NUMBER)를 사용해서 쿼리를 작성할 수 있음 ROWNUM 함수 : 현재 저장된 데이터를 그대로 두고 각 행에 순차적인 번호를 붙여주는 함수테이블의 첫 행부터 차례대로 순회하면서 값을 반환하기 때문에 중간을 건너 뛰고 값을 가져올 수 없음WHERE 절에서 ROWNUM을 사용할 경우, 조건식이 FALSE가 되면 순회를 멈추고 결과를 반환함ROWNUM은 각 행을 반환하면서 값을 반환하기 때문에 ORDER BY가 수행되기 전에 각 행에 번호가 매겨지고, 그 후에 정렬이 수행됨 → 결과가 이상해 보일 수 있음 계층형 데이터 모델 : 각 레코드가 하나의 노드가 되고 노드의 부모-자식 관계를 정의하..
연산자 우선 순위산술 연산자 → 연결 연산자 → 비교 연산자 → ISNULL/LIKE/IN → BETWEEN → NOT 연산자 → AND 연산자 → OR 연산자 SORT MERGE JOIN : 조인의 조건이 되는 컬럼에 인덱스가 없어서 인덱스를 스캔할 수 없거나 대량의 자료를 조인하게 되어 랜덤 액세스 방식이 부담될 경우, 전체 테이블 스캔 방식을 사용하여 조인을 수행함조인 컬럼에 대해 먼저 정렬을 수행한 후 조인을 수행 NESTED LOOP JOIN : 인덱스 스캔을 사용하여 데이터를 랜덤 액세스 방식으로 읽음중첩 루프를 사용한 반복문과 유사한 방식으로 수행되는 조인데이터 양이 많을 경우 많은 디스크 I/O가 발생하여 성능이 느려질 수 있음 HASH JOIN : NESTED LOOP JOIN의 랜덤 액..
WHERE : 특정 조건을 만족하는 행만을 대상으로 연산을 수행함SELECT, UPDATE, DELETE에는 사용할 수 있으나 INSERT에는 사용 불가FROM 절을 먼저 수행하므로 FROM 절에서 정의한 테이블에 대한 별명은 사용 가능그러나 SELECT 절에서 정의한 컬럼에 대한 별명은 사용 불가SELECT 컬럼1 [[, 컬럼2] … ] FROM 테이블1 [[, 테이블2] … ] WHERE 조건식;WHERE 절에서 NULL과 동등/부정 비교는 IS NULL, IS NOT NULL만 사용 가능컬럼 = NULL, 컬럼 ≠ NULL 등 비교 연산자를 사용한 조건식은 제대로 작동 X 비교 연산자 : 두 값이 같은지를 비교하거나 크기를 비교하여 보다 작은지, 더 큰지를 판단하여 참, 거짓을 반환함비교 대상이 단..
데이터 자체는 아무런 가치를 가지지 않지만, 어떤 목적에 따라 가공하여 유용한 정보로 변환하면 그제서야 가치를 가지게 됨 → 정보데이터베이스 : 데이터를 일정한 체계에 따라 통합하여 디스크나 메모리에 저장한 것응용 프로그램에 종속적이지 않도록 일종의 미들웨어 형태로 만든 것자료의 독립성 + 중복 저장의 최소화 + 통합 처리 + 자체적 관리 기능 등의 이점 존재 DBMS : 데이터베이스를 구축하고 관리할 수 있는 기능을 제공하는 시스템 소프트웨어관계형 데이터베이스 : 2차원 구조의 행과 열로 구성된 테이블 형태수학적 이론을 바탕으로 하고 있어 연산 자체를 수학적으로 최적화할 수 있음SQL 통해 데이터로부터 원하는 정보를 쉽게 조회, 가공, 추출 가능Oracle, PostgreSQL, MariaDB, MyS..
데이터베이스의 이상현상 : 모델링된 데이터베이스의 테이블과 관계들이 데이터 입력, 수정, 삭제 과정에서 일관성이 깨지는 문제삽입 이상 : 테이블에 데이터를 삽입할 때 의도하지 않은 정보까지 삽입해야 하는 상황갱신 이상 : 중복 저장되어 있는 데이터 중 하나만 갱신하고 다른 하나를 갱신하지 않을 때 나타나는 데이터 불일치 현상삭제 이상 : 테이블의 특정 데이터를 삭제할 때 의도하지 않은 정보까지 삭제되는 현상 정규화 : 데이터 중복을 최소화하면서 테이블을 보다 잘 조직된 상태로 분해하는 과정정규화를 잘 수행하면 데이터 입력, 수정, 삭제 성능은 향상조회 성능은 조건에 따라 향상 가능 → 근데 대부분 Join이 많이 발생해서 하락Join 때문에 성능 하락할 경우 조회 성능을 올리기 위해 반정규화 수행 정규화..
모델링 : 현실 세계를 대상으로 일종의 모델을 만드는 것모델 : 현실 세계의 사물, 개념 등을 구성 요소로 나누고 이를 일정하게 도식화한 것도식화하는 방법은 약속된 표기법을 따라야 함모델링을 하는 이유 : 업무 흐름 가시화 및 명세화 → 설계, 새갈, 시스템 관리에 사용추상화 : 사물을 있는 그대로 나타내는 것이 아니라 특징을 추려서 단순화하여 나타내는 것 어떤 특징을 어느 정도로 표현할지는 모델링의 목적에 달라짐모델링의 목적은 업무 프로세스의 데이터에 따라 달라짐필요한 수준에서 데이터를 추상화해서 단순하고 명료하게 표현하는 것이 중요함 모델링의 특징추상화 : 대상의 주요 특징을 추출해서 일정한 형식으로 표현함대상을 범주화하여 클래스로 구분하고 공통된 특징을 서술함 → 객체지향 설계의 추상화랑 비슷함단순..
1. 특정 수 도달하기n = list(map(int, input().split()))c = 0t = 0for i in range(len(n)): if n[i] >= 250: break c = c + 1 t = t + n[i]if c == 0: print(0, 0)else: print(t, f"{t/c:.1f}") 문제 풀이 회고 : 모든 숫자가 250 이상이라면 count 되는 숫자가 없을 것이므로 합계와 평균이 0이 나오도록 예외 처리를 했어야 했는데, 깜빡하고 안했더니 0을 나눌 수 없다는 오류가 나왔다. 그리고 if 문에 break를 넣지 않아 그냥 전체 숫자를 다 count 해버리기도 했었다. 다음에 풀 때는 어짜피 배열 n으로 받았으니 인덱스..
지난 주에 n8n을 이용한 자동화 시스템 및 에이전트 구축 교육을 수료했다. n8n에 대해 공부해보고 싶었는데 자료만 찾아두고 공부는 못했는데, 운 좋게도 관련 교육이 있다는 소식을 듣게 되어 짧은 시간이지만 n8n에 대해 공부할 수 있었다. 교육 실습 시간에는 기한 내 사용 가능한 클라우드에서 n8n을 사용했었기에, 교육 수료 겸 n8n에 대해 더 공부하고 싶어 로컬 PC에서 실행해보기로 했다. 만들고 싶은 자동화 서비스는 언제든지 사용 가능한 상태였으면 하기에 노트북 말고 맥미니에서 n8n 환경을 구축하기로 했다. 데스크탑이 없어서 고민하다가 맥미니를 구매했는데 생각보다 너무 잘 산 거 같다. 원래 로컬 PC는 윈도우 기반 데스크탑으로 하고 맥북을 구매하려고 했는데, 어쩌다보니 뭔가 많이 꼬이긴 했지..
Unity로 게임 개발을 해 본 사람이라면 한 번쯤 이런 고민을 해봤을 것 같다. 요즘 생성형 AI 관련해서 다양한 기술들이 빠르게 나오고 있는데, 이걸 게임에는 어떻게 적용할 수 있을까? 학부 때 교내 동아리에서 Unity로 2D 게임 프로젝트를 진행했을 때는 대부분의 로직들을 직접 작성하고, 기본 에셋 혹은 무료 에셋을 조합해서 게임을 개발했었다. 당시 기준으로 LLM이나 생성형 AI와 직접적으로 연결하는 방식은 경험해본 적이 없기에, 처음에 「LEVELIT 유니티와 OpenAI API로 만드는 인공지능 NPC」을 봤을 때 Unity와 OpenAI를 실제로 어떻게 연결하는 것일까 궁금했다. (물론 책을 읽으면서 나중에 알게 된 정보로는 API 형태로 연결해서 질의 응답을 다양화하는 등 여러 방면에서..
