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 - Jaroslav Havlín

Stran: [1]
1
Vývoj / Re:Trait a konstruktor
« kdy: 21. 12. 2020, 18:53:52 »
Žel, opět se musím zeptat: Jde nějak ještě když bych tomu chtěl přidat nějakou logiku? Tedy konstruktor MessageStyle přijme g, přepočítá ho, a teprve výsledek uloží do fieldu Polite(g).

Určitě. Pokud ta logika nemůže být až v traitu (metoda init v původním příkladu), dá se v argumentu traitu použít libovolný výraz (typicky funkce, metoda v přidruženém objektu, jednoduchý inline výraz).

Kód: [Vybrat]
trait T(val traitField: String)

def prepareArgumentForTrait(l: List[String]): String = l.mkString("")

class C(l: List[String]) extends T(prepareArgumentForTrait(l))

object Main extends App {
  val o = C(List("a", "b", "c"))
  println(o.traitField)
}
https://scastie.scala-lang.org/y9HBofuwRce6a37fWbXdpA

2
Vývoj / Re:Trait a konstruktor
« kdy: 21. 12. 2020, 10:33:09 »
class C(val f: Integer) extends T {
  def printF(): Unit = {
    println(f)
  }
}
Tohle je docela hezký.

Jde nějak ještě když bych tomu chtěl přidat nějakou logiku? Tedy konstruktor přijme f, přepočítá ho, a teprve výsledek uloží do fieldu f?

Dotty (Scala 3) podporuje parametrizované traity. (A také "intersection types", které mohou při práci s traity přijít vhod.)

Kód: [Vybrat]
trait Polite(text: String) {
  val greeting = init(text)
  def greet(name: String) = s"$greeting $name!"
  private def init(s: String) = s"${text.toUpperCase},"
}

trait Curious(val question: String)

class MessageStyle(g: String) extends Polite(g) with Curious("How are you?")

def composeMessage(data: Polite & Curious, name: String): String = {
  s"${data.greet(name)}\n${data.question}"
}

object Main extends App {
  val messageStyle = MessageStyle("hello")
  println(composeMessage(messageStyle, "World"))
}
(https://scastie.scala-lang.org/VCcgilMpRMWpnZ773wMJIw)

3
Odkladiště / Re:Jak ukrýt důležité heslo?
« kdy: 15. 11. 2020, 12:11:27 »
Na podobný problém jsem kdysi dávno narazil jako na matematickou úlohu.

Jestli si správně vzpomínám, řešení bylo:

  • Heslo ve vhodné formě uložíme do souboru P.
  • Vygenerujeme náhodný soubor S1 o stejné velikosti jako má P.
  • Spočítáme exkluzivní součet těchto souborů jako S2 = P xor S1.
  • (P smažeme.)
  • S1 a S2 odděleně uložíme u dvou důvěryhodných nezávislých notářů, v bezpečnostních schránkách bank, apod.
  • Když P zapomeneme, vyzvedneme S1 a S2 a spočítáme heslo P = S1 xor S2.
Je to ovšem značně paranoidní, nepohodlné a nákladné :-)

4
Myslim si, ze jestli uz mne bude nekdo odposlouchavat, bude to robot, ktery mi maximalne tak prizpusobi reklamu [...] Nevidim jediny racionalni duvod, proc by mi to melo vadit.

Velmi pravděpodobně to bude tak, jak píšete, a nestane se nic hrozného.

Potenciální nebezpečí vězí v tom, že ten robot (nebo obecněji nějaký systém) může časem shromažďovat data o nás z různých zdrojů a sestavovat si podrobné psychologické profily. Bude vědět, jak přemýšlíme a co na nás platí. (A pak mohou být zrovna lékařská data velmi cenná.)

Pokud bude mít zároveň vliv na to, co vídáme v reklamách a na sociálních sítích, může informace a podněty, kterým budeme vystaveni, upravovat tak, aby naše názory posunul požadovaným směrem.

To by se náramně hodilo při reklamních a politických kampaních. Model světa každého jednotlivce by mohl být na míru deformován tak, jak se to hodí tomu, kdo má informace a ovládá technologie.

Toto je samozřejmě spíše pesimistický scénář, a navíc je otázka, o kolik je to horší než názorové bubliny, ve kterých se udržujeme sami dobrovolně. Ale možná to stačí jako motivace k tomu svými osobními daty zbytečně neplýtvat.

5
Dobrý den, podobnou otázku jsem si také pokládal a sesmolil jsem toto: kampan.primitiweb.cz.
(Chtělo by to doladit a doplnit, ale třeba to bude alespoň trochu užitečné.)

Vzniklo to jako vysvětlující stránka k mému pokusnému osobnímu projektu, jednoduchému skupinovému hlasování czoodle.cz, které se zaměřuje právě na soukromí.

Přeji hodně štěstí s Vaší osvětou.

Stran: [1]