Как стать автором
Обновить
164
0
Андрей Ребров @mythmaker

Технический директор

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

Снятие и загрузка скриншотов в один клик с помощью плагина Compiz на habreffect.ru и Dropbox

Время на прочтение3 мин
Количество просмотров2.9K
imageimage

Сидя дома тихим воскресным вечером, я вдруг осознал что мне действительно нехватает быстрого снятия и загрузки скриншотов в Linux. Есть масса готовых решений но все они по той или иной причине меня не устраивали, как правило все готовые решения требовали слишком много кликов. Я взял в руки напильник и потратив 30 минут своего времени смог сделать действительно удобный способ загрузки скриншотов на habreffect.ru

Для загрузки на habreffect.ru нам понадобится:

— Установленный compiz, compizconfig-settings-manager и compiz-plugins
— Установленные пакеты curl, xsel, libnotify-bin
— Прямые руки

Для ленивых убунтоводов
sudo apt-get install compiz compizconfig-settings-manager compiz-plugins curl xsel libnotify-bin

Для загрузки на Dropbox нам понадобится:

— Установленный xsel и libnotify-bin, compiz compizconfigconfig-settings-manager compiz-plugins

Для ленивых убунтоводов
sudo apt-get install xsel libnotify-bin compiz compizconfigconfig-settings-manager compiz-plugins


Все вышеперечисленные пакеты есть в репах.

Читать дальше →
Всего голосов 76: ↑63 и ↓13+50
Комментарии87

Главный баг открытых проектов Яндекса

Время на прочтение2 мин
Количество просмотров13K
Идеология разработки с открытыми исходниками предполагает также и открытый процесс разработки. Следуя этому духу мы сегодня решили открыто исправить серьёзный баг, которому в той или иной степени подвержены почти все open source проекты Яндекса.

ID 1
Summary Никто не знает про открытые проекты Яндекса
Description У наших разработчиков уже довольно много опубликованных компонентов, библиотек и готовых решений. Их никто особенно не скрывает, но также про них никто и не рассказывает. Надо рассказать!
Читать дальше →
Всего голосов 115: ↑104 и ↓11+93
Комментарии50

Сжатие файлов (tar и LZMA) на стороне клиента

Время на прочтение1 мин
Количество просмотров2.3K
Артель BrowserPlus (из Yahoo) выпустила API для сжатия файлов на стороне клиента. Как объясняется в нижеследующем скринкасте, джаваскриптовый API позволяет вам упаковывать и сжимать файлы в клиенте посредством LZMA или tar.


    «Client Side Compression» выложил Lloyd Hilaiel на Vimeo

Вы можете читать далее о реализации или испытать демонстрацию живьём (потребуется BrowserPlus).

[Browser Plus add-on to pack on the client side]
    Прилад Browser Plus для упаковки на стороне клиента

Использовать этот API нетрудно: вызываем надобный метод и посылаем ему файлы:
BrowserPlus.Tar.tar({'files':files});
BrowserPlus.LZMA.compress({'files':files});
На GitHub доступны оба эти расширения — LZMA и tar.

Нюансы перевода:  слово «прилад», давно живущее в великорусском языке (как минимум, со времён Даля), здесь служит переводом технического термина «add-on» (а не «device», как в украинском), слово же «артель» означает команду разработчиков (в оригинале — «team»).
Всего голосов 48: ↑27 и ↓21+6
Комментарии41

Почему я работаю на почасовой оплате

Время на прочтение3 мин
Количество просмотров24K
Перевод статьи молодого греческого программиста «Why I bill hourly»

Недавно ко мне обратился мой первый потенциальный клиент, который хотел добавить несколько возможностей в небольшое приложение на Django. Я огласил свою часовую ставку, чем крайне его шокировал — он-то хотел услышать фиксированную цену за нужные ему доработки. Что из этого получилось? Мы работаем вместе, он очень доволен как результатами, так и суммами, которые он на них тратит, а я не поступился своими принципами оплаты. Вот аргументы, которые я использовал в защиту мнения о том, почему почасовая ставка лучше для всех заинтересованных сторон — может быть, они помогут кому-то еще.

Я люблю сравнивать разработку программного обеспечения с возведением здания, начиная с пустого земельного участка. Процесс выглядит примерно так:

Клиент: Вот участок, на котором мы будем строиться. Вот наброски того, что мы хотим построить. Можете назвать точную стоимость постройки?

