본문 바로가기

반응형

분류 전체보기

(58)
Javascript runtime, Node.js, NVM JavaScript runtime 런타임이란 프로그래밍 언어가 구동되는 환경. 즉 어떤 프로그래밍 언어가 동작할 수 있는 프로그램. 작성한 자바스크립트 코드가 실행되는 곳이 바로 자바스크립트 런타임. 대표적인 자바스크립트 런타임은 브라우저, Node.js 가 있다. Node.js Node.js는 크롬 V8 자바스크립트 엔진으로 빌드된 자바스크립트 런타임. 이벤트 기반, 논블로킹I/O 모델을 사용해 가볍고 효율적 이라고. 이벤트 기반이란 이벤트가 발생할 때 미리 지정해둔 작업을 수행하는 방식. 블로킹과 논블로킹은 쉽게 말해 동기와 블로킹이 유사하고, 비동기와 논블로킹이 유사한 개념. NVM 설치 NVM은 Node Version Manager. Node는 다양한 버전이 존재하고, 그 버전들에 대응하기 위해 ..
[Reference] 현직 개발자들의 이야기 어제부터 현직 개발자들의 경험을 공유하는 영상들을 보고 있다. Reference & Special Session 내가 회사에서 만났던 개발자들과는 완전히 다른 느낌을 받았다. 조직의 구성원이면서도 개발자로서의 자신을 브랜딩 해나가는 사람들이랄까? 앞으로의 과정에서 좋은 레퍼런스가 될것 같다. 공통된 조언들 유저가 있는 프로젝트를 꼭 만들어 볼 것. 그 과정에서 배운것을 기록할 것. 자기회고. 프로젝트가 종료되었을 때 '내가 다시만든다면?' 이라는 질문을 던져볼 것. Error를 해결한 방법을 기록할 것. 영어는 기본. 영어로된 정보들을 많이 읽어볼 것. 추가 조언들 TypeScript 꼭 써봐라. //이 세 가지는 아직 뭔지 모르지만 기록해둠. Unit test 일찍 해볼수록 좋다. 로그를 꼭 남겨라. ..
꾸준히 하는 힘 블로그에 매일 공부한 것, 배운 것, 발견한 것들을 정리하는 일은 역시 쉽지 않다. 손가락을 다치고 나서 타이핑이 어렵다는 핑계로 어물쩡 며칠을 보내버렸다. 오늘 익힌 것들은 내일 마무리 정리 해야지. 오늘 코드스테이츠 Flex2기 오리엔테이션이 있었다. 일정이 다가올 수록 내가 이 과정을 잘할 수 있을까? 라는 두려움, 떨림, 설렘이 있었는데. 오늘 오리엔테이션을 마친 소감은.. 두려움이 매우 증폭되었다. 명상 배울 때 경험치를 쌓는 방법은 하기로 마음먹은 것을 같은 시간에 그냥 매일 해내는것. 매일의 내 몸의 컨디션과 외부의 사건 사고, 수 많은 변수들을 경험하며 계속 하다보면 그 수많은 조건 하에서도 앞으로 나아가는 지혜를 얻게 된다. 대부분의 일들도 이런 식. 하루키의 에세이 처럼. 뭐 그래도 두..
[JavaScript] Time conversion: 시간 변환 오늘은 시간 표시방법을 변환하는 문제를 풀었습니다. 문제 Given a time in 12-hour AM/PM format, convert it to military (24-hour) time. Note: Midnight is 12:00:00AM on a 12-hour clock, and 00:00:00 on a 24-hour clock. Noon is 12:00:00PM on a 12-hour clock, and 12:00:00 on a 24-hour clock. 주어진 12시간 표시 방법의 문자열을 24시간 표시법으로 변환하는 문제. 이때 12:00:00AM 은 00:00:00시 이며, 12:00:00PM은 12:00:00시 임. Sample Input '07:05:45PM' Sample Output..
[JavaScript] 피보나치 수 구하기 피보나치 수 구하기 문제를 이번에 다시 풀 기회가 있었는데 다시 잠시 망설이는 스스로를 발견. 구하는 몇 가지 방식을 정리 해봅니다. 피보나치 수(Fibonacci numbers)는 첫째 및 둘째 항이 1이며 그 뒤의 모든 항은 바로 앞 두 항의 합인 수열이다. 처음 여섯 항은 각각 1, 1, 2, 3, 5, 8이다. 편의상 0번째 항을 0으로 두기도 한다. -위키백과- 피보나치 수를 이어서 써보면 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ... 와 같이 진행된다. 2 이상의 n에 대하여 F(n) = F(n-1) + F(n-2) 가 적용되는 점화식. 문제 정수 n이 입력되었을 때, fibonacci 함수를 제작하여 n번째 피보나치 수를 반환하시오. 1. 숫자 2개를 선..
JavaScript 얕은 복사 vs 깊은 복사 처음 MDN에서 공부를 할 때 이해되지 않는 부분 투성이었지만, 그 중에서도 얕은 복사와 깊은 복사의 의미를 알지 못하고 알고리즘 퀴즈를 풀기에 급급했다. 프로토타입을 공부하면서 약간 알 것 같은 상태가 되었는데, 프로토타입의 개념이 간단하지 않기 때문에 그 과정에서 알게 된 복사의 두 가지 개념을 우선 정리해 보기로 했다. 잘못된 게 있다면 누구든 알려주시길 바라요. 레퍼런스 : 제로초TV https://youtu.be/BSReDRBjbp0 책 모던자바스크립트 입문 영어로는 얕은 복사(shallow copy), 깊은 복사(deep copy) 라고 표현 하는데 둘을 간단히 구분하면, 얕은 복사 : 참조 깊은 복사 : 복사 원시타입(문자, 숫자, 논리값)은 복사(깊은복사)가 되고 원시타입을 제외한 객체들(..
[JavaScript] Staircase 영어에 익숙해 지기 위해 겸사겸사 해커랭크에서 알고리즘 문제를 풀어보고 있다. (아직 몇 문제 안풀었지만..) 재미삼아 풀어보다가 익숙치 않거나 공부가 필요한 문제들은 종종 정리해보려고 합니다. 문제 Write a program that prints a staircase of size n. 주어진 숫자 n의 수 만큼 가로와 세로가 #으로 채워진 형태를 출력하시오. 조건 : n은 정수 / 0 < n ≤ 100 Sample Input 4 Sample Output # ## ### #### 어떤 값을 리턴하는 것에는 익숙한데, 이런식으로 콘솔에 프린트 하라는 문제는 아직 익숙하지가 않은 것 같다. 숫자를 배열로 만들어야 할지, 다른 방법이 있을지 판단이 안섰음. 풀고 보니 어려운 코드가 아닌데 처음에 고민을 많..
JavaScript ES5 와 ES6 달라진 점 01 자바스크립트를 처음 배울 때는 대체로 ES5로 배웠던 것 같다. 알고리즘 코드를 리뷰하면서 같은 코드를 다르게 표현하는 방법을 보게 되었고, ES5와 ES6의 표현의 차이가 크다는 것을 알았다. 공부 좀 미리한 친구들은 ES6 버전으로 긴 코드를 팍팍 줄여 작성하고 있었음. 두 가지 모두 알고 있어야 한다는데 현재의 나는 화살표 함수가 굉장히 헷갈리는 중. 이제라도 주요 달라진 점을 정리하고 공부 하면서 추가해 나가려고 합니다. 변수 선언 var : 함수 스코프를 가지므로 블록과 관계 없이 접근할 수 있음. let : 사용법은 var 문과 같지만 블록 스코프를 가지며, 블록 밖에서는 변수에 접근할 수 없음. const : let 과 동일한 블록 스코프를 가지며, 한 번만 할당할 수 있는 변수(상수)를 선..