Mniej istotne rzeczy w Javie

Mniej istotne rzeczy w Javie
TH
TH
  • Rejestracja:około 3 lata
  • Ostatnio:około 3 lata
  • Postów:4
0

Siemka, uczę się Javy z JavaStart i przerabiam dosyć solidnie (przerabiam teorię, a potem kilka zadan praktycznych) i lecę po kolei z tematem. Jednak idąc po kolei widzę wg. mnie mniej istotne rzeczy do nauki (nie wiem czy slusznie) takie jak np. StringBuilder, zapis/odczyt z pliku, rekurencja itp. Docelowo chcialbym pracować ze Springiem.

Myslicie, ze warto przejmowac się takimi tematami, ktore przytoczylem, czy po prostu ogarnac zeby wiedziec co jest co, leciec dalej i uczyc się potrzebnych rzeczy twkich jak kolekcje, struktury danych, lambda, interfejsy klasy abstrakcyjne itp?

lion137
  • Rejestracja:około 8 lat
  • Ostatnio:3 minuty
  • Postów:4932
14

StringBuilder, zapis/odczyt z pliku, rekurencja

To nie są mniej istotne rzeczy.


CY
  • Rejestracja:prawie 7 lat
  • Ostatnio:12 dni
  • Postów:109
1

Kurcze, ciężko powiedzieć, bo każdy jest inny, ale osobiście np. lambd używam 24/7, bo są niesamowicie wygodne i ekspresywne (choć ja po prostu jestem fanem programowania funkcyjnego). Warto to znać, a wraz z większym doświadczeniem będziesz sam coraz pewniejszy czego używać.

JA
  • Rejestracja:około 3 lata
  • Ostatnio:ponad 2 lata
  • Postów:35
1

O ile rzeczy systemowe jak zapis/odczyt z pliku mozna ewentualnie pominac, o tyle to nie jest niczym skomplikowanym. Metoda do ktorej wrzucasz odczyt pliku ewentualnie wypluwasz zapis jakichs danych. W Springu zamiast do pliku zapiszesz do bazy danych, a kroki do wykonania beda podobne.

Chcesz pominac rekurencje, a jednoczesnie pracowac w Java - sounds like a plan.

Typowa ksiazka do Java gdy ja mialem ja w reku X lat temu miala cos pomiedzy 800-1200 stron. I jedyna nieistotna rzecza w niej to byla JavaFX/Swing, bo nie chcialem z tym pracowac. Dzisiaj strzelam w ciemno, ze ilosc stron sie nie zmniejszyla tylko zwiekszyla, a kurs z JavaStart i tak chyba nie pokrywa wszystkich istotnych zagadnien samego jezyka.

Poza tym sam jezyk w pracy z Java to poczatek. Do tego masz jeszcze tone innych libow, bazy danych, frameworki itd. Jezeli na etapie jezyka juz myslisz o pomijaniu istotnych rzeczy w pracy z nim na co dzien to albo sobie daruj myslenie o pracy albo zmien jezyk na prostszy*.

*Prostsze jezyki rowniez maja rekurencje, wzorce projektowe i zapis/odczyt do/z pliku.

S9
  • Rejestracja:ponad 4 lata
  • Ostatnio:ponad 2 lata
  • Lokalizacja:Warszawa
  • Postów:1092
3

W Springu zamiast do pliku zapiszesz do bazy danych, a kroki do wykonania beda podobne.

Spring nie ma nic do rzeczy. Możesz napisać aplikacje desktopową w JavaFX i Springu i będziesz tam odczywał pliki. Zresztą możesz miec też biznesowe aplikacje webowe ktore wczytując coś z jakis plików CSV np. z użyciem Spring Batcha, robiłem takie coś

rekurencja

rekurencja jest do zrozumienia w 5 minut jakieś.

Docelowo chcialbym pracować ze Springiem.

Czyli jak w jakiejś firmie będzie Micronaut to już nie? ;]
Type, Spring to jest jakieś 5% aplikacji często, więcej to logika biznesowa, osługa właśnie IO w postaci chociażby baz danych, testy etc.


edytowany 1x, ostatnio: scibi_92
Grzyboo
Spring to jest jakieś 5% aplikacji często chciałbym w to wierzyć, ale niestety patrząc na korporacyjny kod to każdy problem da się rozwiązać skończoną ilością adnotacji :D
ZD
  • Rejestracja:około 3 lata
  • Ostatnio:ponad rok
  • Postów:2310
2

Zdajesz czwarty raz de facto to samo pytanie, i koniecznie chcesz usłyszeć, że wiesz tak dużo, ze pora na Springa.
A niedobrzy koledzy nie chcą poklepać po plecach.


If you put a million monkeys at a million keyboards, one of them will eventually write a Java program - the rest of them will write Perl
Shalom
  • Rejestracja:około 21 lat
  • Ostatnio:około 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
1

rzeczy do nauki (nie wiem czy slusznie) takie jak np. StringBuilder, zapis/odczyt z pliku, rekurencja

Ale czego ty się chcesz uczyć w kontekście StringBuildera? Serio pytam. To jest klasa z której w 99% korzysta się tylko z .append() a na koniec toString(). Co takiego do nauki pochłania twój czas?
Podobne pytanie względem odczytu/zapisu do pliku. Files.lines(), Files.write(), wielkiej filozofii tam nie ma.

