- PVSM.RU - https://www.pvsm.ru -
Этот пост предназначается всем любителям платформы .NET и языка C#. Думаю, многие встречали на просторах сети разнообразные задачки на понимание тех или иных особенностей платформы или языка. Я большой любитель подобных задачек и головоломок. Они помогают глубже понять определённые области и повысить собственные программистские навыки. Однажды я решил сделать подборку подобных задачек, чтобы можно было показывать другим людям и обсуждать нюансы работы с .NET/C#. Когда задачек накопилось достаточное количество, появилась новая мысль — оформить мою подборку в виде книжки. Вашему вниманию предоставляется текущий вариант этого сочинения под названием «Задачник.NET».
Читать online [1]
Скачать PDF-версию [2]
Исходные коды на GitHub [3]
Данная книга представляет собой сборник задач на знание платформы .NET и языка программирования C#. Дабы у читателя и автора не возникло недопонимания, сразу хочется сказать, чем не является эта книга:
Так чем же тогда является эта книга? Задачник.NET — это попытка собрать в одном месте разные интересные практические задания на знание платформы. Скорее всего, наибольшую пользу извлекут для себя .NET-разработчики, которое ещё просто не сталкивались с теми или иными областями. Задачи разбиты на главы, так что можно читать не всё подряд, а только вопросы из тех областей, которые для вас представляют интерес. В этой книге вы не найдёте глубоко философских вопросов типа «Что такое класс?» или «Зачем нужен полиморфизм?». Большая часть заданий представляет собой фрагмент C#-кода, для которого необходимо определить результат работы. Каждый вопрос снабжён ответом с описанием того, отчего .NET ведёт себя именно так.
Рекомендуется относиться к заданиям не как к способу проверить ваши знания, а как к начальной точке для обсуждения тех или иных аспектов платформы. Если вы обнаружили что-то новое для себя, то это отличный повод поизучать .NET чуть подробней. Попробуйте поиграться с кодом: модифицируйте его и изучайте, как изменения влияют на результат. Почитайте соответствующую литературу. Подумайте, как новые знания могут пригодиться вам в вашей работе.
Я догадываюсь, что многие могут начать возмущаться: «А вот в такой-то задачке такая-та штука написана не совсем корректно!» или «А почему задачек так мало?». Поэтому обращаю ваше внимание, что это первый рабочий вариант. На текущем этапе мне хотелось бы получить немного фидбека: нужно ли вообще такое сочинение? Если нужно, то в каком направлении его лучше развивать, про какие области здорово было бы написать? У меня в черновиках накопилось много интересных заданий (которые я пока не успел красиво оформить и включить в задачник) как для уже существующих глав, так и для будущих. В первую очередь планируются главы про многопоточность, WPF и жизненный цикл объектов.
Для каждого задания в конце книги имеется ответ. Часть ответов снабжена кратким описанием того, почему же происходит именно так. На текущий момент подробные объяснения приводятся только для вопросов в главах «Математика», «Значимые типы» и «Строки». Ответы также планируется пополнять и совершенствовать, ведь порой в них и содержится основная полезная информация.
Немного о технической части. Читать обычные книги в классическом формате удобно не всем, поэтому было решено сделать online-версию [4] с помощью GitBook [5]. Как бонус — имеются ePUB и MOBI версии. Но pdf на GitBook верстается просто безобразно. Поэтому я вооружился LaTeX-ом и сверстал нормальную pdf-версию [2]. С помощью Zenodo [6] для книжки получен [7] DOI. На сегодняшний день они самую малость отличаются, но на подходе чудо-скрипт, который будет всё красиво синхронизировать.
Буду рад конструктивным отзывам о моём небольшом сочинении. Также приветствуются новые задачки в любой форме: можете присылать их мне или же присоединяться к разработке на GitHub [3].
Автор: DreamWalker
Источник [8]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/net/70216
Ссылки в тексте:
[1] Читать online: http://andreyakinshin.gitbooks.io/problembookdotnet/
[2] Скачать PDF-версию: https://github.com/AndreyAkinshin/ProblemBook.NET/raw/master/TeX/ProblemBook.NET.pdf
[3] Исходные коды на GitHub: https://github.com/AndreyAkinshin/ProblemBook.NET
[4] online-версию: https://www.gitbook.io/book/andreyakinshin/problembookdotnet
[5] GitBook: https://www.gitbook.io
[6] Zenodo: http://zenodo.org/
[7] получен: http://dx.doi.org/10.5281/zenodo.11839
[8] Источник: http://habrahabr.ru/post/237863/
Нажмите здесь для печати.