![sens](https://img.strm.pl/avatars/u1OxXhw8.png)
Z dnia życia kuca, odcinek 3
Desktopowy instalator nieważne czego, ważne że nasz, że przez nas zrobiony i to nie jest nasze ostatnie słowo. Dodaję ficzery. Super, wszystko działa. Testuję, odpalam kilka razy. Kurde, coś jest nie tak. Jak klikam cancel, to apka się wiesza na dłuższy moment. Szperam, szperam. Cofam się kilka commitów wstecz, ale nadal to samo, a przecież na 100 % działało wcześniej.
Okazuje się, że procedura zakończenia instalacji obejmuje edycję pliczku, który ma jakieś 10 kB. Podmiana jednej linii. Wygląda to mniej więcej tak:
with open(filename, 'r+') as f:
data = f.readlines()
swap_line(data)
f.truncate(0)
f.writelines(data)
Otóż kolega wklepał f.truncate(0)
i hehe pora na CSa :DDD truncate
ucina resztę pliku, tylko że kolega zapomniał przesunąć pozycję file handle'a na początek pliku, więc efektywnie uciął dokładnie nic, tym samym dublując przy każdym wywołaniu jego rozmiar. I tak u mnie z 10 kB zrobiło się w krótkim czasie 12 GB zanim sczaiłem się ocb (:
Wgl fajnie, że to śmiga na produkcji od pół roku xd
![sens](https://img.strm.pl/avatars/u1OxXhw8.png)
@Pherun: logika jest krótka, lecz z tłumikiem. Gdyby wrócił na początek pliku, uciął resztę i wkleił zmienioną treść z powrotem, to rozmiar byłby ten sam. A że nie wrócił i nie uciął nic, to po prostu dokleił zmienioną treść do niezmienionej.
![sens](https://img.strm.pl/avatars/u1OxXhw8.png)
Z dnia życia kuca, odcinek 3
Desktopowy instalator nieważne czego, ważne że nasz, że przez nas zrobiony i to nie jest nasze ostatnie słowo. Dodaję ficzery. Super, wszystko działa. Testuję, odpalam kilka razy. Kurde, coś jest nie tak. Jak klikam cancel, to apka się wiesza na dłuższy moment. Szperam, szperam. Cofam się kilka commitów wstecz, ale nadal to samo, a przecież na 100 % działało wcześniej.
Okazuje się, że procedura zakończenia instalacji obejmuje edycję pliczku, który ma jakieś 10 kB. Podmiana jednej linii. Wygląda to mniej więcej tak:
with open(filename, 'r+') as f:
data = f.readlines()
swap_line(data)
f.truncate(0)
f.writelines(data)
Otóż kolega wklepał f.truncate(0)
i hehe pora na CSa :DDD truncate
ucina resztę pliku, tylko że kolega zapomniał przesunąć pozycję file handle'a na początek pliku, więc efektywnie uciął dokładnie nic, tym samym dublując przy każdym wywołaniu jego rozmiar. I tak u mnie z 10 kB zrobiło się w krótkim czasie 12 GB zanim sczaiłem się ocb (:
Wgl fajnie, że to śmiga na produkcji od pół roku xd
![Runchen](https://img.strm.pl/avatars/bgj0L8GK.png)
Przykładowo- klasa średnia niska śpi.
Klasa średnia wysoka- zajmuje się swoimi sprawami, ale nie śpi, bo trzeba pewnych rzeczy dopilnować, oraz odpisać na Strimoidzie i przygotować pokój na sesję RPGa jutro.
Co łączy patoli z "bogaczami niskiej ligi" i klasą średnią średnią (nowobogackimi dupkami)- podaje odpowiedź- buractwo zazwyczaj.
Buractwo które każe się chwalić. Czuć się lepszym, innych pod byle pretekstem uważać za gówno, no i co najważniejsze- przejmować się.
Że jakiś anon w necie napisał że jesteś i byłeś i będziesz burakiem.
Amen.
XD
Pokaż ukrytą treść To tak dla przypomnienia za co mnie kiedyś "zczarnolistowałeś" sens
I dlaczego, dobrze wiedzieć, że pewne rzeczy pozostają bez zmian.
@sens
Chociaż nie może to o szaraka mi chodziło? xD
No ale to ponoć multi xDD
![sens](https://img.strm.pl/avatars/u1OxXhw8.png)
@Runchen: oho, chyba ci nadepnąłem czymś na odcisk xD Spoko, i tak cię lubię. Wsm to nawet nie pamiętam, żebym cię czarnolistował kiedykolwiek.