Pull to refresh
8
0
czuryk @czuryk

User

Send message

«Карманный синоптик за час». Пишем Telegram-бота для мониторинга погоды на Python

Level of difficultyMedium
Reading time6 min
Views26K

Хабровчане, всем привет! Меня зовут Максим Плачковский, я автор канала PythonToday. Из этой статьи вы узнаете, как написать своего Telegram-бота для получения данных о погоде в любом городе нашей планеты. Мы детально рассмотрим работу с API, парсинг JSON и напишем бота на асинхронной библиотеке aiogram. А после — загрузим его на виртуальный сервер и запустим. Если интересно, добро пожаловать под кат!
Читать дальше →
Total votes 61: ↑51 and ↓10+41
Comments16

DevSecOps: как мы внедряли PT Application Inspector в наш продуктовый конвейер

Reading time19 min
Views8.3K

Привет! Меня зовут Тимур Гильмуллин, я работаю в отделе технологий и процессов разработки Positive Technologies. Неформально наш отдел называют DevOps-отделом, мы занимаемся автоматизацией различных процессов и помогаем разработчикам и тестировщикам в нашей компании.

Я и мой коллега Дима Рагулин хотим рассказать, как инженеры нашего отдела внедряли сканер кода PT Application Inspector (PT AI) в сборочные процессы продуктовых команд внутри компании. Отмечу, что статья про архитектуру и интеграцию PT AI в CI, а не про работу с этим инструментом и не про поиск уязвимостей. Подробнее о функциональных возможностях PT AI вы можете узнать из вебинара.

Статья состоит из двух частей. В первой части расскажем, какое место PT AI занимает в наших технологических цепочках, дадим рекомендации по возможной архитектуре его внедрения в CI-конвейер. Это будет полезно DevOps-архитекторам и специалистам по внедрению решений в области безопасной разработки (DevSecOps). Вторая часть посвящена практическому внедрению PT AI в наш корпоративный CI-конвейер: в ней мы поделимся наработками своих шаблонов и скриптов, а также покажем, как можно подключить сканирование через PT AI в пару строчек кода. Это может быть интересно инженерам, перед которыми встали вопросы внедрения PT AI внутри уже сложившихся инфраструктуры и процессов разработки.

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

Burp и его друзья

Reading time11 min
Views17K

В этой статье мы расскажем о полезных плагинах для Burp Suite Professional — инструмента для анализа веб-приложений. Плагинов много, и, чтобы помочь аудиторам сделать правильный выбор, мы составили список тех, которые сами чаще всего используем в работе.


img

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

DevOps vs DevSecOps: как это выглядело в одном банке

Reading time9 min
Views12K


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

Банк решил, что можно и нужно перетащить весь пайплайн к себе «под крылышко» от коммитов до выпуска. Чтобы всё было единообразно и под контролем команд, отвечающих за продукт в банке. То есть как если бы внешний подрядчик просто работал где-то в соседней комнате офиса. На корпоративном стеке. Это обычный девопс.

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

Одно простое откровение, что подрядчик имеет полный доступ к коду продукта, уже перевернуло их мир.

В этот момент и началась история DevSecOps, про которую я хочу рассказать.
Читать дальше →
Total votes 35: ↑32 and ↓3+29
Comments4

Объясняем современный JavaScript динозавру

Reading time15 min
Views264K


Если вы не изучали JavaScript с самого начала, то осваивать его современную версию сложно. Экосистема быстро растёт и меняется, так что трудно разобраться с проблемами, для решения которых придуманы разные инструменты. Я начал программировать в 1998-м, но начал понимать JavaScript только в 2014-м. Помню, как просматривал Browserify и смотрел на его слоган:


Browserify позволяет делать require («модули») в браузере, объединяя все ваши зависимости


Я не понял ни слова из предложения и стал разбираться, как это может помочь мне как разработчику.


Цель статьи — рассказать о контексте, в котором инструменты в JavaScript развивались вплоть до 2017-го. Начнём с самого начала и будем делать сайт, как это делали бы динозавры — безо всяких инструментов, на чистом HTML и JavaScript. Постепенно станем вводить разные инструменты, поочерёдно рассматривая решаемые ими проблемы. Благодаря историческому контексту вы сможете адаптироваться к постоянно меняющемуся ландшафту JavaScript и понять его.

Total votes 174: ↑171 and ↓3+168
Comments505

Как подступиться к fullstack-разработке сегодня, если ты проспал десять лет

Reading time26 min
Views148K


Привет, Хабр! Несколько месяцев назад у меня остро встал вопрос смены профиля деятельности и я обнаружил, что для претендента на вакансию web-разработчика сейчас недостаточно навыков десятилетней давности (какая неожиданность!). Пришлось срочно актуализировать свои знания. Заодно я решил составить шпаргалку с описанием большинства современных технологий, чтобы в случае чего кидать жаждущим новых знаний линк на эту статью, да и самому не забывать.
Читать дальше →
Total votes 162: ↑135 and ↓27+108
Comments381

