C++ - C++23 std::print 소개
AWS 오픈 소스 컨테이너 개발 툴 「Finch」의 Windows판 릴리스. 컨테이너 빌드 및 실행 환경 세트
Unity의 불필요한 에셋 삭제 툴
golang - Go 1.22에서 slices 패키지에 추가된 편리한 함수
컴투스 서버캠퍼스 2기
안녕하세요
2023년에 이어 올해도 컴투스 서버캠퍼스를 합니다.
접수는 3월 6(수요일)일부터 시작합니다 (3월21일(목요일) 16시까지)
지원
- 작년과 달라진 것
- 소켓 방식의 게임 서버 개발이 중심.
- 교육 기간이 5주에서 7주로
- 오프라인 주 1회에서 2회로 ...
컴투스 서버캠퍼스 2기
안녕하세요
2023년에 이어 올해도 컴투스 서버캠퍼스를 합니다.
접수는 3월 6(수요일)일부터 시작합니다 (3월21일(목요일) 16시까지)
지원
- 작년과 달라진 것
- 소켓 방식의 게임 서버 개발이 중심.
- 교육 기간이 5주에서 7주로
- 오프라인 주 1회에서 2회로 ...
golang - Go 1.21 버전에서 panic(nil) 동작이 변경
컴투스 서버캠퍼스 2기
안녕하세요
2023년에 이어 올해도 컴투스 서버캠퍼스를 합니다.
접수는 3월 6(수요일)일부터 시작합니다 (3월21일(목요일) 16시까지)
지원
- 작년과 달라진 것
- 소켓 방식의 게임 서버 개발이 중심.
- 교육 기간이 5주에서 7주로
- 오프라인 주 1회에서 2회로 ...
C# - .NET Conf 2024 x Seoul - 닷넷에서의 스레드간 메시지 전송
Read MoreWindows11 - Dev Drive 사용하기
C++ - std::span
C++ - 콜백(Callback) 디자인 패턴
golang - slog를 랩핑할 때 의도한 소스 코드 위치 표시하기
C++ - std::data
C# - .NET용 템플릿을 직접 만들기
Visual Studio - 동일 파일 탭을 복수로 열기
C++ - 템플릿 프로그래밍 SFINAE을 이해하기
C++ - SFINAE 정리
C# - .NET 7 Blazor Server를 .NET 8로 마이그레이션하는 방법
C++ - C++23 P2740R0 Simpler implicit dangling resolution
GitHub Copilot의 Prompt Crafting 의식하기
C# - .NET 8에서 ASP.NET Core Hosted Blazor WebAssembly 프로젝트 새로 만들기
C++ - C++ 프로그래밍의 생산성을 약간 향상시키는 Visual Studio 기능(2023년)
golang - TinyGo 소개
C# - ZLogger이 버전 2가 되면서 변경된 부분
C# - ZLogger 깃허브 문서 번역(2023-12-06)
데이터베이스 락(Lock) 기초부터 교착 상태(데드락)까지
golang - Go1.21 log/slog 패키지 초입문
UPDATE IN SELECT로 인한 교착 상태가 더 이상 발생하지 않게된 이야기
C++ - noexcept를 사용하여 이동 생성자 생략 방지하기
C# - Microsoft.Extensions.Configuration.Json에서 읽은 설정 값에 Prefix 부여
C# - .NET의 HttpClient의 Timeout이 가리키는 시간 초과가 의미하는 것은 무엇일까?
C# - C# TimeProvider 사용 정보(.NET8)
Link! Like! 러브라이브! 게임 서버 기술 스택
2023년 회고 - 책
Windows 원격 데스크톱을 사용하여 Rocky Linux 9 에 접속하는 방법
C# - WebAssembly/WASI 바이너리 생성 가능하게 .NET 8 SDK에서 실험적 구현
C++ - CEDEC 2020 - 게임 개발자를 위한 C++11에서 C++20 장래의 Cpp 전망.pdf
Read MoreAI 이미지 생성의 새로운 시대! 'Stability Matrix'로 최신 이미지 생성을 경험
C# - .NET 8 & C# 12 정리
C++ - 멤버 함수를 함수 객체로 전달하는 방법 - std::bind 와 람다식
서버 부하 테스트 2023 트렌드
C# - Proto.Actor 정리
C++ - 복잡한 초기화를 할 때에도 변수에 const 를 부여하기
C++ - 세 가지 정적 변수의 차이
MySQL의 ALTER TABLE 문 실행 시 주의 사항
C++ - 온갖 플래그를 저장할 수 있는 최강 클래스를 만들어 보자
golang - Go 언어 HTTP Body의 Close 에 대해서
C++ - memcpy 최적화
SQL 약간의 퍼포먼스 튜닝 정리
한 걸음 앞서가는 버전 관리 asdf의 활용법
C++ - Delay Queue
asio (non-Boost) 사용하기
Rclone을 사용하여 S3에서 Google 드라이브로 파일 전송
C# - if 조건 부분에서 변수 정의하는 Tip
C++ - std::thread 사용법
C++ - std::string에서 메모리 할당이 발생하지 않는 최대 바이트 수
golang - Go의 time package에 의한 wall clock과 monotonic clock에 대해서
C++ - Python의 print()와 비슷한 cpp-dump
C++ - condition_variable
C++ - 가변 길이 템플릿에서 std::source_location 사용하기
C# - .NET 8 에서 WinForm 프로그램 빌드 시 경고 발생하는 것 수정하기
.NET 7 에서는 WinForm 프로그램을 빌드할 때 나오지 않던 경고는 .NET 8에서는 발생했다.
경고는 아래와 같다.
1>C:\SuperSocketLite\Tutorials\PvPGameServer_Client\PacketProcessForm.cs(119,17,119,49): warning CA1416: 이 호출 사이트에는 모든 플랫폼에서 연결할 수 있습니다. 'ListBox.ObjectCollection.Clear()'은(는) 'windows' 6.1 이상에서만 지원됩니다. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1416)
신입으로 취업 준비 중인 분들을 대상으로 합니다. 장소는: 지하철 2호선 낙성대역 3번 출구 근처 카페 오픈 카톡방 오래전에 번역했던 것입니다. 오늘 .NET L!VE 2023 Fall 에서 아래 주제로 강연을 했습니다~ 회사에서 공유했던 오래전 문서지만 학습에 도움이 될 것 같아서 공유합니다. 회사에서 공유했던 오래전 문서지만 닷넷 학습에 참고하면 좋습니다. 비주얼스튜디오 사용한다면(C++, C#) GitHub Copilot 강력하게 추천합니다. 사람마다 다르게 느끼겠지만 저는 아무리 낮게 보더라도 비주얼어시스트 발전형 정도는 된다고 봅니다. 컴투스에서 이번에 서버캠퍼스 라는 이름으로 5주 동안 ASP.NET Core Web API 프레임워크를 사용하여 웹서버 방식의 게임 서버 개발 교육을 하고 있습니다. 아래는 교육생들이 학습을 위해 정리한 글들입니다. 작년에 정리한 것으로 최신 버전과 일부 다른 부분이 있을 수 있음. 4월 27일 19:15~20:00 온라인 클라이언트, 서버 양쪽 다 하기를 원하거나 혹은 호기심에 게임 서버 개발을 배우기 원하는분 보다는 안녕하세요 이 교육을 통해서 게임 서버 중 웹서버 방식의...
AWS re:Invent 2022 세션인 ‘Building a successful Korean MMORPG with KakaoGames’ 의 강연 요약 안녕하세요 1명이라도 신청자가 있으면 1월 5일 22:30분에 시작합니다. 회고를 거의 하지 않았지만 올해 게임 개발자로서 변화가 있어서 남겨 봅니다. 관리자로 더 진화 출처: The Design and Evolution of C++ (by Bjarne Stroustrup) DI에서 Dbcontext 사용하기 컨트룰러에서 DI 객체 불러오기 신청하기 신입 공개 채용 지원은 10/24일까지입니다. 안녕하세요 https://www.com2us-recruit.com/ 메타버스 개발에 관심 있는 분들은 꼭 지원해 보시기 바랍니다. 궁금한 것이 있으면 이메일로 연락주시기 바랍니다~ 유튜브 시작한지는 2년전쯤 되는데 조금 하다가 중단하고… 또 다시 자주는 아니라도 꾸준히 하려고 합니다. https://www.youtube.com/user/jacking75/videos 안녕하세요 컴투스는 복수의 야구 게임을 신규 개발 및 라이브 서비스를 하고 있습니다. C++의 경우 Release와 Debug 버전으로 각각 빌드를 했을 때 성능 차이도 동작이 서로 다른 부분이 있다. 아래는 닷넷포럼에 내가 올린 질문과 관련 글을 번역한 것이다. [번역] Performance differences between debug and release buildsC++ - 조건 변수와 춤을(Two-Step Dance)
WebSocket 프로그래밍 정리
C++ - C++에서 ULID 생성
DB 샤딩 알고리즘
C++ - volatile 에 대해서
날짜 + 난수로 64비트 길이의 ID 생성
C++ - unordered_map의 key로 std::pair 사용하기
C++ - 오픈소스 folly 라이브러리 Visual Studio 2022 빌드하기
게임 서버 학습 및 게임 서버 신입 구직 멘토링 오픈 카톡방
시간: 토, 일요일 오전 10:20 ~ 12시까지
비용: 커피 한잔(공짜는 아닙니다^^;)
들어와서 멘토링 신청하면 됩니다
입장할 때는...
C++ - 리눅스에서 공유라이브러리 추가하는 방법
LinkedIn, 마이크로서비스 통합에 프로토콜 버퍼를 도입하여 대기시간 최대 60% 단축
C++ - C++에서 http 요청하기(cpp-httplib + nlohmann.json)
The Online Tech of Respawn's Titanfall
C# - C# 코드에서 자동으로 UML 생성
Cloud Logging 구조화 로그의 특수한 JSON 필드 정리
구글 클라우드 로깅에 대해서
C# - Top 5 .NET 메모리 관리에 대한 오해
C++ - VSCode에서 경쟁적 프로그래밍 환경(C++)을 구축하기
일회용 비밀번호 생성기를 만들기
Slack의 실시간 메시징 아키텍처
C# - 로그인 패스워드를 해시화 하는 방법(예:C#,.NET,PostgreSQL)
C++ - INI 파일 읽기/쓰기를 일괄적으로 할 수 있는 라이브러리 inifile-cpp
C++ - single-file C, C++ libraries 소개
epoll 네트워크 프로그래밍
golang - Go 1.21에서 추가된 slice의 기능
NAT 통신에 대해서
C# - VSCode C# Dev kit 사용
Cloudflare에서 Kafka 운영에서 배운 것 ~ QCon 런던에서
C++ - std::function 및 함수 포인터의 성능 평가
C++ - functional 활용하기
Unity용 HTTP/2(gRPC) Client, YetAnotherHttpHandler 공개
golang - Go 1.21 릴리스, WASI(WebAssembly System Interface) 지원, 런타임 프로파일로 컴파일 최적화
C# - 고성능 데이터 직렬화 라이브러리 MemoryPack 소개
C# - C# internal 타입 및 멤버를 지정된 Assembly에서 접근 가능하게 만들기
VS Code - C# Polyglot Notebooks
10년 전 '무어의 법칙이 끝났다'고 말하던 시절부터 현재까지 서버 진화의 기술적 모색을 되돌아본다
Microsoft, Visual Studio Code의 Unity 확장 기능 발표, 이용 방법은?
WSL - Windows Subsystem for Linux v2.0.0 다양한 테스트 기능 추가
인텔 CPU에서 기밀 정보가 유출되는 "Downfall" 취약성, Microsoft가 경감책 해제 방법을 안내
온라인 게임에서는 서로의 위치가 멀리 떨어져 있어도 왜 빠르게 동기화할 수 있을까? 어떻게 통신하고 있을까?
TOTP 완전 이해하기
C++ - Visual Studio에서 C++ Core Guidelines 사용하기
C# - C#으로 웹UI 프로그래밍 하기
QUIC은 데이터 손실시 처리 대기를 어떻게 최소화할까?
C++ - Windows Implementation Libraries (WIL)
C# - Z.ExtensionMethods 소개
3 종류의 가상화 기술
Mermaid로 개발 문서 만들기
golang - gonew를 사용하여 Go 프로젝트 템플릿 사용
C++ - const와 포인터의 관계
C# - ASP.NET Core Web API 프로그래밍
JetBrains IDE 공통. 환경 변수를 설정하여 코드상에서 참조하는 방법
C# - .NET 6 소개
golang - Go에서 pprof를 사용하여 메모리 누수를 확인하는 방법
Microsoft PowerToys에 추가된 7개의 새로운 기능
Discord가 데이터베이스를 "Apache Cassandra"에서 "ScyllaDB"로 마이그레이션 한 이유
golang - gonew를 사용하여 Go 프로젝트 템플릿 사용
Visual Studio - 괄호를 잊었을 때를 위한 편리한 확장 기능을 Microsoft 직원이 공개
golang - Go 언어 defer의 이해를 확인하는 기본 문제 3개
TSO(TCP Segmentation Offload)에 대해서
golang - defer 기본 사용법
golang - Go 언어에서 Context를 활용하는 세 가지 패턴
C# - .NET 코드 최적화 기술 - Memory
golang - Go는 블록체인 영역에서 왜 사용되고, 어떤 활약을 하고 있을까?
golang - errorgroup.SetLimit 과 TryGo로 goroutine 동시 실행 횟수 제어
golang - unsafe.StringData, unsafe.String, unsafe.SliceData
GitHub Copilot 사용합시다
아직 초창기라 엄청나게 뛰어난 AI는 아니지만 생산성, 편리성에 크게 도움이 됩니다.
월 2만원 정도의 비용 보다는 훨씬 더...
golang - Charm의 Go 로깅 라이브러리 "Log"를 사용해 보기
C# - Top 5 .NET 메모리 관리 기본 사항
golang - Go에서 릴리스 빌드할 때 최소한으로 붙여야 하는 옵션
golang - Go에서 build constraints를 사용하여 빌드 분리하기
golang - 언제 go build 한 서버인지 확인하기
Redis로 방문자수 구현하기
golang - Golang으로 직접 WebSocket 통신 구현해보기
golang - 1 바이트 데이터의 왼쪽 시프트(비트 로테이션, 순환 시프트)
golang - Go 언어에서 루프 내의 포인터를 안전하게 다루기 위한 일반적인 버그와 해결책
golang - Go psutil 라이브러리 소개
C# - .NET 메모리 사용 – 성능 향상을 위한 7가지 팁
C++ - 실전 Modern C++ - module
Read More
golang - 구조체의 변환과 비교
golang - go.mod에서 Go 버전 업데이트
C# - 자동 가비지 수집을 피하는 방법
golang - Golang WebSocket 서버 & 클라이언트 샘플 코드
C# - .NET 성능 측정 도구 "dotnet-trace" 사용법
MySQL의 다양한 타임 아웃 옵션 정보
golang - Collection 조작을 편하게 쓸 수 있는 samber/lo 라이브러리 소개
C# - 게임 개발에 유용한 Lucid Random 라이브러리 소개
golang - Golang에서 HTTP3 사용해보기
golang - cenkalt backoff 라는 라이브러리를 사용하여 ReTry(재시도) 처리하기
C# - .NET7 파일 출력 성능 테스트
MySQL 온라인 DDL에서 Deadlock 오류가 발생하는 경우
golang - Go의 fmt.Printf의 폭(너비)과 정밀도를 인수로 지정하기
C# - ASP.NET Core Web API 프레임워크 학습 자료
학습에 참고하시면 좋겠습니다.
C# - C#에서 SQLite를 멀티 스레드로 사용하기
로컬 환경에서 docker mysql에 연결
golang - Go의 internal 패키지란?
실전 Modern C++ - module 2
C# - System.Threading.RateLimiting로 유량 제한
실전 Modern C++ - module 1
golang - Go1.20의 새로운 기능 일부 소개
MySQL에 IP 주소를 저장하기
C# - ZLogger 예제 코드
파일 복사 툴 "FastCopy"가 v5.0에서 특정 SSD 환경에서 20%~30%의 고속화를 실현
모두가 알고 있어야할 수치 by Jeff Dean
golang - Generics를 사용하여 Collection 조작
C# - 이미 빌드 된 API 서버의 엔드 포인트 url을 변경하는 방법
C# - C# 11에서 Generic 산술 연산 예제 코드
C++ - 패키지 시스템 vcpkg
C++ 패키지 시스템 vcpkg
golang - Go의 Web Server를 Systemd에서 동작시키기
WSL - windows11의 wsl2 초기 설정 요약
C# - ASP.NET Core gRPC 앱에서 gRPC JSON 코드 변환 프로젝트 만들기
C# - ASP.NET Core Web API 의 버전 관리
golang - Go의 분산 배타 처리 패키지 Redsync 사용해보기
Windows에서 명령 프롬프트 응답을 직접 클립보드에 넣기
WSL - WSL2의 Ubuntu 또는 일부 스토리지 사용량을 줄이는 방법
docker - Windows에서 Docker 환경을 바꿨다 (Docker Desktop → Rancher Desktop)
C# - SqlKata 소개
대규모 언어 모델 "LLaMA"를 Windows PC에서 실행하기
golang - Go 언어로 Windows, Linux 백그라운드 상주 실행 프로그램 개발
openai-cookbook을 VS Code에서 WSL의 Ubuntu에서 실행하기
OpenAI API의 QuickStart turorial 따라해보기
모임 - (비정기)실용 Modern C++ 스터디
주제: C++ 20 module: #include 에서 import로
신청StableDiffusion에서 현실적인 인물 이미지를 생성하기 위한 주문 (프롬프트) 팁 모음
Windows에서 Stable diffusion WEB UI(AUTOMATIC1111 fork)를 실행하기
C++ - 구조화 속박(structured bindings)에 대응하는 클래스 만들기
golang - Go에서 cron 다루기
C# - DI로 등록한 객체의 멤버 함수 호출하기
FASTER 라이브러리 소개
golang - 웹 서버 애플리케이션 표준 패키지인 time/rate로 처리량 제어하기
C++ - C++20 모듈에 대해서
Windows 시간 동기화 설정(명령 프롬프트로)
C# - C#에서 힙 할당을 줄이기 위한 언어 기능
golang - Zerolog 사용해 보기
C++ - C++ 표준으로 와일드 문자열과 멀티바이트 문자열을 상호 변환하기
Linux - 리눅스 서버에서 발생한 병목 조사하기
C# - C# 메타 프로그래밍 개요 in 2021
golang - Go에서 구조체의 타입을 변환하는 방법
컴투스 서버캠퍼스가 궁금하다면? 대표 강사 인터뷰
[컴투스 서버캠퍼스가 궁금하다면? 클릭!🤓
대표 강사 인터뷰](https://blog.com2us.com/?p=3475)
게임 서버 개발자
가 되기 원하는 분들을 교육 대상자로 생각하고 있습니다.C++ - RapidJSON 또는 simdjson 보다 빠르고, C 언어에서 사용할 수 있는 JSON 라이브러리 "yyjson"
C# - RestSharp을 사용하여 C#에서 쉽게 REST API를 조작하기
golang - 일련 번호를 생성 할 수 있는 패키지
컴투스 서버캠퍼스 1기 모집
컴투스에서 서버캠퍼스
라는 교육 프로그램을 4월부터 시작하려고 합니다.
이 교육에 참가를 원하신다면 3월31일까지 지원하시면 됩니다.
지원하기
위 링크에 이 교육에 대한 자세한 설명도 있습니다.C++ - C++20 std::ranges::views <-> vector 사용 예
C# - MemoryPack을 Unity에서 사용하기
C# - MemoryPack 소개
golang - Go 1.20 Profile-Guided Optimization
golang - Go 1.20 New Features
C# - AlterNats 이라는 고성능 .NET PubSub 클라이언트와 그 구현에서 본 .NET 6 시대의 Socket 프로그래밍 최적화의 Tips
C# - ASP.NET Core 프레임워크 내부의 로그 수준 설정하기
golang - cockroachdb/errors란?
C# - .Net의 새로운 IO API Pipelines
C# - EventCounter에 대해서
C++ - Visual C++에서 Intellisense의 경고를 억제하는 방법의 경고를 억제하는 방법
golang - Go 최신 버전 설치하기(우분투에서)
C# - .NET 7.0에서 다양한 컬렉션의 읽기 성능을 측정했다
C++ - Ecosystem International Standard
MySQL 메타데이터 Lock에 대해서
C# - .NET 7 NativeAOT에서 CPU 베이스의 성능 벤치 마크
golang - 전방 호환성을 유지하면서 http.DefaultTransport에서 튜닝한 http.Transport를 만들기
MySQL에서 문자열의 유니크 제약 조건을 걸 때 조심할 것
C# - NLog.Config 패키지가 더 이상 사용되지 않는다! ?
C# - CollectionsMarshal 해설
golang - 실전에 도움이 되는 4개의 익명 함수(Anonymous function) 이용 패턴
C# - LogicLooper 프레임 단위로 게임 업데이트 하기
C# - System.Net.Sockets의 xxxAsync를 사용하여 TCP 클라이언트 만들기(Unity 클라이언트에서)
golang - Go 디버깅 및 코드 생성에 편리한 pretty print 할 수 있는 라이브러리 "dd"
C# - ModuleInitializer에서만 호출할 수 있는 메서드 만들기
MySQL 트랜잭션 격리 수준과 발생하는 법칙을 정리
트랜잭션 격리 수준에 대한 요약
golang - Go에서 처리 도중에 재시도할 수 있는 패키지
C# - C# 스크립트 실행(CSharpScript)
MySQL에서 발생할 수 있는 뜻밖의 데드락과 대응 방법
Redis를 사용한 분산 잠금 (SETNX, Redlock)
C++ - std::any가 동적 메모리 할당을 할 때와 하지 않을 때(msvc)
golang - 외부 명령어의 stdout/stderr를 zap(로그)으로 보내기
하이엔드 게이밍 PC에서 「Stable Diffusion」을 실행하면 굉장하다! 고해상도 이미지를 몇 초 만에 생성
C# - NLog로 로그를 Slack에 통보하기
대규모 MMORPG 설계 정책 및 인프라 알기
특히 고성능 게임 서버를 위해 EC2의 최적화 옵션에 대한 이야기가 흥미로움TCP 터널링 bore로 쉽게 셀프 호스팅 하기
실무에서 자주 사용하는 GoLand의 기능
수신 기한이 지난 데이터를 MySQL에서 삭제할 때의 이야기
Unity Technologies의 온라인 대전 FPS 게임 구현을 조사해 보았다
Jetbrains - 에러, 경고 내용을 코드 행에 표시되게 해주는 플러그인 Inspection Lens 소개
golang - Go에서 GitHub에 push 하기 전에 make 명령으로 precommit 하는 방법
C# - Blazor 치트 시트
C++ - C++ 언어의 명명 규칙들 일부 조사
Linux - Slab 캐시 사용량이 증가한 원인을 SystemTap으로 조사(많은 오래된 로그 파일이 문제)
Docker에서 sshd를 실행하여, jetBrain IDE의 원격 개발을 사용해보기
GoLand를 사용하게 만드는 4개의 편리한 기능
프로그래머 경력 20년이 내가 생각한 코드 리뷰 요청 전 셀프 체크리스트
대규모 소스 코드 이해하기
Pull request의 이상적인 크기와 그 이유
Windows Server 2019에서 NTP 클라이언트를 설정으로 시간 동기화 하기
Linux - 「PATH가 통한다」 라는 의미가 무엇인지 다시 정리해 보았다
Visual Studio 에 드디어 차분 표시(Diff) 구현
Visual Studio 2022 17.4 의 새로운 생산성 향상 기능과 로그 타임 스탬프, 오디오 큐 등을 구현
VS Code - Visual Studio Code 에서 원격 개발이 간편하게 ~ 원격 터널 기능 제공 개시
WindTerm(터미널 프로그램) 소개
모임 - 게임 서버 개발자 학습 및 취업 멘토링
신입 온라인 게임 서버 프로그래머가 되기 위한 분들을 대상으로
진행 시간은 1시간...
golang - Go의 Workspace 모드 사용법
C# - 닷넷 7 소개
C++ - Visual Studio에서 라이브러리 같은 외부 코드의 경고가 나오지 않도록 하는 방법
UE4에 Sentry를 넣어 오류 모니터링을 간편하게
2022년 회고
현 회사에서(어디인지 궁금하다면 제 깃허브 보시면 됩니다^^) 이미 2년 전부터 팀장 직책으로 관리자 업무를 하고 있었지만 그래도 업무 비중에서 관리 비중이 50% 이하였는데 올해 관리직에서...
WSL - WSL에서 프로그램 설치에 Homebrew 사용하기
docker - SonarQube를 Docker에서 실행하여 Node.js 프로젝트를 스캔하기(정적분석)
WSL - Windows Server의 WSL에서 Docker 컨테이너 동작시키기
PDF를 원하는 언어로 번역하는 방법
docker - docker로 파일 서버 구축
golang - Response Body의 안전하게 다루는 방법
C# - Visual Studio에서 외부 소스를 포함한 디버깅
C++ - winget으로 Visual C++ 재배포 가능 패키지를 설치하는 방법
VS Code - code-server 구축 순서
VS Code - code-server를 사용하여 Windows에서 간단한 Linux에서 개발 환경을 얻는 방법
VS Code - Markdown에 목차를 자동 작성하는 방법
초보 프로그래머를 위한 변수, 함수 이름 만드는 방법
다양한 배포, 테스트 전략 소개
C++ - Visual Studio 2022에서 배열 범위를 벗어난 접근을 쉽게 알 수 있는 방법
C# - Naming Style 설정
golang - Go의 net/http Client 구조체 옵션
VS Code - MySQL Shell for VS Code의 기능 소개
VS - 복수의 Visual Studio를 색으로 구분하기 쉽게 하는 확장 기능
VS Code - VS Code Server 사용 방법
VS Code - Markdown을 PDF로 변환하는 방법
Microsoft 공식 GitHub 리포지토리를 Web판 Visual Studio Code로 여는 브라우저 확장
게임 실행 시에 커맨드 라인 인수를 받을 수 있는 UnityCommandLineParser 소개
Linux - Ubuntu 22.04 CPU 및 메모리 사용률과 같은 시스템 정보를 상단 패널에 표시
Windows Terminal 이 마침내 OS의 기본 터미널로 Windows 11 2022 Update 에서
VS Code - 소스 코드 조각을 세련된 이미지로 만드는 Visual Studio Code 확장 Polacode
Windows 11에 대응한 Winaero Tweaker v1.40 숨겨진 기능 스티커도 활성화 가능
WSL - WSL의 이미지 (ext4.vhdx)가 비대화 되었을 때의 대처
Draw.io (diagrams.net)에서 만든 다이어그램을 iframe 태그로 블로그 등에 삽입하기
Windows 11에 SSH 서버를 실행해서 공개키 인증을 사용하기
golang - Panic과 Recover 사용을 쉽게 해주는 패키지
docker - Docker Playground를 이용하여 웹브라우져만으로 Docker 학습하기
무료 화면 확대・프레젠테이션 보조 툴 ZoomIt
C++ - 최신 C++에서 이제 비추천 혹은 삭제된 것들
C++ - C++의 가장 일반적이면서 가장 중요한 Rule
CEDEC 2021 HTTP/2 사용으로 어셋 다운로드 시간 대폭 감속
C# - ASP.Net Core DI에서 Dbcontext 사용하기, 컨트룰러에서 DI 객체 불러오기
Unity 2021.2에서 System.Text.Json을 사용하는 방법
Google Cloud 네트워크 관련 특징
docker - 언제든지 다시 만들 수 있는 로컬 DB(mysql) 만들기
UPM(Unity Package Manager)을 통해 NuGet 패키지를 처리할 수 있는 UnityNuGet
컴투스 온라인 채용설명회, 직무상담 사전신청
신청 마감일은 13일까지였는데 신청하면 될 수도 있을 것 같습니다(주말이라 가능한지 확인은 못해봤습니다. 신청자가 적은걸로 알고 있습니다^^; )
컴투스 게임서버는 제가 참석합니다.
2022 컴투스 그룹 신입 공개 채용...
C++ - 주석을 지원하는 Json 파서 jsoncpp
golang - Go로 crontab과 같은 도구를 만들고 데몬으로 실행
Forza Horizon 5의 서버 개발 사례
C# - 지금 바로 할 수 있는 C# 성능 개선을 위한 작은 테크닉 11개
WSL - Windows 10에서 우분투 22.04 PC에 원격 액세스
docker - 코드 공유를 위한 Docker Desktop 모범 사례
docker - 경량 VM 관리자 Multipass 사용하기(Docker 포함)
C++ - Visual Studio 2019에서 구문 검사에서 정형까지 자동화하는 방법
golang - Go1.18의 Generics에서 할수 없는 것
닌텐도 플랫폼용 범용 게임서버
C# - LinqPad 무료 버전에서 nuget을 사용하고 싶을 때
C++ - printf 방식의 디버깅을 극적으로 효율적으로 할 수 있게 해주는 라이브러리 icecream-cpp
docker - 코드 공유를 위한 Docker Desktop 모범 사례
C++ - 차세대 파이썬 바인딩 라이브러리 nanobind
golang - http 패키지에 있는 MaxBytesHandler
C# - .NET5 to .NET6 때의 Program.cs, Startup.cs
컴투버스 경력직 대규모 특별 채용
저를 아는 분이라면 추천인에 제 이름을 넣어주시면 됩니다^^C++ - C++20 Synchronized Buffered Ostream
C# - .NET6 - 성능 향상
Windows Sysinternals에 들어가 있는 툴 리스트
golang - http 패키지에 있는 MaxBytesHandler
C++ - template와 define, constexpr 구분
CEDEC2021 네트워크 프로그래밍을 전혀 몰라도 알수 있는 온라인 멀티플레이 제작 강좌
C# - .NET6 - 메모리 확보 벤치마크
C++ - C++ attributes를 좋아하는 이유
golang - go.mod의 replace로 로컬에 있는 다른 프로젝트에 접근
유튜브 하고 있습니다
돈을 벌 목적은 아니라서 시간 투자가 작아야 하므로 퀄리티는 높지 않습니다^^;C# - ASP.NET Core WebAPI에서 Custom Formatter를 이용하여 CSV 및 JSON 출력을 전환하는 샘플
C++ - Linux 커널에서 배우는 C 언어 매크로
Redis를 사용하여 동일 유저의 요청은 순차적으로 처리되도록 하기
golang - Go의 struct의 크기를 줄이기(fieldalignment)
C# - Visual Studio Code에서 Web API(C#) 만들기
C# - aspnetcore-developer-roadmap 2022년
C++ - 5가지 알고 싶은 람다 예제. 재귀, constexpr, 컨테이너 등
Transactional outbox 패턴
golang - The Catcher in the Cli 라이브러리로 표준 출력, 표준 입력, 표준 오류 출력을 캡쳐하기
C# - FluentValidation으로 사용자 지정 유효성 검사기 만들기
Riot Games at the edge. Launching VALORANT with AWS Outposts
고부하 환경에서 Fluentd를 안정적으로 운용하기 위한 3가지 관점
golang - net/http의 client에서 왜 responseBody를 Close로 끊지 않으면 안될까?
C++ - gcc의 전 처리기에 정의된 매크로(Predefined Macros) 확인 방법
C# - 쉘스크립트 언어처럼 사용할 수 있게 해주는 Chell 라이브러리
golang - strings.Cut과 strings.SplitN 중 어느 쪽이 빠를까?
C++ - C++11 조건 변수와 spurious wakeup
golang - map을 range로 순회할 때 접근 순서는 무작위로 된다
C# - enum을 편리하게 사용하게 해주는 메서드
C++ - C++ 메모리 모델
golang - 채널의 내부 구조
golang - 병렬 처리에서 효과적인 디버깅 및 분석 방법
gethostbyaddr, getnameinfo, inet_ntop, inet_pton 사용하기
C# - C#을 google/zx 처럼 쉘 스크립트로 쓰기
golang - Supervisor으로 데몬화 해서 실행하기
C++ - strict aliasing rules, type punning 해설
C++ - 가상함수는 느릴까?
When the hot loop’s done. Four quick tips for high throughput
golang - Go 런타임 동작 분석
C# - ASP.NET Core에서 액션 마다 버전 관리하기
C++ - C++11 메모리 모델
golang - Go는 언제 GC를 할까?
C# - 런타임에서 OS 플랫폼 등의 실행 환경에 따라서 조건 분기 하기
A Fast, Minimal Memory, Consistent Hash Algorithm 소개
golang - GCP를 사용하여 가능한 쉽게 Go 언어의 goroutine 누수를 감시하기
컴투스에서 야구 프로젝트 대규모 채용을 합니다(~04/17)
컴투스에서 야구 프로젝트 대규모 채용을 합니다.
https://com2us.recruiter.co.kr/app/jobnotice/view?systemKindCode=MRS2&jobnoticeSn=88971
스포츠 게임 중 야구 게임이 가장 인기가 많은 게임이고, 한국에서는 컴투스 야구가 선두 주자라고 생각합니다^^
컴투스에서...
C++ - 람다 식의 5개의 장점과 코드를 더 좋게 하는 방법
C# - LinqPad를 이용한 C# 학습 및 툴 만들기
golang - 쿼리 유형의 JSON 파서
C# - 모아 놓은 dll 파일을 NuGet Package로 만들기
C++ - C++ 반복자(이터레이터) 만들기
golang - Go 언어에서 쉽게 json 항목 파싱하기
docker - Windows PC에서 Docker Desktop을 이용하지 않고 Docker 사용하기
C# - 동적으로 열(列)이 바뀌는 CSV 파일을 생성
C++ - C++ callback 디자인패턴
golang - Go에서 key가 일정하지 않은 Json 다루기
SQL을 다루는 사람 모두가 이해해야 할 SELECT 문의 논리적 처리 순서
MySQL 8.0.22에서 innodb_log_writer_threads의 효과를 알아보자
golang - go-funk를 사용하여 배열에 요소가 있는지 확인하기
C++ - `void*`를 사용한 구조체, 클래스 판별 방법
SQLFluff를 사용하여 SQL을 린트(Lint) 하기
C# - Fluent Assertions를 사용하여, 깨끗하고 읽기 쉬운 테스트 코드 쓰기
golang - Go로 구현한 Web 애플리케이션과 Prometheus 연계
C# - dotnet 명령으로 사용하고 싶은 dotnet 버전을 지정
golang - http.Client 재시도 처리에서 고려할 것
EditorConfig - C++
EditorConfig - C#
EditorConfig에 대해서
C++ - inline 지정자
golang - go에서 에러 핸들링을 무난하게 하는 방법 (2021.07 현재)
무차별 대입 공격 시 최대 암호 해독 시간 표 분석
SQL용 포맷터(코드 정리) "SQLFluff"
C++ - 메소드 내의 this 최적화
golang - exec.Command에 대해서
오픈소스 분산 폴더 동기화 툴 Syncthing
dbdiagram.io를 사용하여 코드 기반에서 쉽게 ER 다이어그램을 만들자
Stackdriver Monitoring(Cloud Monitoring) 입문
C++ - Linux C/C++ 자작 라이브러리 제작 환경 구축
golang - DB 마이그레이션 툴 migu 소개
데이터베이스를 느리게 하는 8가지 방법
docker로 mysql을 사용하기
C++ - 람다식 오버로드
MySQL의 갭락과 넥스트 키 락에 대해서
golang - golangci-lint 이해하기
innodb_dedicated_server에 의한 buffer_pool 할당
C++ - volatile의 효과
golang - 코드 스니펫-바이너리 파일 만들기, 실행 중인 프로그램 종료 시키기,실행 중인 프로그램 PID 얻기, 파일 권한 바꾸기, 외부 명령어 실행하기
Windows - UBUNTU on WSL2를 초기화(Reset) 하기
MySQL 8.0의 lock read의 NOWAIT와 SKIP LOCKED 옵션에 대해서
C++ - C++11에서 std::vector
json 데이터를 다른 형식으로 변환 할 때 "transform.tools'라는 사이트를 추천
golang - 고정 길이/가변 길이 인코딩 이해하기
VS Code - Markdown All in One
DBA가 (서버)개발자에게 가장 많이 받은 질문들
C++ - callback_manager 라이브러리
Redis, Lua Script vs Transaction
MySQL의 정렬 처리에 대해
golang - go module의 replace에서 헷갈리는 것
VS Code - 원격 서버의 파일을 편집
MySQL - Waiting for table metadata lock 대처 방법
C++ - gdb + core 분석하기
golang - Golang의 interface에서 알아두면 유익한 Tips
Windows - Hyper-V 와 다른 가상 머신 환경 공존
Windows - 태스크 매니져의 화면 갱신 정지와 수동으로 갱신하기
VS Code - GitHub에 설정 가능한 "VS Code에서 열기" 배지 사용하기
MySQL의 저장 프로 시저, 함수 및 트리거의 성능이 나쁜 이유
C# - ArrayPool
AWS re:Invent 2021 - How Epic Games develops Fortnite faster with a build farm on AWS
golang - Hot Reload 툴 만드는 방법
golang - Go로 개발한 스트리밍 서버의 메모리 사용량 문제 대처
golang - Go 언어의 slice에서 요소를 삭제하려면
커넥션 풀의 크기를 제어하는 3가지 설정
golang - Go로 개발할 때 사용하는 tool
golang - Go의 로깅 라이브러리 비교 표 - 2021년 겨울
Wireshark를 이용한 MySQL 문제 해결
MySQL의 다양한 타임아웃 옵션
golang - go-ini 라이브러리 사용하기
C# - Sokcet의 InputPipe, OutPutPipe 만들기
MySQL의 Index를 붙이는 요령
C++ - 왜 move를 해야할까?
MySQL 8.0에서 JSON 타입의 partial update 및 이에 대한 InnoDB의 최적화
멀티 스레드 코드에서 자주 보이는 11가지 문제 해결하기
golang - Go의 netpoller 구현 설명
C++ - C++11 이후에서 JSON 문자열에서 정적 클래스(or struct)에 값을 복원하기(StaticJSON, jsoncons, spotify-json, nlohmann json)
C# - string에서 발생하는 GC를 억제하는 String Interning
MySQL 8.0에서의 Json 사용하기
MySQL에서 JSON 다루기
golang - Go 1.17 sync/atomic 패키지 업데이트 사항과 CompareAndSwap
golang - v1.16에 추가된 signal.NotifyContext 사용해보기
C# - Release와 Debug 각각의 버전의 성능 차이는 있을까?
C#은 어떨까?