Любой инженер-строитель шарахнется от такого предложения, программисты же в своей жажде заключить сделку прикинут смету, удвоят ее, добавят 30% и будут надеяться на лучшее. Как отвечаю на такой вопрос я?

Читать дальше →
Всего голосов 219: ↑199 и ↓20+179
Комментарии203

Как создать вебсайт для мобильных устройств

Время на прочтение3 мин
Количество просмотров64K

Стили


User Agent

Один из способов включения стилей для мобильного устройства — это использование User Agent, которую получает сервер от клиента.
Этому может помочь набор скриптов: code.google.com/p/mobileesp, а также сервис от яндекса api.yandex.ru/detector
При работе с User Agent только одна проблема — это постоянно появляющиеся новые User Agent.
Читать дальше →
Всего голосов 133: ↑128 и ↓5+123
Комментарии43

Делаем простое веб приложение на Spring Framework MVC

Время на прочтение13 мин
Количество просмотров252K
image
В данной статье я хочу рассказать начинающим Java разработчикам, как написать простое веб приложение, используя популярный фреймворк Spring Framework.

При разрабокте приложения мы будем использовать утилиту Ant для автоматизации действий и изучим, как писать простой тест с помощью библиотеки JUnit. Весь код будем писать в Eclipse IDE.

Статья написана на основе первой части руководства «Introduction to Spring MVC». Вам достаточно иметь лишь общее представление о Spring, чтобы прочитать статью с пользой.

Так что милости просим :)
Читать дальше →
Всего голосов 56: ↑43 и ↓13+30
Комментарии81

Spring в действии — пробуем opensource CMS на Java

Время на прочтение5 мин
Количество просмотров34K
В данной статье речь пойдёт о системе управления содержимым Riot, написанной на Java. Система основана на Spring Framework, использует Ajax.

web developer at work

Я приведу основные возможности системы и пошагово расскажу, как её установить. Статья адресована всем тем, кто интересуется системами управления содержимым на Java.
Читать дальше →
Всего голосов 43: ↑39 и ↓4+35
Комментарии20

Scala: Кэширование результатов исполнения методов

Время на прочтение4 мин
Количество просмотров2.6K
Иногда возникает необходимость кэширования результатов исполнения методов. Одно из возможных решений для java описано здесь. Всё, в принципе, тривиально: EHCache, Spring AOP для перехвата вызовов, немножко кода.

Рассмотрим, как мне кажется, более элегантное решение на scala.
Читать дальше →
Всего голосов 2: ↑2 и ↓0+2
Комментарии2

«Обнаженный бизнес» от Ричарда Брэнсона (в цитатах)

Время на прочтение5 мин
Количество просмотров20K
Ричард Брэнсон - Обнаженный бизнесКогда книгу о бизнесе пишет очередной гуру, консультант или тренер с сомнительным опытом и достижениями, трудно решить как к ней относится. Другое дело прочесть мысли человека за одно поколение ставшего миллиардером, основавшего компанию Virgin в 18 лет (сейчас в нее входит более 200 компаний в 30 странах мира).

Это вторая книга Ричарда Брэнсона, попавшая мне в руки. Первая была «К черту все, берись и делай», она оставила неизгладимый след. Так что сомнений в том, чтобы прочесть и вторую — не было.

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

В последнее время читаю с маркером, выделяя для себя основные, наиболее интересные мысли. Их и предлагаю Вашему вниманию в качестве цитат автора:
  • Суть бизнеса заключается не в соблюдении формальностей, поиске выгоды, практическом результате, получении прибыли, стремлении продать, коммерческой игре или чем-то еще. Бизнес — это прежде всего то, что вам не безразлично.
Читать дальше →
Всего голосов 143: ↑137 и ↓6+131
Комментарии72

Бесплатный VPN от Amazon

Время на прочтение2 мин
Количество просмотров125K
Под хабракатом я расскажу вам, как при помощи нескольких простых действий получить себе практически бесплатный VPN в штатах:
Читать дальше →
Всего голосов 248: ↑239 и ↓9+230
Комментарии317

Эволюция юнит-теста

Время на прочтение5 мин
Количество просмотров27K
Много слов сказано о том, как правильно писать юнит-тесты, и вообще о пользе TDD. Потом ещё и какое-то BDD замаячило на горизонте. Приходится разбираться, что из них лучше и между ними какая разница. Может, это и есть причина, почему большинство разработчиков решили не заморачиваться и до сих пор не используют ни того, ни другого?

Коротко: BDD — это дальнейшее развитие идей TDD, стало быть, его и надо использовать. А разницу между TDD и BDD я попробую объяснить на простом примере.

Рассмотрим 3 ревизии одного юнит-теста, который я нашёл в одном реальном проекте.

Попытка номер №1


Первая версия этого юнит-теста была такой:
Читать дальше →
Всего голосов 88: ↑84 и ↓4+80
Комментарии68

Меньше слов — больше смысла

Время на прочтение3 мин
Количество просмотров2.6K
На тренингах по тестированию методом свободного поиска, которые я провожу время от времени, каждый раз возникает обсуждение вопроса о том, нужно ли делать описания тестов, а если нужно, то насколько подробные. Я обычно даю достаточно радикальный совет — если есть возможность, не пишите вовсе, либо, если очень надо, то пишите, но как можно меньше. Записывайте не сценарии, а идеи, в результате получается сплошная экономия — сначала тратится меньше времени на написание, а потом тратится меньше времени на переписывание.

Но экономия времени при написании — это ещё не всё. Едва ли не более важным фактором является то, что в многословных описаниях теряется смысл, который туда пытался заложить тест-дизайнер. Поэтому опытному тестировщику работать с короткими описаниями проще, чем с подробными длинными сценариями. И сегодня я хочу представить вашему вниманию перевод небольшой заметки Роба Лэмберта (Rob Lambert), в которой он описывает эксперимент объясняющий этот феномен.


Less Is More, или Меньше слов — больше смысла.

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

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

Если вы пользуетесь твиттером, вы представляете, как это происходит. Иногда приходится немало потрудиться, чтобы суметь выразить свою мысль, используя всего 140 символов, но зато результат получается впечатляющим. Это очень полезная практика, потому что краткость, как известно — сестра таланта.

Большинство моих текстов становятся существенно короче после того, как проходят этап «ужимания», хотя, если постараться, там можно найти ещё немало «ваты».

Однако сейчас я хочу поговорить о том, как эта идея может быть использована для повышения качества тестов.
Читать дальше →
Всего голосов 33: ↑31 и ↓2+29
Комментарии19

10 фраз, после которых ваше резюме отложат в сторону

Время на прочтение1 мин
Количество просмотров14K
На TechRepublic опубликована любопытная заметка о том, какие слова и словосочетания лучше всего не использовать при составлении резюме. Дело не в том, что они заведомо плохие, а в том, что они уже стали шаблонными и любого опытного эйчара приведут в разражение. Итак, 10 стандартных клише, которым не место в современных резюме:

* Results-oriented professional (специалист, ориентированный на достижение результата)
* Cross-functional teams (имеется различная специализация)
* More than [x] years of progressively responsible experience (более, чем столько-то лет опыта, в чем-то отмеченного и зафиксированного)
* Superior (or excellent) communication skills (высочайшие способности к коммуникации)
* Strong work ethic (строгое соблюдение трудовой этики)
* Met or exceeded expectations (соответствую или превосхожу ожидания)
* Proven track record of success (есть подтверженный список достижений)
* Works well with all levels of staff (умение хорошо срабатываться с сотрудниками всех уровней)
* Team player (умею работать в команде)
* Bottom-line orientation (ориентирован на результат)

Собственно говоря, как пишет автор этой заметки, раздражаться работодатель будет не из-за самих формулировок, а из-за того, что эти фразы будут «висеть в воздухе», то есть не будет фактов, их подтверждающих (то, что вы себя кем-то считаете, вовсе не значит, что так и есть на самом деле; есть подтвержденный список достижений, но кем они доказаны и в соответствии с какими стандартами, и где они сами в резюме? под чьи ожидания вы подходите? Напишите их) и так далее.

Интересно, как обстоит с этим дело в России — у нас же многое перенималось по западным канонам раньше?
Всего голосов 18: ↑10 и ↓8+2
Комментарии14

Как написать книгу и не сойти с ума

Время на прочтение4 мин
Количество просмотров4.6K
Помните тот старый пост, в котором я рассказывал о том, что пишу книгу “Секреты приложений Google”? Права народная мудрость: скоро сказывается только сказка. Тем не менее, в июне этого года, спустя 440 дней после того, как файл “Секреты приложений” появился на моем рабочем столе, книга увидела свет. Мне кажется правильной идея подводить итоги своих проектов и делиться с окружающими тем, что получилось, а что пошло не так, как ожидалось. Компания, в которой я когда-то работал, называла эту практику “Lessons learned”, на Западе такую штуку все чаще зовут “Project post mortem review”, а на русском языке это просто-напросто “Разбор полетов”.

image

Читать дальше →
Всего голосов 121: ↑113 и ↓8+105
Комментарии58

Objective-C с нуля

Время на прочтение23 мин
Количество просмотров438K
У любого желающего писать программы для продукции фирмы Apple в жизни наступает такой момент, когда ему приходиться изучить новый язык программирования — Objective-C. Когда-то этот счастливый момент постиг и меня. А чтобы лучше запомнить основные особенности этого языка, решил законспектировать свои мысли во время осмысления его документации, которыми и делюсь с вами.
Читать дальше →
Всего голосов 163: ↑155 и ↓8+147
Комментарии61

css Rotate. Возможен и в IE

Время на прочтение2 мин
Количество просмотров14K
Буду краток.
css свойство transform:rotate в ИЕ не доступно.
Но все знают что есть фильтр progid:DXImageTransform.Microsoft.Matrix, который конечно поворачивает изображение. Но скажем так не совсем правильно.
99% статей про использование этого фильтра содержат примерно такую фразу.
filter: матрица трансформации
left:?
right:?
*ps: left и right находятся эмпирически

На самом деле это не так.
Читать дальше →
Всего голосов 54: ↑46 и ↓8+38
Комментарии30

Улучшаем border-radius.htc

Время на прочтение1 мин
Количество просмотров17K
Думаю многим верстальщикам известно решение, которое заставляет IE рисовать скругленные уголки: «curved-corner» (или border-radius.htc).

В этой статье я расскажу, как избавиться от ошибок «Invalid argument» при его использовании, а также как в разы ускорить его работу.
Читать дальше →
Всего голосов 78: ↑73 и ↓5+68
Комментарии34

Вёрстка c «Ушами»

Время на прочтение2 мин
Количество просмотров9.2K
Очень часто фантазия человека, разрабатывающего макет сайта, не ограничивается шириной 1024px, при этом требуется, чтобы сайт выглядел достойно на всех разрешениях и соответствовал полёту мысли дизайнера.

Проблему можно представить графически так:
image

Задача вёрстки заключается в следующем:
  • — независимо от разрешения (размера она браузера), информативная часть сайта находилась посередине;
  • — справа и слева должны остаться графические блоки (уши), причём эти уши должны быть видны только при увеличенном размере экрана браузера, а при уменьшенном не уместившаяся часть должна прятаться (в идеале, чтобы ещё горизонтальной полосы прокрутки не было);;
  • — страница должна быть резиновой от 680px до 1000px.

Работает для FF3, FF4, IE8 и почти для Opera.
Читать дальше →
Всего голосов 114: ↑73 и ↓41+32
Комментарии80

Самый короткий в мире маркетинговый план

Время на прочтение1 мин
Количество просмотров17K
В догонку к посту про макет бизнес модели, не менее полезный «самый короткий в мире маркетинговый план» (так его назвал автор, Келли Одел).

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

Посмотреть план
Всего голосов 126: ↑115 и ↓11+104
Комментарии40

Тестировщики, хотите знать, как положительным образом влиять на менеджеров?

Время на прочтение2 мин
Количество просмотров1.5K
Предыдущая заметка содержала перечень советов тестировщикам, как положительным образом влиять на программистов.

А вот рекомендации относительно того, как тестировщики могут оказывать позитивное влияние на менеджеров.
  • Оказывайте проекту сервис, а не будьте помехой. Вы поставляете информацию, а не насаждаете процессы.
  • Предоставьте менеджерам информацию, которая им требуется для принятия решений, а затем позвольте им принять эти решения.
  • Полностью осознавайте, что они принимают не технические, а бизнес-решения.
  • Помните, что продукт не обязательно должен соответствовать вашему стандарту качества.
  • Ни менеджер разработки, ни кто-либо другой не обременен должностной обязанностью делать вас счастливым. Возможно, часть их работы — помочь вам работать более эффективно. Помогите им разобраться, как это сделать. В частности, обратите внимание на тот факт, что…
Читать дальше →
Всего голосов 30: ↑23 и ↓7+16
Комментарии18

Информация

В рейтинге
Не участвует
Откуда
Syosset, New York, США
Зарегистрирован
Активность