Początkujący potrzebuje pomocy w nauce Javy

0

Witam wszystkich na tym forum. (To mój pierwszy post).

Chciałbym was prosić, zwracając się jako do osób znających się w temacie. O pomoc w nauce do realizacji pewnego zadania. Dostałem zadanie od pracodawcy, które ma sprawdzić jak szybko przyswajam wiedzę z nowych zagadnień i technologii. Efekt mojego projektu decyduje o tym czy dostanę posadę programisty zaczynając 2gi rok studiów informatycznych. Sprawa jest dla mnie jak najbardziej poważna:).

Aktualnie z Javy i innych potrzebnych technologii nie umiem prawie, że nic. Do tej pory pisałem jedynie strukturalnie z Pascalu i C.

Liczę na pomoc w formie wskazania kolejności i/lub aspektów/materiałów które potrzebuję przyswoić aby zrealizować te zadanie. Nie jest wymagane/wskazane przyswajanie wiedzy do przyswojenia czegoś ponad potrzebny do samodzielnego wykonania tego projektu.

Interesuje mnie także czy powinienem zacząć od ogólnie kursu Javy, czy od razu do JEE?

Wdzięczny będę także za przydatne linki, jeśli się komuś chce/zna, a także za wskazówki, które będą dla mnie ważne z waszego doświadczonego punktu widzenia.

A oto polecenie dotyczące projektu.
"""
Zadanie testowe :
technologie :

  • java 1.6
  • gwt najnowższe
  • maven - najnowższy do budowania projektu
  • jboss 5.1 wystarczy

aplikacja do liczenia wyrażeń arytmetycznych
cześć kliencka :

  • pola do wpisania wyrażenia arytmetycznego w postaci : (a+b)*c
  • pola do wpisania wartości dla zmiennych : a=10, b=20, c=3
  • przycisk wylicz
  • pole gdzie będą wyświetlane wyliczone wyniki coś w stylu : (a+b)*c = 120 gdzie a=10, b=20 itp

cześć serwerowa :

  • dwie kolejki typu Queue, jedna do przekazywania obiektu z danymi dotyczącymi wyrażenia arytmetycznego i wartości zmiennych, druga kolejka do przekazywania obiektu z uzupełnionym polem wynik
  • dwa MDB (message driver bean), jeden reaguje na odebranie wyrażenia arytmetycznego przekazanego z WWW, drugi reaguje na odebranie pełnego obiektu wraz z wynikiem
  • konfigurację MDB i kolejek należy wykonać stosując odpowiednie adnotacji
  • wyliczenia wyrażenia arytmetycznego w oparciu o algorytm ONP (odwrotna notacja polska)

zasada działania :

  1. na www podajemy przykładowe wyrażenie arytmetyczne
    (a+b)*c
    a=10
    b=15
    c=5

  2. po wprowadzeniu odpowiednich wartości klikamy przycisk wylicz

  3. pojawia się popup informujący iż aktualnie trwa liczenie wyrażenia arytmetycznego

  4. wyrażenie arytmetyczne wraz z wartościami zapakowane do odpowiedniego obiektu trafia do części serwerowej do odpowiedniej kolejki

  5. MDB 1 reaguje na kolejkę zleceń, pobiera obiekt, wykonuje operację wyliczenia korzystając z algorytmu ONP następnie wynik umieszcza w odebranym z kolejki zleceń obiekcie i wstawia obiekt do kolejki wyników

  6. MDB 2 reagje na kolejkę wyników, odbiera wynik i umieszcza go w odpowiednim worku statycznym pod odpowiednim identyfikatorem

  7. cześć kliencka w momencie gdy wyświetlany jest popup informujący iż trwa operacja przeliczania podanego wyrażenia co pewien czas uderza do części serwerowej sprawdzając czy odpowiednia odpowiedź pojawiła się w worku statycznym, jeżeli tak to pobiera odpowiedź wyświetla na ekranie informując iż zadanie zostało wykonane

Dla utrudnienia zamiast wyświetlania popup z informacją iż trwa wyliczanie wyrażenia można zrobić ekran informujący iż zlecenie zostało przyjęte do realizacji i można w tym czasie spisać kolejne wyrażenie arytmetyczne.
Natomiast w tel może działać proces który będzie pobierał wyniki i umieszczał ich np na nowej zakładce lub w tym samym oknie ale w liście, tabeli itp.
Taki mechanizm pozwoli na wrzucenie bardzo dużej liczby różnych obliczeń nie czekając na wyliczenia i nie blokując użytkownika. Wyniki zostaną pobrane i wyświetlone po ich wyliczeniu. Zastosowanie odpowiednich identyfikatorów pozwoli na kontrolowanie działania wątku odbierającego wyniki od serwera do tego pozwoli na jednoczesną pracę na kilku przeglądarkach dając pewność że odbierzemy właściwy wynik.

To chyba tyle na temat zadania w razie pytań proszę śmiało.

Ostatecznie tego drugiego MDB który ma odbierać już wyniki i wrzucać go do statycznego worka można olać to już taka nadmiarowa w tym zadaniu.""""

