본문 바로가기

반응형

분류 전체보기

(38)
[JS] 고차함수(higher order function)이란? 고차 함수(higher order function)는 함수를 인자(argument)로 받을 수 있고, 함수의 형태로 리턴할 수 있는 함수이다. 함수는 변수에 저장할 수 있다. 함수를 담은 인자로 전달받을 수 있다. 함수 내부에서 변수에 함수를 할당할 수 있다. 함수는 이 변수를 리턴할 수 있다. 이때 다른 함수(caller)의 인자(arument)로 전달되는 함수를 콜백 함수(callback function)라고 한다. 1. 다른 함수를 인자로 받는 경우 function triple(num) { return num * 3; } function tripleNum(func, num) { return func(num); } // 함수 tripleNum은 다른 함수를 인자로 받는 고차 함수이다. // 함수 fu..
[코드스테이츠] 1차 Hiring Assessment 후기 어제 드디어 1차 HA를 치렀다. 솔직히 생각보다 너무 어려웠다. 지금까지 나온 코플릿과 기초 알고리즘 문제는 모두 스스로 풀 수 있는 수준까지 올라왔다고 생각했는데 막상 새로운 문제를 보니 어떻게 해결해 나가야할지 감이 잘 잡히지 않았다. HA는 코플릿 형식의 알고리즘 문제가 총 5 문제, 그리고 React와 React-Router-DOM을 활용하여 정말 간단한 SPA을 만드는 과제였다. 알고리즘 1번에서 3번까지는 크게 어려움 없이 풀었고 4, 5번은 감은 잡히지만 정확하게 푸는 방법을 결국 떠올리지 못했다. React 문제는 테스트 케이스가 총 14개 정도 있었던 것 같은 홈페이지 구현은 다 했으나 4개의 테스트 케이스는 결국 통과하지 못한 상태로 HA를 제출하였다. 결과가 어떻게 나올지 모르겠다...
[코드스테이츠] 소프트웨어 엔지니어링 4주차 후기(feat. Hiring Assessments) 한 달간의 시간이 정말 순식간에 흘러갔다. 4주 전에는 코드를 적는 것은 물론이고 적힌 코드를 이해하는 것조차 불가능했는데 이제 기초적인 JS코드나 JSX코드를 보면 이 코드가 무엇을 의미하는지 알 수 있게 되었다. 물론 JS를 사용하여 기본적인 알고리즘 문제도 스스로 풀 수 있을 정도로 성장하였다. 아마 혼자 독학으로 코딩을 공부했다면 단기간에 이정도로 성장하지는 못했을 것 같다. 나는 대학교 졸업 후 보청기 영업직으로 3년간 일을 하다 올해 초 사직서를 제출했다. 그 이유는 보다시피 개발자로 커리어를 전향하려는 목표와 목적이 있었기 때문이다. 전반적인 산업에 미래화가 이미 진행되고는 있었지만 코로나의 영향으로 가속화되기 시작했다. 내가 몸담고 있었던 산업에도 큰 타격을 주었고 보청기 영업직을 평생직장..
[코드스테이츠] 소프트웨어 엔지니어링 3주차 후기 벌써 코드스테이츠 3주 차가 끝나고 4주 차가 시작되었다. 3주 차에는 JavaScript의 배열(array), 객체(object), CSS 중급, 스코프와 클로저 등 다양한 지식들을 배울 수 있었다. 배열보다는 객체가 더 어려웠고, 객체보다는 클로저 개념이 더 어려웠던 것 같다. 하지만 지금까지 지치지 않고 잘 버텨내고 있다. 처음 보는 지식들을 한 번에 소화시키려고 하니 힘은 들지만 하루하루 성장하는 모습이 눈에 보일 정도여서 기분은 좋다. 아마 코드스테이츠에 들어오지 않았다면 스스로 이 정도의 집중력을 발휘해서 코딩에 집중하지 못했을 것이다. 주말에도 역시 부족한 개념들을 다지기 위해 3주 차에 배웠던 내용들을 한 번 훑어보았고 4주 차 준비를 위해 예습을 했다. 4주 차는 DOM, 고차 함수, R..
[DOM] DOM 기초와 CRUD 1. DOM이란? Document Object Model의 약자로 프로그래머의 관점에서 바라본 HTML이다. 또한 HTML 요소를 Object처럼 조작할 수 있는 모델이다. 2. CRUD란? 어떤 종류의 개발이나 컴퓨터 언어를 배우는 초기에 집중해야 할 요소들이다. CREATE(만들고) READ(조회하고) UPDATE(갱신하고) DELETE(삭제하는)의 약자로 오늘은 DOM의 CRUD와 적용할 수 있는 APPEND를 중점으로 포스팅을 해보려고 한다. 3. CREAT - createElement const makeDiv = document.createElement('div') div element를 만드는 방법이다. 주의할 점은 div를 따옴표로 감싸야 한다는 점이다. 4. APPEND - append, ..
[JS] 객체(Object) 기초 1. 객체란? 주소록과 같이 한 대상의 다양한 정보들을 한 눈에 보기 좋게 정리할 때 필요한 자료 구조 객체는 키와 값 쌍(key-value pair)으로 이루어져 있다. 또한 객체는 중괄호(curly bracket) 내부에 키와 값이 존재한다. let user = { firstName: 'Adam', lastName: 'Kim', email: 'bobokook@gmail.com', city: 'Busan' }; // firstName, lastName 등을 키(key) // 'Adam', 'Kim' 등을 값(value) 2. 객체의 값을 사용하는 방법 2가지 방법1: Dot notation user.firstName; // 'Adam' user.city; // 'Busan' 방법2: Bracket no..
[JS] 배열(Array) 기초 1. 배열이란? 순서가 있는 값을 말하고 대괄호(square bracket)를 이용하여 만들 수 있다. 값: 요소(element) 순서: 인덱스(index) let num = [12, 21, 34, 46, 59] 대괄호 안의 하나하나의 값들을 요소라고 한다. 배열의 특징 중 하나는 인덱스(순서)의 기준이 1이 아닌 0이라는 점이다. 그렇기 때문에 아래와 같이 표현할 수 있다. num[2] === 34 그리고 만약에 2번 인덱스의 번호를 변경하려고 하면 아래와 같은 방법으로 진행하면 된다. num[2] = 99; consoloe.log(num); // 결과값 [12, 21, 99, 46, 59]; 또한 배열 안에 배열이 존재하는 경우가 있다. 이럴 경우에 내부 배열에 접근하는 방법은 다음과 같다. let ..
[JS] let, var, const 키워드 비교 let const var 유효 범위 블록 스코프 함수 스코프 블록 스코프 함수 스코프 함수 스코프 값 재할당 가능 불가능 가능 재선언 불가능 불가능 가능

반응형