Expertus metuit
Sergey Stolyarov | 2012-02-10 в 07:51

«Этим полукреслом мастер Гамбс начинает новую партию мебели.» Пошлый эпиграф.

Да-да, перед вами очередной цикл статей про разработку приложений для андроида. Однако от других этот цикл отличается двумя вещами: неформальным языком (местами очень неформальным) и полным ламерством автора в собственно разработке под андроид. Думаю, в итоге получится этакий акынский цикл: что вижу, то и пою, так что не ждите особой изощрённости и утончённости, покровы тут не срывают.

Статьи будут регулярно появляться в этом блоге, все они пронумерованы и доступны через тег android tutorial. Структура каждой статьи одинаковая: один абзац с описанием и ключевыми словами, чтобы читатель мог сразу определиться, интересует ли его дальнейшее; затем идёт собственно текст с иллюстрациями; а в конце — краткая аннотация следующей статьи, список ссылок и примечания. Поскольку я буду осваивать андроидное программирование параллельно с написанием текста, текст может показаться слегка бессистемным, но тут ничего не поделаешь. Ещё одна цель проекта — обустройство программного окружения андроид-разработчика в линуксе, надеюсь, что к какому-то моменту это получится сделать.

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

Естественно, я буду в этом цикле навязывать моё собственное окружение, ибо за неимением никакого сгодится любое (а гугл как раз никакого и не предлагает). Но вы вольны его изменять под свои требования и желания, естественно.

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

Sergey Stolyarov | 2011-11-21 в 00:18

Перевод на русский язык статьи Why Software Projects are Terrible and How Not To Fix Them.

Если вы хороший разработчик и работаете в дурной фирме, вам часто приходят в голову идеи об улучшении рабочего процесса.

Sergey Stolyarov | 2011-06-08 в 19:58

Постоянно этот урл забываю

http://download.eclipse.org/eclipse/downloads/

Sergey Stolyarov | 2010-03-16 в 14:39

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

Sergey Stolyarov | 2010-03-14 в 00:01

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

Sergey Stolyarov | 2010-03-12 в 16:37

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

Если совсем упрощать, этапы жизненного цикла такие:

  • сбор требований
  • проектирование
  • реализация
    • рецензирование кода
    • контроль исполнения задач
  • тестирование
  • внедрение
  • поддержка/сопровождение

Для некоторых этапов есть различные инструментальные средства, например, для автоматизации тестирования есть TestLink, для контроля исполнения задач — разнообразные трекеры, например, Bugzilla, JIRA, Trac; для документирования есть разнообразные WIKI-системы. Есть попытки построить интегрированные решения из нескольких компнентов, например, линейка продуктов компании Atlassian — Confluence, JIRA и другие. Однако полноценного продукта, охватывающего ВСЕ этапы, мне не встречалось вообще.

Далее пойдут мои размышления на тему ожидаемой функциональности от подобного продукта.

Sergey Stolyarov | 2009-12-25 в 10:36

Перевод статьи Сары Шерд «Life Cycle of a Silver Bullet», 2003 г.

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

Sergey Stolyarov | 2009-10-26 в 22:15

У гугла есть отличный поисковик по исходным кодам различных проектов. Фигово только, что в результаты поиска выводятся порциями по десять элементов. Фиксим это при помощи юзерскрипта для оперы.

// ==UserScript==
// @name google codesearch improvements
// @include http://*.google.com/codesearch
// @include http://google.com/codesearch
// ==/UserScript==

(function(){
    var e = document.createElement('INPUT');
    e.type = 'hidden';
    e.name = 'num';
    e.value = '100';
    document.forms[0].appendChild(e);
})();

Максимальное количество элементов на странице — сто.

Sergey Stolyarov | 2009-10-24 в 20:08

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

  1. В файле centralwidget.h исправляем параметры строки табов. Нам не нужны табы по ширине всего заголовка, обойдёмся скрыванием части заголовка за многоточием, этот параметр класса QTabBar называется elideMode, для нас подойдёт значение Qt::ElideMiddle. Теперь табы будут при необходимости «сжиматься» и исчезнет дико неудобная кнопка прокрутки табов.
  2. Также можно добавить кнопку закрытия на каждый таб.
←новые старые→
© 2006—2019 Sergey Stolyarov | Работает на Pyrone