Front-End Dev.
-
[Javascript] ES6(ES2015)Front-End(Web)/Javascript 2021. 4. 9. 01:12
🧐 서론 드디어, 내가 이전부터 포스팅하고 싶었던 Javascript의 ES6 문법이다! 나는 2020년에 Javascript를 처음 공부했고, 오히려 ES6 문법을 당연하다는 듯이 사용하게 된 뉴비 중 한명이다. 😚😚😚 최근 면접 준비를 하면서, 특히 이전 문법과 비교하는 강의들을 보면 기능과 편의성 측면에서 많은 개선을 지원해준 ES6 버전이다. 이를 전체적으로 훑어보고 정리해봐야겠다고 생각했으며, 동시에 감사함도 느끼는 시간이 될 것 같다! 📒 ECMAScript (선행 개념들) Javascript의 ES6는 일종의 버전이다. 2015년 버전이며, 마치 아이언맨에서 MK6(마크6) 와 같이 생각하면 되겠다. 그렇다면 ES의 뜻은 무엇인지, 버전6이 같는 의미는 무엇인지 알기 위해선 우선 선행되는 개..
-
[CodeKata] 프로그래머스 : 4.7(수), 압축Algorithm 2021. 4. 8. 19:46
🥋 Ooooth!! (Level 2) 우선 문자열을 잘라가는데, 이는 사전에 해당 문자열이 포함되어있어야 한다는 기준을 고려해야 한다. KAKAO를 자르기 시작하면, KA는 사전에 포함되어있지 않으므로 그 전까지인 K의 인덱스를 정답배열에, KA는 사전의 새로운 요소로 추가해주면 된다. 위 일련의 처리가 끝나면, 그 다음부터인 A에서 시작하여, AK, AKA... 순으로 검색하면 된다. (여기서도 AK가 사전에 없으므로 멈추게 되겠지) 🧮 풀이 function solution(msg) { let answer = []; let dic = Array.from({ length: 27 }, (_,i) => String.fromCharCode(i+64)) let s = 0; let e = 1; while (tru..
-
[CodeKata] 프로그래머스: 4.1(목), 방금그곡Algorithm 2021. 4. 3. 18:44
🥋 Ooooth!! (Level 2) 역시 카카오답게 문제가 길다. 우선 musicinfos 의 마지막 요소인 음순서가 음악길이만큼 반복된다. 음악길이는 1,2번째 요소의 시간차이다. 이렇게 완성된 음악에 m이 포함되는지를 확인해서 음악길이가 가장 긴 음악제목(3번째 요소)를 반환하면 된다. 없으면 "(None)". 🧮 풀이 function splitMelody(melody) { return melody.split("").reduce((acc, cur) => { cur = cur === "#" ? acc.pop() + cur : cur; return [...acc, cur] }, []) } function solution(m, musicinfos) { let answer = ''; let timeMax ..
-
[CodeKata] 프로그래머스: 3.29(월), 후보키 / [이론] 비트 연산자Algorithm 2021. 3. 29. 15:41
🥋 Ooooth!! (Level 2) 🧮 풀이 부분집합 등 개념을 활용에서 풀어도 마땅한 방법이 나오지 않았다. 리뷰를 보니 비트 연산자를 활용한 풀이가 많았고, 모범답안을 해석하면서 비트연산자에 대해 간단히 공부했다. 🖇 리뷰 - 모범답안 function solution(relation) { const cols = relation[0].length; const check = 1 x.filter((col,index)=>i & (1 : 지정한 수만큼 비트 전체를 오른쪽으로 이동(right shift) >>> : 지정한 수만큼 비트를 전부 오른쪽으로 이동, 새로운 비트는 전부 0이 된다 & (AND 논리 연산자) 비교하는 비트가 모두 1이면 1 반환 const b1 = 2 & 3; console.log('2..
-
[Web] 배포 - #3. IaaS 사용법(AWS EC2)Environment(개발환경)/Web 2021. 3. 27. 02:32
마찬가지로, 이번엔 3차 프로젝트(나이키) 배포에 사용한 인프라, 바로 AWS EC2 사용법에 대하여 정리해보았다. 💻 AWS(Amazon Web Service) AWS는 아마존닷컴의 클라우드 컴퓨팅 서비스이다. 다른 웹사이트나 클라이언트 응용 프로그램에 대한 온라인 서비스를 제공한다. 네트워크를 기반으로 가상 컴퓨터뿐만 아니라 스토리지, 네트워크 인프라 등 다양한 서비스를 제공한다. - 장점 저렴한 비용: 사전 확약금이나 장기 약정 없이 저렴한 종량 과금제 방식으로 운영된다. 속도 및 민첩성 개선: 데이터 센터 유지보수 불필요함. AWS는 희망하는 언어 및 운영 체제를 선택해서 적용할 수 있다. 유연성: 새로운 앱을 즉각적으로 배포하고 수요를 기준으로 축소할 수 있다. 설치가 빠르고 관리가 편함. 단시..
-
[Web] 배포 - #2. PaaS 사용법(Netlify, Heroku)Environment(개발환경)/Web 2021. 3. 27. 02:30
바로 드루가보도록 하겠다! 이번 포스팅에선, 2차 프로젝트와 포트폴리오 배포에 사용한 Netlify(클라이언트) 와 Heroku(서버) 사용법을 간단히 설명하려고 한다. 💻 Netlify : www.netlify.com/ Netlify: Develop & deploy the best web experiences in record time A powerful serverless platform with an intuitive git-based workflow. Automated deployments, shareable previews, and much more. Get started for free! www.netlify.com 정적 웹사이트(HTML, CSS, JS)로 서비스 제공이 필요할 때, 가장 편..
-
[CodeKata] 프로그래머스 : 3.26(금), 캐시 / [이론] 캐시 교체 알고리즘Algorithm 2021. 3. 26. 20:00
🥋 Ooooth!! (Level 2) LRU 캐시 알고리즘만 이해하면 어려운 문제는 아니다. 캐시는 cacheSize 만큼만 데이터 저장이 가능하며, 캐시 유무에 따라 answer에 1 또는 5를 더하는 것이다. 🧮 풀이 function solution(cacheSize, cities) { let cache = []; let answer = 0; for (let city of cities) { city = city.toUpperCase(); const index = cache.indexOf(city) if (index === -1) { answer += 5; cache.push(city); if (cache.length > cacheSize) { cache.shift(); } } else { answer..