Мы используем частично позаимствованные методики из ХР-программирования - владение кодом вдвоем. То есть:
1. Дизайнер режет макет вместе с верстальщиком. За эти 3-4 часа они успевают друг с другом обсудить детали, особенности.
2. Верстальщик первый день работает с программером вместе - навешивает шаблоны на типовые модули (типа, новостей, текста, поиска и пр.)
На первый взгляд - люди тратят некоторое время впустую... Но, как показывает практика, совместное сидение за монитором 2-х людей помогает не отвлекаться, лучше выискиваются ошибки, и есть преемственность действий. Но обо всем этом можно узнать из методики Экстремального Программирования, например, http://www.exprogramming.ru/
Дизайнеры и спецы по юзабилити это эстеты. Как есть отдельная каста программеров и админов со своими устоями, шутками и пр., так и у людей "прекрасного" есть свои заморочки. Дело, ИМХО, не совсем в деньгах - всяких дизайн-проектов в сети предостаточно. Просто довольно сложно подружить эти две касты. Ну, работать совместно за деньги они согласны, но все же они разные...
Помню, как в отдел разработки прибегает менеджер и кричит: "Кто губкой для мытья посуды вытирал ботинки?" На что дизайнер сокрушенно отвечает - "Да посмотрите на программеров - из них никто ботинки вообще не чистит!" Мы все ржали.
Дак вроде и раньше, в детстве, как помню, родители не играли со мной в казаки-разбойники. Но опасная тенденция есть. Уж больно много вьюноши проводят времени за компом.
На 80% того, что мы читаем и видим с экранов - это PR. Да, Майкрософт сказала. Но так же были неприятные случаи, когда была акция легализации (типа, пользовался пиратским софтом, купил лицензию - чист и свободен). Все бы ничего, но были случаи (и их можно найти в и-нете) когда после заявки на приобретение лицензии у MS, в конторы вламывались менты (какое совпадение). Со всеми вытекающими. И это притом, что у нас в центре Москвы есть Горбушка. Сами понимаете - тут сложный клубок. Но если с самого начала были бы какие-нибудь Suse, Debian и иже с ними - таких проблем не было бы.
Поймите, я сейчас могу купить себе программы, что мне нужны - но есть огромное кол-во пользователей, которые не могут купить все программы - они просто не знают о существовании других ОС.
Ну и тут есть подвижки. Например, в новой школе №2030 поставили Mac OS X - ну и отлично. Да, школа новая, видимо, с поддержкой Правительства Москвы... Есть деньги - почему бы Мас не поставить. Давайте сами, кто как может помогать процессу. Не надо никого переубеждать - просто расскажите об альтернативах.
У ATI/AMD всегда были слабые драйвера OpenGL. Кстати, писать под OpenGL мне кажется проще, чем dirextX - тот же API 3Dfx (в свое время очень популярный – т.к. простой) во многом от GL взял основу.
У виднов преимущество в графике - ровно из-за того, что графика встроена в ядро системы, а у юникса - нет. Посему графика в винде полюбому быстрее будет - может не на много (после оптимизации) но все же. Для игр, конечно, пока лучше Win. Ну или Xbox и PlayStation.
Я не против Майкрософта вообще - и из их стен выходили толковые вещи. Например, .NET мне показалась повеселее, чем Java (ИМХО). Локализация продуктов, единообразный интерфейс... Но меня очень беспокоит история с Поносовым (помните, учителя средней школы судили)? Казалось бы - школьники ознакомились с Виндой - для MS - благо... Ан нет!
Поэтому, хороший, простой дистрибутив, который можно поставить для детей в школе - это отличное благо. Ведь большинство вещей для обучения в любом юниксе/линуксе есть - интернет, почта, офисные программы, программирование (С, С++, Perl, Python, etc...). А потом поколение подрастает и по чуть-чуть движется вперед. И программы под *NIX будут писаться, и спрос на них возрастет - уже есть 1С под Юникс. Лед тронулся, господа присяжные заседатели :)
И раньше Линукс я и мои коллеги ставили в качестве эксперимента - а ныне часть людей живут и работают под Маком, Ubuntu, FreeBSD. Вообще, выбор - это хорошо!
Информация, конечно, спорная. Но то что Гугл и другие поисковики пытаются бороться с активным SEO - это факт. Самого раздражает, когда при поиске натыкаешься на откровенный seo-траффик, когда на сайтах снизу стоит блок из чужих ссылок, никак не относящихся к сайту. Но, "дыма без огня не бывает" - может что-то и изменят в системе ранжирования.
... быку, собственно, не положено! Безусловно. При должном упорстве сломать и испортить можно все. Но когда есть возможность дать готовые шаблоны, которые помогут "не навредить".
Проблема у клиентов одна - у него нет человека с чувством вкуса. Ну не может серетарь писать нормальные тексты и обрабатывать картинки - если бы могла - уж давно бы работала на другом месте.
Я к тому, что лучше сайт поддерживать. Уж клиенту выгоднее платить студии 6000р. в месяц за 2 новости и 3 позиции в каталоге, чем нанимать отдельного человека. И сайт хороший, и у студии есть постоянные деньги - всем хорошо.
Просто при переносе из ворда очень много лишних стилей переносится именно чере SPAN. И когда их на 1 предложение до 12 штук разной степени вложенности - очень сложно автоматом вычистить то, что нужно. А так можно и SPAN оставить - я против него лично ничего не имею :). Но мне в 99% этот тег не нужен.
Да, конечно захотят. Но это задача дизайнера сразу предусмотреть несколько информационных блоков. Кликаешь на кнопку - сразу вставляется нужный код, что-то вроде div class=r4_attention Здесь важное сообщение /div и в классе прописаны и размер шрифта, и его цвет и т.д. То что у пользователя нет возможности сделать какие-то вещи - это значит не понял исполнитель заказчика. А таких блоком модет быть много:
1. 2 колонки
2. небуллетированные списки
3. специальное форматирование (фото+имя+e-mail) для списка сотрудников
Мне кажется, что лучше удалаять ненужные теги прямо в редакторе - тогда сразу видно, как меняется текст. Я сделал просто - высякие теги типа FONT и SPAN вырезаю. А чтобы можно было оставлять форматирование - разрешаю классы внутри разрешенных тегов. Как отличить разрешенный класс от ненужного? Все свои классы для сайта начинаю с префикса, например, r4_div - и проверяю - можно ли этот класс оставить.
Может, кому и пригодится. Вот некоторые куски кода:
var allowTags=Array('P','B','I','UL','LI','OL','DIV','H1','H2','H3','TABLE','TBODY','TR','TD','A','CENTER','INPUT','TEXTAREA','FORM','IMG','OBJECT','EMBED','PARAM');
var clearTags=Array('SPAN','O:P','FONT','COL','COLGROUP','U','O','font','small');
var allowClaPrefix='r4_';
function ieClearStyles(coll,count)
{
if(count>860)
return;
var coll=coll.children;
if (coll!=null)
{
for (var i=0; i coll.length; i++)
{
//alert("Tag: "+coll[i].tagName+", Count: "+count);
var claName=coll[i].className;
if(allowClaPrefix==claName.substring(0,3))
{
coll[i].style.cssText="";
}
else if(coll[i].tagName=='OBJECT' || coll[i].tagName=='EMBED' || coll[i].tagName=='PARAM')
{
// do nothing width video
}
var rows=coll[i].getAttribute('rowspan');
var cols=coll[i].getAttribute('colspan');
coll[i].clearAttributes();
coll[i].setAttribute('colspan',cols);
coll[i].setAttribute('rowspan',rows);
Хорошая статья. Еще можно добавить постоянные расходы: телефон, интернет, амортизацию оборудования (компьютер, факс). Расходы на бухгалтерскую поддержку. Хотя бы грубо прикинуть, сколько в месяц тратится денег на это. Ну и потом соотнести со временем исполнения заказа.
Полностью с Вами согласен насчет поддержки единых форматов. Могу лишь преложить использовать готовые наработки - css-framework-и. Например, http://css-framework.ru/. Толку что кричать: "Давайте заставим пользователей ставить другие браузеры?" Ведь похожая ситуация была и с JavaScript - однако, появились Prototype, jQuery - все для облегчения жизни разработчиков.
Забавно, что сама профессия "html-кодер" появилась ровно из-за того, что процесс верстки сложный. Был бы он простой - половина собравшихся стояла бы с табличками "кодирую HTML за еду", ну , или, работали бы в другой области.
А перекосы - они всегда случаются. Я вот не могу статью запостить на хабр - просто потому, что позднее остальных присоединился и кармы нет. Тоже можно кричать о дискриминации.
Хорошая лирика. И правда жизни, и опыт работы. Всегда искал ответы на вопросы по управлению проектами. Много книг прочитал. Много методик пробывал. Но правильно сказал Ашманов "Вы управляете не проектами, но людьми"... ну или как то так.
1. Дизайнер режет макет вместе с верстальщиком. За эти 3-4 часа они успевают друг с другом обсудить детали, особенности.
2. Верстальщик первый день работает с программером вместе - навешивает шаблоны на типовые модули (типа, новостей, текста, поиска и пр.)
На первый взгляд - люди тратят некоторое время впустую... Но, как показывает практика, совместное сидение за монитором 2-х людей помогает не отвлекаться, лучше выискиваются ошибки, и есть преемственность действий. Но обо всем этом можно узнать из методики Экстремального Программирования, например, http://www.exprogramming.ru/
Помню, как в отдел разработки прибегает менеджер и кричит: "Кто губкой для мытья посуды вытирал ботинки?" На что дизайнер сокрушенно отвечает - "Да посмотрите на программеров - из них никто ботинки вообще не чистит!" Мы все ржали.
Поймите, я сейчас могу купить себе программы, что мне нужны - но есть огромное кол-во пользователей, которые не могут купить все программы - они просто не знают о существовании других ОС.
Ну и тут есть подвижки. Например, в новой школе №2030 поставили Mac OS X - ну и отлично. Да, школа новая, видимо, с поддержкой Правительства Москвы... Есть деньги - почему бы Мас не поставить. Давайте сами, кто как может помогать процессу. Не надо никого переубеждать - просто расскажите об альтернативах.
У виднов преимущество в графике - ровно из-за того, что графика встроена в ядро системы, а у юникса - нет. Посему графика в винде полюбому быстрее будет - может не на много (после оптимизации) но все же. Для игр, конечно, пока лучше Win. Ну или Xbox и PlayStation.
Поэтому, хороший, простой дистрибутив, который можно поставить для детей в школе - это отличное благо. Ведь большинство вещей для обучения в любом юниксе/линуксе есть - интернет, почта, офисные программы, программирование (С, С++, Perl, Python, etc...). А потом поколение подрастает и по чуть-чуть движется вперед. И программы под *NIX будут писаться, и спрос на них возрастет - уже есть 1С под Юникс. Лед тронулся, господа присяжные заседатели :)
И раньше Линукс я и мои коллеги ставили в качестве эксперимента - а ныне часть людей живут и работают под Маком, Ubuntu, FreeBSD. Вообще, выбор - это хорошо!
Проблема у клиентов одна - у него нет человека с чувством вкуса. Ну не может серетарь писать нормальные тексты и обрабатывать картинки - если бы могла - уж давно бы работала на другом месте.
Я к тому, что лучше сайт поддерживать. Уж клиенту выгоднее платить студии 6000р. в месяц за 2 новости и 3 позиции в каталоге, чем нанимать отдельного человека. И сайт хороший, и у студии есть постоянные деньги - всем хорошо.
1. 2 колонки
2. небуллетированные списки
3. специальное форматирование (фото+имя+e-mail) для списка сотрудников
Вобщем, надо придусматривать изначально действия.
Может, кому и пригодится. Вот некоторые куски кода:
var allowTags=Array('P','B','I','UL','LI','OL','DIV','H1','H2','H3','TABLE','TBODY','TR','TD','A','CENTER','INPUT','TEXTAREA','FORM','IMG','OBJECT','EMBED','PARAM');
var clearTags=Array('SPAN','O:P','FONT','COL','COLGROUP','U','O','font','small');
var allowClaPrefix='r4_';
function ieClearStyles(coll,count)
{
if(count>860)
return;
var coll=coll.children;
if (coll!=null)
{
for (var i=0; i coll.length; i++)
{
//alert("Tag: "+coll[i].tagName+", Count: "+count);
var claName=coll[i].className;
if(allowClaPrefix==claName.substring(0,3))
{
coll[i].style.cssText="";
}
else if(coll[i].tagName=='OBJECT' || coll[i].tagName=='EMBED' || coll[i].tagName=='PARAM')
{
// do nothing width video
}
else
{
if(coll[i].tagName=='A')
{
coll[i].style.cssText="";
coll[i].className='';
}
else if(coll[i].tagName=='TD' || coll[i].tagName=='TH')
{
coll[i].style.cssText="";
if(coll[i].className && allowClaPrefix!=claName.substring(0,3))
coll[i].className="";
else
var cla=coll[i].className;
var rows=coll[i].getAttribute('rowspan');
var cols=coll[i].getAttribute('colspan');
coll[i].clearAttributes();
coll[i].setAttribute('colspan',cols);
coll[i].setAttribute('rowspan',rows);
}
else if(coll[i].tagName=='IMG')
{
coll[i].style.cssText="";
coll[i].className='';
}
else
{
coll[i].clearAttributes();
coll[i].style.cssText="";
}
if(coll[i].tagName=='TABLE')
coll[i].className=allowClaPrefix+"tab_1";
}
ieClearStyles(coll[i],count+1);
}
}
}
А перекосы - они всегда случаются. Я вот не могу статью запостить на хабр - просто потому, что позднее остальных присоединился и кармы нет. Тоже можно кричать о дискриминации.