wtorek, 30 maja 2017

Dlaczego warto tworzy膰 notatki z kodu?

Dlaczego warto tworzy膰 notatki z kodu?

Jednym z najwi臋kszych nieporozumie艅 edukacji, jest moim zdaniem nakazywanie uczenia si臋 r贸偶nych rzeczy na pami臋膰. Zdawanie egzamin贸w, nie ma nic wsp贸lnego ze zwyk艂ym 偶yciem i prac膮, poniewa偶 sprawdzaj膮 ono jedynie wykut膮 wiedz臋. Nie ma to 偶adnego sensu, bo wiedza ta nie jest utrwalana i szybko wylatuje z g艂owy.
Praca programisty wymaga przyswajania ogromnych zasob贸w wiedzy i sprawnego korzystania z nabytych wiadomo艣ci. Na podstawie w艂asnych do艣wiadcze艅 mog臋 jednak stwierdzi膰, 偶e prawie nigdy, nie wi膮偶e si臋 ona z zapami臋tywaniem du偶ych fragment贸w kodu, kt贸ry nast臋pnie trzeba wklepa膰 do programu 1:1. Je艣li umiesz to zrobi膰, super, jednak znacznie lepiej jest wiedzie膰, z jakiego 藕r贸d艂a skorzysta膰, by znale藕膰 dobre rozwi膮zanie. Tak - zwykle jest to Stack.
Mo偶na jednak u艂atwi膰 sobie prac臋 przy cz臋sto powtarzanych czynno艣ciach programistycznych i tworzy膰 w艂asne "notatki" z kodu, kt贸re odpowiadaj膮 na cz臋sto zadawane pytania. Przyk艂adowo - front-end deweloper, mo偶e zapisa膰 sobie na pocz膮tku kariery, jak ustawi膰 box-sizing: border-box dla wszystkich element贸w na stronie lub jak wyzerowa膰 marginesy bez si臋gania po reset.css. Znalezienie takich informacji troch臋 trwa, natomiast je艣li mamy je pod r臋k膮 w jakim艣 systemie, mo偶emy 艂atwo je znale藕膰 lub si臋 nimi podzieli膰. Przyznam si臋, 偶e kiedy艣 notowa艂em sobie sposoby na rozwi膮zanie r贸偶nych problem贸w front-endowych w … zwyk艂ym pliku ODT, co oczywi艣cie, mia艂o mn贸stwo wad.

Codepen - my z niego wszyscy

Jedna z najbardziej prze艂omowych rzeczy dotycz膮cych front-endu z ostatnich lat. W艣r贸d za艂o偶ycieli CodePena jest mi臋dzy innymi tw贸rca CSS Tricks, Chris Coyier. Przechodz膮c do rzeczy - Codepen jest wykorzystywany g艂贸wnie do tworzenia niewielkich element贸w stron WWW. U偶ytkownik mo偶e tworzy膰 w艂asne "peny", czyli zintegrowane okienka z edytorem i podgl膮dem HTML. Aplikacja jest na tyle m膮dra, 偶e rozpoznaje bez problemu SCSS, transpiluje r贸偶ne nadzbiory JS, umo偶liwia 艂atwe dodawanie innych bibliotek i dzielenie si臋 kodem. Obs艂uguje te偶 bezproblemowo Emmeta.
Masz pomys艂 na rozwi膮zanie jakiego艣 problemu w HTML i CSS? Odpalasz Codepen i za sekund臋 mo偶esz ju偶 pracowa膰, a gotow膮 prac膮, podzieli膰 si臋 z kolegami. Mo偶esz nawet za艂膮czy膰 sw贸j pen na stronie WWW, lub pobra膰 projekt i rozwija膰 go lokalnie.
Istnieje kilka innych system贸w o podobnym dzia艂aniu, jednak nie s膮 one tak rozbudowane i dopracowane, jak Codepen. (Ostatnie zdanie mo偶e by膰 stronnicze).
Alternatywy - https://jsfiddle.net/

Gist

