hotshops_plKosmonauta
5piorunówEbook Java for Dummies za DARMO
https://hotshops.pl/okazje/darmowy-ebook-java-for-dummies-8th-edition-za-darmo-25869
Cena: DARMOWE
#cebuladeals #programowanie #java #promocje #zadarmo

hotshops_plKosmonauta
5piorunówEbook Java for Dummies za DARMO
https://hotshops.pl/okazje/darmowy-ebook-java-for-dummies-8th-edition-za-darmo-25869
Cena: DARMOWE
#cebuladeals #programowanie #java #promocje #zadarmo

RobertCaliforniaGruba ryba
4piorunówAle to wszystko j⁎⁎⁎ie. Już 46% kodu na #github tworzone jest z użyciem #copilot #ai (a jeśli chodzi o #java jest to 60%). Tylko czekać jak wszyscy zostaniemy pastuchami robotów, z progiem wejścia do zawodu (a więc i wynagrodzeniami) na poziomie bardziej ogarniętego technologicznie pastucha świń.
https://github.blog/2023-02-14-github-copilot-for-business-is-now-available/

MokebeTestoKompan
2piorunówPraca dla studenta informatyki ostatniego roku studiów kilka lat temu - google, intel, jak ktoś nie miał umiejętności to comarch. Staże na każdym kroku. Poziom wejścia do branży - ujemny, kto chciał pracować w IT to pracował, wsparcie rynku oraz głodnych firm było nieograniczone
Praca dla studenta dziś - holandia magazyn, sprzedawca w żabce, korpokołchoz i odpisywanie na maile. Poziom wejścia do branży - możliwy tylko teoretycznie, dla najlepszych z najlepszych. Gatekeeping odwrotnie proporcjonalny do ilości ofert kierowanych dla osób bez doświadczenia komercyjnego.
MokebeTestoKompan
1piorunówPOV: będąc jednym z najlepszych na 3 roku informatyki, mając kilka projektów aplikujesz na praktyki:
Studia produkujące bezrobotnych w 2012: Filozofia, socjologia, europeistyka
Studia produkujące bezrobotnych w 2023: Informatyka

UnknowFenomen
14piorunówREST API - mini kurs :onion:
Michał Gellert przygotował mały, skondensowany kurs wprowadzający w tematykę budowania API REST-owego.
➤ https://sklep.mikr.us/cart/clear/add_product/7639
O co w tym chodzi, jakie są założenia takiego API, jak to powinno być zaimplementowane itp. Są to 3 wideo-lekcje, trwające łącznie 19 minut (stąd 'mini kurs') + transkrypcja wszystkiego.
W ostatniej lekcji Michał pokazuje, jak omawianą wiedzę można wprowadzić w życie z użyciem języka JAVA i frameworka Spring.
Kurs dostępny jest w modelu "zapłać ile chcesz", ale za darmo, to także uczciwa cena, więc jeśli masz ochotę, to możesz przycebulić i po prostu sobie ten kurs wziąć :man-shrugging:

programming4youKompan
61piorunówCześć wszystkim,
pojawiliśmy się na Hejto i robimy #rozdajo naszego kursu programowania - macie pierwsze dwa tygodnie, a jak robicie zadania, to pierwszy miesiąc za darmo. W tym macie dwa wykłady tygodniowo i tyle konsultacji, ile chcecie. Sprawdzamy Wasze zadania i pomagamy na każdym kroku. Potem jak będziecie mieli ochotę, ale dla nas liczy się przede wszystkim, że nauczycie się czegoś nowego :smiley:
Od początku stawiamy na podejście "bez ściemy", nikomu nie gwarantujemy, że "zostanie programistą", że będzie miał "gwarancję zatrudnienia" i tym podobne. Uważamy jednak, że super jest zacząć, a z nami jak macie okazję spróbować za darmo, to już w ogóle :smiley:
Przy okazji bylibyśmy wdzięczni za polubienie naszego fejsa: https://www.facebook.com/programming4youpl oraz na stronę https://programming4you.pl gdzie możecie dowiedzieć się więcej.
Jeśli macie jakieś pytania odnośnie kursu, programowania, kariery w IT, uderzajcie śmiało!
Losowanie w piątek wieczorem.
#programowanie #naukaprogramowania #pracait #java #python

MokebeTestoKompan
1piorunówPOV: jesteś studentem trzeciego roku inforamtyki z kilkoma projektami na githubie i właśnie wysłałeś CV na praktyki.

