Zdjęcie w tle
Programowanie

Społeczność

Programowanie

1k+

10 dni temu pisałem, że chciałbym pokończyć kilka projektów, które zacząłem wiele lat temu, ale z różnych powodów nie zostały skończone. Ostatnio wspomniałem o mapie z placami zabaw.


https://www.hejto.pl/wpis/odgrzebalem-kolejny-projekt-ktory-robilem-okolo-5-6-lat-temu-i-to-chyba-dobry-mo


Projekcik jest bardzo mały i składał się z kilku etapów.


  1. Najpierw musiałem stworzyć Overpass query aby pobrać interesujące mnie dane z OSM. Tym zapytaniem chwaliłem się przy okazji poprzedniego wpisu. Posiada ono jeszcze kilka informacji, których aktualnie nie używam np. stworzyłem taki dynamiczny tag, który jest generowany na podstawie tego co się znajduje wewnątrz placu zabaw. Teoretycznie mógłbym robić takie sprawdzanie po stronie klienta, ale byłoby to dość skomplikowane. W przyszłości użyję tego do filtrowania wyników, które pojawiają się na mapie.

  2. Ponieważ dawno nie pisałem frontendu (a szczególnie takiego małego) to musiałem znaleźć jakieś rozwiązanie, które by odpowiednio konwertowało kod TS na JS. @marmot polecił ParcelJS i muszę przyznać, że był to strzał w 10.

  3. Na koniec zostało już napisanie strony internetowej, ale magii tam nie ma. Kilka klas, które są odpowiedzialne na pobieranie danych z OpenStreetMap i wyświetlanie ich na mapie. Dodatkowo aby nie pobierać za dużo danych na raz jest zrobione kafelkowanie i pobieranie danego obszaru. Następnie dane są zapisywane w localstorage aby nie obciążyć zbytnio serwerów overpass.


W sumie na całość poświęciłem około 5-6 godzin (miałem pewne ułatwienie w postaci projektów, które kiedyś pisałem i nie musiałem wszystkiego wymyślać od zera) łącznie ze zrobieniem prymitywnych ikonek w inkscape i może projekt nie jest bez wad, ale staje się powoli używalny. W wolnych chwilach czeka mnie czyszczenie kodu dodanie komentarzy oraz kilka funkcjonalności, które już dawniej planowałem.


Efekt jest tutaj:


https://dotevo.github.io/ludparko/#51.1214,17.0520,18


https://github.com/dotevo/ludparko/tree/master/src


W sumie to polecam używanie OpenStreetMap i tworzenie projektów przy użyciu np. OverpassAPI. Może mój projekt kogoś zainspiruje do mapowania lub tworzenia projektów opartych na OSM.


#openstreetmap #opensource #programowanie

irbis9

Strach pomyśleć o targecie dla tego projektu

Zaloguj się aby komentować

Robiem co mogę aby ułatwiać ludziom wejście do świata espidf ale czasami ręce mi opadają. Niektóre rzeczy, takie jak zmiana IP, serwery DNS można zrobić za pomocą jednej linijki w #arduino IDE, za to w esp-idf wymaga to wielkiego zachodu. W dodatku na Internecie brak jest przykładów, a dokumentacja jest niewystarczająco czytelna. Podzielę się z wami jak obsłużyć CORS - czyli to z czym będziecie musieli się zmagać, jak zaczniecie używać swojego #esp32 jako serwera http, czyli jakby się wydawało bardzo pospolity use-case. Aż dziwne że nie ma do tego przykładów.


Czym jest CORS?


CORS (Cross-Origin Resource Sharing) to mechanizm, który umożliwia bezpieczne udostępnianie zasobów między stronami internetowymi pochodzącymi z różnych domen.


Należy pamiętać że 192.168.0.1/ oraz 192.168.0.1/endpoint to dwie różne domeny i po próbie wysłania czegoś z klienta(przeglądarki) na endpoint serwera(esp-ka) napotkacie się na błąd CORS.


W nomenklaturze frameworku Arduino problem ten można rozwiązać po prostu wywołując na instancji serwera metodę server.enableCORS(true), przed jego uruchomieniem(co wygooglujecie w minutę). Zauważycie wtedy że lecą jakieś dziwne requesty HTTP_OPTIONS, serwer odpowie jakimiś dziwnymi nagłówkami ale to zignorujecie bo wszystko będzie działać. I dobrze.


W esp-idf musicie te wszystkie rzeczy obsłużyć sami. Przed próbą wysłania HTTP_POST na serwer, przeglądarka wyśle na Wasz endpoint 192.168.0.1/endpoint zapytanie HTTP_OPTIONS na które musicie odpowiedzieć. Wystarczy umieścić w odpowiedzi 3 headery. Przykładowy handler obsługujący corsa.


static esp_err_t cors_handler(httpd_req_t *req)


{


ESP_LOGI(TAG,"OPTIONS cors handler");


httpd_resp_set_hdr(req,"Access-Control-Allow-Headers","*");


httpd_resp_set_hdr(req,"Access-Control-Allow-Origin","*");


httpd_resp_set_hdr(req,"Access-Control-Allow-Methods","*");


httpd_resp_send(req,"",HTTPD_RESP_USE_STRLEN);


return ESP_OK;


}


<br />

Dopiero po tej odpowiedzi przyjdzie właściwe zapytanie typu POST z danymi, które chcecie obsłużyć. Jak pod wpisem będzie 5 piorunów do napisze minimalistyczną apke(przykład) która będzie hostowała jakąś stronkę zbierającą dane i wysyłającą je do esp-ka


#programowanie #elektronika #raspberrypi

23991c85-70cd-4ada-8c47-7064673c0e33
ZohanTSW

Można tagować #embedded

Vuaaas

@Gitler Nie zgodziłbym się że server http na esp to pospolity use-case. Pospolitym use-casem jest to że esp jest klientem i przesyła dane na serwer, albo że esp jest serwerem i komunikuje się z klientem za pomocą socketów TCP/UDP. Serwer http to jakiś overkill na zasadzie prześlemy obrazek z kamerki, ale i tak nie podłączy się pod to więcej niż jedna osoba w tym samym momencie.

SUQ-MADIQ

@Gitler dawaj wincy tego mięsa o esp32

Zaloguj się aby komentować

psalek

Model trenowałeś sam czy użyłeś jakiegoś gotowego?

Guma888

@mrcino fajne,podziwiam.

Zaloguj się aby komentować

Hej. Istnieje jakaś strona podobna do hyperskill?? Skończył mi się okres próbny 3msc, a chciałbym jeszcze się czegoś nauczyć. Chyba że ma ktoś refa na 3msc i się podzieli?

#programowanie #python #sql #komputery

Jokohama

@cec 250 usd? jeszcze nie jestem programistą xD

Zaloguj się aby komentować

Zielczan

@Fausto kupilem sobie ksiazke do pythona kiedys, co prawda nie mozna powiedziec, ze nic sie nie nauczylem, bo cos tam umiem, ale skonczylo sie na C# w koncu, lepiejmi siadlo

Zaloguj się aby komentować

Czego najlepiej użyć do prostej stronki w TypeScript, która ma niemal pusty index.html. Więc vue.js, react itd odpadają.


Kiedyś miałem w npm zrobiony skrypt typu build, który odpalał tsc i jakieś minify. Ale to było pewnie 3 lata temu albo i więcej, więc pewnie można fajniej.


#typescript #frontend #programowanie

Cześć,


czy jest tu jakiś ekspert z #datascience, który zechciałby mi pomóc w stworzeniu prostego modelu predykcyjnego? Mam wstępnie obrobione dane w .csv, ale utknąłem na modelowaniu, tj. nie jestem pewien w jaki sposób dobrać parametry żeby to miało ręce i nogi i żeby móc z tego wyciągnąć jakiekolwiek poprawne wnioski.


Z góry dzięki za pomoc!

plemnik_w_piwie

@kolorado a opiszesz po krotce co tam masz? Co chcesz zrobić?

Zaloguj się aby komentować

NiedzielnyPodroznik

Popróbuj jeszcze z tym one-click deployem, dopracuj gierkę i jazda

