#python
Zaloguj się aby komentować
Zestaw książek na temat systemu Linux i powiązanych technologii od znanego i cenionego wydawnictwa O'Reilly.
Ten zróżnicowany pakiet książek pozwoli Ci opanować Linuksa oraz powiązane z nim technologie w mgnieniu oka!
Zacznij uczyć się już dziś umiejętności, których wymaga każda ceniącą się spółka technologiczna:
-
Administracja systemu Linux
-
Linux i Python dla DevOps
-
Docker i Kubernetes
-
Ansible i Terraform
#komputery #informatyka #humblebundle #ebook #promocje #linux #python #docker #ansible #terraform
O super, znów ebooki do których nigdy nie zajrzę
@koszotorobur
€749.29 Value
XD
"tytuł książki" pdf
Wyszukaj w googlu i masz za darmo ( ͡~ ͜ʖ ͡°) Cztery pierwsze z brzegu: https://pastebin.pl/view/6abcdf81

@koszotorobur Po co książki skoro shell jest najbardziej intuicyjnym sposobem interakcji człowiek-maszyna ?
Wszystko samo się robi.
Zaloguj się aby komentować
Tutaj więcej info o zmianach w REPL, które przyniósł Python 3.13:
-
Dane wyjściowe do konsoli mają teraz domyślnie włączony kolor.
-
Interaktywną przeglądarkę pomocy pydoc można otworzyć, naciskając F1.
-
Możesz przeglądać historię wiersza polecenia za pomocą F2.
-
Możesz łatwiej wkleić duże bloki kodu, naciskając F3, aby włączyć specjalny tryb wklejania bloków.
-
Możesz po prostu wpisać exit lub quit, zamiast exit() lub quit(), aby opuścić REPL.
Należy pamiętać, że te ulepszenia są obecnie dostępne tylko w systemach Linux i macOS. Nie są one dostępne w systemie Microsoft Windows, nawet w przypadku korzystania z nowego terminala systemu Windows.
#technologia #programowanie #python

Hello skrypcie koszotorobura!✋
Za próbę użycia `print` jako wyrażenie, a nie funkcję interpreter powinien przypominać, który jest rok i kiedy Py2 miał swój EoL.
Tylko ipython
Zaloguj się aby komentować

