C# - 네트워크 프로그래밍 참고 글 링크 모음
C# - 참고 글 모음
C++ - TimingWheel 알고리즘을 사용한 타이머
자세한 설명은 http://d2.naver.com/helloworld/267396. 타임아웃 작업의 만료 여부에 대한 검사가 필요 없는 등록과 실행 두 작업만을 모두 O(1)의 시간 복잡도로 처리할 수 있는 타이머를 구현할 수 있다. 출처: https://github.com/billlin0904/librapid uint64_t TimingWheel::add(uint32_t timeout, bool onece, TimeoutCallback callback) { //std::lock_guard<platform::Spinlock> guard{ lock_ };...
더 읽기
C++ - Win32API 스레드 풀을 사용하는 타이머
Windows Vista부터 사용 가능. CreateThreadpoolTimer, SetThreadpoolTimer API 사용. ‘윈도우 시스템 프로그램을 구현하는 기술(한빛미디어)’에 설명이 잘 나와 있음 예제 코드 출처: https://github.com/billlin0904/librapid using TimerPtr = std::shared_ptr<Timer>; class Timer { public: using TimeoutCallback = std::function<void(void)>; static TimerPtr createTimer(); void start(TimeoutCallback callback, uint32_t...
더 읽기
C++ - Core Guidelines Checker와 GSL 도입
출처 시작하기 C++ Core Guidelines Checker는? 주로 Bjarne Stroustrup과 Herb Sutter에 의한 C++ Core Guidelines는 더 나은 C++ 코드를 작성하는데 필요한 지침이 정비 되어 있다. 이 지침의 많은 항목은 분석 도구를 통해 확인 가능하도록 쓰여져 있다. C++ Core Guidelines Checker는...
더 읽기
C# - BenchmarkDotNet 글 링크
BenchmarkDotNet 라이브러리 소개 .NET Core + BenchmarkDotNet 실행 시 프레임워크를 찾지 못하는 문제 BenchmarkDotNet 사용 시 주의 사항 BenchmarkDotNet에서 생성한 BuildPlots.R 파일을 실행하는 방법 BenchmarkDotNet으로 Span 성능 측정 (일어)BenchmarkDotNet을 사용해 보자 (일어)BenchmarkDotNet 개요 (일어).NET Core에서 BenchmarkDotNet을 이용하기 (일어)BenchmarkDotNet을 .NET Framework와...
더 읽기
Rust - VS Code의 Remote Container로 Rust를 시작하기
출처 VS Code의 Remote Container 기능을 사용하여 최대한 빨리 Rust을 시작하려는 사람들에게 아래의 docker-compose.yaml 를 준비했다! docker-compose.yaml version: '3' services: rust: image: rust:1.38 volumes: - .:/opt/rustapp environment: - USER=`${USER}` working_dir: /opt/rustapp stdin_open: true rust:1.38는 현재 최신 버전이다. Docker Hub의 Rust...
더 읽기
C++ - 전방 선언
몇 년전에 웹에 공개된 글을 보고 정리했던 글이다.
더 읽기
Python - struct 모듈을 사용하여 Binary 읽고/쓰기
출처 struct 모듈 struct 모듈은 pack, unpack, calcsize 등의 기능이 있으며, 이것들을 사용하여 정수, 부동 소수점 숫자, 문자열(을 encode 메소드에서 인코딩 한 것)을 bytes 객체로 변환하거나 반대로 bytes 객체에서 이것을 빼낸다. bytes 객체로 변환하려면 “서식 지정 문자”라는 문자를 조합하여 이것들과...
더 읽기