mam unit testy, gdzie używam unittest.patch zeby zmienic zachowanie funkcji.

localserver = partial(funkcja, local=True)
lokalnie = patch('path.dupa.funkcja', local
server)

i teraz w kazdym tescie robie:

def testfooobliczajlokalnie():
with lokalnie:
# rob cokolwiek

pytanie:
daloby sie ten patch wrzucić jakoś do setUp( ) żeby nie dodawać tego with w każdym teście?
a może moglbym zrobić z tego dekorator jakoś dla unit testów czyli mialbym np.
@lokalnie
def test
foo
Jak z #zbar w #python otrzymać samą zdekodowaną zawartość? Obecnie dostaje coś takiego:

Decoded(data=b'PSC:00000074', type='QRCODE', rect=Rect(left=60, top=63, width=120, height=120), polygon=[Point(x=60, y=73), Point(x=70, y=183), Point(x=180, y=173), Point(x=169, y=63)

a chciałbym samo "PSC:00000074". Istnieje jakiś sensowny sposób niż oddzielanie po apostrofach i wybieranie [0]?
@NewEpisode:
zmienna a to lista obiektów typu Decoded
Czyli:

wynikowe_stringi = [x.data.decode('utf-8') for x in a]
[print(x) for x in wynikowe_stringi]
Zamiast całego bloku if a:, a uzyskasz co potrzebujesz.
  • Odpowiedz
[x.data.decode('utf-8') for x in a]


@patrolez: Cóż, działa :D Dzięki za odpowiedź, muszę tylko przeanalizować na spokojnie tą linijkę bo nie do końca ogarniam do końca co ona robi
  • Odpowiedz
Mirki zbieram internetowe zasoby by się wgryźć w pisanie "makr" excelowych w #python. Czy ktoś z Was szedł podobną ścieżką i mógłby polecić jakieś ciekawe strony/ kursy. Póki co znalazłem kilka tutoriali i blogów:
https://pythoninoffice.com/
https://www.dataquest.io/blog/python-excel-xlwings-tutorial/
https://www.pyxll.com/
https://automatetheboringstuff.com/chapter12/
https://openpyxl.readthedocs.io/en/stable/

Skłaniam się ku wykorzystaniu pandas, xlwings i openpyxl.
PS. tak przy okazji czy ktoś korzystał z dataquest w rozwijaniu umiejętności z zakresu data science? Jestem ciekaw opinii. #naukaprogramowania #makro #excel
@mactrix: Dam ci protipa od samouka, który szedł tą samą drogą. Pandas, Pandas i jeszcze raz Pandas. Wszystkie xlwingsy i pyxle wsadź sobie w buty. W późniejszych projektach xlwings przydał mi się tylko do nadpisywania pliku z makrem VBA, którego nie mogłem zastąpić bo pani Grażynka lat 60 stwierdziła, że tak musi być bo tak ( ͡° ͜ʖ ͡°) Nie wiem w czym działasz, ale w korpo
  • Odpowiedz
@mcnight95: Rok temu oferowano mi 100-140zł/h net. Przy czym kalkulacja godzinowa była trochę szemrana. Miałem płatne za stałe 10h, z czego 6h to zajęcia a 4h to praca dodatkowa - sprawdzanie zadań i Q&A.

W umowie każdy z uczestników miał 30 min na 1na1 ze mną, uczestników było 10, można łatwo policzyć że zajmie to conajmniej 5 godzin. Ale pracodawca zakładał że będzie to maksymalnie 1-1.5h, bo nie wszyscy z tego
  • Odpowiedz
#programowanie #programista15k #python
Jak to jest z rynkiem juniorów obecnie ktoś mi wyjaśni? Bo kuzyn (humanista z krwi i kości, 35 level) mi się podpytuje, mówi, że jego kumpel - ten sam poziom humanistyczności i wieku jebnał kurs Pythona i z palcem w dupie dostał robotę. Serio teraz tak prosto, że każdy robotę dostaje?
@Papasanbaba: Jak wbije się w rynek i pozostanie na nim powiedzmy te 2 lata to potem nikt nie patrzy na studia czy inne pierdoły. Jest użyteczny, potrafi wytworzyć wartość w projekcie i ktoś mu za to płacił to po kij drążyć temat, że ktoś skończył ekologię ? Oczywiście wykształcenie techniczne pomaga troszkę ( podstawy matmy chociaż ).
  • Odpowiedz
Pod tagiem #devopsiarz (obserwuj lub czarnolistuj) publikuję kolejne zestawienie o ciekawych artykułach, programach, bibliotekach z działki #devops i nie tylko - najczęściej #golang i #python, ale też #rustlang, #wordpress, #pracait czy #produktywnosc


To samo zestawienie u mnie na stronie (lepsze formatowanie) https://devopsiarz.pl/zestawienia/zestawienie-linkow-materialow-03-01-2021/

A jeśli chcesz jeszcze dostępu do większej ilości linków, zapisz się do mailingu https://devopsiarz.pl/newsletter/zapisz/

Zapraszam również do dołączenia do społeczności na Discord https://discord.com/invite/jgSjRjt

Chcesz,
Wołam 20 osób na podstawie algorytmu: wołanie za plusy dla 2 ostatnich
materiałów lub plusy dla przynajmniej 3 z 6 ostatnich materiałów.

Jeśli plusowałeś/aś tylko 2 ostatnie(-nich) materiały(-ów) - nie plusuj posta
rozpoczynającego ten wątek, aby wyłączyć wołanie przy kolejnych wpisach.

Jeśli plusowałeś/aś conajmniej 3 z 6 poprzednich materiałów, w tej sytuacji,
aby wyłączyć wołanie, nie plusuj nowych wpisów tak długo, aż liczba Twoich plusów dla
6 ostatnich materiałów spadnie poniżej liczby
  • Odpowiedz
#programowanie #programista15k #python #pyheart

Czołem, podklejam podsumowanie aktywności z zeszłego tygodnia (od 28 grudnia 2020 do 3 stycznia 2021) na https://pyheart.pl (agregatorze polsko oraz anglojęzycznego kontentu związanego z językiem programowania Python).
Od dzisiaj, każde nowe podsumowanie będzie zawierało tag #pyheart, więc zachęcam zainteresowanych do jego śledzenia.

Link do podsumowania: https://pyheart.pl/summaries/150582d5.

Kontent uwzględniony w ww. podsumowaniu:

youtube (18)
- Kacper Sieradziński - Django i Python zaczynamy! :) Zróbcie hałas
- python:
  • Odpowiedz
wartosci przypisane do zmiennych przechowywane sa pod tym samym adresem w pamieci niewazne do ilu zmiennych to przypiszesz


@Gviazdor: W przypadku stringów, nie tylko ten mechanizm ma miejsce.

Stringi w Pythonie sią internowane. Więc dana instancja stringa występuje tylko raz, gdy definiujesz taki sam string to nie jest tworzona dodatkowa kopia, tylko jest wskazywany na pierwszą utworzoną instancję
więc takie coś

a = 'spiderman'
b = 'spiderman'
print(id(a))
print(id(b))

Da
  • Odpowiedz
@Gviazdor: dam Ci jedna dobra radę i weź ja sobie do serca: nie słuchaj nigdy ludzi którzy mówią "jezyk/technologia X to gowno/abominacja"
Każdy język ma swoje zastosowanie a programista powinien dobierać narzędzie do zadania. Ci ludzie po prostu sami są początkujący i mają swoje opinie.
  • Odpowiedz
W drugiej połowie zeszłego roku wyszło nowe, V wydanie książki "Python. Wprowadzenie" - liczy już ponad 1400 stron :).
Również w zeszłym roku pojawiło się nowe wydanie książki Cay S. Horstmanna pt. "Java. Techniki zaawansowane. Wydanie XI".
Obie z nich przez kilka dni można kupić za 29,90 zł - o północy wystartowała największa coroczna akcja promocyjna na e-booki - ZACZYTANI2021: http://ebookpoint.pl/page/8451w/promocja/10041/
W promocji ponad 36 000 ebooków, audiobooków, kursów i książek z
#sysadmin #linux #python
Jak byście podeszli do tematu z ciągle zapchanym SWAP-em
monitoring co pare dni wypluwa incydent że swap jest 100% zapachany mniej więcej takiej proporcji
32 GB RAM - free 8GB available 6GB
SWAP 8GB (0 free)
swapiness 10
RAM ok ale swap ciągle przepełniony, zmieniać swapinessna 1 albo swapoff i on to naklejanie plastra a nie rozwiązywanie problemu. Skrypty pythonowe mają taki problem z opróżnianiem swapa?

