Наша бестселлерная книга, содержащая более 600 страниц основных знаний и навыков в области компьютерных наук. От нотации Big-O до нормализации базы данных, от Банды четырёх до машин Тьюринга. Это все здесь! Для тех, кто не имеет степени "Компьютерная инженерия", эта книга поможет вам оставаться на связи, когда темы переходят слишком далеко.
Не имеете степени в компютерных науках? И Я НЕТ! Вот почему я написал эти книги: чтобы заполнить пробелы в моей карьере. Результат? Два тома и более 700 страниц основных навыков и идей, которые должен знать каждый разработчик.
Я разработчик-самоучка, и большую часть своей карьеры я саморазвивался, и узнавал что нужно для выполнения работы. Но когда разговоры переходили к более глубоким понятиям, я капитулировал.
Я решил изменить все это в 2014 году. Я просмотрел все темы, которые охватывает типичная степень CS (Информатика, Компютерные науки), а затем углубился. На полпути я решил написать книгу о том, что я изучал.
Два тома, более 700 страниц, 40 глав и более 3 лет опыта.
Я начал писать эти книги в декабре 2015 года как список вещей, о которых хотел бы узнать больше. Сначала я подумал, что это может быть серия постов в блоге, но я решил подтолкнуть себя к тому, чтобы углубиться и сделать немного больше. В августе 2016 года я выпустил первую версию, и она взлетела.
В мае 2017 года я начал второй том, исследуя бинарные проблемы, шифрование, хеширование, булеву алгебру и многое другое. Год спустя, второй том был опубликован.
22 проекта, которые вы можете скачать с Github и подписаться на них.
Много рисованной иллюстрации. Это то, как я учусь, и я подумал, что было бы интересно добавить их в книгу.
Я сходил с ума, когда:
Начали говорить о Big-O, и я замолкал
Я был на конференции в Лас-Вегасе в 2009 году, на светском мероприятии с другими докладчиками. Двое из них начали оживленно говорить о рутине, которая была O (n ^ 2) против O(n). Я понятия не имел, о чем они говорили, и хотел скрыть это.
Оказывается: Big-O на самом деле довольно прост! Мы рассмотрим несколько примеров, в том числе страшного Фибоначчи, чтобы увидеть, сколько разных способов мы можем использовать, чтобы написать одну и ту же подпрограмму, и все с разным Big-O.
Мне было бы нечего сказать, когда кто то говорил: «Это просто комбинатор».
Есть определенные слова, которые заставляют меня искать выход, и Combinator является одним из них. Я все еще не эксперт, но после нескольких часов исследований я понял их достаточно хорошо, чтобы немного программировать в JavaScript - включая Y Combinator!
Это то, что мы будем делать вместе, изучая основы лямбда-исчисления, математического плана, на котором основаны все языки программирования.
Я понятия не имел, какая структура данных была необходима для первого обхода двоичного дерева на собеседовании.
В 2014 году я взял интервью у моего друга и задал простой вопрос: «Что самое важное, что должен знать разработчик?» Его ответ был немедленным:
«Основные алгоритмы и структуры данных. Все, что мы делаем, происходит оттуда».
Он продолжал описывать интервью, которые он проводил, когда кандидат не знал, как пройти через двоичное дерево, и какие структуры данных использовать. Когда я закончил, у меня было пустое выражение лица: «Я один из тех людей», - сказал я.
Визуализатор?
Я большой поклонник видеоуроков, и я люблю их делать. На самом деле, я думаю, что мне может понравиться делать эти вещи слишком много!
Более 5-ти месяцев я потратил на объединение этих 17 видео (~ 3,5 часа), точную настройку звука, редактирование видео, чтобы сделать его максимально кратким. Вы не будете смотреть на маркеры на слайде в течение 5 минут, пока я буду гудеть, и вы не будете смотреть, как я пытаюсь печатать, пока я устанавливаю зависимости. Ваше время ценно, и если я правильно выполнил свою работу, вы превратите это время в знания.
- Простые и продвинутые алгоритмы
- Прохождение лямбда-исчисления
- Функциональные концепции с JavaScript
- Сортировка и обход графа
- Design Pattern Walkthrough
- Скрипты Shell и создание Makefile
- Супер Простой TDD и BDD
- Пошаговая нормализация БД
https://bigmachine.io/products/imposter-video/