reklama

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

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

3
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/_.*//'

4
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.

5
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.

6
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.

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

8
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.

9
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.

10
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.

11
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.


12
Vývoj / Re:Komunikace mezi microservices v XML
« kdy: 03. 07. 2018, 08:59:17 »
Nechcem obhajovať SOAP, ale na niektorých, napr. bankových projektoch je bežné podpisovanie a kryptovanie správ (XML DSig), čo teda v RESTe nie je dostupné.


13
Vývoj / Re:Komunikace mezi microservices v XML
« kdy: 02. 07. 2018, 21:47:31 »
Klasické SOAP služby vedeli používať XSD ako súčasť WSDL, teda strojovo spracovateľného kontraktu. Výhodou je, že z WSDL/XSD viete vygenerovať klientsky kód.

Okrem toho, ak príde na server SOAP správa, tak stačí ju validovať oproti XSD a ak validácia zlyhá už na tejto vrstve, tak sa dá správa zahodiť. To je pre prípady, keď PSČ je "PRAHAOSEM".

To je samozrejme len prvá hradba validácie, okrem toho je častejšia validácia POJO objektov (Vaše "PSČ neexistuje").

Pozrite sa, či náhodou nemáte SOAPovú službu. Ak áno, tak XML sú jediná normálna možnosť. Dôvody sú viaceré: typicky legacy klienti alebo bežný korporátny ekosystém, kde SOAP je stále štandardom.

14
Zadanie chápem takto: Ak je fooproperty prítomná, wiruje sa bean s identifikátorom beanid, v opačnom prípade  sa wiruje null.

@Honza: vo vašom prípade wirujete vždy null, čo je skoro rovnaké, ako keby ste ten property tag ani nenadeklarovali.

15
Ak je to v projekte takto uvedené, tak to nemôže fungovať. Atribút ref sa musí resolvnúť na String reprezentujúci názov beanu. Preto Spring protestuje, že sa nedá nájsť bean s identifikátorom null (teda "n, u, l, l").

Teraz opomeniem situáciu, že toto sa rieši úplne inak (napr. profily), ale ak sa chceme kumulovať divné riešenia na divné riešenia, tak mu tam ten bean môžeme vyrobiť :-)

Kód: [Vybrat]
   
<bean class="cz.root.foo.FooService">
    <property name="foo" ref="#{ '${fooproperty:false}' ? 'beanid' : null }" />
</bean>

<bean id="beanid" class="cz.root.foo.Foo"/>

<bean id="null" class="cz.root.foo.NullFactoryBean"/>

Potrebujeme bean, ktorý je de facto ekvivalentný null, takže si ho vyrobme cez továreň:

Kód: [Vybrat]
public class NullFactoryBean implements FactoryBean<Object> {
    public Object getObject() throws Exception {
        return null;
    }

    public Class<?> getObjectType() {
        return Object.class;
    }

    public boolean isSingleton() {
        return true;
    }
}

Ak je v projekte bieda, tak aj tá rozhodovacia logika, ktorý bean vyrobiť, sa dá napchať do továrne.

Stran: [1] 2 3

reklama