НЕ Arduino за 55 центов

Reading time3 min
Views104K


Эксперимент с прикручиванию к дешевым микроконтроллерам ATTiny загрузчика и среды разработки Arduino был достаточно удачным. Конечно, с AVR неплохо живется и без Arduino. Но хорошо, когда есть возможность выбора. А потом я вляпался в STM32 и заковырялся в библиотеках и громоздких конструкциях инициализации портов. Спасением ARM-«чайника» стал проект ARM mbed. Лично мне он позволил просто взять и начать работать с STM32.

Но мигать светодиодом на плате Nucleo надоело очень быстро. Отложил я ее, ибо слишком много ножек и наворотов, и взялся за Maple Mini (STM32F103CBT6 с минимальной обвязкой). Тоже все довольно легко и просто — сервоприводы крутятся, датчики работают, экранчики показывают — все популярные библиотеки, знакомые ардуинщикам, в mbed имеются.

А третий заход отчасти повторял «Arduino за 1$». О нем я и расскажу подробно. Идея такая: хочу ARM за копейки. Открываю Aliexpress и нахожу STM32F030F4P6 за 55 центов за штучку при покупке пучка (10 чипов).
Читать дальше →
Total votes 49: ↑48 and ↓1+47
Comments26

Часы на белой доске

Reading time1 min
Views20K


Whiteboard Clock — устройство, которое пишет текущее время маркером на белой доске. Каждые Х (по умолчанию — 5) минут оно стирает предыдущее время и пишет новое.

Создатель гаджета описывает его конструкцию и публикует исходный код для управления моторами.
Читать дальше →
Total votes 22: ↑18 and ↓4+14
Comments9

Эти часы пишут время…

Reading time2 min
Views46K
Очередная безумная поделка выходного дня – настоящие часы, пишущие время маркером.
Эта идея была подсмотрена в интернете. Самобытные мастера и умельцы со всего мира вырезают эту конструкцию из листового пластика типа акрил. Мастер Кит нарисовал 3D-модели всех акриловых деталей и теперь эти безумные часы можно напечатать на вашем 3D принтере.



Итак!
Читать дальше →
Total votes 50: ↑28 and ↓22+6
Comments13

Радиомодем за 7 долларов

Reading time6 min
Views136K
Доброе время суток!
Расскажу я как можно собрать себе радиомодем мощностью 100мВт на 433МГц, по стоимости выходящий примерно на 6-7 долларов. Мощный радиомодем за 200 рублей — заманчиво? Тогда начнём.
Внешний вид
Требуются скиллы пайки немного выше среднего и опыт заказа в интернет-магазинах.
Читать дальше →
Total votes 85: ↑84 and ↓1+83
Comments80

Захват аналогового видеосигнала при помощи STM32F4-DISCOVERY

Reading time14 min
Views171K
image
В этой статье я расскажу о том, как можно захватывать аналоговый черно-белый видеосигнал с помощью платы STM32F4-DISCOVERY, и об особенностях передачи его на компьютер при помощи USB.
Читать дальше →
Total votes 70: ↑69 and ↓1+68
Comments8

Используем MSP430-Launchpad в качестве программатора

Reading time3 min
Views21K
Здравствуйте! Я хочу поделиться с хабрасообществом одним необычным применением отладочной платы MSP430-Launchpad.

Руководство предназначено тем, кто уже имеет MSP430-Launchpad, освоил микроконтроллеры MSP430-ValueLine и задумывается о том, чтобы перейти на более продвинутые МК MSP430, но пока не решился на то, чтобы приобрести профессиональный программатор MSP430-JTAG или MSP430-UIF. Но это не страшно. В качестве программатора можно пока будет использовать Launchpad. Под катом я расскажу как это сделать.
Читать дальше →
Total votes 16: ↑16 and ↓0+16
Comments17

Микро БД для конфигурации на микроконтроллере

Reading time6 min
Views20K
Многие разработчики программ для микроконтроллеров сталкивались с проблемой хранения конфигурационных данных. Это могут быть калибровочные коэффициенты измерительного алгоритма или просто последний выбранный пользователем пункт меню. Для микроконтроллера, имеющего возможность записывать в собственную flash-память, решение кажется простым — стираем сегмент и пишем туда все, что нужно. Однако, если необходимо еще и обеспечить отказоустойчивость по отношению к выключению питания в произвольный момент, задача становится нетривиальной, — по сути необходимо реализовать маленькую базу данных с механизмом обеспечения атомарности операций записи и восстановлением после сбоев. Решение этой задачи для микроконтроллеров семейства MSP430 — под катом. По количеству используемых ресурсов оно подходит даже для самых младших членов этого семейства — с размером RAM от 256 байт и falsh-памяти от 8Kb. В качестве бонуса — интерфейс командной строки (через UART) для чтения и записи конфигурации.
Читать дальше →
Total votes 26: ↑25 and ↓1+24
Comments3

