Pull to refresh
-10
0

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

Send message

HTTP SMS API vs SMPP API

Reading time10 min
Views920

HTTP SMS API и SMPP API — популярные инструменты среди разработчиков, которым нужен качественный и высокопроизводительный SMS API. Их используют, чтобы встроить в свои приложения передачу текстовых сообщений. В статье Михаил Абрамов, технический писатель МТС Exolve, расскажет про оба варианта и сравнит их.

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

Основы работы с gRPC на Python: создание сервиса с использованием FastAPI. Часть II

Level of difficultyMedium
Reading time10 min
Views2.9K

Изучив основы gRPC в первой части нашей серии, мы теперь погрузимся в практическую реализацию gRPC сервиса на Python с использованием FastAPI и Piccolo ORM, чтобы показать, как это работает на примере тестового приложения.

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

Об извлечении кода в Python

Reading time6 min
Views4.9K
Я начал изучать Python в 2009 году, столкнувшись с очень нетривиальной и, кстати, необычной задачей на этом языке. Тогда я разрабатывал приложение для ПК, где графический пользовательский интерфейс создавался на PyQT, а основным языком в программе был Python.

Чтобы скрыть код, я встроил интерпретатор Python в самостоятельный исполняемый файл Windows. Это можно сделать при помощи множества инструментов (напр., pyinstaller, pyexe), все они функционально похожи. Они компилируют в байт-код ваши скрипты, написанные на Python, а далее, связывая их с интерпретатором, укладывают в исполняемый файл. Если компилировать скрипты, понижая их до байт-кода, то злоумышленникам становится сложнее добраться до вашего исходного кода и взломать ваше приложение. Байт-код приходится извлекать из исполняемого файла и декомпилировать. Кроме того, таким способом можно выполнять обфускацию кода, и в результате код становится гораздо сложнее понимать.
Читать дальше →
Total votes 11: ↑11 and ↓0+15
Comments2

Flipper Zero — мнение пентестера после двух лет «полевой» эксплуатации

Reading time8 min
Views49K

«Дельфин-тамагочи» от Flipper Devices Inc. не нуждается в представлении, но хайп вокруг этого хакерского мультитула уже поутих. Теперь пользователи разделились на два лагеря: одни считают Flipper Zero крутым инструментом, другие не понимают, зачем его купили.

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

Читать далее
Total votes 102: ↑93 and ↓9+114
Comments66

Частный опыт одного программиста по преодолению глобальных кризисов

Level of difficultyEasy
Reading time16 min
Views2K

Как не растеряться и вынести пользу из любого кризиса.

Кризисы сопровождают нас на протяжении всей жизни. Увы, с этим ничего невозможно поделать. Всё, что Вы можете — это сделать правильные выводы с тем, чтобы в следующий раз очередной кризис нанес Вам, по возможности, минимальный ущерб. А в идеале — чтобы Вы вышли из него более успешным и сильным.

Впервые об экономических кризисах я узнал ещё в школе — нас учили тому, что капиталистический мир сотрясают перманентные кризисы. Что нужно подождать ещё чуть‑чуть и он развалится, а там народы мира выберут себе в качестве маяка социалистический путь развития, тем самым присоединившись к нам, советским людям. Всё это звучало очень логично. В СССР кризисов не было и это не могло не радовать, поэтому после просмотра программы «Время» и карикатур в журнале «Крокодил» — становилось не по себе от того, как «там» нищенствуют бывшие профессора, а студенты, окончив ВУЗы не могут устроиться по специальности. Звериный оскал капитализма, что тут говорить...

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

Как я сделал свою Arduino

Level of difficultyMedium
Reading time7 min
Views14K

Привет, читатель!

Сегодня существуют десятки вариантов платы Arduino. Их популярность обусловлена, по моему мнению, фреймворком Wiring для микроконтроллеров, распространением «шилдов» (нет необходимости паять компоненты) и, что самое удобное, загрузкой программ по USB. В рамках этой статьи расскажу, как я создал небольшую оценочную плату для микроконтроллера и добавил в нее загрузочную запись.

По своей сути, большинство «ардуинок» (оценочных плат) — это печатные платы с минимально необходимыми для микросхемы деталями. Такие прототипы позволяют сделать работу с чипами удобнее, проще и приятнее. Однако бывает, что под контроллер либо нет подобных решений, либо они универсальные и имеют некоторые неточности. С этим можно бороться, но возникают различные костыли, поэтому я решил разработать оценочную плату для отечественного чипа. Самому чипу посвящена отдельная статья на Хабре, его я использую в паре пет-проектов. Приступим к разработке!
Читать дальше →
Total votes 45: ↑43 and ↓2+54
Comments20

Open source Modbus TCP — RTU конвертор

Level of difficultyEasy
Reading time4 min
Views2.5K

Добрый день коллеги, поговорим о прозрачном конверторе Modbus TCP в Modbus RTU.

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

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

Подключение модулей навигаторов U-BLOX к Repka Pi

Level of difficultyMedium
Reading time18 min
Views937

Ранее в статье Получаем спутниковые координаты GPS/ГЛОНАСС с помощью модуля SIM868 на Repka Pi мы рассказали про модуль GSM/GPRS/GNSS Bluetooth HAT, реализующий все основные функции смартфона, в том числе получение координат GPS.

Теперь вы узнаете, как подключить к микрокомпьютеру Repka Pi модули, созданные компанией u-blox AG, созданные специально для работы со спутниковыми системами глобального позиционирования GNSS. Такие модули пригодятся, например, если вам не нужна полная функциональность SIM868.

