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

Stran: [1] 2
1
Vývoj / Naivní závislostní typ (úvaha)
« kdy: 14. 11. 2019, 22:09:42 »
Mějme hypotetický jazyk s hypotetickým typovým systémem.

Mějme typ Numeric reprezentující všechna reální čísla, a pak následující kaskádu typů:

Numeric > Int > Age > Young
Numeric > PositiveUnzeroNumeric
Kde Age je rozsah 0 - 255, Young 0 - 19, PositiveUnzeroNumeric rozsah 1 - MAX_INT

Máme funkci pro dělení:
Kód: [Vybrat]
div a b = a / b
A dáme jí takovouto typovou signaturu:
Kód: [Vybrat]
div :: Numeric -> PositiveUnzeroNumeric -> Numeric
Šlo by to? Šlo by tímto způsobem na úrovni typového systému zabránit dělení nulou? Možná ne, ale zajímalo, jestli by se k tomu někdo zkušenější mohl vyjádřit. Protože třeba:

Kód: [Vybrat]
calculate :: Numeric -> Numeric -> Numeric
calculate a b = a `div` (b - 3)
calculate 9 6 -- 3
calculate 9 3 -- divide zero
se IMHO nepřeloží.

Jaké to může mít úskalí?

2
Vývoj / Uváznutí v Aktor systému
« kdy: 14. 10. 2019, 19:50:10 »
Zdravím.

Zkouším si jednoduchý Aktor systém. Celkem mi to jakože pěkně funguje, ale trošku jsem se zasekl na uváznutí.

Předpokládejme dva aktory A a B.
A -> B: kolik je hodin
B -> A: 19:41
A -> B: supr, díky
B -> A: není zač
A -> B: ok
B -> A: ok
A -> B: ok
B -> A: ok
A -> B: ok
B -> A: ok
A -> B: ok
...

Mohl by mi tu někodo poradit, jak se něco takového řeší? Třeba v Erlangu, systému Akka, nebo dalších?

Nechce se mi spoléhat na to, že ten aktor bude napsán správně. Rád bych tomu dodal alespoň základní ochranu. V "normálním" kódu se to dá trochu statistickou analízou podchytit. Na druhou stranu mé znalosti problematiky jsou omezené, a tak třeba existuje nějaké jednoduché řešení které dokáže víc.

Předem dík.

3
Ahoj.

Mám Fedoru 27, a aplikaci Gnome Soubory (Nautilus). Kde je defaultní chování, že když dám začnu psát, tak mi to začne vyhledávat a filtrovat. Celkově spokojenost, ale chtěl bych trochu jiné chování.

Aby to hledalo jen v aktuálním adresáři a nikoliv v podadresářích.
Případně, aby mě to hodilo na patřičný soubor či adresář.

Zkoušel jsem volby a klávesové zkratky ale na nic jsem nearazil. Snad jsem jen něco přehlédl.

Díky za pomoc.

4
Sítě / Zlobí SMTP na Seznamu
« kdy: 19. 10. 2018, 13:51:25 »
Zdravím.

Mám korektně nastavený smtp email (apple mail) na smtp.seznam.cz. Je to dozajista dobře, protože na jiné síti to funguje. Jen u mě doma to nejde odeslat, a hlásí mi smtp jako offline. Poskytovatel internetu se zapřísahá, že nic nefiltruje. Když se připojím přes hotspot na mobilu, tak to funguje. Takže problém je zřejmě jen u toho jednoho poskytovatele a jen u smtp - imap je v pohodě.

Můžete mi prosím poradit, jak mohu postupovat? Koho se zeptat, a kde začít?

Děkuji!

5
Odkladiště / Sháním židli
« kdy: 15. 09. 2018, 15:35:54 »
Zdravím.

Sháním židli, která vydrží když se na ní budu houpat. Nepotřebuju ergonomickou ani s kolečkama. Jen nesmí podemnou povolit.

Jsem spíše štíhlejší, tak do 80Kg, ale různě se na ní vrtím a kroutím a hlavně houpu. A ta kovová co mám to prostě nevydržela :-)

6
Vývoj / Apple Cocoa bez XCode
« kdy: 12. 09. 2018, 21:28:32 »
Zdravím.

Nevíte někdo o nějaké knihovně, tutoriálu, něčem, kde bych mohl vytvářet okýnkové aplikace pro macos a ios bez použití xcode a jeho UIBuilderu? Nevadí mi swift, ale chtěl bych to vytvořit a přeložit čistě pomocí příkazové řádky. Něco jako http://zetcode.com/wxpython/firststeps/

Možná je to jednoduché a jedná se jen o mou neznalost. Ale zatím umí vytvořit aplikaci jen v gtk/qt, což se mi na mac moc nezamlouvá.

Předem dík.

7
Vývoj / Více instancí gettextu
« kdy: 31. 07. 2018, 15:07:18 »
Zdravím.

Máme klasický gettext.

Existuje nějaký způsob, jak mět dvě instance pro dva různé jazyky? Tedy abych mohl v jednom obsahu vypsat anglicky i česky zároveň? Samozřejmě bych chtěl ty jazyky zvolit.

8
Vývoj / Syntaxe Haskell funkce
« kdy: 11. 07. 2018, 01:46:40 »
Ahoj.

Mějme funkci (třeba v Haskellu):

Kód: [Vybrat]
foo a = a + 1
Existuje nějaký zajímavý důvod, proč je ten argument před rovnítkem?

Mám totiž takovouto úvahu:
Pokud symbolu přiřazuju hodnotu:
Kód: [Vybrat]
a = 1
b = "text"
c = True
tak v případě funkce přiřazuju lambdu:
Kód: [Vybrat]
foo = \a -> a + 1
Díky za odpovědi.

9
Vývoj / Typový system versus unittesty
« kdy: 17. 06. 2018, 23:39:32 »
Zdravím.

Dospěl jsem k nezdravému přesvědčení, že jednotkové testy nejsou potřeba máte-li kvalitní typový systém.

(Teď samozřejmě neřeším který jazyk a zda něco takového má.)

Zajímalo by mě, můžete zkusit uvést nějaký příklad konstrukce, na kterou je nutné napsat test, protože typem to podchytit nejde?

Díky.

10
Vývoj / Formální verifikace podle typu na rozsah
« kdy: 01. 05. 2018, 00:57:43 »
Zdravím.

Mějme takovouto funkci v blíže neurčeném jazyku podobném haskellu:
Kód: [Vybrat]
fn s : String 0 40 -> String 4 20 =
    if (Str.len s) < 2 then
        "default"
    else
        Str.sub s 20
Čtěte to prosím jako "funkce fn má jeden parametr typu String který je minimálně nula znaků dlouhý, a maximálně 40; a vrací String, který je minimálně čtyři znaky dlouhý a maximálně 20.

A mě by zajímalo, jak má nebohý typový systém odvodit, že ta funkce je špatně?

(Tak jasně, můžu na to pustit testy, ale já bych rád zůstal jen u typů a formální verifikace.)

Díky.

11
Vývoj / Curryfikované funkce v Haskellu
« kdy: 01. 05. 2018, 00:44:27 »
Zdravím.

Už u několika tutoriálů k minimálně dvoum jazykům se mi stalo, že tam autor zdůrazňoval skutečnost, že funkce
Kód: [Vybrat]
multThree 3 5 9 se převede na
Kód: [Vybrat]
((multThree 3) 5) 9.

Jako já s tím nemám problém. Curryfikování je fajn věc, a umím to použít. Ale proč je to zdůrazňováno, že "Každá funkce v Haskellu bere oficiálně pouze jeden parametr."? Bych to bral jako implementační detail a basta. Škoda slov, ne?

Nebo to má nějaký zajímavý efekt, který mi uniká?

12
Software / ShepherD (dmd) versus SystemD
« kdy: 17. 07. 2017, 13:03:53 »
Zdravím.

Mohl by mi někdo znalej pomoct udělat si obrázek, o těchto dvou řešeních?

O SystemD něco málo vím. Je kolem toho větší humbuk, je masivně nasazován. Takže se tomu nedá moc vyhnout.

ShepherD, co je mi známo, nasazen na GuixSD, je kompatabilkní s SysV initem... Prakticky jen to, co jsem si nastudoval z jejich stránek.

Věnoval se tomu někdo víc? Může mi říct, co je na ShepherD zajímavé; i třeba v porovnání k SystemD.

Díky.

13
Vývoj / Build aplikace přes více strojů podle recepisu
« kdy: 02. 02. 2017, 01:51:42 »
Do určité míry znám Ansible, Puppet, Salt. Slouží k tomu, abych mohl popsat konfiguraci serveru, a pak ji snadno spustit na více mašinách.

To mě inspirovalo: Existuje nástroj, ve kterém si definuju aplikaci, a tu pak nějakým builderem spustím?

Příklad:
Jednoduchá webová aplikace. Ta potřebuje apache na stroji 10.0.0.1, kód aplikace strahuje z gitu z 10.0.0.2, připojuje se k databázi, která běží na stroji 10.0.0.3 - plus hesla, klíče, etc.
Po stáhnutí z gitu se musí provést ještě nějaký build (maven, composer, npm, ...), vytvoření adresářů, etc.

Takže bych očekával, že si tuto konfiguraci nějak zadefinuju do souboru, a pak spustím build tento soubor, a on si vleze na všechny stroje, a udělá tam co potřebuju.

Používá se na to ten Salt, Puppet, Ansible?
Existují na to nějaké jiné nástroje?
Znáte něco, můžete doporučit? Články, postupy, cokoliv co si myslíte, že je zajímavé.

Díky.

14
Sítě / VPN nefunguje veřejná síť
« kdy: 26. 02. 2015, 13:51:21 »
Zdravím všechny.

Chci se připojit do firemní sítě přes VPN. Dostal jsem od admina konfigurák kterej jsem si naimportoval do tady gnomáckého správce síťových připojení. Všechno vypadá ok. Ale když tu VPN zapnu, tak mi všechna konektivita pochcípá. A jediné, kam se dostanu, tak je ta firemní lokální síť. Takový buďanebo.

S adminem jsem to řešil, jemu to funguje. Z domova, z windows, vodevšad.

Netušíte kde hledat problém?

Mám Fedoru/20, GnomeShell.

dík

15
Software / Duplicitní záznamy v historii Bashe
« kdy: 05. 09. 2014, 14:23:21 »
HISTCONTROL=ignoredups Nastaví, že přímo po sobě následující shodné příkazy se uloží jako jeden.

Je ale možné nějak nastavit, aby se mi do historie ukládali jen ty příkazy, které tam ještě nejsou? Takže například, aby se mi nevznikali takové zápisy:

Kód: [Vybrat]
ls -la
history
ls -la
history
ls -la
history
ls -la
history

Díky za tip.

Stran: [1] 2

reklama