• Какой выбрать php-фреймворк для простых и средних проектов?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    yii устарел... вот и все. эта самая "2 версия на носу" уже 2 года, а толку? Нету роадмэпа, комьюнити слабенькое (в среднем по уровню), не так много качественных расширений, нельзя использовать просто так отдельные библиотеки (ну как... можно, но со своими приблудами)... За это время успели выйти Silex/symfony2, причем symfony уже имеет версию 2,4, огромное комьюнити и массу библиотек и инструментов упрощающих жизнь.

    Для небольших и средних проектов стоит посмотреть в сторону микрофреймворков аля Silex. Он неплохо расширяется, так что то что он micro вам не помешает.
    Ответ написан
    2 комментария
  • Что означает конструкция (function($){$(function(){ })})($)?

    GeneMoss
    @GeneMoss
    void
    $(function(){}) — это мы запускаем действие в момент загрузки страницы. А оборачиваем в анонимную функцию (function($){ })($);, чтобы избежать конфликта имен с $.

    Автор плагина предусмотрел случай, когда доллар занят под другую библиотеку/функцию/переменную. Чтобы избежать конфликта имен, достаточно будет заменить доллар на jQuery, вот так (хотя сразу так и нужно было писать):
    (function($){$(function(){
        $('select').styleThis();
    })})(jQuery);


    Т.е. передав один раз нужный параметр, нам нет нужды переписывать весь плагин.
    Ответ написан
    1 комментарий
  • Руби или же питон?

    valkiriy
    @valkiriy
    Java/JavaScript dev
    Пока Вы размышляете, я решил попробовать питон — скачал интерпретатор и документацию, по которой приятно получилось начать, она построена в примерах (файл tutorial.pdf).
    Не ограничивайте себя, попробуйте оба!
    Ответ написан
    Комментировать
  • А есть ли api у brainstorage?

    jj_killer
    @jj_killer
    Нету, он написан на рельсах, поэтому очень просто понять есть ли он или нет.
    Ответ написан
    3 комментария
  • Node.js для простых сайтов. Стоит ли забивать на PHP?

    @kxyu
    — Ненавижу лапшу из колбеков. Не представляю как можно писать что-либо серьезное на JS не используя Фреймворки, которые хоть как-то имитируют синхронность. На худой конец jQuery. Если node.js близок к нативному JS, будет сложнее. Либо придется искать фреймворк для него.


    Чтобы не было лапши из колбеков, в простых случаях достаточно просто использовать именованные, а не анонимные колбеки. В сложных случаях — async. Node.js близок к нативному JS. Но на всякий случай есть 30000 пакетов в npm.

    + Возможно, в серверной части будет не так много асинхронных задач, как во фронтэнде и не будет такой лапши из колбеков.


    Если у вас будет много синхронных задач, то Node.js не лучший выбор.

    — ПХП нравится за кучу встроенных функций (работы с массивами, строками, БД, обработкой картинок и т.д.). Если в ноде в
    функционал уровня ES4 и тупо нет библиотеки, чтобы ужать картинку на сервере не будет ли это слишком плачевным?


    В ноде нет ничего. В npm есть все. ES5.

    — Так ли страшен черт как его малюют. Понятно зачем нужна асинхронность на клиенте. Но на сервере? Только БД и связь с другими серверами (если такое встречается в реальной жизни). Может быть есть способы оптимизировать это и без асинхронности? Может быть ПХПшники через пол года придумают?


    А что еще, собственно, делает бэкэнд веб-приложения? Число пи до миллиардного знака расчитывает?

    Вывод — все в порядке, используете node.js.
    Ответ написан
    4 комментария
  • Node.js для простых сайтов. Стоит ли забивать на PHP?

    Ненавижу лапшу из колбеков.

    Скорее надуманная проблема и дело привычки. Можно структурировать код и без лапши.

    Так ли страшен черт как его малюют.

    Плюс nodejs в поддержке множества соединений без особых накладных расходов. Для http (без сокетов) не очень важно. Для меседжеров, игр, какого-то специфичного интерактивного функционала маст хев.
    Ответ написан
    2 комментария
  • Востребованность open-source панели управления хостингом

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

    С учетом того что это для маленьких веб студий, то блин этим требованиям удовлетворяет настройка системы один раз, чтобы при добавлении папки с новым сайтом она автоматом подхватывалась (потому что маленькие студии не будут писать и на php и на ruby и на python сразу — они выберут что-то одно)
    Если несколько готовых типовых шаблонов — сайты на php|ruby|node и консольная команда генерации конфигов из шаблонов. Я такое писал для php когда увидел какой ужас творит ISP — там два шаблона + sh + awk + табличка с сайтами — генерило на ура (но это конечно на коленке)
    В особо запущенных случаях — подключение куска конфига из папки с сайтом и команда на рестарт. И не надо городить никаких панелей управления, потому что проще определить несколько правил расположения сайтов и настроить один раз.

    Уже есть нормальная консоль управления сервером — ssh + конфиги, и не надо городить очередную поделку
    Ответ написан
    2 комментария
  • Востребованность open-source панели управления хостингом

    foxmuldercp
    @foxmuldercp
    Системный администратор, программист, фотограф
    Есть такая штука как панель управления сервером Webmin.
    Знаете, почему такие вебпанели не любят все администораторы?
    По одной простой причине — Есть софтинка Х версии 1.2.3
    Ваша вебпанель её классно умеет готовить, настраивать, перезапускать.
    Через неделю выходит новый билд 1.2.4 с критичными багфиксами и изменением дефолтных настроек нескольких параметров на диаметрально противоположные настройки, например.

    1. Насколько быстро Вы об этом узнаете?
    2. Насколько быстро Вы это отследите?
    3. Насколько быстро Вы это исправите?
    4. Действия Вашей программы, в случае если программа Х обновляется?
    5. А если одновременно обновляется не программа Х, а два десятка, включая системные библиотеки, и формат скриптов запуска демонов?

    А если выходит вообще новая версия 3.0.0 где опции разбиваются на три десятка конфигов?

    И еще десяток вопросов, которые озвучат другие читающие.
    Первое что я делаю, если вижу такой хлам на сервере — сношу его к чертям, как лишний способ поломать сервер кривыми PHPшнымы скриптами и поломать софт на сервере затиранием его конфигов.
    Ответ написан
    1 комментарий
  • Посоветуйте тяжелую CMS на PHP

    ertaquo
    @ertaquo
    Битрикс, особенно если в него много товаров забить
    Ответ написан
    Комментировать
  • Flask для больших проектов

    @realduke
    Ну и добавлю еще, что мнение, что Flask не подходит для больших проектов — заблуждение. Конечно, фразу «большой проект» можно по-разному трактовать, проект может быть с сильно большой кодобазой, а может быть довольно высоконагруженным, может еще какой-то смысл можно вложить, не знаю. В Flask есть лишь одно ограничение, которое нужно учитывать при разработке — это context local objects. Вот именно оно вносит некоторую сложность при наличии большой кодобазы, т.к. несколько объектов, определенных в github.com/mitsuhiko/flask/blob/master/flask/globals.py, являются глобальными, и для их использования их нужно явно импортировать, в результате можно легко выстрелить себе в ногу. Для высоконагруженных проектаов с умеренным объемом кода проекта я не вижу проблем. Связка nginx + gunicorn + приложение может выдерживать нормальные нагрузки даже на одной машине. Если проект сильно большой, то никто не мешает задеплоить несколько фронтэндов и использовать балансировщик.

    Flask — это лишь небольшая обертка над Werkzeug в виде класса, который выступает в роли callable объекта для WSGI, клей для Jinja, API для расширений, ну и несколько вкусняков в виде блюпринтов и сигналов. Кода не много и он легко читается.
    Ответ написан
    1 комментарий
  • Разделение прав API?

    DeusModus
    @DeusModus
    ru.wikipedia.org/wiki/OAuth скорее всего вам подойдет.
    Также можете посмотреть www.myintervals.com/blog/2009/06/19/api-authentication-methodologies/.

    У нас лично применяется подход на основе сигнатур. Что-то вроде: www.infoq.com/news/2010/01/rest-api-authentication-schemes
    Ответ написан
    Комментировать
  • Имеет ли смысл писать свою обертку над PDO?

    Inori
    @Inori
    Нет, лучше проведите время за изучением того, как это реализовано у крутых дядек (Doctrine, Propel).
    Ответ написан
    Комментировать
  • Имеет ли смысл писать свою обертку над PDO?

    @nick4fake
    В большинстве случаев, нет. Есть doctrine и куча других готовых библиотек.
    Ответ написан
    Комментировать
  • Что скажите о труде Дональда Кнута «Искусство программирования»?

    @edogs
    Очень много математики. Без нее понимать трудно.

    Дает очень хорошую базу по алгоритмам и программированию, _при условии_, что база математики уже есть хорошая. Без математической базы — читать почти бесполезно, в лучшем случае окончится зазубриванием алгоритмов без понимания их сути и умения их строить — а это дай бог 10% книги.
    Студенты на «прикладной математике» осиливали, студенты чисто «компьютерных» специальностей обычно не тянули.

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

    Для серьезного программиста — имхо — обязательно прочесть и понять от корки до корки.
    Ответ написан
    2 комментария
  • Хотите написать модуль для PHP 5.4+?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Есть вообще-то такая штука как persistent connection (Из перевода понятно что это «постоянное соединение»). Оно не рвется от сессии к сессии и позволяет нешуточно разгрузить базу данных (дергать ее будут меньше по каждому чиху).

    Правда не без проблем это… так что думать надо перед тем как использовать. Для справки — прекрасно все и с PDO и с mysqlii.

    И еще интересное чтиво по теме: www.mysqlperformanceblog.com/2006/11/12/are-php-persistent-connections-evil/
    Ответ написан
    4 комментария
  • Стоит ли учить пхп новичку?

    @svyatPlehanov
    Если вы энный месяц штудируете html, css, JS+jQuery, то, возможно, стоит дальше смотреть в сторону фронтенда?
    Ответ написан
    3 комментария
  • Стоит ли учить пхп новичку?

    Talyutin
    @Talyutin
    Учите, хуже не будет.
    Ответ написан
    Комментировать