Обновить
304.61

Linux *

Пишем под *nix

Сначала показывать
Порог рейтинга
Уровень сложности

Установка и настройка RTKRCV (RTKLIB) на Windows 10 с использованием WSL

Время на прочтение4 мин
Охват и читатели7.8K
Здравствуйте, в данной статье разбирается процесс установки и запуска приложения RTKRCV из открытой библиотеки RTKLIB, разрабатываемой командой Томоджи Такасу (Япония).

RTKLIB — это программный пакет с открытым исходным кодом для стандартного и точного позиционирования с использование ГНСС-технологий (глобальной навигационной спутниковой системой).

Для кого эта статья?


Данный материал имеет практическую значимость для всех тех, кто хочет интегрировать точное позиционирование в свои устройства, а также может служить справкой по оптимизации работы с программными продуктами, предоставляемыми библиотекой RTKLIB. Информация в данном материале призвана оптимизировать взаимодействие специалиста с CUI на системе Windows 10.
Читать дальше →

Полезного пост: Kogito ergo sum; Дельта, Каппа, Lambda; Operator SDK

Время на прочтение2 мин
Охват и читатели1.6K
Живые суровые разработчики Red Hat в живых стримах DevNation. Живой код, живые ответы на вопросы и живые единомышленники.



Ниже просто полезные ссылки на живые мероприятия, видео, митапы и техтолки.
Читать дальше →

Transparent coroutines

Время на прочтение20 мин
Охват и читатели3.8K

Когда мне становится грустно, я пишу никому не нужные библиотеки…
Ссылка на исходный код:



В интернете полно статей про сопрограммы (coroutines) и хабр эта тема не обошла стороной. Вот например, замечательные статьи: Использование Boost.Asio с Coroutines TS, Основы Userver — фреймворка для написания асинхронных микросервисов, но все это становится бесполезно, когда в сопрограмме вам необходимо вызвать функцию из библиотеки, которая делает блокирующий ввод/вывод.


Встречайте еще одну никому ненужную библиотеку: yurco — библиотека, которая поможет встроить сопрограммы прозрачно для стороннего кода. Данная статья написана с расчетом на то, что читатель знает, что такое сопрограммы (coroutine) и хотя бы примерно представляет как они реализованы.

Читать дальше →

Настройка прокси для WSL (Ubuntu)

Время на прочтение2 мин
Охват и читатели19K

В данной статье будут рассмотрены настройки для корректной работы в WSL из-под прокси для:


  • apt-get
  • curl
  • wget
  • git
  • npm
Читать дальше →

Полезного пост: Поставь OpenShift, выучи Kafka, используй Ansible в Google Cloud Platform

Время на прочтение2 мин
Охват и читатели5K
Продолжаем втягивать вас во внутреннюю кухню разработки Red Hat и заманивать на DevNation.



У нас есть разработчики – и это хорошие разработчики, увлеченные своим делом. А еще они проводят live streaming, и все вместе это называется DevNation. Ниже просто полезные ссылки на живые мероприятия, видео, митапы и техтолки.
Читать дальше: Поставь OpenShift, выучи Kafka, используй Ansible в Google Cloud Platform

Avalonia Tutorial: Реализация MVVM по шагам с примерами

Время на прочтение13 мин
Охват и читатели75K

Avalonia — это?


Avalonia – это кроссплатформенный XAML фреймворк для платформы .NET. Для многих разработчиков на WPF/UWP/Xamarin данный фреймворк будет интуитивно понятен и прост в освоении. Avalonia поддерживает Windows, Linux, macOS, также заявлена экспериментальная поддержка Android и iOS. Развивается проект при поддержке сообщества и является open-source.

Читать дальше →

Изоляция сред разработки с помощью контейнеров LXD

Время на прочтение4 мин
Охват и читатели7K

Я расскажу о подходе к организации локальных изолированных сред разработки на своей рабочей станции. Подход был выработан под воздействием следующих факторов:


  • для разных языков нужны разные IDE и тулчейны;
  • в разных проектах могут использоваться разные версии тулчейнов и библиотек.

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


Конфигурация на примере Ubuntu 20.04.


Размышления о вариантах и причинах приведены в конце статьи.

Читать дальше →

Полезного пост: Все самые актуальные курсы, трансляции и техтоки

Время на прочтение3 мин
Охват и читатели3.5K
Окей, мы инновационная ИТ-компания, а значит у нас есть разработчики – и это хорошие разработчики, увлеченные своим делом. А еще они проводят live streaming, и все вместе это называется DevNation.



Ниже просто полезные ссылки на живые мероприятия, видео, митапы и техтолки.
Все самые актуальные курсы, трансляции и техтоки

Код в одну строку или проверка Nethermind с помощью PVS-Studio C# для Linux

Время на прочтение14 мин
Охват и читатели2.6K

Рисунок 1

Данная статья приурочена к старту бета-теста PVS-Studio C# для Linux, а также плагина для Rider. По такому прекрасному поводу с помощью данных инструментов была проведена проверка исходного кода продукта Nethermind и в данной статье мы посмотрим на интересные, а иногда и забавные ошибки.
Читать дальше →

Облачно-ориентированный обмен сообщениями на платформе Red Hat OpenShift с использованием Quarkus и AMQ Online

Время на прочтение7 мин
Охват и читатели1.7K
Всем привет! Вот и он – наш заключительный пост из серии про Quarkus! (Кстати, смотрите наш вебинар «Это Quarkus – Kubernetes native Java фреймворк». Покажем, как начать «с нуля» или перенести готовые решения)



В предыдущем посте мы рассмотрели соответствующие инструменты, с помощью которых можно количественно оценить улучшения, полученные в результате модернизации Java-приложений.
Читать дальше: Облачно-ориентированный обмен сообщениями...

