본문 바로가기

분류 전체보기

How to set custom timezone on Docker alpine version, 알파인 리눅스를 사용하는 도커 컨테이너의 timezone 설정 Korean도커 컨테이너 중 -alpine으로 끝나는 tag의 이미지는 알파인 리눅스를 기반으로 제작된 것이다. 대부분 wheezy나 slim 버전에 비해 용량이 최소 5분의1 밖에 하지 않기때문에, AWS ECS 와 같은곳에 올려두고 사용할 사용자들은 구미가 당기기 마련이다. 어쨌거나, 저장공간 리소스를 적게 잡아먹는 장점은 최대의 단점이 될 수 있다. 왜냐하면, 대부분의 운영체제(와 이를 기반으로한 docker이미지)에서 정상작동하는 기능들이 없는 명령어라며 오류를 뱉어낼 수 있기 떄문이다. 시스템의 타임존을 설정하는 tzdata와 같은 유틸리티도 알파인 리눅스에서는 기본적으로 빠져있는데, 이를 사용하여 Docker Container만의 타임존을 사용하기 위해서는 Dockerfile에 다음과 같은 설..
git 특정파일 변경사항 되돌리기 개발하다보면 특정파일의 변경사항을 가장 마지막의 commit 버전으로 되돌려야하는 경우가 생깁니다. 0. 현재 상황 아래는 현재의 변경사항이 일어난 파일 목록입니다. $ git status On branch master Your branch is up to date with 'origin/master'. Changes not staged for commit: (use "git add ..." to update what will be committed) (use "git checkout -- ..." to discard changes in working directory) modified: Dockerfile modified: docker-compose.yml Untracked files: (use "gi..
Git 원본 저장소와 fork한 저장소 동기화 1. 원본 저장소의 원격 주소를 로컬 저장소에 추가 $ git remote add upstream git@github.com:ORIGINAL_OWNER/ORIGINAL_REPO 위에 주소에서 원격 주소 부분은 본인이 동기화 할 원본 저장소의 주소를 사용한다. 2. 정상 추가되었는지 확인 $ git remote -v origin https://github.com/MY_NAME/MY_FORKED_REPO.git (fetch) origin https://github.com/MY_NAME/MY_FORKED_REPO.git (push) upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git (fetch) upstream https://github.c..
181107 TIL 오늘 한 일RESTful API 서버의 부담을 줄이기 위해 ETag에 대해 알아보았다. 기존에 작성해둔 Vue 컴포넌트의 버그해결을 위해 라이프사이클에 대해 다시 공부했다.테스트 주도 개발에 대한 책을 읽었다. 오늘 느낀 점며칠 연속으로 잠을 5시간 미만으로 잔 탓에 체력이 급격하게 저하됨을 느꼈다.프레임워크를 활용할 사람이라면 해당 프레임워크의 라이프사이클의 깊은 이해는 필수라는 생각이 든다. 내일 할 일오전에는 깊은 사고를 요구하는 작업을 하기보다는 정보를 습득하거나 생각을 정리하는 작업들을 하기로 규칙을 정했다. 오전) 테스트 주도 개발관련 도서 정독하기오전) 자연어 처리 - 형태소 분석에 관해 찾아보고 KoNLPy 사용에 관한 예제 실습하기오전) 도메인 주도 개발 (Domain Driven Dev..
SPA(Vue.js, Angular, React) 소셜로그인 흐름도 Single Page Application + Restful API + 소셜 로그인 (구글, 페이스북, 트위터, 인스타그램 등등) 을 모두 사용하는 웹서비스를 제작중인데,찾아보다가 결과적으로 아래와 같은 인증 흐름을 적용하게 되었습니다. 사진이 안보이면 사진을 클릭해서 확인하시면 됩니다.Vue.js 나 Angular.js, React 에 라이브러리가 없다면 Vuex, Redux와 같은 상태 저장소를 적절히 섞어서 직접 구현하면 됩니다. 중간중간에 REST API (백엔드)서버에서 access_token과 refresh_token을 데이터베이스에 저장하거나, jwt토큰을 어디다 저장하는지 등의 정보는 나중에 포스팅 하도록 하겠습니다.질문있으면 댓글로 남겨주세요.
처음으로 오픈소스에 기여하다. 본 게시물은 이전 블로그에서 이전한 게시물입니다.최초 작성일은 2018년 6월 7일입니다. Vue 컴포넌트를 짜다가... 자꾸 뭔가가 안되는것이었다. Vue.js 에서 컴포넌트 내 method에서 data에 접근할 수 없는 문제 발생 그래서 찾아보니 공식 Vue.js 한글 문서에는 해당 문제에 대한 경고문구가 존재하지 않았다.비록 한글로 작성이 되어 있진 않았지만, 개발 집단지성의 끝판왕 StackOverflow 를 뒤져보니 해결법이 나와있었다. StackOverflow의 답변에서는 Vue.js의 공식 Document을 참조하고 있길래 링크를 타고 공식 문서를 열어보니 위의 Arrow function 부분이 한글문서에서는 아래와같이 존재하지 않았다. 그래서 이건 생애 처음으로 오픈소스 커뮤니티에 기여해볼..
Vue.js 에서 컴포넌트 내 method에서 data에 접근할 수 없는 문제 발생 Vue.js 컴포넌트를 정의하던 중, 컴포넌트 내에 method에서 컴포넌트의 다른 메소드와 data의 값을 참조하려니 다음과 같은 오류가 떴다. Uncaught TypeError: Cannot read property of undefined 위의 문제는 여러 문제가 있을 수 있겠으나, 대부분은 ES6의 Arrow function을 써서 생기는 문제이다. 나의 경우 querySearch라는 method를 아래와 같은 방법으로 써서 생긴 문제였다. methods: { querySearch: (queryString, cb) => { .... } } 위 코드를 methods: { querySearch: function(queryString, cb) { .... } } Arrow function을 자바스크립트 ..
개발자 기술 면접 준비시 간과할 수 있는 실수들 이 게시물은 내가 면접을 준비하면서 읽고 도움이 됐던 책의 내용을 조금 인용하여 정리하는 글이다. 1.손코딩 연습 안하고 IDE띄워놓고 연습하기 면접때 어떤 환경에서 코딩을 하게 될 지 모른다. 평소 Visual Studio Community 버전이라던지, Eclipse를 띄워놓고 연습해왔다면 앞으로는 손으로 코드의 초안을 적어보고, IDE에 옮긴 후 컴파일을 시도해보자. 실제로 삼성 코딩 면접이나, 카카오 코딩 면접 등등 대부분의 회사는 회사가 지정해둔 시험환경에서 치르게 되므로 VisualStudio 나 Eclipse를 고수해왔다면 손코딩을 먼저 하는 방식으로 바꾸어 본다면 많은 도움이 될 것이다. 2.머릿속으로만 생각하며 문제풀기 기술 면접중 코딩문제가 주어졌을때, 면대면으로 진행하는 경우에 해당된..