toordDebiutant
1piorunówHejtownicy potrzebuje małej podpowiedzi bo nigdzie nie mogę znaleźć satysfakcjonującej odpowiedzi.
Mam projekcik w któym mam encję która ma 11 pól i ostatnie pole jest plikiem pdf. W jaki sposób prawidłowo powinienem przechowywać w DB dokument? Czy mam zakładać jakąś bazę plikową czy może przechowywać ścieżki na AWS (nigdy nie miałem doczynienia z tym).
Technologie Java, spring, mysql
MokebeTestoKompan
2piorunówBranża parę lat temu: otwarci ludzie, dużo ofert, studenci przyjmowani do pracy
Branża dziś: Brak ofert dla studentów, gatekeeping, oferty wyłącznie dla osób z doświadczeniem
MokebeTestoKompan
2piorunówUwielbiam te zdjęcia zamieszczane na stronach firm technologicznych. Wszędzie tylko "dołącz do nas" i zdjęcia młodych ludzi. A w rzeczywistości nie mają w ogóle żadnych ofert dla studentów bez doświadczenia komercyjnego, a 90% stanowisk jest dla seniorów. Ciekawe skąd oni biorą tych studentów - seniorów javy aby zrobić im to zdjęcia. W międzyczasie kiedy oni biorą kolejne obrazki ze stocka, studenci informatyki ostatnich lat muszą robić na gównianym stanowisku w korpo albo jechać na magazyn do holandii.

ujdzieTwórca
4piorunówJetBrains soft do automatyzacji testowania wypuścił w wersji beta - JetBrains Aqua. Bawił się ktoś tym już? Jakieś opinie?
Zajawka wygląda obiecująco
https://www.youtube.com/watch?v=z7Yjl2Agrwg
#jetbrains #testowanieoprogramowania #programowanie #javascript #java #python #kotlin

