Pull to refresh
0
@tvoikoreshread⁠-⁠only

User

Send message

Микросервисы в представлении среднего разработчика, и как всё на самом деле

Level of difficultyMedium
Reading time11 min
Views61K

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

Когда спрашиваю у людей на собесах, или когда в команде решаем, как клепать очередной проект, такое порой слышу, что становится страшновато. Мне кажется, лет через 5 все компании будут обитать в мультивселенной безумия из “микросервисов”, которую они себе радостно построили, уходя от этих ваших страшных “монолитов”.

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

погрузиться в микросервисы
Total votes 236: ↑232 and ↓4+260
Comments207

Устройство протокола DHCP в технических подробностях/недостатки DHCP. Атака DHCP Starvation

Level of difficultyMedium
Reading time15 min
Views11K

Привет, Хабр, в данной статье мы в технических подробностях рассмотрим протокол DHCP 4 версии, поговорим о его недостатках, а также проведем атаку DHCP Starvation.

Изучить матчасть
Total votes 5: ↑5 and ↓0+8
Comments31

Ускорение работы в терминале

Level of difficultyEasy
Reading time17 min
Views23K

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

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

Так что первоначально я записал эти принципы как набор лайфхаков для джунов в своей компании, но в определённый момент понял, что если подойти к ним правильно, то можно довольно здорово повысить продуктивность всего отдела (если они достаточно упороты, чтобы инвестировать в это время, или вы умеете их мотивировать).

Читать далее
Total votes 18: ↑14 and ↓4+12
Comments80

Git. Руководство по оформлению веток и коммитов

Level of difficultyEasy
Reading time8 min
Views22K

Статей на тему что такое git и как им пользоваться на просторах интернета не мало. Я же хочу предложить вам несколько иной взгляд на привычные вещи, а именно, на оформление веток и коммитов, рассмотреть что такое WIP-коммиты, для чего они нужны и как с помощью них можно повысить свою продуктивность и поддерживать чистоту в истории вашего репозитория, в особенности, если вы работаете в команде. Поехали.

Познать истину
Total votes 17: ↑15 and ↓2+13
Comments16

Майним крипто-пойнты с помощью цветового автокликера на Python

Level of difficultyEasy
Reading time4 min
Views15K

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

В последнее время широкое распространение получили разные крипто-проекты, которые обещают пользователям материальные вознаграждения за определенную активность. Особенно актуальны они стали после успеха Notcoin, который очень неплохо отблагодарил своих пользователей. Не буду углубляться как это всё работает, откуда там деньги, и много ли среди таких проектов скама (да), нас интересует лишь тот момент, что большинство этих проектов можно автоматизировать, а значит не терять драгоценное время.

Читать далее
Total votes 10: ↑4 and ↓60
Comments19

Препарируем Wazuh: Обнаружение уязвимостей

Reading time7 min
Views2.8K

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

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

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

Пайплайны в GitLab для микросервисов

Reading time10 min
Views17K

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

Начнем с основ на примере монолитного приложения, а потом усложним их микросервисами и постараемся избавиться от однотипного кода. А еще…
Читать дальше →
Total votes 57: ↑57 and ↓0+74
Comments4

Получение списка людей, посещающих определенные места

Level of difficultyEasy
Reading time2 min
Views4.1K

Представьте: вы ведете Telegram-канал о животных и хотите пригласить в него посетителей зоопарка. Или вам нужно собрать контакты потенциальных клиентов, посещающих определенный торговый центр. Как это сделать?

Полиция может легко получить такую информацию от мобильных операторов, но что делать обычному человеку?

Ответ – использовать Telegram и его функцию "Люди рядом" в сочетании с Python-скриптом.

Читать далее
Total votes 9: ↑3 and ↓6+1
Comments8

Создаем простой AI чат-бот Telegram с помощью Ollama и нескольких строк кода на Python

Level of difficultyEasy
Reading time4 min
Views10K

Чтобы создать простого чат-бота для Telegram, который будет использовать возможности LLM llama3, достаточно выполнить несколько команд в терминале и написать несложный код на Python. В этой статье мы расскажем о том, как мы пытались создать такого чат-бота на основе Ollama и какой результат получили.

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

Автоматизация поиска аккаунта в телеграм через номер. Простой поиск людей через телеграм

Reading time4 min
Views13K

Введение

Рады снова приветствовать дорогих читателей! Продолжаем рубрику статей "ШХ" в которой мы рассматриваем методы и инструменты OSINT. В этой статье хотим рассмотреть очередной перечень инструментов которые могут значительно упростить жизнь сетевым разведчикам.

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

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

Как стать Python-разработчиком бесплатно? Программа обучения с нуля

Level of difficultyEasy
Reading time2 min
Views34K

Если вбить фразу «python разработка» в поисковую строку, можно найти огромное количество курсов по данному направлению. Дело в том, что все курсы являются платными и, как правило, имеют ценник в несколько десятков тысяч рублей. 

Чтобы разбавить обилие платных курсов, мы подготовили для вас программу обучения «Python-разработчик с нуля», которая состоит только из бесплатных курсов.

Читать далее
Total votes 34: ↑30 and ↓4+27
Comments10

Bare-metal Kubernetes — спускайся с облаков

Level of difficultyMedium
Reading time13 min
Views9.9K

