<?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-4037616275307752536</id><updated>2011-07-30T18:29:34.283+03:00</updated><category term='junit'/><category term='hibernate'/><category term='jni'/><category term='CreateProcessW'/><category term='купляй выгодна'/><category term='struts'/><category term='paypal'/><category term='java'/><category term='spring'/><category term='novice'/><category term='ebay'/><title type='text'>No Title at All</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://stshadow.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4037616275307752536/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://stshadow.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Анатоль</name><uri>http://www.blogger.com/profile/11681497531371690769</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>4</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4037616275307752536.post-8402963821805565827</id><published>2011-04-30T22:34:00.000+03:00</published><updated>2011-04-30T22:34:16.187+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ebay'/><category scheme='http://www.blogger.com/atom/ns#' term='paypal'/><category scheme='http://www.blogger.com/atom/ns#' term='купляй выгодна'/><title type='text'>Пачынаем працу з ebay!</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Прывiтанне!&lt;br /&gt;Значыцца, пачатак працы з ebay складаецца з наспупных этапаў:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Неабходна атрымаць картку, якая а) працуе ў iнтэрнэце, б) працуе з paypal&lt;/li&gt;&lt;li&gt;Рэгiстрацыя ў Paypal&lt;/li&gt;&lt;li&gt;Рэгiстрацыя ў ebay&lt;/li&gt;&lt;li&gt;Пошук лота&lt;/li&gt;&lt;li&gt;???&lt;/li&gt;&lt;li&gt;Profit!&lt;/li&gt;&lt;/ol&gt;Далей, па пунктах:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1. Неабходна атрымаць картку, якая а) працуе ў iнтэрнэце, б) працуе з paypal&lt;/b&gt;&lt;br /&gt;З  гэтым зараз цяжка. Што магу сказаць з асабiстага досведу? У нас працуе  пакуль Visa Virtuon ад БПС-банка. Што з астатнiмi - малавядома. Праз  тое, што ў палцы мы на птушыных правах - бывае ўсякае. Аператыўна сачыць  за сiтуацыяй можна тут - &lt;a href="http://forum.onliner.by/viewtopic.php?t=310431&amp;amp;postdays=0&amp;amp;postorder=asc&amp;amp;start=4880" target="_blank"&gt;http://forum.onliner.by/&lt;wbr&gt;&lt;/wbr&gt;viewtopic.php?t=310431&amp;amp;&lt;wbr&gt;&lt;/wbr&gt;postdays=0&amp;amp;postorder=asc&amp;amp;&lt;wbr&gt;&lt;/wbr&gt;start=4880&lt;/a&gt; &lt;br /&gt;&lt;b&gt;&lt;br /&gt;2.&lt;/b&gt; Там жа распiсана працэдура як зарэгiстравацца ў paypal.&lt;br /&gt;&lt;b&gt;&lt;br /&gt;3.&lt;/b&gt; &lt;b&gt;Рэгiстрацыя ў ebay&lt;/b&gt;. Тут усё проста - рэгiструемся, указваем Беларусь як краiну пражывання i нiякiх праблем.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;4.&lt;/b&gt; &lt;b&gt;Пошук лоту. &lt;/b&gt;А вось гэта самы цынус iбэю J Тут пакуль сам не пакапаешся добра - не навучышся. Але пару парад ёсць:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;сайты ebay&lt;/li&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://ebay.com/" target="_blank"&gt;ebay.com&lt;/a&gt;  тут тавары ў асноўным з ЗША i бывае што з Кiтаю. Што браць:  электронiка/iншыя няшныя штукi, але невялiкага памеру, бо дастаўка  дарагаватая часам.&lt;/li&gt;&lt;li&gt;&lt;a href="http://ebay.co.uk/" target="_blank"&gt;ebay.co.uk&lt;/a&gt; тут тавары з Велiкабрытанii. Што браць: адзенне! Дастаўка звычайна танней, чым з ЗША, таксама, электронiка i ўсё такое.&lt;/li&gt;&lt;li&gt;&lt;a href="http://ebay.de/" target="_blank"&gt;ebay.de&lt;/a&gt;, &lt;a href="http://ebay.pl/" target="_blank"&gt;ebay.pl&lt;/a&gt; - гэта, калi ведаеце нямецкую/польскую. Я звычайна iмi не карыстаюся (рабiў раз замову з нямецкага - не айс, сядзi як дурань з &lt;a href="http://translate.google.com/" target="_blank"&gt;translate.google.com&lt;/a&gt;  перакладай - мне ўжо прасцей адразу на англамоўных версiях пашукаць).  Палякi неяк слаба сюды дасылаюць, але гэта трэба глядзець.&lt;/li&gt;&lt;li&gt;&lt;a href="http://global.ebay.com/" target="_blank"&gt;global.ebay.com&lt;/a&gt; - глабальный сайт iбэю, шукае адразу па ўсiх сайтах. Мiнус - фiльтры пошуку слабыя.&lt;/li&gt;&lt;/ol&gt;&lt;li&gt;Падчас  пошуку можна выбраць фiльтр, каб паказваць толькi тавары з дастаўкай у  Беларусь. Для гэтата трэба адстартаваць латы па Price + P&amp;amp;P: lowest  first&lt;/li&gt;&lt;li&gt;Асноўнае правiла пошуку: чытаць УСЁ па метаду паўночна-заходняга  кута: чытаць апiсанне лотаў з верхняга левага кута ў нiжнi правы. &lt;b&gt;Без выключэнняў&lt;/b&gt;. Бо сiтуацыi бываюць розныя, напрыклад:&lt;/li&gt;&lt;ol&gt;&lt;li&gt;Дасылаюць толькi на адрас paypal: значыць, будзе iсцi праз расiю i не факт, што дойдзе -&amp;gt; такiя латы фтопку&lt;/li&gt;&lt;li&gt;На малюнку бачым прыгожы новы тэлефона, а ў апiсаннi будзе напiснана  дробным шрыфтам "бу 5 год" - значыць, прыйдзе тэлефон бу 5 год i наўрад  цi можна будзе адкрыць claim - скаргу на прадаўца, бо апiсанне  правiльнае. &lt;br /&gt;&lt;/li&gt;&lt;li&gt;На малюнку бачым прыгожую каробку тэлефона, а ў апiсаннi будзе  напiснана дробным шрыфтам "прадаецца  каробка ад тэлефона без тэлефона" - значыць, прыйдзе толькi каробка i  наўрад цi можна будзе адкрыць claim - скаргу на прадаўца, бо апiсанне  правiльнае. На свае вочы бачыў цiпа-iPad за $400 - у апiсаннi напiсана,  што за гэтыя грошы вам прыйдзе лiст з вялiкай падзякай - гэта, ужо,  канешне, fraud (падман) у чыстым выглядзе, але нафiга гэтыя праблемы?&lt;/li&gt;&lt;/ol&gt;&lt;li&gt; Часам пасылкi не даходзяць - цi па вiне пошты, цi таму, што прадавец  пiдарас. Першае, што вас здзiвiць - калi раней не сутыкалiся -  добрасумленныя прадаўцы стараюцца дапамагчы ўсiмi магчымымi сродкамi.  Напрыклад, была сiтуацыя - батарэя ад ноўта не прыйшла праз 60 дзён -  тэрмiн падачы claim сцёк, лiчы - прапалi грошыкi, але напiсалi прадаўцу,  той выслаў tracking number (нумар, па якiм можна адсачыць пасылку) i  паабяцаў зрабiць refund (вяртанне грошай), калi пасылка не знойдзецца.  Хаця пра правiлах iбэй ён мог мяне паслаць на йух i я ў гэтым выпадку  нiчога бы не зрабiў. Пасылка, дарэчы, у той час ужо два тыднi валялася ў  паштовым аддзяленнi - так што нашая пошта ячшэ тыя слоўпокi. Добра, што  не крадуць хоць, прынамсi, у нас не было такiх выпадкаў. Другi прыклад:  у iншага прадаўца замовiў акуляры - праз 43 днi правяраю - як яны там.  Опа! Прадавец ужо выпiлены з iбэю, хутчэй за ўсё, за fraud. Адкрыў  скаргу, апiсаў, як усё ёсць - iбэй вярнуў грошы. Ну i калi выпала так,  што прадавец сумленны, вярнуў грошы, а пасылка раптам прышла, то прынята  паведамляць прадаўцу пра гэта i якiм-небудзь чынам пераводзiць гэтыя  грошы. Калi ласка, не псуйце iмiдж краiны, ён i так нiжэй за плiнтус J&lt;/li&gt;&lt;li&gt;Не саромеемся пытаць у прадаўца, калi што незразумела па лоту ДА  ТАГО, ЯК ЯГО НАБЫЛI. Бо калi напiсана genuine - значыць, так яно i ёсць.  А калi не - то можна быць i падробка пад кiтай J&lt;/li&gt;&lt;li&gt;Тыпы аўкцыёнаў:&lt;/li&gt;&lt;ol&gt;&lt;li&gt;Buy it now - самы просты: звычайная пакупка без нiякiх ставак i ўсяго такога.&lt;/li&gt;&lt;li&gt;Auction  - аўкцыён - робiм стаўку, чакаем пакуль скончыцца. Калi цiкава -  пачытайце пра ebay snipers - не зусiм чЭсна, але nobody cares.&lt;/li&gt;&lt;li&gt;Best offer - робiм прапановы, прадавец выбiрае тую, якая яму спадабался.&lt;/li&gt;&lt;/ol&gt;&lt;li&gt;Спосаб  дастаўкi: галоўнае правiла - забудзьце пра кур'ерскiя службы (UPS (не  USPS), DHL, FedEx) як пра старшны сон - бо гэта па-першае лiмiт 10€,  па-другое - за пасылкай ехаць у Мiнск-2. Месца страншае. Я адзiн раз  прайшоў гэты квест - нiкому не раю. Паўдня кату пад хвост. Таму нашы  выбар - звычайная пошта альбо EMS&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;З большага, усе. Лiрычнае адступленне: як бачыце, целарухаў для  пачатку зрабiць трэба шмат, але калi спадабаецца, то гэта як новы мiр.  Што я там толькi не набываў па коштах нiжэй за нашыя, а то i ўвогуле  ўнiкальныя рэчы! Вастрыльны водны камень з Японii, кабуру Fobus з  Iзраiлю, eReader з ЗША i шмат чаго. Яно таго каштуе. Але для разавай  пакупкi магчыма, ёсць сэнс пашукаць пасярэднiка. Як яно там дакладна, не  ведаю, але думаю, схема кшталту такой: 10% за паслугi i нiякiх  гарантый, што тавар дойдзе. Прынамсi, для сваiх я так раблю (толькi без  10%). Ebay гэта трошкi латэрэя, але шчыра прызнацца - выйграць шанец  знаааааачна вышэй, чым у СпортЛато (цi як гэтая фiгня завецца?) У &lt;b&gt;маiм&lt;/b&gt; выпадку - 100% выгрыш. Адна пасылка была fraud - i то, грошы вярнулi.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4037616275307752536-8402963821805565827?l=stshadow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stshadow.blogspot.com/feeds/8402963821805565827/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4037616275307752536&amp;postID=8402963821805565827' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4037616275307752536/posts/default/8402963821805565827'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4037616275307752536/posts/default/8402963821805565827'/><link rel='alternate' type='text/html' href='http://stshadow.blogspot.com/2011/04/ebay.html' title='Пачынаем працу з ebay!'/><author><name>Анатоль</name><uri>http://www.blogger.com/profile/11681497531371690769</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4037616275307752536.post-1565432853768094148</id><published>2009-09-22T12:58:00.002+03:00</published><updated>2009-09-22T12:58:58.857+03:00</updated><title type='text'>I make believe that nothing is wrong until...</title><content type='html'>I should do plugin "fish eye vertical ruler for eclipse"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4037616275307752536-1565432853768094148?l=stshadow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stshadow.blogspot.com/feeds/1565432853768094148/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4037616275307752536&amp;postID=1565432853768094148' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4037616275307752536/posts/default/1565432853768094148'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4037616275307752536/posts/default/1565432853768094148'/><link rel='alternate' type='text/html' href='http://stshadow.blogspot.com/2009/09/i-make-believe-that-nothing-is-wrong.html' title='I make believe that nothing is wrong until...'/><author><name>Анатоль</name><uri>http://www.blogger.com/profile/11681497531371690769</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4037616275307752536.post-8120786503314213465</id><published>2009-03-05T14:09:00.003+02:00</published><updated>2011-04-30T22:23:32.339+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='CreateProcessW'/><category scheme='http://www.blogger.com/atom/ns#' term='jni'/><title type='text'></title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;If anybody look for fix for http://bugs.sun.com/view_bug.do?bug_id=4947220&lt;br /&gt;(process) Runtime.exec() cannot invoke applications with unicode parameters (win)&lt;br /&gt;You can try mi fixes:&lt;br /&gt;it`s a wrapper around CreateProcessW with a little bit of process control.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style="background: #ffffff; color: black;"&gt;&lt;span style="color: dimgrey;"&gt;// must match constants at Win32Process class&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #004a43;"&gt;#&lt;/span&gt;&lt;span style="color: #004a43;"&gt;define&lt;/span&gt;&lt;span style="color: #004a43;"&gt; SUCCESS 0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #004a43;"&gt;#&lt;/span&gt;&lt;span style="color: #004a43;"&gt;define&lt;/span&gt;&lt;span style="color: #004a43;"&gt; CREATE_ERROR 0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #004a43;"&gt;#&lt;/span&gt;&lt;span style="color: #004a43;"&gt;define&lt;/span&gt;&lt;span style="color: #004a43;"&gt; WAIT_ERROR 1&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #004a43;"&gt;#&lt;/span&gt;&lt;span style="color: #004a43;"&gt;define&lt;/span&gt;&lt;span style="color: #004a43;"&gt; TERMINATE_ERROR 2&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #004a43;"&gt;#&lt;/span&gt;&lt;span style="color: #004a43;"&gt;define&lt;/span&gt;&lt;span style="color: #004a43;"&gt; GET_EXIT_CODE_ERROR 3&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #004a43;"&gt;#&lt;/span&gt;&lt;span style="color: #004a43;"&gt;define&lt;/span&gt;&lt;span style="color: #004a43;"&gt; EXIT_VALUE 4&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #004a43;"&gt;#&lt;/span&gt;&lt;span style="color: #004a43;"&gt;define&lt;/span&gt;&lt;span style="color: #004a43;"&gt; ARRAY_SIZE 5&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #004a43;"&gt;#&lt;/span&gt;&lt;span style="color: #004a43;"&gt;define&lt;/span&gt;&lt;span style="color: #004a43;"&gt; INVALID_VALUE &lt;/span&gt;&lt;span style="color: #808030;"&gt;-&lt;/span&gt;&lt;span style="color: #004a43;"&gt;31&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #004a43;"&gt;#&lt;/span&gt;&lt;span style="color: #004a43;"&gt;include&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #004a43;"&gt;#&lt;/span&gt;&lt;span style="color: #004a43;"&gt;include &lt;/span&gt;&lt;span style="color: maroon;"&gt;"&lt;/span&gt;&lt;span style="color: #40015a;"&gt;utils_os_windows_SystemUtils.h&lt;/span&gt;&lt;span style="color: maroon;"&gt;"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: dimgrey;"&gt;/*&lt;/span&gt;&lt;br /&gt;&lt;span style="color: dimgrey;"&gt;* Class: utils_os_windows_SystemUtils&lt;/span&gt;&lt;br /&gt;&lt;span style="color: dimgrey;"&gt;* Method: createProcess&lt;/span&gt;&lt;br /&gt;&lt;span style="color: dimgrey;"&gt;* Signature: (Ljava/lang/String;Ljava/lang/String;)I&lt;/span&gt;&lt;br /&gt;&lt;span style="color: dimgrey;"&gt;*/&lt;/span&gt;&lt;br /&gt;JNIEXPORT jintArray JNICALL Java_utils_os_windows_SystemUtils_createProcessAndWaitInternal&lt;br /&gt;&lt;span style="color: #808030;"&gt;(&lt;/span&gt;JNIEnv &lt;span style="color: #808030;"&gt;*&lt;/span&gt; env&lt;span style="color: #808030;"&gt;,&lt;/span&gt; jobject obj&lt;span style="color: #808030;"&gt;,&lt;/span&gt; jstring processCommandLine&lt;span style="color: #808030;"&gt;,&lt;/span&gt; jlong millis&lt;span style="color: #808030;"&gt;,&lt;/span&gt; jboolean needTerminate&lt;span style="color: #808030;"&gt;)&lt;/span&gt; &lt;span style="color: purple;"&gt;{&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: dimgrey;"&gt;// hold all info about proces state&lt;/span&gt;&lt;br /&gt;    jint returnCodesArray&lt;span style="color: #808030;"&gt;[&lt;/span&gt;ARRAY_SIZE&lt;span style="color: #808030;"&gt;]&lt;/span&gt; &lt;span style="color: #808030;"&gt;=&lt;/span&gt; &lt;span style="color: purple;"&gt;{&lt;/span&gt;INVALID_VALUE&lt;span style="color: #808030;"&gt;,&lt;/span&gt; INVALID_VALUE&lt;span style="color: #808030;"&gt;,&lt;/span&gt; INVALID_VALUE&lt;span style="color: #808030;"&gt;,&lt;/span&gt; INVALID_VALUE&lt;span style="color: #808030;"&gt;,&lt;/span&gt; INVALID_VALUE&lt;span style="color: purple;"&gt;}&lt;/span&gt;&lt;span style="color: purple;"&gt;;&lt;/span&gt;&lt;br /&gt;    jboolean isCopy&lt;span style="color: purple;"&gt;;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: maroon; font-weight: bold;"&gt;const&lt;/span&gt; jchar &lt;span style="color: #808030;"&gt;*&lt;/span&gt;pCommandLine &lt;span style="color: #808030;"&gt;=&lt;/span&gt; env&lt;span style="color: #808030;"&gt;-&lt;/span&gt;&lt;span style="color: #808030;"&gt;&amp;amp;&lt;/span&gt;gt&lt;span style="color: purple;"&gt;;&lt;/span&gt;GetStringChars&lt;span style="color: #808030;"&gt;(&lt;/span&gt;processCommandLine&lt;span style="color: #808030;"&gt;,&lt;/span&gt; &lt;span style="color: #808030;"&gt;&amp;amp;&lt;/span&gt;amp&lt;span style="color: purple;"&gt;;&lt;/span&gt;isCopy&lt;span style="color: #808030;"&gt;)&lt;/span&gt;&lt;span style="color: purple;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    &lt;span style="color: dimgrey;"&gt;// make a copy of pCommandLine - CreateProcessW modified it...&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #603000;"&gt;size_t&lt;/span&gt; commandLineLength &lt;span style="color: #808030;"&gt;=&lt;/span&gt; wcslen&lt;span style="color: #808030;"&gt;(&lt;/span&gt;&lt;span style="color: #808030;"&gt;(&lt;/span&gt;&lt;span style="color: maroon; font-weight: bold;"&gt;wchar_t&lt;/span&gt; &lt;span style="color: #808030;"&gt;*&lt;/span&gt;&lt;span style="color: #808030;"&gt;)&lt;/span&gt;pCommandLine&lt;span style="color: #808030;"&gt;)&lt;/span&gt; &lt;span style="color: #808030;"&gt;+&lt;/span&gt; &lt;span style="color: #008c00;"&gt;1&lt;/span&gt;&lt;span style="color: purple;"&gt;;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: maroon; font-weight: bold;"&gt;wchar_t&lt;/span&gt; &lt;span style="color: #808030;"&gt;*&lt;/span&gt; muttableCommandLine &lt;span style="color: #808030;"&gt;=&lt;/span&gt; &lt;span style="color: maroon; font-weight: bold;"&gt;new&lt;/span&gt; &lt;span style="color: maroon; font-weight: bold;"&gt;wchar_t&lt;/span&gt;&lt;span style="color: #808030;"&gt;[&lt;/span&gt;commandLineLength&lt;span style="color: #808030;"&gt;]&lt;/span&gt;&lt;span style="color: purple;"&gt;;&lt;/span&gt;&lt;br /&gt;    wcscpy_s&lt;span style="color: #808030;"&gt;(&lt;/span&gt;muttableCommandLine&lt;span style="color: #808030;"&gt;,&lt;/span&gt; commandLineLength&lt;span style="color: #808030;"&gt;,&lt;/span&gt; &lt;span style="color: #808030;"&gt;(&lt;/span&gt;&lt;span style="color: maroon; font-weight: bold;"&gt;wchar_t&lt;/span&gt;&lt;span style="color: #808030;"&gt;*&lt;/span&gt;&lt;span style="color: #808030;"&gt;)&lt;/span&gt;pCommandLine&lt;span style="color: #808030;"&gt;)&lt;/span&gt;&lt;span style="color: purple;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    &lt;span style="color: dimgrey;"&gt;// free unused chars&lt;/span&gt;&lt;br /&gt;    env&lt;span style="color: #808030;"&gt;-&lt;/span&gt;&lt;span style="color: #808030;"&gt;&amp;amp;&lt;/span&gt;gt&lt;span style="color: purple;"&gt;;&lt;/span&gt;ReleaseStringChars&lt;span style="color: #808030;"&gt;(&lt;/span&gt;processCommandLine&lt;span style="color: #808030;"&gt;,&lt;/span&gt; pCommandLine&lt;span style="color: #808030;"&gt;)&lt;/span&gt;&lt;span style="color: purple;"&gt;;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: dimgrey;"&gt;// addionalional structures for CreateProcessW&lt;/span&gt;&lt;br /&gt;    STARTUPINFOW startupInfo&lt;span style="color: purple;"&gt;;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #603000;"&gt;PROCESS_INFORMATION&lt;/span&gt; processInfo&lt;span style="color: purple;"&gt;;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: dimgrey;"&gt;// fill memory with 0&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #400000;"&gt;ZeroMemory&lt;/span&gt;&lt;span style="color: #808030;"&gt;(&lt;/span&gt; &lt;span style="color: #808030;"&gt;&amp;amp;&lt;/span&gt;amp&lt;span style="color: purple;"&gt;;&lt;/span&gt;startupInfo&lt;span style="color: #808030;"&gt;,&lt;/span&gt; &lt;span style="color: maroon; font-weight: bold;"&gt;sizeof&lt;/span&gt;&lt;span style="color: #808030;"&gt;(&lt;/span&gt;startupInfo&lt;span style="color: #808030;"&gt;)&lt;/span&gt; &lt;span style="color: #808030;"&gt;)&lt;/span&gt;&lt;span style="color: purple;"&gt;;&lt;/span&gt;&lt;br /&gt;    startupInfo&lt;span style="color: #808030;"&gt;.&lt;/span&gt;cb &lt;span style="color: #808030;"&gt;=&lt;/span&gt; &lt;span style="color: maroon; font-weight: bold;"&gt;sizeof&lt;/span&gt;&lt;span style="color: #808030;"&gt;(&lt;/span&gt;startupInfo&lt;span style="color: #808030;"&gt;)&lt;/span&gt;&lt;span style="color: purple;"&gt;;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #400000;"&gt;ZeroMemory&lt;/span&gt;&lt;span style="color: #808030;"&gt;(&lt;/span&gt; &lt;span style="color: #808030;"&gt;&amp;amp;&lt;/span&gt;amp&lt;span style="color: purple;"&gt;;&lt;/span&gt;processInfo&lt;span style="color: #808030;"&gt;,&lt;/span&gt; &lt;span style="color: maroon; font-weight: bold;"&gt;sizeof&lt;/span&gt;&lt;span style="color: #808030;"&gt;(&lt;/span&gt;processInfo&lt;span style="color: #808030;"&gt;)&lt;/span&gt; &lt;span style="color: #808030;"&gt;)&lt;/span&gt;&lt;span style="color: purple;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    &lt;span style="color: dimgrey;"&gt;// Start the child process.&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: maroon; font-weight: bold;"&gt;if&lt;/span&gt; &lt;span style="color: #808030;"&gt;(&lt;/span&gt;CreateProcessW&lt;span style="color: #808030;"&gt;(&lt;/span&gt; &lt;span style="color: #7d0045;"&gt;NULL&lt;/span&gt;&lt;span style="color: #808030;"&gt;,&lt;/span&gt; &lt;span style="color: dimgrey;"&gt;// No module name (use command line)&lt;/span&gt;&lt;br /&gt;                muttableCommandLine&lt;span style="color: #808030;"&gt;,&lt;/span&gt; &lt;span style="color: dimgrey;"&gt;// Command line&lt;/span&gt;&lt;br /&gt;                &lt;span style="color: #7d0045;"&gt;NULL&lt;/span&gt;&lt;span style="color: #808030;"&gt;,&lt;/span&gt; &lt;span style="color: dimgrey;"&gt;// Process security attribues&lt;/span&gt;&lt;br /&gt;                &lt;span style="color: #7d0045;"&gt;NULL&lt;/span&gt;&lt;span style="color: #808030;"&gt;,&lt;/span&gt; &lt;span style="color: dimgrey;"&gt;// Thread security attribues&lt;/span&gt;&lt;br /&gt;                FALSE&lt;span style="color: #808030;"&gt;,&lt;/span&gt; &lt;span style="color: dimgrey;"&gt;// Set handle inheritance to FALSE&lt;/span&gt;&lt;br /&gt;                CREATE_NO_WINDOW&lt;span style="color: #808030;"&gt;,&lt;/span&gt; &lt;span style="color: dimgrey;"&gt;// if console program - without console window, else if non-console prog - ignored&lt;/span&gt;&lt;br /&gt;                &lt;span style="color: #7d0045;"&gt;NULL&lt;/span&gt;&lt;span style="color: #808030;"&gt;,&lt;/span&gt; &lt;span style="color: dimgrey;"&gt;// Use parent's environment block&lt;/span&gt;&lt;br /&gt;                &lt;span style="color: #7d0045;"&gt;NULL&lt;/span&gt;&lt;span style="color: #808030;"&gt;,&lt;/span&gt; &lt;span style="color: dimgrey;"&gt;// Use parent's starting directory&lt;/span&gt;&lt;br /&gt;                &lt;span style="color: #808030;"&gt;&amp;amp;&lt;/span&gt;amp&lt;span style="color: purple;"&gt;;&lt;/span&gt;startupInfo&lt;span style="color: #808030;"&gt;,&lt;/span&gt; &lt;span style="color: dimgrey;"&gt;// Pointer to STARTUPINFO structure&lt;/span&gt;&lt;br /&gt;                &lt;span style="color: #808030;"&gt;&amp;amp;&lt;/span&gt;amp&lt;span style="color: purple;"&gt;;&lt;/span&gt;processInfo &lt;span style="color: #808030;"&gt;)&lt;/span&gt; &lt;span style="color: dimgrey;"&gt;// Pointer to PROCESS_INFORMATION structure&lt;/span&gt;&lt;br /&gt;            &lt;span style="color: #808030;"&gt;)&lt;/span&gt; &lt;span style="color: purple;"&gt;{&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: dimgrey;"&gt;// if successfull&lt;/span&gt;&lt;br /&gt;        returnCodesArray&lt;span style="color: #808030;"&gt;[&lt;/span&gt;CREATE_ERROR&lt;span style="color: #808030;"&gt;]&lt;/span&gt; &lt;span style="color: #808030;"&gt;=&lt;/span&gt; SUCCESS&lt;span style="color: purple;"&gt;;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: dimgrey;"&gt;// start wait for time&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: maroon; font-weight: bold;"&gt;if&lt;/span&gt; &lt;span style="color: #808030;"&gt;(&lt;/span&gt;millis &lt;span style="color: #808030;"&gt;&amp;amp;&lt;/span&gt;gt&lt;span style="color: purple;"&gt;;&lt;/span&gt; &lt;span style="color: #008c00;"&gt;0&lt;/span&gt;&lt;span style="color: #808030;"&gt;)&lt;/span&gt; &lt;span style="color: purple;"&gt;{&lt;/span&gt;&lt;br /&gt;            returnCodesArray&lt;span style="color: #808030;"&gt;[&lt;/span&gt;WAIT_ERROR&lt;span style="color: #808030;"&gt;]&lt;/span&gt; &lt;span style="color: #808030;"&gt;=&lt;/span&gt; SUCCESS&lt;span style="color: purple;"&gt;;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color: #603000;"&gt;DWORD&lt;/span&gt; waitRetCode &lt;span style="color: #808030;"&gt;=&lt;/span&gt; &lt;span style="color: #400000;"&gt;WaitForSingleObject&lt;/span&gt;&lt;span style="color: #808030;"&gt;(&lt;/span&gt;processInfo&lt;span style="color: #808030;"&gt;.&lt;/span&gt;hProcess&lt;span style="color: #808030;"&gt;,&lt;/span&gt; &lt;span style="color: #808030;"&gt;(&lt;/span&gt;&lt;span style="color: maroon; font-weight: bold;"&gt;long&lt;/span&gt;&lt;span style="color: #808030;"&gt;)&lt;/span&gt;millis&lt;span style="color: #808030;"&gt;)&lt;/span&gt;&lt;span style="color: purple;"&gt;;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color: maroon; font-weight: bold;"&gt;if&lt;/span&gt; &lt;span style="color: #808030;"&gt;(&lt;/span&gt; waitRetCode &lt;span style="color: #808030;"&gt;=&lt;/span&gt;&lt;span style="color: #808030;"&gt;=&lt;/span&gt; WAIT_FAILED&lt;span style="color: #808030;"&gt;)&lt;/span&gt; &lt;span style="color: purple;"&gt;{&lt;/span&gt;&lt;br /&gt;                &lt;span style="color: dimgrey;"&gt;// we have an error&lt;/span&gt;&lt;br /&gt;                returnCodesArray&lt;span style="color: #808030;"&gt;[&lt;/span&gt;WAIT_ERROR&lt;span style="color: #808030;"&gt;]&lt;/span&gt; &lt;span style="color: #808030;"&gt;=&lt;/span&gt; &lt;span style="color: #400000;"&gt;GetLastError&lt;/span&gt;&lt;span style="color: #808030;"&gt;(&lt;/span&gt;&lt;span style="color: #808030;"&gt;)&lt;/span&gt;&lt;span style="color: purple;"&gt;;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color: purple;"&gt;}&lt;/span&gt; &lt;span style="color: maroon; font-weight: bold;"&gt;else&lt;/span&gt; &lt;span style="color: maroon; font-weight: bold;"&gt;if&lt;/span&gt; &lt;span style="color: #808030;"&gt;(&lt;/span&gt; needTerminate &lt;span style="color: #808030;"&gt;)&lt;/span&gt; &lt;span style="color: purple;"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;                &lt;span style="color: dimgrey;"&gt;// do it atomic&lt;/span&gt;&lt;br /&gt;                &lt;span style="color: #603000;"&gt;CRITICAL_SECTION&lt;/span&gt; criticalSection&lt;span style="color: purple;"&gt;;&lt;/span&gt;&lt;br /&gt;                &lt;span style="color: #400000;"&gt;InitializeCriticalSection&lt;/span&gt;&lt;span style="color: #808030;"&gt;(&lt;/span&gt;&lt;span style="color: #808030;"&gt;&amp;amp;&lt;/span&gt;amp&lt;span style="color: purple;"&gt;;&lt;/span&gt;criticalSection&lt;span style="color: #808030;"&gt;)&lt;/span&gt;&lt;span style="color: purple;"&gt;;&lt;/span&gt;&lt;br /&gt;                &lt;span style="color: #400000;"&gt;EnterCriticalSection&lt;/span&gt;&lt;span style="color: #808030;"&gt;(&lt;/span&gt;&lt;span style="color: #808030;"&gt;&amp;amp;&lt;/span&gt;amp&lt;span style="color: purple;"&gt;;&lt;/span&gt;criticalSection&lt;span style="color: #808030;"&gt;)&lt;/span&gt;&lt;span style="color: purple;"&gt;;&lt;/span&gt;&lt;br /&gt;                &lt;span style="color: dimgrey;"&gt;// first check, if process still alive&lt;/span&gt;&lt;br /&gt;                &lt;span style="color: #603000;"&gt;DWORD&lt;/span&gt; exitCode&lt;span style="color: purple;"&gt;;&lt;/span&gt;&lt;br /&gt;                &lt;span style="color: maroon; font-weight: bold;"&gt;if&lt;/span&gt; &lt;span style="color: #808030;"&gt;(&lt;/span&gt;&lt;span style="color: #400000;"&gt;GetExitCodeProcess&lt;/span&gt;&lt;span style="color: #808030;"&gt;(&lt;/span&gt;processInfo&lt;span style="color: #808030;"&gt;.&lt;/span&gt;hProcess&lt;span style="color: #808030;"&gt;,&lt;/span&gt; &lt;span style="color: #808030;"&gt;&amp;amp;&lt;/span&gt;amp&lt;span style="color: purple;"&gt;;&lt;/span&gt;exitCode&lt;span style="color: #808030;"&gt;)&lt;/span&gt;&lt;span style="color: #808030;"&gt;)&lt;/span&gt; &lt;span style="color: purple;"&gt;{&lt;/span&gt;&lt;br /&gt;                    &lt;span style="color: maroon; font-weight: bold;"&gt;if&lt;/span&gt; &lt;span style="color: #808030;"&gt;(&lt;/span&gt;exitCode &lt;span style="color: #808030;"&gt;=&lt;/span&gt;&lt;span style="color: #808030;"&gt;=&lt;/span&gt; STILL_ACTIVE&lt;span style="color: #808030;"&gt;)&lt;/span&gt; &lt;span style="color: purple;"&gt;{&lt;/span&gt;&lt;br /&gt;                        &lt;span style="color: dimgrey;"&gt;// if true - terminate it&lt;/span&gt;&lt;br /&gt;                        &lt;span style="color: dimgrey;"&gt;// kill process&lt;/span&gt;&lt;br /&gt;                        returnCodesArray&lt;span style="color: #808030;"&gt;[&lt;/span&gt;TERMINATE_ERROR&lt;span style="color: #808030;"&gt;]&lt;/span&gt; &lt;span style="color: #808030;"&gt;=&lt;/span&gt; SUCCESS&lt;span style="color: purple;"&gt;;&lt;/span&gt;&lt;br /&gt;                        &lt;span style="color: maroon; font-weight: bold;"&gt;if&lt;/span&gt; &lt;span style="color: #808030;"&gt;(&lt;/span&gt;&lt;span style="color: #808030;"&gt;!&lt;/span&gt;&lt;span style="color: #400000;"&gt;TerminateProcess&lt;/span&gt;&lt;span style="color: #808030;"&gt;(&lt;/span&gt;processInfo&lt;span style="color: #808030;"&gt;.&lt;/span&gt;hProcess&lt;span style="color: #808030;"&gt;,&lt;/span&gt; &lt;span style="color: #008c00;"&gt;1&lt;/span&gt;&lt;span style="color: #808030;"&gt;)&lt;/span&gt;&lt;span style="color: #808030;"&gt;)&lt;/span&gt; &lt;span style="color: purple;"&gt;{&lt;/span&gt; &lt;span style="color: dimgrey;"&gt;// 1 - because of origin sources has this value&lt;/span&gt;&lt;br /&gt;                            returnCodesArray&lt;span style="color: #808030;"&gt;[&lt;/span&gt;TERMINATE_ERROR&lt;span style="color: #808030;"&gt;]&lt;/span&gt; &lt;span style="color: #808030;"&gt;=&lt;/span&gt; &lt;span style="color: #400000;"&gt;GetLastError&lt;/span&gt;&lt;span style="color: #808030;"&gt;(&lt;/span&gt;&lt;span style="color: #808030;"&gt;)&lt;/span&gt;&lt;span style="color: purple;"&gt;;&lt;/span&gt;&lt;br /&gt;                            returnCodesArray&lt;span style="color: #808030;"&gt;[&lt;/span&gt;EXIT_VALUE&lt;span style="color: #808030;"&gt;]&lt;/span&gt; &lt;span style="color: #808030;"&gt;=&lt;/span&gt; &lt;span style="color: #008c00;"&gt;1&lt;/span&gt;&lt;span style="color: purple;"&gt;;&lt;/span&gt; &lt;span style="color: dimgrey;"&gt;// value from TerminateProcess&lt;/span&gt;&lt;br /&gt;                        &lt;span style="color: purple;"&gt;}&lt;/span&gt;&lt;br /&gt;                    &lt;span style="color: purple;"&gt;}&lt;/span&gt; &lt;span style="color: maroon; font-weight: bold;"&gt;else&lt;/span&gt; &lt;span style="color: purple;"&gt;{&lt;/span&gt;&lt;br /&gt;                        returnCodesArray&lt;span style="color: #808030;"&gt;[&lt;/span&gt;EXIT_VALUE&lt;span style="color: #808030;"&gt;]&lt;/span&gt; &lt;span style="color: #808030;"&gt;=&lt;/span&gt; exitCode&lt;span style="color: purple;"&gt;;&lt;/span&gt;&lt;br /&gt;                    &lt;span style="color: purple;"&gt;}&lt;/span&gt;&lt;br /&gt;                &lt;span style="color: purple;"&gt;}&lt;/span&gt; &lt;span style="color: maroon; font-weight: bold;"&gt;else&lt;/span&gt; &lt;span style="color: purple;"&gt;{&lt;/span&gt;&lt;br /&gt;                    returnCodesArray&lt;span style="color: #808030;"&gt;[&lt;/span&gt;GET_EXIT_CODE_ERROR&lt;span style="color: #808030;"&gt;]&lt;/span&gt; &lt;span style="color: #808030;"&gt;=&lt;/span&gt; &lt;span style="color: #400000;"&gt;GetLastError&lt;/span&gt;&lt;span style="color: #808030;"&gt;(&lt;/span&gt;&lt;span style="color: #808030;"&gt;)&lt;/span&gt;&lt;span style="color: purple;"&gt;;&lt;/span&gt;&lt;br /&gt;                &lt;span style="color: purple;"&gt;}&lt;/span&gt;&lt;br /&gt;                &lt;span style="color: dimgrey;"&gt;// leave criticaval section&lt;/span&gt;&lt;br /&gt;                &lt;span style="color: #400000;"&gt;LeaveCriticalSection&lt;/span&gt;&lt;span style="color: #808030;"&gt;(&lt;/span&gt;&lt;span style="color: #808030;"&gt;&amp;amp;&lt;/span&gt;amp&lt;span style="color: purple;"&gt;;&lt;/span&gt;criticalSection&lt;span style="color: #808030;"&gt;)&lt;/span&gt;&lt;span style="color: purple;"&gt;;&lt;/span&gt;&lt;br /&gt;                &lt;span style="color: #400000;"&gt;DeleteCriticalSection&lt;/span&gt;&lt;span style="color: #808030;"&gt;(&lt;/span&gt;&lt;span style="color: #808030;"&gt;&amp;amp;&lt;/span&gt;amp&lt;span style="color: purple;"&gt;;&lt;/span&gt;criticalSection&lt;span style="color: #808030;"&gt;)&lt;/span&gt;&lt;span style="color: purple;"&gt;;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color: purple;"&gt;}&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: purple;"&gt;}&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: #400000;"&gt;CloseHandle&lt;/span&gt;&lt;span style="color: #808030;"&gt;(&lt;/span&gt;processInfo&lt;span style="color: #808030;"&gt;.&lt;/span&gt;hProcess&lt;span style="color: #808030;"&gt;)&lt;/span&gt;&lt;span style="color: purple;"&gt;;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: #400000;"&gt;CloseHandle&lt;/span&gt;&lt;span style="color: #808030;"&gt;(&lt;/span&gt;processInfo&lt;span style="color: #808030;"&gt;.&lt;/span&gt;hThread&lt;span style="color: #808030;"&gt;)&lt;/span&gt;&lt;span style="color: purple;"&gt;;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: purple;"&gt;}&lt;/span&gt; &lt;span style="color: maroon; font-weight: bold;"&gt;else&lt;/span&gt; &lt;span style="color: purple;"&gt;{&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: dimgrey;"&gt;// if unsuccessfull&lt;/span&gt;&lt;br /&gt;        returnCodesArray&lt;span style="color: #808030;"&gt;[&lt;/span&gt;CREATE_ERROR&lt;span style="color: #808030;"&gt;]&lt;/span&gt; &lt;span style="color: #808030;"&gt;=&lt;/span&gt; &lt;span style="color: #400000;"&gt;GetLastError&lt;/span&gt;&lt;span style="color: #808030;"&gt;(&lt;/span&gt;&lt;span style="color: #808030;"&gt;)&lt;/span&gt;&lt;span style="color: purple;"&gt;;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: purple;"&gt;}&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: dimgrey;"&gt;// clear up...&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: maroon; font-weight: bold;"&gt;delete&lt;/span&gt;&lt;span style="color: #808030;"&gt;[&lt;/span&gt;&lt;span style="color: #808030;"&gt;]&lt;/span&gt; muttableCommandLine&lt;span style="color: purple;"&gt;;&lt;/span&gt;&lt;br /&gt;    muttableCommandLine &lt;span style="color: #808030;"&gt;=&lt;/span&gt; &lt;span style="color: #008c00;"&gt;0&lt;/span&gt;&lt;span style="color: purple;"&gt;;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: dimgrey;"&gt;// obtain new java int array&lt;/span&gt;&lt;br /&gt;    jintArray returnArray &lt;span style="color: #808030;"&gt;=&lt;/span&gt; env&lt;span style="color: #808030;"&gt;-&lt;/span&gt;&lt;span style="color: #808030;"&gt;&amp;amp;&lt;/span&gt;gt&lt;span style="color: purple;"&gt;;&lt;/span&gt;NewIntArray&lt;span style="color: #808030;"&gt;(&lt;/span&gt;ARRAY_SIZE&lt;span style="color: #808030;"&gt;)&lt;/span&gt;&lt;span style="color: purple;"&gt;;&lt;/span&gt;&lt;br /&gt;    env&lt;span style="color: #808030;"&gt;-&lt;/span&gt;&lt;span style="color: #808030;"&gt;&amp;amp;&lt;/span&gt;gt&lt;span style="color: purple;"&gt;;&lt;/span&gt;SetIntArrayRegion&lt;span style="color: #808030;"&gt;(&lt;/span&gt;returnArray&lt;span style="color: #808030;"&gt;,&lt;/span&gt; &lt;span style="color: #008c00;"&gt;0&lt;/span&gt;&lt;span style="color: #808030;"&gt;,&lt;/span&gt; ARRAY_SIZE&lt;span style="color: #808030;"&gt;,&lt;/span&gt; returnCodesArray&lt;span style="color: #808030;"&gt;)&lt;/span&gt;&lt;span style="color: purple;"&gt;;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: maroon; font-weight: bold;"&gt;return&lt;/span&gt; returnArray&lt;span style="color: purple;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: purple;"&gt;}&lt;/span&gt;&lt;/pre&gt;&lt;windows.h&gt;&lt;br /&gt;&lt;/windows.h&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4037616275307752536-8120786503314213465?l=stshadow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stshadow.blogspot.com/feeds/8120786503314213465/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4037616275307752536&amp;postID=8120786503314213465' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4037616275307752536/posts/default/8120786503314213465'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4037616275307752536/posts/default/8120786503314213465'/><link rel='alternate' type='text/html' href='http://stshadow.blogspot.com/2009/03/if-anybody-look-for-fix-for-httpbugs.html' title=''/><author><name>Анатоль</name><uri>http://www.blogger.com/profile/11681497531371690769</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4037616275307752536.post-5012763480684049193</id><published>2009-02-18T11:19:00.002+02:00</published><updated>2009-02-18T11:24:48.786+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='hibernate'/><category scheme='http://www.blogger.com/atom/ns#' term='novice'/><category scheme='http://www.blogger.com/atom/ns#' term='spring'/><category scheme='http://www.blogger.com/atom/ns#' term='struts'/><category scheme='http://www.blogger.com/atom/ns#' term='junit'/><title type='text'>Java, Struts, Hibernate and so on...</title><content type='html'>Усім добрага вечара!&lt;br /&gt;&lt;br /&gt;Кароткія звесткі аб тым, што вам магчыма патрабуецца ў напісанні праектаў у Вейніка.&lt;br /&gt;&lt;br /&gt;Па-першае, гэта Struts ("стратс" (падпоркі))&lt;br /&gt;  -- Генерал: фрэймворк для напісання вебаплікух. Калі хочаце, можаце лічыць гэта нейчым накштал &lt;a href="http://asp.net/" target="_blank"&gt;asp.net&lt;/a&gt;, але, на мой погляд, Struts значна больш&lt;br /&gt;  гібкі і зручны для гэтай справы.&lt;br /&gt;  -- Што сабой уяўляе: набор бібліятэк (тыя, што *.jar). Раю юзаць Struts 2 ( але можна і Struts 1).&lt;br /&gt;  -- Дзе што шукаць:&lt;br /&gt;       сайт праекту &lt;cite&gt;&lt;b&gt;&lt;a href="http://struts/" target="_blank"&gt;http://struts&lt;/a&gt;&lt;/b&gt;.&lt;a href="http://apache.org/" target="_blank"&gt;apache.org/&lt;/a&gt;&lt;/cite&gt;  , &lt;a href="http://struts.ru/" target="_blank"&gt;http://struts.ru&lt;/a&gt; - там нават нешта па-расейску ёсць.&lt;br /&gt;       кнігі, якія ёсць у мяне:&lt;br /&gt;         Struts in action 2003, Manning - нічо так, але пра Struts 1&lt;br /&gt;         Apress - Beginning Apache Struts - From Novice to Professional - што за яна, ужо ня памятаю :(&lt;br /&gt;         Apress - Practical Apache Struts2 Web 2.0 Projects - па назве - мабыць пра Struts 2&lt;br /&gt;         O_Reilly_-_Jakarta_Struts_&lt;div id=":5t" class="ArwC7c ckChnd"&gt;&lt;wbr&gt;Cookbook_-_2005_-_Bill_&lt;wbr&gt;Siggelkow - хаця і 2005, але яшчэ Struts 1.х&lt;br /&gt;         O'Reilly - Programming Jakarta Struts - 2002 - таксама Struts 1.1&lt;br /&gt;         WILEY_Mastering_Jakarta_&lt;wbr&gt;Struts - вось тут менш літар ;)&lt;br /&gt;         Wiley - Jakarta Struts For Dummies - а тут ёсць малюнкі.&lt;br /&gt;        &lt;br /&gt;         Як відно, па Struts 2 амаль нічога. Ёсць нядрэнны бук Struts 2 in action , Manning, але гэта праз Віталега, бо з маёй сеткі&lt;br /&gt;         гэтая бібліятэка не даступна.&lt;br /&gt;        &lt;br /&gt;Па-другое, Tiles&lt;br /&gt;  -- Генерал: плюшка для Стратс, каб працаваць з шаблонамі (зноў жа, нешта накшталт masterpages, але больш гібкае і моцнае)&lt;br /&gt;  -- Што сабой уяўляе: здэцца, адна бібліятэка, ды мо якіх пару таглібаў&lt;br /&gt;  -- Дзе што шукаць&lt;br /&gt;        сайт праекту: &lt;a href="http://tiles.apache.org/" target="_blank"&gt;http://tiles.apache.org/&lt;/a&gt;&lt;br /&gt;        кнігі, якія ёсць у мяне:&lt;br /&gt;            tilesAdvancedFeatures&lt;br /&gt;            таксама апісваецца амаль ва усіх кнігах са Struts&lt;br /&gt;&lt;br /&gt;Па-трэцяе, Hibernate&lt;br /&gt;  -- Генерал: фрэймворк для працы з базамі дадзеных. Яшчэ такія фрэймворкі клікаюць ORM здэцца - нешта накшталт LNQ у рашотцы. Але LNQ у параўнанні&lt;br /&gt;  з Hibernate - кітайская грамата, ды яшчэ у кнізе на японскім ;)&lt;br /&gt;  -- Што сабой уяўляе: набор бібліятэк. Раю юзаць трэцюю версію - сьвежачок зпампаваў на днях - можаце брать.&lt;br /&gt;  -- Дзе што шукаць:&lt;br /&gt;       сайт праекту &lt;a href="http://www.hibernate.org/" target="_blank"&gt;http://www.hibernate.org/&lt;/a&gt;&lt;br /&gt;       кнігі, якія ёсць у мяне:&lt;br /&gt;          Hibernate in action, Manning - нядрэнны бук&lt;br /&gt;         &lt;br /&gt;Па-чацвёртае, Spring&lt;br /&gt;  -- Генерал: ммм... нават ня ведаю, як яго назваць... Нешта накшталт кантэйнеру аплікацыі. Але тут лепш паспрабаваць, чым размаўляць.&lt;br /&gt;  Можа выкарыстоўвацца ня толькі для вебу, але і для дэсктопу ці яшчэ чаго. Аналагу з шарпу нават не магу прыдумаць. Spring дазваляе легка&lt;br /&gt;  сабраць у адну кучу Struts, Hibernate і іншае. Рэч здораўская, але і трохі мутнаватая. Ня раю яе тым, хто піша просценькую вебаплікуху, але&lt;br /&gt;  тым, хто мае трохі часу - раю - разбярэціся адзін раз - зможаце потым лёгка яе юзаць.&lt;br /&gt;  -- Што сабой уяўляе: тое ж самае :)&lt;br /&gt;  -- Дзе што шукаць&lt;br /&gt;        сайт праекту &lt;a href="http://www.springsource.org/" target="_blank"&gt;http://www.springsource.org/&lt;/a&gt;&lt;br /&gt;        кнігі, якія ёсць у мяне&lt;br /&gt;            Spring in action, Manning&lt;br /&gt;            Spring Live - добра апісана, як юзаць Spring+Hibernate+Srtuts&lt;br /&gt;&lt;br /&gt;         &lt;br /&gt;Па-пятае, JUnit (special for you, Sveta &amp;amp; Ira :) )&lt;br /&gt;  -- Генерал: фрэймворк для тэсту чаго заўгодна. Ня здзіўлюся, калі ім можна і com-порт з падрубленым "уцюгом" патэсціць. Лёгкі ў разуменні -&lt;br /&gt;  нам прыперла - за два дні разабраліся :)&lt;br /&gt;  -- Што сабой уяўляе: ага, набор *.jar. У модных IDE накштал NetBeans, Eclipse J2EE Suite, IDEA ёсць звычайна у камплекце.&lt;br /&gt;  -- Дзе шукаць:&lt;br /&gt;      сайт праекту &lt;a href="http://www.junit.org/" target="_blank"&gt;http://www.junit.org/&lt;/a&gt;&lt;br /&gt;      добрая кніга Junit in action, Manning, на жаль, у мяне няма :(&lt;br /&gt;     &lt;br /&gt;  У якасці плюшкі, калі патрэбуюцца мок-аб'екты - юзайте easymock - тут google вам у дапамогу.&lt;br /&gt; &lt;br /&gt;Па-шостае, JavaFX&lt;br /&gt;  -- Калi ведаеце, што такое AdobeFlex or MS SilverLight, то гэта падобна на іх.&lt;br /&gt;  -- Дзе шукаць:&lt;br /&gt;     тут адпраўная кропка - &lt;a href="http://java.sun.com/" target="_blank"&gt;java.sun.com&lt;/a&gt;, потым &lt;a href="http://google.com/" target="_blank"&gt;google.com&lt;/a&gt; &lt;a href="http://javafx.com/" target="_blank"&gt;http://javafx.com/&lt;/a&gt;&lt;br /&gt;     Здэцца, нешта было ў бібліятэцы па JavaFX, але тут ужо Віталега прасіце ;)&lt;br /&gt;&lt;br /&gt;І апошняе: тут некаторыя (ня будзем паказваць пальцам на Парфеяўца) пыталі, ці ёсць Struts/Hibernate/String etc у Eclipse ці яшчэ ў якой IDE. Адкажу адразу так:&lt;br /&gt; а ці ёсць у віндзе фільм "Перавозчык 3"? Адказ просты - калі запішаце - будзе, калі не - не будзе :) Eclipse у мінімальнай пастауцы займае добра калі 30 метраў, і канешне, там нічога няма,&lt;br /&gt;ну а калі паставіть Eclipse WTP ды яшчэ панавей, то там ня толькі Struts/Hibernate/String... будзе, а і яшчэ шмат чаго. А калі ня будзе - усё проста - пампуем з сайту праекту бібліятэкі  і юзаем.&lt;br /&gt;Так нават лепш - больш зразумела, што ды куды.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4037616275307752536-5012763480684049193?l=stshadow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stshadow.blogspot.com/feeds/5012763480684049193/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4037616275307752536&amp;postID=5012763480684049193' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4037616275307752536/posts/default/5012763480684049193'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4037616275307752536/posts/default/5012763480684049193'/><link rel='alternate' type='text/html' href='http://stshadow.blogspot.com/2009/02/java-struts-hibernate-and-so-on.html' title='Java, Struts, Hibernate and so on...'/><author><name>Анатоль</name><uri>http://www.blogger.com/profile/11681497531371690769</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
