Skip to content

Instantly share code, notes, and snippets.

@niquola
Created April 5, 2021 19:17
Show Gist options
  • Save niquola/2faa831b73cb8138ecb66c989de085de to your computer and use it in GitHub Desktop.
Save niquola/2faa831b73cb8138ecb66c989de085de to your computer and use it in GitHub Desktop.

1 Software Design for Flexibility

Новая книга от одного из авторов культовой SICP (Gerald Jay Sussman) и principal author of Scheme (Chris Hanson) - «Software Design for Flexibility. How to Avoid Programming Yourself into a Corner». Авторы задаются «извечным» вопросом о гибкости кода и как ее достичь. Судя по оглавлению речь пойдет о различных техниках и подходах от комбинаторов до DSL и динамического программирования. Звучит очень интересно! https://mitpress.mit.edu/books/software-design-flexibility.

https://t.me/tripovozkiknig/62

2 Domain Modeling Made Functional

Книга про то как делать DDD методами функционального программирования (на F#, но многие аспекты применимы к ЯП без статической типизации) было бы интересно послушать кто пытался реализовывать описанные подходы на реальных проектах (event sourcing, onion architecture), что в целом думаете про DDD и как бы могли выглядеть эти подходы с точки зрения кложи (без DTO, например)

https://t.me/tripovozkiknig/103

3 Code

Известная книга, в которой раскрывается внутреннее устройство компьютера, программ и того, как всё это работает вместе. Сложность нарастает постепенно, а в процессе чтения можно узнать много интересного из истории. Не знаю как у кого с английским, поэтому кроме файла приложу ссылку на русскую версию. https://www.mann-ivanov-ferber.ru/books/kod-tajnyij-yazyik-informatiki/

https://t.me/tripovozkiknig/112

4 SICP (fist half)

https://mitpress.mit.edu/sites/default/files/sicp/full-text/book/book.html Предлагаю первые 3 главы SICP

  1. Абстракция с помощью функций
  2. Абстракция с помощью данных
  3. Модульность, Объекты и Состояние В книге описаны овновные концепции программирования. также #1 в списке рекомендованных книг от David Nolen.

5 Operating Systems: Three Easy Pieces (OSTEP)

Моя любимая книжка по операционным системам. В отличии от всяких Тоненбаумов и Робочевских, ее реально можно читать, написана живым языком, несмотря на то что рассказывает про довольно сложные темы Зачем Читать? Чтобы понимать что такое процесс и поток, что такое стек, как устроена память, какие проблемы порождает многопоточность и как их решать, etc... Как долго читать? У меня заняло месяца 4, но я медленно читаю, и старался делать некоторые упражнения. Пререквизиты: Желательно немного уметь читать Си на уровне K&R, но маленький crash course по Си есть в книге. Книга свободно доступна на сайте авторов по частям, но у меня где то лежала склеена версия. https://pages.cs.wisc.edu/~remzi/OSTEP/

How to Solve It. Дисклеймер: книгу не читал, но интересно. Гайд по решению проблем, книга написана о решении математических проблем, но описанные методы могут быть применены для решения любых инженерных задач. Часто встречаю рекомендацию этой книги, в том числе в одной из лучших лекций Хикки: https://www.youtube.com/watch?v=f84n5oFoZBc Если кто то читал: дайте отзыв. На сколько хорошо нужно владеть мат. аппаратом чтобы освоить материал?

https://t.me/tripovozkiknig/166

6 Новый ум короля. Роджер Пенроуз,

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

Я читал эту книгу как учебник, но и тема сама по себе интересная

https://t.me/tripovozkiknig/170

7 Fundamentals of Software Architecture

https://www.oreilly.com/library/view/fundamentals-of-software/9781492043447/

  1. Основы (понятия, термины, характеристики)
  2. Архитектурные стили
  3. Техники для построения архитектуры (преимущественно софт-скиллы)

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

https://t.me/tripovozkiknig/201

8 Richard Hamming. The Art of Doing Science and Engineering: Learning to Learn

Прекрасная книга от автора кодов устойчивых к ошибкам и еще ряда результатов в Computer Science используемых практически везде, основанная на его цикле лекций в US Naval Postgraduate School. Рассказ начинается от истории как и зачем появились компьютеры, через важные теоретические элементы Computer Science, такие как особенности многомерных пространств, теория информации Шеннона, коды Хэмминга, цифровые фильтры, к общим мыслям про математику, квантовую физику и системную инженерию. Прежде всего он фокусируется не на изложении самих теоретических фактов, как в учебнике, а на том, какой мыслительный процесс приводит к открытиям и изобретениям, с примерами из его долгой научной и технической карьеры.

Pdf легко гулится, также есть прекрасное бумажное издание от Stripe Press, вышедшее в прошлом году, там добавилось только короткое предисловие.

https://t.me/tripovozkiknig/215

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment