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 - BoneFlute

Stran: 1 ... 56 57 [58] 59 60 ... 133
856
Vývoj / Re:Ideálny programovací jazyk
« kdy: 15. 05. 2019, 20:31:39 »
každý operátor rovnosti, který podporuje i něco jiného, než primitivní typy, je kontraintuitivní, protože u složitějších typů vždy narazíme na to, že prostě není jasné, co je to rovnost.
Nemohu souhlasit. Stačí se na to dívat tak, že porovnáváte hodnotu versus identitu, a není problém.

Co naopak problém je, jsou technické/výkonnostní potíže. Ostatně proto, se soukromě domnívám, ty objekty jsou řešené jako reference.

857
Vývoj / Re:Ideálny programovací jazyk
« kdy: 15. 05. 2019, 20:26:54 »
No ale tohle je přesně to, na co narážím. Funkce equals nebo operátor== můžou být úplně stejně neintuitivní a matoucí. Zákaz přetěžování operátorů nevyřeší vůbec nic. Když autor knihovny pojmenuje funkci blbě, tak je vlastně úplně jedno jaké přesné ascii znaky to jsou.
V Javě právě úplně stejně neintuitivní a matoucí být nemohou. Protože operátor == je definován specifikací Javy a žádný uživatel nemůže udělat matoucí variantu operátoru ==. Jediné, co je na operátoru == v Javě matoucí, je to, že ho lze použít i na porovnání objektových typů a pak porovnává reference. Na druhou stranu, když se podíváte na okolní jazyky, má to tak i C, C++, JavaScript – a pro někoho by zase bylo matoucí, kdyby Java operátor == pro objekty měla zakázaný.

Připomínám předmět vlákna. Bavíme se o ideálním jazyce. Ne o nejhorších možných, na které si člověk může vzpomenout. C, C++, JavaScript jsou všechno možné, jen ne nematoucí.

858
Vývoj / Re:Ideálny programovací jazyk
« kdy: 15. 05. 2019, 16:39:13 »
To, že operátor == v Javě porovnává hodnoty primitivních typů a reference u objektů mi nijak neintuitivní nepřipadá.
Je to kontraintuitivni - jestlize o Jave nic nevim, muzu si rict tak leda "WTF" - vubec me nenapadne, proc by se to jednou melo chovat tak a jindy jinak.

Uz to samotne vase "jenom pro větší čísla" ukazuje na neco, co vypada divne. "Vetsi cisla"? To je co? Vime to? Je to nekde v dokumentaci? Nebo se to chova "nahodne" (podle toho, jak velky je zrovna ten pool)?


Kdo o Javě nic neví, tak musí pochopit, že == na objektech porovnává reference. A že pokud porovnává objekty, které neudělal, tak je to implementačně závislá věc. Ten efekt se může dít u jakékoli knihovny apod.

Myslím, že u jakékoli jiné implementace toho operátoru bych musel napsat mnohem víc, abych vysvětlil jeho chování. A že takové jazyky máme a jsou i rozšířené :-)

Myslím, že vzhledem k tématu tohoto vlákna je to jedno, proč to Java má tak jak to má. Intuitivní to není, a to je to, oč tu běží. Já bych takovouto schízu v Ideálním jazyce nechtěl.

859
Vývoj / Re:Ideálny programovací jazyk
« kdy: 15. 05. 2019, 14:37:53 »
Já nejsem ten, který tady ze sebe dělá hlupáka. Jednou se to rovná, a podruhé ne. Právě ten, kdo chápe ten rozdíl, by nad tím měl kroutit hlavou...
Vážně byste si měl nastudovat rozdíl mezi hodnotou a referencí. Představte si, že máte na tabuli napsaná čísla, a pak tam přidáváte šipky, které na ta čísla ukazují. Na jedno číslo může ukazovat víc šipek. To, že máte v ruce dvě různé šipky, neznamená, že obě šipky nemohou ukazovat na stejné číslo. Pokud chcete porovnávat čísla, musíte se dívat, kam šipka ukazuje, ne na šipku samotnou.

A vo tom to není, že áno. Nepochybuji o tom, že rozdílu mezi hodnotou a referencí moc dobře rozumí.

860
Vývoj / Re:Ideálny programovací jazyk
« kdy: 15. 05. 2019, 14:33:25 »
Java také nebude ten ideální jazyk...  8)
Kód: (Java) [Vybrat]
public class HelloWorld
{
  public static void main(String[] args)
  {
    Integer a = 1024;
    Integer b = 1024;
    System.out.print(a == b); // false
  }
}

Vysvětlil by mi někdo, co se tam děje? Kdyby to bylo něco mimo rozsah 32b intu, tak bych to pochopil. Ale 1024 je furt zatraceně málo.

Integer je v Javě objekt (na rozdíl od int). A k objektům se přistupuje vždy odkazem a nikoliv hodnotou. Tudíž výraz a == b neporovnává dvě shodná čísla, ale dva různé odkazy na stejné číslo.

861
Vývoj / Re:Ideálny programovací jazyk
« kdy: 15. 05. 2019, 12:38:32 »
Java také nebude ten ideální jazyk...  8)
Kód: (Java) [Vybrat]
public class HelloWorld
{
  public static void main(String[] args)
  {
    Integer a = 1024;
    Integer b = 1024;
    System.out.print(a == b); // false
  }
}

Franta má 1024 Kč, Pepa má také 1024 Kč. Pepa je Franta.
Což ten kód neříká, že áno. V tom je ten podraz.

862
já hledám způsob jak si vzít konkrétní klíč a jeho hodnotu a tu vsadit do attributu html elementu
běžně používám:
< span onmouseover="nhpup.popup('tralala');">something</span>
potřeboval bych namísto 'tralala' dosazovat hodnotu konkrétního klíče

A to "tralala" bude kde?

863
Vývoj / Re:Návrh relační databáze
« kdy: 26. 04. 2019, 15:17:58 »
Já bych se zeptal jinak: Jak je možné, že u tolika projektů je problémem č. 1, jak dostat data do a z relační databáze. To nedává smysl - buďto je formát dat projektu vhodný na RDB, nebo se na ni vy*eru a použiju něco, kde nebudu potřebovat rovnáky na ohýbáky.

Protože relační databáze jsou dlouhodobě nejvymazlenější nástroj co se manipulace s daty týče. Samozřejmě bychom mohli prohlásit, že tak ať se lidé seznamují s novinkami, a ono by se nakonec něco vytvořilo, jenže znáš to.

864
Vývoj / Re:PHP PDO - SQL Update
« kdy: 16. 04. 2019, 14:52:17 »
díky za podněty...
naznal jsem, že nejlepší bude v databázi vytvořiit sloupec ID a na něm AutoIncrement
a Update provádět přes tento ID, který se nikdy nezmění

Použití ID je takové klasické řešení, ale není úplně nutné. To, jak to popsal @Onehalf přesněji řeší tvůj problém.

865
Vývoj / Re:práce s JSON objekty v AJAX Success
« kdy: 28. 03. 2019, 22:38:05 »
použil jsem
Kód: [Vybrat]
for(var i = 0; i < json.length; i++) {
    if (json[i].message == 'EXISTUJE!!!') {...}

funguje, ale pokud někdo zná lepší řešení, nechám se poučit

Hlídej si, aby ti server vracel správnou hlavičku, a pak ti to většina knihoven zohlední. Takže parsovat netřeba.

Tak ja to děláš je cca cajk.

Nejrychlejší způsob, jak zjistit, co ti přiteklo v tom success je si to vypsat na konzolu. Hned vidíš, jestli je to text, nebo struktura.

866
Vývoj / Re:PHP PDO - SQL Insert pouze když záznam neexistuje
« kdy: 19. 03. 2019, 16:09:41 »
Kite...díky..nechám si od zkušených jako Ty rád doporučit správný postup, ale domnívám se, že primární klíč nezajistí aby se do sloupce  nedostal stejný záznam/hodnota. Pokud se mýlím, tak pak nechápu ten princip.

Pravděpodobně máš na mysli, že hodnotu co chci kontrolovat by byla primárním klíčem.

S oblibou mám složené primární klíče nad více sloupci. Pokud to dává z logiky věci smysl nebo tomu nebrání něco jiného. Pokud to nejde, tak tam přihodím unikátní klíč. Tím mám zajištěno, že mi to bude hlídat databáze - což upřednostňuju.

Například můžu mít PK nad všemi čtyřmi sloupci: Letter, Commission, Status, DeliveryDate. Což ale samozřejmě nebude to co chci, protože pak mi tam vleze stejný Letter + Commission díky tomu, že se to bude lišit třeba Statusem.
Takže se zamyslím nad tím, co chci:
Letter může být duplicitní, když se liší Commission, jinak ne. Takže udělám PK Letter + Commission.
Pak nechci duplicity nad Statusem, takže přidám UQ Letter + Commission + Status a UQ Letter + Commission + Status + DeliveryDate.
- Nebo naopak UQ Letter + Commission + Status a UQ Letter + Commission + DeliveryDate.
- Nebo jen UQ Letter + Commission + Status + DeliveryDate.

Všechno záleží na logice těch dat. Ale mělo by to jít vyjádřit tak jak jsem naznačil.

867
Vývoj / Re:PHP PDO - SQL Insert pouze když záznam neexistuje
« kdy: 18. 03. 2019, 20:42:49 »
Ještě by mne zajímalo pokud mám v Ajaxu dataType: "json",
a v php vracím pomocí echa prostý text, jak s takovýmto response v Ajaxu zacházet v success?
Ajax bude i v response očekávat json?
Nebude. Pokud se nebude pokoušet o nějakou automagii. A i kdyby ano, tak si třeba na textu vyláme zuby (pokud se zrovna netrefíte na Null, False, True, možná číslo).

Pokud máte datatype json tak z PHP posílejte taky json:

Kód: [Vybrat]
print(json_encode(array("text" => "tohle je ten text")));

Teoreticky by to nemělo stačit. Ještě je důležité posílat hlavičku:
Kód: [Vybrat]
header("Content-Type: application/json");

868
/dev/null / Re:Jak se naučit výborně anglicky?
« kdy: 27. 02. 2019, 13:15:45 »
nerozumel som preco je tam to, alebo ono, ked to tam vobec nepasuje a nedava to zmysel.
Smysl v tom hledat nesmíš :-)

"You are welcome" znamená "není zač", páč angličani jsou národ obchodníků. Takže jsi vlezl do krámu, udělal jim kšeft, řekl děkuju a oni na to "přijď zas, jsi vítán" :-)

869
/dev/null / Re:Jak se naučit výborně anglicky?
« kdy: 27. 02. 2019, 12:55:28 »
Moje paní se naučila anglicky ze seriálů. Je fakt, že asi na to má cit, páč je schopna mluvit ve třech dialektech :-) Ve škole se prý angličtinu učili, ale z toho že nemá nic. To že až později.

Stran: 1 ... 56 57 [58] 59 60 ... 133