<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-352801559932806752</id><updated>2011-04-21T14:28:32.508-07:00</updated><title type='text'>AleSha coding</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://aleshacoding.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/352801559932806752/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://aleshacoding.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>AleSha</name><uri>http://www.blogger.com/profile/14881199651290730647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_H3ZzI06ien0/SGwJSaowR2I/AAAAAAAAABU/JrYj2Db4ysE/S220/1.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>12</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-352801559932806752.post-2595363554089489493</id><published>2009-05-14T09:59:00.000-07:00</published><updated>2009-05-14T10:04:46.198-07:00</updated><title type='text'>Сериализация immutable объектов</title><content type='html'>&lt;p&gt;Понадобилось создать сериализацию/десереализацию immutable объектов. Вот что получилось. Есть класс в который всё сериализуется - Stream, и небольшая иерархия классов, которая включает в себя абстрактные классы.&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:courier new;"&gt;import java.io.IOException;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt; * @author Alexander&lt;br /&gt; */&lt;br /&gt;public class Stream {&lt;br /&gt;&lt;br /&gt;    public Stream() {&lt;br /&gt;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public interface Streamable {&lt;br /&gt;        public Stream writeObject();&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public void writeString(final String key, final String value) {&lt;br /&gt;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public void writeInteger(final String key, final int value) {&lt;br /&gt;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public void writeLong(final String key, final long value) {&lt;br /&gt;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public String readString(final String key) {&lt;br /&gt;        return "";&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public int readInteger(final String key) {&lt;br /&gt;        return 0;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public long readLong(final String key) {&lt;br /&gt;        return 0;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public void saveToXML(final String filename) throws IOException {&lt;br /&gt;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public void saveToProperties(final String filename) throws IOException {&lt;br /&gt;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public void saveToBinary(final String filename) throws IOException {&lt;br /&gt;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public void loadFromXML(final String filename) throws IOException {&lt;br /&gt;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public void loadFromProperties(final String filename) throws IOException {&lt;br /&gt;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public void loadFromBinary(final String filename) throws IOException {&lt;br /&gt;&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:courier new;"&gt;/**&lt;br /&gt; * @author Alexander&lt;br /&gt; */&lt;br /&gt;public abstract class BaseAbstract implements Stream.Streamable {&lt;br /&gt;&lt;br /&gt;    private final String name;&lt;br /&gt;&lt;br /&gt;    protected BaseAbstract(final String name) {&lt;br /&gt;        validate(name);&lt;br /&gt;&lt;br /&gt;        this.name = name;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    protected BaseAbstract(final Stream stream) {&lt;br /&gt;        if (null == stream) {&lt;br /&gt;            throw new IllegalArgumentException("stream cannot be null");&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        final String name = stream.readString("name");&lt;br /&gt;&lt;br /&gt;        validate(name);&lt;br /&gt;&lt;br /&gt;        this.name = name;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    private void validate(final String name) throws IllegalArgumentException {&lt;br /&gt;        if (null == name) {&lt;br /&gt;            throw new IllegalArgumentException("name cannot be null");&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public Stream writeObject() {&lt;br /&gt;        Stream stream = new Stream();&lt;br /&gt;        stream.writeString("name", name);&lt;br /&gt;        return stream;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public String getName() {&lt;br /&gt;        return name;&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt; * @author Alexander&lt;br /&gt; */&lt;br /&gt;public class MiddleAbstract extends BaseAbstract {&lt;br /&gt;&lt;br /&gt;    private final long x;&lt;br /&gt;&lt;br /&gt;    protected MiddleAbstract(final String name, final long x) {&lt;br /&gt;        super(name);&lt;br /&gt;&lt;br /&gt;        validate(x);&lt;br /&gt;&lt;br /&gt;        this.x = x;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    protected MiddleAbstract(final Stream stream) {&lt;br /&gt;        super(stream);&lt;br /&gt;&lt;br /&gt;        final long x = stream.readLong("x");&lt;br /&gt;&lt;br /&gt;        validate(x);&lt;br /&gt;&lt;br /&gt;        this.x = x;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    private void validate(final long x) throws IllegalArgumentException {&lt;br /&gt;        if (x &lt; 0) {&lt;br /&gt;            throw new IllegalArgumentException("x cannot be less than zero");&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    @Override&lt;br /&gt;    public Stream writeObject() {&lt;br /&gt;        Stream stream = super.writeObject();&lt;br /&gt;        stream.writeLong("x", x);&lt;br /&gt;        return stream;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public long getX() {&lt;br /&gt;        return x;&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt; * @author Alexander D. Shalugin&lt;br /&gt; */&lt;br /&gt;public final class Child extends MiddleAbstract {&lt;br /&gt;&lt;br /&gt;    private final int v;&lt;br /&gt;&lt;br /&gt;    public Child(final String name, final long x, final int v) {&lt;br /&gt;        super(name, x);&lt;br /&gt;&lt;br /&gt;        validate(v);&lt;br /&gt;&lt;br /&gt;        this.v = v;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public Child(Stream stream) {&lt;br /&gt;        super(stream);&lt;br /&gt;&lt;br /&gt;        final int v = stream.readInteger("v");&lt;br /&gt;&lt;br /&gt;        validate(v);&lt;br /&gt;&lt;br /&gt;        this.v = v;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    private void validate(final int v) throws IllegalArgumentException {&lt;br /&gt;        if (v == 0) {&lt;br /&gt;            throw new IllegalArgumentException("v cannot be zero");&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public int getV() {&lt;br /&gt;        return v;&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;Буду рад любым комментариям.&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/352801559932806752-2595363554089489493?l=aleshacoding.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aleshacoding.blogspot.com/feeds/2595363554089489493/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=352801559932806752&amp;postID=2595363554089489493' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/352801559932806752/posts/default/2595363554089489493'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/352801559932806752/posts/default/2595363554089489493'/><link rel='alternate' type='text/html' href='http://aleshacoding.blogspot.com/2009/05/immutable.html' title='Сериализация immutable объектов'/><author><name>AleSha</name><uri>http://www.blogger.com/profile/14881199651290730647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_H3ZzI06ien0/SGwJSaowR2I/AAAAAAAAABU/JrYj2Db4ysE/S220/1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-352801559932806752.post-3714724014822452651</id><published>2008-11-20T00:59:00.001-08:00</published><updated>2008-11-20T01:03:19.766-08:00</updated><title type='text'>О детстве (offtopic)</title><content type='html'>&lt;a href="http://rk.yandex.ru/create/?lang=ru"&gt;&lt;img style="width: 445px; height: 349px;" src="http://rk.yandex.ru/boards/pics/20081120/08/bigboard_pic_56322_ru.png" src="http://rk.yandex.ru/boards/pics/20081120/08/bigboard_pic_56322_ru.png" alt="Билборд создан по технологии Яндекса." border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://rk.yandex.ru/create/?lang=ru"&gt;Создайте свой билборд&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/352801559932806752-3714724014822452651?l=aleshacoding.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aleshacoding.blogspot.com/feeds/3714724014822452651/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=352801559932806752&amp;postID=3714724014822452651' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/352801559932806752/posts/default/3714724014822452651'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/352801559932806752/posts/default/3714724014822452651'/><link rel='alternate' type='text/html' href='http://aleshacoding.blogspot.com/2008/11/offtopic.html' title='О детстве (offtopic)'/><author><name>AleSha</name><uri>http://www.blogger.com/profile/14881199651290730647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_H3ZzI06ien0/SGwJSaowR2I/AAAAAAAAABU/JrYj2Db4ysE/S220/1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-352801559932806752.post-7311598750073412886</id><published>2008-10-24T12:15:00.000-07:00</published><updated>2008-10-24T12:22:16.950-07:00</updated><title type='text'>Чудесный Erlang</title><content type='html'>&lt;p&gt;Посмотрел ещё одну презентацию про Erlang - http://highload.ru/papers2008/7179.html. Очень позабавил один из первых слайдов:&lt;/p&gt;&lt;p&gt;"На самом деле системы на Erlang вовсе не масштабируемые и не надежные. Это системы на Java такие. Системы на Erlang просто непробиваемы как скалы. Вячеслав Ахмечет"&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/352801559932806752-7311598750073412886?l=aleshacoding.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aleshacoding.blogspot.com/feeds/7311598750073412886/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=352801559932806752&amp;postID=7311598750073412886' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/352801559932806752/posts/default/7311598750073412886'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/352801559932806752/posts/default/7311598750073412886'/><link rel='alternate' type='text/html' href='http://aleshacoding.blogspot.com/2008/10/erlang.html' title='Чудесный Erlang'/><author><name>AleSha</name><uri>http://www.blogger.com/profile/14881199651290730647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_H3ZzI06ien0/SGwJSaowR2I/AAAAAAAAABU/JrYj2Db4ysE/S220/1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-352801559932806752.post-184034465897073006</id><published>2008-09-11T05:35:00.000-07:00</published><updated>2008-09-11T05:46:17.585-07:00</updated><title type='text'>Как скрестить ужа и ежа --- интеграция Erlang и Java</title><content type='html'>&lt;p&gt;Прочитал &lt;a href="http://echkrd.blogspot.com/2008/09/integrating-java-and-erlang-java-erlang.html"&gt;интересную статью&lt;/a&gt; про то как можно скрестить Erlang и Java.&lt;/p&gt;&lt;p&gt;К сожалению я не искушён в Эрланге, и у меня не получилось отослать сообщение от клиента к серверу. Была ошибка - {badrpc,nodedown}. Насколько я помню, вызов можно делать и другими способами, но пока ограничен во времени и не разобрался что к чему.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/352801559932806752-184034465897073006?l=aleshacoding.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aleshacoding.blogspot.com/feeds/184034465897073006/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=352801559932806752&amp;postID=184034465897073006' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/352801559932806752/posts/default/184034465897073006'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/352801559932806752/posts/default/184034465897073006'/><link rel='alternate' type='text/html' href='http://aleshacoding.blogspot.com/2008/09/erlang-java.html' title='Как скрестить ужа и ежа --- интеграция Erlang и Java'/><author><name>AleSha</name><uri>http://www.blogger.com/profile/14881199651290730647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_H3ZzI06ien0/SGwJSaowR2I/AAAAAAAAABU/JrYj2Db4ysE/S220/1.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-352801559932806752.post-5203238883320422930</id><published>2008-09-03T12:29:00.000-07:00</published><updated>2008-09-03T12:31:14.572-07:00</updated><title type='text'>Learn Cocoa</title><content type='html'>Нашёл на просторах интернета очень интересный сайт - &lt;a href="http://cocoadevcentral.com/"&gt;http://cocoadevcentral.com/&lt;/a&gt;. Сижу читаю, очень интересно.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/352801559932806752-5203238883320422930?l=aleshacoding.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aleshacoding.blogspot.com/feeds/5203238883320422930/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=352801559932806752&amp;postID=5203238883320422930' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/352801559932806752/posts/default/5203238883320422930'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/352801559932806752/posts/default/5203238883320422930'/><link rel='alternate' type='text/html' href='http://aleshacoding.blogspot.com/2008/09/learn-cocoa.html' title='Learn Cocoa'/><author><name>AleSha</name><uri>http://www.blogger.com/profile/14881199651290730647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_H3ZzI06ien0/SGwJSaowR2I/AAAAAAAAABU/JrYj2Db4ysE/S220/1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-352801559932806752.post-6074977327921613667</id><published>2008-09-01T12:12:00.000-07:00</published><updated>2008-09-01T12:38:23.938-07:00</updated><title type='text'>CC 2008</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_H3ZzI06ien0/SLxEoMjcKOI/AAAAAAAAACM/AltLg72mjxM/s1600-h/logo_cc.gif"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_H3ZzI06ien0/SLxEoMjcKOI/AAAAAAAAACM/AltLg72mjxM/s320/logo_cc.gif" border="0" alt="" id="BLOGGER_PHOTO_ID_5241139523707742434" /&gt;&lt;/a&gt;&lt;br /&gt;Завершился &lt;a href="https://cc.org.ru/8"&gt;Chaos Construction 2008&lt;/a&gt;. Хотя работ было не очень много, а если честно - очень даже мало. Спасало обилие реалтайм конкурсов, да семинары.&lt;p&gt;Поскольку я был организатором, мне многое увидеть не удалось. Одну работу я пожалуй отмечу - это первое место в конкурсе Procedural Graphics - klava by unc, Ized. Рекомендую посмотреть, работа есть на &lt;a href="ftp://ftp.cc.org.ru/2008/4k%20graphics/klava_party.zip"&gt;ftp&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Краем уха послушал семинар про ОС Фантом. Также заставил себя послушать половину семинара "Маленькая Java с большими возможностями" - докладчик либо очень очень сильно волновался, либо попросту был неподготовлен.&lt;/p&gt;&lt;p&gt;В общем и целом - всё было как всегда, суета, бессоница, интересные люди.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/352801559932806752-6074977327921613667?l=aleshacoding.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aleshacoding.blogspot.com/feeds/6074977327921613667/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=352801559932806752&amp;postID=6074977327921613667' title='Комментарии: 2'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/352801559932806752/posts/default/6074977327921613667'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/352801559932806752/posts/default/6074977327921613667'/><link rel='alternate' type='text/html' href='http://aleshacoding.blogspot.com/2008/09/cc-2008.html' title='CC 2008'/><author><name>AleSha</name><uri>http://www.blogger.com/profile/14881199651290730647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_H3ZzI06ien0/SGwJSaowR2I/AAAAAAAAABU/JrYj2Db4ysE/S220/1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_H3ZzI06ien0/SLxEoMjcKOI/AAAAAAAAACM/AltLg72mjxM/s72-c/logo_cc.gif' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-352801559932806752.post-7393782043957532949</id><published>2008-08-15T12:14:00.000-07:00</published><updated>2008-08-15T12:25:13.067-07:00</updated><title type='text'>Oracle. Перевод интервала времени в секунды.</title><content type='html'>&lt;p&gt;Недавна столкнулся с типовой и тривиальнейшей задачей:&lt;/p&gt;&lt;p&gt;Есть время начала, время окончания. Нужно вычислить интервал между двумя этими временами в секундах, при чём сделать это на Oracle PL/SQL.&lt;/p&gt;&lt;p&gt;Но как оказалось, здесь Oracle ставит нам подножку, т.к. не даёт человеческого способа сделать это. В Oracle результат операции разницы двух дат (переменных типа timestamp) является переменная типа interval. Так вот функции, которая конвертировала бы этот interval в секунды (минуты, часы, дни) нет.&lt;/p&gt;&lt;p&gt;Немного поискав, я понял что &lt;a href="http://www.sql.ru/forum/actualthread.aspx?bid=3&amp;amp;tid=573357&amp;amp;pg=1"&gt;не одинок&lt;/a&gt; в поиске решения задачи.&lt;/p&gt;&lt;p&gt;Вот и получается что приходится извращаться:&lt;/p&gt;&lt;p&gt;SQL&gt; select&lt;br /&gt;2 EXTRACT(YEAR FROM (to_date('2008-07-13 17:48:34')-to_date('2005-06-15 15:22:01')) YEAR to month) YEAR,&lt;br /&gt;3 EXTRACT(month FROM (to_date('2008-07-13 17:48:34')-to_date('2005-06-15 15:22:01')) YEAR to month) month,&lt;br /&gt;4 EXTRACT(day FROM (to_date('2008-07-13 17:48:34')-to_date('2005-06-15 15:22:01')) day to second) days,&lt;br /&gt;5 EXTRACT(hour FROM (to_date('2008-07-13 17:48:34')-to_date('2005-06-15 15:22:01')) day to second) hour,&lt;br /&gt;6 EXTRACT(minute FROM (to_date('2008-07-13 17:48:34')-to_date('2005-06-15 15:22:01')) day to second) minute,&lt;br /&gt;7 EXTRACT(second FROM (to_date('2008-07-13 17:48:34')-to_date('2005-06-15 15:22:01')) day to second) second&lt;br /&gt;8 from dual;&lt;br /&gt;&lt;br /&gt;YEAR MONTH DAYS HOUR MINUTE SECOND&lt;br /&gt;---------- ---------- ---------- ---------- ---------- ----------&lt;br /&gt;3 1 1124 2 26 33&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/352801559932806752-7393782043957532949?l=aleshacoding.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aleshacoding.blogspot.com/feeds/7393782043957532949/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=352801559932806752&amp;postID=7393782043957532949' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/352801559932806752/posts/default/7393782043957532949'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/352801559932806752/posts/default/7393782043957532949'/><link rel='alternate' type='text/html' href='http://aleshacoding.blogspot.com/2008/08/oracle.html' title='Oracle. Перевод интервала времени в секунды.'/><author><name>AleSha</name><uri>http://www.blogger.com/profile/14881199651290730647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_H3ZzI06ien0/SGwJSaowR2I/AAAAAAAAABU/JrYj2Db4ysE/S220/1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-352801559932806752.post-8277323562342763186</id><published>2008-07-25T10:17:00.000-07:00</published><updated>2008-12-09T20:13:52.593-08:00</updated><title type='text'>"Совершенный код" ("Code complete")</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_H3ZzI06ien0/SIoMOmzL5iI/AAAAAAAAABg/1Jw4nTtN0ug/s1600-h/1000479101.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_H3ZzI06ien0/SIoMOmzL5iI/AAAAAAAAABg/1Jw4nTtN0ug/s320/1000479101.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5227003762589820450" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;Сегодня дочитал "Совершенный код" Стива Макконелла. Даже и не помню, когда читал руководство и получал такое удовольствие. Сей труд монументален, многогранен. Список литературы, которым оперирует автор, впечатляет.&lt;/p&gt;&lt;p&gt;Эту книгу должен прочесть каждый уважающий себя разработчик, в ней содержится кладезь информации по конструированию ПО. Масса примеров, очень жизненно. В общем, кто ещё не читал - бегом в магазин покупать книжку.&lt;/p&gt;&lt;p&gt;Единственное что мне не понравилось в книжке - это небрежная работа верстальщика, в остальном всё просто великолепно.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/352801559932806752-8277323562342763186?l=aleshacoding.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aleshacoding.blogspot.com/feeds/8277323562342763186/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=352801559932806752&amp;postID=8277323562342763186' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/352801559932806752/posts/default/8277323562342763186'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/352801559932806752/posts/default/8277323562342763186'/><link rel='alternate' type='text/html' href='http://aleshacoding.blogspot.com/2008/07/code-complete.html' title='&quot;Совершенный код&quot; (&quot;Code complete&quot;)'/><author><name>AleSha</name><uri>http://www.blogger.com/profile/14881199651290730647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_H3ZzI06ien0/SGwJSaowR2I/AAAAAAAAABU/JrYj2Db4ysE/S220/1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_H3ZzI06ien0/SIoMOmzL5iI/AAAAAAAAABg/1Jw4nTtN0ug/s72-c/1000479101.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-352801559932806752.post-1092564687058911226</id><published>2008-07-23T15:13:00.000-07:00</published><updated>2008-07-23T15:40:20.315-07:00</updated><title type='text'>Занятный генератор облака тэгов</title><content type='html'>&lt;p&gt;Намедни прочитал у &lt;a href="http://www.scottberkun.com/blog/2008/a-new-take-on-myths-of-innovation/"&gt;Скотта Беркуна в блоге&lt;/a&gt; про инетересную программу - &lt;a href="http://wordle.net/"&gt;Wordle&lt;/a&gt;. Программа генерирует облако тэгов (редкая вещь, не правда ли?).&lt;/p&gt;&lt;br /&gt;&lt;p align="center"&gt;&lt;a href="http://wordle.net/gallery/wrdl/84585/yandex.money.ru" title="Wordle: yandex.money.ru"&gt;&lt;img src="http://wordle.net/thumb/wrdl/84585/yandex.money.ru" style="padding:4px;border:1px solid #ddd" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Выглядит симпатично, есть набор настроек и приятная кнопка "Randomize". Можно сидеть и медитировать. &lt;/p&gt;&lt;p&gt;Тэги по произведению Пушкина Евгений Онегин: &lt;/p&gt;&lt;p align="center"&gt;&lt;a href="http://wordle.net/gallery/wrdl/84614/Pushkin_-_Onegin" title="Pushkin - Onegin"&gt;&lt;img src="http://wordle.net/thumb/wrdl/84614/Pushkin_-_Onegin" style="padding:4px;border:1px solid #ddd" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/352801559932806752-1092564687058911226?l=aleshacoding.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aleshacoding.blogspot.com/feeds/1092564687058911226/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=352801559932806752&amp;postID=1092564687058911226' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/352801559932806752/posts/default/1092564687058911226'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/352801559932806752/posts/default/1092564687058911226'/><link rel='alternate' type='text/html' href='http://aleshacoding.blogspot.com/2008/07/blog-post.html' title='Занятный генератор облака тэгов'/><author><name>AleSha</name><uri>http://www.blogger.com/profile/14881199651290730647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_H3ZzI06ien0/SGwJSaowR2I/AAAAAAAAABU/JrYj2Db4ysE/S220/1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-352801559932806752.post-9128662419131086223</id><published>2008-07-09T13:02:00.000-07:00</published><updated>2008-07-09T13:03:07.984-07:00</updated><title type='text'>Erlang</title><content type='html'>Прекрасное введение в &lt;a href="http://www.rsdn.ru/article/erlang/GettingStartedWithErlang.xml"&gt;Erlang&lt;/a&gt;. Мне очень понравилось. Доступно!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/352801559932806752-9128662419131086223?l=aleshacoding.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aleshacoding.blogspot.com/feeds/9128662419131086223/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=352801559932806752&amp;postID=9128662419131086223' title='Комментарии: 3'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/352801559932806752/posts/default/9128662419131086223'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/352801559932806752/posts/default/9128662419131086223'/><link rel='alternate' type='text/html' href='http://aleshacoding.blogspot.com/2008/07/erlang.html' title='Erlang'/><author><name>AleSha</name><uri>http://www.blogger.com/profile/14881199651290730647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_H3ZzI06ien0/SGwJSaowR2I/AAAAAAAAABU/JrYj2Db4ysE/S220/1.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-352801559932806752.post-6119155057960429666</id><published>2008-07-08T10:58:00.000-07:00</published><updated>2008-07-08T11:02:09.084-07:00</updated><title type='text'>Yahoo pipes</title><content type='html'>Сегодня &lt;a href="http://www.simplecoding.org/yahoo-pipes-cozdaem-rss-lentu-interesnogo-sajta.html"&gt;прочитал&lt;/a&gt; про сервис yahooo.pipes. Очень понравился. Теперь обрабатывать контент стало ещё &lt;a href="http://www.jumpcut.com/fullscreen?id=F4396574585311DC87A2000423CF0184&amp;amp;type=clip"&gt;проще&lt;/a&gt;. Можно строить онлайн сервисы за "чужой" счёт, не особо разбираясь в программировании. Правда есть и существенный минус - твой сервис будет зависеть от yahoo.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/352801559932806752-6119155057960429666?l=aleshacoding.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aleshacoding.blogspot.com/feeds/6119155057960429666/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=352801559932806752&amp;postID=6119155057960429666' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/352801559932806752/posts/default/6119155057960429666'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/352801559932806752/posts/default/6119155057960429666'/><link rel='alternate' type='text/html' href='http://aleshacoding.blogspot.com/2008/07/yahoo-pipes.html' title='Yahoo pipes'/><author><name>AleSha</name><uri>http://www.blogger.com/profile/14881199651290730647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_H3ZzI06ien0/SGwJSaowR2I/AAAAAAAAABU/JrYj2Db4ysE/S220/1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-352801559932806752.post-8488887183418588187</id><published>2008-07-02T15:08:00.000-07:00</published><updated>2008-07-02T15:31:14.325-07:00</updated><title type='text'>Oracle sequences</title><content type='html'>&lt;p&gt;Век живи, век учись - дураком помрёшь.&lt;/p&gt;&lt;p&gt;Сегодня открыл для себя, что значение параметра Cache для сиквенса в оракле - это количество кэшируемых значений, и к параметру increment_by не имеет отношения. Я ошибался, когда думал, что установив значение Increment_by в 10, а Cache в 30, буду получать обращение к внутреннему словарю данных оракла в 3 (три) раза реже (Cache/Increment_by). На самом деле будет закэшировано Cache значение, и обращений к внутреннему словарю будет в Cache раз меньше. Документация по последовательностям ввела в заблуждение не только меня :)&lt;/p&gt;&lt;p&gt;Ещё интересный момент - это что кэш значений последовательностей храниться в shared_pool, откуда может быть вытеснен, кэш также может быть потерян при падении инстанса (как будет на RAC'е не пробовал).&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/352801559932806752-8488887183418588187?l=aleshacoding.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aleshacoding.blogspot.com/feeds/8488887183418588187/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=352801559932806752&amp;postID=8488887183418588187' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/352801559932806752/posts/default/8488887183418588187'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/352801559932806752/posts/default/8488887183418588187'/><link rel='alternate' type='text/html' href='http://aleshacoding.blogspot.com/2008/07/oracle-sequences.html' title='Oracle sequences'/><author><name>AleSha</name><uri>http://www.blogger.com/profile/14881199651290730647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_H3ZzI06ien0/SGwJSaowR2I/AAAAAAAAABU/JrYj2Db4ysE/S220/1.jpg'/></author><thr:total>0</thr:total></entry></feed>
