Co po javie ?

RC
  • Rejestracja:około 8 lat
  • Ostatnio:około 5 lat
  • Postów:20
0

Witam,

otóż w skrócie jestem już po kursie javy i uważam że mam solidną wiedzę jak na osobę która jeszcze nie pracowała jako programista. Znam SQL i potrafie połączyć się z bazą i wykonywać zapytania korzystając przy tym z JDBC.

Uczyłem się jsp i servletów natomiast kilka dni temu dowiedziałem się że jest to przestarzała technologia i polecono mi naukę JSF.
Czy warto uczyć się JSF ? Czy lepiej zacząć od springa ? Ogólnie w sieci jest bardzo dużo tutoriali i każdy pokazuje jak zrobić web-api czy web-service inaczej.
Gdybyście byli na moim miejscu od czego byście zaczynali ?

IH
Znasz odpowiedzi na wszystkie pytania z top 300 java core interview questions?
RC
robiłem kiedyś jakiś test na juniora było 30 pytań, wyniki miałem całkiem przyzwoity, ale ogarnę sobie te pytania, dzięki ;)
Skoq
wymagania na juniora cały czas się zmieniają, przeważnie rosną. Takie testy można robić, są spoko bo pokazują braki, ale nie uważam żeby były jakimś specjalnym wyznacznikiem czy dana osoba nadaje się na to stanowisko.
IH
  • Rejestracja:ponad 6 lat
  • Ostatnio:6 dni
  • Postów:103
4

Spring, serwer wystawiający rest api + jakiś frontendowy framework, np Angular 6, React, Vue

  • Rejestracja:około 6 lat
  • Ostatnio:ponad rok
5
RumCiur napisał(a):

Gdybyście byli na moim miejscu od czego byście zaczynali ?

Od fundamentów. Algorytmy, struktury danych. Po kursie Javy umiesz Javę, ale nie umiesz programować.

edytowany 1x, ostatnio: Mózg
Aryman1983
Aryman1983
Javy też nie umie :-)
RC
Tak jak napisałem znam podstawy, więc nie możesz powiedzieć że nie umiem ;) Osobie która zna angielski na poziomie b1-b2 też powiesz, że nie zna języka ? Chyba lekka przesada
EN
Jakieś pozycje polecasz?
Patryk27
Moderator
  • Rejestracja:ponad 17 lat
  • Ostatnio:ponad rok
  • Lokalizacja:Wrocław
  • Postów:13042
2

uważam że mam solidną wiedzę jak na osobę która jeszcze nie pracowała jako programista

W jaki sposób możesz to wiedzieć, skoro nie masz porównania? ;-)
https://pl.wikipedia.org/wiki/Efekt_Dunninga-Krugera

Znam SQL i potrafie połączyć się z bazą i wykonywać zapytania korzystając przy tym z JDBC.

Póki co to brzmi jak przeczytałem pierwszy-lepszy kilkugodzinny wstęp do Javy, a nie mam solidną wiedzę IMO.


edytowany 3x, ostatnio: Patryk27
RC
dlatego napisałem 'w skrócie', nie chciałem się rozpisywać że zrobiłem kilka własnych mniejszych i większych aplikacji, że gram z ludźmi w soloLearn itd. Prosiłem o informację czego dalej powinienem się uczyć. Twoja wiadomość to nic nie wnoszący spam...
Patryk27
To wszystko nadal nie brzmi jak solidna wiedza, tylko absolutne podstawy (nie rozum tego jako atak na Ciebie - po prostu staram Ci się uzmysłowić, że w miarę jak będziesz się uczył szybko przejdzie Ci chęć na mówienie mam solidną wiedzę, ponieważ zaczniesz rozumieć ile jeszcze jest przed Tobą). Przykro mi, że uważasz mój post za nic nie wnoszący spam; pozwól, że się wybronię: https://4programmers.net/Forum/Download/20304 - napisanie kilku(dziesięciu) takich aplikacji powinno dać Ci całkiem niezłą znajomość języka. Dopiero potem IMO warto startować we frameworki.
RC
W takim razie mea culpa :)
S9
  • Rejestracja:prawie 13 lat
  • Ostatnio:7 miesięcy
  • Postów:415
