Zdjęcie w tle

Społeczność

Programowanie

1k+

@LM317T jest popyt, jest podaż. Istnieją (głównie starsi) programiści którzy nie znają angielskiego. Fajnie, że ktoś tworzy kursy w ojczystym języku, niech zagraniczny kapitał inwestuje w rodzimych twórców

"na kursie dowiesz się zrobić jak zrobić (...)" - tego się akurat nie dowiesz.

Pełen opis szkolenia jest na https://aidevs.pl zakładam, że go widziałeś.


Przykro mi, gdy mówisz, że 5-tygodniowe warsztaty prowadzone z dwoma trenerami na pewno będą gorsze od nieco ponad 500-sekundowego filmiku na Youtube. Nie wiem skąd to założenie (nie znając nawet agendy).


Rozumiem, że chcesz mi dokopać i w jakiś sposób poniżyć. OK, dokopałeś, poniżyłeś, więc możemy iść dalej.


Nie mam Ci tego za złe - jesteś po prostu jednym z tysięcy osób, które w ten sposób mnie traktują. Przywykłem.


Życzę Ci odnalezienia wewnętrznego szczęścia i spokoju, które odwiedzie Cię od obrażania losowych ludzi w sieci.

Ta droga prowadzi donikąd

Zaloguj się aby komentować

@slime-mold o Hui... Ale mamy wysyp ludzi co się za dużo naoglądali wykładów ewangelistów na jutubie... Co do zasady jak ktoś się nie zna to Ci odpowie z miejsca tak albo siak, bez kontekstu (szansa na sukces 50%) Jak ktoś będzie na tyle doświadczony, że się szczai że się jeszcze nie zna, ale lubi się wypowiedzieć to Ci będzie próbował sprzedać na 10 sposobów sentencje "to zależy" tak żeby to wyglądało mądrze, ale broń Boże nie mówiąc dlaczego i od czego to zależy... Ewentualnie Ci powie, że nie jest fanem koncepcji ogólnie - o co nikt nie pytał... I oczywiście stwierdzenie to będzie poparte dokładnie niczym, mimo że dla rzeczowości wymaga jeszcze więcej komentarza niż do po rzygu oklepane "to zależy" ...

<br />

Wracając do twojego pytania:


Co do zasady jeśli nie istnieje żaden imperatyw techniczny za takim podejściem to w środowisku mikroserwisowym serwer danych i event listener nie powinny być nigdy w jednym serwisie, a nawet w jednym codebase. To są dwie skrajnie niepodobne w naturze funkcje korzystające z reguły z zupełnie innych technologii. Jeśli nie istnieją jakieś bardzo specyficzne przesłanki to powinny żyć oddzielnie, chyba że:


  • system jest na tyle prosty i wydajny w odniesieniu do obciążenia, że nie ma po co robić mikroserwisów i lepiej zrobić monolit

  • system jest w fazie prototypownia albo dzielenia monolitu i na te chwile wygodniej mieć to razem trzymane bo obie funkcje biją w tę samą bazę

@slime-mold Jak robisz u siebie to daj dwa osobne, a jak u obcego to w jednym. Ja nawet u siebie dałem w jednym. #pdk Jeśli masz dwa systemy np. serwer http z API aplikacji oraz eventy np. wysyłające maile a między nimi kolejkę, to czy wywalenie się API może blokować wysyłanie skolejkowanych maili? A gdybyś chciał dodać kolejny serwis http z panelem administracyjnym to wolałbyś robić wysyłanie maili 2 razy czy podpiąć ze sobą nowy http z istniejącymi eventami do wysyłania maili? Agile działa tak że nie tworzysz architektonicznego molocha przewidując wszystkie możliwe przypadki rozwoju oprogramowania, tylko iteracja po iteracji refaktorujesz to co potrzeba jak zmieniają się wymagania. Także jeśli na razie eventy te będą wykorzystywane z jednego miejsca to niech tak zostanie, może nigdy nie trzeba będzie tego zmieniać. Ale jeśli istnieje dość duże prawdopodobieństwo że będzie inaczej (jak w przykładzie z mailami) to dawaj od razu w osobnym mikroserwisie.

