dreamway89

dreamway89 wrote 29 posts

Бот для месенджера Telegram — Swatcher_Bot

Как и многие другие люди я смотрю сериалы, в основном смотрю серии по мере их выхода в русской озвучке. Мне достаточно быстро надоело отслеживать выход новых серий, но найти подходящего сайта который бы делал это за меня мне не удалось и я забил на это! А тут совсем недавно я узнал о существование Bot API […]

Продакшен менеджер для Node.JS проекта

Развиваем тему настройки VPS-сервера под Node.JS проект. После того как мы установили Node.JS и MongoDB, скачали и запустили наш проект стоит задуматься о стабильности его работы, а так же отслеживанием его работы. Для решения этой задачи подходит PM2. Вот что написано на его сайте(примерный перевод): PM2 — это продакшен(production) менеджер для Node.JS со встроенным балансировщиком нагрузки. […]

Настройка VPS-сервера под Node JS проект

Шпаргалка по настройке VPS-сервера под Node JS проект. В процессе изучения Javascript и Node JS родилась у меня идея несложного бота для Telegram, который бы оповещал своих пользователей. И когда бот кое-как работал, умел оповещать, хотя и не имел интерфейса как такого, решил я его разместить на сервере. После оплаты VPS я оказался в консоли […]

Настройка GPG Keyserver на OpenLDAP

PGP (англ. Pretty Good Privacy) — компьютерная программа,  позволяющая выполнять операции шифрования и цифровой подписи сообщений, файлов и другой информации, представленной в электронном виде.   Будем настраивать PGP key server на openldap.Для настройки сервера ключей нам потребуются пакеты: sudo apt-get install slapd ldap-utils   Если нужно сменить суффикс: ldapmodify -Q -Y EXTERNAL -H ldapi:/// -f change_suffix.ldif dn: olcDatabase={1}hdb,cn=config changetype: […]

Пример использования libevent2 для реализации TCP-сервера

libevent2 —  это библиотека предоставляющая механизм вызова callback-функций по приходу событий. Простой пример работы в виде TCP-сервера с буферизированным вводом/выводом. Небольшая напоминалочка себе.   Для начала инициализируем библиотеку. libevent2 инициализируется функцией event_init(): struct event_base *ev_base;   /* Инициализируем библиотеку */ event_init(); /* Указываем обработчик фатальный ошибок */ event_set_fatal_callback((event_fatal_cb) event_fatal_err);   ev_base = event_base_new(); if (!ev_base) { […]

Выделение памяти в ядре Linux

Основной единицой управления памятью в ядре Linux является страница памяти. И хотя наименьшой адресуемой единицой памяти является байт, модуль управления памятью(MMU) работает только с страницами памяти.   В ядре существует низкоуровневые механизмы выделения страниц памяти.   #include <linux/gfp.h>   struct page * alloc_pages(gfp_t gfp_mask, unsigned int order);   struct page * alloc_page(gfp_t gfp_mask);   void […]

Reverse Engineering для начинающих

Листал тут Hacker News и наткнулся на пост про бесплатную книгу по реверс инжинирингу для начинающих, приятным сюрпризом оказалось то, что автор русскоязычный и книгу можно читать на русском. Вот ссылка на github этой книги, а вот ссылка на сайт автора этой книги.   Пост про книгу только увидел и естественно что всю я ее не читал, но по […]

Test-Driven Development

    Что такое Test-Driven Development? Test-Driven Development — это техника постепенной разработки программного обеспечения, основанная на утверждении, что разработка ПО начинается с написания тестов. TDD практикует выражение желаемого поведения кода через тесты. Автоматизация этого процесса является ключом к TDD. Шаг TDD — это написание теста с последующим написанием кода, удовлетворяющего требованиям теста. Каждое изменение кода приводит […]

Иcпользуем CryptoApi ядра Linux для шифрования

Поиск хороших примеров работы с cryptoapi ядра Linux, ни к чему хорошему не привел. Потому потратив вечерок на изучение исходников ядра решил закрепить материал, может кому-то пригодится. В сети достаточно примеров по использованию Crypto API для хеширования данных и совсем немного(в основном на stackoverflow) по шифрованию данных, хороший, рабочий пример пришлось собирать по кусочкам. Итак […]