본문 바로가기

LearningJavaScript

[Non-blocking]은 곧 [비동기(asynchronous)]다!? 자바스크립트 v8엔진 환경(node.js, browser)에서 nonblocking은 비동기, blocking은 동기라고 말할 수 있다는데.... 일단 그렇다고 받아들인다. Key Word: single-threaded: 비동기로 네트워크 요청을 주로 하게 됨! setTimeout(func, 0) 더보기
Node.js vs. Browser Similarities Differences Both use Javascript Node.js does not have the objects like the document and window that are provided by the browser Browser does not have APIs that Node.js provides through its modules require() - Node.js import - browser 더보기
[Asynchronous] [비동기] Callback, Promise, Async & Await 1. 세 가지 비동기 코드 패턴의 차이점 callback의 delay: promise의 sleep: 2. Promise 실행함수가 가지고 있는 두 개의 파라미터 resolve, reject의 역할과 의미 3. Promise 인스턴스에 존재하는 메소드 와 각각의 용도 .then: promise chaining에 사용됨 .catch: 4. Promise의 세 가지 상태와 각각의 의미 Settled: Fulfilled: fulfilled value = resolved value; promise로부터 기대한 값을 얻은 경우로, resolve()를 호출 Rejected: promise로부터 해결된 값을 얻지 못한경우로, reject()를 호출 Pending: resolved인지 rejected인지 아직 모르는 경.. 더보기
npm과 npx 차이 npm: Node Package Manager npx: Node Package eXecute 이름만 보면 npm은 노드 패키지를 매니지해주고 npx는 실행시켜준다는 의미를 갖고 있는것 같다. 하지만 리액트 CRA를 설치하며 npx create-react-app을 사용했는데, npm과 npx의 차이가 뭘까? 지금까지 패키지를 설치할 때 주로 npm을, 그리고 가끔 yarn을 수차례 써왔지만, 이제야 궁금해졌다. npm npm은 보통 전역(global)으로 패키지를 설치해 dependencies 라이브러리들을 전체적으로 관리할 때나 특정 프로젝트에 dependencies 라이브러리를 설치할 때 사용한다. 이 때 전역과 로컬에 설치된 패키지 업데이트에 문제가 생길 수 있다고 한다... 음? 만일 내가 전역과 .. 더보기
Make a hashtable 데이터 구조에서 배웠던 해시테이블을 까먹었다. 하지만 오늘 문제는 insert(), retrieve(), remove()메소드를 갖는 해시 테이블을 만드는 것. 그리고 충돌을 막기 위한 resize나 다른 기능도 추가가 돼야한다. 더보기
[SQL] user의 name과 email 그리고 그 user가 속한 role name(컬럼명: roleName)을 찾기 위한 SQL을 작성해주세요. 속한 role이 없더라도, user의 name과 email,role name을 모두 찾아야합니다. --> 더보기
[Database] SQL SQL (Structured Query Language) 데이터베이스 용 프로그래밍 언어로, 데이터베이스에 Query(질의문)를 보내 원하는 데이터를 뽑아 올 수 있다. 여기서 Query는 데이터베이스의 필요성 지금까지 in-memory(클라이언트/서버에 저장)와 file i/o(서버에 저장하는)에 저장해왔는데 뭐가 문제인가? in-memory의 경우, 끄면 데이터가 다 사라지고, file I/O의 경우 원하는 데이터를 갖고 오기 위해서는 모든 데이터를 가져온 뒤에 서버에서 필터링이 필요했기 때문에 비효율적이다. 따라서 필터링를 이용한 file i/o로도 구현이 힘든 데이터를 관리하는데 특화된 서버인 데이터베이스를 사용하는 것이다. 데이터베이스란? 엑셀 스프레드시트같이 생겼다.. 심지어 필터 기능도 된다.. 더보기
[React] 리액트란 무엇인가? "React makes it painless to create ineractive UIs." (from reactjs.org) 각 컴포넌트의 상태에 변화를 주어 웹/앱의 원하는 부분에만 변화를 줄 수 있게 도와준다. 결론은 "동적인" 웹 앱을 보다 간편하게 만들 수 있또록 도와주는 프론트엔드 라이브러리다. 더보기