Gist oferuje zupe艂nie inn膮 filozofi臋 - pozwala na dzielenie si臋 fragmentami kodu w r贸偶nych formatach i nie wy艣wietla w 偶aden spos贸b ich zawarto艣ci. Mo偶na go por贸wna膰 do systemu notatek, kt贸re dzi臋ki darmowej aplikacji GistBox, mo偶na przeglada膰 jeszcze wygodniej. Gists s膮 po艂膮czone z Githubem.
Taka forma dzielenia si臋 kodem jest bardzo wygodna, gdy nie ograniczasz si臋 do technologii front-endowych. Gists sprawdzaj膮 si臋 na przyk艂ad, gdy chcesz od艣wie偶y膰 sobie wiedz臋 z jakiego艣 zagadnienia - mo偶esz wtedy przegl膮dn膮膰 swoje wcze艣niej zapisane notatki, lub zajrze膰 do notatek stworzonych przez inne osoby. W pracy dewelopera pojawiaj膮 si臋 te偶 nudne, powtarzalne taski (na przyk艂ad pod艂膮czanie strony WWW do bazy danych) i takie zadania, mo偶na zapisa膰 sobie w notatkach i nast臋pnie z nich skorzysta膰.

Jeszcze jedna rzecz na temat zapami臋tywania w programowaniu

Moim zdaniem, nauka na pami臋膰 przez wykuwanie nie ma sensu. Je艣li zapami臋ta艂e艣 dan膮 rzecz, to znaczy, 偶e cz臋sto z niej korzystasz i jest ona dla Ciebie potrzebna - jak na przyk艂ad znajomo艣膰 gridu Bootstrapa. Gdy musisz si臋ga膰 do notatek, takich, jak Gists czy zagl膮da膰 na forum, to te偶 ok - widocznie, dana rzecz nie ma kluczowego znaczenia. Zamiast zapami臋tywa膰 fragmenty kodu, kt贸re s膮 w zasi臋gu jednego klikni臋cia mysz膮, skup si臋 na wa偶niejszych rzeczach. B臋dzie to poznanie, co robi dany fragment kodu, oraz zrozumienie og贸lnych koncept贸w, kt贸re przydaj膮 si臋 w programowaniu. Ucz si臋, jak co艣 dzia艂a, a wtedy, zawsze sobie poradzisz.

poniedzia艂ek, 29 maja 2017

Gar艣膰 inspiracji na ten tydzie艅 #4


  1. Brad Traversy radzi jak radzi膰 sobie z depresj膮 przy programowaniu. Moja rada - wi臋cej wychodzi膰 z domu, nie pracowa膰 na "remocie", a b臋dzie ok.
  2. W tym tygodniu dokona艂em delikatnego redesignu bloga. Style wbudowane w Blogger s膮 s艂abe nawet na poziomie typografi. Gdy edytuj臋 kolejne posty, chce mi si臋 cytowa膰 Ojca Chrzestnego - zobacz, co oni (blogger) zrobili z moim synem (postem).
  3. Inspiracje z zakresu designu nadchodz膮 z ka偶dej strony. Cz艂owiek szuka informacji na temat sportowego 艂owienia uklei i wpada na tak膮 pi臋kn膮 stron臋. 艢wietna robota.
  4. Na YT znalaz艂em kilka motywuj膮cych nagra艅 na tematy oko艂oprogramistyczne- dobry trop podsun臋艂o mi forum 4programmers. Musisz obejrze膰 przynajmniej to nagranie Wojciecha Suligi na temat rynku pracy.

  5. Ksi膮偶ki - zacz膮艂em nauk臋 wzorc贸w projektowych z ksi膮偶ki Head Firsta + z ksi膮偶ki na temat wzorc贸w dopasowanej do potrzeb JS. Na potrzeby nauki uda艂o mi si臋 te偶 zainstalowa膰 IDE do Javy i napisa膰 w nim Hello World :) 
  6. Z sukces贸w programistycznych - uda艂o mi si臋 stworzy膰 pierwsz膮 (samodzieln膮) aplikacj臋 MEAN - mo偶ecie j膮 obejrze膰 tutaj i poni偶ej. Pozdrawiam.

W czym pisa膰 - kompleksowy poradnik dla pisz膮cych

