С чего начать изучение net

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

3 ресурса с гайдами

сайт с учебными модулями

ресурс с примерами архитектуры

Если вы новичок, начните создавать простые микросервисы с помощью веб-API ASP.NET, Docker и разверните их в Azure Kubernetes Services (AKS).

Практические модули обучения Microsoft

С чего начать изучение net. image loader. С чего начать изучение net фото. С чего начать изучение net-image loader. картинка С чего начать изучение net. картинка image loader. Сегодня пользователи требуют оперативности, новейших и лучших функций и нулевого времени простоя своих приложений. Компании быстро осваивают возможности облака, чтобы удовлетворить потребности пользователей, повысить масштабируемость и доступность приложений. Однако для того, чтобы полностью использовать облако и оптимизировать экономию средств, приложения должны разрабатываться с учетом облачности. Это означает не только изменение способа создания приложений, но и изменение практики разработки в организации для принятия этого архитектурного стиля, ориентированного на облачные вычисления.

Бесплатные электронные книги по архитектуре

С чего начать изучение net. image loader. С чего начать изучение net фото. С чего начать изучение net-image loader. картинка С чего начать изучение net. картинка image loader. Сегодня пользователи требуют оперативности, новейших и лучших функций и нулевого времени простоя своих приложений. Компании быстро осваивают возможности облака, чтобы удовлетворить потребности пользователей, повысить масштабируемость и доступность приложений. Однако для того, чтобы полностью использовать облако и оптимизировать экономию средств, приложения должны разрабатываться с учетом облачности. Это означает не только изменение способа создания приложений, но и изменение практики разработки в организации для принятия этого архитектурного стиля, ориентированного на облачные вычисления.

С чего начать изучение net. image loader. С чего начать изучение net фото. С чего начать изучение net-image loader. картинка С чего начать изучение net. картинка image loader. Сегодня пользователи требуют оперативности, новейших и лучших функций и нулевого времени простоя своих приложений. Компании быстро осваивают возможности облака, чтобы удовлетворить потребности пользователей, повысить масштабируемость и доступность приложений. Однако для того, чтобы полностью использовать облако и оптимизировать экономию средств, приложения должны разрабатываться с учетом облачности. Это означает не только изменение способа создания приложений, но и изменение практики разработки в организации для принятия этого архитектурного стиля, ориентированного на облачные вычисления.

С чего начать изучение net. image loader. С чего начать изучение net фото. С чего начать изучение net-image loader. картинка С чего начать изучение net. картинка image loader. Сегодня пользователи требуют оперативности, новейших и лучших функций и нулевого времени простоя своих приложений. Компании быстро осваивают возможности облака, чтобы удовлетворить потребности пользователей, повысить масштабируемость и доступность приложений. Однако для того, чтобы полностью использовать облако и оптимизировать экономию средств, приложения должны разрабатываться с учетом облачности. Это означает не только изменение способа создания приложений, но и изменение практики разработки в организации для принятия этого архитектурного стиля, ориентированного на облачные вычисления.

.NET микросервисы

Мы написали это руководство для разработчиков и архитекторов решений, которые плохо знакомы с разработкой приложений на основе Docker и архитектурой на основе микросервисов. В этой книге рассматриваются такие шаблоны, как Domain-Driven Design(DDD), Command Query Responsibility Segregation (CQRS), Database per service, API Composition.

С чего начать изучение net. image loader. С чего начать изучение net фото. С чего начать изучение net-image loader. картинка С чего начать изучение net. картинка image loader. Сегодня пользователи требуют оперативности, новейших и лучших функций и нулевого времени простоя своих приложений. Компании быстро осваивают возможности облака, чтобы удовлетворить потребности пользователей, повысить масштабируемость и доступность приложений. Однако для того, чтобы полностью использовать облако и оптимизировать экономию средств, приложения должны разрабатываться с учетом облачности. Это означает не только изменение способа создания приложений, но и изменение практики разработки в организации для принятия этого архитектурного стиля, ориентированного на облачные вычисления.

Бессерверные приложения

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

С чего начать изучение net. image loader. С чего начать изучение net фото. С чего начать изучение net-image loader. картинка С чего начать изучение net. картинка image loader. Сегодня пользователи требуют оперативности, новейших и лучших функций и нулевого времени простоя своих приложений. Компании быстро осваивают возможности облака, чтобы удовлетворить потребности пользователей, повысить масштабируемость и доступность приложений. Однако для того, чтобы полностью использовать облако и оптимизировать экономию средств, приложения должны разрабатываться с учетом облачности. Это означает не только изменение способа создания приложений, но и изменение практики разработки в организации для принятия этого архитектурного стиля, ориентированного на облачные вычисления.

