※ 대부분에 언어에 해당될 수 있는 내용이지만, javascipt 언어에 가장 적합한 글입니다. 꼭 , 을 써야만 조건문인 것은 아니다. JSON 객체를 활용해서도 조건문을 만들 수 있다. function getFruitByName(name) { if (name === 'apple') { return '🍎' } else if (name === 'banana') { return '🍌'; } else if (name === 'kiwi') { return '🥝'; } else if (name === 'lemon') { return '🍋'; } else { return ''; } } 위의 조건문을 으로 바꿔보자. function getFruitByName(name) { switch (name) { case 'a..
Javascript는 ES 모듈 시스템을 공식 모듈 시스템으로 사용하고 있고, Node.js는 CommonJs 모듈 시스템을 표준 시스템으로 사용하고 있다. //CommonJs const gulp = require('gulp'); const babel = require('gulp-babel'); //ESModule import gulp from 'gulp'; import babel from 'gulp-babel'; Node.js 에서 ES모듈 시스템을 활용하려면 Babel이라는 별도의 도구가 필요했는데, Node.js 13.2 버전(2019-11-21) 부터 손쉽게 ES모듈을 활용할 수 있게 되었다. package.json 파일에 type 항목을 module로 설정하면 바로 활용 가능하다. { //.....
/** * Q. 자연수 n을 이진법으로 변환했을 때 나오는 1의 개수를 k라고 했을 때, * n보다 작은 자연수 중에서 이진법으로 변환하여 * 1의 개수가 k인 수가 몇 개 있는지를 return 하도록 solution 함수를 완성해 주세요. */ 이 코딩 문제를 효율적으로 풀기 위해 직감적으로 Combination(조합)이 필요하다고 느꼈다. (확률과 통계에서 배운 개념들이 스르륵 스쳐갔다.) 정확히는 이항계수를 구해야하는데 이항계수란 다음과 같다. 위의 이항계수를 코드로 구현해보자. 크게 어려울 것은 없다. //10 C 2 => getCombinationsCount(10, 2) function getCombinationsCount(총원소수, 선택원소수) { const 곱셈 = (a, b) => a * ..
※ 대부분에 언어에 해당될 수 있는 내용이지만, javascipt 언어에 가장 적합한 글입니다. 복잡한 조건문을 작성하다보면, 무언가 잘못 분기하고 있다고 느낄 때가 있다. 이 부분은 애매하지만 매우 중요한 부분이라 생각되어 어떻게든 글로 풀어써보려고 한다. 정답이 있는 문제라기보단 앞서, 왜 좋은 조건문(IF) 을 작성해야할까? 라는 질문에 나는 '서로의 조건 로직을 잘 이해해 서비스를 잘 디벨롭하기 위해서'라고 답하고 싶다. 라고 포스팅했기에, 아래의 시나리오를 팀원들과 같이 읽어보며 좋은 조건문에 대해서 고민해보면 좋을 것 같다. 상황1 . 과일의 이름에 따라 적용가능한 색깔들(배열)을 가져오는 함수를 만드려는데 조건문을 어떻게 만들지 고민이다. function availableColorsByFru..
벌써 2022년, 다사다난했던 2021년을 기록해두고, 2022년으로 나아가야겠다. 목차 드디어 리뉴얼이 끝났다. 🎉 수정 딜레마 문샷 디벨롭 상처 주는 리더 남은 과제 회사는 순항중 🏆 운빨 개발자 세 번째 이사 연차 36일 개발을 잘하고 싶다 🔥 언주니어 포트폴리오 기술 블로그 공부하기 드디어 아이가 태어났다 👶 늦잠 0회 게임 0회 우리의 소원은 건강 맺으며 목표 가장 감사한 사람 1. 드디어 리뉴얼이 끝났다. 🎉 올해 2월부터 시작한 리뉴얼 프로젝트가 7개월 만에 드디어 끝이 났다. 이 챕터는 리뉴얼 회고라고 봐도 무방할 것 같다. 1-1. 수정 딜레마 모두가 꿈꾸는 수정 하나 없는 속전속결 프로젝트는 환상의 동물에 가깝다고 본다. 리뉴얼의 처음 방향은 톤 앤 매너를 갖춘 리디자인 정도였다. 그러..
※ 대부분에 언어에 해당될 수 있는 내용이지만, javascipt 언어에 가장 적합한 글입니다. 0. 방법이 바뀐다고 조건문의 성능 차이가 있을까? 조건문에는 문도 있지만 문도 있다. 개인적으로 이 둘의 '가독성' 차이는 별로 없다고 생각한다. 취향 차이가 있을 뿐이지 두 조건문 방법 모두 충분히 좋은 조건문이라 보인다. 위 주장이 맞기 위해서는 조건문 방법이 달라진다고 '성능' 차이는 크게 발생하지 않는다라는 전제가 있어야 한다. 하지만 문 성능이 우수하다는 의견이 많았고 정말 그러하다면 '좋은 조건문'에 대하여 다시 한번 생각해볼 문제라고 생각했다. 그래서 특별히 문의 성능을 들여다보게 되었다. 1. 문은 무엇이 특별한가? 한 블로거께서 다음과 같이 표현해주셨다. if-else문은 원하는 조건이 나올..
※ 대부분에 언어에 해당될 수 있는 내용이지만, javascipt 언어에 가장 적합한 글입니다. 0. 깊이가 얕은 Early Return 방법 말 그대로 일찍이 RETURN 하여 함수를 빠져나오는 것이다. 바로 코드를 보자. const isNumber = v => /^(\s|\d)+$/.test(v); // function getBoardByRegisterId(registerId) { if (registerId.length >= 4) { if (isNumber(registerId)) { const data = []; // 20 Line ... return data; } else { alert('아이디는 숫자만 유효합니다.'); } } else { alert('아이디는 4자 이상 필요합니다.'); } } ..
Q. 코딩에서 조건문은 어떠한 역할을 할까? 조건문은 모든 프로그래밍 언어를 막론하고 절대 빼놓을 수 없는 간단하지만 매우 중요한 뼈.대.요소라고 생각한다. 단순히 A의 조건에는 B의 로직이 수행되고, A가 아닌 조건에는 C의 로직이 수행된다는 개념을 떠나 새로운 조건이 계속 계속 생겨나면 그 조건 전체가 서비스의 복잡도를 결정할 만큼 중요한 요소라고 생각한다. 좋은 조건문은 이러한 요소를 좋게 만든다는 것을 말한다. if (A) { B(); } else { C(); } Q. 그렇다면 좋은 조건문은 어떤 조건문을 말할까? 우리 팀의 유지보수를 위한 가.독.성이 높은 조건문을 말한다. 여기서 단순히 가독성 높음에 집중하면 보기에만 좋은 떡?이 될 가능성이 높다. 유지보수하기 좋게 가독성 높은 조건문을 작성..