Книга Уильяма Шоттса «Командная строка Linux»

Графический пользовательский интерфейс
делает простые задачи еще проще,
а интерфейс командной строки
делает сложные вещи выполнимыми.

Цитата из книги.


Решил я недавно прокачать свои знания про bash — в первую очередь разложить по полочкам для себя те конструкции языка, которыми иногда пользуюсь, но которые вызывали вопросы. Для этого решил прочитать книгу Уильяма Шоттса «Командная строка Linux», которая вышла на русском языке в прошлом году. И знаете, это, пожалуй, лучший учебник по командам Linux и консоли, который мне попадался. Если вы только собираетесь изучить программирование на bash, то эту книгу можно советовать в качестве основ.

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

Читать далее ‘Книга Уильяма Шоттса «Командная строка Linux»’ »

Яндекс.Книга

Дочитал на днях книгу Дмитрия Соколова-Митрича «Яндекс.Книга», которая посвящена истории Яндекса и немного истории других российских IT-компаний. Практически вся книга построена на основе различных интервью — не только с теми, кто стоял у истоков компании Яндекс или присоединился к компании в годы её «младенчества», но и с руководителями других российских IT-компаний. В книгу включены интервью с Александром Галицким, который работал над созданием технологии Wi-Fi по заказу компании Sun, а сейчас является членом Совета фонда «Сколково», Давидом Яном, основателем ABBY, Денисом Калининым, бывшим главой «Рамблер Интернет Холдинг» и бывшим директором «Сбербанк Технологии», Сергеем Белоусовым — сооснователем Parallels, и многими другими людьми.

Как и большинство книг об истории крупной компании, в Яндекс.Книге подробно описываются события, которые привели к появлению компании Яндекс, а также первые годы её развития, а её нынешнее состояние описано уже более обобщённо. Лично для меня было неожиданно узнать, что практически все крупные российские IT-компании были созданы людьми из науки, многие из них работали в НИИ, а в 90-ые годы прошлого века, когда наша наука полетела в тартарары, создали свою фирму.

Жаль, что интервью автор брал только у «крупных игроков» компании, не опускаясь до рядовых программистов, поэтому вся книга получилась сильно оптимистичная, образ компании Яндекс вышел какой-то слишком положительный. Яндекс представлена как компания с домашней атмосферой, хотя сейчас в ней работает более 6000 сотрудников. Эта книга вышла в 2014 году, и с того времени в Яндекс появились новые проекты, было бы здорово, если бы со временем вышло второе дополненное издание книги.

Читать далее ‘Яндекс.Книга’ »

Книга Тима Джексона «Inside Intel»

Продолжим книжную тему. Один из моих интересов — это история науки, техники и особенно IT. Недавно я случайно наткнулся на книгу, о которой до этого я даже не слышал. Это книга Тима Джексона «Inside Intel. История корпорации, совершившей технологическую революцию XX века». Ох, любят писатели-историки от IT использовать слово «революция», ну ладно, не в этом суть.

Как вы, наверное, поняли, название книги — это перефразированный рекламный слоган «Intel Inside», который уже больше 25 лет можно увидеть на компьютерах и ноутбуках, работающих на процессорах производства Intel. Кстати, в конце 2017 года Intel объявила о значительном сокращении программы «Intel Inside», но к теме сегодняшнего поста это уже не относится.

Эта книга на русском языке вышла только в 2013 году, но английский оригинал был издан в далеком 1997 году и охватывает историю компании от момента основания в 1968 году до 1997 года. Для этой исторической книги давность издания не является недостатком, поскольку почти 30 лет развития компании, которые описаны в книге, все равно никуда не денутся, а дальнейшую историю опишут новые авторы (кстати, интересно, есть ли книги с описанием более поздних лет компании).

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

Читать далее ‘Книга Тима Джексона «Inside Intel»’ »

Книга Брайана Уорда «Внутреннее устройство Linux»

На днях дочитал книгу Брайана Уорда «Внутреннее устройство Linux». Эта книга для тех, кто уже использует Linux как пользователь, но хочет чуть-чуть заглянуть во внутреннюю структуру этой операционной системы. В ней рассказывается обо всем понемногу, но при этом не особо углубляясь в подробности. «Внутреннее устройство Linux» можно сравнить с обзорной экскурсией по операционной системе, когда какие-то новые знания вы получаете, но для их практического применения еще нужно что-то читать дополнительно (в книге постоянно ссылаются на документацию).

