Web Dev To Be

Page 2 of 2

Internet of Devs – czyli co warto czytać w branży

Lubię blogi. Naprawdę bardzo lubię blogi, czytam regularnie przynajmniej trzy tuziny blogów z różnych dziedzin – podróżnicze, książkowe, sportowe, turystyczne. Ba, nawet kulinarne od czasu do czasu odwiedzam. Lubię blogi, bo oferują nieodfiltrowany wgląd w ludzi przepełnionych pasją! W to co siedzi w ich głowach, w to jak pracują, jak spędzają czas, jak wygląda ich życie.
Dlatego od momentu, kiedy postawiłem pierwsze kroki w świecie programistów, stwierdziłem, że jednym ze źródeł wiedzy będą właśnie programistyczne blogi. Chciałem połączyć umiejętności, które definiują programistów z … ludźmi. Prawdziwymi ludźmi, z imionami i nazwiskami, którzy opisują swoje doświadczenia w branży. No i cóż. Świat developerów w internecie to nieprzebrana studnia inspiracji, wiedzy, przemyśleń.

Ten post to zbiór blogów, które odwiedzam regularnie, przynajmniej raz w tygodniu. Ale nie tylko. Wrzucam tu też portale – miejsca takie jak dev.to – agregat wartościowych wpisów z wielu różnych blogów, lub takie jak medium.freecodecamp.com – blog obozu freecodecamp, miejsca gdzie tysiące deweloperów zaczyna swoją przygodę z programowaniem.
Continue reading

Guessing Game – szybkie ćwiczenie w Javie

Zasady są proste:
– musisz odgadnąć liczbę w zadanym przedziale. Liczbę tę komputer generuje losowo
– odwracamy sytuację. To komputer ma odgadnąć liczbę wymyśloną przez Ciebie
– wszystkim sterujemy przez podstawowe narzędzie I/O w Javie, czyli Scanner
– program powinien zliczać ilości prób

Continue reading

Understanding the basics of algorithms in Java

