목록전체 글 (134)
코로 넘어져도 헤딩만 하면 그만

얼마 전 스터디를 위해 클래스를 잠깐 공부하다 어마어마한 '낯선 단어'들의 등장에 당황한 채 백스텝을 밟은 적이 있다. 그러나 개발자가 되기 위해서는 절대로 회피할 수 없는 그 이름이 바로 클래스였으니... 낯선 것은 두려울 수 있지만 자주 접하면 무뎌진다! 그런 의미에서 어제의 내가 잘 몰랐던 개념들을 예시와 함께 살펴보자. 그래서 클래스Class가 뭐라고? 가장 적절하게 사용되는 예시가 붕어빵이다. 클래스는 붕어빵을 찍어내는 틀에 해당한다. 100개의 붕어빵을 서로 다른 맛으로 구워내고 싶은데, 이걸 일일이 처음부터 붕어 모양으로 빚고 아가미도 찍어가며 조물조물 만드는 건 장인 정신(?)이 아니라면 불가한 일이다. 시간도 엄청나게 걸리고... 손님들도 기다리며 화를 내고... 이토록 비효율적인 일을 ..
1. 배열을 입력받아 차례대로 배열의 첫 요소와 마지막 요소를 키와 값으로 하는 객체를 리턴해야 합니다. 빈 배열을 입력받은 경우, 빈 객체를 리턴해야 합니다. 입력으로 받는 배열을 수정하지 않아야 합니다. 이 문제는 배열을 객체로 만드는 것이 포인트라고 생각한다. arr[0]과 arr[length-1]로 배열의 처음과 마지막을 뽑는 것까지는 수월했는데, 이것을 객체로 밀어넣는 상황에서 고민을 하기 시작했다. function transformFirstAndLast(arr) { // 배열을 입력받아 차례대로 배열의 첫 요소와 마지막 요소를 // 키와 값으로 하는 객체를 리턴해야 합니다. //빈 배열을 입력받은 경우, 빈 객체를 리턴해야 합니다. //키와 값으로 하는 '객체'리턴하기 if (arr.lengt..

결코 한가하지 않은 한 달이었다. 기존의 나와 다른 일상을 보내고 있다. 겁먹었던 대로 '죽을만큼 구르지는' 않지만, 그렇다고 주어진 걸 다 했다 여유 부리다가는 뒤처질 것 같다는 불안에 야간에도 주말에도 시간을 확보하여 추가자습을 실행했다. 정규 학습 시간 외에 추가적으로 학습하라는 스케줄표를 처음 봤을 때 내가... 안 하면 어떡하지...?라는 걱정을 했었는데, 매일 스스로 보기에 모자라고 할 게 있으니까 알아서 자습하게 되는 것 같다. 자주 쓰인다는 KPT회고 방법을 사용하여 1달 간의 자신을 돌아보았다. 붙이는 손맛이 좋은 구글 잼보드를 통해 Keep, Problem, Try 항목을 나눠 살펴보기로 했다. 혹시 필요한 사람을 위해 링크 공유. 구글 계정이 있다면 누구나 쓸 수 있다. 이미지로 예쁘..

어차피 이번 주에 주로 공부한 git에 대해서는, 개별적인 포스팅으로 남겼기 때문에.... 배우고 정리한 개념들 위주로만 주제별로 묶어 남긴다. Javascript로 DOM 다루기 💎Create 생성 document.createElement('div') //createElement를 통해 생성한다. 아래와 같이 작업의 결과를 변수에 담아주는 식으로 자주 사용한다. const tweetDiv = document.createElement('div'); //이렇게 변수에 담아주기도 가능. 💎Append 추가 부모 노드에 포함 시키는 것을 말한다. document.body.append(tweetDiv) //append를 사용해서 body에 넣어준다는 의미. 💎Read 읽어오기, 조회하기 querySelector..
한 주간 배운 것들: 배열/객체/원시자료형과 참조자료형/스코프/클로저/spread rest 문법 /구조분해/ 화살표함수 Mocha Chai framework가 그래서 뭔데? 모카Mocha란? 테스트 러너를 지원하는 테스트 프레임워크다. 단순한 JS 개발 상황에서는 테스트가 별로 필요하지 않았지만, 이후 여러모로 테스트의 필요성이 생겨났다. 따라서 테스트하기 쉽게 지원하는 모카가 등장하였다. Node.js에서 지원하며 npm install mocha -g 로 설치 가능하다. 여기서 Chai 구문이 등장하는데, Mocha 기반 테스트 코드를 작성할 때, 여러 assertion(변수가 원하는 값을 갖고 있는지 확인하는 것!)을 제공하는 모듈module이다. 이 또한 npm을 이용해 설치할 수 있다. 다양한 인..
1. isOldEnoughToDrink 문제- 나이를 입력받아 술을 마실 수 있는지(18세 이상) 여부를 리턴해야 합니다. 조건- return boolean 타입. function isOldEnoughToDrink(age) { // if(age>=18){ // return true; // } else { // return false; // } return (age>=18 ? true : false) } 처음 풀 때는 주석 내부와 같이 정직한 조건문으로 풀었지만, 삼항조건연산자를 써보고 싶어서 아래와 같이 수정했다. 2. fizzBuzz 문제: 수를 입력받아 3 그리고 5로 각각 나눈 뒤 나머지 값에 따라 알맞은 메시지를 리턴해야 합니다. 조건: string 타입을 리턴해야 합니다. 3으로 나누어 떨어지는..
JS 핵심 개념과 주요 문법, 그 중에서도 늘 헷갈리던 원시 자료 / 참조 자료 및 얕은 복사와 깊은 복사에 대해 면밀하게 알아보았다. 원시 자료형과 참조 자료형 원시 자료형(primitive data type) - 6가지 타입(string, number, undefined, boolean, null, symbol)이 여기에 속한다. - 저장 공간이 고정되어 있다. 또한 불변하는 값이다. - 원시값을 갖는 변수가 다른 변수에 할당되면, 값 자체가 복사되어 전달된다. 참조 자료형(reference data type) - 객체object, 배열array, 함수function 이 여기에 속한다. 원시 자료형이 아니면 전부 참조 자료형. - 원시 자료형과 달리 저장 공간이 늘어날 수 있고, 값이 변할 수 있다...
사실 첫날부터 맥 아닌 windows 쓰는 사람은 우분투를 미리 설치해두라는 말이 있어 어제 밤에 급하게 깔았다. 업데이트가 빠르고 잘 적용되는 리눅스를 앞으로 죽 사용하기 위해서는 어쩔 수 없다고... 아침부터 CLI 관련 챕터가 있었다. 우분투 터미널을 사용해서 명령어를 쓰며 파일을 생성하고 또 삭제하고 옮기는 법을 배웠다. 정작 배운 거 자체는 많지 않은데 CLI가 익숙하지가 않은데다(VS Code 터미널로 조금 만져본 게 다임) 어제 밤부터 우분투 설치에 온갖 난관을 겪다가 간신히 깔고 나니 겨우겨우... ... 하여튼 초보자들끼리 거의 맨땅을 파는 수준으로 시간 가는 줄 모르고 엄청난 열의를 쏟아 했다. 거기다 CLI로 제출해야 하는 과제까지! ... 과제의 난이도는 하급이었지만, 전부 우분투로..