(Nest.js) MSA 서비스 간 통신을 위한 Microservices
서비스를 잘게 쪼개고 나면 반드시 따라오는 질문이 있습니다.
이 서비스들끼리는 무엇으로 이야기하게 할 것인가 하는 문제 입니다.
처음에는 대부분 HTTP로 시작합니다. 이미 컨트롤러도 있고, Swagger도 있고, axios만 붙이면 바로 되니까요.
서비스가 셋 넷일 때는 이 방식이 잘 돌아갑니다. 문제는 서비스가 열 개를 넘어가고, 하나의 사용자 요청이 서비스 네다섯 개를 거쳐 가기 시작할 때 드러납니다.
Nest.js는 이 지점을 위해 @nestjs/microservices 패키지를 제공합니다.
Nest에서 마이크로서비스란 거창한 무언가가 아니라 HTTP가 아닌 다른 전송 계층(transport)을 쓰는 애...
(C#) 블록 기반 로봇 티칭을 위한 표현식(Expressions) 파싱과 AST
블록을 조립해서 로봇 동작을 만드는 티칭 도구를 개발하다 보면 결국 한 가지 문제에 도달하게 됩니다.
블록의 속성값을 언제까지 상수로만 둘 것인가 하는 문제 입니다.
‘이동’ 블록의 Z축 값에 그냥 100을 넣는 것으로 끝나면 좋겠지만, 실제 현장에서는 아래와 같은 요구가 계속 들어옵니다.
직전 비전 검사 블록이 돌려준 보정값을 더한 위치로 이동
적재 카운트에 따라 달라지는 높이 계산
센서 값이 임계치를 넘으면 A, 아니면 B로 분기
이런 요구를 처리하는 가장 손쉬운 방법은 문자열 치환 입니다.
${block1.result} 같은 토큰을 정규식으로 찾아 값으로 바꿔치기 하고, 남은 문자열을 간단...
(ETC) mac os 한영 전환 키 변경
Mac OS에서 별도 앱 설치 없이 한/영 전환 키 변경 단축키를 오른쪽 Command키(F18)로 변경하는 방법 입니다.
macOS : Tahoe 26.4 (26. 03. 30) 버전 기준 입니다.
(인터뷰 자료) 백앤드 예상 질문 정리
CS 기본
1. 프로세스란
운영체제에서 자원을 할당 받아 독립적 메모리 공간을 갖는 애플리케이션의 인스턴스
2. 스레드란
프로세스 내에서 작업 처리의 단위
프로세스가 할당 받은 자원을 이용해서 작업의 효율적인 병렬 실행을 가능
스레드마다 하나의 고유 스택(Stack)을 갖고 있음
3. 멀티 스레드 환경에서 고려해야 하는 점
다수의 스레드가 공유 데이터에 동시에 접근하는 경우 데이터 손상을 막기 휘해 동기화 처리를 고려
동기화는 락을 획득하고 해제하는 과정에서 성능을 해치기에 어떤 동기화 처리를 해야 할지 고려
4. 동기화의 종류
동기화는 크게 닷넷 환경 기준에서는 ‘유저 모드 동기...
(TypeScript) 객체의 불변성(객체 보호)
프로그래밍에서 어떤 값이나 모델을 제공할때 의도치 않은 변화로 인해 오류가 발생되거나, 오류는 발생 되지 않았지만 잘못된 데이터로 인해 예기치 못한 결과를 만들어 낼 수 있는 상황이 있을 수 있습니다.
이때 객체를 불변(Immutable)으로 처리 함으로서 위와 같은 상황을 최소화 하거나 해결 할 수 있습니다.
여러 언어에서 객체를 불변으로 처리하는 방법이 있는데 TypeScript나 JavaScript에서 객체를 불변으로 다루는 방법을 알아 보겠습니다.
(Dotnet 기본) CS 기본 및 닷넷 CLR의 동기화, 스레드
CS 기본 및 닷넷 CLR의 동기화 및 스레드와 관련해 ‘제프리 리처의 CLR via C# 4판’ 에서 설명하는 내용을 정리해 봅니다.
(ASP.NET .NET 6) 양 방향 바인딩 Flags Enum 처리 방법
ASP.NET Core 기반 Razor Page에는 Html 요소를 렌더링 할 수 있는 Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper<TModel> 인터페이스를 제공 합니다.
가령 CheckBox는 다음과 같이 Razor 에서 작성 할 수 있습니다.
@Html.CheckBox("isActive", true)
위 Razor 문법은 Html로 렌더링 되면 다음과 같습니다.
<input checked="checked"
id="isActive"
name="isActive"
type="checkbox"
...
전체 글 70개, 9 페이지