• Как отобразить img(любой тег) в Wordpress?

    Antonoff
    @Antonoff
    Разработчик
    Советую выпить чайку, переосмыслить ваш вопрос и что вы хотите сделать, и задать его ещё разок, а мы подождём.
    Ответ написан
    Комментировать
  • Какая есть альтернатива site-analyzer.com?

    Если вас интересует внутренний анализ сайта, то я остановился на Screaming Frog
    Ответ написан
    Комментировать
  • Как легче освоить внедрение зависимостей, code-first, TDD и паттерны?

    Valeriy1991
    @Valeriy1991
    Разработчик .NET C# (ASP.NET MVC) в Alfa-B, Moscow
    Добрый вечер! Спасибо за приглашение.
    На мой взгляд, Вам следует придерживаться следующих приоритетов по изучению:
    1. внедрение зависимостей более важно из Вашего списка, т.к. относится к SOLID принципам;
    2. TDD - на мой взгляд, вещь более нужная для изучения, чем code-first или patterns. Сам не так давно начал разрабатывать по TDD. Это очень здорово, что изобрели такой подход. Экономит тонну времени на ручное тестирование, а также дает быстрое понимание, что и где случайно (или неслучайно) сломалось. Главное - понимать, что покрывать тестами;
    3. третьим в список я бы добавил AngularJS или KnockoutJS или BackboneJS - сам пока что не изучил их и не начал применять, но судя по их популярности и преимуществам - думаю, Вам стоит с ними ознакомиться;
    4. code-first или database-first - не так уж и важно на Вашем этапе понимания. Главное отличие подхода Code-first: 1) модель пишется вручную, в связи с чем не нужно постоянно отслеживать edmx-диаграмму (т.е. можно считать, что Ваша code-first модель всегда находится в актуальном состоянии); 2) поддерживает миграции БД. В Database-first Вам нужно самому отслеживать актуальность состояния Вашей edmx-модели - с этим тоже могут быть проблемы. Опять же - только с опытом. С другой стороны, Database-first позволяет наглядно видеть Вашу модель, а вот Code-first - нет;
    5. паттернами тоже можете пока что голову не забивать. Безусловно, это нужно, но понимание их придет только с опытом (признаюсь честно: я сам не до конца все паттерны знаю и понимаю). На мой взгляд, важно соблюдать 1 основной паттерн - 3-уровневая архитектура (клиентский слой, слой бизнес-логики, слой работы с данными).

    Теперь по MVC.
    1. Model - тут, в принципе, всё просто: модель данных. Здесь можно поспорить, что иметь в виду под Моделью: модель самих данных или модель представления. Лично я после опыта работы с шаблоном MVVM в WPF под моделью данных в терминах ASP.NET MVC понимаю модель представления, а под термином "модель данных" - саму доменную модель (EF code-first, например). Кто-то может сказать, что это "лишняя работа" - по упаковыванию модели данных из EF-объектов в объекты модели представления. Да, частично соглашусь. Но зато это дает некую гарантию безопасности, что случайно пользователь не поменяет важную часть модели данных (например, ID).
    2. Контроллер. Основная задача контроллера - сформировать данные для отображения и передать эти данные в представление. Т.е. нужно стремиться к тому, чтобы код метода действия в контроллере содержал минимум кода. В идеале - вызов метода из слоя бизнес-логики и передача полученных данных в представление. Если Вы видите, что метод действия в контроллере содержит какую-то бизнес-логику, то это сигнал к рефакторингу: Ваш метод действия слишком много знает. По опыту могу добавить, что в среднем код метода действия содержит от 2 до 20-30 строк кода (с учетом того, что скобки { и } расположены на отдельных строках).
    3. Представление. Тут тоже всё просто: отобразить данные (из модели представления). Ни в коем случае нельзя в представлении писать логику по работе с самими данными, например, так делать нельзя:
    <div id="account">
        @{
            using(var db = new MyEfDbContext()
            {
                var userAccount = db.Accounts.FirstOrDefault(e => e.Username == User.Identity.Username);
                if(userAccount != null)
                {
                    @:Имя: @userAccount.Name
                    @:Фамилия: @userAccount.LastName
                }
            }
        }
    </div>


    Если у Вас 3-уровневая архитектура, например, есть слои:
    1. MyApp.MVC - MVC-application
    2. MyApp.BL - слой бизнес-логики
    3. MyApp.DAL - слой работы с данными
    то в представлении (View) вызывать напрямую сервисы бизнес-логики тоже нельзя, особенно, если Вы используете DI-принцип (внедрение зависимостей) и IoC контейнер. Т.е. такой пример недопустим:
    <div id="account">
        @{
            var accountService = new MyApp.BL.AccountService();
            var userAccount = accountService.GetUserAccountByUsername(User.Identity.Name);
            if(userAccount != null)
            {
                @:Имя: @userAccount.Name
                @:Фамилия: @userAccount.LastName
            }
        }
    </div>

    Попробую донести мысль архитектора и разработчика Александра Шевчука (преподавателя с http://itvdn.com): "Одна из главных целей при разработке - стремиться к упрощению системы". Ослабление зависимостей позволяет нам упрощать систему благодаря тому, что изменение осуществляется только на 1 каком-то слое/уровне. Если Вы во View вынесете логику по работе с данными, а уж тем более, как в примерах выше, работу с EF-контекстом, то Вы усилите зависимость одного компонента системы (MVC-слоя) от другого (слоя работы с данными или слоя бизнес-логики). Усиление зависимостей приводит к бОльшему числу изменений, что в свою очередь сказывается на повышении расходов на эту систему. Ослабление зависимостей приводит к меньшему числу изменений (например, при переходе от EF к native SQL или NHibernate затрагивается только слой работы с данными, а слой MVC и бизнес-логики не меняются), а значит, к более раннему выпуску системы или очередного релиза, и как следствие, снижение расходов (не только денежных, но и других ресурсов) на разработку. TDD тоже можно отнести к практикам, которые снижают затраты ресурсов на содержание системы. Но это я ушел в глобальное...

    Правильным будет подход, при котором у Вас снижается зависимость компонентов системы друг от друга, в случае с ASP.NET MVC приложением, на мой взгляд, это когда:
    - View знает о модели (я по прежнему буду иметь в виду модель представления - ViewModel, которые объявлены либо в MVC-слое, либо в слое бизнес-логики);
    - контроллер знает о слое бизнес-логики, обращается к нему за выполнением операций и получением ViewModel'ей, после чего передает во View полученную ViewModel (ну или JSON-данные);
    - Model формируется по принципу, грубо говоря, почти на каждую View своя модель.

    Фразу "правильным будет подход" я обосновываю тем, что у такого подхода есть масса плюсов (которые очевидны опытным разработчикам, но могут быть не до конца или неправильно поняты менее опытными коллегами, а именно):
    + View ничего не знает о доменной модели (только о ViewModel), благодаря чему Вы можете спокойно менять свою доменную модель, не внося изменений во View (см. выше про ослабление зависимостей и снижение количества связей). Также Вы спокойно можете перейти от EF к NHibernate или к native SQL, или использовать и то, и другое - View об этом никогда не узнает;
    + контроллер (да и весь MVC-слой) знает только о существовании слоя бизнес-логики, но ничего не знает о слое работы с данными.
    + если на View делать отдельную ViewModel, то это позволяет более полноценно управлять тем, что нужно показать пользователю. Т.е. дает возможность большего контроля отображаемых данных, повышает безопасность Вашего приложения (пользователь, например, не сможет изменить ID просматриваемой записи, если этого ID нет вообще в модели представления).

    Ну а вообще все зависит от задачи/проекта: нужно ли применять разбивку на слои или использовать ViewModel'и вместо обычных доменных моделей - надо думать над каждой ситуацией отдельно.

    P.S. На мой взгляд, литературу выбрали правильно - я тоже начинал изучение MVC с нее. Понравилась тем, что дается сначала общее описание и работа с ASP.NET MVC на сквозном примере. А потом идет более глубокое погружение в ASP.NET MVC. По разработке могу посоветовать блог Александра Бындю: blog.byndyu.ru Как мне кажется, там очень хорошо некоторые моменты разжевываются, в том числе SOLID, TDD, шаблон Repository, UnitOfWork и др.
    Ответ написан
    2 комментария
  • Какие выбрать инструменты для SEO и аналитики маркетинговой компании?

    dvguinf
    @dvguinf
    Веб-разработчик
    Для Яндекс.Директ могу посоветовать: Direct Commander, Key Collector, Yandex.Wordstat, Microsoft Excel и собственная голова для сбора ключевых слов. Хотя некоторые инструменты подойдут и не только для ЯД (по подбору ключевиков).
    Ответ написан
    Комментировать
  • Какие выбрать инструменты для SEO и аналитики маркетинговой компании?

    @archelon
    для составления сем. ядра отличная программа - кейколлектор.
    Ответ написан
    Комментировать
  • Instantiate и Canvas s Unity?

    @firehead16
    Изображение, которое должно появиться добавьте в public GameObject name , со стврта пишите name.SetActive(false) и присваиваете true после instantiate
    Ответ написан
    Комментировать
  • Instantiate и Canvas s Unity?

    @Espleth
    Для начала вам нужно получить трансформ Canvas. Сделать это можно двумя способами (на самом деле больше, но тут основные): 1) Повесить тег на Canvas, и потом использовать FindGameObjectWithTag. 2) Сделать в классе, где будет вызываться Instantiate поле Transform для Canvas, и либо при старте сделать первым способом, либо вручную перетащить Canvas в Unity в это поле.
    Потом после Instantiate у созданного объекта (назовем его go) делаем go.transform.SetParent(*трансформ нашего canvas*)
    Ответ написан
    Комментировать
  • Литературу по разработке для Windows 8.1(WP, или windows store)?

    Hatsune_miku
    @Hatsune_miku
    Ответ написан
    Комментировать
  • Что для чего, к чему и с чем( .Net)?

    @asArtem
    Razor - вроде для написания Ui на HTML
    Его можно использовать где угодно?

    Только в MVC приложениях для UI
    WPF - замена Windows Form т.к. последняя сильно устарела и осталась на windows XP
    Silverlight - урезанный WPF для Web, был как альтернатива Flash, но уже не поддерживается. Ему на замену пришли HTML 5\CSS3
    Есть WCF - это веб-сервисы. Т.е. приложения в веб, но без UI. Они между собой общаются, данными обмениваются. Мощная штука.
    и WebAPI это веб-сервисы, но попроще. Хотя тоже планируется, что они заменят WCF. В основном для REST Ajax запросов у одностраничных приложений

    Sharepoint - это не технология, это платформа по документообороту. Некоторые говорят, что это как 1С только сильно круче или как SAP но сильно проще. 1С не только бухгалтерию делают уже.
    Ответ написан
    Комментировать
  • Литературу по разработке для Windows 8.1(WP, или windows store)?

    @morlord
    Ответ написан
    Комментировать
  • Что для чего, к чему и с чем( .Net)?

    @feeeper
    ASP.NET Developer
    SharePoint - это для кровавого энтерпрайза. Платформа для разработки корпоративных порталов (workflow, документы и все такое).
    Ответ написан
    Комментировать
  • Литературу по разработке для Windows 8.1(WP, или windows store)?

    @SZolotov
    Asp.net core, MAUI,WPF,Qt, Avalonia
    msdn, dev.windows.com
    Ответ написан
    Комментировать
  • Какие технологии .net ближе к Xamarin?

    newross
    @newross
    Product owner
    Интересно, а что можно учить в Xamarin sdk?
    Все что нужно знать - это особенности каждой из платформ и их гайдлайны. Все остальное - полностью аналогично обычной desktop-разработке - те же MVVM и сервисы.
    Ответ написан
    2 комментария
  • Что для чего, к чему и с чем( .Net)?

    Neuroware
    @Neuroware
    Программист в свободное от работы время
    42
    А если по сути, ниже картинка, нужно просто гуглить все по очереди и смотреть, потому как что для одного web для другого запросто Desktop
    800px-DotNet.svg.png
    Ответ написан
    Комментировать
  • Можно ли в Unity3D добавить объекту всякие свойства(типа стекла, резины и тд.)?

    BasmanovDaniil
    @BasmanovDaniil
    Геймдизайнер-телепат
    Это называется физика мягких тел, из коробки в юнити такого нет. Можно использовать плагины, но в любом случае это недешёвая по ресурсам симуляция, в реальном времени для 3D скорее всего не найдёте ничего подходящего. Обычно в такое поведение материалов имитируют с помощью анимаций и программистской магии.
    Ответ написан
    Комментировать
  • Как работать с с иностранными компаниями(Аутсо́рсинг)?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    oDesk же
    Ответ написан
    Комментировать
  • Можно ли в Unity3D добавить объекту всякие свойства(типа стекла, резины и тд.)?

    ih8write
    @ih8write
    более,чем все
    В компоненте Box Collider есть параметр Material, который имеет несколько св-в,по умолчанию выставлено св-во None(Physics Material),можешь выбрать любой,который нужен. Например Bouncy - это физическое св-во упругого тела или резинового тела,будет отскакивать,пружинить, А вот визуальные эффекты.например растекания,это надо писать самому деформацию меша,либо использовать спринг джоинты (spring joints)
    Ответ написан
    Комментировать
  • Кого выбрать для отслеживания статистики приложения?

    GavriKos
    @GavriKos
    Гугл-аналитика немного сложна в интеграции в сравнении с Flurry. В последнем - 2 строчки для того что вам нужно. В гугле - строчек 10 :-)
    Ответ написан
    2 комментария
  • Кого выбрать для отслеживания статистики приложения?

    anyd3v
    @anyd3v
    Чем не подходит стандартная гугл аналитика? что рассматривали и почему не подходит?
    Ответ написан
    4 комментария