Zaloguj się aby komentować

Prace nad wifiManagerem/stroną konfiguracyjną do #hydroponika trwają. Szłoby szybciej jakby libki od espressif nie były tak zbugowane. Nigdy nie deployowałem stronki napisanej we #flutter na #esp32 i jestem ciekawy ile pamięci będzie to zajmować. W kontekście apek mobilnych flutter wypada pod tym względem beznadziejnie także mam nadzieję, że tutaj będzie chociaż trochę lepiej.


Beka, że nie ma żadnego info o esp touch. Na stronie głównej jest tylko takie coś:


https://www.espressif.com/en/products/software/esp-touch/overview


Korzystaliście kiedyś z wifi_provisioning dla esp ? Jak wypada w porównaniu z wifiManagerem od tzapu?


https://github.com/tzapu/WiFiManager


#programowanie

5b00698f-170e-4b37-a8cb-f6962ddbc02e
dotevo

a nie lepiej jakieś Esphome? Ja u siebie tak mam z akwarium, a tam sterowanie światłem i temperatura.

Zaloguj się aby komentować

Biorąc pod uwagę to, że jednak ludzie to zawodne maszyny (a mi ostatnio dość często udaje się nawalać, choroba itd), będę szukał osoby, która będzie mi mogła pomóc przy pracy którą wykonuję.


Nad czym pracuję? Głównie zajmuję się utrzymaniem i rozwijaniem REST API, które wykorzystuje tak zwaną Sferę(Sfera dla Subiekta nexo). Sfera to zestaw narzędzi, który pozwala wykonywać prawie wszystkie działania, jakie dostępne są w Subiekcie Nexo. Największym wyzwaniem będzie ogarnięcie tutaj rzeczy jak to nazywamy "Subiektowych", związanych z Subiektem Nexo oraz Sferą.


Aplikacja stoi na #dotnet, czyli tutaj wiadomo, że jest #csharp.


LINQ, MS SQL, Swagger, Postman, ngrok, git, trello i tego typu sprawy. Nie ma tutaj jakiś super nowych technologii, jest raczej więcej grzebania w tych starszych.


Jeśli chodzi o doświadczenie, to pewnie taki junior byłby ok. Fajnie jeśli byłby to ktoś z Rzeszowa/Dębicy lub okolic.


Nie byłoby to coś na pełen etat, tylko raczej bardziej coś dodatkowego na UZ albo jeszcze inaczej, raczej idzie się tutaj dogadać, choć to już ode mnie zależy. Znajomość #vue(tutaj to już naprawdę dobra znajomość vuejs byłaby wymagana, czyli pewnie na poziomie doświadczonego mida), czyli #webdev też mogłaby mieć wpływ na to, jakby to tutaj wyglądało, ale akurat nie jest to priorytetem i ode mnie to nie zależy.


Mój wpis nie jest pełnoprawną ofertą pracy. Otwartej rekrutacji też nie prowadzimy, z niczym też pośpiechu nie ma.


Na razie sprawdzam, czy może jakiś chętny by się tutaj znalazł.


#programowanie #praca #pracait #dotnet #csharp

ali7200

@Dissociated mogę polecić kumpla, co prawda bardziej sieciowiec i wiele rzeczy musiałbyś go nauczyć, ale za to można mu płacić w orzeszkach

Dissociated

@ali7200 Tutaj jednak dobrze by było, jeśli ta osoba miałaby jakieś doświadczenie z programowania w .net, żeby chociaż w tych technologiach siedziała/uczyła się.

Zaloguj się aby komentować

ql00

@rtofvnt bez problemu

kto3

Kurcze pewnie ze dasz radę.

A skąd taka potrzeba wyszla? Zmieniasz robotę i mało ofert z Twojego stacka czy co?

rtofvnt

@kto3 chodzi tylko o jedna cholerna biblioteke pod pythona, ktora nie jest zaimplementowana w wersji na windowsa - pyarrow. Dali mi jakiegos maca, to pomyslalalem, ze ogarne juz pythona

Zaloguj się aby komentować

Zaloguj się aby komentować