Rekurencja to trochę inna kwestia, bo w przypadku rekurencji w ogóle nie bardzo jest coś do "nauki", to po prostu trzeba pocwiczyć i "poczuć", żeby wiedzieć kiedy jakiś problem możesz rozwiązać za pomocą rekurencji.


"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"
Charles_Ray
Pliki to już wyjście poza pamięć, trochę niuansów się z tym wiąże jednak :)
LU
  • Rejestracja:ponad 11 lat
  • Ostatnio:8 dni
  • Lokalizacja:Gdańsk
0

Ale czego ty się chcesz uczyć w kontekście StringBuildera? Serio pytam. To jest klasa z której w 99% korzysta się tylko z .append() a na koniec toString()

Niby tak ale mówisz stricte o składni a np. warto rozumieć dlaczego wgl tego się używa zamiast zwykłego sklejania stringow
i czym to się różni od StringBuffera.


Shalom
No dobra ale to są 2 zdania wyjaśnienia i można to wyczytać też z javadoca tej klasy.
LU
Dla kogoś ze skillem pewnie tak ale jak bym był początkującym i bym zobaczył w javadocu mutable albo synchronization to pewnie bym szukał dalej co to znaczy :)
vpiotr
  • Rejestracja:ponad 13 lat
  • Ostatnio:prawie 3 lata
1

Pytasz się czy niektóre słowa lub elementy alfabetu możesz pominąć w nauce - no w sumie można.
Tylko potem Twoja tfurczość będzie wyglądała tak jak u niemowlaka który poznał 5 słów i kilka sylab.
Tata - mniam mniam, mama nie, buju buju nie ma.

W0
  • Rejestracja:ponad 12 lat
  • Ostatnio:22 minuty
  • Postów:3593
1

Napiszę tak - trudno mi sobie wyobrazić juniora, który nie będzie wiedział co to rekurencja czy StringBuilder. Natomiast jestem w stanie zrozumieć, że część rzeczy może się wydawać mniej istotne i faktycznie nie trzeba ich znać na starcie - np. kilka rodzajów sortowania i różnice między nimi.

TH
TomaszHilfiger
O i wlasnie o coś takiego mi chodzilo (moze zle skonstruowalem pytanie), zeby wiedziec co jest co, ale nie poswiecac temu nie wiadomo ile czasu :)
99xmarcin
  • Rejestracja:około 5 lat
  • Ostatnio:5 miesięcy
  • Postów:2420
0

Niestety jak się robi mikroserwisy w Springu to wygląda to tak:

  • Otwarcie pliku - nie musiałem tego robić już chyba od 4 lat. Jak już się zdarza że trzeba to Guava Files i po sprawie. Tak jest nie pamiętam już jak poprawnie plik w Javie otworzyć. To samo dotyczy czytania z Resource'ów - klasa Resources z Guava i jazda.
  • StringBuilder - cały czas się przydaje. I to nic że lombok, Immutables czy inne rzeczy, StringBuildera używam na bieżąco, myślę że co najmniej raz na sprint
  • rekurencja - dopóki nie pracujesz w Scali z hardcore-fanem FP to nie jest praktycznie używana (zwłaszcza w Javie). W pracy liczy się stworzenie najprostszego kodu który działa, rekurencja taka nie jest

Niemniej na tego typu opinie może sobie pozwolić jedynie programista ze sporym stażem. Jak pójdziesz na rozmowę o pracę i powiesz że nie wiesz jak się plik otwiera w czystej Javie to ciebie z miejsca odrzucą.


Holy sh*t, with every month serenityos.org gets better & better...
KamilAdam
rekurencja - dopóki nie pracujesz w Scali z hardcore-fanem FP co ciekawe w Scali (Clojure, Haskellu) też nie używa się często rekurencji (w prost). O wiele częściej używa się fold (reduce), foldr, foldl, map (fmap). Rekurencja wprost ma trochę opinie jak goto czyli należy unikać
W0
  • Rejestracja:ponad 12 lat
  • Ostatnio:22 minuty
  • Postów:3593
1

@0xmarcin: rekurencja (rozumiana jako funkcja wywołująca samą siebie, tylko z innymi parametrami) wbrew pozorom jest jeszcze w użyciu, tylko to nie jest taka szkolna rekurencja, typu: factorial(n){ return n == 1 ? 1: n*factorial(n-1); }, tylko po prostu kawałek kodu, gdzie w linijce 322 metody jest ona wywołana po raz kolejny. Często się zdarza, że jest wywoływana z tymi samymi parametrami bo stan przechowywany jest w klasie.

Korzystanie z rekurencji w ten sposób czasem jest przydatne, chociaż faktycznie w typowych CRUDach nie ma ona raczej miejsca bytu. Natomiast było nie było - jednak rekurencja to dosyć podstawowa rzecz.
Dla mnie to ta sama kategoria co tablice - mam świadomość tego, że obecnie raczej rzadko się z nich jawnie korzysta (może poza main(args)) i jeśli już ktoś się decyduje na skorzystanie z tablicy zamiast z listy to musi mieć jakiś konkretny cel - ale jednak od ludzi młodszych stażem (lub bez stażu w ogóle) wymaga się znajomości tablic.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.