Задать вопрос
  • Yii или CodeIgniter?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Laravel/Symfony. Yii стоит брать только для быстрой разработки. CI брать вообще уже не стоит.
    Ответ написан
    2 комментария
  • Как в YII кэшировать связанные данные?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    не стоит этого делать через active record. Вынесите функционал получения данных в отдельный компонент и там применяйте кэш.
    Ответ написан
    Комментировать
  • Что почитать по front-end'у?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    по фронтэнду - это js. А вам по верстке. Почитайте по семантике, микроформатам, посмотрите различные методологии (например тот же BEM) ну и поучите javascript.
    Ответ написан
    3 комментария
  • Как принять объект в php в данном случае?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Откройте для себя радость абстракций над запросами/ответами. Откажитесь от суперглобальных переменных, используйте HttpKernel (или свою реализацию). Передавайте в POST Body вообще json, а на стороне PHP делайте json_encode для php://input (если у нас в заголовках запроса Content-type: application/json).

    Учитесь делать вещи правильно.
    Ответ написан
    Комментировать
  • Мульти сервер или клиент-сервер?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Эм.... при архитектуре клиент-сервер, у вас один сервер и кучи клиентов. Клиент соединяется с сервером, происходит создание tcp-соединения иии все. Дальше уже клиент либо посылает данные, либо не посылает... соединение просто висит в пуле.

    Либо я не так понял вопрос.
    Ответ написан
  • Как изъять данные из массива php?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    <?php
    
    $api = '{"return":[{"usd":0.73644968},{"btc":0.01526533},{"66":0},{"aero":0},{"ar":0},{"asce":0},{"bank":0},{"blz":0},{"bltr":0},{"bnc":0},{"bpc":0},{"brit":0},{"bst":0},{"btcs":0},{"btq":0},{"cam":0},{"cann":0},{"ccn":0},{"cesc":0},{"cfc2":0},{"cln":0},{"cnl":0},{"coin":0},{"cool":0},{"cinni":0},{"crt":0},{"cso":0},{"doge":0},{"drk":0},{"duck":0},{"dvc":0},{"elite":0},{"enrg":0},{"fire":0},{"food":0},{"frsh":0},{"fry":0},{"fsc":0},{"ftc":0},{"ghc":0},{"gly":0},{"god":0},{"grc":0},{"hodor":0},{"html":0},{"icg":0},{"isis":0},{"isr":0},{"lgbt":0},{"lit":0},{"lize":0},{"ltc":0},{"lts":0},{"max":0},{"min":0},{"mj":0},{"mona":0},{"moto":0},{"mtc":0},{"neb":0},{"nhc":0},{"nmc":0},{"note":0},{"nud":0},{"pcc":0},{"pes":0},{"plcn":0},{"pop":0},{"pos":0},{"pro":0},{"pseud":0},{"pyra":0},{"qb":0},{"rce":0},{"rox":0},{"rsn":0},{"rvc":0},{"sbc":0},{"sdc":0},{"spata":0},{"spcc":0},{"spn":0},{"start":0},{"stc":0},{"super":0},{"svc":0},{"tech":0},{"thank":0},{"tor":0},{"trk":0},{"trust":0},{"uro":0},{"via":0},{"vrc":0},{"vtc":0},{"water":0},{"was":0},{"web":0},{"xan":0},{"xbd":0},{"xbl":0},{"xgr":0},{"yacc":0},{"x15c":0},{"xfc":0}]}';
    $data = json_decode($api, true);
    
    // переводим курсы валют в удобный нам формат
    $currencyRates = array_reduce($data['return'], function ($rates, $rate) {
    	return array_merge($rates, $rate);
    }, []);
    
    var_dump($currencyRates);
    
    $usd = $currencyRates['usd'];


    ideone.com/UDKezx - тут можно проверить.
    Ответ написан
    Комментировать
  • Как разделить приложение на Symfony2 на backend и frontend?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    1) все те же. Разделение приложения на два отдельных (можно сделать через одну точку входа и использовать мидлвар URL-map что бы разруливать разные приложения по урлам. Можно разделить на бандлы - FrontendBundle/BackendBundle. Этот вариант чуть менее гибок, так же как и в случае с модулями в Yii. Хотя жить можно. Лично я пробовал вариант с полным разделением лишь один раз, ибо логика бэкэнда и фронтэнда и настройки приложений слишком уж различались. Да и изначально разработчики Symfony планировали что люди будут так делать, но подход с бандлами стал популярнее.

    Разве что могу сказать, что выносить общие настройки приложений, общие части и т.д. с Symfony чуть проще.

    2) Бандлы должны быть самодостаточны. По сути это модули. Если вы не планируете реюзать код в других проектах, то смысла выносить этот код в отдельный бандл нету. В 99% случаев смысла разности бизнес-логику приложения по разным бандлам нет.

    Обычно делают какой-то CoreBundle/SiteBundle/AppBundle или что-то в этом духе и там делают всю логику проекта. Если появляется какой-то функционал, который можно реюзать (например слой абстракции для работы с платежными системами, система уведомлений или чего еще), это дело можно вынести в отдельный бандл и в последствии реюзать.

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

    3) Это неймспейс. Обычно вместо Acme пишут либо название проекта либо имя фирмы исполнителя/никнейм фрилансера...

    Большинство людей смущает необходимость хранить код на один уровень ниже. Скажем у вас только один неймспейс, код весь в нем, какой смысл в папке src хранить одну единственную папку? Вот и придумали стандарт PSR-4, который позвляет указать префикс. Например что бы избавиться от папки Acme, все его содержимое можно перетащить на уровень выше (прямо в src), и в composer.json прописать
    "autoload": {
        "psr-4": {"Acme\\": "src/"}
    }

    Это все чисто вопрос нэймспейсов и настройки автозагрузки.
    Ответ написан
    5 комментариев
  • Какой из существующих методов изменения яркости изображения (HTML5 Canvas) быстрее?

    Fesor
    @Fesor Автор вопроса
    Full-stack developer (Symfony, Angular)
    Короче ресерчил ресерчил... решил побаловаться со смешиванием цветов. Итог:
    jsfiddle.net/2MHPh/2
    Правда ускорение тут есть только для повышения яркости. Методов вычитания цвета нету, а что бы добиться понижения яркости сложением нужно два раза инвертировать изображение (исходник, можно инвертировать перед операциями заранее, и результат). В этом случае производительность будет явно такой же.

    jsperf.com/imagedata-manipulatioons - сравнение производительности. Каждый тест-кейс по сути представляет собой обработчик события изменения значения яркости.

    Update:
    Сделал инверсию через мод смешивания "difference".
    jsfiddle.net/sjGcA/2
    теперь это полноценная реализация. Разницу стоит смотреть на мобильных девайсах.
    Ответ написан
  • Что нужно, чтобы отслеживать изменение html в gulp?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    опечатки в путях? Как минимум две опечатки вижу.
    Ответ написан
  • Как понять определение из bootstrap 3.0 ?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Между колонками сетки есть отступы (по дефолту 30 пикселей), которые задаются свойством padding. Так как у первой колонки будет лишний отступ, может возникнуть ситуация, при которой последняя колонка не будет влазить, или просто наши колонки будут сдвинуты на ширину отступа. Что бы это дело компенсировать, нужно для контейнера ввести отрицательный отступ (margin) на ширину отступа от колонки.

    Просто посмотрите через инпектор пример сетки и отключите отрицательный margin.
    Ответ написан
    Комментировать
  • Нужно поделить код на файлы C++. Где ошибка?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    en.wikipedia.org/wiki/Include_guard

    Ну и как-то у вас трешачек, классов не хватает и все такое...
    Ответ написан
  • Создание сервиса: нативное мобильное приложение + API сервиса. Что к чему? Что отдавать?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Написать простенькое приложенице под iOS/Android может даже ребенок. Я конечно слегка утрирую, но путем гугления и чтения мануалов можно довольно быстро разобраться с основами. Простенький клиент на той же Java написать вообще не проблема.

    Вы же можете написать клиент для вашей RESTfull API на PHP? Если нет, у вас проблемы с PHP и программированием в целом. Если да, проблемы написать нативное приложение для любой платформы (если это не какие-то сложные вещи а просто клиент для апишки и UI) сложностей не должно вызвать.
    Ответ написан
  • Почему IE11 неправильно эмулирует IE8?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    начиная с IE11 поддержка условных комментариев была удалена. Ставьте виртуалку с IE.
    Ответ написан
    Комментировать
  • Kohana vs Yii vs ...? Какой фреймворк способен максимально эффективно использовать ресурсы сервера?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Symfony2 так как дешевле купить еще пару серверов нежели оплачивать оверхэд на поддержку самописной херни (оплачивать деньгами или, если вы все будете писать сами, своим временем). Архитектура приложения решает все же достаточно много. Узкие места можно написать на Go (Node.js все же для критичных мест я бы использовать не стал), можно не использовать ORM а обойтись Doctrine DBAL. Как вариант можно просто выкинуть PHP и писать на голом Hack.

    Так же можно попробовать Phalcon, но я если честно его не трогал даже по причинам описанным выше. Можно еще потыкать ReactPHP как основу, но это уже повышает риски. Если вам нужна производительность и при этом не хочется писать говнокод, можно взять Silex и на его основе писать свой проект, со своей архитектурой...

    Вообще можно неплохо утилизировать ресурсы сервера за счет грамотных настроек базы и подключением кешей.
    Ответ написан
    Комментировать
  • Как отразится на разработчиках переход на новую версию виртуальной машины в OS Android?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Вся суть виртуальной машины в том, что бы разработчики не парились о ее реализации. Более того, с момента релиза Android 4.4 прошло достаточно времени что бы разработчики могли проверить как их ПО работает с ART, а Google смог отладить виртуальную машину.
    Ответ написан
    1 комментарий
  • Почему не выводится запись с БД?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    А где инициализация соединения и почему оно не передается в mysql_query?

    А вообще поддерживаю @IceJOKER, переходите на mysqli/PDO, ибо mysql* функции являются устаревшими и смысла их учить не особо много. Даже что бы разобраться.
    Ответ написан
    Комментировать
  • Как на C# реализовать многопоточное управление MySQL?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Организуйте пулл соединений, очередь запросов и разруливайте.
    Ответ написан
  • Angular - как изменить ng-model через контроллер?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Скажите, зачем вам AngularJS? Или проект достался в наследство?

    jsfiddle.net/GxqfK/1

    Контроллер связывается с вьюшками через $scope, это по сути уровень абстракции такой. Модели и контроллеры ничего не знают о том как у вас формируется представление, они просто предоставляют данные. А вот директивы интереснее - они могут работать с DOM и инкапсулировать в себе какую-то логику. Например в моем примере, для инпута range берется значение и конвертируется в число (не понятно почему этого нету из коробки... ну да не суть).

    Подробнее можете найти в документации. Советую простись мо поему примеру и осознать все что там происходит.
    Ответ написан
    Комментировать
  • Как установить angular Js?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    для того что бы попробовать вам не нужен ни денвер ни командая строка ничего вообще. Для того что бы начать разрабатывать хоть что-то сложнее хэло ворлда вам стоит поставить node.js.
    Ответ написан
    5 комментариев
  • Есть ли толковые PHP-библиотеки для работы с внешними биллинг-системами?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    jmsyst.com/bundles/JMSPaymentCoreBundle (к сожалению не припомню в планах делать сплит в отдельную библиотеку, а было бы неплохо).

    Можно еще поискать
    Ответ написан
    1 комментарий