- [ 프로그래밍/CS Essentials ]데이터베이스 인덱스 기본 개념 (DB Index Concept)2025-01-16 16:28:01들어가며며칠 전, 모 기업의 직무 테스트를 보러 갔다. CS 기초에 대한 필기 시험이었는데 그 중, 데이터베이스의 Index에 대한 내용을 모두 작성하지 못하여 부끄러운 마음에 다시 공부를 해야겠다는 생각이 들었다. Index는 DB의 높은 TPS(Transcations Per Second)와 빠른 응답 속도의 필요성으로 중요하게 여겨진다. 이 때문에 면접 및 실무에서 자주 다뤄지는 핵심 주제이고, 내가 지원했던 모바일 게임 서버에서 특히 Index 설계가 중요하다는 것을 먼저 밝힌다.Index란?데이터베이스에서 검색 성능을 높이기 위해 특정 컬럼(Column) 혹은 컬럼들의 값을 빠르게 찾아갈 수 있도록 추가적인 자료 구조를 마련해 두는 것을 의미한다. 쉽게 말해 책의 목차나 색인(index)과 비슷한..
- [ 프로그래밍 ]개발자 오늘도 마음 튼튼하게 성장하기 (하)2024-12-22 23:58:02이 글은 글또 커뮤니티와 길벗 출판사의 후원을 받아 서평을 작성했음을 알립니다. 들어가며이번 글은 개발자 오늘도 마음 튼튼하게 성장하기 (상) :: 김현우 글의 후속글로써 지난번에 서술하지 못한 6장부터 10장까지의 내용을 읽고, 그에 대한 내용 요약과 함께 내가 느낀 점 등을 서술하는 글이 될 예정이다. 개발자 오늘도 마음 튼튼하게 성장하기 (상)이 글은 글또 커뮤니티와 길벗 출판사의 후원을 받아 서평을 작성했음을 알립니다. 들어가며 2주에 한 번 블로그 글을 쓰는 커뮤니티, 글또에서 경품(?)에 당첨되어 책 한 권을 받게 되었다. 여kugora.ng 극한의 오너십프로그래머가 미국 해군 네이비 실에서 배울 수 있는 것6장에서는 책임감, 리더십, 문제 해결에 대한 내용을 주로 다룬다. 저자는 극한의 오..
- [ 프로그래밍 ]개발자 오늘도 마음 튼튼하게 성장하기 (상)2024-11-10 23:58:36이 글은 글또 커뮤니티와 길벗 출판사의 후원을 받아 서평을 작성했음을 알립니다. 들어가며 2주에 한 번 블로그 글을 쓰는 커뮤니티, 글또에서 경품(?)에 당첨되어 책 한 권을 받게 되었다. 여러 책이 있었는데 이 책을 선택한 건 유일하게 10명을 뽑는 책이어서 그저 당첨 확률을 높이고 싶었는데 기대 이상으로 좋은 책이어서 놀랐다. 책의 표지를 만드신 분이 워딩을 참 잘 뽑으셨다. 마음 단단히 먹어 온 세상이 너를 끌어내리려 해 아니, 어떻게 이 부제를 보고 이 책의 내용을 안 읽을 수 있을까? 그리고 하단에 적힌 "당신을 상대로 전쟁이 벌어지고 있다"라는 캐치프라이즈도 나의 마음에 쏙 들었다. 이 책은 총 10장의 목차를 가지고 있는데, 분량 문제로 이번 글은 『개발자 오늘도 마음 튼튼하게 성장하기』 ..
- [ 일상 ]글또 10기 다짐글 - 비전공 자동차2024-10-13 23:58:40들어가며얼마 전에 자동차를 샀다. 캐스퍼 일렉트릭이라는, 내가 좋아하는 차종인 캐스퍼가 드디어 전기차로 나온다는 소식을 듣고, 안그래도 경북 경산으로 이사를 간 나에게 엄청난 뽐뿌(?)가 와 자동차를 하나 마련하게 되었다.캐스퍼는 온라인에서만 구매 가능했고, 빠른 배송을 위해 빠른 출고차에 있던 풀옵션(인스퍼레이션 모델)을 선택했었다. 하지만, 그 땐 몰랐다. 차량은 구매부터 공부를 많이 해야 할 줄은. 특히 전기차는 다양한 혜택들 덕분에 어느 하나 놓치지 않으려면 해당 혜택들을 많이 공부해야 했고, 현재도 공부 중이다.글또 다짐글에 내 캐스퍼 이야기를 꺼낸 이유는 약 1주 정도 지난 현재, 대구와 수원, 그리고 서울을 오가며 벌써 700km 넘게 운전을 했는데 차 안에서 여러 생각을 하며 "내 차"로 ..
- [ 프로그래밍/CS Essentials ]CS:APP Malloc Lab2024-04-15 00:57:27들어가며크래프톤 정글 4기에서 구현해야 했던 Malloc Lab을 이해하기 위해 알아야 했던 사전 지식을 정리해본다.가상 메모리컴퓨터에서 프로그램이 사용하는 메모리 공간을 실제 물리적 메모리보다 크게 만들어주는 기술이다. 이를 통해 컴퓨터는 실제 메모리보다 많은 데이터를 처리한다.가상 메모리는 컴퓨터의 하드디스크 일부를 마치 메모리처럼 사용하게 해준다.실제 메모리는 제한적인데, 이 기술을 사용하면 마법처럼 메모리가 더 커진 것처럼 사용할 수 있다.페이징가상 메모리를 작은 조각들로 나누는 방식으모 이 작은 조각들을 '페이지'라고 부른다.컴퓨터는 이 페이지들을 필요할 때마다 실제 메모리로 가져오거나 실제 메모리에서 다시 하드디스크로 옮긴다.이렇게 하면, 실제 사용 데이터만 메모리에 있기 때문에 효율적인 메모..
- [ 프로그래밍 ]코딩테스트 학습 서비스, 코드트리 사용 후기2024-03-31 23:58:52들어가며올해 초, 글또 9기 공지 사항에 "코드트리"라는 업체에서 유료 이용권을 후원해주신다는 내용의 공지가 올라와 코딩테스트 대비를 할 겸, 어떤 서비스인지 궁금하여 신청을 하게 되었다. https://www.codetree.ai/ 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.www.codetree.ai 챌린지 신청을 통해 곧바로 코드트리의 유료 커리큘럼에 대해 자유로이 접근할 수 있었고, 오픈채팅방에서 다른 글또러 분들의 진행 상황을 통해 동기부여를 꾀할 수도 있었다. 이를 바탕으로 코드 트리에 대한 좋았던 점과 아쉬웠던 점을 다루고 총평에 대한 정리를 진행해보고자 한다. ..
- [ 프로그래밍/CS Essentials ]KAIST PintOS - Project 01: Threads2024-03-17 23:56:26들어가며 현재 크래프톤 정글에서 KAIST PintOS를 구현하기 위해 개념 공부 및 팀 프로젝트를 진행하고 있다. 이 글에서는 크래프톤 정글에서 제공하는 가이드라인에 적힌 공부 키워드를 바탕으로 내가 이해하기 쉽도록 정리한 내용을 하나의 포스팅에 모아 다시 정리하는 것을 목표로 한다. Process, Thread Process (프로세스) 프로세스는 실행 중인 프로그램을 말함 운영 체제가 관리하는 작업의 단위로, 코드, 데이터, 힙(동적 할당 공간), 스택(함수 호출 시 매개변수, 지역 변수 등을 저장하는 공간) 등을 포함한 자신만의 독립된 메모리 공간을 가짐 프로세스는 최소 하나 이상의 스레드를 가지고 있음 각 프로세스는 별도의 주소 공간에서 실행되어 다른 프로세스와 자원을 공유하지 않음 프로세스 간..
- [ 프로그래밍/CS Essentials ]Red-Black Tree (레드-블랙 트리)2024-02-18 23:57:24들어가며 현재 크래프톤 정글 4기 과정의 Part. 2 를 진행 중이다. 이 글에서는 4주차 주제인 레드-블랙 트리의 기본 개념을 다룬다. 레드-블랙 트리란? 균형 이진 탐색 트리의 한 종류로, 각 노드가 빨간색이나 검은색의 속성을 갖는 특징이 있다. 다양한 언어의 표준 라이브러리에서 맵, 세트 등의 자료 구조를 구현하는 데 사용한다. ex) C++의 STL(Standard Template Library)에서 map, set, multimap, multiset 등 사실 레드-블랙 트리 자체의 개념은 양이 많지 않으나 이를 이해하기 위한 사전 지식은 지난 최소 스패닝 트리와 마찬가지로 상당했다. 사전 지식 이진 트리 (Binary Trees) 이진 트리의 기본 구조와 특성(각 노드가 최대 두 개의 자식 노..
728x90