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.


Témata - Ondřej Novák

Stran: [1] 2 3 4
1
Desktop / Tip na primitivní windows manager
« kdy: 05. 07. 2019, 22:31:53 »
Zdravím.

Sháním nějaký dobrý tip na velice jednoduchého window managera který bych nasazoval na vncserver. Kdysi jsem používal metacity, ale jeho integrace do unity je už tak velká, že mi občas nefunguje, nebo se chová divně, vypisuje tuny chybových hlášek o nepřístupnosti DBUS a tak dále, prostě to vypadá, na samostatné použití není. Navíc přepínání oken ALT+TAB moc na VNC nefunguje, protože to viewer neodchytí a přepínám okna na lokálním stroji.

Zkoušel jsem evilwm, ale na některých strojích dostávám hlášku o tom, že mu chybí nějaký font a nespustí se.

Nejspolehlivěji funguje twm, akorát ho považuju za vykopávku z dob, kdy jsem unix poprvé viděl někdy kolem roku 2000 na solarisech. Na twm oceňuji prostřední tlačítko myši, které přesune okno do pozadí (takže žádné ALT+TAB)

Takže něco takového, co ideálně stáhnu přes apt, a pak spustím ve stylu DISPLAY=:1 XXXwm &  a získám prostě nějakou kontrolu nad těmi okny.

Dík

2
Vývoj / C++ konverze na const reference
« kdy: 12. 10. 2018, 09:50:17 »
Zdravím.

Stává se mi, že když napíšu něco na blog o programování, odněkud se vyrojí spoustu znalců normy, kteří ji znají zpamětí i po zpátku a hned vědí, co jsem udělal špatně, co řeší lépe std knihovna, se skrytým odkazem "nauč se pořádně normu a standardní knihovnu, než sem něco napíšeš". Upřímě tyto znalce obdivuju, protože mají čas ty stohy dokumentace studovat. A proto je teď moc prosím o pomoc.

Potřebuji toto:

Mám šablonu klasicku
Kód: [Vybrat]
template<typename T> void foo(...). Předpokládá se, že uživatel šablony T explicitně určí, například

Kód: [Vybrat]
foo<int>(...) nebo
Kód: [Vybrat]
foo<int &&>(...)
A nyní hledám v std něco, co mi z T udělá typ vhodný pro předání argumentu. Dle nějakých směrnic se doporučuje aby

  • Pouze jednoduché typy předávat hodnotou
  • Složite typy lépe předávat const referenci
  • Samotné refernece předávat tak jak jsou
  • Pointery jakbysmet

Takže bych to viděl že.
Kód: [Vybrat]

T -> const T &
const T & -> const T &
T & -> T &
T && -> T &&
T * -> T *
scalar<T> -> T

Já si tohle dokážu samozřejmě napsat pomocí částečných specializací. Ale nechce se mi věřit, že ve standardní knihovně nic takového není. Ať hledám jak hledám, nic nemůžu najít. Pomůžete mi? Zase nechci vypadat jako někdo, kdo nemá nastudováno.

PS: Forward to není. Forward je funkce, já potřebuju typ.

Dík.

3
Vývoj / Synchronizace - obrácený semafor
« kdy: 29. 10. 2017, 18:49:18 »
Ve svém kódu jsem začal používat objekt, který funguje obráceně než semafor. Je to counter, který mohu zvyšovat a snižovat a případně mohu nařídit jinému vláknu, aby bylo zastaveno, dokud se na counteru neobjeví nula.

Typicky to používám tak, že chci aby thread počkal, dokud se nedokončí všechny paralelní operace, přičemž stačí počítat, kolik jich ještě běží. Pokud všechny skončí, klesne čítač na nulu a thread může pokračovat.

A teď hledám na google, jak se toto synchronizační primitivum jmenuje. Protože klasický semafor to není, bariera taky ne. Google mi nepomůže, protože se ho neumím zeptat. Pomůže mi někdo?

4
Vývoj / Problém s C++ : ios::ate
« kdy: 28. 09. 2017, 13:31:26 »
Narazil jsem na následující problém.  Mám tento kód

Kód: [Vybrat]
std::fstream out(fname.c_str(),std::ios::out|std::ios::ate);

když ale pustím strace, vidím následující:

