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

Stran: [1] 2 3 ... 8
1
Studium a uplatnění / Re:Vývojář bez znalostí
« kdy: 31. 05. 2020, 08:27:49 »
Ja by som este pridal poznamku k aspektu "ako je to težké". Osobne som po nástupe do novej práce i s 10 ročnou praxou (viacmenej java dev, kusocek aj ops) prechadzal prvy tyzden, dva stavmi:
  • áááá, nič neviem
  • ja chcem prec, toto nechcem/neviem robit
  • kam "kliknúť", aby sa to nerozbilo
  • oni nemajú testy! ááááá
  • kua, viem sql, viem javu, ale ani posrany selekt neviem vyexekuovat za 8 hodin prace bez chyby (play framework, jooq framework na "ORM"
  • oki, zacinam sa orientovat, bude to zvladnutelne

Teda, co som za moju prax nastupil do troch roznych zamestnani, tak v dvoch som prvy tyzden bol strateny tak, ze ma minimalne raz denne na okamih napadlo, ze sa na to vykaslem a skusim to inde... Predpokladam, ze ty mys o kus vyssi level odhodlania a motivacie, co je len fajn.

PS: Osobne VS povazujem za uzitocnu, i ked prispela k mojemu skillsetu dost nepriamo (napriek tomu, ze to bola IT vysoka). Keby som vedel pri vybere VS, ze existuje aplikovana informatika a teoreticka informatika (a rozdiel medzi nimi), mozno by som sa rozhodol inak.

Drzim paste a nech sa dari.

2
Sítě / Re:Domový vrátnik po optike
« kdy: 21. 05. 2020, 09:59:52 »
Ti ajťáci, zejména linuxáci, se musí hrozně nudit, že furt řeší takovýhle koniny a ještě si to komplikují zbytečnými problémy, jako je ochrana před bleskem a podobně. A do toho se ještě musí topit v penězích.

Překvapuje mě, jakou prioritu má v životě ajťáka blbej zvonek u dvěří. Kolik lidí denně k vám chodí, že je potřeba nasazovat takováto komplexní řešení?

U normálních lidí to dnes funguje nějak podobně:
1) Rodina má klíče
2) Známí (a všeljací kurýři) mají mobil
3) Ostatní (podomní prodejci, spamměři a podobná chátra) ať mi vylížou pr*el

Jestli opravdu někdo potřebuje podobný systém a zároveň má potřebu to řešit na rootu, možná je nejlepším řešením si najmout vrátnýho.

Spominane riesenie j korektne. Osobne som ale zamerany skor na riesenie a planovanie veci dopredu. Napriklad kus nemam rad predlzovacky. Take naplanovanie zasuviek v byte nam trvalo asi 8 hodin cistej prace (3 izbovy byt). Ano, 95% ludi by sa ani nezamyslelo nad tym, ze treba nieco planovat... Niekto sa nezamysla ani nad tym, ze vychovavat dieta je mozne "rozumne", niekto sa nezamysla, ked prechadza cez cestu,... je vela veci. Ja napriklad optimalizujem aj to, kedy vyhodim smerovku na dialnici, aby ten za mnou, co ma obieha nemal pocit, ze mu "skocim" do usmevu, ked planujem pockat az prejde...

V kazdom pripade dakujem za nazor. Mne osobne pri Vasom rieseni by chybala moznost od postarky dat mi vediet, ze ma daco do vlastnych ruk...

3
Sítě / Re:Domový vrátnik po optike
« kdy: 20. 05. 2020, 20:27:46 »
Mikrotik s OpenWRT, SFP portem do kterého dáš optický transceiver, USB a webkamera/IP kamera. "Otvor branku" = LEDky se dají softwarově rozsvěcet, tak to připoj na to jako GPIO.

Do trubky hodis kombinovanej kabel optika/metalika (sklo + dva napajeci draty) a nebo dva samostatny - optickej  metalickej kabel. Bud to budes resit jak je napsano vyse pres mikrotik a trochu si zabastlis , nebo pujdes do hotovyho reseni ciste na optice.

Mate prehlad o nejakom hotovom rieseni? Mne sa dari najst len veci tohoto typu: https://www.arcelect.com/fiber_optic_multiplexer_analog_voice_inputs.htm

Na druhje strane, aj toto vypada pekne https://www.eleccircuit.com/diy-fiber-optic-intercom/ Len by som sa musel vratit na strednu skolu a par veci si zopakovat :D (a mat "more" casu)

4
Sítě / Domový vrátnik po optike
« kdy: 19. 05. 2020, 22:25:13 »
Nedávno bola dlhšia diskusia o vedení "ethernet" káblu v zemi v súvislosti s ochranou proti blesku.

