#java

22
48
Hejtownicy 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
#java
#programowanie

Zaloguj się aby komentować

#java
#programowanie
Branż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

Zaloguj się aby komentować

#java
#programowanie
Uwielbiam 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.
1c09f7cb-2acc-4796-b109-8e5d80320826

Zaloguj się aby komentować

Zostań Patronem Hejto i odblokuj dodatkowe korzyści tylko dla Patronów

  • Włączona możliwość zarabiania na swoich treściach
  • Całkowity brak reklam na każdym urządzeniu
  • Oznaczenie w postaci rogala , który świadczy o Twoim wsparciu
  • Wcześniejszy dostęp, do wybranych funkcji na Hejto
Zostań Patronem
Halko. 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
#java #naukaprogramowania

Zaloguj się aby komentować

Wpis dotyczy #java #spring
Cześć.
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ć.

Zaloguj się aby komentować

Cześć. 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?
#programowanie #naukaprogramowania #java

Zaloguj się aby komentować

Prawie 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.
#java #kotlin #programowanie #programista15k

Zaloguj się aby komentować

Wymagania 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ę
#java
#programowanie

Zaloguj się aby komentować

Chciał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.
#naukaprogramowania #programowanie
Mickey

@mejwen od studiów mam książki horstmanna podstawy + techniki zaawansowane, z kursów to kupiłem java masterclass i przerabiam, ale są to totalne podstawy, niestety żeby wybić się ponad bootcampowców to muszę mieć solidny projekt tj. ogarniać springa. Zaczynam po kolei daję sobie czas na udemy i książki, a później spring (jakiś kurs/książka), sql, rest api i do przodu, szukam też jakiegoś kursu który pokazałby mi ten mityczny projekt w javie jak powinien wyglądać od zera do działającej apki

Zaloguj się aby komentować

#java
#programowanie
począ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
arap

@MokebeTesto podziel się projektami - nigdy nie wiadomo gdzie ktoś szuka ogarniętego stażysty

Tomek07

Ja bez żadnego doświadczenia po wysłaniu 2 CV w grudniu dostałem pracę. Troszkę ryzykownie zrobiłem ale chce tylko zaznaczyć że da się

MokebeTesto

@Tomek07 Jakie miasto? Który rok studiów? Jakie technologię i języki?

Zaloguj się aby komentować

Pytanie bardzo na poważnie. Jakiego języka programowania zacząć się uczyć, jeśli nie miałem zbyt wiele do czynienia z programowaniem? python czy java? A może co innego?
#python #java #programowanie #hejjterszukapracy
Fra

@Jokohama cokolwiek co potrafi edytować tekst, da się używać nawet Notatnika. Osobiście lubię IDE od JetBrainsów czyli IntelliJ dla Javy i PyCharm dla Pythona. Oba mają wersję community (czyli darmową).

ar4s_pl

@Jokohama duże środowisko na początku nauki fajnie wygląda ale nie napisze za Ciebie kodu. Weź sobie ogarnij coś lekkiego typu VS Code czy Sublime Text do Pythona czy webdev wystarczy. Skup się na pisaniu, staraj się zrozumieć jak wszystko uruchomić z linii poleceń niż wszystko klikać w edytorze (bo to z łatwością będziesz mógł zautomatyzować w przyszłości) - niech system będzie twoim IDE

Jokohama

@ar4s_pl wybrałem pythona do nauki. Wydaje mi się bardzo intuicyjny i łatwy. Zobaczymy co z tego będzie;)

Zaloguj się aby komentować

#programowanie
#java
Dwie martwe oferty. Stan rynku pracy z perspektywy studenta trzeciego roku informatyki, Anno Domini 2023
5e868116-71f8-49bc-bf0f-9e2520757d0e
sorek

@KordianIDE o to ta dobra

dsol17

@MokebeTesto "teraz"...

ElegantiaGallia