Как Linux'овский sort сортирует строки

Время на прочтение19 мин
Охват и читатели27K

Введение


Всё началось с короткого скрипта, который должен был объединить информацию об адресах e-mail сотрудников, полученных из списка пользователей почтовой рассылки, с должностями сотрудников, полученными из базы отдела кадров. Оба списка были экспортированы в текстовые файлы в кодировке Юникод UTF-8 и сохранены с юниксовскими концами строк.


Содержимое mail.txt


Иванов Андрей;ia@example.com

Содержимое buhg.txt


Иванова Алла;маляр
Ёлкина Элла;крановщица
Иванов Андрей;слесарь
Абаканов Михаил;маляр

Для объединения файлы были отсортированы юниксовской командой sort и поданы на вход юниксовской программе join, которая неожиданно завершилась с ошибкой:


$> sort buhg.txt > buhg.srt
$> sort mail.txt > mail.srt
$> join buhg.srt mail.srt > result
join: buhg.srt:4: is not sorted: Иванов Андрей;слесарь

Просмотр результата сортировки глазами показал, что в целом сортировка правильная, но в случае совпадений мужских и женских фамилий, женские идут перед мужскими:


$> sort buhg.txt
Абаканов Михаил;маляр
Ёлкина Элла;крановщица
Иванова Алла;маляр
Иванов Андрей;слесарь

Выглядит как глюк сортировки в Юникоде или как проявление феминизма в алгоритме сортировки. Первое, конечно, правдоподобнее.

Читать дальше →

STM32MP1: U-Boot, Buildroot, Arch Linux и немного Debian

Время на прочтение17 мин
Охват и читатели28K
Привет, Хабр!

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


Читать дальше →

Кроссплатформенный многопоточный TCP/IP сервер на C++

Время на прочтение16 мин
Охват и читатели119K

Решил задаться целью написать простой в использовании и при этом быстрый многопоточного TCP/IP сервера на C++ и при этом кроссплатформенный — как минимум чтобы работал на платформах Windows и Linux без требования как-либо изменять код за пределами самописной библиотеки. Ранее, на чистом C++ без библиотек вроде Qt, сетевым программировнием не занимался, и предвещал себе долгое время мучений с платформо-зависимостью. Но как оказалось всё гораздо проще чем казалось на первый взгляд, ведь в основном интерфейсы сокетов обоих систем похожи как две капли воды и различаются лишь в мелких деталях.

Читать дальше →

Ближайшие события

9 главных анонсов конференции Microsoft Build 2020

Время на прочтение5 мин
Охват и читатели6.3K
Наша двухдневная конференция Microsoft Build 2020, трансляцию основного трека которой мы провели на Хабре, подошла к концу. В этой статье мы расскажем о самых масштабных и интересных анонсах прошедшего мероприятия. Заглядывайте под кат!

А какая новинка понравилась больше всего вам? Делитесь в комментариях.

Читать дальше →

Прокачиваем беговую дорожку

Время на прочтение11 мин
Охват и читатели30K
Недавно я решился на очень странную для себя покупку. Да, я купил себе беговую дорожку.



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

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

Инфраструктура Открытых Ключей. Выпуск сертификатов в условиях самоизоляции

Время на прочтение4 мин
Охват и читатели6.7K

Как все начиналось


В самом начале периода самоизоляции мне на почту пришло письмо:



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


Читать дальше →

Полезного пост: 4 мероприятия по решению задач второго дня в OpenShift и созданию операторов

Время на прочтение2 мин
Охват и читатели852
Окей, мы инновационная ИТ компания, а значит у нас есть разработчики – и это хорошие разработчики, увлеченные своим делом. А еще они проводят live streaming, и все вместе это называется DevNation.



Ниже просто полезные ссылки на живые мероприятия, видео, митапы и техтолки. Они всячески полезны и помогут скоротать время в ожидании нашего следующего поста из серии про Quarkus.
4 мероприятия по решению задач второго дня в OpenShift и созданию операторов

Quarkus: модернизация приложений на примере helloworld из JBoss EAP Quickstart (продолжение)

Время на прочтение4 мин
Охват и читатели1.1K
Всем привет – с вами пятый пост из нашей серии про Quarkus! (Кстати, смотрите наш вебинар «Это Quarkus – Kubernetes native Java фреймворк». Покажем, как начать «с нуля» или перенести готовые решения)



В предыдущем посте мы рассмотрели модернизацию Java-приложений с помощью поддерживаемых Quarkus технологий (CDI и Servlet 3) на примере программы helloworld из репозитория Red Hat JBoss Enterprise Application Platform (JBoss EAP) Quickstart. Сегодня мы продолжим тему модернизации и обсудим вопрос потребления памяти.
Читать дальше: Модернизация приложений на примере helloworld из JBoss EAP Quickstart

Строим pipeline для доставки Graal Native Image конечным пользователям

Время на прочтение7 мин
Охват и читатели1.3K

В данной статье я хочу описать свой опыт по доставке Graal Native Image конечным пользователям Mac OS и Linux в одну команду при помощи Travis CI.


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


Пожалуй начнем.


У меня есть:


  • Java приложение со всеми конфигурациями для сборки native image.

Что хочу получить:


  • Собрать native image при помощи Travis
  • Собрать rpm и deb дистрибутивы, а также архив для mac версии
  • Залить полученные пакеты на Bintray
  • Дать пользователям возможность загрузить приложение через пакетный менеджер
  • Максимально автоматизировать процесс.
Поехали

Изучаем VoIP-движок Mediastreamer2. Часть 12

Время на прочтение6 мин
Охват и читатели860

Материал статьи взят с моего дзен-канала.



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


Отладка крафтовых фильтров


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

Читать дальше →