목록GD프로젝트 (19)
책 읽다가 코딩하다 죽을래
GD프로젝트 리액트 수업이 끝나고 알고보면 알기쉬운 알고리즘 이라는 알고리즘 수업이 이번 주차부터 시작되었다. 그럼 1주차에 배운 내용과 소수 찾기 알고리즘에 대해 설명하겠다. 1. 새롭게 배운 내용 1. 시간복잡도 더보기 시간 복잡도는 입력값에 따라 문제를 해결하는데 걸리는 시간과의 상관관계를 말합니다. 똑같은 알고리즘에 입력값이 몇 배로 늘어남에 따라 문제를 해결하는 데 걸리는 시간은 몇 배만큼 늘어나는지 보는 것이다. 우리는 똑같은 입력값이라도 당연히 더 빠른 시간 안에 입력을 처리하는 알고리즘을 선호한다. 즉 걸리는 시간이 줄어들수록 시간 복잡도는 작아지며, 시간 복잡도가 작은 알고리즘이 좋은 알고리즘이다. 시간 복잡도에 대해서 설명하기 위해 똑같은 목적을 가진 두 개의 알고리즘을 살펴보겠다. 두..
GD프로젝트 리액트 심화반 마지막 주 차가 시작되었다. 새롭게 배운 내용과 마지막 결과물 그리고 느낀 점을 서술하겠다. 목차 1. 새롭게 배운 내용(SEO, 웹 성능 지표) 2. 마지막 결과물 및 추가 기능 3. 느낀 점 1. 새롭게 배운 내용 1. SEO 더보기 SEO(Search Engin Optimization : 검색엔진 최적화)는 네이버나 구글 검색 엔진에 뭔가를 검색했을 때, 내가 만든 사이트가 검색 결과에 더 잘 나타나도록 하기 위한 작업이다. 검색 엔진은 우리가 입력한 검색어를 가지고 그 검색어와 일치하는 웹사이트를 찾게 된다. 웹사이트를 찾는 방식은 웹사이트의 html 파일이나 메타 태그들을 한 번 훑어보는 방식이다. 그래서 웹 개발자들은 내용물에 특정한 인덱스를 만들어서 검색 엔진이 내..
GD프로젝트 리액트 심화반 4주 차가 시작되었다. 이번에도 새롭게 배운 내용과 결과물들을 설명해보겠다. 목차 1. 새롭게 배운 내용(Badge, RealTimeBase) 2. 4주 차 과제 및 느낀 점 1. 새롭게 배운 내용 1. Badge 더보기 Badge는 PC 뷰에 비해 모바일 뷰같이 매우 작은 화면 공간을 효율적으로 사용하고 간편성 또한 추구하기 위해 단축화시킨 모양이라고 생각하시면 된다. (몰론 PC 뷰에서도 많이 쓰이기도 한다.) 위 사진은 페이스북 애플리케이션에서 사용하는 Badge이다. 왼쪽에서부터 타임라인, 내 홈피(?), 단체, 알림, 메뉴 기능인데 이걸 일일이 PC 뷰의 메뉴들처럼 이름으로 나열했으면 공간도 부족하고 이쁘지도 않았을 것이다. 그래서 많은 모바일 어플리케이션에선 Badg..
GD프로젝트 리액트 심화반 3주 차가 시작되었다. 이번에도 새롭게 배운 내용과 결과물들을 설명해보겠다. 목차 1. 새롭게 배운 내용(immer, redux-action, Debounce, Throttle, useCallback) 2. 3주 차 과제 3. 배운 내용 프로젝트에 적용 1. 새롭게 배운 내용 1 -1 immer, redux-actions 더보기 사실 2주 차에 배웠던 것들인데 그때는 배운 내용들이 정리가 안되어서 3주 차에 쓰고 있다.. 3주 차에는 redux를 더욱 쉽고 이용하기 간편한 모듈들에 대해 배웠다. redux-logger : 웹상에서 redux의 action이 일어날 때마다 콘솔에서 action 내역을 이쁘게 보여주는 모듈 이런 식으로 action이 일어날 때마다 action 이전..
GD프로젝트 리액트 심화반 2주 차가 시작되었다. 이번에도 새롭게 배운 내용과 결과물들을 설명해보겠다. 목차 1. 새롭게 배운 내용(비동기, callback, Promise, OAuth, 웹 저장소) 2. 2주 차 과제 3. 배운 내용 프로젝트에 적용 1. 새롭게 배운 내용 1 - 1 비동기 더보기 Promise를 언급하기 전에 동기와 비동기부터 설명하겠다. 자바스크립트는 동기적인 언어이다. 동기적인 것이 무엇이냐 하면은 동기 (Synchronous: 동시에 일어나는) 말 그대로 동시에 일어나는 뜻인데 프로그래밍적인 개념으로 말하자면 요청과 그에 대한 결과가 동시에 일어나는 것이다. function add(a,b){ return a + b; } let a = 3; let b = 6; let c = add..
GD프로젝트 리액트 심화반 저번 주 프론트엔드의 꽃 수업을 다 들은 후 이번 주에는 리액트 심화반이라는 새로운 강의를 듣게 되었다. 이번 5주 차에 있었던 일을 바로 기술해보겠다. 목차 1. 새롭게 배운 내용(scope, Object, Function) 2. 1주 차 과제 1. 새롭게 배운 내용 1 - 1 Scope 더보기 scope는 어떤 하나의 데이터가 어느 정도의 범위를 가져 영향을 주는지의 대한 개념이다. function fn(){ int a = 1; } fn(); system.out.println(a); 자바나 c++을 배웠다면 위의 코드가 이상하다고 생각할 것이다. 왜냐하면 함수 밖에서 함수 안에 있는 a를 접근하면 분명 오류가 일어나기 때문이다. 즉 함수 안에서 선언된 a는 밖에서 접근할 수..
GD프로젝트 리액트 기초 프론트엔드의 꽃, 리액트 마지막 주차도 드디어 끝이 났다. 이번 5주 차에 있었던 일을 바로 기술해보겠다. 목차 1. 새롭게 배운 내용 2. 결과물 3. 5주동안 배운 내용 간단 요약 4. 후기 1. 새롭게 배운 내용 더보기 1 - 1 middleware 미들웨어는 단어 뜻 그대로 소프트웨어와 운영체제 가운데에서 중재하는 역할을 한다. 미들웨어 종류는 여러 가지인데 우리가 5주 차에 배웠던 미들웨어는 firebase내에 있는 firestore와 redux 데이터를 연결하는 미들웨어인 redux-thunk를 배웠다. redux-thunk는 액션과 리듀서 가운데에서 중재하는 역할을 한다. 더 자세히 말하자면 사용자가 이벤트를 일으켜 액션이 일어나고 -> 미들웨어가 실행 -> 리듀서 ..
GD프로젝트 리액트 기초 프론트엔드의 꽃, 리액트 4주 차를 무난히 끝을 냈다. 4주 차에선 firebase 위주로 실습을 하였다. 프론트가 백 요소도 다뤄보니 재미가 있었다. 목차 1. 새롭게 배운내용 2. 결과물 1. 새롭게 배운 내용 더보기 1주 차에 서버리스를 배웠었다. 서버리스는 서버나 스토리지 같은 물리적인 하드웨어를 구입하지 않아도 AWS 같은 클라우드 시스템에서 서버를 빌려오는 것이다. 이런 클라우드 서비스에는 IaaS(인프라형 서비스), PaaS(플랫폼형 서비스), SaaS(소프트웨어형 서비스) 등등 있는데 우리가 배운 Firebase는 BaaS(Backend as a Service)가 된다. Firebase는 데이터베이스 서버 제공, 소셜 서비스 연동, 파일 시스템 등을 API 형태로 ..