Jak to jest z tym Django w Pytonie? Warto poświęcić na to czas? Ktoś zna jakiś poradnik, który byłby przystępny dla nieogara(idealnie by było, gdyby był w języku polskim)?
#programowanie #django #backend #python
Jak to jest z tym Django w Pytonie? Warto poświęcić na to czas? Ktoś zna jakiś poradnik, który byłby przystępny dla nieogara(idealnie by było, gdyby był w języku polskim)?
#programowanie #django #backend #python
@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.
Zaloguj się aby komentować
Już powoli coś z tego wychodzi.
Dodałem przykład jak użyć serwer z node.js
Podoba się? To zostaw gwiazdkę
https://github.com/rayros/image-resizer
#nodejs #programowanie #github
Zaloguj się aby komentować
Jak często korzystacie z testów jednostkowych w swoich projektach?
Języków znam kilka, ale głównie z testami jednostkowymi miałem styczność jedynie w Pythonie i Rust.
W pythonie widzę że czasami niektóre repozytoria chwalą się coverage sięgającym niemal 100%.
W przypadku Rusta, ilość testów jest powiedzmy szczerze dosć ograniczona.
Mimo że uważam testy jednostkowe ogólnie za coś bardzo dobrego, to jednak bliżej mi do ich pisania tam gdzie niezbędne a nie dopychania ich na ilość.
W Rust, widzę że głównie pisze się testy do funkcji bez skutków ubocznych, czyli wrzucamy cos do środka i oczekujemy określonego wyniku(choć oczywiście są wyjątki).
W Pythonie jednak widzę że testuje się absolutnie wszystko, a to za sprawą że można zmockować niemal wszystko.
Trzeba dodać coverage do funkcji z pobieraniem informacji z bazy danych?
Nie ma sprawy, mockujemy połączenie i testujemy zwracanie wyjątku, losowych czy pustych danych.
Niby fajnie, ale jednak z tego co widzę to wydaje mi się że czasami takie funkcje testują bardziej to czy kod jest poprawnie zamokowany a nie samą logikę funkcji i są robione jako sztuka dla sztuki(lub po to by podbić coverage).
Często widzę że też takimi testami próbuje się testować, co się stanie jeśli typy nie są poprawne, coś co niemal nie występuje w językach silnie typowanych typu Rust lub C++, bo już kompilator odrzuca sporą część niepoprawnego kodu.
Jakie są wasze opinie o dużym coverage w zależności od języka dla którego testy są pisane?
#programowanie

@qarmin ja bym przede wszystkim chciał podkreślić, że testy jednostkowe to głównie narzędzie służące do projektowania, wymuszające stosowanie dobrych praktyk. W sumie czyste unit testy mają sens przede wszystkim w TDD, jeśli piszemy je później niż kod, to sens ich pisania jest dyskusyjny. Dobrze się natomiast sprawdzają w roli żywej dokumentacji. To testy integracyjne powinny służyć do wykrywania regresji, tych można stworzyć zdecydowanie mniej, za to każdy powinien mieć wielokrotnie większe pokrycie kodu. W praktyce, jeśli zespół nie stosuje TDD, to właśnie na takim rodzaju testów warto się skupić.
Pracuję przy takim projekcie w node, gdzie ktoś sprytny testuje timery bez użycia mocków, test po prostu czeka aż te timery odczekają swoje, nic mnie tak nie wkurwia jak odpalanie testów w tym projekcie xD.
Zaloguj się aby komentować
Krótkie wprowadzenie do random numerical linear algebra na dobranoc.
https://www.youtube.com/watch?v=6htbyY3rH1w
#matematyka #programowanie #programista15k #pracait
@groman43 lepsze jest lava lamp i co lepsze jest darmowe - https://youtu.be/kvHQ7A3TM3w?t=367
Zaloguj się aby komentować

Ostatnio miałem okazję nieco więcej popracować nad integracją z zewnętrznym serwisem wykorzystującym mechanizm webhooków. Napotkałem problemy wynikające z synchronicznego przetwarzania zapytań.
W uporaniu się z nimi pomogło mi odejście asynchroniczne, a moimi przemyśleniami i obserwacjami...
Ejejej Gienek, dobre to takie!!
instalujesz na serwerze lub serwerach i można wyklikać sobie setup aplikacji. Bazy danych, redisy, inne komponenty, zintegrować od razu z git repo by był automatyczny deployment. Polecam zainstalować sobie na jakiejś vm’ce lub lxc.
#selfhost #programowanie #it #homelab #serwery #opensource #github
Zaloguj się aby komentować
Wygląda, że Rust ma swoje 5 minut, na scenie języków programowania i jest znany ze swojej wydajności bliskiej C/C++.
Zatem w jaki sposób nowy język mógłby uszczknąć nieco popularności od Rusta? Ano poprzez twierdzenie że jest on szybszy o 50% od niego w jednym z benchmarków.
Tym językiem jest Mojo
Być może się zastanawiacie, czemu dodałem tutaj tam emotkę ognia - ano bo tak się ten język nazywa - serio w nazwie takie coś mają, sprawdźcie sami.
W skrócie jest to język przeznaczony do AI, interoperacyjności z Pythonem, przy zachowaniu jego prostoty i wydajności porównywalnej lub większej niż Rusta.
Brzmi dobrze... aż za dobrze.
Zatem blog o wyczynach wydajnościowych jest widoczny tutaj - https://www.modular.com/blog/mojo-vs-rust-is-mojo-faster-than-rust
Już na samym początku pada ciekawe stwierdzenie
There are a lot of considerations surrounding any benchmark implementation, you can't use any one benchmark to say x language is faster than y language
a następnie widzimy jak to właśnie tym benchmarkiem chcą udowodnić
Widać potem opis kilku elementów, które twórcy uważają że są one powodem tej lepszej wydajności(całkiem logiczne w większości btw.) tj. pożyczanie wartości zamiast jej kopiowania, TCO czy dobre wsparcie dla simd, oraz ostatecznie owy benchmark.
Na tym ta historia mogłaby się zakończyć, gdy oczywiście nie jakiś wścibski programista, który chciał przetestować ową wydajność.
https://viralinstruction.com/posts/mojo/#matching_the_implementation_in_julia
Odkrył on, że kod w Mojo
Przy wybranej większej ilości optymalizacji, kod w Rust czasowo niemal zrównał się z tym z Mojo
Wygląda, że Mojo
#rustlang
#mojo
#programowanie

Zaloguj się aby komentować
Ma ktoś może wiedzę, czy jest możliwość zaprogramowania esp-12e przy użyciu esp32-c3? Konkretnie chodzi mi o ESPHome.
Mam jeszcze jakiegoś klona pl2303 z dorobionym dtr przez kondensator, jeśli to może mi pomóc.
Jeśli macie jakiegoś tutka to chętnie przygarnę bo wszystko co jestem w stanie zaleźć odnosi się arduino a nie ESPHome.
#esp32 #arduino #programowanie #homeassistant #esphome
Zaloguj się aby komentować
Czy jakaś mądra głowa wytłumaczy dlaczego zawartość apki hejto przesuwa się jak w bardzo starych monitorach, gdzie brakowało rozdzielczości? To znaczy, że zamiast o cały piksel za każdym razem, to tak jakby najpierw część się o ten jeden piksel wydłużała a dopiero później skracała? Widać to na tekście jak się przyjrzycie.
#programowanie
Zaloguj się aby komentować
Od prawie roku korzystam z AI(chatgpt i github copilot) do pomocy przy programowaniu i muszę przyznać że potwornie się mi te narzędzia przydają i znacznie przyspieszyło mi to niektóre czynności.
W moim przypadku działa to świetnie do:
Tworzenia funkcji mapujacych obiekt z jednej klasy do drugiej(np. From/TryFrom w Rust)
Dopisywania logiki w prostszych funkcjach - czasami wystarczy wpisać nazwę funkcji, argumenty i zwracany typ, by cała logika którą oczekiwałem była wpisana do środka
Podpowiadaniu w jaki sposób używać danej biblioteki - zdarza się, że mimo przeczytania dokumentacji, nie mam pomysłu w jaki sposób użyć danej funkcji i zwykle podpowiedzi nawet nie do końca trafne, kierują mnie na właściwe rozwiązanie (pomogło mi to przy bibliotece diesel, która jest trudna do opanowania)
dzięki temu, zamiast żmudnego kopiowania i wklejania czy też tworzenia mniej wymagających funkcji, mogę skupić się na bardziej wymagających zadaniach.
Jednak zauważyłem, że pod niektórymi wątkami na reddicie i innych forach, jest spora rzesza osób, które z ai wcale nie korzystają(nie dlatego że nie wiedzą, ale bo nie chcą korzystać).
Jednym z argumentów, jest kwestia etyczna, bo kod nauczony przez ai nie jest w żaden sposób sprawdzany pod kątem licencji oryginalnego kodu.
Inny argument to kwestia tego, że więcej szkodzi(lub bierze więcej czasu niż jakby pisać to wszystko ręcznie) niż pomaga - akurat w moim przypadku argument chybiony.
Jakie są wasze argumenty za/przeciw?
#programowanie
#ai
#sztucznainteligencja

