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

Stran: [1] 2 3
1
Vývoj / Re:Kotlin nebo Scala pro backend?
« kdy: 31. 10. 2020, 02:13:38 »
Kotlin je pragmatická Scala.

Kotlin využijete na backende, lebo napr. Spring má už dnes pomerne dobrú podporu pre finty z Kotlinu. Gradle viete písať v Kotline miesto Groovy. Kotlin viete rovno využiť na Androide miesto Javy. Do Kotlinu sa pragmaticky pridávajú vlastnosti, ktoré vývojári využívajú.

Kotlin má super tooling - veď ho robia tí istí ľudia, čo IntelliJ IDEA (IntelliJ je už spolovice napísaná v Kotline). Dokonca sa vôbec nehanbia vykrádať zľava-sprava, veď data classes.

Scala je dobrá ak máte konkrétny use-case a konkrétny framework. V Scale viete písať aktorov v Akke, resp. celý aktorový stack okolo toho (Play, Akka HTTP, Lagom).

Scala má tiež rozumný FP prístup, a viete to ťahať ešte ďalej do scalaz/cats a to ste už skoro v kráse Haskellu. Otázka je, či zoženiete na reálny projekt podobne zmýšľajúcich ľudi. Ak ste FP a neviete sa rozhodnúť, pozrite si Vavr.io ako biedny protipól FP pre Java svet. V Scale samozrejme užitočné premakané veci: traity, sealed traity, data classes, silný pattern matching.

Inak strašiakom v Scale je sbt: ten je fakt aj po rokoch dosť biedny a pomalý. IntelliJ však má super plugin, v ňom sa Scala klepe krásne.

Reálny projekt v Scale stále záleží na tom kto ho založil a ako ho maintainuje. Tam je totiž veľká šírka toho, ako sa filozoficky projekt pojme, teda koľko FP a koľko OOP sa tam naprasí. Náš produkčný projekt bol pekný s rozumnou dávkou FP, ale tam to držal pohromade Lagom. Na iných projektoch sa stalo, že senior sa odpútal z reťaze a nabúchal FP, čo syntax zvládla, len sa to veľmi ťažko maintainovalo, nebodaj čítalo.

2
Bekant sa Vám nepokazil? Čítal som dosť veľa recenzií, že Bekanty sú vo vysokých pozíciách rozkývané, nestabilné a elektrina odcháza.

3
Hardware / Re:Výběr pracovního monitoru
« kdy: 25. 10. 2020, 16:18:24 »
Do monitorov určite vidia iní lepšie + mám úplne iné preferencie ako vy.

Priemysel prešiel na 16:9 - ak chcete naozaj 16:10 (1280x1200), tak sa výber zmenší.
Ak chcete ešte aj USB-C, tak sa výber zníží asi tak na dva modely a tie sú mimo Vášho rozpočtu.

Chcete panel IPS (lepšie pozorovacie uhly, pomalší, dobrý na programovanie) alebo TNko (na gaming, lacnejší, rýchlejší refresh)?

Chcete aj FreeSync na hry?

Ak chcete „nejaký” monitor, pozerajte po IPSkových 16:9 FullHD monitoroch, tam je ich plný kýbel vo Vašom rozpočte.

4
Hardware / Re:Výběr pracovního monitoru
« kdy: 25. 10. 2020, 15:35:50 »
U2145 je starý monitor, nemá USB-C a už vôbec nie finty ako nabíjanie počítača. Ak toto nie je problém, tak je to stále celkom dobrý IPSkový kúsok.

5
Software / Re:Kde najít přesnou formu spuštěného programu?
« kdy: 02. 04. 2020, 15:22:44 »
Ak to nemáte v histórii, je to stratené.

Pred spustením príkazu totiž shell odstráni úvodzovky (quote removal).

Ak napíšete do shellu:

Kód: [Vybrat]
rsync "petr novak" "pavel jungman" josef cifis
Reálne sa spustí rsync so 4 argumentami a samotný rsync už vo svojich argv netuší, že v shelli existovali nejaké úvodzovky či apostrofy obaľujúce viacslovné argumenty.

Je to úplne rovnaké ako:

Kód: [Vybrat]
rsync "petr novak" "pavel jungman" "josef" "cifis"

6
Ako deti sme o Vlaku hovorili, že to je také malé, že to sa zmestí do medzery medzi sektory :-)

7
Tá vlastnosť sa volá parameter expansion, pričom parameter je ekvivalent pojmu premenná.

Výraz za kučeravou zátvorkou musí byť premenná.

1. Toto nefunguje, lebo `ls` nie je názov premennej. Riešenie je priradiť výsledok príkazu do premennej a potom nahrádzať. Technická poznámka: výsledok príkazu `ls` nespracovávajte, to je skoro stále deravé.
2. Toto tiež nefunguje, lebo "zadaný text" nie je názov premennej. Detto priraďte do premennej.
3. Toto tiež nefunguje, expanzia parametrov je fakt jednoduchý mechanizmus a nie samostatný programovací jazyk. Ak sa to aj dá nejakou šialenou konštrukciou vyrobiť, málokto tomu porozumie. Urobte to na tri riadky.
Kód: [Vybrat]
DIR='public_html'
# prevod na 'private_html'
PRIVDIR="${DIR/public/private}"
# prevod na 'PRIVATE_HTML'
PRIVDIR_UPPER="${PRIVDIR^^[a-z]}"
# prevod na 'PRIVATE'
echo ${PRIVDIR_UPPER%_*}
Toto tu môžeme prehnať cez jeden GNU sed:
Kód: [Vybrat]
echo 'public_html' | sed -e 's/private/public/' -e 's/.*/\U&/' -e 's/_.*//'

