інструменти

Технології та речі якими я користуюсь.

Втомився боротися з лінтерами

Програмував вчора одну цікаву штуку, ну і як завжди, десь в коді який збирає докупи великий реквест, написав багато рядків. На всіх своїх проєктах я використовую статичний аналізатор коду RuboCop. За замовчуванням він досить затягнутий, і я трохи попустив правила. Врешті за стільки років користування я помітив що він мені більше не допомагає, а заважає. Бо методів які збирають докупи великий реквест у мене багато. Бо...

Як зробити, щоб http://localhost:8080 було видно в інтернет

🎄Всіх з Різдвом!🎄 Типові задачі веброзробника: протестувати oauth («логін через гугл»), протестувати вебхук (різні інтеграції), швидко, без деплою на тестовий енв, показати комусь як сервіс працює «на вашій машині». Розумні люди придумали для цього тунелі. Ви підключаєтесь до машини в інтернеті та створюєте тунель. Машина відкриває 443 порт та проксує всі запити на ваш комп'ютер. Та ж машина в інтернеті може подбати про доменне...

Купив новий смартфон

У виборі техніки я максимально консервативний. «Працює — не чіпай». Я не страждаю ADHD тому телефони та екрани не розбиваю, не топлю та не ламаю. З 2003 року, коли отримав перший телефон, я міняв їх тільки з причини застарівання. Приблизно 1 раз на 4-5 років. Перший смартфон я купив у 2013. Це був Jiayu G4S, на той момент «конкурент флагманам». Він служив мені вірою і правдою, але...

Обісрався з Wi-Fi роутером