@MokebeTesto no to jak każdy przechodzi na Javę, to będziesz miał konkurencje na rynku pracy a tak z pythonem jak go polubisz to zajebiście na początku. Potem przyjdzie czas na cięższe języki, a i tak pewnie wtedy wybierzesz Rusta i się zajebiście będziesz bawił

Zaloguj się aby komentować

#java
#programowanie
Jak dostać pracę w 2016:
Odróżniać githuba od pornhuba
Wiedzieć że bubble sort to nie jest rodzaj gumy balonowej
Chcieć wejść do IT
Jak dostać pracę w 2023:
Skończyć PW albo bardzo dobry kierunek techniczny* z wyróżnieniem
znajomość kilku języków programowania
Mieć plecy w branży aby ktoś chociaż zaprosił cię na rozmowę
* Prywatne uczelnie się nie liczą. Jestem na trzecim roku informatyki (prywatnie) i nie ma to żadnego wpływu na moje szanse. Ilość i jakość projektów również nie ma znaczenia, bo nikt na to nie patrzy. Jeśli myślisz o pracy w IT, a twój ojciec nie jest dyrektorem w takiej firmie to możesz o tym zapomnieć.
MokebeTesto

@tellet Pracuję w branży fin-tech. Jest to "korpo finansowe" Mobilność między działami jest zerowa. Nikt nie chce nawet słyszeć aby przyjąć kogoś bez doświadczenia w tym co robią. W moim doświadczeniu, bankowość i technologie finansowe to droga donikąd jeśli chodzi o rozwój kariery.

MokebeTesto

@pingWIN wysłałem już na te oferty. To jakieś katowice, białystoki i inne odległe od stolicy miejsca. Mimo to, w jednym miejscu pozwoliło wybrać warszawę. Odnoszę wrażenie, że w stolicy jest najtrudniej jeśli chodzi o pracę

dext3

Utwórz sobie profile na NoFluffJobs, LinkedIn, BulldogJobs i tym podobnych portalach.


Uzupełnij je sumiennie, linkuj repo, ustaw otwartość na oferty pracy. Myśle że jeśli masz coś w repo, to już jest krok do sukcesu i przewaga nad sporą częścią konkurencji.

Zaloguj się aby komentować

Mikroserwisy, wszędzie mikroserwisy. Tylko jak testować to w praktyce? Podejść jest wiele, jedno z nich to testy integracyjne. W ramach teorii tak zwanego "black box testing" nie powinniśmy ingerować w wewnętrzne komponenty systemu a jedynie weryfikować wejście i wyjście z systemu.
Oczywiście jest to łatwe w teorii, nieco trudniejsze w praktyce. Jak więc poradzić sobie z wyzwaniem pt. po wywołaniu HTTP powinien być komunikat w Kafce? Na przykład przy pomocy biblioteki testcontainers: https://www.testcontainers.org/, która pozwala uruchomić wasz serwis oraz jego zależności w postaci kontenerów. Naturalnie symulowanie całego klastra np. kubernetes mija się z celem, natomiast z powodzeniem można dorzucić przynajmniej tę część infrastruktury, która zapewnia komunikację.
Testcontainers poza podstawową funkcjonalnością pozwalającą na uruchomienie dowolnego kontenera z kodu Javy, dostarcza również moduły dla PostgreSQL, MySQL, Cassandra czy też ElasticSearch - lista kontenerów do przejrzenia: https://mvnrepository.com/artifact/org.testcontainers. Z ciekawszych rzeczy - można uruchomić z testem również selenium, które działa w kontenerze, bez konieczności aranżowania wszystkich zależności systemowych potrzebnych do uruchomienia przeglądarki. Brzmi świetnie, nieprawdaż?
#java #docker
splatch

@Kazix Chodzi głównie o przygotowanie testu w trakcie którego zamieniając komponent na potrzeby testu z docelowego (np. baza danych, kolejka JMS lub topic Kafki na implementację in-memory) pośrednio ingeruje się w zachowanie systemu. Twój test wciąż jest integracyjny, ponieważ wchodzić w interakcję na wyższych warstwach, ale do weryfikacji wyników wymaga wymiany warstw niższych.