Zostań Patronem Hejto i tylko dla Patronów
- Włączona możliwość zarabiania na swoich treściach
- Całkowity brak reklam na każdym urządzeniu
- Oznaczenie w postaci rogala , który świadczy o Twoim wsparciu
- Wcześniejszy dostęp, do wybranych funkcji na Hejto
Papier: 59.50zł (promocja -50%)
E-Book: 59.50zł (promocja -50%)
Książka w promocji:
https://helion.pl/viewc/3976o/12/pytip3_ebook.htm
#python
@CzlowiekPromocja taguj człowieku...
@bojowonastawionaowca
Zaloguj się aby komentować
#programowanie #rustlang #python #java
@Pan_Bubr @GrindFaterAnona zrobilem leaderboard
Trzeba sie zalogować, przejść do https://everybody.codes/event/2024/leaderboards/private i podać ten kod b11ccb39-5574-4cd5-b3af-95b98cf8e065
To że jest się w jakimś leaderboardzie innym niż główny daje miły aspekt, że gdzieś zdobywa się punkty. Bo w głównym to jeśli nie zrobi się zadania do 1 w nocy to raczej nie ma co liczyć (za pierwsze zadanie dostaje pierwsze 50 osób, za drugie 100, za trzecie 150).
Ja niestety przestaję funkcjonować o 23:00, więc nie mam szans. Akurat ode mnie z pracy ktoś się mocno wkręcił, poszło to wyżej i międzywydziałowo walczymy na pracowym leaderboardzie.
@bendyz Obawiam się, że takie zabawy mogą być lekko psute przez istnienie chataGPT i innych modeli. Ja wiem, że to tylko zabawa ale na bank znajdą się osobniki, które gówno wiedzą ale będą chcieli żeby ich nick był gdzieś wysoko w rankingu i każde zadanie będą rozwiązywać w minutę kopiując odp z chataGPT jak leci xD.
@Catharsis oczywiście że tak, pewnie sie tacy znajda. Ja to traktuje jako zabawę, nie ma w tym żadnych nagrod rzeczowych, tylko i wyłącznie ciekawe zagadki. Myślę że większość tak to traktuje. Swoją drogą może dobrze byłoby zrobić oddzielna liste rankingową dla tych którzy korzystają z ai do generowania odpowiedzi. Byłoby to ciekawe porównanie.
Zaloguj się aby komentować
Sztuczna inteligencja wprowadziła Pythona do czołówki języków programowania w 2024 roku.
Wiąże się to ze wzrostem liczby programistów "data science" oraz "machine learning" na świecie, przez co Python wyprzedził JavaScript jako najpopularniejszy język programowania na GitHubie.
Źródło: https://github.blog/news-insights/octoverse/octoverse-2024/
#programowanie #python #programista15k #sztucznainteligencja #machinelearning #datascience #github
Ja nie uznaje za język coś, gdzie bloki się robi intendami i można pisać bez średników, brrr (╯°□°)╯︵ ┻━┻
No i bomba, bo to świetny język, a popularność nadaje trakcji rozwojowi, bo i pieniążki się znajdują dla fundacji. Jest starszy niż Java, a wiele osób myśli, że to świeży język, bo długo był w cieniu.
@koszotorobur A jakie duże aplikacje webowe/desktopowe sa napisane w Pythonie? Serio pytam, bo jak wieki temu wybierałem technologie pod jakieś mikroserwisy to Python może i był najwolniejszy, ale za to nie dało się go utrzymać in the long run. Może coś się zmieniło
Zaloguj się aby komentować
Ale dzięki IceCream używanie print() do debugowania stanie się odległym wypomnieniem!
IceCream, w skrócie ic, sprawia, że debugowanie staje się zdecydowanie słodsze - gdyż:
-
Drukuje zarówno nazwy wyrażeń/zmiennych jak i ich wartości
-
"ic" pisze się je o 60% szybciej niż "print"
-
Czytelnie wyświetla struktury danych
-
Koloruje składnię wyświetlanych danych
-
Opcjonalnie wyświetla kontekst programu: nazwę pliku, numer wiersza i funkcję
IceCream jest dostępne dla następujących języków programowania:
-
Python: https://github.com/gruns/icecream
-
Bash: https://github.com/jtplaarj/IceCream-Bash
-
Rust: https://github.com/ericchang00/icecream-rs
-
Go: https://github.com/WAY29/icecream-go
-
Node.js: https://github.com/jmerle/node-icecream
-
C++: https://github.com/renatoGarcia/icecream-cpp
-
C99: https://github.com/chunqian/icecream-c
-
PHP: https://github.com/ntzm/icecream-php
-
Dart: https://github.com/HallerPatrick/icecream
-
Ruby: https://github.com/nodai2hITC/ricecream
-
Java: https://github.com/Akshay-Thakare/icecream-java
-
R: https://github.com/lewinfox/icecream
-
Lua: https://github.com/wlingze/icecream-lua
-
ClojureScript: https://github.com/Eigenbahn/icecream-cljc
#programowanie #icecream #python #bash #rust #golang #programista15k

@koszotorobur dobra wrzutka, dziękuję!!
@koszotorobur ja jestem wierny tej metodzie debugowania xD

