CODE RED
9.9K subscribers
9 photos
2 videos
1.1K links
Мир глазами программистов; лучшая литература, обучающие статьи, курсы и некоторые полезные лайфхаки.

Обратная связь: @encryptedadm
Download Telegram
​​Приемы объектно-ориентированного проектирования. Паттерны проектирования
Эрих Гамма

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

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

Год: 2017
Язык: русский 🇷🇺

📥 Скачать

#книга #архитектура #rus
​​Читаемый код
Дастин Босуэлл, Тревор Фаучер

Любому программисту доводилось видеть код, который настолько неаккуратен и так пестрит ошибками, что от его чтения начинает болеть голова. За пять лет авторы этой книги проанализировали сотни примеров «плохого» кода (в основном - собственного), пытаясь определить, чем плох тот или иной код и как его можно улучшить. К какому выводу они пришли? Необходимо писать такой код, который читатель сможет понять максимально быстро, даже если этот читатель сам создатель этого кода.

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

Год: 2020
Язык: русский 🇷🇺

📥 Скачать

#книга #архитектура #rus
​​Экстремальное программирование. Разработка через тестирование
Кент Бек

Возвращение знаменитого бестселлера. Изящный, гибкий и понятный код, который легко модифицировать, который корректно работает и который не подкидывает своим создателям неприятных сюрпризов. Неужели подобное возможно? Чтобы достичь цели, попробуйте тестировать программу еще до того, как она написана. Именно такая парадоксальная идея положена в основу методики TDD (Test-Driven-Development – разработка, основанная на тестировании).

Бессмыслица? Не спешите делать скороспелые выводы. Рассматривая применение TDD на примере разработки реального программного кода, автор демонстрирует простоту и мощь этой методики. В книге приведены два программных проекта, целиком и полностью реализованных с использованием TDD. За рассмотрением примеров следует обширный каталог приемов работы в стиле TDD, а также паттернов и рефакторингов, имеющих отношение к TDD. Книга будет полезна для любого программиста, желающего повысить производительность своей работы и получить удовольствие от программирования.

Год: 2017
Язык: русский 🇷🇺

📥 Скачать

#книга #архитектура #rus
​​Рефакторинг кода на JavaScript: улучшение проекта существующего кода
Мартин Фаулер

Более двадцати лет опытные программисты во всем мире использовали книгу Мартина Фаулера Рефакторинг, когда им нужно было улучшить проект существующего кода, повысить удобство сопровождения программного обеспечения или облегчить понимание существующего кода. Это – такое долгожданное – новое издание было полностью обновлено, чтобы отразить важные изменения в области программирования.

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

Год: 2019
Язык: русский 🇷🇺

📥 Скачать

#книга #архитектура #rus
​​Программист-прагматик
Дэвид Томас, Эндрю Хант

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

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

Год: 2020
Язык: русский 🇷🇺

📥 Скачать

#книга #архитектура #rus
​​Эффективная работа с унаследованным кодом
Майкл Физерс

Учитесь извлекать максимум пользы из унаследованных систем, повышая их производительность, функциональность, надежность и сопровождаемость! Можете ли вы без особого труда изменить код и тут же получить ответную реакцию на внесённые изменения? Насколько понятен этот код? Если вы ответите на эти вопросы отрицательно, значит, вы имеете дело с унаследованным кодом и понапрасну тратите время и средства на разработку.

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

Год: 2009
Язык: русский 🇷🇺

📥 Скачать

#книга #архитектура #rus
​​Идеальный программист
Роберт Мартин

В этой книге легендарный эксперт Роберт Мартин, автор бестселлера «Чистый код», рассказывает о том, что значит «быть профессиональным программистом», описывая методы, инструменты и подходы для разработки «идеального ПО».

Книга насыщена практическими советами в отношении всех аспектов программирования: от оценки проекта и написания кода до рефакторинга и тестирования.

Год: 2018
Язык: русский 🇷🇺

📥 Скачать

#книга #архитектура #rus
​​Автоматизация программируемых сетей
Скотт Лоу, Джейсон Эделман, Мэтт Осуолт

Постоянное появление новых протоколов, технологий, моделей доставки и ужесточение требований к интеллектуальности и гибкости бизнес-процессов сделали сетевую автоматизацию чрезвычайно важной. Это практическое руководство наглядно демонстрирует сетевым инженерам, как использовать широкий спектр технологий и инструментальных средств, в том числе Linux, Python, JSON и XML, для автоматизации систем с помощью написания программного кода.

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

Год: 2019
Язык: русский 🇷🇺

📥 Скачать

#книга #архитектура #rus
​​Программирование без дураков
Пассиг Катрин, Яндер Йоханнес

Хотите научиться программировать "less wrong"? Тогда эта книга - для вас. Ведь программирование — это во многом коммуникация. Стиль программирования, именование, комментирование, работа с чужим кодом — зачастую соглашения складываются именно там, где строгая регламентация на уровне языка программирования отсутствует.

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

