본문 바로가기

전체 글147

[모던 자바스크립트 Deep Dive] 오류 발견 및 수정!! (자랑글임 ㅋㅋ) (자랑글 ㅋㅋ) ​ 유명한 JS책 중 하나인 '모던 자바스크립트 Deep Dive'의 책 오류를 찾고, 다음 인쇄에 반영된다는 답을 받았습니다. 굉장히 기분이 좋아서 자랑합니다 ㅋ ​ 다들 이 책 많이 보셨을것이라 생각합니다. 저도 사놓고 뭐 다 읽진 않았는데요 ㅋㅋ ​ 정규표현식의 중요성을 최근에 좀 많이 깨닫고 있어서, 부랴부랴 이 책의 정규표현식 파트를 읽어보고 있었습니다. 간절함이 있어서 그런지.. 모든 예제들을 자세히 살펴보게 되더라고요. ​ 예상 결과를 써내려가던 중, 답을 틀렸습니다. 그런데 보통 책이 틀렸을것이라 생각하진 않는데, 저는 제 생각이 맞다고 생각되니까 직접 컴퓨터를 켜서 실행해봤습니다. 아니 제 말이 맞았습니다;; 홀리 쉣.. ​ 바로 두근거리는 마음을 가라앉히고, 정오표를 찾.. 2022. 10. 24.
[JS] 널 병합과 연산자 우선순위 이번에는 자칫하면 프로그램에 오류를 낼 수 있는 사소하지만 중요한 것에 대해서 말하고자 합니다. ​ 널 병합과, 우선순위 연산자가 뭔 연관이지? 라고 생각하실 수 있습니다. 하지만 분기문에서 결과가 뒤바뀌는 결과를 낳을 수 있는 예시를 보여드리고자 합니다. ​ 널 병합 연산자 (nullish coalescing operator) statement의 결과값이 null이나 undefined일 경우에, 뒤에 나온 값을 반환해주는 연산자입니다. ES2020에서 나왔습니다. falsy 값을 판단해서 오른쪽 피연산자를 반환하는 '||'와 구분해서 써야합니다. const arr = []; if( arr.length ?? 0 === 0 ) { console.log("참"); }else { console.log("거짓".. 2022. 10. 2.
[Git] 파일명 대소문자 구분이 안되는 경우 후.. 생각지도 못한곳에서 에러가 생겨서 기록하고자 합니다. ​ 발생 배경 토이프로젝트를 하던 중, page/xxx.ts로 있던 파일들을 컴포넌트로 옮기는 작업을 하던 중이었습니다. 지에 있던것들을 `component` 폴더로 옮겼습니다. 그 이후 그냥 아무 생각없이 pr을 올리고 merge를 했습니다. 며칠 후에 component 폴더에 있는 컴포넌트명이 소문자인것을 보고 대문자로 변경을 했습니다. 그 이후... 배포를 했는데 뭔가 이상합니다 잘 돌아가던 페이지가 고장났다고 합니다.. 아무리봐도 내 로컬에서는 잘 돌아가는데 이해를 할 수 없었습니다. ​ 원인 하.. 깃이 대소문자 구분을 못하네 배포를 담당하는 브랜치를 가보니 파일명이 'history', 'bookmark' 이렇게 소문자로 되어있습니다... 2022. 10. 1.
[TS] Enum vs Object 회사의 소스코드를 보던 중에 문득 들었던 궁금증에 대해서 해결해보고자 합니다. Enum과 Object의 차이를 알아보고, 어떤것을 사용하는것이 좋은지 결론을 내보겠습니다. 네이버 블로그식 질질끌기 포스팅을 제일 싫어해서.. 빠르게 써보겠습니다. ​ 결론부터 내면 object가 as const로 type assertion을 해서 충분히 사용 가능하면 enum은 필요없다 입니다. Enum TS에서 자체적으로 구현한 열거형으로 C의 enum과 유사합니다. '자체적' 이라는 말에서 알 수 있듯, js에는 존재하지 않습니다. ​ Enum은 어떻게 트랜스파일 될까? IIFE(즉시실행함수표현) 의 형태로 변환됩니다. js의 object는 멀쩡하게 나오는것을 볼 수 있습니다. ​ Enum이 Object보다 나은 장점 .. 2022. 9. 11.
핸드폰을 변경했습니다. 갤7엣지 -> 아이폰13 반갑습니다. ​ 매주 일요일 12시가 다 되어서야 글을 쓰게 되네요.. ​ 이번주는 뭐.. ​ 회사에서 하는 온보딩 과정 + 잠 + 과정 + 잠 이렇게 보냈습니다. 아직 회사의 쓴 맛을 안봐서 그런지.. 회사 가는거는 항상 설렙니다 쿠하하하 ​ 핸드폰을 바꿨습니다. (갤7 edge -> 아이폰13) 저는 죽었다 깨어나도 갤럭시 유저였습니다... 갤럭시7 엣지를 5년동안 잘 썼는데, 최근에 3만9천원 주고 배터리 교체도 해서 배터리 효율도 좋았습니다. 그런데.. CPU가 맛이 갔는지.. 무슨 전화 오면 5초 멈추고, 전화 받으면 5초 멈추고.. 화면 슬라이드 내리면 멈칫 거리고.. 후 더 쓰다가 혈압 올라서 그만 쓸랍니다.. ( 소프트웨어 업뎃 후에 조작해서 cpu 성능을 낮췄다고 의심중..) ​ 왜 아이.. 2022. 7. 17.
작심 삼십일 그리고 네이버 5만원권 당첨.. 1주에 3번씩 공부하고 인증하는 작심 삼십일 프로젝트를 진행중이다. ​ 근데 목요일날 인증을 하고 잤어야 했는데.. 너무 피곤해서 그냥 잠드는 바람에 인증을 한 번 못했다.. 첫 주차부터 실패라니.. 쏘 새드.. ​ 온보딩 프로그램도 곧 끝나니까 많이 해둬야 한다.. ​ ​ HTTP 완벽가이드 공부. 2주동안 많은 단원들을 타이트하게 한번 쭉 훑는 스터디를 진행중이다. 어떻게 2주만에 하냐고? 한번 큰 흐름을 훑고 필요할때마다 또 찾아봐야 한다. 나에게 남은 시간이 얼마 없다... ​ 모던 Js Deep Dive 필요한 단원들을 읽고 있다. 이벤트 루프를 자세히 공부해 봤는데, 브라우저랑 노드가 서로 다른 이벤트루프를 가지고 있고 내부적으로 큐도 다르게 있다는걸 이번에 알았다. 부끄러웠지만 지금이라도 알.. 2022. 7. 10.
몽탄 방문 후기, 라인 웰컴킷 오늘의 핵심입니다. 몽탄에 다녀왔습니다. 인기가 그렇게 많다던데.. 어떤 압도적인 맛이길래 이렇게 많은지 직접 확인해야 했습니다. 6/22 (수) 오전 10시부터 대기를 했습니다.. 오전 11시부터 웨이팅 리스트를 적을 수 있고, 12시부터 오픈을 합니다. 오픈 2시간 전에 갔는데 앞에 20명 넘게 있었습니다 ..ㅋ 12시 20분쯤에 하루의 모든 예약이 마감되었습니다.. ㅋㅋㅋ 가격은 이렇습니다. 저는 우대갈비 3인분, 비빔냉면, 볶음밥 이렇게 먹었습니다. (2명) ​ 밑반찬들은 간이 굉장히 셌습니다. 기름기가 많은 고기라서 그런지, 그 기름기를 제거하기 위해서 간이 좀 세다고 느꼈습니다. 비빔냉면인데, 무난했던것 같습니다. 엄청 특별한 맛은 아니었습니다. 고기는 직접 구워주시는데 기본적으로 두께가 두껍.. 2022. 6. 27.
막학기 취업후기 처음이자 마지막으로 좀 정상적으로 글을 쓰겠습니다.. ​ 막학기라서 취업을 못할까봐 스트레스를 받았었는데, 다행히 좋은 회사에 취업을 하게 되었습니다. 붙은 회사의 프로세스에 대해서는 말할 수 없지만, 떨어진 회사들에 대해서 어땠는지 써보고자 합니다. ​ 넥슨 코리아 (코테 합격 - 서류탈) (마음의 상처 강도 : 1.5 / 5, 메이플 그만둠) 프로그래머스 게임 개발자? 어쩌고에서 했던것 같습니다. 유일하게 React를 쓰는곳이 있어서 그냥 지원을 했었고, 코테는 3개중 2개를 다 맞고, 한개는 절반만 맞았습니다. (2.5) 서류 결과 발표연장이 2주정도 되었는데, 탈락을 했는데 제가 탈락한지도 몰랐습니다. 말도 없이 탈락으로 처리되었던.. 좋지 않은 기억이었습니다. 서류에서 뭔가 FE 경험을 좀 많이.. 2022. 6. 12.
[일상] React.js에 Contribute 성공.. (눈물흘리며 쓰는중) w오늘 그냥 펑펑 눈물을 쏟았습니다.... 별건 아니지만.. React.js에 기여에 성공했습니다. ​ 아직 오타나 찾는 그런 미세먼지급 기여이지만... clone해서 직접 실행시켜가면서 확인 후에 올렸는데, 굉장히 재미있는 경험이었습니다. (pr 올리고 기분이 좋아서 공부를 못했습니다) 제가.. 드디어 많은 사람들과 한 배를 타게 되었습니다.. 제 깃허브에도 올라갔습니다... ​ 현재 제 스펙 MDN 기여 2회 {1번은 mdn 번역 용어집 수정 (매우 훌륭) } React.js 기여 1회 (오타 수정) ​ 다음번에는 React.js의 결함을 찾아내서 컨트리뷰트 하는 사람이 되어야 겠습니다. ​ 주변에 이런거 말하면 들어줄 사람이 없어서.. 불특정 익명 다수에게 자랑합니다 크하하 ​ 감사합니다^^ 2022. 5. 5.
[React] Optimization, useMemo, useCallback, memo - (2) 반갑습니다 ^^ 2탄을 이어서 작성해 보겠습니다. React.memo는 컴포넌트를 넣으면 컴포넌트를 반환해주는 함수인데요. (HOC) 이것들에 대한 설명을 찾아보면, memo는 props를 비교하고 얕은 비교를 한다. 이런 설명이 전부입니다. 이렇게만 알고 가면, 이 케이스에는 렌더링이 일어날까? 이런 것들이 대한 답이 되지 않았습니다. 제가 직접 찾아보고 나니 이제는 대답을 할 수 있을것 같더라구요. memo에 props를 50개를 넣었지만, 실제로 호출시에 3개만 넘겨준다면, 그 3개만 비교하게 될 것입니다. React.memo 이 HOC는 주어진 props를 비교하지만 좀 더 자세히 비교를 합니다. 그리고 시간이 꽤나 걸릴것 같은 작업입니다. areHookEquals보다 가격이 훨씬 비싸답니다. d.. 2022. 3. 9.
728x90