Kód: [Vybrat]
open("./backup-1506250110-btcusd-orders.json", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 4
lseek(4, 0, SEEK_END)                   = 0
lseek(4, 0, SEEK_CUR)                   = 0

Tušíte někdo, proč tam je to O_TRUNC následované zbytečným seekem na konec?  Mám to hlásit jako bug, nebo je to WAI?

Kód: [Vybrat]
gcc version 6.2.0 20161005 (Ubuntu 6.2.0-5ubuntu12)

PS: nemůže být problém v tom, že bych koukal na jiný řádek v programu, jelikož je to jediný místo, kdy se tento konkrétní soubor otevírá. Taky jsem před testem udělal full rebuild

5
Vývoj / K čemu jsou message brokers?
« kdy: 11. 07. 2017, 20:21:34 »
Vysvětlete mi někdo k čemu se hodí ty všude oblíbené message brokers? Třeba rabbit nebo zeromq. Přijde mi že věci spíš komplikují, než zjednodušují. Třeba teď mi byl předhozen zeromq a potřebuji od něj asynchronní req/rep a to po jednom spojení neumi, přičemž sám si to nad TCP stackem naprogramuju za odpoledne, bohužel klient na použitém mq trvá. Na jaký usecase bych měl tenhle typ komponenty použít, když to evidentně někteří nepoužívají správně. (Někdy mi přijde že výběr technologie manažeři provádí podle toho kolik jejich kamarádů danou technologií mají v portfoliu nebo jak moc je cool, free a in aniž by se někdo zamyslel nad tím, zda se na problém hodí)

PS: subscriber publisher pattern zvládnu do toho dopsat za druhé odpoledne

6
Palce u ostatních komentářů vidím, u svého mám jen možnost svůj komentář sledovat nebo se nahlásit jako spammer (což nevím, proč bych dělal).

Když chci vidět, jak můj komentář hodnotí ostatní, musím se odhlásit. Je to trochu nepohodlné

7
Server / Http na backendech a čím jej nahradit (a zda vůbec)
« kdy: 06. 05. 2017, 11:27:39 »
S nástupem Http/2.0 a snahou vytlačit HTTP z prohlížečů opět řeším problém, jaký protokol používat na komunikaci mezi webserverem a nějakým pokročilým backendem. Doposud jsem si vystačil s proxypassem přes protokol http. Nevidím důvod, proč bych na backendu měl používat http/2.0, už kvůli tomu, že nevyužiju ani multiplexing ani šifrování, ale spíš honím maximální rychlost při přenosu dat z backendu na webserver.

Uvažoval jsem také o fastcgi, ale po prostudování dokumentace jsem ty úvahy znechuceně opustil. Je to protokol ze staré školy, podle mě moc komplikovaný a necítím to jako inovaci (spíš jako krok do historie). Zatím mi zpravidla http protokol přes proxypass postačoval, byť na můj vkus ukecaný. Obávám se ale, že zejména z pohledu managerů tlačených mainstreamem bude snaha věci zbytečně komplikovat.

Co se používá v jiných firmách a projektech?

8
Vývoj / Musí webdesigner znát základy Linuxu?
« kdy: 25. 04. 2017, 11:48:49 »
Zdar musím si postěžovat :)

Chápu, že nemohu po některých web designerech chtít programovat, byť by dneska základy JS měl asi každý zvládnout, nebo aspoň umět pomocí JS skrýt element na obrazovce, nebo vyplnit položky v select boxu. Ale někdy se setkávám se základními neznalosti, které mi stěžují práci s nimi.

Valná většina serverů běží na linuxu. Občas bych potřeboval, aby web designer věděl minimálně
 - co je to ssh veřejný klíč
 - co je to sftp protokol
 - co je to proxypass a jak si ho nastavím na svém lokálním serveru
 - co je to git a jak si z něho stáhnu projekt k sobě na disk
 - co je to konzole
 - proč je špatný nápad na server instalovat ftp
 - jak vypadá http request a jak response a co zhruba každá položka znamena (a kde to ve webové konzoli najdu)
 - proč není divný že /aaa/bbb  vrací 404 když /aaa/bbb/ccc funguje

Chci toho moc od člověka, který si řekne půl litru za hodinu? Nebo jsem se zbláznil a mám přehnané požadavky? Nebo jsem narazil na obyčejného grafika, který občas udělá i webovou stránku (ve wordpressu)

9
O serveru Root.cz / Tlačítko zpět na Lupě a na Rootu
« kdy: 14. 10. 2016, 16:26:06 »
Nevím jestli se to děje i vám, ale mně se často stává, že jdu na homepage Lupy nebo Root a otevřu si tam nějaký článek. Po přečtení článku dám zpět a odctnu se na stránce, na které jsem byl, než jsem přešel na homepage, tedy jako by to udělal 2x zpět. Mohu kdykoliv reprodukovat.

Děje se mi to v Chrome a to jak na linuxu, tak na windows, tak v mobilní verzi chrome. Netušíte čím by to mohlo být?

10
Nabízím zakázku / Javascriptář (Praha)
« kdy: 26. 02. 2016, 11:40:33 »
Zdravím.

Hledám do týmu malého startupu javascriptáře pro delší spolupráci (OSVČ)

Firma: Adveri s.r.o

Hlavní náplní práce by bylo vývoj webových aplikací (HTML5, JS, AJAX)
Příklady:
 - vývoj webové verze mobilní aplikace
 - aplikace pro snadnou administraci dat informačního systému.

(nejsou vyžadovány grafické dovednosti)

Sídlo společnosti je v Praze, není nutná trvalá fyzická přítomnost, přesto je třeba počítat s občasnými návštěvami v sídle.

Zájemci pište PM, nebo na nov.ondrej@gmail.com

