Re: Interpreter matematickych vyrazu
Muj puvodni dotaz byl, na neco rychleho. Groovy jsme zkousel (a interpreter jsem inicializoval jako private static final), ale je to brutalne pomale. Predkompilace neni mozna :-( Mozna jeste zkusim ten beanshell. Tom Richard Malaschitz napsal(a): Ja myslim, ze presne na tento druh problemov boli vymyslene skriptovacie jazyky. BeanShell sa da naucit za 20 minut a JARko ma 143k. Groovy asi nebude vacsi. Rychlost tychto jazykov je celkom dobra, ale zrejme ste pri kazdom zavolani inicializovali interpreter, co je dost pomala operacia (aspon v BeanShelli). Pre dosiahnutie maximalneho vykonu, sa pri starte aplikacie mozu vsetky scripty, ktore sa budu pouzivat skompilovat do native java.
OT:Licence MySQL (bylo Java MySQL UTF8)
Petr Fejfar napsal(a): MySQL neni pro komercni ucely zdarma, viz http://www.mysql.com/company/legal/licensing/ A ja upresnuji: Okolo licence MySQL je neuveritelny chaos, posilam nazor kolegy ktery se s tim zabyval: Nekomercni licence MySQL je GPL. Z hlediska bezneho pouziti v Jave (aplikace + JDBC) zalezi na vykladu dynamickeho linkovani. Vetsinovy nazor je, ze dynamicky link pres konfigurovatelny(!) datovy zdroj JDBC jiz boura GPL vazbu. Pokud se k tomuto priklonite, pak plati nasledujici: Mam-li aplikaci, ktera komunikuje pres JDBC a je mozne nastavit komunikaci pres jiny JDBC s jinou databazi (v konfiguraci), pak Vas produkt nemusi byt pod GPL a to ani kdyz bude pouzivat u uzivatele ve finale MySQL JDBC a MySQL server. Podstatne je, ze uzivatel muze zdroj zvolit. Pokud by tomu tak nebylo a pouziti dynamickeho linku by tu vazbu nebouralo, melo by to docela zajimave dusledky pro vsechny komercni produkty, pouzivajici konfigurovatelny JDBC (ODBC, ADO,...). Viz. http://www.ofb.biz/modules.php?name=Newsfile=articlesid=325 Kdysi jsem posilal takovyto priklad na autory MySQL a odpoved zadna... Leos
Re: OT:Licence MySQL (bylo Java MySQL UTF8)
A to jeste neni nic proti tomu, co chce Stalman v nove verzi. Blbecek. Ono se mu to strasne dobre keca z pozice cloveka, ktery si sedi na teplem miste na univerzite a diktuje studentum nove a nove verze emacsu. Pokud by nastala situace ze by clovek musel pri komercnim nasazeni platit za mysql, asi by si to kazdy rozmyslel. Bohuzel pod stejnou licenci je ted maxdb, drive sapdb :( Pet URBAN Leos napsal(a): Petr Fejfar napsal(a): MySQL neni pro komercni ucely zdarma, viz http://www.mysql.com/company/legal/licensing/ A ja upresnuji: Okolo licence MySQL je neuveritelny chaos, posilam nazor kolegy ktery se s tim zabyval: Nekomercni licence MySQL je GPL. Z hlediska bezneho pouziti v Jave (aplikace + JDBC) zalezi na vykladu dynamickeho linkovani. Vetsinovy nazor je, ze dynamicky link pres konfigurovatelny(!) datovy zdroj JDBC jiz boura GPL vazbu. Pokud se k tomuto priklonite, pak plati nasledujici: Mam-li aplikaci, ktera komunikuje pres JDBC a je mozne nastavit komunikaci pres jiny JDBC s jinou databazi (v konfiguraci), pak Vas produkt nemusi byt pod GPL a to ani kdyz bude pouzivat u uzivatele ve finale MySQL JDBC a MySQL server. Podstatne je, ze uzivatel muze zdroj zvolit. Pokud by tomu tak nebylo a pouziti dynamickeho linku by tu vazbu nebouralo, melo by to docela zajimave dusledky pro vsechny komercni produkty, pouzivajici konfigurovatelny JDBC (ODBC, ADO,...). Viz. http://www.ofb.biz/modules.php?name=Newsfile=articlesid=325 Kdysi jsem posilal takovyto priklad na autory MySQL a odpoved zadna... Leos
Re: OT:Licence MySQL (bylo Java MySQL UTF8)
Oto Buchta: A to , ze Linus Torvalds prohlasil, ze GPL se vztahuje pouze na vsechny kernely z Linuxu odvozene (a tedy ani na komercni moduly do Linuxu, viz drivery pro NVIDIA cipy, Adaptec RAIDy ci vmware), je ve sve podstate pravne irelevantni. Autor si tezko muze predefinovat vyklad obecne pouzivane licence :-( Coz mimo jine plati i pro JBoss... Dobry den, v tomto sa velmi mylite. Samozrejme ze si moze definovat dodatocne pravidla k vseobecnej licencii, ved ide o jeho program ! A kazdy kto prispieva k jeho programu predsa musi uznat jeho pravidla. Licencie nie su len tak vo vzduchoprazdne, to, ze ci niekto porusuje GPL licenciu alebo nie v prvom rade posudzuje vzdy autor kodu a nie tvorca licencie. Tvorca licencie moze maximalne tak poukazat, ze v tomto danom pripade podla jeho vykladu doslo k poruseniu licencie, ale postupovat proti narusitelovi licencie musi autor. -- Frantisek Augusztin [EMAIL PROTECTED]
Re: OT:Licence MySQL (bylo Java MySQL UTF8)
Tato mailova adresa bude deaktivovana. Nejpozdeji od 1. ledna 2006 pouzivejte prosim nasledujici mailove adresy: privatni [EMAIL PROTECTED] pripadne [EMAIL PROTECTED] This email address will be deactivated. Please use following email addresses instead of this one latest since 1st Jan 2006: private [EMAIL PROTECTED] alternatively [EMAIL PROTECTED]
Re: Interpreter matematickych vyrazu
Tomas Hubalek wrote: Muj puvodni dotaz byl, na neco rychleho. Groovy jsme zkousel (a interpreter jsem inicializoval jako private static final), ale je to brutalne pomale. Predkompilace neni mozna :-( Groovy se normalne kompiluje do .class, takze prekompilace je nejen mozna ale i nutna. Jina vec je, ze pokud je vyraz pokaždé novy, tak dochazi ke kompilaci a to prilis rychle neni. -- Kamil podlesh Podlesak
Re: Java - kódování češtiny v názve ch souborů a adresářů
Ing. Radek Žuja wrote: Dobrý den. Mám následující problém. Potřebuji otevřít v JAVA aplikaci soubor jehož cesta je uložena v databázi a je tam uložena v codepage 1250. Bohužel jsou v ní i háčky a čárky. Na serveru, kde běží tako aplikace na default code page English. Při zavolání kódu File _f = new File(cesta); mi to padne na FileNotFoundExecption. Pokud na serveru nastavím defaultCodePage na czech pak jede vše bez problému. Nicméně takhle to nastavit nemůžu. Proc ne? Můžete mi někdo prosím poradit co s tím Nastavit spravne locale (codepage) pro spoustenou aplikaci java.exe (tedy neco jako LC_ALL=cs_CZ java classname, to funguje dobre). Jak to udelat pod Windows netusim, chtelo by to nejakeho Windows guru. Radek Žuja
práce se souborem v kodovani ISO8859-2
Title: práce se souborem v kodovani ISO8859-2 Dobry den, muzete mne někdo prosim poradit, jakym zpusobem mam rici programu v jave, ze vstupni soubor, ze ktereho ctu je v kodovani ISO8859-2? Když nastavim System.setProperty(file.encoding,ISO-8859-2); tak mi System.out.println(fileReader.getEncoding()); stále vraci cp1250. Predem dekuji a s pranim pekneho dne Roman Mosnicka
Re: Konstruktory
Ja jsem si to pro sebe vyresil tak, ze validaci delam az po volani super(). A to jen u tech parametru, ktere vyuzivam jeste jinak, nez jen tim, ze je predam volani super() - u nich je zodpovednost za validaci na predkovi. Pravda, je v tom skryta mirna neefektivita, ale nechci prece optimalizovat tridy na situace, kdy z jejich konstruktoru litaji vyjimky, ze... Kdyz jsem se vyrovnal s tim, ze validaci budu delat az po volani super(), tak jsem uz nikdy nic jineho pred volanim super() v konstruktoru delat nepotreboval. Vsechny pripady, kdy to na to vypadalo, se po lepsim rozmysleni ukazaly jako suboptimalne navrzene. Honza Dvorak Goo GGooo napsal: Ahoj vsichni, uz jsem se pri svem seznamovani s Javou stacil dozvedet ze volani konstruktoru nadrazene tridy (tedy super(...)) musi byt v novem konstruktoru hned jako prvni prikaz. Netusite nekdo jaky to ma duvod? Ted jsem chtel vytvorit konstruktor ktery by pred zavolanim sveho super() vykonal validaci parametru, ale tvrde jsem narazil takze musim pouzit nehezky workaround. Vrta mi hlavou jake tohle omezeni muze mit duvod...? Dik Goo
RE: práce se souborem v kodovani ISO8859-2
Title: práce se souborem v kodovani ISO8859-2 A co treba zkusit: File file = new File("cesta"); FileInputStream fis = new FileInputStream(file); InputStreamReder isr = new InputStreamReader(fis, "ISO8859_2"); dle knihy P.Herouta Java graficke uzivatelske rozhrani a cestina. Petr Zeman From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Mošnička RomanSent: Monday, November 21, 2005 1:02 PMTo: JavaSubject: práce se souborem v kodovani ISO8859-2 Dobry den, muzete mne někdo prosim poradit, jakym zpusobem mam rici programu v jave, ze vstupni soubor, ze ktereho ctu je v kodovani ISO8859-2? Když nastavim System.setProperty("file.encoding","ISO-8859-2"); tak mi System.out.println(fileReader.getEncoding()); stále vraci cp1250. Predem dekuji a s pranim pekneho dne Roman Mosnicka
RE: práce se souborem v kodovani ISO8859-2
Title: práce se souborem v kodovani ISO8859-2 Jeste doplnuji odkaz, kde naleznete spravne nazvy jednotlivych kodovani pro Javu. Petr Zeman From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Zeman PetrSent: Monday, November 21, 2005 1:12 PMTo: JavaSubject: RE: práce se souborem v kodovani ISO8859-2 A co treba zkusit: File file = new File("cesta"); FileInputStream fis = new FileInputStream(file); InputStreamReder isr = new InputStreamReader(fis, "ISO8859_2"); dle knihy P.Herouta Java graficke uzivatelske rozhrani a cestina. Petr Zeman From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Mošnička RomanSent: Monday, November 21, 2005 1:02 PMTo: JavaSubject: práce se souborem v kodovani ISO8859-2 Dobry den, muzete mne někdo prosim poradit, jakym zpusobem mam rici programu v jave, ze vstupni soubor, ze ktereho ctu je v kodovani ISO8859-2? Když nastavim System.setProperty("file.encoding","ISO-8859-2"); tak mi System.out.println(fileReader.getEncoding()); stále vraci cp1250. Predem dekuji a s pranim pekneho dne Roman Mosnicka
RE: práce se souborem v kodovani ISO8859-2
Title: práce se souborem v kodovani ISO8859-2 No, pre javu je to presnejšie na http://java.sun.com/j2se/1.5.0/docs/guide/intl/encoding.doc.html Rastislav "Bedo" Siekel From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Zeman PetrSent: 21. novembra 2005 13:17To: JavaSubject: RE: práce se souborem v kodovani ISO8859-2 Omluva, ted je tam ten odkaz http://www.devsphere.com/mapping/docs/guide/encodings.html From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Zeman PetrSent: Monday, November 21, 2005 1:15 PMTo: JavaSubject: RE: práce se souborem v kodovani ISO8859-2 Jeste doplnuji odkaz, kde naleznete spravne nazvy jednotlivych kodovani pro Javu. Petr Zeman From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Zeman PetrSent: Monday, November 21, 2005 1:12 PMTo: JavaSubject: RE: práce se souborem v kodovani ISO8859-2 A co treba zkusit: File file = new File("cesta"); FileInputStream fis = new FileInputStream(file); InputStreamReder isr = new InputStreamReader(fis, "ISO8859_2"); dle knihy P.Herouta Java graficke uzivatelske rozhrani a cestina. Petr Zeman From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Mošnička RomanSent: Monday, November 21, 2005 1:02 PMTo: JavaSubject: práce se souborem v kodovani ISO8859-2 Dobry den, muzete mne někdo prosim poradit, jakym zpusobem mam rici programu v jave, ze vstupni soubor, ze ktereho ctu je v kodovani ISO8859-2? Když nastavim System.setProperty("file.encoding","ISO-8859-2"); tak mi System.out.println(fileReader.getEncoding()); stále vraci cp1250. Predem dekuji a s pranim pekneho dne Roman Mosnicka
RE: Java - kódování češtiny v ná zvech souborů a adresářů
A nestačilo by: java.exe -Dfile.encoding=windows-1250 aplikacia kedysi som používal tieto properties, aby mi išla aplikácia bez ohľadu na OS locale: - file.encoding=windows-1250 - user.country=SK - user.language=sk Rastislav Bedo Siekel -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Kamil Podlesak Sent: 21. novembra 2005 12:38 To: Java Subject: Re: Java - kódování češtiny v názvech souborů a adresářů Ing. Radek Žuja wrote: Dobrý den. Mám následující problém. Potřebuji otevřít v JAVA aplikaci soubor jehož cesta je uložena v databázi a je tam uložena v codepage 1250. Bohužel jsou v ní i háčky a čárky. Na serveru, kde běží tako aplikace na default code page English. Při zavolání kódu File _f = new File(cesta); mi to padne na FileNotFoundExecption. Pokud na serveru nastavím defaultCodePage na czech pak jede vše bez problému. Nicméně takhle to nastavit nemůžu. Proc ne? Můžete mi někdo prosím poradit co s tím Nastavit spravne locale (codepage) pro spoustenou aplikaci java.exe (tedy neco jako LC_ALL=cs_CZ java classname, to funguje dobre). Jak to udelat pod Windows netusim, chtelo by to nejakeho Windows guru. Radek Žuja
RE: práce se souborem v kodovani ISO8859-2
Title: práce se souborem v kodovani ISO8859-2 dekuji vsem za rady a jeste jednou pekny den rm
Re: Java - kódování češtiny v názve ch souborů a adresářů
Rastislav Siekel wrote: A nestačilo by: java.exe -Dfile.encoding=windows-1250 aplikacia kedysi som používal tieto properties, aby mi išla aplikácia bez ohľadu na OS locale: - file.encoding=windows-1250 - user.country=SK - user.language=sk Ano, pokud to bude fungovat. Já jsem to v minulosti několikrát zkoušel a nefungovalo to (linux JDK), evidentně se nejdřív nastaví interní kódování a podle něj pak property, nikoliv naopak :-( Může se to však lišit podle verze a platformy JDK. -- Kamil podlesh Podlešák
Re: OT:Licence MySQL (bylo Java MySQL UTF8)
On Monday 21 of November 2005 10:56, František Augusztin wrote: Oto Buchta: A to , ze Linus Torvalds prohlasil, ze GPL se vztahuje pouze na vsechny kernely z Linuxu odvozene (a tedy ani na komercni moduly do Linuxu, viz drivery pro NVIDIA cipy, Adaptec RAIDy ci vmware), je ve sve podstate pravne irelevantni. Autor si tezko muze predefinovat vyklad obecne pouzivane licence :-( Coz mimo jine plati i pro JBoss... Dobry den, v tomto sa velmi mylite. Samozrejme ze si moze definovat dodatocne pravidla k vseobecnej licencii, ved ide o jeho program ! A kazdy kto prispieva k jeho programu predsa musi uznat jeho pravidla. Licencie nie su len tak vo vzduchoprazdne, to, ze ci niekto porusuje GPL licenciu alebo nie v prvom rade posudzuje vzdy autor kodu a nie tvorca licencie. Tvorca licencie moze maximalne tak poukazat, ze v tomto danom pripade podla jeho vykladu doslo k poruseniu licencie, ale postupovat proti narusitelovi licencie musi autor. Zasadni spor je v tom, zda tvrzeni prispevatelem lklm konference podepsane jako Linus Torvalds ma stejnou pravni vahu jako tvrzeni uvedene v soubrou LICENCE prilozenem v distribuovanem baliku. Navic tento vyklad je o nejakych osm let mladsi nez text teto licence. Je to tedy totez, jako kdyz podepisete papir na zavazny odber zbozi pod pokutou milion korun pri odstoupeni, ale jedine, co se dopredu dozvite, je, ze cena bude akcni. No a pak vam nekdo za deset obyc rohliku nauctuje misto 10Kc 100Kc s oduvodnenim, ze sice je napsano na fakture 10 rohliku, celkem cena 10Kc, ale ze podle noveho vykladu pana Sefa to celkem znamena prumerna cena za kus ;-) Problem, ze pri vzniku GPL nebyl schopny pravnik, poneseme jeste par desitek let jako tezke bremeno. Ona ani GPL 2 neni uplne v poradku a stejne tak EPL (European Public Licence nebo jak se to jmenuje), nebot zase pocita jenom s binarkama :-( Jak se zda, tak jak nterpretovany kod, tak na prilozene obrazky, proste autori obecne pouzitelnych licenci kaslou. Navic Linus Torvalds ma autorska prava pouze na TM Linux a na kod, ktery sam vytvoril. Aby zmenil licenci, museli by souhlasit vsichni autori kodu aktualne dostupneho v kernelu, coz je vzhledem k tomu, ze nekolik je jich jiz po smrti, velky orisek (reseni pravnich vztahu dedicu autorskych prav na copyleft se tusim jeste nikde na svete neresilo ;-) ) -- Oto 'tapik' Buchta, [EMAIL PROTECTED] Senior Engineer, Systinet Corp, http://www.systinet.com
Re: OT:Licence MySQL (bylo Java MySQL UTF8)
Oto Buchta: Zasadni spor je v tom, zda tvrzeni prispevatelem lklm konference podepsane jako Linus Torvalds ma stejnou pravni vahu jako tvrzeni uvedene v soubrou LICENCE prilozenem v distribuovanem baliku. Uvod suboru COPYING z kernelu : NOTE! This copyright does *not* cover user programs that use kernel services by normal system calls - this is merely considered normal use of the kernel, and does *not* fall under the heading of derived work. Also note that the GPL below is copyrighted by the Free Software Foundation, but the instance of code that it refers to (the Linux kernel) is copyrighted by me and others who actually wrote it. Also note that the only valid version of the GPL as far as the kernel is concerned is _this_ particular version of the license (ie v2, not v2.2 or v3.x or whatever), unless explicitly otherwise stated. Linus Torvalds GNU GENERAL PUBLIC LICENSE Version 2, June 1991 -- Frantisek Augusztin [EMAIL PROTECTED]
RE: Konstruktory
Dobry den, hledejte spise Factory Method pattern :) VN -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Radovana Straube Sent: Tuesday, November 22, 2005 12:08 AM To: Java Subject: Re: Konstruktory Zdravim, to co hladate je Factory pattern. Priklady a popis najdete napr. na tychto strankach: - http://home.earthlink.net/~huston2/dp/patterns.html - http://www.javacamp.org/designPattern/ Radovana Straube
Jeste patterny [WAS: Konstruktory]
Jeste k tem patternum, Patterny nejsou striktne vazany na javu, jedna se spis o jakesi standardni konstrukce pouzivane v objektove orientovanem programovani, stejne dobre pujdou pouzit i v C++, C# nebo Pythonu. Je to prostredek jak snaze napsat dobry kod (casto podobne problemy uz nekdo vyresil lepe, nez kdy budu schopen ja) i k usnadneni komunikace (je snazsi a pochopitelnejsi rict kolegovi udelej z toho singleton nez tuhle tridu napis tak, aby existovala jedina instance a jeji vytvorei bylo v rezii tridy same. Pro studium patternu bych Vam doporucil zejmena knihu Head First Design Patterns, o niz se tu nedavno diskutovalo, ale je jich vic, napriklad predmailnikem zminene internetove odkazy. Co se tovarni metody tyce, je to aternativa k verejnemu konstruktoru, ktera je nekdy (ne vzdy) vhodnejsi. Jeji vyhodou je zejmena lepsi kontrola nad vytvarenim objektu. Jedna se o to, ze trida poskytne public static metodu, ktera vraci tuto tridu (nebo ji implementovany interface) a skryje (protected nebo private) konstruktor. Tedy misto class MyClass() { public MyClass() { ... } } udelam class MyClass() { private MyClass() { ... } public static MyClass getInstance() { MyClass myClass = new MyClass(); ... return myClass; } } Jake to ma vyhody? - nemusim vzdy vracet novy objekt: u tridy Boolean nestojim o to, abych mel 1000 ruznych instanci hodnoty TRUE, takze neposkytnu konstruktor public Boolean(String str), ale poskytnu tovarni metodu public Boolean getValue(String str) a vratim jednu z jiz hotovych hodnot Boolean.TRUE nebo Boolean.FALSE - mohu si provest pre-inicializaci, jak se mi zlibi; v ramci tovarni metody mohu novy objekt vytvorit az tehdy, kdy se mi to hodi: class MyClass { // skryty konstruktor private MyClass(Param p) { ... } // verejna tovarni metoda public static MyClass getInstance(Param p) { preinicializace(p); MyClass retVal = new MyClass(p); postinicializace(p); return retVal; } ... } - konstruktor se dle syntaxe jmenuje stejne jako trida a tudiz jeho jmeno nemuze nest informaci o jeho funkci, coz nekdy muze byt na skodu; tovarni metoda muze informovat uz svym jmenem o sve funkci: napr. BigInteger nabizi konstruktory BigInteger(int bitLength, int certainty, Random rnd) a BigInteger(int numBits, Random rnd) ktere vytvori BigInteger, ktery je pravdepodobne prvocislo, prip. nahodne cislo. Tovarni metody createProbablePrime a createRandom by byly vhodnejsi - v kodu by bylo jasnejsi, co delaji; srovnejte: ... BigInteger pPrime = new BigInteger(55, 10, new Random()); ... a ... BigInteger pPrime = BigInteger.createProbablePrime(55, 10, new Random()); ... - tovarni metoda muze vratit i instanci podtridy, pokud pro to je duvod; konstruktor vzdy vraci jen instanci te tridy, ve ktere je napsan: class URL { public URL(String str) { ... } } vzdy vrati jen objekt typu URL. class URL { public static URL getURL(String str) { if (zacina(str, file:)) { return new FileURL(str); } else if (zacina(str, http:)) { return new WebURL(str); } ... } } muze vratit instanci ruznych podtrid tridy URL. Samozrejme to muze mit i nevyhody, napriklad se tim komplikuje az znemoznuje dedicnost. Kazdopadne jeste jednou doporucim knihu J.Blocha Java Efektivne, viz tez http://www.linuxzone.cz/index.phtml?ids=33idc=475 kde zrovna factory method je take rozebirana. Dobrou noc VN -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Goo GGooo Sent: Monday, November 21, 2005 11:51 PM To: Java Subject: Re: Konstruktory Diky vsem za vysvetleni! Ted si jenom nekde nastudovat co je to tovarni metoda ;-) Jak se tomu rika anglicky? Mam k ruce jen knizku Java in a nutshell, kde jsem zadnou zminku o factory method nenasel. Goo