Potřebné znalosti pro pozici Java junior

javaman

Re:Potřebné znalosti pro pozici Java junior
« Odpověď #45 kdy: 13. 07. 2016, 22:30:41 »
Co to je za nesmysly s tou doménou? Proč bych řešil nějaké komunikace, které se můžu případně doučit během chvíle v práci? To je jako jít do banky už se znalostí bankovních protokolů :D


Tuxik

  • *****
  • 1 473
    • Zobrazit profil
    • E-mail
Re:Potřebné znalosti pro pozici Java junior
« Odpověď #46 kdy: 13. 07. 2016, 22:45:54 »
Co to je za nesmysly s tou doménou? Proč bych řešil nějaké komunikace, které se můžu případně doučit během chvíle v práci? To je jako jít do banky už se znalostí bankovních protokolů :D

Proč? Třeba proto, že když umíš jen matlat po večerech javu, aniž bys uměl řešit konkrétní problémy z konkrétní oblasti, tak prostě nemůžeš nastoupit jinak, než na junior pozici a za peníze násobně menší, než tvých vysněných 80k pro lopaty.
Skoro bych se tě zeptal, co alespoň trochu konkrétněji děláš, ale začínám mít tušení, že to budou zase nějaký naváděcí systémy střel pro němce a pro "rusi", navíc z donucení jako švarc na českej ŽL.

m.

Re:Potřebné znalosti pro pozici Java junior
« Odpověď #47 kdy: 13. 07. 2016, 23:59:10 »
Co to je za nesmysly s tou doménou? Proč bych řešil nějaké komunikace, které se můžu případně doučit během chvíle v práci? To je jako jít do banky už se znalostí bankovních protokolů :D

Tak a ted si se tak krasne odkopal...

Jurdo

Re:Potřebné znalosti pro pozici Java junior
« Odpověď #48 kdy: 14. 07. 2016, 07:55:23 »
Databáze jsou OK, ale nikdy jsem s nima moc dělat nemusel, i když je umím. Většinou jsou to nějaké lopaťácké věci - ne pro mě.
Otazne je, ci tie DB aj vobec ovladas - mozno nejaky select by si horko-tazko zvladol

Citace
O výdělku jsem nic neříkal ani vedle. Ale že 80k je pro lopaty, to je jasná věc.
Kiezby si ty mal aspon tych 80k ;) Javatroll ma niekolko nasobne menej.

Tuxik

  • *****
  • 1 473
    • Zobrazit profil
    • E-mail
Re:Potřebné znalosti pro pozici Java junior
« Odpověď #49 kdy: 14. 07. 2016, 08:30:06 »
Databáze jsou OK, ale nikdy jsem s nima moc dělat nemusel, i když je umím. Většinou jsou to nějaké lopaťácké věci - ne pro mě.
Tohle budu muset ukázat našemu DB guru :D Viděl jsi vůbec někdy jinou databázi, než tabulku v Excelu? Dokážeš použít pro konkrétní case správné řešení? Rozhodnout se mezi relační a sloupcovou databází? Kdy použít in memory? Víš o tom, že databáze mají vlastní jazyky, které jsou na zpracování některých úloh násobně rychlejší, než si data vytáhnout, přešmudlat je v javě a vrátit výsledek zpátky? A co třeba ovládání optimizerů v databázích? Pokud prohlašuješ, že databáze umíš, ale neděláš, tak to s velkou pravděpodobností znamená, že o nich vlastně nevíš nic a možná s googlem dáš dohromady nějakej jednoduchej select.

O výdělku jsem nic neříkal ani vedle. Ale že 80k je pro lopaty, to je jasná věc.
Takový nesmysly o 3 hodinách denně a stacisících za měsíc jsi tu plácal pár dní zpátky. Začíná to být blbý, když si člověk nepamatuje vlastní pohádky.


Martin

Re:Potřebné znalosti pro pozici Java junior
« Odpověď #50 kdy: 14. 07. 2016, 09:18:31 »
Pro sloupcovou databázi bych musel mít hodně dobrý důvod vzhledem k jejich nerozšířenosti.

Pokud je přešmudlání v Javě pomalejší než složitý dotaz nebo uložená procedura, pak je buďto špatný ovladač JDBC nebo špatně navržený algoritmus v Javě nebo hodně rychlá databáze. Z mojí zkušenosti s OpenSource diskovými databázemi je už od pár stovek záznamů rychlejší načíst samostatné tabulky a přešmudlat v Javě. V C++ je rozdíl ještě větší a navíc i ovladače pro C++ jsou rychlejší. S Oraclem za stovky tisíc zkušenost nemám a ani naše firma ji nechce koupit.

Částečně souhlasím s větou "Většinou jsou to nějaké lopaťácké věci - ne pro mě". Autor tím asi narážel na typické "informační systémy" vyvíjené v ČR. Tedy formuláře dříve ve formě "obrazovek", dnes ve formě webových stránek, kde něco vyplníte a to se pak zapíše do databáze. Ve složitějším případě se vstup primitivně validuje. Vrcholné umění takových "systémů" je sestava, ve které se spojí tři tabulky a kterou lze dokonce i filtrovat podle jednotlivých sloupečků.

Jediná "přemyšlecí" práce je dohadování se zákazníkem nebo v horším případě s člověkem, který předtím mluvil se zákazníkem a opoměl si vyptat důležité informace. Tedy žádné složité algoritmy, žádná umělá inteligence, nic pro "hračičky", jen nudná otročina a frustrující dohadování o zadání, kdy tápou programátor i jeho nadřízený.

podlesh

Re:Potřebné znalosti pro pozici Java junior
« Odpověď #51 kdy: 14. 07. 2016, 09:33:10 »
Pokud je přešmudlání v Javě pomalejší než složitý dotaz nebo uložená procedura, pak je buďto špatný ovladač JDBC nebo špatně navržený algoritmus v Javě nebo hodně rychlá databáze. Z mojí zkušenosti s OpenSource diskovými databázemi je už od pár stovek záznamů rychlejší načíst samostatné tabulky a přešmudlat v Javě. V C++ je rozdíl ještě větší a navíc i ovladače pro C++ jsou rychlejší. S Oraclem za stovky tisíc zkušenost nemám a ani naše firma ji nechce koupit.
WTF? Můžu se zeptat která "OpenSource disková databáze" nezvládne JOIN lépe než JDBC + Java?

Re:Potřebné znalosti pro pozici Java junior
« Odpověď #52 kdy: 14. 07. 2016, 11:33:08 »
...
Databáze jsou OK, ale nikdy jsem s nima moc dělat nemusel, i když je umím. Většinou jsou to nějaké lopaťácké věci - ne pro mě.

To s tím CRM byl vtip. Pokaždé je to úplně stejné a všichni se tváří, že staví kosmickou loď. To zvládneš i se základkou. Trochu DB, nějaký ty tlačítka na webu a máš aplikaci za miliony :D

O výdělku jsem nic neříkal ani vedle. Ale že 80k je pro lopaty, to je jasná věc.

 ;D  :D  ;D
Zelenaci?
 ;)

Tuxik

  • *****
  • 1 473
    • Zobrazit profil
    • E-mail
Re:Potřebné znalosti pro pozici Java junior
« Odpověď #53 kdy: 14. 07. 2016, 13:34:44 »
Pro sloupcovou databázi bych musel mít hodně dobrý důvod vzhledem k jejich nerozšířenosti.
Dovolil bych si poněkud nesouhlasit, Oracle 12C sloupcovou DB zvládá, Sap HANA je převážně sloupcová a spousta menších, ne moc známých, ale velmi dobře funkčních, třeba MonetDB. Většinou se sloupcové DB používají jako in memory. Spousta lidí by se divila, na co všechno je to vhodnější, než klasická řádkově orientovaná DB.

Pokud je přešmudlání v Javě pomalejší než složitý dotaz nebo uložená procedura, pak je buďto špatný ovladač JDBC nebo špatně navržený algoritmus v Javě nebo hodně rychlá databáze. Z mojí zkušenosti s OpenSource diskovými databázemi je už od pár stovek záznamů rychlejší načíst samostatné tabulky a přešmudlat v Javě. V C++ je rozdíl ještě větší a navíc i ovladače pro C++ jsou rychlejší. S Oraclem za stovky tisíc zkušenost nemám a ani naše firma ji nechce koupit.
Přešmudlání bude vždy pomalejší, už jen kvůli mezivrstvě, často je třeba započíst i síťové latence, pokud se nešmudlá přímo na serveru. Nehledě k tomu, že spousta javamanů je schopná kvůli každému přešmudlanému řádku poslat 5 dotazů a ještě zprasit logiku. Stored procedury jsou na opakující se přešmudlávání mnohem vhodnější a výkonnější, kolikrát není třeba ani to a stačí si vytvořit view.

Částečně souhlasím s větou "Většinou jsou to nějaké lopaťácké věci - ne pro mě". Autor tím asi narážel na typické "informační systémy" vyvíjené v ČR. Tedy formuláře dříve ve formě "obrazovek", dnes ve formě webových stránek, kde něco vyplníte a to se pak zapíše do databáze. Ve složitějším případě se vstup primitivně validuje. Vrcholné umění takových "systémů" je sestava, ve které se spojí tři tabulky a kterou lze dokonce i filtrovat podle jednotlivých sloupečků.
Ano, ale to jsou experti, kteří DB sice používají, ale neznamená to, že to umí. Je to jako tvrdit, že někdo umí programovat, protože si občas napíše dvacetiřádkovej skriptík.

Jediná "přemyšlecí" práce je dohadování se zákazníkem nebo v horším případě s člověkem, který předtím mluvil se zákazníkem a opoměl si vyptat důležité informace. Tedy žádné složité algoritmy, žádná umělá inteligence, nic pro "hračičky", jen nudná otročina a frustrující dohadování o zadání, kdy tápou programátor i jeho nadřízený.
Ano, to je častý problém při programování. Programátor nerozumí řešené problematice, zákazník vlastně neví co chce a když to náhodou ví, tak to buď neumí sdělit, nebo si to představuje strašně jednoduše. Nezřídka se stane, že sice zákazník chce vytvořit nový systém, ale ve finále by chtěl, aby vypadal a choval se jako ten starý. Pokud navíc dojde k tomu, že manažer firmy zákazníka domlouvá práci s manažerem firmy programátora, aniž by vlastně věděli, co kdo chce a co je možné, tak je to totální konec.

Martin

Re:Potřebné znalosti pro pozici Java junior
« Odpověď #54 kdy: 14. 07. 2016, 15:47:14 »
WTF? Můžu se zeptat která "OpenSource disková databáze" nezvládne JOIN lépe než JDBC + Java?
Např. Firebird. Teď nemylím, co je rychlejší, ale co ji spíš zadeadlockuje. Máme na Firebirdu trvale desítky až stovky zápisů za sekundu a pokud na něm zkusím složitý join, tak to někdy na chvíli zatuhne a výjimečně to vegenruje výjimku se zprávou o deadlocku. Jako ateista dám přednost šmudlání před modlením aby to nespadlo.

Martin

Re:Potřebné znalosti pro pozici Java junior
« Odpověď #55 kdy: 14. 07. 2016, 15:57:31 »
Nechci obhajovat šmudlání a přistupuji k němu, teprve při problému. Pokud join trvá dlouho, zkusím obě možnosti a zvolím rychlejší. Nebo když se objeví časová koincidence mezi pouštěním sestavy a havárií jinde. Ono by to asi jinak chodilo na pořádném hw a pořádné db. Naše firma nechápe, že pro m2m systém se stovkami zpráv za sekundu nestačí stejná platforma jako pro e-shop s pěti zákazníky za den.
Další důvod pro šmudlání může být spojení tabulek přes více databázových serverů, což také nebyl můj nápad. Ale můžu akorát šoupat nohama. Nejsem proti distribuované datbázi, pokud spolu umí komunkovat, což ty naše neumí (firebird, mysql, postgresql, mssql).

Jurdo

Re:Potřebné znalosti pro pozici Java junior
« Odpověď #56 kdy: 14. 07. 2016, 16:22:05 »
storovana procedura je vzdy rychlejsia, ako to robit cez nejaky framework, ktory pouziva ci uz Java, alebo C#, ci ine jazyky. Jednoducho je to holy fakt.

javaman

Re:Potřebné znalosti pro pozici Java junior
« Odpověď #57 kdy: 14. 07. 2016, 18:04:00 »
Přesně jak píše Martin, vy lopaty. On alespoň pochopil, co jsem tím chtěl říct a je vidět, že něco zažil. Vy tu akorát píšete pohádky o vysněném světě ve vaší hlavě.

gamer

Re:Potřebné znalosti pro pozici Java junior
« Odpověď #58 kdy: 14. 07. 2016, 18:17:54 »
Naše firma nechápe, že pro m2m systém se stovkami zpráv za sekundu nestačí stejná platforma jako pro e-shop s pěti zákazníky za den.
Další důvod pro šmudlání může být spojení tabulek přes více databázových serverů, což také nebyl můj nápad. Ale můžu akorát šoupat nohama. Nejsem proti distribuované datbázi, pokud spolu umí komunkovat, což ty naše neumí (firebird, mysql, postgresql, mssql).
No a není to tím, že prostě používáte špatné technologie? Co třeba Apache Kafka + Apache Spark? Určitě lepší, než se snažit vyřešit problémy lepením vlastní implementace databáze.

Jurdo

Re:Potřebné znalosti pro pozici Java junior
« Odpověď #59 kdy: 14. 07. 2016, 18:21:39 »
Obavam sa, ze Martin si ty javaman ;). Vymyslel si si novu prezyvku, napisal podobny nazor tvojmu, aby to vyzeralo tak, ze niekto s tebou suhlasi. Stavim sa, ze ty ani zensku nemas, neschopna lopato ;)