Z góry wszystkim dziękuję za samo już dotarcie do tak długiego posta:).

0

Sprawa jest ambitna. Ja bym się zastanowił na twoim miejscu, czy warto się szarpać. Są wakacje, może lepiej gdzieś wyjedź... To nie o to chodzi, żeby cię zniechęcić ale... Ile masz na to czasu?
Po pierwsze nauczyć się Javy. Ja kiedyś w podobnej sytuacji postanowiłem nauczyć się Delphi w tydzień i wysłać CV.
Powiedzmy, że się nauczyłeś, wiesz o co chodzi w programowaniu obiektowo orientowanym itp. To teraz Java EE. To nie jest język, tylko specyfikacja jak napisać serwer, żeby działały na nim aplikacje zgodne z wytycznymi tejże specyfikacji. Programowanie komponentowe ogólne, EJB, tutaj MDB. Kupisz książkę, wszystko przeczytasz, albo tylko potrzebne rzeczy.
Dalej GWT. Nie znam, ale powstało zapewne po to, by było łatwiej, więc powiedzmy, że poczytasz i będziesz umiał. Maven przy tym to już będzie tylko formalność. O wymaganych algorytmach doczytasz sobie w necie i zrobisz aplikację jak się patrzy.
Tylko teraz wyobraź sobie, że o tą pracę ubiega się student po 4 roku, który już zna javę, podstawy EE i interesował się GWT. Do tego jest ambitny. Będzie miał łatwiej. Mając tyle czasu co ty pewnie zrobi to lepiej.
A o pracę może ubiegać się też absolwent z dwuletnim doświadczeniem na podobnym stanowisku.
Myślę, że pracodawca wybierze któregoś z nich. Dlatego może zacznij się tego uczyć, ale nie wiąż z tym planów na NAJBLIŻSZĄ przyszłość.
Ale jak ci się uda, to pochwal się, będziesz świecił przykładem dla innych.

0

zgadzam się z przedmówcą podobny test kiedyś przeszedłem, z tym że ja miałem wtedy już 3,5 roku doświadczenia zawodowego i połowę z ty6ch technologii znałem.

poza tym obawiam się, ze nawet jeśli podołasz temu zadaniu, to możesz mieć problemy w pracy później, bo wyjdą pewne braki. poza tym po co się zażynać? Stawiam żołędzie przeciw Kamieniom, że pracodawca stwierdzi, że jako student możesz zarabiać tylko 1000zł.... A nawet studentowi drugiego roku nie powinno się chcieć wstawać rano za taką kasę.

0
Black007 napisał(a)

Stawiam żołędzie przeciw Kamieniom, że pracodawca stwierdzi, że jako student możesz zarabiać tylko 1000zł.... A nawet studentowi drugiego roku nie powinno się chcieć wstawać rano za taką kasę.

Typowe polskie podejscie - lepiej nic nie robic? Nawet jako student bez doswiadczenia dostanie te 1000zl oraz wpis do CV i doswiadczenie, ktore jest bardzo cenne. I beg to differ on this.