Zaujímalo by ma, či má niekto odporúčanie/skúsenosť s optickým pripojením dverového vrátnika. Teda nejaký audiotelefónik na bránke pred domom. Viem, že optické mikrofóny existujú (napr http://www.optoacoustics.com/medical/fomri-iii/features ), ale neviem nakoľko sú dostupné, alebo nahraditeľné v domácich podmienkach. Obdobne je potrené ešte preniesť signál na "otvor bránku" event-u.

Napájanie predpokladám buď privedeným "230V" rozvodom v zemi s bezpečným prevedením, alebo malý PV panel a batéria (alebo len dobíjateľná batéria menená podľa potreby).

Dĺžka by bola v jednom prípade cca 25 metrov medzi budovou a bránkou a v druhom prípade cca 130 metrov.

5
Citace
Strucne vysvetlenie: Ked klient pristupi na url /stream-sse-mvc, tak sa zavola metodka, ktora ulozi SseEmitter (objekt umoznujuci posielat klientovi spravy) v sluzbe BindingMedziTechnologiami do mapy. Nasledne, ked z amqp handleru chcete nieco poslat, pouzijete tu istu sluzbu, ktora z mapy vyberie emitter a posle spravu.

Co chyba, je hendling chýb, vymazavanie klientov z mapy po odhlaseni a podobne "drobnosti".

Hadam nastrel pomoze.

Podobny koncept ma tiez napadol, ale ako by sa riesilo to ak by sa dana aplikacia naskalovala? Alebo ak by uzivatel otvoril aplikaciu na dalsej karte?

Nova karta je jednoducha. Namiesto mapy, kde si ukladate idecko klienta a k tomu jeho SSE endpoint, pouzijete multimapu (alebo mapu a druhy parameter bude list) a pri posielani dat ich budete posielat kazdej instancii SSE Endpointu daneho klienta.

Co sa tyka skalovania, to je kus zlozitejsie. Jedna sa o viac ako stovky pripojenych klientov naraz? (cca od 500 hore by som odhadol)

6
SSE je vcelku jednoduche a zaroven ine... Nie je to celkom klasicke imperativne programovanie, nakolko je to posielanie eventov pripojenemu klientovi. Odporucam mrknut tutorial tuna: https://www.baeldung.com/spring-server-sent-events

Prvy pristup (webflux) je vhodny, ak mate prehlad o on-blocking. Predpokladam skor, ze nie a tak odporucam druhy pristup (Sring MVC). Tam si nasledne spravite nieco ako toto:

Kód: [Vybrat]
private BindingMedziTechnologiami bindingSluzba;

@GetMapping("/stream-sse-mvc")
public SseEmitter streamSseMvc() {
    SseEmitter emitter = new SseEmitter();
    bindingSluzba.pridajKlientíkaPištíka(nejakéIdZískaťZAutentifikácieNapriklad, emitter);
    return emitter;
}

Kód: [Vybrat]
@Service
class BindingMedziTechnologiami {
   private Map<IdKlienta, SseEmitter> binding = new HashMap();
   
   public void pridajKlientíkaPištíka(IdKlienta id, SseEmitter konektivitaSSENaKlienta) {
      binding.put(id, konektivitaSSENaKlienta);
   }

   public void posliKlientoviNaprikladAMQPSpravu(IdKlienta id, Správička správa) {
        final SseEmitter  emitter = binding.get(id);
                SseEventBuilder event = SseEmitter.event()
                  .data(String.valueOf(správa))
                  .id("42")
                  .name("sse event - mvc");
                emitter.send(event);
   }
}

Strucne vysvetlenie: Ked klient pristupi na url /stream-sse-mvc, tak sa zavola metodka, ktora ulozi SseEmitter (objekt umoznujuci posielat klientovi spravy) v sluzbe BindingMedziTechnologiami do mapy. Nasledne, ked z amqp handleru chcete nieco poslat, pouzijete tu istu sluzbu, ktora z mapy vyberie emitter a posle spravu.

Co chyba, je hendling chýb, vymazavanie klientov z mapy po odhlaseni a podobne "drobnosti".

Hadam nastrel pomoze.

7
Server / Re:PostgreSQL DB na Linuxu roste nad všechny meze
« kdy: 08. 05. 2020, 09:31:52 »
Este ma napadla jedna drobnost. Co vyuziva tu databazu? Ak je tam hibernate ORM na strane aplikacie, tak som pocul o takej lahode, kde sa bloby ukladali rucne (teda za pomoci zle nakonfigurovaneho ORM) do pg_largeobject a odkazovali sa cez idecko ulozene vo varchar stlpci v normalnej tabulke. Nasledne, ked sa povodny odkaz zrusil, tak ORM nespravilo unlink a dany large object zostal donekonecna visiet v "lugte". Nasledne je potrebne nakodit si vlastny "garbage collector" a upratovat takuto DB. Minimalne jednorazovo, ked sa fixne setup ORM-ka.

PS: Pardon za vagnejsi popis, ale tuto info mam z druhej ruky a je to kus davnejsie, co som do hlbky rozumel tejto problematike... Mozno stoji za to precitat https://wiki.postgresql.org/wiki/Largeobject_Enhancement a pripadne sa daco naucit o pouzivani v danom pripade.

8
Server / Re:Postgresql DB na linuxu
« kdy: 05. 05. 2020, 15:20:19 »
Je mnoho možných vysvetlení. Spúšťa sa aj autovacuum? Updatujú sa často záznamy?

V každom prípade pomôcť vniesť trochu svetla by mohol prvý, či druhý, selekt:

Kód: [Vybrat]
SELECT table_name
    FROM information_schema.tables
WHERE table_type = 'BASE TABLE'
    AND table_schema NOT IN
        ('pg_catalog', 'information_schema');

SELECT column_name
    FROM information_schema.columns
WHERE table_name = 'meno Vasej tabuľôčky';

Nejaký "polopatistický" úvod k low level veciam je tuná: http://rachbelaid.com/introduction-to-postgres-physical-storage/ Odporúčam ako čítanie ku káve a v prípade záujmu sa pozrieť na oficiálnu dokumentáciu priamo od výrobcu :)

9
Vývoj / Re:Microservice architektura pre real-time aplikaciu
« kdy: 02. 05. 2020, 21:43:18 »
Na zaklade mojich skusenosti odporucam:
  • investovat cas do zhliadnutia par videi (gootgle, infoq, ci veci ako cap theorem ak chcete ist do hlbky a kus mimo)
  • ked daco pride, neukladat veci na dve miesta. proste niekto je pan a ten je jediny a hlavny (ci uz kafka, pulsar, postgresql, ....). Usetrite o rad problemov
  • Ak je legacy system, co uklada do DB, alebo mate DB oblubenu a nasledne chcete na db integrovat notifikacnu sluzbu napriklad, tak su viacere moznosti. Bud si notifikacna sluzba bude kontrolovat DB a jej nov veci (a to kazda integracia na DB), alebo pouzijete preklapac vesmiru ako napriklad debezium a ten vam bude robit event stream priamo zo zmien v DB (zurnalovy log konvertovany do json-u). Aj taketo veci sa robia a maju obcas vyznam
  • Imho za zamyslite vo vyslednej architekture nad tym, kolko resourcou spalite kvoli beznemu usecasu a kvoli comu. Teda pocet poslanych sprav, pocet serializovani a deserializovani, pocet read selektov, insertov a podobne. Nech to dava zmysel.

Moj hruby navrh by bol nasledovny (CQRS pristup):
  • sluzba voter -> prijme hlas a ulozi do apache pulsar-u (kafky pripadne)
  • sluzba pushNotificator -> zavesi sa pri starte na pulsar/kafku a ked cez websocket (alebo SSE - server side events; alebo long pool, ci iny ekvivalent bude klientom, co sa prihlasia o odber, davat vediet zmeny, prisle spravy, info o prihlaseni/odhlaseni userov a podobne)
  • sluzba chat -> uklada spravy do perzistentnej queue (pulsar/kafka)
  • sluzba chat history -> subscribe na pulsar/kafku, perzistovanie do lokalnej DB (denormalizovane spravy, kludne kusy html kodu skomprimovane a pripravene na poslanie klientovi). Api pre ziskanie historie a aj api pre aktualne ziskavanie novych prispevkov z chat-u (websocker/SSE)

PS: Pocitat s tym, ze kazda nova technologia ma nejaku krivku ucenia; ma nejake pouzitie a nejake charakteristiky... Napriklad RabbitMQ nie je vhodny na klonovanie sprav (jedna queue a na nu zavesene stovky fanout kanalov). Kafka nie je vhodna ako nahrada vseobecnej databazy, aj ked nou moze byt (a za istych predpokladou aj efektivna).

10
Software / Re:Katalogizácia veľkého množstva médií
« kdy: 30. 04. 2020, 10:25:18 »
Osobne na foto a video (rodinny album) pouzivam digikam. Podporuje i odpojitelne media, ale ak sa nemylim, tak nepodporuje transparentnost v archivoch (to by mohla zabezpecit nejaka ina technologia mozno). Odporucam aspon zahrnut do blizsieho ksumania kvoli databaze (mysql, alebo postgresql) s relativne fajn normalizovanou strukturou. Na druhej strane pri danom objeme dat sa bojim, ze by bolo potrebne vyclenit si par tisic eur na podporu/zlepsenie specifickych problemov projektu...

11
Vývoj / Re:Nejpoužívanější full stack architektury
« kdy: 14. 04. 2020, 15:57:42 »
Medzi "najslubnejšie" sa dá možno zaradiť https://quarkus.io/

12
Odkladiště / Re:Bezpečnosť Dockeru, KeePass a OSS obecne
« kdy: 01. 04. 2020, 09:10:12 »
Pre "zabezpečenie" jednej aplikácie sa na linuxe dá použiť aj niečo ako firejail https://firejail.wordpress.com/ Osobne som párkrát použil, ale nepamätám si viac.

Moja osobná skúsenosť so SoapUI, čo ma kus prekvapila, bolo, že daná aplikácia vo free verzii robí pri odoslaní testovacieho http requestu, asi 3 requesty na google analitics... Zistil som to pri nahrávaní traficu cez http proxy korektne nastavené v aplikácii...

nápad: Pri dočasnom poriešení problému je možné požiť aj "ifconfig down eth0" prístup :)

