SlideShare a Scribd company logo
Zwiększanie produktywności programisty PHP Adam Puza
Wprowadzenie Co oznacza termin  produktywność indywidualna ? Produktywność indywidualna == maksymalne wykorzystywanie możliwości komputera. Jesteś programistą...  ... potrafisz zrobić więcej  -  wykorzystaj to! ... pracuj na klawiaturze  – sięgaj po mysz tylko gdy musisz. Automatyzuj wszystko co jest możliwe. Najwięksi wrogowie zwiększania produktywności: -- Nadmierna duma -- Nadmierne przyzwyczajenia -- Lenistwo
Praca z aplikacjami i projektem Wielokrotny schowek   np.  ClipX
Szybkie uruchamianie/przełączanie/zamykanie aplikacji Humanized Enso Launcher   1.  otwieranie  open   2. przełączanie   go   3.  zapamiętywanie (nauka) nowych komend  learn as open 4. pozostałe przydatne komendy min  max  close  quit
Enso Launcher - techniki zaawansowane Humanized Enso Launcher  + skrypty (np.  AutoHotKey ) - Uruchamianie programów/url w kontekście zaznaczonego tekstu http://dict.pl/dict?word= #s &words=&lang=EN - Uruchamianie programów z parametrami c:\windows\notepad.exe  #s
Menadżer haseł Keepass - przechowywanie haseł -  uruchamianie z automatycznym logowaniem  (url, ssh...)
Wydajna praca z Total Commander Wyszukiwanie zamiast nawigowania Dlaczego nie zaczynać nazw od podkreśleń, cyfr i znaków specjalnych. Skróty do często używanych folderów Ctrl+\ + Enter   c:\_katalog-skrotow\   esky projekt @   tool projekt @   pulpit @   moje dokumenty @
Total Commander – techniki zaawansowane Total Commander + AutoHotKey + Enso Launcher - synchroniczne poruszanie po katalogach   (obydwa okna jednocześnie) - automatyczne uruchamianie oraz przełączanie do okna    z otwartym katalogiem skrótów
Skróty klawiszowe Naucz się tylu skrótów ile to możliwe Łatwy sposób na naukę:  cofnij i wykonaj ponownie skrótem Pomocnik nauki na przykładzie  KeyPromoter   (PhpStorm)
AutoHotKey – wprowadzenie - możliwości języka --- operacje na plikach  --- uruchamianie aplikacji --- otwieranie/pobieranie url --- przełączanie programów --- wysyłanie klawiszy do programów --- obsługa schowka - skróty zależne od aplikacji - sekwencje skrótów klawiszowych Ctrl+A + Ctrl+S Ctrl+A + Ctrl+A - rozwiązanie problemu nakładania się skrótów na skróty globalne
AutoHotKey – techniki zaawansowane (przykłady) -  inteligentne   uruchamianie  skrótem ( F1 )  pomocy  (online)   w zależności od aplikacji i/lub typu pliku   (w kontekście symbolu pod kursorem) np.: IDE pliki  *.php : php.net Edytor pliki *.ahk : manual online AutoHotKey -  odświeżanie przeglądarki  jednym skrótem  bez wychodzenia   z programu (IDE, edytor, putty, total commander, itd.) -  odświeżanie (wywołanie ostatniej komendy) putty, cmd, cygwin
AutoHotKey –  hotstrings  (ciągi znaków) -  co to „hotstrings”? -  ciągi globalne i zależne od aplikacji   - przykłady użycia: --- url w przegladarkach  --- często używane skróty (np. email) e]\   =>  [email_address] --- putty cdx TAB   =>  cd /wwwdocs/http/applikacjaX/ sd TAB   =>  svn diff –r HEAD | grep Index: - zaawansowane ciągi --- tworzenie nazwy klasy na podstawie nazwy pliku  cl]\  w pliku  library\Zend\Db\Adapter\Example.php     =>   class Zend_Db_Adapter_Example
Przeglądarki internetowe – nieodłączne dla PHP Optymalizacja wydajności pracy z przeglądarkami autoodświeżanie (wspomniane powyżej) ciągi znaków (wspomniane powyżej) gesty myszy  (skoro już używamy myszy to pracujmy wydajniej) podpinanie makr pod klawisze myszy   przykład: standardowy fatal error w oknie przeglądarki  kliknięcie w fatal error otwiera plik w IDE/edytorze i przechodzi do linii z błędem Opera vs Firefox -- cache stron   czas cofania wstecz i powrotu  (10 stron, test.pl):     Opera 38 s   Firefox 53 s -- zapamiętywanie danych formularzy
Maksymalne wykorzystanie możliwości IDE Cechy „produktywnego” środowiska -- wyszukiwanie zaawansowane -- podpowiadanie kodu -- automatyzacja np. (tworzenie zmiennych, wyodrębnianie metod) -- szablony kodu -- dobra obsługa skrótów klawiszowych -- szybkość działania przykład produktywnego środowiska:  PhpStorm   IDE == najważniejszy program == należy znać jego wszystkie (używane) skróty. Jak należy i jak nie należy uczyć się potrzebnych skrótów. Wyszukuj zamiast nawigować -- Wyszukiwanie po    nazwie klasy, pliku, metody -- Wyszukiwanie – użycie „camel humps” -- Wyszukiwanie i zastępowanie z użyciem wyrażeń regularnych
Live Templates - tradycyjne zastosowanie --  for ,  fore ,  if ,  ife ,  switch ,  try ...  for TAB  =>   for ( $X$ ; $X$ < $Y$ ; $X$ ++) {   $END$ } for ( $X$ ; $WARUNEK$ ; $ZMIANA$ ) {   $END$ }
Live templates – niekonwencjonalne zastosowanie t TAB   =>  $this-> c TAB   =>  class 0 TAB   =>  false r TAB   =>  return;  r0 TAB   =>  return false;  ar TAB   =>  array( $END$ ), = TAB   =>  =>  $END$ , p TAB   =>  public v TAB   =>  private o TAB   =>  protected pf TAB   =>  public function  $NAME$ () { $END$ }  psf TAB   =>  public static function  $NAME$ () { $END$ }  Inteligentne live templates  ( AutoHotKey ) - DocComment  ( /]\ )
Praca z tekstem - edytor Cechy dobrego edytora tekstu - makra - wyrażenia regularne - wykrywanie zmian w plikach   - działanie na dużych plikach - kolorowanie składni
Automatyzacja „ Szybkie Skrypty PHP”   Dlaczego używać PHP jako języka skryptowego do zastosowań offline? Sposób automatyzacji użycia skryptów PHP.   Selenium Selenium jako pomoc w zwiększaniu wydajności programowania PHP.
Sprzęt Używaj szybkiego sprzętu Używaj dwóch monitorów Sytuacje w których warto rozważyć użycie trzeciego
Ogólne metody zwiększenia produktywności Nie wynajduj na nowo koła -- Framework - Twój najlepszy przyjaciel -- korzystaj z gotowych rozwiązań   -- wykorzystuj kod wielokrotnie Nie twórz nadmiarowego kodu System kontroli wersji - do pracy z projektami PHP - do przechowywania wszelkiego rodzaju skryptów
Wirtualne maszyny Testowanie nowych rozwiązań Zamrażanie środowiska i zmiany w „starych” projektach
Na zakończenie... ciekawostka Formatowanie kodu  pod kątem wydajności
PODSUMOWANIE Stale się rozwijaj  i ciągle szukaj nowych sposobów  na zwiększanie swej produktywności. --------------- Materiały dostępne na stronie: WebDemon.org.pl

