Опис послуги
ПерекладЯ Haskell-розробник і пишу серверні сервіси, які коректні за побудовою, а не за випадковістю. Мій підхід спирається на найсильніші сторони мови: потужну статичну систему типів, чистоту функцій і явні ефекти. Коли я моделюю вашу предметну область алгебраїчними типами даних і дозволяю компілятору відкидати неприпустимі стани, цілі категорії помилок часу виконання просто перестають існувати. Це не академічний ідеалізм, а практичний спосіб випускати софт, який у п'ятницю ввечері ведеться так само, як на тестах, й який новий учасник команди може сміливо рефакторити, тому що типи тримають його в рамках.
За роки роботи я робив на Haskell HTTP-API, фонові воркери, конвейери обробки даних й утиліти командного рядка. Впевнено почуваюся в основній екосистемі: Servant і Yesod для вебу, STM й async для конкурентності, persistent і hasql для баз даних, а також звичний набір GHC, Cabal й Stack. Забочусь і про продуктивність: профілюю засобами GHC, усвідомлено міркую про ледачість і строгість, знаю, коли взяти строгі типи даних, розпаковані вектори або потокові бібліотеки, щоб тримати пам'ять рівною, а пропускну здатність високою. Тестування на властивостях через QuickCheck для мене інструмент проектування, а не формальність.
Ви отримуєте від мене кодову базу, яка реально є активом: малі композиційні функції, ясні границі модулів і документацію, яку команда зможе підтримувати. Мені однаково комфортно піднути новий сервіс з пустого репозиторію до продакшену й увійти в існуючий проект на Haskell, щоб чинити баги, укрощати техдолг, прискорювати код й підтягувати команду до ідіоматичних функціональних паттернів. Якщо для вас важливий софт, який безпечно змінювати, я допоможу.
— Бекенд HTTP-API на Servant і Yesod
— Моделювання домену алгебраїчними типами й класами типів
— Конкурентність через STM, async і потоки
— Доступ до БД через persistent, hasql і PostgreSQL
— Тестування на властивостях з QuickCheck і Hspec
— Профілювання, аналіз строгості й оптимізація
— Збірка на GHC, Cabal, Stack і Nix
За роки роботи я робив на Haskell HTTP-API, фонові воркери, конвейери обробки даних й утиліти командного рядка. Впевнено почуваюся в основній екосистемі: Servant і Yesod для вебу, STM й async для конкурентності, persistent і hasql для баз даних, а також звичний набір GHC, Cabal й Stack. Забочусь і про продуктивність: профілюю засобами GHC, усвідомлено міркую про ледачість і строгість, знаю, коли взяти строгі типи даних, розпаковані вектори або потокові бібліотеки, щоб тримати пам'ять рівною, а пропускну здатність високою. Тестування на властивостях через QuickCheck для мене інструмент проектування, а не формальність.
Ви отримуєте від мене кодову базу, яка реально є активом: малі композиційні функції, ясні границі модулів і документацію, яку команда зможе підтримувати. Мені однаково комфортно піднути новий сервіс з пустого репозиторію до продакшену й увійти в існуючий проект на Haskell, щоб чинити баги, укрощати техдолг, прискорювати код й підтягувати команду до ідіоматичних функціональних паттернів. Якщо для вас важливий софт, який безпечно змінювати, я допоможу.
— Бекенд HTTP-API на Servant і Yesod
— Моделювання домену алгебраїчними типами й класами типів
— Конкурентність через STM, async і потоки
— Доступ до БД через persistent, hasql і PostgreSQL
— Тестування на властивостях з QuickCheck і Hspec
— Профілювання, аналіз строгості й оптимізація
— Збірка на GHC, Cabal, Stack і Nix