<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>https://lib.custis.ru/index.php?action=history&amp;feed=atom&amp;title=AskTom_in_Moscow%3A_%D0%BE%D1%82%D1%87%D0%B5%D1%82_%D0%90%D0%BB%D0%B5%D0%BA%D1%81%D0%B5%D1%8F_%D0%AF%D0%B1%D0%BB%D0%BE%D0%BD%D1%81%D0%BA%D0%BE%D0%B3%D0%BE</id>
		<title>AskTom in Moscow: отчет Алексея Яблонского - История изменений</title>
		<link rel="self" type="application/atom+xml" href="https://lib.custis.ru/index.php?action=history&amp;feed=atom&amp;title=AskTom_in_Moscow%3A_%D0%BE%D1%82%D1%87%D0%B5%D1%82_%D0%90%D0%BB%D0%B5%D0%BA%D1%81%D0%B5%D1%8F_%D0%AF%D0%B1%D0%BB%D0%BE%D0%BD%D1%81%D0%BA%D0%BE%D0%B3%D0%BE"/>
		<link rel="alternate" type="text/html" href="https://lib.custis.ru/index.php?title=AskTom_in_Moscow:_%D0%BE%D1%82%D1%87%D0%B5%D1%82_%D0%90%D0%BB%D0%B5%D0%BA%D1%81%D0%B5%D1%8F_%D0%AF%D0%B1%D0%BB%D0%BE%D0%BD%D1%81%D0%BA%D0%BE%D0%B3%D0%BE&amp;action=history"/>
		<updated>2026-07-07T18:30:56Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.26.4</generator>

	<entry>
		<id>https://lib.custis.ru/index.php?title=AskTom_in_Moscow:_%D0%BE%D1%82%D1%87%D0%B5%D1%82_%D0%90%D0%BB%D0%B5%D0%BA%D1%81%D0%B5%D1%8F_%D0%AF%D0%B1%D0%BB%D0%BE%D0%BD%D1%81%D0%BA%D0%BE%D0%B3%D0%BE&amp;diff=15707&amp;oldid=prev</id>
		<title>BenderBot: 1 версия</title>
		<link rel="alternate" type="text/html" href="https://lib.custis.ru/index.php?title=AskTom_in_Moscow:_%D0%BE%D1%82%D1%87%D0%B5%D1%82_%D0%90%D0%BB%D0%B5%D0%BA%D1%81%D0%B5%D1%8F_%D0%AF%D0%B1%D0%BB%D0%BE%D0%BD%D1%81%D0%BA%D0%BE%D0%B3%D0%BE&amp;diff=15707&amp;oldid=prev"/>
				<updated>2010-03-19T01:00:53Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;tr style='vertical-align: top;' lang='ru'&gt;
				&lt;td colspan='1' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan='1' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 01:00, 19 марта 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan='2' style='text-align: center;' lang='ru'&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>BenderBot</name></author>	</entry>

	<entry>
		<id>https://lib.custis.ru/index.php?title=AskTom_in_Moscow:_%D0%BE%D1%82%D1%87%D0%B5%D1%82_%D0%90%D0%BB%D0%B5%D0%BA%D1%81%D0%B5%D1%8F_%D0%AF%D0%B1%D0%BB%D0%BE%D0%BD%D1%81%D0%BA%D0%BE%D0%B3%D0%BE&amp;diff=15706&amp;oldid=prev</id>
		<title>StasFomin в 18:59, 18 марта 2010</title>
		<link rel="alternate" type="text/html" href="https://lib.custis.ru/index.php?title=AskTom_in_Moscow:_%D0%BE%D1%82%D1%87%D0%B5%D1%82_%D0%90%D0%BB%D0%B5%D0%BA%D1%81%D0%B5%D1%8F_%D0%AF%D0%B1%D0%BB%D0%BE%D0%BD%D1%81%D0%BA%D0%BE%D0%B3%D0%BE&amp;diff=15706&amp;oldid=prev"/>
				<updated>2010-03-18T18:59:05Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Организация =&lt;br /&gt;
&lt;br /&gt;
Организация в целом оставила положительное впечатление.&lt;br /&gt;
[http://www.peoplemind.ru/?page=activity-archive&amp;amp;ouid=334874&amp;amp;sub=program Мероприятие] проводилось в весьма неплохой по московским меркам [http://www.marriott.com/hotels/travel/mowrn-renaissance-moscow-hotel/ гостинице], что обеспечило высокий уровень всяких «бытовых» удобств: кофе-брейки, обед, туалеты и проч. При регистрации проблем не наблюдал. Очереди были (на обеде к шведскому столу, вечером забрать одежду из гардероба и т.п.), но в комфортных пределах.&lt;br /&gt;
&lt;br /&gt;
Если уж придираться, зал не совсем подходил для формата мероприятия: с задних рядов многим было плоховато видно за головами впереди сидящих и за двумя массивными колоннами в центре. И была общая скученность в фойе непосредственно у входа в зал, где находились столы регистрации, стоячие барные столики для кофе-брейков, стенд основного спонсора [http://www.netapp.com/ru/ NetApp] и что реально напрягало — место для курения. По идее, помещение позволяло все это как-то разнести.&lt;br /&gt;
&lt;br /&gt;
В розданных материалах были слайды кажется по двум докладам из пяти.&lt;br /&gt;
&lt;br /&gt;
Слушал по-английски, поэтому о переводе ничего определенного сказать не могу. По отзывам в интернете основная претензия к синхронистам — незнание предметной области («Предположим у нас есть таблица из тысячи рекордов...»), но это традиционно.&lt;br /&gt;
&lt;br /&gt;
[[Изображение:AskTomInMoscow.jpg|700px|thumb|center|([http://dsvolk.blogspot.com/2010/02/asktom-in-moscow.html отсюда])]]&lt;br /&gt;
&lt;br /&gt;
= Общие впечатления... =&lt;br /&gt;
== ...от Кайта ==&lt;br /&gt;
&lt;br /&gt;
[[Изображение:TomKyte.jpg|thumb|right|'''[http://asktom.oracle.com AskTom]'''&amp;lt;br&amp;gt;[http://tkyte.blogspot.com/ Blogspot]&amp;lt;br&amp;gt;[http://www.flickr.com/photos/tkyte/ Flickr]&amp;lt;br&amp;gt;[http://www.ozon.ru/?context=search&amp;amp;text=%f2%ee%ec+%ea%e0%e9%f2 Озон]]]&lt;br /&gt;
Не ждал от него никаких откровений, но шел с большим интересом. В общем-то чтобы не разочароваться в мероприятии мне достаточно было просто увидеть живого Тома Кайта :)&lt;br /&gt;
&lt;br /&gt;
Бонусом к этому получил следующее:&lt;br /&gt;
* умный, увлеченный докладчик, прекрасно держащий аудиторию;&lt;br /&gt;
* интересные, нескучные доклады, хотя в основном и ничего нового&lt;br /&gt;
** (из практически полезного разве что акценты на новшествах 11g Release 2);&lt;br /&gt;
* отсутствие уклона в рекламу (что бывало на конференциях от некоторых признанных гуру, выступавших в несвойственной им роли);&lt;br /&gt;
* посмотрел на Тома за работой (в конце ему задавались вопросы, совсем уж практические он тут же моделировал у себя на ноуте, немного думал и давал ответы).&lt;br /&gt;
&lt;br /&gt;
== ...от других выступавших ==&lt;br /&gt;
&lt;br /&gt;
Вела мероприятие [http://elenabocharova.moikrug.ru/ Елена Бочарова] из [http://www.peoplemind.ru Центра компетенций Peoplemind].&lt;br /&gt;
&lt;br /&gt;
Вступительное слово давалось спонсорам: кому-то (не записал...) из NetApp и [http://www.sergeydanilov.com/ Сергею Данилову] из Oracle. Оба выступили кратко и ненавязчиво. Том Кайт в это время скромно ждал в уголке.&lt;br /&gt;
&lt;br /&gt;
Двойственное впечатление оставила заключительная «панельная дискуссия». Кроме Кайта участвовали: Андрей Криушин, Борис Финкельберг от [http://www.roug/ Russian Oracle User Group], [http://vyurinskiy.moikrug.ru/ Валерий Юринский] из [http://www.fdc.ru/ ФОРС], Валерий Кравчук (автор перевода книг Кайта).&lt;br /&gt;
&lt;br /&gt;
Вел [http://dsvolk.blogspot.com/ Дмитрий Волков] из Oracle, который в основном задавал участникам вопросы, а те отвечали. По большей части говорились какие-то общие слова, поэтому сейчас сложновато что-то припомнить достойное упоминания в отчете.&lt;br /&gt;
&lt;br /&gt;
Волков что-то постоянно шутил в тему и не в тему, что конечно веселило аудиторию, но в итоге впечатление от дискуссии окончательно скомкало. Для меня немногими любопытными моментами в ней было то, как Кайт отвечал на практические вопросы.&lt;br /&gt;
&lt;br /&gt;
== ...от аудитории ==&lt;br /&gt;
&lt;br /&gt;
333 человека из 150 компаний.&lt;br /&gt;
&lt;br /&gt;
География обширна: от наших бывш. братских республик до Сыктывкара и каких-то сибирских нефтяных городов. Многие оплачивали участие своими деньгами (например жена — ее компания участие ей не оплатила, но и отгул брать на день не заставила :)).&lt;br /&gt;
&lt;br /&gt;
Был аншлаг, Кайта слушали увлеченно, в начале дня в перерывах к нему была очередь за автографами.&lt;br /&gt;
&lt;br /&gt;
= Доклады =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Доклады [[:Файл:ThingsYouKnow_OOW.pdf|How Do You Know What You Know]], [[:Файл:thebestway.pdf|The Best Way]] и [[:Файл:Why.pdf|Why: Why Why is probably the right answer]] я воспринял как этакое объяснение жизненной и профессиональной философии Тома Кайта. Любопытно послушать.&lt;br /&gt;
&lt;br /&gt;
[[:Файл:OOW_WorstPractices.pdf|Database Worst Practices]] — более конкретный, но без откровений: взгляд «от противного» на то, что можно прочитать в его же книгах. &lt;br /&gt;
&lt;br /&gt;
[[:Файл:11 things about 11gr2 Long.pdf|Top 10, no 11, new features of Oracle database 11g Release 2]] — единственный практически полезный доклад.&lt;br /&gt;
&lt;br /&gt;
Содержание докладов, заданные вопросы и т.п. достаточно подробно [[AskTom in Moscow: отчет Дмитрия Белобородова|привел Дмитрий Белобородов]]. Дополню своими впечатлениями.&lt;br /&gt;
&lt;br /&gt;
== How Do You Know What You Know... ==&lt;br /&gt;
&lt;br /&gt;
Основные идеи:&lt;br /&gt;
* Критически относиться к своим знаниям и к источникам их получения.&lt;br /&gt;
* Остерегаться стереотипов и «общих мест».&lt;br /&gt;
* Информация могла устареть, а мы до сих пор принимаем решения на ее основе (что было важно для Oracle 7 не имеет значения для 9i).&lt;br /&gt;
* Решение может быть неприменимо в данном случае. Если предыдущие пять раз такие проблемы были вызваны чем-то одним, это совершенно не означает, что в шестой раз это автоматически то же самое, — всегда ожидать что-то другое.&lt;br /&gt;
* One needs to understand how Oracle works in order to use it safely -&amp;gt; One needs to understand how '''anything''' works in order to use it safely.&lt;br /&gt;
&lt;br /&gt;
== The Best Way ==&lt;br /&gt;
&lt;br /&gt;
Вполне воспринялся как продолжение предыдущего доклада.&lt;br /&gt;
&lt;br /&gt;
Основные идеи:&lt;br /&gt;
* Нет однозначно лучшего пути («„What is the best way..?“ — вопрос который не прекращается, и который может свести с ума»). Если бы он был, то он был бы давно реализован как единственно возможный.&lt;br /&gt;
* Нельзя забывать про контекст, в котором практика описывалась как «лучшая», и применять ее вне этого контекста.&lt;br /&gt;
* Важно знать в комплексе, «как оно работает» («Don’t tune a query — tune a process...»).&lt;br /&gt;
&lt;br /&gt;
* Алгоритм:&lt;br /&gt;
** осознать факты;&lt;br /&gt;
** вывести из них новые факты;&lt;br /&gt;
** осознать ситуацию в целом;&lt;br /&gt;
** устранить проблему.&lt;br /&gt;
* Генерите идеи, постоянно переосмысливайте, постоянно изменяйтесь, постоянно пробуйте и т.п.&lt;br /&gt;
&lt;br /&gt;
Запомнилось из лучших практик [http://www.oreillynet.com/pub/au/1056 Брина Ллевеллина]:&lt;br /&gt;
&lt;br /&gt;
* Выбрал хороших родителей :)&lt;br /&gt;
* Требует ''excellence'' от себя и других.&lt;br /&gt;
* Готов писать ''excellent'' код (хороший код писать и отлаживать дольше, чем плохой) — и убеждать менеджеров в необходимости этого.&lt;br /&gt;
* Может писать ''excellent'' «техническую прозу».&lt;br /&gt;
* Имеет простой доступ к ''excellent'' наставникам.&lt;br /&gt;
&lt;br /&gt;
== Database Worst Practices ==&lt;br /&gt;
&lt;br /&gt;
Перечисление базовых вещей, о которых тем не менее многие забывают. Bind-переменные в динамическом sql, перехват EXCEPTION WHEN OTHERS и проч., и проч...&lt;br /&gt;
&lt;br /&gt;
[[Изображение:How_many_tables.png|500px|thumb|center|Сколько таблиц в базе данных достаточно?]]&lt;br /&gt;
&lt;br /&gt;
Из забавного. Коллеги из ЗИС сидели по разным местам в зале, так вот на этом слайде с какой-то стороны будто бы послышалось: «t_aggr, t_aggr...» :)&lt;br /&gt;
&lt;br /&gt;
== Top 10, no 11, new features of Oracle database 11g Release 2 ==&lt;br /&gt;
&lt;br /&gt;
Наиболее интересный доклад с практической точки зрения. Новшества, которые теоретически могут пригодиться:&lt;br /&gt;
*'''LISTAGG'''&lt;br /&gt;
:Пишем&lt;br /&gt;
&amp;lt;code-sql&amp;gt;&lt;br /&gt;
 select deptno,&lt;br /&gt;
        listagg( ename, '; ' )&lt;br /&gt;
        within group&lt;br /&gt;
        (order by ename) enames&lt;br /&gt;
   from emp&lt;br /&gt;
  group by deptno&lt;br /&gt;
  order by deptno&lt;br /&gt;
&amp;lt;/code-sql&amp;gt;&lt;br /&gt;
:Получаем&lt;br /&gt;
     DEPTNO ENAMES&lt;br /&gt;
 ---------- -----------------------------------------&lt;br /&gt;
         10 CLARK; KING; MILLER&lt;br /&gt;
         20 ADAMS; FORD; JONES; SCOTT; SMITH&lt;br /&gt;
         30 ALLEN; BLAKE; JAMES; MARTIN; TURNER; WARD&lt;br /&gt;
*'''Рекурсивные иерархические запросы'''&lt;br /&gt;
:Пишем&lt;br /&gt;
 with '''emp_data'''(ename,empno,mgr,l)&lt;br /&gt;
   as&lt;br /&gt;
   (select ename, empno, mgr, 1 lvl from emp where mgr is null&lt;br /&gt;
    union all&lt;br /&gt;
    select emp.ename, emp.empno, emp.mgr, ed.l+1&lt;br /&gt;
      from emp, '''emp_data''' ed&lt;br /&gt;
     where emp.mgr = ed.empno&lt;br /&gt;
   )&lt;br /&gt;
   SEARCH DEPTH FIRST BY ename SET order_by&lt;br /&gt;
   select l,&lt;br /&gt;
          lpad('*',2*l,'*')||ename nm&lt;br /&gt;
     from emp_data&lt;br /&gt;
    order by order_by&lt;br /&gt;
:Получаем&lt;br /&gt;
          L NM&lt;br /&gt;
 ---------- --------------------&lt;br /&gt;
          1 **KING&lt;br /&gt;
          2 ****BLAKE&lt;br /&gt;
          3 ******ALLEN&lt;br /&gt;
          3 ******JAMES&lt;br /&gt;
          3 ******MARTIN&lt;br /&gt;
          3 ******TURNER&lt;br /&gt;
          3 ******WARD&lt;br /&gt;
          2 ****CLARK&lt;br /&gt;
          3 ******MILLER&lt;br /&gt;
          2 ****JONES&lt;br /&gt;
          3 ******FORD&lt;br /&gt;
          4 ********SMITH&lt;br /&gt;
          3 ******SCOTT&lt;br /&gt;
          4 ********ADAMS&lt;br /&gt;
:С этим можно делать не только иерархические запросы, например&lt;br /&gt;
&amp;lt;code-sql&amp;gt;&lt;br /&gt;
 with data(r)&lt;br /&gt;
   as&lt;br /&gt;
  (select 1 r from dual&lt;br /&gt;
   union all&lt;br /&gt;
   select r+1 from data where r &amp;lt; 5&lt;br /&gt;
  )&lt;br /&gt;
  select sysdate+r&lt;br /&gt;
    from data;&lt;br /&gt;
&amp;lt;/code-sql&amp;gt;&lt;br /&gt;
* '''Total Recall'''&lt;br /&gt;
:Пишем&lt;br /&gt;
&amp;lt;code-sql&amp;gt;&lt;br /&gt;
  create flashback archive arc_of_T;&lt;br /&gt;
  alter table T flashback archive arc_of_T; &lt;br /&gt;
&amp;lt;/code-sql&amp;gt;&lt;br /&gt;
:Получаем сохранение исторических данных с возможностью обращения к ним в любой момент примерно таким образом:&lt;br /&gt;
&amp;lt;code-sql&amp;gt;&lt;br /&gt;
  select * from T as of sysdate - 1 --Данные как они были в таблице на сутки назад&lt;br /&gt;
&amp;lt;/code-sql&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:Подробно по-английски в ''Oracle Magazine'': [http://www.oracle.com/technology/oramag/oracle/08-jul/o48totalrecall.html Managing History].&lt;br /&gt;
&lt;br /&gt;
* '''Deferred Segment Creation'''&lt;br /&gt;
:Пишем&lt;br /&gt;
&amp;lt;code-sql&amp;gt;&lt;br /&gt;
  alter session set deferred_segment_creation=true&lt;br /&gt;
&amp;lt;/code-sql&amp;gt;&lt;br /&gt;
:Получаем создание таблиц/индексов без автоматического выделения им первоначального ''extent'''а. Он реально выделяется только при появлении данных.&lt;br /&gt;
&lt;br /&gt;
* Самое главное, «'''killer feature оf Oracle Database 11g Release 2'''. It is worth 2 features» (и действительно, пункты 10 и 10+ в презентации) :)&lt;br /&gt;
&lt;br /&gt;
:В БД может существовать несколько версий (''edition''). Объявив новую версию, в нее можно пронести какие-либо объекты: процедуры, вьюхи, изменить гранты, и т.п. — независимо от блокировок данных объектов пользователями, работающими с предыдущей версией, и не влияя на состояние объектов в ней. Пользователей можно неявно переключать между версиями.&lt;br /&gt;
:Пока неясно как с таблицами. Но тем не менее это открывает дополнительные и широкие возможности для патчинга, тестирования и т.п.&lt;br /&gt;
&lt;br /&gt;
:Подробно по-английски в ''Oracle Magazine'': [http://www.oracle.com/technology/oramag/oracle/10-jan/o10asktom.html I часть] и [http://www.oracle.com/technology/oramag/oracle/10-mar/o20asktom.html II часть].&lt;br /&gt;
&lt;br /&gt;
== Why: Why Why is probably the right answer ==&lt;br /&gt;
&lt;br /&gt;
Еще один общефилософский доклад.&lt;br /&gt;
&lt;br /&gt;
Основная идея: перед тем, как ответить человеку, спроси, а зачем ему это нужно. Всегда проще дать очевидный ответ сразу, но переспросив «зачем?», ответ может измениться на: «не делай этого», «поступи иначе» — и такой ответ будет ценнее.&lt;br /&gt;
&lt;br /&gt;
= Немного мобилографии =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
| [[Изображение:AskTom_Bocharova.jpg|300px|thumb|center|Вступительное слово Елены Бочаровой]]&lt;br /&gt;
| [[Изображение:AskTom_NetApp.jpg|300px|thumb|center|Кто-то из NetApp (идентифицируйте?)]]&lt;br /&gt;
| [[Изображение:AskTom_TomKyte.jpg|300px|thumb|center|Том скромно ждет своей очереди в углу]] &lt;br /&gt;
|-&lt;br /&gt;
| [[Изображение:AskTom_TomKyte1.jpg|300px|thumb|center|Том Кайт: Who am I]] &lt;br /&gt;
| [[Изображение:AskTom_TomKyte3.jpg|300px|thumb|center|Том Кайт: Things Change]] &lt;br /&gt;
| [[Изображение:AskTom_Discussion.jpg|300px|thumb|center|Панельная дискуссия]] &lt;br /&gt;
|-&lt;br /&gt;
| [[Изображение:AskTom_VolkovBocharova.jpg|300px|thumb|center|Розыгрыш футболок от Oracle]] &lt;br /&gt;
| [[Изображение:AskTom_TomKyte2.jpg|300px|thumb|center|Автограф Тома :)]] &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Категория:AskTom in Moscow|Яблонский]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{replicate-from-custiswiki-to-lib}}&lt;/div&gt;</summary>
		<author><name>StasFomin</name></author>	</entry>

	</feed>