More Related Content

PDF
ZamCamp - Ciekawe sposoby debugowania kodu
PDF
201105 OWASP Fuzzing interpretera PHP
PPTX
Skrypty powłoki
PPTX
Przekierowanie strumienia danych
PDF
Asmebler
PDF
DTrace, czyli jak zobaczyć to czego nie widać.
PPS
Programowanie
PDF
Pokaż kotku, co masz w środku profilowanie aplikacji z xhprof
ZamCamp - Ciekawe sposoby debugowania kodu
201105 OWASP Fuzzing interpretera PHP
Skrypty powłoki
Przekierowanie strumienia danych
Asmebler
DTrace, czyli jak zobaczyć to czego nie widać.
Programowanie
Pokaż kotku, co masz w środku profilowanie aplikacji z xhprof

Viewers also liked (12)

PDF
Drobne błędy w portalach WWW -- prawdziwe studium przypadku
PDF
20 Investments You Should Know
DOC
Helion.2005.php.i.my sql.tworzenie.stron.www.vademecum.profesjonalisty.wyd3
PPT
Podstawy PHP
PPTX
Motoryzacja niemiecka
PPT
Vehicle Body Engineering Car Body Construction
PPT
Body in White
PPTX
Biw with definitions
PPTX
Materials for automotive body and chassis structure by sandeep mangukiya
PPTX
Zagadki o jesieni
PPTX
Automobile Chassis
PPT
Vehicle Body Engineering - Introduction
Drobne błędy w portalach WWW -- prawdziwe studium przypadku
20 Investments You Should Know
Helion.2005.php.i.my sql.tworzenie.stron.www.vademecum.profesjonalisty.wyd3
Podstawy PHP
Motoryzacja niemiecka
Vehicle Body Engineering Car Body Construction
Body in White
Biw with definitions
Materials for automotive body and chassis structure by sandeep mangukiya
Zagadki o jesieni
Automobile Chassis
Vehicle Body Engineering - Introduction
Ad

