Что подарить программисту на Новый Год: несколько идей подарков для гиков

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

Книги

Книги

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

«Совершенный код», С. Макконнелл.

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

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

 

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

 

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

«Компьютерные сети», Э. Таненбаум.

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

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

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

«Паттерны проектирования», Эрик Фримен, Элизабет Фримен.

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

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

 

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

 

Особенностью данного издания является уникальный способ подачи материала, выделяющий серию «Head First» издательства O’Reilly в ряду множества скучных книг, посвященных программированию. Книга будет интересна широкому кругу веб-разработчиков, от начинающих до профессионалов, желающих освоить работу с паттернами проектирования.

«Современные операционные системы», Э. Таненбаум.

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

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

 

Например, глава о Windows Vista теперь заменена подробным рассмотрением Windows 8.1 как самой актуальной версии на момент написания книги. Появился объемный раздел, посвященный операционной системе Android. Был обновлен материал, касающийся Unix и Linux, а также RAID-систем. Гораздо больше внимания уделено мультиядерным и многоядерным системам, важность которых в последние несколько лет постоянно возрастает. Появилась совершенно новая глава о виртуализации и облачных вычислениях.

 

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

«Алгоритмы. Руководство по разработке», С. Скиена.

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

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

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

Вы так же можете ознакомиться с некоторыми из наших подборок лучших книг для программистов:

  1. Что читать айтишнику: лучшие книги по программированию всех времен и народов
  2. Изучаем программирование: 10 лучших книг для начинающих разработчиков
  3. Подборка книг для начинающих веб-программистов

Устройства

Arduino

Arduino

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

Fidget Cube

Fidget Cube

Не так давно Kickstarter взорвал очередной проект, собрав почти 6,5 миллионов долларов. Fidget Cube представляет из себя маленький пластиковый куб c колесиками, кнопками и одним переключателем. Fidget Cube используется для спокойствия и концентрации владельца, который крутит его в руках, проворачивает колесики и щелкает кнопками.

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

Прочее

Кроме перечисленного выше вы можете подарить вашему знакомому полезные в быту вещи.

Программистские кружки

Вот несколько интересных примеров:

CSS is awesomeJava Cup
hujak hujak cup pic0
pic0pic0

Набор чашек Ctrl-Alt-Del

ctrl alt del

Футболки с тематическими принтами

Вот несколько примеров:

pic0pic1
pic2pic3

С наступающим!

Антон Корольков, full stack ньюсрайтер