Pull to refresh
5
0
Armann @Armann

User

Send message

Backup. Файловое резервное копирование бюджетного VPS

Level of difficultyEasy
Reading time6 min
Views1.7K

Предыстория. В своё время, когда мне надо было найти решение этого вопроса на Хабре, казалось, что все статьи состоят из установки и настройки Veeam Backup, Proxmox Backup и прочих коммерческих решений для блочных устройств. У меня запросы поскромнее. SLA и 3-2-1 не требуются. Достаточно восстановить работоспособность за пару часов или хотя бы пару дней. В общем, в поиске нужной статьи мне не особо повезло. Зато в комментах оказались интересные находки. Попробовав некоторые из них, в итоге остановился на описанном ниже варианте. Настроил и забыл. В качестве облачного хранилища ранее был выбран Storj. Но недавно они превратили бесплатные аккаунты в триальные. Пришлось отказаться, пересесть на Mega и освежить в памяти настройки. Заодно и выложить сюда. Надеюсь, кому-то тоже пригодятся.

TL;DR Статья состоит из настройки rsnapshot, rclone и небольшого скрипта автоматизации.

Читать далее
Total votes 5: ↑6 and ↓-1+7
Comments16

Шпаргалка для алгособеса — алгоритмическая сложность, структуры данных, методы сортировки и Дейкстра

Level of difficultyMedium
Reading time33 min
Views97K

Привет, Хабр!

Так уж повелось, что любой уважающий себя работодатель перенимает передовые^✻ методики FAANG — по этой причине практически во всех IT-собесах есть она: секция алгоритмов. Кто-то ей рад, кто-то не очень, но секция есть и уходить пока не планирует. Поэтому нужно закатать рукава и достойно встретить суровую реальность.

Читать далее
Total votes 216: ↑214 and ↓2+212
Comments77

Четыре метрики, изменившие мой проект

Reading time9 min
Views17K

Привет, Хабр! Я Федор Щудло, team lead и fullstack-разработчик. Всего я в разработке 15 лет, из них 11 в роли team lead.

Три года назад я сменил работу и занялся проектом, состояние которого можно описать кратко: ему 25 лет.

За этот долгий срок проект пережил несколько слияний и разделений компании, означающих серьезные потери людей, знаний, и даже исходников от некоторых сервисов по юридическим соображениям.

На проекте были благополучные периоды, когда были созданы очень крутые и амбициозные вещи. Но были также периоды, когда команды еле хватало на выполнение самых срочных задач. И в это время многие сделанные или не доделанные большие штуки изрядно обветшали.

Как результат, разработка шла с большими накладными расходами (все делали долго), и с высокими рисками (выкатили и разломали прод). А команда при этом работала на износ.

Но за три прошедших года мы с командой кардинально изменили ситуацию. В этой статье я расскажу про самую значимую перемену —  простую, но кратно снизившую и накладные расходы, и риски. А это уже открыло дорогу сотням маленьких изменений, в итоге преобразивших проект.

Читать далее
Total votes 46: ↑43 and ↓3+40
Comments14

Логи из docker compose / docker swarm в Grafana / Loki быстро и просто

Level of difficultyMedium
Reading time19 min
Views19K

Хочу показать как развернуть готовый и полностью работающий стек мониторинга Grafana + Loki + Prometheus + Pushgateway + Promtail за пару минут (в прямом смысле этого слова), без необходимости устанавливать на машину дополнительное ПО (плагины docker и плагины логирования) и собирать логи со всех контейнеров машины (или сразу со всех нод, в случае с swarm).

Читать далее
Total votes 24: ↑24 and ↓0+24
Comments21

Учимся использовать модуль Ansible Shell для выполнения удалённых команд

Level of difficultyEasy
Reading time9 min
Views12K

Мы перевели статью, где подробно рассматривается использование модуля Ansible Shell и различные способы выполнения удалённых команд на узлах в рамках работы по автоматизации. В статье рассматриваются различные опции и модули для выполнения удалённых команд, а также их различия и то, когда следует использовать каждый из них. Статья для тех, кто изучает Ansible.

Читать далее
Total votes 6: ↑6 and ↓0+6
Comments2

Создаем свой VPN с защищенным от блокировок протоколом AmneziaWG, или WireGuard на максималках

