• Игра для ребёнка?

    dohlik
    @dohlik
    В первую очередь в голову приходят логические квесты. Жена играла в Syberia, других не слышал )) Сам давным-давно рубился в NeverHood, великолепный квест, хоть и старый уже.
    Ответ написан
    1 комментарий
  • Насколько оправданно решение с контроллерами-не-классами?

    dohlik
    @dohlik
    В первую очередь пришло в голову — что будете делать с наследованием (точнее его отсутствием)? Очень удобно сделать несколько базовых контроллеров, в которых реализовать фундамент (проверки, инициализацию свойств, загрузку конфигов и тд). Выделять отдельный скрипт под это, и инклюдить его в каждом контроллере?

    Конечно, если проект не настолько сложный, то и вопроса не возникнет )))
    Ответ написан
    Комментировать
  • Подработка для программиста, проекты онлайн

    dohlik
    @dohlik
    Ответ написан
    Комментировать
  • Где найти дизайнера логотипов?

    dohlik
    @dohlik
    Можете еще на Searchengines попробовать. Бывает, что просто за отзыв делают неплохие работы.
    Ответ написан
    Комментировать
  • Какой PHP-фреймворк обладает лучшей русскоязычной документацией?

    dohlik
    @dohlik
    НЕ Kohana ;) Но, в целом, с любым фреймворком будет сложно, если не знаешь языка. Да и как читать php.net и StackOverflow без английского?
    Ответ написан
    Комментировать
  • Начальная зеркалка или цифрокопакт?

    dohlik
    @dohlik Автор вопроса
    Получил комментарий по почте:

    рекомендую:
    Sony Alpha NEX-5
    вот обзор к примеру www.dpreview.com/reviews/sonynex5nex3/
    и вот хорошая сравнительная табличка
    snapsort.com/compare/Canon_EOS_550D-vs-Sony_Alpha_NEX-5

    Это беззеркальная камера, без объектива очень компактная.
    По некоторым обзорам, предпочтениям снимает лучше, чем Canon 550D.
    Моя рекомендация взять NEX-5, ибо вы не фанат, из этого следует, что скорее всего
    вы не отличите пиксели в кэноне и соньке.

    Но за соньку вы получаете такие важные детали как:
    point and shoot, отличный автоматический режим, интерфейс очень удобный и понятный,
    встроенная помощь в аппарате. (Плюс всякие советы зачем что и почему и как фоткать).
    Качество сборки выше, чем у Кэнона.
    При наличии ребенка и собаки, скорость как бы побыстрее запечатлеть момент наверное будет важнее.
    Плюс например для жены или для ребенка будет проще сфотографировать вас.

    Еще немаловажная фича — это запись видео в FULL HD 60 fps.

    Есть также хорошая фича это встроенная панорамная сьемка.
    Проводите аппаратом — на выходе готовая панорамная фотография.

    Есть фича 3D фотографий и 3D панорам, по мне пока бесполезны, может быть вас зацепят.

    Все таки зеркалки требуют квалификацию, хотя и так делают отличные фотографии,
    но модель от соньки к практически таким же по качеству фотографиям добавляет такие параметры
    как размер и другие плюшки, что позволит вам проще въехать в мир зеркалок.
    Может пересядете потом на какой-нить canon mark 2 ;)

    Извините, не ответил на хабре за неимением аккаунта,
    но с этим вопросом сам сталкивался, с отцом несколько месяцев искали фотик,
    и зеркалки смотрели, пока не взяли nex 5, не жалеем.

    С уважением, Леонид.
    Ответ написан
    4 комментария
  • Kohana & I18n. Можно ли разделить языковой файл на части?

    dohlik
    @dohlik
    Честно говоря, не вижу смысла в такой «оптимизации». Типичная практика — вынос переводов в необходимые модули, это имеет смысл если есть модуль Forum, модуль Blog и т.д. Соответственно, если модуль Forum не подключен, то и его I18n-файлы тоже не будут подключены.

    Я бы посоветовал не выдумывать дишних проблем :)
    Ответ написан
    Комментировать
  • Валидация Kohana 3.1 + Стандартный ORM?

    dohlik
    @dohlik
    1. Почему проверка имени через $external_validation? Что мешает просто добавить правило (как в Auth сделано)?
    2. Вообще, лично для меня вторая модель (User_Contacts) не является обязательной. Соответственно вижу два варианта:

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

    В общем, не паримся с транзакциями, а однозначно зависим только от правильности первой модели (она основная у нас).
    Ответ написан
  • Фильмы с большой Буквы

    dohlik
    @dohlik
    На вкус и цвет, ну Вы знаете )))

    А чтобы «выворачивало»… Единственный фильм, о котором я такое могу сказать, я посмотрел очень давно, еще мелким пацаном. Это был ИП. Инопланетянин. Единственный фильм под который я всплакнул :)

    Из посмотренного в дальнейшем могу предложить разве что Достучаться до небес. Из боевиков кстати, очень люблю Бегущего человека.
    Ответ написан
    Комментировать
  • Модульная архитектура на примерах..?

    dohlik
    @dohlik
    Отвечу как пользователь фреймворка Kohana (с той самой КФС).

    В проекте имеются условные папки Application, System и Modules (естественно, названия могут быть любыми). В System хранится код ядра фреймворка (базовые классы для роутинга, MVC/HMVC, хэлперы и т.д.). В Modules — куча подключаемых модулей, как стандартные (Database, ORM, Cache и т.д.), так и собственные разработки. Ну и в Application остается код, специфичный для данного приложения (т.е. который Вы не планируете переносить на другие приложения).

    Любой используемый модуль должен быть явно объявлен в системе (Kohana::modules($module_list)). При добавлении модуля (или списка модулей) происходит следующий алгоритм:

    0. В главном классе модуля есть статическая переменная $_paths, в которой хранятся все пути КФС. Изначально в него добавляется путь к Application.
    1. Проверяется путь к модулю, если нет — модуль игнорируется.
    2. Модуль добавляется в $_path. Делается проверка на существование файла init.php в корне модуля. Если он есть, то выполняется. Таким образом, можно осуществлять какие-то стартовые действия (загрузка конфигов, добавление роутинга и т.д.).
    3. Последним в список добавляется System.

    Структура файлов и папок одинаковая, что в Application, что в System, что в каждом модуле. После выстраивания списка путей в ряд мы получаем возможность проходиться по нему в поиске нужного класса. Например, если есть модули A, B, C, а в B и C имеется класс Foo, то система выберет класс из модуля B, так как он идет раньше в списке путей. На очередность влияет порядок упоминания классов в списке вызова Kohana::modules(). Пути при каждом запуске генерируются заново, но вот результаты поиска файлов кэшируются, чтобы меньше шуршать по винту.

    Для понимания такой структуры очень полезно посмотреть на эту картинку. В результате часто собственно проект (Application) состоит из конфигов и файла запуска (bootstrap), все остальное выносится в модули.

    Кроме того, гибкость и расширяемость фреймворка достигается засчет «пустых» классов, например есть Database и Kohana_Database (extends Database). Весь изначальный функционал реализован в Kohana_Database, но в коде мы используем Database. Соответственно можно где-то в Application или в одном из модулей добавить свой класс Database (в таком случае система загрузит его, а не аналог из System), и в нем сделать нужные изменения.

    PS. А эвенты все равно удобная штука (хоть и достаточно простые — Event::add() и Event::run()). Их в Kohana v3 штатно уже нет (т.к. имеется достаточный контроль над выполнением Request'а), поэтому приходится вручную прикручивать для собственных событий.
    Ответ написан
    3 комментария
  • Система мониторинга серверов?

    dohlik
    @dohlik
    Мы у себя Dude пользуем, но не уверен насчет полного соответствия выдвигаемым требованиям.
    Ответ написан
    Комментировать
  • Научиться печатать вслепую по-английски?

    dohlik
    @dohlik
    Специально ничего не учил, особо не тренировался. Русскую раскладку выучил, пока писал многочисленные курсовики (ну и диплом конечно), а английская во время программирования очень быстро запоминается. Тренажеры вообще не воспринимаю, слишком все искусственно.

    Какой-то конкуренции между ними не ощущаю. Обычно проблемы, наоборот, если смотришь на клавиатуру — сразу путаются буквы с похожим начертанием (С, О, Т и т.д.)
    Ответ написан
    Комментировать
  • ORM в Kohana 3.1?

    dohlik
    @dohlik
    Метод add() работает только для ManyToMany связей. Для односвязных полей (HasOne, BelongsTo) надо использовать что-то вроде $event->starting_day = $starting_day
    Ответ написан
    9 комментариев
  • Чтение свойств другого обекта в php

    dohlik
    @dohlik
    Гм… А Вам не кажется, что что-то неправильно в используемом Вами алгоритме? Попробуйте его описать тут, может придумаем что-то.

    Очевидно, что выполнять действие должен объект, располагающий исходными данными в максимальном объеме. А данном случае это $a (он содержит как объект класса B, так и свойство $a->e). Скорее всего он не может выполнить все действия из метода $a->c->d() по все той же причине, поэтому внутри нашего идеального метода $a->x() должен вызываться $a->c->d() для получения данных об $a->c.

    Конечно, можно все это сделать просто сохранив в объекте $a->c ссылку на родителя, но по мне это скорее костыль.
    Ответ написан
    Комментировать
  • Как мотивировать пользователей оставлять комментарии на сайте?

    dohlik
    @dohlik
    Лично по себе могу судить — сложнее всего быть первым :) Поэтому, как вариант, первые комментарии сделать на основе собственных ощущений. Лучше, конечно, если это будет делать несколько человек (соразработчики, родные, знакомые и т.д.).

    Еще, если где-нибудь на главной выводить блок «последние отзывы», то многих могут заинтересовать отдельные комментарии или вообще тема (т.е. конкретное заведение).
    Ответ написан
    1 комментарий
  • фриланс кодинг - стоит ли втягивать в это девушку?

    dohlik
    @dohlik
    Насколько ей это все будет интересно? Эдакая секретарская должность…

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

    dohlik
    @dohlik
    SELECT t1.productID 
    FROM tablename t1, tablename t2 
    WHERE t1.optionID=6 AND t2.optionID=7 AND t1.productID=t2.productID;
    Ответ написан
    2 комментария
  • Какой город/регион наиболее привлекателен разработчику для переезда на пмж и почему ?

    dohlik
    @dohlik
    Расскажите про Казань/Уфу, кто в теме? Интересует ситуация с программерами, а также сисадминами (циски, AD и прочее)
    Ответ написан