• Когда писать ТЗ - до или после подписания договора?

    @korvindest
    Чем больше параметров оговорено, до подписания договора, тем лучше.
    Однако (!) никто не говорит о том что ТЗ это истина в последней инстанции. Как правило ТЗ дополняется и уточняется по согласованию сторон в процессе разработки. Иногда в случае больших непредвиденных трудозатрат после уточнения ТЗ подписываются дополнительные соглашения к договору.

    А вообще порядок документации с которым я привык работать выглядит примерно так:
    — Требования заказчика, в том виде как он их видит. (Кстати тоже ТЗ :-) )

    — Фактические Требования. Ваш перевод невнятных требования заказчика сухим техническим языком.

    — Собственно Техническое Задание, под которым заказчик уже обязательно должен поставить подпись, что бы не выдаивать из вас все чего взбредет.

    — Последней идет спецификация. Она не очень важна для исполнения вами договора, но дает хорошее понимание заказчиком того, что же вы все таки для него сотворили.

    Каждый из этапов документирования заказа вполне может закрепляться отдельным договором. А в случае необходимости проработки детального ТЗ, может стоить даже отдельных денег.

    В случае если заказчик хочет сэкономить на детальном ТЗ и полностью полагается на вас, то договор стоит подписывать, только при наличии ФТ в котором каждая строчка читается однозначно, иначе потом придется долго спорить о том что скрывалось за фразой «Написать систему биллинга нового поколения».
    Ответ написан
    Комментировать
  • Какие книги следует читать, чтоб стать программистом

    @korvindest
    Сам программист и имею некоторый опыт преподавания программирования, как школьникам, так и студентам.

    Начинать с изучения алгоритмов архитектур, баз данных и прочего категорически не советую!

    Убьете в себе всякое желание развиваться в этом направлении. Лучшая мотивация для человека продолжать что то начатое, это когда он видит как что то, только что созданное им, пускай и почти бесполезное, но (!)Работает.

    Начните с какой нибудь книжки изучения языка (C, Java, C#)для начинающих. Для начала освойте основные конструкции языка: Типы данных, Ввод, Вывод, Условия, Циклы, Функции/Методы.
    Потом переходите на решение простых задач:
    — Вывести все числа от 0 до 10
    — Вывести все четные числа
    — Вывести таблицу умножения
    — Красиво отформатировать выводимую таблицу умножения
    — Вывести треугольник паскаля (тоже можно с форматированием)
    Далее стоит уже порешать простейшие алгоритмические задачи, которые потихоньку заставят вас обратиться к книжкам этой тематики:
    — Найти решение уравнения заданного коэффициентами, методом деления отрезка пополам.
    — Позволить пользователю ввести набор чисел и вывести их в сортированном виде.
    — Прочитать файл и вывести все встречающиеся в нем слова (уникальный список слов)

    … тут уже начинает кончаться фантазия потому что я еще не пил свой утренний кофе, но если вам потребуется я с удовольствием добавлю список.

    После того как эти азы вам будут уже известны вы и сами найдете себе задачу по плечу. И вам будет гораздо интереснее читать те книжки которые вам тут советуют. И не важно какую платформу и язык вы выберете потом, важно сначала научиться программировать.
    Ответ написан
    1 комментарий
  • В каком университете дают базу для веб дизайнера?

    @korvindest
    Позвольте я выражу свое мнение, которое возможно придется вам не по вкусу, но я в это верю и считаю правильным.

    Хороший веб дизайнер это программист, который хорошо понимает тонкости построения веб интерфейсов, знает JavaScript, CSS, HTML. Кроме этого владеет языками серверной части такими как PHP, Perl, Python, Java, Scala. Так же веб дизайнер должен знать основы баз данных, что бы если и не редактировать, то хотя бы понимать структуру.

    Уже давно прошли те времена, когда были нужны сайты на чистом HTML и даже реализуя сайт без БД, использование фреймворков типа jQuery не будет лишним, т.к. сделает сайт живее и красивее.

    Иными словами вам нужен любой вуз где нормально готовят прикладного программиста (желательно там где учат на Си подобных языках а не на паскале). Ну и самому придется поучится правильному использованию CSS, подводным камням JavaScript и основным паттернам верстки HTML. Это как минимум.
    Ответ написан
    2 комментария
  • Где сейчас возможно купить SATA винт малого (20Гб+) размера за малые деньги?

    @korvindest
    SATA винты размером 20 Гб делали только в форм факторе 2.5, обычного размера 3.5 я меньше 40 вообще ни разу не видел.
    Думаю что нового винта такого размера вы уже не найдете, но если все таки решите покупать б/у, то обычно для винтов прогоняют тесты на скорость чтения блоков. Если скорость чтения всех блоков нормальная, то вероятность того что он быстро упадет очень мала.

    Но я все таки рекомендую взять дешевый современный винт.
    Ответ написан
    1 комментарий
  • Как хранить в БД поле «зарплата»?

    @korvindest
    Можно попробовать пойти таким путем.
    3 поля
    MinSalary
    MaxSalary
    PercentSalary

    1. Константная зарплата MaxSalary=MinSalary, PercentSalary=NULL
    2. Зарплата «От» MinSalary=someValue, MaxSalary=NULL, PercentSalary=NULL
    3. Зарплата «До» MinSalary=NULL, MaxSalary=someValue, PercentSalary=NULL
    4. Сдельная MinSalary=NULL, MaxSalary=NULL, PercentSalary=someValue
    5. Собственно зарплата + % MaxSalary=MinSalary, PercentSalary=someValue
    6. Договорную можно оставить все NULL, но думаю будет правилнее все же ограничить ее определенными рамками «От» и «До»
    Ответ написан
    1 комментарий
  • Отключение всех расшаренных папок в домене WIN2003?

    @korvindest
    Написал вам простенький батник, который будучи запущенным на компе удаляет все не скрытые шары. Батник должен запускаться от имени админа иначе не сработает.
    ::DropShares.cmd
    @echo off&&cls&&goto :Begin
    
    :DeleteShare
      set shareName=%~1
      :: если последний символ доллар то шару не трогаем, валюта еще пригодиться
      :: остальные удаляем
      if "%shareName:~-1%" NEQ "$" (   
        net share /DELETE %shareName%
      )
    goto :EOF
    
    :Main
      :: перебираем все шары доступные на компьютере
      for /F "tokens=1" %%f in ('net share') DO (
        if EXIST \\%COMPUTERNAME%\%%f (
          call :DeleteShare "%%f"
        )
      )
    goto :EOF
    
    :Begin
    Call :Main
    


    P.S.
    Как всегда, очень прошу всех ненавистников языка CMD выражать свои эмоции на комментарии иначе цикл статей по Maven я унесу с собой в могилу.
    Ответ написан
    2 комментария
  • Не работает подсистема печати (spoolsv.exe умер)?

    @korvindest
    Я сталкивался с таким, когда компьютер славливал вирус запускающийся вместе со службой печати после того как антивирус их убивал служба переставала запускаться.
    Попробуйте для начала проверить систему утилитой AVZ и восстановить те настройки системы которые она считает нетипичными.

    Кроме этого обязательно посмотрите лог событий системы в управлении компьютером, там могут быть важные сообщения о том почему служба не смогла запуститься.
    Ответ написан
    Комментировать
  • Java for Android - с чего начать?

    @korvindest
    Для начала стоит познакомится поближе с самим языком. Для этого можно почитать Шилдта и попрактиковаться в понимании подводных камней на он-лайн тестах.
    После этого изучения основ языка фреймворки и переход на андройд платформу должны пройти сравнительно безболезненно.

    Главное не кидайтесь сразу писать что то сложное, попрактикуйтесь на велосипедах.
    Ответ написан
    Комментировать
  • DHCP на windows 7

    @korvindest
    В Windows есть служда ICS (Internet Conneting Sharing), которая умеет раздавать интернет в локальную сеть при этом автоматически включается не управляемый DHSP сервер, который раздает ip в диапазоне 192.168.0.1-254. Если есть необходимость раздавать с этого компьютера интернет в локалку и при этом получать ip по DHSP этот вариант думаю будет идеальным.

    К слову сказать эта же служба является брандмауером(firewall) и именно она как правило мешает нормальной работе других сетевых сервисов, если плохо настроена.
    Ответ написан
    3 комментария
  • Посоветуйте корпус для компьютера

    @korvindest
    А я например пошел по другому пути.
    Взял вот такой корпус (у него регуляция скорости всех вентиляторов на верхней панели с памятью). Каждый HDD установил в толстый алюминиевый контейнер для теплоотдачи и шумоизоляции. Напичкал не самыми дешевыми вентиляторами (по 600 р. и более) и понизил скорость их вращения до минимума (50% мощности). На процессор поставил большой пассивный радиатор. На видео карту тоже купил пассивные радиаторы, вместо родного вентилятора.
    Суммарно корпус и вся система охлаждения обошлись примерно в 8 000 р. Когда ночью приходиться поработать самым громким бывает стук по клавишам.
    Вентиляторов не слышно уже на расстоянии 1 метра.

    До этого решал проблему шумоизоляции вынесением компьютера в кладовку и пробросом десятиметровых KVM и USB проводов у плинтуса.
    Ответ написан
    2 комментария
  • Правильное сохранение информации о элементе?

    @korvindest
    Что бы не держать переменную с кешем, можно воспользоваться классом маркером, который ничего не меняет в стиле, но четко определяет, что эти элементы свеже помеченные. При этом если таких пометок надо сделать много, то маркер можно нумеровать.
    $('.class').not('.classX').addClass('classX').addClass('marker01');
    // далее такие элементы легко выбрать так
    $('.marker01').removeClass('classX').removeClass('marker01');
    

    Что то в таком духе. Все тоже самое можно легко провернуть и без jQuery, но получится несколько более громоздко.
    Ответ написан
  • Доменные имена и их ip?

    @korvindest
    Если через DNS это сделать действительно невозможно, то можно настроить виртуал хосты на Apache на вашем домене с редиректом на конкретный ip.
    Но я бы использовал такой вариант в последнюю очередь.
    Ответ написан
    Комментировать
  • Как массово переименовать хитроназванные файлы в windows?

    @korvindest
    Вот решение, которое работает при ваших условиях
    :: MassRename.cmd
    @echo off
    cls

    goto :Begin

    :RenameFile
    set fileName=%~1
    set forwardPart=%fileName:~0,10%
    set middlePart=%fileName:~10,-11%
    set lastPart=%fileName:~-11,7%
    set extension=%fileName:~-4%
    rename "%fileName%" "%forwardPart%%lastPart%%middlePart%%extension%"
    goto :EOF

    :Main
    for /F «tokens=*» %%f in ('dir /B *.pdf') DO (
    Call :RenameFile "%%f"
    )
    goto :EOF

    :Begin
    Call :Main

    Скрипт сделан с учетом того что все файлы имеют расширение pdf и статическое(одинаковой длинны) начало и конец, но при этом разную центральную часть.

    Я заметил, что при любом моем ответе по батникам, мне обязательно ставят минус сами знаете куда, поэтому настоятельно прошу негодующих о несовершенстве языка CMD минусовать комментарий, иначе я просто не смогу больше опубликовать статьи по Maven.
    Ответ написан
    3 комментария
  • Код Яндекс.Метрики в отдельном JS-файле

    @korvindest
    Я думаю тут проблема не в том, что код JS должен быть именно в теле главное, страницы, а в том, что он должен быть к ней подключен и (!)вовремя запущен. Тогда по идее разницы между этими вариантами с точки зрения Яндекса быть не должно.
    Ответ написан
    Комментировать
  • Присвоение значения переменной в DOS'е?

    @korvindest
    В батниках внешние программы, могут напрямую записать только результат в переменную %ErrorLevel% это результат работы программы int main(...){ return 0;}.

    Не прямых способов больше, самый прямой из них это обработка вывода(stdout) программы циклом for. Делается так:

    for /F «tokens=*» %%f in ('myprogram.exe') DO set myVar=%%f

    Но этот вариант годится, только в том случае, если все что нужно умещается в одну строку.
    Если программа выдает много строк, то в цикле надо ставить обработку и учитывать локальность изменений с переменной. (В батниках, любые действия по изменению переменных произведенные внутри цикла, не выходят за пределы цикла)
    Обходиться это примерно так:

    for /F «tokens=*» %%f in ('myprogram.exe') DO (
    call set myVar=%myVar%%%f
    )
    Символ переноса строки в батниках, нельзя поместить в строку никаким (не читерным) образом.

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

    @korvindest
    Вы можете получить дополнительные знания по программированию, все в том же самом родном политехе, а точнее на Факультете Переподготовки Специалистов.
    Я был там на нескольких курсах и остался доволен, как организацией, так и качеством материала.
    Ответ написан
    2 комментария
  • CMS для сайта

    @korvindest
    Та же самая Joomla обладает и магазинными и социальными плагинами, но я не до конца уверен в том что вам все подойдет, т.к. этими плагинами у Joomla я не пользовался. Хотя выбор там большой.
    Ответ написан
    Комментировать
  • Особенности включения компьютера: перед тем как включиться, он выключается на 5-10 секунд. Это нормально?

    @korvindest
    Вероятно проблема с блоком питания, а точнее с его мощностью, но что то более конкретное можно сказать, только после того как вы напишите список оборудования которое присутствует в компьютере.
    Кроме того, можно провести эксперимент с отключением винта, если при этом он загрузится без задержек, стоит подумать о том что он(винчестер) плохо себя чувствует.
    Ответ написан