DevOps: жизненный цикл приложения Docker

Это руководство содержит общие сведения о Azure DevOps для реализации конвейеров CI/CD, охватывает реестр контейнеров Azure (ACR) и службы Azure Kubernetes (AKS) для развертывания.

С чего начать изучение net. image loader. С чего начать изучение net фото. С чего начать изучение net-image loader. картинка С чего начать изучение net. картинка image loader. Сегодня пользователи требуют оперативности, новейших и лучших функций и нулевого времени простоя своих приложений. Компании быстро осваивают возможности облака, чтобы удовлетворить потребности пользователей, повысить масштабируемость и доступность приложений. Однако для того, чтобы полностью использовать облако и оптимизировать экономию средств, приложения должны разрабатываться с учетом облачности. Это означает не только изменение способа создания приложений, но и изменение практики разработки в организации для принятия этого архитектурного стиля, ориентированного на облачные вычисления.

ASP.NET Core gRPC для WCF-разработчиков

С чего начать изучение net. image loader. С чего начать изучение net фото. С чего начать изучение net-image loader. картинка С чего начать изучение net. картинка image loader. Сегодня пользователи требуют оперативности, новейших и лучших функций и нулевого времени простоя своих приложений. Компании быстро осваивают возможности облака, чтобы удовлетворить потребности пользователей, повысить масштабируемость и доступность приложений. Однако для того, чтобы полностью использовать облако и оптимизировать экономию средств, приложения должны разрабатываться с учетом облачности. Это означает не только изменение способа создания приложений, но и изменение практики разработки в организации для принятия этого архитектурного стиля, ориентированного на облачные вычисления.

С чего начать изучение net. image loader. С чего начать изучение net фото. С чего начать изучение net-image loader. картинка С чего начать изучение net. картинка image loader. Сегодня пользователи требуют оперативности, новейших и лучших функций и нулевого времени простоя своих приложений. Компании быстро осваивают возможности облака, чтобы удовлетворить потребности пользователей, повысить масштабируемость и доступность приложений. Однако для того, чтобы полностью использовать облако и оптимизировать экономию средств, приложения должны разрабатываться с учетом облачности. Это означает не только изменение способа создания приложений, но и изменение практики разработки в организации для принятия этого архитектурного стиля, ориентированного на облачные вычисления.

Примеры архитектуры

С чего начать изучение net. image loader. С чего начать изучение net фото. С чего начать изучение net-image loader. картинка С чего начать изучение net. картинка image loader. Сегодня пользователи требуют оперативности, новейших и лучших функций и нулевого времени простоя своих приложений. Компании быстро осваивают возможности облака, чтобы удовлетворить потребности пользователей, повысить масштабируемость и доступность приложений. Однако для того, чтобы полностью использовать облако и оптимизировать экономию средств, приложения должны разрабатываться с учетом облачности. Это означает не только изменение способа создания приложений, но и изменение практики разработки в организации для принятия этого архитектурного стиля, ориентированного на облачные вычисления.

Источник

Лучший способ выучить ASP.NET

Задание 0: не обращать внимания на скептиков

С чего начать изучение net. 8af3e0459b3564f17b51f46bee3adf58. С чего начать изучение net фото. С чего начать изучение net-8af3e0459b3564f17b51f46bee3adf58. картинка С чего начать изучение net. картинка 8af3e0459b3564f17b51f46bee3adf58. Сегодня пользователи требуют оперативности, новейших и лучших функций и нулевого времени простоя своих приложений. Компании быстро осваивают возможности облака, чтобы удовлетворить потребности пользователей, повысить масштабируемость и доступность приложений. Однако для того, чтобы полностью использовать облако и оптимизировать экономию средств, приложения должны разрабатываться с учетом облачности. Это означает не только изменение способа создания приложений, но и изменение практики разработки в организации для принятия этого архитектурного стиля, ориентированного на облачные вычисления.

ASP.NET не идеален — такого нет. Но это одна из самых гибких и мощных технологий на стороне сервера, доступных сегодня.

Задание 1: выберите язык

Я полностью рекомендую вам выбрать C #.

