Как стать автором
Обновить
0
0
Андрей Володарский @doctor_kulibin

Инженер

Отправить сообщение

Почему в ботах телеги желательно использовать Webhook вместо Polling

Время на прочтение5 мин
Количество просмотров11K

Привет, коллеги!

Сегодня у нас на повестке дня выбор между двумя гигантами: Polling и Webhook. И если вы когда-либо задавались вопросом, почему именно Webhook является go-to решением для большинства проектов, то это статья для вас.

Помните, как в начале 2010-х все разрабы активно юзали Polling? Это был золотой стандарт для многих мессенджер-ботов. Но технологии не стоят на месте. Webhook занял своё законное мест, предлагая свои решения.

Читать далее
Всего голосов 18: ↑11 и ↓7+4
Комментарии30

Возможности SQLite, которые вы могли пропустить

Время на прочтение8 мин
Количество просмотров40K
Если вы используете SQLite, но не следите за его развитием, то возможно некоторые вещи, позволяющие сделать код проще, а запросы быстрее, прошли незамеченными. Под катом я постарался перечислить наиболее важные из них.
Читать дальше →
Всего голосов 76: ↑76 и ↓0+76
Комментарии35

Основы компьютерных сетей. Тема №3. Протоколы нижних уровней (транспортного, сетевого и канального)

Время на прочтение26 мин
Количество просмотров338K

Приветствую всех читателей. Пришло наконец время поговорить о протоколах, находящихся на нижних уровнях. В этой статье будут разобраны протоколы канального, сетевого и транспортного уровней. Присаживайтесь поудобнее и читайте на здоровье.
Читать дальше →
Всего голосов 46: ↑42 и ↓4+38
Комментарии10

IPFS без боли (но это не точно)

Время на прочтение12 мин
Количество просмотров22K


Не смотря на то, что на Хабре была уже не одна статья про IPFS.

Сразу уточню, что я не являюсь экспертом в этой области, но не раз проявлял интерес к этой технологии, но попытки поиграться с ней часто вызывало некоторую боль. Сегодня я опять взялся за эксперименты и получил кое-какие результаты, которыми хотел бы поделиться. Если коротко, то будет описан процесс установки IPFS и некоторые фишки (все выполнялось на ubuntu, на других платформах не пробовал).
Читать дальше →
Всего голосов 14: ↑14 и ↓0+14
Комментарии36

Context manager в рамках языка Python

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров19K

Делай красиво, а некрасиво не делай.

Python — это язык программирования, уделяющий много внимания тому, как мы пишем код. Самый первый пункт Zen of Python, принципов разработки на Python от его BDFL: «Beautiful is better than ugly». Красивое лучше уродливого. Это само по себе простое и понятное утверждение, вынесенное на первое место в дзэне, напоминает нам простую истину — мы пишем код для людей, а не для машин. Машине для исполнения программы хватит нулей и единиц в бинарном файле, человек же куда более требователен.

Именно поэтому в разработке кода мы стараемся использовать все доступные средства, для того чтобы сделать его удобным для чтения и понятным человеку. В Python множество инструментов, которые могут помочь улучшить читаемость кода, и Context manager, о котором дальше пойдет речь, один из них.

Читать далее
Всего голосов 9: ↑9 и ↓0+9
Комментарии10

Разбираемся с декораторами в Python

Время на прочтение9 мин
Количество просмотров60K

Декораторы – это обертка вокруг функций (или классов) в Python, которая меняет способ работы этой функции. Декоратор абстрагирует свой собственный функционал. Нотация декоратора в целом наименее инвазивна. Разработчик может писать свой код так, как ему хочется, и использовать декораторы только для расширения функциональности. Все это звучит крайне абстрактно, поэтому давайте обратимся к примерам.

Читать далее
Всего голосов 23: ↑19 и ↓4+15
Комментарии11

The Browser Exploitation Framework Project: от XSS до полного контроля

Время на прочтение2 мин
Количество просмотров12K
image
 
BeEF (сокращение от Browser Exploitation Framework) – платформа для эксплуатации клиент-сайд уязвимостей, таких как XSS (cross-site scripting).

Эксплуатации XSS уязвимостей зачастую уделяется мало внимания, т.к. вектора атаки нацелены на пользователей веб-приложения, а не на веб-приложение или веб-сервер. BeEF позволяет реализовывать атакующие векторы, использующие в качестве точки входа веб-браузер. Такие атаки могут использоваться в контексте watering hole и spear phishing атак, а также в контексте APT.
Читать дальше →
Всего голосов 36: ↑34 и ↓2+32
Комментарии3

