journalctl -u micro – Telegram
journalctl -u micro
93 subscribers
2.17K photos
210 videos
287 files
1.44K links
Esperienze e consigli di uno sviluppatore tech−unenthusiast

creation — 2021-04-29
owner — @Microeinstein

networks
@sigma_hub Σ
@ageiroumena
Download Telegram
journalctl -u micro
>>> class js_dict(dict): # Useful to use attribute names instead of strings def __getattr__(self, key): if not key in self: return return self.__getitem__(key) def __setattr__(self, key, value): self.__setitem__(key…
Migliore implementazione, ma per fare un semplice wrapping a partire da un dizionario già popolato;
__init_subclass__ è utile per estendere la classe con dei @dataclass

class PlainClass:
@classmethod
def __init_subclass__(cls, /, **kwargs):
super().__init_subclass__(**kwargs)
for k, v in cls.__annotations__.items():
if not hasattr(cls, k):
setattr(cls, k, None)

def __getattribute__(self, name: str):
recur = super().__getattribute__
val = recur(name)
if not name.startswith("__") and isinstance(val, dict):
val = PlainClass.plain_new(val)
return val

@classmethod
def plain_new(cls, workdict: Dict[str, Any]):
ret = cls.__new__(cls)
ret.__dict__ = workdict
return ret

Esempio (ovviamente con limitazioni sui tipi importati/esportati)
import json
from dataclasses import dataclass

@dataclass
class Custom(PlainClass):
expected: int

with open("content.json", "r") as fi:
data = Custom.plain_new(json.load(fi))

print(data.field0.field2)
del data.field1
hasattr(data, "expected") # True (None)
hasattr(data, "CJQ2_X092") # False (exception)

with open("content.json", "w") as fo:
json.dump(data.__dict__, fo)
Mi stavo chiedendo...
come fa chi ha un PC fisso a scrollare velocemente e in modo granulare su/giù una pagina web o del codice, senza usare un touchpad? 😳

E ovviamente senza dover girare la rotellina del mouse tipo 10 volte nella stessa direzione, per poi rifare in direzione opposta per tornare nel punto precedente
Belle queste sinusoidi in edificio universitario che ti impediscono di concentrarti
Telegram

Dovrei bloccarne l'utilizzo
Da quando mi sono adattato a seguire (parte del)le linee guida sullo stile di Python, che dicono di separare parti di codice a sé stanti con due righe vuote, vi giuro non riesco più farne a meno (anche in altri linguaggi) — diventa tutto molto più leggibile

(Esempio)
import ...


classeA:
attributi

metodi


classeB:
...
journalctl -u micro
Che cazzo succede alla tastiera mo'
Mi sono appena accorto che anche il touchpad ha problemi, funziona random in base se premo (o tengo premuto) i tasti Meta / Alt...

A proposito, quei singoli tasti che davano problemi ora sembrano non andare proprio più (non è un problema di keycap)
Tasti: F1 CapsLock AltGr B N F12 Stamp

A mali estremi...
Che senso ha aggiungere dei nuovi temi ufficiali in Firefox, se poi li toglierai? 🤨

Mozilla oltre che a gestire male i propri soldi ora spinge anche verso la FOMO?
Oggi oltre alla tastiera dell'altro portatile, anche il mio mouse a casa sta dando problemi...

Universo ti prego smettila vai a dare fastidio a chi se lo merita
journalctl -u micro
Oggi oltre alla tastiera dell'altro portatile, anche il mio mouse a casa sta dando problemi... Universo ti prego smettila vai a dare fastidio a chi se lo merita
Ho aperto il mouse,
l'ho pulito dallo schifo,
l'ho passato con l'alcool,
ho rimesso le molle al loro posto,
l'ho richiuso.

Ora il click sembra andare bene, e la rotellina oltre ad essere più silenziosa ha un feeling strano molto morbido 🤔
Set-once fields

Unica pecca: bisogna scrivere questo boilerplate.
Ricordo che C# ha la keyword readonly per questo (assegnamenti consentiti solo nel costruttore)

Edit: manca il controllo per l'eliminazione del campo