O usłudze
PrzetłumaczoneJestem programistą Rust i tworzę programy do zadań, w których wydajność i niezawodność są naprawdę krytyczne. Moja główna specjalizacja to systemy i poziom serwera: asynchroniczne usługi internetowe i API na Tokio i Axum, demony sieciowe, potoki przetwarzania danych oraz długoterminowi pracownicy, którzy muszą obsługiwać wysoką przepustowość żądań bez wycieków pamięci i awarii w środku nocy. Rust pozwala mi dostarczać binaria klientom, które działają szybko, przewidywalnie i są wolne od całej klasy błędów, takich jak segfaulty i wyścigi danych, które dręczą kod w C i C++, i polegam na tej gwarancji każdego dnia, nie traktując jej jako sloganu marketingowego.
Moje podejście polega na tym, aby najpierw opisać obszar problemowy w systemie typów, aby niepoprawne stany po prostu nie mogły być skompilowane, a następnie budować logikę na górze z bezpieczną współbieżnością. Czuję się komfortowo z własnością, czasem życia i projektowaniem cech, abstrakcjami bez kosztów i sprawdzaczem pożyczek jako współpracownikiem, a nie przeszkodą. Kiedy coś naprawdę musi być szybsze, najpierw profiluję, a potem optymalizuję: usuwam niepotrzebne alokacje, dostosowuję asynchroniczny czas wykonania i potwierdzam wyniki za pomocą benchmarków i testów, a nie przypuszczeń. Zależy mi na starannym obsługiwaniu błędów, jasnym logowaniu i metrykach oraz kodzie, który następny inżynier może przeczytać.
Poza serwerami kompiluję Rust do WebAssembly dla obciążeń przeglądarki i krawędzi, opakowuję natywne paczki dla innych języków za pomocą FFI i wydaję małe narzędzia CLI z minimalnymi zależnościami, które uruchamiają się natychmiast. Potrzebujesz nowej usługi od podstaw, gorącego punktu przepisane w Rust z wolniejszego języka, lub paczki, która została dopracowana i udokumentowana — podejmę się zadania od projektu do wdrożenia.
— Usługi backendowe i REST/gRPC API (Tokio, Axum, Actix)
— Systemy współbieżne i równoległe, bezpieczne wielowątkowość
— Moduły WebAssembly dla sieci i krawędzi
— Narzędzia CLI i narzędzia deweloperskie
— Profilowanie, optymalizacja i benchmarking
— Powiązania FFI, integracja z bazą danych i pokrycie testami
Moje podejście polega na tym, aby najpierw opisać obszar problemowy w systemie typów, aby niepoprawne stany po prostu nie mogły być skompilowane, a następnie budować logikę na górze z bezpieczną współbieżnością. Czuję się komfortowo z własnością, czasem życia i projektowaniem cech, abstrakcjami bez kosztów i sprawdzaczem pożyczek jako współpracownikiem, a nie przeszkodą. Kiedy coś naprawdę musi być szybsze, najpierw profiluję, a potem optymalizuję: usuwam niepotrzebne alokacje, dostosowuję asynchroniczny czas wykonania i potwierdzam wyniki za pomocą benchmarków i testów, a nie przypuszczeń. Zależy mi na starannym obsługiwaniu błędów, jasnym logowaniu i metrykach oraz kodzie, który następny inżynier może przeczytać.
Poza serwerami kompiluję Rust do WebAssembly dla obciążeń przeglądarki i krawędzi, opakowuję natywne paczki dla innych języków za pomocą FFI i wydaję małe narzędzia CLI z minimalnymi zależnościami, które uruchamiają się natychmiast. Potrzebujesz nowej usługi od podstaw, gorącego punktu przepisane w Rust z wolniejszego języka, lub paczki, która została dopracowana i udokumentowana — podejmę się zadania od projektu do wdrożenia.
— Usługi backendowe i REST/gRPC API (Tokio, Axum, Actix)
— Systemy współbieżne i równoległe, bezpieczne wielowątkowość
— Moduły WebAssembly dla sieci i krawędzi
— Narzędzia CLI i narzędzia deweloperskie
— Profilowanie, optymalizacja i benchmarking
— Powiązania FFI, integracja z bazą danych i pokrycie testami