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

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

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

Запускаем Embedded Linux на Hard- и Soft-CPU Xilinx Zynq: проект программируемой логики

Уровень сложностиСложный
Время на прочтение20 мин
Количество просмотров5.2K

Привет, Хабр! Меня зовут Павел Панкратов, я ведущий инженер-программист в дивизионе искусственного интеллекта YADRO. Этим текстом я запускаю цикл статей — экскурс в особенности работы с SoC, комбинирующей в себе реализованные в «железе» аппаратные блоки (Hard IP’s) и программируемую логику (Soft IP’s). Основная задача, которая объединит все три статьи, — параллельный запуск встраиваемой операционной системы на двух различных по архитектуре процессорах, представленных в виде Hard и Soft IP-блоков.

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

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

Сайзеры wxWidgets

Время на прочтение2 мин
Количество просмотров3.6K
Привет, Хабр!

Сегодня хочу немного рассказать о своем опыте применения сайзеров в wxWidgets.

Всю свою сознательную 'жизнь' на С++ я провёл в среде C++Builder с редкими вылазками в Misrosoft VC. В поисках чего-то нового решил попробовать связку CodeBlocks и wxWidgets. И сразу же поймал ностальгию по тепличным условиям среды C++Builder с его 'живыми' визуальными формами в конструкторе. В первую очередь у меня не получилось взаимопонимания с wxSizers. Их подмножество и поведение подрывало весь оптимизм освоения новой для меня среды. И здесь возникла мысль написать что-то свое для wxWidgets, чтобы было как в C++Builder.
Читать дальше →
Всего голосов 14: ↑14 и ↓0+14
Комментарии5

Собираем бюджетный домашний NAS на 14 ТБ

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров74K


Начав заниматься фотографией, я быстро ощутил нехватку места на компьютере. Фотографии в RAW имеют большой вес, а про видео говорить ещё страшнее. Решение проблемы очень простое — собрать NAS.

О моём опыте сборки бюджетного NAS на 14 ТБ я напишу далее в статье.
Читать дальше →
Всего голосов 140: ↑139 и ↓1+171
Комментарии261

Я запустил свой первый успешный побочный проект, и мне не понравилось

Время на прочтение17 мин
Количество просмотров3.1K
В 2020 году стартовал мой первый побочный проект. Я создал то, чего мне самому не хватало, потом начал продавать другим, и на сегодняшний день проект принес мне более 15 000 $. Но спустя всего несколько месяцев после релиза поддержка настолько меня вымотала, что возникло желание его свернуть. Под катом вы найдете историю о моем небольшом приключении в мире предпринимательства.



Во второй половине 2020 года у меня появилось свободное время. Я только что завершил проект для клиента и решил посвятить несколько месяцев созданию курса по Python – так, для разнообразия. В тот же период у меня появился интерес к применению технического анализа в торговле ценными бумагами. Следуя заветам одного «интернет-гуру инвестирования» (да, я понимаю, как это звучит), я стал заниматься дневным трейдингом с опорой на некие тайные знания о ценообразовании, известные как гармонические паттерны, которые подсказывают, когда лучше покупать и продавать (слушайте, не судите строго, я сам печатаю всё это с содроганием).
Читать дальше →
Всего голосов 16: ↑14 и ↓2+19
Комментарии1

Все финансовые рынки мира в API Яху Финанс

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров72K
В этой статье я расскажу об API агрегатора финансовых данных Yahoo! Finance. В рассказе есть один нюанс — официальное API Яху Финанс было закрыто три года назад, однако практически сразу же появилась его недокументированная работоспособная версия, которая жива до сих пор. Хочу в исследовательских целях рассказать об использовании этой работоспособной версии подробнее.
Тем более, что список рынков, данные с которых можно получать через Яху Финанс огромен. На текущий момент в нем 79 стран, включая и Россию.


Apple Inc. (AAPL) на сайте и в API Яху Финанс
Разбор API Yahoo! Finance
Всего голосов 15: ↑15 и ↓0+15
Комментарии40

Дизайн встраиваемой базы данных для ANN запросов: MusyaDB

Уровень сложностиСложный
Время на прочтение23 мин
Количество просмотров3.7K

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

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

Типы данных в Python. Что нужно о них знать?

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров23K

