Задать вопрос
  • Есть ли объективные причины отказаться от аннотации?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Почему аннотации это плохо? Потому что аннотаций в PHP нет (во всяком случае пока). А то что есть - это кастыль основанный на phpdoc.

    В целом аннотации это хорошо и удобно. Если вы делаете что-то что будут использовать сторонние разработчики, не пользуйтесь аннотациями, yaml дает больше гибкости в плане управления конфигурацией. Но опять же это весьма спорный момент.

    Есть еще одно НО. Скажем я когда-то был категорически против использования аннотаций в сущностях доктрины. Представьте себе типичный проект на symfony. У нас есть какое-то поле и мы должны написать туда минимум аннотацию для доктрины и аннотацию для валидатора. Если мы пишем апишку то появляются всякие сериализаторы и прочая чушь, документация к API и тд. Ну и собственно сам phpdoc. В итоге на одно поле сущности выходят минимум 5 строк в phpdoc с аннотациями.

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

    Короче в чем мысль, аннотации и атрибуты это клевая возможность декларативно определять как система должна себя вести. Но многие разработчики уж как-то сильно перебарщивают с этим. В остальном это лишь дело вкуса.
    Ответ написан
  • Как подключить symfony2 в существующий проект?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    1) делаем адаптер PSR-7 (или HttpKernel) к вашему движку
    2) делаем приложеньку на симфони
    3) ставим мидлвэр который будет разруливать на какое приложение какие запросы кидать. Это можно разруливать и через nginx но как-то не круто.
    4) когда начинаем пилить функционал на симфони и нужно что-то реюзать из старой кодобазы, стараемся отделить то что мы хотим заюзать от старой инфраструктуры (можно скажем сервис-декоратор запилить для старого движка) и регистрируем его в DI
    5) постепенно переносим код, модель можно оставить старую если это возможно.

    По сути основная сложность отделить модель от инфраструктуры движка и почистить сервисный слой.
    Ответ написан
    Комментировать
  • Как правильно синхронизироваться с проектом, который находится на удаленном сервере?

    opium
    @opium
    Просто люблю качественно работать
    откройтие для себя гит
    Ответ написан
    Комментировать
  • Как правильно синхронизироваться с проектом, который находится на удаленном сервере?

    @ChernovGV
    Ну думаю все же стоит поставить какую то систему контроля версий. Странно как такой проект без нее обходится в принципе)
    Ответ написан
    1 комментарий
  • Будет ли работать mysql с нагрузкой примерно триллион записей?

    viktorvsk
    @viktorvsk
    Конечно, все зависит от многих условий, но в общем случае при таких объемах нужно дробить таблицы (partitioning). Как следствие, сначала нужно будет с каждой таблицы выбрать нужные данные, а далее проводить с ними какие-то операции - джойны и т.д.
    Ответ написан
    Комментировать
  • Что нужно для безболезненного перехода на linux?

    @AquiHostStrider
    Две вещи.
    1) Определить круг решаемых задач.
    2) Составить план действий.

    Испокон веков переход на Linux с Маздая тормозится двумя вещами первое -- игрули, второе -- совместимость с Негрософт офис. Геймерам и фанатам вряд ли захочется возиться с настройкой эмуляции, а линуксовый Steam пока беден. Но все известные мне олдовые игры работают ровно. Что касается перехода на LibreOffice -- проблема со скриптами в *.xlsx -- функции ведут себя немного по-разному, так что если у тебя сложная бухгалтерия, то скрипты придётся местами переписывать. Со шрифтами проблема решается их установкой (ваш К.О.). С интерпретацией html-application (*.hta) -- установкой приблуды ie6forlinux. Всё остальное не имеющее нормальных альтернатив -- Фотошоп и прочее, -- хорошо работает в эмуляции (WineX). Да, основной метод установки и удаления софта -- не запуск setup.exe, а с помощью менеджера пакетов из подключаемых репозиториев (ну почти как в Андроиде, в маркет ходить, да).

    Дальше -- как правильно сказали -- поиграйся в виртуалке, только виртуалка должна быть с EFI и поддерживать загрузку с образов с таблицей разделов GPT. Потом, по мере познавания дзена -- организовать multiboot, попробовать поставить на реальную машину рядом с Win8. Вынести C:\Users на отдельный том и монтировать его под Linux в /home. Потом -- постепенно переносить настройки софта (профиль Хрома и всё прочее). Потом -- сносить Маздай.
    Ответ написан
    7 комментариев
  • Правильный deploy Symfony2 проекта при наличии bower.json и grunt?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    на CI-сервере делаем билд (tar.gz/deb/rpm) по git push и деплоим его. Для деплоя, коль уж вы rsync-ом пользуетесь. можно воспользоваться штуками типа капистрано/капифони.

    p.s. рекомендую посмотреть в сторону vagrant + ansible для автоматизации управления инфраструктурой. Или вообще на docker.
    Ответ написан
  • Возможно ли заработать на играх?

    Tiendil
    @Tiendil
    Разработчик ПО.
    Заработать можно, если команда состоит из профи. В одиночку тоже можно, но сложно — нужно быть мастером на все руки.

    Реклама нынче ооооочень дорогая — это главная проблема для независимого разработчика. Поэтому нужны либо деньги либо оригинальный продукт. Причём оригинальный для массовой аудитории, а не для узкого круга лиц.

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

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

    Я, собственно, последние 3 года этим и занимался, но игра вышла через чур оригинальной и полностью жить с неё нельзя, но что-то более массовое вполне может обеспечить создателя.

    В целом, разработка игр вообще ничем не отличается от разработки другого софта, разве что в ней есть некоторые моменты из индустрии развлечений (в частности из киноиндустрии).
    Ответ написан
    Комментировать
  • Возможно ли заработать на играх?

    Mishok2000
    @Mishok2000
    Творческий программист
    Отвечу кратко: Это возможно, но сложно.
    Я бы на вашем месте учился бы создавать небольшие игры в одиночку\с компанией друзей после работы для того, чтобы набраться опыта и не причинить вред своей семье и вообще вашему бюджету, а позже, когда вы хорошо поймете, что вы умеете делать игры, то сделайте небольшую аркадную мобильную игру(это не очень сложно, но прибыльно) и вложите в неё немного денег для рекламы. И там уже, как пойдет. :)
    Удачи!
    Ответ написан
    Комментировать
  • Возможно ли заработать на играх?

    saboteur_kiev
    @saboteur_kiev Куратор тега Разработка игр
    software engineer
    Если вы задаете такой вопрос, то нельзя.

    Разработка игры - это технический процесс.
    Заработок на разработке игры - бизнес процесс. Если вы задаете такие вопросы, то скорее всего вы не сможете заработать на разработке игры своими силами.
    Ответ написан
    4 комментария
  • Изучение Symfony2/Laravel, сколько времени потребуется?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    сколько примерно времени займёт период от начала изучения до первого собеседования

    По персонажам которые приходят на собеседование могу сказать что некоторые и за год работы не знаю ничерта о том что и как они используют.

    На symfony2 в среднем проекты поинтереснее, так что я рекомендовал бы именно его. В любом случае переход laravel <-> symfony не является проблемой, ибо различия принципиальные там только в ORM идущей из коробки. Архитектура же этих фреймворков в целом схожа, разница в нюансах. Например в laravel мидлвэры как отдельная сущность, а в symfony они реализуются через события ядра, но суть та же. Еще нюансы с доктриной, эта штука довольно сложная и ее очень легко использовать неправильно, особенно с mysql. Но после того как разберетесь с ней возвращаться на всякие там active record-ы совсем не захочется. По сути это единственная полноценная ORM в php мире.

    Еще вне зависимости от выбора рекомендую ознакомиться с такими штуками как луковая/гексагональная архитектура, почитать чего по TDD и тестирование в целом. Кента Бэка например, Эрика Эванса.
    Ответ написан
    4 комментария
  • Как разобратся с MVC?

    1) У вас должна быть таблица, в которой вы храните комментарии.
    2) Создайте ОДНУ модель Comment. Она будет относится к таблице Комментарии. Лучше, сгенерируйте модель через gii - будет понятнее. Обратите внимание, что у модели будет метод tableName(). Он показывает, что один класс отностится к одной таблице.
    3) Сделайте view, которая показывает все строки таблицы и view, которая показыает конкретную запись таблицы. Итого две вью.
    4) Сделайте контроллер, который будет отвечать за ведение комментариев. В контроллере будут экшены, которые будут отвечать за разные действия с комментариями - один для добавления, один для удаления, один для показа всех, один для показа конкретного.
    Ответ написан
    Комментировать
  • Стоит ли изучать Symfony?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    не составит труда, если изначально все было спроектировано правильно.

    И тут приходим к тому что нужно учить не фреймворк, он тут много погоды не делает (хотя в Symfony чуть сложнее накосячить, хотя всегда можно сделать ужасно). Так же есть определенные нюансы. Скажем если вы захотите проникнуться настоящим феншуем, DDD всякими и т.д. придется отказаться от MySQL в пользу PostgreSQL (если конечно вы не работаете с ораклами какими, в mysql все плохо с автоинкрементами, что накладывает определенные ограничения при работе с Doctrine и заставляет писать кучу лишнего бойлерплейта что бы все было красиво, хотя этот бойлерплейт можно реюзать).

    По сути единственная разница между приложениями на Laravel и Symfony - ORM идущая из коробки (как бы все можно подменить под себя). Все остальное - минимальные различия. А с нормальным ORM (а в PHP мире она пока одна - Doctrine) уже можно делать дела красиво и эффективно с точки зрения трудозатрат. Но даже с ActiveRecord можно жить и не тужить.

    Словом, я не знаю что вы хотите получить от Symfony, по сути переход с одного фреймворка на другой вам мало чего даст.

    Прочитал много мнений о том что Laravel намного быстрее работает чем Symfony.

    Вот этот параметр просто не учитывайте. Как минимум Laravel основан на компонентах Symfony и единственное узкое место, которое явно работает медленнее это Doctrine ORM, но та гибкость которую она дает слихвой оправдывает прожерливость. Да и смысл вообще по этому поводу загоняться этом есть только на больших нагрузках, а так вы с большей вероятностью убьете производительность не расставив где надо индексы в базе.

    подскажите правильный путь

    А правильного нет. Каждый сам свой путь выбирает. Хотите развиваться? Читайте книги. Кента Бэка почитайте, Эрика Эванса и других персонажей... Расширяйте кругозор, а далее что понравится. А да, не ограничивайтесь книгами только для программистов. Почитайте чего по процессам разработки (чего-нибудь про скрамы, канбаны, лины, континиус импрувмент).
    Ответ написан
    4 комментария
  • Как вызвать EntityManager в контроллере, который определен как сервис?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Сейчас понадобилось некоторые методы в контроллере использовать повторно

    Поздравляю, вы на пути к application level сервисам и тонким контроллерам.

    вместо того что бы делать контроллеры как сервисы - просто делайте сервисы и проблем не будет.

    А примеры там есть: symfony.com/doc/current/book/service_container.html - почитайте.
    Ответ написан
    2 комментария
  • Как в Twig вывести вывод метода класса?

    keltanas
    @keltanas
    Software Developer
    \AppBundle\Entity\City::getNameFromId(salonTables.cityId)

    Что-то мне подсказывает, что он и так использует доктрину... в качестве AR...
    Ответ написан
    Комментировать
  • Где найти эти Ваши "основы программирования"?

    IonDen
    @IonDen
    JavaScript developer. IonDen.com
    Первое что вам нужно сделать - отбросить всё лишнее. Разброд и шатание между андройдом или десктопом или какими-то скриптами - только распыление усилий. Сосредоточьтесь только на андройде например и отбросьте всё лишнее. Далее купите любую книжку, откройте официальный туториал и разбирайте шаг за шагом и пишите хоть что-то. Какое-то приложение, чтобы был какой-то вещественный результат.

    Основы программирования, о которых вы тут говорите, так просто не получить. Уйдет очень много времени, прежде чем появится глубинное понимание: "Ах, вот оно как работает!". Я тоже закончил юридический и у меня ушло много лет после, чтобы научиться программировать.
    Ответ написан
    4 комментария
  • Существуют ли НЕ видеоуроки по различным ЯП?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Есть такие штуки, книги называются, раньше говорят было модно.
    Ответ написан
    9 комментариев
  • Централизованное обновление нескольких сайтов?

    @lavrentiev
    Back-end разработчик
    Я раньше тоже задумывался как обновлять некоторые проекты используя минимум затрат по времени. И как оказалось решение было в использование Git & Composer. Скажу очень удобно и быстро, остался доволен до 7-го неба.
    Ответ написан
    1 комментарий
  • 3D или программирование?

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

    Я вот когда-то думал что 3D это мое а программирование - так, хобби... и вот уже лет 6 вообще не открывал макс...

    По поводу профильного образования - ну это вы зря. Хотя бы пару курсов не повредят. Просто стоит выбрать где учиться.
    Ответ написан
    1 комментарий