PS: Doterajšie prístupy sa zameriavali na sieťovú bezpečnosť (a imho sú potrebné), ale treba myslieť i na to, že aplikácia vie vygenerovať napríklad aj html súbor, ktorý pri generovaní náhľadu inou aplikáciou môže spraviť traffic...

13
Server / Re:Aky mail+kalendar+kontakt server vybrat?
« kdy: 31. 03. 2020, 10:04:58 »
Skusim upresnit otazku:
Ma niekto odporucanie k instalacii mail serveru i s rozhranim (aspon zakladne veci, nech je mozna naklikat)?

14
Server / Aky mail+kalendar+kontakt server vybrat?
« kdy: 30. 03. 2020, 15:24:31 »
Ahoj,
ma niekto skusenost s nejakym "current" mail serverom (suitov?) Konkretne mi ide o nahradu starej Zimbra instalacie, kde ma cca 5 domen vytvorenych po cca 5 mailovych adries, su tam kalendare a kontakty (funambol sync, syncml protokol). Rad by som to zmigroval bud na novu zimbru (tato ma uz cca 10 rokov), alebo na nejaky iny system.

Prijmem akekolvek skusenosti, vratane navrhov na rozdelenie funkcnosti na mail a ostatne (nextcloud vie kalendar i kontakty obstojne).

