Ответы пользователя по тегу Программирование
  • Программирование Умных вещей. Как реализовать идею?

    Задачу следует разделить на следующие части:
    1. Программирование встраиваемых систем. Для всяких smart watch это могут быть Tizen, watchOS/iOS. Нужно читать документацию по ним.
    2. Программирование предметной области: алгоритмы для отслеживания аномалий (цифровая обработка сигналов), логика оповещения и т.д.


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

    Дополнение
    Как правило, инвесторы хотят видеть демонстрацию технологии на рабочем макете. То есть нужно реализовать свою идею технологически, продумать бизнес план, построить сайт для показа возможностей технологии (видео, диаграммы и т.д.) или воспользоваться сервисами типа Kickstarter и тогда может быть идея кого-то привлечёт.
    Ответ написан
  • Многопользовательская локальная БД?

    Сначала тоже подумал о SQLite, но прочтя про
    Одновременное подключение порядка 5-10 пользователей.

    всё таки подходит MySQL/MariaDB, поскольку для SQLite только один пользователь имеет право на запись в БД в одно время.
    Configuring MySQL to use minimal memory

    А решения с файлами скорее всего будут велосипедами, так как нужно учитывать блокировки.
    На расшаренной папке СУБД нельзя ставить - данные могут быть повреждены/потеряны по причине тех же блокировок и потенциальных проблем с сетями.
    Итого, нужно иметь СУБД на выделенном ПК/сервере, если речь о настольных приложениях.
    Если с ресурсами совсем напряжёнка, то можно установить на один из ПК. Главное, чтобы этот ПК никогда не выключался и стоял с ИБП.
    Ответ написан
  • Как перенести алгоритм вычисления хеша на lua?

    hash += (uint32)(*str);
    берёт uint32 число по текущему указателю *str и аккумулирует его в переменной hash.

    Битовые операторы
    hash << 13
    выполняет сдвиг влево на 13 бит (умножение hash на 2^13)

    hash >> 19
    выполняет сдвиг вправо на 19 бит (деление hash на 2^19)

    (hash << 13) | (hash >> 19)
    Побитовое ИЛИ от результата сдвигов выше

    hash -= (hash << 13) | (hash >> 19);
    обновление с вычитанием из аккумулированного значения hash
    Ответ написан
  • Как можно реализовать машину опорных векторов совместно с нейронными сетями для детектирования малвари?

    Для начала нужно выделить набор признаков. Дальше - вопрос выбора классификатора.
    Ответ написан
    Комментировать
  • По каким признакам найти щёки и подбородок на изображении в инфракрасном диапазоне в среде МАТЛАБ?

    Наверно, относительно овала лица, носа. Нос холоднее и щёки примерно на уровне кончика носа. Подбородок - низ овала.
    Ответ написан
    Комментировать
  • Как сделать приложение для обработки данных и экспортом в XLS/DOC/PDF?

    Эту задачу можно решить и в Delphi, и в PHP и других языках. Просто в случае Delphi программа может работать на Windows/Wine и тогда помимо основной ОС ничего не нужно, а в случае PHP нужно запускать веб-сервер.

    Тогда если выбирать самый простой и, при этом, являющийся масштабируемым вариантом, то проще отталкиваться от Delphi:
    1. язык Delphi прост в освоении
    2. Delphi распространён среди ВУЗов и, как правило, среди разработчиков корпоративного ПО
    3. В Delphi быстро и легко создаются программы c графическим интерфейсом
    4. Для Delphi есть бесплатный аналог Lazarus для запуска на других платформах помимо Windows/x86


    Что необходимо для Delphi/Lazarus:
    1. иметь лицензию для разработки в Delphi или использовать Lazarus
    2. иметь компоненты для создания XLS/ODS, PDF.
    3. разработать ПО предметной области в виде подключаемой библиотеки .DLL (.so для Unix). Эту библиотеку можно использовать впоследствии при помощи сторонних средств и языков программирования, включая тот же PHP.
    4. скорее всего, данные нужно будет хранить в базе данных. Тогда нужно освоить основы языка SQL (это просто). Из самых простых вариантов СУБД - использование (как правило, бесплатное) SQLite, которая широко распространена на ОС мобильных устройств.
    5. написать техническую документацию для последующей поддержки написанного ПО другими лицами
    6. выбрать тип свободной лицензии
    Проектирование ПО

    Предполагая написание ПО в Delphi/Lazarus, предложу написание подключаемой библиотеки таким образом, чтобы работа в ней происходила исключительно с данными, не затрагивая каких-либо особенностей языка и, уж тем более, графической основы Delphi - VCL. Это позволит оперировать с этой библиотекой на уровне обработки данных, а всю графическую часть и взаимодействие с пользователем - выполнять в основной части программы.

    Схематично это можно отобразить так:
    Пользователь <-> графический интерфейс программы на Delphi  <-> библиотека DLL (расчёты)
                                        ^
                                        |
                                        v
                                   СУБД/файлы

    Библиотека должна получать на входе набор данных в виде массива/составных структур данных (записей). Также и на выходе.
    Оформление расчётов в библиотеке позволит программе быть более жизнеспособной и гибкой.
    Ответ написан
  • Как работать с большими файлами в PHP?

    Считывать и записывать информацию из/в файла при блоками фиксированного размера N байт (в буфер).

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

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

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

    Заметим, что "символ" может быть как размером 1 байт, так и больше. Советую обратить внимание на то как кодируется символ в UTF-8 и прочих.
    Самый простой случай это когда "символ" кодируется лишь одним байтом. С исходного файла считывается 1 байт, в ту же позицию заменяется на байт другого значения. Всё.
    Если, скажем, символ кириллицы, то тогда нужно загрузить в память первый "блок" размером 1 "символ". То есть меняется лишь длина последовательности байтов, а суть та же.

    Работа с файлами похожа среди разных языков.
    Ответ написан
  • Возможно ли использовать язык D для программирования микроконтроллеров и манипуляторов?

    У языка D рантайм жирноват. Кроме того, затруднительно использовать для платформ < 32 бита.
    Ответ написан
    Комментировать
  • Что делает техник-программист?

    Наверно, это синоним слову "компьютерщик".
    Думаю, это такая профессия, когда человек выполняет любой вид работ, связанный с работой вычислительной техники и сетей: поиск и ремонт неиправностей в железе и сетях, "кодит" программы и т.д.
    То есть мастер на все руки и отвечает за всё.
    Ответ написан
    Комментировать
  • Есть курс по английскому языку для программиста?

    Лучший курс в данном случае - читать новости по ИТ тематике на английском. Постепенно словарный запас пополнится так, что будешь свободно владеть техническим уровнем и даже выше.
    Ответ написан
    Комментировать
  • Самый быстрый веб-сервер php для windows?

    Думаю, связка nginx + PHP-FPM будет быстрой.
    nginx - для отдачи статики
    PHP-FPM - для отдачи контента веб-приложения.
    allthelittlebits.com/nginx-php5-fpm-mysql-setup-windows
    Ответ написан
    3 комментария
  • Ребенок-Кодер или программист?

    Дети лучше всего воспринимают мир в игровой форме.
    В детстве очень любил возиться с конструкторами.
    Сначала был такой
    1424717605_konstruktor_nomer_odin.jpg
    Затем типа такого
    merkur_m8.jpg
    Сегодня такие нет в продаже непросто найти, наверно.
    Восемь альтернатив конструкторам LEGO

    А книги должны быть в виде примеров, которые побуждают ребёнка к действию, чтобы не ограничивал своё творчество.
    Насчёт алгоритмов и мудрости - хорошо пишет Паронджанов В. Д. Для обзора можно скачать его отсканированную книгу "Почему мудрец похож на обезьяну, или Парадоксальная энциклопедия современной мудрости." (Дано научно-популярное описание языка ДРАКОН. — С. 297 – 434) отсюда.
    Краткое описание языка ДРАКОН дано здесь.
    ris89.png?w=900&tok=7198de
    Я считаю, что этот визуальный язык вполне может поставить правильное мышление не только у ребёнка, но и у взрослого.

    Компы никуда не убегут от ребёнка, так как это реальность сегодня. А вот заранее приучать к программированию я бы не советовал. Может, он сможет стать талантливым инженером или экономистом, юристом и т.д.?
    Ответ написан
    2 комментария
  • Как записать одну строку в пять переменных в С?

    Ответ написан
    Комментировать
  • Компилятор ругается на функцию.Что делать?

    Когда имеются две сложных структуры, нужно задавать параметры в процедуре, а не функции. Потому что функции используются для возврата простых типов.
    Правильно так:
    procedure Some(a: mass; var b: mass)
    begin
    end;

    Параметр a - входной массив. b - формируемый для выхода.
    Ответ написан
    Комментировать
  • Как писать один проект на разных компьютерах?

    Термин Система управления версиями
    (от англ. Version Control System, VCS или Revision Control System)


    Добвлено
    Если расширить ответ, то каждый разработчик отвечает за какую-то определённую функциональность, их деятельность обычно не пересекается. А есть лица (обычно не больше чем один человек, как Линус Торвальдс), которые объединяют всю функциональность воедино (слияние ветвей разработки). При этом все изменения, конечно, производятся посредством сети интернета.
    Ответ написан
    Комментировать
  • Как сделать интерфейс к консольной программе?

    Задача состоит в запуске Фортран-программы, анализе файла и выводе графиков.
    В таком случае выбор широк.
    Для построения интерфейса можно взять любые widget toolkits, такие как решения для Java, библиотека Clutter, Glade(XML) / Gtk+, IUP, Tk, и даже сделать своё решение на основе браузера с HTML+JS.
    Для построения графиков: Gnuplot, GtkGraph, GtkPlot + другие
    Ответ написан
    Комментировать
  • Сложен ли язык программирования "C"?

    1. Это будет трудно, но возможно. Придётся переключиться на уровень ближе к железу, забыть о верификации типов и прочих плюсах языков Delphi, C#. Особенно трудно будет если окромя готовых компонентов сами не создавали. В Си будет всё ручками. Готовьтесь воевать с утечками памяти и переполнением буфера.
    2. Язык Си - невизуальный. Но есть немало GUI toolkits.
    Ответ написан
    Комментировать
  • На какой факультет идти?

    Идите в факультет бизнеса и менеджмента.
    Ответ написан
    Комментировать