<?xml version='1.0' encoding='utf-8' ?>
<!--  If you are running a bot please visit this policy page outlining rules you must respect. http://www.livejournal.com/bots/  -->
<rss version='2.0' xmlns:lj='http://www.livejournal.org/rss/lj/1.0/' xmlns:media='http://search.yahoo.com/mrss/' xmlns:atom10='http://www.w3.org/2005/Atom'>
<channel>
  <title>Журнал &quot;Юный разработчик web-приложений&quot;</title>
  <link>http://anna-safronova.livejournal.com/</link>
  <description>Журнал &quot;Юный разработчик web-приложений&quot; - LiveJournal.com</description>
  <lastBuildDate>Thu, 13 Aug 2009 12:19:56 GMT</lastBuildDate>
  <generator>LiveJournal / LiveJournal.com</generator>
  <lj:journal>anna_safronova</lj:journal>
  <lj:journalid>14058593</lj:journalid>
  <lj:journaltype>personal</lj:journaltype>
  <atom10:link rel='hub' href='http://pubsubhubbub.appspot.com/' />
  <image>
    <url>http://l-userpic.livejournal.com/67265253/14058593</url>
    <title>Журнал &quot;Юный разработчик web-приложений&quot;</title>
    <link>http://anna-safronova.livejournal.com/</link>
    <width>100</width>
    <height>100</height>
  </image>