0

Wydaje ci się i to wydaje ci się mocno, że masz solidną wiedzę. Można to wywnioskować z twojego pierwszego postu, gdzie chwalisz się że umiesz korzystać z JDBC. Wyprowadzę cię z błedu, dzisiaj nikt z jdbc z własnej woli nie korzysta bo to stara technologia, ostatnim krzykiem mody jest Spring Data, ew. sam Hibernate. Gdybyś miał solidną wiedzę to sam byś to stwierdził. Jsp i servlety są jeszcze starsze, jedyny sort ludzi który się tego uczy to właśnie ludzie po kursie którym nikt nie powiedział, że nikt nie będzie tego od nich wymagał. To samo jsf, gdybyś był choć trochę rozgarnięty w ekosystemie javy to sam byś wyciągnął takie wnioski. Ale żeby nie było że nie wnoszę nic do tematu to polecę coś do dalszej nauki. Polecę naukę javy, ponieważ pewnie nie ogarniasz najważniejszych klas i pakietów jdk, nie ogarniasz przetwarzania dat, nie posługujesz się biegle kolekcjami, nie ogarniasz strumieni na rozsądnym poziomie, nie ogarniasz komparatorów, nie umiesz java.nio ani podstaw multithreadingu. Mogę się mylić oczywiście, ale obstawiam, że nie. Pewnie o czymś zapomniałem ale to są właśnie takie podstawy javy.

RC
JSF polecił mi wykładowca z uczelni (politechnika Warszawska) natomiast przeglądając oferty pracy na juniora rzadko ( a właściwie nigdy) widywałem JSF, dlatego wolałem zapytać na forum.
S9
Nie słuchaj ludzi z uczelni, oni nie mają pojęcia rynku IT.
jarekr000000
  • Rejestracja:ponad 8 lat
  • Ostatnio:około 2 godziny
  • Lokalizacja:U krasnoludów - pod górą
  • Postów:4707
5

Na pewno nie JSF, ani nic w pobliżu:
Początki w java, a technolog...

Servlety może i trącą myszką, ale nie są tak straszne jak JSF.
Zrób sobie jeden system od początku do końca i zobacz jak Ci idzie. Jakiś prosty, ale taki żeby nie było przykładów w necie.
Np. zrób serwer do gry w krokodyla. (to taka gra gdzie dwie (lub więcej) osoby mówią po kolei liczbę i wygrywa największa. Moja ulubiona zabawa z przedszkola. Myślę, że nadal jestem w to niezły :-)).


jeden i pół terabajta powinno wystarczyć każdemu
NS
Ze mną byś nie wygrał :D
M1
zawsze o jedną cyferkę większa niz Twoja -> wygralem :D
jarekr000000
Podałem e/2, a Ty e/3. Przegrałeś.
Brickcloak
  • Rejestracja:ponad 6 lat
  • Ostatnio:ponad 2 lata
  • Postów:11
1
slayer9 napisał(a):

Wyprowadzę cię z błedu, dzisiaj nikt z jdbc z własnej woli nie korzysta bo to stara technologia, ostatnim krzykiem mody jest Spring Data, ew. sam Hibernate. Gdybyś miał solidną wiedzę to sam byś to stwierdził.

Panie kolego, a jak pod spodem działa Spring Data i Hibernate? Nie generuje czasem starego, dobrego prepared statement? Żeby mieć połączenie z bazą danych, to czasem Hibernate nie używa starego jak świata java.sql.Connection? Onanizm techniczny jest fajny, ale nie w momencie, w którym używa się nowych technologii bez zrozumienia i podstaw. Potem masz masę klepaczy i Hibernate Ninja Developerów, co pchają encje na twarz i przy okazji dziwią się, że jak użytkownik klika po GUI, to im z bazy danych robi się maszyna losująca Lotto, bo akurat są w kontekście persystencji.