Дополнительный кредит

Задание 2: читать некоторые книги

Два, чтобы быть точным. В мире нет недостатка в книгах ASP.NET, но есть плохие книги, хорошие книги и отличные книги. Два из перечисленных здесь отлично, и я хочу, чтобы вы прочитали их по порядку.

С чего начать изучение net. fad26ae5d95975600b6593fd5ed3bfdc. С чего начать изучение net фото. С чего начать изучение net-fad26ae5d95975600b6593fd5ed3bfdc. картинка С чего начать изучение net. картинка fad26ae5d95975600b6593fd5ed3bfdc. Сегодня пользователи требуют оперативности, новейших и лучших функций и нулевого времени простоя своих приложений. Компании быстро осваивают возможности облака, чтобы удовлетворить потребности пользователей, повысить масштабируемость и доступность приложений. Однако для того, чтобы полностью использовать облако и оптимизировать экономию средств, приложения должны разрабатываться с учетом облачности. Это означает не только изменение способа создания приложений, но и изменение практики разработки в организации для принятия этого архитектурного стиля, ориентированного на облачные вычисления.

Начало ASP.NET 4 в C # и VB

Автор: Имар Спаньяарс

Начало работы с ASP.NET 4 в C # и VB начинается с самого начала, когда вы через загрузку и установку бесплатной версии Visual Studio под названием Visual Web Developer Express. Затем вы отправитесь в путешествие по ASP.NET, изучите синтаксис, элементы управления, темы и другие функции платформы. Так же, как Visual C # 2010 Step by Step дает вам прочную основу в C #, начальный ASP.NET 4 в C # и VB от Spaanjaars дает вам прочную основу в основах ASP.NET.

С чего начать изучение net. 736cd43f33185af7f0e6439f224ee945. С чего начать изучение net фото. С чего начать изучение net-736cd43f33185af7f0e6439f224ee945. картинка С чего начать изучение net. картинка 736cd43f33185af7f0e6439f224ee945. Сегодня пользователи требуют оперативности, новейших и лучших функций и нулевого времени простоя своих приложений. Компании быстро осваивают возможности облака, чтобы удовлетворить потребности пользователей, повысить масштабируемость и доступность приложений. Однако для того, чтобы полностью использовать облако и оптимизировать экономию средств, приложения должны разрабатываться с учетом облачности. Это означает не только изменение способа создания приложений, но и изменение практики разработки в организации для принятия этого архитектурного стиля, ориентированного на облачные вычисления.

Профессиональный ASP.NET 4 в C # и VB

Автор: Билл Эвджен, Скотт Хансельман и Девин Рейдер

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

Задание 3: создать что-то

Чтение это одно; делать это другое.

Чтение это одно; делать это другое. Несмотря на то, что вы, несомненно, следовали примерам из предыдущих перечисленных книг, делать что-то самостоятельно — один из лучших способов обучения. Так что для этого задания напишите что-нибудь. Создание собственного движка блогов, форумов или списка дел позволит применить полученные знания на практике. Начните с малого и добавьте больше к своему проекту, когда закончите работу. Убедитесь, что вы включили следующие функции:

Никогда не бойтесь взломать книгу или задать вопросы в Интернете. Такие сайты, как www.stackoverflow.com и forums.asp.net являются ценными ресурсами, где вы можете задавать вопросы и получать советы от профессионалов, которые использовали платформу в течение многих лет.

Дополнительный кредит

Для дополнительного кредита, добавьте пользователей и роли.

Естественно, вам понадобится способ администрирования этих пользователей и ролей, поэтому обязательно добавьте эту возможность в свой «бэкэнд».

Задание 4: Смотреть ASP.NET с нуля скриншоты MVC

Технология WebForms, которую вы использовали до этого момента, является лишь одним из шаблонов программирования, которые вы можете использовать для создания приложений ASP.NET. Вторая модель программирования — ASP.NET MVC. Это все еще ASP.NET, но использует другой шаблон программирования, называемый Model-View-Controller (MVC), и он заметно отличается от WebForms.

Чтобы начать работу с MVC Framework, посмотрите следующие ASP.NET из уроков Scratch:

Эти уроки помогут вам быстро начать работу с MVC.

Задание 5: Чтение некоторых книг MVC

С чего начать изучение net. ea88ef45031a94cdc870ce562f2242f7. С чего начать изучение net фото. С чего начать изучение net-ea88ef45031a94cdc870ce562f2242f7. картинка С чего начать изучение net. картинка ea88ef45031a94cdc870ce562f2242f7. Сегодня пользователи требуют оперативности, новейших и лучших функций и нулевого времени простоя своих приложений. Компании быстро осваивают возможности облака, чтобы удовлетворить потребности пользователей, повысить масштабируемость и доступность приложений. Однако для того, чтобы полностью использовать облако и оптимизировать экономию средств, приложения должны разрабатываться с учетом облачности. Это означает не только изменение способа создания приложений, но и изменение практики разработки в организации для принятия этого архитектурного стиля, ориентированного на облачные вычисления.

Профессиональный ASP.NET MVC 3

Автор: Джон Галлоуэй, Фил Хаак, Брэд Уилсон, К. Скотт Аллен

Части этой книги будут рассмотрены из экранных передач ASP.NET с нуля, но в ней также рассматриваются другие темы, такие как разработка через тестирование (TDD), безопасность и расширение MVC, а также более подробно рассматриваются темы, затронутые в ASP.NET. с нуля видео. Это обязательный ресурс для любого разработчика ASP.NET, желающего понять MVC Framework.

С чего начать изучение net. 163d91aaa7617f324836017cb35c91cb. С чего начать изучение net фото. С чего начать изучение net-163d91aaa7617f324836017cb35c91cb. картинка С чего начать изучение net. картинка 163d91aaa7617f324836017cb35c91cb. Сегодня пользователи требуют оперативности, новейших и лучших функций и нулевого времени простоя своих приложений. Компании быстро осваивают возможности облака, чтобы удовлетворить потребности пользователей, повысить масштабируемость и доступность приложений. Однако для того, чтобы полностью использовать облако и оптимизировать экономию средств, приложения должны разрабатываться с учетом облачности. Это означает не только изменение способа создания приложений, но и изменение практики разработки в организации для принятия этого архитектурного стиля, ориентированного на облачные вычисления.

Pro ASP.NET MVC 3 Framework

Автор: Стивен Сандерсон, Адам Фриман

Еще раз, будет материал для обзора, так как многие темы освещаются в ASP.NET от Scratch и Professional ASP.NET MVC 3, но это отличный ресурс, чтобы дать вам точку зрения других разработчиков на среду MVC.

Задание 6: переписать что-нибудь с помощью MVC Framework

Точно так же, как написание чего-то для Assignment 3 помогло укрепить ваше понимание веб-форм ASP.NET, вам нужно что-то написать с использованием MVC Framework. Когда я изучаю новый язык или шаблон, мне нравится переписывать существующий проект, используя мои новые знания. Поэтому для этого назначения перепишите приложение, которое вы написали для Назначения 3, но используйте MVC Framework вместо WebForms. Это переписывание должно соответствовать тем же требованиям, что и Задание 3, и оно имеет такой же дополнительный кредит.

Еще раз, не забывайте, что вы не одиноки; используйте вашу книгу или посетите www.stackoverflow.com и forums.asp.net, если вы застряли.

Задание 7: Следуй за Мастерами

Многие сотрудники Microsoft регулярно участвуют в блогах и твитах ASP.NET, но не каждый мастер ASP.NET работает на Microsoft. Обязательно следите за этими парнями и подписывайтесь на их блоги:

Задание 8: Будьте в курсе

Microsoft выпускает несколько технических выпусков сообщества (CTP) перед каждым основным выпуском.

Источник

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

Добавлю оговорку: есть разные уровни новичков — интерны и джуниоры. Интерны — это те, кто не имеют опыта вовсе, обладают только теоретическими знаниями. Джуниоры — те, кто уже где-то недолго работали.

Что хотят от джуниора

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

Как ни странно, для начинающего гораздо важнее то, что называют soft skills, и знание английского языка. Но стоит учитывать, что есть вещи, которые можно исправить и которым можно научить, а есть те, которым нельзя. Например, если человек не говорит по-английски, но понимает базовый словарь и грамматику — то научить его разговорному языку — это рискованная затея. Но если джуниор уже немного разговаривает, то натаскать его за полгода вполне реально.

Если человек способен расслабленно вести беседу и проявляет, что называется, аналитические способности, не впадает в ступор от сложностей — это тоже можно отнести в разряд soft skills. Важно то, насколько человек способен доводить работу до результата, а умение общаться, правильно задавать вопросы и давать ответы — очень эффективный для этого инструмент.