U mnie niestety przydatne tylko do wskazania ogólnego kierunku - w narzędziu z którym pracuję najczęściej kod napisany przez chatGPT po prostu nie działa. Za dużo halucynacji, wymyśla biblioteki które nie istnieją, wrzuca nieaktualne biblioteki albo takie które nie są wspierane w wykorzystywanej przeze mnie wersji tylko następnej, albo podaje kod który zwyczajnie nie zadziała bo korzysta ze słów kluczowych czy funkcji które nie istnieją. Często też podaje użycie funkcji w sposób w który nie da się z nich skorzystać (np totalnie złe argumenty). A czasami zapytany o stworzenie jakiejś logiki zwraca deklarację funkcji z jej nazwą i komentarzem - dopisz sobie resztę xD
Szkoda bo narzędzie jako takie bardzo przydatne, ale najwyraźniej moje środowisko pracy zbyt mało popularne żeby umiał sobie z nim poradzić.
Zaloguj się aby komentować
Wprowadzenie do "programowania" układów FPGA na prawdziwym przykładzie. Coś więcej niż nudne miganie ledami. Kanał mocno niszowy, ale moim zdaniem warty uwagi.
https://www.youtube.com/watch?v=bI2O2JD9Ov0
mocno naciągane #programowanie #programista15k #pracait oraz #fpga
Zaloguj się aby komentować
Dobra witam bojowke programistyczna którego lapka wybrać
Tego gigabyte
+ nowy
+ z pewnego zrodla
+ z tego roku
- nie mam doświadczenia z gigabyte
- są tylko opcje z windows 11 home
- niewiadoma jakość obudowy
Czy tego alienware
+ to alienware więc wykonanie jest git
+ jest biały (chciałem biały xD)
+ 17 cali
+ możliwa negocjacja ceny
- zeszłoroczny model
- niepewne źródło
- dystrybucja usa
- co z gwarancją(do ustalenia)
#komputery #laptopy #dell #programowanie #programista15k #pcmasterrace
Zaloguj się aby komentować
Jak nazywała sie stronka, gdzie mozna obserwować ruch względem czasu na portalach internetowych?
#komputery #programista15k #programowanie #internet #pytanie #socialmedia
Zaloguj się aby komentować
Nie wiem czy słyszeliście, ale pracę nad 6G już trwają! Będziesz szybciej, lepiej, więcej! Dodatkowo ja słyszałem o rekinach (#pdk) Nie pytajcie mnie tylko, po co to komu, bo nikt tego nie wie. Ale w tak zwanym międzyczasie 3GPP zatwierdziło oficjalne logo 6G . Jak zwykle, chłopaki dali z siebie mocne 30%!
#technologia #ciekawostki #telekomunikacja #telcozhejto #programowanie #programista15k #pracait

Zaloguj się aby komentować
#daily_wolnegostudenta
Uprzejmie donoszę że żyję
#bieganie
Z rana wyszłam pobiegać, pierwszy raz od liceum. Biegałam razem z chłopakiem i było naprawdę fajnie. Spotkaliśmy innego biegacza i nam pomachał i ja mu odmachałam. Nie sądziłam że bieganie może być fajnie ale bawiłam się tylko trochę gorzej niż na rowerze.
Praktyka uważności też działa, bo po treningu zamiast myśleć o kurde jak mnie mięśnie bolą myślałam hmm to było fajne, jestem teraz zmęczona ale mimo to cieszę się bo było to fajne przeżycie. No tak więc #psychika na plus
A co z #programowanie ?
Jak wróciłam to wrzuciłam merge request na wspólny projekt i zabrałam się za laby. Od 12 do 20 siedziałam i próbowałam połączyć natywną bibliotekę napisaną w Cpp z aplikacją napisaną w javie. W międzyczasie była przerwa na obiad i odcinek serialu, po której sprawy nabrały tempa. Znalazłam w końcu podobny błąd do mojego na gicie jakiegoś OS projektu, sprzed 2-3 lat. Myślałam małe szanse bo dawno ale spróbowałam ich fixa i zadziałało. Jak się okazuje Java w pewnym momencie zgłupiała i przestała sama znajdywać zależne dll więc oprócz wklejania zależnych bibliotek na odpowiednie ścieżki trzeba je jawnie załadować.
Jestem zmęczona, a jutro do pracy.
Powodzenia wam wszystkim i miłego wszystkiego
Zaloguj się aby komentować
W ostatnią środę dostałem specjalne podziękowania, ponieważ pracuję już 5 lat dla mojego tajwańskiego ciemiężcy, tego złodzieja scrum mastera z drugiego końca świata. Z tej okazji, a także ponieważ mam 10+ lat doświadczenia w branży, postanowiłem, że podzielę się swoimi spostrzeżeniami
- Rynek IT w Polsce jest dość nudny i nieinnowacyjny. Królują CRUDy oraz aplikacje mobilne, które zachodnie korporacje outsourcują w Polsce.
- Nie zna życia ten, kto widział same CRUDy w swojej karierze. Dlatego nie zgadzam się z tak częstym na wypoku wrzucaniem wszystkiego do jednego worka.
- Embedded uczy pokory. Zwykle najbardziej problematyczne są wymagania niefunkcjonalne, szczególnie że pracuję nad twardymi systemami czasu rzeczywistego. Kiedyś spędziłem tydzień, żeby zaoszczędzić około 1kB pamięci.
- Jeszcze bardziej uczy pokory fakt, że mój soft śmiga na milionach chipów na całym świecie. Jak to powiedział Ed Murphy, jeśli coś może pójść źle, to prędzej czy później pójdzie. Jak to ja mówię, jeśli coś może pójść źle, to pójdzie w najgorszym możliwym momencie.
- MediaTek ma moim zdaniem bardzo dobry mechanizm rozliczania programistów. Jeśli coś zepsujesz, to po prostu musisz to naprawić. Nawet jeśli u ciebie jest czwarta rano w sobotę xD
- Naoglądałem się mnóstwo „dziwnych” problemów, w stylu problemy z cache lub z bugi w HW.
- Przez ostatnie 5 lat, MediaTek wypuścił rodzajów 38 chipów (plus dwa chipy testowe, które nigdy nie wyszły z labu), na których śmiga mój soft.
- Mimo że jak na europejskie standardy pracuję bardzo dużo (czasem nawet około 60 godzin tygodniowo), nie czują się wykorzystywany. Wręcz przeciwnie, jestem pewien, że moja praca prędzej czy później zostanie wynagrodzona.
- W wielu zachodnich korporacjach, im wyżej postawiony manager, tym większy przeciętny inaczej, oderwany od rzeczywistości. W MediaTeku jest odwrotnie.
- Spec 3GPP jest naprawdę spieprzony xDDD
#programowanie #programista15k #pracait
@groman43
Tu się nie zgodzę:
Rynek IT w Polsce jest dość nudny i nieinnowacyjny. Królują CRUDy oraz aplikacje mobilne, które zachodnie korporacje outsourcują w Polsce.
Akurat robię embedded w Polsce i w ciągu ostatniego roku z takich ciekawszych rzeczy które musiałem naprawiać to np:
uboot nie obsługujący pamięci tego samego rodzaju pamięci od tego samego producenta (różnica tylko w rozmiarze 128MB vs 64MB)
branch prediction na DSP: czyli dlaczego bardziej opłaca się wykorzystywać wynik z porównania a < b niż zrobić if'a omijającego taki fragment (zysk z 50ms na 11ms).
o pisaniu customowych bootloaderów nie chce mi się wspominać (C, C++, Rust).
A to tak na szybko mi do głowy przychodzi.
Zaloguj się aby komentować

Tym artykułem mogę sobie strzelić w kolano, patrząc na to, czym zajmuję się na swoim blogu. Jednak pułapki, w jakie można wpaść, ucząc się nowych rzeczy, mogą przynieść skutek odwrotny od zamierzonego. W artykule poruszyłem takie tematy jak:
Nie tak dawno temu dokonałem czegoś niemożliwego - znalazłem błąd który był w obcej bibliotece, a nie w moim kodzie.
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)
Zaloguj się aby komentować
https://www.ftc.gov/news-events/news/press-releases/2024/04/ftc-announces-rule-banning-noncompetes
#informatyka #usa #programowanie
Zaloguj się aby komentować
A z jakich jednolinijkowców Wy korzystacie?
#technologia #programowanie #python

Zaloguj się aby komentować