Nehany itteni hozzaszolasban talalkoztam olyan felhangokkal, hogy ugyan azt a megoldast javaban implementalva jobb penzert lehet eladni.
Ez tenyleg igaz ?
Valoban jobb bevetelekre szamithat az ember, ha Javaban dolgozik, meg ha ez mas szempontokbol nem is lenne indokolt ?
- 8754 megtekintés
Hozzászólások
igen. a java superior, szerver oldalon mindent visz.
- A hozzászóláshoz be kell jelentkezni
memóriát, procit biztosan :)))
- A hozzászóláshoz be kell jelentkezni
ugy birom mikor dilettansok osztjak az eszt. ertesz hozza?
- A hozzászóláshoz be kell jelentkezni
annyira, hogy lássam az erőforrás felhasználását, annyira biztosan.
de ettől függetlenül, elég megnézni a specifikációkat, hogy lásd, nem takarékosság volt a cél. adatbázison jdbc réteg, azon rowset, azon dataprovider (ha csak woodstockot nézed), másik irányból hibernate, jpa, mindenféle varázsszavak, minden xml-ben megy, mert a jáva fanok atombombánál kisebbet még szúnyogra sem bírnak dobni... nézz meg egy glassfish server.log-ot, ha az nem szószátyár, akkor mi az? Az a kisebbik, hogy kis terhelésű szerveren is secperc alatt eltűnik 4-5 giga diszk a logok miatt, de mire megtalálod benne, hogy mi baja volt...
mindenre van szabvány, mire átlátod, nem csak a hardver procit és memóriát, de a szoftver procit is kisámfázod...
nem akarok az előnyeiről vitatkozni, nyilván vannak olyanok, de a proci meg a memória felhasználás biztosan nincs közöttük.
én meg azt bírom, amikor valakinek annyi az érve, hogy mer úgy van, PONT.
- A hozzászóláshoz be kell jelentkezni
Nőjj fel :)
- A hozzászóláshoz be kell jelentkezni
En meg azt imadom, amikor valaki elkezd egy teruletrol sommas velemenyeket mondani, holott nem is biztos, hogy azon a kornyeken dolgozik, es/vagy hogy tenyleg melyen ismeri az illeto teruletet.
1) Ma mar majdnem minden kommunikacio XML alapu. Ami nem, az JSON alapu. Pont. En is utalom az XML-t butykolni, de pl. egy perl kodot sokkal jobban utalok piszkalni.
2) GF server.log? Na ne rohogtess, az sokszor meg tul szukszavu is. En debugoltam mar orakat, hogy mi a francert nem indul el a szerver. Raadasul tudok nagyon sok bobeszedubb appot mondani, ahol 4G logterulet olyan, mintha nem is lenne.
3) Mindenre van szabvany: akkor kezdenek el aggodni, ha a vilag a szabvanytalansag fele menne el. A C/C++ vilagbol ugy hianyzik mar egy kicsivel nagyobb egysegesseg, mint egy falat kenyer. Raadasul a Java egy szabad nyelv: nem kotelezo mindent szabvanyosan csinalni, leimplementalhatsz a vilagon mindent magadnak - csak azutan gyozd karbantartani is.
4) Eroforras: erre nem tudok mit mondani. Nyilvan aki komolyabb enterprise dologba kezd bele, az nem egy P4 512 RAM 40G HDD trioval fog nekivagni. A mai hardverek, kivaltkepp a mai szerverhardverek pedig rohogve elbirjak egy EE app terheleset. Nem gondolnam, hogy ha webszervert kell az embernek csinalni, akkor belepo szintu hardverben kezd el gondolkodni.
Egyebkent, mint mindent, ezt is tervezni kell, es optimalizalni is kell. Az a Java kod, ami kesz allapotaban is irrealisat fogyaszt, az... optimalizalatlan. Ezen felul a mai memoriaarak mellett mar ne kezdjunk el pont a memorian garasoskodni. Foleg annak fenyeben, hogy bizonyos oprendszerek alaphangon harapnak egy fel giga ramot indulaskepp, plusz extrem prociigenyei is vannak.
5) meg a logokra egy kicsit visszaterve: amennyire tudom, eleg jol allithato, hogy hol mennyi log termelodjon. Ha az alkalmazas oldalan ez nem allithato - elnezest, de ezert nem a Java a hibas, a lehetoseg ugyanis megvan. Produktiv kornyezetben egyebkent sem biztos, hogy development szintu logolast kell tartani.
6) Nyilvan nem csak annyi az erv, hogy mert ugy van. De en azt tapasztaltam, hogy egy eleve tamado attituddel indulo vitaban a fo csapasirany ugyis egymas utlegelese lesz, es ebbol hihetetlen nehez ertelmes kommunikaciot kialakitani. En sem szeretem NagyZ attitudjet, de ezt nem vetitem ra az altala kepviselt teruletre, reszben azert, mert magam is kedvelem a Java-t, reszben pedig azert, mert e tekintetben NagyZ-nek semmi koze a Java-hoz, o maximum egy undok fejleszto, aki veletlenul a Java-t valasztotta.
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
lehet, hogy te veletlen valasztasz szakteruletet, nyelvet, etc, en nem ;)
- A hozzászóláshoz be kell jelentkezni
Azert kommunikaciora a nagyok kitalaltak mar okosabb dolgokat is, pl. protobuf vagy Thrift. Miert kene a gepek kozotti kommunikacionak ember altal olvashatonak lennie, foleg teljesitmenyintenziv helyen? Baromsag is lenne.
Bovebben:
http://code.google.com/p/protobuf/
es
http://incubator.apache.org/thrift/
(a Thrift annak ellenere, hogy Apache Incubator projekt, a Facebook sajat fejlesztese)
- A hozzászóláshoz be kell jelentkezni
Mert igy barmely ponton kikerulhet akar user interface-re is a benne tarolt adat egy egyszeru XSLT transzformacioval. Vagy meg az se kell.
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
az xml az egyik legszarabb dolog, ami a vilaggal tortenhetett.
- A hozzászóláshoz be kell jelentkezni
Nem rossz az, csak tudni kell hasznalni. Sokak szamara viszont ultimate megoldast jelent (XML DB azert LOL). Strukturalt dokumentumok tarolasara tokeletes, de nagyteljesitmenyu adatmozgatasra vagy adattarolasra, foleg ott, ahol csak gepek dolgozzak fel az adatokat (azaz nem kell szem ele kerulnie SOHA), agyuval verebre kategoria.
- A hozzászóláshoz be kell jelentkezni
Na most kapsz tolem egy +1-et. :)
----------------------
while (!sleep) sheep++;
- A hozzászóláshoz be kell jelentkezni
++
a masik meg a java :D)
- A hozzászóláshoz be kell jelentkezni
hát most kivételesen nagyon jót mondtál.
+1
--
"SzAM-7 -es, tudjátok amivel a Mirage-okat szokták lelőni" - Robi.
- A hozzászóláshoz be kell jelentkezni
Az XSLT transzformacio csinal nekem szep formokat is mondjuk egy WPF-es vagy Swinges feluleten? Nem csak webbol all a vilag, es ezt milyen sokan elfelejtik.
- A hozzászóláshoz be kell jelentkezni
Windows téren is a XAML felé mozdulnak el...
Szóval akár.
----------------
Lvl86 Troll
- A hozzászóláshoz be kell jelentkezni
Igen, mert az egy elore elkeszitett schema felhasznaloi felulet leirasara...a kiiindulo gondolat az volt, hogy de jo az XML-ben tarolt adat (tetszoleges elore definialt schemaval), mert azt egy XSLT transzformacioval ki lehet adni az UI-ra a usernek. Tudsz olyan XSLT transzformaciot, ami megcsinalhja az alabbit: van egy adatfile-om egy adott schemahoz. Ebbol transzformal nekem egy olyan XAML filet, ami tartalmazza az adatokat, valamint a mukodeseket (tarolas, validacio) leiro fuggvenyeket, majd meg is jeleniti a felhasznaloi feluleten? A XAMl meg mindig csak az UI layout leirasara szolgal, a mukodesre nem.
- A hozzászóláshoz be kell jelentkezni
azt fordítják.
--
"SzAM-7 -es, tudjátok amivel a Mirage-okat szokták lelőni" - Robi.
- A hozzászóláshoz be kell jelentkezni
Mintha lenne valami, ami kepes XML-bol Swing formot csinalni. Csak olvastam rola, a neve nem remlik.
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
Igen, specialisan definialt XML dokumentuk alapjan tud algoritmikusan UI-t epiteni (ez nem nagy kunszt, ilyet csinaltam en is SWT-hez: sajat magam altal definialt XML-bol epitettem dialog boxokat a beallitasi lehetosegek tarolasara plugin-rendszeru kornyezetben), de te arrol beszeltel, hogy van valahol egy adat-xml-ed es azt szepen XSLT-vel ki tudod tolni a user fele..az XSLT ki fogja neked talalni, hogy oda, ahol ket beallitasi lehetoseg van, a checkbox a jo megoldas vagy a ketelemu lista? Az XSLT ki fogja neked talalni, hogy az adatod alapjan mik a valid es nem valid szemantikai tartalmak? Erre ugyanugy kod kell. Vagy kitalalja nekem, hogy bizony ehhez az XML-hez ilyen sugoszovegek kellenek? Ha elindulunk abba az iranyba, hogy ezt megcsinaljuk, oda jutunk, hogy lesz XML az adat szamara, meg lesz XML a felhasznaloi felulet szamara..mint ahogy most is van az XHTML template + XML adatforras eseten. Csakhogy az XHTML felhasznaloi feluleti elemei nagyon szegenyesek a rendes dekstop GUI-khoz kepest. Persze lehetne Javascripttel okositani mindent (sajat widgetek irasa), de attol az meg nem lesz nativ UI-elem, legjobb pelda a ComboBox, azaz a szerkesztheto lenyilo lista. Ilyen XHTML-ben nincs. Vagy a tabok. Vagy a splitpanek, vagy a fa-widgetek, vagy a progressbarok. En szeretem, ha a kinezet beleillik a platform altal adott nativ kinezetben . Ezert tudok hanyni a sok Swinges nem nativ, csak emulalt nativ GUI-tol, meg a fontbeallitasokat se veszi at az OS-tol, rendes hinting sincs. Akkor mar inkabb SWT, az nativ.
- A hozzászóláshoz be kell jelentkezni
Adott esetben az XSLT-t eleg jol fel lehet am okositani, illetve a statikus dolgokat bele lehet tenni kulon XML-be is, de nem is ez a lenyeg.
Nyilvan nem mindent kell XML-ben tarolni, csak amit lehet, es aminek ertelme is van. En sem ertek egyet az XMLDB-kkel, de ugyanakkor nem is mondom azt, hogy az XML a legrosszabb, ami a vilaggal tortenhetett. Igenis megvan a maga helye a vilagban, es a letjogosultsaga. Peldaul, a Qt forditasi fajljai XML-ek, es hihetetlen konnyebbseget jelent, hogy tudok kulon forditoi kommenteket is belefuzni; ugyanakkor ezt PO fajllal nem nagyon lehet eljatszani. Aztan ott az XML-RPC, a SOAP... ezek mind olyan jo dolgok, amik nelkul szegenyebb lenne a vilag szerintem.
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
nem latom technikai akadalyat, hogy mind az xml-rpc, mind a soap json folott menjen:
http://en.wikipedia.org/wiki/JSON-RPC
http://soapjr.org/
Tyrael
- A hozzászóláshoz be kell jelentkezni
A JSON ember szamara is olvashato formatum, parsolni kell a gepnek. Legyen akkor RMI, az legalabb binaris :D
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
json-nel szamolni kell a melyseget, nem annyira jol olvashato tabulalas nelkul, de nem is feltetlen amiatt hoztam szoba, csak arra akartam utalni, hogy nem feltetlen a nem binarissaga miatt bloat az xml.
csak egyszeruen ez lett elobb, ezt kezdte el mindenki hasznalni, es sok ido fog meg elteni, mire kikopik azokrol a helyekrol, ahova nem o (az xml) a legalkalmasabb.
Tyrael
- A hozzászóláshoz be kell jelentkezni
XML se olyan jol olvashato, ha nincs beformazva, ez igy nem er :-)
A tobbivel egyetertek.
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
xml-nel ritkabb az
entry
entry
entry
/entry
entry
entry
/entry
entry
/entry
/entry
/entry
entry
/entry
/entry
struktura, emiatt ha ismered hogy melyik tag hol foglalhat helyet, akkor tabulalas nelkul is lehet kovetni a melyseget, mig ez egy json-nal szerintem felejtos.
Tyrael
- A hozzászóláshoz be kell jelentkezni
Ha ugy nezem, mindkettohoz van formazo alkalmazas, szoval... de egy parszaz kb-s XML-t mar nehez atlatni, hidd el (tesztelve).
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
hát amikor egy alkalmazás egy futásra kiokád egy 69 megás XML-t, mint debug logot, s abban találd meg, hogy miért bukott és hol a termék...
--
"SzAM-7 -es, tudjátok amivel a Mirage-okat szokták lelőni" - Robi.
- A hozzászóláshoz be kell jelentkezni
Most miről szól a vita? Dobjon ki inkább 69 megás JSON-t? Vagy egy 69 megás binárist?
- A hozzászóláshoz be kell jelentkezni
Nem, hanem dobjon ki egy 69 megas plaintextet. Vagy logoljon a syslogba.
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
Mert akkor könyebb feldolgozni mi? Ne légy már naiv, greppelni XML-ben is lehet, a syslog meg csak egy eszköz a továbbításra / tárolásra, de nem a formátumra... Ha strukturált a dump, akkor legalább lehet rá tool-t írni, ami feldolgozza... és könyebb mint plaintextre...
- A hozzászóláshoz be kell jelentkezni
ha strukturált, több szinten egymásba ágyazott adat van xml-ben, akkor hiába grepelsz rá, nem feltétlenül találod meg azt a szülőt, amelyik gyerekét kidobta a grep.
"lehet rá toolt írni": aha, látod már, hogy miért mondtam, hogy egyes jáva fanboyok atombombánál kisebb cuccal nem mennek még verébre sem...
- A hozzászóláshoz be kell jelentkezni
lehet, hogy neked 1 het megirni egy ilyet, de masnak nem...
- A hozzászóláshoz be kell jelentkezni
A szemlélet nem tetszik, hogy egy helytelenül megválasztott/használt eszközt újabb és újabb toolok bevonásával próbálnak használhatóvá tenni, ahelyett, hogy a problémát kiváltó okot orvosolnák...
Ez egyrészt olyan, mint a windows: nem a windowst faragják meg rendesen, hanem vegyél rá víruskeresőt, spyware removert, adware blockert, ilyeneket. Másrészt meg olyan, mintha a nemzeti bank a Hősök terére kirakott asztalokon tárolná a pénzt és csodálkoznának, hogy mindig ellopják, majd raknának kerítést, őröket, kamerarendszert a Hősök terére, ahelyett, hogy visszahordanák a budaörsi központjuk páncéltermébe a csentót.
Nem szeretem workaroundolni a problémát. Megoldani szeretem a problémát.
- A hozzászóláshoz be kell jelentkezni
Madj ha a Linux is lesz annyira elterjedt, mint a Windows platform, arra is vehetsz spyware removert, viruskeresot, barmit. Nem veletlenul celcsoport a Windows a szamitogepes bunozesben. Ne hidd, hogy a Linux sokkal jobb biztonsagban, vagy barmilyen mas opensource projekt. Egyszeruen csak amit kevesen hasznalnak, ott kevesebbszer jon elo problema, vagy nem celcsoport a direkt tamadasok ellen. Na meg aztan Linuxon is van AppArmor, SELinux, PaX, stb, ami mind-mind plusz eszkoz, mert onmagaban a rendszer nem biztonsagos. Csak legfeljebb ezeket nem kell megvenni.
- A hozzászóláshoz be kell jelentkezni
A szemlélet nem tetszik, hogy egy helytelenül megválasztott/használt eszközt újabb és újabb toolok bevonásával próbálnak használhatóvá tenni, ahelyett, hogy a problémát kiváltó okot orvosolnák...
Az a baj, hogy nálad a Java és az XML oldhatatlan kötéssel rögzítve van a "helytelenül megválasztott eszköz" dobozkádba. Minden érved ebből indul ki, s egyszerűen leperegnek rólad azok a tények és mérések, amelyek ezt nem támaszják alá, miközben évek - lassan évtizedek - óta elavult és idejét múlt tényekkel próbálod alátámasztani ezt a rögeszméd.
Nem szeretem workaroundolni a problémát. Megoldani szeretem a problémát.
Az a baj, hogy innen nézve nem oldod meg a problémát, hanem próbálod az általad elérhető és érthető eszközök szintjén tartani. Ha pedig nem oldható meg az általad használt eszközökkel, akkor csak és kizárólag "workaround létezik rá" a kis világodban.
--
http://wiki.javaforum.hu/display/FREEBSD
- A hozzászóláshoz be kell jelentkezni
na, megint a személyeskedés...
- A hozzászóláshoz be kell jelentkezni
Hmm... vajon ki is kezdte... megvan, valami bambano volt a neve.
Úgy látom nehezen tudod feldolgozni, hogy nincs igazad. Egyszerűen ebból lehet erre következtetni, hogy tényekre és mérésekre személyeskedni kezdesz, ahelyett, hogy tényekkel és mérésekkel vágnál vissza. Ebből tovább gondolkodva az ember könnyen arra a következtetésre jut, hogy eredetileg se volt tudás és tapasztalat a hozzászólásod mögött, csak másod- vagy harmadkézből való félinformációkra alapoztad a hozzászólásodat. És sajnos teszed ezt továbbra is.
Természetesen bocsánatot kérek a személyeskedésért, amint mutatsz ebben a thread-ben olyan tőled származó írást, ami tényekkel, mérésekkel alátámasztható megállapítást tartalmaz. Én sajnos nem találtam, de talán mutatsz majd egy ilyet.
--
http://wiki.javaforum.hu/display/FREEBSD
- A hozzászóláshoz be kell jelentkezni
No akkor személyeskedjünk egy kicsit:
lassan írom, hogy te is megértsd a kis világodban: egy poénnak szánt hozzászólást nem fogok mérési eredményekkel alátámasztani. Két választási lehetőséged van mindössze: röhögsz rajta egy jót vagy beszólsz, hogy szar vicc volt. Humortalanul élni rossz, március 25-én csütörtökön délután egy március 22-i rosszul sikerült hozzászóláson rugózni még rosszabb.
- A hozzászóláshoz be kell jelentkezni
Ok, én is lassan írom, hogy megértsd: nem egy poénnak szánt hozzászólásról van szó.
Segítek:
annyira, hogy lássam az erőforrás felhasználását, annyira biztosan.
de ettől függetlenül, elég megnézni a specifikációkat, hogy lásd, nem takarékosság volt a cél. adatbázison jdbc réteg, azon rowset, azon dataprovider (ha csak woodstockot nézed), másik irányból hibernate, jpa, mindenféle varázsszavak, minden xml-ben megy, mert a jáva fanok atombombánál kisebbet még szúnyogra sem bírnak dobni... nézz meg egy glassfish server.log-ot, ha az nem szószátyár, akkor mi az? Az a kisebbik, hogy kis terhelésű szerveren is secperc alatt eltűnik 4-5 giga diszk a logok miatt, de mire megtalálod benne, hogy mi baja volt...mindenre van szabvány, mire átlátod, nem csak a hardver procit és memóriát, de a szoftver procit is kisámfázod...
nem akarok az előnyeiről vitatkozni, nyilván vannak olyanok, de a proci meg a memória felhasználás biztosan nincs közöttük.
én meg azt bírom, amikor valakinek annyi az érve, hogy mer úgy van, PONT.
Ebben hol a poén? Kérlek, mutass rá, mert nem látom.
Főképp erre reagáltam mérésekkel és következetésekkel:
nem akarok az előnyeiről vitatkozni, nyilván vannak olyanok, de a proci meg a memória felhasználás biztosan nincs közöttük.
Ebben hol a poén?
Nem érdekel, hogy poénnal nyitottál a vízözön előtt, az utána poénmentes hozzászólásokat írtál személyeskedő hangvételben. Aztán még játszod a sértődöttet... szánalmas vagy, azt kell mondjam.
Természetesen bocsánatot kérek a személyeskedésért, amint mutatsz ebben a thread-ben olyan tőled származó írást, ami tényekkel, mérésekkel alátámasztható megállapítást tartalmaz. Én sajnos nem találtam, de talán mutatsz majd egy ilyet.
Úgy látom, te se találtál ilyet a hozzászólásaid között... én itt befejeztem, nem látom értelmét folytatni.
--
http://wiki.javaforum.hu/display/FREEBSD
- A hozzászóláshoz be kell jelentkezni
1. van a grepnek olyan paramétere, ami a mintaillesztés előtti néhány sort is kiírja
2. lehet rá toolt írni, nem feltétlen Java-ban kell megírni, és ahogy NagyZ is mondta, van akinek ez csak percek kérdése...
- A hozzászóláshoz be kell jelentkezni
1. nem derül ki, hány sorral korábbról kell az adat.
2. szerintem percek alatt megírni erre egy toolt lassú ahhoz képest, hogy aki tudja a vi-t kezelni, az elboldogul ezzel.
a problémakezelés szemlélete ettől még rossz.
- A hozzászóláshoz be kell jelentkezni
Ha eddig nem tűnt volna fel arról volt szó, hogy van kurva sok adat és az alkalmazás sem tudja hogy mi lehet a rossz ezért kihányja magából mindet. Ilyen esetben is használhatod a vi-t, ha akarod. Az XML ad viszont egy extra eszközt azoknak, akik továbbtanultak :)
- A hozzászóláshoz be kell jelentkezni
Sracok, kezdjunk uj szalat valahol, es linkeljuk ide, mert mar nagyon keskeny lesz a vege.
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
nekem me'g vagy 700 pixel szeles. ;)
- A hozzászóláshoz be kell jelentkezni
Azert a logelemzes technikaja mar egy ideje tuljutott azon a szinten, hogy "lehet benne grepelni".
--
Fontos feladatot soha ne bizz olyan gepre, amit egyedul is fel tudsz emelni!
- A hozzászóláshoz be kell jelentkezni
Még mindig úgy érzem magam, mint aki a 6-os silóban üldögél...
- A hozzászóláshoz be kell jelentkezni
technikailag lehet ott is vagy? ;)))
- A hozzászóláshoz be kell jelentkezni
Öm, tisztázzuk, én ezt úgy értettem fentebb, hogy text editorban nehéz az XML-t értelmezni, embernek, ha 69 megányi adatod van. Nyilván van rá egy xslt-m.
Valószínűleg azért van ez az egész kavar, mert human readable, strukturált, de gépi értelmezésre szánt formátum az XML. ezt sokan nem értik.
--
"SzAM-7 -es, tudjátok amivel a Mirage-okat szokták lelőni" - Robi.
- A hozzászóláshoz be kell jelentkezni
Ja. Lehet automatikus toolokat hasznalni amik... varjunk csak... igen, greppelnek a logokban, elore megadott regularis kifejezesekkel. Egy XML formatumu loghoz mindenkepp programozni kell.
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
Vagy parancssori xml tool-t lehet xpath-szel paraméterezni.
- A hozzászóláshoz be kell jelentkezni
hagyd, ha nem akarják érteni nem értik...
- A hozzászóláshoz be kell jelentkezni
Uffff... te probaltal mar koran reggel almosan egy xpath kifejezest osszetakolni ad-hoc modon? Greppelni sokkal egyszerubb.
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
Ha kicseréled az xpath és a greppelni szavakat, pont ugyanannyira értelmes és megalapozott állítást kapsz.
- A hozzászóláshoz be kell jelentkezni
Annyi kulonbseggel, hogy az en allitasom tapasztalatokon alapul. Borzaszto bonyolult egy XPath kifejezes, es nagyon konnyu elbokni.
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
Az enyém is: borzasztóan egyszerű egy XPath kifejezés, még egyszerűbb mint egy regex, utóbbit sokkal egyszerűbb elrontani.
- A hozzászóláshoz be kell jelentkezni
????? Grep-hez minek regex? fgrep valamiszoveg /var/log/messages. Ebbe nem latom a regexpet, de lehet en vagyok vak. XPath-hoz viszont nem eleg a keresett szoveg, de FIXME itt is, ha tevednek.
Nem a magam igazat hajtom, csak komolyan nem ertem, hogy mire gondolsz.
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
itt valaki azt írta, hogy a 63MB-os txt logot is fel lehet dolgozni regex-el. Mások meg azt állítják hogy ehhez célszerűbb lehet az XPath, ha már a program tudja strukturálni. Volt már arról is szó hogy XML is text és azt is lehet greppelni. Próbáld meg összerakni újra, szerintem felesleges még egyszer leírni az összes érvet. A lényeg amit mondani akarok: egy XML dump nem rosszabb egy text dumpnál, mivelhogy sokkal több eszközzel tudod elemezni. De vannak itt a threadben emberek, akik nem tudnak XPath-ul, és nehéznek érzik ezt, így dramatizálnak. Feleslegesen.
- A hozzászóláshoz be kell jelentkezni
az 69 és fel lehet, csak érteni kell hozzá.
akinek meg nem jó az xml, használjon mást, de ne xml-t, kész, nincs min vitatkozni :)
--
"SzAM-7 -es, tudjátok amivel a Mirage-okat szokták lelőni" - Robi.
- A hozzászóláshoz be kell jelentkezni
Ha fogalmad sincs az xml-ről és az xpath-ról, akkor biztosan nehéz.
pl. az említett 64MB-s xml-ből kell kikeresned egy olyan node-ot, aminek adott a szülője, a nagyszülője és valamilyen attribútuma egy bizonyos feltételnek felel meg. Ezt grep-pel, ha megfeszülnék se tudnám leírni, főleg nem reggel, álmosan! :-)
A fenti xpath-szal nagyon egyszerű.
Vegyünk egy konkrét példát, a szegedi időjárást. Szeretném megtudni, hogy lesz-e az előrejelzésben 20 foknál nagyobb hőmérséklet.
wget -O - "http://weather.yahooapis.com/forecastrss?w=815498&u=c" | xpath -q -e "//channel/item/yweather:forecast[@high>20]"
Magyarázat, azon node-ot keresem, aminek a neve "yweather:forecast", van egy "item" nevű szülője, annak egy "channel" nevű szülője és a "high" nevű attribútuma 20-nál nagyobb.
Az XML lényege, hogy strukturált, és emiatt könnyű benne keresni, bármilyen nagy is legyen.
- A hozzászóláshoz be kell jelentkezni
Szulo, nagyszulo, dedszulo... Alom-alom, edes alom, nincs is jobb kerek e vilagon.
Nekem olyan feladataim szoktak lenni, hogy keress olyan uzenetsorokat, amiben arrol esik szo, hogy a backup megdoglott, es ird ki ezek idopontjait. XML-nel 1) jo esellyel total mas taget kell kiirni, mint amire keresek, 2) nem tudom, hogy mennyire lehet szavakat keresni egy hosszabb szovegezesu text tagben. Es nem, nem segit az, ha kiiratom az osszes olyan uzenetet, aminek a forrasa a "backup" volt.
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
Oké, azt már látjuk hogy nem értesz hozzá. Ettől még csendben is maradhattál volna...
- A hozzászóláshoz be kell jelentkezni
Nem, csak azt láthatod, hogy más jellegű problémákat kell megoldania, mint neked.
- A hozzászóláshoz be kell jelentkezni
XPath-ban vissza tudsz hatni feljebbi szintekre, ha egy node-ot a gyerekei tulajdonságai alapján akarsz megkeresni.
--
"SzAM-7 -es, tudjátok amivel a Mirage-okat szokták lelőni" - Robi.
- A hozzászóláshoz be kell jelentkezni
ezt nem vitatta senki.
- A hozzászóláshoz be kell jelentkezni
Hadd kerdezzem meg: mennyire egyszeru az a kifejezes, ami ilyent csinal? Es mennyi XPath-tal valo szorakozas utan lehet azt mondani, hogy "nagyon egyszeru"?
Attol, mert valaki tud XPath-ul, meg nem biztos, hogy jartas is benne.
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
A regexp megtanulása és az xpath megtanulása kb. egyforma ráfordításigényű imho.
Ja és senki se lesz kevesebb, ha mindkettőt ismeri.
- A hozzászóláshoz be kell jelentkezni
Nagyon egyszerű, lásd kicsit lejjebb.
Pár tízperces, órás ismerkedés után már tudsz ilyet csinálni.
Nem kell mesternek lenni. Ha tudod az alapokat, akkor azzal már szépen lehet boldogulni.
Tanfolyam itt:
http://www.w3schools.com/XPath/
- A hozzászóláshoz be kell jelentkezni
Ha strukturált amiben keresni kell, akkor az megkönnyíti a dolgokat, nem megnehezíti.
Pl. <error modul="backup" time="2010.03.25 12:43:12" message="Fatal error!"> Sok soros leírás </error>
1) Tudja ezt, sőt jobban, mint a grep. Ebben könnyű keresni bármelyik adatra, és nem kell azt az adatát kiírni. Pont a grep-nél vannak nehézségek, ha megtalálsz valamit, akkor csak a környezetét tudod kiíratni. A grepnél az összefüggések leírása már nehézkes, ha az nem egy sorban van.
2) Könnyen contains fv. segítségével.
Pl. A fenti error-ban keresünk egy szöveget ('Fred') a "Sok soros leírásban", majd írassuk ki az időket:
//error[contains(text(),'Fred')]/@time
Ezt grep-pel mutasd meg légy szíves, hogyan csinálnád?
- A hozzászóláshoz be kell jelentkezni
Ez volt az egyszerubb eset. Azonban nem minden xml ilyen egyszeru, en lattam mar szornyedelmeket is, ahol a datum a nagybatyja volt az uzenetnek. (Mas volt a konkret esetben, de maradjunk a peldanal).
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
Tessék:
//error[contains(text(),'Fred')]/parent::*/nagbaty/@time
A GREP-es (egyszerű:-) megoldásodat még mindig várom!
Innentől kiszállok, képezd magad!
További lehetőségek a rokonságra itt: http://www.w3schools.com/XPath/xpath_axes.asp
- A hozzászóláshoz be kell jelentkezni
A text formatumu lognal ez ugy nez ki, hogy "grep 'backup error' backup.log | cut -d' ' -f 2-5"
Epp azert kerdeztem az XML-esre, mert az XML formatum egyik hibajanak tartom, hogy nehezkesebb benne keresni. Mint kiderult, ez igaz is, meg nem is. Vannak eszkozok a kereseshez (legalabb...), viszont a keresokifejezes irasahoz az embernek foglalkozni kell az XPath-tal is, csak a formatum ismerete keves. Arra akartam ravilagitani, hogy szoveges log eseteben van annyi konnyebbseg, hogy nem feltetlenul kell tudnod regexp kifejezeseket irnod ahhoz, hogy egyszeru szoveges kereseseket tudj vegrehajtani egy szoveges dokumentumban. A grep ugyanis minden teketoria nelkul fogadja el a siman bepottyentett szoveget, meg a contains(text(),...) sem kell hozza.
Azt sosem allitottam, hogy az XML-ben is greppel kellene keresni (bar, mint kiderult, nyilvan lehet, hiszen egy adott csomopont valoszinuleg adott szamu sorral van a talalat folott, a felesleges sorok kiszurese pedig mar egy masik, formazo kifejezes resze), sot, ha tehetem, en inkabb elkerulom az XML pure kihanyasat a logokba.
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
Ez nem az a grep, amit vártam.
Ez azt a sort listázza, ahol találja a találatot.
A felvetésben épp azt kérted számon, hogy mást listázzon, mint amit keresünk (nagybátyját).
Változó sorhosszúságú szövegnél ez elég nehézkes grep esetén.
- A hozzászóláshoz be kell jelentkezni
Mert a jol formazott xml-ben sokkal gyakoribb, hogy nem ugyanazt a sort kell levalogatni, mint amire szuksegem van. Egy text lognal ritkan van ilyen
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
ne terelj mar. ismerd el, hogy hulyeseget beszeltel, te grephuszar
- A hozzászóláshoz be kell jelentkezni
hagyd, nem divat beismerni manapsag, hogy valahol tevedett az ember (lasd: "XML feldolgozashoz mindenkeppen programozni kell")
- A hozzászóláshoz be kell jelentkezni
kivancsi vagyok, mi fer meg ide :-)
SPAMtelenül - MX spamszűrő szolgáltatás, ahogyan még sosem próbálta
- A hozzászóláshoz be kell jelentkezni
nalam meg sok hely van.
- A hozzászóláshoz be kell jelentkezni
Jo neked, en ezt mar nem fogom latni.
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
ráklikelsz a válasz gombra, akkor megvan a kamingaut:)
- A hozzászóláshoz be kell jelentkezni
copypasta ftw
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
Ohh, van itt meg hely, ez siman kifer. Nem kell ide copypaste.
- A hozzászóláshoz be kell jelentkezni
kegyetlen :)
- A hozzászóláshoz be kell jelentkezni
köszönjük, leülhetsz, 1.
Tipp: w3schools-on (is) van XPath gyorstalpaló, olvasd át a következő kommented előtt.
--
"SzAM-7 -es, tudjátok amivel a Mirage-okat szokták lelőni" - Robi.
- A hozzászóláshoz be kell jelentkezni
"Ja. Lehet automatikus toolokat hasznalni amik... varjunk csak... igen, greppelnek a logokban"
Mar ha eltekintunk a folyamat masik 1024, ennel lenyegesen fontosabb mozzanatatol.
--
Fontos feladatot soha ne bizz olyan gepre, amit egyedul is fel tudsz emelni!
- A hozzászóláshoz be kell jelentkezni
Kimentik fajlba, elkuldik levelben, meg par darabbol grafikont csinalnak. Ebbol egyedul az utolsot nem tudom kezzel megcsinalni.
Bocs, biztos jok ezek az automata toolok, de en nem szeretem oket. Max azt tudom elkepzelni, hogy a statjaikat/elemzett logjaikat tegyek ki valahova, ahol meg tudom nezni oket, de alapvetoen en nem szeretem a mukodo rendszert piszkalni. Vannak ilyen averzioim sajnos.
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
Persze, és CORBA is volt, és IIOP is, és azokat speciel az xml elött találták ki, azokat is jól kitalálták :)
- A hozzászóláshoz be kell jelentkezni
Van a CORBA-nak referenciaimplementacioja? Sajnos nincs, ahany implementacio, annyira kulonbozo viselkedesek sajnos. Egy platformon belul jo objektumcserere, de platformok kozott (szoftverfejlesztesi platformok, nem CPU-architekturak vagy OS-ek) mar nem annyira. A protobuf es a Thrift pedig multiplatform, referenciaimplementacioval.
- A hozzászóláshoz be kell jelentkezni
mindjart szolok az altalunk fejlesztett (pure java, szerveroldalon) monitoring cuccnak, hogy hasznaljon tobb cput, meg memoriat, mert allitolag ugy kell neki mukodnie ;)
fyi, ma mar mindenre van lightweight megoldas. nemkell appszerver, csak egy servlet container? jetty/grizzly. aztan azt raksz bele amit akarsz, lego az egesz.
a loggingot be lehet konfiguralni, engem sosem zavart, hogy eltunik 5g logra, mikor egy kis szerverbe is belemegy 4db 300g -s diszk.
szerinted mi a dragabb: az en ordijam, amit azzal toltok, hogy langyos vizben sajtreszelovel verjem amig c/c++ban lefejlesztem ugyanezt, vagy venni meg xgb memot, meg x procit?
- A hozzászóláshoz be kell jelentkezni
szerinted mi a dragabb: az en ordijam, amit azzal toltok, hogy ... c/c++ban lefejlesztem ugyanezt, vagy venni meg xgb memot, meg x procit?
Amennyiben a nagyi befottes uvegei koze dugott szerveredrol van szo, biztosan olcsobb a hardver (bar az oradijadat nem ismerem) viszont, ha a szoftver nem csak egy darab szerveren fut, a koltseg eleg gyorsan megugorhat, nem? ;)
- A hozzászóláshoz be kell jelentkezni
attol fugg. hosszutavon lehet hogy te vagy az olcsobb, a facebook is inkabb ujrairta a fel php-t, plusz parszaz szerver beszerzese es uzemeltetese helyett.
- A hozzászóláshoz be kell jelentkezni
Nem irtak ujra a PHP-t, hanem irtak egy forraskod konvertert. Most jottek ra, hogy ballepes volt PHP-val kezdeni, tanulhattak volna az iWiW-bol, az is PHP-s volt a kezdetekkor :)
- A hozzászóláshoz be kell jelentkezni
Szamold mar meg hany szerver van az IWIW mogott es milyen forgalma van. Aztan hasonlitsd ossze a Facebookkal.
Amit nem lehet megirni assemblyben, azt nem lehet megirni.
- A hozzászóláshoz be kell jelentkezni
Hat igen...a facebooknal egyes forrasok szerint 30E szerver van, kb 700M felhasznalora, szerverenkent 23E ezer felhasznalo atlagosan. Az iWiW-nel meg a legutolso altalam ismert adatkozleskor volt kb. 3M felhasznalo 24 db szerverre, azaz 125E felhasznalo egy szerveren. Lasd itt: http://iwiw.blog.hu/2006/02/10/technologia es itt: http://www.datacenterknowledge.com/archives/2009/10/13/facebook-now-has…
- A hozzászóláshoz be kell jelentkezni
no akkor mostmar tudjuk,idonkent miert elerhetetlen az iwiw :D)
mondjuk az iwiwes adat 2006-os, azota csak toltak meg ala valamit.
- A hozzászóláshoz be kell jelentkezni
Persze, de a felhasznaloszam es szolgaltatasok mennyisege is valtozott, bar nem hinnem, hogy 4-5-od reszere esett volna vissza az egy szerverre juto felhasznaloszam. Masreszt ez egy olyan mutato, ami mond valamit, de sokat nem arul el, facebookeknal pl. volt olyan, hogy 1800 MySQL server, 10E web frontend, meg 805 memcahced szerver. Tehat osszessegeben volt kb 12E szerveruk, es annak tulnyomo resze web frontent. Jo lenne latni a pontos architekturat, hogy jobban ossze lehessen hasonlitani oket. Na meg nem mindegy, hogy azok a hardverek milyenek, ha megnezed, az iWiW hardverei mar a maguk koraban (4 evvel ezelott) se igazan voltak csucshardverek, viszont legalabb volt THC szerveurk is :)
- A hozzászóláshoz be kell jelentkezni
A helyzet az, hogy a 2006-os szerverekhez képest darabszámban nem több, hanem kevesebb szokott kelleni, még annak ellenére is, hogy közben nőtt a terhelés.
2006-ban jelentek meg a két magos Opteronok 90nm-en...
suckIT szopás minden nap! A fájlokat tömörítsük, vagy a fájlrendszert?
- A hozzászóláshoz be kell jelentkezni
User szam ? Nem lesz jo hasonlitasi alap.
facebook sokkal gazdagabb alkalmazaosokat tartalmaz a felhasznalok fele. Nem csak cliens oldali javascripteket.
Amit nem lehet megirni assemblyben, azt nem lehet megirni.
- A hozzászóláshoz be kell jelentkezni
De az alkalmazasokat nem a facebook szolgalja ki, azok kulso hosztokon vannak es a facebookkal egy REST API-n at kommunikalnak. Ne keverjuk ide az alkalmazasokat.
- A hozzászóláshoz be kell jelentkezni
Pedig milyen jó lenne valami "eat my cpu" alkalmazást futtatni, a facebook cpu idejét pedig pénzért továbbértékesíteni...
Send a spam alkalmazás is lehetne, mindenki kapna tízezred fillért minden elküldött spamért.
suckIT szopás minden nap! A fájlokat tömörítsük, vagy a fájlrendszert?
- A hozzászóláshoz be kell jelentkezni
"Az iWiW-nel meg a legutolso altalam ismert adatkozleskor volt kb. 3M felhasznalo 24 db szerverre"
Ehhez képest már 2007-ben is kb. 100 szerverrel dolgoztak:
1 Hardveres load balancer
61 Alkalmazás szerver (Tomcat + lighttpd)
8 Image storage szerver
7 Image/thumbnail reverse proxy szerver
4 Object cache szerver (memcached)
5 WIWD szerver („Legrövidebb út”)
1 Üzenet-adatbázis szerver (Oracle)
5 Adatbázis szerver (Oracle RAC)
3 Adminisztratív szerver
Forrás: iWiW Problémák és megoldások
A felhasználók száma pedig a ppt szerint 2,5 millió volt 2007-ben.
Nem akarok megesküdni, mert sör is fogyott ott, de mintha úgy emlékeznék, hogy egy forrás 2008 nyarán azt állította, hogy 100 felett vannak a szerverszámban.
--
trey @ gépház
- A hozzászóláshoz be kell jelentkezni
Koszi a frissebb infokat, latszik, hogy dolgoznak/dolgoztak rajta.
- A hozzászóláshoz be kell jelentkezni
aha. ha javaban kezdtek volna, akkor most irnak at c++ -ba. vagy egy uj, gyorsabb java forditot... szoval azert valamit kodoltak na :D
csak arra szerettem volna ramutatni, hogy ok talan kiszamoltak, hogy hosszutavon olcsobb a szoftveresek munkadija, mint a szolgaltatas alatolni ujabb vasakat.
- A hozzászóláshoz be kell jelentkezni
Egy csomo resze a facebook architekturajanak nem csak PHP, nagyon sok mindent hasznalnak. Pythont, Javat, C++-t, sok mindent.
Bovebben itt: http://developers.facebook.com/opensource.php
- A hozzászóláshoz be kell jelentkezni
Tehát a Java azért szar, mert valaki írt egy programot Javában, ami sok logot írt ki?
- A hozzászóláshoz be kell jelentkezni
nos, jól megkaptad a fentebb szólóktól:) sajnos olcsóbb venni nagyobb hardvert, mint megfizetni a jó programozót, ez van.
- A hozzászóláshoz be kell jelentkezni
Nem látom, hogy kitől és mit kaptam volna meg... De felvettem a szótáramba a javafan kifejezést, akik ugyanúgy védik a jávát, mint maserati tulajdonosok az apple-t...
A fentebb leírt hsz-ekkel az a baj, hogy én nem mondtam olyat, hogy a jávának semmi előnye nincs, sőt, az előnyökről még utalás szintjén sem esett szó. A jáva nagyon sok tulajdonságából kettőt emeltem ki, és utána írtam egy smileyt. Ez utóbbi tény a csak írástudók (olvasni nem tudók) figyelmét elkerülte.
- A hozzászóláshoz be kell jelentkezni
"akik ugyanúgy védik a jávát, mint maserati tulajdonosok az apple-t..."
személyeskedsz?
vagy egyébként mi köze van a maseratinak az apple-hoz?
na látod, ez a trollkodás!
érvekkel mondj ellent a többiek állításainak, esetleg mérésekkel, dokumentációkkal megtámogatva, ne pedig érzelmi alapon, amihez hozzákeversz engem - pedig meg sem szólaltam ebben a szálban -, meg a kocsimat.
nem is értem, hogy én, és a kocsim, meg az apple hogy jövünk ebbe a szálba?!
- A hozzászóláshoz be kell jelentkezni
"na látod, ez a trollkodás!": igen, ez most az volt.
- A hozzászóláshoz be kell jelentkezni
Majd legkozelebb linkelem neked ezt a szalat, ha nekiallsz trollkodni. es azt allitod, hogy te sohasem trollkodsz.
- A hozzászóláshoz be kell jelentkezni
úgy látom, helyes döntés volt, hogy a hasonlat, mint írói eszköz, jelentését nem kezdtem el magyarázni.
de nyugodtan linkeld, legyen neked karácsony.
- A hozzászóláshoz be kell jelentkezni
annyira, hogy lássam az erőforrás felhasználását, annyira biztosan.
És láttál-e azonos teljesítményt nyújtó, de kevesebb erőforrást igénylő terméket? Ha igen, melyik volt és milyen területen? Konkrét példákat szeretnék. Vegyük elő ismét a méréseket, amikor kiderült, hogy a Java vs. C/C++ implementáció közel azonos erőforrás igényt jelentett?
http://hup.hu/cikkek/20090517/az_androidra_alapozza_a_jovot_az_amerikai…
de ettől függetlenül, elég megnézni a specifikációkat, hogy lásd, nem takarékosság volt a cél. adatbázison jdbc réteg, azon rowset, azon dataprovider (ha csak woodstockot nézed), másik irányból hibernate, jpa, mindenféle varázsszavak, minden xml-ben megy, mert a jáva fanok atombombánál kisebbet még szúnyogra sem bírnak dobni...
Mi az ultimate megoldás szerinted? :)
nézz meg egy glassfish server.log-ot, ha az nem szószátyár, akkor mi az? Az a kisebbik, hogy kis terhelésű szerveren is secperc alatt eltűnik 4-5 giga diszk a logok miatt, de mire megtalálod benne, hogy mi baja volt...
Ki lehet kapcsolni, illetve be lehet állítani a részletességet. Nálam alapszinten egy sor kerül a logba egy kérés kiszolgálásához. Az apache log sokkal többet hízik. De ha hibát kell keresni, akkor átírom menet közben a hiba útján a loglevelt INFO-ról TRACE-re és megtalálom a hibát. Bár ehhez értelmesen kell naplózni, ami nem nyelv specifikus.
mindenre van szabvány, mire átlátod, nem csak a hardver procit és memóriát, de a szoftver procit is kisámfázod...
Mintpéldául? Nézzünk egy JBoss AS példányt. A "minden lehetséges funkció bekapcsolva" (vagyis cluster, session replikáció, JMS replikáció, szinkronizált és elosztott JPA cache, stb) konfiguráció egy telepített portállal (JavaForum2.0) eszik 78M PermGen és 229M heap memóriát. Egy Drupal eszik 0M memóriát telepítés és elindítás után. Nézzük munka közben. Terheljük meg egy szálon mindkettőt (itt a laptopomon a másik laptopról mérve):
Drupal welcome oldal: 17,2 req/sec
javaforum.hu Rólunk oldal (laptopon!): 18,6 req/sec, 80M PermGen és 240M heap, 100% CPU
Nos, eresszünk rá 1000 szálacskát:
-/+ buffers/cache: 2001484 2055976
Swap: 4200956 273164 3927792
linux-cp5o:~ # rcapache2 start
-/+ buffers/cache: 2005508 2051952
Swap: 4200956 273160 3927796
Drupal welcome oldal: 17,3 req/sec, 3,17% hiba
-/+ buffers/cache: 3338964 718496
Swap: 4200956 1146708 3054248
linux-cp5o:~ # rcapache2 stop
-/+ buffers/cache: 1338236 2719224
Swap: 4200956 1145280 3055676
Hm... mintha eltűnt volna 2G memória valahol, csak nem az Apache zabálta meg? És ráadásul fel se szabadította 15 perc múlva a kérések kiszolgálása után. Hm.
Nézzük a JavaEE technológiát, 1000 szál hasonló körülmények:
-/+ buffers/cache: 1383352 2674108
Swap: 4200956 854736 3346220
javaforum.hu "Rólunk" oldal: 16,2 req/sec, 0.00% hiba, 82M PermGen és 330M heap
-/+ buffers/cache: 1495800 2561660
Swap: 4200956 850144 3350812
Hmm.. nagyjából 100M-110M memória tűnt el, ott van az alkalmazás szervernél, teli connection pool és cache formájában. Ha kell, JMX hívással le lehet csökkenteni, de idővel leépíti az alkalmazás szerver is, csak nem azonnal, tudom mikor, mert én állítottam be ezeket a paramétereket. Az Apache is talán megteszi ezt, nem láttam rá beállítási lehetőségeket.
nem akarok az előnyeiről vitatkozni, nyilván vannak olyanok, de a proci meg a memória felhasználás biztosan nincs közöttük.
Ahja. Lehet C/C++ nyelven is portál írni, még nem láttam ilyet, de biztos van. Lehet PHP-ban és lehet Python-ban is, de ahogy a mellékelt mérés mutatja, egyátalán nem biztos, hogy a JavaEE (JPA, EJB, WebService, stb.) akkora hátrányt jelent. Sőt.
én meg azt bírom, amikor valakinek annyi az érve, hogy mer úgy van, PONT.
Örömmel vennék ezek után tőled is _mérési_ eredményeket, nem véleményt, illetve "elég megnézni a specifikációkat", illetve "a jáva fanok atombombánál"... ésatöbbi.
--
http://wiki.javaforum.hu/display/FREEBSD
- A hozzászóláshoz be kell jelentkezni
"Mi az ultimate megoldás szerinted? :)" hagy válaszoljak csak erre az egy kérdésre. *Szerintem* az ultimate megoldás az, hogy az ember összeszedi a pro meg kontra érveket, ami neki előny vagy neki hátrány, azt figyelembe veszi, a többire magasról tesz:)))
A jávának vannak fejlesztői/programozó oldali előnyei, amiért cserébe a megrendelő drágább hardvert fog kifizetni. Persze lehet, hogy az egész összességében nem drágább, mert kevesebbe kerül a szoftver fejlesztése, mint amennyivel drágább a hardver, ez már helyzetfüggő.
- A hozzászóláshoz be kell jelentkezni
A jávának vannak fejlesztői/programozó oldali előnyei, amiért cserébe a megrendelő drágább hardvert fog kifizetni. Persze lehet, hogy az egész összességében nem drágább, mert kevesebbe kerül a szoftver fejlesztése, mint amennyivel drágább a hardver, ez már helyzetfüggő.
Értem. A francnak mérek és írok belőle regényt, ha figyelmen kívül hagyod, mert nem illik a világképedbe.
--
http://wiki.javaforum.hu/display/FREEBSD
- A hozzászóláshoz be kell jelentkezni
A francnak írok smileyt a vitát kiváltó hozzászólásomba, ha senki nem értelmezi.
Ennek az egész threadnek el sem kellett volna kezdődnie.
- A hozzászóláshoz be kell jelentkezni
nem akarok az előnyeiről vitatkozni, nyilván vannak olyanok, de a proci meg a memória felhasználás biztosan nincs közöttük.
Ebben a mondatban hol a smiley? Trükkösen elrejtetted? Mert nekem úgy tűnik, hogy az idézett hozzászólásod komoly volt. Ránézésre annak szántad, abban a tudatban, hogy megalapozott tényt közöltél. Amikor kimértem, hogy például egy Java alapú portál terhelés alatt* kevesebb erőforrásból is megél, mint egy hasonló tudású népszerű PHP portál, akkor megsértődsz (tipikus példája a kognitív disszonanciának :).
*terhelés alatt: valahogy úgy vettem észre, hogy a rendszergazdák és az üzemeltetők nem szeretik, ha terhelik azt a rendszert, amit üzemeltetniük kell. Ha rajtuk múlna, akkor kihúznák a hálózatból és egész nap simogatnák a szervereket, meg ódákat írnának a "0,00" load emlékére.
--
http://wiki.javaforum.hu/display/FREEBSD
- A hozzászóláshoz be kell jelentkezni
Ez a sor volt a vitát kiváltó hozzászólásom? Nem ez volt, ezt mi sem bizonyítja jobban, minthogy nem ez a hsz váltotta ki többek ellenvéleményét.
Ez: http://hup.hu/node/84779#comment-985224 volt a vitát kiváltó hozzászólásom, ezt meg az bizonyítja, hogy ez van legelöl a vitatkozós althreadben.
van benne smiley? van, tripla vigyorgás. de idézem neked, nehogy megint lemaradjon:
"memóriát, procit biztosan :)))"
Az a kettőspont meg a három zárójel, az a smiley. Ennek tükrében az, hogy itt kapaszkodsz a jávádba kb. annyira nem helytálló, mintha Hofitól minden kabaréjához KSH kimutatást kértél volna.
Ez nem a kognitív disszonancia, hanem funkcionális analfabétizmus, de ez nem nálam játszik.
- A hozzászóláshoz be kell jelentkezni
Jajjmár, olvastam azt, amit Te vitaindítónak gondolsz. Aztán írtál még három személyeskedő, meg még kettő komolynak tűnő -- már-már mélyenszántó elemzést arról, hogy milyen szar a Java CPU és memória tekintetében - lehet, hogy utólag már letagadnád, de attól még megírtad. Egyik mögött se volt mosoly, s ezek után meg én vagyok a funkcionális analfabéta.
Én kérek elnézést.
--
http://wiki.javaforum.hu/display/FREEBSD
- A hozzászóláshoz be kell jelentkezni
-1
Tyrael
- A hozzászóláshoz be kell jelentkezni
Hagyd, nem kell vele foglalkozni.
Már Gínó is megmondta, mi a probléma:
(0:25-nél)
http://www.youtube.com/watch?v=eXHCaPu7UIc
- A hozzászóláshoz be kell jelentkezni
"amiért cserébe a megrendelő drágább hardvert fog kifizetni."
A gond az, hogy ugy gondolod, ez egyenes kovetkezmenye annak, hogy a megoldas Java nyelven irodott, holott a keplet nem ennyire egyszeru. Nagyon sok fugg a programozotol, es a megoldas jellegetol is, csak ezek egyuttes ismereteben lehet barmi ilyesmit nyilatkozni. Lehet, hogy adott megoldas egyebkent C++-ban megirva se igenyelne sokkal-sokkal kisebb hardvert, mert mondjuk eleve eroforrasigenyes feladatrol beszelunk. Szoval, elsosorban azon kellene elgondolkodni, mennyire van ertelme sommas kijelenteseket mondani egy olyan temaval kapcsolatban, ami baromi sok tenyezotol fugg.
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
Minek eresztunk ra ezer szalat amikor nyilvanvaloan elfogadhato kesleltetessel egyik sem tud kiszolgalni 20 szalnal tobbet ?
Tipikus nagy terhelesnek modhato az 5 oldal lekeres /sec (Az tobb requestet jelent). 432_000 oldal per nap.
2 sec es oldal letoltesi ido alatt nevezuk elfogadhatonak a latencyt altalaban. Ez az internet atlaga is.
Nagyon erdekes szamdaralasban hasonlitani java / C -t. Itt valoban jo teljesitmenyt nyujt a java. De egy tipikus EE web alkazmasnal nem a szamdaralasi kepesseg lesz a mervado, hanem az alkalmazott technologiak milyensege alacsonyabb szinten. Nem kotelezo hasznalni oket, de amiket altalaban hasznalnak azt nem a sebbeseguk miatt valasztottak.
Amit nem lehet megirni assemblyben, azt nem lehet megirni.
- A hozzászóláshoz be kell jelentkezni
Minek eresztunk ra ezer szalat amikor nyilvanvaloan elfogadhato kesleltetessel egyik sem tud kiszolgalni 20 szalnal tobbet ?
Nyilván egy core esetén nem tud többet. De például 32 core esetén már 640 szálnál tartunk és még csak egy gépről van szó.
Tipikus nagy terhelesnek modhato az 5 oldal lekeres /sec (Az tobb requestet jelent). 432_000 oldal per nap.
Neked lehet, hogy ez már nagy terhelés. Nekem a 200-300 PI/sec az, amikor már azt mondom, hogy átlagos terhelés van... ha ehhez hozzávesszük a különféle egyéb embedded tartalmak letöltést, akkor már lazán 2-4e szálnál tartunk. :)
De egy tipikus EE web alkazmasnal nem a szamdaralasi kepesseg lesz a mervado, hanem az alkalmazott technologiak milyensege alacsonyabb szinten. Nem kotelezo hasznalni oket, de amiket altalaban hasznalnak azt nem a sebbeseguk miatt valasztottak.
A fenti példában a JavaEE web alkalmazásnál mindenféle keretrendszer benne van, ami JavaEE esetén szóba jön. Így hozza a fenti számokat.
--
http://wiki.javaforum.hu/display/FREEBSD
- A hozzászóláshoz be kell jelentkezni
FIXME: En akarhogy is nezem az interneten feleleheto adatokat, de pl. egy index.hu / origo.hu forgalma sem tunik nagysagrenddel nagyobnak. Van errol valami konkeret adat valahol ?
"De egy tipikus EE web alkazmasnal nem a szamdaralasi kepesseg lesz a mervado,"
"A fenti példában a JavaEE web alkalmazásnál mindenféle keretrendszer benne van, ami JavaEE esetén szóba jön. Így hozza a fenti számokat."
A szamdaralos linkedre gondoltam. FYI: Itt a javas portalhoz hasonlo sebessegeunek tuno (extrak nelkuli) php , szamadralasban is legalabb 8 szor lasabb, mint a C/C++ a java meg kb. egyenlo. Erdekes ugye.
Amit nem lehet megirni assemblyben, azt nem lehet megirni.
- A hozzászóláshoz be kell jelentkezni
FIXME: En akarhogy is nezem az interneten feleleheto adatokat, de pl. egy index.hu / origo.hu forgalma sem tunik nagysagrenddel nagyobnak. Van errol valami konkeret adat valahol ?
A webaudit.hu jó lehet kiindulásnak.
FYI: Itt a javas portalhoz hasonlo sebessegeunek tuno (extrak nelkuli) php , szamadralasban is legalabb 8 szor lasabb, mint a C/C++ a java meg kb. egyenlo. Erdekes ugye.
Ezt elolvastam ötször, de akkor sem értem.
--
http://wiki.javaforum.hu/display/FREEBSD
- A hozzászóláshoz be kell jelentkezni
Kosz linket. Valoban nagyobb a forgalmuk, mint ahogy kulfoldi oldalak alapjan latszott.
5 /sec az hvg.hu koruli dolog ami magyar viszonylatban eleg nagynak szamit.
Arrol beszelek, hogy az emberek gyakran hozzak fel, hogy java olyan gyors, mint C/C++ szamolgatos benchmarkokon. Ezeken rendszerint C szeru kodot irnak javaban. Ez valoban lenyukozo.
Ugyan ezeken szamolgatos benchmarkokon php 8 szor rosszabb legalabb, mint a java.
A mostani teszten complex portal kiszolgalasban az az elony sehol nem latszik, 20% alatti elterest lattunk.
Az en gepemen alap beallitasok szerint hello.php vs. hello servlet eseten 1.5 szer tobbet szolgalt ki a tomcat, mint a php, mikozban a php 1.8 szor tobb processzort evet. (100 szal terheles, 5000-8000 response/sec) Latency 12ms vs. 20ms a java javara.
Kiindulasi helyzetben lathato, hogy java servlet koncepcionak hatalmas elonye van. A vegen megsem mindig latszik. (php cumok meg tovabb gyorsithatok, mindenfele eloforditas cachelesel ..stb)
Bonyolodassal ha csak azt tudom, hogy JVM vs. php interpreter jatszik akkor arra fogadnek, hogy ez az elony tovabb no. De nem igy szokott lenne. A csoda technlogiak amiket meg hozza illesztenek nem a sebessegrol / memoria hatekonysagrol hiresek.
php bonyultabb rendszereknel lathatova valhat egy tovabbi bunteto. Neki minden requestnel ujra kell epitenie a vilagot. Szoktak itt mondani, hogy php csak a egy template engine.
Jol tervezett java megoldasnal itt megint durvan ra lehetne verni a php-ra.
php esetben, ha vilag ujra epitese nem jarhato ut egy kulonalo C/C++ server/agent szokott besegiteni, vagy DB-n keresztul ad infokat. Vagy pl. SOAP -oznak.
Memoria nalam egesz maskep alakult. mod_php hasznalok. Apache forkolta magat (az szinte ingyen van) es alig evett memoriat (33Mb).
Tomcat sok sok teszt utan felment 546Mb residensre. Kikenyszeritettem gc-t (JMX/jconsole) be is gyujtotte a szemetet, de az OS nem kapta vissza a memoriat (commited ertek maradt). Nem szokta. Es ez normalis.
Szinte egytelen memoria foglalas strategianak sem resze az "OS kapja vissza" az apro memoria darabkakat. Draga vissza adni es ujra elkerni. Nem veletlen, hogy java-s szervereknel minimum beallitott lefoglalando heap, rogton ugyan-annyi, mint a maximum.
Amit nem lehet megirni assemblyben, azt nem lehet megirni.
- A hozzászóláshoz be kell jelentkezni
Ugyan ezeken szamolgatos benchmarkokon php 8 szor rosszabb legalabb, mint a java.
Igen, a PHP nem számolgatásokra való. Nem arra találták ki.
A mostani teszten complex portal kiszolgalasban az az elony sehol nem latszik, 20% alatti elterest lattunk.
Igen. Mert a Java oldal kicsit többet tudott, ahogy írtam volt: cluster, session replikáció, JMS replikáció, szinkronizált és elosztott JPA cache, stb; ezek levesznek a teljesítményből, és a PHP platform pont ezeken a területeken kezd sűrű dagonyává válni, amelyben nehéz haladni. Nem tudtam ezeket kivenni a portálból, s nem találtam olyan (ingyenes) PHP portált, amely ezeket tudta volna.
Kiindulasi helyzetben lathato, hogy java servlet koncepcionak hatalmas elonye van. A vegen megsem mindig latszik. (php cumok meg tovabb gyorsithatok, mindenfele eloforditas cachelesel ..stb)
Annyira nem rossz a mod_php, a HipHip "JIT" is csak ötszörös gyorsulást tud szélsőséges esetben, átlagosan kétszeres az előnye.
--
http://wiki.javaforum.hu/display/FREEBSD
- A hozzászóláshoz be kell jelentkezni
falrahányt borsoo
- A hozzászóláshoz be kell jelentkezni
"Igen. Mert a Java oldal kicsit többet tudott, ahogy írtam volt: cluster, session replikáció, JMS replikáció, szinkronizált és elosztott JPA cache, stb; ezek levesznek a "
Amig egy node van csak, addig nem sokat szamitanak (indulasi idoben persze szamit). Jboss IMHO eleg jo cluster architecturaval rendelkezik, foleg kisebb clustereknel 4<. Nagyobaknal inkabb management kerdesek merulhetnek fel, mintsem teljesitmeny beli.
Erdekes, hogy JPA cache hatranynak tekinted. Most szerintem kifejezetten elonyt jelenthetet leven "cache". Okosan tervezve a hasznalatat meg tobb elonyt is lehet kovacsolni belole. Van nemi reflection magia benne , de ha nem hozod letre allandoan azt amit megtarthatnal akkor meg tobbet is nyerhetsz vele. (gyakori hiba)
Prepered statement is alkalmazhato az implementacioban, amivel megint php fele lehet kerulni.
php -nal egy memcached minimum kell, hogyha cachelni akarunk.
JAVA's csoda dolgokban gyakroi performnce gyilkos, a szuksegtelen serilizatio/deserilizacio ugyan azon JVM -en belul. (Rendszerint elkerulheto lenne, de ki latja felul, hogy mi van alul ?)
Masik dolog, szinten belul hasznalnak a componesek mondjuk XML-t adatcserere.
java nem teszi kotelezove, hogy igy keljen elni, de gyakorlatban sokat lat az ember ilyesmit.
"PHP platform pont ezeken a területeken kezd sűrű dagonyává válni"
Mert nem igy erdemes hasznalni :) Ne akarjunk, a szamarbol lovat csinalni.
Amit nem lehet megirni assemblyben, azt nem lehet megirni.
- A hozzászóláshoz be kell jelentkezni
Amig egy node van csak, addig nem sokat szamitanak (indulasi idoben persze szamit).
Mértél ilyet, vagy csak mondod? :)
Erdekes, hogy JPA cache hatranynak tekinted.
Magát a JPA-t tekintettem annak egy követlenül csak és kizárólag MySQL/PgSQL adatbázisra felkészített PHP portálhoz képest. Az elosztott JPA cache továbbra is hátrány egy node mérése esetén. Egyszerűen olyan kódrészleteket használ, amelyet nem kellene egy node esetén, de használnia kell, mert bármikor jöhet egy újabb node. Ilyen például az EclipseLink JMS topic-on keresztül való L2 cache szinkronizációja, gyönyörűen látszik, hogy egyedül is használja.
JAVA's csoda dolgokban gyakroi performnce gyilkos, a szuksegtelen serilizatio/deserilizacio ugyan azon JVM -en belul.
Van remote EJB réteg, a terhelés elosztása okán, de JBoss okos annyira, hogy InVM nem serializál, de ez is okoz némi plusz futásidőt. Van minden metódusra TRACE log, ésatöbbi, ezek is vesznek el időt, ha nem is sokat.
--
http://wiki.javaforum.hu/display/FREEBSD
- A hozzászóláshoz be kell jelentkezni
Tudatlansagom reven en a dolgokat kisse egyszerubben latom.
Eloszor is, majdnem minden nagyobb PHP alapu webalkalmazas felepiti a sajat perzisztencia reteget, ami vagy jobb, vagy nem jobb annal, mintha lenne egy standard perzisztencia megoldas. Szoval az overhead ott is megvan, annyi kulonbseggel, hogy PHP eseten egyaltalan nem divat felkeszulni a clusterezett hasznaaltra, mig Java eseten ez alapveto.
Masfelol a JPA annyiban jo, hogy viszonylag konstans terhelese van, lehet vele szamolni. Egy ismeretlen implementacioju perzisztencia frameworkot kulon le kell meregetni, es nem is biztos, hogy ott nem talalkozol felesleges koddal.
Egyebkent pedig nem gondolom, hogy a JPA-nak tudnia kell, hogy o most eppen hany node-s kornyezetben fut, egyszeruen azert, mert ez nem az o hataskore. Igy viszont nehez egy, ket, negy, tiz node-s kornyezetekre optimalizalni.
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
Egyebkent pedig nem gondolom, hogy a JPA-nak tudnia kell, hogy o most eppen hany node-s kornyezetben fut, egyszeruen azert, mert ez nem az o hataskore. Igy viszont nehez egy, ket, negy, tiz node-s kornyezetekre optimalizalni.
Valóban, a JPA-nak nem kell tudnia, hogy hány node van bekötve. A gond akkor kezdődik, amikor akarsz cache-t használni. Ugyanis ha nincs cache coordination, akkor a node-ok nem tudják egymás módosításait, így előfordulhat, hogy az egyik node módosít egy entitást, majd perzisztálja azt és erről nem tud a többi node, azok a cache-ből még a régi tartalmat mutatják. A cache coordination pedig nem egyszerű dolog, erőforrást igényel, illetve indololt esetben szinkronizációt és várakozást.
--
http://wiki.javaforum.hu/display/FREEBSD
- A hozzászóláshoz be kell jelentkezni
Ha már teljesítményvita. Én egyáltalán nem vitázni akarok, csak java-ban látom otthon vagy. Írtam egy kódot (C-ben, lényegében FFT), Maga a kód nem túl hosszú. Annyit csinál, hogy egy képet a megadott paraméterekkel, mint hologrammot rekonstruál (max 8192*8192 méretű double pontosságú képpel próbáltam). A lényegbe nem megyek bele, de komplex számok szorzása osztása + fourier transzformáció...... Na ha nagyon szépen megkérnélek, azt átírva java-ra, tudnál mondani, egy rekonstrukciós időt? Ha ok előkeresem a C-kódot. Én java-hoz totál dilettáns vagyok. Legalább lenne egy "objektív" proci-terhelős nagyon matekos teszt is.
------
3 fajta matematikus létezik. Aki tud számolni, és aki nem.
- A hozzászóláshoz be kell jelentkezni
Ez pont egy CPU izzasztó C vs. Java mérés volt:
http://hup.hu/cikkek/20090517/az_androidra_alapozza_a_jovot_az_amerikai…
Nem biztos, hogy arra akarok időt szakítani, hogy átgondoltan és teljesítményre optimalizálva portoljak Java-ra C programokat egész addig, amíg egyszercsak lassabb nem lesz a Java port... :)
Ps.:
Sámsonról elterjed a hír, hogy buzi. Mikor a fülébe jut, nagyon ideges lesz. Kihirdeti, hogy vasárnap az arénában 1000 nõt tesz magáévá. Eljön a vasárnap, megvan az 1000 nő, és megtelik az aréna nézőkkel. Sámson nekilát. 500-ig simán bírja. 600-nál piheg. 700-nál kezd kifulladni. 800-nál remeg a lába. 923-nál elájul.
A tömeg őrjöngése 1 percre abbamarad, majd skandálni kezdik:
BUZI!!! BUZI!!!
--
http://wiki.javaforum.hu/display/FREEBSD
- A hozzászóláshoz be kell jelentkezni
Mint már említettem, egyáltalán nem kötekedni akartam. Azért gondoltam egy ilyesmire, mert már annyi benchmarkot dugtak az orraom alá, hogy ez jobb vagy az jobb (ami szerintem marhaság, hogy melyik....), amikor gyak sorról sorra portoltak kódokat a-nyelvből b-be, de oda vissza teljesen átgondolatlanul. Így eddig azt tudtam megállapőítani, hogy a rosszul portolt C-kódtól, az általam megítélhetelten módon portolt java program gyakran kissebb-nagyobb mértékben gyorsabb vagy lassabb. Azért gondoltam, hogy két nem sorról sorra portolt, hanem funkcionálisan portolt kódot kellene összehasonlítani, na mindegy.
Sámsonról röviden annyit. Egyértelműen túlvállata magát :D, etalonként tette ki, hogy 1000-alatt ..... Tehát..... :D
------
3 fajta matematikus létezik. Aki tud számolni, és aki nem.
- A hozzászóláshoz be kell jelentkezni
Nézd meg ezt: http://freetts.sourceforge.net/docs/index.php#performance
C-ben volt kezdetben, aztán átírták Java-ra és gyorsabb lett. Eléggé CPU-intenzív feladatról van szó itt is.
- A hozzászóláshoz be kell jelentkezni
Eredeti C futasido: 1019 sec
Atirt Java (1.4 !) futasido: 341 sec
A masik meres ennel meg ennel is nagyobb kulonbseget mutat. Ez egy vicc.
ps:
Noj mar fel ! :)
- A hozzászóláshoz be kell jelentkezni
Egy napja regisztrált felhasználó, no profile info, csak ide szólt hozzá... haha :)
Én vállalom a nevem, vállalom a munkám, többek között azt is, hogy én már hasonlítottam össze C++ és Java apróságokat reprodukálhatóan ismételhető módon. Minimum ennyit elvárok azzal szemben, aki vitatkozni próbál. Jah igen, bővebben itt és itt.
- A hozzászóláshoz be kell jelentkezni
Sosem tudott erdekelni a forumokba valo picsogas mennyisege es a szakmai mult melldongetese, most sem fog. Az, hogy java (plane 1.4) program 3-4x gyorsabb, mint a vele _ekvivalens_ C program, az (joindulatot feltetelezve) eros csusztatas. Az ekvivalens C programot tessek ugy ertelmezni, ahogy a te altalad linkelt oldalok is teszik, melyek sokkal finomabban bannak az olyan kovetkeztetesekkel, amiket te sugalltal a linkeddel. Attol, hogy ebbol elsz, meg nem muszaj neked vinni a java zaszlojat.
- A hozzászóláshoz be kell jelentkezni
Az ugye feltűnt, hogy egy példát kért valaki, én meg adtam egy példát? Az hogy Te kit és mit hogyan ítélsz meg, maradjon a Te dolgod, az emberek nagy része tudja értelmezni azt amit lát, csak néhány fórumozónak akadnak itt problémái vele...
- A hozzászóláshoz be kell jelentkezni
törölve
- A hozzászóláshoz be kell jelentkezni
Ha a 'minden'-t szo szerint ertetted, akkor hulyeseget irtal. :) Nezz londoni allashirdeteseket: a C++ mindent visz. Ipartol fugg ugyanis -- a Java meg mindig nem a realtime kereskedesekre van tervezve, peldaul.
----------------------
while (!sleep) sheep++;
- A hozzászóláshoz be kell jelentkezni
oraclenek szolt mar valaki, h ne fejlesszen realtime jvmet? ;)
- A hozzászóláshoz be kell jelentkezni
minek. idovel majd rajonnek maguktol is :D)
- A hozzászóláshoz be kell jelentkezni
szakmailag valami? vagy csak bofogni tudsz? :) vagy faj, hogy nem ertesz hozza?
- A hozzászóláshoz be kell jelentkezni
ahogy latom, inkabb neked faj, hogy azt hiszed ertesz hozza :)
- A hozzászóláshoz be kell jelentkezni
en nem csak hiszem.
- A hozzászóláshoz be kell jelentkezni
nagy meglepi lesz, amikor radobbensz :)
- A hozzászóláshoz be kell jelentkezni
oke, majd szolok akkor a munkaadoimnak is, hogy nemertek hozza sajnos :(
- A hozzászóláshoz be kell jelentkezni
ugyan, hagyd. majd rajon magatol :)
- A hozzászóláshoz be kell jelentkezni
Inkább örülj, hogy eddig nem vették észre :-)
--
"SzAM-7 -es, tudjátok amivel a Mirage-okat szokták lelőni" - Robi.
- A hozzászóláshoz be kell jelentkezni
En ezt igy Londonbol egy financial services ceg belsejebol nem igazan latom igy.
1. Szerintem inkabb a Java/.NET dominal a befektetesi bankokban es egyeb financial services (trading, spread betting, stb.) cegeknel.
2. Ahol lehet, mi pl. igyekszunk atterni a C/C++-rol a Java-ra, siman azert mert a Java sokkal stabilabb, robusztusabb, sokkal jobban skalazhato horizontalisan (mutass nekem legy szives egy C/C++ alapu uzleti termek minosegu data gridet).
Ahol millisec-eket kell lefarigcsalni, ott szamithat a C++, de sajnos ott pedig a skalazhatosag az felejtheto (egy bizonyos hataron tul nem tudod a memoriat/cpu-kat boviteni). A parhuzamosithatosagnak, karbantarthatosagnak es a menedzselhetosegnek pedig a platform korlatai igencsak betesznek.
Ahol nagy mennyisegu adattal kell dolgozz es gyorsan, ott meg mindig a data gridek a nyerok, ez pedig leginkabb Java-t jelent jelenleg, esetleg kliens technologianak .NET es neha C++.
Udv,
Finrod
- A hozzászóláshoz be kell jelentkezni
"ugyan azt a megoldast javaban implementalva jobb penzert lehet eladni"
... mint?
--
Fontos feladatot soha ne bizz olyan gepre, amit egyedul is fel tudsz emelni!
- A hozzászóláshoz be kell jelentkezni
+1
----------------------
while (!sleep) sheep++;
- A hozzászóláshoz be kell jelentkezni
Mint mondjuk Python.
Amit nem lehet megirni assemblyben, azt nem lehet megirni.
- A hozzászóláshoz be kell jelentkezni
A döntéshozók és az egyikhez sem hozzáértő de cégen belül fajsúlyos véleménnyel bírók fülében jobban cseng általában az, hogy Java, J2EE vagy egyéb varázsszavak, mint például a Python, Django stb. Pusztán azért, mert nagyobb az ismertsége, jobb a marketingje, elterjedtebb stb.
Ez nem technológiai előnyt jelent (de ugyanígy amit pl. gyorsabban lehet implementálni egy adott keretrendszerben az sem lesz feltétlenül "jobb", akármit is értsenek az illetékesek az ilyen összevetéseken), és egyébként is normális helyen igyekeznek kicsit utánajárni, majd rábízni a munkához értőkre a megoldást. Legfeljebb eleve úgy szűkítik az ajánlatkérést, hogy beleírják az elvárt dolgokat, rosszabb esetben hallomásos alapon...
Ezért még Ha nem foglalkoznál a technikai oldalával és a tengernyi lehetőségével, akkor is minimum megfontolandó megismerkedni vele.
- A hozzászóláshoz be kell jelentkezni
Valoban jobb bevetelekre szamithat az ember, ha Javaban dolgozik, meg ha ez mas szempontokbol nem is lenne indokolt ?
Hát vannak olyan cégek ahol van ilyen jelenség, hogy a "JavaEE az igazi enterprise", de szerintem nem ez a gyakori. A legtöbb helyen ahol Javában fejlesztetnek, ott van is valami "más szempont", ami miatt indokolt. Igazából az a más szempont az, amiért több bevételre lehet számítani és nem maga a Java.
---
Internet Memetikai Tanszék
- A hozzászóláshoz be kell jelentkezni
+1
És a "más szempont" kategóriában rengeteg apróság van, cégenként más és más. Akár a time to market, akár a biztonság (jójó, ezt is el lehet rontani ha valaki el akarja), akár csak az, hogy szükség esetén elég nagy a fejlesztői pool... És akkor a technológiai oldalt csak minimálisan érintettem.
- A hozzászóláshoz be kell jelentkezni
Amit en velek a hatterben, hogy Java-hoz ertonek a programozok 60% -a valja magat.
Egy cegnel ahol mar eleve jelen van a java, celszeru lehet olyan eszkozoket valasztani amihez jo esellyel hozza tudnak szagolni odabent is. Ami persze nem feltetlen van igy, de ha CV -k ben es temek leirasban is megtalalhato a java szo management szinten lehet ilyesmit feltetelezni. Ilyen dontesekre lettek tanitva.
A masik dolag a "Java" szo suttogo marketingje az, hogy az nagyon vallalati dolog, es ez eljutott sok fulbe.
Amit nem lehet megirni assemblyben, azt nem lehet megirni.
- A hozzászóláshoz be kell jelentkezni
"suttogo marketingje"
Kezdek ignoráns lenni azokkal szemben, akik úgy vallják magukat szakértőknek, hogy igazából lövésük sincs arról, hogy mi a java. Vulgáris leszek: nesze b+, nézz körül itt, és mond azt, hogy igazából ez a Java csak kamu: http://java-source.net/
Ugyanis amit itt látsz, az mind open-source, és többnyire industry-ready cucc, amire kisebb-nagyobb cégek már rengeteg sikeres alkalmazást építettek. Ami jó, annak nem kell marketing... (szerk: na jó, ez utóbbi nem igaz, kell annak is marketing, de nem kell neki hamis marketing)
- A hozzászóláshoz be kell jelentkezni
Az hogy java jo vagy nem jo, kerdesem szempontjabol teljesen indiferns.
A kerdes az, add-e tenylegesen pozitiv hatszelet Java mivolta egy termeknek , vagy sem.
Amit nem lehet megirni assemblyben, azt nem lehet megirni.
- A hozzászóláshoz be kell jelentkezni
Lassuk, mi a java:
- Egy szigoruan tipusos osztaly-orientalt nyelv
- Egy meglehetosen szetb.ott economy (hany perzisztencia megoldas is van? Van meg olyan orult, aki a Sun altal hivatalosan nyomott Java EE-t hasznalja spring helyett?)
- A magyar egyetemek kozos oktatonyelve COP programozashoz
- Egy bukott platform a 90-es evekbol (az ugye megvan, hogy ennek a rendszernek a tervek szerint koze nem lett volna a szerverekhez? Mindenhez csak ahhoz nem)
- A Nyelv, Aminek Az a Reklamja, Hogy Multiplatform (mintha az osszes tobbi dinamikus nyelv - kiveve a .NET CLR alapuak egy resze - nem lenne az)
- Egy fejlesztoeszkozokkel eroteljesen tamogatott platform (anelkul bele is orulne mindenki)
Syntern, tul sok energiat oltel ebbe a nyelvbe, egyszeruen hulyesegeket mondasz.
Java mint legjobb Time-to-market?? Ezt statikus nyelvvel megis hogy? Az en szamaim finoman szolva nem ezt tamasztjak ala. Konkretan megakadnak projektek azert, mert a java mint nyelv olyan amilyen. Tobb eves csuszasokrol beszelunk, ha egyaltalan valaha is kesz lesz a feature!
Nem, jo time to marketje nem a javanak van, az az altalatok lenezett PHP, meg a ruby, a python.
Persze, kivetel ha csupa java gurubol all a teamed. Anno Paul Grahamek is LISP-eztek: azt ismertek ( http://www.paulgraham.com/avg.html ).
En megertem, ha valaki ezt a nyelvet ismeri leginkabb, es ragaszkodik hozza: rendben van. Azt is elismerem, hogy oriasi energiakat kell belefeccolni amire megerted az EJB 2.1 mukodeset (itt jeleznem: en megtettem, belefeccoltem ezt az energiat), vagy amire atlatod a rengeteg frameworkot, mikor melyiket kell hasznalni - az meg plane sok ido, mire megtanulod tenyleg hasznalni is oket.
En csak azt allitom, ez az energiabelefeccoles felesleges: a java mint nyelv bukott, kesz. Nincsenek benne meg azok a feature-ok, amik kenyelmesebbe teszik a programozast. Igen, kiveve az IDE tamogatast: villamgyorsan elozi be a tobbi nyelv, hidd el. (Meg mar a javasok se javat hasznalnak erre: Roo, grails - ezek nem javaul beszelnek)
A java es a .net parhuzamos bemutatasanak az a celja, hogy a delikvens kepes legyen elrugaszkodni az adott platformtol, es pusztan altalanos programozasi problemakban gondolkodni. Ez az, amit a kepzesunk meg mindig nem hangsulyoz elegge.
Nem kell hamis marketing? Hasznalsz meg J2EE -t? Jo volt az? Iszonyat marketing ment bele, most meg mivan: Spring MVC, ami egy ruby klon. Most abba, hogy az XML mennyire alkalmas konfiguracios nyelvnek meg siman nem mennek bele.
Vagy probalj valamit megirni Ext.JS-ben (vagy alkalmazasfuggoen jQuery + HTML/CSS-ben) natur, aztan utana hasznalj GWT-t. Szerintem meg fogsz lepodni: negyedannyi energia! De persze elotte meg kell ismerni a technologiakat: hogy a javascript prototipus orientalt, hogy az internet explorer-t kulon at kell kapcsolni standards modba, stb.
Szoval en ertem, hogy a java is your language of choice, de ettol ez meg jo nyelv nem lesz.
Es a trend azt mutatja, hogy szalad ki alolad a vonat.
- A hozzászóláshoz be kell jelentkezni
te meg kicsit ugylatom, hogy elszalltal a dinamikus nyelvek kenyelmebe. en hanyok a dinamikus nyelvektol. igenis, a statikus tipusossag jo dolog.
masreszt miert emlegeted az EJB 2.1-et, mikor 3.1nel jarunk?
harmadreszt igen, en fejlesztek EE-ben. az 5 kiraly, a 6 meg megkiralyabb.
a trend meg azt mutatja, hogy meg lehet belole elni.
- A hozzászóláshoz be kell jelentkezni
Hat aki szeret gepelni, az gepeljen :) Hogy ettol gyorsabban nem fog kodolni, az biztos (meg kodkiegeszitessel egyutt se).
A tapasztalat az, hogy keves az EE user, mert megse annyira kiraly, bar ezt sokan pont a 2.1-nek tulajdonitjak, hogy azota kerulik.
Bizonyos szint felett meg lehet elni dinamikus nyelvekbol is. A trend kerdese nem ez, a trend kerdese az, hogy meg lehet-e elni 10 ev mulva is a java mint egyetlen/fo nyelv ismeretebol. Az elemzok szerint - nem talalom az infoq cikket - nem.
- A hozzászóláshoz be kell jelentkezni
en boldog c# user is vagyok. szerintem c# kliens, java szerver jelenleg :-) (ha desktoprol van szo)
- A hozzászóláshoz be kell jelentkezni
Unix portálon szerverre olyan nyelvet reklámozni, ami nem ismeri a Unix domain socketet? Brr. :)
Én meg attól hányok, amikor két java program TCP-n beszélget localhoston.
suckIT szopás minden nap! A fájlokat tömörítsük, vagy a fájlrendszert?
- A hozzászóláshoz be kell jelentkezni
EE 5 es 6 alatt az annotaciok miatt hatalmasat valtozott az EE platform, foleg ha meg a hozzaadott IDE tamogatast nezzuk...egy Db-re epulo CRUD-os webservice kiepitese 5 percnel tobbet nem vesz nagyon igenybe egy kismeretu projekt eseten, kb ugyanennyi klienst csinalni hozza. Es ez csak egy pelda volt. Az EE 5 es 6 minosegi feljodest hoztak az EE platformra, a 2.1-gyel osszehasonlitani kb az lenne, mintha Win95-ot es WinNT-t hasonlitanal ossze.
- A hozzászóláshoz be kell jelentkezni
Kosz, tudom mi ez :)
De amikor a javasokat szabadjara engedem, hirtelen megjelennek mindenfele roo konyvtarak meg hibernate.jar, meg spring-mvc.jar, mindezt ugy, hogy az ukasz egy betartando WSDL-t es ket felhasznalando adattablat ir elo osszesen, azaz tolem azt hasznalnak, amit akarnak.
Ebbol - es a SpringSource jelenlegi piaci helyzetebol - kovetkeztetem azt, hogy nem volt annyira jo otlet a Java EE. Na meg vannak benne ordito marhasagok persze (kezdve mondjuk a Managed Beanekkel), amiket nem lehet pusztan annotacioval meguszni.
- A hozzászóláshoz be kell jelentkezni
Az, hogy a Javasaid, akikre a munkat bizod, es szabadon engeded oket, mit tudnak, vagy mit szeretnek hasznalni, az nem fugg ossze a Java platform jelenlegi kepessegeivel :)
- A hozzászóláshoz be kell jelentkezni
az mar a javasaid hibaja. wsimport, eclipselink.jar, es kesz.
- A hozzászóláshoz be kell jelentkezni
Tehát az embereid (khm) nem feltétlen a legjobbak vagy (khm) nem feltétlen a legjobb irányításuk van... mindkettő javítható, csak ne kiabáld tele ostobaságokkal a világot emiatt...
Amúgy a SpringSource piaci helyzetéből a Java-val kapcsolatban következtetni csak kicsivel jobb, mintha kecskevérből és békanyálból jósolnál...
- A hozzászóláshoz be kell jelentkezni
Megvalami, ez fontos:
A tapasztalat, hogy az informatikai innovacionak legnagyobb ellensegei az informatikusok.
(Most egy kalap ala veszem a progmatosokat - computer scientist - meg a muinfosokat - information / software engineer -, elnezest.)
Tudod, hany evbe telt, mire embereket leszoktattunk a goto-rol? Pedig tok logikus.
Hany evbe telt, amire embereket raszoktattunk a magas szintu nyelvekre? Pedig tok logikus.
Hany evbe telt, mire az intel es az AMD elkezdett MIPS architekturaju procikat gyartani? Pedig tok logikus.
A java a 90-es evek kozepen szuletett, de a 80-as evek szellemisegeben: interpreter - akkor meg -, szigoru tipusossag, picit leegyszerusitett C++ - ami 15 evvel feltalalasa utan mar kelloen nepszeru volt - mig kortarsai - nincs tul sok idokulonbseg a php-ruby-python vilaggal am! - egy ennel vitathatoan eloremutatobb iranyt vettek fel.
Nem veletlenul nem terjedt el a simula vagy a smalltalk, helyette a c++ lett meno: tul nagy ugras lett volna a programozoknak. Ez nem jelenti azt, a smalltalk nem egy jo nyelv, vagy hogy nincs rovid - hadd idezzek, tetszik - time-to-market ideje: valojaban kortarsait nagysagrendekkel korozte le ebben a smalltalk.
A java egy batortalan lepes volt a C++-tol elszakadastol, es mint anno a c++, vagy kesobb a delphi, pont ettol lett nepszeru.
De mint ahogy c++ es delphi programokat se gyartunk mostanaban, nem hiszek abban, hogy fogunk java programokat gyartani 5 ev mulva - ekkora mertekben.
- A hozzászóláshoz be kell jelentkezni
Sok mindennel egyetértek, inkább kiegészítenék:
Tudod, hany evbe telt, mire embereket leszoktattunk a goto-rol? Pedig tok logikus.
A goto C nyelvnél egy jól használható exception handling eszköz. Nyilván megfelelően szabályozva a használatát az adott projekt Coding Standards-ében. (Szigorú, automatizáltan ellenőrzött Coding Standards nélkül bármelyik nyelvvel lábon lövöd magad.)
A java a 90-es evek kozepen szuletett, de a 80-as evek szellemisegeben: interpreter - akkor meg -, szigoru tipusossag, picit leegyszerusitett C++ - ami 15 evvel feltalalasa utan mar kelloen nepszeru volt - mig kortarsai - nincs tul sok idokulonbseg a php-ruby-python vilaggal am! - egy ennel vitathatoan eloremutatobb iranyt vettek fel.
Szerintem nem feltétlenül elhibázott koncepció a szigorú típusosság, a Java _nyelv_ egyik legnagyobb előnye az, hogy egyszerűen analizálható/transzformálható. Viszonylag kevés nyelvi elem van benne, emiatt szószátyár, de emiatt vannak hozzá jó eszközök.
A másik nagy előnye a nyelvnek, hogy nagyon sok féle platformon tudod felhasználni, mobiltelefontól az enterprise alkalmazásokig. Ma a Java nyelv az egyetlen, amivel minden üzleti szempontból jelentős mobilplatformra tudsz fejleszteni (igen, iPhone-ra is).
A hagyományos JVM alapú Java platformnak pedig az a nagy előnye, hogy nem csak a Java nyelvet tudod használni, hanem az általad felsorolt dinamikus nyelvek megfelelő implementációit is, emiatt integrációs platformként is szolgál. Bár tény, hogy vannak kompatibilitási gondok (write-once debug-everywhere), de mégis tudsz az összes fontos desktop és szerver platformra JVM alapú futtatókörnyezetet varázsolni, amit aztán tudsz production környezetben használni.
Nem veletlenul nem terjedt el a simula vagy a smalltalk, helyette a c++ lett meno: tul nagy ugras lett volna a programozoknak. Ez nem jelenti azt, a smalltalk nem egy jo nyelv, vagy hogy nincs rovid - hadd idezzek, tetszik - time-to-market ideje: valojaban kortarsait nagysagrendekkel korozte le ebben a smalltalk.
A java egy batortalan lepes volt a C++-tol elszakadastol, es mint anno a c++, vagy kesobb a delphi, pont ettol lett nepszeru.
Az, hogy a SmallTalk féle OO megközelítés nem terjedt el, és sok végzett informatikus egyáltalán nem ismeri, nagy kár. Pedig ebből az irányzatból származik az Objective-C is, ami ipari szempontból is jelentős a MacOSX és az iPhone miatt.
Véleményem szerint az ObjC az egyik legszebb hibrid nyelv: a C teljesítménye ötvöződik egy dinamikus nyelv erejével. Nagyon hasznos lenne, ha az OO programozás oktatás a C++ és a Java / C# mellett felfedezné az Objective-C-t is.
Üdv,
Gergely
- A hozzászóláshoz be kell jelentkezni
goto-> continue
En azt gondolom, a java kortarsainak tobbsege nem volt szigoruan tipusos. Nem azt mondom, hogy ez egy elhibazott koncepcio, pusztan nem gondolom ugy, ennek a 21. szazad masodik evtizedeben meg mindig mainstream-nek kell lennie. Nyilvan van, ahol ADA-t hasznalunk, pedig az se mai gyerek.
A nyelvi segedeszkozokkel - az automatikus nyelvi DOM -ra gondolsz valoszinuleg, amit a refactor tud hasznalni pl. - az van, hogy a programozasnal az ember a szamitogeppel beszelget, nem pedig a java compilerrel. En azt gondolom, a szigoru tipusossag a gep reszerol feltetelez kevesebb inteligenciat, es azt is gondolom - latom is - hogy a toolok folyamatosan jonnek fel a dinamikus nyelvekbol. Intelligensebb toolok kellenek hozzajuk, ez igaz.
A transzformacio nem mentett meg minket sokmindentol, ill. megmentett, amikor a teljes nyelvet csereltuk a JVM felett (clojure, scala es tarsai), errol egyszer Marie Poppendieck mondott egy jot, hogy ha elkezdesz generalni kodot, akkor egy rakat generalt kodot kell karbantartanod, es ezert doltek be a 4GL rendszerek (fejleszt valaki CASE toollal mostanaban?)
Az, hogy a java nyelv az egyetlen, amely minden platformon elerheto, egy nevetseges erv. Ilyen pl. a javascript is (PhoneGap mobil, nodejs szerver), de en pl. meg nem lattam javas iPhone appot, a j2me-android-blackberry pedig harom egymasra ortogonalis java API.
Az, hogy a JVM jelenleg integracios platform, az teny, en csak azt vitatom, hogy a java mint nyelv mukodokepes alternativa lesz 10 even belul.
Az Objective C egy aranyos platform, csak nem szabad elfelejteni rola, hogy eleg dinamikus a message dispatch benne, igy az automatikus toolok elonyeit - a javas toolok intelligenciaszintjen - nem tudod kihasznalni pl.
- A hozzászóláshoz be kell jelentkezni
10 ev alatt a Java is fog fejlodni. Java 7-ben lesz pl. closures, meg meg mas finomsagok. Ugyanugy, mint ahogy fejlodott a nyelv 1995 ota (pl. annotaciok).
- A hozzászóláshoz be kell jelentkezni
Te mondd, lattad is az ajanlatokat a closure-re?
Egyik rosszabb mint a masik.
Az annotacio egy must volt, de mondjuk akkortajt volt is penz mogotte.
- A hozzászóláshoz be kell jelentkezni
> Az annotacio egy must volt, de mondjuk akkortajt volt is penz mogotte.
Ertem, szoval szerinted az Oracle egy utolso penznelkuli garazsceg :-)
- A hozzászóláshoz be kell jelentkezni
Lehet hogy nem, de csendben sorra zarja be a kis projektecskeket, lasd opensso.
--
"SzAM-7 -es, tudjátok amivel a Mirage-okat szokták lelőni" - Robi.
- A hozzászóláshoz be kell jelentkezni
miert ne zarta volna be? volt ra konkurrens megoldasa. Te megtartottal volna ket, kvazi azonos azonos termeket?
- A hozzászóláshoz be kell jelentkezni
mintha azt kommunikalta volna, hogy nem nyirja ki a sun ópenszósz cuccait. illetve nem vagyok meggyőzve arról, hogy a sun féle megoldás volt a szarabb.
--
"SzAM-7 -es, tudjátok amivel a Mirage-okat szokták lelőni" - Robi.
- A hozzászóláshoz be kell jelentkezni
gondolom megneztek, hogy oracle idmbol elment X darab, openssobol Y darab (fizetos, licencelt, supportos), X>Y, akkor Y -t gyakjuk, pa. :)
- A hozzászóláshoz be kell jelentkezni
"Van meg olyan orult, aki a Sun altal hivatalosan nyomott Java EE-t hasznalja spring helyett?"
Van, jelentkezem. legutóbbi projectet EE 6 + glassfish kombóban fejlesztettük, és egy kicsit sem bántuk meg.
- A hozzászóláshoz be kell jelentkezni
"tul sok energiat oltel ebbe a nyelvbe, egyszeruen hulyesegeket mondasz"
Mit szívsz, én is kérek :P
"Hasznalsz meg J2EE -t? Jo volt az?"
5 éve még jó volt, mert _akkor_, abban a helyzetben az volt a legmegfelelőbb stack, aminek volt tervezése, támogatása, elfogadottsága, ismertsége - nem volt jelentős az alternatívája. Azóta továbblépett a világ, és ha még mindig az alapján véleményezed a Java-t, akkor érdemes egy kicsit nyitottabb szemmel járni. És hogy mi az aktuális stack, amire személyes preferenciák alapján fejlesztek? Wicket + Spring + Hazelcast. A Spring konkrétan csak a JMX export, e-mail küldés wrapping meg az autowire miatt van, amúgy le is lehetne cserélni. Nézd meg ezt: http://deect.com/ - semmi EJB, még JDBC sem, mert SimpleDB illetve Lucene a backend. Komponens-alapú fejlesztés, tisztán HTML alapú design, OO kód mindenhol. Az egyszerűbb keresések mindenesetül lefutnak 200-300 ms alatt, a bonyolultabb mintailleszéseknek több kell, de tipikusan csak azon múlik hogy mennyire van bufferben az index...
Amúgy tökéletesen leszarom hogy a Java nem dinamikus nyelv, mert ilyen technológiák mellett nem igénylem hogy dinamikus nyelv legyen. Az, hogy te már a dinamikus nyelvek bűvöletében élsz, még nem jelenti azt, hogy minden más rossz, vagy az ördögtől való. Igen, vannak feladatok, amikre jó egy dinamikus nyelv, de te megismerted mint kalapács és azóta mindent szögnek nézel...
- A hozzászóláshoz be kell jelentkezni
Calici virust, azert erek ra itt irogatni :)
En azt gondolom, 5 evvel ezelott kinn voltak mar olyan stackek mas nyelveken, amik sokkal jobban hasznalhatoak voltak.
Azt gondolom, hogy aki mindent szognek nez, az az, akinek meg kell varnia, mig megirjak a java komponenst/klienst/klont valamihez, semmint szabadon valaszthat nyelvet, platformot az adott problema megoldasara.
Marpedig te megvartad a wicket megjeleneset (holott egyertelmu a smarty influence benne), megvartad a hazelcast megjeleneset (memcached?), elotte olyan technologiakat hasznaltal, amik kevesbe voltak erre jok, de nem volt javas megfeleloje ezeknek.
En nem vartam meg oket: hasznaltam azokat az eszkozoket, amik eleg jok voltak az adott problema megoldasahoz.
Ertem, hogy ido es energia kovetni a java trendek mellett a python, a ruby, a javascript trendjeit; megerteni melyan a nyelvet foleg (ezert volt a GWT kezdetben nagyon nepszeru a java-programozok kozt: nem kellett hozza megerteni a javascriptet; pedig jobban jartak volna vele!)
De ezek utan azt mondani valakirol, hogy beszukult, csak mert 3-4 nyelven programoz folyekonyan, es ugy gondolja, ez a jovo?
Igazsagtalannak erzem: mivel en kovetem ezeket a nyelveket is, latom, ahogy egyre magasabb szintu tamogatast kapnak toolsetben, egyre nagyobb az elterjedtseguk, egyre magasabb kodminoseget kovetnek, en jogosnak tartom kijelenteni azt, hogy a java nyelv - es nem feltetlenul a JVM platform! - napjai meg vannak szamlalva. Teszem ezt latva oriasi projekteket, amint docognek elore.
Ezek a projektek azert docognek elore - szerintem - mert a java nyelv nem mindig volt ennyire intelligens, mint most; a rengeteg generalt kodot, vagy copy-paste megirt kodokat pedig nem tudjak egyszeruen kifaktoralni, hiaba minden automatizmus: a nyelv nem volt kelloen absztrakt, a modulok megirasakor nem gondoltak arra, hogy ezeket egyszer sokkal absztraktabb modon kene kezelni. Hiaba a toolset, eveket csusznak az ujabb es ujabb verziok.
Ehhez a fajta jovokompatibilitashoz viszont kevesnek erzem ma is a nyelvet: pont a szigoru tipusossagaval, pont azzal, hogy nem funkcionalis.
Azt gondolom, ezek a forraskodok ugy keletkeztek, hogy a programozok nem tudtak szepen elmondani a gepnek, mit akarnak csinalni. Azt gondolom, ez a nyelv hibaja, nem a gepe.
Azt is gondolom, hogy azert nem tudtak szepen elmondani, mert tul sok mindent kellett - volna - tudniuk ehhez; hanyszor latom a programozok arcan, hogy rettenet nagy energiakat belefeccoltek a J2EE megtanulasaba, es most egyszeruen nem akarjak feladni.
Pedig elobb-utobb kenytelenek lesznek: nem hiszem azt, hogy azokra a problemakra, amikkel most foglalkozunk, a java egy jo valasz.
Egyszeruen azert, mert latok jobbakat.
- A hozzászóláshoz be kell jelentkezni
Te mindent tudsz és mindent előre látsz? Bocs, de amit írsz, abból csak ennyi jött le, a többi részlet kiesik. Illetve még egy: valamiért irigykedsz azokra, akik élvezettel használják a Java-t. Biztos ennek is megvan az oka :)
- A hozzászóláshoz be kell jelentkezni
Nem, amire haragszom az az, hogy egyebkent okos emberek vallasi ahitattal ragaszkodnak egyetlen nyelvhez, es en vagyok a hulye, aki meg nem.
Szeretnek egy olyan vilagban elni, ahol ezek az okos emberek nincsenek bedolve a hajdani Sun marketinggepezetnek, es nem kell az ugyfellel azon vitaznom, hogy nehogy levaltsa a bevalt PHP rendszeret javara, meg nem kell modulonkent bebizonyitani az enterprise programozo kollegaknak, hogy ebben is meg lehet irni, nem bugzik, nem lassu, es fokent haromezerszer elobb kesz volt.
Meg nem kell latnom projekteket - pl. Kir-dev - latni evekig szenvedni csak azert, mert valaki bedolt annak a hulyesegnek, hogy ez jobb. (Nyilvan aztan php-ban irtak meg vegul a nagy reszet, a J2EE valtozat soha nem lett eles.)
- A hozzászóláshoz be kell jelentkezni
Azt hiszem ezek az egyébként nem hülye emberek a nyelv helyett inkább a platformhoz ragaszkodnak. Merthogy egy nyelv az semmi, az két nap alatt nulláról megtanulható (excluding perl, ahhoz egy élet nem elég hogy olvasd, csak írd), viszont a platform az valami olyan, amihez ha egyszer hozzászoktál hogy mit nyújt, akkor nehéz egy kisebb szolgáltatásokkal rendelkező, vagy azonos szolgáltatásokat nehezebben nyújtó eszköztárat igénybe venni. Ahogyan pl. sokan Java mellett/helyett Grovvy-znak, azért hogy kihasználják a dinamikus nyelvet _és_ megőrizzék a platform előnyeit.
A PHP sokmindenre jó, de pl. nem tudsz vele tisztességes in-process és/vagy cluster cache-t csinálni. Nem tudsz vele tisztességes Lucene index kezelést csinálni szintén in-process módon. Persze ha kiragadod a PHP erősségét (azaz hogy HTML-t egyszerűen gyártasz vele), akkor tény, hogy Java-ban ugyanazt sokkal nehezebb megcsinálni. Ugyanakkor a terhelés nagyságrendje bőven elérheti azt a szintet, hogy egyszercsak ezekre a funkciókra szükség van, és hidd el, a memcached távolról sem optimálisan kezeli a cache-elést.
Szóval a probléma lényegesen sokkal komplexebb, mint hogy "a sok hülye, hiszen bekajálták a marketinget", legalábbis sokkal több olyan aspektusa van, ami esetleg a Te döntésedben nem lényeges, de mások esetében pedig igenis fontos.
- A hozzászóláshoz be kell jelentkezni
Kihasználom a lehetőséget reklámra: PHP Javához - http://rtemplate.sourceforge.net/
- A hozzászóláshoz be kell jelentkezni
És ez mivel jobb mint a http://freemarker.org/ ?
- A hozzászóláshoz be kell jelentkezni
Najó, leírom hogy szerintem miért jó.
Megfelel a keep it simple elvnek, pontosan annyit tud amennyit egy template nyelvnek kell. Így egyszerű megtanulni, és látod a fától az erdőt.
Tehát nincs benne saját:
* dinamikus kódbetöltés - használj OSGI-t
* kifejezés kiértékelés - arra ott a Java
* taglib - minek újra feltalálni a kereket? A taglib a metóshívásnak az újraimplementálása. Nélkülözhetetlen innováció :-)
* reflektív elérés - error prone, pont erre találták fel a szigorú típusosságot
JSP-hez képest:
* a template fordítást felesleges runtime-re hagyni, mert:
* dinamikus kódbetöltést úgyis illik megoldani (pl osgi)
* fordított kódot nem árt látni néha
* nem kell külön compile függőséget definiálni a template-ekhez
* _semmilyen_ runtime függősége nincs. Egyetlen absztarkt ősösztályt persze érdemes írni az adott alkalmazásnak megfelelően
* Nem kell taglibet tanulni
* Taglibhez képest hatékonyabb, scriptlet only JSP-vel "pariban" van
Freemarker, Velocity tsa-hoz képest:
* statikusan ellenőrzött típusokat használ
* Sokszoros a hatékonysága, mivel minden metódushívás direkt, nincs a reflektivitásból adódó overhead
Mindhez képest:
* Támogatja a refaktor lépéseket a template-ből felhasznált libeken.
* amit tetszik Javában írhatod meg, amit tetszik beírod template-ként.
* Van benne metódushívás - egyszerű módon pont úgy ahogy Javában - ezzel rengeteg redundanciát el lehet kerülni, amit templatekbe tipikusan bele szoktak írni a programozók.
* Learning curve 5 perc. 5 perc alatt mindent tudsz, nem alapfokon!
Ami az egyetlen hátránya:
* Csak programozók használhatják, "sima" web designernek nem adnám a kezébe. Bevallom kevés projektet láttam, ahol web designer írt volna template-t, úgyhogy ez számomra nem valódi hátrány.
- A hozzászóláshoz be kell jelentkezni
o, ize, omg. megneztem a peldat, de nem latom az ertelmet. elmagyaraznad?
- A hozzászóláshoz be kell jelentkezni
Megnézni nem elég. Ha kipróbálod és nincs "aha" érzésed, akkor meg nem neked való tényleg :-).
- A hozzászóláshoz be kell jelentkezni
Azert azt ne feledd, PHP-ban nem merul fel a megosztott allapot problemaja, hisz by design request-alapu eletciklusok vannak. Ez teszi rendkivul egyszeruve a skalazast (es nem hiaba vannak komoly, skalazas-orientalt projektek PHP-ban irva, kezdve mondjuk a facebookkal)
A memcached jelenleg a vilagon A standard terheleselosztasi mechanizmus (kereshetnek szakcikket, de lusta vagyok), igy nem igazan ertem, mi a bajod vele ;) Na jo, teny, lassan kezdik levaltani a writeback adatbazisok meg meg nagyon sok mas technologia - es persze kozel se tokeletes, de azt nem mondanam, hogy elerhet olyan nagysagrendet, amikor mar mindenkeppen java toolsetet kell alkalmazni memcached helyett - top 500 site-ok hasznaljak.
Viszont a megfogalmazasod erdekes:
akkor nehéz egy kisebb szolgáltatásokkal rendelkező, vagy azonos szolgáltatásokat nehezebben nyújtó eszköztárat
Nyilvan vannak olyan szolgaltatasok, amiket a java nyujt a legkenyelmesebben; en pusztan azt allitom, hogy a standard webfejlesztesre, arra, amit mindenki akarva-akaratlanul csinal (hiaba allitja a legtobb java fejleszto, hogy o csak backendet akar fejleszteni, erre van igeny), sem az eredeti java toolset (JSF) sem maga a nyelv (szigoru tipusossag) nem a legalkalmasabb eszkoz.
Persze, lehet groovy-t hasznalni grails felett, es akkor hozzaferek a javahoz, de hozzaferek natur PHP-bol, jythonbol, jrubybol is.
De igazabol ha megnezed a toolsetet mondjuk pythonhoz kozelrol, nem biztos, hogy ugy gondolnad, kisebb szolgaltatasokat nyujt, vagy akar azonos szolgaltatasokat nehezebben.
- A hozzászóláshoz be kell jelentkezni
milyen az a "writeback database"? Pelda?
SPAMtelenül - MX spamszűrő szolgáltatás, ahogyan még sosem próbálta
- A hozzászóláshoz be kell jelentkezni
hirtelen a redis jut eszembe peldanak, ha jol ertem mire gondol Aadam.
in-memory fut folyamatosan ir binlogot, de idonkent/x szamu tranzakcionkent (configbol allithato) vegrehajtja a valtozasokat a lemezen is.
Tyrael
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni
> memcached jelenleg a vilagon A standard terheleselosztasi mechanizmus
Boldogok a lelki szegenyek... amit te irsz az maximum php-ra igaz. Azert mert top500 siteok hasznaljak, az nem jelenti azt hogy sokkal tobb top500 site nem hasznal valami teljesen mast...
Es persze magyarazd el miert szoritja ki fentrol lefele (ertsd dragabbtol az olcsobb iranyba) haladva a memcached-t az Oracle Coherence...
- A hozzászóláshoz be kell jelentkezni
Engem érdekelne (mert sosem néztem utána) php-s környezetre olyan cucc, mint a netbeans-ben a visualweb: letöltök egy webről ingyen bérmentve egy ide-t, ablakba beledobálom a komponenseket, irogatok pár sor kódot, oszt jónapot, lehet deployolni.
- A hozzászóláshoz be kell jelentkezni
Zend Framework + Zend Server Community Edition(CE)
Zend Server Community Edition (CE) is the best Web stack for running your Zend Framework application. It's a free, integrated runtime environment.
Tyrael
- A hozzászóláshoz be kell jelentkezni
Biztos én nem látok jól, de nem lelek ingyen letölthető webes tervező cuccot benne... mondjuk egy csomó doksijuk/webminarjuk csak regisztrációval érhető el...
- A hozzászóláshoz be kell jelentkezni
delphi, de nincs ingyen.
Nem lattam meg _ingyenes_ vizualis webfejleszto eszkozt php-ra, bar egyszer egy felvetelizo emlegetett valamit, hogy o azt..
Igazsaghoz hozzatartozik, hogy a sajat cuccainkhoz sincs sose idom kifejleszteni vizualis tool-t, mondjuk eleg szerteagazo amit csinalni kell, a tervek visioban vannak, es amit lehet,yaml-be zavarunk bele, igy nem sok ido 'begepelni' a tervet.
Szoval en maradok egyelore a generatoroknal, amik szovegfajlbol dolgoznak, aztan majd ha raerek, epitek ra ext.js alapon valamit :)
- A hozzászóláshoz be kell jelentkezni
Azért a "tervezünk visioba, átgépeljük PHP-be" és a "összehúzzuk a Netbeans Visual Editorba" között ég és föld a különbség. És mielőtt megkérdezed, igen, én láttam olyan projektet, amelyik így fejlesztve szépen gyorsan haladt... És nem, elébe megyek a következőnek is, nem minden projektre ideális ez sem. De azt hiszem pont az a szép ebben, hogy van egy csomó lehetőség benne :)
- A hozzászóláshoz be kell jelentkezni
Jo, ebben pont nem az :)
Ha grafikus dizajner kene bindinggal, akkor valoszinuleg az Ext builder lenne a favorit, de csinaltam en mar roundtrip engineeringet greppel meg diaval is :)
Csak nyilvan egy picit nagyobb tehetseg kell ahhoz, hogy felfogja az ember, mi micsoda, es ossze tudja huzni ezeket a toolokat, mint ahhoz, hogy leszedje a netrol a mar kesz cuccot :)
En se ertem, miert csak CMS-ekhez szokas grafikus buildert adni ingyen (pl. typo3 kickstart, egyes drupal toolok), a gyakorlatban ha eleg jol vegiggondoltak a leirok (ezert a yaml) nem hianyoznak annyira.
- A hozzászóláshoz be kell jelentkezni
Akkor mégsem annyira ördögtől való ez a Java? :)
- A hozzászóláshoz be kell jelentkezni
Errgh... nezd.
Ahhoz, hogy tenyleg minosegi webalkalmazast adj le, ahhoz at kell latni a HTTP karakterprotokol-retegetol kezdve a javascript magasszintu library-jeinek mukodeseig (kozbe azert ismerve a bongeszok flow engine-jeit, DOM elmeletet stb) rengeteg dolgot.
A php/django/rails vonalat olyan emberek fejlesztettek, akik ezekkel tisztaban voltak, igazabol egy rendkivul minimalista nezetbol indul a PHP. Ez a minimalista, retegrol-retegre felfedezett tudas az, ami a mai MVC szerveroldali webes rendszerek mogott van, a rendkivul egyszeru, vegletekig egyszerusitett template nyelvekkel, a kizarolag input-model-output parositassal foglalkozo controllerekkel, az egeszet iranyito routerrel, executionfilterrel, mindazzal, amit megtalalsz egy rendes modern webes frameworkben, latsz az utcan ezret, ujabban - de csak ujabban - javahoz is.
A javas vilagra viszont ezt rakenyszeritettek. Ok baromira nem webet (html-szervert) akartak fejleszteni. A Sunnal a webes celnyelv egy idoben konkretan a szerveroldali javascript volt (netscape-sun deal). Kijott a JSP, ami vegulis PHP for java, tehat ilyen inversion-of-display vagy nem tudom minek becezzem, amit a java fejlesztok baromira nem ertettek.
Aztan addig eroszakoltak magukat, amig kijott a JSF.
A JSF-fel (ez lesz most a fo pelda, es a raepulo visual toolsetek mondjuk) az a baj, hogy a modellje hamis: hulyeseg amit allit. Nem ugy mukodik a web, ahogy azt a kitalaloi elgondoltak. Neha egyenest at kell vagni. Szo szerint.
Tudod mi a vegeredmeny?
Gyakorlatilag ugyanaz, mint amikor a 90-es evek vegen frontpage-dzsel meg word- mentes weblapkenttal szerencsetlenkedtek ossze titkarnok meg unatkozo haziasszonyok, csak epp programkent.
Mig-ral-hat-at-lan. Sot: re-fak-tor-al-hat-at-lan.
Kesz.
Ra van kenyszeritve a webfejlesztes az Enterspajz Dzsava 2000 Zrt-re, ami egesz eddig csak az SAP-t integralta Oracle-lel. Fog egy ilyen vizualis tool-t, meg belefeccolnek az embereik 200 evet abba, hogy megertsek a menedzselt babokat, amiket kompletten kene kihajitani az egeszbe. Aztan vagy ok, vagy a grafikus kis legozo, vagy az IDE, vagy a container, lenyegtelen, legeneralnak 300 tonna kodot, ami osszekapcsolja az uzleti modelt abbol amit megertettek az eszkozeikbol, amiket atbasztak annyira, hogy majdnem azt csinalja, amit az ugyfel akart. Ehhez hozza tartozik, hogy hangsulyozom, a JSF fejlesztoinek valoszinuleg elotte nem kellett webet fejleszteni, nem onnan jottek.
Osszerakjak a kis programot, leadjak, elmegy a fejlesztoceg (megszunik,osszevesztek, mittudomen), eltelik 3 ev, mi van?
Variaciok:
- A vevo azert kerul uzleti hatranyba, mert nem tudja a valtozasokhoz igazitani a szoftveret (esetek 80%-a)
- A vevo megprobalja a valtozasokhoz igazitatni a szoftveret, de iszonyatos erofeszitesek aran megy csak, ha egyaltalan (maradek 15%)
- A vevo kidobja a programot egybe , es fejlesztet egy ujat, ami vagy modern ertelmezesben lesz kacat, vagy egyszer megirjak normalisan vegre, de mindenkeppen dupla (tripla, kvadra...) koltseg.
Nem nagyon talalkoztam olyan emberrel, aki JSF-et hasznalna, es kokemenyen atlatna a webet. Komolyan. Ezek olyan emberek, akik sokminden mashoz nagyon jol ertenek, de a webhez nem akarnak: ok geekek, kockak. Ok "bekkend-fejlesztok" akarnak lenni, nem akarnak az ugyfel, plane az ugyfel vevojenek orra ele fejleszteni szoftvert, ok benn akarnak lenni az irodaban, hagyjak oket beken. Talalnak egy ilyen tool-t es orulnek.
(Ugyanez dotnetre is am, az AUT honlapjan pl. nem lehet enterre bejelentkezni, mert a formbuilder amivel osszedobtak, ugy gondolta, az input submitot nem hasznalja... a www.bme.hu nevu katasztrofarol meg nem beszelunk, komolyan visszasirom a regi, statikus, 1997-es oldalt, ahhoz akkor erteni kellett.)
A szornyu az, hogy ezek egyebkent okos emberek: mindketten tudjuk, ki rakta ossze azt a honlapot, nem buta ember. Ceges kornyezetben senior fejleszto lenne minimum... de egyszeruen... toollal lett osszerakva.
Ugy lett toollal osszerakva, hogy vagy a tool keszitoi, vagy a hasznaloi nem voltak eleg jok. Valaki nem ertett valamit. Egy trivialis dolgot.
Ezert van az, hogy sokkal inkabb bizom a sajat tooljaimban, amiket per projekt irunk vagy hozunk at, mikor erezzuk a taszkok ismetlodeset. Meg azokban, amiket soronkent neztem at. Amiket teljesen megertek.
Cseszettul erteni kell hozza? Igaz. A legtobb vevonek nincs ilyen minosegigenye? Most meg.
De a ronda az, hogy a JSF-ben dolgozo senior-fejleszto altal keszitett weblap altalaban pont olyan szar, mint a kispistike bt altal php-ban osszeganyolt.
Az egyik a foldrol epitkezett, koszos, mocskos eszkozokkel, es primitiv volt.
A masik meg - hat, az also reteghez o se ertett talan jobban. Megtanult egy csomo koztes dolgot, amik egyebkent baromira nem kellettek volna pont ehhez, ha hajlando lett volna megtanulni a masik eszkozeit a sajat eszevel hasznalni.
A munkaja nem lett jobb.
- A hozzászóláshoz be kell jelentkezni
1, mindig kisregenyt irsz - menj el ironak ;)
2, a JSF egy fos, ezt alairom. de a Javas web nem itt tart. nem az az ultimate keretrendszer, toolkit, akarmi, nem muszaj neked visual builderrel osszehuzogatni, es osszeganyolni. van SOK mas lehetoseged is.
3, a kettes alapjan baromi nagy csusztatas ez az egesz amit eloadsz
(mondom ezt ugy, hogy railseztem, grailseztem, bar nem vagyok webes ember, ezt elismerem, JShez sem ertek komolyabban, viszont a wicket meg mindig tetszik, es az csak egy a sok kozul)
- A hozzászóláshoz be kell jelentkezni
+1
- A hozzászóláshoz be kell jelentkezni
+1
--
Gábriel Ákos
- A hozzászóláshoz be kell jelentkezni
A javas web 5 ev hatranyban van, nem itt tart, hanem ahol a tobbiek tartottak 5 eve. A visualis tool 4-5 eve volt divat, most kene boviteni az ezen alapulo programokat.
Pont azert van 5 ev csuszas, mert teljesen mainstreamme kell valnia valaminek ahhoz, hogy te is elkezdd hasznalni, akit nem erdekel.
A reakcio arrol szolt, mire jutsz, ha elkezdesz hasznalni egy vizualis toolsetet, amit a netrol lottel. Ebbol faces-hez volt sok.
Wickethez van ilyen?
(Remelem, rovid voltam.)
- A hozzászóláshoz be kell jelentkezni
fent a JSF hatranyait ecsetelted. visszakerdezek: railshez van osszehuzgatos cucc?
- A hozzászóláshoz be kell jelentkezni
Minek?
Szerintem sokkal gyorsabban lehet haladni haml-al, mint az összehúzogatós gui-val. Az adatbázis migrációk is sokkal kényelmesebbek, mint mondjuk egy PHP-s projektnél MySQL Workbench-el.
- A hozzászóláshoz be kell jelentkezni
en NEM akarok ilyet. csak fent erre ment az onanizalas. valami szovegertesi gondod van?
- A hozzászóláshoz be kell jelentkezni
Onanizal a fene.
Fogj egy issue trackert tetszoleges atlagos informacios rendszer projekten, es nezd meg, hogy hany issue nem kotodott a frontendhez.
Esetleg vedd ki azokat is, amik nem adatbazis-sema valtoztatasokrol szoltak (-> DB fejlesztes)
Na, a maradek, az a backendfejlesztes. Amit minden javas szeret. Amit hiszi, hogy fontos.
A frontendhez meg erteni kene azokhoz a dolgokhoz, amikhez a legtobb java fejleszto nem akar. Ideertve a JS nyelvet is. (Pl. tudtad, hogy a class nem kulccszo benne?)
Amit en az elejen allitottam, hogy ehhez a szereny kisebbseghez (ami a taszkok 60%-a minimum) nem jo a java.
De most epp arrol kerdezett bambano, hogy van-e vizualis toolset php-hoz, mire mondtam, nem divat, inkabb irunk, erre syntern reagalta, hogy na, de javahoz van, mire visszairtam kb, hogy don't dare to use it, makes customers life hard.
- A hozzászóláshoz be kell jelentkezni
általad látott projektek != összes projekt. biztos komolyabb melóhoz nem engedtek oda a phpvel ;)
- A hozzászóláshoz be kell jelentkezni
Errrrrrrrrrrrrrrrrgh
Ipari titok sertes lenne... Maradjunk annyiban, hogy latom a vilag legnagyobb javaban irt site-jainak egy reszet.
Nem feltetlenul az a leggazabb projekt, de ... na mindegy, nem mondok semmit.
A ceg ahol dolgozom alapvetoen nem php-val foglalkozik, nem magyarorszagnak fejlesztunk, es nem pici ugyfelekkel. Egyik projektben segitenem kellett megoldani egy problemat, mert a (http, sima webtartalom) proxyk es a gepek kozti 15 gb/sec-es uveg nem birja az adatforgalmat, de annak a java forrasat nem ismerem (csak a proxytechnologiat), csupan meretet illusztralok.
- A hozzászóláshoz be kell jelentkezni
Ruby? Fogalmam sincs, az eredeti keretben nem volt, helyette ok HAML-eztek sokaig, ilyen yaml + html vilagban eltek.
(Bacsi Laszlo, a magyar ruby elet egyik kulcsfigurajanak eloadasa: http://www.virgo.hu/undercode/2009/02/html-es-css-szerkesztes-gyorsan-e… )
Divat meg neha a markdown, ami egy wiki szeru szintaxis.
(Utananeztem neked:. van visual rails. Ez nem valtoztat a tanacsomon: don't use a tool unless you fully understand what it does)
A JSF azert volt pelda, mert arra epulnek azok a toolok mind, amiket en lattam (netbeans beepitett, eclipse-nek valami ibm szallitott, meg valaminek volt vizualis jsf buildere)
- A hozzászóláshoz be kell jelentkezni
Ha már szóba került a kir-dev (amit ugye anno én gründoltam össze mielőtt pofátlanul leléptem az sch-ból és magukra hagytam őket az egy borcsokj kivétellel, akinek még a diplomamunkájánál konzulenskedtem egy sort), meg a wicket, gondoltam beböfögök egy sort én is. Mint talán emlékszel a kir-dev pont php-n indult valamikor 11-12 éve, a jávásításban semmi részem nem volt, talán ha van másképp alakul minden. Mindegy.
Ami viszont vicces, hogy a wicket-et pont 5 éve találtam meg, azóta is használom, használtam, kb. mindenhol az elmúlt 5 évben, amerre vetett a sors. Legalább 3 olyan magyar cég van, ahol a fejlesztési eszközkészletbe én vittem be a wicket-et - több helyen a mai napig (úgy értem távozásom után is) kitartanak ennél a technológiánál (használták már több nagy magyarországi banknál frontend fejlesztésre, migráltunk több struts-os alkalmazást wicket-re, tudnék sorolni projekteket) - ha van értelme használni, és a megrendelő nem a "drága a tízpluszáfás óradíj" típusó olcsójános. Nem mindig volt egyszerű keresztülverni a helyi fejlesztői kultúrán, hogy "tessék elfelejteni a struts-ot, ne is gondolkodjanak jsf-ben, ez jobb", de egy gyors pilot meg a framework képességeinek megmutatása után mindig sikerült. Persze voltak kudarcélmények is: elsősorban a humán tényező mutatta meg a foga fehérjét többször is, amikor is kiderült, hogy a pocsék programozó minden nyelven és platformon pocsék programozó és pocsék kódot ír. Az ellen nem véd semmi.
A Szeretgom.hu is full wicket webapp, eclipselink és glassfish felett, a 3 éves x2100 m2-őn egy index címlapos hírben szereplő közvetlen link estéjén sem láttam 0.4-nél magasabb load-ot, pedig az adatbázis is ugyanott fut. Ha a kir-dev közelében maradok (emlékszem valaki még nógatott is, hogy maradjak az sch-ban nevtanárnak, de nem maradtam), akkor valószinűleg ugyanezen a kódon futna az is.
Tanulság? A tapasztalat és a hozzáállás sokkal fontosabb egy projekt sikeres lezárásához, mint az, hogy milyen nyelvet választasz. Egyrészt mert fel tudod ismerni, ha nem a feladatnak megfelelő a választásod, és tudsz korrigálni. Másrészt megfelelő hozzáállással minden eszközt addig tudsz formálni, míg az alkalmas lesz a problémád megoldására.
Én a következő 5 évben biztosan maradok Java platformon, hacsak az Oracle valamit nagyon el nem kúr.
--
The reason that half of us are in computing at all is that we see computers as things that we can make beautiful things out of..
- A hozzászóláshoz be kell jelentkezni
a pocsék programozó minden nyelven és platformon pocsék programozó és pocsék kódot ír.
ez egy örök igazság egy mondatba sűrítve.
--
"SzAM-7 -es, tudjátok amivel a Mirage-okat szokták lelőni" - Robi.
- A hozzászóláshoz be kell jelentkezni
+1
- A hozzászóláshoz be kell jelentkezni
++
- A hozzászóláshoz be kell jelentkezni
Ja, csak amit el szoktunk felejteni, hogy az okos, de ignorans is.
Csak az ove gyakorlatilag kijavithatatlan.
- A hozzászóláshoz be kell jelentkezni
Fentebb említette valaki a kognitív disszonancia fogalmát. Olvass róla és megérted, miért csinálják ezt az emberek.
Vezetőknek nagyon hasznos információ szerintem.
- A hozzászóláshoz be kell jelentkezni
A legveszélyesebb az az ember, aki azt hiszi, hogy a kognitív disszonancia csak másokra hat :)
- A hozzászóláshoz be kell jelentkezni
:) Sajnos úgy néz ki ez egy általános emberi defekt, de jó, ha az ember tud róla.
- A hozzászóláshoz be kell jelentkezni
Kir? A "Közigazgatási Iratkezelő Rendszer"? Atyaúristen, azt mutogatni kéne mint elrettentő példa...
- A hozzászóláshoz be kell jelentkezni
Mellé, SCH-s kollégiumi inf. r.
- A hozzászóláshoz be kell jelentkezni
"Konkretan megakadnak projektek azert, mert a java mint nyelv olyan amilyen. Tobb eves csuszasokrol beszelunk, ha egyaltalan valaha is kesz lesz a feature!"
Jó fejlesztőket kell alkalmazni, és meg kell őket fizetni, ennyi a titka az egésznek.
Az EJB résszel egyetértek, viszont nem a fejlesztő / architect feladata, hogy megértse, hogy egy adott keretrendszer mire való, és mire nem? Mi gondolkodtunk saját keretrendszerről j2ee átállásra, és úgy néz ki, nem fogjuk megtenni, mert nem tudja azt, amire nekünk szükségünk van. Viszont ebből nagyon sokat tanultunk, és mégsem gondoljuk azt, hogy a j2ee nem lenne jó. Jó az, amire kitalálták. Nekünk meg nem az kell.
- A hozzászóláshoz be kell jelentkezni
Igen, a programozok 60%-a vallja magat Java-hoz ertonek... es vajon mennyi ert valojaban a Javahoz? A fele? De 'isz nincsenek is annyian! :-)
Attol, mert valaki ossze tudott rakni egy akarmilyen programot, attol meg nem lesz egy adott nyelv szakertoje.
Es nem, egyaltalan nem olyan biztos, hogy talalsz odabent olyan embert, aki hozza tud szagolni. Illetve, lehet, hogy talalsz, de nem biztos, hogy az o tudasaval engeded is hozzaszagolni. A Java egy eleg nagy terulet, nem lehet benne mindenki mindennek a szakertoje.
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
Önmagában szerintem nem.
Sorolj fel érveket a Java és a PHP mellett és ellen is. Aztán tedd egymás mellé, és gondolkodj ügyfél fejjel, hogy megér neked egy forintot is a különbség?
Vállalkozási szempontból pedig tedd mellé, hogy a nagyobb bevételhez vajon nagyobb kiadás is tartozik-e? (általában igen).
Nálunk szerencsére nem csak Java szakértelem van, általában a kisebb saját projekteknél PHP-t használunk.
Nem egyszerű a képlet, nem lehet generálisan ezt vagy azt mondani. Rettentően ügyfélkör függő is. Tipikusan az elején kell elhatározni, hogy melyik piaci szegmensre lősz. Kis céggel nem lehet több piaci szegmensre lőni, mert nincs rá kapacitásod. Sem szakmai, sem egyéb.
--
Gábriel Ákos
- A hozzászóláshoz be kell jelentkezni
+1
- A hozzászóláshoz be kell jelentkezni
Javitsd ki a typot a cimben, Eneterprise van ugyanis most. Kosz.
- A hozzászóláshoz be kell jelentkezni
meg mielott a penz szoba kerulne, imho elobb define enterprise...
SPAMtelenül - MX spamszűrő szolgáltatás, ahogyan még sosem próbálta
- A hozzászóláshoz be kell jelentkezni
USS Enterprise NCC-1701A :)
http://cumbriansky.files.wordpress.com/2009/05/uss_enterprise.jpg:)
- A hozzászóláshoz be kell jelentkezni
"404 — File not found."
erre gondoltal?
SPAMtelenül - MX spamszűrő szolgáltatás, ahogyan még sosem próbálta
- A hozzászóláshoz be kell jelentkezni
A smiley belelogott az URL vegebe, es mivel valid URL-karakter, a Drupal automatikusan berakta a linkbe. Most mar mindegy, szegeny kollega nem tudja modositani a linket. Torold ki a :-t a vegerol, es jo lesz.
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni
Dear Lord! Ezert megerte.....
SPAMtelenül - MX spamszűrő szolgáltatás, ahogyan még sosem próbálta
- A hozzászóláshoz be kell jelentkezni
na vegre egy valodi enterprise megfejtes :)
- A hozzászóláshoz be kell jelentkezni
vajon Java-t vagy PHP-t használnak? :D
- A hozzászóláshoz be kell jelentkezni
grepet meg gawkot:)
- A hozzászóláshoz be kell jelentkezni
Rengeteg enterprise alkalmazást *csak* Javaban van esélyed implementálni. Nekiállhatsz ugyan C/C++/Perl/Pythonban hackelni, de bízisten nem fogod megtalálni azt a rengeteg API-t amivel a CORBA-tól a WS/REST-en át egészen a legacy adatbázisukhoz mind csatlakozni tudsz. Nem funcionális követelményekből is van egy halom, amit Java ad, többi nyelv egyáltalán nem, vagy csak csak valami megbízhatatlan, használhatatlan hackekel (pl. még a 90-es évekből van egy plugin lib a sourceforgeon...). Skálázhatóság, integrálhatóság (pl. appserver) stb.
Enterprisenak csak az számít, hogy tervezhető legyen, kellő minőségű legyen és tényleg működjön a végén.
Ezt sokszor Javaban egyszerű. Az enterpsise meg minden pénzt megad, ezért tűnik gyakran úgy, hogy java-ban többet lehet kersni.
--
The Net is indeed vast and infinite...
http://gablog.eu
- A hozzászóláshoz be kell jelentkezni
Számomra érdekes a témafelvetés, mert volt ilyen tárgy a szakomon, és érdekelt volna hogy érdemes-e még foglalkozni vele a későbbiekben vagy elég ha örülök a zöld mezőnek a Neptunban. Olvasgatom a HUP-ot és tudom hogy itt többen évek óta közelről ismerik a témát.
Sajnos legalább a topic fele önérzeteskedésbe meg személyeskedésbe ment át. Most olvashatok 2x annyit a hasznos infókért. Kösz azoknak, akik nem tudnak csendben figyelni.
********************
"Aki nem backupol az tehetsegtelen :-)"
"...ha nem tévedek!" (Sam Hawkins)
http://holo-media.hu
- A hozzászóláshoz be kell jelentkezni
Nyilvánvalóan a kérdés összetett, így a válasz is az. Leszögezem, én nem fejlesztettem még enterprájsz környezetre, akárhogyan is definiáljátok azt.
Ha enterpriseról beszélünk, nyilván nem az adott rendszer lesz az első, ami bevezetésre kerül, így aztán imho érdemes illeszkedni a jelenlegi technológiákhoz ( BÁRMI is legyen az ), kivételt képez az az eset, mikor bebizonyosodik ez utóbbinak a létjogosulatlansága, hogy így mondjam.
Hiába fejlesztesz le egy bánomisén milyen java kódot pikk-pakk, ha annak az integrációja sokkal nehezebb lesz. Ugyanígy természetesen más nyelvekre is igaz ez.
Továbbfűzném akkor a kérdést: Ha lenne egy olyan terved, amivel jó eséllyel pár éven belül enterprájszod lesz, és meg van a lehetőséged a 0-ról indulásra, akkor mivel ugranál neki? Beszélhetünk akár egy webes szolgáltatásról, vagy elosztott hálózati alkalmazásról. Engem inkább ez érdekelne, nem az, hogy a multik mit használnak.
- A hozzászóláshoz be kell jelentkezni
Értelmes emberekkel :)
- A hozzászóláshoz be kell jelentkezni
Hadd szóljak hozzá az eredeti kérdéshez is.
"ugyan azt a megoldast javaban implementalva jobb penzert lehet eladni. Ez tenyleg igaz ?"
A két dolog között nincs közvetlen reláció. Egy valami igaz: az átlag jávás fejlesztői óradíj 25-40%-kal magasabb, mint mondjuk az átlag php-s fejlesztői óradíj. Magyarul drágábban dolgoznak a jávás emberek. Főleg, ha van 8-10 év tapasztalatuk.
"Valoban jobb bevetelekre szamithat az ember, ha Javaban dolgozik, meg ha ez mas szempontokbol nem is lenne indokolt ?"
Ha fejlesztőként dolgozik, akkor igen. A Java fejlesztők többet keresnek, mint a PHP fejlesztők. Egyéb nyelvekről nem nyilatkozom.
És akkor térjünk vissza az első kérdésedre:
"ugyan azt a megoldast javaban implementalva jobb penzert lehet eladni"
Amennyiben nem fix áron, hanem T&M alapon dolgozol egy feladaton, akkor a fentebbi magasabb óradíjak alatt egységnyi időért magasabb összeget fogsz elkérni a megrendelődtől. Természetesen ugyanazt a funkcionalitást kifejleszteni lehet 1 óra, 1 nap, 1 hét, 1 hónap különböző nyelveken és környezetekben, illetve más és más felkészültségű emberek használata esetén.
Ha terméket fejlesztesz, vagyis nem egyedi szoftvert hegesztesz valakinek, akkor nyilván a termék fogyasztói árát úgy fogod belőni, hogy a termék kifejlesztését (a befektetésedet) visszahozza, mondjuk az első 1-2-3 év eladásaiból. Vannak erre nagyszerű modellek. Enterspájz piacon például az az elterjedt modell, hogy felveszel egy dörzsölt fekete bmw-s sales gyereket, aki addig jár a potenciális ügyfelek nyakára a termékeddel, amíg annyira elegük nem lesz belőle, hogy a következő negyedévre bebádzsetelik a sok százezer eurós licenceárat, és megveszik tőled a szoftvert. Amit jobb esetben nem a polcra raknak ki, hanem be is vezetik, amire meg eladhatsz professional services szolgáltatást ezer eurós napidíjért a licence ára felett.
Van sok enterspájz szoftver, ahol ez működik. Vállalatírányítási rendszerek, vezetői management szoftverek, döntéstámogató rendszerek, dokumentummanagement rendszerek, crm, srm rendszerek, lehetne sorolni.
A másik feljövőben lévő modell az, hogy nem drága sales-ekre költöd a pénzed, hanem a terméked fejlesztésére, és bízol abban, hogy sokan felismerik, hogy az milyen király, és sokan fogják azt megvenni tőled. Erre épül például az Atlassian (JIRA, Confluence, stb), vagy a Fog Creek Software (FogBugz) üzleti modellje. Bizonyos szoftvertípusoknál ez is tök jól működik.
Mint látod, a válasz eléggé összetett. Ha programozó vagy, és nem fejlesztő céget építesz ami terméket fejleszt, akkor igen, a java nyelv nem rossz választás, mert keresett a piacon és jól megfizetik a jó jávás embereket.
Ha terméket fejlesztesz amit el akarsz adni a szoftverek nagy világpiacán akkor meg qrvára mindegy, hogy milyen nyelvhez értesz, mert úgysem az a legfontosabb (bár az nagyon fontos, hogy valamilyen technológiához iszonyatos agykapacitások legyenek a cégben, de ettől még nagyon el lehet bukni a piacon ha elcseszed az üzleti részt).
- A hozzászóláshoz be kell jelentkezni
Ja, és a harmadikat kihagytam, ez magyar (balkáni) sajátosság:
Vedd fel sales-nek valamelyik közepesen híres politikus rokonát, aki majd hozza a milliárdos megrendeléseket. Teljesíteni nem feltétlenül kell, ellenben legyen egy jó táskabolt a közeledben, mert az fogyóeszköz lesz a cégben (bár újabban nokiadobozokat is lehet használni).
- A hozzászóláshoz be kell jelentkezni
jah, ez nálunk az "üzleti modell".
- A hozzászóláshoz be kell jelentkezni
Nagy pénzt általában nagy rendszerekért lehet kérni. Na most, hogy ilyet csinálhass, oda kell férkőzni valahogy a naaagy kondérhoz. A nagy kondérhoz naaaagy ismerős révén lehet odajutni. Ha nem csak számlázni akarsz, hanem véletlenül működő rendszert is szeretnél szállítani, akkor lehet kérdés a megvalósítás eszköze. Naaagy pénznél már jönnek minden irányból "behatások", hogy ezt kell használni, meg azt tekintsd adottnak, meg amabból mindenképpen venni kell legalább x-et, hogy más naaagy ismerősök ismerősei is falatozhassanak abból a kondérból. Ilyenkor általában már "finomodnak" az eredeti kiírásban szereplő követelmények és elvárások is.
A Java (és JEE) ennek a játéknak a technológiai részére egy állati jó megoldás, mert minden van hozzá (sokszor ingyen), amivel meg tudsz felelni a határidőknek (kisebb-nagyobb csúszásokkal), elvárásoknak és követelményeknek.
Van még az Ms (M$) vonal is. Az ottani szitut nem igazán ismerem, de biztos jó, és ajánlólevélnek sem rossz az Ms alap.
- A hozzászóláshoz be kell jelentkezni
Ez csak úgy jött ma, gondoltam másnak is örömet okoz:
http://wurstball.de/static/ircview/pictures/749cd15bf9d0254286148f46856…
- A hozzászóláshoz be kell jelentkezni
Hogy egyik-masik milyen jol el lett talalva :-) Bar a Rubysok altalaba szeretik a C-t.
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
A millio fele java-related roviditesek kozott kicsit elveszve kerdezem, hogy ha egy brutal nagy teljesitmenyu web alkalmazast akarok csinalni, akkor arra jo valasztas egy valamilyen java app szerver / container / whatever + jsp?
SPAMtelenül - MX spamszűrő szolgáltatás, ahogyan még sosem próbálta
- A hozzászóláshoz be kell jelentkezni
Attol fug Afrikai vagy Europai.
Manapsag a vasak kurva erosek, barmilyen technologiaval barmit kiszolgalnak elfogadhato sebbesseggel.
Ugyhogy az esetek 99%-ban barmi jo, leginkabb izles kerdese. Dontesnel legtobbszor nem a teljesitmeny kell legyen a fo szempont.
Altalanosan had ne keljen mar megvalaszolni, hogy jo -e. Sok mindentol fugghet.
A Valoban "Brutal nagy" teljesitmenyhez egyetlen kozismert megoldas sem eleg jo :)
Amit nem lehet megirni assemblyben, azt nem lehet megirni.
- A hozzászóláshoz be kell jelentkezni
Kicsoda-micsoda milyen kontinensu?
Az, hogy ma a vasak mennyire erosek, aligha erv amellett, hogy egy nagy terheltsegu site-ot ne a leghatekonyabb technologiaval oldjunk meg, ld. x db vas vs. 3-4*x db vas.
Mivel csak erdeklodom, ezert altalanos a kerdes, es ezert csak annyi a meghatarozas, hogy 'brutal nagy'. Gondolom, most az egyszer elnezed nekem, hogy most ez a fo szempont ;-)
SPAMtelenül - MX spamszűrő szolgáltatás, ahogyan még sosem próbálta
- A hozzászóláshoz be kell jelentkezni
"Kicsoda-micsoda milyen kontinensu?"
A megértéséhez kötelezően javasolt filmanyag:
http://www.imdb.com/title/tt0071853/
- A hozzászóláshoz be kell jelentkezni
"Attol fug Afrikai vagy Europai." ez ütött :D
- A hozzászóláshoz be kell jelentkezni
Sok stateful vagy sok stateless oldalra kell optimalizálni a sebességet?
Milyen gyakran kell tudni lekezelni a browser back-et hatékonyan?
Mi az hogy brutál teljesítmény? CPU / IO / DB / net-intenzív?
Egyébként meg Wicket :)
- A hozzászóláshoz be kell jelentkezni
semmi konkret, de csak a pelda kedveert: csinalni akarok egy iwiw2-t (nem akarok, de ha valaha az eletben pl. egy startup-hoz kerulnek, akik viszont akarnanak.... :-)) A lenyeg tehat az, hogy fentebb olvasgatva a velemenyeket + nehany hivatkozo benchmarkot az jott le, hogy a php egy hataron tul nem megfelelo, viszont a java pl. nagyon jol skalazodik egy sok magos gepen es sokkal gyorsabb, mint a php. Ezert arra gondoltam, hogy kiprobalom az utobbit (javat), es ehhez kerek tanacsot.
SPAMtelenül - MX spamszűrő szolgáltatás, ahogyan még sosem próbálta
- A hozzászóláshoz be kell jelentkezni
nem csak sok magos gepen skalazodik jol, hanem sok gepre is, akar transzparensen. epp most irom a tdkmat, az elmult jopar napot ilyen temaju cikket/projectet megneztem.
ami latszik, hogy
- perszisztencia skalazasra van jo megoldas (cassandra, neo4j, ...)
- business logic skalazasra majdnem van jo megoldas (gridgain, terracotta, hazelcast, ...)
- view cachingre van jo megoldas (terracottas ehcache, oracle coherence, ...)
- a webes tartalmi fejlesztesre van jo megoldas (wicket, velocity, ...)
szerintem teljesen jo. en is alig talaltam fogast mar a dolgokon, amirol lehetne irni.
- A hozzászóláshoz be kell jelentkezni
Terracottás ehcache vs hazelcast cache érdekelne, ha véletlen úgyis mérnél :)
- A hozzászóláshoz be kell jelentkezni
majd kérünk egy url-t.
- A hozzászóláshoz be kell jelentkezni
en is nagyon kivancsi lennek a diplomamunkara:
http://hup.hu/node/77689#comment-867910
http://hup.hu/node/77690
http://hup.hu/node/67604#comment-870310
http://hup.hu/node/77556
Tyrael
- A hozzászóláshoz be kell jelentkezni
turelem rozsat terem... nem olyan erdekes az.
- A hozzászóláshoz be kell jelentkezni
Szia NagyZ,
egyreszt engem is erdekelne a TDK-d, masreszt viszont a csoportositassal gondokat latok:
Az Oracle Coherence-t egyszeruen besorolod a view cache-ek koze, holott az emlitett teruletek kozul barmire eleg jol hasznalhato.
Perzisztencia skalazas: par szaz nodeig siman out-of-the box megy a Coherence is, utana kicsit trukkosebb, mindenesetre a failover latency-re viszont valoszinuleg jobb eredmenyt ad mint a cassandra/egyeb nosql cuccok. Viszont ha a perzisztenciarol lemondasz, akkor failoverben meg valoszinuleg jobb mint a nosql cuccok.
Business logic skalazas: ide gyonyoruen beillik a Coherence, mi is hasznaljuk erre (is). A hazelcast nem igazan megbizhato szerintem, mivel nem garantalt, hogy ha egy box tobb node-dal lehal, akkor nem vesztesz particiot. Gridgain onmagaban eleg fapados megoldas, szeret valami backenddel (pl. Coherence) integralodni.
View caching: Terracotta ehcache. Eleg hires volt az EHcache azon hibaja, mikor idofuggo eviction policy hasznalata eseten bizonyos meret fole erve az update egyre gyorsabban novekvo valaszidoket mutatott (magyarul bizonyos meret fole nem volt skalazhato).
Udv,
Finrod
- A hozzászóláshoz be kell jelentkezni
csak gyorsan szkeccseltem egyet, tudom, hogy vannak athallasok a kategoriak kozott, de azert koszi a kiegeszitest. :)
coherence-backed gridgainrol tudsz meselni? ami engem erdekel gridgain ugyileg, az foleg a @Gridify (terracottasoknak @DMI), meg hogy lat-e az ipar egy elosztott tetszoleges adattaroloban (nyilvan particionalassal) fantaziat.
a tdk pentek-hetfo korul lesz kesz, csak gaz, mert penteken el kell utaznom kulfoldre. de ha lesz vmi hasznalhato, ugyis kirakom, vagyok ennyire exhibicionista :)
- A hozzászóláshoz be kell jelentkezni
Szia NagyZ,
Ha jol emlekszem (kb. 1-2 eve neztem), a GridGain mind taskok-related adatokat (pl. job/task state) tud Coherence cache-ben tarolni, mind a sajat kommunikaciojat (Gridgain jvm-ek kozott) tudja Coherence felett vegezni.
Az elso nyilvanvalo elonye hogy egy gyakorlatilag korlatlanul skalazhato (partitioned) data gridbe pakolhatja a task adatait.
A masodik elonye, hogy egyreszt a Coherence service-ekre vonatkozo event handlerekre a Gridgain ra tud ulni, ergo a Coherence garanciait kapod a Gridgain node-ok eletciklusaba tartozo esemenyekre (node jott, node elhalt, stb.), masreszt ki tudod hasznalni a Coherence-ben levo key affinity hasznalatabol szarmazo elonyoket (osszetartozo adatok 1 JVM-ben), es az adatvegrehajtas odakuldheto az adathoz.
Azota lehet hogy meg szorosabbra huztak az integraciot, anno eleg jo kapcsolat volt a GridGain es a Tangosol kozott, gondolom ez nem valtozott azzal hogy az Oracle megvette a Tangosolt.
Viszont a Coherence-es berkeken belul elkezdodott egypar ujabb kezdemenyezes ami bizonyos mertekben parhuzamos (lesz majd) a GridGain-el (Coherence Incubator Processing Pattern).
Egyebkent ha ilyesmi erdekel, akkor irj egy levelet (hova utazol egyebkent penteken? ha Londonba, akkor meg elotte irj :-) (elvileg itt a hupon keresztul tudsz)).
Udv,
Finrod
- A hozzászóláshoz be kell jelentkezni
Jol skalazodik a php, tobb serverre is.
iwiw -nel "legrovidebb ut" az amit klaszikus csak requestkor lefuto php scriptekkel nem erdemes megoldani Ill. csak jsp -vel sem.
iwiw doksik alapjan "legrovidebb ut" kerdest is kulon serverek valszoljak meg, az reszlet kerdes, hogy miben van implementalva, de en C/C++ inkabb javasolnek erre, de a java is szoba johet. Script nyelvet inkabb nem javasolnek.
Amit nem lehet megirni assemblyben, azt nem lehet megirni.
- A hozzászóláshoz be kell jelentkezni
Jol skalazodik a php, tobb serverre is.
Hmm, mondjuk fastcgi-vel?
amit klaszikus csak requestkor lefuto php scriptekkel nem erdemes megoldani
Hirtelen az jutott eszembe, hogy a google sem akkor allitja ossze a 'sex' kulcsszora kereses eredmenyet, amikor kattintasz. Vegul is, le lehet tarolni, hogy kihez hogyan jutok el, bar azert soknak tunik ez az adat, meg akkor is, ha 6(?) hopnal senki sincs messzebb...
SPAMtelenül - MX spamszűrő szolgáltatás, ahogyan még sosem próbálta
- A hozzászóláshoz be kell jelentkezni
bigtable-ben elfer. :)
http://en.wikipedia.org/wiki/Bigtable
Tyrael
- A hozzászóláshoz be kell jelentkezni
biztos..., viszont kicsit toprengve hazafele a buszon, azon tunodtem, vajon van-e ertelme / kezelheto adatmennyiseget kapunk, ha mondjuk 1M ember eseten kiszamoljuk az (n-1)+(n-2)+(n-3)+....+1 szamot (~1M*500k=500G), ha pedig ugyanet 4M-ra szamoljuk (kb. ennyi tagja van az iwiw-nek, ha jol emlekszem), ~4M*2M=8T kapcsolat/path lehetseges.
Szoval lehet, hogy ezt megsporoljak, es nem egy shortest_path{'user1:user2'} kulcs-erteket kerdeznek le, hanem valamilyen masszivan optimalizalt adathalmazra eresztenek ra egy algoritmust...
SPAMtelenül - MX spamszűrő szolgáltatás, ahogyan még sosem próbálta
- A hozzászóláshoz be kell jelentkezni
megis melyik hatarrol beszelsz? Amin a facebook fut (felmilliard felhasznalo), amin a farmville (ennek kb. a fele), amin a flickr (meg nem mondom most mennyi) vagy amin az iwiw?
Az iwiwen kivul mind PHP alkalmazasok (ill. a facebook elsosorban/frontend szempontbol PHP, a farmville pure PHP)
Nyelvi szinten stateless, elbaszni se lehet a skalazodasat. Nincs az az ocsmany PHP kod, ami ne skalazodna, ezt a cegnel egy orokolt kod tetelesen bizonyitotta (jo, tegyuk hozza, edgesuite felett, ami azert jocskan novel a teljesitmenyen, ellenben kevesen tudjak megfizetni)
Persze mindenki ugy szopatja magat, ahogy akarja :)
Ne higgy a vallalati programozoknak, a nagy forgalmak (szazmillios userszamok, teljesen dinamikus alkalmazasok) nem ott vannak.
- A hozzászóláshoz be kell jelentkezni
kossz az infot, akkor egyelore nem cserelem le a php-ban (mvc rulez) megirt webui-t a clapf-hoz :-)
Amugy foleg http://gwan.ch/en_scalability.html alapjan ertettem a hatart. (Mondjuk gwan-ra tuti nem valtok, mert irjon web app-ot az C-ben, akinek 6 anyja van...) Szoval a felvetes eleje arra reklektalt, hogy a cpu clock mar nem igazan fog noni(?), de a magok szama nohet a cpu-kban. Ha viszont egyre tobb magosak lesznek a szerverek, akkor olyan alkalmazas kell, ami azokat ki is kepes hasznalni. Az elmeletem az, hogy a php fastcgi-vel kepes lehet erre.
SPAMtelenül - MX spamszűrő szolgáltatás, ahogyan még sosem próbálta
- A hozzászóláshoz be kell jelentkezni
A facebook frontend tényleg PHP, viszont a facebook esetében a skálázódás nem ezen múlik. Csak hogy egy példát mondjak:
http://cassandra.apache.org/
Jah várjál, ez Java-ban íródott és ellentmond az elvednek :P
- A hozzászóláshoz be kell jelentkezni
akkor ezert lassult be a facebook egy ideje...
--
"SzAM-7 -es, tudjátok amivel a Mirage-okat szokták lelőni" - Robi.
- A hozzászóláshoz be kell jelentkezni
:)
A skálázódás amúgy szinte minden esetben azon múlik, hogy:
- mennyire ragaszkodsz konzisztens adatokhoz (pl. RDBMS überkonzisztens de emiatt rosszul skálázódik), ideértve azt is hogy mennyire élsz együtt outdated cache adatokkal...
- hogyan ábrázolod az adatodat, és azon belül mennyire hatékony indexeket használsz pl. sok esetben az inverted index (pl. Lucene) hatékonyabb mint a B+-tree és társai még range query-kre is, persze kicsit máshogyan kell megfogalmazni, hogy mi az adat amivel dolgoznak. Nem árt ha az ember megbarátkozik a denormalizáció fogalmával és társai...
- mennyire hatékony a lockfoglalás és -felhasználás
- mennyire beszédes a cluster protokoll
Az hogy a frontend alatt milyen technológia van, csak részletkérdés, a fentiek szinte mindent meghatároznak. Feltűnt hogy nem szerepel benne programozási nyelv illetve platform? Ugyanakkor szerepel benne egy csomó olyan tétel, amire egy PHP pl. alkalmatlan, a Java, erlang, python meg kifejezetten támogat (net, clustering, threading és locking...).
- A hozzászóláshoz be kell jelentkezni
persze, mindent a technologia es annak hasznalata _egyuttesen_ hataroz meg, ezert van az, hogy gyorsabban generalok xml-t adatbazisbol, ha perl-t hasznalok middletiernek, mintha az oracle xml-ben, "hozzaertok" altal megirt kodot hasznalnam.
--
"SzAM-7 -es, tudjátok amivel a Mirage-okat szokták lelőni" - Robi.
- A hozzászóláshoz be kell jelentkezni
Az Oracle az adatbázis-kezelő. Ha valaki másra akarja használni, megérdemli :P
- A hozzászóláshoz be kell jelentkezni
Amin a facebook fut (felmilliard felhasznalo)
az C++-ra forditott, es nativra kompilalt PHP kod! :^D
On the other hand, scripting languages are known to generally be less efficient when it comes to CPU and memory usage. Because of this, it's been challenging to scale Facebook to over 400 billion PHP-based page views every month.
One common way to address these inefficiencies is to rewrite the more complex parts of your PHP application directly in C++ as PHP Extensions.
;^)
----------------------
"ONE OF THESE DAYS I'M GOING TO CUT YOU INTO LITTLE PIECES!!!$E$%#$#%^*^"
- A hozzászóláshoz be kell jelentkezni
nemtom hogy olvastad-e, de pl. rasmus is irta, hogy nagyon keves olyan webalkalmazas van, amiben mar a logikai/matematikai/string muveletek vegrehajtasanak a C-hez hasonlitott sebessegkulonbsege a legnagyobb problema.
altalaban ez az utolso dolog ami optimalizalni akarsz.
valszeg a facebook-on mar olyan optimalis volt a kod, hogy megerte meghozni ezt a lepest.
mig mondjuk egy atlag webappon valamilyen cache bevezetese, vagy az adatbazis skalazasa tobb nagysagrenddel gyorsitja a lapletolteseket, mint az, hogy milyen gyakran olvassa be, parseolja fel a php kodot az interpreter (jo esetben memoriaba cachelt filebol, vagy megjobb esetben bytecode-bol)
Tyrael
- A hozzászóláshoz be kell jelentkezni
Nagy forgalmu portalokrol volt szo, nem atlagos weboldalakrol!
----------------------
"ONE OF THESE DAYS I'M GOING TO CUT YOU INTO LITTLE PIECES!!!$E$%#$#%^*^"
- A hozzászóláshoz be kell jelentkezni
nagy forgalmu portalok alatt is ez a tendencia.
myspace evekig dobalta a csunyabnal csunyabb hibauzeneteket, amig tudtak ala irni normalis kodot, meg rakni ala normalis rendszert.
el sem tudok kepzelni, hany nagyforgalmu oldalnal vannak olyan szakemberek, akik szerint a clusterezes az az, hogy kulon vasra teszed az sql szervert.
elso korben sosem az nyelv lessz a szuk keresztmetszet, hanem az adatbazis, a fajlrendszer, a halozat, a cache (pl. asszem facebook-nal csinaltak meg azt, hogy atirtak a memcache-t udp alapu kommunikaciora, es 3szor vagy 4szer annyi klienst tudott kezelni igy 1-1 szerver)
ezeken tobbet lehet optimalizalni, mint amit az az 50%, amit a hiphop a facebooknak hozott:
http://developers.facebook.com/hiphop-php/
es ennek a gyorsulasnak egy resze szerintem siman abbol jon, hogy a hiphop nem csak egy php -> c++ konverzios program, hanem egy lightweight webszerver is.
es ezt hasonlitgatjak az apache+php kombohoz. vicc.
Tyrael
- A hozzászóláshoz be kell jelentkezni
wicket +sok. Ehhez kapcsolódóan a brix-et ismered? (http://code.google.com/p/brix-cms/)
Ha gyorsan látványos web-es guit kell csinálnia, akkor még szóba jöhet a ZK is.
- A hozzászóláshoz be kell jelentkezni
Nehany itteni hozzaszolasban talalkoztam olyan felhangokkal, hogy ugyan azt a megoldast javaban implementalva jobb penzert lehet eladni.
Ez tenyleg igaz ?
Valoban jobb bevetelekre szamithat az ember, ha Javaban dolgozik, meg ha ez mas szempontokbol nem is lenne indokolt ?
Nem. Termeszetesen a penz nem nyelv, hanem feladat fuggo. Ugy mar inkabb igaz, hogy jelenleg a legjobban fizetett feladatok nagy reszehez java/.net technologiakat hasznalnak. Magyaran java-val/.net-el jelenleg nagyobb az eselyed arra, hogy olyan projectben vegyel reszt, ami jobban fizet, mint egy php/ruby/python project. Viszont az is igaz, hogy nagy altalanossagban zarodik befele ez az ollo, es vannak teruletek (pl az itt sokat citalt web), ahol gyakorlatilag be is zarult. Es persze vannak teruletek, ahova szvsz sose fognak hatekonyan betorni ezek a nyelvek + a rajuk epulo technologiak.
- A hozzászóláshoz be kell jelentkezni