Как стать автором
Обновить
-23
0

Пользователь

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

Aiohttp + Dependency Injector — руководство по применению dependency injection

Время на прочтение13 мин
Количество просмотров6.8K
Привет,

Я создатель Dependency Injector. Это dependency injection фреймворк для Python.

Продолжаю серию руководств по применению Dependency Injector для построения приложений.

В этом руководстве хочу показать как применять Dependency Injector для разработки aiohttp приложений.

Руководство состоит из таких частей:
Читать дальше →
Всего голосов 3: ↑3 и ↓0+3
Комментарии0

Google Dorking или используем Гугл на максимум

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

Вступление


Google Dorks или Google Hacking — техника, используемая СМИ, следственными органами, инженерами по безопасности и любыми пользователями для создания запросов в различных поисковых системах для обнаружения скрытой информации и уязвимостях, которые можно обнаружить на общедоступных серверах. Это метод, в котором обычные запросы на поиск веб-сайтов используются в полную меру для определения информации, скрытой на поверхности.
Читать дальше →
Всего голосов 30: ↑26 и ↓4+29
Комментарии7

Как просканировать весь интернет

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


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

Программа zmap (не путать с nmap) позволяет сканировать огромные диапазоны сетей намного быстрее любого сканера из-за особой архитектуры. В статье мы рассмотрим пример как собрать список всех веб-серверов в мире с помощью zmap. Имея список хостов с открытым HTTP портом, уже можно использовать более интеллектуальный сканер, передавая ему точный список целей.
Читать дальше →
Всего голосов 23: ↑19 и ↓4+24
Комментарии29

EOF — это не символ

Время на прочтение6 мин
Количество просмотров85K
Недавно я читал книгу «Компьютерные системы: архитектура и программирование. Взгляд программиста». Там, в главе про систему ввода-вывода Unix, авторы упомянули о том, что в конце файла нет особого символа EOF.



Если вы читали о системе ввода-вывода Unix/Linux, или экспериментировали с ней, если писали программы на C, которые читают данные из файлов, то это заявление вам, вероятно, покажется совершенно очевидным. Но давайте поближе присмотримся к следующим двум утверждениям, относящимся к тому, что я нашёл в книге:

  1. EOF — это не символ.
  2. В конце файлов нет некоего особого символа.

Что же такое EOF?
Читать дальше →
Всего голосов 80: ↑47 и ↓33+38
Комментарии63

SARS нерукотворный? Генеалогия уханьского коронавируса

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

Не, ну какая рукотворность? Что за бред? Думал я, когда впервые услышал гипотезу о том, что Ковид-19 вызван то ли лабораторной утечкой, то ли вообще целенаправленной биоатакой. И каждый раз просто отмахивался от этих домыслов, когда они в очередной раз доплывали до меня в бурном потоке коронавирусного инфошума. Ну подумаешь, есть в Ухане институт вирусологии, мало ли.

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

И вот тут, в погоне за доводами против рукотворности вируса, меня и заразил вирус сомнений. В чём, собственно, причина сомнений? В том, что чем глубже погружаешься в деятельность коронавирусологов за последние 15–20 лет, тем лучше понимаешь, что создание ровно таких химер как CoV2 у них было обыденным делом. А CoV2 — это очевидная химера, основанная на летучемышином штамме RaTG13, у которого в шиповидном белке место связывания с рецептором (RBM) заменено с летучемышиного на панголиний, и вдобавок врезан особый участок из 4-х аминокислот, создавший furin cleavage site, который, как ранее выяснили вирусологи, значительно расширяет «репертуар» вируса в плане того, в чьи клетки он может проникать. Скорее всего, именно благодаря этому новому фуриновому сайту, новый мутант и сумел перескочить с исходных носителей на людей.

С учётом тех высот, которых сегодня достигла генная инженерия, синтетически собрать CoV2 по вышеописанной методике не составило бы труда даже начинающему специалисту. Ведь вирусологи, включая руководителя коронавирусного направления в Уханьском институте вирусологии Ши Чжэнли, такими вещами уже неоднократно занимались — как заменой RBM у одного вида вируса на RBM из другого
Всего голосов 328: ↑288 и ↓40+341
Комментарии720

Mikrotik RouterOS в Docker с помощью Qemu

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

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


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


Продолжение под катом.

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

Как реализованы конвейеры в Unix

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

В этой статье описана реализация конвейеров в ядре Unix. Я был несколько разочарован, что недавняя статья под названием «Как работают конвейеры в Unix?» оказалась не про внутреннее устройство. Мне стало интересно, и я зарылся в старые источники, чтобы найти ответ.
Читать дальше →
Всего голосов 75: ↑75 и ↓0+75
Комментарии21

Об одной уязвимости в…

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


