본문 바로가기

javascript4

[JavaScript] 자바스크립트 제어 흐름 이해하기(동기 / 비동기) 자바스크립트는 자바나 C#과 같은 다른 멀티스레드 프로그래밍 언어와 다른 방식으로 비동기 동작을 처리한다. 때문에 동기/ 비동기 파트는 처음 자바스크립트를 접하는 경우 이론적 어려움을 많이 느끼는 부분이기도 하다. 자바스크립트 내부의 비동기 동작을 이해하기 위해서는 이벤트 루프 등의 개념을 알아야만 한다. 01. 자바스크립트 엔진의 특징 먼저 자바스크립트 엔진의 특징부터 살펴보면 다음과 같다. 자바 스크립트 엔진은 하나의 메인 스레드로 구성되고 메인 스레드는 코드를 읽어 한 줄 씩 실행한다. 즉 자바스크립트 엔진은 비동기 처리를 제공하지 않는다. 자바스크립트에서 비동기 코드가 실행될 수 있는것은 자바스크립트내에서 이를 돕는 함수(setTimeout, fetch 등)를 제공되기 때문이다. 그렇기 때문에 처.. 2022. 7. 27.
[프로그래머스 /JavaScript] 모의고사 + 코드 function solution(answers) { var answer = []; //수포자들이 찍는 패턴 저장 let firstStu = [1,2,3,4,5]; let secondStu = [2,1,2,3,2,4,2,5]; let thirdStu = [3,3,1,1,2,2,4,4,5,5]; let count = [0,0,0]; // 학생은 3명이므로 3개의 인덱스를 가진 배열에 저장 for (let i=0; i 2022. 7. 21.
[node.js] MongoDB에서 Bcrypt 활용하여 비밀번호 암호화하기 프로젝트를 진행하던 중.. MongoDB에 이렇게 사용자의 비밀번호가 뜨는 것을 발견했다. 이렇게 되면 보안상의 문제가 있을 수도 있고 개발하는 입장에서도 사용자의 비번이 DB쿼리 결과에 다 뜨는게 좀 거슬리니 보완해주기로 했다. 그러기 위해 Bcrypt를 사용해 비밀번호를 암호화 하여 데이터 베이스에 저장해 주기로 했다. 여기서 Bcrypt에 대해 잠깐 알고 넘어가면.. bcrypt(비크립트) bcrypt 블로피시 암호에 기반을 둔 password-hash-function으로 레인보우 테이블 공격 방지를 위해 Salt를 통합한 적응형 함수의 하나라고 한다. 암호화의 종류에는 SHA 방식을 비롯한 여러가지가 있는데 그중에서 패스워드 암호화로 추천되어지는 것이 bcrypt였다. 이것은 SHA가 보안에 결함.. 2022. 7. 21.
[Javascript/3주차] DOM과 그리고 Node 객체 정리 HTML이나 Javascript를 사용하다보면 접하게 될 만한 개념 중 하나가 DOM이라고 생각한다. 그러나 잘못 알고 있던 개념도 있고 좀 정리를 하기 위해서 이번에 포스팅을 해보려고 한다.! 01. DOM이란? DOM(Document Object Model)은 HTML문서의 계층적 구조와 정보를 표현하며 이를 제어할 수 있는 API이다. 이를 위한 프로퍼티와 메서드를 제공하는 트리 자료구조라 할 수 있으며, 프로그래밍 언어가 문서구조, 스타일, 내용 등을 변경할 수 있도록 한다. 01-02. Document Method Document 메서드는 HTML 요소와 관련된 작업을 도와주는 다양한 메소드를 제공한다. HTML 의 요소를 선택해서 작업하여야 할 때 id를 이용한 요소 노드 취득: documen.. 2022. 7. 21.