#programowanie #programista15k #pracait #korposwiat

#programowanie #programista15k #pracait #korposwiat

@NaczelnyRusofob ewentualnie dowolny inżynier w roli "wspierającej" inne działy
(to zawsze jest odwalanie roboty za kilka dzialów)
@NaczelnyRusofob oczywiście junior żeby nie był za drogi
Nosaczfejs.jpg
I dyrygujący nim Jerry, scrum majster
Zaloguj się aby komentować
Mam ostatnio problemy z programem, który ubijam poleceniem timeout.
Program wykonuje setki(w zasadzie to grupowo robi 10000) operacji zapisu plików do określonego folderu z wątków rayona(rust) i wygląda na to, że bez względu czy ubijam go sygnałem TERM czy KILL, to nieco później (0-10s) po zabiciu programu, nie mogę usunąć całego folderu z plikami, bo wygląda, że program ciągle w tle tworzy nowe pliki, więc próba usunięcia takiego katalogu przez "rm -rf" wypisuje błąd "rm: cannot remove '/opt/tmp_folder/short_normal_1/16474004021118382402': Directory not empty"
Zatem by rozwiązać problem przerzucam timer końca działania do programu zamiast ubijać program z zewnątrz.
Jednak mam tutaj ponownie zagwozdkę.
Mam dwie koncepcje
Pierwsza to taka, że pierwszy wątek który złapie problem, to przerywa cały program:
fn check_for_exit() {
if time_left < 0 {
process::exit(127);
}
}
files_chunks.into_par_iter().for_each(|| {
check_for_exit();
for file in files_chunks {
fs::copy("file", output_dir);
}
});
Druga to taka, że czekam aż wszystkie wątki się skończą i dopiero wtedy przerywam wykonywanie programu
fn check_for_exit() -> bool {
return time_left < 0;
}
files_chunks.into_par_iter().map(|| {
if check_for_exit() {
return None;
}
for file in files_chunks {
fs::copy("file", output_dir);
}
Some(())
}).while_some().collect<()>();
if check_for_exit() {
process::exit(127);
}
Niby punkt drugi bezpieczniejszy, ale punkt pierwszy też przecież przecież powinien wszystkie wątki z kopiowaniem plików ubić. Dobrze kminię, czy jednak punkt pierwszy nie jest bezpieczny?
#programowanie
#rustlang
@qarmin Nie pisałem dawno w rust, zwłaszcza na tym poziomie, ale zdecydowanie druga opcja. Wydaje mi się, że w pierwszej opcji będziesz miał proces w kolejce do ubicia/ubity, a to co zostanie to będą tzw. detached threads. Ale nie jestem (już) ekspertem, podpytaj może kogoś innego
@qarmin a to nie jest kwestia tego, że operacje na plikach robi kernel? Ubicie procesu nie przerywa fs::copy.
Po drugie, obsługa sygnałów nie jest synchroniczna. Jak zrobisz kill PID && rm costam, to na pewno to nie zadziała. Musisz poczekać, aż proces obsłuży sygnał i się zamknie.
Jak robisz timeout na wątkach wewnątrz programu, to z pewnością da się to bardziej elegancko obsłużyć.
@qarmin Analizując obie koncepcje, które przedstawiłeś, można zauważyć kilka istotnych różnic w sposobie zarządzania zakończeniem wątków i zatrzymaniem programu.
Pierwsza koncepcja
Zalety:
Każdy wątek sprawdza warunek time_left < 0 przed rozpoczęciem kopiowania.
Jeśli warunek jest spełniony, natychmiast wywołuje process::exit(127), co natychmiastowo kończy cały program.
Wady:
process::exit(127) powoduje natychmiastowe zakończenie programu bez czekania na zakończenie pozostałych wątków. To może skutkować niekompletnym zakończeniem operacji IO, co może być przyczyną problemów z plikami.
Możliwe nieprzewidywalne zachowanie, jeśli process::exit(127) jest wywoływane z wielu wątków jednocześnie.
Druga koncepcja
Zalety:
Sprawdza warunek time_left < 0 przed rozpoczęciem kopiowania w każdym wątku, ale zamiast natychmiastowego zakończenia, wątki, które spełniają warunek, po prostu kończą swoją pracę.
Pozwala wszystkim aktywnym wątkom dokończyć swoje operacje kopiowania, zanim program sprawdzi, czy powinien zakończyć się process::exit(127).
Bezpieczniejsze podejście, ponieważ nie powoduje natychmiastowego zakończenia programu, co pozwala na bardziej przewidywalne zarządzanie zasobami.
Wady:
Może powodować krótkie opóźnienie w zakończeniu programu, jeśli trzeba czekać na zakończenie wszystkich wątków.
Wnioski
Druga koncepcja jest bardziej bezpieczna i elegancka, ponieważ pozwala na kontrolowane zakończenie programu i uniknięcie problemów związanych z nieskończonym tworzeniem plików po wywołaniu timeout.
Natychmiastowe zakończenie programu przy użyciu process::exit w pierwszej koncepcji może prowadzić do nieprzewidywalnych problemów związanych z niedokończonymi operacjami IO. W drugiej koncepcji wątki mogą bezpiecznie zakończyć swoje zadania, co zmniejsza ryzyko wystąpienia problemów z plikami i zasobami.
Zatem rekomenduję skorzystanie z drugiej koncepcji. Jeśli jednak decydujesz się na pierwszą koncepcję, warto wprowadzić mechanizm, który upewni się, że wszystkie wątki zakończyły swoją pracę przed zamknięciem programu, aby uniknąć problemów z niekompletnym przetwarzaniem plików.
Zaloguj się aby komentować
#programowanie #programista15k #pracait #korposwiat #bekazprzegrywow #bekazpodludzi

ale o co sie rozchodzi?
@NaczelnyRusofob wreszcie śmiechłem. Ale tylko trochę.
szkoda ze ten pej taki martwy i koles przypomina sobie co 1,5 roku o nim xD
Zaloguj się aby komentować
Jest taka sprawa: mam prosty skrypt w Pythonie, który chciałbym puszczać raz dziennie. Skrypt pobiera pewne dane i zapisuje do csv. Nie chce mi się pamiętać, żeby go ręcznie puszczać.
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ć
Pracownicy, którzy dołączyli do Nvidia 5 lat temu, są teraz milionerami i prowadzą życie na "półemeryturze"
Nvidia (NASDAQ: NVDA) odnotowała niesamowity wzrost w ostatnich latach. Od początku 2024 roku akcje firmy wzrosły o 167%. W ciągu ostatnich pięciu lat wzrosły o imponujące 3,450%.
https://finance.yahoo.com/news/employees-joined-nvidia-5-years-160012281.html
W sumie ciekawy problem.
Źródło: https://www.tiktok.com/@trading101/video/7384254329965792555
#programowanie #programista15k #nvidia
W sumie ciekawe ilu jest takich pracowników co mają te ponad 10 000 000 $ w akcjach. Załóżmy że jakieś 10% wszystkich tam pracujących. Jak sprzedaż takiej ilości akcji wpłynie na cenę Nvidii na giełdzie oraz co się stanie jęzeli te osoby powiedzą: pi⁎⁎⁎⁎le nie robię na tego prywaciarza złodzieja i pójdzie leżeć na trawkę pindolem do góry.
Zaloguj się aby komentować
no w sumie parsowanie to nauka HTML, CSS i
JS tylko odwrotnie
próba
mikrofonu
gdybym był człowiekiem wyższej kultury
to użyłbym wpisu który już kiedyś wrzucałem
#webdev #programowanie #lajko