Z wszystkim innym sie zgadzam - za malo czasu, za duzo technologii. Nikt nie wspomnial rowniez o frustracji jesli chodzi o konfiguracje i uruchomienei aplikacji Java EE, szczegolnie na JBossie - no ale moze to tylko moja przypadlosc, i innym idzie jak z platka.

0

Panowie o moje zarobki się nie martwcie.
Po drugie pracodawca dobrze wie, że w tej chwili nie umiem nic z tych technologii o te braki też się nie martwcie.
Popatrzcie na to ze mną bardziej optymistycznie. Skoro wiecie co i jak o konfiguracji Jbossa z Jave EE, to bardzo by mi się przydała wskazówka, informacja jak podpiąć JBossa 5.1 pod Eclipse.

0
ucilala napisał(a)

Typowe polskie podejscie - lepiej nic nie robic? Nawet jako student bez doswiadczenia dostanie te 1000zl oraz wpis do CV i doswiadczenie, ktore jest bardzo cenne. I beg to differ on this.

Szczerze powiedziawszy to już lepiej pracować na zlecenie, sam wybierasz godziny i robisz to co lubisz a i przy tym się można trochę podszkolić. Więc lepiej harować za grosze niż zarabiać to samo na lepszych warunkach ?

Po pierwszym roku to zbyt wiele nie zdziałasz, chyba że macie jakiś extra program studiów. Sam osobiście po pierwszym roku zarabiałem tylko na php więc bez rewelacji. Dopiero na drugim roku miałem przedmioty związane z Java, C++/Qt, Struktury danych i algorytmy dzięki czemu mogę pozwolić sobie na więcej.

Ja bym na twoim miejscu poczekał chociaż do licencjata i dopiero wtedy pomyślał o jakiejś sensownej pracy, w końcu nie studiujesz całe życie więc lepiej cieszyć się takim studenckim życiem póki można :).

0

Mówią, że nie ma rzeczy nie możliwych... Jeśli Ci się to by udało opanować w dwa miechy to proponuje napisać książkę. Nie znając kompletnie języka obiektowego to brzmi jak jakiś cud. Ja na pewno bym nie dał rady w takim czasie, ale nie znam twoich możliwości, więc życzę Ci powodzenia..... Ja by ugryzł problem od innej strony. Znając szefostwo czy ludzi z HR to nie chodzi o to, żebyś się tego nauczył, bo jest to nie możliwe. Oni chcą sprawdzić czy się poddasz czy nie ... Kluczem jest pokaazanie, że jesteś ambitny i probowałeś :) Życzę wytrwałości :)

0
DomeloS napisał(a)

Skoro wiecie co i jak o konfiguracji Jbossa z Jave EE, to bardzo by mi się przydała wskazówka, informacja jak podpiąć JBossa 5.1 pod Eclipse.

W File->New... zaznaczasz Server i z dostepnej listy wybierasz odpowiednia wersje serwera (i dalej wg kreatora wskazujesz sciezke i ew. dodatkowe parametry, ktorych wartosci domyslne na poczatek w zupelnosci wystarcza). Po kliknieciu Finish bedziesz mogl zarzadzac Swoim serwerem z poziomu zakladki Servers (Window->Show View->Servers).
Od teraz bedziesz mogl ustawiac ten serwer jako Target runtime dla Swoich projektow. Eclipse w wiekszosci przypadkow sam zadba o odpowiednia konfiguracje i deployment.

Do tego, co potrzebujesz zrobic, bedziesz potrzebowal zapoznac sie co najmniej z sekcja IV:
http://download.oracle.com/docs/cd/E17410_01/javaee/6/tutorial/doc/

HTH, pozdr.

0
michas262 napisał(a)

Szczerze powiedziawszy to już lepiej pracować na zlecenie, sam wybierasz godziny i robisz to co lubisz a i przy tym się można trochę podszkolić. Więc lepiej harować za grosze niż zarabiać to samo na lepszych warunkach ?

Zajebiscie mowic o lepszych warunkach i umowie zleceniu jak mowa o kolesiu ktory nie zna Javy wiec kto mu da zlecenie? Poza tym chodzilo mi ogolnie, o prace, ze lepiej cos porobic i sie nauczyc i dostac kieszonkowe niz lezec do gory brzuchem lub jechac na zmywak.

