분류 전체보기 71

입사 1년 회고

개발자로 입사한 지 오늘이 만 1년이 되는 날이다. 반년만에 글을 쓰기도 한다. 취준생으로서, 개발자로서 개발을 진행했던 날을 생각하며, 앞으로의 발전을 생각하여 회고록을 작성한다. 1년이라는 시간은 생각이상으로 빠르게 지났다. 눈 떠보니 1년이 지났고, 그렇게 2년도 지나게 될 것 같다. 회고록 작성을 위해 1년이라는 시간을 되돌아 가본다. (연말에 회고록 또 쓸거같은데..) 작년 11월 21일 소프트웨어 마에스트로 활동을 끝내고 바로 블라디보스톡으로 혼자 여행을 갔다. 11월 26일 입사가 확정이 된 상태였고, 마지막으로 쉴 수 있던 기간이었기에 호다닥 비행기에 몸을 실었다. 블라디보스톡에서 멍 때리기만 4박 5일 하고 귀국. 그렇게 11월 26일 지금 다니는 회사에 처음 입사하게 됐다. 특채 입사자..

회고 2019.11.26

Node.JS에서 MySQL Select data return 하기

MySQL 연결과 단순하게 데이터를 조회하는 것은 쉽게 될 것이다. 다만, Select의 결과를 return 시켜 사용하고 싶을 때 문제가 발생한다. query = async () => { return mysql.query("select * from table", (err, result) => { return result; } }될 것 같은 코드임에도 불구하고, return 시키는 값은 전혀 다른 결과값을 가져온다. mysql.query() 함수가 콜백 지옥에 빠지기 때문인데.. 이를 해결하는 방법으로 코드를 사용할 곳에서 callback 함수를 만들어야 한다. query = async (callback) => { return mysql.query("select * from table", (err, re..

Node.js 2019.06.08

안드로이드 키보드 Show/Hide 확인하기

안드로이드의 키보드가 현재 보여지고 있는지의 여부에 따른 개발이 필요할 때가 있다.자바로 된 내용은 종종 보이는데 코틀린이 안보여서.. (사실 바로 컨버팅 하면 되지만 귀찮으니..)글을 작성해본다. 방법은 어렵지 않다. 키보드가 올라올 뷰에 위와 같이 이벤트를 달면 된다.디스플레이의 크기와 현재 보여지는 화면의 크기로 비교하여 계산하는 방식이다.

안드로이드 2019.01.27

2018년 회고록 및 2019년 다짐

2018년 회고록 및 2019년 다짐 2018년의 마지막 12월 31일 퇴근하고 회고록 써야지 했지만.. 피곤했는지 종소리도 못듣고 자버렸다. 하루 늦은 회고지만 원래 회고는 18년이 모두 끝나고 써야 제맛 2018년은 개인적으로 상당히 좋았던 한 해였다. 그 동안의 노력이 보상 받은 한 해라는 느낌이 강했다. 개띠라 그런가 황금개의 해에서 더 좋은 기운만 받은듯 하다. 본격적으로 회고를 들어가려고 했는데 생각을 해보면 2018년도 결국 개발 이었다;; ㅋㅋ 1월. 취업 실패와 걱정으로 인한 우울 터지던 시기 이 때가 아마 가장 힘들었던 시기였던 듯 하다. 17년 하반기 하계 공채에 모두 떨어지고 취업에 대한 걱정이 한 가득 넘쳐흐르던 때였다. 개발을 손에 놓을 수 없어 스벅을 회사처럼 다녔고, 스벅 스..

회고 2019.01.01

letsencrypt 설치하기 / 설치 실패 해결방법

SSL을 사용하기 위해서는 인증서가 필요하다.그 중 유명한 인증서로는 letsencrypt가 있다.90일 주기로 재인증을 해야하지만 무료라는게 가장 큰 장점!(달면서 의외로 고생한건 함정..) SSL을 달아보기로 하자. 1. cerbot 설치> git clone https://github.com/certbot/certbot.git 2. cerbot 실행> cd cerbot> ./certbot-auto certonly --standalone --email 이메일 -d 호스트네임 열심히 y를 눌러주고 하면 된다.(스샷을 못뜨고 지워버렸다... ㅠㅠㅠ) ------------------------------ (참고) 일어날 수 있는 버그 1. 포트 겹침Problem이라는 경고와 port 80 이 적혀 있다면 ..

Server 2018.12.30

MobX

MobX 4가지 주요 개념을 가지고 있다. Observable State (관찰 받고 잇는 상태) 앱의 상태가 Observable State (관찰 받고 있는 상태) 변화된 부분을 감지 Computed Value (연산된 값) 기존 상태 값과 다른 연산된 값에 기반하여 만들어질 수 있는 값. 바뀐 값 Reactions (반응) Computed Value는 연산해야 될 때에만 처리되지만, Reactions는 값이 바뀔 때 해야 할 일임. ex) Observable State의 내부 값이 바뀔 때 console.log() 호출 Actions (액션; 행동) 상태에 변화를 일으키는 것. autorun 자동으로 그 값을 주시하여 그 값이 바뀔 때 마다 함수가 주시되도록 해줌. 하나하나 observe 해주지 않아..

React 2018.12.02

13. React 라우팅

13. React 라우팅 React는 싱글페이지다. 즉, 앱을 사용하는 과정에서 URL의 변경이 거의 없다. 브라우저 렌더링 덕분에 서버에 연결할 이유가 없어서이다. [ 문제점 ] 브라우저를 새로고침 하면 읽고 잇던 페이지의 원래 폼으로 돌아간다. 브라우저의 기록 기능은 접속해 잇던 사이틔의 단일 URL만 기록하므로 브라우저의 뒤로가기 버튼을 눌렀을 때 완전히 다른 사이트로 이동할 수 있다. 페이지의 내용을 변경하면서 URL은 변경되지 않았기 때문이다. 친구들에게 사이트의 특정 페이지를 공유할 수 없다. 첫 페이지와 URL을 구분할 수 없으므로 검색 엔진이 사이트를 색인할 수 없다. 13.1 라우터를 처음부터 구현하기 입력된 URL에 따라 맵핑하기 라우터로 재사용성 높이기 라우터와 매핑으로 앱 구현 13..

React 2018.12.02

12. Webpack 빌드 도구

12. Webpack 빌드 도구 빌드 도구 (or Bundler) 12.1 Webpack의 역할 자바 스크립트 파일을 최적화하여 적은 수의 파일로 사용자 요청을 처리하는 것 서버 부담 감소, 페이지 렌더링 시간 감소 모든 의존 모듈을 올바른 순서로 불러오도록 한다. 모든 의존 모듈을 한 번씩만 불러오도록 한다. 자바스크립트 파일이 가능한 한 적은 파일로 묶여지도록 한다.(이것을 정적 자원 이라고 부른다.) 12.2 프로젝트에 Webpack 적용하기 설치하고 의존 모듈에 설치하고 package.json에 저장한 다음 webpack.config.js로 Webpack 설정하고 개발 서버(webpack-dev-server)와 핫 모듈 대체 설정 12.2.1 Webpack과 의존 모듈 설치 [ 필요 모듈 ] We..

React 2018.12.02