coś czytałem że
@open-alpha: wrzuć smem lub odpal:

for file in /proc/*/status ; do awk '/VmSwap|Name/{printf $2 " " $3}END{ print ""}' $file; done | sort -k 2 -n -r | less

zeby zobaczyć co zjada swap
  • Odpowiedz
@open-alpha: Jest to możliwe, aby napisać program w pythonie, który żeżre całą pamięć i będzie chciał żreć więcej. Testów na wykorzystanie pamięci przez program w pythonie praktycznie w ogóle się nie robi, bo teoretycznie nie ma czegoś takiego jak mem-leak. Praktyka jest jednak taka, że jak ktoś nie wie, co pisze, to prowadzi to do takich sytuacji.

Stawiam, że te skrypty w pythonie, to straszny crap. Zazwyczaj wystarczy w jednym miejscu
  • Odpowiedz
Może pythonanywhere.com. Nie pamiętam tylko jakiej bazy danych używają. Co kilka miesięcy trzeba się zalogować i zrestartować licznik. Jakieś proste API na flasku tam wrzucałem do testów z dwa lata temu i działa do dziś.
  • Odpowiedz
Załóżmy, że mam funkcję f1 tworzącą jakąś listę i drugą funkcję f2 tworzącą listę list przy użyciu f1 - czy w takim przypadku powinienem stworzyć zmienną pomocniczą (tutaj someList) np.
def f2():
listAll = []
someList = f1()
listAll.append(someList) czy pominąć te someList i tworzyć potworki typu:
listAll.append(f1()) (tutaj wygląda to spoko bo jest dość krótkie, ale czasem takie potworki z wieloma nawiasami, kropkami itp. wyglądają strasznie nieczytelnie)

W sumie pytanie sprowadza
via Wykop Mobilny (Android)
  • 2
@BaltasarGracian: zależy. W tym wypadku jestem za drugą wersją, ale to kwestia upodobań. Ja staram się tworzyć nową zmienną, gdy skraca to kod (np. potrzeba danej wartości kilka razy) albo jak nowa nazwa coś wnosi np masz jakieś kryptyczne wywołania funkcji, ale dzięki zmiennej tymczasowej szybciej wiadomo o co chodzi
  • Odpowiedz
@jaroslaw-stadnicki: Początku nie da się słuchać. Nie wiem ile jest merytorycznego kontentu w tych dwóch godzinach i się raczej nie dowiem. Po prostu podcast dedykowany optymalizacji i wydajności powinien mówić o tych dwóch rzeczach, a nie o tym kto w jaką gre gra.
Naprawdę, wielu programistów bywa zajętymi ludźmi i szukają konkretnych, merytorycznych informacji.
  • Odpowiedz
@jaroslaw-stadnicki:

moze jakis odcinek o podesjciu do wytwarzania kodu w zaleznosci od miejsca pracy i specyfiki. W sensie ze w software house robisz jak u kogos, troche masz #!$%@?, klient podpisze odbior i elo , powodzenia potem w krainie spaghetti a w firmie product base ( np netflix, uber) robisz jak dla siebie, prawilnie bo wiesz ze Ci moze wybuchnac za jakis czas.
  • Odpowiedz