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

Stran: 1 ... 11 12 [13] 14 15 ... 25
181
Vývoj / Re:Dalsi, UZ POSLEDNI KIKS V PYTHONU
« kdy: 01. 04. 2020, 02:30:29 »
Takze tohle uz je posledni vec, kterou me nastval Python. Prohlasuju, ze v Pythonu je VETSI BORDEL nez v Javascriptu. Dictionary v Pythonu nezachovava order klicu!!! A ne, nebudu se stvat s OrderedDict.

Takze kdyz si pri vyvoji microservices prevedu JSON na Dict, tak potom zpetne prevod Dict na JSON mi negarantuje order => bordel.

Takze tohleto je konecna. Prace s JSONem je v Pythonu totalni vopruz. Ja jsem chtel Python na rychlou vyrobu microservices, ale v porovnani s Node.js se Python proste nechyta.

Python je proste rokama zabordeleny jazyk. A nema zadne batteries included. To co je ve standarni knihovne je +- podobna slabota, jako to co ma Java v SDK. Stejne se vsechno musi dotahovat z vnejsich zdroju. A nekompatibilita mezi verzema Pythonu navic stejne nuti pouzivart virtual environment.

Bohuzel. Python je dobry tak leda pro nejake ty "data science" bastlire. Jinak je i skoda Python nekde zavadet - zbytecna otrava. Bash skripty to efektivne nahradit nedokaze, a na Node.js se to nechyta.

Neni to bordel, jenom si hrajes s ostry nozem, ktery ti nepatri do ruky. Python je na tebe moc tezky, nemas na nej. Nepristupujes k nemu s pokorou, myslis si ze z Javy vsechno znas a umis a leda houby, Python se nepouziva jako Java.

Dict je zakladni datova struktura Pythonu, ktreou pouziva vsude, na jejim vykonu proto podstatne zalezi vykon Pythonu. Zachovavani poradi neni zadarmo a pritom vetsinou neni potreba. Proto Python poskytuje ordered i neordered dict. Ty jsi trubka, ktera to nevi, a pak se divi, ze pouziva spatnou datovou strukturu, tj. ma navrzeny spatny datovy model a pak breci, ze musi predelavat pulku programu. To je tvoje vlastni neschponost, python je jednoduchy, ale ne blbuvzdorny, to prave naopak. A muzu ti garantovat, ze at pouzijes jakykoliv jazyk, treba i v Haskell, vzdycky narazis, kdyz nebudes znat jeho datove typy.

182
Vývoj / Re:Dalsi kiks v Pythonu!!!
« kdy: 01. 04. 2020, 02:20:13 »
Dalsi tvuji kiks, i male dite vi, ze nema pouzivat import *. Co se tyce osklivosti, cely koncept ORM je hloupy a osklivy. ORM je imho jen dusledek pristupu "neumim databaze a nechce se mi to ucit ani zaplatit odbornika". Takze s trochou nadsazky, je to reseni od patlalu pro patlaly. A vzhledem k urovni OOP v jave, to co je prasarna v tomto jazyku, nemusi byt prasarna v jinem. Bez ohledu na tuto knihovnu, se kterou jsem nikdy nedelal a ani nebudu a neposuzuji ji. Jestli hodlas python pouzivat jako javu, nikdy nebudes spokojeny, python neni java, v pythonu musis myslet jinak, odvolavam se na principy DRY a KISS.

Nonsense.
1. I male dite vi, ze frajer pouzije ORM pokud muze, protoze mu to snizuje bordel v kodu.
2. Co je DRY a KISS na tom, ze si potom nemuzu z instance te modelove tridy vygenerovat Dictionary? Java to ma mnohem vice DRY a KISS nez tady ten Python.
[/quote]
1) Frajer mozna, zkuseny programator se tomu instinktivne vyhyba, protoze je to AntiPattern: https://www.zdrojak.cz/clanky/orm-je-antipattern/ Jestli bez ORM neumis napsat nezabordeleny kod, tvu jproblem.
2) DRY a KISS se vztahuje k dedicnosti a intrfacum, kdy nevyhodu vydavas za vyhodu. Aniz bych posuzoval tu knihovnu a snazil se rozklicovat, zda je chyba v tobe nebo v ni, knihovna neni Python. Jdes na vsechno desne blbe blbe.