@koszotorobur ricscream xd
A na poważnie to taktyk
Zaloguj się aby komentować
Chcę skompilować kod, który ktoś przygotował z pomocą platform.io do esp8266. Jedna wirtualka nie przetrwała w sumie nie wiem dlaczego (ubuntu mate, wciągało już 20 gb dysku, choć było tam niewiele), zainstalowałem wczoraj lubuntu, wszystko super, dość lekko, ale:
python zainstalowany jako python 3.12.3-1ubuntu0.1
co nie pozwala na zainstalowanie python3.12-venv, bo nie
szukanie solucji - weź se aptitute i ono podrzuci rozwiązania
downgrade, bardzo delikatny
okazuje się, że GUI napisali przy użyciu pythona, nic już nie działa, restart
nie uruchamia się
non profit
Nie znam się za dobrze z pythonem, ale na moje, to opieranie GUI na nim jest jedną z gorszych decyzji. Przecież to powinno działać niezależnie, a tymczasem wszędzie trzeba walić dodatkowymi środowiskami, bo ktoś nie podumał zawczasu i coś może łatwo przestać banglać.
Zamiast skompilować coś w ciągu godziny, babram się z tym już dobrych kilka dni.
Edit: nawet niby LXQt w lubuntu nie jest oparte na pythonie, ale tylko jego przeinstalowałem, więc coś może być na rzeczy z samym systemem.
#zalesie #linux #python #macmajster
linux jest dla masochistów lub ludzi co mają czas 😉
@macgajster to niedojebanie samego platform.io który ma paczkę tylko dla jednego, góra dwóch distro. Ogólnie to wina wymagań bibliotek gdzie prościej zrobić wymaganie w postaci paczki zamiast konkretnej biblioteki.
@macgajster Hmm nie chce zabrzmieć jak typowy linuxiarz, ale najprawdopodobniej robisz to źle. Nie powinieneś zmieniać wersji pythona jaką masz zainstalowaną na hostcie, tylko do każdego projektu powinieneś instalować osobną wersje pythona w katalogu w którym teraz pracujesz. Nie jestem do końca pewien jak to działa w pythonie ponieważ nie piszę w nim nic wgl, ale w innych podobnych językach programowania masz podobnie (np node.js). Są od tego specjalnie menagery wersji i pobierasz do każdego projektu taką jaką potrzebujesz bo inaczej to była by masakra zmieniać cały czas wersje podstawowych systemowych paczek jaką jest np python do każdego projektu z osobna. Jak zgooglasz coś w rodzaju "python menaging multiple versions" to ci powinno wyjść co potrzebujesz.
Zaloguj się aby komentować
#programowanie #python

@mehdnpl @Meverth @Prucjusz @lurker_z_internetu @argonauta @AureliaNova Dziękuję Wam gorąco za liczne odpowiedzi. Potrzebuję więcej czasu aby przetrawić i posprawdzać wszystkie Wasze sugestie. Jest to temat, w którym jeszcze jestem zielony. Nie mniej Wasze komentarze dodały dużo nowych informacji i otworzyły mi oczy na szersze horyzonty
@slawomiras
1. Jeśli jesteś samoukiem, ogladnij jakiś sensowny kurs wirtualny o pythonie. Bez podstaw będziesz się co chwilę potykał.
2. Koniecznie to samo z git. A bez gita i wersjonowania w pewnym momencie okaże się się, że nie ogarniasz swojej kuwety.
3. Ogarnij koncepcje workspace. Czyli katalogu, pod którym masz pewna logiczna strukturę katalogów. Bez tego nie będziesz mieć przenośnego srodowiska, czy pracy w zespole.
4. Jeśli możesz, złap doświadczonego i cierpliwego kolegę, i poproś o mentoring, czyli przeszkolenie z podstaw. To oszczedzi frustracji tobie i kolegom z zespołu.
5. Narzędzia, najlepiej te same w domu i w pracy. Bez jakiejś specjalnej kasy: git, visual studio code. Reszta zależy od specyfiki pracy i zasad bezpieki.
Chciałbym pomóc ale pisze tylko w JS'ie i czasem trochę w Rustcie xd.
Zaloguj się aby komentować
Źródło: https://www.zdnet.com/article/the-most-popular-programming-languages-in-2024-and-what-that-even-means/
#technologia #programowanie #python


Hmmm... nie lubię pythona. Kirdyś dość sporo w nim pisałemz ale się wyleczyłem. Wolę albo Typescript jako język do szybkiej implementacji rzeczy, albo Rust/C/C++ tam gdzie ważna jest wydajność.
JP na 100%
Zaloguj się aby komentować
Z jakiej usługi mógłbym skorzystać, żeby wrzucić tam mój skrypt i niech się codziennie sam puszcza o określonej godzinie?
#programowanie #python
@FoxtrotLima Jeśli to nic skomplikowanego to możesz skorzystać z darmowego konta na https://www.pythonanywhere.com/
Zaloguj się aby komentować
x = 11
y = 14
if x < y:
wynik = x
else:
wynik = y
print("mniejsza liczba: ", wynik)
Ale można też wyrażeniem bitowym:
x = 11
y = 14
wynik = y ^ ((x^y)& -(x<y))
print("mniejsza liczba: ", wynik)
Po co? Bo tak.
BTW. #hejto fajnie by było móc umieszczać kod we wpisach
#programowanie #python

