Internet Info, s.r.o. Lupa Měšec Podnikatel Root Zdroják DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Názory k článku
Podpora skriptovacích jazyků v JDK6 a OpenJDK6

Pavel Tišnovský aura:98
14. 4. 2011 0:03 Nový

Zdrojove soubory k dnesnimu clanku

celé vlákno
mif
mif (neregistrovaný) ---.chassco.swan.sk
14. 4. 2011 1:18 Nový

Jython debugger

celé vlákno

Nevie niekto o nejakom plugine do eclipse s podporou debugovania jython scriptou? Java scripty funguju ok, kedze java podporu to ma ale na jython som nic slusne nenasiel :/

Pavol Šimo
14. 4. 2011 9:41 Nový

Date

celé vlákno

Demoštruje sa návratová hodnota skriptu new java.util.Date() - čo to ale vôbec je? Volanie javovského kódu z javascriptu?

Zaujímavé by to bolo, keby fungoval prevod návratovej hodnoty v prípade javascriptového new Date(). Výsledkom je totiž iba sun.org.mozilla­.javascript.in­ternal.Native­Date@1e893df

Pavel Tišnovský aura:98
14. 4. 2011 12:17 Nový

Re: Date

celé vlákno

Ano, v JavaScriptovem kodu je mozne vytvaret javovske objekty, bud zpusobem naznacenym v demonstracnim prikladu, nebo je nutne na zacatku pomoci "funkce" importPackage() naimportovat prislusny balicek (skutecne se ze syntaktickeho hlediska jedna o JavaScriptovou funkci, ne o specialni konstrukci tak, jak to je v Jave).

To, zda new Date() vraci date, zavisi na pouzitem skriptovacim enginu, ale bylo by pekne, kdyby tech mapovani bylo vic.

vikee
vikee (neregistrovaný) 217.67.18.---
14. 4. 2011 10:27 Nový

Ma script pristup k java objektom?

celé vlákno

Ma script pristup k java objektom, ako napriklad Velocity?

Pavel Tišnovský aura:98
14. 4. 2011 12:25 Nový

Re: Ma script pristup k java objektom?

celé vlákno

Myslite, zda skript muze vytvaret plnohodnotne Javovske objekty, nebo zda muze pristupuvat k instancim beziciho programu? V tom druhem pripade je to trosku pres ruku, hlavne kvuli bezpecnosti (ale kdyz se objekt preda pres Bindings nebo jako parametr funkci, neni s tim problem).

alefo
alefo (neregistrovaný) ---.antik.sk
14. 4. 2011 13:32 Nový

Re: Ma script pristup k java objektom?

celé vlákno

Velocity tiez nevie vytvarat instancie objektov, prakticky vie len pristupovat k objektom a metodam.

vikee
vikee (neregistrovaný) 217.67.18.---
14. 4. 2011 13:38 Nový

Re: Ma script pristup k java objektom?

celé vlákno

Ano, a presne to by sa mi zislo a velocity ma nahradnika :)

Pavel Tišnovský aura:98
14. 4. 2011 13:54 Nový

Re: Ma script pristup k java objektom?

celé vlákno

Java objekty se daji ze skriptu (pri pouziti JSR 223) vytvaret a predavat do Javy, taky se da pomoci ScriptEngine.put() predat libovolny objekt s prirazenym klicem (String), to si ukazeme priste.

Volani libovolnych objektu ze skriptu (mysleno nepredane objekty) neni povoleno, aby script-kiddies meli trosku ztizenou praci :-)

alefO
alefO (neregistrovaný) ---.antik.sk
14. 4. 2011 22:24 Nový

Re: Ma script pristup k java objektom?

celé vlákno

Potom to znamena, ze to v Java skriptovani funguje rovnako ako vo Velocity.

Akeho nahradnika mate na mysli? Velocity som pouzival v diplomke, ale potom som zistil, ze Freemarker je v niektorych ohladoch lepsi, krajsia syntax a podobne (i ked Velocity odvtedy vstalo z mrtvych a zmenilo sa).

