понедельник, 22 марта 2010 г.

Типичный цикл разработки программного обеспечения

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

Итак, типичный цикл разработки программного обеспечения:

1. Программист пишет код, который, по его мнению, не содержит багов.
2. Продукт тестируется. Находится 20 ошибок.
3. Программист исправляет 10 ошибок и объясняет отделу QA, что остальные 10 - не баги, а фичи.
4. Отдел тестирования отправляет на доработку 5 старых багов и находит еще 15 новых.
5. Пункты 3 и 4 повторяются еще три раза.
6. В связи с маркетинговым давлением и слишком необдуманным анонсированием продукта, основанным на очень оптимистическом плане разработки, продукт уходит в релиз.
7. Пользователи находят 137 новых багов.
8. Программиста, писавшего продукт и получившего за него оплату, нигде не могут найти.
9. Нанятая в спешном порядке новая команда программистов исправляет почти все 137 багов, но при этом добавляет еще 456 новых.
10. Первоначальный программист высылает низкооплачиваемому отделу тестирования открытку с Фиджи. Весь отдел тестирования увольняется.
11. Компания поглащяется конкурирующей фирмой за прибыль, полученную от продажи их продукта, в котором 783 бага.
12. Советом директоров нанимается новый исполнительный директор. Он нанимает программиста чтобы переписать код с нуля.
13. Программист пишет код, который, по его мнению, не содержит багов...

Чистая жизненная правда!

вольный перевод жизненной правды отсюда

четверг, 11 марта 2010 г.

Вёрстка, "overflow:hidden" для ячейки таблицы

Появилась задача сверстать таблицу так, чтобы столбцы и ячейки table не разъезжались, не тянулись, при изменении количества содержимого внутри ячейки. Оказалось, не всё так просто. Повесив свойство overflow:hidden для ячейки таблицы - не будет работать. Как растягивал таблицу контент внутри ячеек, так и будет тянуть.

Нашёл, что к тегу <table> или к элементу, у которого свойство display установлено как table или inline-table можно применять свойство:

table-layout: auto | fixed

Применив для таблицы table-layout:fixed задача решилась сама собой, таблицу не растягивает, но и скролл не появляется.

Дело в том, что значение fixed ещё при этом и повышает производительность построения таблиц. Ширина колонок в этом случае определяется либо с помощью тега <col>, либо вычисляется на основе первой строки. Если данные о форматировании первой строки таблицы по каким-либо причинам получить невозможно, в этом случае таблица будет делиться на колонки равной ширины. При использовании этого параметра содержимое, которое не помещается в ячейку указанной ширины, будет «обрезано» либо наложено поверх ячейки.

Работает под браузерами: IE6+, IE7+, Firefox 2+, Firefox 3+, Opera 9.52+, Safari 3.1+, Chrome 0.3+.

Рекоммендую

Попробуйте надёжный хостинг от Scala Hosting