11
O serveru Root.cz / Úvodní článek vypadá jako reklama
« kdy: 30. 01. 2016, 11:28:33 »
Já vím, že je tady vlákno, ale nechtěl jsem aby zapadl můj postřeh.

Dřív jsem si při návštěvě rootu přečetl úvodní článek a pak zbytek. Nyní narazím na novinku. Pak si uvědomím, že je to jen novinka a přečtu si... druhý článek. Proč přeskakuju první..?

sakra teprve dneska jsem si ho všimnul, on totiž vypadá jak reklama.

Tolik zpětná vazba.

12
O serveru Root.cz / blog.root je mrtvý?
« kdy: 10. 12. 2015, 11:57:59 »
Poslední příspěvek vidím z července. Je ta služba mrtvá, nebo jen jednoduše nikdo od té doby nic nenapsal?

13
Vývoj / Vícejazyčné texty v DB
« kdy: 14. 11. 2015, 13:14:18 »
Snažím se někde vygooglit rozumnou strategii pro vícejazyčné texty v databázích. Samozřejmě že nejprve jsem to řešil extra tabulkou, ve které byly pro každý řádek v primární tabulce textové popisky pro konkrétní jazyk s tím, že primární tabulka má take textové popisky, které suplují "default" jazyk, tedy situaci, kdy někdo žádá o jazyk, který není v jazykové tabulce.

Tohle řešení dost komplikuje některé dotazy a moc se mi nelíbí, je málo univerzální.

Pak mě napadlo dávat vícejazyčné texty dohromady do jednoho sloupečku a nějak to rozlišit uvnitř, s tím, že by po vrácení z DB došlo k nějaké filtraci textu podle toho, co žádá uživatel za jazyk. Zpracování textu by bylo obecnější, ale dělal by to až backend, ne databáze (maximálně, že by se napsala funkce pro databázi, která by to dělala).

Poradí někdo řešení, jak se to třeba dělá jinde? Nebo stačí jen poradit vhodný dotaz pro googla.

14
Server / Protokol mezi proxy a backendem
« kdy: 07. 11. 2015, 21:48:32 »
Zdravím.

Řeším takovou otázku která mě možná začne trápit v blízké budoucnosti. Vzhledem k nastupujícímu trendu provozovat všude HTTP/2.0 a šifrování, řeším, jak dále vyvíjet mé backendy psané v C++. Doposud jsem používal uspořádání nginx -> proxypass -> backend(http/1.1). Je výhodné, zejména nginx řeší třeba SSL, zajišťuje jakousi izolaci, například ochranu proti různým exploitům typu slowloris, dále pak propojení statického obsahu s dynamickým a mapování cest a jinak do vlastní komunikace moc nekecá, hlavičky se předávají v zásadě 1:1, takže zbytek má v rukou sám backend.

Na co se mám připravit v případě http/2.0? Jasně, předpokládám, že nadále bude proxypass nějak emulován, takže s tím asi vydržím, ale neumím si tam představit nové featury, jako server push. Na druhou stranu mi nepřijde rozumné tu komunikaci provozovat plně na HTTP/2.0, jednak bych musel šifrovat, a pak nginx stále bude v roli míchání statického obsahu s dynamickým, takže 1:1 by to asi nešlo.

Jaké jsou další možnosti? Zkoumal jsem FastCGI, ale ten protokol mi přijde velice odporný, chybí mu jednoduchost běžného http :) Chystá se nějaká lepší alternativa?

15
Server / Groupware na Linuxu s ActiveSync
« kdy: 21. 10. 2015, 12:00:05 »
My linuxáci máme život jednoduchý, posíláme si maily z terminálu, kecáme na jabberu, občas si vystačíme s gmailem a tickety píšeme do tracu.

Jenže jakmile vám do vaši práce začnou mluvit obchodníci, chtějí svůj standard. Tedy ideálně outlook, kde si mohou navzájem posílat úkoly, pozvánky na schůzky, kalendář s programem na další tři měsíce, a podobně, znáte to.

Problém třeba je, že jsem jim to rozchodil přes google, ale bylo mi řešeno, že omalovánky gmailu jsou jak pro puberťáky, že tohle se nedá použít pro profesionální práci... chápejte, prostě outlook a synchronizace do všech zařízení, které obchodník má.

No a další požadavek  je, aby instalace byla stupid easy. Co jsem vyzkoušel (Zimbra, Sogo) tak je to na dlouhé zimní večery hrát si s konfigurákem. Navíc některé projekty chtějí úplně nesmyslné požadavky. Například už během instalace chce Zimbra nebo Kolab FQDN a MX záznamy v DNSku. Já to první chci vyzkoušet ve virtuálu, i kdybych měl do klienta psát číselné adresy. Nejsem admin, nemám po ruce pět šest fyzických strojů s pevnou IP adresou a DNS záznamem. Potřebuju najít řešení o jehož finální nasazení (alokace stroje, přístup k DNSkám, nastavení infrastruktury) se bude muset ještě rozhodnout na vyšších místech

Máte zkušenosti s něčím funkčním, co třeba používáte u vás ve firmě?

Stran: [1] 2 3 4

reklama