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

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

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

Настоящее суммирование интернет-каналов — OpenMPTCPRouter

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


Можно ли объединить несколько интернет-каналов в один? Вокруг этой темы куча заблуждений и мифов, даже сетевые инженеры с опытом часто не знают о том, что это возможно. В большинстве случаев, объединением каналов ошибочно называют балансировку на уровне NAT или failover. Но настоящее суммирование позволяет пустить одно единственное TCP-подключение одновременно по всем интернет-каналам, например видеотрансляцию так, чтобы при обрыве любого из интернет-каналов вещание не прерывалось.

Существуют дорогие коммерческие решения для видеотрансляций, но такие устройства стоят много килобаксов. В статье описывается настройка бесплатного, открытого пакета OpenMPTCPRouter, разбираются популярные мифы о суммировании каналов.
Читать дальше →
Всего голосов 29: ↑29 и ↓0+29
Комментарии24

Моя реализация кольцевого буфера в NOR flash

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

Предыстория


Есть торговые автоматы собственной разработки. Внутри Raspberry Pi и немного обвязки на отдельной плате. Подключены монетоприёмник, купюроприёмник, банковский терминал… Управляет всем самописная программа. Вся история работы пишется в журнал на флешке (MicroSD), который потом передаётся через интернет (с помощью USB-модема) на сервер, там складывается в БД. Информация о продажах загружается в 1с, также есть простенький веб-интерфейс для мониторинга и т.п.


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


Проблема


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


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

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

MicroPyServer простой HTTP сервер для ESP8266 и ESP32

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

Промо


Всем привет!


Хочу рассказать о библиотеке MicroPyServer написанной на Python, которая позволяет взаимодействовать с устройствами ESP8266 и ESP32 посредством простого HTTP сервера.


Что такое MicroPyServer?


MicroPyServer это простой HTTP сервер предназначенный для проектов написанных на Micropython.


Основная концепция работы с библиотекой — это перехватывание запросов к устройству при помощи создания роутов (route) и функций обработчиков (handler).

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

Процесс компиляции программ на C++

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

Цель данной статьи:


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

Читать дальше →
Всего голосов 35: ↑26 и ↓9+26
Комментарии29

Счётчик DWT

Время на прочтение2 мин
Количество просмотров14K
Маленькая заметка об очень полезной вещице входящей в состав модуля DWT (Data Watchpoint and Trace unit) имеющегося у stm32.
Читать дальше →
Всего голосов 15: ↑14 и ↓1+13
Комментарии21

Крутые лайфхаки для работы с WSL (Подсистема Windows для Linux )

Время на прочтение3 мин
Количество просмотров41K
Я глубоко погружен в WSL (Windows Subsystem для Linux), и теперь, когда WSL2 доступен в Windows Insiders, это отличное время, чтобы по-настоящему изучить доступные опции. Очень интересная фича, которую я нашел в WSL, — возможность «чисто» перемещать данные между мирами. Это не тот опыт, который вы легко можете получить с полноценными виртуальными машинами, и он говорит о тесной интеграции Linux и Windows.

Под катом подробнее о некоторых интересных вещах, которые вы можете делать, смешивая арахисовое масло и шоколад!

Читать дальше →
Всего голосов 40: ↑29 и ↓11+18
Комментарии30

Зарубежные заказчики и легализация доходов программиста в РФ. Что надо делать и сколько это всё будет стоить?

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

image


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


Сразу пишу к чему пришёл в ходе изысканий:


  1. ИП на ПСН
  2. поступление оплаты за услуги по разработке ПО на счёт ИП в долларах США
  3. основание для оплаты инвойс, сумма которого не превышает 200 000 руб.
  4. инвойсы выставляются по-мере необходимости
  5. ККТ не используется

То есть, спокойно работаю, в конце оговоренного периода формирую инвойс, в котором указываю согласованную с работодателем сумму не превышающую указанный порог, получаю деньги прямо на расчётный счёт, оплачиваю раз в год или в течение года патент и взносы в размере 54 000 рублей и больше не переживаю о том, что завтра злобные налоговики придут ко мне с повесткой и ужасными новостями (это была минутка юмора). В следующем году эта сумма подрастёт до 60 000 рублей за год.


Почему так? Какие могут быть ещё варианты? Чем плохи для меня Upwork, PayPal и Payoneer? Попробую ответить под катом. Кому интересны все эти детали, читаем дальше :-)

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

Установка и сборка образа Angstrom Linux для платы TechNexion Thunder

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

Набор разработчика от TechNexion Thunderpack


