aMule (Wikipedie), tj. multiplatformní klient pro peer-to-peer sdílení souborů pro sítě eD2k and Kademlia, byl po více než pěti letech od vydání poslední verze 2.3.3, vydán v nové major verzi 3.0.0 (GitHub). S novou webovou stránkou a dokumentací.
Byly vyhlášeni vítězové a zveřejněny vítězné zdrojové kódy (YouTube, GitHub) již 29. ročníku soutěže International Obfuscated C Code Contest (IOCCC), tj. soutěže o nejnepřehlednější (nejobfuskovanější) zdrojový kód v jazyce C.
Evropská komise předložila evropský balíček pro technologickou suverenitu, tedy soubor opatření, která mají posílit kapacity EU v oblasti polovodičů, umělé inteligence, cloudu a open source. To Evropě pomůže stát se lídrem v oblasti umělé inteligence, posílit její digitální autonomii a vytvářet podmínky pro udržitelnější digitální budoucnost.
OpenCV (Open Source Computer Vision, Wikipedie), tj. open source multiplatformní knihovna pro zpracování obrazu a počítačové vidění, byla vydána v nové major verzi 5.
Byla vydána nová verze 9.7 multiplatformní digitální pracovní stanice pro práci s audiem (DAW) Ardour. Přehled novinek, vylepšení a oprav v poznámkách k vydání.
Vývojáři webového prohlížeče Ladybird dnes oznámili, že mění způsob vývoje. S blížícím se vydáním alfa verze přestávají přijímat veřejné pull requesty. Všechny otevřené veřejné pull requesty budou uzavřeny. Tým nedokáže garantovat bezpečnost AI generovaných pull requestů.
OpenLogi (GitHub) je open source náhrada aplikace Logi Options+ pro přizpůsobení myší od společnosti Logitech. Zatím běží pouze na macOS.
Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za květen (YouTube).
Úřad pro ochranu osobních údajů řeší desítky stížností na jednotné měsíční hlášení zaměstnavatele, které stát spustil počátkem dubna. Systém, jenž má firmám odlehčit od desítek formulářů, nejenže výrazně zatížil jejich účetní oddělení, ale docházelo v něm i k únikům osobních dat zaměstnanců k firmám, kde nepracovali. Podle ministerstva práce a sociálních věcí stála za problémem technická chyba. „Incident se týkal několika stovek
… více »Byla vydána (𝕏, Bluesky) nová verze 22.0.0 open source webového aplikačního frameworku Angular (Wikipedie). Přehled novinek v příspěvku na blogu.
class image_create( QtGui.QDialog ):
def __init__( self, Parent ):
super( image_create, self ).__init__()
self.ui=uic.loadUi('UI/create_image_progress.ui')
self.ui.label_progress.setText("%i z %i" % ( 0, 0 ))
self.connect(self.ui.buttonBox_abort.button( QtGui.QDialogButtonBox.Cancel ), SIGNAL("clicked()"), self.get_cancel)
def get_cancel(self, event=False):
self.image_break = True
# it určí, jak se zobrazuje prováděná úloha, zda v IT MiB, nebo dakadických
def create(self, path, name, size, it=False ) :
self.ui.show()
self.image_break = False
if (size < 1024**3):
part_size = 128*1024 # 128k bloky
else:
part_size = 1024**2 # 1M bloky
parts=int(size/part_size)
frag=size-parts*part_size
allpath = os.path.join(path, name)
newfile=open(allpath, 'w')
oldperc=0
perc=0
part=chr(0)*part_size
for seq in range (1, parts+1):
newfile.write(part)
if ( self.image_break == True ) :
newfile.close()
os.remove(allpath)
break
total_done = part_size*seq
perc = int(float(total_done*100 / size))
#print "%i %i %i %f" % (seq, total_done, perc, float(total_done*100 / size))
if (oldperc < perc):
self.ui.progressBar.setValue(perc)
oldperc=perc
self.ui.label_progress.setText("%s z %s" % ( hr_value( total_done, 3 , it ), hr_value( size, 1, it ) ) )
if ( self.image_break == True ):
return 1
newfile.write(chr(0)*frag)
total_done = part_size*seq + frag
perc = int(float(total_done *100 / size))
#print "%i %i %i %f" % (seq+1, total_done, perc, float(total_done*100 / size))
self.ui.progressBar.setValue(perc)
self.ui.label_progress.setText("%i z %i" % ( total_done, size))
newfile.close()
return 0
# time.sleep( 5 )
Řešení dotazu:
import spam spam.ham = "dirt"Uvnitr modulu uvidis promenou
ham, spam je odkaz na jeho jmenny prostor. Ale takhle to nedelej, pacz je to neskutecna prasarna a prvni pythonista ktery to uvidi ti pracky urazi a necha te to za trest prepsat do php.
Porad prasacky ale aspon pouzitelny je udelat si v modulu inicializacni funkci ktera bude fungovat jako konstruktor. Ne ze by v tom byl technicky rozdil, ale je prehlednejsi mit veskerou logiku modulu uvnitr toho modulu a nespolehat se ze nekdo "zvenku" vi co a kam ma strcit aby to zacalo fungovat.
Uplne nejcistsi zpusob je udelat proste objekt a strkat veci konstruktoru. Vsechno je reference, takze muzes zonglovat s relativne velkym mnozstvim dat bez kopirovani a je veskrze jedno jestli mas v hlanim programu referenci na modul nebo referenci na nejakou instanci – vsechno je objekt. Jestli vis ze nebudes potrebovat vic jednu instanci tak je to zbytecne, naopak je jednodussi trochu opevnit modul s inicializacni funkci (hlavne zajistit aby nesel inicializovat vicekrat) a interpret z nej udela perfketni singleton bez prace.
Tiskni
Sdílej: