본문 바로가기

꼬리에 꼬리를 무는 코딩11

M1 맥북에서 VS Code (Visual Studio Code) 에 stdc++.h 헤더 파일 include 하기 (맥북 stdc++.h 안됨) stdc++ 을 include 해주기 위해서는 우선 c++ 이 설치 되어 있는 폴더의 include 폴더에 들어가야 한다. 그리고 나서 bits 폴더를 만들고 bits 폴더 안에 stdc++.h 파일을 만들어 준다. 그리고 헤더의 내용을 복붙해 주면 된다. (아래 링크를 참조하자.) https://velog.io/@sigint_107/M1-MAC-VScode%EC%97%90%EC%84%9C-bitsstdc.h%EA%B0%80-import-%EC%95%88%EB%90%98%EB%8A%94-%EA%B2%BD%EC%9A%B0 이 과정에서 맞닥뜨린 이슈들이 몇 개 있는데, include 에 쓰기 권한이 없다. -> 이 문제는 chmod 를 사용해서 해결 (시소실에서 리눅스 열심히 배워 둔 보람이 있다.) 근데 .. 2023. 2. 1.
2022.10.06 꼬꼬코 1. 오늘 자구 수업에서 트리를 배우고 지하철을 타고 집에 오는데, 지하철 노선도를 보면서 이런 생각을 했다. 루트 노드는 별개로 존재하면서, 중간부터 노드를 공유하는 트리는 뭐라고 부를까? 그래서 구글링을 해 보았는데, 그런 트리가 네이밍되어 있지는 않은 것 같고, 비슷하면서도 다른 예로는, 깃허브 머지하는 상황이었다. 소스트리에서 보면 진짜 지하철 노선도랑 좀 닮은 점이 있다(나만 그런가?) 암튼 요즘 계속해서 자구를 공부하다 보니까 별의별 게 다 노드로 보이고 자료구조로 보인다. 좋은 현상인 것 같다. 앞으로는 코드 짜면서 자료구조를 늘 뇌 속 레지스터에 저장해 두어야겠다.!! 2. 웹 접근성에 대해서도 자료 조사를 꽤 했는데 오늘 너무 졸려서 잠이 우선인 관계로 내일 마저 적기로 한다.. 2022. 10. 7.
2022.10.05 꼬꼬코 왜 컴퓨터는 왜 바이트 단위로 동작하는가? 왜 1바이트는 8비트인가? 1. 컴퓨터공학을 전공하면서, 컴퓨터가 바이트 단위로 동작하며, 1 byte = 8 비트 라는 것을 모르는 전공생은 거의 없을 것이다. 동시에 왜? 하필이면 8비트로 묶은 1 바이트가 단위가 되는 것일까? 하며 왜 라는 깊은 질문을 던지는 학생 역시 거의 없을 것이다. 나는 이 질문에 대한 답을 찾아가 보려고 한다. 2. 먼저 c 언어 시간에 배웠듯이 문자 타입을 저장하는 char 는 1바이트의 메모리 공간을 차지한다. 이는 곧 이런 프로그램이 만들어질 때, 몇 개의 기계어 배열을 사람의 문자 하나와 치환할 수 있을지에 대한 고민으로부터 나온 것이다. 아쉽게도 이것을 처음 만들 당시 대부분의 연구원들이 영미권 사람들이었기에(만약 중국인이 만들었다면, char 는 2바이트가 될 수도 있지 않았을까? 하하 .. 2022. 10. 6.
2022.10.04 꼬꼬코 1. 현재 시각 7시 05분.. 자구 제출 완료 했고.. 이제 기껏해야 두 시간 잘 수 있는데 그럴 바에야 그냥 안자는 게 나을 것 같다고 판단.. 이번주 일요일에 있을 js 스터디 책이나 공부해야지의 마인드로 시작하는 꼬꼬코! (오늘 아침에 정리 못한 탓도 있음..) 2. 데이터 타입은 크게 기본형과 참조형으로 나뉜다. 기본형의 하위 항목으로는, Number, String, Boolean, null, undefined, Symbol 이 있으며 참조형은 객체 밑으로 다 모여 객체라는 큰 상위 항목 하에 Array, Function, Date, RegExp, Map, WeakMap, Set, WeakSet 등이 있다. 이때 전자는 call by value 로 불변성이 지켜지는 반면 후자는 call by r.. 2022. 10. 5.
2022.10.03 꼬꼬코 immer 라이브러리는 어떤 원리로 동작하는가? https://hmos.dev/deep-dive-to-immer#immer%EB%8A%94-%EB%AC%B4%EC%97%87%EC%9D%B4%EA%B3%A0-%EC%99%9C-%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94%EA%B1%B8%EA%B9%8C immer 내부 살펴보기 | hmos.dev redux에서 주로 사용되는 immer는 mutable한 객체 업데이트를 immutable하게 사용하는 것 처럼 도와준다. 어떻게 이런 로직이 가능한걸까? hmos.dev ^윗글을 참고하였다! 나도 언젠가 구글링했을 때 처음으로 나오는 유용한 글을 쓰는 개발 블로거가 되고 싶다..!! 1. 윗글을 읽어 보았는데 완벽하게 이해하려면 꽤나 시간이 걸릴 것 같아 우선 간단하게 정리하고, 추후 지속.. 2022. 10. 3.
2022.10.02 꼬꼬코 immer 라이브러리 심화 1. immer 라이브러리를 사용하면 언제나 효율적인 코드를 작성할 수 있다? 답: 아닐 수도 있다! 예를 들어, onRemove 이벤트를 생각해 보자. 굳이 굳이 immer 를 사용해야할 이유가 없다. 그냥 배열의 filter 함수를 이용하면, 불변성을 유지하면서도 간결한 코드로 기능을 구현할 수 있다. filter 함수는 기존 배열을 수정하는 것이 아니라, 새로운 배열을 만들어 내기 때문에 가능하다. 2. useState 의 함수형 업데이트와 immer 를 결합해서 사용할 수는 없을까? 답: 넘나 가능! useState 의 인자로 immer의 produce 함수를 쓰고 produce 의 첫 번째 파라미터로 함수 형태를 주면 됨! //예시 const onChange = useCallback(e => {.. 2022. 10. 3.