Пользуясь нашей статьей, вы научитесь настраивать конфигурацию таких модулей с помощью программы, составленной на языке Python, а также мощной программой U-CENTER, созданной компанией u-blox AG. Такая настройка пригодится, например, для работы с российской системой ГЛОНАСС.

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

Динамическое программирование на Python

Reading time4 min
Views8.8K

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

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

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

Приложение для заметок Obsidian Note, или как держать всё и сразу, и при этом — ничего не потерять

Level of difficultyEasy
Reading time3 min
Views14K

Приложение Obsidian представляет из себя огромную базу ваших заметок. Одним из её плюсов является поддержка Markdown (.md).

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

Читать далее
Total votes 10: ↑7 and ↓3+8
Comments21

Подборка планшетов Huawei — от детских и недорогих до профессиональных решений для работы

Level of difficultyEasy
Reading time10 min
Views2.9K

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

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

Как сломать скомпилированный код, не нарушая бинарную совместимость

Level of difficultyMedium
Reading time10 min
Views2.9K

Привет! Я Антон, Android-разработчик в команде Тинькофф Бизнеса. Занимаюсь интеграцией нескольких наших внутренних SDK в приложение и иногда участвую в их разработке.

Хочу поговорить про проблемы обратной совместимости, которые я встречал в своей работе, и предостеречь от выстрела себе или клиентам вашей библиотеки в ногу.

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

Анализируем HTTP трафик в Wireshark

Reading time4 min
Views6.9K

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

При этом, не все умеют эффективно использовать тот функционал который представляет анализатор для работы с дампами трафика.

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

Читать далее
Total votes 10: ↑10 and ↓0+11
Comments1

Эффективная запитка от литиевых аккумуляторов (серия TI TPS63xxx)

Level of difficultyEasy
Reading time8 min
Views5.3K


Эта статья посвящена разбору решений по запитке 3,3-вольтовых контроллеров (и их периферии) от литиевых аккумуляторов, напряжение которых меняется в процессе работы от 4,2 В до 3 В и даже ниже, в случае глубокого разряда.

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

Обо всём этом мы и поговорим далее (решение есть!).
Читать дальше →
Total votes 32: ↑32 and ↓0+43
Comments25

Соловьиная песня постквантового шифрования

Level of difficultyMedium
Reading time10 min
Views2.4K

Почти год назад я написал статью о постквантовой криптографии и в этом материале решил продолжить эту тему, поскольку с каждым годом приближается момент, когда криптография, какой мы её знаем сегодня, накроется медным тазом. С появлением квантовых вычислений значительно возрос интерес к асимметричным технологиям шифрования. В частности сегодня пытаются найти подходящую замену RSA и алгоритмам на основе дискретных логарифмов, которые тривиально легко будут взломаны с помощью алгоритма Шора. Хотя симметричное шифрование более устойчиво к квантовым вычислениям, с их широким распространением оно будет существенно скомпрометировано реализациями алгоритма Гровера, поскольку он может выполнять неструктурированный поиск за O(sqrtN). Таким образом размер симметричного ключа уменьшится в два раза, то есть эффективность ключа AES-256 будет уменьшена до 128 бит. Тогда автоматически возникает вопрос, будет ли AES-256 оставаться безопасным? Давайте разбираться.

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

Формируя будущее: путь к отечественной системе ИТ-сертификации

Reading time9 min
Views1.5K

Когда-то не так давно ИТ-специалист из России мог прийти на экзамен конкретного вендора и, сдав его, подтвердить свою квалификацию. Так происходит во всем мире и сейчас, но не у нас. Вот уже два года, как сдать экзамен Microsoft, Cisco, Red Hat и других зарубежных вендоров человеку из России, мягко говоря, затруднительно. В то же время несколько месяцев назад в прессе начали появляться новости о планах создания в России «единого центра сертификации IT-специалистов». Точных данных, как это будет работать, пока нет, но тем интереснее высказать свое мнение как автора и порассуждать о комплексе проблем, которые потребуется решить создателям такой системы. Об особенностях национальной ИТ-сертификации — под катом. 

Читать далее
Total votes 7: ↑4 and ↓3+4
Comments8

Ошибки ведения личной базы знаний: почему я удалил 1500 из 4500 заметок в Obsidian

Level of difficultyMedium
Reading time5 min
Views39K

Меня зовут Никита Шевченко и однажды я заигрался в красивый инструмент, да так, что в какой-то момент потерял суть и начал терять пользу. А потом начал придерживаться правил ведения заметок и даже придумал несколько своих.

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

Читать далее
Total votes 68: ↑48 and ↓20+41
Comments97

Быстрое вычисление степени

Level of difficultyMedium
Reading time15 min
Views10K

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

Читать далее
Total votes 15: ↑14 and ↓1+16
Comments8

Как ошибка ChatGPT стоила нам $10 000

Level of difficultyEasy
Reading time4 min
Views6.4K

Колесо крутится, но хомячок подписки помер. Оно просто крутится.

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

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

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

Проснувшись утром, мы увидели больше сорока уведомлений Gmail с жалобами пользователей. Похоже было, что за ночь поломалось всё. Никто из пользователей не мог подписаться. И мы понятия не имели, почему.

Читать далее
Total votes 10: ↑10 and ↓0+16
Comments19

BananaNAS — портативный NAS из одноплатника

Level of difficultyEasy
Reading time7 min
Views10K

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

Детали разработки
Total votes 13: ↑13 and ↓0+15
Comments45

Information

Rating
Does not participate
Registered
Activity