183
Vývoj / Re:Dalsi kiks v Pythonu!!!
« kdy: 01. 04. 2020, 01:58:27 »
Dalsi kiks v Pythonu, a uz me ta platforma fakt zacina stvat.

SQLAlchemy.
Zaprve, pekne voskliva a komplikovana knihovna.
Zadruhe, i malinke dite vi, ze proste nemuzu v ramci takove knihovny naimplementovat jakousi agregaci modelovych trid pres inheritanci!!! Tohle by v Jave byla naprosta prasarna a juniorska skolacka chyba! Jenze ouha, Python nema Interfacy a v dobe vzniku SQLAlchemy nemel beztak jeste ani Dekoratory, co??? Fuj!

Kód: [Vybrat]
from sqlalchemy import *
from sqlalchemy.ext.declarative import declarative_base

engine = create_engine('sqlite:///sales.db', echo= True)
Base = declarative_base()


class Stock(Base):
    __tablename__='stock'
    id = Column(Integer, primary_key=True)
    ticker = Column(String)
    date = Column(DateTime)
    price = Column(Integer)


Base.metadata.create_all(engine)
Dalsi tvuji kiks, i male dite vi, ze nema pouzivat import *. Co se tyce osklivosti, cely koncept ORM je hloupy a osklivy. ORM je imho jen dusledek pristupu "neumim databaze a nechce se mi to ucit ani zaplatit odbornika". Takze s trochou nadsazky, je to reseni od patlalu pro patlaly. A vzhledem k urovni OOP v jave, to co je prasarna v tomto jazyku, nemusi byt prasarna v jinem. Bez ohledu na tuto knihovnu, se kterou jsem nikdy nedelal a ani nebudu a neposuzuji ji. Jestli hodlas python pouzivat jako javu, nikdy nebudes spokojeny, python neni java, v pythonu musis myslet jinak, odvolavam se na principy DRY a KISS.

184
Vývoj / Re:Doporučte programovací jazyk pro Windows
« kdy: 01. 04. 2020, 01:39:40 »
Rust
A je už použitelný? Před pár lety o něm pan Tišnovský psal: Samotný jazyk se navíc ještě poměrně aktivně vyvíjí, přičemž se nejedná jen o nějaké kosmetické úpravy (přejmenování funkce ze základní knihovny či přidání parametru do funkce), ale mnohdy o zásadní změny v syntaxi i sémantice. Z tohoto důvodu budou všechny příklady spolehlivě pracovat na verzi 1.11. Když ho doporučuješ pro windows, jak si rozumí s winapi a COM?
Zase pravda, že když chce člověk něco pořádného dělat (Racket, i nějaké to pořádné GUI) je třeba mít nightly verzi.
Ja se na jazyky nedokazu divat jinym pohledem, nez jak ma prakticky prinos v produkcnim prostredi, jak je realne pouzitelny. A z tohoto pohledu z tech novych jazyku je aspon trochu pouzitelny asi jen go. Z tech o neco starsich pak C#, Python a Javascript. Smysl tech ostatnich jazyku, krom akademickych, nechapu. Pokud je tu dotaz, jaky jazyk pro windows, pak predpokladam, ze tazatele zajimaji jazyky, ktere jsou vhodne do produkcniho prostredi. Imho by kazdy programator mel dnes slusne znat C, C# nebo Javu (kdo cili na windows spise to C#) a Python nebo JS. To je takova svata trojice.

185
Vývoj / Re:Doporučte programovací jazyk pro Windows
« kdy: 31. 03. 2020, 23:20:24 »
Rust
A je už použitelný? Před pár lety o něm pan Tišnovský psal: Samotný jazyk se navíc ještě poměrně aktivně vyvíjí, přičemž se nejedná jen o nějaké kosmetické úpravy (přejmenování funkce ze základní knihovny či přidání parametru do funkce), ale mnohdy o zásadní změny v syntaxi i sémantice. Z tohoto důvodu budou všechny příklady spolehlivě pracovat na verzi 1.11. Když ho doporučuješ pro windows, jak si rozumí s winapi a COM?

186
Vývoj / Re:Regulární výraz - ne a ne opravit (C#)
« kdy: 31. 03. 2020, 23:00:50 »
Jednoduchý regex je kanón na vrabce a odkážeš ho na zdroják, který má cca 500 řádků kódu?  Některým lidem fakt nerozumím.
Ten jednoduchý regex testuje metódou pokus / omyl a stále si nie je istý čo mu naozaj odtiaľ vylezie. No najvačší fail je že sa to potom ťažko ladí a rozširuje. Mne to príde dosť nekoncepčné.
Protože jim nerozumí. Stejným způsobem může testovat metodou pokus omyl tvůj 40 řádkový výtvor, který nahrazuje jeden řádek regexpu. Regexpy nejsou žádná magie, je to jazyk jako každý jiný a buď ho umíš nebo ne. Stejným způsobem jsem si dělal SQL dotazy, aby mi vracely výsledky, které jsem potřeboval. Po půl roce se mi to také těžko měnilo, protože už jsem to zase nechápal. Ale to neznamená že SQL je špatný, to znamená, že to s ním efektivně neumím (a jednodušší by pro mě bylo načíst si to všechno a vyfiltrovat to až na aplikačním serveru). Takže ano, neznalost regexpu mohu obcházet tímto způsobem, ale přijde mi to dost neproduktivní u tak jednoduchých věcí.

187
Některé pluginy jsou takové malé, nenápadné a přitom to jsou šikovní dříči, kteří tvrdě makají každý den.

Jeden z takových mých dříčů je plugine surround.vim https://www.vim.org/scripts/script.php?script_id=1697

Pracuje s prvky obklopující text, uvozovky, závorky, xml/html elementy.

Například změna uvozovek: "Hello World!" -> cs"' => 'Hello World!'

Další plugin je vim-multiple-cursors, https://gitlab.famillewallon.com/ines/custom-vim/tree/master/sources_non_forked/vim-multiple-cursors

Ten umožňuje mít ve vimu několik kurzorů současně a dělat s textem divy, viz animované ukázky v odkazu.

Ale nejen editací textu je živ člověk. Z okrasných pluginů jsem si rychle zvykl na lightline, který hezky a užitečně formátuje status line. Výrazné barevné rozlišení jednotlivých editačních režimů je užitečné.

Také jsem kdysi dávno pátral po tom, jak si nechat zobrazit seznam všech výskytů hledaného řetězce a zjistil jsem že na to žádný plugin ani potřeba není, stačí si namapovat tento trochu zvláštní příkaz.

Kód: [Vybrat]
nmap <F7> :execute 'vimgrep '.expand('<cword>').' '.expand('%') \| :copen \| :cc
nmap <S-F7> yiw:vimgrep """ * \| :copen \| :cc<Left><S-Left><S-Left><S-Left><S-Left><S-Left><Left>
Další takový užitečný dříč, který používám už léta, že jsem téměř zapomněl, že to není nativní příkaz vimu, je středník  přeformátování odstavce:

Kód: [Vybrat]
nmap ; vipJgqq
Naprosto zásadní a klíčová featura vimu jsou pro mě foldery, bez těch bych se opravdu neobešel a je to jeden z hlavních důvodů, proč zůstat u vimu. Foldery. Vim má 6 různých metod na vytváření folderů, ze kterých se mi osvědčila metoda marker. To jest vkládám si do kódu značky, kterými vyznačuji začátek a konec foldu. Foldy jsou proto velmi prezizně vytvořeny přesně tak jak potřebuji a v podstatě mi to současně slouží i jako komentáře k organizaci kódu.

Mám ve svých zdrojácích tisíce těchto značek, které zdroják rozdělují na kapitoly, podkapitoly, sekce a tak dále, takový jednoduchý outline editor tím vzniká. Jsem na tom závislý. Extrémně to zpřehledňuje zdrojové kódy. Dokonce až moc, protože mám tendence psát všechno do jednoho souboru a nemám problém se rychle orientovat a vyznat v souboru, který má 30 000 řádků kódu. Což si samozřejmě mohu dovolit jen u vlastních one man show projektů, protože pro ostatní lidi je to naprosto nesrozumitelný bordel. Tedy pokud nepoužijí Vim s tímto jednoduchým nastavením:

Kód: [Vybrat]
" folding
set fdm=marker
nmap <CR>   za
nmap <S-CR> zM
" close all folds except cursor place
nmap zz zMzv

188
Vývoj / Re:Regulární výraz - ne a ne opravit (C#)
« kdy: 31. 03. 2020, 20:42:55 »
Jednoduchý regex je kanón na vrabce a odkážeš ho na zdroják, který má cca 500 řádků kódu?  Některým lidem fakt nerozumím.

189
Vývoj / Re:Regulární výraz - ne a ne opravit (C#)
« kdy: 31. 03. 2020, 12:18:40 »
Dalsi moznost je pouziti lookahead a lookbehind assertion.

Kód: [Vybrat]
>>> match(r"^[a-zA-Z0-9]+(?<=\d)'(?=\d)[a-zA-Z0-9]+$", "ab0'1cd")
<re.Match object; span=(0, 7), match="ab0'1cd">

To jsou ty testovaci (?=...) a (?<=...).

190
Vývoj / Re:Regulární výraz - ne a ne opravit (C#)
« kdy: 31. 03. 2020, 11:59:29 »
Ahoj všem, dovolím si oživit starý topic. S reg. výrazy začínám a potřeboval bych validovat text na vstupu, zda neobsahuje nějaké podivné znaky. Kvůli uživatelským chybám i kvůli bezpečnosti. Zjednoduším na tento příklad:

Řetězec nesmí obsahovat nic než běžné znaky + vybranou interpunkci: [^a-zA-Z0-9\;\. ]
Ale může obsahovat znak ' pokud je před ním a za ním číslo: \d+\'\d+

Např.
adam je fajn. > ok
adam 2000 > ok
adam '200' > chyba
adam 20'20 > ok

Představa byla, že pokud mi regex nevrátí false, vím že tam "něco je". Jak tomu mám správně vysvětlit to "ale", aby prošel poslední příklad díky podmínce splňuje \d+\'\d+

Děkuju za postrčení, M.

Nejjednodušší je vysvětlit mu to jako 'nebo' tj. znak |
Kód: [Vybrat]
>>> from re import match
>>> match(r"^([a-zA-Z0-9]+|[a-zA-Z0-9]*\d+'\d+[a-zA-Z0-9]*)$", "abcdef6+'8c")

191
Vývoj / Re:Zkušenosti s TypeScriptem
« kdy: 31. 03. 2020, 00:28:17 »
Zdravím.
Prosím vás, máte někdo zkušenosti s Typescriptem? Jakou?

Existuje https://github.com/TypeScriptToLua/TypeScriptToLua

On TypeScript jako jazyk je celkem dobrej. Jen ten Javascript mi nic. Ale když už transpiler, tak proč zůstávat u jednoho cílového jazyka, že jo. Moc se mi to líbí.
Čím méně je to použitelné, tím více se ti to líbí, žejo? Co reálného, schopného jít na produkci, jsi v tom už udělal?

192
Vývoj / Re:Zkušenosti s TypeScriptem
« kdy: 30. 03. 2020, 09:25:46 »
Mne to skôr príde, že tieto debaty slúžia len ako zámienka pre vyplavenie negatívne energie a frustrácie. Racionálne argumenty by boli, že ako statické tak aj dynamické typovenie má svoje use casy a to sú tie a tie a tie. No namiesto toho celá diskusia sa nesie v znamení negatívnych emócii zastrených v rádoby technickom žargóne. Za normálnych okolností by som sa asi pridal, ale nechcete na chvíľu prestať? Nechcete sa na chvíľu vykašľať na všetky tie negatívne emócie, naučený "contrarianism" (ja fakt neviem ako to preložiť) ? Vždy som si myslel, že cieľom majú byť funkčné programy, ktoré robia to čo chceme nie orgastická masturbácia na super intelektuálnym a hyper obskúrnym spôsobom ako sme implementovali triviálnu funkcionalitu. Čo to s vami ľudia je?
Jsou to často výlevy nedouků bez VŠ, bez pořádné práce a bez perspektivy, kterým (aspoň některým) už došlo, že jejich omezený intelekt jim nikdy nedovolí dělat něco víc než patlat v JS skripty měnící barvičky na webu. Jak psal výše kolega, někteří píšou k věci a při čtení holt musí odfiltrovávat bláboly trotlů.
Jasně, patláním JS barviček to začlo a dnes jsou Larry Page nebo Mark Zuckerberk jedni z nejbohatších a nejvlivnějších lidí na světě. Holt nýmandi bez pořádné práce a perspektivy. Zatím co vzdělaní akademici perspektivně programují v Idrisu o kterém nikdy neslyšela ani většina lidí z oboru.
Tak je fajn, že ses v tom našel, Kite.
Nepsal jsem nic o tom, v čem jsem se našel já, webové aplikace nejsou můj obor. Ale nejsem debil, abych přehlížel, jak význam této platformy roste, a jak se do této platformy postavené na dynamickém jazyku převádí postupně desktopové aplikace.

193
Vývoj / Re:Zkušenosti s TypeScriptem
« kdy: 30. 03. 2020, 07:44:19 »
Mne to skôr príde, že tieto debaty slúžia len ako zámienka pre vyplavenie negatívne energie a frustrácie. Racionálne argumenty by boli, že ako statické tak aj dynamické typovenie má svoje use casy a to sú tie a tie a tie. No namiesto toho celá diskusia sa nesie v znamení negatívnych emócii zastrených v rádoby technickom žargóne. Za normálnych okolností by som sa asi pridal, ale nechcete na chvíľu prestať? Nechcete sa na chvíľu vykašľať na všetky tie negatívne emócie, naučený "contrarianism" (ja fakt neviem ako to preložiť) ? Vždy som si myslel, že cieľom majú byť funkčné programy, ktoré robia to čo chceme nie orgastická masturbácia na super intelektuálnym a hyper obskúrnym spôsobom ako sme implementovali triviálnu funkcionalitu. Čo to s vami ľudia je?
Jsou to často výlevy nedouků bez VŠ, bez pořádné práce a bez perspektivy, kterým (aspoň některým) už došlo, že jejich omezený intelekt jim nikdy nedovolí dělat něco víc než patlat v JS skripty měnící barvičky na webu. Jak psal výše kolega, někteří píšou k věci a při čtení holt musí odfiltrovávat bláboly trotlů.
Jasně, patláním JS barviček to začlo a dnes jsou Larry Page nebo Mark Zuckerberk jedni z nejbohatších a nejvlivnějších lidí na světě. Holt nýmandi bez pořádné práce a perspektivy. Zatím co vzdělaní akademici perspektivně programují v Idrisu o kterém nikdy neslyšela ani většina lidí z oboru.

194
Vývoj / Re:Zkušenosti s TypeScriptem
« kdy: 29. 03. 2020, 23:13:57 »
Nejvetsi problem TrueScriptu je, ze je od Microsoftu. Clovek nikdy nevi, co od toho ocekavat, zvlast kdyz je to nove. Takhle jsem se kdysi spalil u Acessu, kdy se s kazdou verzi museli aplikace predelavat, az to nakonec clovek radsi udeal v necem jinem a byl klid. Ze jsem nenaskocil do SilverLightu jsem rad, prestoze podporoval IronPython a dost jsem to zvazoval, ale pak neduvera v MS prevazila. Ale COM je treba vazne sikovny, u nej me az prekvapuje, jakou tomu drzi dlouhou podporu.

195
Vývoj / Re:Zkušenosti s TypeScriptem
« kdy: 29. 03. 2020, 21:58:47 »
Mne to skôr príde, že tieto debaty slúžia len ako zámienka pre vyplavenie negatívne energie a frustrácie. Racionálne argumenty by boli, že ako statické tak aj dynamické typovenie má svoje use casy a to sú tie a tie a tie. No namiesto toho celá diskusia sa nesie v znamení negatívnych emócii zastrených v rádoby technickom žargóne. Za normálnych okolností by som sa asi pridal, ale nechcete na chvíľu prestať? Nechcete sa na chvíľu vykašľať na všetky tie negatívne emócie, naučený "contrarianism" (ja fakt neviem ako to preložiť) ? Vždy som si myslel, že cieľom majú byť funkčné programy, ktoré robia to čo chceme nie orgastická masturbácia na super intelektuálnym a hyper obskúrnym spôsobom ako sme implementovali triviálnu funkcionalitu. Čo to s vami ľudia je?
Ja si myslim, ze to je jak jsem napsal. Nepozoroval jsem, ze by tu nekdo otviral flamewar proti staticky typovanym jazykum. Vsichni chapou jejich smysl a use case. Ale proti tem dynamickym je to vecne. Treba BoneFlute tady opakovane vyvolava flamewar pozadavkem, at ho ostatni presvedci, ze dynamicke jazyky jsou k necemu dobre, kdyz on si mysli, ze jsou na nic. Nikdy ale nevyuzil prilezitosti to opravdu pochopit.

Stran: 1 ... 11 12 [13] 14 15 ... 25