Aj sposob nasadenia moze byt zaujimavy. Docker, kvm, ci ine (staticka go binarka? :).

Zaujima ma i info k backupovaniu (hot slave pre dostupnost je tiez sexy vlastnost a ak by bola "lacna", skusil by som).

15
Vývoj / Re:Aspektovo orientovane programovanie
« kdy: 27. 03. 2020, 21:57:56 »
AOP som bol dakedy nazoru, ze iba na "nepretinajuce sa zalezitosti". Napriklad spomenute meranie performance, ci logovanie. Aktualne sa dostavam v spring (java) frameworku na level, kedy dokazem akceptovat aj take, ze security riesi AOP pristup. Napriklad.

Dalsim levelom je, ze cez spring-data-rest je vytvoreny projekt, ktory ma zadefinovane entity a metody v repozitaroch a poskytuje plne CRUD veci k nim, spolu s nejakym hypermedia formatom (HAL, ci aktualne uz aj daco ine podporuju). Nasledne, ked tam chce clovek pridat nejaku biznis logiku (napr.: zmazat entitu faktura mozes, len pokial nebola vyplatena), tak clovek ide defoltne tak, ze si implementuje vsetko pre operaciu mazania sam. To znamena nejake sql, biznis logiku, vhodne controller metody, error handling+formating a samozrejme korektne formatovanie odpovedi vo zvolenych formatoch (HAL+JSON napr). Proste, ak mi nevyhovuje defolt, tak zrazu musim doplnit 5 tried po 100 riadkoch. Namiesto toho je ale mozne pouzit AOP (su i ine moznosti samozrejme) a na vhodnom mieste vykonat validaciu biznis obmedzeni a pripadne prerusit povodne vykonavanie volani a upravit vysledok volania, alebo vyhodit vynimku a vyuzit opat celu masineriu (automagic things) spring-u k spravnemu konvertovaniu erroru a odpovedi.

Ale inak je to stale prasacina na prvy pohlad (a hlavne pre noveho cloveka v time je to sialeny kognitivny load).

Stran: [1] 2 3 ... 8

reklama