{"id":3155,"date":"2023-06-26T07:51:26","date_gmt":"2023-06-26T07:51:26","guid":{"rendered":"https:\/\/www.juniorjavadeveloper.pl\/?p=3155"},"modified":"2023-08-11T18:27:05","modified_gmt":"2023-08-11T18:27:05","slug":"nieszablonowy-projekt-java-do-portfolio-zewnetrzne-api-java-sound-speak-random-chuck-norris-jokes-youtube","status":"publish","type":"post","link":"https:\/\/www.juniorjavadeveloper.pl\/en\/2023\/06\/26\/nieszablonowy-projekt-java-do-portfolio-zewnetrzne-api-java-sound-speak-random-chuck-norris-jokes-youtube\/","title":{"rendered":"Nieszablonowy projekt Java do portfolio &#8211; zewn\u0119trzne API + Java Sound &#8211; Speak Random Chuck Norris Jokes &#8211; YouTube"},"content":{"rendered":"<p class=\"wp-block-paragraph\">Szukasz pomys\u0142u na nieszablonowy projekt do portfolio? Wszyscy maj\u0105 ju\u017c dosy\u0107 szablon\u00f3w CRUD w Twoim portfolio? Chcesz zobaczy\u0107 namacalne efekty Twojej pracy? Je\u017celi Twoja odpowied\u017a, na kt\u00f3re\u015b z pyta\u0144 jest twierdz\u0105ca, to ten video tutorial jest dla Ciebie. Zobacz jak Twoja aplikacja Java mo\u017ce wypowiada\u0107 losowe dowcipy o Chucku Norrisie!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ten video tutorial pokazuje jak wykorzysta\u0107 zewn\u0119trzne API u\u017cywaj\u0105c protoko\u0142u HTTP oraz biblioteki OkHttp do jego obs\u0142ugi. Pierwsze API zwraca tylko tekst, drugie API zamienia tekst na mow\u0119 w dowolnym j\u0119zyku. Tak zamieniony tekst jest nast\u0119pnie odtwarzany przez Java Sound. Wszystko z wykorzystaniem &#8220;czystej Javy&#8221;, bez dodatk\u00f3w framework\u00f3w. Kod pisany z wykorzystaniem IntelliJ IDEA.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">W trakcie pisania kodu obja\u015bniam i pokazuje dobre praktyki programowania obiektowego, dla tworzonych klas pisz\u0119 testy jednostkowe stosuj\u0105c TDD &#8211; JUnit. Pokazuj\u0119 strony, na kt\u00f3rych mo\u017cna znale\u017a\u0107 prezentowane poj\u0119cia, biblioteki oraz prezentuj\u0119 jak z nich skorzysta\u0107 &#8211; biblioteki + Maven. W trakcie pisania omawiam skr\u00f3ty klawiszowe do IntelliJ IDEA. Kodowanie na \u017cywo, krok po kroku.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">#externalapi #javasound #oop #chucknorris #jokes #maven #json #okhttp #gson #pojo #tdd #junit #di #dependencyinjection #java #juniorjavadeveloper #youtube #intellij #livecoding #project #portfolioproject<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Nieszablonowy projekt Java do portfolio, zewn\u0119trzne API, Java Sound, Speak Random Chuck Norris Jokes\" width=\"768\" height=\"432\" src=\"https:\/\/www.youtube.com\/embed\/ZT3V8YLqvFA?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><figcaption class=\"wp-element-caption\">Nieszablonowy projekt Java do portfolio &#8211; zewn\u0119trzne API + Java Sound &#8211; Speak Random Chuck Norris Jokes &#8211; YouTube<\/figcaption><\/figure>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\"><strong>Video tutorial celowo nagrany wolno i spokojnie, aby ka\u017cdy m\u00f3g\u0142 nad\u0105\u017cy\u0107 za moim przekazem. Dla tych, kt\u00f3rzy potrzebuj\u0105 wi\u0119cej dynamiki, to mog\u0105 przyspieszy\u0107 video x1.5 bez straty dla materia\u0142u \ud83d\ude42<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Poni\u017cej linki wykorzystane w projekcie:<\/p>\n\n\n\n<figure class=\"wp-block-table alignwide\"><table class=\"has-fixed-layout\"><tbody><tr><td class=\"has-text-align-center\" data-align=\"center\"><a href=\"https:\/\/api.chucknorris.io\" data-type=\"URL\" data-id=\"https:\/\/api.chucknorris.io\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/api.chucknorris.io<\/a><\/td><td><a href=\"https:\/\/en.wikipedia.org\/wiki\/API\" data-type=\"URL\" data-id=\"https:\/\/en.wikipedia.org\/wiki\/API\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/en.wikipedia.org\/wiki\/API<\/a><\/td><td><a href=\"https:\/\/square.github.io\/okhttp\/\" data-type=\"URL\" data-id=\"https:\/\/square.github.io\/okhttp\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/square.github.io\/okhttp\/<\/a><\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\"><a href=\"https:\/\/www.voicerss.org\/api\" data-type=\"URL\" data-id=\"https:\/\/www.voicerss.org\/api\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.voicerss.org\/api<\/a><\/td><td><a href=\"https:\/\/en.wikipedia.org\/wiki\/JSON\" data-type=\"URL\" data-id=\"https:\/\/en.wikipedia.org\/wiki\/JSON\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/en.wikipedia.org\/wiki\/JSON<\/a><\/td><td><a href=\"https:\/\/www.jsonschema2pojo.org\/\" data-type=\"URL\" data-id=\"https:\/\/www.jsonschema2pojo.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.jsonschema2pojo.org\/<\/a><\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\"><a href=\"https:\/\/rapidapi.com\/hub\" data-type=\"URL\" data-id=\"https:\/\/rapidapi.com\/hub\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/rapidapi.com\/hub<\/a><\/td><td><a href=\"https:\/\/en.wikipedia.org\/wiki\/Plain_old_Java_object\" data-type=\"URL\" data-id=\"https:\/\/en.wikipedia.org\/wiki\/Plain_old_Java_object\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/en.wikipedia.org\/wiki\/Plain_old_Java_object<\/a><\/td><td><a href=\"https:\/\/docs.oracle.com\/javase\/tutorial\/sound\/playing.html\" data-type=\"URL\" data-id=\"https:\/\/docs.oracle.com\/javase\/tutorial\/sound\/playing.html\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/docs.oracle.com\/javase\/tutorial\/sound\/playing.html<\/a><\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\"><a href=\"https:\/\/api-ninjas.com\/api\" data-type=\"URL\" data-id=\"https:\/\/api-ninjas.com\/api\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/api-ninjas.com\/api<\/a><\/td><td><a href=\"https:\/\/github.com\/google\/gson\/blob\/main\/UserGuide.md\" data-type=\"URL\" data-id=\"https:\/\/github.com\/google\/gson\/blob\/main\/UserGuide.md\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/github.com\/google\/gson\/blob\/main\/UserGuide.md<\/a><\/td><td><a href=\"https:\/\/www.baeldung.com\/java-play-sound\" data-type=\"URL\" data-id=\"https:\/\/www.baeldung.com\/java-play-sound\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.baeldung.com\/java-play-sound<\/a><\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">Linki wykorzystane w projekcie.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Dodatkowo korzysta\u0142em z moich w\u0142asnych artyku\u0142\u00f3w: <a href=\"https:\/\/www.juniorjavadeveloper.pl\/en\/2020\/11\/17\/stop-zanim-zaczniesz-pisac-kod-zastanow-sie-co-chcesz-kodowac-analiza-projekt-i-implementacja\/\" data-type=\"post\" data-id=\"1238\">Stop! Zanim zaczniesz pisa\u0107 kod zastan\u00f3w si\u0119, co chcesz kodowa\u0107? Analiza, projekt i implementacja<\/a>, <a href=\"https:\/\/www.juniorjavadeveloper.pl\/en\/2020\/05\/13\/aplikacje-java-maja-warstwy-jak-tort-urodzinowy-aplikacja-trojwarstwowa\/\" data-type=\"post\" data-id=\"746\">Aplikacje Java maj\u0105 warstwy jak tort urodzinowy \u2013 aplikacja tr\u00f3jwarstwowa<\/a> oraz <a href=\"https:\/\/www.juniorjavadeveloper.pl\/en\/2023\/01\/19\/trzy-trojce-programistyczne-jak-ulatwic-poczatki-programowania\/\" data-type=\"post\" data-id=\"1920\">Trzy tr\u00f3jce programistyczne \u2013 jak u\u0142atwi\u0107 pocz\u0105tki programowania<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Tak jak wspomina\u0142em w tym video tutorialu, powstanie kontynuacja, tego projektu &#8220;Speak Random Chuck Norris Jokes&#8221;, kt\u00f3ra b\u0119dzie zawiera\u0142a &#8211; git + Spring Framework + Hibernate + opis Java Sound.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dajcie zna\u0107 w komentarzach czy chcieliby\u015bcie kolejne video tutoriale zrobione w podobnej konwencji &#8211; praktyczny przyk\u0142ad + live coding + IntelliJ.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-wp-embed is-provider-poradnik-dla-przyszlych-junior-java-developer-039-ow wp-block-embed-poradnik-dla-przyszlych-junior-java-developer-039-ow\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"rTUH3pvs3e\"><a href=\"https:\/\/www.juniorjavadeveloper.pl\/en\/kontakt\/\">Contact<\/a><\/blockquote><iframe loading=\"lazy\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; visibility: hidden;\" title=\"\u201eKontakt\u201d \u2014 Poradnik dla przysz\u0142ych Junior Java Developer&amp;apos;\u00f3w\" src=\"https:\/\/www.juniorjavadeveloper.pl\/kontakt\/embed\/#?secret=Vu44U2bolg#?secret=rTUH3pvs3e\" data-secret=\"rTUH3pvs3e\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/div><\/figure>\n\n\n\n<figure class=\"wp-block-embed is-type-wp-embed is-provider-poradnik-dla-przyszlych-junior-java-developer-039-ow wp-block-embed-poradnik-dla-przyszlych-junior-java-developer-039-ow\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"F05ZK95rFO\"><a href=\"https:\/\/www.juniorjavadeveloper.pl\/en\/mentoring-rezerwuj-termin\/\">Mentoring - book an appointment<\/a><\/blockquote><iframe loading=\"lazy\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; visibility: hidden;\" title=\"\u201eMentoring \u2013 rezerwuj termin\u201d \u2014 Poradnik dla przysz\u0142ych Junior Java Developer&amp;apos;\u00f3w\" src=\"https:\/\/www.juniorjavadeveloper.pl\/mentoring-rezerwuj-termin\/embed\/#?secret=jPIPH4NWMk#?secret=F05ZK95rFO\" data-secret=\"F05ZK95rFO\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/div><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Zdj\u0119cie autorstwa <a href=\"https:\/\/www.pexels.com\/photo\/brown-monkey-321552\/\" data-type=\"URL\" data-id=\"https:\/\/www.pexels.com\/photo\/brown-monkey-321552\/\" target=\"_blank\" rel=\"noreferrer noopener\">Oleksandr Pidvalnyi<\/a> z <a rel=\"noreferrer noopener\" href=\"https:\/\/www.pexels.com\/pl-pl\/\" target=\"_blank\">Pexels<\/a>.<\/p>","protected":false},"excerpt":{"rendered":"<p>Szukasz pomys\u0142u na nieszablonowy projekt do portfolio? Wszyscy maj\u0105 ju\u017c dosy\u0107 szablon\u00f3w CRUD w Twoim portfolio? Chcesz zobaczy\u0107 namacalne efekty Twojej pracy? Je\u017celi Twoja odpowied\u017a, na kt\u00f3re\u015b z pyta\u0144 jest twierdz\u0105ca, to ten video tutorial jest dla Ciebie. Zobacz jak Twoja aplikacja Java mo\u017ce wypowiada\u0107 losowe dowcipy o Chucku Norrisie! Ten video tutorial pokazuje jak [&hellip;]<\/p>","protected":false},"author":1,"featured_media":3177,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_ppp_document_settings_meta":"","footnotes":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false}}},"categories":[75],"tags":[],"class_list":["post-3155","post","type-post","status-publish","format-standard","has-post-thumbnail","category-video-tutorial"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/06\/nieszablonowy-projekt-Java-do-portfolio_zewnatrzne-API_Java-Sound_Speak-Random-Chuck-Norris-Jokes_Mentor-Junior-Java-Developer.jpg","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/www.juniorjavadeveloper.pl\/en\/wp-json\/wp\/v2\/posts\/3155","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.juniorjavadeveloper.pl\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.juniorjavadeveloper.pl\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.juniorjavadeveloper.pl\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.juniorjavadeveloper.pl\/en\/wp-json\/wp\/v2\/comments?post=3155"}],"version-history":[{"count":21,"href":"https:\/\/www.juniorjavadeveloper.pl\/en\/wp-json\/wp\/v2\/posts\/3155\/revisions"}],"predecessor-version":[{"id":3187,"href":"https:\/\/www.juniorjavadeveloper.pl\/en\/wp-json\/wp\/v2\/posts\/3155\/revisions\/3187"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.juniorjavadeveloper.pl\/en\/wp-json\/wp\/v2\/media\/3177"}],"wp:attachment":[{"href":"https:\/\/www.juniorjavadeveloper.pl\/en\/wp-json\/wp\/v2\/media?parent=3155"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.juniorjavadeveloper.pl\/en\/wp-json\/wp\/v2\/categories?post=3155"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.juniorjavadeveloper.pl\/en\/wp-json\/wp\/v2\/tags?post=3155"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}