Кстати, способность обучаться — тоже немаловажный фактор. Лучше взять специалиста, уже способного к самообучению, чем прививать это. Показателем могут быть, например, домашние поделки на GitHub или даже проекты в продакшене.

Ходит шутка (похожая на правду), что пройти собеседование на джуниора/интерна гораздо сложнее, чем на сеньора 🙂 Так оно и есть. Опытный специалист имеет портфолио/резюме — это уже говорит о том, что он способен приносить результат. Но если человек раньше не работал или работал мало — рекрутеру необходимо только за одно собеседование и, возможно, тестовое задание выяснить все о кандидате.

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

Где выгодны джуниоры

Существует целый ряд задач (несложный баг-фиксинг, правки верстки и UI, написание юнит-тестов), с которыми человек с небольшим количеством знаний и опыта справится за то же время, что и человек более опытный. Взять, к примеру, промышленную (enterprise) разработку, крупные проекты, где кучу времени уходит на рутину, вроде обновления проекта до актуальной версии, мердж, тестирование. Это жирный плюс в найме начинающих специалистов.

Если взять аутсорсинг и аутстаффинг (то есть перепродажу человеко-часов) в той или иной форме, то рейты, по которым продают джуниоров, не намного ниже рейтов миддл-разработчиков. А ЗП начинающих может быть значительно ниже, что делает их привлекательным активом компании, приносящим даже более высокую маржу, нежели более опытные разработчики. Опытных еще и найти гораздо сложнее — нужно платить агентствам или рекрутерам вплоть до одной зарплаты такого человека, чтобы осуществить найм. А маржа при заработке на высококлассных специалистах — низкая, они больше нужны для поддержания бизнеса в рабочем состоянии.

Первые шаги

Если вы вообще не из IT, у вас нет друзей-разработчиков, нет профильного образования, и вы совершенно ничего не понимаете — можно начать с каких-нибудь курсов. Боюсь, что оставлю сейчас без куска хлеба владельцев инфобизнесов, но в интернете можно найти достаточно бесплатных материалов, например, на торрентах. Но, естественно, я не рекомендую вам скачивать пиратский контент 🙂

Если с живым человеком-лектором вам проще, то советую курсы с большой длительностью, например от 3 до 6 месяцев. Мне кажется, это либо втянет вас в процесс, либо окончательно вам надоест, и вы поймете, что это не ваше.

Курсы не помогут вам найти работу и не помогут получить все необходимые знания для трудоустройства. Но если вы заплатите деньги, это дисциплинирует вас. Также курсы дают первую понятийную базу, от которой можно дальше отталкиваться, общее понимание предмета и что немаловажно — знакомства.

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

Для людей, которые уже когда-то что-то кодили в универе или школе, имеют какое-то представление об IT-сфере, курсы — скорее всего, лишняя трата денег. Достаточно посмотреть их программу и далее самому искать нужные материалы.

Замечу, что любое обучение должно сопровождаться практикой. Будь то самообучение или курсы, вы должны показывать результат. Это может быть макет, если вы учите верстку, веб-приложение или мобильное — не важно. Главное, все, что вы узнаете теоретически, сразу же примените на практике.

Hard Skills

Я разделю все сферы знаний hard skills на такие части:

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

Советы для интернов/джуниоров

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

Хорошо подойдет для освоения базового синтаксиса самого языка. Лично мне никогда не нравились книги Троелсена, которые рекомендуют новичкам. По моим субъективным ощущениям, там много воды, а вот у Шилдте как раз все по делу и с примерами.

Очень важное замечание для начинающих. Если осваиваете C# с нуля, изучайте как можно детальнее именно сам язык, синтаксические конструкции и всевозможные их сочетания, пробуйте их применять, пытайтесь сами ставить себе вопросы и тут же отвечать, тестируя, как это работает, в общем-то исследовать.

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

Однако это лишь база. Необходимы еще соответствующие знания фреймворков и общее понимание ООП и многослойных, а может, и микросервисных архитектур, хотя-бы теоретическое. Реальное умение это применять приходит с опытом.