8
Software / Re:Boj s grepem
« kdy: 03. 01. 2020, 10:35:00 »
Grep s akciou pre každý nájdený riadok je awk.

Napríklad „Nájdi riadky začínajúce na "root" a vypíš ich so štyroma nasledovnými riadkami“, resp. emulácia GNU grep -A:

Kód: [Vybrat]
awk '/^root/ { for(i=0; i<5; i++) { print; getline; }}' /etc/passwd

Napríklad „Skupiny z grep -A oddelené dvoma pomlčkami dajte na jeden riadok“

Citace
grep -A1 root /etc/passwd | awk '/^--/ { print BUF; BUF=""; next } { BUF = BUF $0 } END { print BUF }'

Resp. plný skript v awk:

Citace
/^--/ {
  print BUF
  BUF=""
  next
}
{
  BUF = BUF $0
}
END {
  print BUF
}
- Druhé pravidlo nalepí každý riadok do buffera BUF.
- Prvé pravidlo vraví, že ak na začiatku riadku sú dve pomlčky --, vyprintuje obsah buffera a vymaže buffer.
- Tretie pravidlo vyprintuje obsah buffera na konci súboru.

9
Ak sa chcete samostatne naučiť dva odlišne náročné jazyky a ste obmedzení len na češtinu/slovenčinu, budete musieť robiť veľké kompromisy a vyvinúť nadľudské úsilie.

Porovnateľné knihy totiž existujú, ibaže len v angičtine. Napr. Head First Java. V češtine máte niekoľko kúskov.

Prakticky ide o dilemu Eckel (starý), Herout (majster C), Pecinovský (klasik), Roubalová, a Schildt (preklad z angličtiny).

Nerozmýšľali ste nad kurzom? Alebo univerzitným kurzom? Napr. UPJŠ má úvod do objektového programovania v Jave so slajdami a videami.

10
Eckelove knihy sú v českých prekladoch z roku 2000, resp. 2001.

Jeden z nápadov je pozrieť si katalóg slovenských knižníc, napr. prvý diel Javy je v Ružomberku a Humennom.

Ale úprimne, Eckelov český preklad Javy je naozaj zastaraný, pretože nereflektuje závažné zmeny Javy 5 (z roku 2005), o Jave 8 ani nehovoriac.

11
Studium a uplatnění / Re:Najlepšie vydavateľstvo
« kdy: 30. 08. 2019, 16:34:10 »
Za mňa určite Manning, ktorý je teraz tým, čo bolo kedysi O'Reilly. Dobre napísané technické knižky, s aktualizáciami, akurát namiesto zvierat majú kroje.

K papierovým knihám majú eBook zadarmo.

Ako pomerne novinku majú možnosť kupovať si knihy po kapitolách.

A samozrejme, knihy, čo sú work-in-progress (MEAP), sú k dispozícii už počas toho, ako sa píšu.

Rozhodne sa oplatí sledovať ich Twitter, lebo veľmi často majú 41% zľavy, alebo Deal of the Day, kde sú denné "výpredaje" na konkrétnu oblasť s polovičnými cenami.

12
Studium a uplatnění / Re:Učebnice programovania
« kdy: 26. 08. 2019, 09:39:13 »
Skúste si pozrieť Head First Java od Kathy Sierra. Je to v angličtine, ale je to veľmi používateľsky prítulné.

Thinking In Java v češtine bola kedysi dobrá voľba. Žiaľ, už sa nedá zohnať (okrem knižníc) a český preklad je z druhej edície, ktorá nemá vlastnosti Javy 5. Medzitým totiž vyšla už štvrtá edícia.

13
Software / Re:Pole v ash (busybox)
« kdy: 16. 06. 2019, 11:11:44 »
Busybox má v sebe awk, čo je celkom rozumný programovací jazyk, kde sú aj polia.

14
Windows a jiné systémy / Re:MacOS - frustrace z ovladani
« kdy: 05. 02. 2019, 09:42:12 »
Na MacOS je užitočný uBar.
https://brawersoftware.com/products/ubar

Je to windowsoidný taskbar, malé ikonky, text aplikácie, zobrazovanie okien pri hoveri nad appkou v taskbare, hodiny vpravo v system trayi, pseudotlačidlo Štart. Vie to schovať Dock.

15
Studium a uplatnění / Re:Kvalita české IT literatury
« kdy: 08. 01. 2019, 10:37:22 »
Fanout je pri rozposielaní správ situácia, keď sa správa doručí všetkým prijímateľom bez rozdielu, obvykle paralelne.

V prezentáciách k RabbitMQ som používal analógiu záhradnej hadice. Ide o to, že správa sa akoby rozstrelí na všetky strany sveta. Bližšie k pôvodnému významu to asi možno chápať ako ventilátor, ktorý rozfúka správy do priestoru a zasiahne každého.


Stran: [1] 2 3