<item>
  <guid isPermaLink='true'>http://anna-safronova.livejournal.com/5235.html</guid>
  <pubDate>Thu, 13 Aug 2009 12:19:56 GMT</pubDate>
  <link>http://anna-safronova.livejournal.com/5235.html</link>
  <description>First of all, I&amp;nbsp;finally started a new job.&lt;br /&gt;&lt;br /&gt;Second, i want to underline that starting Tomcat using sudo (as I adviced in last post) is not a good idea because of security. &lt;br /&gt;&lt;br /&gt;And third, what is the most important - I&amp;nbsp;understood all advantages of open-source platforms, frameworks and tools. Funny thing is that now I&apos;m using Eclipse and I&apos;m completely happy about it!</description>
  <comments>http://anna-safronova.livejournal.com/5235.html</comments>
  <category>eclipse</category>
  <category>tomcat</category>
  <category>ubuntu</category>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://anna-safronova.livejournal.com/5056.html</guid>
  <pubDate>Fri, 24 Jul 2009 08:32:08 GMT</pubDate>
  <title>Java and Tomcat in Ubuntu. Quick start.</title>
  <link>http://anna-safronova.livejournal.com/5056.html</link>
  <description>First I should mention that I&amp;acute;m just a beginner and I don&amp;acute;t pretend to call myself as Ubuntu professional, but i started to work with it and noticed that Internet contains a lot of messy information that doesn&amp;acute;t allow you to start quick.&lt;br /&gt;&lt;br /&gt;1) You should install Java. &lt;ul&gt;&lt;li&gt;Run terminal from Applications - &amp;gt; Accessories.&lt;/li&gt;&lt;li&gt;Enter in terminal command &lt;strong&gt;gksudo synaptic &lt;/strong&gt;&lt;/li&gt;&lt;li&gt;There will start an application which allows you to install software/libraries you need automatically. Select in quick search &amp;uml;sun&amp;uml; or &amp;uml;java&amp;uml; and install version you want to use.&lt;/li&gt;&lt;/ul&gt;2) Probably another versions of Java already exists on your machine. Use&lt;strong&gt; sudo update-alternatives --config java&lt;/strong&gt; to choose version you want to work.&lt;br /&gt;&lt;br /&gt;3) Now you should set JAVA_HOME as env variable, else Tomcat couldn&amp;acute;t start.&lt;ul&gt;&lt;li&gt;Use &lt;strong&gt;gedit ~/.bashrc&lt;/strong&gt; to edit file.&lt;/li&gt;&lt;li&gt;Add to file links : export JAVA_HOME=/usr/lib/jvm/java-6-openjdk/ (write your directory)&lt;br /&gt;export CLASSPATH=/usr/share/tomcat5.5/common/lib/jsp-api.jar:/usr/share/tomcat5.5/common/lib/servlet-api.jar (write your directory).&lt;/li&gt;&lt;li&gt;Please note that JAVA_HOME is defined now only for LOCAL user and ADMINISTRATOR know nothing about this variable. You can&amp;acute;t run Tomcat WITHOUT command sudo.&lt;/li&gt;&lt;li&gt;Use &lt;strong&gt;sudo env&lt;/strong&gt; to see that JAVA_HOME is not in the list.&lt;/li&gt;&lt;li&gt;Run &lt;strong&gt;sudo visudo&lt;/strong&gt; to add JAVA_HOME in list.&lt;/li&gt;&lt;li&gt;Add line &amp;quot;Defaults env_keep+=JAVA_HOME&amp;quot;  in the file.&lt;/li&gt;&lt;li&gt;Exit using Ctrl + X.&lt;/li&gt;&lt;li&gt;Use sudo env to see that JAVA_HOME IS now in the list.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;4) Run Tomcat.&lt;ul&gt;&lt;li&gt;Please note that you should install Tomcat the same way as i described in 1)&lt;/li&gt;&lt;li&gt;Run Tomcat using &lt;strong&gt;sudo /usr/share/tomcat5.5/bin/startup.sh&lt;/strong&gt; (of course, use your directory)&lt;/li&gt;&lt;li&gt;You will see smth like this&lt;br /&gt;Using CATALINA_BASE:   /usr/share/tomcat5.5&lt;br /&gt;Using CATALINA_HOME:   /usr/share/tomcat5.5&lt;br /&gt;Using CATALINA_TMPDIR: /usr/share/tomcat5.5/temp&lt;br /&gt;Using JRE_HOME:       /usr/lib/jvm/java-6-openjdk/&lt;/li&gt;&lt;/ul&gt;Good luck!</description>
  <comments>http://anna-safronova.livejournal.com/5056.html</comments>
  <category>java_home</category>
  <category>tomcat</category>
  <category>ubuntu</category>
  <lj:security>public</lj:security>
  <lj:reply-count>2</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://anna-safronova.livejournal.com/4625.html</guid>
  <pubDate>Wed, 22 Apr 2009 12:18:27 GMT</pubDate>
  <title>Перешли на SVN, появились проблемы.</title>
  <link>http://anna-safronova.livejournal.com/4625.html</link>
  <description>Update под branch в SVN, немногие знают,&amp;nbsp;а это возможно.&lt;br /&gt;&lt;br /&gt;If you want to work with branch, but don&apos;t want to checkout it, you can use menu TortoiseSVN &amp;rarr; Switch... that will update your folder according to the url of branch.&lt;br /&gt;&lt;br /&gt;The bad thing is that TortoiseSVN still make checkout, not update of binary files (libs and etc), good thing is that update by branch of Java classes is the same as in CVS.</description>
  <comments>http://anna-safronova.livejournal.com/4625.html</comments>
  <category>vcs</category>
  <category>svn</category>
  <category>cvs</category>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://anna-safronova.livejournal.com/4418.html</guid>
  <pubDate>Mon, 20 Apr 2009 13:56:23 GMT</pubDate>
  <title>No comments.</title>
  <link>http://anna-safronova.livejournal.com/4418.html</link>
  <description>&amp;ldquo;The traditionally limited computer resources in Russia make Russian programmers more creative in their solutions,&amp;rdquo; said Dan Dougan from St. Petersburg based Jensen Technologies. To put it more bluntly, Russian programmers can&amp;rsquo;t afford to buy their own computer so they put it together by hand.&amp;quot;&lt;br /&gt;&lt;br /&gt;(c) official website, September 2001</description>
  <comments>http://anna-safronova.livejournal.com/4418.html</comments>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://anna-safronova.livejournal.com/4113.html</guid>
  <pubDate>Wed, 08 Apr 2009 19:12:13 GMT</pubDate>
  <title>Sun Tech Days 2009</title>
  <link>http://anna-safronova.livejournal.com/4113.html</link>
  <description>&lt;p align=&quot;left&quot;&gt;&lt;a href=&quot;http://narod.ru/disk/7513645000/javascript_performance.rar.html&quot;&gt;&amp;quot;Ajax: инфраструктура, производительность и передовой опыт&amp;quot;&lt;strong&gt;  Doris Chen&lt;br /&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&lt;a href=&quot;http://narod.ru/disk/7513574000/mySQL-5-1.rar.html&quot;&gt;&amp;quot;MySQL: взгляд в будущее&lt;span style=&quot;font-weight: bold;&quot;&gt;&amp;quot; &lt;/span&gt;&lt;strong&gt;Константин Осипов&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;strong&gt;&lt;a href=&quot;http://narod.ru/disk/7513645000/javascript_performance.rar.html&quot;&gt;&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;- по ссылка архивы с фотками слайдов. Фоткала то,&amp;nbsp;что считала нужным :-)&lt;br /&gt;&lt;br /&gt;</description>
  <comments>http://anna-safronova.livejournal.com/4113.html</comments>
  <category>suntechdays</category>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://anna-safronova.livejournal.com/3895.html</guid>
  <pubDate>Wed, 08 Apr 2009 15:29:49 GMT</pubDate>
  <title>Генерация классов данных при помощи скрипта ant по hbm</title>
  <link>http://anna-safronova.livejournal.com/3895.html</link>
  <description>&lt;p style=&quot;padding-left: 15px; background-color: rgb(204, 204, 204);&quot;&gt;&lt;target name=&quot;codegen&quot; description=&quot;Generate Java source from the O/R mapping files&quot;&gt;&amp;lt;target name=&amp;quot;codegen&amp;quot; description=&amp;quot;Generate Java source from the O/R mapping files&amp;quot;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;        &amp;lt;taskdef name=&amp;quot;hbm2java&amp;quot; classname=&amp;quot;net.sf.hibernate.tool.hbm2java.Hbm2JavaTask&amp;quot;/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;        &amp;lt;hbm2java output=&amp;quot;${src.dir}&amp;quot; &amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;            &amp;lt;fileset dir=&amp;quot;${hbm}/com/your_wayl&amp;quot;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;                &amp;lt;!--&amp;lt;include name=&amp;quot;YourName1.hbm.xml&amp;quot;/&amp;gt;--&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;                &amp;lt;include name=&amp;quot;&lt;/target&gt;YourName2&lt;target name=&quot;codegen&quot; description=&quot;Generate Java source from the O/R mapping files&quot;&gt;.hbm.xml&amp;quot;/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;!--&amp;lt;include name=&amp;quot;&lt;/target&gt;YourName3&lt;target name=&quot;codegen&quot; description=&quot;Generate Java source from the O/R mapping files&quot;&gt;.hbm.xml&amp;quot;/&amp;gt;--&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;            &amp;lt;/fileset&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;        &amp;lt;/hbm2java&amp;gt;&lt;br /&gt;&amp;lt;/target&amp;gt;&lt;taskdef name=&quot;hbm2java&quot; classname=&quot;net.sf.hibernate.tool.hbm2java.Hbm2JavaTask&quot;&gt;&lt;/taskdef&gt;&lt;hbm2java output=&quot;${src.dir}&quot;&gt;&lt;br /&gt;&lt;/hbm2java&gt;&lt;br /&gt;    &lt;/target&gt;&lt;/p&gt;&lt;br /&gt;</description>
  <comments>http://anna-safronova.livejournal.com/3895.html</comments>
  <category>ant</category>
  <category>hibernate</category>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://anna-safronova.livejournal.com/3817.html</guid>
  <pubDate>Sun, 25 Jan 2009 17:57:26 GMT</pubDate>
  <title>What does my boyfriend say about using IE...</title>
  <link>http://anna-safronova.livejournal.com/3817.html</link>
  <description>&amp;quot;Webbrowsing with IE is like having a car without a lock, without any codes to start or so. And you just park it somewhere and place a sign on it: Free joyriding&amp;quot;</description>
  <comments>http://anna-safronova.livejournal.com/3817.html</comments>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://anna-safronova.livejournal.com/3555.html</guid>
  <pubDate>Mon, 13 Oct 2008 18:52:19 GMT</pubDate>
  <link>http://anna-safronova.livejournal.com/3555.html</link>
  <description>Один из самых странных вопросов на собеседовании за тот период, что я ищу работу, я услышала сегодня. &lt;br /&gt;&lt;br /&gt;Меня попросили вспомнить ASCII код для пробела. Должность, напомню, j2ee developer. Много думала. Наверное, это очень важно знать любому программисту, чтобы так, знаете, сходу назвать =) А вы помните? ;-) &lt;br /&gt;&lt;br /&gt;Да, и поскольку в этом ЖЖ я не писала - я официально ищу работу. Настолько официально, что даже начальника уже предупредила. Скачать резюме можно &lt;a href=&quot;http://narod.ru/disk/2901934000/Anna%20Safronova%20CV%20(copy%202).doc.html&quot;&gt;здесь&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;Рассматривается переезд в Москву, Европу и США.&lt;br /&gt;&lt;br /&gt;</description>
  <comments>http://anna-safronova.livejournal.com/3555.html</comments>
  <lj:music>Laam - Petite Soeur</lj:music>
  <media:title type="plain">Laam - Petite Soeur</media:title>
  <lj:security>public</lj:security>
  <lj:reply-count>2</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://anna-safronova.livejournal.com/3181.html</guid>
  <pubDate>Sun, 13 Jul 2008 07:50:33 GMT</pubDate>
  <title>Новости с полей.</title>
  <link>http://anna-safronova.livejournal.com/3181.html</link>
  <description>1) spring-ws (начиная с ver 1.5) работает не только с SOAP&apos;ом, но и с REST&apos;ом. Unbelivable! &lt;br /&gt;&lt;br /&gt;2) spring-ws поддерживает Castor, начиная с версии 1.2. Не смотря на это, предоставленный на сайте springframework архив вэб сервисов со всеми dependencies включает библиотеку Castor&apos;a 1.1. Дескать, догадайтесь сами и скачайте 1.2. &lt;br /&gt;&lt;br /&gt;3) &lt;strike&gt;I hate web-services.&lt;/strike&gt; Судя по тому, что я нашла, технология появилась аж в 2001-ом, однако обороты стала набирать в последние годы. И думаю, что в ближайшем будущем перед любым мало-мальским серьёзным вэб-приложением помимо каких-то основных функций будет в обязательно порядке ставиться задача реализации клиентской или серверной стороны вэб службы. &lt;br /&gt;</description>
  <comments>http://anna-safronova.livejournal.com/3181.html</comments>
  <category>web-services</category>
  <lj:security>public</lj:security>
  <lj:reply-count>2</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://anna-safronova.livejournal.com/2943.html</guid>
  <pubDate>Wed, 11 Jun 2008 12:09:04 GMT</pubDate>
  <link>http://anna-safronova.livejournal.com/2943.html</link>
  <description>&lt;p&gt;Давеча в icq постучалась барышня из рекрутинговой конторы. Интересовалась моим знанием немецкого, предлагала работу в каком-то представительстве какой-то компании...&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Вот я думаю - резюме моего в открытом доступе нигде не висит, а барышня начала свой разговор без прелюдий и вопроса &quot;ищите ли Вы работу?&quot;... Это что значит,&amp;nbsp; любой разработчик по умолчанию всегда в активном поиске местечка, где&amp;nbsp; &lt;strike&gt;зарплата побольше&lt;/strike&gt; хлеба послаще, да &lt;strike&gt;проект поденежней&lt;/strike&gt; трава позеленее или как? =)&lt;/p&gt;</description>
  <comments>http://anna-safronova.livejournal.com/2943.html</comments>
  <category>work</category>
  <lj:security>public</lj:security>
  <lj:reply-count>1</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://anna-safronova.livejournal.com/2716.html</guid>
  <pubDate>Fri, 23 May 2008 13:09:18 GMT</pubDate>
  <title>Не могу с вами не поделиться :-))</title>
  <link>http://anna-safronova.livejournal.com/2716.html</link>
  <description>&lt;img alt=&quot;&quot; hspace=&quot;5&quot; vspace=&quot;5&quot; src=&quot;http://i50.photobucket.com/albums/f324/ann1024/DevelopersAreBornBrave_Small.jpg&quot; /&gt;&amp;nbsp;&lt;br /&gt;&lt;em&gt;&lt;font size=&quot;1&quot;&gt;Взято у&amp;nbsp; &lt;span class=&apos;ljuser ljuser-name_catty_ua&apos; lj:user=&apos;catty_ua&apos; style=&apos;white-space: nowrap;&apos;&gt;&lt;a href=&apos;http://catty-ua.livejournal.com/profile&apos;&gt;&lt;img src=&apos;http://l-stat.livejournal.com/img/userinfo.gif&apos; alt=&apos;[info]&apos; width=&apos;17&apos; height=&apos;17&apos; style=&apos;vertical-align: bottom; border: 0; padding-right: 1px;&apos; /&gt;&lt;/a&gt;&lt;a href=&apos;http://catty-ua.livejournal.com/&apos;&gt;&lt;b&gt;catty_ua&lt;/b&gt;&lt;/a&gt;&lt;/span&gt;.&lt;/font&gt;&lt;/em&gt;</description>
  <comments>http://anna-safronova.livejournal.com/2716.html</comments>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://anna-safronova.livejournal.com/2524.html</guid>
  <pubDate>Fri, 16 May 2008 13:59:28 GMT</pubDate>
  <title>JAXB Marshaller. Problem of forced escaping tags (how to configure the marshalling process)</title>
  <link>http://anna-safronova.livejournal.com/2524.html</link>
  <description>&lt;br /&gt;&lt;b&gt;Problem.&lt;/b&gt; By default, the marshaller implementation of the JAXB usually escapes characters. Sometimes we don’t want to escape characters, for example if we want to get xml-document with CDATA we don’t want to see smth like: &lt;br /&gt;&lt;p style=&quot;PADDING-LEFT: 15px; BACKGROUND-COLOR: #cccccc&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;br /&gt;&amp;lt;description&amp;gt;&amp;amp;lt;![CDATA[&amp;amp;lt;html&amp;amp;gt;text&amp;amp;gt;&amp;amp;lt;/html&amp;amp;gt;]]&amp;amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;b&gt;Solution.&lt;/b&gt; &lt;br /&gt;1. Write a class that implements the com.sun.xml.bind.marshaller.CharacterEscapeHandler interface. &lt;br /&gt;&lt;p style=&quot;PADDING-LEFT: 15px; BACKGROUND-COLOR: #cccccc&quot;&gt;&lt;br /&gt;import com.sun.xml.bind.marshaller.CharacterEscapeHandler; &lt;br /&gt;import java.io.IOException; &lt;br /&gt;import java.io.Writer; &lt;br /&gt;&lt;br /&gt;public class NoEscapeHandler implements CharacterEscapeHandler {&amp;nbsp;&lt;br /&gt;&lt;br /&gt;private NoEscapeHandler() { &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; super(); &lt;br /&gt;} &lt;br /&gt;public static final NoEscapeHandler theInstance = new NoEscapeHandler(); &lt;br /&gt;/** &lt;br /&gt;* Escape characters inside the buffer and send the output to the writer. &lt;br /&gt;* &lt;br /&gt;* @param buf buffer of characters to be encoded &lt;br /&gt;* @param start the index position of the first character that should be encoded &lt;br /&gt;* @param len the number of characters that should be encoded &lt;br /&gt;* @param isAttValue true, if the buffer represents an XML tag attribute &lt;br /&gt;* @param out the output stream &lt;br /&gt;* @throws IOException if the writing process fails &lt;br /&gt;*/ &lt;br /&gt;&amp;nbsp;&amp;nbsp; public void escape(char[] buf, int start, int len, boolean isAttValue, Writer out) throws IOException { &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (int i = start; i &amp;lt; start + len; i++) { &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; out.write(buf[i]);&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &lt;br /&gt;&amp;nbsp;&amp;nbsp; return; &lt;br /&gt;&amp;nbsp;&amp;nbsp; } &lt;br /&gt;} &lt;br /&gt;&lt;/p&gt;&lt;br /&gt;2. Set that instance to the Marshaller by using this property. &lt;br /&gt;&lt;p style=&quot;PADDING-LEFT: 15px; BACKGROUND-COLOR: #cccccc&quot;&gt;&lt;br /&gt;CharacterEscapeHandler escapeHandler = NoEscapeHandler.theInstance; &lt;br /&gt;marshaller.setProperty(&quot;com.sun.xml.bind.characterEscapeHandler&quot;, escapeHandler);&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;3. Enjoy! &lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;PADDING-LEFT: 15px; BACKGROUND-COLOR: #cccccc&quot;&gt;&lt;br /&gt;&lt;description&gt;&lt;/description&gt;&amp;lt;description&amp;gt;&amp;lt;![CDATA[&amp;lt;html&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/html&amp;gt;]]&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&amp;nbsp;</description>
  <comments>http://anna-safronova.livejournal.com/2524.html</comments>
  <category>jaxb</category>
  <category>escaping characters</category>
  <category>xml</category>
  <lj:security>public</lj:security>
  <lj:reply-count>3</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://anna-safronova.livejournal.com/2098.html</guid>
  <pubDate>Tue, 06 May 2008 14:38:36 GMT</pubDate>
  <title>Маленькие ошибки больших гигантов.</title>
  <link>http://anna-safronova.livejournal.com/2098.html</link>
  <description>На gmail&amp;nbsp;почти такая же ошибка, о которой я писала &lt;a href=&quot;http://anna-safronova.livejournal.com/1768.html&quot;&gt;здесь&lt;/a&gt;&amp;nbsp;- &quot;operation aborted&quot;. Возможные причины - тяжеловесный скрипт. Поскольку, IE 7 (молчите, гусары!) - мой основной браузер, то ошибка раздражает не по-детски...</description>
  <comments>http://anna-safronova.livejournal.com/2098.html</comments>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://anna-safronova.livejournal.com/1918.html</guid>
  <pubDate>Wed, 23 Apr 2008 15:22:13 GMT</pubDate>
  <link>http://anna-safronova.livejournal.com/1918.html</link>
  <description>&lt;p&gt;Когда год назад я писала диплом на тему, связанную с автоматизацией рефакторинга, я искренне считала, что&amp;nbsp;&quot;рефакторинг&quot; - это&amp;nbsp;главное слово в словосочетании &quot;автоматизированный рефакторинг&quot;, теперь понимаю - нет, главное в этом словосочетании слово &quot;автоматизированный&quot;! &lt;/p&gt;</description>
  <comments>http://anna-safronova.livejournal.com/1918.html</comments>
  <lj:security>public</lj:security>
  <lj:reply-count>2</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://anna-safronova.livejournal.com/1768.html</guid>
  <pubDate>Fri, 22 Feb 2008 10:52:53 GMT</pubDate>
  <title>Хозяйке на заметку.</title>
  <link>http://anna-safronova.livejournal.com/1768.html</link>
  <description>Проблемы с показом карты (Google Maps и иже с ними) на странице в IE 7 (сообщение “operation aborted”) связаны с тем, что карта загрузиться ещё не успела, а уже начинает грузиться оставшаяся часть страницы. Решается путём выставления тайм-аута на инициализацию карты.&amp;nbsp;</description>
  <comments>http://anna-safronova.livejournal.com/1768.html</comments>
  <category>firefox &amp; ie</category>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://anna-safronova.livejournal.com/1383.html</guid>
  <pubDate>Sat, 29 Dec 2007 13:49:41 GMT</pubDate>
  <title>Предновогодняя заметка про Jasper Reports.</title>
  <link>http://anna-safronova.livejournal.com/1383.html</link>
  <description>В первую очередь, мне хотелось бы отметить, что лучше, чем сказали про Jasper Reports ребята здесь - http://voituk.kiev.ua/intro-jasper-reports/ , не найти. По крайней мере, это очень хороший мануал для новичков и тех, кто хочет просто начать и делать. &lt;br /&gt;&lt;br /&gt;Мне бы хотелось заострить своё внимание на одном достаточно интересном моменте. Интернет пестрит сообщениями ребят, которые хотят, чтобы им пояснили синтаксис jrxml. Дело в том, что для контроля вывода того или иного элемента отчёта можно воспользоваться простым или сложным булевским выражением. Со сложными булевскими выражениями не так всё просто - мало написать CDATA - выражение нужно обернуть в new Boolean.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;font color=&quot;#666699&quot;&gt;&amp;lt;textField isStretchWithOverflow=&quot;true&quot;&amp;gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#666699&quot;&gt;&amp;lt;reportElement positionType=&quot;Float&quot; x=&quot;615&quot; y=&quot;0&quot; width=&quot;70&quot; height=&quot;25&quot; style=&quot;Arial_Normal&quot;&amp;gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;font color=&quot;#666699&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;printWhenExpression&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;font color=&quot;#666699&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;![CDATA[new Boolean(!(&quot;5&quot;).equals($P{JobScope}) &amp;amp;&amp;amp; !(&quot;4&quot;).equals($P{JobScope}))]]&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;font color=&quot;#666699&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/printWhenExpression&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;font color=&quot;#666699&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/reportElement&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;font color=&quot;#666699&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;box bottomBorder=&quot;Thin&quot; rightBorder=&quot;Thin&quot; leftPadding=&quot;5&quot; topPadding=&quot;5&quot; bottomPadding=&quot;5&quot; rightPadding=&quot;5&quot; borderColor=&quot;#DADCE1&quot;/&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#666699&quot;&gt;&amp;nbsp;&amp;lt;textElement/&amp;gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#666699&quot;&gt;&amp;nbsp;&amp;lt;textFieldExpression class=&quot;java.lang.Long&quot;&amp;gt;&amp;lt;![CDATA[$F{totalLogins}]]&amp;gt;&amp;lt;/textFieldExpression&amp;gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#666699&quot;&gt;&amp;nbsp;&amp;lt;/textField&amp;gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;br /&gt;Однако, чуть позже, я поняла, что впихивать сложное булевское выражение в jrxml для того чтобы понять, нужен нам этот элемент в данном конкретном отчёте или нет – это изврат. В библотеке jasperreports есть замечательный класс JRDefaultScriptlet, от которого мы можем наследовать свой класс MyScriptlet. В методе afterDetailEval() мы присваиваем значения переменным и параметрам, которые будут использоваться в нашем отчёте, а в, к примеру, mySummary() будем производить различные операции и принимать решение, что в итоге будет выводиться “” или “Count: 212” &lt;br /&gt;&lt;br /&gt;Обращаться к методу в jrxml будем следующим образом :&amp;nbsp;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#666699&quot;&gt;&amp;lt;textField isStretchWithOverflow=&quot;true&quot;&amp;gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;font color=&quot;#666699&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;reportElement positionType=&quot;Float&quot; x=&quot;175&quot; y=&quot;140&quot; width=&quot;200&quot; height=&quot;20&quot; forecolor=&quot;#993300&quot; style=&quot;Arial_Bold&quot;&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;font color=&quot;#666699&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/reportElement&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;font color=&quot;#666699&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;textElement textAlignment=&quot;Center&quot;/&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;font color=&quot;#666699&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;textFieldExpression class=&quot;java.lang.String&quot;&amp;gt;&amp;lt;![CDATA[(( reports.scriptlets.MyScriptlet)$P{REPORT_SCRIPTLET}). mySummary()]]&amp;gt;&amp;lt;/textFieldExpression&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#666699&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;lt;/textField&amp;gt;&lt;/font&gt;&lt;/div&gt;&lt;br /&gt;Спасибо за внимание и с наступающим Новым Годом, дорогие!&amp;nbsp;&lt;br /&gt;</description>
  <comments>http://anna-safronova.livejournal.com/1383.html</comments>
  <category>jasperreports</category>
  <lj:security>public</lj:security>
  <lj:reply-count>1</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://anna-safronova.livejournal.com/1240.html</guid>
  <pubDate>Mon, 12 Nov 2007 13:58:55 GMT</pubDate>
  <link>http://anna-safronova.livejournal.com/1240.html</link>
  <description>Итак, сегодня мы поговорим об одной маленькой, но неприятной вещи, с которой можно столкнуться, делая раскрывающийся список.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Дело в том, что выставляя getElementById(elem).style.display = &quot;none&quot; и getElementById(elem).style.display = &quot;block&quot;, мы получаем лишнее пространство за свёрнутым списком в firefox&apos;e. Проблема решается так - вместо getElementById(elem).style.display = &quot;block&quot;; мы полностью сбрасываем значение display следующим образом: getElementById(elem).style.display = &quot;&quot;.&amp;nbsp;</description>
  <comments>http://anna-safronova.livejournal.com/1240.html</comments>
  <category>javascript</category>
  <category>firefox &amp; ie</category>
  <lj:security>public</lj:security>
  <lj:reply-count>4</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://anna-safronova.livejournal.com/851.html</guid>
  <pubDate>Sun, 21 Oct 2007 18:49:19 GMT</pubDate>
  <title>Хороший код - минимизация ошибок.</title>
  <link>http://anna-safronova.livejournal.com/851.html</link>
  <description>Если есть что-то, что мне не нравится в чужом коде, так это, когда пишут вот так: &lt;br /&gt;&lt;p style=&quot;PADDING-LEFT: 15px; BACKGROUND-COLOR: #cccccc&quot;&gt;&lt;br /&gt;if(smth) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return yYY; &lt;br /&gt;//bla-bla-bla &lt;br /&gt;if(anotherSmth) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; doAnotherSmth(); &lt;br /&gt;if(notAnotherSmth) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return xXX;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;Блин, но это же рассадник для ошибок! Я вполне могу вклиниться в какой-нибудь if, вписать какую-нибудь дурь и совершенно забыть, что if это не увидит, ибо я забыла поставить фигурные скобки. &lt;br /&gt;&lt;br /&gt;Я считаю, что нужно писать так: &lt;br /&gt;&lt;p style=&quot;PADDING-LEFT: 15px; BACKGROUND-COLOR: #cccccc&quot;&gt;&lt;br /&gt;if(smth) &lt;br /&gt;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return yYY; &lt;br /&gt;} &lt;br /&gt;//bla-bla-bla &lt;br /&gt;if(anotherSmth) &lt;br /&gt;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; doAnotherSmth(); &lt;br /&gt;} &lt;br /&gt;if(notAnotherSmth) &lt;br /&gt;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return xXX; &lt;br /&gt;}&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;Накрайняк, можно и так, если мой вариант кажется слишком топорным: &lt;br /&gt;&lt;p style=&quot;PADDING-LEFT: 15px; BACKGROUND-COLOR: #cccccc&quot;&gt;&lt;br /&gt;if(smth) { return yYY;} &lt;br /&gt;//bla-bla-bla &lt;br /&gt;if(anotherSmth) { doAnotherSmth(); } &lt;br /&gt;if(notAnotherSmth) { return xXX; } &lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&amp;nbsp;</description>
  <comments>http://anna-safronova.livejournal.com/851.html</comments>
  <category>код</category>
  <lj:mood>в пафосных размышлениях</lj:mood>
  <lj:security>public</lj:security>
  <lj:reply-count>19</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://anna-safronova.livejournal.com/663.html</guid>
  <pubDate>Thu, 18 Oct 2007 13:59:01 GMT</pubDate>
  <title>outerHTML для Firefox.</title>
  <link>http://anna-safronova.livejournal.com/663.html</link>
  <description>&lt;br /&gt;document.getElementById(ElementID).outerHTML вещь совершенно бесполезная для Firefox. Даже ошибки этот браузер Вам не покажет, а работать не будет. Как быть? &lt;br /&gt;&lt;br /&gt;В интернете описана масса способов решения данной проблемы, однако наиболее простым способом лично для меня оказался вот этот: &lt;br /&gt;&lt;br /&gt;&lt;p style=&quot;PADDING-LEFT: 15px; BACKGROUND-COLOR: #cccccc&quot;&gt;&lt;br /&gt;function setOuterHTML(ElementID, txt) &lt;br /&gt;{ &lt;br /&gt;var someElement = document.getElementById(ElementID);&amp;nbsp;&lt;br /&gt;&lt;br /&gt;//работает для IE, но не работает для Firefox.&lt;br /&gt;if (someElement.outerHTML) &lt;br /&gt;{ &lt;br /&gt;someElement.outerHTML = txt; &lt;br /&gt;}&amp;nbsp;&lt;br /&gt;&lt;br /&gt;//работает для Firefox, но не работает для IE.&lt;br /&gt;else &lt;br /&gt;{ &lt;br /&gt;var range = document.createRange(); &lt;br /&gt;range.setStartBefore(someElement); &lt;br /&gt;var docFrag = range.createContextualFragment(txt); &lt;br /&gt;someElement.parentNode.replaceChild(docFrag, someElement); &lt;br /&gt;} &lt;br /&gt;} &lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;Так, например, обратившись к функции setOuterHTML, мы сможем заменить options для select&apos;a. &lt;br /&gt;&lt;p style=&quot;PADDING-LEFT: 15px; BACKGROUND-COLOR: #cccccc&quot;&gt;&lt;br /&gt;var newSelect = &quot;&amp;lt;SELECT id=&apos;userOtionSet&apos; name=&apos;&amp;lt;%=ReportAdminServlet.PARAM_USER_ID %&amp;gt;&apos; class=&apos;blackText&apos; &amp;gt;&quot; + users + &quot;&amp;lt;/SELECT&amp;gt;&quot;;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;setOuterHTML(&quot;userOtionSet&quot;, newSelect);&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&amp;nbsp;&lt;br /&gt;</description>
  <comments>http://anna-safronova.livejournal.com/663.html</comments>
  <category>javascript</category>
  <category>firefox &amp; ie</category>
  <lj:security>public</lj:security>
  <lj:reply-count>13</lj:reply-count>
</item>
</channel>
</rss>