Reading time4 min
Views144K


Всем привет! Возможно уже совсем скоро разные новостные и  IT-ресурсы будут подчищать информацию о способах обхода блокировок. А пока этого не случилось, запасаемся полезными гайдами и разворачиваем свои собственные VPN с защищенными от блокировок протоколами. Расскажу как это сделать, как изменилась Amnezia и как мы защитили WireGuard от блокировок.

Читать далее
Total votes 115: ↑113 and ↓2+111
Comments123

OSINT: инструменты

Level of difficultyMedium
Reading time6 min
Views42K

Современные реалии таковы, что большинство людей в своих социальных сетях сами пишут на себя досье. В этой статье вы узнаете о некоторых инструментах, которые помогут вам узнать о человеке максимум.

Читать далее
Total votes 19: ↑16 and ↓3+13
Comments10

Простые шаги к эффективному code review

Level of difficultyEasy
Reading time10 min
Views7.2K

Всем привет! Меня зовут Владислав Шиханов, я ведущий программист в CDEK. В нашей компании работает 500+ IT-специалистов, именно мы создаём продукты и сервисы, из которых и состоит СДЭК. Моя команда разрабатывает сервисы для автоматизации процессов продаж и запуска новых продуктов.

Однажды мы столкнулись с тем, что процесс проверки кода начал задерживать выполнение задач и требовал слишком много усилий от участников. На ретро мы договорились повысить приоритет этого процесса и сделать доклад с best practices. В этой статье я решил поделиться главными выводами и лучшими практиками, которые помогли нам существенно упростить проверку кода.

Читать далее
Total votes 26: ↑24 and ↓2+22
Comments4

Разбираем TLS по байтам. Где собаки зарыты?

Level of difficultyMedium
Reading time34 min
Views12K


Подключение к сайту бывает защищённым, а бывает нет — это надо знать всем детям. Только не все дети знают, что это значит и как работает. Кажется я это уже писал? Ах да, это же вторая часть статьи с разбором TLS.

В первой мы увидели, что такое «защищённое соединение», сколько и каких ключей для него нужно, кто кого шифрует и подписывает, и что такое «сертификат». Сейчас разберёмся, как всё это дело реализуется в протоколе TLS: как выглядит рукопожатие, как сделать ключ шифрования своими руками, в каком виде данные передаются по сети.
Читать дальше →
Total votes 39: ↑39 and ↓0+39
Comments1

Разбираем TLS по байтам. Кто такой этот HTTPS?

Level of difficultyMedium
Reading time32 min
Views23K


Подключение к сайту бывает защищённым, а бывает нет — это надо знать всем детям. Только мало детей знают, что это значит и как работает.

Я, изучая веб-разработку, узнал об HTTP. Разобраться в нём несложно: в каждой статье о протоколе множество наглядных примеров запросов и ответов. Затем узнал о схеме HTTPS, с которой всё не так наглядно. В ней используется то ли SSL, то ли TLS, и что-то где-то шифруется, и зачем-то нужны какие-то сертификаты. Короче, всё расплывалось в тумане: где пример ответа, запроса, сертификата, как его создать, зачем он нужен и почему гайд по созданию http-сервера уже написал каждый школьник, а https-сервер — недоступная для начинающих разработчиков роскошь?

В связи с этим, предлагаю обсудить протокол TLS и его роль в вебе. Статья состоит из двух частей. В первой поговорим о защите соединения: от чего и как защищаемся, почему именно так, а не иначе, сколько и каких ключей для этого нужно, и разберёмся с системой сертификатов; а в конце создадим свой сертификат и посмотрим, как его использовать для разработки.

Во второй обсудим, как это дело реализуется в протоколе TLS и разберём формат TLS-пакетов по байтам. Статьи рассчитаны в первую очередь на изучающих веб-разработку, знакомых с HTTP и жаждущих осознать, кто такое https. Но материал актуален для любых применений TLS, будь то веб или не веб.
Читать дальше →
Total votes 62: ↑61 and ↓1+60
Comments21

Протоколы семейства TCP/IP. Теория и практика

Level of difficultyMedium
Reading time23 min
Views98K
image