CSRF-уязвимости все еще актуальны

Время на прочтение14 мин
Количество просмотров71K
CSRF (Сross Site Request Forgery) в переводе на русский — это подделка межсайтовых запросов. Михаил Егоров (0ang3el) в своем докладе на Highload++ 2017 рассказал о CSRF-уязвимостях, о том, какие обычно используются механизмы защиты, а также как их все равно можно обойти. А в конце вывел ряд советов о том, как правильно защищаться от CSRF-атак. Под катом расшифровка этого выступления.


О спикере: Михаил Егоров работает в компании Ingram Micro Cloud и занимается Application security. В свободное время Михаил занимается поиском уязвимостей и Bug hunting и выступает на security-конференциях

Дисклаймер: приведенная информация является сугубо мнением автора, все совпадения случайны.


В том, что CSRF-атаки работают виноват этот Cookie-монстр. Дело в том, что многие веб-приложения используют куки (здесь и далее считаем уместным называть cookies по-русски) для управления сессией пользователя. Браузер устроен так, что, если у него есть куки пользователя для данного домена и пути, он их автоматически отправляет вместе с HTTP-запросом.
Всего голосов 54: ↑54 и ↓0+54
Комментарии20

Как работает Tor

Время на прочтение9 мин
Количество просмотров178K


Tor – инструмент для анонимности, используемый людьми, стремящимися к приватности и борющимися с цензурой в интернете. Со временем Tor стал весьма и весьма неплохо справляться со своей задачей. Поэтому безопасность, стабильность и скорость этой сети критически важны для людей, рассчитывающих на неё.

Но как Tor работает «под капотом»? В этой статье мы с вами нырнем в структуру и протоколы, используемые в сети, чтобы близко ознакомиться с работой Tor.

Краткая история Tor


Концепция луковичной маршрутизации (позже поясним это название) впервые была предложена в 1995 году. Сначала эти исследования финансировались министерством военно-морских исследований, а затем в 1997 году к проекту подключилась DARPA. С тех пор Tor Project финансировали разные спонсоры, а не так давно проект победил в кампании по сбору пожертвований на reddit.

Код современной версии ПО Tor был открыт в октябре 2003 года, и это было уже 3-е поколение ПО для луковичной маршрутизации. Идея его в том, что мы оборачиваем трафик в зашифрованные слои (как у луковицы), чтобы защитить данные и анонимность отправителя и получателя.

Основы Tor


С историей разобрались – приступим к принципам работы. На самом высоком уровне Tor работает, перекидывая соединение вашего компьютера с целевыми (например, google.com) через несколько компьютеров-посредников, или ретрансляторов (relay).
Читать дальше →
Всего голосов 31: ↑30 и ↓1+29
Комментарии15

Как НЕ СТОИТ использовать I2P и TOR

Время на прочтение5 мин
Количество просмотров77K

Или, сказ о неожиданных способах раскрытия пользователей распределенных сетей-анонимайзеров.

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

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

Читать далее
Всего голосов 93: ↑82 и ↓11+71
Комментарии155

Принципы SOLID, о которых должен знать каждый разработчик

Время на прочтение11 мин
Количество просмотров316K
Объектно-ориентированное программирование принесло в разработку ПО новые подходы к проектированию приложений. В частности, ООП позволило программистам комбинировать сущности, объединённые некоей общей целью или функционалом, в отдельных классах, рассчитанных на решение самостоятельных задач и независимых от других частей приложения. Однако само по себе применение ООП не означает, что разработчик застрахован от возможности создания непонятного, запутанного кода, который тяжело поддерживать. Роберт Мартин, для того, чтобы помочь всем желающим разрабатывать качественные ООП-приложения, разработал пять принципов объектно-ориентированного программирования и проектирования, говоря о которых, с подачи Майкла Фэзерса, используют акроним SOLID.



Материал, перевод которого мы сегодня публикуем, посвящён основам SOLID и предназначен для начинающих разработчиков.
Читать дальше →
Всего голосов 42: ↑33 и ↓9+24
Комментарии33

За границей Hello World: полный гайд по разработке Telegram ботов с помощью Python и Aiogram 3. Часть 1

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров157K

Нетипичный туториал по разработке Telegram-бота на Python и Aiogram 3. В отличие от большинства гайдов и туториалов про разработку ботов «для новичков», здесь будут рассмотрены все аспекты создания бота, от установки редактора кода до подключения оплаты и развёртывания на сервере. В первой части мы рассмотрим подготовку окружения, файловую структуру бота и напишем первый рабочий код бота.

Читать далее
Всего голосов 9: ↑8 и ↓1+7
Комментарии23