Pisanie przynosi wiele satysfakcji, a dla coraz wi臋kszej rzeszy ludzi, stanowi 藕r贸d艂o dochodu. Po napisaniu kilku e-book贸w, niezliczonej ilo艣ci tekst贸w na blogi i strony internetowe (w pewnym okresie norm膮 by艂o dla mnie powy偶ej 30 000 znak贸w dziennie), chcia艂em podj膮膰 temat tego, w czym pisa膰.
Jest coraz wi臋cej format贸w plik贸w, a rozbudowane procesory tekstu (nie myli膰 z edytorami tekstu), pozwalaj膮 na wygodne napisanie obszernej ksi膮偶ki, sformatowanie jej i zapisanie do pliku PDF. Jednocze艣nie, takie rozwi膮zanie nie jest najlepsze, bo nie pozwala w pe艂ni skupi膰 si臋 na tworzeniu tekstu. "Bogate" edytory, nie s膮 te偶 najlepsze, przy tworzeniu tekst贸w do sieci.

sobota, 27 maja 2017

Backstopjs - testy regresyjne dla front-endu

Ile razy podczas tworzenia stron internetowych, by艂e艣 w sytuacji, gdy poprawki wprowadzone w jednym miejscu, pojawia艂y si臋 niechc膮cy w innym? Je艣li edytujesz elementy i klasy globalne, do takiej sytuacji dochodzi do艣膰 cz臋sto.

Gruntowne testowanie front-endu jest m臋cz膮ce i wymaga otwarcia kilkudziesi臋ciu podstron oraz ich wizualnego przejrzenia na r贸偶nych rozdzielczo艣ciach. Dodatkowo, cz艂owiek nie jest do艣膰 dobry, je艣li chodzi o wychwytywanie niewielkich zmian, kt贸re mog膮 pojawi膰 si臋, na przyk艂ad po zmianie margines贸w.

"Czy偶 nie by艂oby cudownie, gdyby istnia艂a mo偶liwo艣膰 przetestowania ca艂ej strony lub aplikacji, bez konieczno艣ci 偶mudnego przegl膮dania ka偶dej podstrony?"

niedziela, 21 maja 2017

Gar艣膰 inspiracji na ten tydzie艅 #3

Witam z cotygodniow膮 list膮 ciekawostek/nowo艣ci/rzeczy wartych do nauczenia we front-endzie.

1 Prawdziwym odkryciem tego tygodnia by艂o dla mnie Backstop.js, aplikacja umo偶liwiaj膮ca skuteczne testowanie front-endu stron WWW. Dzi臋ki niemu, mo偶esz zapisa膰 sobie wygl膮d poszczeg贸lnych podstron i nast臋pnie, por贸wna膰 je w stosunku do wprowadzonych zmian.

2 Jakby brakowa艂o wam jeszcze testowania wizualnego, polecam rozszerzenie do Chrome o nazwie Look Alike. Dzia艂a podobnie jak Backstop.js, ale uruchamia si臋 je z poziomu przegl膮darki. Przydatne, gdy chcemy sprawdzi膰, czy nasze zmiany nie zepsu艂y czego艣 na produkcji. Koniec z nieoczekiwanymi zmianami na stronach i telefonami od klienta o 20 w pi膮tek, 偶e co艣 si臋 zepsu艂o :)

3 Polecam te偶 ciekaw膮 konferencj臋 na temat Internet of Things, kt贸ra jeszcze bardziej utwierdza mnie w przekonaniu, 偶e nie potrzebuj臋 czajnika z Wi-Fi.

4 Z ciekawostek - je艣li kod JS ma komentarz "Super safe equal height column", powinna zapali膰 Ci si臋 czerwona lampka. Przy wolnym internecie, nawet rozwi膮zania "super safe" mog膮 wygl膮da膰 jak kupa i warto im zapewni膰 fallback. Kolumny o r贸wnej wysoko艣ci mo偶esz zrobi膰 na przyk艂ad w ten spos贸b.

5 Rozpocz膮艂em prace e-bookiem na temat testowania CSS - b臋dzie dost臋pna na blogu oraz przez GitHuba.

6 Polecam ksi膮偶eczk臋 "Jeszcze wydajniejsze witryny WWW" - autorami s膮 takie znakomito艣ci, jak Nicholas Zakas czy Douglas Crockford. Szczeg贸lnie ciekawy jest rozdzia艂 dotycz膮cy pisania szybkiego CSS.

