
자료구조/알고리즘 - 코딩 테스트 2
2021. 11. 11. 20:18
SE Bootcamp 내용 정리
Algorithm with Math 수학과 알고리즘 Math in Programming 컴퓨터 과학과 수학은 통하는 부분이 많다 → 수학을 학습하는 것은 프로그래밍 기본을 탄탄히 하는 것 알고리즘에서 다루는 수학은 기본적으로 크게 어렵지 않음(중학교 수준의 수학) → 최소한의 수학이므로 이 정도는 해 줘야 한다? Algorithm with Math 알고리즘 문제를 풀 때는 문제를 어떻게 이해하고 풀 것인지 전략을 세우는 것이 중요 → 코딩 테스트에서는 단순히 특정 알고리즘을 아는지 묻는게 아니라 특정 기법을 사용해서 풀어봐라는 식의 문제가 출제된다 → 수학적 사고를 통해 컴퓨팅 사고를 할 수 있어야 한다 최소한, GCD/LCM(최대공약수, 최소공배수), 순열/조합, 멱집합에 대한 수학적 개념 및 알고리즘..

자료구조/알고리즘 - 코딩 테스트 1
2021. 11. 11. 19:39
SE Bootcamp 내용 정리
Time Complexity(시간 복잡도) 알고리즘 문제는 해답을 찾는 것도 중요하지만, 그만큼 효율적인 방법으로 해결했는지도 중요하다 → 효율성 = 시간 복잡도 시간 복잡도 알고리즘 문제에서 자주 겪게 되는 문제? → 바로, 시간 복잡도 그 의미는? 입력값의 변화에 따라 연산을 실행할 때, 연산 횟수에 비해 시간이 얼마만큼 걸리는가? 효율적인 알고리즘이란, 입력값이 커짐에 따라 증가하는 시간의 비율을 최소화한 것 이러한 시간 복잡도는 빅-오 표기법으로 나타낸다 Big-O 표기법 시간 복잡도를 표기하는 방법은 아래의 3가지가 있으나 주로 빅-오 표기법을 사용한다 * Big-O(빅-오): 시간 복잡도를 최악의 경우에 대해 나타내는 방법 * Big-Ω(빅-오메가): 최선의 경우 * Big-θ(빅-세타): 중..

SECTION 2 회고
2021. 11. 8. 18:38
SE Bootcamp 내용 정리
지난 SECTION 2에서 학습한 내용? 지난 섹션2에서 배운 내용들을 캘린더를 보면서 복기해보았다... [JS/Node] * 객체지향 자바스크립트 - 클래스형 모듈 작성하기 * 비동기 - Underbar 구현하기(내장 메서드 만들기) - 타이머 API - fs(fileSystem) 모듈 - fetch API [자료구조/알고리즘] * 재귀, 자료구조 - 재귀 함수 기초 - Tree UI, stringfyJSON - Stack, Queue, Graph, Tree, BST, DFS, BFS [HTTP/네트워크] * 기초 - 클라이언트, 서버, 네트워크 기초 - REST API, POSTMAN [React] * 데이터 흐름의 이해와 비동기 처리 - Effect Hook(useEffect) - statesAir..

Linux - 사용 권한과 환경변수
2021. 11. 8. 15:26
SE Bootcamp 내용 정리
사용 권한 학습 목표 * 사용 권한과 소유자에 대한 이해 및 사용 권한 변경하기 - 파일의 소유자와 파일에 적용된 사용 권한 확인하기: ls -l - 파일에 적용된 사용 권한 변경하기: chmod Read, Write, Execute 권한 폴더와 파일의 판별(폴더인지 파일인지?) CLI에서 디렉토리 하나(mkdir 디렉토리명)와 특정 파일을 하나 생성해 보자 ls -al 또는 ls -l 로 권한을 확인해 보자 drwxrwxr-x 2 사용자명 blabla 4096 11월 8 10:23 . -rw-rw-r-- 1 사용자명 blabla 29 11월 8 10:23 helloworld.js 첫 시작이 d로 시작하면 → directory 즉, 폴더라는 뜻 첫 시작이 - 로 시작하면 → 파일이라는 뜻 그 다음부터는 ..