@ujdzie bawię się tą betą od kilku miesięcy. Jak dla mnie to ma to te same funkcje jak wtyczka testów to wersji ultimate
JiraTytan
1piorunówHalko. Jest na pokładzie ktoś kto ma trochę wolnego czasu i chciałby pomóc w jakichś prostych zadaniach w javie? Odpłacę się jakąś dobrą szamką z pyszne peel
@Jira a ChatGPT?
@Jira To całe zadanie? Nie możesz po prostu użyć bubble sorta?
YeboyDebiutant
1piorunówCześć.
Chciałbym Was zapytać o jedną dość laicką kwestię.
Studiuję sobie trochę jak Spring działą pod spodem i ogólnie budowanie appek pure MVC / RESTful.
Ciekawi mnie jedna kwestia. W momencie kiedy tworzymy powiedzmy apkę opartą o architekturę czysto MVC, czyli mamy:
- Model (dane),
- View (JSP lub jakieś zewnętrze biblioteki np. Thymeleaf etc.)
- Controller (tu ogarniamy dane z modelu i przesyłamy te dane wraz ze wskazanie, który widok ma być wyświetlony).
Załużmy, że używamy Spring Boota ze starterem web, który konfiguruje Nam:
- DispatcherServleta (nie musimy mapować serwletów, wkazywać root configuracji itp.)
- ViewResolvera
+ nie musimy generalnie config klasy dowozić wraz z @EnableWebMvc, @ComponentScan, @Configuration itd.
Jeśli używamy Spring Bootowej domyślnej auto-konfiguracji to odpada Nam tworzenie beanów itd.
Spring Boota ma wbudowany kontener servletów Tomcat, więc to również Nam odpada + mamy spakowane dependencje w startery.
Świetnie. Teraz załużmy, że startujemy Naszą apkę. Mamy napisane wszystkie warstwy MVC.
Nasza apka jest z automatu deployowana jako war na serwer Tomcat.
(Wiem, że Spring Boot ogarnia większość tych rzeczy sam, ale żeby zadać odpowiednie pytanie, muszę to jakoś opisać ( ͡o ͜ʖ ͡o) )
Ok, to lecimy.
- User wysyła requesta
- Nasza apka odbiera requesta, zczytuje konfigurację z web.xml lub java-based-config.class gdzie skonfigurowany jest DispatcherServlet.
- Teraz ten DispatcherServlet (innymi słowy Front Controller) tworzy tzw. WebApplicationContext container (ten kontekst rozszerza ApplicationContext) z pliku, który w XML musi wyglądać następująco "nazwaServletu-servlet.xml" np. "frontcontroller-dispacher-servlet.xml". W tym pliku konfiguracyjnym wskazujemy ścieżkę do zeskanowania, w której będziemy trzymać klasy z adnotacją @Controller. W momencie kiedy taka klasa zostanie znaleziona, to trafia do wspomnianego kontenera.
- teraz powiedzmy, że user wykonał rządanie pod adresem /test.com/hello. Ścieżka w pliku konfiguracyjnym web.xml była następująca /test.com/*, a więc ten adress łapie się w zakresie danego DispatcherServleta. Jeśli się łapie, to uderzamy do konfiguracji dispachera, czyli pliku "frontcontroller-dispatcher-servlet.xml". W tym pliku jak już wyżej wspomniałem mamy ścieżkę, która jest skanowana pod kątem klas z @Controller.
- teraz tzw. Handler Mapping znajduje pasujący controller na podstawie URL i tak jakby zwraca go z powrotem do DispatcherServletu.
- teraz tzw. Handler Adapter egzekwuje/wywołuje logikę biznesową wewnątrz controllera.
- controller woła serwis
- serwis woła warstwę DAO
- DAO łączy się z baza danych i lecimy z powrotem do góry
- DAO -> service
- service -> controller
- controller -> Handler Adapter
- Handler Adapter -> Dispatcher
- teraz na podstawie zwróconego ModelAndView (lub samego Stringa wskazującego na nazwę widoku) Dispatcher komunikuje się z tzw. ViewResolverem.
- ViewResolver znajduje po prefixie i sufixie odpowiedni View i zwraca lokację widoku do Dispatchera
- Dispatcher znając lokację docelowego widoku przesyła do niego model (dane) i następnie ten widok jest zwracany jako Response.
Czy dobrze rozumiem workflow MVC?
Natomiast moje docelowe pytanie, to jak wewnętrznie wygląda workflow dla właśnie aplikacji RESTfulowej. Nie mamy wtedy żadnych widoków, używamy właśnie @RestController, który zawiera w sobie adnotacje @Controller + @RequestBody. Dzięki temu wiemy, że taki controller zwracać ma response w postaci JSON lub XML. Klient w headerze ("Accept") wysyła info o tym, w jakiej postaci chce uzyskać odpowiedź i wtedy uruchamiany jest odpowiedni HttpMessageConverter, np. MappingJackson2HttpMessageConverter.
Okej, ale co z działaniem pod spodem. Coś musi wykrywać, do jakiego controllera uderzyć. Czy działa to na podobnej zasadzie, tylko pomijany jest po prostu widok i od strzała wysyłany jest JSON/XML?
Z góry dziękuje każdemu, któremu chciało się powyższy esej przeczytać. :smiley:
@Yeboy Twoja dedukcja jest mniej więcej poprawna. Końcowy etap, o który pytasz wygląda w ten sposób że jest coś takiego co się nazywa `ViewResolver`, który jest odpowiedzialny za wybranie odpowiedniego widoku. Dodatkowo jest implementacja `ContentNegotiatingViewResolver`, która na podstawie nagłówka `Accept` szuka najlepiej pasującej implementacji widoku.
Jeśli bijesz przeglądarką - masz `Accept: text/html`, jak wywołujesz coś do API to zazwyczaj będziesz miał `application/json` i tak dalej.
Logikę view resolvera możesz prześledzić samodzielnie, jest ona odpalana przed samym widokiem.
Druga kwestia odnośnie samego mapowania metod - domyślnie kontrolery mają po jednej metodzie na każdą ścieżkę. W JAXRS, być może w Springu też, jest tak że metod do każdej ścieżki może być kilka i wybierana jest ta, która ma najlepsze dopasowanie do ścieżki i samej treści zapytania. Czyli przy `GET /, Accept: text/html` najpierw pójdzie metoda z `@RequestMapping(consumes=text/html)`, później z `@RequestMapping(consumes=text/*)` a na końcu będzie `@RequestMapping`.
Co do samego widoku i tego jak on działa - wystarczy że wyrzuci coś do HttpServletResponse i output stream. Czyli dla JSP/freemarker itd będzie procesowanie szablonów a dla XML/JSON po prostu zrzucenie modelu prosto do odpowiedniego formatu.
MokebeTestoKompan
w Oferty pracy - programowanie
10piorunówPOV jesteś studentem trzeciego roku informatyki, topka grupy i właśnie zaaplikowałeś na stanowisko entry level w comarchu

@korpowyrobnik przecież oceny przekładają się często na wiedzę i pewnie to chciał OP powiedzieć
@wombatDaiquiri Niestety nie znam się na tym. Moim największym sieciowym sukcesem było częściowe ogarnięcie Cheerio os i web scrappingu. Wolałbym zostać przy aplikacjach webowych. Czy to o czym piszesz to teraz to jest wymagana wiedza dla początkujących?
otsochodziStatysta
1piorunówCześć. Piszę sobie projekt i mam pytanie odnośnie tego jak rozwiązać następujący problem. Mam formularz na froncie, który może wysłać dane o użytkowniku jak i jego dane kontaktowe w jednym post requeście. Dane kontaktowe są opcjonalne więc można je wprowadzić również później. Jak zaprojektowalibyście backend do takiego formularza?
1. tworzę jeden endpoint, UserDto, które zawiera w sobie ContactDto i jeśli ContactDto jest poste/null to po prostu go nie tworzę. Tutaj zastanawiam się czy swagger byłby dobrze udokumentowany z opcjonalnymi polami do wypełnienia
2. tworzę dwa osobne endpointy, dwa Dto dla Usera. Jeden taki sam jak w pkt. 1 i drugi bez relacji do ContactDto. Front end w zależności od tego co ma na wejściu, wybiera gdzie zrobić request
3. robię dwa osobne endpointy, pierwszy tworzy zasób User, drugi zasób Contact. Front end uderza najpierw do Usera, później ze zwróconym id usera robi request by utworzyć kontakt. Problem, gdy user się utworzy, a kontakt nie, co wtedy powinien zwrócić taki formularz.
Jakieś inne opcje?
@otsochodzi 3. Nie rób tego, próba polegania na zrobieniu transakcji przez front jest fajna na localhoscie, później już nie
2. To po prostu przeniesienie logiki z backendu na frontend, ja generalnie wolę jak to backend jest 'mądrzejszy', wtedy po prostu można pisać mniej jsa i mniej pchać do userów
1. Jeden dto, używaj optionali, na podstawie tego dto możesz mieć 2 osobne metody w serwisie na 'czystego' usera albo nie, ale ta logikę możesz ładnie zenkapsulować już w kodzie aplikacji, natomiast wiadomo że tworzenie będzie postem, a update jeżeli całości to put, a tylko części to patch
Dla mnie DTO (jeżeli mówimy o takim serializowanym do jsona i używanym przez UI) powinno działać jak backend for frontend, czyli zawierać to co klient oczekuje w danym miejscu, bez dociągania requestami, np. jeżeli usera zawsze wyswietlasz z danymi do kontaktu, wpakuj razem, jeżeli dane to odrębny byt który czasem pokazujesz, a czasem nie, to osobno
Premature optimization is the root of all evil, dopóki nie wrzucasz kilku relacji z listami po setki obiektów, będzie dobrze
@HmmJakiWybracNick @bzyku95 ale przecież na stronach, np. e commerce można spotkać formularze, która składają się z wielu danych, która są wysyłane w jednym DTO, być może jest ono posegregowane odpowiednio na osobne klasy ale wtedy i tak trzeba zadecydować, który kontroler ma te dane zapisać, który jest nadrzędny, prawda?
NooTFenomen
13piorunówPrawie 2 temu zmieniłem swój główny język programowania z PHP na Java/Kotlin. W PHP siedziałem 13 lat. Jeśli ktoś myśli nad podobną zmianą mogę śmiało powiedzieć że jestem ekspertem i proszę zadawać pytania (° ͜ʖ °) W moim przypadku to była najlepsza decyzja w mojej karierze.
@damw tam masz ilość aplikujących na oferty z danego języka i to są realne wartości, a nie subiektywne odczucie znajomości języka, bo ktoś 5 lat temu miał na kolokwium.
tam masz ilość aplikujących na oferty z danego języka
@Besteer ilość aplikujących to nie to samo co ilość programistów znających dany język. Raz, że nie każdy programista musi szukać pracy, dwa, że jeden programista języka A może wysłać cv na 5 ofert, a inny z języka B na 1 ofertę.
MokebeTestoKompan
w Oferty pracy - programowanie
13piorunówWymagania na juniora 2016: bubble sort, sql, chęć nauki
Wymagania na juniora 2023: Studia magisterskie, znajomość przynajmniej 2 języków programowania, minimum rok udokumentowanego doświadczenia, perfekcyjny angielski, masa projektów - tylko po to aby mieć niezerową szansę na zaproszenie na rozmowę
@MokebeTesto E tam, w okolicach 2009r., kiedy wchodziłem na rynek pracy IT, wymagania były większe, niż przypisałeś do 2023r. 😛
Dużo też zależy od charakterystyki firmy. Takie, które tworzą własne produkty, mają łatwiej w utylizacji juniorów. Firmy, które outsource'ują ludzi, mają duży problem z zakontraktowaniem juniorów, nawet jeśli oferują całe zepoły - klienci przeważnie oczekują doświadczonych deweloperów i jest trudniej wypchnąć juniorów.
Btw. w 2016r. uczestniczyłem w rozmowach rekrutacyjnych dla javowców na poziom junior czy middle i nigdy nie rekomendowałem osoby, która zna tylko bubble sort i sqla 😛
@ngserve Oczywiście. Aktualnie dwóch z trzech moich klientów, to moi byli klienci ze spółki, którą do niedawna prowadziłem. Płacą za seniora (europejskie warunki), a robota albo prosta albo ultra banalna na poziomie juniora. Chyba będę musiał zatrudnić kogoś, żeby to robił za mnie XD
MickeyInspirator
2piorunówChciałbym się rozwijać w #backend i #java posiadam już jakieś podstawy programowania w .net ale nie podszedł mi ich ekosystem, na studiach miałem coś tam javy. Jest tutaj ktoś ogarnięty, kto podpowiedziałby mi co mam robić codziennie (powiedzmy około 2h dziennie jestem w stanie przeznaczyć na rozwój), żeby za te 8-12 miesięcy znaleźć pracę jako junior java developer? Ogarniam że jest coś takiego jak roadmap i tak dalej ale sama dokumentacja javy jest co najwyżej średnia w porównaniu z tą od Microsoftu. Pewnie padnie pytanie też, dlaczego nie .net skoro już coś się uczyłem, pracuję aktualnie jako admin w projekcie javowym i znam ludzi w firmie, łatwiej będzie mi wskoczyć na takie stanowisko, niż szukać nowej pracy/przenosić się do innego projektu + w javie jest więcej ofert. Jak szuka też ktoś kogoś do wspólnej nauki, głównie kontakt tekstowy i może jakiś wspólny projekt to zapraszam na priv. Chętnie przyjmę każdą krytykę i poradę od kogoś doświadczonego.
@Mickey Dobry kurs Javy ma University of Helsinki ale to podstawy. Co do Spring Boota i Hibernate to możesz spróbować Hyperskill, dla nowych użytkowników mają 3 miesiące za darmo przy rejestracji przez reflink. Za niedługo otwierają się aplikacje na staże i warto próbować się dostać bo wymagania są czasem mniejsze niz na juniora, nawet jeśli myślisz że jeszcze nie masz skilla.
@Mickey Skoro pracujesz jako admin w projekcie javowym, to zapytaj się deweloperów, pewnie masz z nimi jakiś kontakt.
Jeśli chcesz się uczyć sam, to imho najlepsze kursy są na Udemy czy Pluralsight. Ale to wiedza. Od siebie polecam założyć konto na github i samemu kodzić. Wymyśl sobie jakąś aplikację i ją napisz. Potem następną. I następną. Jakość kodu - na początek polecam Czysty Kod Roberta Martina. Poszukaj w necie porad, jak tworzyć branche, jak komitować kod. Kolejność nauki może być taka:
Java -> SpringBoot/Quarkus i Spring Data / Hibernate -> architektura mikroserwisowa -> kolejki (Spark, Kafka)
W tzw. międzyczasie rozwijaj znajomość współpracujacych technologii, jak Maven, Gradle, kontenery, chmury, REST API. Najwazniejsze jednak to praktyka, praktyka i praktyka.
zgrzytGwiazdor
9piorunów
MokebeTestoKompan
w Oferty pracy - programowanie
3piorunówpoczątkujący programista java trzeci rok studiów z paroma projektami i chęcią rozwoju w 2016: Praca za średnią i dobre perspektywy na przyszłość
W 2023: Praca magazyn holandia albo korpokołchoz na gównianym stanowisku, brak perspektyw na cokolwiek
@veranoo regularnie chodzę na wszystkie targi pracy i dni otwarte w warszawie. Czy są jakieś spotkania branżowe które mógłbyś polecić?
@MokebeTesto Każda technologia ma swoje eventy. Z javy to kojarzę konfiture, ale to bardziej konferencja niż otwarty meetup.