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 - Tomáš Procházka

Stran: 1 [2] 3 4 ... 7
16
Software / Re:Textové editory vhodné pro programátory
« kdy: 16. 06. 2023, 09:23:11 »
Na práci primárně Intellij Idea a teď PyCharm. Nepoužívat na programování IDE je mrhání časem.
Pokud dělám něco v terminálu, tak ideálně mcedit, pokud není, tak nano, a pokud není ani to, tak vim.

Sám používám produkty od JetBrains, ale startuje to teda dost dlouho. A když se rozhodne indexovat projekt, který jsem otevřel jen pro malý edit, tak vždy lituju, že jsem neotevřel něco jiného. Bohužel to je taková zlatá klec. Neznám keybinds pro vscode nebo sublime, takže tam trpím i jen při autoformátu kódu.
Vim si nechávám jen na server a configy.
Zkoušel jsem SublimeText, protože to je jediný opravdu rychlý editor/IDE, když vynechám Vim/Neovim apod.
Historicky jsem vyrostl na NetBeans.

Určitě mě zajímá připravované cloud-based IDE od JetBrains, které je schopné předindexovat všechny git branche na pozadí, takže slibují, že přepínání bude rychlé. Zatím jsem nenašel čas to vyzkoušet.

17
Vývoj / Re:AI a poker
« kdy: 13. 03. 2023, 01:19:47 »
Existuje sazební "taktika" monte carlo
Já vždycky slyšel že se tomu říká martingale.

Asi jsem to někde slyšel/četl nebo si to pomotal v hlavě, aby to znělo víc gamblersky.
Rozhodně bych nečekal, že to bude mít stránku na Wiki.

18
Vývoj / Re:AI a poker
« kdy: 12. 03. 2023, 00:15:47 »
Pravděpodobnost na padnutí panny je stále 50%, ale pokud vám 3x po sobě padne orel, musím vám dříve nebo později padnou panna.

Ehm.. aj keby vam 15x padla panna, tak na 16ty pokus mate stale len 50% na orla.

Přesně tak. A s mincemi se nehraje. Šance 50:50 není pro kasino výhodná.
Na ruletě ale sází se na čísla, barvu, atd., kde u francouzské varianty je navíc zelená nula, u americké je ještě dvojitá nula navíc. Obě mimo barvu, řádek apod.
Při sázení na číslo je možná výhra 36 násobek (včetně vkladu), ale šance je 1:37, u americké 1:38.
Při sázení na barvu je tedy šance na výhru ~48.65%.
Existuje sazební "taktika" monte carlo, kdy se sázka na barvu po prohře zvojnásobuje.
Malá simulace:
sázka 1 Kč
prohra
sázka 2 Kč
prohra
sázka 4 Kč
prohra
sázka 8 Kč
prohra
sázka 16 Kč
prohra
sázka 32 Kč
výhra 64 Kč (včetně vkladu)
celkem postupně vsazeno 63 Kč

Tahle metoda má jednu nevýhodu, a to je limit maximální sázky.
Jinak by to "fungovalo".
Historie ukazuje, že není problém aby 32x padla za sebou jedna barva.
https://www.caesars.com/casino-gaming-blog/latest-posts/table-games/roulette/gambling-myth-monte-carlo-fallacy
Pokud by nebyl limit maximální sázky, a hráč tam seděl odzačátku, tak pro výhru 1 Kč bylo potřeba celkem vsadit 4294967295 Kč.

19
Vývoj / Re:PHP a SOAP
« kdy: 05. 03. 2023, 21:09:52 »
Pokud je to jen SOAP / REST proxy, nebylo by jednodušší ji napsat v Javě místo PHP? :-)
Nebylo by to jednodussi/rychlejsi v go?

Ohledně soapu mam zkušenosti jen s klienty.
Kdysi jsem zkoušel EET klienta v Go, a ten SOAP bylo docela peklo. Balíčky s pochybnou kvalitou a životností, a tak podobně. Takže to za mě není ideální jazyk, repektive ekosystém.
I v PHP jsem dělal klienta, na C# SOAP server. Tam jsme naštěstí mohli vyžádat nějakou starší WSDL specifikaci, protože ta nová v tom PHP ne a ne fungovat.
Vždy to nějak jde, nakonec je to "jen XML". Ale nejsnazší a nejlevnější asi bude použít Javu nebo C#. A nebo se vyprdnout na SOAP. Záleží co je nejvíce průchodné.

20
Server / Re:Jednoduchý cloud pro deploy webové aplikace?
« kdy: 20. 02. 2023, 14:22:38 »
Ja většinou pouzivam Firebase, nebo vše mačkám na jednom dropletu od DigitalOcean.

21
Vývoj / Re:Go optimalizacia - pointer vs receiver
« kdy: 22. 01. 2023, 23:49:12 »
To len tak teoreticky premyslam na hlas, ci sa oplati optimalizovat kod takto alebo ani nie...

Když o tom jen takhle musíš přemýšlet nahlas, tak ne.

22
Vývoj / Re:Čím v Go nahradit protocol buffers pro front-end?
« kdy: 19. 01. 2023, 15:29:40 »
Takze to IDL mi bude chybat tak ci onak. Preto ma zaujimalo ake technlogie pouzivate namiesto PB?

OpenAPI, ale to je děs. Neni to IDL, ale YAML peklo. Právě od toho prcháme na protobuf.

23
Hardware / Re:Jablotron bez originální SIM karty
« kdy: 19. 01. 2023, 15:07:11 »
plechová huba
To je co zač? Jak vypadá?
Hlasový automat, co ti do telefonu odvypráví nějakou zprávu.

Třeba ve 3 ráno, že je dole produkce.

