본문 바로가기

반응형

전체 글

(501)
[회고] 뒤늦게 올리는 면접을 위한 CS 전공지식 노트 1회독 회고 부트캠프 종료 후 독학하면서 꼭 한번 해보고 싶었던 것, 그것은 바로 대학생 때 배웠던 CS 지식 복습하기! 나는 주로 네트워크와 운영체제에 집중해서 복습하려고 했던 것 같다. 그냥 가장 끌렸다. 대학교 때 가장 열정적으로 들었던 수업이 컴퓨터 네트워크였고(심지어 A를 받았다. 필기 노트는 아직도 잘 간직하고 있다! 내 보물 ㅠㅠ), 가장 어려워서 제대로 이해 못하고 넘어갔던 수업이 운영체제였다(이 과목은 진짜 겨우겨우 B0를 받았던 것 같다. B+이였나ㅋㅋㅋㅋㅋㅋ) 어떻게 또 이렇게 되냐~~ 이 책으로 대략적인 공부 범위를 잡고, 깊이 있는 내용은 유명한 CS 깃허브 레포지토리를 참고해가며 이해한 후 매일 학습 내용을 정리해 블로그에 기록하는 방식으로 복습을 진행하였다. 이 책은 내용이 매우 요약되어 ..
[회고] 모던 자바스크립트 딥다이브 1회독 2023년 4월 5일부터 2023년 5월 17일까지, 약 한 달하고 2주간 딥다이브 1회독을 마쳤다. 원래는 작년에 스터디 참여 당시 11장 정도까지 읽었었는데(물론 시간에 쫓겨 깊이 이해하지 못하고 넘어간 경우가 많다), 프로젝트 기간이니 뭐니 해서 자연스럽게 책에서 손을 뗐고, 우리의 딥다이브는 내 책장에 방치되고 있었다(미야내... 열심히 읽어보겠다고 분철까지 했는데.. 그치?). 부트캠프를 수료한 후 면접 준비 겸 JS 공부를 하려고 빈출 문제들을 살펴보는데 세상에 마상에 내가 모르는 내용들도 많았고, 알아도 말로 설명할 수 없는 애매모호한 수준까지만 아는 내용들이 거의 99% 였다. 처음엔 하루에 기출 문제 하나를 선정해서 그 내용에 대해 공부하고 정리하는 방식으로 공부를 시작하였다. 물론 빠르..
49장 Babel과 Webpack을 이용한 ES6+/ES.NEXT 개발 환경 구축 2023년 5월 17일 900p~917p 크롬, 사파리, 파이어폭스, 엣지 같은 에버그린 브라우저의 ES6 지원율은 약 98%로 거의 대부분 ES6 사양을 지원한다. 하지만 IE 11의 지원율은 11%다. 그리고 매년 새롭게 도입되는 버전은 브라우저에 따라 지원율이 제각각이다. 따라서 최신 ECMAScript 사양을 사용하여 프로젝트를 진행하려면 IE를 포함한 구형 브라우저에서 문제 없이 동작시키기 위한 개발 환경 구축이 필요하다. 트랜스파일러인 Babel과 모듈 번들러인 Webpack에 대해 알아보자. 49.1 Babel Babel은 자바스크립트 컴파일러이다. Babel은 현재 및 이전 브라우저 또는 환경에서 ECMAScript 2015+(이상)의 코드를 이전 버전의 JavaScript로 변환하는 데 ..
[구현] 프로그래머스 '행렬 테두리 회전하기' - js 1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/77485 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 코드 문제 설명에 있던 이 부분은 분명 문제 풀 때 쓰일 것 같더니, 각 배열 요소에 자리에 맞는 값을 넣어줄 때 사용하라는 힌트였다. 길이가 100까지로 제한되어 있으니, 직접 배열을 만들어 숫자를 옮겨주는 방식을 사용해도 되었던 문제다. 괜히 타임아웃 뜰까봐 배열 만들까말까 우물쭈물 망설였네^^7 머쓱... function solution(rows, columns, querie..
47장 에러 처리 & 48장 모듈 2023년 5월 886p~899p 47장 에러 처리 47.1 에러 처리의 필요성 에러가 발생하지 않은 코드를 작성하는 것을 불가능하다. 따라서 에러는 언제나 발생할 수 있다. 발생한 에러에 대해 대처하지 않고 방치하면 프로그램은 강제 종료된다. console.log('[Start]'); foo(); // ReferenceError: foo is not defined // 발생한 에러를 방치하면 프로그램은 강제 종료된다. // 에러에 의해 프로그램이 강제 종료되어 아래 코드는 실행되지 않는다. console.log('[End]'); 직접적으로 에러를 발생하지 않는 예외적인 상황이 발생할 수도 있다. 예외적인 상황에 적절하게 대응하지 않으면 에러로 이어질 가능성이 크다. // DOM에 button 요소가 존..
[구현] 프로그래머스 '수식 최대화' - js 1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/67257 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 코드 이 문제를 처음 풀었을 때는 문제를 착각해 연산자 별 우선순위가 정해지면 우선순위가 높은 연산자 순으로 계산되어야하는 걸 잊고, 그냥 어떤 순서대로 계산해야 최댓값이 나오는지만 DFS를 사용해 구해주었다. 문제를 정확히 파악해야 한다. 한 번 우선순위를 정하면 그 우선순위 순서대로 계산이 되어야 한다. 구글링하여 잘 설명이 되어있는 블로그를 읽고 이해했다. function s..
46장 제너레이터와 async/await 2023년 5월 15일 870p~885p 46장 제너레이터와 async/await ES6에서 도입된 제너레이터는 코드 블록의 실행을 일시 중지했다가 필요한 시점에 재개할 수 있는 특수한 함수다. 제터레이터와 일반 함수의 차이는 다음과 같다. 제너레이터 함수는 함수 호출자에게 함수 실행의 제어권을 양도할 수 있다. 일반 함수를 호출하면 제어권이 함수에게 넘어가고 함수 코드를 실행한다. 즉, 함수 호출자는 함수를 호출한 이후 함수 실행을 제어할 수 없다. 제너레이터 함수는 함수 호출자가 함수 실행을 일시 중지시키거나 재개시킬 수 있도록 제어권을 가진다. 제너레이터 함수는 함수 호출자와 함수의 상태를 주고받을 수 있다. 일반 함수를 호출하면 파라미터를 통해 값을 받고 함수 코드를 실행하여 결과값을 반환한다. ..
[이분탐색] 프로그래머스 '징검다리 건너기' - js 1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/64062 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 코드 처음 푼 코드) 완탐. 당연히 타임아웃. 정답도 일부만 맞고..일부는 틀림. function solution(stones, k) { let answer = 1; let zero = 0; for(let i=0;i 0; let count = 0; for(let i = 0; i < stones.length; i++) { if(stones[i] - mid

반응형