Задать вопрос
  • А что если я подгружаю контент сразу?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    А зачем вам тогда angular?

    вы можете сделать все правильно, а готовые данные предоставить через $httpCache, мол отдельный модуль генерируемый сервером, который дефайнит сервис с уже готовым кэшем, который и будет в последствии юзаться как дефолтный для http запросов.
    Ответ написан
    Комментировать
  • Обновление composer на сервере без доступа в Internet

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Как альтернативный вариант можно настроить локальную версию репозиториев для ваших зависимостей. Обычный git clone в какую-либо директорию, и просить composer обновляться оттуда. Можно так же поставить satis какой и т.д. а можно просто папку с архивами или git репозиториями.
    Ответ написан
  • Асинхронная обработка request'а запроса node.js (express)?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    а что за ивент такой, readable? я думал что нужно на data подписываться и считывать тело запроса по кускам (по сути у вас так и выходит).
    Ответ написан
    5 комментариев
  • PHP Built in server многопоточность

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    nginx + php-fpm и проблема решена. Я использую встроенный сервер только во время разработки (обычно это апишки, так что больше чем один запрос за раз выполнять и не нужно).
    Ответ написан
    Комментировать
  • Чат в тяжелом проекте на symfony (в любом тяжелом бэкенд-движке) — как?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    1) Node.js идеально подходит для подобных целей, так что я считаю что оправдано. Тем более что готовых реализаций полно.
    2) Все зависит от загрузки. Что бы сделать нормальный чат, вам придется писать его с применением websokets или long-pooling. в любом случае выйгрыш не на стороне php. Только если применять всякие экстеншены для распаралеливания, писать демон и т.д. Намного проще поднять сервер на Node.js (даже с учетом что вы не так сильны в этом). Да и написать надежный сервер на PHP это то еще приключение.
    3) stackoverflow.com/questions/5741792/node-js-chat-user-authentication
    4) опять же проблем особо нету. Правда все зависит от реализации.
    Ответ написан
    Комментировать
  • nginx: несколько хостов на один index.php

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Я так понял смысл этого действия — экономия на спичках в виде отсутствия дублирования кода самой cms. Как минимум так делать не стоит, ибо вы не можете на 100% гарантировать то, что версия cms для каждого из сайтов будет одной и той же. В крайнем случае сделайте симлинк.
    Ответ написан
    Комментировать
  • Что почитать, изучить для начала

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    ну раз базовые знания html есть то стоит почитать и про css (надеюсь вы это и имели ввиду).
    Затем идет развилка. Это и выбор направлений разработки сайтов (сервер/клиент), и у каждого из направлений есть свои поджанры так сказать. А еще стоит выбор языка (благо для клиентской части выбор не велик — либо js либо никак… почти никак).

    Но можно выделить общее: нужно иметь представление, хотя бы базовое о том как работает интернет (наверное даже ограничиваться штуками вида DNS, HTTP, HTTPS) (возможно это будет интересно и познавательно).

    Раз уж вы начинающий, предлагаю начать с изучения javascript. Опять же на нем можно писать как клиентские скриптики галерейки, так и сервер. Но не советую останавливаться на одном языке. Попробуйте php, ruby, python… что понравится по синтаксису, что вообще понравится то и используйте. Со временем придет опыт, и вы станете выбирать язык уже по мере необходимости. Все языки в общем похожи, так что проблем с переходом с языка на язык особо не возникнет. Правда переход с js на что-то другое возможно будет тяжелым.
    Ответ написан
    2 комментария
  • Тема диплома: создание ORM на PHP с применением последних нововведений?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    а с каких это пор php поддерживает примеси? трейты != примеси, и использовать их для реализации orm как-то глупо.

    Как тема диплома, ну… на фоне тех что я видел еще нормально, хотя как-то скучно.
    Ответ написан
    Комментировать
  • Как лучше внести большие изменения в структуру бд?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    миграции для того и нужны. И они по сути выполняются как консольные команды. По поводу мусора в консоли — а какая вам разница? Миграции должны просто накатиться корректно, у меня они вообще накатываются в ci сервере и я вообще не вижу что там происходит. Только если что-то не так пойдет на email лог скинется.

    Если же вы напишите консольную команду, то через некоторое время, если вам понадобится еще чего обновить, потребуется добавить поддержку версионизации структуры и по сути вы напишите еще один компонент миграций. Так зачем?
    Ответ написан
    Комментировать
  • MediaStream в Opera 12

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Ответ написан
    Комментировать
  • Хочу извлечь пользу из Scroll Lock

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    проще и удобнее будет написать подобную утилитку на C#. Как минимум проще взаимодействовать будет с vk api.
    По поводу доступа к светодиодам — www.aboutmycode.com/miscellaneous/faking-num-lock-caps-lock-and-scroll-lock-leds/

    Думаю этого должно хватить для реализации.
    Ответ написан
    6 комментариев
  • Перехватка трафика для REST API разработки

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Эм… а почему просто не добавить в rest-API систему логирования запросов/ответов? Подмена данных в запросах? опять же, почему просто не составлять свои и отправлять через тот же curl…

    p.s. сам занимаюсь тем же, но как-то вот ни разу не было необходимости мониторить что кто присылает. Зачем?
    Ответ написан
  • Несколько вопросов к толковым разработчикам относительно mvc и php?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    M — модели… если упростить — это просто проекция вашего хранилища данных (будь то ORM/ODM или обычные файлы) на объекты. И все… Бизнес логику они содержать не должны. Так же модель никак не должна знать как именно она будет сохраняться в хранилище, ибо тогда при смене хранилища начнутся приключения. В этом смысле концепция AR в том виде, в котором она реализована в Yii мне не нравится. Какой-то класс CActiveRecord который знает кучу всего о том что и как он будет сохранять, и от него надо наследовать нашу простенькую модельку содержащую в себе всего пару полей. Опять же есть разные реализации паттерна ActiveRecord, хотя мне больше по душе DataMapper (например Doctrine), при котором у вас есть отдельный компонент, знающий о том что и куда пихать. Логика по выборкам в этом случае выносится в репозитории, эдакие менеджеры записей. Плюсы этого способа — очень легко в системе заменить тип хранилища, расширять и поддерживать за счет слабой связанности компонентов. Контроллеры знают только о том что есть репозитории, которые имеют для каждой записи свой интерфейс (аля getPendingPayments()), и они не знают откуда эти модели выходят, из базы, висят в памяти или еще чего.

    V — тут все просто… шаблоны призваны отвязать представление от логики работы с данными, что бы изменение первого не вызывало редактирование какого-то сервиса/контроллера.

    C — тут сложнее. Есть две концепции, толстые и тонкие контроллеры. Последние наиболее распространены, и включают в себя два слоя: сами контроллеры и сервисный слой. Контроллеры разруливают какое действие нужно произвести с данными в зависимости от пришедших параметров, прав пользователя и т.д. Они же разруливают ситуации когда нету исхомых данных, различные ошибки и т.д. Вся бизнес логика же выносится в сервисный слой. Сервисы должны минимально знать о контексте использования и заниматься только тем, для чего они были написанны. Скажем, сервис валидации данных ничего не должен знать о сервисе для обработки платежей, или о правах доступа и т.д. Ему на вход приходят данные, и он их проверяет по правилам, описанным для этой модели.

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

    Так же при работе с сервисами очень помогает использование контейнера зависимостей. Благо готовых реализаций (как простых, как Pimple так и сложных, как например DiC в Symfony2 или Zend2) достаточно много.

    p.s. Мое мнение не претендует на истину. Если кто-то увидел что-то в таком подходе что-то не корректное, буду рад если укажите.
    Ответ написан
    Комментировать
  • Генерация JSON с вложенными объектами

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Вам так или иначе придется привязать к вашей структуре плоские данные. Просто у вас выбор, либо писать это самостоятельно (обычный цикл и мэппинг полей на массив) либо воспользоваться каким-либо orm, который будет заниматься этим за вас.
    Ответ написан
    Комментировать
  • Предзагрузка в require.js

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Простите, а зачем при таком подходе вам вообще require.js? Можно же использовать всякие head.js и прочее, раз уж у вас настолько связанные модули. Да и плагины для jquery это не модули вовсе. Можно их сгруппировать вместе с jquery, раз уж они только в этом контексте используются. Так делают с плагинами от twitter bootstrap к примеру.
    Ответ написан
    Комментировать
  • Расширяю знания по JS. Какие фреймворки изучать?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    собственно angular и backbone сравнивать не корректно. backbone дает лишь общий каркас, помогает реализовать модель и синхронизацию данных с сервера, когда как angular дает жесткую mvc структуру и массу плюшек (тот же биндинг данных, директивы, сервисы...) По сути вам никто не мешает использовать backbone и angular.js в связке (модель на backbone как сервис для angular или чего еще).

    По поводу библиотек — почти все библиотеки не привязаны к фреймворку. В backbone лучше использовать штуки типа require.js для ресолва зависимостей. В angular.js можно библиотеку зарегистрировать как сервис и использовать через di. Ну и так же для него масса готовых модулей. Так что тут привязываться к фреймворку смысла нету.

    По поводу совместимости с yii — если общение производится посредствам rest api — глубоко плевать на чем она реализована.

    Ссылки не приведу… У angular.js и у backbone все очень неплохо с распространением, да и с производительностью (ну как… у ангулара есть пока грешек с грязной проверкой изменений, но вроде как планируют перевести это все дело на Object.obsorver). Раньше использовал backbone, последние пол года полностью все на angular (от админок и одностраничных приложений до phonegap, хотя для последнего выгоднее использовать backbone ну и жесточайше оптимизировать ui, но это на порядок увеличивает сроки).
    Ответ написан
    3 комментария
  • Вызов функции java класса из javascript кода?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    должно обновляться?
    setTimeout(location.reload.bind(location), 1000)
    
    Ответ написан
    4 комментария
  • Как эмулировать сабмит формы в браузере?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    так как метода deserialize у jquery нету, придется просто написать его (пробегаем по хэш-мэпу, берем имена полей, распихиваем значения по инпутам). Ну а потом просто form.submit()
    Ответ написан
    1 комментарий
  • Технологию или оптимальный способ реализации?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    AngularJS + mongolab в качестве хранилища данных. Написать по примерам можно за вечерок не особо напрягаясь. И будет сильно модно молодежно.

    p.s. у нас для таких вещей есть корпоративная wiki. Так же гуглодоки очень даже подходят. Правда времени уйдет на настройку одинаково что так что эдак.
    Ответ написан
    Комментировать