Odgrzebałem kolejny projekt, który robiłem około 5-6 lat temu i to chyba dobry moment, aby go dokończyć - a w sumie to zrobić od zera bo kod gdzieś zaginął.


Projekt powstawał, gdy mój syn miał około 2 lata. Wtedy sporo spacerowałem z nim po Wrocławiu i chodziliśmy po różnych placach zabaw. W pewnym momencie pomyślałem, że fajna byłaby strona, która pokazuje co na danym placu zabaw jest np. huśtawki, piaskownica itd. Dodatkowo aby była możliwość pofiltrowania i takie tam. W tym czasie robiłem całkiem sporo projektów w #openstreetmap   np. indoor Map, mapę dla rowerzystów i takie tam projekciki. Często bardziej istotne było aby zrobić je w jeden - może dwa dni niż, żeby były ładne zarówno od strony użytkownika jak i kodu.


Pierwszy krok mam zrobiony, czyli zapytanie do overpass, które pomoże wyświetlić mi dane:


https://overpass-turbo.eu/s/1vbg


Gdy znajdę chwilkę czasu to pewnie przy użyciu leaflet ogarnę stronkę z wyświetlaniem.


#programowanie #mapy

ww-1

Fajny pomysł. Jak zamierzasz zdobyć i utrzymać ruch zakładając że w ogóle chcesz?

dotevo

nie chce :) będzie hostowana na github pages prawdopodobnie.

mackar

@dotevo Jeden z Wrocławskich społeczników też się tym zajmuje. Może połączycie siły https://twitter.com/niedakh/status/1647568787472826368.

dotevo

w sumie nic tu do łączenia sił. Skoro dodaje dane do OSM to u mnie też się pojawią :)

Zaloguj się aby komentować

Ejejejejej. Pochwalcie się co ciekawego ostatnio znaleźliście na temat #programowanie - jakąś bibliotekę?


Może jakiś fajny AI model co można uruchomić lokalnie?


Może jakiś zajeb%@#% serwis?


Albo coś fajnego self hosted?


Mam wolny wieczór, chętnie o czymś ciekawym poczytam.


#sztucznainteligencja #js #javascript #react #aws #google #python #php #golang #rust #react

dotevo

ostatnio sporo siedzę w tematach virtio służbowo, ale chyba to mało dla Ciebie interesujące.

Klopsztanga

@dotevo co uzywasz do wirtualizacji, i jakiego typu to jest wirtualizacja ? Serwerowa czy użytkownikowa ?

dotevo

Aby zrozumieć dlaczego virtio jest fajnym rozwiązaniam trzeba się najpierw zagłębić w to jak w ogóle wygląda postawienie systemu np. Androida na urządzeniu. Każdy telefon jest trochę inny. W inne miejsce może być podpięta pamięć, serial itd. Dlatego zawsze kilka tygodni zajmuje pokonfigurowanie kernela. Potem trzeba napisać HAL, który tłumaczy androidowi jak np. używać GPS. To znów wymaga czasu. Każda aktualizacja androida wymaga dopasowania tego co już jest. Często więc dużo czasu i pieniędzy wymaga takie coś - jest też Treble, ale mniejsza z tym teraz.


Konkluzja jest taka:

Różne systemy operacyjne odpalane na czymś w stylu telefonu. Jest system linux host, który przez virtio przekazuje wszystko do guesta (usb, bt, wifi itd) np. Androida i dzięki temu działa od razu bez zabawy w drivery po stronie androida.


To jest o tyle fajne, że jeśli się przyjmie na szeroką skalę to aktualizacja systemu będzie możliwa na dowolnym urządzeniu. Wymiana systemu na dowony inny używający virtio też nie będzie problemem. Może rynek telefonów zacznoe przypominać rynek PC, gdzie możesz sobie podmoenić system i wszystko śmiga.

radler

@Klopsztanga Ostatnio zacząłem się interesować troche fizyką kwantową i okazuje się, że IBM u siebie na stronie ma darmowe narzędzie do budowy obwodów kwantowych - https://quantum-computing.ibm.com/composer/files/new

Niestety póki co nic z tego nie rozumiem

Klopsztanga