@wombatDaiquiri
czy?
tak
nie
ogarnij
sie
eee
Zaloguj się aby komentować
#programowanie #hejto
Przeglądam pobieżnie dokumentacje hejto api, ale nie widzę opcji pobrania wszystkich komentarzy i postów jednego użytkownika. Ktoś może podpowiedzieć jak to ogarnąć?
@redve Patrzcie no ludzie jakie te programisty teraz wygodne. Nic tylko po API by się komunikowały a na stary, dobry web scraping nawet nie spojrzą.
@redve - BTW: a próbowałeś mojej Szukaczki Hejto: https://hejto-szukaczka.vercel.app/?
@redve - Masz tu kod Pythona do https://docs.hejto.pl/#tag/Posts/operation/get_posts :
import requests
user = "koszotorobur"
client = "" # Get it from https://developer.hejto.pl/
secret = "" # Get it from https://developer.hejto.pl/
url = " https://auth.hejto.pl/token"
body = {
"client_id": client,
"client_secret": secret,
"grant_type": "client_credentials",
}
headers = {"Content-type": "application/json"}
r = requests.post(url, json=body, headers=headers)
token = r.json().get("access_token")
for page in range(1_000_000_000):
url = " https://api.hejto.pl/posts"
headers = {"Authorization": f"Bearer {token}"}
params = {
"period": "all",
"page": page + 1,
"limit": 50, # 50 is the max
"orderBy": "p.createdAt", # p.createdAt|p.numLikes|p.numComments|p.hot|p.hotness|rand|p.promoted
"orderDir": "desc", # asc
"users[]": user,
}
r = requests.get(url, params=params, headers=headers)
items = r.json().get("_embedded").get("items")
if items:
for item in items:
print(item.get("content"))
else:
break
Z tego co pamiętam Hajto API zwraca maksymalnie 50 stron gdzie może być maksymalnie 50 wpisów na jednej stronie - co daje maksymalnie 2500 wpisów, które można wyciągać na raz.... no chyba, że później posortujesz w drugą stronę to na dwa razy po 2500 wpisów wyciągniesz maksymalnie 5000).
Zaloguj się aby komentować
Odnośnie kabli podwodnych to ciekawostka - Microsoft testował podwodne datacenter i udało im się zmniejszyć awaryjność 8-krotnie.
Obecnie projekt został wstrzymany ale firma zapewnia że wykorzysta pozyskaną wiedzę.
Źródło: https://www.windowscentral.com/microsoft/microsoft-waves-goodbye-to-underwater-data-centers
#ciekawostki #programowanie #devops
Kiedyś czytałem podobnego newsa, ale z serwerownią google, tylko oni w prost mowili, że chodzi o chłodzenie
Zaloguj się aby komentować
Siemka, czy kojarzycie jakieś materiały w języku polskim tłumaczące podstawy programowania? Zmienne, tablice, pętlę, takie pierdoły. Język w sumie dowolny, ale spodziewam się że jak coś będzie to pewnie dla pythona.
Inb4: "naucz się angielskiego i przeczytaj XYZ" to nie jest rekomendacja materiałów w języku polskim.
#programowanie #naukaprogramowania #pytanie #kiciochpyta
Za moich czasów to się polecało Mirosława Zelenta - tłumaczy jak chłop krowie na rowie. OTOH pamiętam też zesranie na forach że pokazywał to na C++ i były tam też jakieś zarzuty o bad practices. Niemniej jednak mnie wtedy nauczył więc ode mnie polecanko.
@wombatDaiquiri sprawdź https://kobietydokodu.pl/kurs-javy/
możesz poczytać go nawet jeśli jesteś mężczyzną, trans, nie-binarny, kotem, psem itp - nikt tego nie sprawdza ( ͡~ ͜ʖ ͡°)
Zaloguj się aby komentować
Rozumiem finansowanie serwerów z reklam itp. handlowanie danych kwestia dyskusyjna. Ale nie da się dorobić guzika by z automatu odznaczał wszystkie Uzasadnione interesy a nie żebym musiał odznaczać wszystkie trackery z osobna jak na jakimś skurwailym Onecie.
#zalesie #programowanie #hejto #gownowpis

@starebabyjebacpradem Typowe. Na Wypoku było to samo. Wprowadzają nowe prawo, które ma cię chronić, a skurwiele oczywiście zaimplementują to w taki sposób, żeby nikomu się nie chciało. Jeśli dużej części leniwych kmiotów nie chce się ustawić nawet prawidłowej społeczności to co dopiero przegryzać się przez coś takiego.
Wciąż czekam na update "i still dont care about cookies" bo obsługuje coraz mniej serwisów :\
@starebabyjebacpradem wiesz, że niewyrażenie zgody na uzasadniony interes mogą zignorować? RODO wprowadza pojęcie domyślnego bezpieczeństwa, zatem żadna firma nie może zbierać ani przetwarzać danych bez twojej zgody oprócz uzasadnionego interesu. Nawet jak dostaną zgodę to mają obowiązek przetwarzać tak krótko jak tylko się da i skasować je chyba, że służby (policja itp) chcą mieć je dłużej.
To tyle jeśli chodzi o teorię. Praktyka pokazuje jak się obchodzi przepisy, szczególnie w firmach które żyją z profilowania i marketingu.
Zaloguj się aby komentować
Hej, czy ktoś z Was używa fotela do prywatnego, zdalnego biura godnego polecenia?
Szukam czegoś i zastanawiam się nad gamvis bo różowa ma, ale może ktoś coś ciekawego podpowie?
#programowanie #pracbaza #fotelbiurowy
w robocie tylko klękosiad w moim sercu
@Fletcher ja kupiłem gamingowy ale radzę zainwestować w jakiś z obiciem z lepszych materiałów. ja na moim się dosyć mocno pocę, dałem około 1k.
Dużo osób poleca też dragonfly ale nie potrafię sobie wyobrazić jak miałbym na tym siedzieć
Zaloguj się aby komentować
Ruszyła przedsprzedaż trzeciej edycji szkolenia AI_Devs.
https://www.aidevs.pl/?ref=hejto
To szkolenie dla programistów (musisz umieć programować!) chcących nauczyć się integracji rozwiązań AI/LLM (OpenAI, Llama, Anthropic, Groq, modele lokalne itp.) z istniejącymi systemami IT.
w tej edycji skupiamy się na AGENTACH, a nie pojedynczych automatyzacjach. Jest to kontynuacja poprzednich edycji, a nie powtórka,
100% materiałów przygotowanych jest od nowa (nie korzystamy z tekstów/filmów/zadań z poprzednich edycji),
wszystkie zadania zostały zaprojektowane od zera,
dodaliśmy do treści i zadań wątek fabularny
szkolenie trwa 5+1 tygodni (5 tygodni nauki + 1 tydzień opcjonalny, do nadrobienia materiału z poprzednich edycji dla tych, których nie było z nami wcześniej),
przedsprzedaż trwa do 12 lipca i oznacza DUŻĄ zniżkę,
szukasz recenzji? Rzuć okiem na LinkedIn albo zapytaj znajomych. Przeszkoliliśmy tysiące osób, jest więc ogromna szansa, że osobiście znasz któregoś z kursantów.
Jak kształtują się ceny?
• 1790zł - do 12.07
• 1990zł - w przedziale 13.07-11.10
• 2790zł - od 12.10 do końca sprzedaży
Zobacz agendę
https://www.aidevs.pl/?ref=hejto
#programowanie #llm #kursy

