본문 바로가기

Programming

(40)
mobx 6 출시와 변경된 점 9월일에 mobx 6.0이 출시되었다. mobx 6 요약 ECMAScript에 적합한 라이브러리 & Proxy (모던브라우저) 및 비 Proxy (ES5) 동시지원 mobx가 데코레이터를 버리는 이유 가장 큰 이유는 데코레이터가 현재 표준으로 지정되어 있지 않은 점이다. 그렇기 때문에, 데코레이터를 사용하려면 복잡한 설정이 꼭 동반된다. 예를 들면 create-react-app로 프로젝트를 생성한 경우에는 순정상태로 사용할 수 없고 eject를 통해서 설정을 해줘야한다. 또한 비표준 데코레이터를 버림으로써, 추후에 등장할 표준 데코레이터(?)를 잘 지원할 수 있고, 당장은 비지원으로 인한 코드 용량 절감을 들 수 있다. mobx 6 With ES5 기존에는 IE를 지원하는 프로젝트에서는 mobx 5를 사..
[CSS] span에서의 말줄임표(text-overflow: ellipsis 속성) div와 같은 block 요소와는 다르게, span은 inline요소이기 때문에, text-overflow: ellipsis 속성을 줘도 제대로 동작하지 않는다. 이러한 경우에는 span 요소에 display: inline-block이나 display: block 을 추가하여 block 요소로 변경하면 정상적으로 동작한다.
forEach를 사용하면 안되는 경우 forEach를 다른 함수로 바꾸기 Level 1 위 와 같은 코드에서는 아래와 같이 forEach 대신 filter를 사용하는 것이 더 좋다. 이외에도 생각보다 forEach 대신 다른 함수를 써야하는 경우가 더 많다. 각 경우는 MDN에서 소개하는 각 함수의 정의를 생각하면 결정하기 편리하다. forEach 메서드는 주어진 함수를 배열 요소 각각에 대해 실행합니다. forEach는 "실행" 하는 의미를 갖고 있기 때문에, 실행하는 경우(로그, API 호출 등)에 적합하다. filter 메서드는 주어진 함수의 테스트를 통과하는 모든 요소를 모아 새로운 배열로 반환합니다. filter는 "테스트" 하는 의미를 갖고 있기 때문에, 특정 조건에 해당하는 요소를 뽑아내는 경우(a>N 등 if문)에 적합하다. ..
await의 함정, 숨은 병목을 찾자 자바스크립트에서 async await을 사용하면 좀 더 깔끔한 코드를 작성할 수 있습니다. 하지만, 적절하게 사용하지 않으면 적지 않은 시간을 사용해야할 수도 있습니다. 특히, 여러개의 await을 사용할 경우에 주의해야합니다. 위와 같은 코드가 있을 때, end를 보려면 얼마나 기다려야할까요? 2,700ms를 기다려야합니다. 생각보다 긴 시간입니다. Promise.all를 사용해서 시간을 단축해보았습니다. 이제는, 1,900ms만 기다리면됩니다. 800ms나 줄였습니다. 하지만 아직 개선의 여지가 있어보입니다. 자, 이제 1200ms면 모든 작업을 끝내고, end를 볼 수 있습니다. API의 응답시간 개선 없이 1700ms를 단축했습니다. 어째서 이렇게 차이가 나는것 일까요? async, await을 ..
[TypeScript] 옵셔널 체이닝(Optional Chaining) 타입스크립트 3.7이 릴리즈 되면서 새롭게 사용할 수 있게 된 문법 중에 하나가 바로 "옵셔널 체이닝(Optional Chaining)"이다. null이나 undefined인 값이 반환되면, 즉시 중단하고 undefined를 반환하는 문법이다. 코드가 즉시 중단 되는 것은 꽤 멋진 것이, 보통의 경우, null이나 undefined에 접근하여 함수를 실행시키는 경우에는 오류가 발생하지만, 이 경우에는 오류 없이 바로 undefined를 반환 한다는 것이다. const apple = garden?.tree.getApple(); 위 코드는 아래와 같다. const apple = (garden === nulll || garden === undefined).tree.getApple(); 위의 코드가 헐씬 간결한..
깔끔한 모던 날씨 카드 디자인 HTML과 CSS만 이용해서 만든 날씨 카드 샘플이다. 영감은 https://story.pxd.co.kr/1379 그래프는 생각보다 어렵기 때문에(이미지가 아니면 좀 복잡하다) 제외했다. 생각보다 깔끔하게 디자인이 나왔다.
MariaDB( MySQL) 서버 재시작 오류 문제 해결 sudo touch /var/log/mysql/maraidb-bin.index 위와 같이 파일을 만들어 준다.
Vue.js 인터뷰 질문 https://github.com/sudheerj/vuejs-interview-questions-korean sudheerj/vuejs-interview-questions-korean VueJS interview questions in Korean language. Contribute to sudheerj/vuejs-interview-questions-korean development by creating an account on GitHub. github.com Vue.js 인터뷰 질문을 번역하고 있는 레포지토리다. 한번쯤 봐두면 되게 좋을 것 같다.