Книжка дает исчерпывающие понимание средств LINQ в достаточном объеме для уверенной работы с ним, а с LINQ придется работать много. По сути, это огромная часть языка C#, на которой пишется немало логики. Я сам очень люблю использовать LINQ, где только смогу. Писать бизнес-логику (логику программы) в функциональном стиле (используя описательный формат преобразования данных, а не последовательный) куда лаконичнее и понятнее, как по мне. В общем в книге достаточно глубоко показаны все тонкости, рекомендую, не смотря на ее возраст. В LINQ мало что поменялось.

Бонус #1
Даю вам свою классификацию методов LINQ, которая поможет их запомнить куда лучше. Написал ее, когда сам изучал LINQ.

«CLR via C#» by Jeffrey Richter

Я бы дал некоторые советы, как читать эту книгу:

Часть 1 — Основы CLR — очень глубоко вникать не нужно, достаточно понять, что такое:

Часть 2 — Проектирование типов — эту часть нужно хорошо изучить целиком, важная базовая часть C#/.NET.

Часть 3 — Основные типы данных — заучивать функции работы со строками нет смысла, это все легко гуглится. Особое внимание уделите:

Часть 4 — Ключевые механизмы — советую очень хорошо разобрать:

Часть 5 — Многопоточность — слишком глубоко вникать, как это работает на уровне ядра ОС, не стоит, но надо понимать общие концепции:

Пожалуй, самая лучшая книга по T-SQL, которую я видел для начинающих. Информация дается последовательно, детально и системно, однако в книге того издания, которое читал я, не было главы об индексах. Советую найти отдельно и изучить.

Бонус #2
Дам вам исходный код змейки, которую я написал на T-SQL. Делать такие проекты — очень хороший способ выучить язык лучше.

А теперь челлендж: кто первый напишет тетрис на T-SQL — получит от меня бутылку ирландского виски 🙂

Frameworks & Tools

Для веб-разработки рекомендую эту книгу. В ней неплохо разобраны базовые возможности ASP.NET MVC, контейнеры управления зависимостями (IoC), основы LINQ, AJAX, JQuery. Есть примеры с кодом, достаточно легко читается.

Также неплохой специализированный ресурс по Entity Framework — Entity Framework Tutorial.

Productivity tools

Очень очень важно приучать себя с самого начала пользоваться средствами повышения продуктивности, чтобы не терять время на банальной механике работы. Возьмите за правило: чем больше действий вы производите на клавиатуре — то есть клавишами, а не мышью, тем быстрее вы работаете. Комбинации из горячих клавиш способны очень сильно ускорить рутину и не отнимать вашего внимания.

Обязательно установите себе ReSharper — лично я не мыслю свою работу без этого дополнения к Visual Studio. Для тех, кто использует Rider, Resharper вообще, как родной.

Если вы используете MS SQL Server Management Studio, то must have расширение — это SQL Hunting Dog. Некое подобие ReSharper’a для более быстрой навигации по сущностям базы и переключения баз.

Если ваша разработка связана с Web — осваивайте Chrome dev tools (F12 tools).

Для 99% случаев отладки кода в браузере их должно хватить. Для более хитрых случаев перехвата и изменения трафика используйте Fiddler.

Шаблоны проектирования и парадигмы

Русскоязычная книга по шаблонам проектирования, достаточно толковая, с примерами.

Парадокс шаблонов проектирования в том, что их знание чаще всего требуется от новичков, а сами шаблоны — это концентрация опыта тысяч разработчиков, и действительно научиться их применять можно только с годами. Поэтому для начала рекомендуется просто заучить формальные определения и схемы. Со временем это формирует стиль мышления, и вы будете применять шаблоны повсеместно. Самое плохое — применять шаблоны ради шаблонов, это называется over-engineering.

Также советую ознакомиться с парадигмами SOLID, главная из которых, я считаю «S» — single responsibility principle. Все остальное уже производное от нее.

Front-end

Я не рекомендую читать самую известную ортодоксальную книгу с носорогом, которая называется «JavaScript: The Definitive Guide» (Подробное руководство) by David Flanagan. Очень академичный стиль изложения, очень много воды и несущественных деталей. Конечно, если вы разработчик front-end фреймворков, то эта книга для вас. Но я все же люблю более практичный подход. Самое лучше, что есть в Рунете по Javascript, это JavaScript.ru и Learn Javascript.ru.

Информации на этих ресурсах достаточно, чтобы иметь компетенцию на уровне middle front-end разработчика. Конечно, нужен еще опыт владения технологией и фреймворками, но я говорю лишь об объеме знаний.

