Pull to refresh
0
@tvoikoreshread⁠-⁠only

User

Send message

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

Level of difficultyEasy
Reading time8 min
Views16K

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

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

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

Level of difficultyEasy
Reading time4 min
Views11K

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

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

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

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

Reading time7 min
Views1.5K

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

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

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

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

Reading time10 min
Views13K

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

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

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

Level of difficultyEasy
Reading time2 min
Views3.4K

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

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

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

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

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

Level of difficultyEasy
Reading time4 min
Views5.2K

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

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

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

Reading time4 min
Views9K

Введение

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

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

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

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

Level of difficultyEasy
Reading time2 min
Views26K

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

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

Читать далее
Total votes 33: ↑29 and ↓4+26
Comments10

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

Level of difficultyMedium
Reading time13 min
Views6.1K

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

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

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

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

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

Reading time5 min
Views24K


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

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

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

Level of difficultyMedium
Reading time9 min
Views7.2K

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

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

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

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

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

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

Reading time12 min
Views17K

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

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

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

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

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

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

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

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

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

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

Reading time8 min
Views11K

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

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

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

Как оплачивать зарубежные сервисы?

Reading time5 min
Views201K

Как известно, 10 марта Visa и Mastercard официально прекратили транзакции в РФ. Наши соотечественники, срочно выехавшие или уже проживающие в других странах попали в ситуацию, когда российские карты перестали работать (с них нельзя снять наличные, ими нельзя расплатиться). Внутри России, будут работать до конца срока действия, благодаря Национальной системе платежных карт, но платить с использованием Apple Pay и Google Pay нельзя. Банки предлагают альтернативу: кобейджинговые карты МИР / UnionPay, но с ними все так просто и оформление таких карт - еще тот бег с препятствиями. Как итог, проблема с оплатой зарубежных сервисов стоит остро, мы уже привыкли к удобным и доступным сервисам и теперь очень не хочется отвыкать...

Как же теперь оплачивать зарубежные сервисы?

Читать далее
Total votes 60: ↑48 and ↓12+50
Comments215

Иностранные хостеры с возможностью оплаты криптовалютой

Reading time4 min
Views64K

Всем привет! Меня зовут Леонид, я владелец сервиса Поиск VPS. Неделю назад я опубликовал статью, в которой рассказал о том, как можно оплатить зарубежный хостинг валютным переводом через SWIFT. Это один из альтернативных способов после отключения России от Visa и Mastercard. В комментариях некоторые пользователи попросили сделать обзор хостеров, принимающих криптовалюту.

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

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

Роутинг и policy-routing в Linux при помощи iproute2

Reading time6 min
Views256K
Речь в статье пойдет о роутинге сетевых пакетов в Linux. А конкретно – о типе роутинга под названием policy-routing (роутинг на основании политик). Этот тип роутинга позволяет маршрутизировать пакеты на основании ряда достаточно гибких правил, в отличие от классического механизма маршрутизации destination-routing (роутинг на основании адреса назначения). Policy-routing применяется в случае наличия нескольких сетевых интерфейсов и необходимости отправлять определенные пакеты на определенный интерфейс, причем пакеты определяются не по адресу назначения или не только по адресу назначения. Например, policy-routing может использоваться для: балансировки трафика между несколькими внешними каналами (аплинками), обеспечения доступа к серверу в случае нескольких аплинков, при необходимости отправлять пакеты с разных внутренних адресов через разные внешние интерфейсы, даже для отправки пакетов на разные TCP-порты через разные интерфейсы и т.д.
Для управления сетевыми интерфейсами, маршрутизацией и шейпированием в Linux служит пакет утилит iproute2.
Читать дальше →
Total votes 56: ↑51 and ↓5+46
Comments10

Кластер Elasticsearch на 200 ТБ+

Reading time14 min
Views23K


С Elasticsearch сталкиваются многие. Но что происходит, когда хочешь с его помощью хранить логи «в особо крупном объёме»? Да ещё и безболезненно переживать отказ любого из нескольких дата-центров? Какой стоит делать архитектуру, и на какие подводные камни наткнёшься?


Мы в Одноклассниках решили при помощи elasticsearch решить вопрос лог-менеджмента, а теперь делимся с Хабром опытом: и про архитектуру, и про подводные камни.

Читать дальше →
Total votes 33: ↑31 and ↓2+41
Comments20

Go Channels Internals

Reading time12 min
Views24K
На Go можно реализовать тысячи goroutine одновременно без больших требований к железу. При этом горутины могут легко и просто обмениваться данными между собой и синхронизироваться с помощью каналов. Но как устроены каналы внутри? Об этом написано не так уж много, а в условиях многопоточки и асинхронного кода хорошо бы не просто работать с каналами, а понимать, как их использовать более практично и эффективно.

Егор Гришечко, старший разработчик в Insolar, разрабатывает блокчейн для b2b сегмента (по сути, стартап), и у команды как раз большая многопоточка и много асинхронного кода. Егор не только разобрался на практике, как работают каналы, что это такое и как они вообще устроены внутри. Он еще рассказал о каналах внутри команды, а потом, увидев интерес, поделился на конференции Golang Conf 2019.

Сегодня мы публикуем расшифровку его доклада.


Читать дальше →
Total votes 30: ↑29 and ↓1+40
Comments2

Поиск нарушений на видео с помощью компьютерного зрения

Reading time7 min
Views6K

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

Читать далее
Total votes 2: ↑1 and ↓10
Comments0
1
23 ...

Information

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