Всем привет! Меня зовут Дима. Я являюсь Backend Python Developer'ом. Хочу оставить здесь скомпонованную информацию, которой когда-то давно не хватало мне. А именно, расскажу Вам про основные типы данных в Python, как они устроены и в чём их отличие.

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

Опасность устарела: несколько важных нюансов в новых стандартах C++

Время на прочтение16 мин
Количество просмотров16K
Undefined behavior (UB) — боль, знакомая каждому разработчику со стажем; эдакий «код Шредингера», когда не знаешь, правильно тот работает или нет. К счастью, стандарты языка С++20/23/26 привнесли относительно неопределенного поведения кое-что новое. И довольно важное, если вы — архитектор ПО, а «плюсы» — ключевой стек вашей компании (подробнее о том, как и почему мы в «Лаборатории Касперского» много используем С++, читайте здесь).

В этой статье я со своих позиций Senior Software Architect и Security Champion в микроядерной операционной системе KasperskyOS рассмотрю кейсы-ловушки, в которые можно попасть практически в любом из стандартов, и покажу, что меняется в С++20/23/26, — уменьшается ли количество кейсов с неопределенным поведением, и становится ли С++ безопаснее.


Читать дальше →
Всего голосов 58: ↑56 и ↓2+60
Комментарии76

Дайте мне 15 минут, и я изменю ваш взгляд на GDB

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров14K

Материал подготовлен на основе выступления с CppCon 2015 "Greg Law: Give me 15 minutes & I'll change your view of GDB" (доступно по ссылке ). Многие моменты я изменял и корректировал, поэтому учтите, что перевод достаточно вольный.

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

В статье будет рассматриваться отладка кода на C в ОС Linux.

Читать далее
Всего голосов 47: ↑45 и ↓2+63
Комментарии16

Куда податься, чтобы продвигаться: каналы продвижения для b2b и b2c

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

Зачада: есть шикарный IT-продукт, которому нужно найти клиентов. Владелец продукта хочет бесконечное количество лидов прямо завтра и прямо за 0 ₽. Это, безусловно, устроит и его, и unit-экономику, и инвесторов, и даже местную собаку Чучу. Но увы, такой расклад невозможен. Вопрос: что делать?

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

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

История переформатирования 100 000+ файлов Google в 2012 году

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

В сентябре далёкого 2012 года я трудился начинающим инженером в Google, занимаясь разработкой Bazel (инструмент сборки, внутри компании также известный под именем Blaze). Однажды мне на почту пришло загадочное приглашение из Google Календаря. Его прислали два инженера из США, пригласив на встречу меня и моего тимлида.

Я сразу узнал имена отправителей — это были Роб Пайк и Расс Кокс. И хотя работать мне с ними не доводилось, я был о них наслышан. Расса Кокса я знал по его блогу, который любил читать, а Роба Пайка просто, потому что он известен. В ходе встречи они поделились с нами своим амбициозным планом: переформатировать каждый BUILD-файл Bazel в кодовой базе Google с помощью автоматизированного скрипта.
Читать дальше →
Всего голосов 32: ↑26 и ↓6+34
Комментарии6

FastAPI: веб-разработка на Python

Время на прочтение14 мин
Количество просмотров14K
image Привет, Хаброжители!

FastAPI — относительно новый, но надежный фреймворк с чистым дизайном, использующий преимущества актуальных возможностей Python. Как следует из названия, FastAPI отличается высоким быстродействием и способен конкурировать в этом с аналогичными фреймворками на таких языках, как Golang. Эта практическая книга расскажет разработчикам, знакомым с Python, как FastAPI позволяет достичь большего за меньшее время и с меньшим количеством кода.

Билл Любанович рассказывает о тонкостях разработки с применением FastAPI и предлагает множество рекомендаций по таким темам, как формы, доступ к базам данных, графика, карты и многое другое, что поможет освоить основы и даже пойти дальше. Кроме того, вы познакомитесь с RESTful API, приемами валидации данных, авторизации и повышения производительности. Благодаря сходству с такими фреймворками, как Flask и Django, вы легко начнете работу с FastAPI.
Читать дальше →
Всего голосов 9: ↑9 и ↓0+11
Комментарии3

Мега-Учебник Flask Глава 14: Ajax (издание 2024)

Уровень сложностиСредний
Время на прочтение17 мин
Количество просмотров3.1K

