(JavaScript) 다시 한번 기초 다지기! - JS 비동기 처리

자바스크립트는 기본적으로 단일 스택으로 싱글 스레드로 처리되서 동기적으로 처리됩니다. 이것이 어떤말인가 하면 자바스크립트가 엔진에 의해 처리 될때 호이스팅(hoisting) 처리후에 한줄 한줄씩 순차적으로 처리된다는 말입니다. 호이스팅(hoisting) 이란? 변수, 일반 함수 선언된것이 최상위로 올라가는 현상 그렇기 때문에 효율적으로 처리하기 위해서는 비동기 처리 방법이 필수적인 상황이 있는데 자바스크립트에서 비동기로 처리하는 방법을 하나씩 알아보도록 해보겠습니다.

더보기

(ASP.NET Core) 중복 요청 취소 처리하기

사용자가 브라우저를 통해 웹서핑을 하는데에 있어 네트워크 이상으로 일시적으로 느려지거나 서버측에 오래 걸리는 작업을 요청했을때 대부분 로딩중인 상태를 기다리지 못하고 연속적으로 새로고침을 누르거나 url요청을 다시 하게 됩니다. 이렇게 같은 요청이 중복으로 지속 요청된다면 웹 서버측은 모든 요청을 그대로 받아 들이고 WAS는 해당 요청을 중복으로 처리되어 상당히 비효율적인 결과가 나오게 됩니다.

더보기

(C#) False sharing(거짓 공유) - 병렬처리가 더 느릴 수 있다!

이번 포스팅은 False sharing(거짓 공유)에 대해 알아보고 이런 현상 이유와 해결하는 방법에 대해 알아보겠습니다. 우리는 어떤 작업에 대해서 오래 걸리는 작업인 경우 다수의 스레드를 이용해서 병렬처리를 하면 단일 처리를 하는 것 보다 더 빠르게 처리할 수 있다는것을 잘 알고 있습니다. 그런데 이렇게 빠르게 처리하기 위한 병렬처리 부분이 하드웨어(CPU) 구조적인 문제로 인해 정상 속도가 나오지 않는 문제가 있습니다. 심지어는 단일 스레드로 처리하는 속도 보다 더 느린 결과가 나올 수도 있습니다.

더보기

(C#) 동기화 설명 및 Volatile 동기화

멀티 스레드 환경에서 공유 자원에 대해 동시에 서로 읽고/쓰기 처리를 하는데 있어 동기화 처리 고려를 하지 않을 수 없습니다. 스레드 동기화 처리 방법은 크게 유저 모드에서 처리 되는 기법과 커널 모드에서 처리 되는 기법 두가지로 나눌 수 있는데 이번 글에서 유저 모드 동기 처리 방식은 Volatile 동기화에 대해 알아보도록 하겠습니다.

더보기