NeuroWhAI의 잡블로그
https://stjepang.github.io/2020/01/31/build-your-own-executor.html Build your own executor Now that we’ve built the block_on() function, it’s time to take one step further and turn it into a real executor. We want our executor to run not just one future at a time but many futures concurrently! stjepang.github.io spawn 함수를 만들고 여기에 future를 넘기면 적절하게 감싸고 큐에 올려 실제로 실행되게 합니다.

개인적으론 요즘 잘 안 쓰지만 회사에선 쓰니까 C++ 책을 오랜만에 볼까 해서 봤습니다. 제가 C++을 배울 땐 여러 책을 통해서 각 표준안(C++11, C++14, ...)들을 따로 하나씩 배웠는데 이 책은 그것들을 전부 모아 정말 C++이라는 하나의 언어처럼 알려줍니다. 고전 문법인 템플릿을 소개하면서 자연스럽게 C++20의 컨셉을 버무린다거나 하는 식입니다. 오랜만에 복습한다는 느낌으로 보기에 아주 딱 맞는 책이었습니다.
https://stjepang.github.io/2020/01/25/build-your-own-block-on.html Build your own block_on() If you’ve ever wondered how block_on from the futures crate works, today we are going to write our own version of the function. stjepang.github.io

기상청 실시간 지진감시 : https://www.weather.go.kr/pews/ 사용자 맞춤형 지진정보서비스 - 기상청 날씨누리 www.weather.go.kr 기상청이 드디어 대중에게 이 시스템을 공개하였습니다. 힘써준 관계자분들에게 박수를 보냅니다. 이 시스템을 이용하여 지진봇에서 실시간으로 정보를 송출하도록 하였습니다. 아래는 이번 상주 지진 때 송출된 내용입니다. 아직은 조기 경보가 뜨질 않아서 이미 분석이 끝난 정보만 송출하고 있는데 만약 규모가 좀 되는 지진이 발생한다면 빠르게 지진봇이 알려줄 수 있으리라 기대합니다.
#include // 간단한 컨셉 정의. template concept Eq = requires(T a, T b) { { a == b } -> bool; { a != b } -> bool; }; // 다른 컨셉과 여러 제약을 포함하는 컨셉 정의. template concept EqSum = requires(T a, T b) { { a + b } -> T; } && requires(T a) { { a + a } -> T; } && Eq; struct Foo {}; // 간단한 컨셉 사용 예시. template // template requires EqSum // 실제론 이것과 동일. bool is_same(T a, T b) { std::cout
출처 : https://rust-lang.github.io/api-guidelines/future-proofing.html C++이나 C#에 보면 sealed라는 키워드가 있습니다. 이걸로 수식된 클래스는 상속의 끝을 뜻하며 자식 클래스를 가질 수 없죠. 보통 다른 개발자가 의도치 않게 자신의 클래스를 상속하고 확장하는 것을 방지하기 위한 용도로 쓰입니다. Rust에서도 이와 비슷한 목적으로 trait을 sealed 시킬 수 있습니다. 다만 키워드로 지원하는 것은 아니고 문법을 이용합니다. 다른 개발자가 trait을 사용할 수는 있어도 다른 타입에 impl하는 것은 막는 것이죠. pub trait Foo: private::Sealed { fn foo(&self); } impl Foo for usize {..

Rust 컴파일러는 기본적으로 모든 타입을 이동 가능한 것으로 취급합니다. 실제로 대부분의 타입은 이동되어도 문제가 없죠. 그러나 세상 사는 게 그렇게 순탄하지는 않습니다. 만약 i32 변수 a와 이를 가리키는 포인터 b가 있고 둘 다 객체 obj의 멤버라고 합시다. obj { a

다운로드 : https://drive.google.com/file/d/1WKK1LV2SUSp3WkfXePsDHr9jEZ-vXGEv/view?usp=sharing 압축 해제 후 YoutubeWallpaper.exe를 실행하시면 됩니다. 주의 - 개인적인 사용을 위해 만들었기 때문에 모든 환경에 대한 지원은 어렵습니다. - 일부 환경에선 정상 동작이 불가합니다. - 정책상 재생이 불가능한 영상이 있을 수 있습니다. - 실시간 스트림 영상은 재생이 불가능 합니다. (해결 방법은 알기에 언젠가 해결 예정...) - 기존 바탕화면을 슬라이드 쇼가 아닌, 단색으로 바꾸고 쓰시는 것을 권장드립니다. (배경이 바뀌는 동안 영상이 가려집니다.) 재생목록 만들어 사용하기 먼저 배경으로 사용하고 싶은 영상을 찾습니다. 업로..

2개월 반만에 다 읽었군요. 생각보다 너무 오래걸렸습니다 ㅠㅠ 게으른 나... 기본 문법을 다루는 앞 부분은 이미 아는 내용이라 빠르게 읽었습니다. 다만 맨 처음에 닷넷 생태계와 관련 용어들(CLR, IL, CIL, CTS, CLS, CLI, BCL 등)을 자세히 알려주는데 이 부분은 완전 유익했습니다. 본래 목적은 채-신 C# 문법을 체계적으로 보는 것이었고 이 목적도 충족시킨 것 같습니다. 음... 기억나는 채-신 문물은 Value Tuple, Span, 패턴 매칭, ref 반환 정도네요. 사실 그렇게 최근 것도 아니지만은... 아 그리고 문법 말고 BCL도 일부 알려줍니다. 아무튼 추천합니다!