Ono realne je otazka, v akom pripade chcete vytvarat instancie objektov v skripte -- mal som konkretnu situaciu, ked som chcel skriptovat v XWiki (tam je povolene skriptovanie v Groovy a Velocity, ale v obmedzenych pripadoch len to druhe) a chcel som sa vyhnut vytvaraniu tried.

Myslim, ze snaha instanciovat objekty v sablonovom stroji je podozriva, kedze sa vam miesaju vrstvy.

vikee
vikee (neregistrovaný) 217.67.18.---
14. 4. 2011 13:37 Nový

Re: Ma script pristup k java objektom?

celé vlákno

Ano, mal som na mysli ten druhy sposob. Cez parametre by to aj mohlo ist, vdaka.

Pavel Tišnovský aura:98
14. 4. 2011 13:50 Nový

Re: Ma script pristup k java objektom?

celé vlákno

Jen je zapotrebi dat si pozor na to, ktera metoda objektu se ve skutecnosti zavola a to kvuli tomu, ze nektere verze Rhina spatne rozeznavaji napriklad Integer a Double (vsechna cisla berou jako Double):

function accessJavaObject(object) {
    object.overloaded(new java.util.Date());
    object.overloaded('Hello world');
    object.overloaded(42);
    object.overloaded(1/3.0);
};

V pripade, ze predany objekt ma napriklad metody overloaded(Date), overloaded(Integer) a overloaded(Double).

pinpo
pinpo (neregistrovaný) 194.48.84.---
14. 4. 2011 11:05 Nový

mame to tu uz

celé vlákno

tak po dlhsom case som zistil (robim na inej casti aplikacie), ze migraciu dat (mapovanie) mame urobene prave v javascripte
ten skript sa este dokonca generuje z xsd schem
nechcel som verit, ze taketo veci v jave "standardne" pracuju

musa
musa (neregistrovaný) 193.29.76.---
14. 4. 2011 12:11 Nový

Nechapu

celé vlákno

ze presto, ze ma Java oproti jinym jazykum/techno­logoiim konvence formatovani zdrojovych kodu http://www.oracle.com/technetwork/java/codeconvtoc-136057.html tak na to kaslete a formatujete jak se Vam libi.

Fujtajbl.

Pavel Tišnovský aura:98
14. 4. 2011 12:18 Nový

Re: Nechapu

celé vlákno

V cem konkretne je problem?

musa
musa (neregistrovaný) 193.29.76.---
14. 4. 2011 12:42 Nový

Re: Nechapu

celé vlákno

Tak jen letmym pohledem uvodni zavorka bloku patri na stejny radek jako statement tedy:

try {
        this.scriptEngine.eval(stringReader);
} catch (ScriptException e) {
        e.printStackTrace();
} finally {
        stringReader.close();
}

a ne

try
{
    this.scriptEngine.eval(stringReader);
}
catch (ScriptException e)
{
    e.printStackTrace();
}
finally
{
    stringReader.close();
}

Pak nechapu zalomeni za prirazenim:

final String script =
    "1.5/2;";

Vzdy me prepkvapi, kdyz vidim vsemozne ruzne formatovani (vetsinou pochazejici z C/C++) i u nas ve firme, kde vsichni pouzivame Eclipse, ktery ma vychozi formatovani "Java Conventions" a jednoduchym "Ctrl+Shift+F" zformatuje vybrany blok textu nebo cely soubor. Nehlede na to, ze kod ktery sam doplnuje nebo napovida (try nasledovano Ctrl + mezera napr.) je formatovan dle konvenci. Schvalne na Vase zdrojove kody postvete formatovac v Eclipse (nebo jiny, prepodkladam jine IDE delaji neco podoneho) a uvidite v cem je "problem" :-).

Chapu, ze ve svych projektech se clovek temito konvencemi ridit nemusi (nebo na projektu kde si sef urci jinak) ale tady bych cekal opak.

Pavel Tišnovský aura:98
14. 4. 2011 12:57 Nový

Re: Nechapu

celé vlákno

Jiste, moje Eclipse to formatuje tak, jak je to uvedene v clanku a mel jsem pro to duvod - hlavni je ten, ze Root.cz ma - nevim proc, to je otazka na designery CSSek - vsechny clanky vysazene do relativne uzkych sloupcu, takze je lepsi formatovani "na vysku" nez "na sirku".

Lidi ze Sunu, kteri sesmolili tu specifikaci, meli opacny problem - nacpat co nejvice ukecaneho Javovskeho kodu na monitory postavene na sirku, proto vymysleli tu normu, na kterou odkazujete (a kterou Snoracle ne presne dodrzuje, viz napriklad zdrojaky OpenJDK).

Btw vy pouzivate odsazeni na tab nebo to je skutecne osm mezer? (ono to neni z prispevku upraveneho redakcnim systemem moc poznat)

musa
musa (neregistrovaný) 193.29.76.---
14. 4. 2011 13:30 Nový

Re: Nechapu

celé vlákno

Nemyslim, ze presunutim uvodnich zavorek bloku na druhou radku usetrite nejake misto do sirky. (spis tipuji na zvyk z C/C++ ala Allman - http://en.wikipedia.org/wiki/Indent_style)

Navic pokud jde o sirku, tam ja sam mam upraveny vychozi formatovac na 160 znaku, protoze vychozich 80 s ohledem na terminaly dnes nema smysl. Proc jste jen neupravil "Maximum line width" na pozadovany pocet znaku v zalozce "Line Wrapping" a nenechal zbytek na formatovaci? Napr. metoda v textu "testInvokeFun­ctionWithPara­meters" ma 100 znaku na sirku, neni duvod kratky try catch blok takhle zlamat.

Vim, ze zdrojove kody Javy se tim na mnoha mistech neridi (je to porad jen o lidech), to ale neni duvod to delat take.

Jinak ja pouzivam tab, ale jelikoz v komtentarich se tab pouzivat neda, odmezeroval sem to (Copy Paste asi 8 mezer).

Pavel Tišnovský aura:98
14. 4. 2011 14:37 Nový

Re: Nechapu

celé vlákno

Urcite, porad se presunuju mezi C/C++ a Javou, ta schizofrenie se nekde musi projevit :-) Ale treba pri praci na IcedTea a OpenJDK je vyzadovano urcite formatovani, to se snazim dodrzovat (prepnutim stylu v Eclipse).

musa
musa (neregistrovaný) 193.29.76.---
14. 4. 2011 15:02 Nový

Re: Nechapu

celé vlákno

No ono se to lehce tipovalo kdyz jsem kdysi davno cetl Vase OpenGL clanky :-).

Jinak jde mi hlavne o priklad ktery davate treba zacinajicim Javistum, aby nam to pak nepochytili a jeste se nam na takove clanky neodvolavali :-). To je jako kdyz doaleluja lidem vysvetluju, ze mistni rikaj Rigrak a ne Rigrace a pak si tam nakej moula z Horni Dolni da ceduli "Nejlepsi pivo v Rigracich" a hadejte se pak :-). Priklady zktratka tahnou, ty psane tuplem.

Pavel Tišnovský aura:98
14. 4. 2011 16:57 Nový

Re: Nechapu

celé vlákno

jeje, to bylo davno ;-)

Mozna ten clanek oznacime jako odstrasujici priklad, jak se to nema delat, ale pro praxi je IMHO dobre nasadit Checkstyle (+ bych urcite pridal Findbugs) a to bud primo na proceduru commit, coz ale nekdy nejde, nebo treba do Hudsonu.

Je to sice buzerace (a kolegove Vas budou proklinat :-), ale pro vetsi projekty asi schudne reseni.

Zasílat nově přidané příspěvky e-mailem