Zdjęcie w tle

Społeczność

Programowanie

1k+

Zaloguj się aby komentować

  • Miej w projekcie burdel na kółkach

  • Ale taki naprawdę duży burdel na naprawdę dużych kółkach

  • I to trzech, bo jedno odpadło

  • Cały projekt jest postawiony na frameworku KEKXD stworzony przez zewnętrzną firmę

  • Mało tego, framework KEKXD zbudowany jest na frameworku OSGi

  • Incepcja motzno

  • W dodatku lider techniczny projektu jest silosem wiedzy, i nie ma czasu się nią dzielić

  • I jest narcyzem

  • 2137000 linii kodu

  • 0% pokrycia testami

  • SOLID połamany gdzie się tylko da

  • Dokumentacja? A komu to potrzebne!

  • Code review? Strata czasu

  • Komponenty powiązane ze sobą tak bardzo

  • Zatrudnij polaka robaka nr 1 (level senior+/tech lead)

  • Polak robak nr 1 radzi sobie nieźle, choć burdel w projekcie go przeraża i przytłacza

  • Daj mu (bardzo duże, takie na kilka miesięcy) zadanie które sprawiłoby trudności nawet mocno doświadczonej osobie

  • Polak robak nr 1 mimo wszystko daje rady, choć z powodów wymienionych wyżej - tempo ma dość średnie

  • W końcu jednak Polak robak nr 1 dowozi.

  • Zatudnij Polaka robaka nr 2 (level senior), do pomocy Polakowi robakowi nr 1

  • Każ Polakowi robakowi nr 1 wdrożyć Polaka robaka nr 2 w projekt

  • Polak robak nr 2 wziął 50% stawki Polaka robaka nr 1

  • Zwolnij Polaka robaka nr 1, nie podając powodu xD

  • Polak robak nr 1 zdążył się jednak zakumplować z Polakiem robakiem nr 2, i pozostaje z nim w kontakcie

  • Jako Polak robak nr 1 obserwuj sytuację

  • Polak robak nr 2 narzeka na burdel w projekcie, skarży się na powoli rosnący mobbing

  • Polak robak nr 2 również nie spełnia twoich oczekiwań

  • Zagroź Polakowi robakowi nr 2 zwolnieniem "jak się nie poprawi" XD

  • Nadal nie zauważaj problemu dlaczego Polaki robaki nr 1 i 2 wolno dowozili i mieli ciągle pod górkę

  • Zatrudnij Polaka robaka nr 3 (level turbo_ultra_senior/tech lead/architekt++)

  • Każ Polakowi robakowi nr 2 wdrożyć nr 3 XD

  • Polak robak nr 3 ma 2137 lat doświadczenia i pracował kilka lat w OSGi

  • Nawet sobie radzi

  • Ale wkurwia go burdel i kilometr gówna w jakim się znalazł

  • Ponownie zagroź Polakowi robakowi nr 2 zwolnieniem jeśli się nie poprawi xD

  • Po dwóch miesiącach nr 2 radzi sobie lepiej, ale nadal nie spełnia twoich oczekiwań

  • Ale i tak postanawiasz go zwolnić

  • Dzień po wręczeniu wypowiedzenia Polakowi robakowi nr 2, nr 3 rzuca Ci wypowiedzenie na biurko, przy okazji wyrzucając Ci całą litanię problemów i dlaczego nie chce z tobą więcej pracować. W dodatku nr 3 daje Ci dokument w którym wypisał 2137 punktów "co jest z tym projektem nie tak" oraz propozycje rozwiązań

  • Obraź się xD

  • Nadal nie jesteś w stanie zauważyć gdzie k⁎⁎wa leży problem, mimo że nr 3 wyłożył Ci to jak kawę na ławę

  • Zatrudnij Ukrainkę na poziomie mocnego juniora

  • Żyj w przeświadczeniu że to rozwiąże Twoje kłopoty XD


Niemieckie IT to żart, ale ten konkretny projekt to żart wyjątkowo nieśmieszny.


#programowanie #pracbaza i trochę #humorinformatykow

@dziki OSGI i wszystko jasne, jeszcze napisz jboss Współczuję. (Tzn ja na codzien zmagam się z Camelem, więc nie jest to dużo fajniejsze legacy, ale jednak OSGI, holy carp )

Zaloguj się aby komentować

Kiedy nie pomyślałeś, że to jak napisałeś ficzur śledzenia trasy sprawia, że będzie cięgle walił requestami i trzeba go przepisać. ;D


#pociagi #pkp #programowanie #2jednostkowe0wydajnosciowych

ae938b3c-0c9d-49a6-95d8-2292d4dae2d3

Kiedyś to tak działało, że pokazywało orientacyjnie gdzie pociąg może się znajdować. Chyba nawet nie pobierano lokalizacji pociągu tylko szacowano pozycję na podstawie rozkładu i opóźnień

Tak to jest jak się pisze szybko, byle działało, żeby klient widział i się cieszył że działa. Potem w realiach nic nie działa i trzeba iść długą, ale (bardziej) poprawną drogą i zrobić choć trochę porządnie xD

Ech te małpy nigdy się nie nauczą

@Deykun akurat to wszystko działało średnio. Wcale nie był to żaden tracking online, tylko system miał informację (z opóźnieniem ok. 10-15 minut) o której pociąg dojechał na stację i z niej odjechał.

Jak pociąg dojechał, system sprawdzał o której ma z niej odjechać i zaczynał "przesuwać" ikonkę pociągu na mapie, bo znał przebieg trasy i czas przyjazdu do kolejnej stacji, więc "znał" średnią prędkość.

Jak wspomniałem, były opóźnienia w aktualizacji czasów przyjazdu i odjazdu, co rodziło śmieszne sytuacje. Np. Pociąg przyjechał o 11:00, miał odjechać o 11:02. System więc przyjął, że pociąg odjechał i 11:02 i ikonkę pociągu już "przesuwał" na mapie, a pociąg stał na stacji, bo nie mógł ruszyć. Dopiero jak po 10 minutach przyszła aktualizacja, że pociąg w ogóle nie odjechał, to system teleportował znowu pociąg na stację i zaczynał znowu wirtualnie przesuwać ikonkę do kolejnej aktualizacji za 10 minut xD

Zaloguj się aby komentować

Niedziela rano, a tak stwierdziłem, że zrobię sobię jakiegoś małego taska. A potem wymyśliłem, że najlepiej zrobić trzeba regexami.

To nie skończyło się jako mały task


Tak, uważam że są one niepotrzebnie demonizowane, ale dziś jakoś nie chciały siąść

#programowanie

Ragnarokk userbar

@Ragnarokk jak mawia stare przyslowie: Jeśli masz problem i postanowisz rozwiązać go regexem to masz dwa problemy.

Uwielbiam regexy :) kiedyś pisywałem takie bardzo skomplikowqne, ale ciężko mi sobie przypomnieć co robiły. Chyba jakieś zaawansowane podmienianie wartości.

Ostatnio jak automatyzuję różne rzeczy to pokochałem JSONata, ale to inna bajka.

Zaloguj się aby komentować

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ść.

Zaloguj się aby komentować

Zajmuję się analityką internetową - zbieram i raportuję dane o tym, jak ludzie przeglądają strony internetowe.


Przez ostatnie kilka miesięcy pisałem sobie rozszerzenie do #chrome, które wizualizuje dane o klikniętych na stronie elementach - tzw "heatmapa", czy też "clickmapa".


Była to okazja żeby mieć sporo niecodziennych wyzwań do rozwiązania, i pomyślałem że się nimi podzielę. Ponieważ sporą część tego co musi być zrobione miałem w głowie i nie porywało mnie robienie jej, do stworzenia części kodu użyłem #chatgpt i #github #copilot , co też przyniosło ciekawe doświadczenia.


Są to totalnie geekowskie wynurzenia ale mam nadzieję znaleźć odrobinę przestrzeni gdzie mógłbym też zyskać może jakiś feedback na temat tego rozwiązania