Эта книга не столько о ядре Linux, сколько о том, как ядро взаимодействует с другими компонентами операционной системы. После краткого рассказа о том, из чего состоит операционная система на основе Linux (ядро, пользовательские процессы, драйверы устройств) говорится о использовании терминала с описанием наиболее часто используемых команд, таких как ls, cd, pwd, cat, find, file, grep и т.п. Все они описаны достаточно кратко без полного списка параметров, приводятся лишь несколько вариантов использования. Честно говоря, я не люблю такой подход обучения на примерах, потому что он не показывает всех возможностей описываемых команд.

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

Читать далее ‘Книга Брайана Уорда «Внутреннее устройство Linux»’ »

Итоги 2017 года. Прочитанные книги

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

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

Читать далее ‘Итоги 2017 года. Прочитанные книги’ »

Книга Дэйва Эггерса «Сфера»

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

Я редко пишу отзывы на художественные книги, но о «Сфере» Дэйва Эггерса просто обязан что-нибудь написать, к тому же эта книга про технологии и пользователей. «Сфера» — это роман-антиутопия, который настолько мне понравился, что в личном рейтинге я готов поставить ее на один уровень с «451 градусом по Фаренгейту» Брэдбери, хотя по задумке книга ближе к «1984» Оруэлла.

Я очень люблю книги, в которых автор выдвигает какую-то идею и пытается представить мир, в котором эта идея реализовалась, пробует эту идею на прочность, пытается вывести из нее следствия. Идея «Сферы» не кажется такой уж фантастической, если технологии со временем позволят хранить достаточно большой объем данных.

Эггерс в своей книге описывает IT-компанию, которая так и называется «Сфера» (в оригинале «The Circle»), которая очень напоминает существующий Google (или теперь уже Alphabet). Эта компания выросла за счет создания технологии, которая позволяет легко и безопасно авторизовываться на сайтах с использованием учетной записи Сферы — «АУтенТы». Аккаунт привязан ко всем личным данным пользователя, поэтому фейковые аккаунты исключены. По сюжету Сфера поглотила и Google, и Twitter, и Facebook, при этом Сфера дает пользователям свою платформу для блогов, посты в которой называются «Кваки». Дела у компании идут хорошо, пользователи довольны. Внутри компании отличная творческая атмосфера, о сотрудниках и их родственниках компания заботится, хотя работы много и сотрудники буквально живут в кампусе компании.

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

Читать далее ‘Книга Дэйва Эггерса «Сфера»’ »

О книге «Producing Open Source Software»


Давно я не писал посты о прочитанных книгах, хотя в последнее время удалось прочитать достаточно много книг, которые достойны обзора. Так уж получилось, что в этом году большинство книг по программированию, которые мне попадались, были на английском языке. В этом посте речь пойдет об одной из таких книг Карла Фогеля (Karl Fogel) — «Producing Open Source Software».

Как ясно из названия, эта книга об открытом программном обеспечении, но прежде чем говорить о книге, надо сказать пару слов об ее авторе. Карл работал (или работает) над такими известными проектами как Subversion (она же SVN, система контроля версий, которая когда-то пришла на смену CVS) и Launchpad — хостинг для открытого софта, где, например, располагается проект Ubuntu, MySQL и многие другие крупные опенсорсные проекты.

В своей книге «Producing Open Source Software», которая также распространяется с открытыми исходниками на сайте http://producingoss.com, Карл всесторонне описывает работу над софтом с открытыми исходниками. Причем, речь в ней идет не только о технической стороне, но и о социальной, ведь успешный открытый проект — это прежде всего результат взаимодействия многих людей, тем или иным образом участвующих в проекте. Причем участники могут проживать по всему миру. Это не обязательно должны быть программисты, это могут быть дизайнеры, бета-тестеры, люди, которые переводят программу на свой родной язык, да и просто пользователи, которые присылают свои пожелания и сообщения об ошибках. А может быть создание свободного софта — это ваша основная работа, тогда возникнет вопрос о том, как зарабатывать на нем, причем так, чтобы сообщество вас поддерживало.

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

Читать далее ‘О книге «Producing Open Source Software»’ »

