Tech
기술
-
NAT Hole Punching
마인크래프트 영상을 보다가 예전에 친구들이랑 게임하다가 포트 포워딩 해서 서버를 매번 여는게 엄청 귀찮았던 기억이 있었는데 요즘 같으면 더 간편한 방법이 있지 않았을까 싶어서 찾아봤다가 알게된 사실을 정리해본다.
-
LLM은 Turing Completeness 할까?
문뜩 떠오른 생각이다 대충 생각하기에는 Turing Complete(튜링 완전)할거 같긴한데 실제로 확인 해보고 싶었다.
-
Turing Completeness
Turing Completeness(튜링 완전성) 정리
-
스피커 잡음 해결
예전에 대충 산 스피커가 있었는데 요즘들어 잡음이 많이 발생해 잡음을 없애려다 안 사실이다.
-
DIY Drone 부품
드론 조종을 오랜만에 하고 싶은데 내가 만들어서 조종하면 더 재밌을거 같아서 관련 내용을 찾아보았다.
-
JS Signal
프론트 작업에 이제는 거의 필수가 된 React는 상태 변화 시 컴포넌트를 리렌더링하여 최신화 시킨다. 이러한 컴포넌트 단위 리렌더는 이제는 모두가 알정도로 불필요한 연산을 불러오기 쉽다. 이러한 불필요한 동작을 막기위해 memoization 등 여러 방법을 동원하지만 이는 React의 단순한 선언적 U…
-
왜 컴퓨터 소프트웨어에서는 Y축이 반전일까?
물리 엔진 충돌에 대한 글을 쓰다 찾아본 자료들을 보다보니 좌표평면의 값이 내가 아는 좌표평면과 다른것에 의문이 생겨 알아본 사실이다.
-
AABB
충돌 검출에 대해 알아보다 알게된 용어이다.
-
물리 엔진 궁금증 4 - 충돌 검출
이번에는 충돌에 대해 알아보았다.
-
모니터에 어떻게 정보를 표시 할 수 있는걸까?
예전부터 궁금했다 그래픽스가 어쩌고 점, 선, 면이 어쩌고 픽셀이 어쩌고 근데 근본적으로 모니터에 어떤 명령을 내려야 정보들이 표시되는지 너무 의문이었다.
-
Thread 어원
Thread를 계속 보고 듣다보니 익숙해져서 그런데 도대체 Thread는 어원이 뭘까 알아보자
-
GPU 구조 2 - SM
오늘은 GPU의 구조 중 SM 에 대해 알아보겠다. NVDIA GPU 기준임을 명심하길 바란다.
-
GPU 구조 1 - 개요
오늘은 GPU의 구조에 대해 대략적으로 알아보았다.
-
물리 엔진 궁금증 3
오늘은 간단한 물리 엔진을 만들어 보았다.
-
물리 엔진 궁금증 2
어제 뉴턴 역학 제 2법칙 $F=ma$에 대해 알아보았는데 오늘은 어제의 내용에 연관된 내용을 마저 알아보았다.
-
물리 엔진 궁금증 1
요새는 게임 만들때 거의 필수적으로 게임 엔진을 쓰는데 게임 엔진에 기본적으로 물리 엔진도 같이 들어가있어서 물리 엔진을 따로 구현 할 일이 없다.
-
CPU 설계 종류 차이
클라우드 서버에 도커 레지스트리에 있는 컨테이너를 받아서 실행 시켜려고 할 때 가끔 CPU Architecture가 맞지 않아서 실행이 안되는 경우가 있다. 그냥 이미지 빌드만 그 서버에 맞게 바꿔서 쓰곤 했는데 CPU 설계 종류에 대해서 깊게 생각해본적이 없어서 한번 알아보았다.
-
어째서 Shader 분리?
어제 진짜 궁금했던 Shader 코드를 왜 굳이 언어 형식도 다르게 해서 따로 관리를 하는지에 대해서 알아보았다.
-
Shader History
js로 게임 만드려고 하는데 WebGL에서 쉐이더를 적용하려고 생각하다보니 쉐이더는 왜 굳이 언어 형식도 다르게 해서 따로 관리를 하는지 이해가 안되서 쉐이더에 대해서 조금 알아봤다.
-
MSA
최근에 회사에서 새로운 프로젝트를 시작하면서 아키텍처에 대해 고민하고 있다. 기존에는 모놀리식 아키텍처를 사용했는데, 팀이 커지고 서비스가 복잡해지면서 마이크로서비스 아키텍처로 전환을 고려하고 있다.
-
GraphQL vs REST API
REST와 GraphQL의 데이터 요청, 캐싱, 스키마 변경을 같은 사용자·게시글 예제로 비교하고 API 선택 기준과 운영상의 주의점을 정리합니다.
-
Docker 컨테이너 보안
최근에 Docker를 사용해서 애플리케이션을 배포하는 프로젝트를 진행하고 있다. 개발 환경에서는 문제없이 동작했는데, 프로덕션 환경에 배포할 때 보안에 대한 고민이 생겼다.
-
HTTP/3와 QUIC
최근에 웹 개발 관련 자료를 보다가 HTTP/3에 대한 언급을 봤다. HTTP/1.1, HTTP/2는 알고 있었는데 HTTP/3는 처음 들어봤다.
-
해저 케이블
어쩌다 든 생각인데 인터넷은 전세계에서 사용이 가능한데 이게 물리적으로는 어떻게 연결이 되있을까 궁금해졌다. 그래서 해저 케이블 지도라는게 있길래 봤는데 생각보다 해저 케이블이 범지구적으로 촘촘히 연결 되어있어서 깜짝 놀랬다. 해저 케이블은 어떻게 설치하고 만약 한국에서 다른 나라까지 통신을 한다면 어떤…
-
RPA에 대하여
어쩌다 rpa 프로그램을 만들어야 할 상황이 왔다. 간단하게 python selenium으로 rpa 프로그램을 만든 경험은 있었다. 개인적으로 다른 시스템에 종속되는 rpa 시스템을 만들 경우 깔끔한 시스템을 만들기는 거의 불가능에 가깝다고 생각한다. 요새는 rpa를 어떤식으로 구현하고 트렌드는 어떤지…
-
JavaScript 게임 개발
요즘 회사 점심 시간마다 게임을 만들고 있는데 js 로 만든 게임은 얼마나 있을까 찾아보니 제일 대박친 게임은 뱀파이어 서바이벌이어서 조금 더 자세히 알아보니 js 게임용 프레임워크인 Phaser 라이브러리를 이용해서 개발했다는 사실을 알았다. 근데 뱀파이어 서바이벌이 최적화 문제로 최근 Unity 엔진…
-
SIMD?
게임 관련해서 정보를 알아보다가 알게된 용어이다.
-
Pooling?
게임 관련해서 정보를 알아보다가 알게된 용어이다.
-
AoS, SoA?
게임 관련해서 정보를 알아보다가 알게된 용어이다.
-
요즘 보안 사고 너무 많다
요즘 보안 사고가 너무 많은거같다.
-
History about Packet
패킷 스위칭의 역사와 발전 과정을 통해 네트워크 기술의 진화를 알아봅니다.
-
What is TTY?
TTY, 터미널 에뮬레이터, 셸, PTY의 차이를 정리하고 tty 명령과 Python 예제로 표준 입력과 터미널 장치를 확인합니다.
-
GitHub Action's Environment
GitHub Actions의 환경 변수와 설정에 대해 자세히 알아봅니다.
-
Haskell Tip
Haskell 프로그래밍에서 유용한 팁과 트릭들을 정리합니다.
-
Haskell Setup in Mac
Mac에서 Haskell 개발 환경을 설정하는 방법을 단계별로 안내합니다.
-
Tail Recursion (꼬리 재귀)
꼬리 재귀에 대한 개념과 예제를 통해 재귀 함수의 최적화 방법을 알아봅니다.
-
Jekyll with Obsidian Blog
위 생각의 과정을 바탕으로 요구 사항으로 정리 해보았다.