damw

ale nie da rady ogarnąć kolejek


@splatch dlatego napisałem przy wiremocku rest call. Te 2 narzędzia się uzupełniają - testcontainers do stawiania faktycznej bazy/kolejki itd, wiremock do "mockowania" innych mikroserwisów z których korzysta testowany komponent.

DexterFromLab

@splatch testcontainers zjada hibernate na śniadanie i wyplówa pestki. Jest sztos.

Zaloguj się aby komentować

#programowanie
#java
Dlaczego znalezienie pracy lub staży na trzecim roku informatyki jest niemożliwe? Przecież to jakis absurd, nikt nie chce dać szansy nowemu nawet za darmo
Golden_rule

@MokebeTesto Bo to ty masz im płacić za możliwość zdobycia stażu. Ale tylko przez dwa lata. Potem rok pracy za darmo, a potem już z górki. [̲̅$̲̅(̲̅ ͡° ͜ʖ ͡°̲̅)̲̅$̲̅]

BananowyKoko

@MokebeTesto bo gówno dziennikarze naprodukowali artykułów w stylu: „po 3 miesiącach zaczął zarabiać 15 tysięcy na rękę [zobacz sposoby na IP BOX]” i wszyscy stwierdzili, że IT to ich przeznaczenie. Dlatego po co firmy mają się starać i organizować pracę / staże dla młodych, jak kupa ludzi sama się pcha do pracy za darmo.

splatch

@MokebeTesto Tak jak pisał @xeerxees - problem z rynkiem jest taki, że w minionych latach przyszło dużo ludzi chętnych na siano a niekoniecznie miał ich kto przetransformować w midów, którzy mogliby szkolić nowy zaciąg. Dodam do tego to, że sporo firm za granicą redukuje zatrudnienie, włączając w to również IT, które było co by nie mówić, bardzo długo świętą krową. Będzie to miało, jeśli już nie ma, częściowe przełożenie na ilość nowych projektów w kraju i to ilu ludzi do nich trzeba zatrudnić.

Na przestrzeni minionych 4 lat miałem na praktykach po około ~1 msc. dwie juniorki, które przekwalifikowywały się z branży około-budowlanej (projektantki instalacji/bim itp.), obie sobie poradziły z praktykami. Znalezienie pracy po praktykach u mnie zajęło im co prawda 2 lata, co pokazuje tyko tyle że kluczem do sukcesu jest wytrwałość.

Nie poddawaj się, ucz się kolejnych rzeczy i próbuj dalej!

Zaloguj się aby komentować

Witam serdecznie towarzystwo
Kształcę się na Java backend developera, a jako że jest promocja na udemy, to pomyślałem, że dokupię parę kursów.
Z ogłoszeń o pracę wydedukowałem, że najbardziej pożądany stack technologiczny przy Javie to:
  • Spring
  • Hibernate
  • PostgreSQL
  • ew. Apache server
Czy ktoś mógłby polecić jakieś dobre materiały z ćwiczeniami, na które warto poświęcić czas i ew. pieniądze (np. na udemy)? Jestem nowicjuszem i nadal ciężko ocenić mi jakość materiałów.
Dotychczas miałem do czynienia z materiałami dr. Chucka (python 4 everybody), które uważam za świetne, jeżeli chodzi o formę, sposób tłumaczenia, quizy i zadania praktyczne dla takiego nowicjusza jak ja.
Aktualnie uczę się na udemy javy z kursu pana Buchalki, który zły nie jest, ale imo mocno rozwleczony (np. zamiast w połowie kursu pisać już snippetami "sout" albo "psvm" to nadal klepie cały kod z klawiatury, jakby chciał celowo zrobić czasowo dłuższy kurs) a dr. Chuck dużo lepiej i przystępniej tłumaczył sporo konceptów, ale niestety pominął trochę spraw, które później mogą się przydać (np. nie wiedziałem nawet, że integery mogą być również przedstawione jako hex)
Stąd też takie pytanie, czy jest tu ktoś kto już ma jakieś doświadczenie i obeznanie i jest w stanie podpowiedzieć, które materiały są ok, a które smrut, z wymienionego przeze mnie stacku?
Meverth

