<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
    <channel>
        <title>Планета Java</title>
        <link>http://www.java-planet.ru/</link>
        <description>Лента публикаций русскоязычной блогосферы по программированию на языку Java</description>
        <language>ru</language>
        <pubDate>Sun, 26 Feb 2012 12:55:56 GMT</pubDate>
        <generator>java-planet.ru</generator>
        <managingEditor>demoriz@gmail.com (Карих Дмитрий) </managingEditor>
        <webMaster>demoriz@gmail.com (Карих Дмитрий) </webMaster>
        
        
        <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/java-planet/UbFg" /><feedburner:info uri="java-planet/ubfg" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
            <title>Вакансия (GridGain Systems, Санкт-Петербург)</title>
            <guid isPermaLink="false">http://ru-java.livejournal.com/1071362.html</guid>
            <description>&lt;a&gt;&lt;/a&gt;&lt;p&gt;R&amp;amp;D представительству компании GridGain Systems (&lt;a href="http://www.gridgain.com"&gt;www.gridgain.com&lt;/a&gt;) в Санкт-Петербурге требуется Senior Java Developer.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;div&gt;&lt;strong&gt;Обязанности:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Разработка и сопровождение продукта компании, R&amp;amp;D.&lt;/li&gt;&lt;li&gt;Никакого оффшора, никакого внутреннего IT - только оригинальная разработка уникального продукта компании.&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;Требования:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Опыт от 5 лет работы в сфере Java-технологий.&lt;/li&gt;&lt;li&gt;Понимание концепций OOP/OOD/FP, знание SQL, опыт разработки на Windows и Unix.&lt;/li&gt;&lt;li&gt;Отличное знание java, multi-threaded и concurrent programming.&lt;/li&gt;&lt;li&gt;Большим плюсом будет знание Scala, Java Swing и Функционального Программирования (FP).&lt;/li&gt;&lt;li&gt;Английский язык на уровне чтения.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;&amp;nbsp;Условия:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Никакого оффшора, никакого внутреннего IT.&lt;/li&gt;&lt;li&gt;Гарантированное развитие головы и получение уникального опыта.&lt;/li&gt;&lt;li&gt;Работа с полным спектром новейших Java/Scala и grid/cloud технологий, дружная команда.&lt;/li&gt;&lt;li&gt;Разработка продукта с мировым именем.&lt;/li&gt;&lt;li&gt;Приветствуем и требуем инициативу.&lt;/li&gt;&lt;li&gt;Потенциально возможна работа из любого города удаленно в режиме полной занятости.&amp;nbsp;&lt;/li&gt;&lt;li&gt;Офис в Питере находится в центре города на Невском пр. в БЦ &amp;quot;Москва&amp;quot;.&lt;/li&gt;&lt;li&gt;Если у вас есть желание влиться в нашу команду &amp;mdash; присылайте ваше резюме (&lt;a href="mailto:jobs@gridgain.com"&gt;jobs@gridgain.com&lt;/a&gt;).&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h4&gt;Адрес&lt;/h4&gt;СПБ, площадь Александра Невского, д. 2, лит. Е, оф 804&lt;br /&gt;&lt;a href="http://www.gridgain.com"&gt;http://www.gridgain.com&lt;/a&gt;&lt;br /&gt;&lt;a href="mailto:jobs@gridgain.com"&gt;jobs@gridgain.com&lt;/a&gt;&lt;br /&gt;&lt;a href="mailto:info@gridgain.com"&gt;info@gridgain.com&lt;/a&gt;&lt;br /&gt;&lt;a&gt;&lt;/a&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/GQyoCDRxcm28OUQc9C5F48EiSAM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/GQyoCDRxcm28OUQc9C5F48EiSAM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/GQyoCDRxcm28OUQc9C5F48EiSAM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/GQyoCDRxcm28OUQc9C5F48EiSAM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</description>
            <pubDate>Sun, 26 Feb 2012 13:49:21 GMT</pubDate>
                <category>Java</category>
    <category>job</category>

        <link>http://feedproxy.google.com/~r/java-planet/UbFg/~3/8uzzapOBxqk/1071362.html</link><feedburner:origLink>http://ru-java.livejournal.com/1071362.html</feedburner:origLink></item>
        <item>
            <title>Openbravo собирается с ошибками.</title>
            <guid isPermaLink="false">http://ru-java.livejournal.com/1071274.html</guid>
            <description>Коллеги, приветствую.&lt;br /&gt;&lt;br /&gt;Незадача -- коряво собирается Openbravo 3 последнего релиза (MP7.1), предыдущие собирать не пробовал, честно скажу ;)&lt;br /&gt;&lt;br /&gt;Всретил почти все грабли &lt;a href="http://wiki.openbravo.com/wiki/Installation/Troubleshooting"&gt;отсюда&lt;/a&gt;, победил всё, кроме:&lt;br /&gt;&lt;br /&gt;/usr/share/tomcat-6/work/Openbravo-3.0MP7.1/src/build.xml:226: org.hibernate.QueryException: ClassNotFoundException: org.hibernate.hql.ast.HqlToken [select ur from ADUserRoles ur where&amp;nbsp; ur.userContact.id='0' and ur.active='Y' and ur.role.active='Y' order by ur.role.id asc]&lt;br /&gt;&lt;br /&gt;В доке по ссылке говорится, что есть конфликт между установленным antlr и тем, которые в дистрибуте Openbravo. Рекомендации в ссылке выполнены, эвфехт сохранился. В самой системе antlr той же версии, что и в дистрибуте, зачем-то поставившийся 3.03 был снесён, но успеха так и нет.&lt;br /&gt;&lt;br /&gt;Гугление по ключевым словам ничего более полезного, что по ссылке, не дают.&lt;br /&gt;&lt;br /&gt;Может,. кто из сообщников на такое нарывался? Самое интересное, что по внешнему виду задача таки строится, то есть либо war создаётся, либо полный комплект в каталог аппликаций ставится. Но как-то стрёмно, что билд штатно не заканчивается -- для меня это флажок серии &amp;quot;лови грабли&amp;quot;.&lt;br /&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/z3LfB889MY6KFTa3Ytpq_EgXsIs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/z3LfB889MY6KFTa3Ytpq_EgXsIs/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/z3LfB889MY6KFTa3Ytpq_EgXsIs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/z3LfB889MY6KFTa3Ytpq_EgXsIs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</description>
            <pubDate>Sat, 25 Feb 2012 01:19:23 GMT</pubDate>
            
        <link>http://feedproxy.google.com/~r/java-planet/UbFg/~3/hmp567LJCE0/1071274.html</link><feedburner:origLink>http://ru-java.livejournal.com/1071274.html</feedburner:origLink></item>
        <item>
            <title>JAVA / Почему IDEA лучше Eclipse</title>
            <guid isPermaLink="false">http://habrahabr.ru/blogs/java/112749/</guid>
            <description>&lt;h2&gt;Священный спор&lt;/h2&gt;&lt;br /&gt;
Принято считать, что есть «вечные» вопросы, на которые нет правильного ответа. Например, что лучше: Windows или Linux, Java или C#; Чужой против Хищника или Чак Норрис против Ван Дамма. &lt;br /&gt;
&lt;br /&gt;
Одним из таких &lt;a href="http://lurkmore.to/%D0%A5%D0%BE%D0%BB%D0%B8%D0%B2%D0%B0%D1%80/%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA_%D1%85%D0%BE%D0%BB%D0%B8%D0%B2%D0%B0%D1%80%D0%BE%D0%B2"&gt;холиваров&lt;/a&gt; считается выбор лучшей IDE для Java: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Идут &lt;a href="http://www.devclub.eu/2011/07/04/anton-arhipov-intellij/"&gt;постоянные споры&lt;/a&gt; о том, в которой из них больше плагинов, горячих клавиш и т.д. Различий так много, что трудно выбрать, какие из них важнее, и все сходятся в одном: обе IDE примерно одинаковы по своим возможностям, и выбор одной из них — это дело вкуса. &lt;br /&gt;
&lt;br /&gt;
Так вот, я утверждаю, что это не просто дело вкуса. Есть объективные причины, почему &lt;br /&gt;
&lt;b&gt;&lt;a href="http://www.jetbrains.com/idea/"&gt;Intellij IDEA&lt;/a&gt;&lt;/b&gt; однозначно &lt;b&gt;лучше&lt;/b&gt;, чем &lt;a href="http://www.eclipse.org/"&gt;Eclipse&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Подчёркиваю, мы сейчас рассматриваем обе среды именно как Java IDE. &lt;br /&gt;
&lt;br /&gt;
Я не буду приводить кучу мелких различий вроде плагинов, горячих клавиш и т.п. — этому посвящены &lt;a href="http://arhipov.blogspot.com/2011/06/whats-cool-in-intellijidea-part-i.html"&gt;многие&lt;/a&gt; &lt;a href="http://arhipov.blogspot.com/2011/07/whats-cool-in-intellijidea-part-ii-live.html"&gt;страницы&lt;/a&gt; &lt;a href="http://arhipov.blogspot.com/2011/08/whats-cool-in-intellijidea-part-iii.html"&gt;в интернете&lt;/a&gt;, а объясню лишь одно, самое главное отличие. Как правило, о нём не знают ни идеяшники, ни эклипсофилы, ибо первые привыкли к нему и не знают, что в других IDE этого может и не быть, а вторые привыкли жить без него, и даже не догадываются, что может быть лучше. Более того, эклипсники его не замечают, когда пробуют IDEA ради интереса, ибо привыкли работать по-старому.&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt; &lt;a href="http://habrahabr.ru/blogs/java/112749/#habracut"&gt;Итак, главное различие между IDEA и Eclipse&lt;/a&gt; &lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/sOabqnDn7oZdPNc9w4GUllfjLlY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/sOabqnDn7oZdPNc9w4GUllfjLlY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/sOabqnDn7oZdPNc9w4GUllfjLlY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/sOabqnDn7oZdPNc9w4GUllfjLlY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</description>
            <pubDate>Fri, 24 Feb 2012 09:18:02 GMT</pubDate>
                <category>Java</category>
    <category>eclipse</category>
    <category>ide</category>
    <category>idea</category>

        <link>http://feedproxy.google.com/~r/java-planet/UbFg/~3/1HiPO0juq3A/</link><feedburner:origLink>http://habrahabr.ru/blogs/java/112749/</feedburner:origLink></item>
        <item>
            <title>JAVA / Java Day 2012. Впечатления</title>
            <guid isPermaLink="false">http://habrahabr.ru/blogs/java/138333/</guid>
            <description>Хочу вам рассказать немного о &lt;a href="http://javaone.ru/javaday/"&gt;Java Day&lt;/a&gt;, который случился 10 февраля. Сразу поясню, почему публикую так поздно — первоначально идея была в том, чтобы сравнить Java Day с семинаром Red Hat (читайте в моём следующем посте), но мероприятия оказались настолько разными, что писать о них «вперемешку» нет никакого смысла. Вообще-то, пост будет не столько описанием того, что там происходило (&lt;a href="http://habrahabr.ru/blogs/java/137989/"&gt;такое уже публиковалось&lt;/a&gt;), сколько о впечатлениях, которые у меня остались.&lt;br /&gt;
 &lt;br /&gt;
Я уже посещал ранее «Sun Tech Days», но тогда мероприятие проходило «под крылом» Sun, поэтому, честно говоря, я ехал посмотреть, насколько Oracle всё испортила. :-) К счастью, сильно разочароваться мне не пришлось, хотя влияние нового владельца Java всё же было очень заметно. &lt;div&gt; &lt;a href="http://habrahabr.ru/blogs/java/138333/#habracut"&gt;Читать дальше &amp;rarr;&lt;/a&gt; &lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/BCNlO9xS7AECf0Qb5RnM2v-dpYE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/BCNlO9xS7AECf0Qb5RnM2v-dpYE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/BCNlO9xS7AECf0Qb5RnM2v-dpYE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/BCNlO9xS7AECf0Qb5RnM2v-dpYE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</description>
            <pubDate>Thu, 23 Feb 2012 15:11:25 GMT</pubDate>
                <category>Java</category>
    <category>oracle</category>
    <category>java day</category>

        <link>http://feedproxy.google.com/~r/java-planet/UbFg/~3/De5DmXeGyak/</link><feedburner:origLink>http://habrahabr.ru/blogs/java/138333/</feedburner:origLink></item>
        <item>
            <title>Freemarker: ваше мнение?</title>
            <guid isPermaLink="false">http://ru-java.livejournal.com/1070859.html</guid>
            <description>Стоим перед выбором template engine. Есть люди рекомендующие freemarker. Я имел опыт общения с ним и он мне не очень понравился в виду своей малой похожести на xml и неочевидным синтаксическим сахаром. &lt;br /&gt;&lt;br /&gt;Кто-нибудь может указать очевидные минусы/плюсы по сравнению с jsp/taglibs?&lt;br /&gt;&lt;br /&gt;PS продублировал тут: &lt;a href="http://habrahabr.ru/qa/16740/"&gt;http://habrahabr.ru/qa/16740/&lt;/a&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/iOW6AsnY1ZdgHEG8o6PGeW_g_Gc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/iOW6AsnY1ZdgHEG8o6PGeW_g_Gc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/iOW6AsnY1ZdgHEG8o6PGeW_g_Gc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/iOW6AsnY1ZdgHEG8o6PGeW_g_Gc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</description>
            <pubDate>Wed, 22 Feb 2012 09:08:06 GMT</pubDate>
                <category>jsp</category>

        <link>http://feedproxy.google.com/~r/java-planet/UbFg/~3/Z6T7N-OHdto/1070859.html</link><feedburner:origLink>http://ru-java.livejournal.com/1070859.html</feedburner:origLink></item>
        <item>
            <title>Maven surefire и -javaagent</title>
            <guid isPermaLink="false">http://ru-java.livejournal.com/1070638.html</guid>
            <description>Есть не тривиальный case который хочется покрыть чемто то похожим на юнит тест использую junit&lt;br /&gt;&lt;br /&gt;Тестируем работу аспекта, так что приходится стартовать с -javaagent &lt;br /&gt;Аспект конфигурим через спринг, так что нужно еще &lt;br /&gt;@RunWith(SpringJUnit4ClassRunner.class)&lt;br /&gt;@ContextConfiguration(locations = "/test-context.xml")&lt;br /&gt;&lt;br /&gt;Локально я это все гоняться заставил, а вот при попытке заставить это прогнаться в мавене повис. И гугл не помог мне.&lt;br /&gt;&lt;br /&gt;Попытки скормить -javaagent стартеру мавена закончились громким матом. &lt;br /&gt;Да и в этих попытках в -javaagent содержал локальный путь к жарнику.&lt;br /&gt;&lt;br /&gt;Ктонибудь представляет себе как такое готовить?
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/RU822RiAtkrK8CT7yz7MI_zbIlw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/RU822RiAtkrK8CT7yz7MI_zbIlw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/RU822RiAtkrK8CT7yz7MI_zbIlw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/RU822RiAtkrK8CT7yz7MI_zbIlw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</description>
            <pubDate>Tue, 21 Feb 2012 13:03:12 GMT</pubDate>
            
        <link>http://feedproxy.google.com/~r/java-planet/UbFg/~3/0hh5SW-oWDs/1070638.html</link><feedburner:origLink>http://ru-java.livejournal.com/1070638.html</feedburner:origLink></item>
        <item>
            <title>generics</title>
            <guid isPermaLink="false">http://ru-java.livejournal.com/1070449.html</guid>
            <description>Есть такой код:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;interface Factory&amp;lt;T extends A&amp;lt;S&amp;gt;, S extends B&amp;gt; {
&amp;nbsp; &amp;nbsp; T getA();
&amp;nbsp; &amp;nbsp; S getB();
}

...

interface A&amp;lt;T extends B&amp;gt; {
&amp;nbsp; &amp;nbsp; void doB(T b);
}

...

interface B { }
&lt;/code&gt;&lt;br /&gt;Не пойму какая должная быть сигнатура у getFactory, и возможно ли это вообще, что&lt;br /&gt;&lt;br /&gt;&lt;code&gt;Factory&amp;lt;&lt;b&gt;???&amp;gt; &lt;/b&gt;f = getFactory();
f.getA().doB(f.getB());

&lt;/code&gt;
будет работать правильно т.е. понимать что f.getB() возвращает именно такой тип B, который принимается методом f.getA().doB()?&lt;br /&gt;&lt;br /&gt;&lt;b&gt;upd.&lt;/b&gt; also on &lt;a href="http://stackoverflow.com/questions/9375888/java-generics-ensure-objects-returned-by-factory-methods-relate-to-the-same-ty"&gt;stackoverflow&lt;/a&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/e30sfx_ibw7fBylAw5OMAkXjAPY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/e30sfx_ibw7fBylAw5OMAkXjAPY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/e30sfx_ibw7fBylAw5OMAkXjAPY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/e30sfx_ibw7fBylAw5OMAkXjAPY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</description>
            <pubDate>Tue, 21 Feb 2012 11:10:22 GMT</pubDate>
                <category>generics</category>

        <link>http://feedproxy.google.com/~r/java-planet/UbFg/~3/aNpYohCuIhc/1070449.html</link><feedburner:origLink>http://ru-java.livejournal.com/1070449.html</feedburner:origLink></item>
        <item>
            <title>JPA Criteria get() vs join()</title>
            <guid isPermaLink="false">http://ru-java.livejournal.com/1070169.html</guid>
            <description>Что-то я не могу понять, чем отличается простой join() от get() для коллекций.&lt;br /&gt;&lt;br /&gt;Что ни используй, ведет себя одинаково. Вот:&lt;br /&gt;&lt;br /&gt;CriteriaQuery&amp;lt;customer&amp;gt; q = cb.createQuery(Customer.class);&lt;br /&gt;Root$lt;customer&amp;gt; c = q.from(Customer.class);&lt;br /&gt;&lt;br /&gt;Тут хоть&lt;br /&gt;SetJoin&amp;lt;Customer, PurchaseOrder&amp;gt; o = c.join(Customer_.orders);&lt;br /&gt;&lt;br /&gt;Хоть&lt;br /&gt;Expression&amp;lt;Set&amp;lt;PurchaseOrder&amp;gt;&amp;gt; o = c.get(Customer_.orders);&lt;br /&gt;&lt;br /&gt;Дальше их применение не отличается. В SQL EclipseLink и для того и для другого добавляет таблицу во from.&lt;br /&gt;&lt;br /&gt;В чём разница? Может, она принципиальна? Или её таки вообще нет?
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/AW6QdtDk7Fu35VyqnNspd7Up6QM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/AW6QdtDk7Fu35VyqnNspd7Up6QM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/AW6QdtDk7Fu35VyqnNspd7Up6QM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/AW6QdtDk7Fu35VyqnNspd7Up6QM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</description>
            <pubDate>Tue, 21 Feb 2012 10:39:05 GMT</pubDate>
            
        <link>http://feedproxy.google.com/~r/java-planet/UbFg/~3/ppu72HnpeBQ/1070169.html</link><feedburner:origLink>http://ru-java.livejournal.com/1070169.html</feedburner:origLink></item>
        <item>
            <title>Другой способ защиты</title>
            <guid isPermaLink="false">http://programador.ru/aes-stringer/</guid>
            <description>&lt;p&gt;На этой неделе друг со старой работы написал про свой способ защиты &lt;em&gt;java&lt;/em&gt; проектов.&lt;br /&gt;