В сети можно найти огромное количество материала о том, как функционируют сети на базе стека протоколов TCP/IP, а также как писать компьютерные программы с сетевыми возможностями. При рассмотрении компьютерных сетей часто углубляются в описание физических основ и структур данных, передаваемых по сети, а при рассмотрении сетевого программирования основное внимание уделяют интернет-сокетам.

Но при изучении и исследовании хочется большего, например, поэкспериментировать с пакетами сетевых протоколов. Многие сетевые протоколы реализованы в ядре операционной системы, и что-либо изменить может оказаться сложной задачей, так как это требует навыков в написании драйверов для операционной системы. Но использование специализированных библиотек позволяет работать с протоколами на низком уровне из пространства пользователя.

В ходе работы над статьёй я написал небольшое приложение, которое послужит отправной точкой для понимания компьютерных сетей и семейства протоколов TCP/IP. С приложением можно экспериментировать, получая дополнительные знания.

Приложение — простое и понятное и, надеюсь, упростит изучение материалов статьи. Ведь именно радость первой победы даёт мотивацию, достаточную для того, чтобы потратить гораздо больше времени на изучение темы.

В статье изложены наиболее важные с моей точки зрения понятия, которые должен знать любой программист, хоть как-то сталкивающийся с компьютерными сетями. Так что без теоретических сведений не обошлось.
Читать дальше →
Total votes 82: ↑82 and ↓0+82
Comments5

Инструменты для пентеста Wi-Fi

Level of difficultyMedium
Reading time6 min
Views18K

Это дополнение к основной статье "Как стать гуру или Wi-Fi Cheat Sheet". Я увидел много откликов по данной теме как положительных, так и отрицательных. Кому-то не нравится подача (да, есть свои минусы, но перенести материал из обычной заметки Markdown достаточно сложно), кому-то инструменты, но кто Я такой, чтобы останавливаться. Сегодня я приложу максимально полный список (для меня) инструментов с кратким описанием.

Пора изучать
Total votes 8: ↑8 and ↓0+8
Comments3

Снятие с воинского учета. Дистанционно. Пакет документов

Level of difficultyEasy
Reading time6 min
Views43K

По состоянию на лето 2023, в военных комиссариатах разных регионов и даже районов одного города требования к пакету документов отличаются, запись через Госуслуги может не гарантировать прием, а без личного присутствия заявителя могут вообще не захотеть общаться. Информация ниже не является полным гайдом по снятию с учета, это шаблоны документов + рекомендации из практики.

Если вкратце, то рабочий кейс, это когда: (А) имеется основание для снятия: уже живете зарубежом полгода, либо имеется иностранный ВНЖ, (B) грамотно составлено заявление на снятие с учета и подписано вашей подписью, (C) в военкомат идет ваш представитель по доверенности, которая оформлена у российского нотариуса или в зарубежном консульстве РФ.

Ниже пояснения и документы. Делайте все красиво, грамотно, и тогда результат будет 👍

Читать далее
Total votes 92: ↑82 and ↓10+72
Comments83

Какие боты нужны для групповых чатов в Telegram? Личный опыт

Level of difficultyEasy
Reading time10 min
Views74K

TL;DR написал актуальную на момент августа 2023 года заметку про необходимых для нормального администрирования групп ботов. Желательно бесплатных.

Читать далее
Total votes 7: ↑4 and ↓3+1
Comments1

Гайд по беспроводной связи в кружке робототехники

Level of difficultyEasy
Reading time10 min
Views12K

По моим наблюдением, создание управляемых роботов – самая популярная тема во время занятий по освоению Arduino. Ученикам нравится мастерить не просто автоматику – но контролируемые ими напрямую устройства.

В статье я рассказываю о некоторых модулях беспроводной связи и их применении в занятиях робототехникой. Даны описания их преимуществ и недостатков, а также указаны особенности их использования именно в учебном процессе.

Читать далее
Total votes 43: ↑43 and ↓0+43
Comments70

Лучшая фантастика последних трех лет по версии Goodreads

Reading time5 min
Views132K

GoodrGoodreads — пожалуй, главный книжный сайт англоязычного интернета. Недавно он составил список самых популярных фантастических книг за 2020-2023 годы, опираясь на мнение пользователей. К сожалению, на русский язык переведено далеко не все, однако даже те книги, которые уже можно прочитать в переводе, составляют внушительный список. Вот он.