Similar to Zwiększanie produktywności programisty php (v2) (20)

PDF
Optymalizacja pracy front-end developera
PDF
Optymalizacja pracy front-end developera
PDF
PHP. Rozmówki
PDF
Jak zacząć, aby nie żałować - czyli 50 twarzy PHP
PDF
PHP. 101 praktycznych skryptów. Wydanie II
PDF
PHP i MySQL. Tworzenie stron WWW. Wydanie drugie. Vademecum profesjonalisty
PDF
Po prostu PHP. Techniki zaawansowane
PDF
PHP5. Księga eksperta
PDF
PHP w mgnieniu oka
PDF
PHP. Praktyczne skrypty, które oszczędzą Twój czas
PDF
101 praktycznych skryptów na stronę WWW. Wydanie II
PDF
Skrypty powłoki. Od podstaw
PDF
.Net. Najpilniej strzeżone tajemnice
PDF
PHP5. Praktyczny kurs
PDF
PHP5. Tajniki programowania
PDF
100 sposobów na Visual Studio
PDF
Xdebug – debugowanie i profilowanie aplikacji PHP
PDF
Feo w-joomla
PDF
Minimalistyczny workflow programisty PHP - klucz do efektywności
PDF
university day 1
Optymalizacja pracy front-end developera
Optymalizacja pracy front-end developera
PHP. Rozmówki
Jak zacząć, aby nie żałować - czyli 50 twarzy PHP
PHP. 101 praktycznych skryptów. Wydanie II
PHP i MySQL. Tworzenie stron WWW. Wydanie drugie. Vademecum profesjonalisty
Po prostu PHP. Techniki zaawansowane
PHP5. Księga eksperta
PHP w mgnieniu oka
PHP. Praktyczne skrypty, które oszczędzą Twój czas
101 praktycznych skryptów na stronę WWW. Wydanie II
Skrypty powłoki. Od podstaw
.Net. Najpilniej strzeżone tajemnice
PHP5. Praktyczny kurs
PHP5. Tajniki programowania
100 sposobów na Visual Studio
Xdebug – debugowanie i profilowanie aplikacji PHP
Feo w-joomla
Minimalistyczny workflow programisty PHP - klucz do efektywności
university day 1
Ad

