среда, 19 августа 2009 г.

MS SQL Server Documentation

Это пост праведного гнева, направленного против разного рода копипастеров и лиц, не желающих читать документацию производителя.

Меня всегда неприятно поражало желание людей своими словами пересказывать системную документацию. А чтоб умным показаться добавлять какого-нибудь бреда пару строк. И не лень же?

 

И ведь их читают и на них ссылаются. Это болезнь какая-то. Что только люди делать не будут, лишь бы документацию не читать.

 

Для MS SQL Server написана, пожалуй, лучшая в мире документация! Она краткая, она простая, она понятная и она небольшая по объему. Её можно прочитать за несколько дней и не парить себе и окружающим мозги.

 

Нет, блин, будут цитировать всякий рак мозга, иногда ещё и криво переведенный.

 

Я ещё могу понять когда такой подход работает. Для оракла такой подход работает, потому что там много всего, физически трудно прочитать и усвоить хотя бы начало - первые пару трехтомников по полторы тысячи страниц каждый том, написанный дебильным языком инструкций роботов из 70-х годов. На это реально нужно много времени, это лучше делать на курсах, под присмотром опытного разработчика, который подскажет, как обойти тысячи оракловых подводных камней и посоветует читать Кайта.

 

Но SQL Server не такой. Он молодой, он простой, он логичный, он стабильный, он разработан командой высококлассных специалистов. И из-за этого у него простая и понятная документация. Найдите два-три дня и прочитайте её. За выходные можно успеть.

Всё. За рецептами всяких практических хитростей потом можно сходить почитать sql.ru. Могу ещё порекомендовать книги Артемова и сборник от того-же sql.ru. Больше можно ничего не читать.

четверг, 13 августа 2009 г.

Java & Decompilation & GAE SDK

При работе с любой программой может возникнуть непреодолимое желание заглянуть в её исходники. Вот и при работе с Google App Engine SDK for Java я неоднократно ловил себя на мысли: насколько проще было бы работать, смотря прямо в его код.  Как заглянуть в исходники любого Java-класса?

  1. На текущий момент существует один, самый лучший бесплатный декомпилятор Java. Fernflower. Это ограниченная бета в виде онлайн-сервиса. Сразу предупреждаю, в Google Chrome не работает. Дефект верстки, используйте другие браузеры.
  2. Итак, декомпилятор есть. Но он не принимает файлы размером более 5Мб, а в SDK файлы больше. Обойти это ограничение достаточно просто. Jar-файлы это просто zip-архивы. Причем плохо сжатые. Берем лучший бесплатный архиватор 7-zip и пережимаем jar-файлы. Результат впечатляет – 7-zip жмет в два раза сильнее.
  3. Скармливаем новый архив декомпилятору и через три минуты скачиваем результат декомпиляции, тоже в виде архива. Открываем, поражаемся качеству декомпиляции, подключаем к эклипсу.
  4. Profit!

Пока нашел два интересных момента:

  1. Неполная реализация JCache: CacheEntry ничего не умеет. Пришлось написать обертку для getLastUpdateTime().
  2. Внутри SDK лежит очень интересная библиотека google-collections в виде пакета com.google.appengine.repackaged.com.google.*