ObjectManager в API Яндекс.Карт. Как быстро отрисовать 10 000 меток на карте и не затормозить всё вокруг

Reading time10 min
Views110K
Перед разработчикам, которые используют API Яндекс.Карт, довольно часто встаёт задача отобразить много объектов на карте. Действительно много — порядка 10 000. Причем эта задача актуальна и для нас самих — попробуйте поискать аптеки на Яндексе. На первый взгляд кажется: «А в чем собственно проблема? Бери да показывай». Но пока не начнешь этим заниматься, не поймешь, что проблем на самом деле целый вагон.



Вопросы по большому количеству меток с завидной регулярностью поступают в наш клуб и техподдержку. Кто все эти люди? Кому может быть интересно показать на карте больше 10 меток? В этом посте я подробно рассмотрю весь вагон проблем и расскажу, как в API появились инструменты, помогающие разработчикам оптимально показать большое количество объектов на карте.
Читать дальше →
Total votes 93: ↑89 and ↓4+85
Comments85

Time-lapse камера на STM32L

Reading time6 min
Views57K
image

Согласно википедии Time-lapse или замедленная киносъёмка — это киносъёмка с частотой, меньшей стандартной частоты съемки и проекции в 24 кадра в секунду.
Гифка time-lapse
image

Начав изучать микроконтроллеры STM32 и написав «HellowWorld» с миганием светодиодом, я понял, что для лучшего понимания работы STM32 мне необходимо реализовать что-то более сложное с использованием большего количества периферии микроконтроллера. Так возникла идея создания Time-lapse камеры.
Читать дальше →
Total votes 39: ↑37 and ↓2+35
Comments50

STM32 Nucleo. Подключаем TFT LCD на базе чипа ILI9341

Reading time3 min
Views88K
image
На Хабре уже есть две публикации о платформе STM32 Nucleo и разработке в среде mbed.org. Это «обзор платформы» и «быстрый старт». Я же в данной публикации расскажу, как быстро подключить недорогой модуль TFT LCD на базе чипа ILI9341. Статья будет полезна и любителям Arduino, желающих перейти на более современные и мощные микроконтроллеры, используя уже накопленные знания.
Читать дальше →
Total votes 25: ↑24 and ↓1+23
Comments38

Миниатюрный трикоптер с HD 1080 камерой на Kickstarter насобирал почти 1 млн долларов вместо 35 тысяч

Reading time1 min
Views66K


На Хабре один раз упомянули Pocket Drone. Это — миниатюрный (размер меньше 7 дюймов) трикоптер с HD 1080 камерой на борту. Устройство также оснащено модулем беспроводной связи для трансляции получаемого изображения на смартфон оператора. Проект этого трикоптера был выставлен на Kickstarter, с целью получить 35 тысяч долларов США для запуска массового производства этих летательных аппаратов.

Но получилось немного не так, как планировали разработчики. Проект собрал рекордные 925 тысяч долларов США вместо планируемых 35 тысяч. При этом стоимость трикоптера немаленькая — 500 долларов США.

Читать дальше →
Total votes 46: ↑42 and ↓4+38
Comments66

«Умный дом» собственными руками. Часть 4. Организуем веб-интерфейс

Reading time9 min
Views49K
В прошлой статье мы смогли научить нашу систему «умный дом» распознавать сказанное нами и синтезировать голосовые ответы при помощи Google.
Сегодня я хочу рассказать, как организовать доступ к нашей системе через веб-интерфейс.
Читать дальше →
Total votes 42: ↑38 and ↓4+34
Comments13

Брутфорсим EFI с Arduino

Reading time23 min
Views103K
Приветствую Хабравчан!

Думаю, данной темой не многих удивишь — достаточно набрать в поисковике фразу arduino bruteforce и сразу станет понятно, насколько распространен перебор паролей при помощи платформы Arduino. Я же хочу рассказать о том, как это быстро организовать с наименьшим наборов компонентов, без разводки/травления плат и пайки. Сразу оговорюсь, что описанные мною действия носят ознакомительный характер и никому не причинили вреда, ни морального, ни физического… разве что мошенникам.


Читать дальше →
Total votes 74: ↑74 and ↓0+74
Comments27

Подключаем Arduino к счетчику электроэнергии

Reading time5 min
Views177K
Нет, эта статья не об очередном способе обмануть этот злосчастный прибор. Здесь пойдет речь о том, как с помощью Arduino и среды LabView превратить свой счетчик электроэнергии в средство мониторинга потребляемой мощности или даже в амперметр!


Читать дальше →
Total votes 63: ↑62 and ↓1+61
Comments50

Information

Rating
Does not participate
Registered
Activity

Specialization

Application Security
Lead
Java EE
PHP
MySQL
C#
CI/CD
SAST / DAST
DevSecOps
OWASP
Penetration testing