@kao a jak się najlepiej uczysz? Wybierz sobie jakiś cel: zrobić stronkę, zrobić aplikację, pomóc w aplikacji mobilnej hejto, czy cokolwiek. Byle należało wymyślić rozwiązanie jakiegoś problemu. Później realizując projekt, ucz się i googlaj.

Nie wiesz, jak uruchomić lokalnie projekt w spring-boot? google: "run spring-boot project" i wchodzisz na pierwszy wynik, np.: https://www.geeksforgeeks.org/how-to-run-spring-boot-application/

Jak nie to, to szukasz jak odpalić z konsoli. Albo jak odpalić za pomocą gradle. Jest mnóstwo poradników, artykułów itp. Możesz też podpytać AI i GTP3, ale może wprowadzać w błąd i często ma przestarzałe dane. Jednak na początek nauki powinien się nadać.

kao

@Meverth szczerze, to najlepiej uczy mi się zaczynając od kursów prowadzących za rączkę, później przechodząc do własnych projektów. Kiedy na studiach uczyłem się oprogramowania CAD, to najlepiej mi szło, zaczynając od tutoriali prowadzących za rączkę na YouTube, później przechodząc do zadanek z książek i inżynierii własnych pomysłów. Tutaj wydaje mi się, że podobnie będzie się to sprawdzać

Na pewno przechodząc z Pythona na Javę, dużo łatwiej mi po prostu wpisać "how to parse int to string in java" w Google zamiast przechodzić samouczki od zera. Z frameworkami i bazami danych trochę trudniej, bo nie miałem nigdy z nimi do czynienia, a zanim zacznę się czymś bawić sam, lubię dobrze zrozumieć od podstaw co i dlaczego jakoś działa.

Meverth

@kao zrozumienie każdego szczegółu bardzo mocno cię spowolni. Zagłębiać się można w nieskończoność. Pod językiem obiektowym mamy wszystko sprowadzone do komend ala assembler, pod tym de facto bity. Zaczniesz roztrząsać, jak interpretujemy ten sam bajt w różnych kodowaniach, to wejdziesz na algorytmy, od tego już prosta droga do algorytmów zapisu, kompresji, różnych sposobów przesyłu danych. Wejdziesz na działanie procesora, operacje bitowe, całki i zaawansowaną matematykę, przy okazji zahaczysz o AI, bo raz, że to teraz modne a dwa, że korzysta z tych wszystkich dobrodziejstw, a projekt w tym czasie leży odłogiem i kwiczy.


Nie mówię, że nie warto zrozumieć jak działa dany framework, język czy serwer aplikacyjny. Mówię, że nie ma się co za bardzo zagłębiać, jeśli nie jest to w tym momencie niezbędne. Warto zagłębić się bardziej, po godzinach, w ramach ciekawostki, po rozwiązaniu problemu biznesowego, ale niech to nie stoi na przeszkodzie w dowiezieniu funkcjonalności.


To, że (teraz/jeszcze) nie pracujesz w zawodzie, nie ma znaczenia: chodzi o nastawienie. Wpierw niech działa, a później zagłębiamy się w to czy to najlepsze rozwiązanie. Podejście w programowaniu: dostarczamy feature (wraz z testami), później refaktoring.

Zaloguj się aby komentować

Dziś premierę ma kurs Javy autorstwa Michała Gellerta (ja jestem wydawcą, a on autorem).
https://jdb.mikr.us/
To kolejny z serii kursów 'w godzinę', których celem jest dostarczenie wartościowej wiedzy w możliwie skondensowanej formie.
Do niedzieli (20.11) kurs można dostać w niższej, premierowej cenie.
4d1e23a8-6442-4fa0-a925-d0fddf9181b0

Zaloguj się aby komentować