@Fausto
wynik = x if x < y else y
Niezapominajmy o czytelności.
wynik = max(x,y)
Chociaż oczywiście możesz sobie komplikować życie ^^
@Fausto yyyy. Ale jak to? Oprócz operacji bitowych jest i tak operator porównania w drugim nawiasie. Tak miało być?
Zaloguj się aby komentować
Kod:
import cv2
from time import sleep
from datetime import datetime
cam = cv2.VideoCapture(0)
cam.set(cv2.CAP_PROP_FRAME_HEIGHT, 1080.0)
cam.set(cv2.CAP_PROP_FRAME_WIDTH, 1920.0)
cam.set(cv2.CAP_PROP_AUTO_WB, 0.0)
cam.set(cv2.CAP_PROP_WB_TEMPERATURE, 7000)
cam.set(cv2.CAP_PROP_SATURATION, 75)
cam.set(cv2.CAP_PROP_CONTRAST, 100)
while True:
retval, frame = cam.read()
dt = datetime.now()
ts = int(datetime.timestamp(dt))
if retval != True:
print(str(dt) + ": Can't read frame")
sleep(5)
continue
cv2.imwrite(str(ts) + '.png', frame)
print(str(dt) + ": saved img " + str(ts) + ".png")
sleep(120)#python #programowanie





