Programming/JavaScript(37)
-
정규표현식 정리
코드 프로그래머스 정규표현식 의 내용을 정리한 글입니다. 다만 해당 강의는 파이썬을 사용하나, 아직 파이썬에 익숙하지 않으므로 글의 내용은 Javascript를 기준으로 작성됐습니다. 정규표현식(正規表現式/regular expression): 특정한 규칙을 가진 문자열의 집합을 표현하는 데 사용하는 형식 언어이다. - 위키백과 정규표현식 간단하게 말하면 특정 규칙에 맞는 글자만 걸러내주는, 필터의 개념으로 생각해도 무방하다. 프론트엔드에서는 전화번호 형식, 이메일 형식, 비밀번호 체크 등에 사용할 수 있다. 정규표현식 생성법 문자로 표기해서 생성할수도 있고, 생성자로 만들수도 있다. /pattern/flags //리터럴 방식 new RegExp(pattern[, flags]) //생성자 방식 patter..
2019.01.14 -
Javascript에서 함수를 생성하는 방식/함수표현식, 함수선언식
F사의 기술면접에 다녀왔다. 면접을 마치고 면접에 대해 궁금한 것은 없는지 물어보셔서, ‘Javascript에 대해 자세한 질문을 하실 줄 알았는데, 그런 질문은 없으셔서 (다행입니다.)’라고 답했다. 괄호친 다행입니다는 입밖으로 못 낸 말이다. 한국말은 끝까지 들어야하는것뿐만 아니라, 끝까지 해야하는 것이었다. 면접관님께서 어떤걸 준비하고 왔는지 물어보시기에, 기존 함수와 ES6의 화살표 함수에 대해 준비한 내용을 말씀드렸다. 그리고나서 함수의 선언 방식은 몇 가지가 있고, 어떤 차이가 있는지 여쭤보셨다. 나도 내가 평소에 삽질을 잘 하는 줄은 알고 있었는데, 이번 기회에 내 묫자리도 잘 판다는 걸 깨달았다. 선언방식은 대답할 수 있었지만 차이점은 얘기할 수 없었다. (new 키워드를 이용해서 함수 객..
2019.01.11 -
유튜브 썸네일 만드는 웹앱을 만들어봤다 & 상용 사이트들의 정리
게임을 할 때면 유튜브 스트리밍을 켜고 영상을 남겨놓는데, 썸네일에 글자를 넣는건 영 귀찮은 일이었다. 뭣보다 포토샵이나 다른 편집툴도 없었다. 유튜브 스트리밍이 활성화된지도 꽤 됐으니, 이런류의 서비스가 있지 않을까. 그래서 찾아봤는데, 어째서인지 나오지 않는다. React에 좀 익숙해질 겸, 간단하게 만들어봤다. 검은곰의 유튜브 썸네일 만들기 파이어베이스 호스팅 페이지에 올려놨다. 현재는 이미지를 올리고, 타이틀과 서브타이틀을 추가하는 기능뿐이다. 시간날때 기능을 좀 추가해야 할 것 같아서, 깃허브 레포지터리를 생성하고 이슈를 추가해놨다. 만들고나니 뭔가 찜찜했다. 몇시간 안걸려서 간단히 만들 수 있는 페이지인데 아무도 만들지 않았다고? 그래서 영어로 검색을 해봤더니, 짜잔. 정말 여러가지 서비스가 ..
2019.01.10 -
비트마스크를 배열로 관리하는 bitsToArrays.js
Javascript에서 비트마스크를 쓸 일이 있을까?=====임베디드 장비에서 서버를 돌렸기 때문에, 꽤 많은 기능들은 비트마스크로 관리됐다. 이벤트가 on/off됐다던가, 장비에 연결된 장치들과 연결이 끊어졌다던가, 이런 상태들을 한번에 관리하기엔 비트마스크만한 게 없었다. 뭣보다 워낙 옛날에 C로 코드를 작성하던 아저씨들이 만든 코드라, 비트마스크를 쓸 일이 상당히 많았다.여러개의 Boolean값을 사용하고 있다면, 비트마스크를 통해서 메모리 효율을 늘릴 수 있을 것이다. 비트마스크가 효율적이긴 한데...=====event_status라는 비트마스크에 n번째 비트가 설정되었는지 확인하려면, 다음과 같이 작성하면 된다. ```if ((event_status & (1
2019.01.09 -
프로그래머스/무지의 먹방 라이브(진행중)
[코드프로그래머스/무지의 먹방 라이브](https://programmers.co.kr/learn/courses/30/lessons/42891?language=javascript) 초안-----일단 되는대로 만들어봤다. 정확성 테스트조차 몇몇개는 실패다. = ㅅ=효율성 테스트는 모두 시간초과하는 수준. 탐색하는 로직을 개선하거나, 혹은 메모리를 사용해서 탐색이 필요없게끔 수정이 필요하다. ```//food_times의 모든 값이 0인지 감지하는 함수function isAllValueZero (param_array) { var isAllZero = true; for(var i=0; i 0) { isAllZero = false; } } return isAllZero;} //food_times의 다음 index..
2019.01.03 -
프로그래머스/탑
문제 설명수평 직선에 높이가 서로 다른 탑 N대를 세웠습니다. 모든 탑의 꼭대기에는 신호를 송/수신하는 장치를 설치했습니다. 발사한 신호는 신호를 보낸 탑보다 높은 탑에서만 수신합니다. 또한, 한 번 수신된 신호는 다른 탑으로 송신되지 않습니다.예를 들어 높이가 6, 9, 5, 7, 4인 다섯 탑이 왼쪽으로 동시에 레이저 신호를 발사합니다. 그러면, 탑은 다음과 같이 신호를 주고받습니다. 높이가 4인 다섯 번째 탑에서 발사한 신호는 높이가 7인 네 번째 탑이 수신하고, 높이가 7인 네 번째 탑의 신호는 높이가 9인 두 번째 탑이, 높이가 5인 세 번째 탑의 신호도 높이가 9인 두 번째 탑이 수신합니다. 높이가 9인 두 번째 탑과 높이가 6인 첫 번째 탑이 보낸 레이저 신호는 어떤 탑에서도 수신할 수 없습..
2019.01.03