Год: 2017
Язык: русский 🇷🇺

📥 Скачать

#книга #архитектура #rus
​​Программирование. Принципы и практика с использованием C++
Бьярне Страуструп

Эта книга не является учебником по языку C++, это учебник по программированию. Несмотря на то что ее автор — автор языка С++, книга не посвящена этому языку программирования; он играет в книге сугубо иллюстративную роль. Автор задумал данную книгу как вводный курс по программированию.

Поскольку теория без практики совершенно бессмысленна, такой учебник должен изобиловать примерами программных решений, и неудивительно, что автор языка C++ использовал в книге свое детище. В книге в первую очередь описан широкий круг понятий и приемов программирования, необходимых для того, чтобы стать профессиональным программистом, и в гораздо меньшей степени — возможности языка программирования C++.

Год: 2015
Язык: русский 🇷🇺

📥 Скачать

#книга #архитектура #rus
​​Принципы разработки программных пакетов
Маттиас Нобак

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

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

Год: 2020
Язык: русский 🇷🇺

📥 Скачать

#книга #архитектура #rus
​​Предметно-ориентированное проектирование
Эрик Эванс

Классическая книга Э.Эванса освещает наиболее общий, стратегический круг вопросов, связанных с объектно-ориентированной разработкой программного обеспечения. Это переработка и структуризация знаний о предметных областях, применение типовых архитектурных шаблонов, построение и анализ моделей предметных областей, проектирование программных объектов с точки зрения качества их взаимодействия и передачи логической структуры знаний, организация программ на основе крупномасштабных структур, выработка общего языка и стратегии коммуникации в группе.

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

Год: 2010
Язык: русский 🇷🇺

📥 Скачать

#книга #архитектура #rus
Forwarded from Deleted Account
​​Распределенные системы. Паттерны проектирования
Брендан Бернс

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

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

Год: 2019
Язык: русский 🇷🇺

📥 Скачать

#книга #архитектура #rus
​​Рефакторинг баз данных. Эволюционное проектирование
Скотт Эмблер

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

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

Год: 2016
Язык: русский 🇷🇺

📥 Скачать

#книга #архитектура #rus
​​Архитектура компьютера
Эндрю Таненбаум, Тодд Остин

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

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

Год: 2013
Язык: русский 🇷🇺

📥 Скачать

#книга #архитектура #rus
​​Искусство неизменяемой архитектуры
Майкл Л. Перри

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

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

Год: 2022
Язык: русский 🇷🇺

📥 Скачать

#книга #архитектура #rus
​​Рефакторинг кода на JavaScript: улучшение проекта существующего кода
Мартин Фаулер

Более двадцати лет опытные программисты во всем мире использовали книгу Мартина Фаулера Рефакторинг, когда им нужно было улучшить проект существующего кода, повысить удобство сопровождения программного обеспечения или облегчить понимание существующего кода. Это – такое долгожданное – новое издание было полностью обновлено, чтобы отразить важные изменения в области программирования.

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

Год: 2019
Язык: русский 🇷🇺

📥 Скачать

#книга #архитектура #rus
​​Шаблоны корпоративных приложений
Мартин Фаулер

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

Автор, известный специалист в области объектно-ориентированного программирования, заметил, что с развитием технологий базовые принципы проектирования и решения общих проблем остаются неизменными, и выделил более 40 наиболее употребительных подходов, оформив их в виде типовых решений. Результат перед вами — незаменимое руководство по архитектуре программных систем для любой корпоративной платформы.

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

Год: 2016
Язык: русский 🇷🇺

📥 Скачать

#книга #архитектура #rus
​​Head First. Паттерны проектирования
Эрик Фримен, Элизабет Робсон

Не имеет смысла каждый раз изобретать велосипед, лучше сразу освоить приемы проектирования, которые уже созданы людьми, сталкивавшимися с аналогичными задачами. В этой книге рассказано, какие паттерны действительно важны, когда и при каких условиях ими необходимо пользоваться, как применить их в ваших проектах и на каких принципах объектно-ориентированного проектирования они построены. Присоединяйтесь к сотням тысяч разработчиков, которые повысили свою квалификацию объектно-ориентированного проектирования благодаря книге «Head First. Паттерны проектирования».

Если вы уже читали книги из серии Head First, то знаете, что вас ждет визуально насыщенный формат, разработанный с учетом особенностей работы мозга. В книге «Head First. Паттерны проектирования» принципы и паттерны проектирования представлены так, чтобы вы не заснули, читая книгу, научились решать реальные задачи проектирования программных продуктов и общаться на языке паттернов с другими участниками вашей команды.

Год: 2022
Язык: русский 🇷🇺

📥 Скачать

#книга #архитектура #rus
​​Рефакторинг: улучшение проекта существующего кода
Мартин Фаулер

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

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

Год: 2019
Язык: русский 🇷🇺

📥 Скачать

#книга #архитектура #rus