Про книгу «Android. Программирование для профессионалов»

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

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

К сожалению, книга Б. Харди, Б. Филлипса, К. Стюарта и К. Марсикано «Android. Программирование для профессионалов» не исключение. Но сначала хочется выразить свое «фи» переводчикам и издателю (несмотря на все мое уважение к издательству Питер). Во-первых, второе название книги перевели настолько вольно, что оно стало полностью противоречить содержанию книги. В оригинале книга называется «Android Programming. The Big Nerd Ranch Guide». Никаких профессионалов в оригинале нет, «The Big Nerd Ranch» — это компания, которая занимается разработкой и обучением программированию. И даже предисловие книги начинается словами «Начинающему программисту Android предстоит основательно потрудиться…» Таким образом, эта книга предназначена именно для новичков. Вот именно с этой позиции и стоит рассматривать эту книгу.

Читать далее ‘Про книгу «Android. Программирование для профессионалов»’ »

Итоги 2016 года. Прочитанные книги

Итоги 2016 года. Прочитанные книги

Близится новый год, пора подводить итоги года уходящего — что удалось реализовать за последние 365 366 дней, а до чего руки так и не дошли. Предновогодние итоги я разобью на несколько тем, в сегодняшнем посте я вспомню книги, которые были прочитаны в 2016 году.

Книги я разделил на три группы: художественные, программирование и разное. В этом году удалось прочитать 9 художественных книг, 15 книг, связанных с программированием, и 6 из раздела «разное» — итого получилось ровно 30 книг, т.е. в среднем по больнице на одну книгу у меня уходит чуть меньше 2 недель. Разумеется, все зависит от толщины и интересности книги. В основном книги я читаю в метро по дороге на работу / с работы, хотя и дома иногда приятно посидеть с интересной книжкой. По замерам времени, в метро за день на чтение уходит примерно 1 ч. 20 мин.

К некоторым прочитанным книгам я напишу комментарии, о некоторых я уже писал посты в этом блоге, и тогда дам ссылки на эти записи. Про художественные книги писать комментарии особо не буду, мне это сразу навевает воспоминания о школьных сочинениях, которые могут отбить желание читать книги у любого школьника. Хотя после прочтения 6-го тома из серии про Дюну Френка Герберта я не удержался и написал пост в ЖЖ.

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

Читать далее ‘Итоги 2016 года. Прочитанные книги’ »

Книга Лучано Рамальо «Python. К вершинам мастерства»

На днях дочитал книгу Лучано Рамальо «Python. К вершинам мастерства». Пожалуй, это лучшая техническая книга, которая мне попадалась за последние время. Это объемная книга, содержащая 768 страниц, но при этом читается она достаточно легко. Сразу надо сказать, что книга Рамальо — не учебник для начинающих, вы уже должны знать Python хотя бы на начальном уровне, представлять себе, что такое объектно-ориентированное программирование и иметь хотя бы общее представление о шаблонах проектирования. Процитирую несколько фраз из введения книги, где сам автор пишет, для кого предназначена эта книга:

Python — простой для изучения и мощный язык программирования… Поскольку язык так просто выучить и начать применять на деле, многие программисты используют лишь малую часть его обширных возможностей… Эта книга написана для практикующих программистов на Python, которые хотят усовершенствоваться в Python 3. Если вы уже знакомы с Python и хотели бы перейти на версию Python 3.4 или старше, эта книга для вас.

В этой книге действительно упор сделан на возможностях, которые появились в Python 3.x, особенно автор подчеркивает особенности, возникшие в версиях Python 3.3 и 3.4. В момент написания книги Python 3.5 еще не вышла, но было примерно понятно, что туда собираются включить, и Лучано Рамальо упоминает некоторые такие возможности. Хотя в книге упор сделан на Python 3, но многие описанные вещи применимы и к Python 2.x, при этом подчеркивается, где есть различия в поведении интерпретатора Python 2.x и 3.x.

Большая часть книги в той или иной мере посвящена объектам в Python, тому, как интерпретатор их создает, что происходит при вызове методов вида __xxx__ и многое другое. Хотя местами описывается достаточно низкоуровневая логика, но до байт-кода автор доходит всего один или два раза.

Читать далее ‘Книга Лучано Рамальо «Python. К вершинам мастерства»’ »