JQuery.page2page.ru — ресурс, который я рекомендую, если вы столкнулись с JQuery. В наших реалиях достаточно старых проектов — это может быть актуально.

Осваивать Angular, TypeScript или React вполне возможно на сайтах по официальной документации.

Из того, что мне показалось очень хорошим для вникания в React.js и современную инфраструктуру front-end разработки, это книга «Разработка веб-приложений в ReactJS» А. Хортона и Р. Вайса.

Вспомогательные средства

Очень полезны разработчикам любых уровней и направлений. Элементарные задачи — сделать скрин — отправить коллеге, записать видео — отправить клиенту — не должны вызывать трудностей.

Clip2net — утилита, которая позволяет на ходу дорисовать что-то на скриншоте и тут же его сохранить или отправить.

Jing — утилита, позволяющая в два клика записать видео с экрана, загрузить в облако и выдать ссылку на его просмотр.

Многие любят LINQPad — текстовый редактор, позволяющий тестировать LINQ2SQL или EF LINQ запросы к базе и разные куски кода без перекомпиляции тяжелых громоздких проектов.

Системы контроля версий

Сейчас в основном пользуются git-подобными системами, так что изучение контроля версий рекомендую начать именно с git.

Если вы думаете, что работа с git это обязательно заучивание команд командной строки — то это не так. Думаю нет ничего зазорного в том, чтобы использовать визуальные клиенты. Это даже проще с точки зрения разрешения конфликтов или организации работы с большим количеством файлов. Например, мне нравится SourceTree.

Для начала достаточно понимать, что такое Repository, Branch, Pull, Commit, Push, Merge, Stash. Если хотите создать свой приватный репозиторий — можете использовать BitBucket. Если хотите кому-то показать свой код, то удобно будет создать публичный репозиторий на GitHub.

Stack Overflow

Я очень рекомендую иметь там аккаунт и задавать вопросы, также по возможности давать ответы. Даже заданный вопрос может принести вам рейтинг. Например один из моих вопросов набрал 10 000 просмотров, что дало мне золотую медаль и хороший рейтинг.

Этот рейтинг можно тратить, выставляя бонус за ответы на ваши вопросы, на которые никто не хочет отвечать. С бонусом вероятность получить ответ возрастает. Меня это несколько раз спасало, когда мне нужно было срочно получить ответ. Я использовал библиотеку, на которую почти не было документации, и спросить было не у кого. В результате мои вопросы со временем очень сильно выросли в рейтинге.

Методологии разработки

Следует разобраться, что такое Agile-подход, хотя бы в теории, возможно, выучить «артефакты» Scrum.

Недавно IT Ukraine Association выложила документ с набором необходимых навыков для junior-специалистов. В своей учебе можно также ориентироваться на него. Методологии разработки и релиз-менеджмент уже занимают там важное место. Начать изучать Scrum можно прямо с Wiki.

Ясное дело, что в реальной жизни и реальных проектах все заточено под ситуацию, и некоторыми артефактами или процессуальными вещами можно жертвовать. Но тем не менее надо понимать, зачем это было придумано и как это помогает в работе. Это своего рода фреймворк взаимоотношений с клиентом, чтобы и для него разработка была более прозрачной и прогнозируемой, и команду не обижали.

Бонус #3
Даю свой список вопросов для подготовки к собеседованиям, который я составил несколько лет назад. Если ответите на все эти вопросы, можно сказать, что вы знаете C#/.NET и Core-библиотеки на уверенном middle-уровне.

Советы для разработчиков Middle/Senior уровня

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

Книга Джона Скита, топового комментатора со Stack Overflow. Джон — профессиональный разработчик на Java в Google, но это не помешало ему написать бестселлер про тонкости синтаксиса C#.

Архитектура

Эта книга — отправная точка в изучении архитектуры корпоративных приложений. В ней достаточное количество рассмотренных фундаментальных средств и понятий.

Книжка дает понимание о современных течениях в архитектурах, раскрывает понятия CQRS, DDD. Полезна для саморазвития. Читать ее или не читать — решать вам. Такие подходы вы увидите не в каждом проекте, но важно уметь оперировать категориями и шаблонами, описанными там.

Книжка Мартина Фаулера. Дается очень глубокий аналитический подход по рефакторингу и улучшению существующего кода.

Фреймворки