@radler i za szybko nie potestujesz

Zaloguj się aby komentować

Zaloguj się aby komentować

Kiedyś wymyśliłem sobie dość fajny projekt. Wydawał się bardzo prosty. Ogólnie chciałem napisać apkę w TS, która na początku będzie CLI, a w późniejszym czasie ewoluuje do TUI, a może nawet GUI.


Zadanie dość proste - tworzenie drzewa genealogicznego. Ale nie chciałem używać, żadnej istniejącej bazy danych. Docelowo miał być to projekt, który będzie offline, a z drugiej strony pozwoli na kolab. Zacząłem więc tworzyć własną bazę danych, która jest tak naprawdę plikami yaml, a wszystkim zarządza GIT. Każde entity ma swój katalog, a każdy plik jest osobnym rekordem, a że jest to GIT + YAML to wszystko w przyszłości miało się opierać na pull requestach. Dzięki temu w kilka osób można by tworzyć drzewko, bez myheritage czy innych.


Niby jakoś koncept zaczyna działać. Mogę dodać sobie nowe osoby do drzewa,, ale ostatnio ostro się zamotałem architektonicznie i od kilku dni nie jestem przekonany jak to ładnie ogarnąć. Jeszcze daleko do końca bo nie mam np. generowania indeksów aby szybko przeszukiwać rekordy i przeglądanie różnych rewizji danego rekordu nawet nie zostało rozpoczęte.


Po co to Wam piszę? Nie wiem. Patrzę na kod od kilku dni i widzę rzeczy do poprawienia... Zwyczajnie chyba za mało czasu poświęciłem na dobre rozrysowanie architektury na początku i teraz będę za to pokutował. Tak to jest gdy w pracy wszystko trzeba dokumentować i człowiek dla relaksu spróbuje innego podejścia w prostym projekcie domowym.


#programowanie

ShutDown

@dotevo a dlaczego kilka osob nie mialoby tworzyc razem drzewka na jednej wspolnej bazie danych? Bardzo utrudniles podejscie a to sie mija z celem. Normalny user nie bedzie walczyl z gitem zeby sobie drzewko zaktualizować

dotevo

to się dzieje pod spodem. Użytkownik musi wiedzieć, że musi zmiany wysłać do "chmury" i pobrać.

Git to najlepszy sposób przechowywania danych. Łatwo zmiany wycofać, można posiadać kilka repo, łatwo pracować offline.

Zaloguj się aby komentować

tellet

@Suodka_Monia Te wszystkie idiotyczne tabelki zakładają, że ktoś się będzie bujał ze złamaniem hasła nawet i do banku, jakiegoś zbłąkanego janusza, żeby mu wejść na konto i zobaczyć debet 500 zł na koncie i kredyt na 200k xDDD.

Jak chcesz się dobić do jakiegoś krytycznego systemu to nawet nie wchodzisz na stronę organizacji, tylko do okolicznych knajp/barów/żabek wokoło tej organizacji albo wbijasz na jakąś firmową imprezę po 22:00, no od biedy wysyłasz maila z faktura.exe z nadzieją że mają skamieliny lub imbecyli w sekretariacie. Tak czy inaczej - socjotechnika...


Kto by teraz bruteforcował hasła xD Do zdalnego hosta to w cholerę "głośna" operacja, a lokalnie pozostaje ci nadzieja, że:

a) Ofiara się nie zorientowała i nie puściła resetu haseł

b) Dane logowania są chociaż do jakiegoś ważnego systemu

b1) I w dodatku poziom uprawnień któregoś z kont jest wyższy niż plebejusz spoza firmy.

c) Zdążysz złamać wystarczająco dużo haseł, trafić na konto z wysokimi uprawnieniami i jeszcze je wykorzystać do wbicia do infra ofiary, żeby się tam odnaleźć i wynieść odpowiednio dużo danych.


Potem takie janusze płaczą "pczecie my miely dobre haseła! Zmienialim co miesionc!!"

No ale wymagania były takie, że każdy sensownie myślący user miał to w piździe i dawał "MiesiącYYYY#!" lub podobne, za to już wasza bezpieka miała w piździe poziomy uprawnień i każdy jechał na roocie/adminie albo było domyślne hasło.