wtorek, 16 maja 2017

Todo list before push

Todo list before push. For health and successfull development.

  • Check every point on your client/manager brief. Is every feature was implemented and every bug fixed?
  • Open every webpage, that can be affected with code and check - if there is no errors, you can countinue. Did you work with disabled cache and other plugins, for example Stylish?
  • Go to the Git and check your changes. If there is a change to do refactor, do this. Are your all CSS changes sits on good places?
  • After refactoring, check your webpage once more, to get confidence, that there is no errors.
  • If your changed something on production/local server, be confident, that this changes was synchronized. Especially for the pictures, that you are load.
  • After deploy, check your changes on production server.
  • If your fucking up something, take the responsibility.
Lista rzeczy do zrobienia przed pushem. Dla Twojego bezpiecze艅stwa.
  • Sprawd藕 jeszcze raz wszystkie zadania, kt贸re mia艂e艣 zrobi膰. Czy wszystko na pewno dzia艂a?
  • Otw贸rz podstrony, na kt贸rych Twoje zmiany mog艂y spowodowa膰 ewentualne b艂臋dy. Przy projektach innych, ni偶 one-page, cz臋sto tworz臋 list臋 wszystkich podstron, aby m贸c potem z niej skorzysta膰.
  • Upewnij si臋, 偶e wy艂膮czy艂e艣 cache i takie dodatki do przegl膮darki, jak na przyk艂ad Stylish.
  • Zr贸b code review, na przyk艂ad za pomoc膮 narz臋dzia Diff w Gicie. Upewnij si臋, 偶e Twoje zmiany w CSS, s膮 w odpowiednich plikach i miejscach.
  • Je艣li robi艂es refactoring, upewnij si臋 raz jeszcze, 偶e Twoje zmiany niczego nie zepsu艂y.
  • Gdy Twoje zmiany dotyczy艂y lokalnego lub zewn臋trznego serwera, upewnij si臋, 偶e s膮 one zsynchronizowane. Dzi臋ki temu b臋dziesz mia艂 mniej nerw贸w przy deployu. Zwr贸膰 szczeg贸ln膮 uwag臋, na zdj臋cia - czy na pewno s膮 w odpowiednim miejscu?
  • Po deployu, sprawd藕 swoje zmiany na serwerze produkcyjnym.
  • Je艣li co艣 zepsu艂e艣 - napraw.

pi膮tek, 12 maja 2017

Gar艣膰 inspiracji na ten tydzie艅 #2

Witam po przerwie
W tym tygodniku troch臋 nowych materia艂贸w do polecenia, a szczeg贸lnie:
Je艣li masz jakie艣 sprawdzone materia艂y na temat programowania, daj o nich zna膰 w komentarzu !!!
Kamil 

wtorek, 9 maja 2017

Niesamowity trick w CSS - !important bez !important

Front-endowcy go nienawidz膮 - dzi臋ki temu prostemu trickowi, mo偶esz nada膰 jakiemu艣 elementowi wi臋ksz膮 specyficzno艣膰, bez wyszukiwania selektor贸w. Wystarczy powieli膰 nazw臋 klasy.

See the Pen WjMwzE by Kamil (@KamilNaja) on CodePen.
Gdy to zobaczy艂em, zbiera艂em szcz臋k臋 z pod艂ogi. 殴r贸d艂o - https://www.youtube.com/watch?v=WjP7TEKB7Uo

sobota, 6 maja 2017

Jak ogarn膮膰 now膮 technologi臋 w kilku krokach

Technologie stosowane przy tworzeniu stron www, nieustannie si臋 zmieniaj膮. Jako junior deweloper, mo偶emy by膰 przyt艂oczeni na przyk艂ad tym, 偶e:
  • Zamiast zwyk艂ego CSS, pisze si臋 w jakim艣 Sassie (czy to kr贸l) i nast臋pnie si臋 to kompiluje
  • Zamiast za艂膮czy膰 jQuery po bo偶emu z CDN, instaluje si臋 go jakim艣 NPM-em
  • Zamiast dziuba膰 struktur臋 strony w html, wklepuje si臋 jeden znak w Emmecie i generuje nam niestworzone rzeczy (tzn gotowy szablon html z body i head)
  • Zamiast stosowa膰 znaczniki html, pisze si臋 w jakim艣 Pugu i to te偶 dzia艂a
  • i tak dalej...