Całość opiera się na zbieraniu selektorów CSS klikniętych elementów, a później pobieraniu tych danych i wizualizowaniu ich.


  • Sama komunikacja z zewnętrznym serwisem w Chrome Extensionie to już jest ciekawy fikoł, bo można to robić tylko z konkretnego kontekstu - service workera (a.k.a. background.js) - wymaga to przerzucania danych w odpowiednie miejsce (np. do otwartego taba przeglądarki), bo nie można ich pobrać "gdzie się chce"

  • Wizualizacja klikniętych elementów to fragment w którym mocno wspomagałem się AI - ChatGPT dobrze był w stanie zrozumieć o co mi chodzi i uwzględnić wymagania, ale jego sposób pracy potrafił się wahać z tygodnia na tydzień. W końcu przerzuciłem się na GitHub CoPilot ponieważ sugeruje na podstawie całego otwartego w #vscode projektu i bieżącego miejsca w kodzie. Czasem jak kulą w płot, ale zaoszczędził mi mnóstwo czasu. W sumie cały algorytm wizualizacji to jego dzieło którego staram się sam nie ruszać jedną z rzeczy, które AI rozwiązało jest kolejność renderowania elementów na podstawie sprawdzenia, który jest czyim dzieckiem, tak, aby nie było później zwizualizowanych elementów, których nie da się kliknąć.

  • Największym problemem, nad którym dumałem jak memiczny Pablo Escobar przez 1,5 miesiąca odkładając całość w kąt, było jak skonstruować toolbar wyświetlający się po kliknięciu danego elementu. No nie mogłem tego sobie dobrze wymyśleć biorąc pod uwagę to co chciałem zrobić, czyli doklejać go do już istniejącego elementu i pozwalać mu się rozwijać na obszar poza tym elemente. Z pomocą też pewnego wieczora przyszło AI, ale do rozwiązania o co je poprosić musiałem dotrzeć sam.

  • Nadawanie odpowiedniej kolorystyki w zależności od ilości kliknięć na dany element jest czymś co muszę jeszcze dopracować. Pierwsza wersja opierała się na przypisaniu natężenia jednego koloru, teraz już mam 2 kolory. Wymyśliłem sobie żeby dzielić skalę pomiedzy tymi 2 kolorami na liczbę kolorów odpowiadającą ilości elementów do pokolorowania, ale to nie daje wyraźnych wizualnie efektów, więc wprowadziłem dodatkowy model który elementy z największą ilością kliknięć doboostowuje na podstawie tego, które mają miejsce w datasecie (bo jest on posortowany od najbardziej klikanych elementów)

  • Potrafią się też zdarzać uszkodzone dane z niewłaściwymi, urwanymi selektorami CSS - trzeba je w miarę możliwości oczyszczać i wizualizować na najbliższym elemencie

  • Niektóre elementy na stronach, gdy są kliknięte, potrafią zwracać inne selektory np zawierające klasę "active". Żeby te dane łączyć (chociaż chyba mi to jeszcze nie do końca działa ) też zrobiłem dedykowaną temu funkcjonalność.

  • Problem, którego jeszcze nie rozwiązałem: przy używaniu google translate, mogą się zmieniać wykrywane selektory CSS klikniętych elementów, bo jest w nich dodatkowo umieszczany tag <font> albo i dwa

  • Popełniłem też sporo mniejszych, czeskich błędów przy obsłudze dość złożonego API - tym lepiej miałem okazję się go nauczyć

  • GitHub CoPilot dobrze się u mnie zadomowił. Zrobiłem kilka zrzutów które chcę zmontować w filmik o nim, gdzie mam przykłady i dobrych i kiepskich jego zachowań. Czasem trzeba go lekko szturchnąć w odpowiednim kierunku, i potrafi dużo pomóc, ale czasem jest zupełnie bezużyteczny i kręci się w kółko jak 5 latek

No i taka robota. Mi się bardzo przyda w mojej codziennej pracy. Jak coś, to extension współpracuje z analityką Piwik PRO, która ma dwie zalety - jest robiona w Polsce i jest darmowa do 500 tys. eventów miesięcznie ( ͡° ͜ʖ ͡°) #toniejestreklama, może się komuś przyda, a samo rozszerzenie tu: https://logbaker.com, a filmik mam nadzieję że się osadzi: https://www.youtube.com/watch?v=wJSYjGRO5YM


