반응형
최근에 작성된 글
[서평] 올인원 개발 키트 - 헬로 Bun
[서평] 올인원 개발 키트 - 헬로 Bun
독서 기록
2024.10.27 19:58
이 서평은 제이펍의 활동의 일환으로 출판사로부터 책을 제공받아 작성되었습니다. 그 동안 자바스크립트가 눈 부시게 발전했음에도 불구하고, 예전보다 자바스크립트 개발이 힘들어졌다고 토로하는 개발자들이 많다. 자바스크립트 생태계는 폭발적으로 성장해 같은 목표를 가진 라이브러리가 난립하게 되어 개발자들의 선택을 더욱 어렵게 만들었다. 자바스크립트 프로젝트는 갈수록 규모가 커지고 애플리케이션이 복잡해져서 빌드와 테스트, 배포를 하려면 다양한 개발 도구의 숙달을 요구하게 되었다. 타입스크립트의 자바스크립트 컴파일 과정, 트랜스파일 단계, 최적화 및 번들링을 거쳐 클라이언트에 배포되기까지의 전체 과정을 정확히 파악하기가 어려워졌다. 이러한 상황에서 Bun은 자바스크립트 개발자들의 고충을 해소할 수 있는 차세대 자바..
[서평] 클라우드 입문서 - 비전공자를 위한 AWS
[서평] 클라우드 입문서 - 비전공자를 위한 AWS
독서 기록
2024.10.27 15:55
이 서평은 제이펍의 활동의 일환으로 출판사로부터 책을 제공받아 작성되었습니다.  이 책의 저자는 공학 전공자가 아닌 특수교육학 전공자였다. 2014년 학사와 석사 학위를 취득했으나, 교직에 대한 열망이 사라져 진로를 전환하게 되었다. 이후 6개월간 뉴욕에서 구직 활동을 진행한 끝에 IT 지원팀 엔지니어로 경력을 시작했다. AWS 학습을 시작하면서 저자는 초보자를 위한 적절한 학습 자료의 부재를 체감했다. AWS 자격증이 기존 IT 경험이 없는 이들을 대상으로 함에도 불구하고, 시험 준비 과정이 신규 진입자들의 눈높이와 맞지 않았기 때문이다. 이러한 간극을 해소하고자 IT 배경 지식이 없는 이들을 위해 가이드 사이트인 awsnewbies.com을 만들게 되었다. Introduction to AWS for..
[서평] 효과적인 활용을 위해 - 이펙티브 러스트
[서평] 효과적인 활용을 위해 - 이펙티브 러스트
독서 기록
2024.10.25 16:48
이 서평은 한빛미디어 활동을 위해서 책을 제공받아 작성된 서평입니다.  러스트는 현재 나와있는 프로그래밍 언어들 사이에서 특별한 위치를 차지하고 있다. 컴파일 방식 언어가 지닌 속도와 가비지 컬렉션이 없는 언어의 효율성을 갖추었으며, 함수형 언어의 타입 안정성과 독자적인 메모리 안정성을 위한 솔루션까지 제공한다. 러스트 타입 시스템이 제공하는 강력한 일관성은 주목할 만하다. 프로그램이 컴파일을 무사히 통과했다면 정상 작동할 확률이 매우 높은데, 이는 하스켈과 같은 고급 학술용 언어에서나 볼 수 있었던 특징이었다. 하지만 이런 안정성에는 대가가 따른다. 러스트는 문서화가 상당히 잘 되어 있지만 진입 장벽이 높다고 악명이 자자하다. 처음 접하는 사람이라면 러스트의 대여 검사기$_{borrow \space ..
[부스트캠프 9기 멤버십] 8주차 회고록
[부스트캠프 9기 멤버십] 8주차 회고록
네이버 부스트캠프
2024.10.23 12:53
8주차 계획8주차는 미션의 완성도를 높이는 작업에 집중했다. 특히 프로젝트의 완성도를 높이고 싶어 더미 데이터 대신 크롤링으로 최신 데이터를 사용해 구현했다.클라이언트에게 실제로 발행되고 있는 최신 정보를 제공할 수 있게 되었다는 점이 큰 성과였다. 그래서 미션은 80% 정도 완성되었지만, 학습 정리를 보완하고 일부 기능 구현이 아직 남아있어 마무리까지는 시간이 더 필요할 것 같다. 오프라인소통 개선저번 주에는 오프라인의 이점을 살리지 못 해 최대한 살리고자 개선을 해보자고 했다. 결과적으로 다양한 이야기들을 나눠볼 수 있어서 너무 좋았다.특히 각자의 부족한 부분, 모르는 것들을 질문하는 분위기를 잘 조성해보자는 의견들이 나왔고 다행히 이번 주에 개선되었다.어떻게 개선했냐면 이번 주 오프라인 오후 5시에..
[부스트캠프 9기 멤버십] 7주차 회고록
[부스트캠프 9기 멤버십] 7주차 회고록
네이버 부스트캠프
2024.10.13 20:51
7주차 계획이번 주차에는 5-6주차에 배운 교훈을 토대로 무리하지 않는, 조금은 현실적인 계획을 세웠다. 이전 미션들에 비해 난이도가 약간 낮아졌고, 자신 있는 내용들이 많아서 계획대로 잘 수행할 수 있었다. 공휴일도 하루 있었고, 오프라인 모임 전날이었기 때문에 열심히 구현해 목요일 데일리 스크럼 때 이야기할 거리들을 많이 만들어 갈 수 있었다.  공휴일은 쉬는 날이번 주 공휴일에 구현을 많이 해가긴 했지만, 그래도 적당히 하고 쉬었다. 빨간 날은 빨간 날 답게 사용해야 의미가 있지 않을까. 충분히 쉬어야 평일에 더 열심히 할 수 있고, 아이디어도 잘 떠올릴 수 있다. 아무튼 휴식을 통해 재충전을 했고, 그 다음 날에 서울로 잘 올라가 오프라인 세션을 잘 마무리했다.  오프라인새로운 사람들이번 미션도 ..
회고록
2024년 9월 정기회고
2024년 9월 정기회고
회고
2024.09.29 02:03
타임라인카페 탐방8월 말부터 시작한 루틴이다. 매주 일요일에 동성로나 반월당, 삼덕동의 편안하고 조용한 카페들을 찾아 휴식의 시간을 보내기로 했다.원래는 개발에서 완전히 벗어나 쉬고 싶어서 시작했지만, 회고록도 써야 하고 네부캠 미션도 진행해야 해서 완전히 놓진 못했다. 금요일에 PR 리뷰가 끝나면 멘토님께 답변도 드리고 하는 데 시간을 쓰기도 했다. 부스트캠프를 시작하고 챌린지 기간 동안 멤버십에 붙어야겠다는 목표에만 집중했었다. 그렇게 살다 보니 나를 위한 시간이 없었고 멘탈 관리가 잘 되지 않았다. 그래서 시간이 조금 더 들더라도 나 자신을 밖으로 꺼냈다. 그냥 바깥 바람 쐬면서 힐링하는 정도라고 보면 될 것 같다. 사실 처음부터 이런 생각이 든 건 아니었다. 여느 주말처럼 카페를 다니다가 오랫동안..
2024년 8월 정기회고
2024년 8월 정기회고
회고
2024.09.09 09:46
타임라인멋사 중앙 해커톤올해도 멋대 해커톤이 양재에서 개최되었다. 근데 작년보다는 확실히 밋밋해진 것 같다.. 작년에는 뭔가 포스터만 봐도 자부심이 생기고 그랬는데, 올해는 조금 아쉬웠다. 이번 해커톤에서는 먹은 것 밖에 기억이 없다.. 떡볶이 시킬까 말까 고민돼서 물어봤는데 다들 괜찮다고 해서 시켰고 맛있게 먹었다. 잘 시켰다고 칭찬도 받았다. bb 참여 기업으로 Tiger Beer가 참여했다. 해커톤 개발 가능 시간이 끝나고 부스에서 타이거 라들러를 받아올 수 있었는데, 맛있었다. 원래 좋아했지만 편의점에 맥주를 사러 가면 항상 다른 메이커에 밀려나 구매를 해서 먹지는 않았었다. 근데 이렇게 3가지 맛을 모두 먹어보니 맛있었다. 처음에는 대기 줄도 있고 그랬는데, 나중 가서는 잠잠해져서 계속 가지러 ..
2024년 7월 정기회고
2024년 7월 정기회고
회고
2024.08.01 02:06
부스트캠프 1주차 / 2주차 / 3주차 회고록으로 대체한다... 1주차 (7/15 ~ 7/19)https://laurent.tistory.com/entry/%EB%B6%80%EC%8A%A4%ED%8A%B8%EC%BA%A0%ED%94%84-9%EA%B8%B0-%EC%B1%8C%EB%A6%B0%EC%A7%80-1%EC%A3%BC%EC%B0%A8-%ED%9A%8C%EA%B3%A0 [부스트캠프 9기 챌린지] 1주차 회고기초부터 튼튼히부스트캠프 챌린지 과정 1주차가 지나갔다. 부스트캠프 챌린지 과정의 1주차가 종료되었다. 전반적으로 교육 자체가 다른 곳에서 쉽게 볼 수 없는 구조로 이루어졌다. 일반적laurent.tistory.com   2주차 (7/22 ~ 7/26)https://laurent.tistory.c..
2024년 6월 정기회고
2024년 6월 정기회고
회고
2024.06.30 22:00
타임라인데이터야놀자 컨퍼런스 참여서울 광화문 마이크로소프트 한국지사 내에서 개최된 데이터 관련 컨퍼런스다. 제이펍 출판사에서 서평을 정기적으로 작성하는 분들을 대상으로 추첨을 통해 컨퍼런스 참가 티켓을 배부하셨는데, 운 좋게 당첨되었다.  후술할 GLOW 해커톤으로 인해 끝까지는 못 듣고 대구로 내려왔다. 해커톤 아니었으면 모든 세션 참여하고 여유롭게 집에 갈 수 있었겠지만 아쉽게도 일정이 겹치는 바람에 중간에 내려오게 되었다. 한편 광화문에서 서울역 가는데 엄청 길이 막혔다. 그 시간에 많은 단체에서 몰려와서 광화문 시위를 하고 있었다. 서울에 살지 않아서 광화문 시위가 몸에 와닿지 않았는데 원래 오려던 버스가 갑자기 우회로 바뀌고 길도 막혀 기차를 놓치는 바람에 확 와닿게 되었다.. 무엇보다 시간적 ..
2024년 5월 정기회고
2024년 5월 정기회고
회고
2024.05.30 00:00
타임라인GDSC 2차 프로젝트4월에 이어서 GDSC 2차 프로젝트를 진행했다. 이번 달에는 많은 부분을 건드리진 못하고, 주로 채팅 구현에 집중했다. 우리 프로젝트는 채팅을 통한 협업 기능이 있는 웹 서비스를 구현하는 것이었기 때문에 이 부분을 제대로 구현하는 데 중점을 두었다. 처음에는 채팅만 구현하면 된다고 생각했었지만 파일 전송과 채팅방 구독 및 해제 등 고려해야 할 점이 많았다. 보통 채팅 기능을 사용할 때 단순히 메시지만 주고받는 상황을 생각하지 않기 때문에 UX를 향상시키기 위해 이러한 추가 기능이 꼭 필요했다. 이번 달 중간쯤에 API 연결 작업을 했어야 했는데 서버 쪽에서 배포한 기능이 제대로 동작하지 않아 약간의 지연이 발생했다. 배포된 API를 토대로 연결을 해보려고 계획했던 터라 이 ..
2024년 3월 정기회고
2024년 3월 정기회고
회고
2024.04.13 00:00
3월 회고에 앞서‘월별 정기회고’를 만들게 된 계기올해 초부터 매달 꾸준히 노력했음에도 불구하고 구체적으로 어떤 활동을 했는지 선명하게 기억이 나지 않았다. 새해를 맞이해 스타벅스 2024 다이어리를 구매해 지금까지 꾸준하게 작성해왔다. 그럼에도 다이어리는 일주일 단위로 끊겨 있어서 단기 목표 설정에는 좋았지만 후에 한 달 단위의 일정과 활동들을 살펴보면서 전반적인 추세를 파악하기에는 약간의 어려움이 있음을 느꼈다. 그런 부분 외에도 다이어리에 가끔 작성하지 않은 날들 때문에 1~2주 날린 적도 있어서 활동 내용들이 완벽하게 기록되지 않기도 했다. 그래서 전반적으로 정리하는 문서를 만들어서 나중에 활동들을 회고하고 다시 생각해볼 수 있는 재평가 지표가 되면 좋겠다 생각해서 적게 되었다.  타임라인일반휴학..
2024 AWS 스마트시티 해커톤 후기
2024 AWS 스마트시티 해커톤 후기
회고
2024.04.11 00:00
해커톤 전 (3/8 금) 서류 심사를 통과한 후 서울에 위치한 AWS 본사를 방문해 AWS에 대한 수업을 들을 수 있는 기회를 얻었다. 해커톤이 시작되기 일주일 전이었기 때문에 AWS 사용법을 익히는 데 유익한 경험이었다. 우리 프로젝트는 웹 개발을 염두에 두고 있었기 때문에 EC2, S3와 같은 서비스를 활용하는 방법을 알아가는 데 중점을 뒀다. AWS에서 제공하는 공식 문서를 바탕으로 한 실습으로 직접 체험할 수 있었다. 시간 제약으로 인해 AWS의 다양한 서비스들을 충분히 사용해보지 못해 아쉬웠다. 어느 정도는 감을 잡을 수 있었지만 더 많은 시간을 사용해서 AWS의 다양한 기능들을 체험해볼 수 있었으면 더 좋았을 것 같다. 개발과 관련된 부분들은 아니지만 서울 AWS 본사가 위치한 역삼동 중심부의..
편입을 준비하게 된 이유
편입을 준비하게 된 이유
회고
2024.01.31 00:00
이 게시글은 21년도에 작성되었던 글을 바탕으로 재구성되었습니다. 2023학년도에 편입학 성공 후 학교에 재학중입니다. 21년 초에 입대한 후 첫 1주일 동안 1인 격리를 했었다.원룸 같은 공간에 침대, 책상, 책만 덩그러니 아무것도 없는 곳이다. 이 곳에서 9일을 지내야 했다.할 수 있는 일이 없었다. 핸드폰도 없이 흰 벽만 바라보며 시간을 보내야 했다.불안감이 찾아왔고, 머리는 자연스럽게 학교와 관련된 생각들로 가득 찼다.생각이 복잡해질수록 마음도 혼란스러워졌다. 그 때 가방 속에서 집에서 가져온 수첩을 찾았다.이 수첩에 편입을 준비하게 된 동기들을 하나씩 정리하기 시작했다.글로 옮겨 적으며 머릿속이 서서히 정리되는 것 같았다. 마치 생각의 짐을 하나씩 덜어내는 듯한 기분이었다..
성장을 위해 - 2023년 회고
성장을 위해 - 2023년 회고
회고
2023.12.31 00:00
올해 하반기부터 새로운 도전과 성장의 기회를 맞이했다. 프론트엔드 개발에 대한 지식을 넓히고자 하는 목표를 세우고, 이를 실현하기 위해 전국 단위의 해커톤에 적극적으로 참여했다. 비록 수상은 하지 못했지만, 리액트를 활용한 프로젝트 개발에 참여하며 의미 있는 경험을 쌓을 수 있었다. 이러한 도전은 나의 성장에 중요한 역할을 했다. 도전하지 않았다면 경험할 수 없었을 다양한 상황들에 직면하며, 실패와 성공을 통해 자신의 부족한 점을 더욱 분명하게 인식하게 되었다. 프로젝트를 시작할 때마다 새로운 기술을 배우고, 팀원들과 협업하며 문제 해결 능력을 키웠다. 이러한 경험들은 나의 개발 역량을 한층 높이는 데 크게 기여했다. 물론 실패의 순간들은 때때로 힘들었다. 하지만 그런 순간들도 나를 더 강하게 만들었고,..
자료구조
[자료구조] 체이닝 (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