분류 전체보기250 힘든 순간에 내가 일어설 수 있던 이유 www.notion.so/c505e9daa858467285df3c3dd38cca54 힘든 순간에 내가 일어설 수 있던 이유 나는 10월 회고록에 썼듯이 내가 개발을 하는데 맞지 않는 성향이란 걸 인정하면서 개발을 하지 말까라는 생각을 했었다. 그동안 개발을 하고 싶지 않았을 때 다시 잡았던 것은 내가 개발을 그만 www.notion.so 2020. 11. 16. 그래프 개념 정리 개요 알고리즘 문제 유형에 BFS, DFS는 빠질 수 없는 단골이기 때문에 글로 남기며 정리하고 기억하기 위해 작성합니다. 그래프의 개념, 용어, 자료구조로 표현한 그래프에 대해서 알아봅니다. 개념 그래프란? 두 개의 집합에 의해서 정의되는 구조이다. 그래프는 세 가지 종류가 있다. 무방향 그래프 방향 그래프 가중치 그래프 무방향 그래프, G = (V, E) V : 노드(node) 혹은 정점(Edge) E : 노드쌍을 연결하는 에지(edge) 혹은 링크(Link) 개체(object)들 간의 이진관계를 표현 n = |V|, m = |E| edge의 방향이 없음 ( (1,2) == (2,1) ) 일반적으로 두 정점을 연결하는 edge는 하나라고 가정함 스스로를 연결하는 self-edge 도 없다고 가정 **.. 2020. 9. 9. Typescript&Redux 2일차 정리 JS 기본 개념 훑기 JS에는 7가지 데이터 타입이 있다. primitive 타입 (Number, String, Boolean, Null, Undefined, Symbol) 그외는 Object(객체) 프로그래밍 언어는 서양에서 만들어졌기 때문에 `합리주의, 논리주의` 등의 사상에 영향을 받아 설계되었다. 그래서 기저에는 `1은 1이다, 2는 2다! 이는 절대불변이며 틀리지 않는 주장이다!` 와 같이 공리에 초점이 맞춰져 있다. 이러한 사상을 기반으로 시스템 및 프로그래밍 언어가 만들어져왔다. JS에 이를 적용한다면? `값`은 `변수`라는 것에 넣을 수 있다. `객체`도 `값`이고 `함수`도 `값`이다. 이들도 변수에 넣을 수 있다! JSX로 Virtual DOM 만듦 이 때 변경사항 있으면 새로운 Vir.. 2020. 9. 8. Typescript&React 강의 1일차 정리 질문) 강사님이 생각하는 CRA로 작성하였을 때의 이점과 단점? 이점: 간단하고 웬만한건 다 세팅되어 있다. 단점: 그 외의 모든 것들;; CRA가 제공하지 않는 구성들을 세팅하는 게 상당히 까다로움 초기에는 CRA로만 사용했을 때의 문제점을 느끼지 못하지만 프로젝트가 완성단계에 들어갈 때쯤에 문제를 느끼는 경우가 많음. CRA 커뮤니티 개발자들의 성향이 보수적임. 어떤 불편함을 느껴도 이를 반영시키는데 상당한 시간이 들어감 다양한 환경에 대한 대응이 어려움 - Test product, dev 환경, product 환경 등 여러가지 환경에 따라 앱이 빌드 되야하는상황이 있지만 CRA가 제공하는것은 local과 product 뿐. 다른 필요한 요소들을 주입할 수 없음. 그래서 강사님은 실제 product를.. 2020. 9. 4. Carousel Slider 제작 과정 개요 Carousel Slider 를 vanila JS로 제작한 과정을 소개합니다. 이 프로젝트는 Nomad Coder 강의에 영감을 받아 시작하게 되었습니다. (출처 : youtu.be/ODa9mY2bEEc) 강의에선 vanila JS를 어느정도 했다고 느낀다면 Carousel Slider 를 직접 만들어보라고 소개합니다. 여기에 느낀 점이 있어 제작을 하였고 배운 것들이 많아 글로도 정리하게 되었습니다. Slider 를 만드시는 다른 분들께도 도움이 되었으면 합니다. 기능 소개 자동 슬라이드 기능 왼쪽 화살표 클릭시 왼쪽으로 그림 이동 오른쪽 화살표 클릭시 오른쪽으로 그림 이동 동작 방식 HTML 상의 이미지는 총 7개로 이루어져 있습니다. 이때 실제로 사용되는 이미지는 5개입니다. 각 이미지들을 t.. 2020. 7. 11. React가 좋은 점(갑자기 생각난 거) 상태관리 하나의 데이터를 여러 파일에서 사용해야 되는 경우가 있는데 React를 사용하면 컴포넌트 간에 상태를 공유할 수 있기 때문에 이런 점을 편하게 해결 코드분리 화면의 구성요소 마다 컴포넌트로 분리하여 관리할 수 있음. JS로만 구현할 때는 영역을 잡아 따로 개발하는 것은 가능하지만 각 영역별로 나눈 파일을 간편하게 관리 하기는 쉽지 않음. React는 체계가 있기 때문에 보다 간편함. 또한 코드를 분리할 수 있기 때문에 유지보수 하기에 매우 편함 컴포넌트 생성 및 삭제될 때 원하는 이벤트를 줄 수 있는 거 JS로 구현할 때는 컴포넌트 상태를 감지하여 이벤트를 주는 것이 까다로움 React는 각 상태에 접근할 수 있는 Context API를 제공하여 개발할 때 유연하게 할 수 있게 됨 2020. 7. 9. 기록을 남긴다 기록 남기는 것의 중요성을 느끼고 글을 씁니다. 몇일 간 학습 방법에 대한 고찰을 해본 끝에 공부를 할 때 기록을 남기는 것이 중요하다는 결론을 내렸다. 두 가지 방법으로 실험을 했다. 블로그에 글을 쓰는 등의 자료를 남기지 않고 학습만 하는 것 블로그에 글을 쓰면서 학습을 하는 것 두 방법은 시간, 학습 효과 면에서 차이를 드러냈다. 들이는 시간 : 1번 방법 > 2번 방법 효과 : 1번 방법 > 2번 방법 결국 시간을 많이 들일수록 학습 효과도 높다는 결과가 나왔다. 이와 관련한 경험을 기술하고자 한다. 1번 방법으로 시간을 많이 들여서 학습을 했을 때, 결과적으로 머리에 남는가? 에 대한 의문이 생겼다. 사람의 머리가 DB가 아니라서 한번 읽고 바로 저장하는게 가능하지 않지만, 학습을 할 때 들인 .. 2020. 7. 8. 마스크 재고 관리 프로젝트 - 5 (AWS + 다른 서비스) 개요 바이러스가 만연한 현재에 개발자로써 주변사람들을 도울 수 있는 방법이 없을까 고민을 하다가, 마스크 재고를 알려주는 사이트를 만들어야 겠다 결심하였고 프로젝트에 대해 정리하는 글을 작성하였습니다. 프로젝트 글은 총 5편으로 나뉘어 작성될 예정이며 이번 글은 Let's encrypt + 서버추가 세팅 + Git 서버에 올리기에 대한 내용을 담습니다. 목차 작업 목록 Let's encrypt 로 인증서 만들기 Nginx 서버 추가세팅하기 Git 서버에 올리기 CS (Customer Service) 작업 목록 마스크 재고 서비스를 위해 필요한 작업은 아래와 같다. Let's encrypt 로 인증서 만들기 Nginx 서버 추가세팅하기 Let's encrypt로 인증서 만들기 Let's encrypt를 설.. 2020. 4. 14. 동적 계획법 개념정리 개요 동적 계획법을 공부한 내용을 정리하기 위해 작성하였습니다. 공부하신 분들께 도움이 되면 좋겠습니다. 개념 정의 : 두 번 이상 반복 계산되는 부분 문제들의 답을 미리 저장함으로써 속도의 향상을 꾀하는 알고리즘 설계 기법 큰 의미에서 보면 분할 정복과 같은 접근 방식을 의미합니다. 처음 주어진 문제를 더 작은 문제들로 나눈 뒤 각 조각의 답을 계산하고, 이 답들로부터 원래 문제에 대한 답을 계산해냅니다. 동적 계획법은 답을 여러 번 계산하지 않고 한 번만 계산하는데 이 계산 결과를 재활용함으로써 속도 향상을 꾀할 수 있습니다. 여기서 답을 메모리에 저장하는데 이 메모리의 장소를 캐시(cache)라고 부릅니다. 메모이제이션 앞서 캐시를 이용한 것처럼 결과를 저장하는 장소를 마련해두고, 한 번 계산한 값.. 2020. 4. 6. 이전 1 ··· 15 16 17 18 19 20 21 ··· 28 다음