Публикуем сайт в межпланетной файловой системе IPFS

Время на прочтение5 мин
Количество просмотров20K

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


Условия:


  1. На нашем сервере установлен IPFS
  2. У нас есть домен и доступно редактирование DNS записей

Напомню: InterPlanetary File System — это новая децентрализованная сеть обмена файлами (HTTP-сервер, Content Delivery Network). О ней я начал рассказ в статье "Межпланетная файловая система IPFS".

image

Читать дальше →
Всего голосов 21: ↑20 и ↓1+19
Комментарии23

15+ небанальных ресурсов для начинающего/продолжающего Python-разработчика

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров52K

Привет Хабрчанам! Меня зовут Дима Туркин, я — код-ревьюер на курсе «Python-разработчик» Яндекс Практикума и Python-тимлид.

Тема материалов по Python для начинающих и продолжающих свой путь разработчиков уже заезженная, поэтому в этой статье я постарался собрать ссылки на менее известные бесплатные ресурсы, но не менее полезные. Есть чем дополнить — пишите в комментариях!

Читать далее
Всего голосов 14: ↑13 и ↓1+12
Комментарии11

Запускаем простой блог на Wagtail CMS (Django) — часть 1

Время на прочтение10 мин
Количество просмотров50K
Являясь большим фанатом Python и фреймворка Django постоянно искал решение, как сделать разработку новых веб-проектов быстрее и удобнее.

Все, кто знаком с разработкой на Django, знают насколько неудобно строить на нем интуитивно понятную админ.панель. До мегапопулярного WordPress очень далеко, что делает порог вхождения в разработку сайтов выше, чем у PHP-фреймворков и CMS.
После долгого поиска и тестирования различных решений я нашел для себя оптимальный вариант — Wagtail CMS.

Wagtail — это полноценная CMS написанная на Django компанией Torchbox. За что им большое спасибо. Проект с открытым исходным кодом, поддерживается сообществом энтузиастов и выпускается под BSD лицензией.

Читать дальше →
Всего голосов 12: ↑11 и ↓1+10
Комментарии23

Kademlia DHT: Основы

Время на прочтение7 мин
Количество просмотров37K
Здравствуйте!
В этой статье, как и, надеюсь, в последующих, я хочу рассказать об одной из современных структурированных пиринговых сетей. Данный материал включает в себя мою переработку документаций, описаний и статей, найденных по теме. В качестве введения представлена общая краткая теория p2p-сетей, DHT, а уж затем следует основная часть, которой посвящена заметка.

Читать дальше...
Всего голосов 54: ↑52 и ↓2+50
Комментарии35

Запускаем простой блог на Wagtail CMS (Django) — часть 2

Время на прочтение9 мин
Количество просмотров18K
С момента написания первой части про Wagtail CMS уже вышла версия 1.6.3 — самое время продолжить наш путь по созданию простого блога.

Часть 1
Часть 3

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

Запускаем простой блог на Wagtail CMS (Django) - часть 2
Читать дальше →
Всего голосов 12: ↑11 и ↓1+10
Комментарии6

Возьми Python с собой

Время на прочтение5 мин
Количество просмотров32K
Думали ли вы (в очередной раз подготавливая среду для Python) о том, как было бы здорово, если бы не приходилось настраивать с нуля рабочее окружение (да ещё и под разными операционными системами), а можно было бы сесть и просто начать писать? Я случайно открыл для себя pythonanywhere.com — сервис, позволяющий вести разработку на Python онлайн, прямо в браузере. Под катом — описание сервиса с картинками и видео.
Читать дальше →
Всего голосов 73: ↑69 и ↓4+65
Комментарии23

Wagtail — лучшая CMS на python в нашей галактике

Время на прочтение5 мин
Количество просмотров33K

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

Читать далее
Всего голосов 11: ↑10 и ↓1+9
Комментарии11

Termux шаг за шагом (Часть 2)

Время на прочтение8 мин
Количество просмотров166K


В прошлой части мы с вами познакомились с базовыми командами Termux'а, настроили SSH соединение с ПК, научились создавать alias'ы и установили несколько полезных утилит. В этот раз нам предстоит шагнуть еще дальше, мы с вами:


  • узнаем про Termux:API
  • установим Python и nano, а также напишем "Hello, world!" на Python
  • узнаем про bash-скрипты, и напишем скрипт с использованием Termux:API
  • используя bash-скрипт, Termux:API и Python напишем простую программку
Читать дальше →
Всего голосов 10: ↑9 и ↓1+8
Комментарии13
1

Информация

В рейтинге
Не участвует
Откуда
Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность