Как стать автором
Обновить
11
0
Андрей Жу @dir01

Пользователь

Отправить сообщение

30 советов, как эффективно трудиться и не сойти с ума, работая дома

Время на прочтение5 мин
Количество просмотров17K
Тем, кому знакомы прелести работы дома (на себя, фрилансером или удаленно на ставку), также знаком соблазн поваляться на диване и затягивание сроков.

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

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

Так как же работать эффективно и в то же время не довести себя до нервного истощения? Я недавно уволился с постоянной работы и поэтому спросил совета у читателей своего блога. Они, как и всегда, откликнулись на мою просьбу, и я отобрал наиболее понравившиеся мне рекомендации, чтобы люди могли использовать их как руководство (ну, я тоже собираюсь руководствоваться этими советами).
Читать дальше →
Всего голосов 125: ↑123 и ↓2+121
Комментарии198

Азбука хорошего разработчика. Книжки для чтения

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

Паттерны проектирования

Википедия — там, в принципе, на хорошем уровне все описано и приведены примеры на разных языках.
Базовая книга – классика:
«Приемы объектно-ориентированного проектирования. Паттерны проектирования» — читал книгу давно, и раза 3. Вам того же советую. Даст возможность понимать большое количество терминов, произносимых другими разработчиками.

Рефакторинг

«Рефакторинг. Улучшение существующего кода» — вероятно, эта книга сделала революцию в написании кода. Читается быстро и интересно. Методы рефакторинга должны отложиться в голове до конца жизни. Ваш код отныне будет лучше. В книге есть упоминание про юнит тестинг.
Читать дальше →
Всего голосов 73: ↑72 и ↓1+71
Комментарии66

Случай с доктором Лестером

Время на прочтение7 мин
Количество просмотров933
Игры, так же как и все прочее, имеют свой срок жизни. Они рождаются, живут, стареют и умирают. Но есть среди них те, что переступают грань обыденности. Они, как доподлинные произведения искусства, находятся вне времени и пространства.

Когда в 1993 году я впервые познакомился с Another World, то тут же ошибся. Увидев вначале игры логотип Delphine Software, я решил, что она была сделана многочисленным коллективом компании. Тогда мне в голову не могло придти, что это авторский проект, созданный одним единственным человеком по имени Эрик Шайи.

15 лет спустя мне в руки попал диск с фильмом, где я впервые увидел его.

Another World
Читать дальше →
Всего голосов 54: ↑53 и ↓1+52
Комментарии110

О программистах и либертарианстве

Время на прочтение2 мин
Количество просмотров1.4K
Есть такая политическая теория — либертарианство. Очень красивая, стройная и логичная. Почти как коммунизм.

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

...увы, на практике всё далеко не так хорошо...
Всего голосов 35: ↑32 и ↓3+29
Комментарии62

They Live. Фильм, который делает «Матрицу». И никаких пендофлопсов не нужно.

Время на прочтение4 мин
Количество просмотров2.3K
You see them on the street.
You watch them on TV.
You might even vote for one this fall.
You think they're people just like you.
You're wrong......Dead wrong.


Недавно был пост про то, что скоро компьютеры смогут создавать практически неотличимую от реальности картинку. В комментариях высказали здравую мысль: не надо рисовать картинку, достаточно транслировать образы в мозг. Еще вспоминали «Матрицу».

Помните, когда-то вы играли в Doom и Duke Nukem? Через несколько лет появился Far Cry, но таких ощущений, как от самого первого уровня Doom, он уже не принес.

Есть фильм, который по сюжету делает «Матрицу» так, как Doom и Duke Nukem делают по геймплею Far Cry.

Это великолепный фильм Джона Карпентера They Live. Кстати, «дюка» и этот фильм многое связывает. Но об этом позже.
Читать дальше →
Всего голосов 94: ↑88 и ↓6+82
Комментарии149

OpenGL — это просто!

Время на прочтение2 мин
Количество просмотров18K
В рамках «Недели разработки для Андроид» решил поделиться кое-чем из своего опыта.
Итак, за что мы любим эти маленькие шустрые гаджеты, живущие в наших карманах и сумках? Не ошибусь, если поставлю на первое место красивую разноцветную графику. В этом нет ничего постыдного — ведь даже мудрые вожди индейских племен готовы были на что угодно ради красивых стекляшек для своей скво.
Итак, нам просто до дрожи в руках хочется написать свою прекрасную шедевральную игру, готовую произвести революцию в умах геймеров. Вот только маленькая неприятность — попытка напрямую воспользоваться drawRGB() и иже с ними сразу обламывает все мечты, ибо подобным образом написанная игра сможет получить признание разве что в Эстонии, да и то если раунд закончится раньше, чем сядет батарейка.
Читать дальше →
Всего голосов 53: ↑40 и ↓13+27
Комментарии16

Тестирование пользовательского интерфейса

Время на прочтение1 мин
Количество просмотров7.4K
Речь пойдет об инструменте, который с сегодняшнего дня помогает мне тестировать пользовательский интерфейс. Простой, как угол дома, но экономит столько времени!

Уверен, что многие это знают, но для меня это стало просто откровением. Своего рода панацея. Даже решился записать свой первый видеокаст:



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

PS2. Тема затрунула хабраразум. Ниже будут добавлять полезные ссылки по теме, подсказанные в комментариях.

GTM познал юнит-тесты для UI
Нативные инструменты из iPhone SDK (Unit Testing Applications)
Всего голосов 44: ↑34 и ↓10+24
Комментарии19

Хабр и data:image

Время на прочтение1 мин
Количество просмотров20K
Я только что заметил, что на Хабре используется довольно прогрессивное средство клиентской оптимизации: замена ссылок на изображения механизмом data:image, скорее всего ради уменьшения запросов на сервер.



Возможно, этот механизм используется на Хабре давно или даже с самого начала. В любом случае, я хотел бы напомнить этим постом о существовании data:image и его пользе. Для более подробного ознакомления с data:image можно почитать эту статью.

PS: но лучше всего начинать знакомство с data:image со статьи webo.in/articles/habrahabr/29-all-about-data-url-images за авторством перевода sunnybear (спасибо за напоминание heroOfOurTime)
Всего голосов 81: ↑60 и ↓21+39
Комментарии20

Динамическая висячая пунктуация в HTML

Время на прочтение2 мин
Количество просмотров6.2K
Наверняка вы видели на многих сайтах свешивающиеся в начале строк кавычки и скобки. И хотя на бумаге такое полное свешивание в простых текстах (не заголовках) как минимум спорно, на вебе это выглядит отлично. Такое поведение текста называется «висячая пунктация», и на текущий момент есть ровно один способ её реализации в (X)HTML/CSS — добавление парных стилей. Этот способ, скажем, применён на сайте Артемия Лебедева.

Главный минус классической «лебедевской» реализации висячей пунктуации на вебе — её статичность. Поясню, как у них это сделано.

В CSS прописаны парные стили: .h[symbol] и .s[symbol], например, .slaquo и .hlaquo. Для каждого из них прописан отвес через margin. При использовании свешивающихся символов в тексте к пробелу перед символом добавляется стиль s[symbol], а к самому символу — h[symbol]. Соответственно, когда и пробел, и символ, находятся в одной строке, отвесы взаимно компенсируются, и текст выглядит как обычно. А когда свешивающийся символ по каким-то причинам сносится на следующую строку — первый стиль (балансирующий второй блок) остаётся на предыдущей строке, поэтому нужный символ свешивается влево на заданный отвес.

Реализация по сути хорошая, с одним «но» — шрифты. Для каждого шрифта отвес, скажем, открывающей кавычки-ёлочки или открывающей скобки разный. Да, конечно, мы можем его вычислить вручную и прибить в таблице стилей гвоздями (так и сделано у Лебедева на сайте), но для этого придётся быть уверенным, что как минимум у 90% посетителей сайта будет именно этот шрифт. В случае, если браузер покажет это каким-то иным шрифтом, начнутся проблемы с разъезжающимися строками.

Что было сделано?
Читать дальше →
Всего голосов 48: ↑48 и ↓0+48
Комментарии44

django-inline

Время на прочтение1 мин
Количество просмотров1.2K
Навеяно советом Артёма Горбунова.

Что позволяет делать:
— простым движением добавлять на страницу in-place или in-line редактирование переменных

Вот, впринципе, и всё.

http://code.google.com/p/django-inline/
Читать дальше →
Всего голосов 11: ↑8 и ↓3+5
Комментарии10

Пять инструментов для отслеживания времени, растраченного в онлайне

Время на прочтение2 мин
Количество просмотров17K
Ваш Firefox запущен постоянно? Постоянно серфите в интернете и, конечно, тратите на это много времен? Вместо того, чтобы терять столько времени вы можете делать что-нибудь доброе и продуктивное. Ниже приведены четыре расширения для Firefox и одно десктопное приложение, позволяющие отслеживать проведенное в сети время.Они выдадут точные отчеты, по которым вы сможете уменьшить время, потраченное на бесполезные сайты.

LeechBlock


LeechBlock может блокировать загружаемые в Firefox сайты. Вы можете создать до шести «блок сетов», каждый из которых может содержать множество сайтов, которые следует блокировать в течение определенного промежутка времени. Например, вы можете создать список со всеми социальными сетями и блокировать их весь рабочий день. Потом вы можете составить список с остальными малополезными сайтами и блокировать их вместе в определенный интервал времени. В блок-сетах вы можете блокировать только определенные субдомены или части определенных порталов.
Скачать LeechBlock можно здесь.
Читать дальше →
Всего голосов 33: ↑31 и ↓2+29
Комментарии28

Описание более 350 команд Линукс

Время на прочтение2 мин
Количество просмотров42K
На дигге была найдена интересная ссылка (PDF-версия) — описание более, чем 350 команд Линукс (на английском языке). Фактически представляет собой шпаргалку, где команды разбиты на категории. Отмечу, что это не простой список команд, а именно описание с применением. Чтобы не быть голословным приведу несколько примеров.

Читать дальше →
Всего голосов 74: ↑70 и ↓4+66
Комментарии89

Как загружается Linux

Время на прочтение9 мин
Количество просмотров21K
Update: Статья и скрипты были обновлены в марте 2013 (прошло 5 лет, старые скрипты не сильно отличаются от текущих, но всё-таки лучше изучать актуальный код, а логика загрузки системы за эти годы немного изменилась — иначе работает udev, появились новые синтетические fs вроде devtmpfs, /var/run переехал в /run, etc.).

Когда я осваивал Linux, мне было очень интересно что происходит при загрузке системы. Попытка разобраться в процессе загрузки привела меня в исходники загрузочных скриптов (/etc/inittab, /etc/rc*, /etc/init.d/*, ...) и их конфигов (/etc/sysconfig/*, /etc/cond.f/*, ...). Надо отметить серьёзные размеры и сложность этих скриптов — чтобы в них разобраться потребовалось немало времени. Но я в те времена искренне верил, что загрузка это сложный процесс, и что размеры и сложность загрузочных скриптов вполне оправданы.

Когда меня окончательно достал RedHat (2001 год), я решил собрать свой дистрибутив на базе LFS. Для своего дистрибутива пришлось самостоятельно разрабатывать загрузочные скрипты, и тут-то выяснилась правда: ничего сложного в процессе загрузки нет!
Читать дальше →
Всего голосов 85: ↑76 и ↓9+67
Комментарии71

Шаблоны Django. Наследование.

Время на прочтение5 мин
Количество просмотров76K
Прочитал статью «Фрагментарное кэширование в MVC веб-фреймворках». Статья описывает проблему кеширования фрагмета отображения, а именно проблему полного разделения контроллера и отображения — контроллер отрабатывает полностью до вызова отображения. Если в отображении мы кешируем фрагмент, это ничего не меняет — контроллер-то уже отработал! В статье описан способ этого избежать: сделать запрос данных «ленивым».

Начав писать, как это должно быть сделано правильно, решил написать, как устроены шаблоны Django, чтобы не-джанговодам тоже было понятно.

Как это сделано в Django?

Читать дальше →
Всего голосов 48: ↑45 и ↓3+42
Комментарии43

Кэширование в Django

Время на прочтение5 мин
Количество просмотров29K
В продолжение моей статьи про шаблоны, хочу рассказать про реализацию кэширования в Django. Основной упор будет сделан на кэширование частей шаблона – этот вопрос был затронут тут и послужил причиной написания этих двух статей. В предыдущей статье я слишком увлекся описанием самих шаблонов, так что постараюсь исправиться в этой.

Читать дальше →
Всего голосов 39: ↑36 и ↓3+33
Комментарии51

Доклад по Python

Время на прочтение1 мин
Количество просмотров14K
В докладе описаны основные возможности языка python.
Кратко, понятно, с примерами. Приведены некоторые сравнения с другими языками.
Этот доклад будет полезен начинающим программировать на python, а также тем, кто выбирает язык программирования для своей задачи.
Первая, вторая и третья части доклада.
Всего голосов 54: ↑52 и ↓2+50
Комментарии89

Написание приложений, основаных на Qt, на языке Python

Время на прочтение5 мин
Количество просмотров120K
Доброе время суток.
Недавно решил изучить ещё один язык программирования. Выбор пал на python. Написал несколько маленьких скриптов. Но прежде всего я хотел писать приложения с графическим интерфейсом. В интернете наткнулся на этот небольшой туториал, прочтение которого вылилось в предлагаемый Вашему вниманию перевод. Надеюсь, что кому-нибудь он будет полезен.


Это руководство нацелено на получение представления о том как писать маленькие приложения на python, использующие библотеку Qt.

Читать дальше →
Всего голосов 54: ↑53 и ↓1+52
Комментарии34

OpenDNS — стартап, использующий идею меток в веб-сёрфинге

Время на прочтение2 мин
Количество просмотров1.6K
Новый стартап предлагает своим пользователям новый путь для веб-сёрфинга: настраиваемые ярлыки на веб-сайты с ключевыми словами.

Придуманная компанией OpenDNS идея позволит людям создавать ключевые слова для обозначения избранных сайтов. То есть вы можете связать адрес сайта с каким-нибудь словом, а в дальнейшем, набирая это слово в адресной строке, попадать на тот самый сайт.
Читать дальше →
Всего голосов 6: ↑5 и ↓1+4
Комментарии3

25 способов улучшить свой сайт

Время на прочтение3 мин
Количество просмотров31K
Эта небольшая статья поможет новичкам (и не только) оценить удобство собственного сайта и укажет основные недочёты, присущие многим сайтам. Ваши пользователи скажут вам спасибо =)

Читать дальше →
Всего голосов 86: ↑75 и ↓11+64
Комментарии91
1

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Дата рождения
Зарегистрирован
Активность