Рубрика «Программирование» - 974

GSM Modem M95 от QUECTEL — опыт освоения

В начале

В первых строках своего поста хочу честно признаться что ранее опыта работы с GSM-модемами у меня не было, однако волею судьбы и служебной необходимостью набрел на сайт питерской конторы «Сатрон» — официального представителя QUECTEL. На сей ресурс забрел в поисках очередной железки — подходящего мне по параметрам GSM-модема и бютжетного GPS-приемника. Так получилось что информацию о продукции в виде даташитов и прочих полезных файлов можно было получить только после регистрации. Так и сделал.
Читать полностью »

Начав свой путь, мы не останавливаемся и продолжаем изучать темные стороны документации. Где-то они могут быть характерны для всего Qt, а где-то присущи только Graphics View. Но так или иначе встреча с ними не всегда проходит безболезненно.
Читать полностью »

В блоге Qt появился обзор, предстоящих нововведений в Qt Quck в грядущей 5.1. Если вкратце, они добавили функционал виджетов, аналог QMainWindow и дали возможность использовать QML в виджет-проектах, правда в несколько усеченном варианте. Таким образом Qt Quick готов для разработки приложения и на десктопах.
Читать полностью »

Dart logo

Итак, на этой неделе Dart перешел в состояние бета-тестирования. Существенное обновление затронуло как SDK, так и Dart Editor.

Основные изменения:

  • dart2js — увеличение скорости до 20%
  • Dart VM — увеличение скорости до 40%
  • Добавлена команда deploy в пакетный менеджер pub.

Полный список дополнений можно прочитать на официальном сайте.
Читать полностью »

Вышла новая версия Qt Chart, предоставляющая новые чарты (Polar и Boxplot) и некоторые улучшения API. Пакет, как обычно, доступен в Customer portal.

Polar chart позволяет представлять данные в круговом графике. Polar chart поддерживает line, spline, area и scatter series и все поддерживаемые ими типы осей.
Qt Charts 1.3.0 releasedQt Charts 1.3.0 released
Кликабельно
Читать полностью »

Путеводитель по Python. Пишем великолепный код
Доброго времени суток, Хабрахабр. Сегодня на крыле принес еще один перевод я (pdf-ки гугловского стайл гайда выложены). Хотя, кто знает, если кто-то оценит сию работу — быть может появится и продолжение. Как-то днём одним, предложил мне мой широко известный в узких кругах коллега scraplesh почитать ресурс — The Hitchhiker’s Guide to Python! называемый. Ресурс этот понравился мне. Понравились советы выдаваемые там. Понравилась канва повествования и вообще понравилось направление мысли автора. А если что-то хорошо на Ваш вкус, то нужно передавать это из уст в уста:) Итак, решил я сделать перевод данного ресурса. Но не всё так сразу — сначала будет пробная статья «на отклик» хабрасообщества. Если уважаемым гикам понравится сия тематика и изложение — будем стараться выпускать новые части. На первый «отклик» я выбрал раздел — "Writing Great Code" и в нем два подпункта «Structure is Key» и «Modules». Откликнемся под катом.
Читать полностью »

Манчестерской МЭМ — 65 лет

Сегодня исполняется ровно 65 лет с момента запуска 21 июня 1948 года Манчестерской малой экспериментальной машины, Манчестерской МЭМ с ласковым прозвищем Baby («Малютка») — первого в истории компьютера, способного запускать программу из электронной памяти (RAM). Это знаменательный момент в истории, когда впервые была реализована концепция хранения программ и данных в памяти, то есть архитектура фон Неймана, которая легла в основу современной компьютерной техники.

Раньше инструкции для компьютера хранились в физическом виде: на перфокартах или перфолентах. Изменение программы было довольно сложным делом, поскольку приходилось переделывать физический носитель. Появление Baby в корне изменило ситуацию. Некоторые называют 21 июня 1948 года Днём рождения программного обеспечения в его современном виде.
Читать полностью »

Пять лет назад мне довелось проектировать одну программу, обрабатывающую текст с управляющими командами. Количество этапов обработки было весьма существенным — 6-7 обработчиков последовательно могли пропускать через себя довольно большие объёмы данных, как бывает иногда в конвейерах Unix. Чтобы аккуратно выполнить поставленную задачу я разработал общий метод, который может пригодиться и в других местах. Идея, лежащая в основе этой статьи, действительно очень напоминает конвейеры Unix, но имеется несколько существенных отличий:

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

Под линейными данными я буду понимать последовательность объектов, допускающую переход к следующему (если он имеется). Примерами могут служить: бинарный файл, текст из символов UTF-8, последовательность лексем, команд. Сложная программа, обрабатывающая линейные данные, такая как транслятор, обычно выполняет несколько преобразований. Вот пример:

  • чтение файла по байтам,
  • декодирование в UTF-8,
  • препроцессор,
  • лексический анализ,
  • синтаксический анализ.

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

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

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

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

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

Лично мне очень не хватало ресурса, где я могу аккуратненько складывать «частички золота», высеяные из груды того самого, о чем говорилось несколько строк выше. Вы можете сказать: «Ну заведи себе блог». Зачем? Зачем буду складиваровать записочки для себя? Как будто это карта с местонахождением Грааля. Я хочу поделиться тем, что узнал, и хочу также узнавать что-то новое от Вас, от своих коллег и совсем незнакомых мне людей.

Таким образом предлагаю вашему вниманию свой новый проект «А вы значете что?»: doyouknowthat.ru.
Читать полностью »

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


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js