본문 바로가기

전체 글91

Git을 이용한 줄바꿈(line ending) 통일 CRLF vs LF Windows에서는 줄바꿈(line ending)으로 CRLF 를 사용하고 Unix 계열과 Mac은 LF 만 사용한다. 우리 개발팀은 모두 Windows 환경인데 왜 Git에서 충돌이 나는지...허허그래서 LF 로 통일하기로 결심.Git에서 어떤 line ending을 사용할지 세팅 할 수 있다. 방법은 core.autocrlf의 값을 변경하는 것이다. 세 가지 값으로 설정한다. false: 아무것도 안한다. true: CRLF를 LF로 자동적으로 변환. 반대로 체크아웃 받을때는 LF를 CRLF로 변환. (윈도우 전용) input: LF를 줄바꿈으로 사용. 통일 가능. 위 값을 기반으로 설정을 해보자. 방법 1 윈도우 git config --global core.autocrlf tru.. 2018. 7. 17.
Tab vs Space 그 끝나지 않는 전쟁 프로그래밍을 하면서 코드에 일관성이 부족해 보여 Code Convention을 도입하기로 결심!그래 가는거야!3개월 전에 ESlint를 도입 하려다가 너무 많은 Error에 멘붕을 맞고 후퇴했었던 기억이 떠올랐지만 아픔은 잠시일꺼야...못 먹어도 Go그래도 전에 사용했던 ESlint가 남아있어서 따로 환경설정은 하지 않았음. npm으로 eslint를 전역설치, base는 airbnb 다시 VSCode에서 ESlint를 활성화! 부스터 온!하나하나 고쳐 나가다가 멘붕을 맞음. 인덴트가 공백이네? 잉? 예림이! 그거 봐봐! 혹시 공백이야? 키보드 건들지마! 손모가지 날라가붕게. 인덴트가... 공백이라고? 충격을 먹고 검색을 시작. 당연히 Tab이 대세라 생각했지만, 공백이 대세! 대세!.. 2018. 7. 16.
애니메이션 최적화 화려하다고 좋은건 아니다 프론트 개발을 하다보면 자꾸 욕심이 난다. 더 예쁘게, 더 화려하게, 더 있어보이게 이렇게 모든것에 애니메이션을 무분별하게 사용하게 되었을 경우, 오히려 사용자에게 불편한 경험을 줄 수 있다. 가령 개발자 브라우저 환경에서는 부드럽게 잘 보이지만 사용자 브라우저 환경에서는 뚝.뚝 끊기는 경험을 할 수도 있다. 그래서 애니메이션 효과는 되도록이면 자제하고 사용해도 성능상에 큰 영향을 끼치지 않는 곳이나 사용자 경험에 큰 효과를 줄 수 있는 곳에만 사용되어야 한다. 그리고 사용할 떄도 페이지의 레이아웃 또는 페인팅의 영향을 끼치는 속성에 대해서는 사용하지 말아야 한다. 추천 속성 transform, opacity 비추천 속성 transform과 opacity를 제외한 모든 속성 (w.. 2018. 7. 16.
인사이드 자바스크립트 Root, 뿌리, 根本 "평소에 궁금했던 자바스크립트라는 언어의 동작 방식을 이해하기에 아주 좋은 책" 다른 패러다임에서 프로그래밍을 하다가 자바스크립트를 만나게 되면, 누구나 겪는 낯선 감정, 한국을 떠나 이역만리 아프리카에 도착한 느낌을 받게 된다. 클로저? 일급 객체? 여긴 어디? 나는 누구? 이 책을 처음 본 순간 느낀 감정은, "어둠속에~ 니 얼굴 보다가~ 나도 몰래 눈물이 흘렀어 소리없이 날 따라오며 비춘건 Finally!" Finally! 하는 책이다. 아! 라는 감탄성이 나오는 책. 자바스크립트만이 가지고 있는 문법적 특성을 이해하기 쉽게 풀어놓은 책 누군가 자바스크립트를 시작한다면 꼭 추천 자바스크립트를 공부하는 분들은 꼭 보세요 제발 2018. 7. 15.
Store load가 완료되지 않은 시점에 다시 load가 들어온다면 Load 다중 발생 프론트를 개발하다보면 항상 예상치 못한 문제점을 마주치곤 한다. 예를 들면, 트리 리스트 또는 그리드에서 사용자가 키보드 입력으로 빠르게 이동 할 시 해당 이벤트 마다 Store에 load 이벤트가 있다면? 만약 전에 발생한 load가 데이터가 많아 늦게 도착했다면 화면에 보여지는 데이터가 선택된 항목의 값이 아닌 이전에 선택된 항목의 값이 나올 수 있다. (데이터를 load하는 Store가 같다는 가정) 해결책은? 키보드 입력 이동을 막는다. 이벤트 발생 buffer를 둔다. 키 입력(키보드 up)이 끝나는 시점에 load 시킨다. 아직 Store가 loading 중이라면 중단 후 새로 load 기타 등등(다른 아이디어는 지금 당장 안떠오름.) 내가 사용한 방법은 2가지 select.. 2018. 7. 13.
Menu 컴포넌트 메모리 누수 때려잡기 ExtJS Menu 메모리 누수 잡기 안녕하세요, 스빠시빠 입니다. (욕 아님) 회사 프로젝트로 ExtJS를 새로 배워서 사용하고 있는데, 웹에도 메모리 누수가 있다는 걸 처음 알았다! 😃 완전 씐나! C++을 떠나 웹으로 오면서 메모리와는 이제 안-녕 하는줄 알았는데... 어서와 메모리 누수는 처음이지? Ext.menu.Menu 컴포넌트는 hide 될 시 자동으로 해당 DOM을 제거 하지 않는다. 그러므로 개발자가 직접 제거해줘야 한다. 모든 hide 콜백에서 destroy를 해준다. 😃 hide() { this.destroy() } 컨트롤 C+V! 컨트롤 C+V! 컨트롤 C+V! 조금 더 좋은 방법 안내 Ext.define('Override.menu.Menu', { override: 'Ext.menu.. 2018. 7. 11.