Задать вопрос
  • Как правильно реализовать модель в Symfony2 на базе MVC?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Модель в ключе MVC Это просто собирательное от бизнес логики скорее. По сути в Symfony вся логика должна храниться в сервисах.

    Entity — это просто как структура данных, сама она логикой тоже может обладать, но минимально, так как ей не доступны сервисы.

    Model в контексте форм — это что-то типа Data transfer object, то бишь некий объект, который содержит данные в нужном формате. В большинстве случаев моделью для форм являются сущности.

    Контроллеры это просто контроллеры, тут все раскрыто довольно хорошо в документации.

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

    amux
    @amux
    alp.ac
    https://cloudcannon.com/deconstructions/2014/11/15...

    Смысл в том что рисуется такая заглушка, а потом ее заменяет контент при загрузке
    Ответ написан
    Комментировать
  • Какой таск-менеджер выбрать программисту?

    @anton99zel
    29а класс средней школы №7
    А про https://bitbucket.org/ забыли?
    Насоздавал себе проекты, поставил задачки, отметил важное не важное, документацию написал сам себе))
    Ответ написан
    3 комментария
  • Какой таск-менеджер выбрать программисту?

    Я юзаю YouTrack - его можно поставить в рамках локальной сети бесплатно. Отличная штука, мне лично по функционалу (простоте), нравится в разы больше Jira.
    Ответ написан
    Комментировать
  • Можно ли подключать только отдельные элементы bootstrap?

    OKyJIucT
    @OKyJIucT
    Sunshine reggae
    В разделе "Customize" можете галочками выбрать нужные элементы и скачать только их
    Ответ написан
    7 комментариев
  • Градация уровня знаний в языках программирования. Каковы различия и требования?

    @Vasiliy_M
    Как известно есть Junior, Middle и Senior.
    Кому известно? Где? Это херню придумали рабовладельцы, что бы зп снижать программистам, что бы можно было создать ирархию, как в армии, с лычками. Все эти деления - условности. В рельной жизни такого почти нет.

    Программистов можно разделить на новичков и с опытом. Все. Разницы больше нет. У одного больше знаний в одном, у другого в другом. Не бывает супер-мега программистов. Любой человек, умеющий думать, в состоянии найти ответ на вопрос или выучить язык/технологию при желани. У меня рядом сидит коллега, он скептически относится к фреймворкам, но эксперт в Битриксе. А я Битрикс не знаю. Кто он? Кто я?

    Я ходил по собеседованиям и я чувствовал, что некоторые собеседующите, типа "сеньеры" - по сути - пустышки, которые даже адекватно собеседование провести не могут. Поэтому крайне советую вообще забыть эти деления. В реальных предприятиях есть деление, но оно больше связано с окладом и бухгалтерией. Специалист получает 10 руб, старшний специалист - 15. Всё. А уровень их может быть одинаков. Т.е. разница в том, что один просто себя дородже продал и зовется старшим специалистом.
    Ответ написан
    2 комментария
  • Как в функции вернуть результат выполнения функции обратного вызова?

    mak_ufo
    @mak_ufo
    Изучите промисы

    function do() {
      return new Promise((res, rej) => {
          getUrl(() => {
              const a = 5;
              res(a);
          })
      })
    }
    
    do().then(res => console.log(res));
    Ответ написан
    Комментировать
  • Как правильно начать карьеру фронт-ендера с фриланса?

    @InoMono
    Начать карьеру с фриленса - плохая идея.
    1) Получаем крайне низкий рост квалификации
    2) Получаем потолок роста
    3) Получаем дичайшую конкуренцию фактически "за еду". Ибо в нижнем сегменте фриленса - все переполенно.
    Ответ написан
    6 комментариев
  • Как вы оцениваете вклад проект менеджмента и маркетинга в компании по отношению к разработке?

    @InoMono
    Слышал различные мнения по этому поводу, от "маркетинг важнее производства", до "50/50" и ниже.


    Зависит от того - что именно вы производите:

    Если вы производите простые зубные щетки - маркетинг не важен. Важна минимизация цены на производстве, дешевая логистика и тп.
    Если вы решите производить "премиальные" зубные щетки, то вам нужно будет объяснить потенциальным покупателям как именно щетина ваших щеток позволит им выигрывать в лотерею, например.
    Если же ваша щетка - это самолет, и ваше имя Боинг, то конкурентов у вас по всему миру - ну 2-3-4 фирмы. Маркетинг тут чисто условный.
    Если же вы собрались представить миру новый супер проект, вложили миллиард (ну что то вроде первых iPhone) - разумеется вы не захотите рисковать весь вложенный миллиард просрать. И весь проект будет хорошо согласован с маркетингом.

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

    Понимаю что бывает по разному, много факторов, но предлагаю взять за реальный или выдуманный пример компанию веб-разработки до 10 человек.


    С маркетингом все как раз просто.
    Нужна ли кому-то ваша фирма сама по себе, обеспечена ли она заказами на 2 года вперед, или вам приходится, мягко говоря, навязываться?

    По поводу менджмента не все так просто.

    Но если фирма наприрает на схему - дешевые разработчики, много. Да, тут нужно хороших менеджеров-погонщиков иметь.

    Приходилось работать на обеспечении Олимпиады в Сочи. Так вот там принята эта схема, западная (несмотря на то, что конечные спецы были высоковалифицированными админами, но масштабность проектов - обязывала) - число менеджеров всех уровней, думается, превышало число конечных специалистов раза в три. И это тоже отлично работает.

    Если же вы полагаетесь на специалиста-разработчика. Если его квалификация высока, если он достаточно обязателен, а вы не боитесь получить от него полную зависимость (bus factor) - можно минимизировать менеджерскую составляющую. Что уменьшит и себестомость вашу. Но поднимет риски.

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

    Предыдущий ответ мне показался вообще не по теме, поэтому отвечу тоже.

    У вас немного не в ту степь вопрос. Вы пытаетесь спросить что-то типа: зачем за 100к мне пилить человеку сайт на yii если я могу отдать фрилансерам за 30к и 70к положить себе в карман?

    Ответ простой: если вы предлагаете два варианта человеку: фреймворк или, условный, вордпресс и человек выбирает фреймворк, на это есть причина. Сайт на фреймворке скорее будет поддерживаться и развиваться либо вами же, либо без вашего участия.

    Если речь идет о каком-то простеньком сайте на 5 страниц, то человек выберет вордпресс, потом зайдет в админку и поймет что это вордпресс.

    Если человеку нужен серьезный проект, который будет допиливаться месяцами, поверьте, он знает как отличить ложку от топора, и знает почему он использует топор, а не ложку.

    Обратите внимание на ответ Максим Федоров , который вам дали в комментариях, примерно об этом и идет речь. Дело не в том, сколько и за что вам заплатят, а в том, что человек знает какие задачи должен выполнять проект и делает выбор в пользу того или иного инструмента.
    Ответ написан
    Комментировать
  • Что за ошибки вылезли на сайте?

    OKyJIucT
    @OKyJIucT
    Sunshine reggae
    Это print_r выводит содержимое массива. 224 строка.
    Ответ написан
    5 комментариев
  • Что означает тип данных/поля DECIMAL (MySql)?

    qonand
    @qonand
    Software Engineer
    DECIMAL(X,Y)
    X - общее количество знаков в числе (с учетом дробной части)
    Y - количество знаков в дробной части
    Ответ написан
    Комментировать
  • Что говорить валютному контролю в банке насчет выполненных работ?

    vicodin
    @vicodin
    Имею некоторый опыт
    выведите эти 14 баксов на пейпал, купите две бутылки пива и выпейте одну за здравие Валютного Контроля, а вторую за Апворк
    Ответ написан
    10 комментариев
  • На какие слои должен (может) разделяться ЯП и его компилятор?

    SerafimArts
    @SerafimArts Автор вопроса
    Senior Notepad Reader
    Итак, корректный ответ на поставленный вопрос:

    Для начала, стоит понимать, что задача компилятора - взять сырец на X языке и перегнать его на Y язык. В современной жизни устоялась терминология "транслятора" и процесс "транслитерации", дабы не путать перегон в машинный код и на другой язык.

    В классическом варианте этапы следующие:
    1) Лексический анализ: Используя правила разбивает сырец на набор токенов (терминалов)
    2) Синтаксический анализ: Используя правила и набор токенов структурирует их в AST
    3) Семантический анализ: Проверяет корректность данных внутри AST (какого фига семантический анализ на этом этапе, а не позже, я, признаться хз).
    4) Генерация промежуточного кода: В частности, трёхадресного и этот этап имеет смысл при реализации императивных языков. Трёхадресный код так же можно заменить на опкод, байткод или прочие "заменители" промежуточного кода.
    5) Оптимизатор кода.
    6) Результат (генерация в конечный код)
    Во время всех процессов активно используется "таблица символов", грубо говоря "словарь".

    Ориентируясь на эти данные я сделал несколько выводов и перестроил архитектуру следующим образом:
    1) Парсинг (лексер + синтаксис)
    2) Построение таблицы символов в немного фривольном формате: Имя + Тип + Адрес/Позиция в исходном документе + Метаданные (AST и проч.)
    3) Билдер промежуточного кода (Reflection API)
    4) Приведение типов
    5) Валидация (вместо проверки корректности семантики из AST мне показалось удобнее оперировать высокоуровневым API, применяя некий паттерн матчинг, т.к. каждый тип проходит эту стадию сборки от 1 до 8).
    6) Экстенды (есть спец.тип в GralphQL, который занимается манкипатчингом) -> после него переход к п.3
    7) Рантайм (вызовы функций и проч) -> после него переход к п.3
    8) Выходной результат (Reflection API)

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

    Крайне рекомендую к прочтению:
    1) Тут много инфы человеческим языком https://ps-group.github.io/compilers/ особенно вот эта статья понравилась: https://ps-group.github.io/compilers/fsm которая рассказывает о построении таблицы переходов в синтаксическом анализаторе.
    2) И вот эта книжеца: https://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BC%D... Довольно сложная для понимания для неподготовленного читателя, но позволяет уточнить некоторые нюансы и ответить на вопросы.
    Ответ написан
    2 комментария
  • Какой ЯП выгодно изучить в дополнение к PHP?

    Я бы сделал упор на базы данных. Дополняет не только пхп, и на зп положительно сказывается.
    Ответ написан
    Комментировать
  • Vscode текстовый редактор или ide?

    OKyJIucT
    @OKyJIucT
    Sunshine reggae
    Для какого языка программирования? Посмотрите в сторону продукции компании Jet Brains - весьма годные IDE у них.
    Ответ написан
    Комментировать
  • Как реализовать поиск по фамилиям в базе?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    а как вы думаете? почему все еще не вышла кортана на русском?

    ps

    это не об уникальности русского языка, просто тема еще не перешла в разряд тривиальных, на данном этапе развития ИТ

    посмотрите услуги и наработки сервиса https://dadata.ru/ вдруг что то пригодится
    Ответ написан
    3 комментария