15 июл. 2017 г.

Пора что-то менять

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

Почему? Многие приложения что писал на C# вполне работают и работают хорошо, НО память что они занимают меня не устраивает. Поэтому эффективней всего будет взять тот язык где память управляемая. И уже есть успехи, действительно программы написанные на С++ занимают меньше памяти, по скорости работы почти так же правда.

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

Первоё что меня забеспокоило "А что там с GUI" ? И довольно много и одни "велосипеднее" других. Хотя самый популярный и кросс-платформенный есть - Qt. Пробовал, странный конструктор хотя и удобный, понятный. Но тянет много dll и становится нагруженным. Мне же пока приглянулся wxWidgets. Простой, ручной, не нагруженный, хотя и ограниченный.

Свой прогресс постараюсь здесь освящать, хоть и сам забываю что у меня есть блог. Итак я почти прочитал книгу Р. Лафоре - "Объектно-ориентированное программирование в С++". Для начального обучения самое то, и объясняется довольно доступно. Что дальше изучать - не знаю.

По поводу удобств и ограничений языка, конечно без библиотек С++ это не торт. Поэтому всё же следует хотя бы узнать и пощупать библиотеки что использует GOG Galaxy:
  • Boost C++ Libraries
  • Chromium Embedded Framework
  • libcurl
  • JsonCpp
  • ZLIB DATA COMPRESSION LIBRARY
  • POCO C++ Libraries
  • SIL OPEN FONT LICENSE
Интереснее всего из этого для меня  Boost C++  и  libcurl .
Пока на этом всё!
  , , ,

2 мая 2017 г.

Новый велосипед с UDP



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

Block

Данные файла будут трансформированы в блоки.  Они содержат два поля, 32-битное целое число без знака, то есть его ID-номер и массив байтов, который содержит данные.  Обычно данные в блоке сжимаются.


  , ,

Прототип пульта

Мне захотелось сделать радио-пульт который и приёмник для него который обрабатывает сигналы соответственно.
Использовал микроконтроллеры Arduino, и радиомодуль на 2,4 Ghz (Да на этой частоте работает большинство электроники, и у меня был модуль на 433 Mhz но я не допёр как с ним работать).
Пульт посылает сигнал на приёмник, приёмник обрабатывает сигнал и посылает данные компьютеру, на компьютере еще одна самописная программа обрабатывает эти данные и делает что ей сказано.

Сделал пока вот что. 4 кнопки и задачи у них вот такие:
— Громкость выше
— Громкость ниже
— Пауза
— Следующий трек

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

  , , ,

27 мар. 2017 г.

После перерыва

Давненько я ничего не писал. Что успело случиться? Я наконец закончил получать высшее образование, вот теперь и я с дипломом. Я осознал что иногда лучше сделать проще, не следует всё усложнять, доводить до максимум или пытаться сделать идеально. В итоге-то все равно не получиться.
Теперь я еще и купил новую видео карту NVidia GeForce 1050 Ti, теперь-то монтаж не будет занимать так много времени всё в разы быстрее и лучше пойдёт. Успел поболеть и в приступе бреда и температуры даже успел родиться один ролик. Ну а пока всё по старому. Буду думать как жить дальше и возможно что-то менять.


  ,