Год назад, 21 марта 2019, в баг баунти программу Mail.ru на HackerOne пришел очень хороший багрепорт от maxarr. При внедрении нулевого байта (ASCII 0) в POST-параметр одного из API-запросов веб-почты, который возвращал HTTP-редирект, в данных редиректа виднелись куски неинициализированной памяти, в которых чаще всего раскрывались фрагменты из GET-параметров и заголовков других запросов к тому же серверу.
Читать дальше →
Всего голосов 60: ↑57 и ↓3+74
Комментарии14

Как устроена контент-система Турбо-страниц: схемы, факты и немного истории

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


По данным TelecomDaily, почти 30% пользователей мобильного интернета в России ежедневно сталкиваются с проблемами при загрузке сайтов. Однако причина может быть не только в неравномерном покрытии, но и в слишком большом «весе» страницы.

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

Как работает эта магия? Какой путь проходят данные, прежде чем стать полноценной Турбо-страницей? Меня зовут Стас Макеев, я руковожу разработкой технологии Турбо-страниц. Сейчас попробую всё объяснить.
Читать дальше →
Всего голосов 21: ↑18 и ↓3+26
Комментарии8

OOMkiller в Docker сложнее, чем вы думаете

Время на прочтение3 мин
Количество просмотров12K
Снова здравствуйте. В преддверии старта курса «Разработчик Java» подготовили перевод еще одного небольшого материала.




Недавно у одного из пользователей Plumbr APM возникла странная проблема с аварийной остановкой docker-контейнера с кодом 137. Конфигурация была простейшая с несколькими вложенными контейнерами и виртуальными машинами, похожая на матрешку:

  • свой железный сервер с Ubuntu;
  • множество docker-контейнеров с Ubuntu внутри;
  • Java Virtual Machine внутри docker-контейнеров.
Читать дальше →
Всего голосов 14: ↑13 и ↓1+18
Комментарии3

Разделяй и властвуй: совершенствование электролиза воды

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


Одной из самых известных химических формул, которые нам известны еще со школьной скамьи, является H2O — оксид водорода, т.е вода. Без этого простого на первый взгляд вещества жизнь на нашей планете была бы совершенно иной, если вообще была бы. Помимо своих животворящих функций у воды имеется масса других применений, среди которых стоит выделить получение водорода (H). Одним из методов достижения этого является электролиз воды, когда ее разделяют на составляющие, т.е. на кислород и водород. Это достаточно сложный, затратный, но эффективный метод. Тем не менее, нет в мире такого, что ученые не хотели бы улучшить. Команда исследователей из университета штата Вашингтон и Лос-Аламосской национальной лаборатории нашли способ усовершенствовать электролиз воды, значительно снизив себестоимость его проведения без снижения результата. Какие изменения пришлось внедрить в электролиз воды, почему были использованы те или иные вещества, и какие результаты показывает обновленный метод добычи водорода? Об этом нам поведает доклад ученых. Поехали.
Читать дальше →
Всего голосов 19: ↑18 и ↓1+26
Комментарии4

CSS: полное руководство по функции calc()

Время на прочтение11 мин
Количество просмотров100K
В CSS есть особая функция calc(), применяемая для выполнения простых вычислений. Вот пример её использования:

.main-content {
  /* Вычесть 80px из 100vh */
  height: calc(100vh - 80px);
}

Здесь с CSS-кодом, в котором используется calc(), можно поэкспериментировать.



Автор статьи, перевод которой мы сегодня публикуем, хочет рассказать обо всём, что стоит знать об этой весьма полезной функции.
Читать дальше →
Всего голосов 25: ↑24 и ↓1+39
Комментарии9

Django DB Mailer — простая и удобная батарейка, для отправки почтовых сообщений в вашем проекте

Время на прочтение8 мин
Количество просмотров25K
В подавляющем большинстве проектов используется отправка сообщений на почтовые адреса клиентов/админов/отделов. На сколько утомительно каждый раз создавать шаблоны на файловой системе, задавать сигналы, использовать часто дублирующийся код для рендеринга и отправки.

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

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

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


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

Популярно об артиклях в английском языке

Время на прочтение8 мин
Количество просмотров55K
Артикли — это самые распространенные слова в английском языке. Эти невзрачные a, an и the занимают около 8,5% объема любого текста. Если немного утрировать, то из каждого часа работы с текстом вы пять минут тратите только на прочтение артиклей.

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

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


Читать дальше →
Всего голосов 59: ↑59 и ↓0+59
Комментарии94

Deploy Django приложений с использованием Ansible для чайников

Время на прочтение8 мин
Количество просмотров21K
Доброго времени суток!

Совсем недавно мой коллега познакомил меня с замечательным инструментом автоматизации ручного труда под названием Ansbile. После чего моментально родилась идея написать что-то своё, что упрощает тот самый ручной труд. Что чаще всего приходится делать руками? Правильно, деплоиться.

