개발 24

Mac Catalina에서 기본 bash shell이 zsh로 변경 되었습니다.

맥OS를 새롭게 설치하고 기본 세팅을 하던 중 bash-git-prompt, PS1(컬러)등이 제대로 적용되지 않는 문제를 발견했다. 3시간 넘게 삽질한 결과 Catalina부터 default shell이 bash에서 zsh로 바뀐걸 알 수 있었다. Apple 입장에서는 bash 최신버젼 라이센스에 문제가 있어 향후 업데이트에 차질이 생기기 때문에 미연에 방지한것 같다. 아래 명령어를 통해 기본 shell을 bash로 변경하면 경고가 발생한다. $ chsh -s /bin/bash 아래 옵션을 ~/.bash_profile에 추가하여 무시할 수 있다. export BASH_SILENCE_DEPRECATION_WARNING=1 zsh(+잡다한 기능)을 몇 달간 사용해봤지만 익숙해지는데 실패했다. zsh로 다시..

안녕, 우아한형제들

다 떨어졌다. 회사는 점점 기울고 있었다. 처리해야 하는 업무는 개발자고 뭐를 떠나서 한 명의 직원으로서 따져봐도 원하는 일과는 괴리감이 컸다. 기술 스택은 php, python, PostgreSQL이었다. 이직할만한 회사가 많지 않았다. 로켓펀치라는 스타트업 채용 사이트를 중점적으로 검색했지만 java 개발자를 많이 뽑고 있었다. python을 사용할만한 회사는 모두 써봤다. 서버뿐만 아니라 안드로이드 개발도 잘할 자신 있었다. 일단 면접까지 기회만 주면 잘할 수 있을 텐데 코딩 테스트조차 쉽지 않았다. 알고리즘 코딩 테스트 부셔버리고 싶었다. 이곳저곳 포함하면 떨어진 곳은 모두 열 곳이 넘었다. 몇 년 동안 근무하며 피드백을 단 한 번도 받아본 적이 없었다. 지나가는 말로도 들어본적이 없다. 이 좁은..

개발/인생후진기어 2019.12.15 (10)

웹 서비스 출시 전 확인사항

개발자로 일하며 수 차례 서비스를 출시했지만 서비스 오픈은 언제나 설렌다. 정상적으로 작동할까? 장애가 발생하지 않을까? 걱정된다. 내가 그동안 봐온 서비스 장애는 오픈 전 체크 리스트 or 성능 테스트를 통해 해결할 수 있던 것들이었다. 생각나는대로 정리해봤다. 로그 설정 로그 레벨 에러를 INFO레벨로 사용하지는 않았는가 확인한다. 그 반대 경우도 마찬가지다. 불필요한 DEBUG정보가 운영 환경에서 남도록 하지 않았는가 확인한다. 에러 로그 False 알람이 발생하지 않도록한다. 개발자가 정말 알아야 하는 (새벽에 slack으로 에러 알림을 받고 기상해서 바로 패치 후 hotfix로 내보내야 하는) 에러인 경우만 ERROR레벨을 사용한다. 로테이션 로그가 적절히 로테이션+삭제 되는지 확인한다. 이 설..

개발 2019.12.04 (3)

webpack에서 splitChunks 무시하기 (Vue.js)

문제 npm run build를 실행하면 js, css 한 개씩 번들링이 되는게 아니라 chunk되어 생성된다. 이렇게 되면 index.html head에 들어가는 파일명이 매번 바뀌게 된다. 그러면 배포시 계획에 차질이 생기므로 반드시 해결해야 하는 문제였다. 그리고 내가 이쪽 지식이 없는게 문제였다. 현재 버젼 webpack: 4.41.2 vue-cli: 4.0.5 삽질 vue.config.js에 뭔 짓을 하면 될것 같은데? 라는 생각으로 찾아보기 시작했다. module.exports = { chainWebpack: (config) => { config.optimization.delete('splitChunks') }, webpack에 optimization 설정을 무시하려는건데 아무튼..

개발/Frontend 2019.11.27

우아한 Redis - 강대명

우아한 Redis - 강대명 11월 21일 우아한형제들(잠실)에서 강대명님의 Redis 세미나가 있었습니다. 주요 포인트 Redis는 자료구조가 Atomic 하기 때문에 Race Condition을 피할 수 있다. SortedSet의 Score는 실수형이기 때문에 부동 소수점에 유의하자. 하나의 컬렉션에 너무 많은 아이템을 담으면 좋지 않다. 수천개가 적당함. Expire는 Collection에 걸림 메모리 관리를 잘하자. Swap이 발생하면 메모리 Page 접근시마다 느려짐 큰 메모리를 사용하는 instance 하나보다 적은 메모리를 사용하는 여러 instance 여러개가 안전함 데이터의 사이즈가 다양한 것 보다는 유사한게 유리하다. 메모리를 줄이기 위해서 Ziplist를 이용하자. O(N) 명령어를 ..

개발/Linux,Server 2019.11.21