Рік тому коли геть втомився від мікротіку, звернувся до громади за порадою [https://t.me/full_of_hatred/802] який роутер брати. Люди звісно радили все підряд, у кого що стоїть. Але ж я багатий айтівець! Тому вирішив гуляти на всі гроші, по-багатому та обрав кубик Amplifi HD з двома антенками за 8500₴ [https://www.rozhkov.me/wifi-fixed/](!). Приніс додому увімкнув і отримав 100 мегабіт замість...

Performance by design

В попередньому дописі [https://www.rozhkov.me/twitter-screenshot-telegram-bot/] я зробив маленький сервіс який скриншотить твітер. Зазвичай все що я пишу на Java то роблю на Spring Boot, через багату та зрозумілу екосистему та відносну швидкість розробки. Цього разу для загального розвитку взяв vert.x [https://vertx.io/], який заявлений найшвидшим Java-фреймворком згідно з результатами Ultimate Web Frameworks Benchmark [https://www.techempower.com/benchmarks]. Мій проєкт складається...

Go та дзен одного бінарника

Go звичайно процідурна шляпа, але таки має одну суттєву перевагу якої бракує решті — проєкт компілиться в один бінарник. Коли звик що будь-який додаток тягне за собою якщо не сорці, то купу якихось бібліотек, файлів і т.д., то один-єдиний бінарний виглядає як артефакт з майбутнього (або минулого, як подивитися). Здоровенний проєкт поміщається в один файл. Тераформ, номад з консулом, пубернетис, you name it. Звісно якщо проєкт...

Pro фреймворки

Часто та ж категорія програмістів що сваряться на ORM, так само сваряться і на фреймворки, мовляв, повільно працюють, обмежують гнучкість і взагалі все можна зробити самому. Я люблю фреймворки. Фреймворки знімають з мене когнітивне навантаження щодо організації коду та дають найкоротший шлях до реалізації задачі. Rails має купу конвенцій, завдяки яким відразу відпадає умовних 95% питань щодо того що куди класти й де писати. Spring має...

Pro ORM

Серед багатьох досвічених розробників існує думка що ORM це щось погане. Його звинувачують в низькому перформенсі, непотрібних абстракціях та вихованню поганого смаку. Щоразу коли читаю ті історії то ніяк не можу второпати що авторам не подобається, бо я з ORMами ніяких проблем не маю. На першій роботі у бородаті роки в нас був самописний ORM, але він дуже повільно працював (проте мав інші переваги). Ми про...

Порішав з WiFi😎

Два тижні тому мій мікротік почав вимахуватися і я звернувся до аудиторії за порадою [https://www.rozhkov.me/wifi-problems-need-help/]. Декілька людей відписали що користуються Amplifi [https://www.amplifi.com/amplifi-hd], і, враховуючи що я був на нього прицілений ще до написання матеріалу, то вирішив що треба брати. На OLX знайшовся варіант HD за 8500₴. Це кубик + дві антени. Просто кубик новий коштує ~6000₴, а HD версія...

Проблеми з WiFi😤 — потрібна допомога!

Того тижня під час стріму в мене трапилась халепа — почався пакетлос, відео сіпалось, глядачі не оцінили та пішли. Маю зізнатися що під час ремонту сильно натупив і сказав, щоб не робили Ethernet-розводку. Ну а шо — все по радіо хай працює, нахер провода. Про цей затуп досі трохи шкодую, бо вже нічо не вдієш — хіба тягнути дроти як є. Пішов розбиратися в чому проблема. Комп'ютор...

Реал-тайм сайти на Ruby on Rails без жодного рядка JS

Інтегруємось з моно Йдемо на https://api.monobank.ua/, скануємо QR код апкою, отримуємо ключ. Далі встановлюємо вебхук [https://api.monobank.ua/docs/#tag/Kliyentski-personalni-dani/paths/~1personal~1webhook/post] , щоб отримувати транзакції. Вебхук веде на ендпоїнт який дістає параметри транзакції та зберігає її: def respond(data) t = data.require(:statementItem).permit(:description, :amount, :comment, :balance, :time) t[:account] = data[:account] t[:transaction_id] = data[:statementIte...

Як використовувати ChatGPT в роботі

В інтернеті вже повно відео та порад стосовно ChatGPT: написання шаблонних листів, тікетів, пруфрідинг, генерація тікетів і так далі. Також багато людей намагаються якось «обманути» машину, задають якісь загадки в стилі сфінкса, натравлюють один чатгпт на інший чатгпт або на бінг, «провокують» АІ на образи чи роблять ще якесь неподобство. Це все мене не цікавить абсолютно, бо з того не маю ніякої користі — мені байдуже що...

Інструкція: як зареєструватися в ChatGPT

update: OpenAI розблокував [https://t.me/zedigital/2893] ChatGPT для України. ChatGPT абсолютно точно змінить нашу роботу, тому вважаю що недоречно залишатися консерватором-лудитом [https://www.rozhkov.me/boar-mindset-trendhopping/], натомість потрібно негайно стрибати до хайп-поїзду та тестувати нову технологію. Маю зізнатися що нюанси з реєстрацією створювали тертя та відштовхували мене, але врешті цікавість переважила, тому ось вам інструкція: 1. Підключаємо VPN, наприклад безплатний тар...

Managed services

Твердо переконаний, що все, що не стосується безпосередньо виконання бізнес задачі, повинно бути автоматизовано чи віддано на аутсорс. Маю на увазі інфраструктуру: обчислювальні потужності, мережі, бази даних, і таке інше. Як колись складність низькорівневих мов програмування призвела до появи високорівневих, а потім і рантаймів з автоматичним управлінням пам'яттю, так і зараз висока складність інфраструктури породжує цілий спектр менеджед сервісів. Наприклад, ви робите якийсь продукт....

Власні хмари: Kubernetes

Цей пост мав бути опублікованим 24-го лютого, але так і провисів у чернетках аж до сьогодні. Подальшу роботу я не проводив, бо перевіз все на fly.io [https://www.rozhkov.me/friendship-ended-with-heroku-now-fly-io-is-my-best-friend/] . На вихідних я вирішив поекспериментувати зі своїми проєктами та зробити прототип маленької хмарки на кубері. Раніше я прикидував ціни [https://www.rozhkov.me/kubernetes-pet-projects-cost-estimation/] на менеджед кубери й вибрав Scaleway [https://www.scaleway.com/...

Огляд спліт-клавіатури Lotus58

Я давно цікавився питаннями покращення ергономіки робочого місця, але ніяк не мав нагоди купити таку клавіатуру. Все облизувався на Moonlander [https://www.zsa.io/moonlander/], але він дорогий і треба було везти з закордону. Того року я купував собі дескмати в FunKeys [https://funkeys.com.ua/] та зайшов в їх чат [https://t.me/funkeys_chat], де сиділи клавіатурні ентузіасти. Попитав людей про спліти, і знайшовся...