C# 네트워크 프로그래밍 학습용 저장소

C# 네트워크 프로그래밍 학습을 위한 자료를 모아 놓은 저장소이다. jacking75/com2usStudy_CSharpNetworkProgramming master 버전에는 주로 예제 코드만 있고 설명은 Docs 디렉토리에 있다. 회사 동료 분이 브랜치로 따서 만든 곳에는 잘 설명한 글이 있으므로 참고하기 바란다. 괜찮은 내용이라면 스타 부탁한다~ ^^ (스타가 많으면...
더 읽기

C++ - Boost 타이머 취소하기

출처 타이머를 다시 이용하지 않는 경우 상태 변수를 추가하지 않고 취소를 알 수 있다. #include <iostream> #include <boost/asio.hpp> #include <boost/asio/steady_timer.hpp> int main() { using namespace boost::asio; io_service io_srv{}; steady_timer timer{io_srv, std::chrono::nanoseconds{1}}; timer.async_wait([&](boost::system::error_code ec) { if (ec || steady_timer::clock_type::now() < timer.expires_at())...
더 읽기

서버 네트워크 관련 오픈소스 라이브러리

Informer - 텔레그램 대규모 모니터링 봇 matrix - 탈중앙화 방식의 오픈소스 실시간 커뮤니케이션 네트워크 Matterbridge - 다양한 채팅프로토콜들의 브릿지 라이브러리 (일어) 프로젝트 커뮤니케이션 툴 『Rocket.chat』&bot
더 읽기

C++ - split, join, replace_all, brent_find_minima

출처 split 지정한 구분 문자로 문자열을 분할 할 때는 boost::algorithm::split 함수를 사용한다. 얻어진 결과는 지정한 컨테이너에서 받는다. 구분 문자인지 판정하는 것은 boost::is_any_of를 사용한다. 아래 예는 문자열을 + 로 구분하고 있다. split(plus_split_s, s, [](char c){return c == '+';}); #include <bits/stdc++.h> #include...
더 읽기

C++ - boost::multiprecision::cpp_int

출처 다배수 길이 정수를 다룰 때는 boost::multiprecision::cpp_int를 사용한다. #include <bits/stdc++.h> #include <boost/multiprecision/cpp_int.hpp> using namespace std; using boost::multiprecision::cpp_int; int main() { cpp_int a, b; cin >> a >> b; cout << (a > b ? "GREATER" : (a == b ?...
더 읽기

C++ - boost::irange

출처 정수의 범위를 사용하려면 boost::irange 함수를 사용한다. 범위로서 [0, n) 을 지정하고, 제 3인수로 단계 폭을 2로 지정하고 있다. (제 3 인수를 생략하면 단계 폭은 1이 된다) 이것에 대해 range-based for 문을 작성할 수 있으며, Python의 for 문과 비슷하다. #include...
더 읽기

WSL 글 정리 및 관련 글 링크 모음

WSL 관련 글을 정리한 것과 볼만한 글 링크를 정리한 것이다. jacking75/wsl_docs 괜찮은 내용이라면 스타 부탁한다~ ^^ (스타가 많으면 꾸준히 업데이트 할 확률이 높아진다)
더 읽기