Jeśli ktoś ma pytania dot. developmentu chrome extensiona też chętnie odpowiem na tyle ile wiem

całkiem ciekawe wyzwanie

pytanie zasadnicze: co cię motywowało do tworzenia własnego rozwiązania?

Gotowych rozwiązań do heatmap było sporo (nie robię w tej branży od wielu lat, toteż na bieżąco już nie jestem) i głównym problemem była ich ociężałość. Ale nie wspomniałeś o gotowcach w ogóle, toteż jestem ciekaw czy krojenie żadnego gotowca nie byłoby "bardziej".


Druga rzecz to selektory.

Jak zbierasz dane dot. selektorów obejmujących całą szerokość lub wysokość widocznego

obszaru (nie wiem jak się tłumaczy viewport)?

Zaloguj się aby komentować

Pamiętam stare czasy, czasy programowania w #php i nauka #bazydanych . Było wtedy (dalej jest) takie narzędzie jak PHP My Admin (PMA). Dla postgresa był PHP Pg Admin, niestety nie tak popularny. Funkcjonalnie był to bardzo daleki i kulawy brat PMA, Nie mniej PostgreSQL nadrabiał to świetnym klientem "okienkowym", który zwał się pgAdmin. Z wersji 3.x korzystałem długie lata w wielu projektach między 2003 a 2008 rokiem.

Przyszło mi teraz odpalić pgAdmin 4. Jedyne co mi przychodzi do głowy to ten obrazek..

1f0d3fd2-2cbf-4676-bf8a-6959911eee36

phpmyadm to ociężała grucha

od niepamiętam kiedy używałem dbninja jeśli chodziło o zrobienie czegoś na szybciocha

czy coś równie lekkiego do postrgresa istniało lub jeszcze istnieje to niestety ni wim

Zaloguj się aby komentować

Piszę sobie poprawki do kodu protokołu OPC UA, nic specjalnego. Ale udało mi się doprowadzić Wireshark (narzędzie wspomagające analizy ruchu sieciowego) do płaczu. Dowód na obrazku. Wystarczyło, że Wireshark zobaczył wygenerowany przeze mnie pakiet.


Jak patrzę ile tam jest poziomów abstrakcji to też mam chęć płakać. Niby zlecenie na 100h, a już widzę, że mi się zejdzie dłużej. Jakieś 50-100%. Teoretycznie mogę zostawić to po skończonym limicie, ale głupio porzucić rozwalony kod, jak już się zaczęło i wlazło tak głęboko.

8959adfb-b00e-4bc9-84c8-1eaead8067ff
db0b200b-5f23-449c-8a7d-dbe0f4317805

Zaloguj się aby komentować

Załóżmy, że chciałbym napisać UDP serwer, który będzie przetwarzał dużą ilość pakietów na sekundę. Co lepsze?

Rust czy Go?

21 Głosów

Go. Nie wiem co piszesz, ale nie wierzę, że jakiekolwiek różnice w wydajności jakie dałbyś radę wycisnąć z pisania w Rust miałyby dla Ciebie jakiekolwiek znaczenie. Za to spędzilbyś 10x więcej czasu na napisanie kodu. Do tego za n lat dużo łatwiej będzie Ci się połapać w kodzie Go, niż Rust. Tylko uważaj na nadmierne alokacje ze względu na GC.


W Rust bym szedł w przypadku gdy już używasz go w projekcie i miałbyś korzyści ze wspólnych crate'ów.

Zarówno @koszotorobur jak i @lurker_z_internetu mają rację z ważnych powodów, a ja bym powiedział: zobacz jaki jest koszt napisania i utrzymania takich serwerow vs koszt dostawienia większej ilości instancji, gdy napiszesz w "wolniejszym" języku ale szybciej. Może się okazać, że inwestycja się po prostu nie zwraca, a serwer możesz napisać nawet w pythonie

Zaloguj się aby komentować

W sumie ciekawe case study z #webdev #programowanie


Zwykle się nie zdarza w 2024. Ale musiałem zaimplementować obrazki na spritach jak 20 lat temu.


Problem

Mapka z polskimi herbami https://deykun.github.io/maps/heraldyka


