• Непонятное поведение module.exports в NodeJS

    @kachok
    Я не силен в javascript, но попробуйте так:
    var controllers = {};
    var User = require('./controllers/user');
    var Account = require('./controllers/account');
    controllers.user = new User();
    controllers.account = new Account();
    console.log(controllers.user.foo);
    Ответ написан
    1 комментарий
  • Как собрать среду для веб-разработки под mac os x?

    DanielWolf
    @DanielWolf
    >но тогда я не понимаю почему много разработчиков с макбуками? неужели они ставят виртуалку?

    да, ставят, и сейчас расскажу как именно. чтобы все было по яблочному удобно.

    самая главная проблема — это совместимость, понятно если ставится просто apache/php — то особых проблем нет,
    но вот, если например проект серьезнее — nginx/zend server ce/mongodb+tomcat/memcache + imagemagik + модули на перле к nginx — с портами начинается ад

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

    я уж не говорю про баги самих портов (на 10.5 инсталл boost+python обновлял glibc и убивал макос).

    вывод: порты держим только для малого количества программ (у меня порты вообще только для nmap и wget)

    поэтому нам нужна виртуалка — плюсы очевидны:

    — идентичность конфигурации с реальным сервером
    — отсутствие проблем портирования\обновления софта

    у меня из виртуалок живет VirtualBox. пробовал VMWare и Parallels — VB понравился больше, да и бесплатный он.

    итак, при сетапе вируалки туда ставится таже ОС, что и на сервере — в моем случае это CentOS

    на OS настраиваем все что нам нужно, а дальше — ставим NFS/Samba (можно конечно использовать и sshfs — но по скорости он явно проигрывает) — кстати Lion будет поддерживать NFSv4.

    настраиваем key_authorization, чтобы не нужно было писать пароль при каждом логине, и прописываем алиес — sshvirt1 например, чтобы не приходилось постоянно писать айпи виртуалки.

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

    запускаем вируалку, тестиш — все ок, монтируем сетевой диск — далее работаем с ним как со своим.

    из среды — я пользуюсь Eclipse (и его производными)

    для php у меня — zend studio, для python — aptana studio

    можно конечно настроить аналог на чистом eclipse — но лень

    еще из проблем связанных с портами — у меня мой пользовательский каталог зашифрован с помощью filevault (и бэкапится на iDisk через TimeMachine =)) — поэтому апач просто не имеет доступа. и как вариант — либо www_root держать за home, либо использовать виртуалку.

    ну, как-то так =)

    я бы написал подробную статью, как это все засетапить (с выходом лео, буду все это делать)
    а там, сетап filevault2 с бэкапам на облако + настройка консоли и прочих плюшек, до я дико заминусован, так, что не знаю =)
    Ответ написан
    6 комментариев