@CzlowiekPromocja A podobno bootcampy się skończyły xDDD Już lecę.
Zaloguj się aby komentować
Hej, czy w tych czasach wrzuca się jeszcze do cv zdjęcie?
Branża: #programowanie
A jak już przy temacie to zna ktoś jakiś darmowy (albo bardzo tani) kreator CV?
#praca
@QuentinDamianino - coś prostego jak to https://uploads-ssl.webflow.com/5e9b599e716f9d94b6c84f43/5f07843fde2d7154e2004824_example-web-developer-resume.png lub to https://images.freecreatives.com/wp-content/uploads/2015/05/Free-Resume-PSD-Template_full_preview.png absolutnie wystarcza i można to stworzyć samemu w MS Office lub LibreOffice.
Dodatkowo staraj się zawrzeć wszystko na jednej stronie - nikt nie lubi czytać elaboratów.
@koszotorobur ale te paski i gwiazdki to rak. Może i ładne ale nic to nie mówi
@QuentinDamianino Absolutnie nie!
Nawet istnieje nieformalny zakaz umieszczania zdjęcia w CV.
W pracy liczy się twoja wiedza i umiejętności zawodowe.
@QuentinDamianino ja tam umieszczam i moi znajomi też
Zaloguj się aby komentować
Zaloguj się aby komentować
Bawił się może ktoś Hermesem? Mam na myśli możliwość budowania aplikacji TypeScript jako natywnych
https://medium.com/@gautam1168/compiling-typescript-to-native-code-0238d69ca582
Zakładając, że język programowania to tylko język to w sumie nic nie szkodzi na przeszkodzie, aby był interpretowany jak C czy C++ i kompilowany na odpowiednią architekturę. Tutaj chyba starają się zrobić coś podobnego, ale trzeba przyznać, że małe programy ważą relatywnie dużo. Domyślam się, że pod spodem jest zaszyte dość sporo syfu, które wymaga jeszcze wiele lat pracy, aby mogło stanowić alternatywę dla takiego np. C++. TypeScript jako język uważam za jeden z najlepszych, ale jego sporą wadą jest bagaż JS - której raczej szybko się nie pozbędą.
#programowanie
Zakładając, że język programowania to tylko język
@dotevo IMHO to jest błędne założenie. Język zawsze przychodzi z jakimś konkretnym toolkitem i to od niego zależy, co można, a co nie. I nawet jeśli jest ustalony jakiś standard dla danego języka, to różne implementacje mogą różnie do niego podchodzić.
Natomiast takie próby z JS/TS uważam za sztukę dla sztuki. W webie jeszcze pewnie przez długi czas będziemy skazani na to badziewie, ale poza webem są po prostu lepsze narzędzia.
@MostlyRenegade No nie wiem. Python i js to jednak dość zbliżone języki w założeniach, a istnieje python dla embedded jak np. micropython. Gdy piszę w Rust to jest wiele rzeczy, których mi brakuje w TS. Nawet wiele aplikacji CLI fajnie się pisze w TS. Jego główna wada przypomina tę w python, czyli musisz zainstalować noda i pierdyliard paczek aby odpalić prostą aplikację cli.
@dotevo ... no nie. Python od początku powstawał jako język ogólnego przeznaczenia. Natomiast js to była zabawka do wyświetlania fikuśnych stron www. Użycie go w jakimkolwiek innym celu to jest abominacja.
Zaloguj się aby komentować
#programowanie #programista15k #pracait #korposwiat #bekazprzegrywow #bekazpodludzi

