Читаю книги
04.08.2010 книги
За последние две недели прочитал брэнсоновский Обнажённый бизнес (об этой книге напишу отдельно) и книгу Джоэла Спольски Джоэл о программировании. Понравилось.
Далее на очереди Краткая история времени от великолепного Стивена Хокинга.
А вы что читаете?
P.S. Пока по тесту Джоэла набираю слишком мало баллов. Но мне можно, я по его классификации вполне сойду за сумасшедшего хакера :) Да и проекты у меня пока не настолько громадные, чтобы использовать системы контроля версий, например. Тем не менее, присматриваюсь к Git.
Комментарии
Комментирование этой статьи закрыто.
« Файл .zshrc с русскими комментариями Firefox и target=_blank »
«100 великих афер» – в туалете лежит =). История афер с древних времен.
А так ничего серьезного, времени совсем нет. Хотя список книг растет каждый день. Последнее добавление в список – www.amazon.com/My
Ты по-английски нормально читать можешь? Везёт. Тоже хочу, но пока не могу, ухватываю только общую суть и то с трудом иногда.
xekcc, моему отцу подарили всю серию книг на русском 100 великих… Две полки книжные заняты. Там рассказывается от любовниц до кораблекрушений.
А так я сейчас дочитывают Граф Монте-Кристо…
Тормоз, средненько. Худ. лит. для меня до сих пор сложновато идет. Например «Побег из Шоушенка» на английском я начал читать еще 3 года назад, почти ничего не понимал, сегодня уже намного лучше, но все же писатели часто используют нестандартные слова, фразы, сложно разобрать. А вот не худ. лит. идет отлично, всякие книжки по маркетингу, автобиографии, инструкции к авто =).
Советую сервис lingualeo.ru по изучению англ. языка, хотя он и полуплатный, но выгодно отличается от всех подобных. Там много интересного видео с TED + тексты + словарь и все в одном окне. Я не слабо так поднял словарный запас с помощью него.
Кастанеду читаю.
xekcc: если это та книга, в которой начинается с Панамского канала — скушно как-то показалось.
Тормоз, система контроля версий — это огромная безопасность. Ты просто перестаёшь сам работать с файлами при публикации. Ты работаешь с изменениями, которые откатываются куда угодно. Задумываться стоило раньше, когда система версионинга ассоциировалась с SVN и прочими, где нужно было поднимать сервер и т. п. Щас ты инсталлишь git на все тачки, на которых хочешь хранить репозиторий, и всё — обмениваться данными можешь любыми стандартными путями (обычно SSH).
Вообще Жоэль мне понравился, но читал я сто лет назад: with.in/vpechatleniy… Но кое-что надо пропускать мимо, например, олдскульный подход к программированию. Это круто, конечно, ТЗ, которые они делали в Микрософте. Там, походу, 500 человек на 1 программера, чтобы делать сопутствующую работу. Но для небольших проектов это перебор. А если проект иновационный — то и вовсе не получится так детально прорисовать всё.
У меня просто пока виртуальный хостинг только, туда Git не поставишь. Как стану большим и толстым, обязательно изучу Git :)
Он как раз очень убедительно доказывает, что даже мелкий проект обязательно нуждается в спецификации. И я на своём опыте убедился, что он прав. На самом деле лучше, быстрее и правильнее изначально хорошо продумать логику приложения (спроектировать его) и только после этого приступать непосредственно к написанию кода. Сам, правда, пока очень редко следую такому совету. Пожалуй, было это вообще лишь один раз ещё до прочтения книги.
Недавно тоже задался вопросом контроля версий и управлением проектами. Купил небольшой VPS и установил туда Redmine + git сервер. Получаем багтрекер + приватные хранилище кода. Сейчас втягиваюсь в работу, очень удобно.
chodex.ru/Git
chodex.ru/Redmine
Мой опыт показывает, что для индивидуального разработчика там критичны три правила.
Которые я бы перефразировал следующим образом
1. Иметь в любой момент времени разработки, актуальный, собираемый билд.
2. Иметь возможность в любой момент времени собрать один из промежуточных билдов/релизов
2. Уметь собирать (выкладывать) текущий, и любой из предыдущих билдов одной «кнопкой»
3. Всегда знать зачем и почему были сделанны какие либо изменения
Все остальное
Все остальное вытекает из этих пунктов. В том числе использование системы контроля версий.
Я меркуриал начал использовать не затем чтобы что-то куда-то выкладывать, а для других вещей
- я хочу чтобы когда я делаю изменения, я бы мог в любой момент времени востановить зачем я их сделал. – я хочу в любой моемнт времени иметь возможность собрать релиз который я кому либо делал – я хочу чтобы когда я вношу изменения, они бы автоматом собирались в законченный вид (паковались, к ним прикручивался инсталятор и т.п.)
В данный момент для свох личных проектов, я использую меркуриал (не всегда, но зачастую) именно для этих вещей.
Делая комментария к коммитам я получаю контроль за изменениями – т.е. я всегда знаю почему я тут добавил или изменил код.
Делая коммит, я всегда знаю что к этому коммиту у меня есть уже готовый релиз
Т.е. не нужно ждать пока у тебя появиться VPS или что-то подобное. Это все отмазки.
Используй систему контроля версий на локальной машине.
И у тебя будет и трекинг изменений, и автоматический деплоймент (через хуки) и т.п.
А исходники хранить в различных местах это дело не самое важное.
Блин, я сленг программерский вообще не понимаю иногда. То есть можно нажатием кнопочки в Git, например, залить весь новый код на сервер, даже если на сервере Git не установлен?
Ну ты и Тормоз! Слова «билд», «инсталлятор» что-то говорят? Человек занимается разработкой локального компилированного софта и ему на наши проблемы начхать.
Вообще системы контроля версий предназначены не для публикации, но их для этого можно юзать. Есесна — установить надо гит, как утилиту. Никаких серверов не надо, сервера — это для веб-доступа, даже большая команда, в-принципе, может работать без сервера — это опционально.
Что-то говорят, но всё равно я считаю, что все эти «билды» и «деплойменты» от неумения выразить свои мысли нормальным понятным всем языком. Ну или от лени.
Ну, сформулируй-ка билд? :) Проблема в том, что билдинг = сборка. Собираю билд, панимашь.
По-русски в смысле? Да без проблем. Чем «версия» не подходит?
Кстати, да и ты сам же написал «сборка». Нормальное понятное всем слово. Понятное даже далёким от программирования людям.
Это уже используется в прямом смысле :)
Пойми — у нас не принято юзать одно слово, как сущ., глагол, прилагательное + повторять его 5 раз недалеко друг от друга. Поэтому приходится изобретать для каждого термина своё, отличное слово.
«А сейчас мы работаем над версией 5,1. Вчера вот намаялся, пока собрал версию». Пиздец ведь?!
Деплой — потому, что у них есть паблишь и деплой, у нас только публикация. А ты телепат ли — понять такую фразу: «вчера из-за последней публикации сайт упал, ох и намаялся, пока баг нашёл!» ??? Это контент-менеджер статью опубликовал с кривым тегом? Или красноглазый вебмастер опубликовал код движка? :)
«Сборка» — не то. Сборка ассоц. с каким-то хендмейдом. Именно поэтому этим словом зовут всякие наборы плагинов и конфигов программ (сборка миранды). А билд — это уже что-то более монументальное (строение). «Я вчера собрал здание версии в тестовой ветке 10.6.1» «Хуя се, Вася, новости, а я-то думал, ты программер!»
Ну вас нафиг :)
Про Джоэля шутка была, что всё было бы у него гладко, если б не его FogBugz :)
Мы с него на JIRA ушли. Теперь вообще всё круто. Нельзя «запушить» без указания ссылки на тикет оттуда.
Читаю Кови. Могу дать «Психбольница в руках пациентов» Купера, про дружеские к пользователю интерфейсы.
У тебя же сейчас есть батник который выкладывает проект на сервер, увеличивает номер версии и т.п? Вот hg или git будет его запускать когда ты будешь делать коммит в комментарии которого будет слово release например. Задача сделать так чтобы не думать о таких вещах – а код писать.
Да нету разницы локальный или не локальный. Мне вот тоже нужно чтобы при создании новой версии нужно чтобы она на сервер залилась, анонс на сайте появился, указанный размер приложения на сайте поменялся. Сейчас для этого нужно руками батники запускать, а правильно будет коммит с нужными тегами сделать и все. Другое дело у меня на сервере версия обновляется раз в полгода. Было бы чаще давно бы сделал.
Я не смотрел саму программку, но по картинкам в книге понятно было, что это какая-то страшноватая и замудрёная штука. Всё потому, что рассуждать-то легко, блин, а делать по уму куда сложнее.
Да вы сговорились сегодня! :)
Неа, у меня сейчас всё ручками пока.
Young: полная ерунда про батник. Ты как-то не рубишь различия разработки сайта и проги. Да и прогу если ты выкладываешь — тож эта фиха выплывет. Если ты делаешь заливаешь из локального репозитория в серверный — ты в любой момент на сервере откатываешься на любую версию. В любой момент восстанавливаешь что угодно там. А если ты не держишь там репозиторий — хе, я посмотрю на тебя, как ты будешь эдак 100 файлов из старой версии перезаливать, когда найдётся баг в текущей и надо срочно откатить всё для того, чтобы сайт работал.
Читал недавно Бренсона «К черту все! Берись и делай». А так в списке на ближайшее время Краткая история времени (либо ее новая версия – Кратчайшая история времени) и Внутри торнадо.
Могу посоветовать еще «Софт – отстой» Дэвида Платта. Книжка о том кто такие гики и почему у них не получаются продукты для людей =) С Джоэлем, конечно, не сравнить, но почитать все же стоит. Кстати, о Джоэле – вторая его книга мне показалась менее сильной. Еще у него есть «Лучшие примеры разработки ПО» – сборник разных статей о разработке ПО. Довольно интересная книжка, хотя я ее так и не дочитал (прочитал до середины, а потом забыл про нее).
Сам сейчас читаю «Интерфейс» Раскина и еще параллельно пару других книг.
PS: можно как-нибудь отключить обязательный предпросмотр перед отправкой комментария? Из под оперы мини комментировать твои записи весьма затруднительно =)
О, Bright, привет! Давно тебя не было. «Интерфейс» Джефа Раскина я тоже читал недавно, этой весной. Интересная книга.
Если отключить предпросмотр, в комментариях будет больше ошибок и ещё мне придётся разгребать автоматический спам.
Я сейчас как заново начинаю читать блоги :) Как-то забросил все, в гугл ридер даже не заходил.
Весной я Getting Real читал как раз. Там много интересных мыслей. Но если бы не твои неоднократные упоминания об этой книге, еще бы не скоро прочитал наверно. Спасибо =)
«Интерфейс» – книга, бесспорно, интересная. Хоть я и ожидал большей практической применимости (возможно, будет дальше – пока не дочитал ее).
А разве для текстпаттерна нет плагина для борьбы с автоспамом? С роботами должны бороться другие роботы и люди в этой борьбе страдать не должны :)
Не, ну всё же прежде всего функция предпросмотра — показать человеку что он написал и дать возможность исправить :)
Но я понимаю, было бы лучше, если бы можно было запостить сразу и в течение минуты-двух исправить, если что. Может даже есть такие плагины, но у меня сейчас не та ситуация, чтобы тратить время на их поиски.
Тоже эта хрень не нравится с предпросмотром. Тупая трата времени, трафика и кликов :)