목록모든 글 (126)
코딩쌀롱

📚 이터레이션 프로토콜 - 이터러블 프로토콜 Symbol.iterator를 프로퍼티 키로 사용한 메서드를 직접 구현하거나 프로토타입 체인을 통해 상속받은 Symbol.iterator 메서드를 호출하면 이터레이터 프로토콜을 준수한 이터레이터를 반환한다. 이러한 규약을 이터러블 프로토콜이라 하며, 이터러블 프로토콜을 준수한 객체를 이터러블이라 한다. 이터러블은 for...of문으로 순회할 수 있으며 스프레드 문법과 배열 디스트럭처링 할당의 대상으로 사용할 수 있다. - 이터레이터 프로토콜 이터러블의 Symbol.iterator 메서드를 호출하면 이터레이터 프로토콜을 준수한 이터레이터를 반환한다. 이터레이터는 next 메서드를 소유하며 next 메서드를 호출하면 이터러블을 순회하며 value와 done 프로퍼..

레오폴드 fc980c 키보드를 새로 샀다!! 뭘 살까 고민🤔 토프레 무접점을 사고 싶어서 처음으로 타건하러 리더스키도 가봤다ㅎㅎ 리더스키에서 타건해봤을 때 느낀 점은.. 생각보다 토프레 별 거 없다 데프콘 유튜브에서 봤던 것처럼 레오폴드의 스페이스는 경박 그 자체. 예상대로 35g은 너무너무 가볍다. 55g이 생각보다 괜찮은데?! 저소음이 많아 일반 모델을 다양한 키압, 브랜드로는 타건을 못했다. 생각보다 특별하진 않은 느낌이라 안 사도 되겠단 생각도 들었지만,, 뭔가 그냥.. 계속 갖고싶었다. 토프레를 그래서 사는김에 끝판왕이라는 리얼포스로 사고싶었는데 화이트모델은 품절에 입고예정도 없다고..; 그 외 그레이블루랑 블랙은 조금의 고민도 안 됐음..나에게 키보드 외관은 너무 중요함ㅎㅎ 결과적으로 리얼포스..

웹팩 바벨에 대해서 겉햝기로만 알았었다..그러다보니 개념, 설정 파일 작성하는 것 등 공부할 게 많았다.📚 ✱어려웠던 것 - typescript + babel 둘 다 컴파일링을 한다. 타입스크립트는 TypeScript → JavaScript. 바벨은 JavaScript → ES5 이전 JavaScript. 이 둘을 같이 환경설정하는 데 뭔가 확실하게 와닿지 않는 느낌이랄까..이렇게 하는 게 맞는 것 같긴한데 맞는 거겠지? 이런 느낌.. 일단 바벨에 컴파일링을 모두 맡겼다. ts-loader를 사용하지 않고 preset-typescript를 사용했다. - tsconfig, eslint 설정 파일 옵션들 환경설정을 하다보면 옵션들이 매우 많다. 찾아보면서 이건 뭐지, 저건 뭐지 하면서 이해하는 데에도 정신이..

질문에 대답 못 한 게 많았어서 기대를 하지 않으려고..노력했다. 믿기지 않지만 인턴에 합격했다. 코쿼 종료 이후 자신감이 낮아진 상태라 걱정이 되기도 한다. 하지만 이 기회로 더 성장하고 자신감을 가질 수 있지 않을까! 인턴십 기간동안은 진짜 열심히 성실하게 살아야지 🏃🏻♀️목표🏃🏼🏃🏽♂️ ✔️ 규칙적인 생활 밤낮이 바뀐 생활패턴을 오래 가지고 있었는데 늦게 자는 습관을 바꿀 것. 운동도 일주일에 2번 이상 하자. ✔️ 구체적인 계획 매일, 매주 해야하는 투두리스트를 정해 꾸준히 하자 (TIL, 알고리즘, 플젝, 강의, 독서 ...) 어떻게 해야 하루를 효율적으로 채울 수 있을지 고민해서 실행 (오전, 오후, 저녁으로 나눠 계획한다던지..) ✔️ 기록 배운 것, 느낀 점들을 TIL로 기록 매주 회고
8월 4일 자바스크립트에 private이 있다고 착각했었는데, OOP 공부하다 자바의 클래스 코드들에서 private을 본 거랑 헷갈린 것 같다. 자바스크립트의 static이랑도 헷갈린 듯.. 그래서 찾아보다보니 몰랐던 private, protected에 대해 알게되었다! 객체 지향 프로그래밍에서 두 그룹으로 분류가 되는데, internal interface는 동일 클래스 내에서 접근 가능, 밖에선 접근 불가. external interface는 클래스 밖에서도 접근 가능한 프로퍼티와 메서드! - protected 필드: private과 비슷하지만, 자손 클래스에서도 접근이 가능하다는 점이 다르다. 내부 인터페이스를 만들 때 유용. 자손 클래스의 필드에 접근해야 하는 경우가 많아 private 필드보다 ..

