프로그래머스: 43165, 타겟 넘버

문제 설명 n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+1 = 3 +1+1-1+1+1 = 3 +1+1+1-1+1 = 3 +1+1+1+1-1 = 3 사용할 수 있는 숫자가 담긴 배열 numbers, 타겟 넘버 target이 매개변수로 주어질 때 숫자를 적절히 더하고 빼서 타겟 넘버를 만드는 방법의 수를 return 하도록 solution 함수를 작성해주세요. ...

2020년 3월 3일 · 2 분 · 291 단어 · 김무훈

프론트엔드 TDD에 대한 단상

어제 React로 사고하기 – React 문서를 단위 테스트를 작성하며 실습해보았다. 레이아웃 스팩도 테스트에 기술했지만 아래에서 설명할 이유로 한 두 커밋 이후 지워버렸다. Remove unnecessary Test suit · x86chi/thinking-in-react@b004b87 · GitHub 테스트는 어느 정도까지 작성해야 될까 고정된 <td/>의 문자 확인 props에 따라 스타일이 변화되는지 체크 onChange 이벤트가 제대로 발생하는가 3개 다 아니다. 위 세가지 테스트 수트는 리엑트를 믿지 못한다는 의미라고 생각한다. 그러면 무엇을 테스트해야 되나? ...

2020년 3월 3일 · 1 분 · 105 단어 · 김무훈

유저스크립트로 웹 브라우징 간편화하기

유저 스크립트 소개 유저 스크립트는 모던 브라우저 확장browser extension과 비슷한 기능을 갖춘 자바스크립트 코드 스니펫snippet입니다. 브라우저 확장이 광고 차단이나, 다크모드 프로그램 처럼 특정 웹 서비스의 UI를 수정하는 소프트웨어라면, 유저스크립트는 이보다 작은 규모로 1~2줄 정도의 복잡하지 않은 가벼운 수정을 위해 주로 쓰입니다. 본 글은 유저스크립트 사용에 대해서 실제 사례와 함께 예시 코드를 소개합니다. 유저 스크립트를 사용하려면 유저 스크립트 매니저라는 브라우저 확장의 도움이 필요합니다. 하지만 브라우저마다 다른 설치와 사용 방법에 대해서는 약간 주제에 벗어난 내용으로 자세히 다루지 않습니다. ...

2020년 1월 1일 · 5 분 · 956 단어 · 김무훈

[TS & React] FormEvent의 타입 확장하기

FormEvent는 입력 요소의 상태를 직접 관리하지 않으면서 입력 요소의 값을 얻는 편리한 방법이지만, 처음 TS를 React와 함께 사용할 때 폼 이벤트의 타입을 어떻게 확장할 것인가 고민했다. 타이핑이 안되어 있는 경우 제너릭으로 flag라는 상태의 타입을 명시하는 것처럼, 폼 요소로 감싸진 입력 요소의 타입을 정의하는 법을 알고 싶었다. 타이핑 된 경우 굳이 HTMLFormElement를 두 번 써야 되나..? 라고 의문이 들지만 FormTarget.target이 덮어 씌워지는 상황이다. ...

2019년 11월 11일 · 1 분 · 119 단어 · 김무훈

프론트엔드에서 바퀴를 재발명 해도 괜찮을까

나는 소프트웨어 디자인 분야에서 “바퀴를 재 발명하라, 혹은 하지 말라” 라는 말을 종종 들어봤다. 코드를 적절하게 재 사용하는 것이 중요하다는 교훈이다. 반면에 내가 부딛히고 있는 웹 프런트 엔드 분야에선 매번 다시 만드는 경우가 꽤 자주 보인다. 그렇다면 바퀴를 재사용하지 않는다는 이야기로 오해받을 수 있다. 반은 사실이고, 나머지는 거짓인 것 같다. 첫번째, 웹 프론트 엔드 분야는 전례 없는 성장 곡선을 나타내고 있다. 다른 분야보다 더 빠르고 꾸준히 변하는 이유인데, 나는 환경적인 면에서 그 이유가 있다고 생각한다. 스마트폰의 보급화로 IE 브라우저의 점유율이 급감한 이유가 여태동안 정제되어 있던 웹 생태계가 발전하게 된 바탕이 되었다고 본다. ...

2019년 8월 8일 · 1 분 · 208 단어 · 김무훈