
Руководство по Docker Compose для начинающих

Пользователь
В студенческие годы я написал на заказ много парсеров магазинов и социальных сетей. Со временем парсеры усложнялись и из скриптов превращались в полноценные веб-приложения c базой данных и Rest API. В статье описан шаблон веб-приложения, который использую для создания парсеров.
В данной статье представляется новый взгляд на старую и знакомую заядлым пентестерам тему как DomainFronting. Тем более, что после недавних нововведений в протокол TLS v1.3 от компании Cloudflare эта избитая тема заиграла новыми красками.
Хлебные крошки – это небольшие ссылки на страницах товаров, которые облегчают навигацию клиента по сайту. Казалось бы, что может быть проще? Это же просто ссылки.
В этой статье мы разобьем хлебные крошки на атомы и обсудим даже мельчайшие нюансы: 83 гайдлайна с примерами.
Но есть много факторов, которые отделяют «вкусные» и эффективные хлебные крошки от «чёрствых» и бесполезных.
Привет. Недавно мне потребовалось пересобрать N парсеров в один. В нем должен быть родитель и N детей, а также возможность использовать функции сразу всех подпарсеров.
Спойлер: это было непросто! В статье расскажу о проблемах, с которыми столкнулся, а также объясню, как устроен модуль argparse в Python 3 и что он умеет.
Если вы хотите проектировать ракеты-носители, то обычно выбираете соответствующие вузы и идёте на соответствующую кафедру. Глядя на то, кто и как преподаёт проектирование, мне начинает казаться, что скоро проектирование средств выведения станет забытой тайной предков. Тут я речь веду именно о проектировании ракеты-носителя и её комплекса, как единого целого. Для всех, кто хочет овладеть и научиться, даю наводку по книгам.
Мой интерес к дизайну языков программирования приводит меня иногда к интересным, но почти неизвестным в широких кругах проектам. Один из таких проектов - язык C∀ (CForAll), разрабатываемый Университетом Ватерлоо. C∀ является расширением ISO C и обеспечивает обратную совместимость с C. Помимо исправления некоторых недостатков Си (которые можно исправить без нарушения обратной совместимости), в C∀ есть некоторые весьма интересные и оригинальные фичи: некоторые расширения классических управляющих операторов, альтернативный синтаксис объявления квалификаторов, кортежи и множественные операции, оригинальное расширение ссылок, своя реализация полиморфизма, сопрограммы и т.д.
Данная статья представляет собой краткий конспект официального руководства по языку, собранного из нескольких источников, с некоторыми моими комментариями.
Настройка сетевого взаимодействия сервисов не самая простая задача и часто осуществляется без глубокого понимания как требуется настраивать систему и какие настройки на что влияют. После миграции сервисов в docker контейнерах с centos 6 на centos 7 я столкнулся со странным поведением вебсервера: он пытался присоединиться к сервису по IPv6, а сервис же слушал только IPv4 адрес. Стандартный совет в такой ситуации — отключить поддержку IPv6. Но это не поможет в ряде случаев. Каких? В этой статье я задался целью собрать и детально объяснить как приложения resolve
'ят адреса.
Тема довольно изъезжена, знаю. К примеру, есть отличная статья, но там рассматривается только IP-часть блоклиста. Мы же добавим еще и домены.
В связи с тем, что суды и РКН блокируют всё направо и налево, а провайдеры усиленно пытаются не попасть под штрафы, выписанные "Ревизорро" — сопутствующие потери от блокировок довольно велики. Да и среди "правомерно" заблокированных сайтов много полезных (привет, rutracker)
Я живу вне юрисдикции РКН, но на родине остались родители, родственники и друзья. Так что было решено придумать легкий для далеких от ИТ личностей способ обхода блокировок, желательно вовсе без их участия.
В этой заметке я не буду расписывать базовые сетевые вещи по шагам, а опишу общие принципы как можно реализовать эту схему. Так что знания как работает сеть вообще и в Linux в частности — must have.
Это очередная статья из цикла «BPF для самых маленьких» (0, 1, 2) и первая из серии практических статей про трассировку Linux современными средствами.
Из нее вы узнаете о программе и языке bpftrace
— самом простом способе погрузиться в мир BPF с практической точки зрения, даже если вы не знаете про BPF ровным счетом ничего. Утилита bpftrace
позволяет при помощи простого языка прямо из командной строки создавать программы-обработчики и подсоединять их к огромному количеству событий ядра и пространства пользователя. Посмотрите на КПДВ ниже… поздравляю, вы уже умеете трейсить системные вызовы при помощи bpftrace
!
В отличие от предыдущих статей серии, эта относительно короткая и ее основная часть написана в формате туториала, так что уже после пяти минут чтения вы сможете создавать обработчики и собирать статистику о любом событии в ядре Linux прямо из командной строки. В конце статьи рассказывается об альтернативах — ply
и BCC. Минуты во фразе «после пяти минут чтения» подразумеваются меркурианские. Появление уникальных навыков после пяти минут чтения не гарантируется.
Когда речь идёт о хранении sensitive data в браузере, достаточно воспользоваться одним из двух доступных вариантов: cookies или localStorage. Тут каждый выбирает по вкусу. Однако я посветил эту статью Secret Service – службе, которая работает через D-Bus и предназначена для хранения «секретов» в Linux.
У службы есть API, которым пользуется GNOME Keyring для хранения аутентификационных данных пользовательских приложений.
Настройка Visual Studio Code для работы над проектами Django немного отличается от типичного сетапа для pure Python проектов. Например, в Django мало пользы от mypy, так как он не поддерживает типы Django. Точно также дела обстоят с линтерами, которые, без предварительной настройки, работают с кодом Django неправильно.
Berkeley Packet Filters (BPF) — это технология ядра Linux, которая не сходит с первых полос англоязычных технических изданий вот уже несколько лет подряд. Конференции забиты докладами про использование и разработку BPF. David Miller, мантейнер сетевой подсистемы Linux, называет свой доклад на Linux Plumbers 2018 «This talk is not about XDP» (XDP – это один из вариантов использования BPF). Brendan Gregg читает доклады под названием Linux BPF Superpowers. Toke Høiland-Jørgensen смеется, что ядро это теперь microkernel. Thomas Graf рекламирует идею о том, что BPF — это javascript для ядра.
На Хабре до сих пор нет систематического описания BPF, и поэтому я в серии статей постараюсь рассказать про историю технологии, описать архитектуру и средства разработки, очертить области применения и практики использования BPF. В этой, нулевой, статье цикла рассказывается история и архитектура классического BPF, а также раскрываются тайны принципов работы tcpdump
, seccomp
, strace
, и многое другое.
Разработка BPF контролируется сетевым сообществом Linux, основные существующие применения BPF связаны с сетями и поэтому, с позволения @eucariot, я назвал серию "BPF для самых маленьких", в честь великой серии "Сети для самых маленьких".
Когда речь заходит об образовательной робототехнике или микроэлектронике, на ум сразу приходят LEGO, Arduino, Micro:bit, Raspberry Pi, VEX, MakeBot и другие известные международные марки. Да, можно сказать, что у нас есть Знаток (который на деле и не совсем российская разработка), но что реально разработано в России и даже производится в России доступного для образования детей? Мы решили поглубже погрузиться в эту тему и рассказать вам, что мы там «откопали».
Приветствую, в этом цикле статей постараюсь описать разработку собственного сетевого устройства и поделиться своими мыслями, набитыми шишками и конечно же опытом. Цикл статей будет охватывать временной период порядка 1.5 лет неторопливой разработки.
Да-да, это именно разработка собственного роутера, не простой допил уже имеющегося и переупаковка в другой корпус. Отнюдь! Схема, печатная плата, пайка – всё сделаем сами и защитим диплом. Заинтересовал?
Я работаю проектировщиком аппаратного блока графического процессора в телефонах Samsung, в рамках совместного проекта с AMD. Сейчас наш менеджмент расширяет команду и поощряет инженеров распостранять информацию о новых позициях среди своих знакомых. Я решил написать это пост для более широкой аудитории, так как множество людей, способных пройти интервью на RTL или DV позицию - больше, чем множество моих знакомых. Если вы сможете прислать мне ответ на задачку в моем посте вместе с вашим резюме, я перешлю его нанимающему менеджеру и рекрутеру нашей группы (в комментах прошу ответ не писать). Если резюме им понравится, вам нужно будет пройти стандартное собеседование на несколько часов, с несколькими инженерами, у каждого из которых свой набор задачек.
Также я покажу материалы, по которым можно готовиться к собеседованию, особенно если вы студент или у вас ограниченный опыт в микроэлектронной промышлености.