Задать вопрос
  • Что лучше триггер или процедура? И почему не запихнуть бы всю логику в процедуры?

    martin74ua
    @martin74ua Куратор тега MySQL
    Linux administrator
    Программисты Оракла чешут в затылке - "а что, можно как то по другому?" :)

    Триггер - вызывается базой данных автоматически по событию - добавление, удаление записи, изменение записи. Используется для обеспечения целостности БД, программирования реакции на событие - например при добавлении платежа абоненту автоматически пересчитать ему баланс и разрешить доступ в интернет (база биллинга оператора), или при добавлении платежа автоматически насчитать бонусные балы.

    Процедура - вызывается извне БД программистом, часто выглядит как обращение к таблице или что то похожее. Например ежесуточный расчет потребленного трафика всеми абонентами можно оформить в виде процедуры.

    Таким образом принципиальная разница - кто вызывает на исполнение - сама БД (триггер), или программист извне (процедура). Никто не мешает написать процедуру, которая при добавлении платежа будет рассчитывать бонусы, пересчитывать баланс абонента, разрешать\запрещать доступ в инет, а из триггера на добавление\изменение\удаление записей таблицы вызывать эту процедуру. Таким образом можно сэкономить код - написать его один раз. В последующем сопровождать эту БД будет проще.

    Реализовать логику приложения на триггерах\прооцедурах - в принципе это правильный подход, когда все детали обработки данных собраны в одном месте, во многих случаях это упростит работу с этой базой. Например, в случае того же биллинга - достаточно просто добавить запись платежа в базу и все необходимые действия будут выполнены. Т.е. упрощается разработка веб интерфейса биллинга - не надо на уровне приложения отслеживать зависимости между таблицами, пересчитывать зависимые поля и т.п.

    В крупных серверах БД поддержка триггеров и процедур есть, яркий пример тот же оракл. Для написания процедур есть свой язык, позволяющий реализовать почти все. А может и все - я не ораклист. В mysql триггера и процедуры появились относительно недавно, и разработчики, работающие с ним - просто привыкли все реализовывать на стороне приложения.
    Ответ написан
    3 комментария
  • Какой аналог директории /opt вo FreeBsd? Куда устанавливать нестанд. прожки?

    athacker
    @athacker
    /usr/local и подкаталоги обычно.
    Ответ написан
    Комментировать
  • Windows Server 2008 Как зайти с пустым паролем?

    @tartarelin
    liveCD или флешка с ERD Commander или аналогом, загружаетесь и меняете пароль
    Ответ написан
    Комментировать
  • Как запретить Windows синхронизировать время с BIOS?

    Frankenstine
    @Frankenstine
    Сисадмин
    Сменить батарейку CR2032.
    Ответ написан
    Комментировать
  • TCP. Можно ли ужимать ReceiveTimeout со стороны сервера до миллисекунд?

    @yaror
    10 лет в мобильном телекоме
    Согласен с res2001 .
    Данные, для которых критична оперативность доставки, следует отправлять по UDP.
    Или, если настолько критично поддержание сессии и нет желания реализовывать сессии самостоятельно, то по SCTP.

    Выкручивание же таймаутов TCP до околонулевых значений приведёт, наоборот, к тому, что при малейшем возмущении на пути прохождения трафика начнутся постоянные ретрансмиты, и передача данных встанет вообще.
    Не предназначен TCP для оперативной, в реальном времени, передачи данных! Его задача - гарантированно доставить данные хоть когда-нибудь.
    Ответ написан
    Комментировать
  • Какую программу посоветуете для поднятия файрвола в локальной сети с сервером на ОС Windows 7 Pro?

    Jump
    @Jump Куратор тега Системное администрирование
    Системный администратор со стажем.
    По стечению обстоятельств, в организации, где работаю сисадмином, потребовалось поставить вторую линию интернета, при это не покупая отдельную лицензию на серверную Windows Server
    Вы шутите?
    Ради этого поднимать сервер на десктопе?
    Вообще для этого покупают роутер. Раздавать интернет с десктопного сервера, да еще и под управлением Windows это нечто невообразимое.

    Для небольшой сети - раздача интернета, резервирование каналов, файервол, фильтрация трафика и чтобы недорого идеальное решение - микротик.

    Ну на крайний случай если уж совсем все плохо и делать на дестопе - тогда не winosws ставить а тот же микротик (лицензия 2тыс рублей) или бесплатный сетевой роутер например pFsense
    Ответ написан
    1 комментарий
  • В чем проблема c telnet??

    Frankenstine
    @Frankenstine
    Сисадмин
    Я думаю, 400 вы получаете потому, что передаёте неправильный HTTP запрос, например, просто жмёте Enter (посылаете пустую команду).
    Ответ написан
    1 комментарий
  • Как обрабатывать электронную почту?

    CityCat4
    @CityCat4 Куратор тега Электронная почта
    Жил да был черный кот за углом...
    Инструмент существует, называется он sieve, прикручивается к любому MTA, насколько я знаю. У довекота есть штатное расширение dovecot-sieve. Обработка писем ведется в момент помещения в ящик клиента (до попадания во Входящие). Но обработку придется писать Вам самому.
    Ответ написан
    2 комментария
  • Если отвлечься от вопроса: "ЗАчем?", потянет ли Windows XP c 1Гб оперативки современный интернет?

    @remzalp
    Программер чего попало на чем попало
    Работать будет, но с приличным трудом. Просто откройте любой из сайтов в своём любимом браузере и посмотрите, сколько процессов в диспетчере задач запущено на деле (камень в огород хрома) и суммарный объем занимаемой памяти.

    Виртуальная память не выручает. Для самой убогой ддр2 пропускная способность - 3 гигабайта в секунду. Сравните с крутым SSD на 500 мегабайт в секунду (время доступа до произвольного фрагмента информации - 0.5 мс). Замедление в самом идеальном случае без учета остальных факторов - не менее чем в 6 раз.

    Linux + текстовый браузер типа lynx / links - будет летать ВСЁ на 128 мегабайтах оперативной памяти благодаря тому, что JavaScript, CSS, Flash и картинки для этих браузеров пустой звук. Совсем...
    Вот только конечному пользователю это не слишком сильно понравится. Та же авторизация в ВК будет довольно непривычным квестом. Есть версия под Windows, на посмотреть.
    links.twibright.com/download.php - тут уже даже с поддержкой картинок и немного JS.
    invisible-island.net/lynx
    Ответ написан
    5 комментариев
  • Что лучше для новичка в программировании C или C++?

    liefasm
    @liefasm
    Инженер
    К вышеперечисленным ответам прошу Вас заострить внимание на следующем. Самая большая ошибка (которая была на моих началах) - неправильный подход к обучению. Необходимо моментально закреплять полученную информацию (из книг, видео) на практическом уровне. Обязательно чтобы вашу работу проверил более опытный человек. Это касается всего.

    Прочитал 130 страниц книги Страуструпа, было тяжело и скучно, хотя я всё понял.

    Естественно будет скучно. Техническая документация на то и техническая (она не является Библией или поэзией).
    Ответ написан
    Комментировать
  • Какую сетевую карту лучше купить для небольшого Linux сервера?

    @Tabletko
    никого не трогаю, починяю примус
    Всегда были и будут muts have сетевые адаптеры от intel
    Ответ написан
    Комментировать
  • Как через серевер настроить маршрутизацию между двумя портами?

    Jump
    @Jump Куратор тега Системное администрирование
    Системный администратор со стажем.
    Поднять на сервере службы маршрутизации и DHCP сервер.
    Но непонятно зачем такие костыли.
    Логичнее поднять DHCP на роутере и раздавать с него, на сервер и на клиентов.
    Ответ написан
    Комментировать
  • BAT как получать в папке самый старый файл?

    @dmfun
    @echo off
    for /f "delims=" %%F in ('dir /A-D /TW /B') do set filename=%%F
    goto tests
    :tests
    @echo on
    echo "%filename%"

    // перебираем в цикле вывод команды dir с параметрами, присваиваем в filename. последнее присвоение и есть результат. /A-D - без каталогов /TW - сортировка по времени /B - только имена файлов
    Я проверил, вроде бы работает. Но думаю логика должна быть примерно такой.
    Ответ написан
    Комментировать
  • Возможно ли прекратить виполнения дальнейших методов класса в конструкторе?

    SilenceOfWinter
    @SilenceOfWinter Куратор тега PHP
    та еще зажигалка...
    Обычно исключение вызывается. Сделайте булево свойство класса и задавайте его в конструкторе, а в методах выполняйте проверки.
    Ответ написан
    Комментировать
  • Какая программа менеджмента паролей подойдет для совместной роботы в IT отделе?

    secsite
    @secsite
    Безопасные и быстрые сайты
    Подход в корне неправильный. Нужно не выдавать пароли, а настраивать доступы юзерам.
    Ответ написан
    5 комментариев
  • Как сделан "феникс-пользователь"?

    @spyk3r
    Скорее всего в реестре HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon
    в параметрах DefaultUserName DefaultPassword AutoAdminLogon, задан автологин этого пользователя
    а создание пользователя при загрузке - видать скриптом в групповых политиках
    Ответ написан
    1 комментарий
  • Python Есть смысл такого сокращения?

    ThePyzhov
    @ThePyzhov
    iOS Ninja
    Для читабельности я бы так написал:
    i.speech  = p.POS
    i.gender  = p.gender
    i.case    = p.case
    i.number  = p.number
    Ответ написан
    Комментировать
  • Кто-нибудь знает толковый/любой обозреватель исходных файлов?

    TrueBers
    @TrueBers
    Гуглю за еду
    В плюсах не так всё просто, как в дотнете. Стандартных возможностей для этого не существует в природе. Си и С++ по сути являются высокоуровневым ассемблером без какой-либо метаинформации. Здесь всё зависит от наличия отладочной информации в файле. Если её нет, то вы увидите только ассемблерный код. Максимум сможете только найти строки, которые использует программа. Но даже с отладочной инфой вы не получите ни имён, ни переменных, ни классов. Будут абстрактные наборы процедур, которые, при наличии опыта реверсинга можно будет определять на глаз.

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

    А вообще, после перехода с дотнета просто смиритесь, что вы пишете, по сути, на ассемблере с синтаксическим сахаром, и что в плюсах разработка гораздо дольше, затратнее и сложнее с непривычки.
    Ответ написан
    2 комментария
  • Программы для сбора мусора win, какие бывают?

    tsklab
    @tsklab
    Здесь отвечаю на вопросы.
    А есть более умные сборщики мусора?

    %windir%\system32\cleanmgr.exe
    Ответ написан
    4 комментария