• Стоит ли переходить с symfony 2 на Asp.Net MVC?

    @HeBonpoc
    Перелез с Yii, не жалею. Жаль Symphony так и не посмотрел.

    1. Сложно ли вести на нем вести разработку и перелазить на новые версии, ведь он развивается бешено в последние годы ?
    Как обычно - сложные проекты, где куча завязок на "то, не знаю что" сложно, небольшие проекты, где можно за денек серьёзно все отрефакторить несложно.

    2. Насколько дорого и сложно будет содержать проект, например интернет магазина (уровня викимарта), относительно связки symfony + mysql?
    Не знаю. Вроде как спецы дороже, но mysql и СУБД'то не самая лучшая, вроде его последнее время опускают и из свободных рекомендуют postgres. Да я и сам с mysql прилично помучался восстанавливая innodb таблицы. Так что мне кажется, что на ASP NET MVC будет это дешевле, потому что делается быстрее, поддерживается лучше, железа опять же нужно меньше. Да и вакансий на PHP с ЗП > 100k полно, так что не такие то они и дешевые. Не студентам же доверять викимарты писать.

    3. На ваш опытный взгляд, стоит ли переезжать на C# с учетом выхода php 7 ? Это будет как шаг повышения квалификации и развития навыков в дальнейшем? Мне сложно ответить на этот вопрос самому, потому как не знаю шарпа.
    Я знаю про php7 только то, что там немного типизацию ужесточат. Сам до сих пор немного пишу на PHP поддерживаю пару своих же магазинов на Yii. Так вот скажу, что все-таки C# поприятнее. Как язык приятнее. Среда разработки VS + re# нисколько phpstorm'у не уступают, даже покруче, т.к. подсказывает охотнее. Тут больше возможностей языка и будет меньше магии в коде. Всё-таки когда проект билдится, как-то спокойнее на душе:) Проще рефакторить. RE# держит в узде и вьюшки (wide solution analysis).
    Ещё мне больше нравится как тут с либами работа. В PHP composer используется, и все эти либы лежат с исходным кодом. Нужно проект переносить, это бывает порядка 10000 файлов (понятно, что ), а в C# все упаковано в DLL. Если в студии ты уже использовал класс, значит он будет работать, значит он тут подключен, а в PHP с его auto_load не факт, IDE просто знает, что такой класс есть в проекте и подсказывает.
    В C# удобнее разделять слои. Вынес, например, DAL в отдельный проект, тупо ставлю галочку на зависимость от проекта в других, использую один и тот же код в консольке для разработки (всякие экспорты данных между базами) в публичной части, в закрытой части. И всё это легко, в рамках солюшена. В пыхе наверное немного бубна нужно для такого (честно не знаю, не было необходимости).

    Тут ещё про EF писали, что мол единственная ORM. Не соглашусь, орм очень много. Active record злая вещь, они тяжелые и провоцируют размазанную по всему проекту работу с БД.
    Ответ написан
    2 комментария
  • Стоит ли переходить с symfony 2 на Asp.Net MVC?

    @KuzmenkoArtem
    Я не бог в Asp.Net, но то время которое я провел с entity framework (это единственный используемый фрейморк, насколько я понял в Asp.Net, в отличее от пхп где их очень много и можно выбирать под каждую задачу.) я для себя понял, что с ним будет хорошо работать, только тем кто изначально начинал с C# для легкого перехода в веб. А для тех кто пхп-шил нужно будет "слегка" поментяь сознание, что бы им начать пользоваться:)
    Это лично мое мнение. Игрался я с ним где-то месяц. PHP 3 года.
    Ответ написан
    3 комментария
  • Стоит ли переходить с symfony 2 на Asp.Net MVC?

    @shoomyst
    dumb
    Ну вы же понимаете, что там абсолютно другой стек технологий, которым вы будете достаточно жестко ограничены? Очень многое зависит от ваших планов на будущее - всё же шарп и в чуть меньшей степени java это явный корпоративный уровень, следовательно и задачи соответственные - имхо никаких тебе стартапов и прочей веселухи.
    Чтобы читать литературу необязательно досканально знать синтаксис языка в примерах.
    Ну и не совсем понятна связь перехода с php7.
    Ответ написан
    7 комментариев
  • Как скрыть элемент после вставки в body?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    .directive('location', function () {
                        return {
                            restrict : 'A',
                            scope    : {},
                            replace  : true,
                            templateUrl : 'part.html',
                            link     : function (scope, element, attr) {
                              element.hide();
                            }
                        }
                    })

    так мол нельзя?

    Вообще проследите логику:
    - берем элемент DIV и вешаем на нее директиву
    - компилим элемент
    - вставляем в DOM и скрываем
    - angular удаляет элемент и заменяет его шаблоном (с задержкой так как выполняется ajax запрос за шаблоном).

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

    body.append(directive);
    setTimeout(function () {
         body.find('[data-location], [location]').hide();
    }, 250);


    Решение, отказаться от replace, вставить template вручную и отказаться от templateUrl.
    Ответ написан
    5 комментариев
  • Как реализовать ресайз изображений на лету средствами php?

    @kaasius
    Это можно решить на уровне nginx c помощью try_files и X-Accel-Redirect, вообще без кеша.
    Например, так:
    location <локейшен с картинками>{
        try_files $uri @resize;
    }
    location @resize {
        proxy_pass http://<адрес ресайзера с параметрами>;
    }
    location /notexist.gif {
        root /path/to/notexist/folder;
    }


    Тогда энджи сначала попытается найти файл (ресайзер должен его сохранить там перед отдачей), если не найдет - попробовать отресайзить (запустится ресайзер, который, напомню, должен сохранить картинку на диск перед отдачей), а если ресайзер не нашел исходную картинку - ему надо вернуть X-Aссel-Redirect заголовок с uri /notexist.gif

    Подробнее про X-Accel можно почитать тут wiki.nginx.org/X-accel

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