Thunder
Здравствуй уважаемый читатель. Недавно мне довелось поработать с набором для разработчика, тайваньской компании «TechNexion Ltd», под названием Thunderpack включающем в себя SOM (System on module) TAO-3530 и плату Thunder.
SOM основан на SoC (System-on-a-Chip) TI OMAP3530 фирмы Texas Instruments и содержит 256 Мб DDR RAM, 512 Мб NAND Flash, DSP ядро TMS320C64+, а так же может содержать модуль Wireless LAN для поддержки WiFi.
В данном посте я хочу рассказать, про свой опыт работы с данной платой.
И так, начнём.
TAO-3530
Читать дальше →
Всего голосов 5: ↑5 и ↓0+5
Комментарии5

Альтернативы Raspberry Pi

Время на прочтение11 мин
Количество просмотров132K
29 февраля 2012 наш мир немного изменился к лучшему. Raspberry Pi Foundation анонсировал начало продаж маленьких одноплатных компьютеров под маркой Raspberry Pi. В начале продаж купить устройство было непросто, но понемногу рынок насытился и с июля 2012 вы наконец могли просто пойти в магазин и купить или заказать через интернет первую «Малинку», Raspberry Pi Model B — одноплатный Linux-компьютер с 700 МГц процессором, 0.5 Гбайт ОЗУ, USB, Ethernet и 26 выводами GPIO, позволяющими подключать внешние платы, устройства ввода-вывода и исполнительные устройства. Устройство, построенное на базе относительно недорогой четырехслойной платы, с низкой себестоимостью, с ценой для конечного потребителя $35, сделанное настолько хорошо, что альфа-версия Raspberry Pi Model B стала победителем номинации «Hardware Design» на ARM TechCon 2011.


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

7 бесплатных курсов для разработчиков от Microsoft

Время на прочтение5 мин
Количество просмотров82K
Привет, Хабр! Сегодня мы начинаем серию статей, в которую войдет 5 подборок бесплатных обучающих курсов от компании Microsoft. В этой статье у нас самые крутые курсы для разработчиков, которые сильнее всего нравятся программистам.

Кстати!

  • Все курсы бесплатные (вы даже сможете попробовать платные продукты бесплатно);
  • 6/7 на русском языке;
  • Начать обучение можно мгновенно;
  • По окончании вы получите бейдж об успешном прохождении обучения.

Присоединяйтесь, подробности под катом!

Новая серия статей


Следующая серия статей, начало 2020 года


Эта серия статей, 2019 год


Читать дальше →
Всего голосов 35: ↑31 и ↓4+27
Комментарии18

Введение в Git

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

Оглавление


Предисловие
1. Настройка git
....1.1 Конфигурационные файлы
....1.2 Настройки по умолчанию
....1.3 Псевдонимы (aliases)
2. Основы git
....2.1 Создание репозитория
....2.2 Состояние файлов
....2.3 Работа с индексом
....2.4 Работа с коммитами
....2.5 Просмотр истории
....2.6 Работа с удалённым репозиторием
3. Ветвление в git
....3.1 Базовые операций
....3.2 Слияние веток
....3.3 Rerere
4. Указатели в git
....4.1 Перемещение указателей
5. Рекомендуемая литература

Предисловие


Git — самая популярная распределённая система контроля версиями.[1][2]

Основное предназначение Git – это сохранение снимков последовательно улучшающихся состояний вашего проекта (Pro git, 2019).
Читать дальше →
Всего голосов 40: ↑34 и ↓6+28
Комментарии27

Excel «Всемогущий» и Redmine: как генерировать задачи прямо в Excel

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

В далёких от IT проектных организациях Excel часто используется в качестве инструмента обработки бог весть каких данных.

Передо мной встала задача в очень сжатые сроки наладить в Excel мониторинг весьма специфичного проекта с попутной выдачей заданий в проектные отделы. Касательно мониторинга ТЗ было более-менее определено и весь функционал был реализован средствами VBA самого Excel.

С выдачей заданий всё было не так однозначно. Поскрипев креслом, я решил попробовать отправлять задачи в Redmine прямо из Excel, получая обратно гиперссылку и номер задачи.

Статья написана инженером-проектировщиком для таких же новичков в программировании, автоматизирующих подручными средствами рутинную работу. Буду рад любым замечаниям!
Читать дальше →
Всего голосов 26: ↑25 и ↓1+24
Комментарии14

Инфраструктура для экспериментов разработчиков

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

У себя в компании я часто сталкиваюсь, что нужно поднять какой-то сервис, чтобы "общупать" его досконально. Хотя PCшники у нас довольно мощные, но большую часть ресурсов съедают PyCharm и Chrome, а на виртуалки с экспериментами очень часто остаётся совсем мало.


