/images/avatar.png

스레드

출처: [병렬프로그래밍] 자바 병렬 프로그래밍 소개 스레드 사용 안전성 위해 요소 UnsafeSequence는 비표준 어노테이션인 @NotThreadSafe를 사용.(@ThreadSafe와 @Immutable도 존재) @Immutable은 해당 클래스가 불변 클래스임을 나타내기 때문에 ThreadSafe 만약 @ThreadSafe라고 표시하면 클래스를 사용하는 사람은 멀티스레드 환경에서 문제가 없다는 점을 명확히 알 수 있고, 스레드 안전성이 계속 보장돼야 한다는 점에 주의할 수 있다. 스레드는 같은 메모리 주소 공간을 공유하고 동시에 실행되기 때문에 다른 스레드가 사용 중일지도 모르는 변수를 읽거나 수정할 수도 있다.

[javascript] forEach, map, filter, reduce 총정리

Javascript - forEach, map, filter, reduce 총정리 참고 자료: ES6의 map, filter, reduce 정리 reduce 참고 링크 forEach 가장 기본적인 Loop 메소드 1 2 3 4 5 6 const arr = ["a", "bb", "ccc", "ddddd"]; var arr2 = []; arr.forEach(function (str) { arr2.push(str.length); }); console.log(arr2); // [1, 2, 3, 5]] forEach문과 아래 map() 기능이 완전 똑같음을 알 수 있다. 그럼 map과의 차이점이 대체 뭘까?

[Nodejs]http2 적용과 발생한 에러

[node.js]http2 적용과 발생한 에러 리액트 웹페이지에 적용시킬 백엔드 서버를 구동하는 코드를 원래는 아래처럼 작성해놓았었다. 1 2 3 4 # index.js ... express().listen(PORT); console.info(`${NODE_ENV}- API Server Start At Port ${PORT}`); http2의 장점을 알고, 해당 코드를 http2로 변경해주었다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 const express = require("./config/express"); const { readFileSync } = require("fs"); const http2 = require("http2"); const { NODE_ENV, PORT, SSL_CERT_PATH, SSL_KEY_PATH } = process.

Nodejs 스레드

Nodejs 스레드 자바스크립트 코드가 실행될 때 보다, IO 이벤트가 발생할 때 까지 기다리는 시간이 훨씬 더 많다. node index.js 한 후, lsof -i:[사용하는 포트 번호] ex) lsof -i:3000 하면 해당 프로세스의 pId를 확인할 수 있다. ps -M [pId] -> 스레드의 개수를 확인 가능 1 2 3 4 5 6 7 8 9 10 11 12 USER PID TT %CPU STAT PRI STIME UTIME COMMAND we 43531 s003 0.0 S 31T 0:00.

Javascript 변수 var, let, const & TDZ(Temporal Dead Zone)

출처 자바스크립트 변수 선언 방식 차이: var/let/const TDZ(Temporal Dead Zone)이란? Hoisting and TDZ Javascript 변수 var, let, const & TDZ(Temporal Dead Zone) 오늘은 기초적인 var, let, const에 대한 차이를 알아보았다 일단 변수 선언의 3단계는 선언 -> 초기화 -> 할당 과정으로 이루어져 있다. 선언: 변수를 실행 context의 변수 객체에 등록하는 단계. 해당 변수 객체는 scope가 참조하는 대상이 됨 \n 초기화: 선언 단계의 변수를 위한 메모리를 만드는 단계. 할당된 메모리에는 undefined로 초기화 \n 할당: undefined로 초기화된 메모리의 다른 값을 할당 \n

Javascript 기초지식 쌓기

출처: https://velog.io/@dongha1992/javascript-%EB%82%B4%EB%B6%80%ED%95%A8%EC%88%98-%EC%99%B8%EB%B6%80%ED%95%A8%EC%88%98 자바스크립트 기초 지식 쌓기 아래의 코드가 있다고 가정하자. -- 1 2 3 4 5 6 7 8 9 function out(){ const name = "aaa" return function(){ console.log(name); } } const in = out() in() 함수 안에 함수가 있을 때 응집성이 높아진다. 위의 코드를 보면 out()은 외부함수, in()은 내부함수를 말한다. in()함수에서 name에 대한 로그를 찍는데, name은 out()에만 있기 대문에 외부 함수에서 변수를 찾는다. 이를 closure라고 한다.