Projekt do CV - Java Spring RESTful

Odpowiedz Nowy wątek
2019-08-06 15:13
0

Czy ten projekt nadaje się do CV?
https://github.com/bezikan/pharmacy

Pozostało 580 znaków

2019-08-06 15:16
0

Projekt jakich wiele. Mógłbyś sklonować jakiś spring-crud-example, pozmieniać nazwy i wyjdzie coś takiego. Do CV średnio.

Pozostało 580 znaków

2019-08-06 15:18
0

co w takim razie polecasz innego?

Pozostało 580 znaków

2019-08-06 15:20
0

Coś bardziej rozbudowanego. Coś o czym potem mowiesz opowiedzieć, co ma jakąś (skomplikowaną) logikę lub rozwiązuje jakiś techniczny problem. Zastanów się, co możesz na rozmowie powiedzieć o tym projekcie? Czego się nauczyłeś i jakie ciekawe rozwiązania tam zaimplementowałeś?

Pozostało 580 znaków

2019-08-06 15:21
0

A podobno 90% osób nie robi w pracy skomplikowanych rzeczy tylko pisze crudy, to po co coś innego?
Nie każdy chce być w tych 10% i pisać sterowniki do głowic nuklearnych (o ile takie coś istnieje) :-D

edytowany 1x, ostatnio: au7h, 2019-08-06 15:22

Pozostało 580 znaków

2019-08-06 15:23
0

podobno. Umieszczając projekt w CV chciałbyś raczej żeby pomógł on wybić Ci się z tłumu. Po pięcioletnich studiach ludzie mają znacznie ciekawsze projekty w CV niż CRUD w springu, więc takie coś może zadziałać wręcz odwrotnie do zamierzonego celu.

Pokaż pozostałe 6 komentarzy
Masz trochę skrzywione wyobrażenie rzeczywistości, rynek niekoniecznie tak wygląda. - tdudzik 2019-08-08 00:03
dla @au7h lub innych to tak wygląda... Mam wrażenie że za dużo Shalom się naczytałeś. - Cr0w 2019-08-08 05:15
W sensie ja za duzo sie naczytalem? Pracuje juz kolejny rok i robilem różne rzeczy, nie było to rocket science, ale tez nie crudy. Wiem też jakie rzeczy sie robi w innych projektach i tez nie są to crudy. Wiem tez jakie projekty robili ludzie na studiach z którymi pracuje, ale o tym juz przeciez mowilem. Odpowiadając na forum zazwyczaj zakładam, że ktoś ma jakieś tam ambicję. Jeżeli tak nie jest to warto to zaznaczyć, żeby sie nikt nie produkował niepotrzebnie. - tdudzik 2019-08-08 08:44
Hee, a ty najwyraźniej masz Efekt Dunninga-Krugera :P Ja pisałem o tym co robi się u mnie na studiach w Krakowie i jakie są propozycje tematów prac. CRUD + zalążki analizy obrazu, parsowanie jakichś tam stron jsoupem, reszta to prace z grafiki gdzie trzeba zaprojektować galerię handlową w Autodesk Maya itp itd lub prace z elektroniki np. Budowa drukarki 3D. W domu można sobie pisać nawet i os'a. Np. moja praca to łączenie z zewnętrznym api, pobieranie danych, mapowanie na klasy, jakieś tam obliczenia i wizualizacja wyników w postaci latających "kropek" na mapie radaru :-D - au7h 2019-08-08 11:20
O co Ci właściwie chodzi bo już nie rozumiem? Dałem kilka rad i pomysłów na projekty, które mocno zwiększają szanse na bycie zauważonym, choćby w Krakowie w ktorym tez mieszkam, bo do jakiegoś Google może być za mało. Nikt nie musi z nich korzystać, zawsze można próbować szczęścia z crudem z generatora. - tdudzik 2019-08-08 12:11

Pozostało 580 znaków

2019-08-06 15:34
0

A co to jest, bo README nie widzę.


CRUD. Zapisuje kilka encji o różnych nazwach do bazy. - tdudzik 2019-08-06 15:35

Pozostało 580 znaków

2019-08-06 15:39
1

Nie ma testów, nie ma frontu, nie korzystasz z dockera. Jeszcze długa droga przed tobą do juniora/stażysty. Tak jak kolega wyżej napisał, twój projekt nie różni niczym od projektów ludzi po bootcampach, więc zginiesz w tłumie miernych CV. Wygląda jak lekko zmieniony Spring CRUD example.

Polecam robić własne projekty od zera. Nie musi to być nawet oklepany CRUD w springu i hibernate. Twój projekt robi tyle co zwykła TODO-lista. Jak chcesz zdobyć pracę i mieć coś ciekawego do CV to postaraj się i zrób coś kreatywnego i użytecznego. Mój znajomy ostatnio się przebranżawiał i robiłem mu mały code-review. Zrobił prostą aplikację wielowątkową: porównywarkę cen danego produktu(z allegro, ebay, amazon itd), która odpalała się co określony czas (np raz na tydzień). Łączyła się z różnymi API, jeżeli cena była w innych walutach to łączył się również z kantorem i obliczał, zapisywał do bazy a potem generował raport w postaci pliku excela jak cena zmieniała się w czasie. Nie było to łatwe wyzwanie i czasami gdy nie miał dostępu do publicznego API używał parserów HTML typu JSoup.

