본문 바로가기

분류 전체보기

인생을 바꾸는 최고의 ETF / 잼투리 원래 많이 보던 유튜버인데 사실 책을 낸지도 모르고있다가 영풍문고 베스트 목록 계속 훑다가 발견해서 급하게 매수했다. 사고나서 최근에 영상 올린걸 보니 영상 다 본 사람은 굳이 살필요 없대서 잠깐 고민하다가 그래도 한번 보려고 주문취소를 하진 않았다. 보고나니 그 말대로 기존 영상을 전부 봤다면 특별할것이 없는 내용이긴 했다.(정확히는 https://youtu.be/X-9Y3yuKVCA?si=wwG0lo7G6316PQNE 영상의 내용을 책으로 풀어쓴 느낌이었다. 제목이 같기도 하고) 물론 이렇게 다시 본건 오랜만이기도 하고, 유튜브보다 지면으로 설명하는게 좀 더 쉬운 부분들도 있으니까 그런 부분에선 좋았다. 책 읽고 영상 보다가 삘받아서 포트폴리오 한번 더 엎었다. 올해 두번째인가 그런거같은데... S.. 더보기
정철의 A. D. 영어학습법 / 정철 서론https://youtu.be/ZLBWkK9MhX8?si=tyJ6lIRJ8oz5DRAl 집에 누워서 유튜브를 보다가 이 영상을 보게 되었는데, '정철...? 어디서 들어본 사람인데...'라는 생각에 책을 찾아서 보게 되었다. 밀리의 서재 내 분류가 종교여서 맞게 찾은 건가 했는데 영어 학습법이 맞긴 하다. 종교로 분류되어 있는 것도 납득이 가는데... 이건 후술 소개위 유튜브 영상에서도 책과 비슷한 내용이 언급되는데, 영어를 단어단위로 읽는 게 아니라 여러 단어의 덩어리인 청크(http의 청크드 메시지와 같은 의미긴 하다)를 한 단위로 읽는 것이 더 유리하다는 점에 대해 얘기하고, 그를 위한 청크의 종류와 내용에 대해 설명하는 책이다. 좋았던 점은 이 청크에 대한 분류가 명확하고 이해하기 쉽다.. 더보기
나는 독서해서 돈벌었다 / 서까남 서론https://youtu.be/1ALAQdB0rtI?si=Rl-1k14ivyh-eOou 집에 누워서 유튜브 보다가 저자의 책 광고를 보고 바로 구매하게 되었다. 영상의 내용처럼 저자가 책을 통해 인생이 변한 경험을 책으로 녹여낸 자기 계발서인데, 기존의 생각과 다른 지점이 많아서 좋았던 책이다. 소개 가장 좋았던 부분은 책을 왜 읽어야 하는지에 대한 이유를 문해력과 배경지식으로 분류하고, 문해력을 위해 어려운 책을 읽으면 좋다는 얘기를 해서 어려운 책이 읽기 괴로운 책이 아니라 그 괴로움 자체가 도움이 된다고 소개하고 있다는 점이었다. 일반적으로 책 두께가 두꺼우면 일단 손이 안 가는데, 오히려 그러한 괴로움이 문해력을 위해 필요한 과정이라고 생각하면 좀 더 마음 편하게 읽을 수 있을 것 같다. .. 더보기
[42서울] ft_containers[4] - 맵 구현 서론 key-value의 형태의 pair를 정렬된 순서로 저장하는 컨테이너. 각 key는 전부 고유한 값을 가지며, 검색과 삽입 삭제가 전부 O(log n)으로 효율적이다. 내부의 자료구조가 tree(주로 rbtree)로 구현되어있다. 서브젝트에서 얘기하듯이 배열 같은 ‘적합하지 않은’ 자료구조로 구현해서는 안되며, 20배 이상 차이가 나면 안 된다고 되어있기 때문에 BST 같은 지나치게 단순한 tree를 선택해도 안되고 자체적으로 밸런싱 기능이 있는 tree를 자료구조로 사용해야 한다. 맵의 항목들을 보면서 필요한 함수들을 트리에 구현하면 조금 더 편하다. 들어가야 하는 구성요소 Member types key_type: 맵의 키(Key) 유형 mapped_type: 맵의 값(Value) 유형 value.. 더보기
[42서울] ft_containers[3] - 트리 구현 서론 원래 rbtree를 이용해서 구현하고 싶었는데, 제대로 이해하지 못한 상태로 대충 구현하고 나서 테스트를 해보니 map의 테스트에서 일부분 문제가 생겼다.(어느 부분인지는 map에서 설명) 내가 그걸 못고치는걸 보면서 이건 내가 이해한게 아니라고 생각해서 다른 bst를 찾아봤는데, splay tree라고 하는 간단하게 밸런싱을 하는 트리를 발견해서 그걸로 구현했더니 역시 문제가 생겼다. splay tree는 선형 체인에서 O(n)이어서 30만 개 선형 체인 테스트를 std::map보다 20배 이상 느려져서 통과하지 못했다. 그래서 그냥 힙스터 기질은 접고 다른 사람들처럼 avl tree로 구현하게 되었다. https://www.cs.usfca.edu/~galles/visualization/AVLtr.. 더보기
[42서울] ft_containers[2] - 벡터 구현 서론 https://jhnyang.tistory.com/230 [자료구조STL vector 1탄]벡터란? 배열 vs 벡터 비교/장단점/ 특징, 다양한 백터 선언 및 초기화 방법, 안녕하세요 오늘은 C++ 자료구조 컨테이너 중 하나인 vector 라이브러리에 대해 살펴봅시다. [1탄 목차] 1. 벡터란 무엇인가? 2. 벡터의 구조와 특징 (장단점) 3. 언제 벡터를 사용하는가 4. 벡터를 사 jhnyang.tistory.com 동적 배열구조 클래스. 배열이지만 크기를 자유자재로 수정할 수 있는 배열이라고 생각하면 된다. 동적으로 메모리를 늘려주기 때문에 편해서 배열보다 더 자주 쓰인다. 각각의 원소를 [] 연산자를 통해 쉽게 접근할수있고, 임의의 순서로 메모리에 접근가능하다. 단점은 중간에 많은 데이터를 .. 더보기
[42서울] ft_containers[1] - 스택 구현 서론 스택이란 LIFO(last-in first-out 후입선출)로 동작하는 자료구조로, cpp module에서(그리고 조금 다르지만 푸시스왑에서) 이미 가볍게 다뤄봤듯이 컨테이너의 한쪽 끝에서만 입력하고 출력하는 자료구조이다. 다른 컨테이너를 가져와서 그 컨테이너 위에서 동작하도록(캡슐화) 되어 있는데, 이 과제에서는 내가 만든 벡터를 이용하여 구현해야 한다. 하지만 우선 std::vector를 사용하여 구현을 먼저 하고 나중에 내가 만든 ft::vector로 바꾼 다음 정상적으로 동작하는지를 확인하면 될 거라고 생각했다. 이게 가장 쉽기도 하지만 구현 내용 자체가 많지 않고, 서브젝트상 추가로 구현해야 하는 내용이 없어서 가장 마음 편하게 접근할 수 있을 거라고 생각한다. 아래 기능을 지원하는 컨테이.. 더보기
[42서울] ft_containers[0] - 과제 정리 서론 과제를 시작하고 2주넘게 코드를 한줄도 못쓰고 나니까 뭘 만들어야하는지를 먼저 확실하게 정리하지못하면 계속 이 상태일거라는 생각이 들었다. 그래서 우선 과제의 내용을 적어서 정리해두고 그 다음에 어떤 순서로 만들어나갈지를 생각한 다음에 하나씩 구현해나갈 예정이다. 서브젝트 내용 이 과제에서는 C++의 STL 중 몇가지 컨테이너를 구현한다. 레퍼런스를 참조해서 구현해야하며, 그 안에 Orthodox Canonical form이 누락되어있으면 구현하지 않아야한다. C++98 표준을 준수해야하므로 이후 기능은 구현하지 않아야하며, 당시 기능은 deprecated 된것도 구현해야한다. container.hpp 안에 다음의 컨테이너를 구현하고 필요한 기능들을 넣어라 vector - vector 을 따로 구현.. 더보기