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

    @res2001
    Developer, ex-admin
    В таблицу где лежит информация о сущности добавьте поле DBEG as datetime.
    При создании сущности в это поле заносите текущую дату/время. При изменении сущности - не меняете запись сущности, а добавляете новую запись с текущим значением даты/времени в DBEG. Отбор текущей сущности будет происходить так:
    select top 1 * from table where ID= order by DBEG desc
    Таким образом сохраняется вся история, ну и не плохо бы иметь интерфейс для просмотра истории.
    Это общий подход. Если нужно реализовать хранение изменений для определенных аттрибутов сущности, то подобные аттрибуты нужно выделить в отдельную таблицу и в этой таблице применить аналогичный подход, при этом сама сущность будет в единственном экземпляре, а вот ее некоторые аттрибуты будут с историей.
    Аттрибуты можно выделять в таблицу по типам данных, допустим отдельная таблица для целых, строк, вещественных, дат и т.п. Либо одна общая таблица с соответствующими полями для каждого типа данных.
    Ответ написан
    1 комментарий
  • На каком языке/технологии можно без танцев с бубном создать простенькое GUI приложение для работы с docx?

    @res2001
    Developer, ex-admin
    VBA for Word
    Небольшую форму, которая будет запускаться при создании нового документа можно сделать макросом в самом шаблоне документа. Это будет проще всего.
    К тому же среда разработки встроена в продукты MS Office, студии не требуется, язык скриптовый и простой.
    Ответ написан
    Комментировать
  • Как реализовать формы на сайте с возможностью электронной подписи?

    @res2001
    Developer, ex-admin
    Почитайте в конце концов про ассиметричную криптографию и PKI.
    В общем в кратце так, хотите с клиентами юридически значимый электронный документооборот - подписываете с каждым соглашение, что стороны соглашаются считать собственноручной электронную подпись сделанную с помощью такой-то технологии.
    Технология при этом может быть различная. Довольно простой и легкий вариант - PGP, это не PKI, но довольно близко.
    Каждая сторона генерирует себе пару ключей (секретный/публичный), публичный ключ передается противоположной стороне. С помощью соответствующего софта файлы подписываются и отправляются второй стороне.
    Тут важно, что каждый из участников сам генерирует себе ключи и приватный ключ никому никогда не передается.
    Именно по такому принципу работают большинство банков, только они обязаны использовать отечественную сертифицированную криптографию (CryptoPro, КриптоКом ...).

    Если перейти на PKI, то добавляется еще один персонаж - центр сертификации (ЦС). Каждая сторона, после того как сгенерирует ключ отправляет запрос на сертификат в ЦС и получает от него сертификат. Сертификат, это по сути публичный ключ, подписанный на ключе ЦС с различными ограничениями. Например есть ограничение на срок использования сертификата.

    Точно не уверен, но вроде как в нашей стране нельзя использовать западную криптуху по закону, поэтому лучше сразу ориентироваться на отечественный софт. Например не плохой вариант CryptoPro+КриптоАРМ. Отечественная стоит денег.
    Если спросите, а что насчет SSL - там же сплошь западные алгоритмы, не сертифицированные, отвечу - в законе есть специальные оговорки про это, смысл в том, что если не возможно удалить из ПО поддержку западных алгоритмов, то можно. Но применительно к документообороту это не притянуть.
    Ответ написан
    1 комментарий
  • Как работают сервисы по предоставлению услуг?

    @res2001
    Developer, ex-admin
    Гостиницу бронировал видимо в каком-нибудь букинге? Вот тебе и ответ. Сопутствующие услуги там же тусят. Вряд ли это слив, скорее всего эти ребята там вполне официально работают как поставщики услуг.
    Ответ написан
    Комментировать
  • Можно ли заставить скачанный файл автоматически запуститься?

    @res2001
    Developer, ex-admin
    Обычно из браузера можно сразу же и запускать из Download Managerа. Chrom, Firefox, IE точно позволяют это делать.
    Ответ написан
  • Как представляется отрицательное число в дополнительном коде?

    @res2001
    Developer, ex-admin
    127 - 01111111 - прямой код, положительное число
    -127 - 11111111 - обратный код
    -127 - 10000001 - дополнительный код
    -128 - 10000000 - дополнительный код
    Если 1 бит = 1, то число отрицательное.
    Читайте вики внимательней.
    Ответ написан
  • Что такое триггер?

    @res2001
    Developer, ex-admin
    Хотя бы какой язык изучаете? И в каком контексте?
    Обычно триггер это функция, задаваемая программистом, которая срабатывает по какому-либо событию. Вызывается асинхронно системой. По сути то же самое, что и функции обратного вызова (call back).
    Ответ написан
    Комментировать
  • Получить среднее значение в секунду. Как это сделать более правильно?

    @res2001
    Developer, ex-admin
    Сохраняете timestamp первого и последнего вызова Increment. Количество вызовов в секунду легко расчитываете по требованию: quantityOfValues/(tend-tbegin). (tend-tbegin), конечно, нужно преобразовать в секунды.
    Ответ написан
    1 комментарий
  • Существуют ли операционные системы сделанные в России?

    @res2001
    Developer, ex-admin
    Скорее всего возьмут какой-нибудь из российских дистрибутивов линукс, поддерживаемых нашими компаниями - Alt Linux, ASPLinux и т.п., проведут сертификацию на предмет отсутствия не декларируемых возможностей и объявят нац.ОСом.
    В принципе, нормальный вариант. Если будут что-то изобретать - будет хуже, дороже и дольше.
    Ответ написан
    Комментировать
  • Нужно найти один миллиард знаков после запятой при извлечения корня из 5?

    @res2001
    Developer, ex-admin
    Видимо по методу Ньютона, только нужно еще использовать какую-нибудь библиотеку для работы с большими числами.
    Ответ написан
    Комментировать
  • Как вывести повторяющиеся строки в запросе к MySQL "WHERE IN (1,2,3)"?

    @res2001
    Developer, ex-admin
    Создайте временную таблицу с полем ID, добавьте туда значения из $id и потом в запросе используйте join с временной таблицей.
    Ответ написан
    Комментировать
  • Источники про логирования действий пользователя?

    @res2001
    Developer, ex-admin
    Если вы имеете ввиду использовать журнал транзакций как лог действий пользователя - то он несколько для других целей и должен очищаться автоматически в определенные моменты времени.
    Обычно, логирование действий пользователя реализуют на уровне приложения, а не базы данных. Хотя если навешать триггеров на все таблицы можно и на уровне БД сделать.
    Ответ написан
    Комментировать
  • Какой аналог этому можете подсказать?

    @res2001
    Developer, ex-admin
    Извините, но у вас тут
    =ЕСЛИ($A$3:$A$101="Февраль"
    бред написан.
    Операция "=" сравнивает только одно значение, в вашей формуле ексел всегда берет только первую ячейку диапазона и ее сравнивает с февралем, остальные игнорируются.
    Поясните смысл формулы в N4, тогда я помогу составить вам правильную формулу.
    Ответ написан
    3 комментария
  • Обработка потоков на сервере мессенджера?

    @res2001
    Developer, ex-admin
    Можно и без потоков реализовать, рассмотрите асинхронный подход к обработке соединений. Как в nginx.
    Будет интересно!
    Ответ написан
    Комментировать
  • Замена в строке одного символа на другой, как сделать на Си?

    @res2001
    Developer, ex-admin
    Хорошо бы в editString в конце еще дописывать '\0'. В таком виде как сейчас работает, пока массивы в стеке, стоит их начать выделять динамически и это у вас всплывет.
    И заменить "new" на другое имя, т.к. new является служебным словом в С++, а от Си до С++ один шаг фактически :)
    Ответ написан
    Комментировать
  • Другие сферы программирования кроме web. Какие альтернативы?

    @res2001
    Developer, ex-admin
    Базы данных - это отдельная большая область знаний, актуальна в т.ч. и для веба. Трудно найти область программирования где в той или иной степени не нужны были бы базы данных.
    Другие сферы, обычно, достаточно узко специализированы. Можете выбрать любое направление, которое по душе.
    Ответ написан
    Комментировать
  • Какой стиль комментирования кода правильнее?

    @res2001
    Developer, ex-admin
    Вообще код сам себя комментирует для человека его понимающего. А другим и комментарии не помогут.
    Комментарии требуются только в "тонких", не очевидных моментах.
    Для большей удобочитаемости давайте переменным и процедурам понятные имена.
    Ответ написан
    3 комментария
  • Как вызывать MultiByteToWideChar?

    @res2001
    Developer, ex-admin
    Юникодные константы объявляйте так:
    wchar_t* c=L"фывапр";
    И выводить на консоль с помощью wprintf, как писал Владимир Мартьянов
    Ответ написан
    Комментировать
  • Как становятся программистами?

    @res2001
    Developer, ex-admin
    Тебе не куда деваться - ты же должен выполнять на работе текущие задачи. Поэтому работай, пиши, учись. На досуге читай книги по яве, алгоритмам. Со временем все будет!
    Ответ написан
    Комментировать
  • Есть ли программа для вычисления различий в файлах?

    @res2001
    Developer, ex-admin
    В винде есть прям из коробки 2 утилиты: fc и comp
    Ответ написан
    Комментировать