Задать вопрос
  • Как можно конвертировать .htaccess для работы в Nginx?

    Lynn
    @Lynn
    nginx, js, css
    Я знаю самое лучшее средство — мозг.

    1. Прочитать и понять что делает .htaccess
    2. Написать нужные строчки в конфиге nginx.

    Читаем:
    RewriteCond %{REQUEST_URI} \.(png|gif|ico|swf|jpe?g|js|css|ttf|svg|eot|woff|yml|xml|zip|txt|doc)$
    RewriteRule ^(.*) $1 [QSA,L]

    Понимаем, что статика должна просто отдаваться как есть без попытки обрабатывать её в PHP.
    Пришем
    location ~ \.(png|gif|ico|swf|jpe?g|js|css|ttf|svg|eot|woff|yml|xml|zip|txt|doc)$ {
      # ничего не нужно, просто отдаём файлы
    }


    Читаем
    RewriteCond %{REQUEST_FILENAME} !-f [OR]
    RewriteCond %{REQUEST_URI} \.(ini|ph.*)$
    RewriteRule ^(.*) index.php [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L,QSA]

    Тут два разных условия.
    Первое — если файла не существует, второе — если запросили файл закнчивающийся на .ini или .ph<что-то> (кстати, регулярка идиотская, т.к. под неё попадает слишком много, например my.physics.html).
    При выполнении любого из них запрос должен быть передан в index.php.

    Первое условие пишется стандартно
    location / {
      try_files $uri /index.php;
    }


    Второе
    # скорее всего нужно что-то типа \.(ini|php|phps|php4|php5)$
    # или хотя бы \.(ini|ph\w*)$
    location ~ \.(ini|ph.*)$ {
      rewrite ^ /index.php break;
    
      fastcgi_pass 127.0.0.1:9002;
      # и прочие fastcgi_*
    }


    Итого:
    location / {
      try_files $uri /index.php;
    }
    location ~ \.(png|gif|ico|swf|jpe?g|js|css|ttf|svg|eot|woff|yml|xml|zip|txt|doc)$ {
      # ничего не нужно, просто отдаём файлы
    }
    
    location ~ \.(ini|ph.*)$ {
      rewrite ^ /index.php break;
    
      fastcgi_pass 127.0.0.1:9002;
      # и прочие fastcgi_*
    }
    Ответ написан
    3 комментария
  • Как ускорить вёрстку?

    kumaxim
    @kumaxim
    Web-программист
    Смотря под какой движок/CMS Вы там верстайте. Универсальные инструменты вроде Gulp/Sass и т.п. Вам предложили выше. Из чего-то специфичного в духе "Пришло 50 проектов от индусов, надо сделать срочно" - смотри в сторону Divi Builder от Elegantthemes или чего-то подобного.
    Ответ написан
    Комментировать
  • Почему не работают шорткоды в плагине Wordpress?

    В текстовом редакторе нужно писать так - [code]
    А в исходном коде так - echo do_shortcode('[code]');
    Ответ написан
    Комментировать
  • Какие окологиковские русскоязычные сайты вы читаете?

    @dtestyk
    livecoding.tv видео трансляции кодинга
    develop.re аггрегатор новостей
    developerslife.ru развлекательный
    ifr.org роботы
    marsohod.org железо
    4pda.ru гаджеты
    itc.ua
    scoop.it/t/arts-numeriques искусство
    blog.matthen.com
    3dnews.ru
    thenextweb.com
    phys.org физика
    serious-science.org англиский вариант postnauka.ru
    ithappens.me короткие истории
    arxiv.org библиотека
    whyfiles.org наука
    livescience.com
    membrana.ru
    elementy.ru
    lib.e-science.ru библиотека
    dxdy.ru математика
    scotch.io web dev
    nuit-blanche.blogspot.ru big data, machine learning
    gamedev.ru
    echojs.com аггрегатор новостей javascript
    Ответ написан
    1 комментарий
  • Какой есть аналог ReSharper'а для С++?

    PashaPash
    @PashaPash
    Visual Assist: www.wholetomato.com/
    Ответ написан
    Комментировать
  • Как лучше организовать процесс разработки?

    Ruzin
    @Ruzin
    Мое мнение, что всю разработку (мастер) нужно вести в одно ветке.
    Различие в функциональности поддерживать на уровне конфига ПО или при сборке.
    В разных проектах у нас были реализованы оба подхода — какой из них предпочтительней — решайте сами, в качестве критерия мы выбрали следующее:
    Если код распространяется с исходным кодом, который жалко отдавать, то используем на уровне сборки ПО «уровне сборки».
    Как это работало:
    * запускали конфигуратор с подключаемыми модулями, который вычищал из софта «все лишнее»
    * потом запускали сборщик
    * клиенту передавали, то что осталось

    Если исходный код не жалко (или нет боязни, что через конфиг включат что-то лишнее), то проще встроить все в полное ПО. Т.е. распространять максимально полную версию.

    Отдельный случай — когда требуется в одних и тех же ситуациях схожее поведение, но со своими особенностями. Для иллюстрации приведу бестолковый пример, но, надеюсь наглядный:
    Нам нужно внести информацию об ответственном лице в компании. В варианте А) от нас требуют все размещать в одном поле в произвольном формате, потому что им так удобней, а в вариаанте Б) от нас требуют все разносить по разным полям: ФИО — отдельно, телефон — отдельно, email — отдельно и т.п.

    В этом случае было бы неплохо и то и другое реализовать и сделать в кофигураторе переключатель, как описано в ответе выше: Branch By Abstraction — т.е. попытаться абстрагировать некоторое поведение и пользоваться и облегчить себе подключение требуемого модуля.
    Ответ написан
    Комментировать
  • Как лучше организовать процесс разработки?

    retran
    @retran
    Мне кажется, что тут более правильный подход — branch by architecture.
    Т. е. вы реализуете в проекте IoC и включаете/отключаете нужную функциональность через конкретные конфиги для каждого клиента.

    Кодовая база при этом для всех одна.
    Рефакторинг может оказаться достаточно дорогим, но, ИМХО, branch hell — это еще дороже, если клиентов много.
    Ответ написан
    1 комментарий
  • Как лучше организовать процесс разработки?

    @sergei-grigorev
    Если брать во внимание, что вам нужно именно в виде отдельных веток управлять отдельными фичами (хотя на мой взгляд, лучше что-то с самим продуктом сделать, быть может разделить его на модули), то в голову пришло вот такое простое решение:
    * мигрируете с svn на git (я не знаю, есть ли в svn функция, аналогичная rebase в git)
    * в нем делаете отдельные ветки, которые все исходят от master-ветки
    * затем при доработке или исправлении бага, после его проверки, вы заносите его в master
    * во всех ветках для регионов, использующих эту функциональность, делаете rebase относительно ветки master (в этом случае, она возьмет свежую версию кода из master, и уже поверх них наложит ваши новые. В этом случае, багфикс применится ко всем веткам автоматически благодаря rebas. Если нет накладок в коде, конечно же, а иначе — придется помержить ручками).

    Решение абсолютно не идеальное, просто ход мыслей, оформленный в виде ответа (:
    Ответ написан
    2 комментария
  • Прошу оценить дизайн сайта

    Первое впечатление:
    — Одностроничный сайт кидалово, сделанный по урокам Евгения Попова.

    Недостатки:
    — О цветовом круге дизайнер не знает. Решение: выколоть дизайнеру глаза и отрубить руки.
    — О размерах дизайнер не знает. Решение: подарить ему линейку и отрубить руки.
    — О типографике дизайнер не знает. Решение: выколоть глаза.
    — О правилах построения интерфейса дизайнер не знает. Решение: оторвать руки и не давать писать код.

    Автор явно не заботиться о своей репутации.
    Ответ написан
    Комментировать
  • Выбор языка программирования. Помогите определиться

    iremezoff
    @iremezoff
    если хочется язык с кучей удобных плюшек, то C#
    если хочется язык лаконичный и без лишнего мусора, то Java
    если хочется гемора и взрыва мозга «почему так», но хорошей производительности, то C++ + Qt
    Под C# отличная документация и на русском на MSDN. У Java очень хорошо сложившаяся аудитория, достаточно материала. К сожалению, очень мало качественной русскоязычной литературы касательно Java для Web, что опять-таки не скажешь о C#.
    Под java несколько очень хороших бесплатных (или почти бесплатных) IDE, что нельзя сказать по C#. Полный фарш в Visual Studio, чего не хватает в SharpDeveloper. Visual Studio Express редкостная обрезка
    Ответ написан
    Комментировать
  • Вопрос по c sharp

    @Zlobober
    Хочу собрать автомобиль «Тойота». Есть колёса, кузов, двери и дрель «Механик-60». Картинка требуемого автомобиля прилагается. С помощью чего это можно реализовать?
    Ответ написан
    Комментировать
  • Карьера с SAP.....?

    ncix
    @ncix
    Предприниматель
    Как-то будучи уже в должности ведущего программиста отправил JFL резюме в московское представительство SAP. Не сторонним внедренцам. В сам SAP. Перезвонили, предложили попробоваться на помошника младшего зеленого гоблинаjunior-тестировщика. С весьма скромной з/п и обязательным дресс-кодом и прочей копроративной культуро… Причем сказано было так, будто оказывают мне великую честь. Девушка была невероятно удивлена, когда я сказал что меня это не интересует. Она сказала, "… ну мы же SAP! Вы знаете что такое SAP??"
    Вот почему-то ниразу не пожалел с тех пор. Как думаете, зря?
    Ответ написан
    Комментировать
  • Какую книгу лучше взять для изучения C#?

    Skiminok
    @Skiminok
    Лучший труд с полным введением в язык и его тонкости плюс использование написан Э. Троелсеном. На русском это «Язык программирования С# 2008 и платформа .NET 3.5».

    После изучения Троелсена в обязательном порядке читается культовая книга дотнетчиков: Джеффри Рихтер, «CLR via C#».

    А дальше уже надо ориентироваться по конкретным технологиям. Если интересует ASP.NET, то это Дино Эспозито, если WPF — Чарльз Петцольд. И так далее.
    Ответ написан
    3 комментария