|
Персональные инструменты |
|||
|
AskTom in Moscow: отчет Дмитрия ПодушкоМатериал из CustisWikiВерсия от 13:20, 19 марта 2010; DmitryPodushko (обсуждение) Это снимок страницы. Он включает старые, но не удалённые версии шаблонов и изображений. СодержаниеОбщие впечатленияОрганизация мероприятия не вызвала никаких нареканий, за исключением, пожалуй, качества перевода. Но благодаря лаконичности и хорошо поставленной дикции докладчика, а также обилию знакомых технических терминов, углубленное знание языка не потребовалось и народ вскоре поснимал наушники. Не особо полагаясь на свою память, в качестве основы отчета я взял презентации, доступные по ссылке. Доклад не содержал каких-либо откровений, его целью, скорее, было познакомить слушателей с тем, как, на основании своего многолетнего опыта, видит процесс изучения и использования Oracle всемирно известный специалист.
Первая тема доклада — «Откуда вы знаете, что вы знаете…»Самая краткая часть доклада. Отчасти юмористическая. «Предположим, что все наши знания мы черпаем из телепрограмм» — предложил автор доклада и далее минут пять приводил некоторые последствия этого опрометчивого шага. Так, у него лично не оставалось бы сомнений в том, что вентиляционная система любого здания прекрасно подходит для того, чтобы в ней прятаться, а также то, что пользуясь ей можно попасть в любую точку этого здания. Кроме того, он был бы уверен, что сталкиваясь, автомобили практически всегда взрываются. Когда вы окружены превосходящим числом врагов, продолжал Том Кайт, они всегда будут нападать строго в порядке живой очереди, терпеливо ожидая пока вы разделаетесь с их предшественниками. Он также верил бы в то, что наличие большого объема работы заставляет всех отцов забывать дни рождения своих детей; все бомбы имеют очень большие, красные LED дисплеи, показывающие точное время, оставшееся до взрыва; а все иностранцы между собой говорят только по-английски. Убедившись по вымученным улыбкам аудитории, что юмор оценен, оратор затем перешел на более профориентированные примеры. «Когда замедляется работа системы, то все знают почему — не хватает мощности процессора или необходимо переместить файлы с данными на другие диски. Мощность добавлена, файлы перемещены — нет результата. Добавили, переместили еще раз — тот же результат, вид сбоку. Взглянули на проблему вооруженным глазом — ба! Ну кто бы мог подумать, обнаружились массовые блокировки. Увеличение мощности только ухудшило ситуацию, перемещение файлов не оказало никакого влияния вообще…». Законы ораторского искусства потребовали ввернуть в этот момент заковыристое высказывание кого-нибудь из великих и докладчик не стал изменять традициям. Афоризм Артемуса Уорда "It ain’t so much the things we don’t know that get us into trouble. It’s the things you know that just ain’t so " был призван послать переводчика в нокаут и подвести черту под рассуждениями о знаниях и их очевидности. И таки подвел, потому что далее автор перешел с высокой поэзии на демократическую прозу, оформленную в виде кусочков кода. К вящей, надо заметить, радости присутствовавших. Свежий тезис о том, что «things change», был проиллюстрирован на примере конструкции BULK COLLECT в 9i и в 10g. В десятой версии выражение for x in (select * from big_table)… неявно переписывается в array fetching, что избавляет в некоторых случаях от необходимости писать дополнительный код («жизнь-то налаживается…»). В продолжении зарисовок были приведены еще несколько «очевидных» проблем и их решений, которыми изобилует интернет и к которым докладчик призывал относиться скептически (или не очень — это
В заключении первой части выступающий тактично, но настойчиво порекомендовал не оставлять высказывания экспертов «по моему мнению…», «я утверждаю…», «я думаю…», «я чувствую…», «я знаю…» без доказательств. Для сбора доказательств под рукой предлагал иметь джентльменский набор из tkprof, statspack и runstats. Еще раз прозвучали слова-заклинания, что «things change», «nothing is 100 % good, nothing is 100 % evil», хит многих сезонов «it depends», и много, много других проверенных временем паттернов Позже на сайте AskTom нашел статью, датированную 2005 г. примерно по той же теме: False Knowledge Article, why evidence is a good thing. Why advice from anyone needs to be questioned, especially from «experts». Вторая тема доклада — «The Best Way»Более восьми тысяч вопросов о лучшем способе выполнения той или иной работы, заданных на сайте AskTom, по-видимому, настроили Тома Кайта на философский лад. «Что такое лучший способ?» — интересовался он у аудитории, старательно делая вид, что только сейчас обдумывает свой ответ — «Если бы существовал универсальный способ решений всех задач, то не возникало бы необходимости реализовывать другие способы». Затем непродолжительное время сыпал цитатами, целью которых было дать понять собравшимся, что не только он один так думает. В качестве живого примера неоднозначности привел HASH JOIN и NESTED LOOP для пары таблиц. В зависимости от их размера и Вообще, слово «контекст» с тех пор звучало часто. Видимо, это была замена слегка приевшемуся, но не потерявшему своей актуальности «все зависит». Процесс решения проблемы (и определения лучшей практики для нее) по Тому Кайту выглядел так:
Докладчик, признавая всю полезность накопленного опыта, отмечал также, что он может стать обузой в поиске творческих идей; призывал изучать разные языки программирования, с целью научиться видеть как можно большее количество вариантов решения проблем, решать задачи не только на уровне запросов, но и на уровне алгоритмов и процессов. Как говорится, «конец был немного предсказуем» — тепло поблагодарив выступающего аплодисментами за его профессионализм, энергетику и сильную харизму, народ пошел на перерыв. Третья тема доклада — «Worst practices»Часть, в которой автор доклада показал, что жанр «Вредные советы» успешно освоил не только Г.Остер. Топ-лист советов выглядит, по мнению Тома Кайта, так:
За шутками и прибаутками запланированный докладчиком час быстро пролетел, а затем настало время как следует подкрепиться и обсудить услышанное. Репликация: База Знаний «Заказных Информ Систем» → «AskTom in Moscow: отчет Дмитрия Подушко» Любые правки этой статьи будут перезаписаны при следующем сеансе репликации. Если у вас есть серьезное замечание по тексту статьи, запишите его в раздел «discussion». |
||