• Регистрация программного обеспечения в US Copyright Office. Что должен содержать лист "copyright notice"?

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

    Судя по снимку экрана изменений вообще нет (Область "Unstaged Changes" пустая, область "Staged Changes" пустая). Если изменения всё-таки есть, то можно проверить, добавлены ли файлы в .gitignore. Отредактируйте этот файл при необходимости и проверьте, есть ли отображаемые изменения.
    Если файла .gitignore нет, либо он пустой, либо там не включены файлы, которые вы изменили, то откройте всё-таки командную строку и проверьте в своём клоне:
    $ git status
    ^-- отобразит изменения файлов и файлы, которые отслеживаются/не отслеживаются.
    $ git add filename
    ^-- добавит файл для контроля изменений
    $ git status
    ^-- покажет, что файл добавлен
    $ git commit -m "message text"
    ^-- зафиксирует изменения

    Далее приведу пример, как это может случиться при использовании .gitignore
    boris@BorisDergachov-PC:~/Projects/temp$ ls -a
    .  ..
    boris@BorisDergachov-PC:~/Projects/temp$ git init
    Initialized empty Git repository in /home/boris/Projects/temp/.git/
    boris@BorisDergachov-PC:~/Projects/temp$ touch filename
    boris@BorisDergachov-PC:~/Projects/temp$ git status
    On branch master
    
    No commits yet
    
    Untracked files:
      (use "git add <file>..." to include in what will be committed)
    
    	filename
    
    nothing added to commit but untracked files present (use "git add" to track)
    boris@BorisDergachov-PC:~/Projects/temp$ echo filename > .gitignore
    boris@BorisDergachov-PC:~/Projects/temp$ git status
    On branch master
    
    No commits yet
    
    Untracked files:
      (use "git add <file>..." to include in what will be committed)
    
    	.gitignore
    
    nothing added to commit but untracked files present (use "git add" to track)
    boris@BorisDergachov-PC:~/Projects/temp$


    Из последнего листинга видно, что если добавлен файл в .gitignore, то он не будет отображён при отслеживании изменений.
    Ответ написан
  • Как установить права доступа в правилах CMake?

    froex
    @froex Автор вопроса
    Сам отвечу на свой старый вопрос:
    install(PROGRAMS script.sh DESTINATION ${DIST_PATH} RENAME script)
    Ответ написан
    Комментировать
  • В чем проблема с wininet.h?

    Покажите строку, которой компилируется исходник. Компоновщик должен скушать Wininet библиотеку параметром -lwininet
    Ответ написан
    Комментировать
  • Может ли Win10 работать с USB?

    Из простых вариантов: unetbootin
    Ответ написан
    Комментировать
  • В чем разница Тех. задания от Тех. спецификации?

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

    В России не очень хорошее положение дел касательно точности определений, поэтому в реальности тот же заказчик и даже исполнитель могут считать разные вещи одним и тем же, поэтому лучше уточнять вопрос понимания темы разговора с собеседником.
    Ответ написан
    Комментировать
  • Debian. Проблемы со звуком?

    У меня на Debian две звуковые карты: встроенная Realtek и дополнительная SoundBlaster. Были проблемы настройки alsa для использования SB-карты. Перешёл с alsa на pulseaudio простой установкой пакета pulseaudio. Дополнительно установил pavucontrol, чтобы не заморачиваться терминальными настройками. Пакеты не настраивал - устройства ввода/вывода звука определил как Duplex через pavucontrol и заработало без особых проблем.
    А если уже стоят пакеты, но надо сбросить или откатить настройки, то можно попробовать dpkg-reconfigure команду, параметром которой скормить имя пакета для перенастройки.
    Ответ написан
    1 комментарий
  • Как скрыть определённое окружение в latex?

    froex
    @froex Автор вопроса
    Решил переписать код, чтобы не использовать ёмкие конструкции \ifthenelse внутри окружений. Переменную-флаг я оставил, окружение очистил от ifthenelse, а после окружения (либо в конце преамбулы) использую переопределение окружения после проверки переменной-флага.
    \usepackage{ifthen}
    \usepackage{environ}
    % ...
    \def\showmyenv{true}
    % ...
    \newenvironment{myenv} {
        % содержимое окружения
    }{}
    % ...
    \ifthenelse{\equal{\showmyenv}{false}}{
        \RenewEnviron{myenv}{}
    }{}
    Ответ написан
    Комментировать
  • Правильно написать Makefile?

    Желательно использовать автоматические генераторы параметров.
    Для ncurses можно рассмотреть ncurses-config (есть в репозиториях Debian, к примеру). Пример вывода для этой утилиты на моей системе:
    froex@froex-desktop:~$ ncurses5-config --cflags
    
    froex@froex-desktop:~$ ncurses5-config --libs
    -lncurses -ltinfo
    froex@froex-desktop:~$ ncurses5-config --libdir
    /usr/lib/x86_64-linux-gnu
    froex@froex-desktop:~$ ncurses5-config --includedir
    /usr/include
    froex@froex-desktop:~$

    Полный список команд можно посмотреть по вызову утилиты с флагом "--help".

    Аналогичная утилита для Postgre называется pg-config.

    В своём Makefile выполняете эти утилиты и подставляете результат их работы в переменные. Синтаксис:
    PGLIBS = $(shell pg-config --libs)
    NCURSESLIBS = $(shell ncurses5-config --libs)

    Подробнее тут

    Для возможности указания путей от других пользователей, используйте уже принятые и устоявшиеся имена переменных, как LDFLAGS, например (можно поискать их в интернетах). Это позволит пользователям не копать документации по вашей утилите, чтобы добавить флаги при вызове make.

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

    Собрать deb и rpm пакет можно с помощью утилиты checkinstall (по умолчанию она не установлена, но есть в стандартных репозиториях Debian).
    Ответ написан
  • Как исключить попадание писем в спам в Microsoft Outlook 2013?

    Не помню точные названия пунктов меню и их английские аналоги.
    Посмотрите следующее:
    "Главная" -> "Правила" -> "Правила и оповещения" - можно настроить достаточно много операций по заданным условиям. В том числе и перемещение писем между своими каталогами.
    Ответ написан
  • Как получить индексы выделенных строк?

    froex
    @froex Автор вопроса
    Как всегда, после нескольких ночей мучений и публикации вопроса, созревает ответ почти сразу. Решил так, но, может, кто-то подскажет решение лучше?
    // Количество выделенных элементов
    const int itemCount = dataViewListCtrl1->GetSelectedItemsCount();
    wxDataViewItemArray itemArray;
    // Сохранение массива выделенных элементов
    dataViewListCtrl1->GetSelections(itemArray);
    for(int i = 0; i < itemCount; ++i) {
        // получение индекса элемента в первоначальном списке
        int row = dataViewListCtrl1->ItemToRow(itemArray[i]);
        // прочая обработка
        // ...
    }
    Ответ написан
    Комментировать
  • Как получить массив случайных чисел, сумма которых равна 500?

    00 Заданный диапазон случайного числа от A до C
    01B = C - A
    02 Сгенерировать случайное число R в диапазоне от 0 до B
    03 Добавить R + A в массив
    04 Изменить B = B - R
    05 Повторять от 02 по количеству нужных чисел минус 1
    06 Остаток B + A будет последним числом
    Ответ написан
    Комментировать
  • Как реализовать на с++ url encoding decoding с utf8?

    #include <string>
    int main() {
        std::string str("Вася");
        for(unsigned char c : str)
            printf("%%%X", c);
        printf("\n");
        return 0;
    }

    Вывод:
    %D0%92%D0%B0%D1%81%D1%8F

    Можно сделать так:
    #include <sstream>
    #include <iostream>
    #include <string>
    #include <iomanip>
    
    int main() {
        std::string str("Вася");
        std::stringstream stream;
        stream << std::hex;
        for(unsigned char c : str)
            stream << '%' << std::setw(2) << static_cast<int>(c);
        std::cout << stream.str() << std::endl;
        return 0;
    }

    Вывод аналогичный.
    Ответ написан
    Комментировать
  • Как организовать модульное тестирование сетевого приложения?

    froex
    @froex Автор вопроса
    Для реализации модульного тестирования пришлось реорганизовать архитектуру программной части сервера. Недостатком была потеря времени на реорганизацию, но, благо, кода было не так уж много, чтобы что-то переправлять. Огромным плюсом стало то, что код стал красивее. Например, благодаря подстраиванию под модульные тесты, пришлось создать обработчик принимаемых пакетов, создать дополнительные очереди обработки, дать возможность программисту назначать свои обработчики и т.п. Таким образом, вся процедура проверки была сведена на уровень кода: отдельные вызовы под запуск, останов, передачу данных, их приём, их обработку. Без подстраивания под модульные тесты, вряд ли в проекте сделали бы возможность самому назначать обработчики.
    Ответ написан
    Комментировать
  • Как скомпилировать исходный текст UTF-8 без BOM в Visual Studio?

    froex
    @froex Автор вопроса
    По официальной документации сейчас поддерживается три формата файлов исходного кода: utf16 bom, utf16 w/o bom, utf8 bom.
    К сожалению, utf8 w/o bom не поддерживается.
    Для себя я нашёл несколько костыльных решений:
    - Делать pre build скрипт для конвертации файлов в utf8 bom и post build script для конвертации файлов в utf8 w/o bom
    - Сделать автоматическое преобразование файла как utf8 в visual studio. Если используется система контроля версий (как у меня, например), то делать pre-commit hook для преобразования в utf8 w/o bom
    Есть ли ещё мнения в продолжение?
    Ответ написан
    Комментировать
  • Как в Git игнорировать директории, но не файлы (.gitignore)?

    froex
    @froex Автор вопроса
    Извините за ответ самому себе в короткое время после публикации вопроса, но уже решил задачу.
    Правило записал так: .*/*
    Это работает, т.к. Git не отслеживает директории, поэтому игнорируем всё внутри директорий, начинающихся с точки, а сами эти директории указывать не требуется.
    Ответ написан
    Комментировать
  • Как и чем произвести компиляцию и сборку Injector под Windows 8.1?

    Попробуйте использовать утилиту cmake, для которой есть удобный графический интерфейс cmake-gui. Принцип работы в том, что утилита cmake считывает информацию из файла CMakeLists.txt и формирует файлы, необходимые для сборки в конкретной среде разработки или для конкретного компилятора. Для Visual C++ есть отдельная опция - утилита сама сгенерирует файлы проекта Visual Studio. Проект можно будет открыть и скомпилировать из среды разработки.
    Ответ написан
  • Как правильно формировать запрос в MySQL ?

    Не в том ли проблема, что в вашей строке
    cursor.execute('CREATE DATABASE IF NOT EXISTS %s', ('ddd',))

    перед конечными скобками запятая стоит?
    Ответ написан