반응형
최근에 작성된 글
[서평] 프론트엔드 입문서 - 제로초의 자바스크립트 입문
[서평] 프론트엔드 입문서 - 제로초의 자바스크립트 입문
독서 기록
2024.05.13 00:00
이 서평은 길벗의 24차 개발자 리뷰어로 선정되어 출판사로부터 책을 제공받아 작성되었습니다.   https://product.kyobobook.co.kr/detail/S000212263350 코딩 자율학습 제로초의 자바스크립트 입문 | 조현영 - 교보문고코딩 자율학습 제로초의 자바스크립트 입문 | 프로그래밍 언어를 배웠지만 한 줄의 코드도 스스로 작성하지 못한다면? 이 책으로 다시 시작해 보세요!이 책은 순서도를 이용해 프로그래밍 사고product.kyobobook.co.kr  ‘제로초’라는 닉네임을 사용하시는 조현영님께서 작성하신 책이다. https://www.zerocho.com/profile 프로필Zero Cho의 프로필입니다.www.zerocho.com 기존에도 nodejs 관련 책을 작성하신걸로..
[서평] 트러블슈팅 개론서 - 자바 잘 읽는 법
[서평] 트러블슈팅 개론서 - 자바 잘 읽는 법
독서 기록
2024.05.12 00:00
이 서평은 제이펍의 활동의 일환으로 출판사로부터 책을 제공받아 작성되었습니다.  https://product.kyobobook.co.kr/detail/S000213029114 자바 잘 읽는 법 | 라우렌치우 스필커 - 교보문고자바 잘 읽는 법 | 자바 버그와 성능 문제를 찾는 프로파일링, 디버깅, 로깅 기법실무에서 개발자는 기존 코드를 읽고 이해하는 데 가장 많은 시간을 쓴다. 이 책은 익숙하지 않은 자바 코드를 파product.kyobobook.co.kr 번역서 제목은 '자바 잘 읽는 법’이지만, 원서 제목은 ‘Troubleshooting Java’이다. 책의 전체적인 내용은 자바 기반의 트러블슈팅에 초점을 맞추고 있다. 일반적으로 ‘자바를 잘 읽는법’이라고 생각해보면 그렇게 어렵지 않을 것 같다고 ..
[React] 하나의 index.ts에서 import 및 export 하기
[React] 하나의 index.ts에서 import 및 export 하기
React
2024.05.09 00:00
큰 React 프로젝트를 구성할 때 코드의 관리와 가독성을 높이기 위해 각 디렉토리별로 index.ts 파일을 활용하는 전략이 많이 사용된다. 이 방식을 활용하면 여러 모듈을 효과적으로 관리하면서, 프로젝트의 구조를 조금 더 확실하게 해주어 이번 프로젝트에 도입하게 되었다. 이렇게 했을 때 가지는 이점은 아래와 같다. 1. 깔끔한 임포트디렉토리 내에 위치한 index.ts 파일은 외부에서 해당 디렉토리를 지칭하는 이름만으로 모듈을 임포트할 수 있게 해줌으로써 비교적 간단해진다. 기존에 사용하던 방식에서는 상대 경로가 더 길어질 수 있는데 반해, index.ts 파일을 사용하면 import 구문이 조금 더 깔금해지고 관리하기 쉬워진다.// index.ts가 없는 경우import { Ch..
[서평] 리액트의 대항마 - 실전 스벨트 & 스벨트킷 입문
[서평] 리액트의 대항마 - 실전 스벨트 & 스벨트킷 입문
독서 기록
2024.05.08 16:00
이 서평은 제이펍의 활동의 일환으로 출판사로부터 책을 제공받아 작성되었습니다.    1장 스벨트 시작하기1장에서는 스벨트의 기본 개념과 적용 방법을 소개하면서 시작한다. 스벨트가 탄생한 배경과 주요 특징을 가볍게 다루는데 스벨트를 만든 개발자가 접근한 방식을 이해하는데 도움이 될 것이다. 스벨트의 주요 특징 중 하나는 전통적인 프론트엔드 프레임워크(또는 라이브러리)와 다르게 가상 DOM을 사용하지 않는다. 가상 DOM은 실제 DOM에 적용되기 전에 변경 사항을 먼저 처리하고 필요한 최소한의 변경만 실제 DOM으로 푸시하는 방식으로 작동한다. 리액트 같은 경우 컴포넌트의 코드를 유저의 브라우저에 로드되어 실행될 때 처음으로 평가한다. 반면 스벨트는 컴파일 시점에 코드 최적화를 수행한다. 사용자에게 로드되..
[Linux] locate 명령어 및 옵션 총 정리
[Linux] locate 명령어 및 옵션 총 정리
Linux
2024.05.08 00:00
본 문서는 macOS Sonoma 버전 14.2.1 환경에서 진행되고 있습니다. macOS에서는 사용자의 홈 디렉토리가 /Users/username 형태로 지정되어 있습니다. Linux 환경에서는 사용자의 홈 디렉토리가 /home/username으로 설정되어 있으니 각 운영 체제에 따라 해당 경로를 적절히 참조해 주시기 바랍니다. 설명파일의 위치를 찾는 명령어이다.locate [옵션] [패턴]  자주 사용하는 옵션-A, --all패턴 중 하나만 일치하는 것이 아니라 전체가 일치하는 항목만 출력한다. -c, --count파일 이름을 쓰는 대신 일치하는 항목 수만 출력한다.  Referenceslocate man page locate man page linuxcommand.orgproduct.kyoboboo..
회고록
공군 전자계산 특기에서 소프트웨어개발병까지 - 1년 9개월 군생활 회고
공군 전자계산 특기에서 소프트웨어개발병까지 - 1년 9개월 군생활 회고
회고
2023.03.09 13:57
🎉 전역 소감 저는 좋은 분들 덕분에 군 생활을 하면서 많은 경험을 쌓을 수 있었습니다. 군 생활을 개발과 같이 하겠다는 다짐을 한 이후로 치열한 노력 끝에 소프트웨어개발병으로서의 역할을 모두 수행하고 전역했습니다. 1년 9개월 동안 정말 다양한 사람들을 만나며 복잡한 상황에서 일을 해결해 나가는 경험을 쌓을 수 있었습니다. 특히 소프트웨어개발병으로 근무하면서 같은 부서에 계신 간부님과 병사들과 팀을 이루어 개발을 했던 것이 가장 기억에 남았습니다. 그 전까지는 교내 컴퓨터 전공을 배우면서 무엇을 좋아하는지 몰랐습니다. 대학교 2학년을 다니면서 능동적으로 프로젝트에 더 참여했으면 어땠을까 하는 아쉬움이 남습니다. 그래도 훌륭하신 분들은 이 기간에 하고 싶은 것을 찾아 묵묵히 본인의 길을 가실 겁니다. 하..
현실적인 토익 880점 후기 - 2. 토익 준비하면서 궁금할만한 것들 (6개월, 군대)
현실적인 토익 880점 후기 - 2. 토익 준비하면서 궁금할만한 것들 (6개월, 군대)
회고
2022.09.10 00:00
개요 개인적으로 토익 준비하면서 궁금했던 것들을 검색해가며 알게 된 정보들을 공유하는 포스팅입니다. 물론 여기 있는 말들이 진리는 아닙니다. 참고만 하시고 각자 본인의 상황에 맞게 변경하시기 바랍니다. ETS? YBM? ETS 토익을 비롯한 여러 영어 시험을 출제하는 미국 기관입니다. YBM 토익을 우리나라에서 볼 수 있게 하는 주관사입니다. 한국 회사이며, ETS와는 계약 관계일 뿐 같은 회사가 아닙니다. 실제 시험은 어떤 방식으로 나오나요? LC 100문제와 RC 100문제를 각각 45분, 75분 내에 풀어… 내는 것은 문제집을 풀면서 볼 수 있는 일반적인 얘기들이니까 그런 내용들 말고, 요즘 시험에서 문제 난이도가 어떻게 형성되어있는지 아는 것이 더 도움이 될 것 같아 이야기 해보고자 합니다. 최근..
현실적인 토익 880점 후기 - 1. 토익에 관한 전반적인 소개 (6개월, 군대)
현실적인 토익 880점 후기 - 1. 토익에 관한 전반적인 소개 (6개월, 군대)
회고
2022.09.03 00:00
개요 본 포스팅은 군대 안에서 토익을 어떻게 준비했는가에 대한 이야기를 적어볼까 합니다. 6개월 동안 무엇을 했는가? 지난 6개월을 돌이켜 보면, 공부할 수 있는 절대적인 시간이 많이 부족해서 문제 풀이 능력을 많이 향상시키지 못해 아쉽다고 생각합니다. 가령, RC 한 회차를 풀기 위해 75분이 필요하지만 아침, 점심 시간에 아무리 짬을 낸다고 해도 확보할 수 없습니다. 물론 아침에 풀고 끊고 점심에 풀고 끊고 저녁에 풀 순 있겠지만 한 회차를 푸는 데 걸리는 시간을 정확하게 측정하기에는 많이 어렵습니다. 그렇다고 군대에서는 토익에 대한 대비를 아예 할 수 없는가? 그렇진 않습니다. 결국엔 어학시험은 제한된 시간 속 문제를 정확하게 푸는 것이고, 정확하게 풀기 위해선 많이 해석해보고 모르는 어휘를 계속 ..
경북대 하계 커넥트투어 (동문선배탐방) 후기 - 3. LINE
경북대 하계 커넥트투어 (동문선배탐방) 후기 - 3. LINE
회고
2023.08.29 21:31
세 번째로 방문한 기업은 라인(LINE)입니다. 이곳에서는 iOS 업무를 맡으시는 선배님 두 분을 만날 수 있어서 저로서는 더할 나위 없이 좋은 시간이었습니다. 동문 선배님들과의 소중한 시간 뿐만 아니라 회사의 체계와 분위기도 매우 좋아 보였습니다. 사내에 무인 편의점, 카페, 은행 등 다양한 복지 시설이 마련되어 있어서 환경이 매우 풍족해 보였습니다. 또한, 개발 작업을 위한 개인 공간이 제공되어 개발 업무에 집중할 수 있는 환경이 마련되어 있다는 점이 인상 깊었습니다. 무엇보다도 20층에 위치한 open office에서는 도시 전경을 감상할 수 있어 매우 멋진 경험이었습니다. 네이버 지도 라인플러스 map.naver.com 라인에서의 커넥트투어 일정은 다음과 같습니다. 환영사를 통해 경북대학교 학생들..
경북대 하계 커넥트투어 (동문선배탐방) 후기 - 2. goorm
경북대 하계 커넥트투어 (동문선배탐방) 후기 - 2. goorm
회고
2023.08.29 14:31
두 번째로 방문한 기업은 구름입니다. 구름은 동문 선배님들이 계시지 않았지만, 행사 주최자의 친절한 소개로 기회를 얻게 되었습니다. 아쉽게도, 최근 회사가 현재 너무 바쁜 시기여서 제한된 시간만큼만 머물 수 있었습니다. 카카오 계열사와의 옵션 계약으로 인해 많은 업무가 밀려 있다고 하셨습니다. 사실 goorm은 귀여운 굿즈를 만드는 것으로 유명한데, 아쉽게도 최근에 많은 이벤트가 진행되어서 별도로 준비해주지 못했다고 합니다. 그럼에도 불구하고, 구름을 중심으로 회사를 여러 차례 둘러보면서 매력적인 면모를 많이 느낄 수 있었습니다. goorm: 모두가 개발자가 되는 세상을 꿈꾸다 "anyone can develop." goorm은 어디에서나 누구나 AI 및 소프트웨어 개발을 배울 수 있도록 하는 '모두가 ..
경북대 하계 커넥트투어 (동문선배탐방) 후기 - 1. GMDSOFT
경북대 하계 커넥트투어 (동문선배탐방) 후기 - 1. GMDSOFT
회고
2023.08.28 20:17
첫 번째로 방문한 기업은 GMDSOFT입니다. GMDSOFT는 경북대학교를 졸업한 선배님들이 10~20%의 비율로 재직 중이시고 회사 내에서는 2위를 차지하고 있다고 합니다. 경북대학교 선배님 3분께서 나눠주신 정보를 통해 해당 기업에서 직접 얻은 질문과 답변들을 정리해보았습니다. 아쉽게도 저는 프론트엔드 분야에 관심이 있어 해당 회사에서의 취업은 어려울 수 있겠지만, 컴퓨터공학과 학생으로서 어떤 자세와 태도를 가져야 하는지에 대한 근본적인 통찰을 얻을 수 있었던 소중한 시간이었습니다. 기업 소개 GMDSOFT 회사 소개 We Empower Your Investigation! GMDSOFT는 MD-Series라는 모바일 및 디지털 포렌식 제품을 개발하여 세계 최고 수준의 통합 솔루션으로 최첨단 과학 수사..
경북대 하계 커넥트투어 (동문선배탐방) 후기 - 0. Intro
경북대 하계 커넥트투어 (동문선배탐방) 후기 - 0. Intro
회고
2023.08.28 19:44
8월 초, 학과 홈페이지에 IT 기업을 탐방하는 공지가 올라왔습니다. 그 시기에 학부에서 영어 프로그램을 방금 끝낸 상황이었기 때문에 휴식이 필요한 마음이 컸습니다. 그러나 나중에 판교에서 일하고 싶은 열망으로 가득 차 있어서(!) 바로 신청하게 되었습니다. 이 소식을 접한 것은 학부 내 디스코드 채널 덕분이었습니다. 얼마 지나지 않아 이 채널을 통해 신청 마감되었다는 알림이 도착했습니다. 제 기억에 의하면 33명까지가 신청하고 마감되었던 것 같습니다. 경쟁률은 2대 1 정도로 추측됩니다. 그리고 일주일 정도 지난 후에는 참가자로 선발되었다는 내용의 문자가 도착했습니다. 커넥트투어 참가자 선발 문자를 받은 뒤에는 기대감과 떨리는 마음이 함께 들었습니다. 판교는 IT 산업의 중심지로서, 개발자라면 누구나 ..
편입 후 첫 학기를 다니며 - 2023년 상반기 회고
편입 후 첫 학기를 다니며 - 2023년 상반기 회고
회고
2023.07.01 00:00
한 학기가 정말 빠르게 지나갔습니다. 새 학교에 적응하고 며칠 지나지 않은 것 같은데 벌써 마무리를 하는 시간이 되었습니다. 이번 상반기는 편입과 멋사 11기 합격으로, 기존에 계획한 대로 한 학기를 보내게 되어 의미있었습니다. 새로운 환경에 적응하는 것은 쉽지 않았지만, 전적대에 비해 좋은 경험을 쌓을 수 있도록 준거집단이 변화하게 되어 그 동안에 편입을 준비한 노력들이 헛되지 않음을 느끼게 되어 뿌듯했습니다. 한편 아쉬웠던 점도 여럿 존재합니다. 오랜만의 대면 수업이라 너무 기쁜 나머지 난이도 생각을 안 하고 6전공을 한꺼번에 신청했습니다. 전적대에서도 6전공과 1교양(20학점)을 들을 때 힘들긴 했지만 난이도가 상대적으로 어렵지 않아 괜찮았습니다. 하지만 이 곳에서는 과제의 양이 너무 많아 정신이 ..
자료구조
[자료구조] 체이닝 (chaining)
자료구조 (data structure)2022.11.28 00:00[자료구조] 체이닝 (chaining)