[Ten wpis będzie w całości po angielsku. Od czasu do czasu takie teksty będą się pojawiać. Robię tak z dwóch powodów – w Javie, tak jak w każdym języku programowania, trzeba przyswoić tony branżowej i językowej nomenklatury, która czasami (ba, nawet bardzo często) fatalnie przekłada się na język polski. Dobrze jest się więc „obywać” z angielskim, oryginalnym nazewnictwem. Druga sprawa to po prostu praktyka angielskiego.

There is a time, when you have to take a hit with the wall of algorithms in Java. You can make it sooner or later, but eventually this time will come. So here i am – practicing the very basics of three different algorithms:
– bubble sort
– selection sort
– quick sort

And this text is nothing else but the quick evaluation of my experiences. Just before we start – there are literally thousands of explanations, tutorials, videos and texts all over the web how algorithms work. I wasted quite a lot of time going through a significant number of them – don’t do this! Yep, it is a waste of time in my opinion. The resource i found particulary good was an app called Algorithms:Explained and Animated. This app is simple and neatly designed! And thats all i need, really, in the very basic step of algorithm learning. Download it and play with it for some time – its great, even if you have 20 minutes in the tram or bus to work/school.

Continue reading

Make it, till you make it – pierwszy miesiąc kursu z SDAcademy

Śmignęło w mgnieniu oka. Tydzień temu minął pierwszy miesiąc od startu kursu Java w Software Development Academy w Krakowie. Ekipa silna liczbą 16 chłopa trzyma się dzielnie, ale każdy – bez wyjątków – musiał po drodze przeskoczyć potężne przeszkody. Nie raz i nie dwa. Najważniejszy wniosek – make it till you make it. IT na pewnym poziomie to żadne rocket science, to po prostu potężna ilość informacji, które trzeba bardzo solidnie przyswoić. A przyswajanie w tym zawodzie to żmudne dłubanie w kodzie – bez tego ani rusz. Tylko długie godziny w IntelliJ, które – przynajmniej dla mnie – oznaczają, że niemal każdą procedurę muszę opisać pięcioma linijkami komentarza (też tak macie?). Skompilować, uruchomić. Dodać funkcjonalność, przepisać, zoptymalizować powtarzalne operacje metodami, i tak w kółko. Dużo pracy. Tak to musi wyglądać.

Continue reading

Liczby pierwsze w Javie – na dwa proste sposoby

Banał? Pierdoła? Dla doświadczonych rozpykanie prostej aplikacji drukującej liczby pierwsze nie powinno zająć dłużej niż dwie, trzy minuty. To zaledwie kilka linijek kodu. Ale niech Was nie zwiedzie intuicyjna prostota takiego zdania. Aplikacje z liczbami pierwszymi to doskonały przykład aplikowania prostych zasad do logiki rządzącej językami programowania, czyli kluczowej umiejętności programisty. KLUCZOWEJ! Pisał o tym Jeff Atwood, autor chyba mojego ulubionego bloga o programowaniu Coding Horror.:

I’m more than willing to cut freshly minted software developers slack at the beginning of their career. Everybody has to start somewhere. But I am disturbed and appalled that any so-called programmer would apply for a job without being able to write the simplest of programs. That’s a slap in the face to anyone who writes software for a living.

The vast divide between those who can program and those who cannot program is well known. I assumed anyone applying for a job as a programmer had already crossed this chasm. Apparently this is not a reasonable assumption to make. Apparently, FizzBuzz style screening is required to keep interviewers from wasting their time interviewing programmers who can’t program.

Continue reading

Od czego zacząć, albo lepiej od czego nie zaczynać nauki programowania

Jest tego od cholery. Kilka sesji googlowania i nasz folder z zakładkami puchnie niemożebnie. Bo jest tak, że jeżeli chodzi o naukę programowania, to źródeł w internecie nie brakuje. Mam wrażenie, że każdego tygodnia przybywa ich kilka tuzinów. Niby fajnie, bo naprawdę jest tego sporo i można wybierać. Ale z drugiej strony świeżak, taki jak ja, wchodzi do tego lasu pełnego urodzaju i … zamiera. Tu zajrzę, tam zajrzę, o a tu ładny layout i mówią do mnie po ludzku, o a tu jest dużo przykładów do kompilowania, o a tu jeszcze inaczej. I na dobrą sprawę tracimy nasz cel podstawowy z pola widzenia. I w efekcie nie uczymy się niczego, brnąc przez kilkadziesiąt pierwszych lekcji wszystkich kursów.

Dlatego jeżeli na tym etapie skończysz czytać ten tekst, zapamiętaj jedno. Nie mnóż źródeł nauki. Otwórz jeden kurs, przerób go solidnie i sumiennie od deski do deski. Powtórz, usiądź i napisz własny projekt i dopiero wtedy przeskakuj do kolejnego kursu.

Analitycznie do procesu, czyli o meblowaniu mózgu świeżaka

W moim przypadku postawiłem od początku na wybrane źródła i to one organizują mi teraz proces nauki. Podszedłem więc do tematu analitycznie (jeżeli słyszycie wszędzie, że podstawowy skill programisty to analityczny umysł, to to nie jest czcze pitolenie. Stoi za tym bardzo konkretna umiejętność). Co to znaczy w praktyce? Rozbiłem proces nauki programowania w Javie na kilkanaście małych, podrzędnych klocków. Na obecnym etapie, który powoli zbliża się do końca, wygląda to tak:

To, co wymieniłem powyżej nie wyczerpuje oczywiście wszystkiego. Na porządku dziennym odwiedzam z konkretnymi zapytaniami Stack Overflow, ponadto mocuję się z ciężkim, bo najeżonym matematycznymi wyzwaniami kursem na stronach uczelni Princeton. Ten ostatni daje solidny zestaw gotowych programów do własnoręcznej kompilacji i uruchomienia. Naprawdę można tu sporo poćwiczyć.

To wszystko ma umeblować mój mózg podstawowymi pojęciami, tak by zacząć czytać i rozumieć logikę procesu w kodzie. To fundament analitycznego myślenia. Spojrzeć na kod, na wszystkie elementy biorące udział i … skumać! Proste? No nie. Wręcz przeciwnie, od tygodnia cięższej pracy widzę, że proces nauki programowania to jest coś na długie lata. Serio. Na długie lata.

Ostatnio wśród moich znajomych na fejsie ktoś zaszerował nieśmiertelny już artykuł Petera Norvige’a „Teach Yourself Programming in Ten Years”. Cały artykuł jest na tyle krótki i na tyle konkretny, że warto go wydrukować i powiesić na ścianie.

So go ahead and buy that Java/Ruby/Javascript/PHP book; you’ll probably get some use out of it. But you won’t change your life, or your real overall expertise as a programmer in 24 hours or 21 days. How about working hard to continually improve over 24 months? Well, now you’re starting to get somewhere…

Ton artykułu Norvige’a jest niezwykle otrzeźwiający. Wszak cały czas jesteśmy mamieni szybkim skokiem zawodowym, że wystarcza miesiąc, dwa, trzy, i tak dalej i już można developować za syty hajs na wygodnej posadce. Ekhm.. it aint like this… Długa perspektywa. To jest to.

Witaj, świecie, którego nie znam!

Hello, World! jest zawsze obietnicą. Nie zliczę, ile razy copy-pastowałem, czy też przepisywałem formułki, które po skompilowaniu wypluwały proste Hello, World!

Tak wygląda Hello, World! w Javie. Bo właśnie o Javę tu chodzi. Ten blog to zapis mojej drogi, u której początku właśnie stoję. Przejdę od razu do rzeczy:

Do końca tego roku chcę nauczyć się Javy w stopniu, który pozwoli mi znaleźć pracę jako Junior Java Developer.

To cel. Cel, z powodu którego lekko uginają się pode mną nogi, głos staje w gardle a po plecach leci strużka potu. Bo mam świadomość ogromu pracy, gigantycznego ogromu pracy przede mną. Cholera, to być może najtrudniejsze dotychczas wyzwanie w moim życiu. Moja zazwyczaj dość wysoka pewność siebie gdzieś chowa się do kąta, wbija wzrok w podłogę i rozgląda się nerwowo, szukając oparcia. Nie wiem, czy to się uda. Ale spróbujmy.

Po co jest ten blog?

No właśnie. Ten blog to środek do celu. Idea jest prosta – blog utrwala zdobytą wiedzę. Nie będę tu jednak opisywał każdych kolejnych cegiełek wiedzy i praktyki, bo to daremne i niepotrzebne. W tysiącach takie materiały znajdują się w internecie. Zamiast tego możecie liczyć na pewien ekstrakt całości doświadczenia – ściany o które się rozbiłem, nieudane projekty, momenty w których nastąpił KLIK, momenty #OKURWACOJATUROBIĘ, historie drobnych sukcesów, słowem – PROCES. Druga sprawa jest taka, że lubię pisać. Piszę od dzieciaka, sprawia mi to przyjemność, wiem z doświadczenia, że to dobry sposób na zwiększone zaangażowanie i lepsze efekty.

Na blogu pisać będę minimum dwa teksty tygodniowo.

Jak chcę nauczyć się programowania?

Plan, po długim, żmudnym wertowaniu sieci jest dosyć klarowny. No dobra, dla mnie – laika – on jest klarowny. Dla każego speca siedzącego w Javie za pewne nie jest.

1) Praca samodzielna, której nadrzędną ideą jest zanurzenie w środowisku Javy. Czyli nie jest tak, że spędzę miesiąc dłubiąc w HTML i CSSie, później przeskoczę do Javascriptu, baz danych, protokołów, etc. Nie, te technologie mniej więcej znam. Od razu chcę wskoczyć w język, zderzyć się z prostą aplikacją. Z pomocą internetu (a da się inaczej? StakcOverflow, nadchodzę!) chcę sobie je tłumaczyć, dodawać, modyfikować istniejące rozwiązania. Próbować kleić te puzzle samemu, wnikające jednocześnie w logikę. Jednym słowem – rozumieć proces.

2) Kurs. Aplikuję na kurs Java od Podstaw w Krakowie. Czekają mnie cztery miesiące harówy. Będzie ciekawie. O kursie będę pisał więcej, jak tylko dostanę więcej detali i jak już rozpoczną się zajęcia. Dlaczego kurs? Bo

3) Praktyka z moim bratem. To mój największy atut – mam brata, który w Javie dłubie od… no, od cholery. To już chyba dekada będzie. Jest już od jakiegoś czasu seniorem. I pasjonatem programowania. Cieszy mnie to, że w przypadku utknięcia będę mógł się gdzieś zwrócić. No i jednak praktyka z kimś na poziomie pro to jest coś, co w tym projekcie cieszy mnie chyba najbardziej.

No i najważniejsze. Po co?

Dla hajsu. Dla tej mitycznej mamony, w której pływają programiści. 😀 Żartuję. Chodzi o to, że programowanie ma być dla mnie środkiem do celu. Jakiego? Powiem wkrótce ;).

Newer posts »

Copyright © 2017 Web Dev To Be

Theme by Anders NorenUp ↑