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
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
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
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