Zwiększanie produktywności programisty php (v2)

  • 2. Wprowadzenie Co oznacza termin produktywność indywidualna ? Produktywność indywidualna == maksymalne wykorzystywanie możliwości komputera. Jesteś programistą... ... potrafisz zrobić więcej - wykorzystaj to! ... pracuj na klawiaturze – sięgaj po mysz tylko gdy musisz. Automatyzuj wszystko co jest możliwe. Najwięksi wrogowie zwiększania produktywności: -- Nadmierna duma -- Nadmierne przyzwyczajenia -- Lenistwo
  • 3. Praca z aplikacjami i projektem Wielokrotny schowek np. ClipX
  • 4. Szybkie uruchamianie/przełączanie/zamykanie aplikacji Humanized Enso Launcher 1. otwieranie open 2. przełączanie go 3. zapamiętywanie (nauka) nowych komend learn as open 4. pozostałe przydatne komendy min max close quit
  • 5. Enso Launcher - techniki zaawansowane Humanized Enso Launcher + skrypty (np. AutoHotKey ) - Uruchamianie programów/url w kontekście zaznaczonego tekstu http://dict.pl/dict?word= #s &words=&lang=EN - Uruchamianie programów z parametrami c:\windows\notepad.exe #s
  • 6. Menadżer haseł Keepass - przechowywanie haseł - uruchamianie z automatycznym logowaniem (url, ssh...)
  • 7. Wydajna praca z Total Commander Wyszukiwanie zamiast nawigowania Dlaczego nie zaczynać nazw od podkreśleń, cyfr i znaków specjalnych. Skróty do często używanych folderów Ctrl+\ + Enter c:\_katalog-skrotow\ esky projekt @ tool projekt @ pulpit @ moje dokumenty @
  • 8. Total Commander – techniki zaawansowane Total Commander + AutoHotKey + Enso Launcher - synchroniczne poruszanie po katalogach (obydwa okna jednocześnie) - automatyczne uruchamianie oraz przełączanie do okna z otwartym katalogiem skrótów
  • 9. Skróty klawiszowe Naucz się tylu skrótów ile to możliwe Łatwy sposób na naukę: cofnij i wykonaj ponownie skrótem Pomocnik nauki na przykładzie KeyPromoter (PhpStorm)
  • 10. AutoHotKey – wprowadzenie - możliwości języka --- operacje na plikach --- uruchamianie aplikacji --- otwieranie/pobieranie url --- przełączanie programów --- wysyłanie klawiszy do programów --- obsługa schowka - skróty zależne od aplikacji - sekwencje skrótów klawiszowych Ctrl+A + Ctrl+S Ctrl+A + Ctrl+A - rozwiązanie problemu nakładania się skrótów na skróty globalne
  • 11. AutoHotKey – techniki zaawansowane (przykłady) - inteligentne uruchamianie skrótem ( F1 ) pomocy (online) w zależności od aplikacji i/lub typu pliku (w kontekście symbolu pod kursorem) np.: IDE pliki *.php : php.net Edytor pliki *.ahk : manual online AutoHotKey - odświeżanie przeglądarki jednym skrótem bez wychodzenia z programu (IDE, edytor, putty, total commander, itd.) - odświeżanie (wywołanie ostatniej komendy) putty, cmd, cygwin
  • 12. AutoHotKey – hotstrings (ciągi znaków) - co to „hotstrings”? - ciągi globalne i zależne od aplikacji - przykłady użycia: --- url w przegladarkach --- często używane skróty (np. email) e]\ => [email_address] --- putty cdx TAB => cd /wwwdocs/http/applikacjaX/ sd TAB => svn diff –r HEAD | grep Index: - zaawansowane ciągi --- tworzenie nazwy klasy na podstawie nazwy pliku cl]\ w pliku library\Zend\Db\Adapter\Example.php => class Zend_Db_Adapter_Example
  • 13. Przeglądarki internetowe – nieodłączne dla PHP Optymalizacja wydajności pracy z przeglądarkami autoodświeżanie (wspomniane powyżej) ciągi znaków (wspomniane powyżej) gesty myszy (skoro już używamy myszy to pracujmy wydajniej) podpinanie makr pod klawisze myszy przykład: standardowy fatal error w oknie przeglądarki kliknięcie w fatal error otwiera plik w IDE/edytorze i przechodzi do linii z błędem Opera vs Firefox -- cache stron czas cofania wstecz i powrotu (10 stron, test.pl): Opera 38 s Firefox 53 s -- zapamiętywanie danych formularzy
  • 14. Maksymalne wykorzystanie możliwości IDE Cechy „produktywnego” środowiska -- wyszukiwanie zaawansowane -- podpowiadanie kodu -- automatyzacja np. (tworzenie zmiennych, wyodrębnianie metod) -- szablony kodu -- dobra obsługa skrótów klawiszowych -- szybkość działania przykład produktywnego środowiska: PhpStorm IDE == najważniejszy program == należy znać jego wszystkie (używane) skróty. Jak należy i jak nie należy uczyć się potrzebnych skrótów. Wyszukuj zamiast nawigować -- Wyszukiwanie po nazwie klasy, pliku, metody -- Wyszukiwanie – użycie „camel humps” -- Wyszukiwanie i zastępowanie z użyciem wyrażeń regularnych
  • 15. Live Templates - tradycyjne zastosowanie -- for , fore , if , ife , switch , try ... for TAB => for ( $X$ ; $X$ < $Y$ ; $X$ ++) { $END$ } for ( $X$ ; $WARUNEK$ ; $ZMIANA$ ) { $END$ }
  • 16. Live templates – niekonwencjonalne zastosowanie t TAB => $this-> c TAB => class 0 TAB => false r TAB => return; r0 TAB => return false; ar TAB => array( $END$ ), = TAB => => $END$ , p TAB => public v TAB => private o TAB => protected pf TAB => public function $NAME$ () { $END$ } psf TAB => public static function $NAME$ () { $END$ } Inteligentne live templates ( AutoHotKey ) - DocComment ( /]\ )
  • 17. Praca z tekstem - edytor Cechy dobrego edytora tekstu - makra - wyrażenia regularne - wykrywanie zmian w plikach - działanie na dużych plikach - kolorowanie składni
  • 18. Automatyzacja „ Szybkie Skrypty PHP” Dlaczego używać PHP jako języka skryptowego do zastosowań offline? Sposób automatyzacji użycia skryptów PHP. Selenium Selenium jako pomoc w zwiększaniu wydajności programowania PHP.
  • 19. Sprzęt Używaj szybkiego sprzętu Używaj dwóch monitorów Sytuacje w których warto rozważyć użycie trzeciego
  • 20. Ogólne metody zwiększenia produktywności Nie wynajduj na nowo koła -- Framework - Twój najlepszy przyjaciel -- korzystaj z gotowych rozwiązań -- wykorzystuj kod wielokrotnie Nie twórz nadmiarowego kodu System kontroli wersji - do pracy z projektami PHP - do przechowywania wszelkiego rodzaju skryptów
  • 21. Wirtualne maszyny Testowanie nowych rozwiązań Zamrażanie środowiska i zmiany w „starych” projektach
  • 22. Na zakończenie... ciekawostka Formatowanie kodu pod kątem wydajności
  • 23. PODSUMOWANIE Stale się rozwijaj i ciągle szukaj nowych sposobów na zwiększanie swej produktywności. --------------- Materiały dostępne na stronie: WebDemon.org.pl