Это четырнадцатая часть серии мега-учебника Flask, в которой я собираюсь добавить функцию перевода на живой язык, используя службу переводов Microsoft и немного JavaScript.

Начать изучение
Всего голосов 8: ↑7 и ↓1+6
Комментарии5

Статический анализ структуры базы данных (часть 1)

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

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

Рассмотрим подробнее статический анализ структуры базы данных — что это, какие задачи решает, как интегрировать статический анализ в CI.

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

Как начать использовать USB Type-C в своих разработках

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

В современных embedded-устройствах используется огромное количество различных разъемов, таких как USB Type-B, miniUSB, microUSB и так далее. Все они отличаются форм-фактором, максимальной пропускной способностью и другими различными характеристиками. Самым верным решением в данной ситуации было бы минимизировать количество используемых разъемов и остановиться на каком-то одном, «едином» для большинства разработок. Наиболее перспективным выглядит использование разъема Type-C. В нем объединены невероятная пропускная способность с высокой мощностью питания. Такие производители, как Apple, Huawei, Sony уже внедряют разъем Type-C в свои разработки, постепенно отказываясь от использования «старых» разъемов. А чем embedded-разработчики хуже?


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

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

Крошечная библиотека TFT для микроконтроллеров ATtiny

Время на прочтение8 мин
Количество просмотров14K
Библиотека TFT на ATtiny85, управляющая цветным дисплеем Adafruit 2.0" 320x240

В статье речь пойдёт о маленькой графической библиотеке, предназначенной специально для микроконтроллеров ATtiny, используемых с различными миниатюрными TFT-дисплеями, которые можно недорого приобрести на сайтах Adafruit, AliExpress или Banggood.
Читать дальше →
Всего голосов 42: ↑40 и ↓2+56
Комментарии3

Батарейное питание для устройств MySensors

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

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



Это опус посвящен моим изысканиям по питанию автономными беспроводными устройствами, входящими в систему умного дома MySensors.


Сперва был литий...


Вернее литий-ионные и литий-полимерные аккумуляторы.


Долгое время эти аккумуляторы от старых гаджетов копились в ящике. Думал — вот оно, универсальное питание для всех малогабаритных микроконтроллеров. Тем более, напряжение 3.3-4.2В отлично подходит как для AVR, так и для всяческих ESP и STM. Для надежности можно поставить LDO стабилизатор нужной мощности и получить стабильные 3.3 для МК и всей периферии.

Читать дальше →
Всего голосов 27: ↑25 и ↓2+23
Комментарии42

Датчики для умного дома

Время на прочтение8 мин
Количество просмотров23K
Сделали мы шкаф управления для дома вот тут , разработали контроллер и тут.

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

Но вся эта система далеко не умный дом, это лишь продолжение ваших рук и ног, и единственная помощь от неё только лишь в том, что не надо вставать с кровати, чтобы выключить свет.
Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Комментарии37

Разработка 2-наносекундного излучателя лидара. Тестовое задание от Яндекс.Беспилотники

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

Это рассказ о том, как потратить 3 недели на тестовое задание от работодателя мечты и провалить второй тур собеседования. Несмотря на то, что работу я не получил, тестовое задание оказалось испытанием, с которым я справился, попутно вынеся для себя несколько важных уроков.

Читать далее
Всего голосов 101: ↑100 и ↓1+120
Комментарии110

JetHome E1: элегантный красавец на ESP32

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


Сегодня мы поговорим об очередном контроллере для DIY рынка на ESP32, это красавец JetHome E1 в элегантном корпусе на DIN-рейку. Кроме стильного корпуса, этот контроллер обладает интересной начинкой (тут и Ethernet интерфейс и 5 встроенных реле и прочие атрибуты подобных контроллеров) и хорошей родословной — его выпускает компания, которая специализируется на производстве Linux контроллеров и мини-компьютеров и имеет большой опыт в этом деле и даже собственную производственную линию в Санкт-Петербурге.

То есть это ещё один контроллер отечественного производства (как и Lavritech V7.1 Lite), причём выпускаемый на промышленном оборудовании с «заводским качеством». Ну и по традиции я приглашаю посмотреть, что и как там устроено внутри и что нам предлагает JetHome E1 для решения наших задач по автоматизации.
Читать дальше →
Всего голосов 21: ↑20 и ↓1+25
Комментарии30
1
23 ...

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность