Хоть раздел «ты должен мыслить как клиент» и проиллюстрирован забавным роликом, мысль на самом деле очень дельная и полезная. Программистам неплохо бы иногда задумываться, что программы пишутся для конечного пользователя. А то иногда выходит, что в ответ на замечание о баге слышишь подробную инструкцию, что пользователь должен проделать, чтобы обойти баг. Вот это неправильно.
Делал я лет… 20 назад один проект на заказ. Интернет тогда был в зачаточном состоянии, дубль-гиса не было и вот один ушлый дядёк решил забацать БД по коммерческим предприятиям Новосибирска. Вещь полезная для коммерсантов, ну и я тогда начинал фриленсить (без интернета та еще задача, да) и сделал этот проект. Ну и он конечно хотел защиты. Дистряк был на дискетке. А защиту делал так:
1. Берешь чистую дискету, отодвигаешь задвижку и наносишь царапину.
2. Запускаешь написанную мной утилиту, которая форматирует диск и добавляет карту испорченных секторов прямо в exe (как это делать — та еще песня, тут не буду описывать, тем более что устарела эта информация — дос ведь был).
3. Записывает пропатченный exe на дискету
4. Программа при запуске проверяет наличие правильной дискеты в дисководе. Причем испорченные сектора (помеченные форматированием) проверяются на предмет того, что они действительно испорчены.
Всё.
Но что меня удивляет — я ни разу ни о чем подобном не слышал. А идея-то была неплоха и работала железно.
Вопрос про «нафига» эквивалентен следующему вопросу: нахрена нашему приложению миллионы пользователей, использующих продукцию Apple? Зачем нам лишние миллионы потенциальных покупателей?
Ну если такой вопрос возник, то вам, наверное, незачем… или в тон вопросу — нефиг
Не, пробовал я в кафешке однажды. Самое интересное, что поработал-то хорошо. Но что-то это морально так напрягло, что потом неделю руки тряслись, даже не знаю почему. А дома просидел четыре года, чуть семью не развалил, благо вовремя вспохватился. Сейчас офис за кампанию с парочкой нефтехимиков снимаю — и режим человеческий, и жена успевает соскучиться за день, и успеваю много, и недорого. А вот коворкинг-центры у нас ни один не завёлся.
Честно говоря, тема эта уже поднадоела. Кроме этого заказчика у меня еще 2 постоянных клиента и много однопроектных за пять лет фриленсерства было. Но такая ситуация, которую я описываю, только с одним заказчиком. То, что вы называете «задавать вопрос через пять минут», я называю обсуждением. Как я уже писал неоднократно — на обсуждение человек не идет вообще, считая что я должен всё решить сам. Ну не хочет он вообще разбираться в деталях реализации. Не хочет отвечать на вопросы. Не хочет подтверждать или опровергать правильность догадок моих. И слова «должен подтвердить или изложить собственное видение» только приводят его в бешенство: я ничего не должен, я деньги плачу. Ситуация, по моему опыту, уникальная, и я об этом и писал, что бывает и так. Поверьте, я знаю как разговаривать с клиентами, но люди бывают разные. В конце концов я нахожу даже с этим клиентом общий язык и уже научился сам додумывать за него. Да и он, несмотря на свои комплексы, в конечном итоге доволен моей работой. Но так бывает, и не нужно искать здесь виноватых, скорее нужно как-то взаимодействовать с людьми какими бы они не были.
о какой «разработке с места в карьер» идет речь? я уже несколько раз говорил, что я сначала занимаюсь тз. а вот заказчик желает, чтобы я сразу занимался кодированием. и убедить что так работать невозможно я его не могу уже… то ли 4, то ли 5 лет. Впрочем предложение разойтись мирно — я к новым клиентам, он к новым исполнителям, — тоже не проходит. Вобщем я с этим просто уже смирился — в конце концов деньги платит. Ну есть у него такая фишка (причем это регулярно только раз в год).
Вобщем в жизни иногда бывает не так как в теории — от людей многое зависит тоже.
А вы обычно тратите полчаса на проработку тз имея лишь небольшой список хотелок? Вам процитировать Станиславского? У меня на это уходит минимум неделя для серьезного проекта.
Могу еще одно преимущество синглтона привести, которое выгодно при использовании, например Qt или других языков/библиотек, позволяющих что-то типа сигналов/слотов. Можно иметь механизм глобального оповещения об изменениях (или других событиях) в синглтоне. Например, я использую синглтон для менеджера конфигурации. К нему обоащается окно Preferences, теневое обновление конфигурации с сервера, ну и конечно другие компоненты системы. Последние должны знать когда конфигурация изменилась, независимо от причины изменения. При использовании синглтона создаваемый интерфейс всегда подключается к синглтону и генерирует события уже внешним объектам. Как-то так.
Бывает ситуации еще хуже. Заказчик дает спецификацию на коммерческий продукт на 3-х(!!!) страницах. Понятно, что такую спецификацию нужно уточнять и уточнять. Начинаешь задавать вопросы. Через пять минут выясняется, что на вопросы ответить он не может и взбешен тем, что вынужден это признавать. Начинаются вопли, что ты сам должен решать все вопросы, ты же разработчик, за что мы тебе платим и т.д. и т.п. В конце концов смиряешься, начинаешь что-то сам выдумывать, писать себе ТЗ. Через неделю приходит гневное письмо: где нащ бинари, мы хотим попробовать чего ты там уже написал, потестировать на ранних стадиях, потому-что… дальше упоминаются extreme programming, agile development и т.п. И объяснить, что ты неделю пытался понять что от тебя требуется на самом деле и уже продвинулся в этом невозможно. Ответ один: нам не нужны какие-то схемы и бумажки, что мы, на выставке, которая через неделю (!!!), бумажки что-ли показывать будем? Где наш бинари? За что мы деньги платим? Иногда просто по русски хочется указать направление развития, но низя: для фриленсера терять клиента — вещь не из приятных. Так и живем — от ПМСа до ПМСа.
Ну не скажите. Лично я предпочитаю почитать журнал, чем интернет с монитора. Тем более, что польза таких журналов часто в том, что в подборку материала может попасть что-то, что вы никогда бы самостоятельно искать не стали, но что вам, оказывается, очень нужно. Новые идеи, расширение профессионального кругозора, специально это наврядли будешь искать — строка поиска неоднозначная.
Ребят, идея хорошая. Для тех, кто хочет также делать журналы по другим темам: я в феврале запустил интернет проект (тут не буду его упоминать — всё-таки не мой топик), на котором любой может создавать свой журнал по любой тематике и любой может отправлять свои статьи в любой из созданных там журналов. Если журнал выпускается редактором достаточно регулярно, имеет хорошее количество читателей, то я издаю его в бумажном варианте, где авторы уже получают гонорары и т.д. Вобщем, если вы раскрутите свой журнал по дотнету, то могу поучавствовать в его «обумаживании». Если интересно, конечно.
1. Берешь чистую дискету, отодвигаешь задвижку и наносишь царапину.
2. Запускаешь написанную мной утилиту, которая форматирует диск и добавляет карту испорченных секторов прямо в exe (как это делать — та еще песня, тут не буду описывать, тем более что устарела эта информация — дос ведь был).
3. Записывает пропатченный exe на дискету
4. Программа при запуске проверяет наличие правильной дискеты в дисководе. Причем испорченные сектора (помеченные форматированием) проверяются на предмет того, что они действительно испорчены.
Всё.
Но что меня удивляет — я ни разу ни о чем подобном не слышал. А идея-то была неплоха и работала железно.
и позже:
> В противовес всему этому скажу — количество плюшек у WPF просто зашкаливает.
Вот интересно прямо, как количество плюшек поможет мне решить проблему кроссплатформенности?
Ну если такой вопрос возник, то вам, наверное, незачем… или в тон вопросу — нефиг
Вобщем в жизни иногда бывает не так как в теории — от людей многое зависит тоже.