전체 글 275

이벤트 루프 vs 쓰레드풀 매커니즘 비교

이벤트 루프(Event Loop)와 쓰레드 풀(Thread Pool)은 병렬 작업과 동시성을 처리하는 두 가지 주요 매커니즘입니다.이들은 각각 다른 설계 철학과 구현 방식을 기반으로 동작하며, 사용 사례에 따라 장단점이 있습니다.아래에서 두 방식의 작동 원리와 차이점을 비교하여 설명하겠습니다.1. 이벤트 루프(Event Loop)작동 원리단일 쓰레드 기반:이벤트 루프는 하나의 쓰레드에서 모든 작업을 처리합니다.작업이 블로킹되지 않도록 비동기적 방식으로 요청을 처리합니다.작업 큐(Task Queue):작업 요청이 들어오면 작업 큐에 등록됩니다.이벤트 루프는 큐에 저장된 작업을 하나씩 가져와 처리합니다.비동기 I/O:I/O 작업(네트워크, 파일 등)을 비동기로 실행하여 완료 시 콜백이나 프라미스(약속된 작업..

카테고리 없음 2025.01.06

언어별 멀티쓰레드 프로그래밍 구현방식

언어별로 멀티쓰레드 프로그래밍 구현 방식은 해당 언어의 철학, 런타임 환경, OS 지원, 그리고 기본적으로 제공하는 쓰레딩 API에 따라 달라집니다. 주요 언어들에서의 차이를 살펴보겠습니다:1. C/C++방식: POSIX Threads(Pthreads) 또는 Windows API를 주로 사용.특징:저수준 API 제공으로 세밀한 제어 가능.Pthreads는 Unix 계열 시스템에서 표준.Windows에서는 CreateThread 같은 Windows API를 사용.성능이 뛰어나지만 메모리 관리나 동기화 문제는 개발자 책임.동기화:Mutex, Condition Variable, Semaphore 사용.스레드 안전성을 위해 철저한 관리 필요.2. Java방식: Java는 자체 JVM 쓰레드 관리 시스템을 제공...

카테고리 없음 2025.01.06

Blazor WebApp 그리고 @rendormode

Blazor WebApp을 프로젝트를 생성,@rendermode의 차이를 경험해보고 싶었으나, 여러 제약사항들 걸리면서 개념을 정리해보기로 했다. 렌더링 방식은 총 4가지@rendermode 미지정 - Static SSR - 정적 서버렌더링 대화형 X@rendermode InteractiveServer - 대화형 SSR@rendermode InteractiveWebAssembly - 대화형 CSR@rendermode InteractiveAuto - 대화형 SSR+CSR (번들 다운로드 상태에 따라, 자동) CSR을 사용하기 위해서는 별도의 Client프로젝트(WebAssemblyHost 사용) 구성하여야 한다.Client프로젝트는 wasm으로 빌드되어, 클라이언트에게 전달되어 CSR이 되는 방식, 고로 ..

카테고리 없음 2025.01.03

.net Blazor 호스팅 모델에 따른 차이

블레이저에 대한 관심이 생겨,만지작 거리다보니, 블레이저 프로젝트 템플릿 종류에 따른 차이가 궁금해졌다. 템플릿 이름 약식 이름 언어 태그---------------------------------------------- -------------------------- ---------- ------------------------------------------------------------------------------Blazor WebAssembly 독립 실행형 앱 blazorwasm [C#] Web/Blazor/W..

카테고리 없음 2024.12.31

firebase cloud functions에서 storage 사용시 권한 이슈

firebase cloud functions을 사용하여 API를 구성해보던 중이미지 파일을 업로드하려, storage에 접근, getStorage().bucket().file('filename').save(buffer)위처럼 파일 저장을 했더니,{"severity":"ERROR","message":"Error: Unable to upload image Error: *****@gmail.com does not have storage.objects.create access to the Google Cloud Storage object. Permission 'storage.objects.create' denied on resource (or it may not exist).\n at entryFromAr..

카테고리 없음 2024.11.25

stateless 인증과 jwt, 그리고 위변조에 대한 이야기

항상 개발을 하다보면, 인증 처리 방식에 대한 고민이 많다. 모바일이 보편화 되고, SPA 웹앱으로 개발하는 일도 많다보니, 세션을 사용하는 일은 거의 없다. 대세의 jwt를 쓰면서도, 자유롭게 설정 가능한 payload는 가끔 또 고민의 고민을 낳고 있다. 그렇게 사용하게 된 jwt의 장,단점에 대해 이야기를 해본다. stateless 인증으로 jwt를 채택하여 얻게 되는 장점은 많다.서버사이드 세션관리가 필요없으므로, scale-out하기에 용이하다.단순하고 직관적이면서도, 위변조는 안된다. 하지만 , payload가 노출은 되므로, 신경 쓸 부분이 많다.예를 들어 payload에 중요한 정보를 넣어서는 안되고탈취에는 취약하므로, 방지책도 고려해야 한다. 또한, Issuer나 Audience, Iat..

dev/web 2024.11.08

네이버클라우드 bash_history 해제

네이버 클라우드에서 Server상품으로 ubuntu를 사용중, history가 안되는 현상이 발견( ~/.bash_history 파일이 로그인시 초기화 되는 현상) ~/.profile ~/.bashrc를 뒤져보아도, 특이사항은 안보임 다른 쉘 초기화 스크립트를 찾아보니 /etc/profile이 범인.sudo vi /etc/profile 하단에TMOUT=324000HISTFILESIZE=0HISTSIZE=500 이런 부분이 있었다. 세션 타임아웃과 history 관련 변수를 바꿔버리고 있었으니, 주석 처리하면 끝.

카테고리 없음 2024.10.28

유플투쁠 5월

혜택에 혜택을 더해(+) 5월에도 찾아온 유플투쁠놀이공원, 나들이 갈 땐 유플투쁠이지! 멤버십 혜택 즐기고 유플투쁠 PLAY로 같이 놀자! ⠀ Play 01 찾아라! 유플투쁠 챌린지 참여만 해도 다이소 쿠폰 100% 당첨 일상 속 멤버십 혜택을 찾아라! 혜택만 찾으면 이무진 LIVE 직관 기회까지? ⠀ Play 02 잭팟_이모지? 터져라 잭팟! 이모지 퀴즈 맞히면 에어팟 맥스의 주인공이 내가 될 수도?! 참여자 전원에게 U⁺콕 쿠폰을 드려요! ⠀ 기간: 2024년 5월 7일(화) - 5월 31일(금) 당첨자 발표: 6월 7일(금) 지금 혜택 받고 이벤트 참여하기: https://bit.ly/3QvqWIc

카테고리 없음 2024.05.21

Amazon Linux 2023 Install Docker with Docker Compose

아마존 리눅스를 위한 Docker 설치 스크립트Docker with Docker Compose# Dockersudo yum install -y dockersudo usermod -aG docker ec2-usersudo systemctl enable dockersudo systemctl start dockersudo systemctl start docker.socketdocker info# Docker Compose Pluginsudo mkdir -p /usr/local/lib/docker/cli-plugins/sudo curl -SL "https://github.com/docker/compose/releases/latest/download/docker-compose-linux-$(uname -m)" -..

카테고리 없음 2024.05.01