Zaloguj się aby komentować

Posiadam program napisany w QML i typescript w którym to z poziomu QML wywołuję funkcje typescriptowe.


Po stronie QML jest coś takiego


f.findSomething(undefined)


a w typescript coś takiego


export function findSomething(what: string) {


if (what == "LEFT") {


return true;


}


return false;


}


widać że funkcja oczekuje stringa a wrzucany jest do niej undefined, którego się nie spodziewa, ale też żaden błąd typu nie wyskakuje, bo przy konwersji do javascript typy są zapominane.


Walidacja pojedynczo parametrów na początku funkcji odpada, bo funkcji jest po prostu zbyt dużo i bardzo łatwo jest o pomyłkę a i zmiany parametrów funkcji byłyby bardziej problematyczne.


Myślałem nad może jakimiś wraperami na funkcje, które automatycznie weryfikowałyby typ(nie wartość) np.


@verifyParamsInRuntime


export function findSomething(what: string)


który by się konwertował na taki kod


export function findSomething(what: string) {


console.assert(type(what) == "string")


#programowanie


#typescript


#webdev

Dokładnie tak, typeof what === 'string'


A jeżeli chcesz coś mega pro co nie przepuści żadnego stringa to:


function isString (what: unknown) {

return (Object.prototype.toString.call(what) === '[object String]');

}


Różnica jest taka, że gdy 'what' zainicjujesz w ten sposób: "let what = new String('LEFT') to pierwszy sposób zwróci false, a drugi true


function isString (obj: unknown) {

return (Object.prototype.toString.call(obj) === '[object String]');

}


let x = new String('some txt');


console.log(typeof x === 'string') // false

console.log(isString(x)) /// true

Zaloguj się aby komentować

#programowanie #finanse #banki #technologia


TL;DR: Kojarzycie może jakiś w miarę zaufany bank, który udostępnia dostęp do "api konta bankowego", żeby można było zlecić przelew (albo przygotować koszyk przelewów)? Potrzebuję rachunku firmowego w PLN i USD (JDG) oraz prywatnego. Nie musi być opcji płacenia kartą, blikiem, czymkolwiek podobnym - wystarczy przelew, od płacenia na co dzień mogę mieć normalne konto.


Problem: w dorosłości okazuje się, że jest dużo "nudnych akcji do wykonania co miesiąc". Sprawdzić rachunki za gaz, czynsz, kredyt, nadpłata kredytu, subskrypcje, netflixy, serwery, pudełka.


W skrócie - z roku na rok coraz więcej czasu psu w d⁎⁎ę. Myślę, że spokojnie w miesiącu zajmuje mi to dwie godziny. To są 24 godziny, czyli dodatkowy "dzień wolny w roku" na hobby, spanie, cokolwiek. Do tego doliczyć to że się stresuję że czegoś nie ogarnąłem i zastanawiam się nad tym o czym zapomniałem zamiast zastanawiać się nad faktycznym działaniem które miałem w danej chwili wykonywać (zarówno pracą jak i hobby). No i najłatwiej mi chyba będzie się uspokoić jak sobie napiszę programik do tego, bo jestem w stanie go lepiej przetestować niż moją pamięć xD


Zdaję sobie sprawę, że pewnie niektórym łatwiej byłoby to załatwić terapią, ale staram się wykorzystywać w życiu moje silne strony.

@wombatDaiquiri nie dobierzesz sie do API oficjalnie bez zostania TPP w EU (wg dyrektywy PSD2) lub w UK (przez ichniejszy Open Banking). TPP możesz zostać w dowolnym kraju EU, nie musi być to Polska. Zatwierdza to wtedy KNF lub regionalny odpowiednik (np. FCA w UK). Oczywiście zostanie TPP to dużo papierow i certyfikacji, bo otwiera to drogę do dealowania z bardzo wrażliwymi danymi oraz płatnościami - raczej trochę za dużo roboty na side project


Opcja naokoło to reverse engineering strony internetowej lub aplikacji bankowej. Robili to kiedyś np. Kontomatik lub Tink. Mniej papierologii ale wcale nie jakoś mniej roboty.


Trzecia opcja to uzycie uslugi ktora jest dedykowana opłacaniu rachunków automatycznie - kiedyś w Polsce robił to Billtech, ale chyba sprzedali się ING albo Aliorowi. Nie świruj i znajdź sobie coś podobnego


PS. o ile dobrze kojarze to możesz uzywać Tinka jako JDG i korzystać z API pod ich licencją TPP (nawet jeśli nie posiadasz własnej). Oczywiście nie za darmo i nie bez weryfikacji

Zaloguj się aby komentować

@Suodka_Monia a jak odznaczysz "ustaw czas automatycznie" i ponownie zaznaczysz, to się nie zsynchronizuje? U mnie czasem tak dziala

@Suodka_Monia mało prawdopodobne, że to ten sam powód, ale u mnie był problem z synchronizacją przez dostawcę internetu - blokował port synchronizacji czasu. Po podłączeniu komputera przez udostępnione połączenie z telefonu zsynchronizowało czas od razu.

Zaloguj się aby komentować

Zaloguj się aby komentować

Dwaj znajomi z byłej pracy będą dziś mieć sytuację absolutnie jak z tego mema.


(Nazwijmy go) Andrzej pisze mi właśnie, że też odchodzi z firmy, którą opuściłem jakiś czas temu i przechodzi tu, gdzie teraz pracuję. Dziś będzie informował o tym swojego przełożonego (nazwijmy go) Mateusza.


Jestem w stałym kontakcie tak z Andrzejem jak i Mateuszem i stąd wiem, że Mateusz też właśnie przenosi się tu gdzie ja teraz pracuję, tylko jeszcze nikomu nic nie powiedział.


Chciałbym zobaczyć ich rozmowę na żywo.


#programista15k

13f0b808-a7c0-4e41-81df-61eea5807c1c

@RobertCalifornia myślenie życzeniowe. 5 lat temu to dobrze było 6-8 i wszyscy śmiali się z naganiaczy co krzyczeli tylko żeby pompować rynek a z tymi 15k kończyło ile, z 10%?

Głupoty gadasz

@RobertCalifornia to u mnie Kasia poszła do swojej szefowej powiedzieć ze jest preggers bo my wpadli a szefowa tez już była preggers i miała nadzieje ze Kasia ja zastąpi jak będzie na macierzyńskim.....

@RobertCalifornia Mialem bliźniacza sytuacje kilka lat temu i mogę od siebie powiedzieć ze decyzja cieszy tym bardziej, jak dodatkowo się dowiesz ze ktos z obecnej firmy lub teamu, przechodzi w to samo miejsce co ty. Jeśli jeszcze dodatkowo miałeś świetny kontakt z ta osoba to zawsze kilka znajomych twarzy w nowej firmie dodaje otuchy. Gratulacje dla kolegów 🖖

Zaloguj się aby komentować

Macie jakieś linki do repozytoriów z projektów które mają bardzo dobrze zaprojektowaną i zaimplementowaną architekturę/wzorce projektowe? Najlepiej małe/średnie projekty w PHP ale może być w sumie też Python, Java, od biedy C#. Z góry dziękuję i proszę o pioruny dla zasięgu

cb9f2a82-b4c4-4008-8dc4-bd09c667f419

Zaloguj się aby komentować

@LM317T obejrzałem na razie tylko początek, ale nie nazwałbym tej rozmowy "typową" przynajmniej jak na stamdardy z jakimi ja sie spotykałem. IMO rozmowa wyglada na bardzo dobrą, sprawdza praktyczne podejscie do problemu, i jeszcze jest bardzo interaktywna, ale tak jak mowie, obejrzałem dopiero 4 minuty.

@LM317T stałem sie ofiarą primaaprilisowego fortelu xD ogólnie wydaje mi sie ze pytania byłyby spoko dla juniora, ale babeczka jakoś zbyt zwinnie sobie z tym radzi xD podoba mi sie idea zadawania tych samych pytań niezależnie od levelu stanowiska, ze świadomością że odpowiedź juniora będzie całkowicie inna niz mida czy seniora

Zaloguj się aby komentować

#rust #golang #linux


Zbliża się nowy projekt i nie mogę się zdecydować czy wybrać Rust czy iść w Go. Go znam dość powierzchownie. Napisałem kilka małych CLI i jeden hobbistyczny backend. Rust nie znam w ogóle ale przyciąga mnie ten borrow checker. Będzie to projekt sieciowy wiec i latency musi być dość małe oraz memory footprint będzie również ważna częścią projektu. Wiem ze cilium ma liba do eBpf który jest dość dobrze sprawdzony. Czy Rust ma tez jakiś dobry odpowiednik? Projekt będzie działał bardzo blisko kernela linuxowego wiec to tez jest bardzo ważne.


Jakie macie doświadczenia z Rust? Stabilnośc języka i bibliotek? Mam nadzieje ze jest o wiele lepiej niż w Nodeland gdzie 80% to śmieci albo porzucone projekty.


Dzięki 🖖

Zaloguj się aby komentować

@rayros Napisałem kiedyś autorską apkę dla ojca, która co miesiąc automatycznie generowała pdf na podstawie danych z bazy i wysyłała pod odpowiedni email. Jakby ją trochę zmodyfikować to spełniłaby również Twoje potrzeby. Cho na priv jakbyś był zainteresowany.

Zaloguj się aby komentować

Chciałbym sobie stworzyć aplikacje do łączenia się z innymi komputerami poprzez vnc w pracy. Mamy teraz zwykły plik .bat, ale sam dla siebie w ramach nauki chcę zrobić coś lepszego. Moje pytanie to w czym najlepiej byłoby to zrobić?

Początkowo użytkownik wprowadzałby linie/komputery i generowałby się dzięki temu graficzny podgląd (jakiś szablon excelowy lub plik txt? Chodzi o kilkadziesiąt komputerów dla kilku/kilkunastu linii).

#programowanie #python

@NieLubiePomidorow O co dokładnie pytasz bo nie do końca rozumiem. O stworzeniu jakiegoś graficznego interfejsu do tych komend które używasz?

@lipa13 Chodzi mi o apke, w której po odpaleniu pokaże mi się lista nazw komputerów i po kliknięciu w nazwę połącze się z nim zdalnie przez vnc. Teraz mamy zwykły plik .bat a chciałbym sobie stworzyć apke do tego. Czyli odpalam apke, wyszukuje odpowiedni komputer, klikam np. w przycisk 'połącz' i za pomocą vnc odpala się podgląd.

@NieLubiePomidorow Jeśli to tylko do zabawy to możesz skorzystać z PySimpleGUI do stworzenia UI i pyinstaller do upakowania tego w .exe Ale jak mówię, to libki bardziej do domowych zastosowań - w komercyjnych projektach są zbyt prymitywne. Chociaż ja polecam ich znajomość dla samego siebie - często piszę jakieś web-scraperry i fajnie jest móc dorobić do tego UI w godzinkę czy dwie.


Z poziomu UI stworzonego w PySimpleGUI bez problemu możesz wywoływać funkcje pythona uruchamiające inne procesy systemowe.

Zaloguj się aby komentować

Zaloguj się aby komentować

#programowanie #github #python


Uczę się po godzinach trochę programować.


Mam konto github, którego używam jako nośnika moich kodów.


Na głównym komputerze oraz na laptopie mam Visual Studio Code.


Github jest mi potrzebny, bo nigdy nie wiem na którym z dwóch komputerów będę mógł pisać - na głównym lub (w zastępstwie) laptopie, gdy żona ma jakąś robotę i główne biurko okupuje.


Udało mi się założyć repozytorium dla jednego z projektów, które się automatycznie zapisuje na githubie z poziomu obu komputerów. Dla obu musiałem utworzyć klucze ssh z pomocą jakiegoś poradnika z YT.


https://youtu.be/yYknmU_gBgs


PYTANIE - chcąc założyć drugie repozytorium, gdzie będę pisał osobny kod (w praktyce na obu komputerach osobny folder) - czy muszę mieć osobny klucz ssh do tego repozytorium?


Czy ssh dotyczy komputera jako urządzenia, czy projektu?

@yourij Klucz publiczny w Githubie odnosi się jedynie do plika z kluczem prywatnym na komputerze. Jeśli nie mieszasz nic w kluczach/nie tworzysz nowych/nie modyfikujesz starych, to powinno działać to od razu w każdym projekcie

@yourij Klucz SSH to tak jakby Twój dowód osobisty, i potwierdzenie przed GitHubem że Ty to Ty. Skoro masz go poprawnie skonfigurowanego na GitHubie wzgledem obu komputerów, to możesz teraz trzaskać nowymi repozytoriami aż będzie huczało

@yourij Jak na przyszłość będziesz debugować takie rzeczy to spróbuj komendy ssh [email protected]. Powinieneś dostać informacje zwrotną że wszystko OK, ale w razie gdyby nie, to wystarczy że będziesz doklejał flagi -v aż nie znajdziesz czegoś przydatnego (np ssh -vvv [email protected] oznacza "very very verbose" czyli dużo informacji dokleja xD)

@krokietowy @Barcol


dobra... nie wiem, co zrobiłem ale starą metodą zacząłem wklejać losowe linie kodu w termial i w końcu zatrybił

Zaloguj się aby komentować

#programowanie


Po jakim czasie przestaliście się przejmować tym, jak bardzo ch⁎⁎⁎wy kod jest na produkcji?


Pracuje dopiero pierwszy miesiąc, i za takie gówno które odsyłam mam ochotę samego siebie ukrzyżować

@redve po prostu nie akceptuj i nie pisz gówno kodu na odpierdol, co się daje to rewaloryzując nie zapominając o testach. Gorzej jeśli jakiś baran pisze pliki po 1k linijek kodu, w zależności od języka warto też doda lintery które będą pilnować podstawowych przyjętych zasad.

@redve to zalezy jak szybko chcesz zmienic prace. Ja nie lubie skakac co roku - i tak w moim wieku juz coraz ciezej nauczyc sie nowych rzeczy na perfa, tak wiec przejmuje sie kodem. Inna sprawa tez zawuwazylem, ze kod mniej ch⁎⁎⁎wy wychodzi jak znasz szerszy obraz projektu. Wiesz - jakas funkcje dopisac czy cos tam zalatac to spoko, ale jak wiesz, ze pozniej bedzie trzeba jeszcze wiecej rzeczy dorobic - to raczej staralbym sie nie pchac do repo / na produkcje balaganu

@redve a wiesz dlaczego tak jest? Bo można…. Użytkownik jest się w stanie do wszystkiego przyzwyczaić. Program przestał działać? Zrestartuj…

Błąd na stronie? Odśwież…

Działa wolno? Zmień telefon/laptopa…


No one cares…


Technika poszła do przodu, pamięć jest relatywnie tania. Kod może dużo ważyć i być pisany w językach, które same z siebie są dosyć ciężkie. Ograniczenia sprzętowe nie są już dużym problemem. Brakuje zasobów? Można postawić kolejną instancje EC2…


W większości przypadków nie ma już potrzeby oszczędzania zasobów czy pisania wydajnego kodu.


Z jednej strony znak czasów i dużego poziomu informatyzacji (więc deweloperów ma być dużo, więc i średnia jakość kodu spada). Z drugiej strony jest to przerażajace z perspektywy użytkownika - oprogramowanie samolotów (niedawna afera z Boeingiem 737 MAX), autonomicznych aut….


Bardzo w tej kwestii podoba mi się poniższy artykuł. Daje do myślenia:

https://tonsky.me/blog/disenchantment/

@tegie bo:

  • usługi programistów są drogie

  • klientów nie stać na płacenie tyle, ile by powinna kosztowac aplikacja, której by chcieli, więc idą software housu, który zrobi im to taniej (i gorzej)

  • na rynku brakuje midów/seniorów, w związku z czym obecni midzi/seniorzy są zawaleni robotą i często podejmują decyzję o redukcji ilości testów

  • plus często za aplikacje biorą się juniorzy, którzy nie mają odpowiedniego mentoringu, więc ilość bugów się mnoży

  • plus jeszcze to, ze ze wzgledu na łatwość podmiany plików, istnieje pewna tolerancja na chujozę w kodzie. Kiedys jak cos wypusciles, to jak nie dzialalo dobrze, to dupa - juz sprzedałes 1202412 płyt z oprogramowaniem i zepsules sobie reputację. Dzisiaj w kazdej chwili mozesz podmienic pliki i albo pobiora sie automatycznie bez wiedzy usera (web), albo mozna wymusic pobranie łatki i ją zainstalować w kilka sekund

@Flaaj owszem, nie twierdze że powody wynikają tylko z niedbałości i nieudolności.

Poniekąd o braku seniorów wspomniałem (duże zapotrzebowanie na software sprawia, że jakość usług średnio maleje - miałem na myśli właśnie niewystarczającą liczbę seniorów i pisanie kodu przez mniej doświadczonych devów).


Co nie zmienia faktu, że duża cześć sortu jest pisana niedbale. Bo czas programisty jest więcej warty, niż jakość. Bo w świecie clouda mamy teoretycznie nieograniczone skalowanie, a zasoby są relatywnie tanie.

Bo stosowane są języki i frameworki obarczone sporym narzutem i przez to mniej efektywne.

W końcu też dlatego, że duża cześć seniorów robi po godzinach własne fuchy. Żeby nie było, nie mam nic przeciwko. Ale takie zlecenia robi się szybko, często powielając te istniejące „niewydajne” schematy, bez zmóżdżania się nad wydajnością.

Ostatecznie cierpi użytkownik końcowy, który de facto i tak nie ma wyjścia, bo podobny trend jest niestety powszechny.


Jeszcze inny powód - brak znajomosci backendu. Miałem w pracy taki przypadek wiele lat temu. Zewnętrzna firma pisała oprogramowanie, które miało wykonywać specyficzne zadania na backendzie (harware, db, różne OSy, wirtualizacja itd.). Wizualnie było ładnie i działało szybko przy małej skali. Gdy skala wzrosła, program zaczynał dostawać czkawki. Czkawki wystarczającej by produkt nie był użyteczny do celów komercyjnych (rozwiązanie wymagające bardzo małych opóźnień). Wszystko wynikało właśnie z niewystarczającej znajomosci wszystkiego co pod spodem (we współpracy z tą zewnętrzną firmą analizowałem ich kod i algorytmy, było tam bardzo dużo… „oryginalnych”…. rozwiązań ).

Zaloguj się aby komentować

Jest ktoś tutaj kto ma IP BOX? Interesuje mnie jaki macie współczynnik nexus, jestem w trakcie wyliczania i chciałbym mniej więcej mieć punkt odniesienia.


#ipbox #programowanie

Zaloguj się aby komentować

Hej. Czy ktoś orientuje się ile kosztuje stworzenie apki (android ios)?


Apka randkowa cos ala tinder.


I ile by kosztowało miesięcznie utrzymqnie tego?


#pytanie #kiciochpyta

Przy wymaganiach, które podałeś myślę, że koszt mieści się w widełkach od 0 zł (jak nie robisz sam, tylko zlecasz to od 25k) do ∞ zł

@Kubilaj_Khan Mogę Ci to naklepać we flutterze za 5k, utrzymanie 100zł/mies. Tylko powyżej 60 userów jednocześnie serwer się będzie wywalał, będzie tylko kilka podstawowych opcji, prosty match-making i wyświetlanie reklam. No i appka będzie działać tylko w europie.

@Vuaaas chciałbym bez reklam z prostą obsługą. Darmowy z płatnym premium.

Nie robię sobie jaj, pytam poważanie. Do tego jakiś algorytm dopasywujacy użytkowników no i działanie na calym świecie (obsługa wielu języków).


Serio nie jestem z branży. Nic o niej nie wiem.

@Kubilaj_Khan trochę jak Ci ludzie z Kuchennych Rewolucji, którzy nie mając pojęcia o branży, ot tak z dupy wpadają na genialny pomysł na kupno restauracji. A potem zdziwienie, jak to mogło nie wypalić

@Asu no nie mogę powiedzieć bo mam parę fajnych pomysłów. Jeszcze ktoś mnie ubiegnie. Byłoby to coś innego od tych najpopularniejszych na rynku.

Zaloguj się aby komentować