To całkowita prawda, z czego beka?
@lurker_z_internetu Z programistów. Jak zawsze zresztą.
@NaczelnyRusofob jak możesz skorzystać z czegoś co jest dobrze przetestowane, to to zrób. Najgorzej jak ktoś np. postanowi zrobić własną implementację czegoś związanego z bezpieczeństwem.
I tagi popraw, pozdrawiam #programista30k.
Zaloguj się aby komentować
Eldorado w IT właśnie się kończy. Jeżeli ktokolwiek z was myślał że dzięki klikaniu w komputer będzie cały czas wyciągał po kilkanaście tysięcy to się srogo pomylił. Połowa z was zostanie w branży za 1/2 pensji a druga połowa będzie robić za portierów, pracowników Poczty Polskiej a ci co są mniejszymi łamagami fizycznymi pojadą zbierać ogórki w Niemczech aby mieć za co spłacać kredyty. Adios muchiacios jak to mówią.
#programowanie #programista15k #pracait #korposwiat #bekazprzegrywow #bekazpodludzi
@NaczelnyRusofob ROTFL, wiekszość moich pozabranżowych znajomych to by chciała zadabiać chociaż pół mojej pensji
Nawet, jak się wszystko skończy - kredyt na lokum spłacony wieki temu, odwiedzone podczas moich wakacji kraje liczone są już w dziesiątkach, składki emerytalne były płacone przez długie lata w maksymalnej możliwej wysokości, a i odłożone „coś niecoś” jest.
A jak u ciebie?
@sierzant_armii_12_malp przeciez to troll. Daj se spokoj
@sierzant_armii_12_malp To nie jest w najmniejszym stopniu twoja zasługa tylko fakt że debile z zachodnich korpo płacili Polakom mieszkający w Polsce i pracującym w Polsce stawki szwajcarskie a nie polskie. I za to właśnie hurtowo są wypierdalani z roboty za niegospodarność.
@NaczelnyRusofob podziękujmy programowi "polish harbor", wprowadzonego przez pis
@NaczelnyRusofob a co, internet zwijają?
Zaloguj się aby komentować
#programowanie #programista15k #pracait #korposwiat #bekazprzegrywow #bekazpodludzi

@NaczelnyRusofob again...
@pol-scot Piecze cię dupa? Bardzo dobrze. Ma piec.
@NaczelnyRusofob jeśli kogokolwiek piecze tutaj dupa to tylko i wyłącznie ciebie że nie dałeś rady ogarnąć programowania... mnie tylko oczy bolą od czytania twoich wypocin...
@NaczelnyRusofob dałbym pioruna ale nawet tutaj się mylisz, c⁎⁎ja robią. Mozesz nas obrażać i nękać do woli. Potwierdzone info.
@GrindFaterAnona Większość moich wpisów spadło. I to naprawdę łagodne wpisy np. ten jak ostrzegałem was programistów byście uważali na kobiety łase na wasze pieniądze bo macie łatkę najłatwiejszych frajerów do wydymania. Okazać wam odrobinę czułości i już można was nawinąć na palec bo z kobietami u was było do niedawna krucho.
@NaczelnyRusofob ale np wpis o tym, ze nasze żony robią loda przypadkowym ludziom nie spadł. @Moderacja nie widzi problemu, wszystko jest w porządku. Można tak pisać. Mnie widzę tez możesz nękać i obrażać, @Moderacja też nie widzi problemu. Oczywiscie moglbym cie czarnolistowac ale nie oszukujmy się - co to zmieni? Bedziesz innych nękać. Fajny ten portal, taki niezbyt przyjazny użytkownikom
@NaczelnyRusofob potwierdzam, to @spawaczatomowy
#nowywlascicielhejto
Zaloguj się aby komentować
Ciekawostka - można porównać dwie wartości IFami:
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.
@markxvyarov chyba, że właśnie celem było zaciemnianie kodu. Hehehe.
wynik = max(x,y)
Chociaż oczywiście możesz sobie komplikować życie ^^
@bekazhejto prawda. Ale w c już tak nie napiszesz :p
@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ć