개발 공부를 시작하고 처음으로 면접을 봤다. 준비하면서 공부할 시간이 더 있으면 좋겠다고 생각하기도 했지만 한편으로는 빨리 끝나서 계획한 공부들을 하고 싶다는 생각도 있었다. 면접을 잘 보진 않았지만 그래도 끝나서 후련하다!😝 면접 보기 전 이야기를 먼저 하자면, 📋 이력서 제출은 코드스쿼드 프로젝트 3가지를 노션으로 적어냈다. 어떤 것들을 어떻게 구현했는지 간단하게 적고, 프로젝트를 진행하면서 했던 고민들을 적었다. 🖥 코딩 테스트는 3문제가 나왔었는데 어렵지 않았다. 부스트캠프 코테보다 훨씬 쉽게 나왔었음 면접 준비 코드스쿼드가 끝나고 긴 휴식을 가졌어서 면접 메일이 왔을 때 기쁘지만 당황하기도 했다. 면접 날짜가 바로 다음 날이 될 수도 있는 상황이어서 왜 그렇게 쉬었을까 하는 후회를 엄청 했다😕 ..

원인을 모를 때는 정말 모르겠다가 원인을 알고 해결하고 보면 꼭 별 거 아니고 당연한 것을 못 알아챘다는 생각이 든다. 고민할 땐 진지하지만 해결한 후에는 아오💢 하고 넘어가기 쉬워 작성해본다. 📌 useReducer를 사용한 곳에서 오류 발생 오류 메시지를 읽어보면 inputReducer의 반환값이 {...} | undefined로 되어있다. 📌 useReducer 함수 useReducer 내부는 switch문으로 되어 있고, action.type은 'title', 'description', 'color'로 세 경우가 있다. 어떻게하면 반환값이 undefined일 가능성이 있을까. action.type이 'title', 'description', 'color'이 아닌 경우! 그래서 순간 switch문에..

Critical Rendering Path | Constructing the Object Model Critical Rendering Path | Render-Tree Construction, Layout, and Paint 위 글을 읽으면서 정리했다. 1. DOM(Document Object Model) 1. 변환: 브라우저가 HTML의 원시 바이트를 읽어와서, 파일에 지정된 인코딩(UTF-8)에 따라 개별 문자로 변환 2. tokenize: 브라우저가 문자열을 고유 토큰으로 변환(토큰에 따라 의미, 규칙이 있음) 3. lexing: 토큰은 속성, 규칙을 정의하는 객체로 변환 4. DOM 생성: HTML 마크업이 여러 태그 간의 관계를 정의하기 때문에 생성된 객체는 트리 데이터 구조 내에 연결 이 전체..

What happens when you type a URL in the browser and press enter? 글을 읽으면서 정리했다. 1. 주소창에 URL 입력 2. 브라우저가 캐시를 체크. (DNS 기록에서 URL과 일치하는 IP 주소를 찾기 위해) - DNS란 url과 연결된 ip주소들을 보관하는 데이터베이스. 모든 url은 ip주소가 할당돼있음DNS의 주된 목적은 사람들의 편의를 위한 것. 사이트 이름 URL을 사용함으로써 더 편하게 접근할 수 있다. 정확한 ip주소와 매핑 시켜주는 것이 DNS가 하는 일. - DNS 기록을 찾기 위해 브라우저는 네 가지 캐시를 체크한다. 1) 브라우저 캐시. 브라우저가 이전에 방문했던 사이트의 DNS기록을 일정 시간 보관함 2) OS 캐시. 브라우저 캐시에..

문제 Leetcode Sort Colors 문제 - input: 숫자 0, 1, 2로 이뤄진 배열 - output: void, - 주의: 카피하지 않고 nums 배열을 in-place로 swap해서 sort 풀이 런타임: 71ms / 86.69% (주로 70ms대로 나옴) 메모리: 38MB / 98.00% var sortColors = function(nums) { let zeroP = 0; let twoP = nums.length - 1; for(let i = 0; i < nums.length; i++) { if(twoP < i) break; else if(nums[i] === 0) { nums[i] = nums[zeroP] nums[zeroP] = 0; zeroP++; if(zeroP-1 === i)..