Поэтому мы завели у себя небольшую стойку с парой-тройкой серверов для экспериментов и локального Gitlab'а. Но что-то пошло не так и очень захотелось поиграться с чем-то новым.

Немного лирики и тех.подробностей
Всего голосов 6: ↑6 и ↓0+6
Комментарии5

Оптический удлинитель HDMI. 300 метров

Время на прочтение5 мин
Количество просмотров39K
Доброго времени суток, Хабр!



Разработка волоконно-оптического удлинителя HDMI на 300 метров. Отказ от обратного канала (передача данных по одному волоконно-оптическому кабелю). Клонирование EDID с монитора.
Читать дальше →
Всего голосов 103: ↑103 и ↓0+103
Комментарии104

Удаленный SSH: советы и лайфхаки

Время на прочтение4 мин
Количество просмотров29K
В предыдущем посте о Remote SSH мы рассмотрели, как настроить виртуальную машину Linux и подключиться к виртуальной машине с помощью расширения Remote — SSH в Visual Studio Code. В этом посте мы расскажем о некоторых советах и приемах, которые вы можете использовать, чтобы максимально эффективно пользоваться удаленной настройкой.

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

Шорты Белокаменцева

Время на прочтение7 мин
Количество просмотров6.8K
Недавно, совершенно случайно, с подачи одного хорошего человека, родилась идея — к каждой статье прикладывать краткое содержание. Не аннотацию, не завлекаловку, а именно краткое содержание. Такое, чтобы можно было статью не читать вообще.

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

Вашему вниманию предлагаю несколько таких шортов, по нескольким публикациям. Вдруг что-то полезное для себя найдете.
Читать дальше →
Всего голосов 40: ↑31 и ↓9+22
Комментарии18

Интерактивное веб-приложение без программирования? Легко! Mavo вам в руки

Время на прочтение27 мин
Количество просмотров31K
Вы владеете HTML и CSS и умеете создавать простые (и не очень) статические веб-страницы, а хотели бы вдохнуть в них больше «жизни» и интерактивности? У вас есть работы (картины, фотографии, стихи, коллекция марок и т. п.), которыми вам хотелось бы поделиться с миром, но создание сайта-портфолио или блога, куда можно их разместить и без лишних усилий обновлять, вам не под силу? Или мечтаете вести дневник путешественника, или собирать необычные кулинарные рецепты, или отслеживать свою фитнес-активность и делать всё это онлайн на собственном сайте? Возможно, у вас есть любимый питомец, уход за которым требует особых процедур, и их обязательно нужно отслеживать и оперативно фиксировать? 

Но от упоминания JavaScript вас бросает в лёгкую (а иногда и не очень) дрожь, а количество технологий и концепций, которыми нужно овладеть, чтобы реализовать ваши задумки, приводит вас в замешательство и отчаяние? В итоге вы задаётесь вопросами: «Почему веб-программирование должно быть таким трудным? Неужели нельзя что-то придумать, чтобы сделать его проще?». 

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

Автор оригинальных картинок: Mart Virkus (toggl.com)

Маститые и умудрённые опытом фронтенд-разработчики, не спешите закрывать статью с криками, что сейчас тут будут что-то «втирать» новичкам и вам здесь делать нечего. Я уверен, вы тоже сможете почерпнуть для себя что-то полезное. Главное, помните: если что-то станет простым для новичков, это автоматически станет простым для всех! А значит, в какой-то мере упростит жизнь и вам. Это неплохо, согласитесь?
Читать дальше →
Всего голосов 82: ↑70 и ↓12+58
Комментарии79

5 способов сделать Python-сервер на Raspberry Pi. Часть 2

Время на прочтение9 мин
Количество просмотров25K
Привет, Хабр.

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



Статья рассчитана для начинающих.
Читать дальше →
Всего голосов 32: ↑30 и ↓2+28
Комментарии36

Как не промахнуться с бюджетом на серийное производство корпусов-2: цены на мелкосерийное литьё пластика

Время на прочтение3 мин
Количество просмотров27K
В этой статье на Хабре мы привели 20 примеров цен на изготовление партий корпусов. Добавляем ещё несколько реальных случаев: это цены на мелкосерийное производство литьём пластика, от 25 до 50 штук. Возможно, теперь вы более лучше (с) представите, сколько «это» будет стоить.



Все приборы (дизайн и конструкция) разрабатывались у нас в Формлабе, организацией производства занимались тоже мы. Поехали.
Читать дальше →
Всего голосов 55: ↑54 и ↓1+53
Комментарии125

Локальный запуск юнит-тестов в STM32CubeIDE под Windows

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

Введение


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


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


Существует три способа запуска юнит-тестов для встраиваемых платформ:

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

Информация

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