Mając taką prostą aplikację w CV z łatwością dostał się na staż i z tego co wiem jest zadowolony i jakoś sobie radzi. Bo na temat takiej aplikacji mógł sobie porozmawiać na rozmowie, rozwiązał kilka problemów, które musiał sam rozwiązać, bo nie było do nich "tutoriala". O twojej apce nie ma zbytnio co rozmawiać, więc jak już chcesz robić takie aplikacje CRUDowe to rób je porządnie tzn.
- zawsze rób testy!!! (jednostkowe bez mockowania, integracyjne)
- jeśli chodzi o pakiety to masz układ typowo z tutoriala, poczytaj o package by feature http://www.javapractices.com/topic/TopicAction.do?Id=205
- dodaj front np: w thymeleafie, angularze lub reactcie
- naucz się i korzystaj z dockera
- dodaj trochę operacji i logiki biznesowej do tego CRUDa, żeby ta aplikacja nie opierała się tylko na operacjach na bazie danych. Przykładowo: wysyłanie maili, generowanie statystyk, cokolwiek fajnego sobie wymyślisz
- zamiast robić dużo małych aplikacji zrób 1-2 większe, nad którymi posiedzisz kilka miesięcy i przyłożysz się do jakości i czystości kodu

popatrz np: tutaj: https://github.com/bezikan/ph[...]er/DiseaseController.java#L74

Jaki sens mają te puste linie? Świadczy to tylko o twoim niedbalstwie w kodzie.

edytowany 2x, ostatnio: witold12, 2019-08-06 15:42
Nie każdy w domowych warunkach musi korzystać z dockera. Widziałem wiele ciekawych projektów odpalanych z IDE i na tym poprzestawały. Myślę, że armata na wróble jest niepotrzebna - au7h 2019-08-06 17:18

Pozostało 580 znaków

2019-08-06 15:44
0

Rzuciłem okiem na kod, endpoint do zapisywania chorób:

@PostMapping("/diseases")
    public ResponseEntity<?> createDisease(@RequestBody Disease disease) {
        if(diseaseRepository.findById(disease.getId()).isPresent()) {
            logger.info("choroba istnieje w bazie");
            return new ResponseEntity<>(HttpStatus.CONFLICT);
        }
        return  new ResponseEntity<>(HttpStatus.CREATED);
    }

Gdzie tu jest zapis? :D No i unikałbym stosowania ? w konkretnym, nie-generycznym kontrolerze.

Efekt ignorowania testów jednostkowych - witold12 2019-08-06 15:45

Pozostało 580 znaków

2019-08-06 16:25
1

@witold12

Ja osobiście się z tym podziałem package by feature nie zgadzam, szczególnie z takim jak pokazany w tym artykule. Moim zdaniem podział na zasadzie moduły by feature a wewnątrz modułu podział na warstwy jest dużo sensowniejszy, bo z jednej strony masz moduły odpowiedzialne za niezależne ficzery, a z drugiej strony masz oddzielone pakiety infrastrukturalne (jak kontrolery i repozytoria) i pakiety z logiką domenową. Ale nawet i to ma sens tylko jeśli serio masz tam rozbudowaną logikę i coś się tam faktycznie dzieje, bo jak ktoś ma 3 klasy i robi z tego projekt na 5 modułów i 50 pakietów to czasem brakuje słów.

  • naucz się i korzystaj z dockera

gdzie tam jest miejsce na dockera w ogóle?


Masz problem? Pisz na forum, nie do mnie. Nie masz problemów? Kup komputer...
Pokaż pozostałe 8 komentarzy
ukrycie klas, tak żeby na zewnątrz modułu/pakietu było widać tylko to co chce a nie wszystko. Przy zwykłych javowych pakietach często szybko okazuje się, ze w jednym pakiecie siedzi po prostu dużo rzeczy - danek 2019-08-08 13:25
Po 1 w typowym projekcie jak dobrze se to podzielisz to wcale nie jest tak dużo :) Po 2 co za różnica czy masz w pakiecie 20 klas, czy porobisz sobie w nim 5 podpakietów po 4 klasy. Jedyny plus to estetyka w drzewku klas w IDE a właśnie tracisz przez to hermetyzację - baant 2019-08-08 13:29
zależy też od zakresu pakietu. Nie mniej dopiero eksperymentuje z różnymi podejściami - danek 2019-08-08 13:44
@baant dużo łatwiej wdrożyć się w projekt kiedy podział na pakiety jest dobrze zrobiony. W Scali można np. stworzyć klasę która jest widoczna tylko w paczce wyżej, ale nie dalej, jest to imo całkiem sensowne rozwiązanie. - tdudzik 2019-08-08 13:47
zgadza się, niestety brakuje tego w javie i trzeba sobie z tym radzić :c - baant 2019-08-08 13:51

Pozostało 580 znaków

2019-08-06 16:58
1

W sumie ciężko na tej stronie znaleźć kto w ogóle za nią stoi, nie wiem więc czemu ktoś miałby brać te porady na poważnie.

Poza tym, ze wszystkimi tymi poradami typu package by feature, package private i fasady czy DDD problem jest taki, że ludzie którzy promują te idee prezentują je na bardzo prostych przykładach i nieskomplikowanej domenie. W realnym świecie domena jest często na tyle zawiła, że nie da się tak łatwo wydzielić niepowiązanych ze sobą features.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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

Użytkownik: kzkZBK