Herbów było 2k, każdy na absolucie każdy był w osobnym src, jak się wchodziło (o dziwo na chromie o wiele gorzej niż na firefoxie) to była zawiecha na ileś sekund (potem jak się ogarnęło to już raczej działało), raport z lighthouse 3/4 się psuł przy odpaleniu i renderował się dobre 3 minuty+ (zawierał uwagi o przesunięciach w tych setkach elementów).


Dostałem nawet 2 razy bana na IP na githubie, bo 3 otwarte karty potrafiły pobrać 8k obrazków. Wspomniane tutaj.


Raport z lighthouse jest we wpisie.

18.8 sekund blokowania wątku!


Ale w sumie ciekawy kejs, bo chcemy mieć elementy w x i y i chcemy mieć to 2k obrazków.


Oczywiste nieoczywiste rozwiązania to:


  • przenieść mapkę do canvasa pozbędziemy się wtedy 2k nodów html

  • stworzyć sprite obrazków i kadrować


Co zrobiłem:


  1. Zmieniłem obrazki na webp, dodałem srcset, co poprawiło wynik delikatnie

  2. Stworzyłem canvasa (ostatecznie go nie używam na tej stronie)

  3. Do canvasa stworzyłem sprite 180 herbów na obrazek -> zamiast 2000 obrazków, pobiera ~11

  4. Wykorzystałem spritery na tej stronie bez canvasa (jako background-image)


Rezultat:

Strona się ładuje normalnie, skok z 52/100 punktów wydajności przy 2.1k herbów do 81/100 z 2.6k herbów.


Issue na githubie: https://github.com/Deykun/maps/issues/16


W sumie spoko przypadek, pierwszy raz używałem spritów i canvasa dla zwykłej i koniecznej optymalizacji.

e9181fbd-d0e0-4741-b735-eda425da0eb9
24dc7a57-1f36-45ae-8b5f-7b7bc126a79d

Zaloguj się aby komentować

Zaloguj się aby komentować

Koniec IP Box dla programistów, kancelaria premiera opublikowała projekt zmiany ustawy o podatku dochodowym gdzie znalazł się podpunkt 2.b):


zmiany w preferencji IP Box – wprowadzenie wymogu zatrudnienia,


Prawdopodobnie ma to na celu wyłączenie samozatrudnionych programistów z możliwości rozliczania się preferencyjną stawką podatkową 5%, która to została wprowadzona w 2019 roku.


Tekst projektu: https://www.gov.pl/web/premier/projekt-ustawy-o-zmianie-ustawy-o-podatku-dochodowym-od-osob-fizycznych-ustawy-o-podatku-dochodowym-od-osob-prawnych-oraz-niektorych-innych-ustaw6


#programowanie #programista15k #software #technologia #javascript #java c#

Powrót na UoP to była jedna z lepszych decyzji przy zmianie pracy. Żadnego pierdolenia się ze zmianami w podatkach, uszczelnianiem, rozliczaniem, jakimiś kontami bankowymi, żadnych umów gentlemańskich o "liczbę dni płatnych kiedy zleceniobiorca powstrzymuje się od wykonywania pracy". A idź pan w pizdu.

Zaloguj się aby komentować

Mija mi tydzień urlopu od programowania w pracy, a ja tymczasem tworzę programy na własny użytek - normalnie świetna metoda na odpoczynek(do pracy pewnie przyjdę bardziej zmęczony niż przed urlopem)


https://streamable.com/s0stha


Pierwszym z nich jest imager(kiedyś o nim pisałem) - https://addons.mozilla.org/en-US/firefox/addon/imager/

Dodałem tam opcję wyciągania wszystkich linków ze strony(działa to w ~90% przypadków) tj. obrazy, filmy czy inne odnośniki.


Potrzebowałem to głównie do cda, by wyszukać w źródłach plik z rozszerzeniem mp4, wgrać potem go na pendrive i podpiąć do telewizora

Dotychczas robiłem to ręcznie co było niepotrzebnie skomplikowane i coś co robiłem zazwyczaj w 10 sekund, zautomatyzowałem tak, że teraz trwa to tylko 2 sekundy a zmarnowałem gdzieś ze 2 godziny na pisanie tego


