• Как сделать join в Entity Framework?

    @Dzhamal
    .NET разработчик
    var result = dbContext.A.Join(dbContext.B, a => new { a.Site, a.C }, b => new { b.Site, b.C }, (a, b) => new { a, b })
                            .Where(joinedObject => joinedObject.a.Link == someValue && joinedObject.a.Site == someOtherValue && joinedObject.b.Link == thirdValue )
                            .Select(joinedObject => ...)
    Ответ написан
    2 комментария
  • Как в ReSharper сделать имена private переменных через нижний дефис?

    @Dzhamal
    .NET разработчик
    Правила именования настраиваются в Resharper->Options->Code Editing->C#->Naming Style
    А с 9 (по моему) есть еще и поиск по настройкам
    Ответ написан
  • Проблемы с изучением C# (разные операционные системы, сервера баз данных и версии фреймворка)?

    @Dzhamal
    .NET разработчик
    Если надо, чтобы работало на ХР+ - лучше всего просто взять максимально возможный стек для этой ОС, более-менее изучить, и разрабатывать проект без оглядки на современный средства. Документация по старым .NET, C#, MSSQL Server есть на MSDN в достаточном количестве.
    По поводу БД - любой из перечисленных вариантов, в зависимости от требований к приложению, я лично проблем не вижу, вижу только специфику каждого из подходов(есть MSSQL, SQLite, MySQL, etc., и со всем этим можно работать из .NET).
    А самый главный вопрос: зачем? Какая задача и какие требования? От этого уже можно плясать и думать, может быть корректировать требования под себя.
    Ответ написан
    1 комментарий
  • Есть ли в Питере магистратура по направлению "мобильная разработка"?

    @Dzhamal
    .NET разработчик
    Магистратура - не тот уровень, чтобы там преподавать настолько прикладное направление. Посмотрел бегло направления в магистратуре ВШЭ - ничего связанного с мобильной разработкой не нашел.
    По моему, самое перспективное направление для обучения в плане развития как разработчика и тим-лида/тех-лида - это программная инженерия (в профиль можно не идти, я по учусь по этому направлению). Но тут надо смотреть конкретную программу обучения конкретного вуза - везде учат тому, что считают нужным, и это не всегда согласуется с реальными потребностями как рынка, так и твоими, когда ты будешь дальше работать по этому направлению. Поэтому никто и никогда не отменяет самообразование и саморазвитие.
    По программной инженерии точно есть магистратура в ИТМО потому, что там бакалавров по этому направлению учат.
    Ответ написан
    3 комментария
  • Visual Studio 15 шаблоны как добавить?

    @Dzhamal
    .NET разработчик
    При установке студии обычно появляется диалог, где можно выбрать языки, с которыми пользователь планирует работать в ней. Судя по всему, из за того, что студия ставилась "по тихому", и для юнити не нужны плюсы - эти опции просто не были выбраны. Можно скачать установочник коммьюнити версии, запустить восстановление и доставить плюсы, все шаблоны проектов появятся.
    Ответ написан
    Комментировать
  • Как различить методы GET/POST в классе контроллера?

    @Dzhamal
    .NET разработчик
    Есть несколько способов определения того, запросы каких типов обрабатывает конкретный метод. Один метод может обрабатывать запросы только одного типа (например только GET, или только POST). Лично я предпочитаю перед методом ставить специальный атрибут типа [HttpGet], что в паре с [Route("custom/url/for/method")] и понятным названием метода дает максимальную понятность кода контроллера. Кроме атрибутов, web api поддерживает еще naming convention метод определения того, запросы какого типа обрабатывает метод. Подробностей я не помню, надо читать доку. Ну а как в Вашем примере контроллер понимает, что логаут принимает только пост запросы - понятия не имею, за этим тоже надо в документацию лезть, там такие тонкие моменты подробно описаны.
    Ну и вообще, не в обиду сказано, ответы на вопросы такого плана лучше сразу искать в документации.
    Ответ написан
    1 комментарий
  • Как начать разработку приложения?

    @Dzhamal
    .NET разработчик
    В идеале - продумать идею до мелочей, описать все возможные use cases, нарисовать прототипы экранов, продумать архитектуру и приступить к разработке.
    Но что мы делаем идеально? Поэтому, можно просто начать делать приложение, и отнестись к этому как к разработке прототипа. В процессе всплывет очень много деталей и тонкостей, до которых просто умом дойти очень сложно. Потом, когда будет хоть что то работающее, можно выйти с этим на рынок, собрать фидбэк. И после того, как пользователи скажут, что это совсем не то, а надо так то и так то, можно более обстоятельно итеративно дорабатывать прототип до ума или просто начать все с нуля и сделать нормально.
    Ответ написан
    Комментировать
  • В чем можно сделать интерактивный макет?

    @Dzhamal
    .NET разработчик
    https://ninjamock.com/ - довольно таки неплохой сервис. По моему, в бесплатной версии можно иметь 3 проекта. В принципе этого хватает: проект(или задача) перешагнул стадию макетов - удалил.
    Ответ написан
    Комментировать
  • Болит душа, не знаю как быть. Как двигаться дальше (Java/Android/Clojure)?

    @Dzhamal
    .NET разработчик
    Я не Java программист, конечно. Но мне кажется, что Java EE для фана - не совсем то, что надо. Если хочется фана - мейнстрим в руки и поехали! Для мобилок писать круто - можно выйти на рынок с минимальными вложениями. И даже выстрелить, как Flappy Bird (так, по моему, эта задрот-игра называлась).
    Если ставить во главу процесс, а не результат - мейнстрим в технологиях. Распределенные приложения, контейнеризация с Docker'ом, CI и CD, оркестрация и т.п. Все это без реальных задач неприменимо, а применяется в суровом ентерпрайзе. Ну, Вы в курсе уже поди. А вообще, изучение таких штук приведет в devops.
    Ну и третий путь. Тут я соглашусь с jackroll: можно заняться самообразованием и двинуться в сторону тех областей, где помимо программирования есть еще и математика, и computer science. Например, Big data, искусственный интеллект.
    Кстати, для общего развития и для того, чтобы быть в курсе последних новостей, неплохо подходят подкасты типа радио-та или разбора полетов. Первый - про все-все-все, второй с упором на java.
    p.s. В постановке вопроса косяк.
    выяснить, основываясь на вашем опыте, друзья, какой мне путь выбрать, исходя из моих предпочтений в программировании

    В идеале - попробовать все самому. Вот я попробовал PHP - мне не понравилось. Больше я туда ни ногой :)
    Ответ написан
    2 комментария
  • Какую тему для диплома выбрать (с экономическим уклоном)?

    @Dzhamal
    .NET разработчик
    Тема с анализом экономической эффективности методологии разработки ПО - веселая, интересная, это да. Но, вообще, по выбору темы лучше всего проконсультироваться с руководителем либо с завкафедрой - они подскажут более предметно и по выбору темы, и по формулировке. Кстати, формулировка очень важна, что для меня было некоторым откровением. Например, бакалавр программной инженерии по определению не может написать ВКР по разработке целой системы в одного, максимум - подсистема или модуль.
    Ну а как вариант еще одной темы - анализ экономической эффективности автоматизации бизнес-процессов на каком-то предприятии. Тут IT компания, конечно, не очень хорошо подойдет, ибо сложно будет найти хоть какой-то БП для автоматизации. Но если поискать...
    Ну а если поменять направление - можно заняться построением мат модели для какого-нибудь робота алгоритмической торговли.
    Ну а про данные для диплома - выше уже сказали, что их можно просто выдумать. И скорее всего так и придется поступить, т.к. большинство реальных данных компании могут быть просто закрыты, и никто не даст разрешения использовать их в работе.
    Ответ написан
    Комментировать
  • Где найти единомышленников для медицинского стартапа?

    @Dzhamal
    .NET разработчик
    Попробуйте обратиться с такой инициативой в местный ВУЗ, который готовит IT-спецов. Поговорите с преподавателями/руководством какой-нибудь кафедры, расскажите им про идею. Я думаю, они могли бы помочь с подбором студентов-активистов, запустить проект в рамках кафедры и обеспечить какую-либо поддержку, в том числе и в выборе гранта, подаче заявки на его получение.
    Как пример - в ТУСУРе практикуется групповое проектное обучение - студенты объединяются в небольшие команды до 7 человек и под руководством аспирантов/доцентов/профессоров делают какие-то проекты. Проекты бывают разные, так как я программист, вокруг меня в основном программные проекты. Да, не все выстреливают и что-то из них выходит. Но некоторые доживают и до бизнес-инкубатора с последующим ростом до настоящего работающего бизнеса.
    Кстати, у Вас в Казани вроде недавно какой-то новый IT-вуз открылся, везде активно реклама его двигалась.
    Ответ написан
    Комментировать
  • C# экранирование кавычек?

    @Dzhamal
    .NET разработчик
    В sql запросах названия таблиц и столбцов не надо заключать в кавычки. Если название таблицы/столбца совпадает с зарезервированным, например User - пишешь название в квадратных скобках (example [User]).
    Длинные строки можно писать с переносом так:
    var longString = "long string "
    				+ "long string "
    				+ "long string";
    Ответ написан
  • Какие технологии использовать для мобильных приложений?

    @Dzhamal
    .NET разработчик
    Для изучения и погружения в мобильную разработку в целом, на мой взгляд, сначала лучше пробовать нативные языки и инструменты. У каждой платформы разработан свой lifecycle для приложения, свои дизайн-гайдлайны и принципы, свои паттерны, и они, в общем случае, даже близко друг к другу не стоят. Я уже молчу о различии в языках на этих платформах (Obj-C в iOS против псевдо-Java в андроиде). Если есть желание стать дико прошареным во всем и сразу - в любом случае придется изучать официальную документацию по платформам.
    Что касается кроссплатформенности. За PhoneGap и остальные html фреймворки - не знаю, не пробовал. Xamarin же используют в основном в разработке корпоративных приложений, для того, чтобы избежать дублирования слишком сложной бизнес-логики на разных языках в приложениях на разных платформах. Ну и для ускорения и удешевления разработки, соответственно. Это безусловно интересный инструмент, но чтобы его правильно использовать, опять же, нужно понимание платформ и их особенностей, т.к. write once - run everywere и здесь не получится, есть свои особенности, как раз за счет концептуального различия платформ. Xamarin старается их максимально сгладить, но в этом месте начинаются просадки в производительности.

    В общем, тема обширная и холиварная, но мой основной поинт - начинать с нативного.
    Ответ написан
    1 комментарий
  • Есть ли интеграция Visual Studio и ie для отладки web приложений?

    @Dzhamal
    .NET разработчик
    У студии есть Browser link, что больше всего подходит под описание. Но я не уверен, что можно подключиться к любому локальному сайту, а не проекту, открытому в самой студии.
    Ответ написан
    Комментировать
  • Где ошибка в описании сущностей?

    @Dzhamal
    .NET разработчик
    Надо сделать Fetch для адресов в закупках, либо сконфигурировать маппинг так, что бы эта связь не была lazy load. Такой поведение - особенность Entity Framework'a, и оно настраивается. Почитай документацию.
    Ответ написан
    1 комментарий
  • Есть ли бесплатное решение для экспорта из MS Excel в HTML таблицы на C#?

    @Dzhamal
    .NET разработчик
    Можно подключить Office 365 и использовать его для предпросмотра сформированных отчетов. Не могу сказать, платно это будет или нет, но, если мне не изменяет память, до какого-то порога использования он бесплатен. Возможно, его будет достаточно.
    Ответ написан
    Комментировать