Если вас беспокоят вопросы производительности в старом-легаси проекте, а переписывать на чистый SQL вы не хотите — рекомендую гайд «Performance Considerations for EF 4, 5, and 6»

На Entity Framework можно писать достаточно производительный код, не прибегая к помощи Dapper’a или чистого ADO.NET, либо же переписывать уже существующий, оптимизируя его.

Также несколько книжек по более детальному разбору возможностей Entity Framework и производительности:

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

Обзор Open-source проектов

Просмотр того, как сделаны Open-source проекты, помогает обогатить понимание и дает возможность взять себе лучшие фишки.

Нужны ли сертификаты от Microsoft?

Решать вам, в этом вопросе я не специалист. Однако скажу свое мнение.

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

Куда расти дальше

Рост компетенции человека возможен как в сторону софт скиллов — организации процесса обучения новичков, коучинга, организации работы команды, управления рисками на позиции проектного менеджера или CTO, так и узкой специализации — уметь делать более сложные вещи, изучать более редкие технологии или просто работать в разы быстрее других.

Могу посоветовать читать книги для общего развития, а также развития навыков в смежных специализациях. Например, по методологии проектирования UI можно ознакомиться с книгой проектировщика Apple — Джефа Раскина «Интерфейс. Новые направления в проектировании компьютерных систем».

Или же выбирайте базовые книги по проектному менеджменту: «Мифический человеко-месяц, или Как создаются программные системы» Фредерика Брукса.

Более академическая литература по проектному менеджменту — «Руководство к своду знаний по управлению проектами».

Или же можете записаться на курсы Stratoplan. Сам просмотрел пару штук, улучшил понимание процессов и людей в них. О «Стратоплане» как о курсах для менеджеров слышу только позитивные отзывы.

Куда двигаться — решать вам, но также стоит обсудить с руководством, какие специалисты более актуальны конкретно в вашей компании.

Ответы на популярные вопросы

Отвечу на несколько вопросов, которые часто перерастают в холивары из-за непонимания полной картины разработки.

Нужна ли программисту математика и алгоритмы?

Бывает по-разному. В программировании есть типичные задачи, решаемые типичными методами. Эти методы и можно назвать алгоритмами. Почти всегда все алгоритмические задачи так или иначе решены уже в каких-то библиотеках от сторонних производителей, и разработчикам остается только лишь использовать их. Так происходит в 99% случаев.

Однако если вы работаете над созданием уникальных технологических вещей — да, вам нужно в этом ориентироваться. То же самое с математикой — как ни странно, но чаще всего она нужна в геймдеве или в узкоспециализированном софте по расчетам / прогнозированию / машинному обучению и так далее. Кроме того, работа с алгоритмами и математикой расширяет умственные способности и паттерны мышления, что позволяет быстро думать и соображать.

Для входа в IT, думаю, с головой достаточно понимать:

Если вы учитесь/учились в техническом вузе — то для вас это будет относительно несложно. Но если профильного образования нет и тяги к алгоритмам тоже, развивайте свое портфолио на гитхабе, учитесь делать проекты и приносить результат.

И несколько холиварных вопросов 🙂

Что лучше — Java или C#?

Ставить или нет нижнее подчеркивание для приватных членов класса?

Как хотите 🙂 Однако если весь проект написан в едином стиле, его проще читать, и члены команды привыкают читать код быстрее. «C# Coding Conventions (C# Programming Guide)» — кое-что описано тут. Можно использовать StyleCop и блокировать компиляцию проекта в случае несоответствия форматированию. В целом стандартизация повышает скорость и понятность.

Что лучше — SQL или NoSQL базы данных?

Опять таки ответа нет — каждой задаче свое решение. Технологии — лишь инструментарий, решающий задачу. Очевидно, что хранить данные аналитики с достаточно плоской структурой и большим объемом удобней в NoSQL, а сущности, связанные сотнями связей и ограничений, — в реляционной базе.

Зачем эти вопросы? Своими ответами я хотел показать свое отношение к технологиям и разработке в целом. Не важно, каким молотком ты забьешь гвоздь. Важен факт забития гвоздя под нужды клиента, учитывая его потребности и возможные риски. Остальное — детали, которые ему, по сути, и не нужны.

Вот и все, если захотите со мной связаться, можете писать прямо на Facebook — Vladislav Furdak.

Маєте важливу новину про українське ІТ? Розкажіть спільноті. Це анонімно. І підписуйтеся на Telegram-канал редакції DOU

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *