Revolut nabídne neomezený mobilní tarif za 12,50 eur (312 Kč). Aktuálně startuje ve Velké Británii a Německu.
Společnost Amazon miliardáře Jeffa Bezose vypustila na oběžnou dráhu první várku družic svého projektu Kuiper, který má z vesmíru poskytovat vysokorychlostní internetové připojení po celém světě a snažit se konkurovat nyní dominantnímu Starlinku nejbohatšího muže planety Elona Muska.
Poslední aktualizací začal model GPT-4o uživatelům příliš podlézat. OpenAI jej tak vrátila k předchozí verzi.
Google Chrome 136 byl prohlášen za stabilní. Nejnovější stabilní verze 136.0.7103.59 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 8 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.
Homebrew (Wikipedie), správce balíčků pro macOS a od verze 2.0.0 také pro Linux, byl vydán ve verzi 4.5.0. Na stránce Homebrew Formulae lze procházet seznamem balíčků. K dispozici jsou také různé statistiky.
Byl vydán Mozilla Firefox 138.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 138 je již k dispozici také na Flathubu a Snapcraftu.
Šestnáctý ročník ne-konference jOpenSpace se koná 3. – 5. října 2025 v Hotelu Antoň v Telči. Pro účast je potřeba vyplnit registrační formulář. Ne-konference neznamená, že se organizátorům nechce připravovat program, ale naopak dává prostor všem pozvaným, aby si program sami složili z toho nejzajímavějšího, čím se v poslední době zabývají nebo co je oslovilo. Obsah, který vytvářejí všichni účastníci, se skládá z desetiminutových
… více »Richard Stallman přednáší ve středu 7. května od 16:30 na Technické univerzitě v Liberci o vlivu technologií na svobodu. Přednáška je určená jak odborné tak laické veřejnosti.
Jean-Baptiste Mardelle se v příspěvku na blogu rozepsal o novinkám v nejnovější verzi 25.04.0 editoru videa Kdenlive (Wikipedie). Ke stažení také na Flathubu.
Díky za názor. Bash se mi dost hodí např. pro psaní PKGBUILDů v Arch Linuxu. A co tedy Python nebo Perl?
Asi do něj půjdu. Ještě si to pořádně rozmyslím. Díky.
cat | grep | sed | grep | cut | grep | sort ....
je lepsi napsat jeden perl -aF'/regexp/' -ne '....'
(pripadne jeste awk, v tom se da taky dost tvorit, ale proste PCRE jsou PCREcat | python -e '....'
?
To C na nizkourovnovy veci je dobry. Ale pokud v tom nechces programovat, tak staci se naucit zakladni "strukturu", funkce najdes v manualu a na nejakej kod holt musis umet myslet. Nechapu otazku "jak ziskat algoritmus"Mě by hlavně zajímalo, jestli existuje třeba nějaká kniha už "vynalezených algoritmů" -- tedy jejich slovní popis v té knize... Např. v učebnicích matematiky jsou popisovány různé algoritmy.
jestli existuje třeba nějaká kniha už "vynalezených algoritmů"
Existuje. VŠ skripta. Nejsou tam tedy všechny alg. ale ty veřejné a dostatečně používané ano.
Na tohle jsou IMHO nejlepší VŠ skripta z fakulty matematické informatiky. Algoritmická matematika, algoritmy a datové struktury a podobná témata. Je dobré si napsat (v nějakém hodně low level jazyku) seznamy a stromy různých typů a k nim všechny operace (asi nejlepší způsob na zažití pointerů (směrníků, ukazatelů) a práci s pamětí). Určitě hash tabulky a řadící algoritmy pro čísla i řetězce. Určitě vlákna a komunikaci mezi procesy. Zkrátka všechno to, co už bylo známo někdy v 70 letech. To jsou nutné základy.
Ne, že by to pak člověk v praxi běžně programoval, to opravdu ne, ale když pak ví jak to funguje uvnitř, tak umí použít vhodnou knihovní funkci správným způsobem (tj ví, co je k čemu vhodné). A je schopný si tu knihovní fci napsat či přizpůsobit svým potřebám.
Moc děkuju. Ta skripta si pořídím a pokusím si je nastudovat.
Jaké minimum znalostí (vzdělání) je nutnou podmínkou pro učení se z těchto skript?
Ještě jednou díky.
Nooooo. Ne tak uplne. Rozhodne bych nikomu nedoporucil zkouset optimalizovat ceckovy kod bez toho, aby si napred precetl tohle: http://www.fefe.de/know-your-compiler.pdf protoze kod ktery nekdo zkousel optimalizovat byva casto o mnoho pomalejsi a necitelny. Jinak ej to pochopitelne neco jineho, kdyz nekdo dela kryptoakcelerator v FPGA, ale o tehle urovni se snad nebavime.
Já bych doporučil skripta z MFF - ADS1 a ADS2. Nálepky "MFF" bych se nebál, myslím, že jsou skripta zpracována velmi přístupně :)
Já bych zase doporučil Introduction to Algorithms. ADS1 i ADS2 jsou na této knize založené a kniha samotná mi připadala ještě mnohem přístupnější než zmíněné přednášky. Je to ucelený průvodce většinou toho, co člověk při běžném userspace programování může potkat. Zároveň to není tak obsáhlé a zdlouhavé jako Knuth. Je tam úvodní část se značením a se všemi potřebnými základními znalostmi. Řekl bych, že české středoškolské vzdělání pro nastudování algoritmů z této knihy stačí. (Sám ale takovou zkušenost nemám, protože jsem ji četl až na MFF.)
Ten způsob se mi zdál rozvleklý možná v 1. ročníku navazujícího magisterského studia. To ale bude tím, kolik diskrétní matematiky a algebry už člověk tou dobou zná. Řekl bych, že někomu bez informatického vzdělání, kdo se potřebuje jenom občas něco dozvědět o jednom konkrétním algoritmu, může (zdánlivě) rozvleklý styl výkladu hodně pomoct.
Muzu doporucit i podivat se na iTunesU -- daji se tam stahnout prednasky algoritmu z MIT, a i kdyz to zacina teorii (O notace a tak), je to zajimave. A s tim co rika ten profesor na zacatku, ze "pokud chcete byt dobrym programatorem, muzete budto deset let denne programovat, nebo rok denne programovat a udelat kurz algoritmu na univerzite" zcela souhlasim. Cesky se daji sehnat aji skripta k predmetu DSA (datove struktury a algoritmy) z elektrofakulty CVUT (jmenuji se tusim "programovaci techniky"), nebo ekvivalenty z jinych univerzit.
Dalsim krokem je logika, grafy, automaty a gramatiky, ale to uz jsou drsnejsi veci. Je to ale dulezita teorie (kazdy TCP spojeni je komunikace automatu, kazda GPSka a idos pouziva grafy, kazdej predkladac pracuje s nejakou gramatikou, a tak).
A kupodivu jsem nenasel videoprednasky z teorie grafu nebo prekladacu, skoda, chtel jsem si to zopakovat.
Díky. Právě ČVUT mě napadlo z pohledu skript (učebnic) jako první. Ty anglické materiály se taky budou hodit.
A jeste bych nakoukl sem: http://cw.felk.cvut.cz/doku.php/courses/a4b33alg/literatura_odkazy je tam prehled knizek z oblasti algoritmu vcetne popisu na co se ktera hodi a podobne. Da se tam taky snadno doklikat k prednaskam, ale nejsem presvedcen ze k primarnimu pochopeni latky ti k necemu budou.
tail -F /var/log/apache2/access.log | grep -i 'get /mainpage'
. Diky. Fakt by me zajimalo, jak se to da udelat v pythonu. Perl by byl tail -F /var/log/apache2/access.log | perl -ne 'print if m,get /mainpage,i;'
.
tail -F /var/log/apache2/access.log | grep -i 'get /mainpage'
a pak ti najednou stačí alternativa k grep -i 'get /mainpage'
?
program | grep ...
, podobne jako by se to v perlu udelalu program | perl -e '...'
.
import sys for line in sys.stdin.readlines(): if sys.argv[1] in line: print line.rstrip("\n")
PROGRAM-GENERUJE-OUTPUT | perl -ne 'print if m,hledany regexp,i;' | PROGRAM-ZPRACOVAVA-INPUT
Jde tenhle tvuj kod prepsat do nejakeho tvaru jako PROGRAM-GENERUJE-OUTPUT | python -e 'import sys\nfor line .....' | PROGRAM-ZPRACOVAVA-INPUT
???
Jde mi o to, jestli se python da opravdu pouzivat jako jednoduchy cmdline filtr textu nebo se musi psat script do vlastniho souboru. S perlem a dalsima cmdline utilitama totiz muzu napsat jeden bash script, kterej pak bude obsahovat treba i nekolik perl skriptu:
#!/bin/bash PROGRAM-GENERUJE-OUTPUT \ | grep NECO \ | sed NECO \ | perl -ne ' ZPRACUJE NECO SLOZITEJSIHO; dalsi command; dalsi command; stale je to prehledny perl kod; ' \ | grep DALSI-NECO \ | awk 'NECO-V-AWKU' \ | perl -ne ' druhy slozity perl kod; ale porad prehledny; 'Jasne, kdyz uz je to jeden bash script, tak by se misto toho dal napsat jeden python script, kterej vsechny ty grepy, sedy, awky a perly nahradit, ale proc nahrazovat
grep -i X
nejakym slozitym cyklem s vytvarenim objektu regexp, kdyz to grep umi sam jednoduse.
Navic mne opravdu spis zajima ta pouzitelnost na cmdline.
cat soubor | python -c 'import sys; print "".join([line for line in sys.stdin.readlines() if sys.argv[1] in line])' textSložitější věci jsou už horší. Cyklus už se těžko píše na jeden řádek (nesmí být před ním příkaz končící středníkem - nevím proč) a musí se odsazovat...
cat soubor | python -c '
import sys
for line in sys.stdin.readlines():
if sys.argv[1] in line:
print line.rstrip("\n")
' text
Takze pyhon umi -c pro zadani kodu na cmdline, jak vidim. Ale s temi bloky to bude opravdu dost spatne, kdyz se jinak nez odsazovanim udelat nedaji. To do jedny cmdline asi zapsat nepujde. A proto preferuju perl.
cat soubor | python -c 'import sys; print("".join(l for l in sys.stdin if sys.argv[1] in l))' textOn na tom ten Python na tom od verze 2.5 není nijak špatně. Viz třeba moje reimplementace vítěze čtvrté kategorie z The Fifth Obfuscated Perl Contest v Pythonu. Celý kód od print až poslední závorku je v podstatě jeden řádek.
for ($i=0;$i<10;$i++) { if ($i>7) { DELEJ1; } elsif ($i>5) { DELEJ2; } else { DELEJ3; }; };
? Je to opravdu tak, ze python umi na cmdline vykonat pouze jeden prikaz (ikdyz muze byt slozitejsi)?
Jinak ten zapis l for l in sys.stdin if sys.argv[1] in l
se mi dost libija nevim, mne ten python prijde proste divny, necitelny... kdyz vidim zdrojak, spolehlive
me to odradi to cist... navic ta vec "formatovani mezerami" mi prijde uchylna...
zlaty perl (kdyz se napise citelne)
print if m,get /mainpage,i;Jak pozná někdo, kdo s perlem nedělá, co to má dělat?
print if m,get /mainpage,i;
je jenom kratsi a jednodussi prepis if (/get \/mainpage/) { print $_; }
. Potom je vsechno jasne, print a if bez reci, a slash znamena regexp. Jinak struktura toho prvniho zapisu presne vyjadruje myslenku "tiskni kdyz najdes regular" = print if /.../.
Naopak tvuj kod, jestli se nepletu, protoze python opravdu neznam tak moc, odstranuje enter z kazde radky, bych v perlu napsal jednoduse perl -pe 'chomp;'
. A ted by mel nekdo nezavisly urcit, co je citelnejsi.
Ukecanost nemusi vzdy prinaset citelnost. Misto aby clovek videl v kodu ten dulezity prikaz, tak je okolo spousta balastu, napr. v tom tvem kodu ten import sys je tam opravdu hodne navic ve smyslu, ze pozadovanou funkci nema nic spolecneho, neni to prikaz, ktery by skutecne neco zpracovaval, ale pouze zapina nejakou funkcionalitu. Kdyz na kod bude koukat neznaly, tak bude premyslet, co tam ten import dela.
Libi se mi, ze python vynucuje formatovani tim, ze bloky rozeznava podle odsazeni. To je urcite skvela myslenka, protoze neformatovanej kod je necitelnej, ikdyby byl napsanej v super jednoduchym jazyku. Bohuzel s tim odsazovanim to python nedomyslel, pokud nekdo zmixuje taby a space, tak se tezko hleda chyba v odsazeni, protoze dve radky muzou byt odsazene vizualne stejne, ale kazda pomoci ruzneho poctu mezer a tabu. Pak kompiler nemusi ani hodit chybu, ale program proste nefunguje, jak by mel.
Bohuzel s tim odsazovanim to python nedomyslel, pokud nekdo zmixuje taby a space, tak se tezko hleda chyba v odsazeni, protoze dve radky muzou byt odsazene vizualne stejne, ale kazda pomoci ruzneho poctu mezer a tabu. Pak kompiler nemusi ani hodit chybu, ale program proste nefunguje, jak by mel.Python bere tab == 8 mezer, takže tento kód
def foo():$ i = 42$ ^Ireturn i$ $ print foo()$je syntakticky v pořádku. Samozřejmě tohle nefunguje, pokud má někdo v editoru nastavené jiné tabstop.
Pekný pokus o vtip, ale programovacie jazyky a reálne jazyky sú, čo sa syntaktickej a sémantickej komplexity týka, úplne inde, takže tá analógia bohužiaľ nefunguje. Otázka je, do ktorej z tých kategórií patrí Perl
Co má programování textových filtrů společného s kernelem???
Assembler mu bude k nicemu bez znalosti organizace dat (primy kod, doplnkovy kod, atd), bez toho aby vedel jak funguji jednotlive casti procesoru a bez toho aby rozumel pipeliningu, VLIW a podobnejm vecem. Coz jsou tak tri semestry VS studia.
No, prehanim, na jednocipy mu to staci, ale pro programovani na i386 nic moc.
Díky za tip. Pokud ale dobře rozumím, tak aby člověk mohl pracovat v assembleru, tak musí znát, jak funguje "železo", což moc nevím.
Jinak co se tyka tech algoritmu. Dulezita vec je, ze nejlepsi algoritmus neexistuje. Existuji algoritmy vic a min vhodne na nejaky problem. Proto se jich uci tolik.
Nekdy je od toho programator uplne odstinen (treba v ruby nebo pythonu), nekdy tak napul (u Javy budu rozhodovat, jestli muj seznam je pole nebo spojovy seznam, nebo jestli mnozina je strom nebo hashtabulka), nekdy to musi clovek skoro psat sam (v C, treba), ale casto to byva dulezite.
Přečetl jsem dost diskusí/dotazů a na práci s prostým textem to hodně lidí vidí na Python nebo Perl.Perl je na to pravděpodobně lepší, ale oboje bude fungovat.
tedy např. se aspoň trochu orientovat v Linuxu (mám na mysli Linux jako jádro).Kupte si knihu např. Understanding the Linux Kernel, Second Edition
Vlastně bych se chtěl zeptat, jak získat algoritmus... Ptám se proto, že nejvíc asi budu žít z algoritmů, které vymysleli "chytřejší" lidé-programátoři.Stáhnete nebo koupíte si modul (knihovnu, kus přepoužitelného programu) a přečtete si dokumentaci jak to použít. Například pro jazyk Perl existuje spousta takových modulů na síti CPAN.
V podstatě všude je zdůrazňováno, že programovací jazyk se vybírá podle toho, co s ním chceme naprogramovat -- na co ho chceme použít.To jistě, ale ve výsledku můžete použít všechno na všechno. Doporučuji se nejprve důkladně seznámit s jedním jazykem/prostředím a na tom pak stavět další znalosti.
to neni spatny napad, cim min rucicek, ti min kodu v pythonu :D
insert by se taky hodil, ne? ;)
Stačí po dobu jedného roku každé ráno pri úsvite slnka odriekavať axiómy lambda kalkulu (stačí toho pôvodného od Churcha). Potom sa dostaví osvietenie a budeš všade okolo seba vidieť už len funkcie
Tiskni
Sdílej: