728x90
728x90
[ 42경산 & 알고리즘/자료구조 & 코테 ]코딩테스트 학습 서비스, 코드트리 사용 후기2024-03-31 23:58:52TL;DR — 3줄 핵심 요약• 문제: 코딩테스트 공부는 무엇을 어떤 순서로 풀지 정하는 일이 가장 어려웠고, 백준과 프로그래머스는 문제는 많지만 로드맵을 주지 않는다.• 기술/원인: 코드트리는 기초 문법부터 자료구조, DP, DFS, BFS까지 단계별 문제집으로 나누고, 기본-연습-테스트로 나눠 스스로 확인하게 하며, 레벨 테스트로 현재 위치를 보여 준다.• 해결/인사이트: 학습 설계는 코드트리가 가장 낫지만 인지도가 낮아 함께 푸는 사람이 적고 UX 잔버그가 있었다. 취업 준비 단계에서는 결제해 쓸 생각이다.들어가며이 글은 글또 9기에서 진행된 코드트리(CODE TREE) 후원을 바탕으로 작성했다. 배너 이미지는 글또 9기 김서현님이 만들었다. 유료 이용권을 제공받았고, 좋았던 점과 아쉬웠던 점을 같..
[ 시스템 & 인프라/PintOS & CS ][PintOS/운영체제] Project 1: Threads 완벽 분석 - Alarm Clock과 Priority Scheduling 구현2024-03-17 23:56:26TL;DR — 3줄 핵심 요약• 문제: PintOS Threads 과제를 하려면 프로세스와 스레드, 스케줄링, 동기화, 경쟁 상태, 교착 상태, 문맥 교환, MLFQS를 한 번에 설명할 수 있어야 했다.• 기술/원인: CPU는 한 번에 하나만 실행하므로, 운영체제는 스케줄러로 실행 순서를 정하고, 공유 데이터에는 락과 세마포어로 순서를 강제하며, 전환할 때는 문맥을 저장하고 복원한다.• 해결/인사이트: 개념을 정의, 원인, 대표 알고리즘 순서로 정리하고 나면 PintOS의 Alarm Clock, Priority Scheduling, MLFQS 구현이 무엇을 요구하는지 보인다.들어가며크래프톤 정글에서 KAIST PintOS를 구현하며 팀 프로젝트를 진행하고 있다. 이 글은 정글에서 제공한 가이드라인의 공부..
[ 42경산 & 알고리즘/자료구조 & 코테 ][자료구조/C언어] 레드-블랙 트리(Red-Black Tree) 삽입·삭제 및 회전 알고리즘 완벽 정리2024-02-18 23:57:24TL;DR — 3줄 핵심 요약• 문제: 레드-블랙 트리를 이해하려면 이진 탐색 트리, 균형, 회전, 재귀를 먼저 알아야 했고, 삽입과 삭제의 경우의 수가 많았다.• 기술/원인: 레드-블랙 트리는 노드에 빨강이나 검정 색을 붙이고 다섯 가지 규칙을 지키는 이진 탐색 트리다. 규칙이 깨지면 색을 바꾸고 회전으로 구조를 고친다.• 해결/인사이트: 규칙 덕분에 트리의 높이가 log n 수준으로 유지되어 탐색, 삽입, 삭제가 최악의 경우에도 O(log n)이다. 삽입은 새 노드를 항상 빨강으로 넣고, 삼촌 노드의 색에 따라 두 갈래로 처리한다.들어가며: 정글 4주차 주제크래프톤 정글 4기 Part 2 "탐험 준비"를 진행하면서 4주차에 레드-블랙 트리를 다뤘다. 이 글은 그때 정리한 기본 개념이다.레드-블랙 트리..
[ 42경산 & 알고리즘/자료구조 & 코테 ][알고리즘] 최소 스패닝 트리(MST) 개념과 구현: 크루스칼(Kruskal) vs 프림(Prim) 비교2024-02-04 23:48:00TL;DR — 3줄 핵심 요약• 문제: 백준 1197번을 풀려고 했는데, 스패닝 트리가 무엇인지도 모르는 상태에서 개념 다섯 개(MST, 프림, 크루스칼, 우선순위 큐, 유니온-파인드)가 한 문제에 들어 있었다.• 기술/원인: MST는 모든 정점을 연결하면서 사이클이 없고 간선 가중치 합이 최소인 트리다. 프림은 정점에서 시작해 가장 싼 간선으로 넓히고, 크루스칼은 간선을 싼 순서로 보며 사이클이 생기면 건너뛴다.• 해결/인사이트: 사이클 판정은 유니온-파인드로 한다. 개념을 정리한 뒤에는 문제가 바로 풀렸고, 제출해 채점까지 통과해야 끝난다는 것도 확인했다.들어가며: 문제 하나에 개념 다섯 개2024년 1월 19일, 백준 1197번 최소 스패닝 트리 문제를 풀려고 했다. 정점 V개(최대 10,000)와..
[ 회고 & 컬럼/성장 에세이 ]크래프톤 정글 4기 합격 후기2024-01-12 23:58:56TL;DR — 3줄 핵심 요약• 문제: 20대 후반에 실력을 증명할 자료가 없다는 불안과 건강 문제가 겹쳐, 기초부터 다시 배우는 시간이 필요했다.• 기술/원인: 크래프톤 정글은 5개월 합숙 과정으로, 매일 15시간·주 100시간 학습을 권장하고 컴퓨터공학 기초와 프로젝트를 자기주도로 진행하며 매주 팀이 바뀐다.• 해결/인사이트: 2023년 12월 8일 합격해 2024년 1월 8일 경기대 수원캠퍼스에서 시작했다. 지원자에게 중요한 것은 입학 안내에 적힌 것을 모두 해 보는 것과, 전공자라면 코드 품질과 1분 설명을 준비하는 것이다.들어가며: 에세이 과제가 후기가 됐다2023년 12월 8일에 크래프톤 정글 4기 최종 합격 문자를 받았고, 2024년 1월 8일부터 경기대학교 수원캠퍼스에서 과정을 진행하고 있..
[ 회고 & 컬럼/성장 에세이 ]글또 8기 회고2023-07-16 23:55:41TL;DR — 3줄 핵심 요약• 문제: 6개월 동안 2주에 한 편씩 글을 써야 했는데, 학기 기말고사와 계절학기가 겹치면서 두 번은 제출하지 못했다.• 기술/원인: 글 쓰는 습관이 없어 매번 마감에 몰렸고, 마감에 쫓긴 글은 완성도가 낮았다. 반대로 사람을 만나 조언을 듣는 일은 글을 계속 쓰게 만드는 힘이 됐다.• 해결/인사이트: 6개월 뒤 남은 것은 글 10편과 새로 만난 사람들이다. 다음에는 마감 전에 초안을 끝내는 규칙이 필요하다.들어가며: 마지막 제출일글또 8기의 마지막 글이다. 이 기간에 많은 사람을 만났고, 배운 것과 느낀 것이 많아 정리해 둔다.시작은 어땠나회고를 쓰기 전에 8기 첫 글인 다짐글을 다시 읽었다. 그때 적은 기대가 실제로 어떻게 되었는지 확인하기 위해서다. 첫 모임 전에 슬랙..
[ 게임 개발/Unity 6 & C# ]Unity UI Toolkit을 활용한 Custom Package 만들기 (3)2023-05-21 22:31:15TL;DR — 3줄 핵심 요약• 문제: UI Toolkit으로 만든 에디터 창이 저장이 안 되고, 키 입력이 많아지면 쓰기 불편했고, 패키지로 묶으니 경로가 깨졌다.• 기술/원인: 원인은 세 가지였다. 데이터 객체가 struct라서 복사본만 바뀐 점, Foldout이 기본으로 펼쳐진 점, UXML 경로가 Assets 기준 절대 경로였는데 패키지는 Packages 아래에 놓이는 점이다.• 해결/인사이트: struct를 class로 바꾸고, 접힌 Foldout 하나로 묶고, 시작할 때 AssetDatabase에서 경로를 찾게 고쳤다. 코드 수정과 검증은 따로 해야 하며, 버튼 상태 경우의 수는 실제로 눌러 보며 확인했다.들어가며: 시리즈 마지막 글1편에서 계기와 목표를, 2편에서 진행 방식과 도구를 정리했다..
[ 게임 개발/Unity 6 & C# ]Unity UI Toolkit을 활용한 Custom Package 만들기 (2)2023-04-29 19:22:00TL;DR — 3줄 핵심 요약• 문제: 두 달 안에 낯선 기술로 Unity 에디터 도구를 만드는 사이드 프로젝트에서 일정과 결과를 함께 잡아야 했다.• 기술/원인: 처음부터 범위를 잘랐다(PC와 키보드·마우스만). 기록은 GitHub Issue와 Discussion에, 사소한 대화는 Discord에 남겼다. 코드 초안은 ChatGPT 3.5로 만들었다.• 해결/인사이트: 마감은 2월 말에서 3월 중순으로 밀렸지만 기능은 끝냈다. ChatGPT는 구조를 잡는 데 도움이 됐고, 없는 API를 있는 것처럼 쓰는 환각 때문에 코드를 통째로 쓰지는 못했다.들어가며: 2편에서 다루는 것1편에서는 프로젝트를 시작한 계기와 목표, 역할을 정리했다. 2편에서는 진행 방식과 새로 쓴 기술에서 좋았던 점과 아쉬웠던 점을 정..
728x90
728x90