• "Прослойка" между бизнес-логикой и БД. MongoDB C# .NET?

    wartur
    @wartur
    Паттерны проектирование везде одни и те же, не понимаю в чем может быть разница между БД, разве что в MongoDB требуется писать больше на стороне application server. Что за паттерны «бизнес логика», в терминологии паттернов я почему-то такого не слышал, пожалуйста поясните ибо гугл не дал ответа.

    Вот что по теме от себя могу предложить.
    ISBN 978-5-469-01136-1

    PS: удивлен что не знаете про эту книжку. потому что я её по вашему запросу сразу же нашел.
    Ответ написан
    Комментировать
  • P2P Веб-чат

    wartur
    @wartur
    Никогда не занимался этой задачей. Из того что я знаю и что приходит в голову без гуглежа.

    msdn.microsoft.com/ru-ru/library/system.net.webrequestmethods.http.aspx
    По отрытому порту с каждой стороны. Обмен будет написать очень просто. Можно https настроить.

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

    Еще вот пригодится при разработке, так как обмен обычно осуществляется в отдельном потоке, что бы GUI не вис.
    msdn.microsoft.com/ru-ru/library/system.threading.thread.aspx
    Ответ написан
  • Google лежит ?

    wartur
    @wartur
    Питер. Чета не пашет.
    Ответ написан
    Комментировать
  • Прошу конструктивной критики на мой код на PHP

    wartur
    @wartur
    — Пользуйтесь константой DIRECTORY_SEPARATOR.

    — Глобальные переменные это печально, они нарушают паттерны проектирования, создавая костыли, я из использую исключительно для прикручивания временного костыля, потому что вот прижало, но надо сделать, потом рефакторю через паттерны.

    — Db::initDb — а зачем в этом случае пользоваться фабрикой??? Мы же объект создаем, то есть должно быть new DB(); чисто по идее ООП. И кстати, если нет совершенно особой функциональности у ваших классов, то не надо вообще оборачивать стандартные функции. У меня например класс базы данных абстрагирует физические подключения к СУБД, и переключения между БД в одной СУБД. К нему обращаются разные объекты указывая лишь название «шлюза» (я так это назвал), а класс уже гарантирует что запрос будет произведен по нужной СУБД + БД. Еще раз в вашем случае не вижу смысла использовать фабрику (у меня испольуется фабрика, что бы просто создавать объекты с вшитым «шлюзом»).

    Советую делать так вначале инициализации:
    // директория с системой
    define('DIR_ROOT', __DIR__.DIRECTORY_SEPARATOR); // корень ядра.
    // директория с кодом движка
    define('DIR_CORE', DIR_ROOT.'core'.DIRECTORY_SEPARATOR);
    // директория с интерфейсами движка
    define('DIR_CORE_INTERFACES', DIR_CORE.'interfaces'.DIRECTORY_SEPARATOR);

    ========

    я могу тут целый пост по моей культуре производства писать, но пожалейте меня ;-) надеюсь помог.

    // директория с исключениями движка
    define('DIR_CORE_EXCEPTIONS', DIR_CORE.'exceptions'.DIRECTORY_SEPARATOR);

    // директория с абстрактными модулями движка
    define('DIR_CORE_ABSTRACT', DIR_CORE.'abstract-modules'.DIRECTORY_SEPARATOR);
    Ответ написан
    2 комментария
  • Xdebug - подскажите с решением вопроса об отображении ошибок (xdebug_start_error_collection)

    wartur
    @wartur Автор вопроса
    Господа, походу баг. Как видно из кода, функция не выполняет предназначения, даже базовое — «сокрытие данных об ошибках», про накопление ничего сказать не могу.

    /* Display errors */
    if (PG(display_errors) && !PG(during_request_startup)) {
    	char *printable_stack;
    
    	/* We need to see if we have an uncaught exception fatal error now */
    	if (type == E_ERROR && strncmp(buffer, "Uncaught exception", 18) == 0) {
    		xdebug_str str = {0, 0, NULL};
    		char *tmp_buf, *p;
    				
    		/* find first new line */
    		p = strchr(buffer, '\n');
    		/* find last quote */
    		p = ((char *) zend_memrchr(buffer, '\'', p - buffer)) + 1;
    		/* Create new buffer */
    		tmp_buf = calloc(p - buffer + 1, 1);
    		strncpy(tmp_buf, buffer, p - buffer );
    
    		/* Append error */
    		xdebug_append_error_head(&str, PG(html_errors) TSRMLS_CC);
    		xdebug_append_error_description(&str, PG(html_errors), error_type_str, tmp_buf, error_filename, error_lineno TSRMLS_CC);
    		xdebug_append_printable_stack(&str, PG(html_errors) TSRMLS_CC);
    		xdebug_str_add(&str, XG(last_exception_trace), 0);
    		xdebug_append_error_footer(&str, PG(html_errors));
    		php_output_error(str.d TSRMLS_CC);
    
    		xdfree(str.d);
    		free(tmp_buf);
    	} else {
    		printable_stack = get_printable_stack(PG(html_errors), error_type_str, buffer, error_filename, error_lineno TSRMLS_CC);
    		php_output_error(printable_stack TSRMLS_CC);
    		xdfree(printable_stack);
    	}
    }
    if (XG(do_collect_errors)) {
    	char *printable_stack;
    	printable_stack = get_printable_stack(PG(html_errors), error_type_str, buffer, error_filename, error_lineno TSRMLS_CC);
    	xdebug_llist_insert_next(XG(collected_errors), XDEBUG_LLIST_TAIL(XG(collected_errors)), printable_stack);
    }
    
    Ответ написан
    Комментировать
  • Варианты хранения паролей от FTP?

    wartur
    @wartur
    Если 2 машины не могут быть скомпрометированы, то www.truecrypt.org/, я храню все там в контейнере, а сам ноутбук тоже целиком зашифрован. Всем советую.
    Ответ написан
    Комментировать
  • Сессии PHP в Apache

    wartur
    @wartur
    Напрашивается мне, что кто-то лазал в права директории /var/lib/php5 проверте права должны быть такие drwx-wx-wt и естественно все другие директории должны быть с правами не ниже drw---x--x
    Ответ написан
    2 комментария
  • Apache запущенный под VirtualBox не отдает часть файлов при подключении со стороны хоста

    wartur
    @wartur
    Я недавно имел дело с этой темой. После долгих тестов нашел проблему именно в расширениях VirtualBox. Когда апач работает через примонтированные виртуальные директории он отдает файлы какими-то битыми, починить, почитать или производить другие действия мне не удалось — все упирается в виртуалбокс.

    (я так понимаю для хостинга тебе надо, мол места побольше)
    У меня было 2 решения:
    1) создание еще одного VHD с большим разделом и уже туда заливать.
    2) создать тру сетевую папку, и примонтировать через сетевой мост минуя виртуалбокс. (не тестировал но зуб даю заработало-бы)

    Выбрал первый вариант, так как у меня высокая степень безопасности супервизора и я отклоняю любые запросы от виртуалок.

    PS: Привед друг ))). Имею абсолютно идентичную систему работы у себя на домашнем сервере за исключением, того что у меня debian и вин. сервер с дримспарка.
    Ответ написан
    1 комментарий
  • Безопасность веб-сервера: запретить сайту вылезти из своей папки

    wartur
    @wartur
    В debian по умолчанию права на чтение неправильно настроены, надо поменять что чтение etc для всех кроме root запрещен — это все проблемы решит.

    chroot использоваться для виртуальных хостов не требуется, он создан для другого, для этого есть mpm-itk собственно.
    Ответ написан
    2 комментария
  • Случайность в играх

    wartur
    @wartur
    Мне кажется покер, правда там и там есть умения играть. Вот кости — это настоящий азарт, сильно разряжает нервы при ставке от 500р.
    Ответ написан
    2 комментария
  • Платформа для блога: стэндалон или ЖЖ

    wartur
    @wartur
    То что вы написали называется SMO — это очень дорогой вид рекламы, очень много затраченных часов на полученную прибыль, лучше сразу контекстная реклама. К SMO прибегают, что бы повернуть мышление и это огромная работа, а просто так флудить наверное никто читать не будет.

    SEO от блога — ну это достаточно трудно, легче ссылок накупить, для SEO совершенно все равно какой дизайн, лучше просто статьи пишите и в тексте указывайте ссылки, с анкорами или нет, но сразу предупреждаю вес с этих ссылок вообще никакой, даже если залогинишь 1000 этих логов с ТИЦом меньше ноля ноль.
    Ответ написан
    Комментировать
  • Лучшая книга по ASP.NET с нуля

    wartur
    @wartur
    msdn.microsoft.com/ru-ru/asp.net/default

    ну, а чем вам не ресурс, я теперь если что всегда на msdn лезу. Там как никак лучше чем везде написано про все.

    А если нет русского перевода по технологии, то книжко конечно — что бы удобнее было, а так когда уже врубаешься в чем фича уже незадумываясь гуглю заморские ресурсы.
    Ответ написан
  • Как повторить школьную программу 9-11кл. в сжатые сроки?

    wartur
    @wartur
    Ну учеба.

    1) ЕГЭ это лучше к соответствующем репетиторам натаскиваться, они знают, что и как, я так русский в свое время сдал.

    2) Насчет школьной программы — это учебники + вопросы к преподам, если не понял — я считаю тут дело желания, например у меня нет желания как у студента разбираться в VHDL и синтезе RTL в то время как я профессионально занимаюсь Software и IT.

    Теперь про страхи вылета.
    В вузе тебя заново обучат всему практически заново, вылетишь ты только по собственному желанию, а не по уму. А вообще в вузе не учат, а учат самообучаться, так что откинь страхи.

    Удачи, тут главное дело желания и кем ты хочешь стать, планктоном и крутить бургеры или стать профи в нашей совместной области.
    Ответ написан
    1 комментарий
  • Подключиться к защищенной Wi-Fi сети без GUI

    wartur
    @wartur
    Ну, автозапуск это вроде init.d + символическую ссылку на соответсвующий уровень. rc?.d, остается только написать скрипт и вуаля.
    Ответ написан
  • Как правильно открывать пластиковую упаковку от техники?

    wartur
    @wartur
    Викториноксом, основным лезвием по выпуклости, либо по 4-м сторонам.
    Ответ написан
    Комментировать
  • Какой МФУ выбрать?

    wartur
    @wartur
    Brother + 1
    Ответ написан
    Комментировать
  • Quickstart для Assebmler'а: документация и среда выполнения

    wartur
    @wartur
    Ну, ассемблер бывает для разных архитектур как мне известно.

    но для начала, если начать с x86, то самая добротная книжеца вот:
    Зубков С.В. Assembler для DOS, Windows и UNIX

    Ну загрузчик я смог свой написать, после чего забил на системное программирование ;-)
    Ответ написан
    Комментировать
  • Нужен сервис по редактированию электронных рассылок

    wartur
    @wartur
    Если хостинг у вас есть, то скриптик напишите и все тут. С одной стороны шаблон, с другой формы для ввода, далее генерируется код.

    Если верстаете в блокноте, то я просто удивлен, что вы не знаете о такой штуке как adobe dreamweaver.
    Ответ написан
    1 комментарий
  • Длительный выход из "спячки"?

    wartur
    @wartur
    Если считать что чистая свинятина делает это за доли секунды и гибридного режима сна у нее нет, то проблемы в программах.

    Попробуйте отрубать одну за другой и тестировать, далее надо браться за драйверы, допустим yota и Wifi link 5150 у меня тупил на стыках загрузки, завершения работы (сервис не мог загрузиться никак).
    Ответ написан
    1 комментарий