Zobrazit příspěvky

Tato sekce Vám umožňuje zobrazit všechny příspěvky tohoto uživatele. Prosím uvědomte si, že můžete vidět příspěvky pouze z oblastí Vám přístupných.


Příspěvky - Ondrej Nemecek

Stran: 1 ... 36 37 [38] 39 40 ... 90
556
Vývoj / Re:M:N kardinalita medzi tabulkami v odlisnych schemach
« kdy: 30. 11. 2019, 17:53:57 »
Prosim nerieste tu integritu, triggery ani nic podobne :) otazka bola len aky je podla vas spravny navrh tabuliek. Vazobna tabulka v scheme picture kde bude id obrazka, a uuid akejkolvek inej entity (vdaka uuid) alebo schema picture bude obsahovat len zadefinovane obrazky, a to k comu sa viazu sa bude riesit v kazdej scheme zvlast, teda foo schema bude mat tabulku s foo_id a picture_id, bar schema bude mat tabulku s bar_id a picture_id a pod.

Máš tabulku foo, která vazbí N obrázků z tabulky picture. Pak máš tabulku boo, která vazbí N obrázků z tabulky picture. Tak?

V takovém případě bych měl pro každý extra vazební tabulku.
foo -> foo2picture -> picture
boo -> foo2picture -> picture

Dakujem

IMHO to mělo být

Kód: [Vybrat]
foo -> foo2picture -> picture
boo -> boo2picture -> picture

Moje alternativa byla přidat do vazební tabulky sloupec s typem, podle kterého se hledá boo nebo foo, takže lze přes jednu vazební tabulku vázat různé typy, je to ale specifické nestandardní řešení, které se hodí jen někdy:

Kód: [Vybrat]
foo -> picture_assignements(type = foo) -> picture
boo -> picture_assignements(type = boo) -> picture

Ale s ohledem na způsob dotazu a reakcí tazatele bych doporučil se držet standardního postupu, tj. první varianty.

557
Vývoj / Re:M:N kardinalita medzi tabulkami v odlisnych schemach
« kdy: 30. 11. 2019, 15:14:23 »
IMHO záleží, jak jsou ta schémata koncipovaná, co které obsahuje. Technicky je možné oboje. Jedna vazební tabulka se dá použít pro M:N vazbu různých entit (i když to asi není z hlediska SQL nejčistší řešení). Viz třeba Discriminator v Hibernate nebo Polymorphic associations v ActiveJDBC (jde sice o odkazy na ORM, ale mimo jiné ukazují praxi).

Teda já nevím, ale jak chceš řešit cizí klíče, když ti jednou vazební tabulka bude ukazovat do Foo, a na jiném řádku do Boo?

Je to vybočení z SQL konceptu, ale integrita se dá zajistit třeba triggerem. Typ je prostě veden ve sloupci. Někdy se to IMHO hodí, jak ukazují i ty odkazy na ActiveJDBC a Hibernate. Vše co tvrdím je, že je to možno zvážit jako variantu s ohledem na okolnosti.

558
Vývoj / Re:M:N kardinalita medzi tabulkami v odlisnych schemach
« kdy: 29. 11. 2019, 22:58:24 »
IMHO záleží, jak jsou ta schémata koncipovaná, co které obsahuje. Technicky je možné oboje. Jedna vazební tabulka se dá použít pro M:N vazbu různých entit (i když to asi není z hlediska SQL nejčistší řešení). Viz třeba Discriminator v Hibernate nebo Polymorphic associations v ActiveJDBC (jde sice o odkazy na ORM, ale mimo jiné ukazují praxi).

559
Vývoj / Re:Indexování v databázi
« kdy: 24. 11. 2019, 17:57:37 »
Jen doplním viz níže.

1.) Řekněme, že se uživatel přihlašuje pomocí svého emailu. V databázi je defaultně nastavený index na ID uživatele. Měl by být nataven index na atribut email v databázi? Je to správně či ne?

Ano, dát index na email.

2.) V aplikaci dochází často k vyhledávání nějakého objektu (knihy, dokumentu etc) pomocí titulu. Ten SQL dotaz používá:
SELECT * FROM kniha WHERE id=1 AND titul LIKE %vyhledávaný_požadavek%;  Měl by být použit index na ten titul na knize? Případně jak by to mělo být uděláno, když je používáno pro vyhledávání LIKE?