Читать далее
Total votes 62: ↑58 and ↓4+54
Comments180

Большой список генеративных нейросетевых сервисов: 99 причин подружиться с ИИ

Reading time16 min
Views14K

После того как блестящий дебют ChatGPT сделал большие языковые модели (LLM) основным центром приложения инвестиций в ИТ, новые продукты на основе генеративного ИИ сыпятся на удивленных пользователей как из рога изобилия. Буквально каждую неделю лидеры ИТ-индустрии и небольшие «ламповые» стартапы презентуют нам новые умные сервисы, способные эффективно автоматизировать рутину и облегчить человеку раскрытие его творческого потенциала. 

Разобраться с самыми перспективными нейросетями поможет наша краткая «шпаргалка» с их перечислением и краткой сервисной информацией. В список вошли как непосредственно LLM, так и наиболее интересные нейросетевые генеративные решения на их основе.

Читать далее
Total votes 16: ↑16 and ↓0+16
Comments1

Дизайн API в С++

Level of difficultyHard
Reading time26 min
Views22K

В этом году на C++ Russia я рассказывал про API дизайн. Эта статья — пересказ и переосмысление моего доклада.

То, что я здесь расскажу, основано на моем личном опыте — про API дизайн я думаю уже лет 15, с того момента как в 2008м начал читать ревью библиотек на входе в boost (кстати, всем рекомендую).

В первой части я сфокусируюсь на базовых вещах, которые применимы практически к любому императивному языку программирования, не только к C++. Будет также часть 2, более приближенная собственно к C++, в которой я расскажу о некоторых фичах языка и стандартной библиотеки, которые помогут вам сделать ваши API еще лучше.

Читать далее
Total votes 59: ↑58 and ↓1+57
Comments36

Vicuna, Stable Diffusion и другие нейронки на винде без боли

Level of difficultyEasy
Reading time3 min
Views15K

Привет всем, хочу поделиться своим сборником всяких портабелек нейронок разного пошиба для винды, где уже всё установлено и надо приложить минимальные усилия, чтобы всё это запустить. Вообще все эти штуки я собирал и делал для себя, но когда я выложил это всё на itch, то оказалось, что они кому-то пригодились, и я решил репостнуть всё это безобразие на хабр. Здесь напишу небольшой список того, что реально может кому-нибудь быть полезно. Полный список с ссылками на скачивание здесь.

KoboldAI - удобный граф. интерфейс для запуска вообще всех GPT-подобных текстовых нейронок, которые поддерживает библиотека transformers. Онлайн версия со всякими модельками.

Vicuna 1.1 - очень хороший чат-бот на базе слитой LLaMa от фейсбука на 7 миллиардов, специально квантованная в 4бита и сконвертированная в формат ggml для быстрой работы на ЦПУ с граф. интерфейсом koboldcpp. Умеет в русский. Требует от 4гб RAM и процессор с AVX (любой после 2009 года вроде). Koboldcpp тоже может запускать почти всё текстовое в ggml. Онлайн версию 1.0 можно попробовать здесь.

NLLB - переводчик от фейсбука между 200 языками. Запуск не совсем однокнопочный и в jupytere, на цпу. Жрёт 4 гига оперативы. Онлайн демка.

FreeVC - не очень хороший, зато открытый клонер голоса с одного аудио на другое. Запуск тоже немножко через консоль, зато с вебгуем и на цпу. Онлайн потыкать здесь.

Whisper - транскрибатор на 60 языках от openai, работает на ЛЮБОМ гпу, даже на встроенном в ноутах(на цпу тоже, но немного помендленнее), ест мало видеопамяти, но есть и большие прожорливые модельки. Очень хорошая онлайн демка.

Читать далее
Total votes 22: ↑22 and ↓0+22
Comments10

Вы НЕ сошли с ума (о режиме сна в Windows)

Reading time8 min
Views124K

Вы сталкивались с тем, что ноутбук случайно включается, хотя вы уверены, что отправляли его в сон?

Бывало, что батарея оказывалась пустой, хотя вы точно-точно помните, как убирали в сумку заряженный на 100% ноутбук?

Тогда вам сюда:

Мне сюда
Total votes 259: ↑249 and ↓10+239
Comments503

Information

Rating
4,273-rd
Location
Россия
Registered
Activity