Задать вопрос
  • Как организовать синхронизацию файлов и папок с возможностью безвозвратного удаления данных?

    Vapaamies
    @Vapaamies
    Психанул и снес свои ответы не отмечающим решения…
    В программе freefilesync нет возможности организовать безвозвратное удаление файлов.

    Ну дык его надо добавить. Программа ж с открытыми исходниками. В structures.h есть перечислимый тип:
    enum DeletionPolicy
    {
        DELETE_PERMANENTLY,
        DELETE_TO_RECYCLER,
        DELETE_TO_VERSIONING
    };

    Он потом обрабатывается в synchronization.cpp:
    switch (deletionPolicy_)
            {
                case DELETE_PERMANENTLY:
                    deleted = zen::removeFile(filepath); //[!] scope specifier resolves nameclash!
                    break;
    
                case DELETE_TO_RECYCLER:
                    deleted = recycler.recycleItem(filepath, relativePath); //throw FileError
                    break;
    
                case DELETE_TO_VERSIONING:
                    deleted = getOrCreateVersioner().revisionFile(filepath, relativePath, onNotifyFileCopy); //throw FileError
                    break;
            }

    Добавить еще одно перечислимое значение, типа DELETE_SAFE, дописать обработку и пересобрать.
    Ответ написан
    Комментировать
  • Как сделать связь между доменами?

    Vapaamies
    @Vapaamies
    Психанул и снес свои ответы не отмечающим решения…
    Конкретно Google дает две CNAME-записи для Blogger: www = ghs.google.com, а вторая запись -- хеш-код, запрашиваемый ghs.google.com при трансляции.
    Ответ написан
    Комментировать
  • Как добавить файл к табличному пространству?

    Vapaamies
    @Vapaamies
    Психанул и снес свои ответы не отмечающим решения…
    Лучше, если нет противопоказаний, сразу создавать однофайловые табличные пространства -- bigfile tablespace, оставляя балансировку нагрузки на аппаратные средства (RAID). Bigfile tablespace имеет 64-битное поле размера, что дает 264 * размер_блока на один файл.

    Многофайловые табличные пространства остались в Oracle с тех времен, когда аппаратный RAID был дорог. В новых БД я стараюсь их не использовать.
    Ответ написан
    Комментировать
  • Существуют в природе простые, но при этом достаточно полные примеры компиляторов?

    Vapaamies
    @Vapaamies
    Психанул и снес свои ответы не отмечающим решения…
    TCC, LCC, Pascal Pro, различные компиляторы Оберона, вроде как для ОС "Колибри" кто-то сделал. Borland вроде даже исходники Turbo Pascal 6.0 открывала, у меня были где-то.
    Ответ написан
    Комментировать
  • Как дефрагментировать исключенные блоки?

    Vapaamies
    @Vapaamies
    Психанул и снес свои ответы не отмечающим решения…
    Есть еще Puran Defrag или Defraggler. На реальной машине Puran Defrag я иногда с дефрагментацией при загрузке (boot defrag) использую, но с задачей типа вашей не сталкивался.
    Ответ написан
  • Какую посоветуете программу для присвоения тегов?

    Vapaamies
    @Vapaamies
    Психанул и снес свои ответы не отмечающим решения…
    Оценка песен должна быть встроена в плеер, иначе нет смысла. Если используемый вами плеер поддерживает плагины, поищите соответствующий.
    Ответ написан
  • Как изменить букву системного диска на Windows Server 2003 или 2008 или 2012?

    Vapaamies
    @Vapaamies
    Психанул и снес свои ответы не отмечающим решения…
    После установки можно загрузиться с LiveCD и поменять все пути в реестре препарируемой ОС программой типа RegTkt (Registry Toolkit).
    Ответ написан
    Комментировать
  • Как реализуются сложные большие проекты?

    Vapaamies
    @Vapaamies
    Психанул и снес свои ответы не отмечающим решения…
    Сложные большие проекты обычно выращиваются: сначала делается прототип, потом итеративно доделывается, постепенно вбирает новые фичи и новых пользователей, а потом глядишь, -- оп, стал большим и сложным.

    А большой и сложный проект следующего поколения или по схожей тематике делается по аналогии с уже сделанным проектом, типа как Хабр → GeekTimes, Мегамозг, Тостер. Наработав опыт, авторы таких проектов уже не задают вопросов в интернетах.
    Ответ написан
    Комментировать
  • Как вызвать стандартную программу Windows "defrag" в коде C/C++?

    Vapaamies
    @Vapaamies
    Психанул и снес свои ответы не отмечающим решения…
    Давайте угадаю: вы пытаетесь запустить 64-битный defrag в 64-битной ОС из 32-битного приложения? It is not recognized as an internal or external command operable program or batch file. :-)
    Ответ написан
  • Почему в языке Java нет таких языковых конструкций как "свойства" и "индексаторы"?

    Vapaamies
    @Vapaamies
    Психанул и снес свои ответы не отмечающим решения…
    Потому что Java делал не Хейлсберг.
    Ответ написан
    Комментировать
  • Как формируется список отображения?

    Vapaamies
    @Vapaamies
    Психанул и снес свои ответы не отмечающим решения…
    Вот интересно... Я разрабатываю язык со встроенной поддержкой SOLID (в расширенном толковании), попробую ответить на ваш вопрос.

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

    В вашем случае получается, что интерфейсы всегда взаимно-абстрактны реализующим их классам, поэтому классы могут реализовывать любое их количество, принципы SOLID от этого не пострадают.

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

    Данный ответ основывается на результатах оригинального исследования. :-)
    Ответ написан
    6 комментариев
  • Можно ли в Delphi просто создать форму для БД (Access)?

    Vapaamies
    @Vapaamies
    Психанул и снес свои ответы не отмечающим решения…
    Можно. Почитайте любой учебник, где описаны DB-aware-компоненты.
    Ответ написан
    3 комментария
  • Как отсортировать по алфавиту данные (при присутствии кавычек)?

    Vapaamies
    @Vapaamies
    Психанул и снес свои ответы не отмечающим решения…
    Нужно использовать лингвистическую сортировку. Если в MySQL можно сделать что-то вроде alter session set NLS_SORT = LINGUISTIC, как в другой СУБД от Oracle, это должно стать решением. Предлагаю почитать документацию MySQL.
    Ответ написан
    Комментировать
  • Как заархивировать файлы разными паролями?

    Vapaamies
    @Vapaamies
    Психанул и снес свои ответы не отмечающим решения…
    ИМХО, если не шифровать оглавление, 7-Zip и WinRAR штатно позволяют хоть каждый файл шифровать своим паролем, плюс иметь в архиве файлы без пароля.
    Ответ написан
    Комментировать
  • Минимальное подмножество высокоуровневого языка программирования?

    Vapaamies
    @Vapaamies
    Психанул и снес свои ответы не отмечающим решения…
    Со временем я узнаю это на практике. :-)
    Ответ написан
    Комментировать
  • Какой компонент использовать для вывода базы данных delphi?

    Vapaamies
    @Vapaamies
    Психанул и снес свои ответы не отмечающим решения…
    Только DBGrid, StringGrid даже не рассматривайте. Берете какой-нибудь движок, умеющий представлять CSV-файлы как таблицы, и вперед. Раньше вроде BDE такое умела, а теперь ADO, если не изменяет память. Там то ли в строке подключения что-то хитрое указывается, то ли дополнительный файл с именами виртуальных полей создавать нужно. Гуглите, да обрящете.
    Ответ написан
    Комментировать
  • Что нужно знать в SQL?

    Vapaamies
    @Vapaamies
    Психанул и снес свои ответы не отмечающим решения…
    Стандарты SQL (88, 92, 99, 200x), аналитические функции, иерархические запросы, использование текстовых, пространственных и прочих предметно-ориентированных индексов...
    Ответ написан
    Комментировать
  • Как можно синхронизировать два SVN репозитория одинаковых проектов?

    Vapaamies
    @Vapaamies
    Психанул и снес свои ответы не отмечающим решения…
    Я вижу два решения.

    Первый вариант -- завести мета-репозитарий, в котором ссылки на обе части хранятся в свойстве svn:external. При каждом обновлении из мета-репозитария он будет делать вложенный запрос на обновление соответствующей части. Фиксировать изменения, естественно, придется в репозитарий своей части, а качать обновления для сборки -- из мета-репозитария.

    Этот способ требует онлайн-доступности обоих частей, иначе обновление по svn:external будет зависать до истечения таймаута.

    Вторым способом хотел порекомендовать использовать svnsync, но так и не понял из справки, можно ли сделать частичное зеркалирование. Сам использую только полное зеркалирование, так что точнее не подскажу.

    Если же частичное зеркалирование невозможно или работает не так, как вам хочется, при помощи svnsync можно расширить первый способ: в обоих филиалах завести полное зеркало и svn:external натравить уже на него. Тогда онлайн-доступность не потребуется, можно будет синхронизироваться как удобно. Издержки с "пишем в одно место" -- "качаем для сборки из другого" останутся.
    Ответ написан
    Комментировать
  • Где набирать команду?

    Vapaamies
    @Vapaamies
    Психанул и снес свои ответы не отмечающим решения…
    Теоретически есть сайты типа Teamfinding.com, но на практике все только мечтают и пишут хотелки, никто ничего не делает.
    Ответ написан
    Комментировать
  • Как пропускать язык при переключении языков?

    Vapaamies
    @Vapaamies
    Психанул и снес свои ответы не отмечающим решения…
    Мне кажется, что лучше всего воспользоваться альтернативными программами переключения типа (сам пользуюсь keyla), но можно и Punto Switcher, если в нем есть нужная функциональность.

    Идея в том, чтобы совсем отказаться от стандартного переключения и поставить более экзотические, но удобные комбинации клавиш. Скажем, у меня сейчас переключение на английский делается однократным нажатием на левый Shift, а переключение на русский -- однократным нажатием на правый Shift. Очень удобно, не нужно каждый раз бегать глазами от трея до места ввода текста, достаточно лишь нажать нужную клавишу. Еще Раскин в своей книжке про интерфейсы советовал избавляться от режимов везде, где это возможно.

    В этой ситуации, если бы мне потребовался третий язык, я бы назначил ему еще одну комбинацию, можно уже двухклавишную, раз пользоваться редко буду. Скажем, тот же Ctrl+Shift.

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