코드스테이츠 부트 캠프 프로그램을 시작한 첫 날이다.오늘 주요 학습 내용을 3가지로 정리해 보자면 페어 프로그래밍이란?, 수도코드란?, 질문이란? 이렇게 3가지 개념이 있었다.더 나아가 요약해서 보자면페어 프로그래밍이란? 두 명 혹은 여러 명이 한 팀이되어 코딩이라는
코딩이라고 말하기 부끄러울 정도의 코딩을 오늘 처음 시도해 봤다. 정확하게 말하면 자바스크립트 이용법을 익혔다고할까? 오늘의 주 내용은 페어프로그래밍이 아닐까 싶다.코딩이라는 단어를 상상했을 때 컴퓨터 앞에 앉아 혼자서 하는 컴퓨터 작업이라는 이미지가 머리에 떠올랐었
오늘은 조건문 시험과 문자열 공부및 시험을 봤다.겉으로 보기에 쉬워서 가벼운 마음으로 임했다가 생각보단 높은 난이도에 참 고생을 했다. 앞으로 다가올 공부에 비해서는 아주 미세한 난이도겠지만 말이다.조건문에 대해서는 2일차에 언급했으니 오늘은 짧게 문자열에 대해서만 언
반복문이란 제목 참 사악하다. 그냥 반복만 시켜주면 되는 줄 알았는데, 여기서 이런 난이도를 만나다니...반복문은 같거나 비슷한 코드를 여러 번 실행시켜야 할 경우에 쓰는 구문이다. 설명도 참 쉽고 식도 쉽다. 그런데 문제를 만나는 순간 엄청난 난이도에 깜짝 놀랐다.f
오늘은 코딩 주 수업을 마무리하는 금요일이다. 물론 주말에 계속 복습을 하느라. 일주일이 끝난건 아니지만, 그래도 수업 주를 마무리했더니 기분이 많이 좋다.HTML, CSS, JavaScript 의 정의를 쉽게 정리해 보자면HTML === 뼈대 CSS === 겉 모습
자바 스크립트에는 3가지 거듭제곱 방식이 있다.x라는 숫자를 거듭제곱하여 결과가 pow일 때이다.
첫 주말이 다가왔다. 하루에 거의 12시간씩 컴퓨터 공부를 하니까 첫 주만에, 목이 너무 뻐근하고 허리도 점점 무리가 오는 것 같다. 그래서 생각한 방법이 앨범과 전공책으로 모니터를 띄워서 목에 부담을 줄이자 라는 생각을 해서 바로 실행에 옮겼다. 목 상황은 눈에 띄게
코드스테이츠 단톡방에서 스터디하고 싶은 사람들을 모아서 첫 스터디를 진행했다. 다양한 사람의 의견을 들으니 내가 생각 하지도 못한 방향의 접근 방식이 있다는 것을 알게 되었다.주의사항이 있을 때는 먼저 그 조건을 명시해라!이중 반복문이 진행되는 방식이 두 개가 오늘 스
오늘은 벨로그 작성 후에도 공부할게 많아서 짧게 쓰겠다. CSS는 구조의 외부와 내부를 꾸미는 역할을 담당한다. 스타일링 도구여서 HTML 없이는 단독으로 존재할 수 없는 집에 비유하면 인테리어 같은 존재이다. >글자의 색상을 변경하는 color 글꼴의 속성을 변경
오늘은 우분투 재설치 문제로 새벽 4시까지 작업을 해서 길게 쓰진 못할 것 같다.계산기계산기 만들기 페어프로그래밍을 진행 했다. 계산기를 만들면서 전에는 손도 못댈 일들을 자신감 있게 만지고 상당히 많은 부분을 해결했다는 점에서 매우 흡족함을 느꼈다.우분투 재설치 필자
어제와 마찬가지로 오늘 하루종일을 투자한 것이 듀얼부팅 문제이다. 어제 포스터에서 언급한 것처럼 윈도우에서 우분투를 왜 그런지 모르겠지만 강제로 삭제하는 일이 일어났었다. 엄청난 좌절을 느꼈었지만, 인간은 실수를 반복한다고 했었던가. 다시 또 듀얼부팅 세팅을 했다. 윈
처음으로 터미널을 이해하고 쓴 날이다. 내가 터미널을 쓸 때 그저 구글에서 나온 명령어를 복사를 해서 붙혀넣기 하는 것이 끝이었다. $pwd/home/username현재 위치를 확인하는 명령어이다.이라고 화면에 출력된다$mkdir폴더를 만드는 명령어이다.$ls폴더와 파
저번에 우분투를 완전히 날려버린 나에게 소잃고 외양간을 고치는 법을 알려주는 파트이다. Git은 형상 관리 시스템(버전 관리 시스템) 중 하나 이다. 끊임없이 수정과 테스트를 시도하는 개발자들에게는 꼭 필요한 시스템이다. 수정사항이 늘 맞는다는 보장이 없기 때문이다.G
어제 스터디에서 처음으로 github를 사용해서 스터디로 만드는 페이지의 버전을 관리할려 그랬는데, 어제 생각지도 못한 git사용 어려움에 부딪혀서 오늘 각자 공부해서 만나기로 했었다. 그리고 오늘 사용을 성공했다!어제 실패했던 이유는 fork를 하지 않았다는 것을 발
코드스테이츠를 진행한지 2주가 지났다. 코드스테이츠
git과 github에 대한 개념이 완전히 정립되지 않은 상태로 배운대로 따라하기만 할려 그래서 git 명령어들에 대해서 이해가 잘 안된 것이었다.우선 git이 github에서 만든 명령어 인줄 알았다. 둘이 합쳐진 개념으로 이해했던 것이다. 거의 하드디스크와 구글 클
오늘의 코딩공부는 배열이다.배열은 순서가 있는 값으로, 순서는 인덱스(index) 값은 요소(element)라고 한다.여기서 주의해야 할 점은 index는 0부터 시작한 다는 것이다.이렇게 볼 수 있다. 참고로위에서 numbers라는 배열의 0번 index 요소가 '1
우선 객체이야기를 하기 전에 오늘 배열에서 추가적으로 배운 것을 기술하겠다.arr의 길이가 0이면 빈 배열이다. 아래처럼 비교해 봐야된다고 생각해 보기 쉬운데.이렇게 false가 출력된다. JavaScript는 두 개는 주소가 다른 서로다른 빈 배열이라고 인식한다.여기
CSS라는게 공부하면 공부할 수록 어렵다. 접근성은 좋은데, 자신이 의도한 바를 정확하게 이루기가 너무 어렵다. 오늘 공부한 내용은 CSS를 직접 작성하는 실질적인 내용에 대한 것들이여서 헷깔리는 용어들 정리를 하겠다. 1. 후손 셀렉터, 자손 셀렉터 이렇게 한 번
오늘은 개념적으로 이해하는 공부를 진행했다.공부 내용은 1. 자료형 2. 스코프 3. 클로저 순으로 진행 하였다. 자료형은 두 가지로 나누어 진다. primitive type(원시 자료형)과 reference type(참조 자료형)이다.primitive type의 종류
트위터 클론 코딩을 하다가 크나큰 교훈을 얻었다. HTML파트는 거의다 완성을해서 CSS를 작성했는데, 화면을 옮기니 완전히 망가지는 것이었다... 내가 의도한 바랑 너무나도 빗나가는 결과에 실망이 밀려왔다. 원인을 분석해 보니 단위를 혼합해서 써서, 화면을 옮길때 서
Array 메서드들을 찾아보니 내가 공부한 애들보다 훨씬 다양한 애들이 있어서 추가적으로 공부했다.splice 메서드는 이미 공부한 메서드였다. 그런데 제거하는 메서드로만 알고 추가하는 것을 공부하지 않았던 것이다. splice메서드를 50%만 활용할 뻔 했다.spli
새로운걸 배우는 것 보다 어려운게 꼼꼼히 복습하는 것이라고 생각한다. easy to learn hard to master 가 정말 잘 맞는 것이 JavaScript다. 오늘은 지금까지 배운 JS의 모든 것을 전체적으로 복습하는 시간을 가졌다. 아직 많이 부족하다는 것
DOM을 한국말로 하면 문서 객체 모델이라고한다.(Document Object Model)처음에 봤을때는 아무리 봐도 자바스크립트인데 왜 따로 DOM이라고 할까? 라는 의문점을 갖게 되었다.그럴만 한게 초창기에는 자바스크릅트와 DOM이 밀접하게 연결되어있었지만, 추후
오늘의 주가되어 배운 내용은 이벤트 객체이다.이벤트 객체가 이해가 좀 오래걸렸다. 이벤트 JavaScript 형식으로 되어있는데 , 안을 파고들면 완전히 다른 내용이 있기 때문이다.DOM 파트가 전체적으로 JS와 형식이 비슷해서 처음에 이해가 되었다고 생각하는데, 약간
이렇게 오늘 TIL을 시작한다.물론 처음부터 고차함수가 이해가 된 것은 아니다. 고차함수에 대해 이해하려고 엄청난 시간을 쏟아 부었다.그런데, 고차함수에 대해 이해하지 못하게 아니였다. 내가 어려워하는 이유는 함수에 대해 정확히 알고있지 못한 것이었다.처음 함수를 배울
React라는 신세계를 공부했다. 물론 JavaScript 기반이여서 완전한 신세계는 아니지만, 익숙한 JavaScript로 이렇게 편리하게 웹을 구현 할 수 있다는 것이 신세계였다.리액트는 세가지 특징이 있다.1.선언형 2.컴포넌트 기반 3.범용성 이다.그중 내가 가
react라는 새로운 산을 만나서 고차함수 복습은 눈물을 머금고 주말로 잠시 미뤄놨었다. 그래서 토요일이 되자마자 복습을 했다.코플릿을 다시 풀고 개념을 다시 읽으며 이해를 했다.지금 가장 자주 쓰고 있는 고차함수는 Map, Filter, Reduce 3가지 인데, 이
과제 제출을 항상 시간보다 여유있게 했는데, React파트만 시간을 빡빡하게 써서 제출했다. 문제가 어렵기 보다는 문제를 너무 어렵게 이해해서 접근법을 잘 못잡았다.이 것을 배웠다.복잡하게 생각해서 복잡하게 구현하면, 같이 코딩하는 사람이 코드를 읽기도 힘들 뿐더러,
SPA(Single Page Application)은 서버를 완전히 새로 불러오는 것이 아니라, 필요한 데이터만 서버에서 전달받아 블라우저에서 해당하는 부분만 업데이트 하는 방식으로 작동하는 웹 애플리케이션이나 웹 사이트를 말한다.예를 들어서 Facebook을 들어가보
오늘의 주 공부내용 props, state + 이벤트 핸들러
내일 오늘 시험 준비를 위해서 그다지 길게 작성하지는 않을 것이다. 내일 블로깅은 코딩에 뛰어든지 한달이 된 기념으로 뒤로 돌아보는 시간을 가지려고 한다.
느낀점은 내가 잘못된 공부를 했구나. 라는 생각이 들었다.알고리즘을 잘 풀고, 항상 페어를 할때, 과제를 제출하고 시간이 남아서 내가 코딩에 대한 재능이 있다고 생각했다.그래서 공부에 대해 느슨한 생각을 했던 것 같다.내가 공부한 방식은 제대로 작동방식에 대한 고민보다
통과는 했지만, 너무나 부족하다고 느낀다. 이메일이 올때까지 많이 떨렸다.다음 HA에서는 이메일이 늦게와도 긴장하지 않을 만큼 잘봐야겠다.그러기 위해서는 자기주도적인 학습이 가장 중요하다.지금까지 해왔던 공부들은 선형적이라고 할 수 있는, 정해진 틀에 따라가는 방법으로
시험을 봐서 느낌 부족함에 대한 글을 바로 직전에 언급을 했었다. 그래서 월요일이 오기 전까지 부족함을 느낀 부분에 대해서 구글과 유튜브에 찾는 중이다. 생각보다 방대한 자료들이 상세하게 나온다. 내가 충분히 찾아서 알 수 있던 내용들이었는데, 몰랐다는 사실이 창피하다
전에 목록에 적은 생활코딩 React강의를 보고있고, 다른 유튜브 강의들도 다양하게 보고있다.하나의 강의를 의존해서 배웠던 부분들에 부족함을 느끼고, 다양한 시도를 해 보는 것이다.다행히 코딩 유튜브 강의들은 여타 강의들에 비해 양질이 높은 강의들이 많다.지금 주로 보
객체지향을 공부하면서 느낀점은 객체 지향은 와플기계같다고 생각했다. 딸기 와플, 바닐라 와플 등등 다양한 와플을 만들때, 결국 근본은 와플이니 하나의 정해진 틀(class)은 만들어서 그걸 바탕으로 다양한 종류의 와플(instance object)를 만드는 것이다.객체
재귀함수를 다룰려면 머리속에서 재귀함수를 어느정도는 돌릴 수 있는 능력이 필요한 것 같다. 그래야지 재귀함수를 쓰기 위해서 문제를 나누는 과정을 진행해서 세분화 시켜야지 비로서 재귀함수를 쓸 수 있기 때문이다.다행히도, 이 파트에 대해서 이해가 타 사람들에 비해서 빠르
원래 자신의 부족함을 알게되는 것은 두려운 법이다. 멘탈이 좀 흔들리긴 했지만, 다시 다잡고 돔 공부를 기초부터 다시했다.부족한것을 부족하지 않다고 알고있는 것이 가장 무서운 법이라고 했다.부족한것을 모르면 전혀 다시 공부 할 수도 없이 있다가 나중에 중요한 순간에 맞
코딩 공부와 별로 상관 없어보이는 뜬근없는 이야기로 시작하자면, 오늘 네비게이션이 아니라 내비게이션이라는 것을 처음 알았다. 자료구조 중 그래프(Graph)를 공부하다가 글쓴이가 네비게이션과 내비게이션을 혼합해서 쓰길래 궁금해서 국립국어원에 검색을 해봤다. 그랬더니 정
그래프에 대한 이해는 쉬웠지만, 막상 알고리즘을 풀려 그러니 너무 어려웠다.그 이유를 생각해보니, 그래프에 대한 낮은 이해도가 문제인 것 같다.그래프에 대해서 모양과 어떠한 방식인지는 이해했지만, 생성 방식과, 탐색 방식에 대한 이해를 못한 것이다.항상 그래왔듯이 이
스터디로 서로 모르는 것을 질문하며 서로의 지식을 전달하는 스터디로 시작했지만, HA를 통과하고 나서 난이도가 급 상승했다. 전에는 문제를 풀면 이해를 하고 푼 것이었지만, 정확히 이해가 안된 상태에서 문제를 푸는 상황이 발생했다.스터디에서 서로 이해를 못하니 서로 질
주말은 보통 다음주를 예습하는데 쓰였었는데, 예습을 하려고 해도 페어와 코플릿 하기전까지, 가장 어려운 알고리즘 파트를 공부하지 못해서 이론을 미리 읽어보는게 주였다.그런데 이론은 보통 쉽고 활용이 어려워서 공부에 지장이 있었다.지금까지는 알고리즘이 보통 쉬워서 문제가
내가 필요한 것은 빠르게 진도를 나가는 것이 아니라, 기초를 다지는 것이다.나는 취업을 하는 것도 중요하지만, 기반을 다지는 것이 훨씬 중요하다고 느꼈다.그저 따라가기만 하면, 나중에 취직했을때, 구글링을 해도 이해도 부족으로 인해 눈으로는 보고 있어도 활용을 못하는
컴퓨터는 충분히 빠르다고 생각해서 비동기의 중요성을 잘 몰랐는데, 예제를 보니 한 번의 중요성이 이해가 됐다.만약 동영상이 있는 웹페이지를 보려고 할때, 동기적인 페이지라면, 동영상이 로딩될때 까지, 아무 동작도 못하고 기다려야 된다는 것이다.그래서 비동기를 사용하는데
오늘은 어제에 이어서 비동기에 대해서 공부했는데, 비동기를 공부하다 보니 작동 원리가 궁금해서 주로 작동원리를 찾아봤다. 자바스크립트는 싱글쓰레드프로그래밍 언어라고 알고 있는데, 어떻게 비동기적 구현이 가능한지 궁금했다.
HTTP는 특정 상태를 담고 있지 않으며, 이전 요청이나 다음요청을 기억하지 않는다.HTTP로 서버와 클라이언트가 통신해서 HTTP가 상태를 저장한다고 착각할 수 있는데,만약 네이버에서 쇼핑을 한다고할때, 카트에 수량을 선택해서 담은다고 할때 HTTP는 통신 규약일 뿐
OR연산자와 AND연산자는 내가 기본적으로 알고 있는 수학적인 기능 빼고는 미쳐 모르고 있었다. 애매하게 알고있음의 무서움을 다시 경험했다. 내가 이미 알고 있다고 생각하는 내용이라서 찾아보지 않고 넘어간 것이다.(찾지 못하면 마지막 값이 반환된다.)내가 눈으로 보는
호이스팅(hoisting)은 var변수나 function declaration(함수 선언)들이 자동적으로 제일 위로 올라가는 것이라고 생각하면 된다. 호이스팅이 된 이후 부터 코드가 나타난 순서대로 자동적으로 실행이 된다.예를들어 함수 표현식으로 매개변수 두 개를 더해
객체의 마지막 프로퍼티를 쉼표로 끝낼 수 있다.항상 객체의 끝을 쉼표( , )를 쓰지 않고 끝냈었다. 내가 배운 방식은 그렇게 기 때문이다. 만약 쉼표가 있다면 오타인줄 알고 지웠었다.그런데 오늘 배운 것으로는 마지막 프로포티에 있는 쉼표를 trailing(길게 늘어지
주로 공부한 내용은 react에서 State 끌어올리기와 Effect Hook에 대해서 공부했지만, 아직 다 정리가 안되어서 내일 정리 하도록 하겠다.순수함수는, 함수의 입력한 값 만이 함수의 영향을 끼치는 함수를 말한다. 다르게 말해보자면, 다른 값이 개입된다면, 그
주말 포함 하루 10시간 이상 공부를 하다보니, 힘든 점이 많았지만, 아주 재미있게 시간이 지나갔다.나에게 스쳐지나간 시간들을 희로애락으로 정리해보겠다.기쁨은 주로 새로운 것에서 느꼈다.매일매일 재미있는 일이 하나씩 지나갔다. 일주일에 2일은 새로운 사람을 만나서 새로
이름 그대로 작은 노드 서버를 구현하는 것으로, 지금까지는 클라이언트 입장에서 http 요청을 보내서 받는 것을 구현하는 것을 주로 했다면, 이번에는 서버 입장에서 http 요청을 받아서 클라이언트에게 분배하는 과정을 구현하는 과제를 진행 한 것이다.살면서 컴퓨터를 다
프레임워크 Express로 구현한 서버는 http 모듈로 작성한 모듈보다 미들웨어 추가가 편리한 장점이 있다.http 모듈로 작성하는 서버는 가내 수공업처럼 하나 하나 다 만들고 response를 보내는 것을 한개를 구현하면, 또 다시 처음부터 다음꺼를 구현해야하는 불
전의 과제 보다 어려웠던 점이라면 클라이언트가 구현되어있던 mini node sever와 달리 클라이언트가 구현되어있지 않아서 눈으로 확인하지 못하고 서버를 구현해야 한다는 것이 어려웠다.공부를 하면서 CORS를 사용해 봤지만, CORS에 대해 정확히 알고 사용하지는
사용은 했지만 완벽하게 이해한 것이 아니라서 주말을 맞이해서 정리해본다.Express를 자세히 보려면 Express 홈페이지를 참고하는 것이 가장 좋지만, 한글번역이 일부만 되어있어서 간결하게 설명되어 있음에도 불구하고, 언어의 장벽으로 해석의 시간이 곁들여져 약간의
자바스크립트에서 아주 큰 숫자를 넣거나 소수점이 큰 숫자를 넣을때 0을 줄일 수 있는 방법이 e를 사용하는 것이다.예시와 같이 숫자 뒤에 e를 넣고 뒤에 넣고 싶은 0의 갯수를 e뒤에 넣으면 된다.소수로 활용하고 싶을때는 e-뒤에 임의의 숫자 n을 넣으면 n만큼 소수점
머리가 아파올때가 CSS에 속성을 줄때면 MDN등의 사이트 등을 읽어보면 되니까 해결 방법이 있지만, 클래스나 아이디의 이름이 더 이상 생각나지 않을때면 그렇게 골치가 아플 수가 없다.자기만 새로만든 클래스의 클래스명을 인터넷에서 찾아볼 수도 없는 노릇이여서, 작명소를
스토리 북은 지금은 vue.js등을 지원하지만 처음에는 React를 지원하기 위해 만들어져서 내가 현재 주로 사용하고 있는 React와 정말 찰떡궁합이다.Story북을 사용하는 방법은 Storybook homepage에서 Tutorials 탭에 들어가면 어떤 포스트나
지금 충분히 잘해와싸는 얘기도 듣고 60일 전엔 for문도 어려워하고 function도 몰랐던 일반인이 컴퓨터적 사고를 갖기란 쉽지않은데, 이정도면 많이 발전했다는 얘기도 들었다.하지만 언제나 부족하다고 느껴진다. 공부시간이 부족하고, 블로그 쓸때마다 오늘 배운것을 정
알고리즘을 공부하다보면 한번 쯤 O(log n)으로 구현하라 O(n)으로 구현하라는 이야기를 본 적이 있을 것이다.학창시절에 수학책에서 log를 본 경험이 있으니, 대충 이해는 하고 있었지만, 오늘 궁금증을 풀기위해 검색해 보았다.주 내용은 노마드 코더 Big O를 참
주제를 위해서 참고한 자료는 생활코딩 Redux 수업소개, Redux homepage, React Redux 튜토리얼 그리고 FLUX 강의이다. 리덕스에 대해 이야기 하기 전에 보고 지나갈 리덕스의 3가지 기본 원칙이 있다. Single source of truth
블로그에 특별한 내용은 적지 않고 준비하는 자세를 얘기하고 싶다.첫 번째 HA를 너무 어렵게 봐서 이번 HA를 준비하는게 저번보다 훨씬 긴장된다.하지만 저번에도 작성했듯이 나는 시험을 통과하기위해서 공부하는 것이 아니고, 코딩 그 자체를 공부하고 싶어서 공부하는 것이다
현재 직업들은 AI에 의해 대체되냐 아니냐에 대한 문제로 직업이 없어질 수도 있다는 공포에 기로에 서있다.10년후 AI와 로봇으로 대체될 직업 이라는 기사를 보면 단순 데이터 입력 작업과 육체적 집업, 그리고 반복적인 일을 수행하는 직업이 대체될 것이라고 예상되고 있다
지금까지 배웠던 개념들을 모두 복습은 마췄지만, 지금 자료구조에서 살짝 헤매는 중이다.전에 부터 마주했던 걸림돌이, 시험때가 되니 아주 크게 불어나 있다.첫 번째 HA때는 알고리즘을 잘 풀고, 기능 구현적인 면이 부족해서 고생을 했는데, 이번에는 반대가 되어버렸다.두
첫 번째 제출은 1시간 만에 끝났는데, test2의 테스트 1개가 통과를 안해서 그 것을 해결하는데 추가를 2시간이 걸렸다.계속 걱정했던 자료구조는 자신있는 인접행렬이 나와서 쉽게 풀었다. dfs와 bfs가 나오지 않아서 HA는 잘 풀었지만, 꼭 시간을 내서 정리해야겠
저번에 React에서 너무 고생을 해서 React에 대해 훨씬 많은 공부를 했더니 시험 시간보다 여유있게 끝맞췄다.React - Redux에 대해 나올 줄 알았는데 주 내용은 React Hooks 였다.저번 HA때 가장 고생했던 props와 useState에 대해서는
The Benefits of SSR, CSR 어서 와, SSR은 처음이지 이 자료들을 참고했다.SSR은 Server Side Rendering의 줄임말이다.이름 그대로 서버에서 페이지를 렌더링해서 그대로 클라이언트에게 보내는 것이다.클라이언트가 서버로 GET요청을 보내
문제 : 2차원 배열 M \* N 배열을 시계 방향으로 회전시키는 함수를 만들어라. (빈 배열을 입력 받은 경우, 빈 배열을 리턴한다.)이 함수는 첫 번째 인자로 2차원 배열을 받고 두 번째 인자로 회전한 횟수 를 받는다. 우선 한 번 회전할때 마다 배열의 index들
첫 번째 HA는 감을 잡지 못해서 다 풀지는 못한거에 비해 이번 HA는 다풀고도 시간이 남아서 통과할 것은 짐작하고 있었다.그런데 이번 시험이 쉬웠던 이유 중에서 좀 문제를 일부로 쉽게낸 느낌이 있었다. 수강생들이 통과를 못하다 보면 너무 쌓이게 되어서 관리가 힘들어지
섹션 3으로 들어가기전 당장 다음 주 부터 알고리즘에 대한 공부가 있어서 복습할 겸 프로그래머스 문제를 풀어봤다. 그 중 k번째 수를 정리해 볼까 한다. > 문제 : 배열 array의 i 번째 숫자로 부터 j번째 숫자까지 자르고 정렬했을때, k번째에 있는 수를 구하라
이 사이트를 주로 참고했다.리눅스 터미널에서 폴더나 파일의 사용권한을 확인하고 싶으면 확인하고 싶은 폴더나 파일이 있는 장소로 cd를 이용해서 이동한 뒤 아래처럼 'ls -l' 이나 줄임말인 'll'을 터미널에 입렵하면 사용 권한을 확인할 수 있다.터미널에 사용권한을
알고리즘 코플릿을 했는데, 요즘 toy문제들을 풀면서 알고리즘에 대한 자신감이 떨어질 무렵 알고리즘을 새롭게 푸는 방식들에 대해서 공부하기 시작했다.오늘 처음으로 배운 알고리즘 풀이는 Greedy Algorithm이다.처음 Greedy Algorithm이 무엇인지에 대
순열과 조합은 처음 재귀적인 생각을 하는 것이 힘들지 한 번 적응하고 나면 조금씩 바꿔서 응용해 나가면 된다.가장 기본적인 문제 순열로 간단한 문제를 만들어 보자면문제 : 중복이 없는 임의의 알파벳으로 이루진 배열을 num개를 뽑을때, 가능한 조합을 배열로 나타내는 함
기본이 되는 데이터베이스를 생성하는 명령어 CREATE DATABASE 로 이름이 testDB 인 데이터 베이스를 생성하기데이터베이스를 사용하려고 할때는 USE 뒤에 데이터 베이스 이름을 넣으면 된다. 데이터 베이스를 사용한다고 명시 함으로써 테이블을 만들거나 수정,
어제는 데이터베이스 관련 명령어들을 정리했으니, 오늘은 SQL 명령어들을 정리하겠다.가장 많이 사용되는 것은 SELECT 와 FROM일 것이다.SELECT 는 데이터 셋에 포함될 특성(column)들을 특정한다.FROM 은 어느 테이블에서 가져올지를 명시하는 것이다.S
생각보다 짧은 시간안에 공부할 수 있었다. 주말로 미뤄두긴 했지만, 평일에도 한번 봤어서, 시간을 들여서 공부했더니 금방 이해가 되었다.하지만 JavaScript처럼 활용방안이 무궁무진해서, 내가 원하는 정규표현식을 빠르게 작성하려면, 더 많은 연습이 필요할 것이다.드
GROUP BY, HAVINGGROUP BY는 데이터를 조회할 때 그룹으로 묶는다.만약 column1이라는 column으로 묶고싶다면이라고 작성하면 된다.HAVING은 GROUP BY 로 조회된 결과를 필터링한다.위의 SQL문에서 아래처럼 HAVING을 추가하면 된다.
SQL을 공부하면서 Java Script를 처음 공부할때 처럼 설렘을 느꼈다.새로운 공부를 시작하는 것은 너무 어렵지만 거기에 뒤따르는 재미도 있다.지금까지 리액트를 구현하고 껐다 키면, 지금까지의 자료들이 다 사라지는 것을 보면, 내가 아는 웹 사이트들과의 괴리감이
이해되지 않았던 부분들이 이수안컴퓨터연구소 - SQL Full Tutorial Course를 봤더니 한번에 이해가 되었다. 1시간 11분이나되는 영상이지만, 처음부터 끝까지 보는 시간이 하나도 아깝지 않을 정도로, 정리가 잘 되어있으니, SQL에 대한 시간이 지나서 어
MVC는 Model-View-Controller의 약자로 사용자 인터페이스, 데이터 및 논리 제어를 구현하는데 널리 사용되는 소프트웨어 디자인 패턴이다. 출처: MDN - MVC관심사 분리를 통해 더 나은 업무의 분리와 유지보수를 편하게 만들어 준다.모델: 데이터와 비
내가 어려웠다고 생각했던 Express와 함께 적용이 되니 너무 어렵다는 생각이 들었다. 그래서 이번 주말은 Sequelize와 ORM Express를 주로 공부할 예정이다.우선 sequelize를 npm을 이용해서 설치해보면를 터미널에서 입력하면 된다.그리고 cli
전에는 금요일이 되면, 아무리 주말에도 공부를 하더라도 다음날이 주말인 것 자체만으로도 좋았다.그런데 최근 섹션3로 들어오면서, 금요일이나 주말이 되어도 기쁘지 않고 내일은 어떤 공부를 할까 근심이 쌓여가는 일상이 되어버렸다.그래서 공부 방법을 다음과 같이 바꿔보려고
주말의 시작인 토요일에는 어제 정리하지 못했던 MongoDB공부를 정리로 시작해야겠다. 전에 공부했던 SQL 기반의 MySQL과 다르게 MongoDB는 NoSQL로 분류되는 크로스 플랫폼 도큐먼트 지향 데이터베이스 시스템이다. mongo는 humongous(엄청난)
어제에 이어서 MongoDB의 CRUD를 정리하겠다. 그전에 MongoDB Document의 특징인 "_id" Field에 대해서 이야기 해볼까 한다. MongoDB에서 "\_id" Field의 Value는 document들을 구별하는 역할을 한다. 만약 다른 모든
그 질문에 대한 답이 오늘부터 공부하는 인증 그리고 보안이다.HTTPS(Hyper Text Transfer Protocol Secure Socket layer)는 HTTP protocol의 암호화된 버전이다. 클라이언트와 서버 간의 모든 커뮤니케이션을 암호화 하기 위해
이번 블로그는 얄팍한 코딩사전 - 세션 vs 토큰을 참조했다. 저번 블로그에서 다룬 세션의 서버의 너무 많은 메모리를 차지하는 단점을 보안한 방법이 토큰 기반 인증이다. 세션 기반 인증은 유저의 정보를 서버에 담기 때문에, 유저가 서버에게 제한된 정보를 요청할 때 마
OAuth는 인터넷 사용자들이 비밀번호를 제공하지 않고 다른 웹사이트 상의 자신들의 정보에 대해 웹사이트나 어플리케이션의 접근 권한을 부여할 수 있는 공통적인 수단으로서 사용되는, 접근 위임을 위한 개방형 표준이다. 이 매커니즘은 여러 기업들에 의해 사용된다. 아마존,
오늘과 내일은 컴퓨터 공학 기초를 공부하는 시간이라서 배운 개념들을 가볍게 정리하는 식으로 기록 하겠다. ASCII 아스키코드는 American Standard Code for Information Interchange의 약자로 미국 정보 교환 표준 부호라는 뜻이다.
가바지 컬렉션은 메모리 관리 기법 중의 하나로, 프로그램이 동적으로 할당했던 메모리 영역 중에서 필요없게 된 영역을 해제하는 기능이다. 출처: 위키백과 - 쓰레기 수집C언어와 C++에서는 수동 메모리 관리를 가정하고 설계되어서 개발자가 수동으로 메모리를 관리했지만, 자
프로세스(process)는 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램을 말한다.프로세스라는 말은 생소하지만 모두 한번씩 본적 있다.윈도우에서 control + alt + delete를 눌러서 작업관리자를 켜서 오류가 생긴 프로그램을 강제 종류할때 프로세스라고
이번주의 공부 내용은 인증/보안 기초와 컴퓨터 공학 기초였다.둘다 개념적으로 이해하는 것이 가장 중요해 보여서 개념적 이해를 중요하게 생각하고 공부했다.구현이 정말 어려웠다.지금까지는 server를 구현하거나 client를 구현하거나 둘 중 하나를 하면서 배웠는데, 이
캐시(Cache)는 '숨어있는', '은닉된'이라는 뜻이다.데이터를 미리 복사해 놓은 임시 장소를 가리킨다. 캐시를 이용하지 않았을 때의 데이터 접근 시간이 오래 걸리는 경우나 값을 다시 연산하는 시간을 단축하기 위해 사용한다.데이터를 요청할때 매번 서버에서 가져오는 것
git을 버전관리 시스템으로 두고 협업할 할때 여러 개발자들이 서로 개발한다면 병합을 해서 하나의 파일로 만들어야 될 것이다.이때 쓸 수 있는 것이 git merge 명령어 이다.git merge는 뻗어나갔던 branch를 병합하는 것이다.우선 A branch로 전환을
Node.js 홈페이지에 가면 Download링크와 함께 Node.js가 무엇인지 한 문장으로 설명해 주고있다.Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. Node.js®는 Chrom
클라우드 컴퓨팅이 등장하기 전에는 위에 사진처럼 전산실 같은 공간에 다량의 컴퓨터를 배치하고 인터넷을 연결해서 서비스를 제공했었다.그런데 문제가 생길때 해결을 하기위해 상시적으로 인력이 대기해야되고, 그에 따른 비용이 많이 소모된다.또한 초기비용 문제도 있다. 인터넷
오늘의 주제는 도커이다. _logo.svg.png) 우선 리눅스 컨테이너에 대해서 알아보는 것으로 시작하겠다.
HTTP 쿠키HTTP 쿠키(웹 쿠키, 브라우저 쿠키)는 서버가 사용자의 웹 브라우저에 전송하는 작은 데이터 조각이다. 브라우저는 그 데이터 조각들을 저장해 놓았다가, 동일한 서버에 재요청 시 저장된 데이터를 함께 전송한다. 쿠키는 두 요청이 동일한 브라우저에서 들어왔는
이번 코스에서는 어려운 점은 없었지만, 새로 배운 것들이 많았다.특히 도커는 유용하고 신기했다.리눅스 기반으로 개발을 하면서 가장 궁금했던 점을 해결해 주었다.내가 개발한 프로그램이 사람들이 가장 많이 사용하는 윈도우에서 작동을 안할까봐 가장 걱정이었기 때문이다.Git
오늘 정리할 주제는 API이다. > API는 Application Programming Interface로 응용 프로그램 프로그래밍 인터페이스 이다. 응용 프로그램에서 사용할 수 있도록, 운용체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 뜻
처음에 함수도 제대로 이해하지 못했던 내가 어느덧 react, redux등 프론트 엔드 공부와 sql, NoSql 등 백 엔드 공부를 하고 있다.공부엔 끝이 없다는 말이 프로그래밍에는 더 확실하게 적용되는 말인 것 같다. 공부하지 않으면 언젠간 뒤쳐진다.하지만 공부를
알고리즘 테스트는 항상 난이도가 높지 않았아서 걱정은 별로 하지 않았는데, 이번 알고리즘 테스트는 너무 쉬웠다.테스트를 시작하고 사이트에 접속이 되지 않아 10분이 지연되었는데 정작 테스트를 시작하고 20분 만에 제출을 완료했다.그래서 시험 언급에 대해서는 무의미할 것
이제 준비단계만 끝난 것이라고 생각한다.실질적으로 무에서 유를 창조하는 프로그래밍은 아직까지 해본적이 없다.하지만 실망할 필요는 없이 지금부터 시작하면 된다.솔직히 실망스러울 정도로 난이도가 낮았다.빨리빨리 수강생들을 배출시켜서 없애려는거 아닌가 생각이 들 정도였다.H
그 중에서 정리할 것은 HA 조합과 연관이 되는 소수만들기 문제를 정리해 보려고 한다.문제 : 주어진 숫자 중 3개의 수를 더했을 때, 소수가 되는 경우의 개수를 구하려고한다.숫자들이 들어있는 배열 nums가 매개변수로 주어질때, 서로 다른 3개를 골라 더했을때 소수
오늘은 프로젝트 준비를 위한 브랜치 명령어 들을 정리해 볼까 한다. 우선 git으로 관리하고 싶은 파일을 지정하야할 것이다. git 저장소로 초기화하는 명령어인 init을 사용하면된다. 아니면 이미 만들어져있는 프로젝트에 참여하기 위해서는 git clone 명령어로
HA는 성공적으로 통과했고 이제 수료하기 전에는 두 번의 프로젝트가 남았다.그 중 첫 번째 프로젝트로 나아갈 시간이다.팀원은 4명 중에서 3명이 모였고 나머지 한 명은 아마 랜덤으로 배정되지 않을까 싶다.실력보다 커뮤니케이션 위주로 모였고, 이것이 어떠한 결과를 불러올
오늘은 세팅에 대한 회의를 주로 했다.서로 준비해온 아이디어 중 만들고 싶은 사이트를 정했다.그 아이디어를 바탕으로 ToDo List를 작성했는데, 만들고 싶은 기능들은 많지만 시간적 제약으로 3가지 단계로 분리를 했다.Bare - minimum은 필수적으로 존재해야
내일 부터 시작할 프로그래밍을 위해서 SR(Software Requirement)를 오늘 마무리 했다. 어제는 공부를 위해 18시까지만 팀 미팅을 하고 이후에는 개인공부를 했었는데, 오늘은 마무리 짓기 위해 오전 9시부터 24시까지 점심, 저녁 시간만 제외하고 팀 미팅
오늘은 Header만드는 작업을 했다.제작을 완료하면 페이지 5 개에 모두 쓸 수 있기 때문에, 열심히 작업했다.그런데 예상하지 못한 문제들에 많이 부딪혔다.img 태그로 아무리 받아올려고 해도 svg파일이 화면에 나타나지가 않았다.여기서 많이 해맸다.위와같은 식으로
라우팅 준비를 하고.Header와 Footer 컴포넌트는 모든 페이지에서 유지가 됨으로 라우팅 밖에다 놓고, 지금까지 만든 MainPage와 SignUpPage를 작업했다.Styled - Component에 계속 경고 메시지가 떴지만 문제가 없어서 해결을 하지 않고 있
오늘 리액트 작업을 하다가 위처럼 날짜를 받아서 버튼의 숫자를 날짜만큼 만드는 작업을 해야될 상황이 있었다.익숙한 for문으로 작성을 하고있었는데, 왠인일가 계속 오류가 뜨는 것이었다.그래서 혹시 React에서 for문을 사용하는 방식이 다른가 해서 찾아 봤는데, 리액
DB에서 받을때 어제는 INTEGER로 생각을 해서 map함수를 짰었는데, DB에서 파일 받는 형식이 달라진 것이다.DB에서 Array의 형태로 데이터를 받을 것이고 예시를 아래와 같이들겠다.button데이터들에 각각의 id와 완료여부 즉 눌러있는지 안눌러있는지를 판단
일주일이 순식간에 지나갔다프로젝트를 하기에 실력이 너무 부족한게 아닌가라고 생각해서 프로젝트를 시작하기 전에 한달을 더 공부해야 할까 고민했었는데, 프로젝트하면서 공부가돼서 배우는 것이 많을 것이라고 생각했다.다행히 그 생각이 많았고 스트레스를 받는 일들도 많지만, 정
오늘부터 서버와 axios를 통해서 통신을 시작했다.카카오로 로그인 OAuth요청을 보냈는데, 처음시도한 소셜로그인이라서 그런지 생각보다 오래걸렸다.1시간 만에 끝날줄 알았는데, 생각보다 오래걸려서 약 3시간 정도 소모가 되었다.처음에는 백엔드 분들이 Post Man으
이번 프로젝트는 리덕스를 제외하고 리액트만으로 프로젝트를 해보기로 했었다.프로젝트 종료가 2일 남은 시점에서 props 지옥을 맛보면서 리덕스의 중요성을 알게되었다.작은 프로젝트라서 리덕스가 비효율적일 것이라고 판단했는데 판단이 잘못되었었다.다음 프로젝트에는 꼭 리덕스
아직 백엔드에서 아직 DB가 완성이 되지 않아서 DB를 직접 확인 해보지는 못했지만, 더미 데이터와의 통신은 확인 했고 문제가 없었다.그 후 css를 마지며, 코드를 정리하고 있다.내일이 프로젝트를 마치는 날인데 걱정이 많다.사이트를 종료하거나, 새로고침을 해도 sta
첫 프로젝트라 에러 핸들링에 대한 시간을 미쳐 생각하지 못해서 어제와 오늘 합쳐서 4시간 밖에 잠을 청하지 못하는 고난의 행군시간을 겪었다.그래서 오늘 KPT회고를 작성하면서 아래와 같이 작성하였다.문제 발생시 프론트엔드와 백엔드가 모여서 state와 console을
내가 의도대로 만든 첫 웹애플리케이션이자 첫 프로젝트가 끝났다.프로그래밍 공부에 있어서 약 100일 동안 공부한 부분보다 직접 작성한 10 일여간의 시간이 더 배운 것들이 많았다.리덕스 사용이번 프로젝트에서는 리액트 만으로 프로젝트를 작성하였다.처음에 Mock-up을
참고문헌 :모던 JS - 커링Velog - 커링
일주일후기 -- 오늘 일주일 후기는 프로젝트 후기에서 전부 써버린 내용들이여서, 프로젝트 이후 이야기를 아주 짧게 작성하고 로컬 스토리지에 대해 작성하겠다. 프로젝트 중 부족한 부분들을 느껴서 편하게 휴식을 하고 싶었지만, 주말을 이용해서 공부를 했다. 우선 금요일은
Final Project 첫 날First Project의 팀원들과 마음이 잘 맞아서 팀원은 그대로 유지되었다.첫 프로젝트는 시간이 매우 짧았고, 배운 내용을 복습하는 차원에서 진행했기 때문에 주제에 대해 많은 생각을 하지는 않았다.기능을 구현 해 보는 것에 주 목적을
프로젝트 2일차금일 주 활동 내용은 Wiki 초반단계와 Team Rules 정하기, 그리고 새로운 프로젝트의 Page 갯수 결정이다.처음은 약 7개의 페이지를 작성하려고 했으나, 페이지의 갯수보다는 개개의 페이지의 완성도가 중요하다는 토론 결과로 우선 Bare-Mini
프로젝트 3일차프로젝트 3일차에 들어서면서 프로젝트 페이지나누기 + 전체적인 디자인 구성을 끝맞췄다.원래는 WireFrame까지 작성을 완료하려고 했지만, 저번 First Project를 겪으면서 SR의 중요성을 한층 더 깊게 깨우쳤다.그래서 디자인 및 색감 구성 그리
프로젝트 4일차오늘의 주 활동은 WireFrame과 FlowChart 작성이었다.First Project때 WireFrame과 FlowChart를 시간에 쫓겨서 전체적인 틀만 잡는 식으로 진행을 했었다.이번 Final Project는 일주일이라는 시간을 두고 SR을 진
프로젝트오늘 프로젝트는 API문서 작성이 주를 이뤘다.First Project에서는 API문서의 중요성을 잘 몰랐었어서, Front-End가 WireFrame을 작성하는 동안 Back-End가 API문서 작성을 해달라고 부탁했었다.그렇게 PR을 끝내고 코딩을 시작하자
프로젝트드디어 Final Project 코딩을 시작했다.Header를 제작하려고 했지만, 기본 작업들을 추가로 진행하느라고 컴포넌트 생성과 Logo만 넣어놨다.styled-components를 통해서 globalStyle을 진행하는 법을 서칭해서 배웠다.App.js에서
프로젝트프로젝트 7일차이자 일주일 후기를 작성하는 일요일이다.이번주에 SR은 금요일에 성공적으로 마무리 했고 지금은 본격적인 프로젝트로 들어가는 과도이기이다.본격적으로 Main Page를 제작하기 전에 Header을 제작하면서 반응형을 공부하고 있다.반응형이 완성되면
프로젝트드디어 Header을 1차적으로 완성했다.Final Project의 첫 컴포넌트 완성이라서 감격스럽다.물론 아직 CSS적으로 고칠 부분과 JavaScript를 추가적으로 적용해야 하지만 말이다.반응형을 처음 시도하지만 성공적으로 적용 시켰다.오늘 새롭게 배운 점
프로젝트오늘 주요 프로젝트 기여는 main페이지 첫 부분을 만들고, Footer 제작 그리고 스크롤 바 설정이다.main 첫부분은 이미지 외에는 임펙트가 너무 적다는 생각이 들어서 추가적으로 보완할 예정이다.Header를 처음에 제작해서 다른 페이지들과 상호작용을 생각
프로젝트오늘이 프로젝트 2자리 수로 들어온 날이다.저번 프로젝트에 비해서 진행속도가 빠른 동시에 느리다.빠른점은 하나 하나 새로운 기능을 새롭게 습득하면서 적용하는 속도가 빨라졌다.비교가 되지 않을 정도로 서칭속도와 적용속도가 빨라진 것이 느껴진다.느린점은 하나의 컴포
프로젝트오늘은 프로그래밍이 어렵기 보다는 약간 심적으로(?) 힘든 날이었다.바로 Footer를 다시만들어야 했기 때문이다.화요일에 Footer를 만들어서 모든 페이지들에 다 적용했었지만, Main페이지에 Footer을 넣으면 scroll에러 때문에 넣을 수가 없게 된
프로젝트오늘은 Main Footer에서 부족한 부분을 추가하고, Main Page PC 버전 레이아웃을 완성했다.항상 계획한것 보다 더 많이 달성하고 있었는데, 처음 작업을 예상할때 Mobile버전도 생각하고 있었는데, Mobile버전은 완성하지 못했다.옛날이었으면 이
프로젝트2주간 쉴틈없이 달려서 오늘 오전은 재충전 시간을 가졌다.여유를 가짐으로써 더 달릴 기운을 얻는것이라 생각한다.오늘 오후에 주요 한 내용은 Main Page 반응형과 그리고 아래 올릴 버튼이다.버튼은 처음으로 인터넷에 있는 CSS를 전혀 참고하지 않은 결과물이다
프로젝트오늘은 프로젝트에서 많은 전진을 하지 못했다.세로로 줄였을때 어색한 반응형들을 수정했기 때문이다.Tesla같이 한페이지에 한 컨텐츠씩 나오는 페이지를 목표로 하다보니세로 반응형도 생각하면서 가로축도 생각해야되서 어려운 점이 많다.그래도 이때 아니면 도전해 볼 기
프로젝트!youtubeZNbJWiHIQQA오늘은 추석 연휴의 시작이어서 할머니를 뵈러가기 전에 프로젝트를 진행하기 위해서 오전에만 작업을 했다.할머니 댁에서도 작업을 하기 위해 컴퓨터를 가져 왔지만, 아침에 일어나서 위의 노마드 코더 영상을 보면서, 나도 추석을 통해
프로젝트추석때 제사를 지내러 내려갔다가 저녁을 먹고 올라와서 프로젝트를 다시 시작했다.오늘은 Main Page FadeIn 작업을 하기위해 고군분투 중이다.Styled-Components에서 랜더링시 FadeIn이 되게 하는 방법은 찾았지만, 아직 스크롤을 해서 해당
프로젝트추석연휴의 마지막 날이다.내일 다시 레이스를 시작하기 전에 Order Page의 레이아웃을 잡는 중이다.4개의 Page 중 2개의 Page를 담당하게 되어버려서 범위가 크긴 하지만 그만큼 발전을 많이 할 수 있을 것이라고 생각한다.이제 프로젝트가 약 2주 반밖에
프로젝트오늘은 Order Page 레이아웃잡기를 주로했다.레이아웃 잡기는 이제는 많이 해봐서 예전처럼 오랜시간을 소요하지는 않는다.order page가 많이 진행된것 같지만 이제 아래 그림 처럼 제품을 받아 Map을 사용해서 동적으로 제품들을 보여줘야하는데, 매우 어려
Dev LogMainPage 마지막에 다시보고 싶은 section을 누르면 부드럽게 slide되어서 올라가는 애니메이션을 구현했다.스크롤을 내릴시 video가 나타나는 애니메이션을 구현하기 위해 gsap라이브러리를 공부하고 있다.MainPage 버튼을 눌렀을때 각 페이
프로젝트요즘 프로젝트 진행속도가 느려진것 같아서 심적으로 힘들다.초반에 속도가 매우 빨라서 더 많은 것들을 할 수 있을줄 알았는데 아쉽다.그래도 계속 노력을 하면서 하루하루 진전을 이루고 있다.오늘 자동으로 ASMR이 나오게 하는 방법을 공부하고 성공했다.내일 이것을
프로젝트오늘은 슬라이딩되는 사이드바와 ASMR장작소리를 끄고 키는 버튼을 만들어서 넣었다.계속 반응형만 만지다가 오랜만에 다른 컴포넌트를 만들어보니까 재밌었다.저 슬라이딩되는 사이드바는 transform을 공부하느라 너무 오래걸렸다.내일부터는 다시 order페이지를 수
프로젝트오늘은 동적 랜더링 완성을 계획했었지만 완성은 내일로 미뤄졌다.생각보다 작업이 어렵고 서버와 협력해야 될것이 많아서 그렇게 되어버렸다.그래서 대신 Modal을 만들었다.랜딩페이지 작업보다 오더페이지가 더 큰작업이 될 것 같다.최선을 다해서 빠른 시일내로 마무리
프로그래밍오늘은 order페이지를 전체적으로 마무리 작업을 했다.물론 이제 redux가 들어가야지 본격적인 작업을 시작하는 것이겠지만, 서비스 시 모습을 보여줄 수 있는 것만으로도 좋다.내일은 모레 들어가는 redux 작업이 시작되기 전에 redux공부를 할 것이다.그
Dev Log내일 들어갈 Redux를 위한 공부타이머 제작헤더 수정메인 페이지 배경 수정타이머 만드는 것이 힘들었다.그래도 알고리즘 테스트 공부를 하던 기억을 떠올려서 setInterval과 useEffect를 사용해서 완성시켰다.추가적인 Redux공부를 할 예정이다.
프로젝트Redux에 대한 괜한 공포감이 있었다.이해가 잘 안되는 코드와 많은 리덕스 강의들에서 이해하지 말고 그냥 외우라는 말이 그 공포감을 키웠다고 생각한다.그런데 이번 프로젝트에 Redux가 필요할 것 같아서 Redux를 다시 공부하는데 ReduxToolKit에 대
프로젝트Redux작업을 거의다 마쳤고, Order페이지와 헤더의 변화를 주었다.삭품이 얼마나 담겨있는지 시각적으로 보여주고, 상품이 없을때 오류가 난것처럼 보이지 않게 화면에 보여준다.처음으로 프로젝트를 진행하면서 정규표현식을 사용했고, 유용해서 프로젝트가 끝난 후 더
프로젝트어제 계획했던 대로라면 오늘부터 서버와 통신을 시작해서 Axios 작업을 하려고 했는데, 서버에서 오류가 생기는 바람에 일정이 늦춰졌다.그래서 우선 Order페이지에 어색했던 CSS를 고치고, Redux를 어려워 하는 팀원을 도와서 Redux작업을 도와줬다.나머
프로젝트이전 프로젝트에 이어서 이번 프로젝트도 localStorage를 사용했다.그런데 이전 프로젝트에서는 redux를 사용하지 않아서 생각보다 쉬운 작업이었지만 이번 프로젝트에서는 redux를 사용해서 서칭하기가 힘들었다.예제들은 redux-toolkit이 아닌 re
프로젝트현재시각이 새벽 4시이고, 내일도 아침부터 작업을 해야돼서 오늘 블로그는 일기형식으로 간단하게 작성하겠다.Axios작업을 본격적으로 시작했다.Axios가 저번프로젝트부터 나를 따라다니면서 괴롭히는 느낌이다.내일도 Axios와 함께 배움의 시간을 가져야겠다.Dev
프로젝트어제 다른페이지의 오류로 인해 해결하지 못했던 Axios 문제를 오늘 해결했다.로딩 인디케이터를 넣어서 서버 요청이 지연 되면 오류처럼 보이지 않게 만들었다.소셜로그인이 완벽히 구현되었다.프로젝트의 마지막이 다가오고있다.내일은 개인발표를 위해 하루종일 투자할 에
프로젝트개인발표를 준비하고 있다.일정상으로 내일까지 PPT와 영상녹화를 해서 올려야 한다.주제는 로컬스토리지로 잡고있다.로컬스토리지를 왜 사용하게 되었나, 왜 로컬스토리지인가에 대한 주제로 이야기 할 계획이다.Dev Log클라이언트 배포전 추가 작업을 했다.클라이언트
프로젝트오늘은 하루종인 프로젝트 기술발표 준비를 하고 녹화를 했다.5분여의 불과한 시간의 발표지만, 정확한 정보를 이야기하고 싶어서 노력을 많이했다.주제는 새로고침시 로그인 상태 유지였다.추가에 오늘 준비한 대본을 첨부하겠다.Dev Log개인 기술발표 업로드XSS 보안
프로젝트Main페이지의 디자인적요소가 부족하다고 느껴지는데, 추가적인 아이디어를 내기가 좀 힘들다.추가적인 수정을 하기는 어렵다는 것을 깨닫고 다음 개인 프로젝트 때는 처음부터 더 디자인적 요소를 생각해야겠다는 생각을 했다.어제 녹화한 개인 기술발표를 피드백을 받고 추
프로젝트Main Page 디자인과 Main Page에 넣을 각 페이지들 gif 영상들을 촬영했다.이제 프로젝트의 막바지에 다다르고 있다.더 이상 프로젝트를 수정할 일은 별로 없고, 노션페이지와 Github페이지들을 수정해야 한다.힘들었지만, 너무나도 재미있던 프로젝트였
프로젝트오늘은 Notion과 Github Wiki를 꾸몄다.Shields.io에 대해 처음 알게 되었는데, Wiki를 꾸미는데 매우 도움이 된다.내일이면 프로젝트 프리젠테이션 PPT를 만들고 녹화를 한다.이제 정말 끝이라는 생각이 든다.내게 남은 것은 취업 뿐이다.개인
프로젝트내일은 프로젝트 마지막 날이다.이미 배포는 완료했고, 프로젝트 녹화도 완료 했다.아쉽운 점이 많지만, 발전한 점이 더 많다고 생각한다.내일 프로젝트를 블로그에 게시하겠다.그리고 바로 개인 프로젝트를 시작할 예정이다.이번 프로젝트에 대해서 셀프 Q&A를 했는데,
프로젝트오늘 드디어 파이널 프로젝트를 마무리했다.클라이언트와 서버를 배포를 함으로써 정말 마무리가 되었다는 느낌이 든다.팀원들과 퍼스트 프로젝트와 파이널 프로젝트 둘 다 함께하게 되었는데, 같이 한 달 반이 약간 넘는 시간을 같이 보내주고, 발전을 위해 노력해 주셔서
let과 constES6에서 도입된 let과 const의 차이는 간결하다.let과 const는 대부분이 비슷하나 재할당에서 차이가 난다.let은 재할당이 자유로우나 const는 재할당이 금지된다.주의할 점은 객체의 프로퍼티는 보호되지 않는다. 재할당은 불가능 하지만,
SSR과 CSR제목에 2를 붙힌 이유는 67일차에 내가 CSR과 SSR에 대해서 블로깅을 한 적이 있기 때문이다.전에 작성했던 블로그를 보니까 개념면에서 부족한 점이 보여 추가 설명을 해보려고 한다.SSR과 CSR 에서 R우선 R에 대해서 알아 보겠다.R은 렌더링을 뜻
알고리즘에 대해 조금 소홀 했던 점이 있어서, 오늘은 프로그래머스 문제 하나를 정리하려고한다.오늘 선택한 문제는 두 개 뽑아서 더하기이다.for문과 조합 두 가지 방법으로 풀어보려고 한다.for문을 사용한 풀이는 숫자 하나를 더 뽑고 싶으면 for문을 한개를 추가해서
3진법 뒤집기 -- 프로그래머스를 풀다가 새로 알게된 parseInt()함수와 toString()함수의 인자의 존재를 기록해 놓을려고 블로그에 작성하게 되었다. 3진법 뒤집기 > 문제: 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를
블로그 스타일 변경 -- 블로그에서 1일 1블로깅을 지키기 위해 연관되지 않은 내용을 한 게시글로 작성했었는데, 틀에 갇혔던 생각이었다. 하루에 2~3개를 작성하고 짧더라도, 비슷한 주제로 묶어야 겠다는 생각이 들었다. 여러 주제를 섞어놓으면 가독성이 떨어지고, 나중에
폰켓몬오늘은 문제를 해석하는 능력을 길러볼려고 문제 설명이 긴 문제 중 Pick해봤다. 하루 45분 동안 2~3문제씩 풀고있어서 10월이 지나기 전에 2단계로 넘어갈 계획이다.프로그래머스: 폰켓몬문제 요약: 연구실에 있는 총 N 마리의 폰켓몬 중 N/2마리를 고를 수
개인프로젝트GlobalStyle 설정 (stlye reset 및 주 폰트 설정)헤더 범위 및 로고 제작개인프로젝트를 본격적으로 시작했다.아직 전체적인 틀과 기능들을 생각하는 중이여서 오늘은 헤더 틀을 잡고 로고를 만들었다.개인적으로 공부할때 사용하기 위해서 시작은 전체
약수의 개수와 덧셈프로그래머스: 약수의 개수와 덧셈문제: 두 정수 left와 right가 매개변수로 주어질때, left에서 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함
개인프로젝트헤더와 풋터 완성반응형 설정현재시간 화면에 출력하기
문자열 내 p와 y의 개수정규표현식을 연습할겸 쉽게 풀고 넘어가려고 했지만, 생각보다 런타임 에러로 고전해서 정리하려고 블로그를 작성한다.문제: 대소문자를 구분하지 않고 문자열 s에 'p'의 개수와 'y'의 개수를 비교해서 같거나 둘다 없으면 True, 다르면 Fals
개인프로젝트TypeScript와 면접준비를 하면서 남는시간에 개인프로젝트를 아주 조금씩 진행중이다.퍼스트프로젝트와 파이널 프로젝트때 내가 모달을 주로 제작하지 않았고, 모달 외부 배경을 클릭하면 모달이 닫히는 기능도 구현하지 못해서 아쉬웠다.그래서 이번 개인프로젝트때
TypeScript 오류검사 추가 설명만약 자바스크립트에서 string타입을 지정하려면 아래같이 선언할 수 있다.그런데 string의 약자인 str이라고 명시 해놓고 잘못하다 숫자를 지정해 줄 수도 있다. 아래와 같이 말이다.자바스크립트에서는 str은 그냥 변수명이기
TimeKeeperAM|PM, 시간, 분 설정모두 설정했을시, 알람시간 보여주기 및, 설정 완료 버튼 활성화설정 완료를 하지 않고 버튼을 누를시, 모든 설정을 완료해 달라는 메시지 나옴설정 완료를 누를시 리덕스에 state로 설정 내용이 저장됨, 모달 꺼짐개인프로젝트인
TimeKeeper오늘 알람기능을 완성했다.CSS에 별로 신경을 쓰지 않아서 예쁘지는 않지만, 기능적으로는 생각한 대로 전부 구현이 되었다.면접준비와, TypeScript공부를 하느라 하루에 약 2시간씩만 시간을 사용해서 3일정도 걸렸다.아직까지는 에러를 발견하지 못해
특정화면에서 Footer 숨기기파이널 프로젝트 cloudi를 하면서 Footer에서 문제가 일어났었다.React로 SPA를 구현하느라고 Switch 밖에 Footer를 놓다 보니, 원하지 않은 파트에서도 Footer가 렌더링 되는 현상이 일어 났다.TimeKeeper를
line-height (이전)내가 이전 부터 사용하던 방법이다.vertical-align: middle 이 아무리 해도 적용이 안되어서 사용했었다.사용 방법은 아래와 같다.HTMLCSSbox의 크기인 height와 line-height의 크기를 같게 하는 것이다.(잘
첫 면접 준비지금까지 10군데 정도에 서류를 넣었고, 한 회사에서는 과제전형을 한 회사에서는 면접을 보게 되었다.지금은 면접을 보게 된 회사를 준비중이다.면접을 준비하면서 글을 작성하고, 여러가지 면접영상들을 보면서 깨닫게 되어서 기록을 남긴다.지극히 개인적인 기록 &
TypeScript 공부 -- 개인프로젝트 TimeKeeper를 JS코드로 작성하고, TypeScript(이하 TS)로 리팩토링을 하려고 했다. 자연스럽게 TS공부보다 TimeKeeper 코드를 작성하는 시간이 늘어났다. 이력서를 작성하다보니 생각보다 TS를 요구하는
첫 면접 -- 오늘 첫 면접을 봤다.
타입스크립트타입스크립트는 이름 그대로 자바스크립트 + 타입이다. 자바스크립트는 런타임에서 오류를 발견할 수 있는 반면, 코드 작성 단계에서 타입을 체크해 오류를 확인할 수있다.타입스크립트를 사용해야 하는 이유타입스크립트는 코드의 에러를 사전에 예방할 수 있다.만약 ad
타입스크립트를 공부하다가 다음과 같은 에러가 났다.'const' declaration must be initialized. ts(1155)'const' 선언은 반드시 초기화되어야 한다. ts(1155)TypeScript강의를 듣다가.이라는 부분을 var 사용을 줄이기
Union TypeUnion Type은 or 연산자를 생각하면 된다.하나 이상의 타입을 사용할 수 있게 해주는 것이다.만약 정해지지 않은 unKnown이라는 변수를 string 나 number 값 중에 하나를 사용할 것이면 아래와 같이 선언 하면 된다.특징으로 예시와
About EnumsTypeScript에는 JavaScript에는 없는 Enums라는 Type이 있다.서칭해본 결과 다른 프로그래밍 언어에서는 일부 존재하는 Type이다. (Java, CEnums는 열거형으로 명명된 값의 집합을 이루는 자료형이다.TypeScript에서
이미 오래전에 배웠긴 했지만, 사용해본 적이 거의 없어서 기억속에서 멀어졌었다.하지만, 이번에 복기하는 겸 다시 공부 후 정리해보려고 한다.class우선 알게된 것이 있어서 먼저 언급해 볼까 한다.화살표 함수는 사용하지 못한다그 이유는 화살표 함수는 자신의 this가
리덕스의 장/단점많은 사용자들이 동시에 다양한 작업을 하는 페이스북 같은 서비스에서 힘을 발휘한다. 다른 기기에서 다른 사용자들이 실행하는 액션을 받아 로컬의 작업과 병합해 보여준다.사용자가 어떤 액션을 했고, 어떤 데이터가 어떻게 변경되었는지 쉽게 관찰할 수 있다.(
JavaScript를 공부하기 시작한 뒤 19일차에 스코프와 클로저에 대해 언급한 적이 있다.이를 기억하지 못하고 있다가 블로그를 되돌아 보던 중 발견했는데, 추후에 정리하겠다고 언급만 해놓고 정리를 하지 않았다. 오늘에서야 정리를 해본다.스코프(Scope)스코프는 이
this 공부 & 정리자바스크립트에서 나에게 어려운 파트가 뭐냐고 물어본다면 바로 this를 꼽을 것이다.지속적으로 공부하고있지만, 아직도 다 이해가 되지는 않고, 이런 것이구나 하는 대략적인 정보를 습득한 느낌이다.그래도 블로그를 정리하면서 한번 정리해 보면 더 이해
러닝 자바스크립트면접을 준비하면서 공부를 하던 중 기초를 다질 책이 필요하다는 느낌이 들었다.주로 코드스테이츠와 추가적으로 구글 서칭, 유튜브 강의 등으로 프로그래밍 공부를 했는데, 순서가 중구난방하게 섞여버렸다.기초를 공부하다가 이해가 완전히 되기도 전에 다음 단계로
!youtube0Emq5FypiMMCI/CD란?CI/CD란 간단하게 말해서 어플리케이션 개발 단계부터 배포때까지 모든 단계들을 자동화해서 효율적이고 빠르게 사용자에게 빈번히 배포할 수 있도록 만드는 것을 말한다.CI는 Contunous Integration(지속적인 통
Node.js란?아래 사진은 Node.js 홈페이지의 랜딩페이지에 나와있는 문장이다.여기서 2가지 어려운 단어가 나온다. V8 과 런타임 이다.V8은 무엇이고 런타임은 무엇일까?V8은 C++로 작성된 오픈소스 자바스크립트 엔진이다. 자바스크립트를 바이트 코드로 컴파일하
JavaScript는 프로토타입 기반 언어이하 자료는 MDN에서 참고했다.JavScript(이하 JS)는 흔히 프로토타입 기반 언어(prototype-based language)라 불린다. 이는 모든 객체들이 메소드와 속성들을 상속 받기 위한 템플릿으로써 프로토타입 객
slice 와 splice의 차이점
면접에서 깔끔하게 대답하지 못한 개념들 정리 Hook이란? -- > Hooks는 리액트 v16.8에 새로 도입된 기능으로, 함수형 컴포넌트에서도 상태를 관리할 수 있다. 함수형 프로그래밍은 상태(State)를 배제하여 부수효과(Side Effect)가 없게 동작한
ES란?ES는 ECMAScript의 줄임말로, ECMA-262 기술 규격에 따라 정의하고 있는 표준화된 스크립트 프로그래밍 언어를 말한다. ES는 자바스크립트를 표준화하기 위해 만들어 졌다.여기서 스크립트 언어는 다른 응용 프로그램에 삽입되어서 동작하는 프로그래밍 언어
메서드 메소드 ?우선 가볍게 아이스브레이킹으로 이야기를 시작하자면 검색을 하면서 알게된 정확한 용어이다.서칭을 하면서 메서드에 대해서 검색을 하는데, 대부분 method를 메소드라고 작성하고, 일부는 메서드라고 적어있었다. 나도 자연스럽게 메소드라고 적다가 정확한 단어
오늘 면접을 보면서 'Virtual DOM은 무엇인가'에 대한 질문을 받았다. 대답의 어려움을 느꼈고, DOM에 대한 지식이 부족하다는 생각이 들어 정리해 보려고 한다.DOMDOM(Document Object Model)은 HTML과 연관있다.이름에서 나오는 Docum
_!면접을 준비하고 있어서 오늘 블로깅은 간단하게 작성한다 _ 러닝자바스크립트를 읽다가 용어를 정리한다. 식별자(identifier) -- > 변수와 상수, 함수의 이름을 식별자라고 부른다. 식별자는 다음과 같은 규칙을 따른다. 반드시 글자나, 달라기호($), 언더
REST의 가장 중요한 특성: 각 요청이 어떤 동작이나 정보를 위한 것인지를 그 요청의 모습 자체로 추론이 가능함.REST API에서는 HTTP 규약에 따라 신호를 전송한다.GET: 특정 리소스의 표시를 요청, 오직 데이터를 받기만 한다.POST: 특정 리소스에 생성요
188일간의 블로깅188일의 노력끝에 오늘 취업에 성공했다.짧지만 하루도 빠짐없이 달려온 나날이 모여서 결국 결과를 만들어냈다.내목표는 블로그를 200개 작성하기 전에 취업을 하는 것이 목표였는데 목표를 완수한 것이다.비전공자가 200일만에 취업을 한다니, 지금 생각하