체이닝 (chaining) 앞서 충돌이 일어났을 경우 해시 함수를 변형해 다른 버킷에 삽입 하는 방식이었습니다. 그러나 비어있는 곳을 찾기 위해 시간이 더 소요되는 단점이 있었습니다. 체이닝은 해시 테이블의 구조를 변경해 각 버킷이 하나 이상의 값을 저장할 수 있도록 하는 것입니다. 즉, 오버플로우 문제를 해결하는 방식을 기존의 각 버킷에 고정된 슬롯을 할당하는 대신 삽입과 삭제가 용이한 연결 리스트로 변경해 해결하는 것입니다. 체이닝 구현 해시 함수 설정 충돌이 일어났을 시 새로운 연결 리스트의 노드를 생성해주면 되기 때문에 체이닝에서 해시 함수는 어느 것을 사용해도 상관 없습니다. int hash_function(int key) { return key % TABLE_SIZE; } 연결 리스트 체이닝 ..

[자료구조] 개방 주소법 (open addressing) - 선형 조사법, 이차 조사법, 이중 해시법
자료구조 (data structure)2022.11.27 00:00[자료구조] 개방 주소법 (open addressing) - 선형 조사법, 이차 조사법, 이중 해시법

개방 주소법 (open addressing) 개방 주소법은 특정 버킷에서 충돌이 발생하면, 비어있는 버킷을 찾아 항목을 저장하게 됩니다. 해시 테이블에서 비어있는 공간을 찾는 것을 조사(probing)라고 합니다. 선형 조사법 (linear probing) 선형 조사법은 충돌이 발생한 곳에서 다음 버킷이 비어있는 곳이 나올 때까지 계속해서 조사하는 방법입니다. 만약 테이블의 끝에 도달하게 되면 다시 테이블의 처음으로 갑니다. 선형 조사법 구현 삽입 연산에서 해당하는 해시 값에 비어있는지 검사합니다. 비어 있으면 해당 버킷에 삽입합니다. 비어 있지 않으면 그 주소에 저장된 키와 동일한지 체크합니다. 동일하지 않다면, 주소를 나타내는 변수를 1 증가해 다음 버킷을 가리키도록 합니다. void hash_lp_..