Drugi program to minimizer - https://crates.io/crates/minimizer

Przy zgłaszaniu błędów w różnych programach tj. ruff czy oxc, moje pliki zazwyczaj są dość duże, przez co autorzy mają problem znaleźć konkretną przyczynę/wyodrębnić problem.

Zrobiłem więc minimizer by w automatyczny sposób zmniejszać rozmiar plików, tak by ciągle program reagował na te pliki(np. by ciągle się wysypywał).

Ostatnio w bibliotece lofty znalazłem plik który przy wczytaniu wysypywał cały program i przy ~3 tysiącach prób, trwających około minut, plik został zmniejszony z ~100KB do 10 bajtów zachowując swoją początkową właściwość - czyli ciągle powodował wyspywanie się programu


Jak wspominałem to narzędzia na użytek wewnętrzny, więc jak chcecie używać to używajcie, ale nie bijcie jak coś nie będzie działało


#programowanie

@qarmin Kiedyś gdy pobierałem dużo filmów z cda i innych stron to zrobiłem coś podobnego tylko zamiast rozszerzenia do przeglądarki to napisałem skrypt do Tampermonkey który dodaje przycisk pobierz pod playerem więc w sumie jeszcze prościej i szybciej.

Btw yt-dlp potrafi pobierać też filmy z cda jak coś.

72f56121-3c19-43ee-a462-a4a9b1222d31

Zaloguj się aby komentować

Potrzebuję propozycji na technologie do stworzenia aplikacji dla backendu na serwer i frontendu na komputery i telefony zlecanej zewnętrznej firmie.


Pomagam przy realizacji koncepcji tworzenia aplikacji(mimo że akurat w powyższych tematach średnio się znam), tak by stworzona aplikacja nie kosztowała krocia, działała i by jej rozwój łatwo można było przerzucić na barki innej firmy.


Zapytania o to były wysłane do różnych firm i najczęściej polecanymi techonogiami jest nodejs na serwer, react/react native/nodejs/vue3 jako frontend dla aplikacji jak i również PWA.


Mały problem jest z tym, że akurat doświadczenie głównie mam w komputerowych aplikacjach, więc nie do końca ogarniam wszystkie plusy i minusy poszczególnych rozwiązań.


W skrócie aplikacja to powinno być kilka/kilkanaście ekranów dobijających się do serwera i tam zapisującymi/odczytującymi dane. Raczej nic zaawansowanego - przynajmniej na tę chwilę.


Co do aplikacji na serwer, to myślę że dużo lepszym pomysłem niż NodeJS jest jakaś aplikacja w rust, która zwłaszcza że z racji bycia niewielką(jedyne zadania to autentykacja i zapis/odczyt danych z bazy) nie powinna powodować problemów z długą kompilacją czy zbytnią złożonością a pozwalałaby na szybszy/prostszy deploy i inne ficzery(oczywiście jako zlecacza aplikacji mnie to niezbyt teraz obchodzi to, ale w przyszłości przy aktualizacji/migracji/problemach z wydajnością to mogłoby sprawiać problemy)


Co do aplikacji na telefony/komputer to optowałbym raczej za użyciem Tauri + ts + svelte, zwłaszcza że Tauri 2 beta umożliwia budowanie aplikacji zarówno na windowsy jak i androida.

Tutaj też zastanawiam się nad aplikacją PWA/zwykłą stroną, jednak boję się o jakieś dziwne ograniczenia typu brak możliwości odczytywania linii papilarnych, czy korzystania ze zwykłych funkcji w telefonie(nie znam się, więc to tylko przypuszczenie).

Raczej nie pchałbym się w React na windowsa i React Native na androida, bo to duplikowałoby kod a wolałbym by był on niemal wspólny na tych dwóch systemach, różniący się jedynie rozmieszczeniem elementów na ekranie, a nie technologią


Jest sens się pchać w te technologie, czy może inne byłyby lepsze?


#programowanie

@qarmin Skoro ogarniasz Rusta to może na front zobacz to, ostatnio mi się obiło o oczy: https://dioxuslabs.com/


