<HTML xmlns="http://www.w3.org/TR/REC-html40" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w="urn:schemas-microsoft-com:office:word"><head><META content="text/html; charset=utf-8" http-equiv="Content-Type">
<meta content="text/html; charset=utf-8" http-equiv=Content-Type><meta content="Microsoft Word 12 (filtered medium)" name=Generator><style><!--
/* Font Definitions */
@font-face
        {font-family:"MS Gothic";
        panose-1:2 11 6 9 7 2 5 8 2 4;}
@font-face
        {font-family:MingLiU;
        panose-1:2 2 5 9 0 0 0 0 0 0;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:"\@MingLiU";
        panose-1:2 2 5 9 0 0 0 0 0 0;}
@font-face
        {font-family:"\@MS Gothic";
        panose-1:2 11 6 9 7 2 5 8 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
span.EmailStyle18
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.EmailStyle19
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 70.85pt 70.85pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><BODY>
<DIV><div class=WordSection1><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Hadd fűzzem hozzá: keep it simple, stupid. Hidd el, megtérül. Egy tipikus ipari alkalmazás kifejlesztése x emberidő, utána az üzemeltetése, karbantartása y emberidő. Általában y &gt;&gt; x (ipszilon sokkal nagyobb mint x). Szóval ha p időt megtakarítasz a fejlesztés során, de emiatt alkalmandént q idővel tovább tart a karbantartás, akkor összességében mégiscsak veszteséget gyártasz (n*q &gt;&gt; p) – persze az nem jelenik meg a szoftver kezdeti költségében, meg nekem ugye jól (többlet bevételként) jöhet később, de mérnökként emlékszem valami fogadalomra hogy a usert nem baltázom át (kicsit talán másképp volt megfogalmazva). De nem is biztos, hogy később tudatában leszel annak, hogy ilyen gondok vannak a kódban, ezért a becsléseid rendre alulbecsültek lesznek, ami pedig abban a fázisban is nettó veszteség neked (és nem az ügyfélnek).<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Ha meg még ez sincs, hanem egy álprobléma miatt a fejlesztés során többletidő befektetése árán gyártasz extra karbantartási időt igénylő megoldásokat, akkor pedig már minden szinten veszítesz. Mint ahogy jelenleg pont ezt érzem fennforogni.<o:p></o:p></span></p><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><b><span style='font-size:9.0pt;font-family:"Arial","sans-serif";color:#999999'>István Ketler<br></span></b><span style='font-size:9.0pt;font-family:"Arial","sans-serif";color:#999999'>Team Leader&nbsp;</span><span style='color:#1F497D'><o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span style='font-size:8.0pt;font-family:"Arial","sans-serif";color:#999999'>Lufthansa Systems Hungaria Kft. <br>Development Center Pest <br>- Team &quot;Schedule &amp; Revenue Management&quot;<br>- Team &quot;Business Intelligence &amp; Database Solutions&quot;<br>Neumann János u. 1/e<br>1117 Budapest<br>Hungary <o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span style='font-size:8.0pt;font-family:"Arial","sans-serif";color:#999999'>Tel: +36 1 887-2815 <br>Fax: +36 1 887-2977<br>Mobile: +36 30 600-4936 </span><span style='color:#1F497D'><o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span style='font-size:8.0pt;font-family:"Arial","sans-serif";color:#999999'>Room: Infopark E, Room LH1-31 </span><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:8.0pt;font-family:"Arial","sans-serif";color:#999999'>e-mail: <a href="mailto:istvan.ketler@lhsystems.com">istvan.ketler@lhsystems.com</a> <br>Internet: <a href="http://www.lhsystems.hu/">www.LHsystems.hu</a></span><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p></o:p></span></p></div><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><div></div></div></DIV>
<DIV>
<P CLASS="MsoNormal" STYLE="MARGIN: 0cm 0cm 0pt"></P>
<P CLASS="MsoNormal" STYLE="MARGIN: 0cm 0cm 0pt"></P>
<P CLASS="MsoNormal" STYLE="MARGIN: 0cm 0cm 0pt">&nbsp;</P>
<P CLASS="MsoNormal" STYLE="MARGIN: 0cm 0cm 0pt"><SPAN STYLE="FONT-SIZE: 8pt; COLOR: gray; FONT-FAMILY: Arial">Sitz der Gesellschaft / Corporate Headquarters: </SPAN><SPAN LANG="EN-GB" STYLE="FONT-SIZE: 8pt; COLOR: gray; FONT-FAMILY: Arial; mso-ansi-language: EN-GB">Lufthansa Systems Hungaria Kft, Budapest, Fövarosi Birosag 01-09-463417<BR></SPAN><SPAN STYLE="FONT-SIZE: 8pt; COLOR: gray; FONT-FAMILY: Arial">Geschaeftsfuehrung / Management Board: Monika Houck</SPAN></P>
<P CLASS="MsoNormal" STYLE="MARGIN: 0cm 0cm 0pt"><BR></P>
<P CLASS="MsoNormal" STYLE="MARGIN: 0cm 0cm 0pt"><div class=WordSection1><div><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=MsoNormal><b><span lang=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span lang=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> javalist-bounces@lists.javaforum.hu [mailto:javalist-bounces@lists.javaforum.hu] <b>On Behalf Of </b>istvan.ketler@lhsystems.com<br><b>Sent:</b> Wednesday, January 04, 2012 8:08 AM<br><b>To:</b> javalist@lists.javaforum.hu<br><b>Subject:</b> Re: [Javalist] 'Pattern'<o:p></o:p></span></p></div></div><p class=MsoNormal><o:p>&nbsp;</o:p></p><div><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Továbbra is tartom, hogy értelmetlen és felesleges egy ilyen query preprocessor (többet ér a szigorúan betartott formázási policy), de ha már így akarod és attól félsz hogy string belsejében lehet változó-szerű pattern, akkor miért nem a patternt cseréled mondjuk :-:név formára? Ilyen aztán végképp nincs a string belsejében ugye... De az egésznek akkor van értelme, ha a „:név = érték” is szerepel valahol, szóval lesz elöl egy mintád, utána meg a név-érték párok listája (gondolom) – szóval sima mintaillesztésnél itt azért több munkát érzek a háttérben; végig kell menni a query-n, és szigorú sorrendben megkeresni a helyettesítendő változókat, majd megkeresni a név-érték listában a vonatkozó változót, és valahogy odaálmodni a megfelelő értéket. Ugye ezek típusosak, szóval ha tényleg ezt csinálod, akkor azért van itt háttérmunka. Mindez azért, mert egyszer valamikor valaki majd beszúrhat egy kérdőjelet úgy, hogy felborul miatta a paraméterezés (gondolom az sql utasításodat mindenféle helyekről szeded össze, ami véleményem szerint hibás programozási gyakorlat). Ennél szebb lenne, ha nem mindenféle kilencedik mélységű metódusból kapnál sql darabokat, amiket valahol egyszer csak összefűzöl (rossz esetben akár több helyen is összefűzögetve ezeket), hanem lennének olyan (akár static) metódusaid, amelyek megfelelően felparaméterezve maguk állítják elő a query-t ott helyben.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Mindenesetre nem nagyon szeretném azt a kódot később karbantartani, amit ilyen preprocessorokon zargatnak végig. Szerintem csináltál magadnak egy nem létező problémát – a query-k későbbi módosítása szerintem annyira azért nem gyakori, hiszen sokszor inkább a séma módosítása vonzza maga után, mintsem egy hirtelen új igény vagy restriction bevezetése.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Persze Te jobban ismered a feladatot, és simán lehet hogy igazad van, csak ennyi infóból jelenleg nekem kételyeim vannak ezzel kapcsolatban.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Üdv,<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Iván<o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><b><span style='font-size:9.0pt;font-family:"Arial","sans-serif";color:#999999'>István Ketler<br></span></b><span style='font-size:9.0pt;font-family:"Arial","sans-serif";color:#999999'>Team Leader&nbsp;</span><span style='color:#1F497D'><o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span style='font-size:8.0pt;font-family:"Arial","sans-serif";color:#999999'>Lufthansa Systems Hungaria Kft. <br>Development Center Pest <br>- Team &quot;Schedule &amp; Revenue Management&quot;<br>- Team &quot;Business Intelligence &amp; Database Solutions&quot;<br>Neumann János u. 1/e<br>1117 Budapest<br>Hungary <o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span style='font-size:8.0pt;font-family:"Arial","sans-serif";color:#999999'>Tel: +36 1 887-2815 <br>Fax: +36 1 887-2977<br>Mobile: +36 30 600-4936 </span><span style='color:#1F497D'><o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span style='font-size:8.0pt;font-family:"Arial","sans-serif";color:#999999'>Room: Infopark E, Room LH1-31 </span><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:8.0pt;font-family:"Arial","sans-serif";color:#999999'>e-mail: <a href="mailto:istvan.ketler@lhsystems.com">istvan.ketler@lhsystems.com</a> <br>Internet: <a href="http://www.lhsystems.hu/">www.LHsystems.hu</a></span><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p></div><div><p class=MsoNormal>&nbsp;<o:p></o:p></p><p class=MsoNormal><span style='font-size:8.0pt;font-family:"Arial","sans-serif";color:gray'>Sitz der Gesellschaft / Corporate Headquarters: </span><span lang=EN-GB style='font-size:8.0pt;font-family:"Arial","sans-serif";color:gray'>Lufthansa Systems Hungaria Kft, Budapest, Fövarosi Birosag 01-09-463417<br></span><span style='font-size:8.0pt;font-family:"Arial","sans-serif";color:gray'>Geschaeftsfuehrung / Management Board: Monika Houck</span><o:p></o:p></p><p class=MsoNormal><o:p>&nbsp;</o:p></p><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=MsoNormal><b><span lang=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span lang=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> javalist-bounces@lists.javaforum.hu [mailto:javalist-bounces@lists.javaforum.hu] <b>On Behalf Of </b>Gábor Garami<br><b>Sent:</b> Tuesday, January 03, 2012 7:28 PM<br><b>To:</b> Java lista<br><b>Subject:</b> Re: [Javalist] 'Pattern'<o:p></o:p></span></p></div><p class=MsoNormal><o:p>&nbsp;</o:p></p><p>Bocs, hogy belepof, de a feladatra teljesen jo a regex, csak a feladatfelvetes bena volt.<o:p></o:p></p><p>A kigyujtesre a regex: (:[a-z0-9])<o:p></o:p></p><p>Az idezojelek kozti reszeket meg siman uritheted.<o:p></o:p></p><p>Bar megmondom oszinten, ilyen string ertelmes sql queryben nem fordul elo, idezojelek kozott sem. Mivel preprocessben hasznalod fel a regexet, igy ilyenkor meg nincs untrusted user input, utana meg mar mindegy. Csak magadat kell korlatoznod, hogy ne akarj olyat irni, hogy SELECT * FROM valami WHERE ':bla' = :bla. IMHO ez igy kb. sosem fordul elo.<o:p></o:p></p><p>A tokenizalas jo otlet, a regexszel kigyujtott talalatokat vegig lehet keresgelni.<o:p></o:p></p><p>Ezt a levelet telefonr&#968737;dt᫠fel ez<span style='font-family:MingLiU'>鲴</span> esetenk<span style='font-family:"MS Gothic"'>鮴</span> <span style='font-family:"MS Gothic"'>髥</span>zethib᫡t tartalmazhat.<o:p></o:p></p><p>Garami G᢯r<br>E-mail: <a href="mailto:gabor.garami@hron.me">gabor.garami@hron.me</a><br>Web: <a href="http://hron.me">http://hron.me</a><br>Skype: hron84<br>MSN: <a href="mailto:hrgy@vipmail.hu">hrgy@vipmail.hu</a><o:p></o:p></p><div><p class=MsoNormal>2012.01.03. 18:11, &quot;Tam᳠Magyar&quot; &lt;<a href="mailto:magyusz@gmail.com">magyusz@gmail.com</a>&gt; ezt &#56500;a:<o:p></o:p></p><p class=MsoNormal>Nem tudom, hogy erre ez a legjobb megoldᳬ de StreamTokenizer helyett<br>ajᮬom ezt:<br><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Scanner.html" target="_blank">http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Scanner.html</a><br>ɮ mᲠsikerrel haszn᬴am.<br><br>Magyusz<br><br>2012/1/3 Suller Andras &lt;<a href="mailto:suller.andras@gmail.com">suller.andras@gmail.com</a>&gt;:<br>&gt; 2012/1/3 Keresztes Jozsef &lt;<a href="mailto:jkeresztes@vati.hu">jkeresztes@vati.hu</a>&gt;:<br>&gt;&gt; Sziasztok !<br>&gt;&gt;<br>&gt;&gt; Egy sql stringen bell keresek egy mᳩk stringet, a Matcher <span style='font-family:MingLiU'>鳠</span>Pattern osztᬹok seg&#56627;<span style='font-family:MingLiU'>駩</span>vel,<br>&gt;&gt; egyszers&#56627;k a dolgot, csak a &quot;:&quot; karaktert keressk:<br>&gt;&gt;<br>&gt;&gt; Matcher matcher = Pattern.compile(&quot;:&quot;).matcher(sqlString);<br>&gt;&gt;<br>&gt;&gt; A probl<span style='font-family:"MS Gothic"'>魡</span> azzal van hogy csak azokat a &quot;:&quot; karaktereket szeretn<span style='font-family:MingLiU'>魠</span>megkeresni az sql stringben ami nem aposztr&#945131; k&#57003;&#56756;t van p<span style='font-family:MingLiU'>鬤</span>ᵬ:<br>&gt;&gt;<br>&gt;&gt; SELECT 'ez nem'':kell' FROM valami WHERE id = :id and ':' = 'x'<br>&gt;&gt;<br>&gt;&gt; Vagyis itt a 2. kett&#56719;&#56367;nt lenne csak talᬡt a t&#56906;&#56489; nem.<br>&gt;&gt; Valaki foglalkozott mᲠilyen keres<span style='font-family:"MS Gothic"'>鳩</span> minta meg&#56481;sᶡl ?<br>&gt;&gt; ɮ egyel&#56714;&#56672;nem tudom elk<span style='font-family:"MS Gothic"'>鰺</span>elni...<br>&gt;<br>&gt; Regen hasznaltam mar, de azt hiszem a StreamTokenizer az, ami kezeli<br>&gt; ezt a problemat. Marmint hogy az '...' szovegreszt egy tokenkent adja<br>&gt; vissza, igy meguszod a regularis kifejezest.<br>&gt;<br>&gt; Andras<br>&gt; _______________________________________________<br>&gt; Javalist mailing list<br>&gt; <a href="mailto:Javalist@lists.javaforum.hu">Javalist@lists.javaforum.hu</a><br>&gt; <a href="http://lists.javaforum.hu/mailman/listinfo/javalist" target="_blank">http://lists.javaforum.hu/mailman/listinfo/javalist</a><br>_______________________________________________<br>Javalist mailing list<br><a href="mailto:Javalist@lists.javaforum.hu">Javalist@lists.javaforum.hu</a><br><a href="http://lists.javaforum.hu/mailman/listinfo/javalist" target="_blank">http://lists.javaforum.hu/mailman/listinfo/javalist</a><o:p></o:p></p></div></div></div></P></DIV></BODY></HTML>