• Как синхронизировать разработку на 2-х компьютерах с помощью git?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    У меня аналогичная схема, десктоп с Win7 и ноут с Ubuntu. Проекты держу в приватных репо на Bitbucket.org, а дальше все просто - git pull / git push и т.д. Если же доступ в инет не 24/7 (что вряд ли), то можно на одном из них (лучше десктопе) поднять свой Git-сервер.
    Ответ написан
    Комментировать
  • Как оптимизировать связку Nginx + Passenger + Ruby on Rails

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Откажитесь от Passenger раз и навсегда, он прожорливый. У меня на сервере с 1Гб оперативки вместе с десятком сайтов на WP (Nginx, PHP5-FPM, Memcached, MariaDB) параллельно крутится Redmine на Unicorn. Изначально по урокам пытался настроить через Passenger - куча гемора и ресурсы жрало жестко. После перехода на Unicorn все летает. Еще есть вариант с Thin, но я сам не пробовал.
    Ответ написан
    Комментировать
  • Версия интернет-магазина для стран СНГ

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    А зачем разные домены, если можно просто сделать выпадающее поле "Регион", которое определять автоматически, и менять контент под него (например, валюту, способы доставки и оплаты). Вы боитесь, что россияне не станут покупать на .com.ua?

    Если же очень надо - делайте домены, на входе на сайт перекидывайте пользователя на соответствующий домен, а в Google Webmaster Tools добавьте все домены и один из них назначьте главным, связав с остальными. Тогда поисковик будет знать, что с ними делать.
    Ответ написан
    Комментировать
  • Как правильно связать хостинг провайдера cacloud с купленным доменом imena.ua?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Если в контрольной панели на cacloud.com есть возможность настройки DNS, тогда надо создавать зону в нем (привязывать доменное имя к IP-адресу вашего сервера), в ней же будут указаны NS-сервера, которые нужно указать в настройках домена на imena.ua. При такой схеме вы в imena.ua единожды указали NS-сервера, и вся дальнейшая работа с зонами (создание поддоменов и т.д.) идет уже на стороне cacloud.com

    Если же подобной настройки на caacloud.com нет (что, в принципе, вряд ли) - тогда в настройках imena.ua нужно будет создать все зоны (A, CNAME, MX и т.д.) и указывать везде IP-адрес сервера.

    В любом из этих вариантов потребуется некоторое время на пропагацию зоны и обновление DNS-информации. Учитывая, что регистратор в Украине, а хостинг в Канаде, время обновления DNS-информации может занять и сутки - тут многое зависит от настроек TTL и пр. на обеих концах.

    На данный момент запрос в базу whois возращает корректную информацию, прописаны NS-сервера cacloud.com (ns*.caclouddns.com). Значит вам нужно на стороне cacloud.com в контрольной панели своей настроить (см. первый абзац). По сути, обращение к домену сейчас корректно отправляет на NS-сервера cacloud.com, но придя туда запрос теряется, так на на стороне этих самых NS-серверов нет созданной зоны (или некорректно настроена), соответственно, дальше непонятно на какой сервер (IP-адрес) направлять запрос.
    Ответ написан
    2 комментария
  • Интернет-витрина либо таблица с фильтром - как реализовать?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    WordPress + WooCommerce умеет это все.
    Фильтр можно либо вручную создать, либо с помощью https://facetwp.com/ (есть и другие аналогичные решения)
    Ответ написан
  • Wordpress, видео из вконтакте?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    +1 к @Alexufo. WordPress поддерживает oEmbed, именно через него урл ютуба, твиттера и других популярных сервисов автоматически конвертируется в плеер. Класс oEmbed легко расширяется, и добавить еще одного провайдера (VK) не сложно, если есть знание PHP. Если нет - наймите специалиста.
    Ответ написан
    Комментировать
  • Как осуществить уведомление пользователя Wordpress?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    У меня на одном из сайтов реализовано через FeedPress.it
    Это сервис подписки и мониторинга RSS, у него же есть опция подписки по email. Когда я публикую новый пост, он публикуется в RSS-ленту и сервис автоматом рассылает его и по мылу всем подписавшимся пользователям.

    Можно ли отправлять всем подряд, даже если они не дали добро на подписку? Я считаю что это некорректно. По сути это спам. Но реализовать автоматическую подписку можно (например, при регистрации добавить галочку - "получать обновления по почте").
    Ответ написан
    Комментировать
  • Слишком подробное техническое задание - это хорошо или плохо?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Надо конечно видеть и слышать клиента для принятия окончательного решения, но вообще, детальное ТЗ - хороший показатель, ибо:
    - клиент действительно вникает во все детали
    - клиент неплохо подкован, ему не надо на пальцах ничего объяснять
    - четкое детальное ТЗ - отличный вариант для сверки выполненных работ
    Я бы не сильно боялся переделок, упомянутых @cyberorg, потому как если есть договор, в котором прописано, что прием работ идет согласно ТЗ, то это только плюс. Сделали четко по ТЗ - у клиента нет выбора кроме как утвердить. Хочет переделывать - договор ему перед нос суешь и говоришь - не вопрос, но это уже ДОПОЛНИТЕЛЬНАЯ работа, которая оплачивается отдельно.

    Лично я таких клиентов люблю и ценю, кроме того, всегда и на все проекты стараюсь делать максимально подробное ТЗ вместе с клиентом. Очень полезно.
    Ответ написан
    Комментировать
  • Какие есть способы обналичивания чека Google Adsense в Украине?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Если чек уже пришел, то обналичивать лучше всего через Приватбанк. Если нет их карточки - зайти в отделение и по-быстрому получить, процесс простой и бесплатный. После подключения Приват24 чеки можно обналичивать прямо через онлайн-банкинг. Если же чек еще не пришел (и на будущее) - с недавних пор (буквально 2-3 недели) есть возможность с AdSense выводить прямо на свой банковский счет через SWIFT перевод. Получение в течение 1 дня, я уже первые деньги новым способом вывел - очень удобно. На момент вывода у меня не было еще долларового счета, Приватбанк предоставил по запросу (онлайн) временные реквизиты, перевод пришел, я пошел в ближайшее отделение Приватбанка и за 15 минут получил долларовую карточку. И уже в онлайн-банкинге Приват24 добавил себе эту карту и с нее перевел деньги на обычную. Очень удобно, быстро, и комиссии маленькие.
    Ответ написан
    7 комментариев
  • Стоит ли покупать macbook air 2013/4GB/SSD 256 студенту-программисту?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Если Вам нужна реальная производительность, да к тому же еще и на виртуальных машинах - забудьте про Air. Под Ваши задачи подойдет только MacBook Pro. Air - это так, ультрабук для релакса, ждать от него высокой производительности не стоит. MacBook Pro возрастом 2-4 года аналогичной конфигурации (в голых цифрах) легко сделает MacBook Air по производительности, к тому же будет стоить дешевле.
    Ответ написан
    Комментировать
  • Подбор движка для проекта

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    WordPress идеально подойдет. За последние два года мы с командой делали аналогичные нишевые решения на базе WordPress - для ресторанов, для отелей, для строительных компаний, для фотостудий, сейчас делаем для танцев (студии, залы, федерации, конкурсы и т.д.).
    Соглашусь с @polym0rph - наймите толковых разработчиков. Если будут вопросы по реализации на WP - c удовольствием отвечу.
    Ответ написан
    Комментировать
  • Нармальный mysql

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    MariaDB - отличный вариант. Только, в любом случае - что с MariaDB, что с MySQL - надо попросту устанавливать именно то, что нужно, а не все подряд. Какая OS? Что мешает собрать отдельно только сервер?
    Ответ написан
    Комментировать
  • Какую CMS выбрать?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    WordPress + BuddyPress. Количество готовых решение намного больше, чем для LiveStreet, их качество, надежность и безопасность - на порядки выше. Если я правильно понял, Вам нужна закрытая система, а не открытая всему миру социальная сеть, к тому же в корпоративном сегменте. Безопасность тут на первом месте должна стоять.

    И, кстати, обратите внимание - все посты о LiveStreet сделаны ботами с 1м ответом на Тостере :)
    Вот как компания LiveStreet себя "рекламирует"...
    Ответ написан
    Комментировать
  • Как получить email через API ВКонтакте?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    До недавнего времени VK API не выдавал мыло на внешние запросы. Но, похоже, с окончательным уходом Дурова, ситуация начинает меняться. Буквально сегодня я озвучил клиенту, что получение имейла невозможно, а он мне показал скриншот, сделанный 24 апреля этого года, на котором всплывшее окошечко как раз давало доступ к электронному адресу. То есть, факт - теперь это возможно. Как - я пока еще сам копаю. В доках не нашел. Подписываюсь на тему, может кто-то раньше найдет решение.
    Ответ написан
    3 комментария
  • Какие есть особенности при верстке Landing Page

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    В целом @pettson правильно расписал. Только еще обратите внимание на различие между лендингами и между одностраничными сайтами. Это разные вещи. Лендинг (он же - посадочная страница), в рунете часто еще называют "продающая страница" - это страничка, задача которой четко конвертировать теплый целевой трафик в действия (подписка, покупка, заказ звонка, заказ услуги и т.д.). Одностраничный сайт - это просто сайт, на котором весь контент собран в виде одной страницы, чаще всего - с возможность подгрузки дополнительных данных с помощью ajax.
    С точки зрения верстки все на одно лицо - это просто html + css + javascript (разметка + оформление + взаимодействие). Возможно, с бекендом, возможно без него. Но это уже другая история.
    Ответ написан
    Комментировать
  • По поводу HTML5

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Не просто стоит, а необходимо. Поисковики уже давно понимают HTML5 со всеми семантическими плюшками и учитывают это в индексе. Да епт, поисковики уже кагбэ прозрачно намекнули, что сайты без респонсивной верстки вполне скоро будут стоять в индексе ниже, а Вы еще даже за семантику не брались. Переход безболезненный и быстрый, необходимо это сделать вчера!
    Ответ написан
    Комментировать
  • Какие фреймворки лучше подходят для создания и ведения блога?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Ответ написан
    Комментировать
  • Как сделать каталог материалов с фильтром по произвольным полям в Wordpress?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Custom taxonomies в помощь. По сути, создаете еще одну таксономию (базовые у вас есть - рубрики и метки), создаете меню, которое содержит именно эту таксономию. Если я правильно понял задачу, то на этом все, работа сделана. Если же нужны гибкие множественные фильтры - есть готовые плагины, а в базе подход тот же - либо custom taxonimes, либо custom fields.

    Вот тут смотрите мой ответ - ссылки на плагины.
    Ответ написан
    Комментировать
  • Какую CMS выбрать?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Тут ручками много писать придется. А CMS не принципиальна. Можно на WordPress + BBPress сделать (поскольку я лично специализируюсь именно на WP, то делал бы на нем). Можно на Drupal или Expression Engine, да на любой адекватной. Пуристы предложат использовать не CMS/CMF, а фреймворк - Symfony, Laravel или другой. И, в принципе, тоже будут правы. Можно пойти дальше - Python, Node.js, Rails. Вариантов целая вселенная.

    Тут скорее вопрос бюджета и сроков, плюс множество других вопросов. Если же Вы рассчитываете скачать готовую заточенную CMS именно под такой тип сайта, развернуть ее в два клика и получить готовое решение - вынужден разочаровать. Этого не будет.
    Ответ написан
  • JQuery: Как выполнить скрипт в загруженной странице с помощью .load()?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Цитирую John Resig(lead jquery developer):

    We have to strip the scripts out otherwise they may be executed many times. The case where a user inserts a list item (for example) with a script inside of it that pertains to that particular item. The user then, later, clones that list item (or moves the list item to a different part of the tree) results in the scirpt being re-executed if we haven't removed it ahead of time.

    In short: No browser does "run scripts on injection" so we're kind of defining our own semantics here - one aspect of that being that in order to avoid having scripts run way too many times we strip them out of the source.


    В общем, load() не будет выполнять код из загруженного файла. И не должен - неправильно это и небезопасно - иньекция в чистом виде. По логике, вам надо либо весь код в родителе держать, либо после успешной загрузки явно "пепрезапускать" загруженный скрипт. Посмотрите решение здесь:
    stackoverflow.com/questions/9794762/jquery-load-is...

    И еще в jQuery есть такая "слушающая" штука как live(), обязательно почитайте. В вашем случае должна решить проблему.
    Ответ написан