0
ucilala napisał(a)

Zajebiscie mowic o lepszych warunkach i umowie zleceniu jak mowa o kolesiu ktory nie zna Javy wiec kto mu da zlecenie? Poza tym chodzilo mi ogolnie, o prace, ze lepiej cos porobic i sie nauczyc i dostac kieszonkowe niz lezec do gory brzuchem lub jechac na zmywak.

Dlatego nie mówię, żeby od razu pisać w javie tylko zacząć od czegoś bardziej prostszego (w wypowiedzi wyżej podałem własny przykład).

Co do tego kieszonkowego no to chyba w tym samym sensie napisałem :)

0
ucilala napisał(a)

Typowe polskie podejscie - lepiej nic nie robic? Nawet jako student bez doswiadczenia dostanie te 1000zl oraz wpis do CV i doswiadczenie, ktore jest bardzo cenne. I beg to differ on this.

Nie no oczywiście, doświadczenie ważna rzecz, jednak może je zdobyć, nie zarzynając się nocami nad Jboss 5.1 i Mavenem. tutaj chodzi o to, co włoży (energię, czas) a co wyciągnie (1000zł???/mieś).
Mam nadzieję, ze autor postu się ceni, bo wymagania są dla człowieka z 2,5 - 3 letnim doświadczeniem a taki zarabia więcej niż student II roku.
Drogi autorze, jeśli Ci się uda, dostać to się targuj.

Tak wiec moja wypowiedź bardziej miała uzmysłowić, że należy się cenić, cenić i jeszcze raz cenić.
Napisze to dużymi literami: CENIĆ!

A dlaczego? To napisze w wolnej chwili na offtopie i mam nadzieję na konstruktywną dyskusje z użytkownikiem ucilala (notabene mógłby się zarejestrować ).

Pozdrawiam.

0

Posłuchajcie, w owej firmie są zatrudnieni programiści po studiach, a także zdarza się, że studenci 4 i 5go roku.
I gdy uda mi się przejść to zadanie o które proszę was o wsparcie, to będą mnie stopniowo i efektywnie wprowadzać i mogę powiedzieć, że na start dostane więcej niż 20zł za godzinę, więc moją kieszeń się nie martwcie. Chcę jedynie abyście mi pomogli zrealizować jak najwięcej projektu. A wtedy jeśli mi się uda na pewno wam powiem.

Pomożecie? :).....

0

Ja myślę, ze jeśli zadasz konkretne pytanie, to każdy Kto będzie umiał Ci tutaj pomoże.

Natomiast nie możemy Cie prowadzić za rączkę, bo nawet jeśli się dostaniesz to i tak Cie wywalą po tygodniu, bo się okaże, ze bez pomocy nie dajesz rady.

0

Panowie większość waszych postów to kompletna bzdura i bezsensu gadanie. Zadanie niby dla osoby z doświadczeniem 2 czy 3 lata. Zadanie jest dla osób ambitnych i doświadczenie tu nie ma nic do tego. Jeżeli dobrze się posłucha wskazówek osoby przekazującej zadanie to się spokojnie da je zrealizować. Także nie chodzi tutaj o doświadczenie. A to co tu piszecie świadczy o waszych ambicjach i podejściu do życia. Oprócz tego osoba przekazująca zadanie informuje że można zadawać pytania. Jeden post był trafny nie chodzi o pełne zrealizowanie zadania ale o podejście do niego i weryfikację jak dana osoba sobie poradzi z szukaniem wiedzy. Tutaj autor zadania bierze pod uwagę kwalifikację danej osoby i jej doświadczenie i zależnie od tego podchodzi do oceny zadania. Taki sposób rekrutacji właśnie spokojnie pozwala wyeliminować takich niezdecydowanych bez ambicji ludzi jak Ci którzy tutaj pisali takie bzdety. Także dziękuję wszystkim za wypowiedź bo to pozwala mi wyobrazić sobie kogo jeszcze na rekrutacji mogę spotkać i tym bardziej uświadamia mnie w przekonaniu że sposób rekrutacji jest skuteczny :).

1 użytkowników online, w tym zalogowanych: 0, gości: 1