gatineau

@tellet panie tyle się Pan naprodukowałeś a chyba w ogóle nie wiesz o co tu chodzi xD Jakie łamanie hasła Janusza, skąd niby masz wiedzieć że hasło które łamiesz to Janusz a nie Książe Walii skoro jeszcze nie złamałeś hasła a więc nie zdobyłeś dostępu do systemu więc nie wiesz do kogo należy hasło?


To łamanie haseł to scenariusz praktycznie tylko i wyłącznie masowych wycieków które są dużo częstsze niż się wydaje - ktoś ma w łapie bazę 100 000 kombinacji login i solony hash hasła i leci jeden po drugim. W zależności od budżetu ustala sobie że spędza max 15 minut na każdym haśle - jeżeli twoje hasło jest łamane w mniej niż 15 minut, zostanie złamane. Nikt nie będzie się rozwodził na to kto jest kim w tych 100 000 loginów xD No chyba że to adresy e-mail to wtedy służbowe z rozpoznawalnych firm zapewne dostaną dodatkowy treatment a jak jest tam jakiś e-mail w czymś dużym (typu jakieś masowe korpo czy znana instytucja) to może i spędzą nad tym dni.


(a jakiekolwiek hackowanie "żywego" systemu to nigdy nie będzie "instantly" bo przecież nawet najlepsze systemy będą odpowiadać w >100ms i się zesrają jak im wyślesz milion requestów w "instant")


A nawiasem mówiąc to hasła Janusza do banku są dość cenne bez względu na saldo - tożsamość Janusza anonimskiego jest idealna do użycia jako słup do wałków i lewych transakcji bo nie przyciąga uwagi służb a jeżeli konto jest puste i ogólnie nieużywane to tym lepiej, Janusz nie skapnie się co jest grane dopóty nie dostanie miesięcznego wyciągu. Choć oczywiście obecne regulacje w UE wymuszające 2FA mocno przetrzebiły ten rynek

kalimer

O, jeden wie o co chodzi :)

Dudlontko

@Suodka_Monia najlepsze hasło to Dupa123!

Budo

@Suodka_Monia dlatego Albicla jest przełomowym projektem w dziedzinie bezpieczeństwa, ponieważ pozwalała oszukać hakerów umożliwiając wklejenie w pole hasła całej bilbii, albo samych spacji ( ͡° ͜ʖ ͡°)

Zaloguj się aby komentować

Pijcie ze mną kompot, właśnie podpisałem umowę o pracę z nową firmą 🎉 Obecna praca jest spoko, ale firma ma trochę problemów finansowych więc zacząłem szukać nowej roboty i znalazłem. Nowa firma zaoferowała bardzo fajne warunki pracy i ludzie są spoko. Poszukiwania były bardzo męczące, obecnie rynek pracy jest dość ciężki, gdyż jest sporo kandydatów. Zauważyłem też trend że teraz większość ofert pracy wymaga języka niemieckiego więc wybór ofert dla ludzi znających tylko angielski (jak ja) jest mniejszy


#szwajcaria #it #programowanie #programista15k

rybeusz

I jak się mieszka i pracuje w Szwajcari w porównaniu do Polski? Sam miałem kiedyś marzenie żeby się tam przeprowadzić.

n3rd_1n_5pac3

@Giera zależy od firmy, widziałem jakieś ogłoszenia że można pracować zdalnie ale stawki były o wiele niższe jakbyś pracował w Szwajcarii

n3rd_1n_5pac3

@rybeusz mi się mieszka super, potrafie trochę odłożyć i żyć na dość dobrym poziomie. Dużo zacząłem podróżować bo raz że jest to tutaj łatwe dwa że mnie teraz stać. Ogólnie rzecz mówiąc praca jest ciężka (najczęściej pracuje nad bardzo nowymi rzeczami) ale jest też ciekawa i rozwijająca. Na początku trochę ciężko było się przyzwyczaić do bardzo kapitalistycznego podejścia do życia, ale po jakimś czasie się przyzwyczaiłem.

Zaloguj się aby komentować