#java

22
41
#daily_wolnegostudenta #programowanie #java

Aż się pochwalę. Siedziałam nad tym 4 godziny. jeszcze nie skończone bo docelowo ma odczytywać pliki z danymi na temat pogody i w analizie podawać np średnie ciśnienie spośród tych w pliku. Ale cel główny: zaimplementować słabe wiązania do przeglądania i analizy plików spełniony
Na zdjęciach widać że można wybrać plik z podanego folderu i wyswietla się pewna zawartość pliku oraz analiza pliku.

co pozostało:

  • utworzyć foldery o odpowiednich nazwach
  • wygenerować pliki z danymi
  • napisać metodę analizującą dane pogodowe

  • uruchomic program z roznymi opcjami VM
  • zebra dane w pliku readme
  • utworzyc projekt na gitlabie
  • wrzucic wszystko do gitlaba

No i jest jeszcze drugi projekt do zrobienia... chodz mysle ze z tego projektu to sie nie bee bawic w ta pogode i powiem ze poprosze trzy, a jak się zapyta czemu to powiem że wolałam pisać posty na hejto lol (nie no nie powiem tak)
ecc3afed-ee25-43d7-b3e0-5997a154c1d4
079109a6-f8cc-4553-85a1-0f6faf8ccc91

Zaloguj się aby komentować

Pracuję od jakiegoś czasu w projekcie, w którym kiedyś podjęto decyzję, aby tworzyć interfejsy dla serwisów.
Przykład: mamy interfejs HejtoService i dla niego jest implementacja HejtoServiceImpl - i generalnie wszystkie publiczne metody implementacji muszą pokrywać się z tym co jest w interfejsie.
I tak 99% klas ma i zawsze będzie miało tylko jedną implementację - bo zawsze jak zmieniają się wymagania, to modyfikuje się implementację, a nie dopisuje kolejną.

No i później wchodzę do jakiegoś pakietu i mam tam np. 10 plików (5 implementacji i 5 interfejsów) - ciężej cokolwiek znaleźć, ciężej nawigować po drzewku projektu - bo zwyczajnie jest 2x więcej plików.
Dodatkowo chcąc przejść do implementacji danej metody (z miejsca, z którego została użyta), zawsze muszę przejść przez interfejs.
Przykład:
ServiceAImpl -> ServiceB -> ServiceBImpl -> ServiceC -> ServiceCImpl
vs
ServiceA -> ServiceB -> ServiceC
Debugując jest identycznie.

Żebyście mnie nie zrozumieli źle, ja lubię używać interfejsów, tam gdzie faktycznie widzę ich zastosowanie. Np. kiedyś kodowałem jakieś generowanie raportów, wykresów, czy czytanie z pliku - gdzie mamy różny format plików, albo przedział czasowy - i tam interfejsy pasują mi idealnie i widzę ich zastosowanie.

No i mam pytanie, po co tworzyć takie interfejsy? Pytam całkiem poważnie i proszę o proste wyjaśnienie, bo dla mnie nie wprowadzają niczego pozytywnego.

#java #programowanie #kiciochpyta
HmmJakiWybracNick userbar
e87ff900-41a6-4eaa-9dcd-7d4ba416b29f

Zaloguj się aby komentować

#programowanie
#java
Jakie blogi/strony czytacie dotyczące programowania i Javy? Chodzi mi o jakieś ciekawostki, nowości, poradniki, itp. Oczywiście w języku angielskim lub polskim.

+ Jakby ktoś polecił dobre podcasty z języka angielskiego, coś do posłuchania byleby nie dłuższe niż 40 mi byłoby super

Zaloguj się aby komentować

Cześć Tomki i Tomkinie
startuje niedługo 5 edycja Programming4You - kursu programowania bez ściemy. W związku z tym robimy #rozdajo
Dostajecie 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.
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
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!
Dla osób, które nie wygrają #rozdajo zrobimy super cenę na pierwszy miesiąc. Pamiętajcie jednak, że kurs jest intensywny i trzeba się sporo zaangażować.
Losowanie w weekend
#programowanie #naukaprogramowania #pracait #java #python
e478b4c3-bf41-4526-b1d1-524d5fbf36e1

Zaloguj się aby komentować

Ale to wszystko jebnie. 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/

Zaloguj się aby komentować

#programowanie
#java
#studia
Praca 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.

Zaloguj się aby komentować

#programowanie
#java
POV: 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
1d3ddf69-9a13-44a1-a5a0-d270d5d05f41
Flaaj

Nie dostałes się do gównokorporacji:

moje studia produkują bezrobotnych


Człowieku zobacz jaka jest sytuacja na rynku dla Automatyków/Robotyków i potem narzekaj. Dostanie sie na praktyki do firmy, ktora nie miala umowy z moją politechniką było niemożliwością. A po studiach z mojej grupy na kierunku AiR, w branży pracuje 5 osób na 50. Z połowa poszła do IT i świetnie sobie tam radzą (w tym i ja).


Oceny/wyniki na studiach to nie jest żaden wyznacznik (zwłaszcza jeśli to jedna z polskich uczelni publicznych, gdzie program nauczania zatrzymał się w roku 2000).


Dołącz sobie do jakiegos startupu, który cie przyjmie z otwartymi ramionami, nauczysz sie wiele wiecej niz w korpo

MokebeTesto