Při použití title LIKE '%vyhledávaný_požadavek%' index nepomůže, pomohl by pokud by se hledal celý titul title = ''. Pro efektivní hledání v textu je buď fulltext který umí třeba Mysql https://dev.mysql.com/doc/refman/8.0/en/fulltext-search.html nebo GIN, GiST a trigramové indexy, které umí je třeba Postgres https://www.postgresql.org/docs/9.5/textsearch-indexes.html https://www.postgresql.org/docs/current/pgtrgm.html

3.) V aplikaci dochází k vyhledávání vydaných knih v nějakém časovém horiozontu (měsíc/rok). Takže SQL dotaz potom vypadá:
SELECT * FROM kniha WHERE year(datum_vydani)=:uživatelsky_zadaná_rok AND month(datum_vydani) = :uživatelsky_zadaný_měsíc. Měl by být v tomhle případě použit index na datum_vydaní?

Indexování datum_vydani moc nepomůže, jelikož na datum_vydani voláte funkci year, potřebujete zaindexovat až výsledek tohoto volání, nikoli vstupní argument. Pokud databáze umí funkční indexy  máte to vyřešené, jinak musíte řešit buď dalším sloupcem (nehezké řešení) nebo úpravou dotazu tak, aby hledat dle rozsahu data (porovnání datumu je rychlé).

560
/dev/null / Re:Těžké OOP problémy
« kdy: 15. 11. 2019, 00:54:36 »
Co myslíš tím „ideologizující“ teorie? Jungovy teorie? Pro mě to je jeden z mála přístupů k náboženství, který dává smysl věřícímu i nevěřícímu a který není úplně tupý. Ověřit si to může každý sám na sobě a Jung k tomu vyzýval.
Teorie, které si prvně stanoví nějaký vševysvětlující princip a pak se ho snaží všude najít. V kombinaci s obtížnou experimentální ověřitelností v psychologii mi to přijde nebezpečný. Ale ber to s hodně velkou rezervou, nejsem žádný psycholog, je to čistě subjektivní pocit.

I když lidé mohou mít oproti Jungovi kde co, nevím o nikom, kdo by existenci nevědomí v dnešní době popíral. IMHO je to dost vhodný pojmový aparát pro debatu o víře a náboženství. Je zde mnohem větší šance, že se dohodneme, než když se budeme bavit přímo o Bohu (kde je jaksi z principu nabíledni, že se a priori bavíme o něčem, co nás kvantitativně o několik řádů přesahuje a s čím se osobní zkušenost získává a prokazuje podstatně obtížněji).

Myšlenka na všezahrnující a vševysvětlující princip je pro člověka mimořádně lákavá - pro vědce, nevědce, veřící i nevěřící. Souhlasím, že je dobré to vidět a reflektovat. Tento sklon lze ostatně dobře ilustrovat i na poli vědy. A IMHO to má svoje příčiny právě na úrovni psychologie, neboť takový princip může suplovat náboženství. Souhlasím, že je obezřetnost je na místě, neboť to může vést na scestí, kdy se lidé budou klanět polofunkční modle.

561
/dev/null / Re:Těžké OOP problémy
« kdy: 14. 11. 2019, 21:07:47 »
Dobře pojaté náboženství především vytváří rámce pro vědomější prožívání obsahů z nevědomí, což působí jako prevence proti nekontrolovatelnému ovládnutí člověka z hlubin nezpracovaného nevědomí. Viz Jung a jeho analýza psychologických kořenů druhé světové války.
Mě tyhle "ideologizující" teorie moc neberou. Jako esej dobrý, ale jako věda mi to moc nevoní (pokud to někdo nedoplní nějakým slušným ověřujícím výzkumem).

Co myslíš tím „ideologizující“ teorie? Jungovy teorie? Pro mě to je jeden z mála přístupů k náboženství, který dává smysl věřícímu i nevěřícímu a který není úplně tupý. Ověřit si to může každý sám na sobě a Jung k tomu vyzýval.

562
/dev/null / Re:Těžké OOP problémy
« kdy: 13. 11. 2019, 08:37:51 »
Podle ocitych svedku verici o dost lepe odolavali teroru v jak nacistickych tak komunistickych lagrech, a tim padem napraskaskali mene kamaradu. Jestli se to da povazovat za prinos necham na vasem posouzeni....
Zdroj?
Tohle je asi dost těžko nějak prokazatelné, rozhodně ale existuje spousta pozitivních efektů náboženství, které jsou relativně dobře měřitelné. Na sociologické úrovni je to větší koheze společnosti vlivem většího respektu k autoritám a normám (klíčové slovo "anomie") a menší množství některých patologických jevů, třeba rozvodů.

Na psychologické úrovni to budou nejspíš hlavně důsledky toho, že člověk má pocit nějakého smyslu života a nějaké vyšší, "konečné" spravedlnosti (=> menší množství depresí a sebevražd?). Mám pocit, že psychologové tohle ví a občas zkouší ty stejné pozitivní efekty dosahovat něčím podobným, ale nenáboženským - viz třeba Fromm, nebo všelijaké ty nenáboženské meditace/relaxace.

Samozřejmě zároveň má náboženství i spousty negativních důsledků, často je to odvrácená strana toho výš napsanýho, jako třeba manipulovatelnost, zneužitelnost, nekritické přijímání autorit apod. U pravoslavných a tradicionalistických římskokatolíků pak třeba sklon k nacionalismu až fašismu (ne nacismu). U římskokatolíků pak ještě (imho) dost křečovitý vztah k sexualitě. Odvrácenou stranou menšího počtu rozvodů by mohla být frustrace a domácí násilí.

Každopádně ale takhle se nikdo nerozhoduje, že by si řekl "chci být psychologicky odolnější, budu věřící!" Spíš bych ten proces přirovnal k lásce - nějak se to stane, zpočátku je to silné a divoké a v průběhu let se objeví třecí plochy a člověk se musí naučit s partnerem žít :) V různých fázích tam emoce a racionalita hrají různou roli a u různých lidí je to různé. Těžko se ale někdo rozhodne "chci se zamilovat"...

Dobře pojaté náboženství především vytváří rámce pro vědomější prožívání obsahů z nevědomí, což působí jako prevence proti nekontrolovatelnému ovládnutí člověka z hlubin nezpracovaného nevědomí. Viz Jung a jeho analýza psychologických kořenů druhé světové války. Stejnou funkci může mít ale nejen náboženství, což se pochopitelně církvím moc nelíbí. Jung říká, že popřením mýtu jakožto přežitku jsme se dostali do područí mýtu, aniž bychom o tom ovšem věděli a tím jsme si jen a pouze nadělali do kalhot. Jako přiměřené době vidí Jung něco jako aktualizovaný a individualizovaný mýtus, který si každý vytváří sobě na míru, nemá zde jít ale o pouhou fantazii nebo libovůli, ale o rozhovor se svojí psýché. Odtud lze pak odvodit i ty pozitivní a ambivalentní důsledky náboženství. Je to tady ale hodně OFF-TOPIC  :)

563
/dev/null / Re:Těžké OOP problémy
« kdy: 12. 11. 2019, 15:13:25 »
Navrhuji napsat hádkového bota pro fórum root.cz  :) Ušetřilo by to místním spoustu času  :D

564
/dev/null / Re:Těžké OOP problémy
« kdy: 08. 11. 2019, 16:09:29 »
Abysme si rozuměli:

(...)

3. Kdyby si někdo dal trochu práce, určitě by se výš napsané dalo ověřit relativně tvrdými daty.

Např.:
https://towardsdatascience.com/finding-the-real-top-stack-overflow-questions-aebf35b095f1
- seznamu vévodí triviální otázky jako "How to get the number of elements in a list in Python?"

https://stackoverflow.com/questions?sort=votes
- první striktně programátorská "jazyková" otázka je "What does the “yield” keyword do?"

https://www.quora.com/Im-having-difficulty-in-understanding-asynchronous-JavaScript-topics-like-callback-promise-and-async-await-is-there-any-easy-way-to-understand-these-topics

To ale nic nedokazuje - není to reprezenattivní skupina. Začátečníci se budou přirozeně ptát víc a na triviálnější otázky, protože neznají ekosystém a tápou i v tom, odkud brát informace. Pokročilejší si častěji poradí sám a ptá se, až když je nutno.

565
Software / Re:Čtení matematických skript na Kindlu
« kdy: 08. 11. 2019, 11:09:30 »
Pošlete odkaz na tu html stránku s tou matematikou. Záleží, jak je tam matematika řešena (je více cest s různými vlastnostmi: entity,  HTML Math, obrázky, specializované fonty, svg, javascriptové knihovny...). Podle toho pak i konverze html -> pdf proběhne lépe či hůře. Osobně bych do pdf konvertoval přímo pomocí prohlížeče - bude tam asi nejlepší šance na rozumný výstup.

Vektorové pdf by se mělo zobrazit přijatelně všude. Naproti tomu pdf s odkazem na písma potřebuje mít písma instalovaná, což u matematických písem vetšinou nebude splněno. Rastrové pdf bude fungovat, ale zobrazení nebude moc kvalitní.

566
Vývoj / Re:UX - aktualizacia json dokumentu
« kdy: 05. 11. 2019, 17:41:13 »
Preberal som to na slacku a v konecnom dosledku to bude najlepsie nechat ako je - tzn. na aktualizaciu dokumentu sa skrata posle cely dokument. Nejde o velky dokument takze az taky problem to nie je ako by to bolo v pripade par megoveho, pripadne vecsieho dokumentu.

Pokud zapnete na transportní vrstvě kompresi, ušetříte hodně dat a pak nebudou problém ani soubory v řádu MB. Lehce se tím zvednou nároky na CPU při intenzivním provozu, ale nic dramatického. Takže pokud to vaše transportní vrstva podporuje, stojí komprese za zvážení.

567
Software / Re:Firefox neukládá hesla?
« kdy: 05. 11. 2019, 15:39:10 »
Funguje to trochu divně. Někdy to našeptává uživatelské jméno, jindy se pouze doplní heslo při ručním vyplnění uživatelského jména.

568
Vývoj / Re:UX - aktualizacia json dokumentu
« kdy: 05. 11. 2019, 15:37:19 »
Jaká je motivace? Ušetřit přenos dat?

Existuje JSON_Patch https://en.wikipedia.org/wiki/JSON_Patch

Nebo bych uvažoval bych nad triggerem, který se spustí po nahrání souboru a provede formátování jsonu (indentace, odřádkování) a jiným triggerem, který se spustí po nahrání normálního diff patch souboru (provede merge). Klient by posílal patche vůči formátované verzi dokumentu (tu by si musel taky vyrobit), problém by byl v případě konfliktu více verzí (více uživatelů pošle vzájemně si odporující verze dokumentu). Nebo by šel použil rovnou verzovací systém, který tohle přesně dělá. Pak by nemusel být systém ani omezený jen na JSON.

569
Software / Re:Sledování průběhu práce na SW projektu
« kdy: 05. 11. 2019, 15:30:09 »
Dík za reakci. Toto vypadá zajímavě, ale příjde mi že to je příliš svázané z repozitářem. Měl jsem na mysli něco odděleného od internetu co běží naprosto nezávisle.

Můžete mít git nainstalovaný lokálně.

570
Vývoj / Re:Jak vytvořit vlastní debugger?
« kdy: 03. 11. 2019, 15:42:34 »
Neřešil. Ale je to zajímavé téma. Co třeba umožnit registrovat pozorovatele ve stylu AOP. Tedy můžeš si zaregistrovat jednu nebo více funkcí na místo určené selektorem. Něco jako breakpoint. Když kód přijde na to místo, tak té funkci předá aktuální stav (nutné deepclone). To by nešlo?
Samozřejmě když by si chtěl sledovat všechno, tedy plnohodnotný debuger, tak by se dal selektor na hvězdičku.
jestli je to interpret, breakpoint jde realizovat eval smyckou
Přesně tak, mohlo by jít místo načtení kódu ze souboru jej načítat interaktivně z nějaké konzole. Tak to lze leckdy odladit interaktivněji, než pouhým logem do souboru.
já to myslel naopak, vložit eval smyčku do bodu breakpointu. V pythonu neco takoveho
Kód: [Vybrat]
while True:
    s = input()
    if s == 'c':
        break
    print(eval(s))

Nebo tak. Pokud se někam zapisují skripty, které pak aplikace vyhodnocuje, může ten skript sám provádět eval. Ale je to jen rychlý hack který nemusí vždy vyhovovat...

Stran: 1 ... 36 37 [38] 39 40 ... 90