edytowany 1x, ostatnio: Brickcloak
S9
Chciałem dać wskazówke, że gołego jdbc dzisiaj nie użyjesz jeżeli nie musisz (w utrzymaniu akurat musisz). Nigdzie nie zanegowałem tego o czym piszesz.
jarekr000000
Jeśli do znajomości abstrakcji wyższej musisz znać dobrze pułapki niższej to jest to przypadek leaky abstraction. Raczej dobrze o JPA nie świadczy. IMO JPA ma zupełnie inne problemy i akurat bez znajomości JDBC można sobie poradzić.
NS
  • Rejestracja:ponad 7 lat
  • Ostatnio:3 dni
  • Postów:455
0

@RumCiur: nie chcę Cię zniechęcać, ale też tak niedawno mówiłem, że mam solidną wiedzę. Do czasu. Myślałem, że Java, TS, HTML, CSS, Spring, Angular, wzorce projektowe, programowanie reaktywne, SOLID, TDD, DDD i wiele różnych tym podobnych moich umiejętności zrobi ze mnie Boga kodowania, a zrobiło ze mnie miazgę i gostka, który czuje, że wie jeszcze mniej niż zanim się w ogóle wziąłem za programowanie :D

Mogę Ci powiedzieć tylko, że nie umiesz prawie nic :/ Ale nie zwalniaj tempa i ciśnij.

edytowany 1x, ostatnio: NeutrinoSpinZero
orchowskia
  • Rejestracja:około 6 lat
  • Ostatnio:ponad rok
  • Lokalizacja:Zielona Góra
  • Postów:83
0

Wymyśl sobie jakiś prosty projekt. Jeśli masz zamiar zacząć pracę to wybierz popularnego Springa i zrób apkę webową np. aka blog. Lista artykułów, dodawanie, modyfikowanie, może jakaś autoryzacja. No i się nie zrażaj jak ci się nie uda :) Do tego jakiś front.
Ja bym wybrał popularne rzeczy - Spring + SpringData, Postgresql. Musisz się dowiedzieć jak to skomunikować - REST czy może coś co będzie generować widoki po stronie serwera. Ogólnie mniej czytaj więcej rób :)
Moim pierwszym takim projektem była strona która parsowała mi plan zajęć z podanej strony uczelni i generowala plik kalendarza dla googla. Bardzo miło to wspominam

PI
piękne zdjęcie
orchowskia
Bardzo się cieszę że ci się podoba dziubasku
Aventus
  • Rejestracja:prawie 9 lat
  • Ostatnio:ponad 2 lata
  • Lokalizacja:UK
  • Postów:2235
0

Ludzie programują zawodowo kilka lat i dopiero mogą mówić z ręką na sercu że mają przyzwoitą wiedzę o danym języku i technologii, a Ty myślisz że po przerobieniu kursów i napisaniu kilku prostych aplikacji masz "solidną wiedzę". Chociaż dobrze dodałeś- jak na osobę która nie pracowała. Uwierz że zawodowe środowisko szybko by tę wiedzę zweryfikowało. Nie ma z mojej strony żadnej złośliwości, tak naprawdę to dosyć częste zjawisko. Takie podejście jest niestety bardzo zdradliwe u początkujących. Trzeba przyjąć prostą zasadę- więcej pokory i wiedz, że jeszcze nawet nie wiesz jak dużo nie wiesz ;)

Tak więc, żadnego nowego innego języka tylko szlifować nadal ten sam, oraz poznawać nowe technologie/frameworki.


Na każdy złożony problem istnieje rozwiązanie które jest proste, szybkie i błędne.
RC
Czyli szlifować jave i uczyć Spring'a ?
Aventus
Szlifować Jave, a czy uczyć się Springa to nie wiem, nie znam tak dobrze ekosystemu Javy. Oprócz frameworków ucz się również wzorców projektowych, różnych rodzajów architektur itp.
Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)