클라이언트 빌드와 배포
2021. 11. 8. 11:31
SE Bootcamp 내용 정리
클라이언트 빌드와 배포 학습 목표 * 정적 웹사이트와 동적 웹사이트의 차이 * 빌드의 의미 * 정적 웹사이트 형태로 만들어지는 웹 앱에서의 빌드 과정의 필요성 * 정적 웹사이트 배포 * 정적 웹사이트 배포시 발생하는 문제 해결 * 정적 웹사이트에서 사용하는 다양한 프론트엔드 기술 공부: Landing Page 등(스스로 찾아보기) 빌드 SSR과 CSR SSR과 CSR의 차이점을 이해하기 → SSR과 CSR의 정의와 차이점을 알아 보자 SSR(Server Side Rendering) 웹 페이지를 브라우저에서 렌더링하는 대신, 서버에서 렌더링한다 브라우저가 서버의 URI로 GET 요청(req)을 보내면, 서버는 정해진 웹 페이지 파일을 브라우저로 전송. 이 웹페이지가 브라우저에 도착하면 렌더링이 완료됨 → ..

react - 상태 관리 2(Redux 연습, 공식 문서 탐구)
2021. 11. 2. 18:00
SE Bootcamp 내용 정리
Redux 연습하기 상품 리스트 페이지와 장바구니 페이지로 단순화해서 만들기 // 구조를 살펴보면 다음과 같다 index.js – App.js - Nav.js - ItemListContainer.js - Item.js - ShoppingCart.js - CartItem.js - OrderSummary.js state: { itemList: […], cartItemList: […], ...} App.js에 모든 state가 있는 상황에서 장바구니의 물건을 업데이트하려면? → 수많은 props drilling이 발생함! → 전역 상태를 담고 있는 Store가 있다면 해결 가능 Cmarket Shopping App Create React App으로 만든 리액트 앱에 Redux를 붙인 구조의 앱 // 구조 * ..

react - 상태 관리 1(기본 상태 관리, Redux)
2021. 11. 2. 11:32
SE Bootcamp 내용 정리
react – 상태관리 학습 목표 * 상태 관리의 필요성 이해 * Redux(혹은 Flux Pattern)에서 사용하는 Action, Reducer, Store의 의미와 특징 * Redux의 3가지 원칙 * Presentational 컴포넌트와 Container 컴포넌트 * Redux hooks(useSelector, useDispatch)에 대한 이해 및 사용(store 업데이트) 상태 관리 프론트엔드 개발에서의 상태 관리 프론트엔드 개발에서 상태의 중요성 프론트엔드 개발에서 상태란? → UI에 동적으로 표현될 데이터 상태에 따라 어떤 화면이 영향을 받는지를 생각해야 한다 (ex. 쇼핑몰의 장바구니 를 생각하면서 연습해보기) 프론트엔드 개발에서의 Side Effect 함수(또는 컴포넌트)의 입력 외에도..

react - 컴포넌트 디자인
2021. 10. 28. 22:34
SE Bootcamp 내용 정리
학습 목표 * 컴포넌트 기반 bottom-up 방식 개발에 대한 이해 * storybook 활용: 컴포넌트 UI 개발에 도움을 주는 라이브러리 * 구조적으로 CSS를 작성하는 방법 * styled-Component 활용: 컴포넌트 기반 CSS 작성에 도움을 주는 라이브러리 * useRef Hook 활용: DOM Reference를 활용하기 위한 hook 컴포넌트 단위로 개발하기 Component Driven Development(CDD) 부품 단위로 UI 컴포넌트를 만들어 나가는 개발 방식(레고처럼) → 컴포넌트 생성 → 컴포넌트 결합 → 페이지 조립 재사용할 수 있는 UI 컴포넌트를 활용하는 방식이다 컴포넌트 UI 개발을 위한 Storybook Component Driven Development를 지원..