@Flaaj Żaden startup nie przyjmuje bez doświadczenia. Ze stażami od korpo jeszcze się spotkałem (średnio 1 miejsce w warszawie na 2 miesiące), ale o tym, że jakikolwiek startup przyjąłby nawet za darmo kogoś kto nie ma komercyjnego expa, to nawet nie słyszałem. Czy jesteś w stanie podać chociaż jedną nazwę takiego startupu?

Flaaj

@MokebeTesto mój przymuje, o ile się nadasz ( ͡° ͜ʖ ͡°)

Ale my szukamy nestjs backend deva, i nie ma staż, a raczej na stałe, staż możesz załatwić przy okazji.

Zaloguj się aby komentować

REST API - mini kurs
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ąć
#programowanie #nauka #java
1d9a19ae-4ae0-4237-9bd2-0fc894601e03

Zaloguj się aby komentować

Cześć 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
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
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
4b3afcbf-2bc0-4791-b47b-035b0a5aa12c
empios

@programming4you no i to jest dobry kurs

programming4you

Gratulacje @Czarny12309, odezwij się na pw


Dziękuję pozostałym bardzo, jeśli macie jakieś pytania odnośnie nauki programowania, kariery w IT, itp. - piszcie śmiało! Jeśli jesteście zainteresowani kursem, damy Wam zniżkę


PS. Jeśli wylosowana osoba nie będzie chętna, losujemy do skutku

32d26163-9963-4a32-9392-3a02e3c42513

Zaloguj się aby komentować

#java
#programowanie
POV: jesteś studentem trzeciego roku inforamtyki z kilkoma projektami na githubie i właśnie wysłałeś CV na praktyki.
533f9f4c-6a99-481f-ac83-b1377a424326
MokebeTesto

@Where_is_V no nie jest problemem brak rekrutacji tylko brak ofert na które mogę wysłać CV

robko

@MokebeTesto Masz założonego linkedina?

MokebeTesto

@robko Tak, ale nikt nie pisze, a HRówy ignorują zaproszenia ode mnie. Niestety taki los programisty bez komercyjnego doświadczenia

Zaloguj się aby komentować

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
HmmJakiWybracNick

@toord Rób tak jak łombat powiedział, mądrze prawi.

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
veranoo

@ZyGi Jak na każdym rynku popyt i podaż, jak pracodawcy mogą więcej wymagać więc to robią. Gdzie tu naiwność.

ZyGi

@veranoo Oczywiscie nalezy tez pamietac 10 lat temu nie bylo zadnych pieniedzy w IT dla juniorow tylko najnizsza krajowa na umowie o dzielo, co rowniez ma wplyw na roznice w sytuacjach

ZyGi

@veranoo Dobra, zle przeczytalem twoja wypowiedz. Zrozumialem ze mowisz, ze nie podaz/popyt - a ten wskazany przez Ciebie latwiejszy dostep do wiedzy implikuje wzrost wymagan. Mea culpa - zwracam honor.

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
ZyGi

@MokebeTesto Pewnie jeszcze 20 miejsc zarezerwowanych dla kobiet xD

Anon

@WildWaffle To jest aktualizowane?

WildWaffle

@Anon To dość świeże oferty ale chyba nie są aktualizowane jakoś bardzo na bieżąco

Zaloguj się aby komentować

JetBrains 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
KordianIDE

@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

ujdzie

wtyczka testów to wersji ultimate


@KordianIDE ultimate = Intellij Ultimate?

Zaloguj się aby komentować

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
MokebeTesto

@Jira To całe zadanie? Nie możesz po prostu użyć bubble sorta?

Jira

@MokebeTesto nie, to nie całe zadanie


klepie mi to już programista z którym współpracuje także temat nieaktualny. Usunąłbym wpis, bo wstyd.

Ale się nie da. xd

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

@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.

Zaloguj się aby komentować

#programowanie
#java
POV jesteś studentem trzeciego roku informatyki, topka grupy i właśnie zaaplikowałeś na stanowisko entry level w comarchu
19e33a58-6cf4-4207-8a8a-36e697c01cf0
muchatse

@korpowyrobnik przecież oceny przekładają się często na wiedzę i pewnie to chciał OP powiedzieć

MokebeTesto

@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?

wombatDaiquiri

@MokebeTesto na pewno bym się nie spodziewał, że będziesz znał nazwę w sumie. Heartbeat = wyślij zapytanie, zapisz kod odpowiedzi ( https://en.m.wikipedia.org/wiki/List_of_HTTP_status_codes ). Jeśli teraz już rozumiesz i wiesz co i jak zrobić, to ja rozmowie rekrutacyjnej nie bój się pytać i będzie git. Z firmy na firmę wymagania są różne. Co ciekawe - z moich obserwacji im mniej płacą, tym bardziej oczekują że będziesz znał dokładnie ich systemy i slang którego akurat oni używają (np. zaciągnięty z jakiejś książki). Najważniejsze, to pogodzić się z tym, z cześć ofert nie jest dla Ciebie - ja np. zauważyłem prawidłowość, że software housy mnie nie chcą, ale już duże firmy produktowe są zachwycone. Czemu? Nie wiem, choć się domyślam.


No i pamiętaj - w najgorszym wypadku jakiś dupek Cię obśmieje. W najlepszym poradzi nad czym pracować i zaprosi za pół roku. Pewnie się więcej nie spotkacie, a dupka albo zwolnią, albo zespół mu się zwolni, bo z takimi ludźmi i tak się nie da pracować.


Będzie dobrze!

Zaloguj się aby komentować

Następna