Задать вопрос
  • Как настроить route and services and controller?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    потому что роут с айдишкой перекрывает его, подпадает под правило. Либо поместите роут выше, либо укажите что в качестве ID могут быть только инты.

    и уже устал рыть просторы интернета


    почитайте angular-styleguide

    Это к сути вопроса не относится, просто замечания по коду.
    Ответ написан
    1 комментарий
  • Как можно при компиляции less в css сохранить комментарии?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    ставить комментарии правильно, в формате css.

    А вообще есть такая чудная штука как sourcemaps и тогда не надо изобретать ничего.
    Ответ написан
    1 комментарий
  • PHP, server-side, web-dev. Что лучше два монитора или один большой 27дюймов?

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

    Я же просто подключаю к своей 13" прошке 24-х дюймовый монитор, расположенный чуть выше, и это для меня пока удобнее чем 2 рядом стоящих 24" монитора (с учетом виртуальных рабочих столов большую часть времени вы будете смотреть только на один монитор.

    27" монитор для работы пока не пробовал, на работе стоит парочка таких только что бы графики загрузки серваков выводить + алертика.
    Ответ написан
    Комментировать
  • Cложно ли будет перевести большой проект с angular 1.4 на angular 2?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Angular 1.3 meets Angular 2 - описание того как упростить переход с angular 1.x на angular2, а точнее каким правилам стоит придерживаться для этого.

    p.s. тыкал angular2, пишу на angular1.4, разница конечно существенна но не настолько критична что б уж совсем паниковать.
    Ответ написан
    Комментировать
  • Как получить список пользователей из динамически добавленных элеменов select?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    опять jquery-style...

    1) никогда не работайте с DOM на прямую. Вообще никогда. Если можно обойтись без этого - то обойдитесь без этого. Вместо ваших стремных кастылей с append и $parse используйте ng-repeat. Вместо ng-repeat для опций используйте ng-options.
    2) вместо link старайтесь использовать контроллер директивы. Пусть данные управляют представлением а не представление данными. link используется только для одной цели - работа с $scope и c DOM. Избегайте этого места.
    3) Для того что бы уведомить что что-то поменялось - используйте колбэки. Читать про изолированный скоуп и волшебный символ &.
    Ответ написан
    Комментировать
  • Как правильно использовать webpack + angular templateCache?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    https://github.com/angular-class/NG6-starter - как-то так. То есть angular template cache не нужен вообще.
    Ответ написан
    4 комментария
  • Как обрезать текст на Angular?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Комментировать
  • Авторизация на angular?

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

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Если будете делать то же API что и в php то не стоит. Да и потом большая часть этого добра есть в стандартной библиотеке.

    А что-то чего не хватает - да, можно запилить как отдельну библиотеку. Например расстояние левенштейна между двумя строками.
    Ответ написан
    Комментировать
  • Зачем интегрировать Tomcat и web-сервер Apache?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    хз, вот интеграция с nginx да.

    если серьезно - tomcat просто медленный.
    Ответ написан
  • Как использовать Laravel Blade за пределами Ларавел в виде класса?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    возьмите pimple (или php-di), и вообще почитайте про инверсию зависимостей.
    Ответ написан
    4 комментария
  • Какой JS фрэймворк/библиотеку использовать совместно с laravel?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Reactjs + flux (пока angular2 не вышел)
    Angular (но тогда будут нюансы в плане организации сервер сайд рендринга + много статей и учебных материалов которые учат делать не правильно).

    Другой вопрос что если у вас уже готов backend значит вам не подходит SPA (при этом подразумевается что backend это чисто HTTP API). А это значит что нам нужен jquery и вперед и с песней. Ну и может дополнительно библиотеки для маршрутизации запросов на клиенте и т.д.
    Ответ написан
    3 комментария
  • На чем делать back-end для мобильного приложения + web?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Снизить затраты на разработку бэкенда, для того, чтобы сосредоточится на разработке мобильных приложения для android и ios.


    если на бэкэнде тупой круд - то конечно же готовые сервисы. Минимум усилий - максимум результата. А если потом надо будет развиваться можно уже написать нормально.
    Ответ написан
    Комментировать
  • Как подключить в Jade использовать AngularJS?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    input(type='text', ng-model="word")
    | {{world}}


    биндинги должны быть расставлены как содержимое элементов. Ну и да, у input не может быть вложенных элементов, а из вашего кода выходит что вы хотите именно так.
    Ответ написан
    5 комментариев
  • Вопросы по быстродействию + Какую базу лучше всего использовать?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    все зависит от того что вы с этими данными делать будете. Если просто хранить - то выдержит конечно. Если делать сложные выборки - то зависит от нагрузки и количества запросов а так же расставили вы индексы или нет ну и все такое. Ну и для такой выборки памяти под индексы надо прилично и тюнить настройки mysql.

    Если вас интересует как ускорить запись - можно сначала загонять все в буфер (redis например) и потом пачками заносить все в базу.

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

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    о скорости работы различных библиотек


    Вообще-то там простая формула и она... ну как бы одинаково работает для всех в пределах одного языка программирования.
    Ответ написан
  • Чем парсить CSS при помощи php?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    https://github.com/sabberworm/PHP-CSS-Parser

    В целом же задачу можно реализовать в 20-30 строк, как уже говорилось, путем написания своего примитивного парсера посимвольного (с регулярками). Но это ж писать надо... и не факт что мы покроем все кейсы.

    но если вам скучно, то вот вам набросок идеи, кривой и не красивый...
    <?php
    
    $styles = "background : 'te;st'; font-size: 12px";
    
    parse($styles); // ["background", "'te;st'", "font-size", "12px"]
    
    function parse($rawStyles) {
        $styles = rtrim($rawStyles, ';') . ';';
        $isInString = false;
        $offset = 0;
        $chunks = [];
        $lastChunkOffset = 0;
        while(preg_match('/[:;\'\"]/', $styles, $matches, PREG_OFFSET_CAPTURE, $offset)) {
            $offset = $matches[0][1] + 1;
            $char = $matches[0][0];
            if ($isInString && !in_array($char, ['\'', '"'])) {
                continue;
            }
            if (in_array($char, ['\'', '"'])) {
                $isInString =  !$isInString;
                continue;
            }
    
            $chunks[] = trim(mb_substr($styles, $lastChunkOffset, $offset - $lastChunkOffset-1));
    
            $lastChunkOffset = $offset;
        }
    
        return $chunks;
    }
    Ответ написан
    3 комментария
  • Обработчик для заголовка kohana, кто какие параметры использует?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    вы только что нашли уязвомие для sql инъекций место. Варианты:

    1) prepared statements
    2) экранирование.
    Ответ написан
  • Почему тормозит SQL запрос в Yii 1.1.17 в сотни раз по сравнению с прямым?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    потому что yii результаты должен замэпить на сущности. Хоть он и делает это быстро, но с учетом left outer join и количеством рядов...
    Ответ написан
    6 комментариев
  • В чем смысл PostCSS сегодня?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    В последнее время началась мода на PostCSS - много постов, статей о нем.

    А почему бы и да? Любые инструменты надо пиарить что бы народ ими пользовался. Ибо народ будет пользоваться тем что на слуху (ну или тем с чем привык работать). Больше народа - больше идей, быстрее идет развитие, формируется комьюнити и поддерживать решение становится чуть проще. Да и приятно это когда твои наработки используют.

    Есть даже версия (не без оснований), что это - прародитель всех современных препроцессоров и веяний.

    Где ж это вы такое прочитали? postcss был попыткой решить проблемы, которые нельзя решить препроцессорами (или можно но долго).

    Окей, будем считать так, тем паче, что история коммитов на Гите это скорее подтверждает.

    Что именно подтверждает? сначала был Sass написанный рубистами что бы CSS можно было бы готовить так же нежно как они готовят HTML на HAML (кофескрипт туда же, рубистам хотелось сделать js похожим на ruby). И это заметте было в 2006-ом году! тогда и js был медленный, и V8 может только в планах был...

    Ведь все, что умеет PostCSS, умеют и препроцессоры

    postcss из коробки не умеет ровным счетом ничего. Он может только загрузить AST CSS файла и слепить из него обратно тот же CSS.

    И именно в этом сила postcss - модульность. Все существующие препроцессоры монолитны. То есть вы не можете просто так взять и добавить что-то свое туда. Да, в последних версиях less (и вроде как sass туда же подтягивается) у вас есть примитивный набор средств что бы вклиниться в процесс обработки AST документа и добавить какие-то примитивные вещи. Но это не удобно. Если вы хотите динамически менять проперти (например пересчитывать rem в em) или добавлять еще (опять же для того что бы руками не плодить в css кастыли для разных браузеров и делать это автоматом, на завязываясь ни на миксины и оставляя CSS чистым) свойств, но сделать это на less/sass сложно.

    Намного проще взять postcss и натравить это дело на результат работы препроцессоров.

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

    Вот как-то так. А за счет того что мы имеем доступ целиком и полностью к формированию и обработке AST мы можем и синтаксис CSS развивать. Примерами могут служить многочисленные плагины аля cssnext и т.п. Можно даже большую часть фич sass в виде плагинов подключить.

    А самое забавное, что работает это все быстрее того же libsass на плюсах. За счет архитектуры (имею в виду не голый postcss а с набором плагинов добавляющих функциональность sass).
    Ответ написан
    Комментировать