A co do backendu to jeżeli to ma być coś małego i z niewielkim ruchem to imo Node.js + jakiś fajny framework (typu Fastify, Nestjs albo Hono) będzie idealny i nie sądze żeby napisanie tego w Rustcie cokolwiek ułatwiło.

@Catharsis @wombatDaiquiri

Może nie napisałem tego dość jasno ale to nie ja będę pisał aplikację, tylko będę ją zlecał do zrobienia, więc to co ja znam i w czym mogę pisać jest niezbyt przydatne.


Ja jako osoba techniczna, mam za zadanie jedynie pomóc znajomym by przypadkiem zewnętrzna firma nie szła w kierunku nadmiernych wydatków (np. dwóch aplikacji zamiast jednej) czy też użycia technologii niedopasowanych do wymagań/niemodernizowalnych, których używają od dawna i nie chce im się niczego zmieniać(bo np. póki co wszystko działa).


Dioxus raczej odpada, bo nie widziałem by ktokolwiek go używał i wydaje się trudniejszy niż tauri.

@qarmin nie ma czegoś takiego i nie polecam cudować. Node + React / React Native powinien wystarczyć. Tak naprawdę robienie znajomego w chuja będzie raczej polegać na pisaniu chujowego kodu albo niedostarczeniu funkcjonalnosci w terminie.


Wycudowana technologia tylko utrudni znalezienie kogoś kto będzie chciał to ugryźć.

Tauri??


Chopie, kto ci to utrzyma?.


Node.js na serverze, react/next.js na apce webowej ktora bedzie zoptymalizowana na telefony.


Wszedzie JS, technologie ktore zna wiele osob + dosyc latwy stack. Rust jest spoko, ale wez znajdz ogarnietych specjalistow od reki, a w razie jak aktualni programisci zrobia "pa, pa" to szybko ich podmien.


Chociaz przy reactie sie nie upieram bo ostanie zmiany ida w zlym kierunku. Powoli mysle czym zastapic react.

@666 W jaki sposób React idzie w złym kierunku? Serio pytam bo nie widziałem osoby która nie cieszyłaby się na wieści o nowych zmianach które wejdą w następnej wersji Reacta lol

@Catharsis odpowiem ci z mojej perspektywy. Robie Backend w node.js, ale ogolnie jestem Fullstackiem. Raz na 100 lat cos na FE zrobie. Co siadam do UI w reactie (w ramach taskow w robocie) to sa grube zmiany, glownie w sposobie managementu stanu i sposobu w jaki stan zmienia UI. Zobacz jaka droge przebyl React:


  • stan w storze przekazywany w props'ach (moze byc to redux). Dodatkowo stan "this.state" ktory uj wie do czego jest. W tej wersji reacta, masz metody lifecycle w ktorych robisz duzo if'ow w ktorych sprawdzasz czy w propsach juz sa dane ktore fetchowales. No lipnie sie to pisalo

  • nowosci: fuction components. Ulatwilo zycie i otworzylo droge do hookow. No ale state w propach juz tutaj nie pasuje, wiec dodajemy contexty - kolejny sposob przechowywania stanu. Czyli mamy contexty, this.state, propsy i pewnie cos jeszcze....

  • na dobre wchodza hooki. Zupelnie zmianiaja sposobw w jaki zmianiamy UI za pomoca stanu. Na tym etapie Ktos kto pisal kod w reactie 2-3lata temu kompletnie nie wie co sie dzieje. Hooki fajne ale duzo rzeczy jest niejawnych, jak np nazwy hookow, trzymanie ich stanu itp - duzo rzeczy trzeba miec w pamieci bo z kodu tego nie wyczytasz. Ogolnie to powinna byc pierwsza wersja reacta w mojej opinii

  • hooki sa passe, tera beda signals'y - kolejna gruba zmiana, kolejny sposob managementu stanu, nie dokonca chce mi sie nawet w to zaglebiac i mysle juz o jakims innym frameworku


Takze programisci core'a reacta sami nie wiedza jak zarzadzac stanem apki, to ja mam wiedziec? Nie wiedza w jakim kierunku ma isc react na co najlepszym przykladem sa sygnaly zgapione od angulara bo taka moda.

Zaloguj się aby komentować

Zaloguj się aby komentować