[자료구조] 해시 함수 (hash function)
자료구조 (data structure)2022.11.26 00:00[자료구조] 해시 함수 (hash function)

해시 함수 해싱에서는 키 값을 해시 테이블의 주소로 변환하는 해시 함수가 잘 설계되어있어야 탐색의 효율을 높일 수 있습니다. 좋은 효율을 가지고 있는 해시 함수는 다음과 같은 특징을 가집니다. 충돌이 적어야 함 해시 함수 값이 해시 테이블 주소 영역 내 고르게 분포되어야 함 계산이 빨라야 함 제산 함수 제산 함수는 나머지 연산자를 사용해 키를 해시 테이블의 크기로 나눈 나머지를 해시 주소로 사용하는 방법입니다. $$ h(k) = k \space mod \space M $$ 여기서 $M$은 해시 테이블의 크기입니다. 해시 테이블의 크기를 어떻게 해야 해시 주소가 좋은 효율을 가지게 될까요? 답은 소수(prime number)입니다. $M$이 짝수라면 메모리 주소는 대부분 짝수이므로 해시 함수값 또한 짝수가..

[자료구조] 해싱 (hashing)
자료구조 (data structure)2022.11.25 00:00[자료구조] 해싱 (hashing)

해싱이란? 해싱(Hashing)은 키(key)에 산술적인 연산(해시 함수)을 적용해 항목이 저장되어 있는 테이블의 주소를 계산해 항목에 접근합니다. 해시 함수(hash function): 키를 입력으로 받아 해시 주소(hash address)를 생성 해시 테이블(Hash Table): 키에 대한 연산에 의해 직접 접근이 가능한 구조 해싱(Hashing): 해시 테이블을 이용한 탐색 해싱의 구조 탐색 키들의 문자열이나 매우 큰 숫자가 나오는 경우에 탐색 키를 직접 배열의 인덱스로 사용할 수는 없으니 작은 정수로 매핑(함수의 사상)시키는 어떤 함수가 필요합니다. 키값 $k$를 입력받아 해시 함수로 연산한 결과인 해시 주소 $h(k)$를 인덱스로 사용해 해시 테이블에 있는 항목에 접근합니다. 해시 테이블 버킷..

[자료구조] AVL 트리
자료구조 (data structure)2022.11.22 00:00[자료구조] AVL 트리

AVL 트리란? AVL 트리는 트리가 비균형 상태로 되면 스스로 노드들을 재배치해 균형 상태로 만듭니다. 이 탐색 기법에서는 균형 인수라는 것을 정의합니다. 균형 인수 (Balance Factor) = 왼쪽 서브 트리의 높이 - 오른쪽 서브 트리의 높이 모든 노드의 균형 인수가 $\pm 1$ 이하이면 AVL 트리입니다. 여담으로, Adelson-Velskii와 Landis의 제안자 이름을 따 AVL이라고 지어졌습니다. AVL 트리 구현 AVL 트리의 핵심은 균형 인수를 1 이하로 맞추는 것입니다. AVL 트리인 상태에서 균형 인수가 깨지게 될 경우는 삽입 연산, 삭제 연산 총 두 가지입니다. 연산을 수행하고 생기는 결과의 경우에 따라 균형 인수를 1 이하로 맞출 수 있도록 대응해주면 됩니다. 그렇다면 어..

728x90
반응형
image