Всі статті

Протокол NEX - легка альтернатива Gemini

Останнім часом стало поширеним явище інтеграції TLS навіть там, де використання цієї технології може бути зайвим. Сьогодні майже кожна програма включає в себе параноїдальні пресети безпеки з коробки,...
19 червня ·
4
· 105 · p.s.

Як зменшити розмір образу Docker: 6 методів оптимізації

Якщо ви хочете зменшити розмір докер-образу, використовуйте найкращі стандартні практики створення докер-образів. У цій статті ми розповімо про різні методи оптимізації, які ви можете швидко застосува...
20 лютого ·
3
· 140 · Alex

10 цікавих логічних завдань для співбесід, які стимулюють мислення

Ми зібрали для вас 10 логічних задач, які можуть трапитися на співбесіді. Якщо ви правильно на них відповісте, то ви точно справите враження. Деякі логічні задачі зі співбесід змушують здивуватися: на...
26 березня ·
2
· 2.2K · 1 · Alex

Що таке "мертва зона" в JavaScript?

У JavaScript ви можете зустріти термін "мертва зона". Хоча це може здатися складним, але розуміння мертвих зон має вирішальне значення для написання ефективного коду без помилок. У цьому детальному по...
08 квітня ·
2
· 497 · Alex

Що таке глобальне блокування інтерпретатора Python (GIL)?

Глобальне блокування інтерпретатора Python або GIL, простими словами, - це м'ютекс (або замок), який дозволяє лише одному потоку утримувати контроль над інтерпретатором Python. Це означає, що тільки о...
19 березня ·
2
· 171 · Alex

Yggdrasil - мережа з децентралізованим роутингом

Yggdrasil - експериментальний протокол для побудови само-організованої локальної мережі з шифруванням трафіку та підтримкою оверлейного підключення через Інтернет. В своїй основі використовує приватни...
06 березня ·
2
· 99 · p.s.

Manticore як сучасна альтернатива Sphinx

Багато хто використовує для повнотекстового пошуку рушій Sphinx і пише для нього нові програми, але мало хто знає про його сучасну реалізацію - Manticore. Класично, сферою застосування може бути пошук...
07 березня ·
2
· 40 · 8 · p.s.

Посібник з оптимізації JavaScript файлів

У цій статті ми розглянемо практичні методи оптимізації файлів JavaScript, як розв'язувати проблеми продуктивності, пов'язані з файлами JavaScript, а також інструменти, які допоможуть у процесі оптимі...
31 січня ·
1
· 368 · Alex

Патерн Pub/Sub в Node.js

Вступ Патерн Pub/Sub - це універсальний односторонній патерн обміну повідомленнями, в якому паблішер генерує дані/повідомлення, а підписник реєструється для отримання певних типів повідомлень. Він мож...
02 квітня ·
1
· 186 · Alex

10 алгоритмів машинного навчання, на прикладах з реального світу

Коли я вчився в старших класах і вивчав складні математичні задачі, я завжди замислювався над тим, навіщо ми їх вивчаємо і чим вони корисні. Я не міг зрозуміти та знайти їм застосування в реальному св...
01 листопада ·
1
· 153 · Alex

Протокол Gemini як альтернатива HTTP

Gemini - мережний протокол прикладного рівня, в своїй основі є спадкоємцем протоколу Gopher. Орієнтований на мінімалізм та конфіденційність, оскільки виключає використання таких веб-технологій як Cook...
06 березня ·
1
· 140 · p.s.

Виправлення помилки запуску fail2ban в Debian 12

fail2ban - це утиліта на Python для захисту серверів від атак підбору паролів. Вона сканує системні журнали на предмет шкідливої активності, та блокує підозрілі хости на заданий в налаштуваннях час. П...
09 березня ·
1
· 131 · p.s.

Мої перші враження від C++

Я займаюсь професійною Веб розробкою вже близько п'ятнадцяти років, переважно у сфері back-end. Починаючи свій шлях в програмуванні, мав іншу вищу освіту і в мене не було змоги попрацювати та оцінити...
03 вересня ·
1
· 109 · p.s.

HTML5 шаблон: Базовий зразок для будь-якого проєкту

Що таке HTML-шаблон? Кожен вебсайт відрізняється від іншого, але є багато речей, які, по суті, однакові для всіх вебсайт. Замість того, щоб писати один і той самий код знову і знову, варто створити вл...
04 листопада ·
1
· 99 · 3 · Alex

Мої перші враження від Rust

У попередній публікації, я описував свій перший досвід переходу з PHP на C++, в рамках створення браузеру для протоколу Gemini. Не зважаючи на те, що у цьому напрямку було виконано багато [роботи](htt...
22 листопада ·
1
· 97 · p.s.

Yggmail - месенджер з поштовим інтерфейсом

Yggmail - це дочірній проект від розробників Yggdrasil, написаний на Go та має відкритий код. Дозволяє в декілька простих кроків розгорнути сервер для підключення будь якого поштового клієнта, сумісно...
09 березня ·
1
· 90 · p.s.

Про конфіденційність в мережі Інтернет

У кожного своє розуміння конфіденційності та інформаційної безпеки у рамках різних контекстів. Дехто не переймається темою взагалі, нехтуючи поширенням своїх персональних даних, аргументуючи це їх пов...
06 вересня ·
1
· 86 · p.s.

Як Discord зберігає трильйони повідомлень

У 2017 році ми опублікували статтю про те, як ми зберігаємо мільярди повідомлень. Ми розповіли про те, як починали використовувати MongoDB, але потім перенесли дані до Cassandra, оскільки шукали масшт...
11 листопада ·
1
· 79 · 3 · Alex

Розробка карткової гри з відкритим кодом OpenLegends

OpenLegends - це проект реалізації вільного рушія та інтерфейсу багатокористувацької карткової гри The Elder Scrolls Legends, в першу чергу орієнтованого на браузерний формат з використанням технологі...
20 березня ·
1
· 67 · p.s.

Мої перші кроки в GTK

Передмова Не так давно захотілось зробити простенький браузер для протоколу Gemini. Зокрема - додати детекцію Geo-IP капсул, власний пошук на базі Manticore та інтегрувати екосистему Yggdrasil. Для об...
30 серпня ·
1
· 63 · 1 · p.s.

Gmid - багатофункціональний проксі-сервер для Gemini

Gmid - багатофункціональний сервер з відкритим кодом для протоколу Gemini. Зокрема, його зручно використовувати у якості проксі серверу для віртуальних хостів, аналогічно тому як цю функцію виконує Ng...
09 березня ·
1
· 52 · p.s.

HdyTab як альтернатива віджету вкладок GtkNotebook

Якщо ви тільки починаєте своє знайомство з фреймворком GTK, можливо, як і в мене, виникне схожа дилема з обмеженою функціональністю класичного віджету для створення вкладок GtkNotebook. В мережі відна...
07 вересня ·
1
· 52 · 1 · p.s.

Встановлення останньої версії Rust в Linux

Користувачі дистрибутивів з довгостроковою підтримкою, ймовірно зіткнуться з проблемою збірки програм з версією Rust, що міститься в репозиторіях. Вирішується це досить просто, за допомогою утиліти Ru...
09 березня ·
1
· 50 · p.s.

Незручні моменти в роботі Manticore як основної БД

В коментарях до матеріалу Manticore як сучасна альтернатива Sphinx мене просили зробити більш детальні інструкції роботи з цим рушієм. Утім, вважаю що інформації достатньо в документації. Натомість, х...
25 березня ·
1
· 42 · p.s.