• Почему Битрикс так популярен?

    DAVIDhaker
    @DAVIDhaker
    Я считаю, единственная причина, почему ещё БТС не ушёл в историю - это костяк, который позволяет новым идеям быстро реализовываться. Большинству этого хватает. Но когда начинается внедрение новых идей в БТС-проект. Все начинают его проклинать и жалеть, что выбрали эту технологию. Потому что архитектура там убогая, документация никакая и местами не актуальная, а на немалой части вообще нет. БТС берут количеством, а не качеством. Я долго метался, начинать ли изучать БТС, пока не столкнулся с интеграцией с ней. Поняв что это, я не хочу вдаваться в неё глубже, чем примитивное написание входящих хуков. Архитектура ужасная. БТС жив, пока на рынок не ворвалось что-то более новое. БТС, это сплошной legacy-код с большим костылём сверху - D7, который до сих пор выезжает благодаря желании экономить на этом у бизнеса. Но текущая обстановка в ИТ в нашей стране скоро столкнёт БТС с требованиями, которые она не потянет, если они не предоставят в мир кардинально переделанную с нуля систему. :)
    Ответ написан
  • Есть ли реализации на Django SSO?

    DAVIDhaker
    @DAVIDhaker
    Ответ написан
    Комментировать
  • Пишу на PhpStorm. Стоит ли переходить на Sublime Text 3?

    DAVIDhaker
    @DAVIDhaker
    Я почти полтора года кодил в Sublime Text. Редактор шикарный, и все такое, но для больших проектов он не подходит. PHPDoc не поддерживается в полной мере, автоформатирования кода толкового нет, инструментов рефакторинга/перестановки кода нет. Автокомплит не особо умен.
    Перейдя на PHPStorm разработка стала более комфортной. Там есть все, что нужно прям из коробки! А чтобы сделать достойную IDE из Sublime Text, нужно долго и упорно ставить гору плагинов, и то не факт, что получится сделать так, чтобы было все удобно.

    Sublime Text - хорош не как IDE, а как редактор.

    Сравните написание кода в Notepad (дэфолтный блокнот Windows, в котором даже нет умной табуляции) и в какой-нибудь хорошей специализированной IDE, почувствуйте разницу и суть и перестаньте задавать глупые вопросы.
    Так же хочу отметить : выбор основного инструмента разработки зависит от опыта и знаний программиста.
    Ответ написан
    Комментировать
  • Что означает данная строка в htaccess?

    DAVIDhaker
    @DAVIDhaker
    Это "прозрачный" редирект.
    См. mod_rewrite
    Ответ написан
    Комментировать
  • Как сделать прозрачный редирект?

    DAVIDhaker
    @DAVIDhaker
    Для этой задачи нужен модуль RewriteRule
    Деректива RewriteRule:

    RewriteRule ^PATTERN$ /REDIR [FLAGS]

    RewriteRule ^user/([0-9]+)$ /users/profile/$1 [L,QSA] - перенаправит все страницы site.com/user/([0-9]+) на /users/profile/$1

    Все страницы которые совпадут с регулярным выражением ^user/([0-9]+)$ (например site.com/user/23) будут переадресованы на site.com/users/profiles/123

    Code .htaccess:
    RewriteEngine On
    RewriteBase /
    
    RewriteRule ^id([0-9]+)/?$ /userstorage/$1/index.html [L,QSA]
    RewriteRule ^id([0-9]+)/main.css?$ /userstorage/$1/main.css [L,QSA]
    Ответ написан
    Комментировать
  • Файловое кеширование, как реализовать?

    DAVIDhaker
    @DAVIDhaker
    Сначала загружаешь данные скриптом к себе в хранилище, а потом, при работе программы - делаешь запросы в хранилище, если в хранилище есть такие данные - возвращаются данные из хранилища, если нет - данные загружаются в хранилище, потом возвращаются из хранилища.

    Хранилище - любая примитивная система кеширования.

    import urllib2 as ul, os
    
    def storage(dataid):
        if not os.path.exists("./cache/"+dataid+".tmp"):
            open("./cache/"+dataid, "wb").write(ul.urlopen("http://mysite.com/images/"+dataid+".jpeg"))
        
        return open("./cache/"+dataid+".tmp").read()


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