Эта статья предназначена для тех, кто только начинает свой путь в мире Kubernetes и хочет понять, как развернуть кластер Kubernetes на собственных серверах с отказоустойчивым балансировщиком в виде MetalLB.

MetalLB — это решение для балансировки нагрузки в средах Kubernetes, которые не имеют доступа к встроенным балансировщикам, как в облачных провайдерах. Этот инструмент предлагает простой и эффективный способ добиться внешней доступности для сервисов в Kubernetes с помощью собственной инфраструктуры.

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

Пойдём разворачивать
Total votes 17: ↑15 and ↓2+13
Comments5

Внедряем DevSecOps в процесс разработки. Часть 3. Этап Post-build Checks в DevSecOps, обзор инструментов

Reading time5 min
Views1.4K

Привет! На связи Олег Казаков из Spectr

В предыдущей части статьи я говорил о таком этапе DevSecOps как Commit-time Checks. Он отвечает за контроль корректности и безопасности кода в GIT-репозитории. А в этой части материала я расскажу, что же такое Post-build Checks, и как на этом этапе используется такой класс инструментов, как Container Cheсks.

Узнать больше о DevSecOps
Total votes 1: ↑1 and ↓0+3
Comments2

Введение в KDF на примере решения криптографического ребуса

Reading time5 min
Views25K


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

Кроме длинного списка требований прилагался еще более фантастический список ожиданий: серьезные математические способности, опыт в криптографии, анализе и тому подобное. Но также предлагалось решить пазл тест: закодированное сообщение, которое требовалось расшифровать.
Читать дальше →
Total votes 23: ↑22 and ↓1+21
Comments6

Внедряем DevSecOps в процесс разработки. Часть 1. Обзор инструментов, Pre-commit Checks

Level of difficultyMedium
Reading time9 min
Views9.1K

Привет! На связи Олег Казаков из Spectr.  

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

Мы подготовили цикл статей, где поделимся своим опытом и наработками и расскажем, из чего состоит DevSecOps и как его внедрить в процесс разработки. 

В первой статье поговорим о теории DevSecOps и подробно рассмотрим Pre-commit Checks.

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

Безопасность в Docker: от правильной настройки хоста до демона

Reading time12 min
Views19K

Привет, Хабр! Меня зовут Эллада, я специалист по информационной безопасности в Selectel. Помогаю клиентам обеспечивать защиту инфраструктуры и участвую в разработке новых решений компании в сфере ИБ. И сейчас я начала больше погружаться в тему разработки и изучать лучшие практики по обеспечению безопасности приложений.

Все больше компаний используют контейнеры в разработке сервисов. Популярность технологии объяснима: с помощью контейнеров можно легко упаковать приложение вместе со всеми зависимостями в один образ. Его разработчики могут передавать между собой с уверенностью, что приложение запустится на любой платформе. Однако эта же популярность контейнеров приводит к рискам: в контейнерах широко распространена эксплуатация уязвимостей, которые во многом возникают из-за неаккуратного использования инструмента.

Сегодня сложно представить современное приложение без технологий контейнеризации. Поэтому я решила подробно изучить вопросы безопасности в этом направлении и собрала рекомендации, как лучше подойти к работе с Docker-платформой. Подробности под катом!
Читать дальше →
Total votes 63: ↑63 and ↓0+68
Comments3

Кластер PostgreSQL высокой надежности на базе Patroni, Haproxy, Keepalived

Reading time25 min
Views129K
Привет, Хабр! Встала передо мной недавно задача: настроить максимально надежный кластер серверов PostgreSQL версии 9.6.

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

Планируя кластер я проштудировал много статей, как из основной документации к PostgreSQL, так и различных howto, в том числе с Хабра, и пробовал настроить стандартный кластер с RepMgr, эксперементировал с pgpool.

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

В итоге где-то (уже не вспомню точно где) нашел ссылку на прекрасный проект Zalando Patroni, и все заверте…
Читать дальше →
Total votes 34: ↑34 and ↓0+34
Comments70

Уроки компьютерного зрения на Python + OpenCV с самых азов. Часть 5

Reading time8 min
Views11K

На прошлом уроке я рассказал о том, как повысить контрастность изображения и как выделить на изображении особе точки. Затем мы попробовали работать с найденными особыми точками. В частности, превратили эти точки в список  координат и попытались объединить близкие точки в одну, так как у нас получилось очень много точек рядом. В статье был предложен следующий алгоритм: при составлении списка, перед добавлением в список очередной точки проверять, находится ли она близко от последней, если да, то добавлять в тот же список, если нет, то начинать новый список.  Только проблема в том, что обход точек был через развертку, и могло получиться так, что близкие точки попадают в разные списки. Поэтому объединение точек получилось «криво».  Сегодня мы исправим этот недочет.

Для начала, почему мы вообще начали все эти хитрости с алгоритмом? Дело в том, что если решать задачу «в лоб», то время работы алгоритма у нас будет пропорционально квадрату размера списка. Собственно, давайте сначала проверим, насколько критично будет время работы алгоритма «в лоб» при разных ситуациях. И так, нам нужно перебрать все точки и сравнить их расстояния со всеми точками:

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

Information

Rating
Does not participate
Location
Тверь, Тверская обл., Россия
Registered
Activity