wtorek, 2 maja 2017

Najlepsze zamienniki dla konsoli Windows

Konsola Windows nie sprawdza si臋 zbyt dobrze, je艣li chodzi o zaawansowane opcje tworzenia stron WWW. Jej jedyn膮 zalet膮 jest to, 偶e mo偶na j膮 w艂膮czy膰 w dowolnym folderze, klikaj膮c PPM + shift. W tym wpisie przedstawi臋 alternatywne opcje dla podstawowej konsoli Windows.

Konsola GIT

Konsola wykorzystuj膮ca polecenia Linuxa (na przyk艂ad ls czy touch), a tak偶e posiadaj膮ca wbudowan膮 dystrybucj臋 Vima. Skorzystasz w niej z SSH. Bardzo dobry zamiennik dla podstawowej konsoli Windows, z uwagi na to, 偶e prawie ka偶dy wykorzystuje Git-a. Mo偶na j膮 odpali膰 w dowolnym folderze z u偶yciem PPM. Wygodnym rozwi膮zaniem jest te偶 ustawienie konsoli GIT jako domy艣lnej w swoim IDE, na przyk艂ad w Webstormie. Dzi臋ki niej, mo偶na b臋dzie tak偶e 艂atwiej tworzy膰 foldery i pliki.

poniedzia艂ek, 1 maja 2017

Gar艣膰 inspiracji na ten tydzie艅

1 – Z zainteresowaniem przejrza艂em strony najwi臋kszych firm zegarkowych. Bardzo spodoba艂a mi si臋 strona czapek.com z pi臋kn膮 typografi膮 oraz intro na stronie Grand Seiko. Warto zajrze膰, szczeg贸lnie dlatego, 偶e te firmy sprzedaj膮 zegarki w cenach dobrych samochod贸w.

2 – Kontynuuj臋 prac臋 z tutorialami Mariusza Jurczenki z YT na temat Angulara2. S膮 ciekawe, poniewa偶 ucz膮 one podstaw, kt贸rych brakuje przy innych tutorialach.

3 – Polecam te偶 nagrania Clarissy Peterson na temat typografi na stronach RWD. Napisa艂a ona tak偶e niez艂膮 ksi膮偶k臋 na temat responsywnych stron.

4 – Zaskoczy艂o mnie nagranie na temat prawid艂owego ustawiania wysoko艣ci linii oraz margines贸w na stronie WWW, opublikowane przez Paqmind

5 – Warto zajrze膰 tak偶e do tutoriala od Net Ninja na temat podstaw Reacta. Na razie uda艂o mi si臋 wypisa膰 hello world :)

6 - … a tak偶e do 艣wietnej ksi膮偶ki Ethana Marcotte „Responsive Web Design”, kt贸r膮 sobie od艣wie偶y艂em.

7 – Zajrza艂em tak偶e do frameworka front-endowego Foundation, kt贸ry w praktyce przypomina mi Bootstrapa, z wyci臋t膮 klas膮 .container :)

8 - Blogger robi nadal wszystko, by tekst nie wygl膮da艂 w nim, tak, jak chc臋.

Git cheatsheet

Git - lista mniej znanych, a bardzo przydatnych polece艅

git clean -fd - usuwa wszystkie zmiany (w tym utworzone pliki i foldery), kt贸re nie by艂y skommitowane.
git reset --hard HEAD - usuwa nieskomitowane zmiany
git stash - pozwala zachowa膰 zmiany, kt贸re zrobi艂e艣 bez ich commitowania.
git rm -r -f --cached (nazwa folderu) - gdy doda艂e艣 do gita niepotrzebny folder (na przyk艂ad .idea lub node_modules) i chcesz go usun膮膰
git revert - gdy skomitowa艂e艣 kod i okazuje si臋, 偶e trzeba wr贸ci膰 do poprzedniego commita i wykasowa膰 inne. Uwaga - wi膮偶e si臋 z utrat膮 danych.