Около полугода назад я писал про то, как прятать строки в properties-файлах с помощью jasypt (&lt;a href="http://programador.ru/properties-jasypt/"&gt;EncryptableProperties и защита от дурака&lt;/a&gt;).&lt;br /&gt;
На самом деле, все понимают, что это всего-лишь защита от самого простого случая. Например, чтобы любопытный админ заглянув в файлик, не увидел там то, что не должен знать.&lt;br /&gt;
Тем не менее, если есть доступ к классам, то можно jad-ом отдекомпилировать исходники  и получить доступ к "запретной" информации (например оригинальный пароль, которым шифруются properties разработчиком-оптимистом).&lt;/p&gt;
&lt;p&gt;Для более серьезной защиты используют обфускаторы. Он усложняет работу по реверсу, но по большому счету распутывание логики это вопрос времени.&lt;/p&gt;
&lt;p&gt;Так вот, российскими программистами сделан специальный продукт для защиты java-проектов.&lt;br /&gt;
Ключевое в нем - &lt;strong&gt;AES&lt;/strong&gt;-шифровка строк. Кроме этого он делает динамические инъекции и использует специальные механизмы, которые мешают поломать приложение через рефлекшн.&lt;br /&gt;
Данное решение является коммерческим продуктом.&lt;/p&gt;
&lt;p&gt;Подробнее &lt;a href="https://licel.ru/stringer/"&gt;здесь&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/LyNF_VlGmkfJEIi8WNCEZq1Jyoo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/LyNF_VlGmkfJEIi8WNCEZq1Jyoo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/LyNF_VlGmkfJEIi8WNCEZq1Jyoo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/LyNF_VlGmkfJEIi8WNCEZq1Jyoo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</description>
            <pubDate>Fri, 17 Feb 2012 13:45:33 GMT</pubDate>
                <category>Java</category>
    <category>3. Инструментарий</category>

        <link>http://feedproxy.google.com/~r/java-planet/UbFg/~3/HKnh9JIag8o/</link><feedburner:origLink>http://programador.ru/aes-stringer/</feedburner:origLink></item>
        <item>
            <title>Встреча JUG в Петербурге 25 февраля</title>
            <guid isPermaLink="false">http://ru-java.livejournal.com/1069936.html</guid>
            <description>Коллеги, приветствую!&lt;br /&gt;&lt;br /&gt;В субботу, 25 февраля, состоится первая после долгого перерыва встреча Java User Group в Санкт-Петербурге. С докладом к нам приедет Антон Архипов - разработчик и менеджер продукта JRebel в компании ZeroTurnaround, сооснователь сообщества разработчиков debclub.eu и JUG.ee.&lt;br /&gt;&lt;br /&gt;Тема: &lt;br /&gt;&lt;br /&gt;Быстрая разработка Java-приложений.&lt;br /&gt;&lt;br /&gt;Анонс: &lt;br /&gt;&lt;br /&gt;Платформа Java предоставляет разработчикам множество возможностей для выбора инструмента для разработки. При всём обилии выбора, существует довольно мало проектов, которые позволяют вести процесс разработки достаточно эффективно. Основной проблемой разработки под Java EE, например, является отсутствие возможности мгновенного изменения функциональности развёрнутого JavaEE-приложения - для обозрения изменений в коде разработчик должен заново развернуть всё приложение, что может занимать довольно существенное время. Ситуация усугубляется обилием вариантов реализации таких приложений. Существует и множество способов облегчить процесс разработки: можно подобрать соотвествующие инструменты и технические решения, которые позволят минимизировать время на повторное развёртываение приложений. Одним из таких инструментов является JRebel, разрабатываемый компанией ZeroTurnaround. В данном докладе мы рассмотрим, какие проблемы JRebel решает, и как эти решения достигнуты.&lt;br /&gt;&lt;br /&gt;Доклад будет состоять из двух частей:&lt;br /&gt; &lt;br /&gt;Часть 1. Обзор проблем и альтернативных решений связаных с развёртыванием Java EE приложений. Введение в JRebel: обзор возможностей, демострация. &lt;br /&gt;Часть 2. JRebel SDK. Расширенные возможности при интеграции с JRebel. Использование библиотеки Javassist для внедрения интеграций. &lt;br /&gt; &lt;br /&gt;Каждая часть - 45 минут + дискуссия.В&lt;br /&gt;&lt;br /&gt;Площадка - офис компании Oracle в СПб: 10-я Красноармейская ул., 22А. Начало в 16.00.&lt;br /&gt;&lt;br /&gt;Ссылки:&lt;br /&gt;Регистрация - &lt;a href="http://jugru.timepad.ru/event/19081"&gt;http://jugru.timepad.ru/event/19081&lt;/a&gt;&lt;br /&gt;Анонс - &lt;a href="http://www.jug.ru/"&gt;http://www.jug.ru/&lt;/a&gt;&lt;br /&gt;JUG ВКонтакте: &lt;a href="http://vk.com/jugru"&gt;http://vk.com/jugru&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;JRebel - &lt;a href="http://zeroturnaround.com/jrebel/"&gt;http://zeroturnaround.com/jrebel/&lt;/a&gt;&lt;br /&gt;DevClub - &lt;a href="http://www.devclub.eu/"&gt;http://www.devclub.eu/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Приходите, будет интересно!
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/nQPuArYPKzA9ODOjXlMd_ZORfE8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/nQPuArYPKzA9ODOjXlMd_ZORfE8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/nQPuArYPKzA9ODOjXlMd_ZORfE8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/nQPuArYPKzA9ODOjXlMd_ZORfE8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</description>
            <pubDate>Thu, 16 Feb 2012 14:37:44 GMT</pubDate>
            
        <link>http://feedproxy.google.com/~r/java-planet/UbFg/~3/PbxUeC0kXD8/1069936.html</link><feedburner:origLink>http://ru-java.livejournal.com/1069936.html</feedburner:origLink></item>
    </channel>
</rss>