24
Vývoj / Re:Regulérní výraz pro funkce a metody v Go
« kdy: 18. 01. 2023, 22:39:11 »
tzn len naparuje tu zatvorku
Jednak pro regulární výrazy je problém už samotné vnořování párových závorek. Za druhé, to právě není pravda, že stačí napárovat závorky – jak už bylo řečeno, to vám rozbije závorka v textovém řetězci nebo v komentáři.


Koukám, že jdu rozbíjet hračky pozdě.
https://go.dev/play/p/pB7As-_tqmN

25
Vývoj / Re:Čím v Go nahradit protocol buffers pro front-end?
« kdy: 18. 01. 2023, 10:25:03 »
My jsme naskočili později, takže přechod z v2 na v3 nás netrápí, zde neumím pomoci.
Každopádně možnost klasického JSON API na základě proto definice řešíme. Dokonce Protobuf používáme jako IDL na eventy a podobně.
V Go je nutnost používat google.golang.org/protobuf/encoding/protojson, to je občas na obtíž, pokud se tam připlete ne-proto objekt, který nesplňuje interface.
Souhlas, ze gRPC gateway je dost podivná. Každopádně nedávno jsem narazil na alternativní implementaci gRPC specifikace.
Je to od těch samých lidí, co udělali `buf` cli.
Vyklepu sem nějaké ty linky.

https://buf.build/blog/connect-a-better-grpc
https://connect.build/
https://github.com/bufbuild/connect-go
https://github.com/bufbuild/connect-web

A tady je hezká ukázka toho, jak gRPC funguje. Že to není žádná magie.
https://github.com/akshayjshah/grpc-demystified

26
Hardware / Re:RasberryPi 4 NAS
« kdy: 26. 12. 2022, 18:47:22 »
A pak jsem neudělal nic, a zaplatil si Google One.  ;D
Pokud máte trochu dat, možná. Ale od jistého objemu to docela leze do peněz. Smysl to trochu začalo mít až teď, co je drahá elektřina a i to je s otazníkem; s něčím úspornějším než je zrovna starej desktop, jakkoliv velmi úspornej, bych byl nákladově dlouhodobě tak na dvou třetinách.

Ngl, mám tam prd. Právě proto se mi to zatím nechtělo řešit. To samé ohledně soukromí. Samozřejmě, že bych byl radši kdyby kód nad daty byl můj, nebo aspoň společnosti, co se nevěnuje šmírování na internetu.
Dale také bych osobně rád využil DLNA, takže se asi nějaké domácí krabičce nevyhnu.
Jen jsem zatím neměl motivaci.
Chtěl jsem jen poukázat, že někdy se jde s kanónem na vrabce.

27
Vývoj / Re:Protocol buffers are raw json pole
« kdy: 25. 12. 2022, 21:56:56 »
Ale chcem prejst z nativneho github.com/golang/protobuf na google.golang.org/protobuf, kedze je to aj odporucane, ale problem je ze tam nie je ziaden JSONPBMarshaler interfejs, takze zase mam escapovany json alebo base64 string, podla toho ci pouzijem string alebo bytes typ. A neviem zatial najst riesenie.
Každopádně ta opravdová odpověď leží zde:
https://pkg.go.dev/github.com/golang/protobuf/jsonpb#JSONPBMarshaler
```
type JSONPBMarshaler
Deprecated: Custom types should implement protobuf reflection instead.
```

Budeš se muset ponořit do reflexe. Alternativně vlastní parser.
Každopádně to celé smrdí na 100 honů.
https://en.wikipedia.org/wiki/Code_smell

28
Hardware / Re:RasberryPi 4 NAS
« kdy: 21. 12. 2022, 13:15:30 »
Řešil jsem něco podobného. Ale abych data uchránil proti vytopení sousedem, vyhoření, krádeži apod. tak jsem došel k tomu, že by bylo vhodné mít i druhou lokaci. Druhé zařízení, třeba u rodičů, je již drahá sranda. Takže asi replikace do cloudu, AWS S3 nebo GCS. No a pak jsem došel k tomu, že můžu mít klidně oboje, a vynechat vlastní hardware.
A pak jsem neudělal nic, a zaplatil si Google One.  ;D

29
Software / Re:Čím generovat PDF z HTML?
« kdy: 19. 12. 2022, 21:01:56 »
Co https://gotenberg.dev/ v Dockeru? Tam už to snad nepůjde se vymluvit, že to "nic nedělá".
Případně půjde o nechvalně známou chybu mezi klávesnicí a židlí.

30
Vývoj / Re:Protocol buffers are raw json pole
« kdy: 09. 12. 2022, 22:27:04 »
Jde to tam naohejbat se starou implementací.

```
// foo.proto
message Foo {
  RawJSONMessage bar = 1;
}

message RawJSONMessage {
  string value = 1;
}
```
```
// foo.go
import "github.com/golang/protobuf/jsonpb"

// MarshalJSONPB overrides how the Bar, protobuf generated struct, is being serialized to JSON.
func (b *Bar) MarshalJSONPB(*jsonpb.Marshaler) ([]byte, error) {
   return []byte(b.Val), nil
}
```
```
// foo_test.go
import (
   "testing"
   "github.com/golang/protobuf/jsonpb"
)

func TestFoo(t *testing.T) {
   f := &Foo{
      Bar: &Bar{
         Val: `{"foo":"bar"}`,
      },
   }
   s, err := (&jsonpb.Marshaler{}).MarshalToString(f)
   if err != nil {
      t.Fatal(err)
   }
   t.Log(s)
}
```

Každopádně ta opravdová odpověď leží zde:
https://pkg.go.dev/github.com/golang/protobuf/jsonpb#JSONPBMarshaler

Stran: 1 [2] 3 4 ... 7