@Bielecki cv2 działa bardzo wolno. Spróbuj z numpy.
Jesli dobrze pamiętam, z obiektu cv2 można wyciągnąć tablicę numpy i za jego pomocą to zapisać do pliku.
@markxvyarov dlaczego tak uważasz? Jeśli retval będzie false, to kontynuuję loop, żeby nie wywalać całego programu, ale nie zapisuję obrazu
@Prucjusz najwolniejsze w opencv w moim przypadku jest inicjalizowanie kamery przez cv2.VideoCapture(0). Ja loopuję się już po inicjalizacji, nie zwalniam kamery. Sam zapis odbywa się w ciągu ~0,1s, zakładając że sleep trwa równe 120s (takie mam różnice w timestampach).
@psalek dzięki, to mi wiele powiedziało. Wygląda na to że to właśnie bufor. Niby mogę zastosować te rozwiązania (choć porzucanie ramek przez opencv z tego co znalazłem odbywa się poprzez ustawianie odpowiednich properties kamery i nie jestem pewien czy 1. jest to wspierane przez mój model, 2. jest to nadal w opencv, bo gdzieś była wzmianka, że to usunęli), ale to w sumie byłaby sztuka dla sztuki - a w moim przypadku rozwiązanie się w sumie sprawdza. Zwyczajnie mnie ciekawiło dlaczego tak się dzieje i mam odpowiedź. Dzięki
@Bielecki czym to potem składasz w filmik?
Zaloguj się aby komentować
#programowanie #django #backend #python
A co chcesz robić?
@Prucjusz - bardzo lubię Pythona (co potwierdzają moje wpisy na tagu #python) ale od Django trzymam się z daleka bo to kobyła dla korposzczurów - i do tego zaczyna być przestarzały.
Do robienia stron to teraz SvelteKit lub Astro i deployment do Vercel na szybko przy minimum konfiguracji (lub jak ogarniasz, to wszystko skonteneryzowane i hostowane na jakiejś instancji z procesorem ARM w chmurze lub self-hosted po taniości).
Zrobiłem kilka wewnętrznych projektów gdzie frontend pisałem w SvelteKit a backend (REST API) z wykorzystaniem Pythonowego frameworka FastAPI - frontend i backend oczywiście śmigają w swoich osobnych kontenerach (gdzie base image do frontendu to Distroless Node.js a do backendu oficjalny Pythonowski Debian Slim) - i tak mi się robiło najlepiej i wszystko jest proste w utrzymaniu.
@Prucjusz - naprawdę nie rozumiem dlaczego Django do swoich własnych projektów - jak już komentowałem to są o wiele prostsze rzeczy, w których można robić całkiem skomplikowane stronki.
Napisz coś więcej poza faktem, że się odbiłeś 2 razy od Django i teraz czujesz, że musisz go ogarnąć.
Zaloguj się aby komentować
Wydajność jest zauważalnie lepsza, bo korzystamy ze starych komponentów i tam różnice są o wiele bardziej widoczne, niż na zwykłym komputerze, gdzie oba rozwiązania przetwarzają zadania niemal natychmiast.
Zatem mamy część z kodem w Rust, ale ciągle część z obliczeń musimy wykonać w pojedynczym procesie pythona do którego wysyłamy resty z zapytaniami.
Jednak celery miało jeden duży plus - uruchamiało się jako osobne procesy(co wydłużało o kilka sekund proces uruchamiania programu), dzięki czemu operacje numpy/scipy na CPU, były ładnie rozdzielane po stronie pythona na wszystkie wątki(na urządzeniu są 4 rdzenie i tyle samo procesów celery było uruchamianych)
Operacje obliczania statystyk(mowa o powyższym zadaniu korzystającym z numpy/scipy) są często zlecane w większej ilości na raz, dlatego ważne jest by to zrównoleglić.
Próbowałem robić to przez proste rozdzielanie tasków na wiele wątków, jednak, czasy bywały nawet czasami gorsze, niż jak robiłem to w jednym wątku - domyślam się że to wina GIL i tego że nie działa zbytnio dobrze, gdy wątki wykonują masę rzeczy na cpu.
Drugim problemem jest to że w przypadku równoległych działań wyskakują dziwne ostrzeżenia, przez co myślę że np. matplotlib, nie jest przystosowany do działania z wielu wątków(mimo że zadania które wykonuję od początku do końca działają tylko w jednym wątku), bo przechowuje globalnie jakieś parametry ze swoim stanem.
Kojarzycie, w jaki sposób, mógłbym w miarę prosto, móc wykonywać te obliczenia po stronie pythona na wielu wątkach?
#python
@qarmin jest standardowy moduł w Pythonie, nazywa się multiprocessing. W nim znajdziesz Pool i metody typu starmap i map. Najczęściej z tego korzystam gdy trzeba zrównoległość obliczenia.
https://superfastpython.com/multiprocessing-pool-map/
# SuperFastPython.com
# example of parallel map() with the process pool
from random import random
from time import sleep
from multiprocessing.pool import Pool
# task executed in a worker process
def task(identifier):
# generate a value
value = random()
# report a message
print(f'Task {identifier} executing with {value}', flush=True)
# block for a moment
sleep(value)
# return the generated value
return value
# protect the entry point
if __name__ == '__main__':
# create and configure the process pool
with Pool() as pool:
# execute tasks in order
for result in pool.map(task, range(10)):
print(f'Got result: {result}', flush=True)
# process pool is closed automatically
Na zamieszczonym zdjęciu znajdziesz wszystkie metody z klasy Pool które możesz wykorzystać.

Zaloguj się aby komentować
Na jednym ze starych armów których używamy, odkryliśmy bład w pythonowym programie, gdzie podczas testowania punktów poza okręgiem o promieniu 30, niekiedy wartości wyskakiwały poza skalę.
W okręgu r<30 mamy ~60 punktów z wartościami, które im dalej od środka, tym bardziej się powinny zmniejszać. Dla punktów spoza okręgu r>30 musimy to ekstrapolować, bo do nich danych nie mamy.
Lokalnie na komputerze wszystko mi działało, choć metoda ekstrapolacji wartości RBFInterpolator(korzystamy ze starszej wersji scipy - nie możemy jej niestety łatwo podnieść na urządzeniu, by przetestować czy została naprawiona) dawała nieco niepoprawne i zawyżone wyniki.
Dla pewności ujednoliciłem wersje wszystkich pakietów(głównie zależności pośrednich, bo główne zależności były w tej samej wersji) pomiędzy urządzeniem i komputerem, jednak nie przyniosło to żadnej poprawy.
Przełożony na wieść że nie występuje problem lokalnie, zasugerował bym upewnił się że wszystko lokalnie sprawdzam z tymi samymi parametrami co na urządzeniu. Niezbyt wziął pod uwagę moje wątpliwości co do tego, że może jest to wina biblioteki - szczerze mówiąc się mu nie dziwię, bo z jego strony nie wyglądało to zbyt dobrze - gościu tylko od roku programujacy mówi że być może to nie jego wina i problem może występować w jednej z najpopularniejszych bibliotek pythona i w issues na githubie nie było nawet jednego podobnego wątku.
Ostatecznie udało mi się zilustrować wartości w siatce w kwadracie (od -100 do 100) przy użyciu matplotlib, gdzie widoczne było że na komputerze wartości w miarę regularnie zmniejszają w miarę oddalania od środka. W przypadku urządzenia ARM, wartości promieniście odchodzące z kątów 0,90,180,270 stopni poza okręgiem(r>30), są wybite poza wszelkie granice.
Wygląda więc że w przyszłości będziemy musieli, zainstalować na produkcyjnym sprzęcie pytest, by sprawdzić czy wszystko działa tak jak powinno na armowym urządzeniu, skoro nikomu już nie można wierzyć.
#python
#programowanie

Niesamowite że ktoś pomyślał że może z tym nie być problemu - zawsze powinno się budować, uruchamiać testy na docelowym sprzęcie (przecież tam będzie to wszystko działać na nie na kompie programisty lol). Dobrym pomysłem jest nawet redundancja, macie joba który uruchomi testy na x86_64 i joba na ARM, oba muszą przejść. Gdybyście kompilowali, to również im więcej kompilatorów tym lepiej. W embedded trzeba spodziewać się niespodziewanego.
A już totalną ignorancją okazali się prowadzący ten projekt jeśli uruchamiacie testy na 64 bitowej platformie, a docelową platformą jest 32 bitowy ARM
Najgorzej jak znajdziesz buga w Firefoxie i okazuje się że podobny błąd został zgłoszony w 2006 roku i od 18 lat toczy się pod nim dyskusja. Co jakiś czas ktoś pyta kiedy to będzie naprawione, następnie ktoś z mozilli odpowiada że nad tym pracuje by za dwa lata znowu dostać pytanie o postępy xD
Zauważyłem np że firefox na androidzie bardzo często odświeża strony po powrocie do niego, tak jakby od razu po przeskoczeniu do innej apki czyścił dane strony z pamięci. Oczywiście zgłoszony bug wisi od paru lat w backlogu bo niby ważny błąd ale jakoś tak nie umieją go odtworzyć
(sorki za offtop xD)
Używacie biblioteki scipy i się dziwicie… zaciągnijcie normalnie z github a nie z jakiejś cipy…
Zaloguj się aby komentować
A z jakich jednolinijkowców Wy korzystacie?
#technologia #programowanie #python

import itertools, more-itertools
Jedyne do czego używam pythona python3 -m http.server
@koszotorobur sudo cat /dev/random > /dev/sda1
Zaloguj się aby komentować
Dzisiaj ruszyły zapisy na Potyczki Algorytmiczne 2024, ogólnopolski, otwarty konkurs programistyczny.
-
strona główna: https://potyczki.mimuw.edu.pl/
-
wejście do systemu: https://sio2.mimuw.edu.pl/c/pa-2024-1/dashboard/
Harmonogram
Rejestracja rozpoczyna się 1 marca 2024 o godz. 12:00.
Runda próbna startuje 5 marca 2024 o godz. 12:00 i kończy się 7 marca 2024 o godz. 23:59.
Rundy zdalne wystartują 11 marca 2024 o godz. 12:00, a zakończą się 17 marca 2024 o godz. 23:59.
Ogłoszenie ostatecznych wyników rund zdalnych nastąpi 19 marca 2024 o godz. 20:00.
Finał odbędzie się w dniach 24-25 maja 2024 w Zielonej Górze.
Warto spróbować, nawet jeśli ktoś tylko trochę umie programować. Zadania i rozwiązania z poprzedniej edycji.
Każdego, kto jest pasjonatem algorytmiki i programowania gorąco zapraszamy do wzięcia udziału w XIX edycji konkursu „Potyczki Algorytmiczne”. Potyczki Algorytmiczne są najstarszym internetowym konkursem algorytmiczno-programistycznym w Polsce, adresowanym do wszystkich – uczniów, studentów, zawodowców i amatorów, bez jakichkolwiek ograniczeń wiekowych. W tej edycji, oprócz rozwiązań w C++, dopuszczamy także rozwiązania w Pythonie.
Rejestracja on-line do konkursu rusza już 1 marca 2024 r.
Potyczki Algorytmiczne w roku 2024 składać się będą z dwóch etapów:
● zdalnego – odbywającego się w dniach od 11 marca do 17 marca 2024 roku;
● wielkiego finału – rozgrywanego w dniach 24 – 25 maja w gościnnych progach współorganizatora konkursu, zielonogórskiej firmy Digital Technology Poland. DTP Ltd. Do finału zostanie zakwalifikowanych 20 zawodników.
Dla najlepszych zawodników czekają nagrody rzeczowe. Dodatkowo 128 uczestników otrzyma kultowe koszulki Potyczek Algorytmicznych 2024 oraz upominki-niespodzianki.
#cpp #python #algorytmy
Jak ktoś ma konto na wykopie, to może tam też opublikować.
O kurczę zajrzę. Dzięki!
Zaloguj się aby komentować
Wiem że kod jest paskudny i pewnie nie spełnia konwencji... Ale co się nauczyłem to moje.
https://gist.github.com/xhc0re/36bd9691d093be16d10e46520fc11bee
#programowanie #python
@dziki - do robienia REST API w Pythonie polecam FastAPI - niby we Flasku też można - tylko po co
Nieużywanie popularnych frameworkow? A gdzie się mogę.zapisac?
Zaloguj się aby komentować
54000 tysięcy linii napisanych w tym języku i dopiero ostatnio zaczął korzystać z mypy w bardzo podstawowym stopniu.
Zacząłem przeglądać kod jako kompletny outsider i zauważyłem kilka zmiennych których typów nie mogłem wydedukować. Przepatrzyłem miejsca gdzie są odczytywane/zapisywane i jedyne wywnioskowałem że niektóre z nich to dicty, ich klucze to stringi lub czasami tuple a wartości to jakieś nieotypowane zmienne.
Dlaczego, nawet przy tak dużych projektach ludzie wzbraniają się przed używaniem typów?
Przecież brak jasno określonych typów zmiennych rodzi problemy i utrudnia osobom zrozumienie kodu i pomaganie.
Od kiedy w pracy zaczęliśmy korzystać z duetu ruff + mypy strict, ilość błędów znacząco zmniejszyła się i dziwi mnie że duże pythonowe projekty nie korzystają z mypy, choć jest dostępny już kilka/kilkanaście lat i jest potwornie przydatny
#python
#programowanie

Podobnie mam z Type Script i "any" lub "object". Dla wyjaśnienia, TS pozwala ale nie wymusza typowanie. Więc mam takie WTF gdy ktoś poświęcił chwilę na wpisanie że coś jest/zwraca "cokolwiek" . Gdzie tu jest jakaś korzyść?
@szczekoscisk jak dobrze pamiętam, to czasami kompilator TS potrafi się przyczepić, że typ jest nieokreślony, więc żeby się nie czepiał to daje się any i fajrant ( ͡° ͜ʖ ͡°)
Przy czym dotyczy to głównie sytuacji, kiedy ktoś używa TS bo jest modny albo mu kazali.
Nie kojarzę by sam kompilator TS wymuszał typowanie (przynajmniej na szybko nie kojarzę takich przypadków), możliwe że widziałeś sytuacje gdzie "tslint" czegoś się czepiał.
Myślę, że to przez to, że lutris to dość stary projekt, a typowanie w pythonie to jednak coś dość nowego. Pamiętam, że z 10 lat temu używałem już lutrisa.
@dotevo Type hints były dostępne już w 2006 roku - https://peps.python.org/pep-3107/, uszczegółowienie/ dodanie do typów do std 2014/2015 - https://peps.python.org/pep-0484/
Lutris to projekt z 2013 roku - https://github.com/lutris/lutris/commits/master/?since=2013-12-01&until=2013-12-03
@qarmin Gdy po kilku dobrych latach z C++ zacząłem w robocie pisać w Pythonie to nie mogłem się odnaleźć i strasznie mi typów brakowało. A później się przyzwyczaiłem i juz miałem wszystko w dupie ( ͡° ͜ʖ ͡°) Może dlatego. W większości przypadków da się (przynajmniej u mnie) typ spokojnie wyczaić z kodu. Raz na ruski rok się nie da i wtedy używam debuggera.
Zaloguj się aby komentować