В этой статье я расскажу о том, как с использованием ansible раскатать django-проект на чистом удаленном сервере ubuntu 14.04, создав при этом для проекта отдельного пользователя.
Читать дальше →
Всего голосов 19: ↑18 и ↓1+17
Комментарии8

Стоит ли хранить Google Fonts на своём сервере?

Время на прочтение22 мин
Количество просмотров24K
В последние несколько недель, по стечению обстоятельств на работе и в сторонних проектах, я узнал много о веб-шрифтах, а также много нового о Google Fonts в частности. Благодаря этому я могу дать более развернутый ответ на вопрос, который в прошлом мне казался простым: стоит ли вам хранить Google Fonts на своём сервере?

Говоря объективно, признаю, шрифты — не моя сильная сторона. Я предпочитаю более практичный подход и не зацикливаюсь на дизайне (посмотрите на этот сайт и убедитесь, что так и есть) и прежде не чувствовал необходимости в использовании нестандартных шрифтов. Конечно, они выглядят немного приятнее и «брендируют» текст. Но для основного текста толку в них мало. Я никогда не оценивал статью (или иначе относился к её содержанию), только потому что для её подачи использовался красивый шрифт. Тем не менее, мне было полностью понятно негативное влияние дополнительных шрифтов на производительность и скорость загрузки страницы, так что, возможно, из-за этого я предвзят.

Тем не менее, многие со мной могут не согласится, да и шрифты, важны они лично для меня или нет, регулярно используются многими другими разработчиками, и часто у них просто нет выбора. Давайте посмотрим, что можно сделать, чтобы и в скорости сайта не потерять, и дизайнеров довольными оставить.
Читать дальше →
Всего голосов 33: ↑33 и ↓0+33
Комментарии10

Стилизация флажков и переключателей с использованием CSS3

Время на прочтение4 мин
Количество просмотров101K
При создании CSS стилей для HTML форм, разработчики часто сталкиваются с невозможностью непосредственно менять внешний вид элементов флажков (checkboxes) и переключателей (radio buttons). Рассмотрим как можно обойти это ограничение при помощи инструментария CSS3 и без использования какого-либо кода JavaScript.
Всего голосов 18: ↑11 и ↓7+6
Комментарии15

Изменение алгоритмов Google AdSense может привести к вымогательству у владельцев сайтов и веб-мастеров

Время на прочтение3 мин
Количество просмотров15K
Практически любому современному бизнесу важны современные инструменты контекстной рекламы, в особенности — Google AdSense. Еще важнее эта система площадкам, которые размещают у себя рекламу. Казалось бы, все «грязные» приемы на полях SEO-оптимизации, поднятия сайта в выдаче гугла и атак на конкурентов, связанные с баннерной рекламой, мы уже знаем и выучили, но недобросовестные граждане нет-нет, а придумают что-нибудь новое.

Так, на сайте krebsonsecurity.com его владелец Брайан Кребс, специалист по инфобезу, поделился новым интересным приемом шантажа веб-мастеров: через эксплуатацию мусорного трафика с последующим автоматическим баном в системе. Собственно, все просто, как в случае с криптошифровальщиками: злоумышленник требует выкуп в биткоинах в эквиваленте 5000$, иначе он направит на сайт поток мусорного бот-трафика, имитируя топорную накрутку активности с целью «освоить бюджеты».



Суть в том, что современные алгоритмы Google AdSense воспринимают подобную активность на сайте как мошенничество и приостанавливают действие записи пользователя в системе сроком на один месяц.
Читать дальше →
Всего голосов 25: ↑24 и ↓1+33
Комментарии15

Эксперимент: как научиться создавать популярные тексты на английском (и почему англоязычный Хабр так мало читают)

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


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

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

Примечание: методология мини-исследования не особенно научная, но, на мой взгляд практическая. Мне полученные результаты кажутся интересными и полезными, но не стоит считать их истиной в последней инстанции.
Читать дальше →
Всего голосов 57: ↑49 и ↓8+66
Комментарии118

Хорошо подумайте, прежде чем использовать Docker-in-Docker для CI или тестовой среды

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


Docker-in-Docker представляет собой виртуализированную среду Docker-демон, запущенную в самом контейнере для сборки образов контейнера. Основной целью создания Docker-in-Docker была помощь в разработке самого Docker. Многие люди используют его для запуска Jenkins CI. Поначалу это кажется нормальным, но затем возникают проблемы, которых можно избежать, установив Docker в контейнер Jenkins CI. В этой статье рассказывается, как это сделать. Если вас интересует итоговое решение без подробностей, просто прочитайте последний раздел статьи «Решение проблемы».

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

Информация

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