Stwórz niezawodne oprogramowaniespełniające oczekiwania użytkowników
* Wykorzystuj odpowiednie narzędzia projektowe.
* Wdrażaj nowoczesne metodologie.
* Szybko rozwiązuj problemy.
Dyskusje nad wadami i zaletami przeróżnych metodologii tworzenia oprogramowania, mające na celu wyłonienie najlepszej z nich, zwykle do niczego nie prowadzą. Zwolennicy poszczególnych metodologii, takich jak Rational Unified Process, programowanie ekstremalne i inne, starają się udowodnić, że to ich stanowisko jest poprawnym sposobem realizacji projektów informatycznych. Tymczasem nie istnieje "jedyne słuszne" i uniwersalne podejście, które sprawdza się we wszystkich okolicznościach. Wybór właściwej metodologii w ogromnej mierze zależy od typu projektu i wielkości zespołu pracującego nad nim. Należy kierować się nastawieniem czysto pragmatycznym, czyli wybrać taką metodologię, która będzie najbardziej korzystna dla określonego projektu. Niewłaściwy wybór może skończyć się porażką.
Książka "Sprzedaj swój program. Droga do udanych projektów programistycznych" to zbiór wskazówek przedstawiających narzędzia i techniki, dzięki którym każdy projekt programistyczny zakończy się sukcesem. Czytając ją, nauczysz się korzystać z nowoczesnych instrumentów wykorzystywanych do projektowania oprogramowania, kontroli wersji kodu źródłowego i śledzenia procesu usuwania błędów. Dowiesz się, w jaki sposób zorganizować pracę zespołu projektowego i wdrażać metodologię wytwarzania oprogramowania. Porady, które znajdziesz w tej książce, pomogą Ci rozwiązać problemy pojawiające się podczas realizacji projektów programistycznych. Poznasz nowoczesne metody oraz dowiesz się, kiedy i jak z nich korzystać.
* Planowanie infrastruktury
* Dobór narzędzi projektowych
* Automatyzacja zadań
* Tworzenie listy zadań
* Rola kierownika technicznego
* Metodologia pocisku smugowego
* Rozwiązywanie problemów
Wskazówki zawarte w tej książce sprawią, że każdy prowadzony przez Ciebie projekt zakończy się w terminie i zmieści w wyznaczonym budżecie.
Przygotuj projekt systemu informatycznego,
który naprawdę spełni oczekiwania użytkowników
* Wybierz technologię, platformę sprzętową i model licencjonowania
* Zadbaj o funkcjonalność i łatwość rozbudowy systemu
* Zabezpiecz system przed piractwem, kradzieżą i utratą danych
Termin "architektura oprogramowania" kojarzy się zwykle z doborem języka programowania, wzajemnymi zależnościami między komponentami powstającego systemu informatycznego, wyborem platformy bazodanowej i zaplanowaniem innych elementów związanych wyłącznie z zagadnieniami technicznymi. Tymczasem w opisie architektury systemu nie wolno pomijać także innych kwestii: modelu licencjonowania, sposobu wdrażania i konserwacji systemu, a przede wszystkim jego użyteczności. Te pozornie niezwiązane z projektem elementy mogą mieć duży wpływ na powodzenie przedsięwzięcia, jakim jest stworzenie i sprzedaż oprogramowania. Odpowiednio przygotowany projekt systemu informatycznego powinien więc obejmować zarówno zagadnienia techniczne, jak i ekonomiczne.
Książka "Więcej niż architektura oprogramowania" to poradnik, dzięki któremu stworzenie odpowiedniej relacji między technologią a biznesem jest łatwiejsze, niż mogłoby się wydawać. Może się przydać zarówno menedżerowi, jak i programiście. Autor książki, doświadczony kierownik projektów i twórca oprogramowania, przedstawia związki między zagadnieniami technicznymi a innymi aspektami. Znajdziesz w niej opisy dobrych i skutecznych rozwiązań oraz zaczerpnięte z rynku przykłady planowania produkcji oprogramowania.
* Znaczenie architektury oprogramowania
* Zarządzanie oprogramowaniem jako produktem
* Modele licencjonowania
* Wykorzystywanie obcych technologii w projekcie
* Wdrażanie systemu
* Obsługa techniczna
* Dobór marki
* Funkcjonalność i łatwość obsługi
* Zabezpieczanie aplikacji
Sprawy z pozoru mało ważne często powodują największe problemy. Nie ignoruj ich. Pracuj nad projektem kompleksowo.
Opanuj niezwykłą sztukę wytwarzania oprogramowania!
* W jaki sposób zadowolić klienta?
* Jak wygląda proces wytwarzania oprogramowania?
* Jakie pułapki czekają na Ciebie?
Proces wytwarzania oprogramowania — już sam opis sugeruje trudności. I rzeczywiście — jest to proces niezwykle złożony. Od samego początku trafiamy na kwestie takie, jak analiza potrzeb klienta i zebranie jego wymagań. Z każdym krokiem wszystko komplikuje się jeszcze bardziej… Konieczna jest implementacja poszczególnych wymagań klienta, testowanie tych rozwiązań, korekta znalezionych błędów. Na to wszystko nakłada się jeszcze konieczność tworzenia różnych wersji rozwiązań i zmienny nastrój klienta. Jak sobie z tym wszystkim poradzić? Jak bezboleśnie i skutecznie przejść przez cały ten proces?
Tylko bez obaw! Oto podręcznik, który dzięki innowacyjnym metodom przekazywania wiedzy sprawi, że szybko zrozumiesz proces wytwarzania oprogramowania i nauczysz się gładko podążać jego wyboistą ścieżką. Autorzy książki „Head First Software Development. Edycja polska” — Dan i Russ — pokażą Ci, w jaki sposób zadowolić klienta i zebrać od niego wymagania oraz określić jego potrzeby. Dowiesz się, jak zapanować nad poszczególnymi wersjami Twojego projektu. Nauczysz się prowadzić testy i usuwać błędy. Zdobędziesz informacje dotyczące wytwarzania oprogramowania sterowanego testami, a na koniec zobaczysz, jak taki proces wygląda w rzeczywistości. Wszystkie te informacje przedstawione zostały na licznych ilustracjach, co wydatnie ułatwia przyswajanie wiedzy, dodatkowo przekazanej przystępnym i pełnym humoru językiem. Po lekturze tego podręcznika nawet laik będzie w stanie zarządzać takim procesem!
* Zbieranie wymagań
* Planowanie projektu
* Kontrola wersji
* Wytwarzanie sterowane testami
* Testy integracyjne
* Usuwanie błędów
Tworzenie oprogramowania? Nic prostszego!!!
Wykorzystaj pełnię możliwości nagrywarki
* Poznaj składniki pakietu Nero 7 Essentials
* Zapisz dane na płytach CD i DVD
* Stwórz cyfrowe albumy fotograficzne
Aplikacje noszące nazwę Nero od dawna cieszą się uznaniem użytkowników nagrywarek CD i DVD. Ich możliwości nie ograniczają się do zapisywania danych na płytach. Za ich pomocą można także stworzyć cyfrowy album fotograficzny, dysk VideoCD lub DVD, kopię zapasową systemu, a także projekt okładki na płytę. Możliwości programów firmy Nero AG docenili również producenci nagrywarek, dodając do swoich produktów uproszczoną wersję pakietu zwaną Nero OEM, a od niedawna noszącą nazwę Nero 7 Essentials. Pakiet ten, pomimo różnic w stosunku do "większego brata", to nadal niezwykle funkcjonalny zestaw aplikacji pozwalający wykorzystać wszystko, co oferują nagrywarki CD i DVD.
"Nero 7 Essentials. Ćwiczenia praktyczne" to zwięzły przewodnik po możliwościach tego pakietu. Czytając tę książkę i wykonując zawarte w niej ćwiczenia, zapoznasz się z aplikacjami wchodzącymi w jego skład i nauczysz się z nich korzystać. Poznasz sposoby nagrywania płyt z danymi, muzyką oraz filmami. Dowiesz się, w jaki sposób przekształcić komputer w domowe centrum multimedialne. Przeczytasz o narzędziach pozwalających na przetestowanie nagrywarek, przygotowanie okładek na płyty i odtwarzanie plików dźwiękowych oraz cyfrowego wideo.
* Instalacja pakietu Nero 7 Essentials
* Zapis danych na płytach CD i DVD
* Tworzenie płyt z plikami .mp3 i .wma
* Zapisywanie filmów na płytach VCD
* Cyfrowe albumy fotograficzne
* Projektowanie okładek na płyty
* Testowanie nagrywarek
* Odtwarzanie plików multimedialnych
Chroń swoje dane.
Zapisz je na płytach CD i DVD.
Poznaj język programowania Flasha
i tchnij życie w projekty stron WWW
* Jak dostosować wygląd komponentów Flasha do stylu aplikacji?
* Jak tworzyć płynne i efektowne animacje, zmieniając szybkość odtwarzania klatek?
* Jak budować dynamiczne, interaktywne strony WWW za pomocą ActionScript 2.0?
Jesteś użytkownikiem Flasha? Uważasz, że wiesz już wszystko o jego narzędziach graficznych i animacyjnych? A może Twoja wyobraźnia podsuwa Ci pomysły, których realizacja wydaje się niemożliwa? Dodaj do swojego warsztatu znajomość ActionScript 2.0, języka programowania wykorzystywanego we Flashu. Stosując go, nadasz nową jakość swoim projektom. Przekonasz się, że to, co było niemożliwe do wykonania za pomocą narzędzi rysunkowych, stanie się dziecinnie łatwe dzięki ActionScript 2.0. Będziesz mógł kontrolować niemal każdy parametr wszystkich obiektów w prezentacji, pobierać dane z zewnętrznych źródeł, sterować szybkością odtwarzania filmu i wykonywać wiele innych zadań.
"ActionScript 2.0. Od podstaw" to książka będąca wprowadzeniem do programowania w tym języku. Czytając ją, poznasz środowisko programistyczne Flasha i podstawy języka ActionScript. Dowiesz się, czym jest programowanie obiektowe i w jaki sposób korzystać z jego możliwości. Nauczysz się przy użyciu ActionScript kontrolować wartości parametrów klipów filmowych na scenie, sterować ich zachowaniem oraz tworzyć nowe obiekty. Przeczytasz o wstawianiu do prezentacji materiałów graficznych i dźwiękowych pochodzących z zewnętrznych źródeł, danych tekstowych, a także opanujesz sterowanie odtwarzaniem animacji. Znajdziesz tu również informacje o wyszukiwaniu i usuwaniu błędów w kodzie.
* Zadania panelu Actions
* Podstawowe elementy języka ActionScript
* Programowanie obiektowe
* Projektowanie aplikacji we Flashu
* Sterowanie klipami filmowymi
* Korzystanie z komponentów
* Tworzenie elementów interaktywnych
* Praca z tekstem
* Wstawianie do prezentacji elementów multimedialnych
* Dynamiczne tworzenie elementów graficznych
* Przetwarzanie plików XML
* Komunikacja z serwerem i przeglądarką
Pracujesz we Flashu? Wzbogać swoje projekty
o możliwości, jakie daje Ci ActionScript.
Bezproblemowe wprowadzenie do języka JavaScript
* Chcesz budować bardziej interaktywne witryny internetowe?
* Chcesz zobaczyć, jak dynamicznie manipulować elementami stron?
* Chcesz dowiedzieć się, jak ulepszyć interfejs użytkownika za pomocą technologii Ajax?
W życiu każdego webmastera nadchodzi moment, w którym zwykły kod HTML oraz arkusze CSS już nie wystarczają i pora poszukać bardziej zaawansowanych narzędzi. Jeśli sięgnąłeś po tę książkę, prawdopodobnie pragniesz też tchnąć w swe witryny więcej życia i dynamiki. Naturalną drogą rozwoju jest nauka języka JavaScript, który umożliwia budowanie bardziej interaktywnych i efektownych stron internetowych. A skoro już zaczniesz poznawać ten język, dlaczego nie wypróbować bazującej na nim technologii Ajax, która pozwala tworzyć jeszcze ciekawsze i bardziej wygodne interfejsy użytkownika.
Dzięki książce "Po prostu JavaScript i Ajax. Wydanie VI" błyskawicznie nauczysz się wykorzystywać JavaScript do poprawy jakości własnych witryn internetowych. Poznasz podstawy składni tego języka, sposoby zagnieżdżania skryptów w kodzie HTML, techniki dynamicznego manipulowania rozmaitymi elementami stron internetowych oraz reagowania na zdarzenia zachodzące w przeglądarce. Dowiesz się też, do czego służy technologia Ajax oraz jak wykorzystać jej możliwości do tworzenia efektownych i szybkich interfejsów użytkownika.
* Podstawy języka JavaScript
* Dodawanie rysunków i animacji
* Korzystanie z ramek
* Sterowanie oknami przeglądarki
* Stosowanie formularzy
* Obsługa zdarzeń
* Używanie ciasteczek
* Stosowanie arkuszy CSS
* Manipulowanie modelem DOM
* Korzystanie z technologii Ajax
* Tworzenie skryptozakładek
Poznaj praktyczne zastosowania języka JavaScript
i twórz lepsze witryny internetowe.
Ajax to nowe podejście do tworzenia witryn internetowych bazujące na różnorodnych technologiach, takich jak HTML i JavaScript, obiekty XMLHttpRequest, style CSS, model DOM czy XML. Charakterystyczne dla stron budowanych zgodnie z tym podejściem jest to, że nie wymagają one przeładowywania. Dzięki temu, że przesyłane są tylko niezbędne dane, takie witryny internetowe działają w sposób zbliżony do standardowych aplikacji. Daje to wiele nowych możliwości, dlatego Ajax zasłużenie szybko zyskał dużą popularność.
"Ajax. Ćwiczenia" to zbiór praktycznych ćwiczeń pokazujących, jak za pomocą technologii związanych z Ajaksem oraz języka PHP wykonywać operacje pozwalające tworzyć bardziej reaktywne witryny. Wykonując kolejne ćwiczenia, nauczysz się między innymi wysyłać i pobierać dane za pomocą obiektów XMLHttpRequest oraz dynamicznie aktualizować strony. Dowiesz się, w jaki sposób Ajax współpracuje ze skryptami PHP oraz jak obsługiwać dane XML. Poznasz także wiele różnych technik pozwalających na efektywne przesyłanie informacji między serwerem a przeglądarką w synchroniczny i asynchroniczny sposób. Dzięki lekturze tej książki nauczysz się tworzyć bogatsze i bardziej reaktywne witryny internetowe.
* Przesyłanie danych za pomocą obiektów XMLHttpRequest
* Współpraca Ajaksa z PHP
* Obsługa danych XML
* Przesyłanie danych w różnych formatach
* Generowanie kodu po stronie serwera
* Obiekty JSON
Tchnij więcej życia w swoje witryny internetowe.
Ajax to nowoczesna technologia umożliwiająca budowanie witryn internetowych nowej generacji. Oddzielenie klienta od serwera i zastosowanie usług internetowych pozwala na tworzenie aplikacji łączących w sobie atrakcyjny i szybki interfejs, znany ze standardowych programów, z zaletami korzystania ze stron WWW. Dzięki temu możemy obniżyć koszty produkcji, zapewnić błyskawiczny dostęp do nowych danych i aktualizacji czy ułatwić używanie aplikacji z dowolnego komputera na świecie mającego dostęp do sieci WWW. Ponadto Ajax bazuje na standardowych technologiach, zatem można stosować go na wszystkich platformach.
Książka "Ajax. Wzorce i najlepsze rozwiązania" rozpoczyna się od wprowadzenia do tego podejścia. Tam też znajdziesz opis związanych z nim mechanizmów, takich jak architektura REST czy obiekty XMLHttpRequest, co pozwoli Ci szybko zrozumieć funkcjonowanie i zalety tej technologii. Jednak główną część książki stanowią praktyczne wzorce. Dzięki nim dowiesz się, jak usprawnić wczytywanie aplikacji poprzez stopniowe pobieranie kodu HTML, jak przyspieszyć działanie witryny za pomocą pamięci podręcznej, a także jak dynamicznie modyfikować zawartość stron. Nauczysz się też zwiększać komfort pracy użytkowników poprzez tworzenie wygodnego i niezawodnego systemu nawigacyjnego oraz sprawne pobieranie danych.
W książce omówiono:
* Funkcjonowanie technologii Ajax
* Architektura REST
* Obiekty XMLHttpRequest
* Stopniowe wczytywanie stron
* Obsługa pamięci podręcznej
* Przetwarzanie i reprezentacja danych
* Obsługa nawigacji
* Dynamiczne modyfikowanie stron
* Stała komunikacja między serwerem a klientem
Stosuj sprawdzone wzorce i najlepsze praktyki
budowania witryn internetowych.
Szukasz rozwiązania problemów związanych z korzystaniem z relacyjnych baz danych w połączeniu z programowaniem obiektowym? Chcesz poprawić wydajność i jakość aplikacji bazodanowych? A może rozwiązania, które stosowałeś dotychczas, okazują się niewystarczające przy dużych projektach? Sięgnij po Hibernate, czyli rewolucyjne narzędzie stanowiące warstwę pośredniczącą pomiędzy aplikacją i bazą danych, umożliwiające utrwalanie i odczyt obiektów Javy w bazie. Hibernate eliminuje konieczność ręcznego tworzenia kodu odwzorowującego obiekty na model relacyjny i odwrotnie, a także znacząco poprawia wydajność i stabilność aplikacji. Nie bez znaczenia również jest fakt, iż Hibernate dostępne jest na licencji open-source.
Książka "Hibernate w akcji", napisana przez twórców tego narzędzia, to wyczerpujący podręcznik dla programistów, którzy planują zastosować je w swoich projektach. Czytając ją, dowiesz się, na czym polega odwzorowanie obiektowo-relacyjne i w jaki sposób implementuje je Hibernate. Poznasz zasady tworzenia i stosowania obiektów trwałych, zarządzania transakcjami i buforowania danych. Znajdziesz także informacje o optymalizowaniu wydajności aplikacji stosujących Hibernate oraz procesie projektowania takich aplikacji.
W książce poruszono m.in.:
* Odwzorowania obiektowo-relacyjne
* Konfiguracja i uruchomienie Hibernate
* Odwzorowywanie danych w klasach
* Stosowanie obiektów trwałych
* Transakcje i buforowanie
* Wydajne pobieranie obiektów z bazy
* Projektowanie aplikacji wykorzystujących Hibernate
* Narzędzia wspomagające działanie Hibernate
Poznaj Hibernate i przekonaj się,
jak dzięki niemu usprawnisz swoją pracę.
Przygotuj projekt systemu informatycznego,
który naprawdę spełni oczekiwania użytkowników
* Wybierz technologię, platformę sprzętową i model licencjonowania
* Zadbaj o funkcjonalność i łatwość rozbudowy systemu
* Zabezpiecz system przed piractwem, kradzieżą i utratą danych
Termin "architektura oprogramowania" kojarzy się zwykle z doborem języka programowania, wzajemnymi zależnościami między komponentami powstającego systemu informatycznego, wyborem platformy bazodanowej i zaplanowaniem innych elementów związanych wyłącznie z zagadnieniami technicznymi. Tymczasem w opisie architektury systemu nie wolno pomijać także innych kwestii: modelu licencjonowania, sposobu wdrażania i konserwacji systemu, a przede wszystkim jego użyteczności. Te pozornie niezwiązane z projektem elementy mogą mieć duży wpływ na powodzenie przedsięwzięcia, jakim jest stworzenie i sprzedaż oprogramowania. Odpowiednio przygotowany projekt systemu informatycznego powinien więc obejmować zarówno zagadnienia techniczne, jak i ekonomiczne.
Książka "Więcej niż architektura oprogramowania" to poradnik, dzięki któremu stworzenie odpowiedniej relacji między technologią a biznesem jest łatwiejsze, niż mogłoby się wydawać. Może się przydać zarówno menedżerowi, jak i programiście. Autor książki, doświadczony kierownik projektów i twórca oprogramowania, przedstawia związki między zagadnieniami technicznymi a innymi aspektami. Znajdziesz w niej opisy dobrych i skutecznych rozwiązań oraz zaczerpnięte z rynku przykłady planowania produkcji oprogramowania.
* Znaczenie architektury oprogramowania
* Zarządzanie oprogramowaniem jako produktem
* Modele licencjonowania
* Wykorzystywanie obcych technologii w projekcie
* Wdrażanie systemu
* Obsługa techniczna
* Dobór marki
* Funkcjonalność i łatwość obsługi
* Zabezpieczanie aplikacji
Sprawy z pozoru mało ważne często powodują największe problemy. Nie ignoruj ich. Pracuj nad projektem kompleksowo.
Opanuj niezwykłą sztukę wytwarzania oprogramowania!
* W jaki sposób zadowolić klienta?
* Jak wygląda proces wytwarzania oprogramowania?
* Jakie pułapki czekają na Ciebie?
Proces wytwarzania oprogramowania — już sam opis sugeruje trudności. I rzeczywiście — jest to proces niezwykle złożony. Od samego początku trafiamy na kwestie takie, jak analiza potrzeb klienta i zebranie jego wymagań. Z każdym krokiem wszystko komplikuje się jeszcze bardziej… Konieczna jest implementacja poszczególnych wymagań klienta, testowanie tych rozwiązań, korekta znalezionych błędów. Na to wszystko nakłada się jeszcze konieczność tworzenia różnych wersji rozwiązań i zmienny nastrój klienta. Jak sobie z tym wszystkim poradzić? Jak bezboleśnie i skutecznie przejść przez cały ten proces?
Tylko bez obaw! Oto podręcznik, który dzięki innowacyjnym metodom przekazywania wiedzy sprawi, że szybko zrozumiesz proces wytwarzania oprogramowania i nauczysz się gładko podążać jego wyboistą ścieżką. Autorzy książki „Head First Software Development. Edycja polska” — Dan i Russ — pokażą Ci, w jaki sposób zadowolić klienta i zebrać od niego wymagania oraz określić jego potrzeby. Dowiesz się, jak zapanować nad poszczególnymi wersjami Twojego projektu. Nauczysz się prowadzić testy i usuwać błędy. Zdobędziesz informacje dotyczące wytwarzania oprogramowania sterowanego testami, a na koniec zobaczysz, jak taki proces wygląda w rzeczywistości. Wszystkie te informacje przedstawione zostały na licznych ilustracjach, co wydatnie ułatwia przyswajanie wiedzy, dodatkowo przekazanej przystępnym i pełnym humoru językiem. Po lekturze tego podręcznika nawet laik będzie w stanie zarządzać takim procesem!
* Zbieranie wymagań
* Planowanie projektu
* Kontrola wersji
* Wytwarzanie sterowane testami
* Testy integracyjne
* Usuwanie błędów
Tworzenie oprogramowania? Nic prostszego!!!
Wykorzystaj pełnię możliwości nagrywarki
* Poznaj składniki pakietu Nero 7 Essentials
* Zapisz dane na płytach CD i DVD
* Stwórz cyfrowe albumy fotograficzne
Aplikacje noszące nazwę Nero od dawna cieszą się uznaniem użytkowników nagrywarek CD i DVD. Ich możliwości nie ograniczają się do zapisywania danych na płytach. Za ich pomocą można także stworzyć cyfrowy album fotograficzny, dysk VideoCD lub DVD, kopię zapasową systemu, a także projekt okładki na płytę. Możliwości programów firmy Nero AG docenili również producenci nagrywarek, dodając do swoich produktów uproszczoną wersję pakietu zwaną Nero OEM, a od niedawna noszącą nazwę Nero 7 Essentials. Pakiet ten, pomimo różnic w stosunku do "większego brata", to nadal niezwykle funkcjonalny zestaw aplikacji pozwalający wykorzystać wszystko, co oferują nagrywarki CD i DVD.
"Nero 7 Essentials. Ćwiczenia praktyczne" to zwięzły przewodnik po możliwościach tego pakietu. Czytając tę książkę i wykonując zawarte w niej ćwiczenia, zapoznasz się z aplikacjami wchodzącymi w jego skład i nauczysz się z nich korzystać. Poznasz sposoby nagrywania płyt z danymi, muzyką oraz filmami. Dowiesz się, w jaki sposób przekształcić komputer w domowe centrum multimedialne. Przeczytasz o narzędziach pozwalających na przetestowanie nagrywarek, przygotowanie okładek na płyty i odtwarzanie plików dźwiękowych oraz cyfrowego wideo.
* Instalacja pakietu Nero 7 Essentials
* Zapis danych na płytach CD i DVD
* Tworzenie płyt z plikami .mp3 i .wma
* Zapisywanie filmów na płytach VCD
* Cyfrowe albumy fotograficzne
* Projektowanie okładek na płyty
* Testowanie nagrywarek
* Odtwarzanie plików multimedialnych
Chroń swoje dane.
Zapisz je na płytach CD i DVD.
Poznaj język programowania Flasha
i tchnij życie w projekty stron WWW
* Jak dostosować wygląd komponentów Flasha do stylu aplikacji?
* Jak tworzyć płynne i efektowne animacje, zmieniając szybkość odtwarzania klatek?
* Jak budować dynamiczne, interaktywne strony WWW za pomocą ActionScript 2.0?
Jesteś użytkownikiem Flasha? Uważasz, że wiesz już wszystko o jego narzędziach graficznych i animacyjnych? A może Twoja wyobraźnia podsuwa Ci pomysły, których realizacja wydaje się niemożliwa? Dodaj do swojego warsztatu znajomość ActionScript 2.0, języka programowania wykorzystywanego we Flashu. Stosując go, nadasz nową jakość swoim projektom. Przekonasz się, że to, co było niemożliwe do wykonania za pomocą narzędzi rysunkowych, stanie się dziecinnie łatwe dzięki ActionScript 2.0. Będziesz mógł kontrolować niemal każdy parametr wszystkich obiektów w prezentacji, pobierać dane z zewnętrznych źródeł, sterować szybkością odtwarzania filmu i wykonywać wiele innych zadań.
"ActionScript 2.0. Od podstaw" to książka będąca wprowadzeniem do programowania w tym języku. Czytając ją, poznasz środowisko programistyczne Flasha i podstawy języka ActionScript. Dowiesz się, czym jest programowanie obiektowe i w jaki sposób korzystać z jego możliwości. Nauczysz się przy użyciu ActionScript kontrolować wartości parametrów klipów filmowych na scenie, sterować ich zachowaniem oraz tworzyć nowe obiekty. Przeczytasz o wstawianiu do prezentacji materiałów graficznych i dźwiękowych pochodzących z zewnętrznych źródeł, danych tekstowych, a także opanujesz sterowanie odtwarzaniem animacji. Znajdziesz tu również informacje o wyszukiwaniu i usuwaniu błędów w kodzie.
* Zadania panelu Actions
* Podstawowe elementy języka ActionScript
* Programowanie obiektowe
* Projektowanie aplikacji we Flashu
* Sterowanie klipami filmowymi
* Korzystanie z komponentów
* Tworzenie elementów interaktywnych
* Praca z tekstem
* Wstawianie do prezentacji elementów multimedialnych
* Dynamiczne tworzenie elementów graficznych
* Przetwarzanie plików XML
* Komunikacja z serwerem i przeglądarką
Pracujesz we Flashu? Wzbogać swoje projekty
o możliwości, jakie daje Ci ActionScript.
Bezproblemowe wprowadzenie do języka JavaScript
* Chcesz budować bardziej interaktywne witryny internetowe?
* Chcesz zobaczyć, jak dynamicznie manipulować elementami stron?
* Chcesz dowiedzieć się, jak ulepszyć interfejs użytkownika za pomocą technologii Ajax?
W życiu każdego webmastera nadchodzi moment, w którym zwykły kod HTML oraz arkusze CSS już nie wystarczają i pora poszukać bardziej zaawansowanych narzędzi. Jeśli sięgnąłeś po tę książkę, prawdopodobnie pragniesz też tchnąć w swe witryny więcej życia i dynamiki. Naturalną drogą rozwoju jest nauka języka JavaScript, który umożliwia budowanie bardziej interaktywnych i efektownych stron internetowych. A skoro już zaczniesz poznawać ten język, dlaczego nie wypróbować bazującej na nim technologii Ajax, która pozwala tworzyć jeszcze ciekawsze i bardziej wygodne interfejsy użytkownika.
Dzięki książce "Po prostu JavaScript i Ajax. Wydanie VI" błyskawicznie nauczysz się wykorzystywać JavaScript do poprawy jakości własnych witryn internetowych. Poznasz podstawy składni tego języka, sposoby zagnieżdżania skryptów w kodzie HTML, techniki dynamicznego manipulowania rozmaitymi elementami stron internetowych oraz reagowania na zdarzenia zachodzące w przeglądarce. Dowiesz się też, do czego służy technologia Ajax oraz jak wykorzystać jej możliwości do tworzenia efektownych i szybkich interfejsów użytkownika.
* Podstawy języka JavaScript
* Dodawanie rysunków i animacji
* Korzystanie z ramek
* Sterowanie oknami przeglądarki
* Stosowanie formularzy
* Obsługa zdarzeń
* Używanie ciasteczek
* Stosowanie arkuszy CSS
* Manipulowanie modelem DOM
* Korzystanie z technologii Ajax
* Tworzenie skryptozakładek
Poznaj praktyczne zastosowania języka JavaScript
i twórz lepsze witryny internetowe.
Ajax to nowe podejście do tworzenia witryn internetowych bazujące na różnorodnych technologiach, takich jak HTML i JavaScript, obiekty XMLHttpRequest, style CSS, model DOM czy XML. Charakterystyczne dla stron budowanych zgodnie z tym podejściem jest to, że nie wymagają one przeładowywania. Dzięki temu, że przesyłane są tylko niezbędne dane, takie witryny internetowe działają w sposób zbliżony do standardowych aplikacji. Daje to wiele nowych możliwości, dlatego Ajax zasłużenie szybko zyskał dużą popularność.
"Ajax. Ćwiczenia" to zbiór praktycznych ćwiczeń pokazujących, jak za pomocą technologii związanych z Ajaksem oraz języka PHP wykonywać operacje pozwalające tworzyć bardziej reaktywne witryny. Wykonując kolejne ćwiczenia, nauczysz się między innymi wysyłać i pobierać dane za pomocą obiektów XMLHttpRequest oraz dynamicznie aktualizować strony. Dowiesz się, w jaki sposób Ajax współpracuje ze skryptami PHP oraz jak obsługiwać dane XML. Poznasz także wiele różnych technik pozwalających na efektywne przesyłanie informacji między serwerem a przeglądarką w synchroniczny i asynchroniczny sposób. Dzięki lekturze tej książki nauczysz się tworzyć bogatsze i bardziej reaktywne witryny internetowe.
* Przesyłanie danych za pomocą obiektów XMLHttpRequest
* Współpraca Ajaksa z PHP
* Obsługa danych XML
* Przesyłanie danych w różnych formatach
* Generowanie kodu po stronie serwera
* Obiekty JSON
Tchnij więcej życia w swoje witryny internetowe.
Ajax to nowoczesna technologia umożliwiająca budowanie witryn internetowych nowej generacji. Oddzielenie klienta od serwera i zastosowanie usług internetowych pozwala na tworzenie aplikacji łączących w sobie atrakcyjny i szybki interfejs, znany ze standardowych programów, z zaletami korzystania ze stron WWW. Dzięki temu możemy obniżyć koszty produkcji, zapewnić błyskawiczny dostęp do nowych danych i aktualizacji czy ułatwić używanie aplikacji z dowolnego komputera na świecie mającego dostęp do sieci WWW. Ponadto Ajax bazuje na standardowych technologiach, zatem można stosować go na wszystkich platformach.
Książka "Ajax. Wzorce i najlepsze rozwiązania" rozpoczyna się od wprowadzenia do tego podejścia. Tam też znajdziesz opis związanych z nim mechanizmów, takich jak architektura REST czy obiekty XMLHttpRequest, co pozwoli Ci szybko zrozumieć funkcjonowanie i zalety tej technologii. Jednak główną część książki stanowią praktyczne wzorce. Dzięki nim dowiesz się, jak usprawnić wczytywanie aplikacji poprzez stopniowe pobieranie kodu HTML, jak przyspieszyć działanie witryny za pomocą pamięci podręcznej, a także jak dynamicznie modyfikować zawartość stron. Nauczysz się też zwiększać komfort pracy użytkowników poprzez tworzenie wygodnego i niezawodnego systemu nawigacyjnego oraz sprawne pobieranie danych.
W książce omówiono:
* Funkcjonowanie technologii Ajax
* Architektura REST
* Obiekty XMLHttpRequest
* Stopniowe wczytywanie stron
* Obsługa pamięci podręcznej
* Przetwarzanie i reprezentacja danych
* Obsługa nawigacji
* Dynamiczne modyfikowanie stron
* Stała komunikacja między serwerem a klientem
Stosuj sprawdzone wzorce i najlepsze praktyki
budowania witryn internetowych.
Szukasz rozwiązania problemów związanych z korzystaniem z relacyjnych baz danych w połączeniu z programowaniem obiektowym? Chcesz poprawić wydajność i jakość aplikacji bazodanowych? A może rozwiązania, które stosowałeś dotychczas, okazują się niewystarczające przy dużych projektach? Sięgnij po Hibernate, czyli rewolucyjne narzędzie stanowiące warstwę pośredniczącą pomiędzy aplikacją i bazą danych, umożliwiające utrwalanie i odczyt obiektów Javy w bazie. Hibernate eliminuje konieczność ręcznego tworzenia kodu odwzorowującego obiekty na model relacyjny i odwrotnie, a także znacząco poprawia wydajność i stabilność aplikacji. Nie bez znaczenia również jest fakt, iż Hibernate dostępne jest na licencji open-source.
Książka "Hibernate w akcji", napisana przez twórców tego narzędzia, to wyczerpujący podręcznik dla programistów, którzy planują zastosować je w swoich projektach. Czytając ją, dowiesz się, na czym polega odwzorowanie obiektowo-relacyjne i w jaki sposób implementuje je Hibernate. Poznasz zasady tworzenia i stosowania obiektów trwałych, zarządzania transakcjami i buforowania danych. Znajdziesz także informacje o optymalizowaniu wydajności aplikacji stosujących Hibernate oraz procesie projektowania takich aplikacji.
W książce poruszono m.in.:
* Odwzorowania obiektowo-relacyjne
* Konfiguracja i uruchomienie Hibernate
* Odwzorowywanie danych w klasach
* Stosowanie obiektów trwałych
* Transakcje i buforowanie
* Wydajne pobieranie obiektów z bazy
* Projektowanie aplikacji wykorzystujących Hibernate
* Narzędzia wspomagające działanie Hibernate
Poznaj Hibernate i przekonaj się,
jak dzięki niemu usprawnisz swoją pracę.
Kompendium wiedzy dla każdego programisty, projektanta i kierownika projektu
* Nowoczesne metodyki wytwarzania oprogramowania
* Narzędzia do modelowania aplikacji i automatycznego generowania kodu
* Koncepcja architektury sterowanej modelami
* Sposoby zapewnienia jakości aplikacji
Tworzenie aplikacji korporacyjnych to wyścig z czasem. Organizacje zmieniają się podobnie jak otoczenie biznesowe, w którym działają. Zbyt długi okres przygotowania aplikacji może sprawić, że po wdrożeniu okaże się ona bezużyteczna. Z drugiej jednak strony, zbyt duży pośpiech przy tworzeniu aplikacji powoduje, że pomija się fazę modelowania i testowania, pisząc kod źródłowy bez jakiejkolwiek koncepcji i planu. Efektem takiego pośpiechu są aplikacje niedostosowane do wymagań użytkowników i pracujące niestabilnie. Sposobem na stworzenie odpowiedniego systemu informatycznego dla korporacji jest wykorzystywanie odpowiednich metodyk projektowych i nowoczesnych narzędzi ułatwiających zarówno pisanie, jak i testowanie aplikacji.
Książka "J2EE. Podstawy programowania aplikacji korporacyjnych" przedstawia najlepsze praktyki projektowe stosowane przy tworzeniu systemów informatycznych z wykorzystaniem platformy J2EE. Opisano w niej kolejne etapy projektu oraz narzędzia i metodyki, dzięki którym przeprowadzenie każdego z nich będzie szybsze i efektywniejsze. Czytając ją, poznasz metodyki RUP i XP, typy architektur systemów oraz sposoby modelowania aplikacji i narzędzia do automatycznego generowania szkieletu kodu źródłowego. Dowiesz się, jak optymalnie skonfigurować środowiska programistyczne i jak testować kolejne moduły aplikacji. Nauczysz się korzystać z nowoczesnych metodyk i narzędzi.
* Podstawowe wiadomości o błyskawicznym wytwarzaniu aplikacji (RAD)
* Metodyki projektowe Rational Unified Process (RUP) oraz Extreme Programming (XP)
* Wielowarstwowe architektury systemów
* Modelowanie systemów za pomocą języka UML
* Automatyczne generowanie kodu
* Stosowanie narzędzi XDoclet i Hibernate
* Komunikacja z bazami danych
* Zasady programowania aspektowego
* Testowanie aplikacji
Wiadomości zawarte w tej książce sprawią, że będziesz w stanie szybciej projektować i tworzyć aplikacje korporacyjne.
Poznaj nowoczesną metodykę wytwarzania oprogramowania w C#
* Jak stosować w praktyce zasady zwinnego wytwarzania oprogramowania?
* W jaki sposób wykorzystywać w projekcie diagramy UML?
* Jak korzystać z wzorców projektowych?
W związku ze stale rosnącymi oczekiwaniami użytkowników oprogramowania produkcja systemów informatycznych wymaga dziś korzystania z usystematyzowanych metod zarządzania. Projekt informatyczny, przy którym nie używa się sensownej metodologii wytwarzania, jest skazany na porażkę -- przekroczenie terminu, budżetu i niespełnienie wymagań funkcjonalnych. Kierowanie projektem zgodnie z określonymi zasadami również nie gwarantuje sukcesu, lecz znacznie ułatwia jego osiągnięcie. Na początku roku 2001 grupa ekspertów zawiązała zespół o nazwie Agile Alliance. Efektem prac tego zespołu jest metodologia zwinnego wytwarzania oprogramowania -- Agile.
Książka "Agile. Programowanie zwinne: zasady, wzorce i praktyki zwinnego wytwarzania oprogramowania w C#" to podręcznik metodologii Agile przeznaczony dla twórców oprogramowania korzystających z technologii .NET. Dzięki niemu poznasz podstawowe założenia i postulaty twórców Agile i nauczysz się stosować je w praktyce. Dowiesz się, jak szacować terminy i koszty, dzielić proces wytwarzania na iteracje i testować produkt. Zdobędziesz wiedzę na temat refaktoryzacji, diagramów UML, testów jednostkowych i wzorców projektowych. Przeczytasz także o publikowaniu kolejnych wersji oprogramowania.
* Techniki programowania ekstremalnego
* Planowanie projektu
* Testowanie i refaktoryzacja
* Zasady zwinnego programowania
* Modelowanie oprogramowania za pomocą diagramów UML
* Stosowanie wzorców projektowych
* Projektowanie pakietów i komponentów
Przekonaj się, ile czasu i pracy zaoszczędzisz,
stosując w projektach metodologię Agile.
MS Project 2007 i MS Project Server 2007. Efektywne zarządzanie projektamiWydawnictwo Helion
Poznaj najnowszą wersję doskonałego narzędzia
wspomagającego zarządzanie projektami
* Zdefiniuj zakres projektu i podziel go na zadania
* Wykorzystaj narzędzia do śledzenia procesu jego realizacji
* Przygotuj raporty kończące projekt
Sprawne zarządzanie projektami wymaga od ich kierowników dużego doświadczenia. Jednak w przypadku wielu projektów samo doświadczenie zwyczajnie nie wystarcza -- tu niezbędne jest efektywne narzędzie wspomagające kierowanie projektem. Takim narzędziem jest Microsoft Office Project 2007 -- kolejna wersja najpopularniejszej aplikacji do zarządzania projektami. Aplikacja ta ułatwia pracę kierownika projektu na każdym etapie -- od definiowania projektu i zadań, poprzez przydzielanie zasobów, aż do analizy powykonawczej. System Microsoft Office Project Server 2007 dodatkowo rozszerza te możliwości o zarządzanie informacjami dotyczącymi większej liczby projektów.
Książka "MS Project 2007 i MS Project Server 2007. Efektywne zarządzanie projektami" jest przeznaczona dla kierowników projektów, osób nadzorujących wiele projektów oraz członków zespołów projektowych. Czytając ją, poznasz możliwości MS Project 2007 i MS Project Server 2007 oraz nauczysz się wykorzystywać je w pracy. Dowiesz się, jak zdefiniować zakres projektu, zaplanować zasoby i przydzielić je do zadań, optymalizować projekt i śledzić proces jego realizacji. Znajdziesz tu także informacje o raportach tekstowych i graficznych oraz nadzorowaniu zmian w wielu projektach i analizowaniu ich portfela.
* Interfejs użytkownika programu MS Project 2007
* Tworzenie nowego projektu
* Zarządzanie zasobami i zadaniami
* Tworzenie kalendarza projektu
* Rozwiązywanie problemów z nadmiernym obciążeniem zasobów
* Śledzenie realizacji projektu
* Analiza odchyleń
* Widoki i raporty
Gotowe na czas! Projekty zawsze zgodne z planem!
Projektowanie oprogramowania. Wstęp do programowania i techniki komputerowejWydawnictwo Helion
Umiejętność programowania nie ma już charakteru czysto zawodowego. Księgowi muszą się posługiwać arkuszami kalkulacyjnymi i edytorami tekstu, fotografowie korzystają z edytorów zdjęć, muzycy programują syntezatory, zaś profesjonalni programiści tworzą skomplikowane aplikacje. Programowanie jest więc bardzo pożądaną umiejętnością, potrzebną nie tylko informatykom.
Projektowanie oprogramowania wymaga takich samych zdolności analitycznych, jak matematyka. Jednak, w przeciwieństwie do matematyki, praca z programami jest aktywnym sposobem zdobywania wiedzy. Obcowanie z oprogramowaniem daje możliwość stałej interakcji, co pozwala na zgłębianie wiedzy, eksperymentowanie z nią oraz na stałą samoocenę.
Autorzy tej klasycznej publikacji stawiają tezę, iż "każdy powinien nauczyć się, jak projektować oprogramowanie" i właśnie nauka podstaw projektowania jest jej tematem głównym. W książce znajdziesz wiele podstawowych algorytmów, wyjaśnienia takich pojęć, jak akumulacja wiedzy czy równość ekstensjonalna i intensjonalna, słowem wszystko to, co stanowi teoretyczną podstawę wiedzy programistycznej.
Poznasz między innymi:
* Podstawowe struktury, z których składają się programy komputerowe
* Proste i złożony typy danych
* Metody przetwarzania danych
* Programowanie z użyciem rekurencji, algorytmy z nawracaniem
* Projektowanie abstrakcyjne
* Sposoby gromadzenia wiedzy
* Wykorzystanie wektorów
Z lektury książki "Projektowanie oprogramowania. Wstęp do programowania i techniki komputerowej" skorzystają zarówno studenci informatyki, jak też i słuchacze innych kierunków oraz wszystkie osoby, które chcą podbudować swoją wiedzę praktyczną solidnymi i przydatnymi podstawami teoretycznymi.
Naucz się języka C++ w najlepszy sposób:
poznając go z punktu widzenia inżynierii programowania
* Demonstruje praktyczne techniki stosowane przez zawodowych programistów
* Zawiera poprawny, gruntownie przetestowany przykładowy kod źródłowy programów oraz przykłady zaczerpnięte z praktyki
* Skoncentrowana na nowoczesnych technologiach, które muszą poznać programiści
* Zawiera rady profesjonalistów, które pozwolą czytelnikowi tworzyć najlepsze programy
Książka Wiktora Shterna zatytułowana "C++. Inżynieria programowania" stosuje wyjątkowy sposób nauki języka C++ przeznaczony dla programistów mających doświadczenie w dowolnym języku programowania: prezentuje możliwość zastosowania w C++ najlepszych technik programistycznych oraz metodologii inżynierii programowania. Nawet jeżeli już wcześniej wykorzystywałeś język C++, ta wyczerpująca książka przedstawi sposób tworzenia poprawniejszego kodu, łatwiejszego do utrzymania i modyfikacji.
Książka niniejsza uczy zasad programowania obiektowego przed samą nauką języka, co pozwala wykorzystać wszystkie zalety OOP do tworzenia poprawnych aplikacji. Udoskonalisz znajomość kluczowych składników standardu ANSI/ISO C++ rozpatrywanych z punktu widzenia inżyniera: klas, metod, modyfikatorów const, dynamicznego zarządzania pamięcią, złożeń klas, dziedziczenia, polimorfizmu, operacji wejścia-wyjścia i wielu innych. Jeżeli pragniesz tworzyć w języku C++ najlepsze programy, musisz projektować, myśleć i programować stosując najlepsze obecnie praktyki inżynierii programowania. Lektura książki "C++. Inżynieria programowania" pomoże Ci w tym.
Książka "C++. Inżynieria programowania" kładzie nacisk na:
* Prezentację zastosowań zasad inżynierii programowania w programach pisanych w C++
* Tworzenie kodu łatwego do późniejszych modyfikacji
* Praktyczne zrozumienie zasad programowania obiektowego przed nauką samego języka
* Przedstawienie najnowszych cech standardu ANSI/ISO C++
* Zaprezentowanie setek realistycznych przykładów kodu programów
Teoria i praktyka prowadzenia projektów programistycznych
* Naucz się zasad programowania ekstremalnego i zastosuj je w praktyce
* Od konceptualizacji do przekazania działającego systemu -- poznaj najlepsze sposoby pracy na każdym etapie tworzenia oprogramowania
* Poznaj znaczenie wszystkich uczestników procesu tworzenia oprogramowania: programistów, menedżerów i klientów
* Dowiedz się, jak rozwiązać najczęstsze problemy powstające przy wdrażaniu metodologii programowania ekstemalnego
"eXtreme programming" przedstawia nową metodologię i praktykę programowania w przystępny, a jednocześnie kompleksowy sposób. Autorzy omawiają podstawowe pojęcia programowania ekstremalnego: planowanie edycji, programowanie w parach, wczesne testowanie, "zręczne modelowanie" i refaktoryzację. Zostały one zaprezentowane na przykładzie konkretnego projektu, którego realizację omówiono w książce.
Kto powinien przeczytać tę książkę? Będzie ona niewątpliwie pożyteczną lekturą dla każdego, kto choć częściowo związał swe życie z tworzeniem oprogramowania -- programisty, menedżera czy koordynatora projektu. I nawet gdyby miało skończyć się tylko na czytaniu -- bez praktycznego zastosowania w najbliższym projekcie poznanych reguł, wiedza o programowaniu ekstremalnym okaże się bez wątpienia pożyteczna.
* Naucz się zasad programowania ekstremalnego i zastosuj je w praktyce
* Od konceptualizacji do oddania działającego systemu -- poznaj najlepsze sposoby pracy na każdym etapie tworzenia programowania
* Poznaj znaczenie wszystkich uczestników procesu tworzenia oprogramowania: programistów, menedżerów i klientów
* Dowiedz się, jak rozwiązać najczęstsze problemy powstające przy wdrażaniu metodologii programowania ekstemalnego
Wspomaganie planowania zadań i zarządzania przedsiębiorstwem
Microsoft Project 2002 to kolejna już wersja popularnego programu do zarządzania przedsięwzięciami. Jeżeli jesteś osobą odpowiedzialną za utworzenie harmonogramu przedsięwzięcia, oszacowanie jego kosztów, zarządzanie zasobami ludzkimi i sprzętowymi lub jeśli chcesz porównywać plan z jego wykonaniem - ten program ułatwi Ci pracę.
Podręcznik łączy teorię z praktyką. Opisano w nim teoretyczne podstawy poszczególnych narzędzi dostępnych w MS Project 2002. Część praktyczna następująca po wyjaśnieniach teoretycznych umożliwia wykorzystanie nabytych wiadomości. Ma ona formę ćwiczeń. Dzięki ich wykonaniu nabędziesz umiejętności, które później z całą pewnością będą przydatne w pracy.
Omówiono:
* Interfejs programu MS Project i sposoby wyświetlania danych za pomocą widoków
* Zarządzanie zadaniami i zasobami
* Przydzielanie zasobów do zadań
* Kalendarze - ustalanie czasu pracy i dni wolnych
* Tworzenie budżetu projektu i analiza przepływów gotówkowych
* Rozwiązywanie problemów z nadmiernym obciążeniem zasobów i optymalizacja projektu
* Analizy odchyleń terminów, kosztów oraz pracy
* Tworzenie raportów
* Wymianę informacji pomiędzy MS Project i innymi aplikacjami
* Wspomaganie planowania zadań i zarządzania przedsięwzięciami
Książka ta zawiera wiele cennych informacji zarówno dla tych użytkowników rozpoczynających pracę z aplikacją MS Project, jak i dla tych, którzy mają doświadczenie z tą i poprzednimi wersjami programu. W przypadku, gdyby niektóre ćwiczenia sprawiały jednak problem, na płycie CD zawarte są filmy instruktażowe zapisane w formacie wmv. Zawierają one zapis wideo niektórych czynności opisanych w treści ćwiczeń.
* Twórz nowe projekty, zarządzaj zadaniami i przydzielaj zasoby
* Zautomatyzuj opracowywanie budżetu swoich przedsięwzięć
* Poznaj różne sposoby prezentacji graficznej diagramów projektów
* Twórz przejrzyste raporty z wykonanych zadań
Poznaj zasady stosowania wzorców projektowych
* Wykorzystaj notację UML
* Użyj wzorców projektowych w swojej pracy
* Napisz własne wzorce
Wzorce projektowe to opisy rozwiązań problemów programistycznych. Ich stosowanie podczas tworzenia oprogramowania pozwala uzyskać oszczędności czasowe, zwiększyć efektywność pracy i zoptymalizować działanie programów. Wiele wzorców już udokumentowano, a proces odkrywania nowych ciągle trwa. Programista dysponujący wiedzą o wzorcach projektowych może łatwo rozpoznawać problemy, dla których te wzorce znajdują zastosowanie, i natychmiast przystępować do opracowywania rozwiązań, bez konieczności wstrzymywania projektu, analizowania problemu i rozważania możliwych strategii.
Książka "Visual Basic .NET. Wzorce projektowe" to kompendium wiedzy o stosowaniu wzorców projektowych podczas programowania w języku Visual Basic. Zawiera szczegółowe omówienie najpopularniejszych wzorców, reguły ich wykorzystywania oraz przykłady kodu na nich opartego. Przy opisie każdego wzorca znajdziesz również argumenty przemawiające za jego stosowaniem lub unikaniem w konkretnych przypadkach. Nauczysz się tworzyć własne wzorce i dokumentować je w postaci diagramów UML.
* Podstawowe elementy języka UML
* Proces projektowania oprogramowania
* Miejsce wzorców projektowych w procesie tworzenia oprogramowania
* Wzorce podstawowe
* Wzorce konstrukcyjne
* Wzorce partycjonujące
* Wzorce strukturalne
* Wzorce behawioralne
* Wzorce przetwarzania współbieżnego
Naucz się rozwiązywać rzeczywiste problemy, wykorzystując wzorce projektowe.
Przystępny kurs programowania dla wszystkich
* Poznaj najpopularniejsze języki programowania
* Zorganizuj sobie pracę przy tworzeniu aplikacji
* Napisz własny program
* Przetestuj aplikacje i usuń błędy
Mimo dynamicznego rozwoju informatyki wśród większości użytkowników komputerów nadal istnieje przekonanie, że programowanie jest zajęciem dla wybrańców posiadających ogromną i niemal tajemną wiedzę. Tymczasem pisanie programów to umiejętność, którą może opanować każdy. Oczywiście nauka programowania wymaga poznania wielu zagadnień teoretycznych i praktycznych, ale nie wymaga od osoby uczącej się żadnych niezwykłych umiejętności. Każdy może poznać zasady pisania programów, zarówno dla celów hobbystycznych, jak i zawodowych.
Książka "Programowanie. Od podstaw" to podręcznik programowania przeznaczony dla osób, które dopiero rozpoczynają swoją komputerową przygodę. Zawiera uniwersalne wiadomości przydatne każdemu programiście niezależnie od tego, co i w jakim języku będzie tworzyć. Czytając ją, poznasz wady i zalety różnych języków programowania, sposoby realizacji typowych zadań programistycznych i metody testowania aplikacji. Dowiesz się, jak komputery przechowują informacje, jakie systemy liczbowe wykorzystuje się w programowaniu i jakie narzędzia będą Ci potrzebne podczas pracy. Zdobędziesz solidne podstawy, które pozwolą Ci na dalsze rozwijanie swoich umiejętności.
* Sposób interpretacji kodu źródłowego przez komputer
* System binarny i szesnastkowy
* Warsztat pracy programisty
* Komentarze w kodach programów
* Definiowanie zmiennych
* Instrukcje warunkowe
* Testowanie i usuwanie błędów
* Projektowanie interfejsów użytkownika
* Operacje na plikach
* Wykorzystywanie rejestru Windows
* Zarządzanie wersjami kodu
* Kompilacja
Przekonaj się, że programowanie nie jest trudne.
MS Project 2003. Zarządzanie projektami. Edycja limitowanaWydawnictwo Helion
Poznaj nowoczesne narzędzie pracy kierownika projektów
* Zdefiniuj projekt
* Zarządzaj zadaniami i zasobami
* Wygeneruj raporty
Zarządzanie projektami to dziedzina wiedzy, która w ostatnich latach bardzo dynamicznie się rozwija i zyskuje na znaczeniu. W firmach na całym świecie stosuje się je do usprawnienia działalności przedsiębiorstwa. Zarządzanie projektami, podobnie jak niemal wszystkie dziedziny nauki, stało się również poważnym wyzwaniem dla twórców oprogramowania. Na rynku dostępnych jest kilka pakietów wspomagających zarządzanie projektami, wśród których ogromną popularność zyskał MS Project. Jego wersje Standard i Professional w pełni odpowiadają potrzebom firm różnej wielkości.
Książka "MS Project 2003. Zarządzanie projektami" to podręcznik, dzięki któremu poznasz zasady pracy z tą aplikacją. Opisuje jej interfejs użytkownika, narzędzia i polecenia menu. Przedstawia sposoby definiowania projektu, harmonogramowania oraz zarządzania zasobami i zadaniami. Czytając ją, dowiesz się, jak wprowadzać dane dotyczące faktycznej realizacji projektu, generować wykresy i raporty oraz wymieniać dane z MS Project z innymi aplikacjami.
* Interfejs użytkownika i paski narzędzi
* Definiowanie projektu i jego właściwości
* Wprowadzanie nowych zadań
* Zarządzanie zasobami
* Tworzenie kalendarza projektu
* Optymalizacja zadań projektowych
* Generowanie raportów
* Dostosowywanie programu do własnych potrzeb
* Praca zespołowa nad projektem
* Korzystanie z narzędzi Project Server oraz Project Web Access
MS Project nie podejmie za Ciebie decyzji,
ale na pewno bardzo wspomoże Twoją pracę.
Wypróbuj najnowszą wersję programu dla architektów
* Jak usprawnić i przyspieszyć tworzenie projektów?
* Które sztuczki i niestandardowe rozwiązania zastosować, aby osiągnąć cele z pozoru nieosiągalne?
* W jaki sposób zoptymalizować swoje niewłaściwe nawyki w pracy, aby nie utrudniały współpracy z oprogramowaniem?
Jesteś doświadczonym architektem, który chce zwiększyć swą produktywność? A może studiujesz architekturę i pragniesz szybko rozpocząć pracę nad pierwszymi projektami? Zapomnij o żmudnym i czasochłonnym korzystaniu z kalki i rapidografu. Programy do komputerowej obsługi projektowania pozwolą Ci dużo szybciej przygotowywać kompletne modele inwestycji, a przede wszystkim bez problemów wprowadzać potrzebne zmiany, które są automatycznie odwzorowywane na wszystkie elementy projektu, także na dokumentację. ArchiCAD 10 to najnowsza i najbardziej rozbudowana wersja programu używanego przez ponad 100 tysięcy architektów i projektantów budowlanych.
Książka "ArchiCAD 10" pomoże Ci szybko rozpocząć tworzenie wirtualnych projektów nawet wtedy, gdy nie masz dużego doświadczenia w pracy z komputerem. Wykonując praktyczne ćwiczenia z pierwszej części książki poznasz podstawy programu ArchiCAD 10 oraz nauczysz się przeprowadzać standardowe operacje. Opracujesz też prosty model domu, co pozwoli Ci nabrać doświadczenia umożliwiającego przygotowywanie większych projektów w przyszłości. Druga część zawiera bardziej zaawansowane informacje. Przeczytasz tu o nawykach i technikach zwiększających Twoją wydajność, a także o pułapkach i często popełnianych błędach, których powinieneś się wystrzegać.
* Środowisko i interfejs programu ArchiCAD
* Rysowanie za pomocą wprowadzania współrzędnych
* Tworzenie i używanie obiektów
* Praca z arkuszami projektów
* Projektowanie schodów
* Tworzenie kompletnych projektów
* Modele trójwymiarowe
* Grafika komputerowa i renderowanie
* Współpraca w zespole
* Dostosowywanie programu ArchiCAD do własnych potrzeb
* Słowniczek specjalistycznych pojęć
Używaj nowoczesnych rozwiązań do tworzenia kompletnych projektów.
Poznanie istoty programowania komputerów można zacząć od analizy języków programowania, ich struktur, typów danych i instrukcji. Jednak mnogość języków, różnice pomiędzy nimi i możliwość wykorzystania ich do różnych zadań sprawiają, że przeprowadzenie takiej analizy będzie niezwykle czasochłonne, a jednocześnie nie będzie gwarantowało poznania wszystkich koncepcji i paradygmatów programowania. Naukę koncepcji programowania najlepiej rozpocząć od poznania modelowych struktur realizowanych za pomocą modeli obliczeniowych -- konstrukcji definiujących sposób realizacji obliczeń, nie powołujących się na konkretny język.
Książka "Programowanie. Koncepcje, techniki i modele" prezentuje programowanie jako zbiór takich właśnie modeli. Opisuje je w postaci kodów stworzonych w prostym języku podstawowym przeznaczonym dla abstrakcyjnego komputera. W książce przedstawiono zarówno modele ogólne -- programowanie deklaratywne, współbieżność deklaratywną, współbieżność przesyłania komunikatów, stan jawny, programowanie zorientowane obiektowo, współbieżność stanu dzielonego oraz programowanie relacyjne -- jak i modele specjalizowane, takie jak programowanie graficznych interfejsów użytkownika, programowanie rozproszone oraz programowanie z ograniczeniami. Publikacja zawiera wiele fragmentów programów i ćwiczeń. Można je uruchomić w ramach systemu Mozart Programming System -- pakietu programistycznego rozprowadzanego na licencji open source.
* Podstawowe założenia problematyki programowania
* Notacja Backusa-Naura
* Gramatyki kontekstowe i bezkontekstowe
* Zasada działania maszyny abstrakcyjnej
* Typy danych, instrukcje i funkcje
* Drzewa i analiza składniowa
* Metodologie projektowania programów
* Programowanie współbieżne
* Zasady projektowanie i programowanie obiektowego
* Projektowanie interfejsów użytkownika
* Obliczenia rozproszone
Pisanie niezawodnych programów wymaga opanowania koncepcji leżących u ich podstaw. Dzięki tej książce poznasz je wszystkie.
SolidWorks 2006 to aplikacja do modelowania 3D przeznaczona dla konstruktorów, oferująca uniwersalny zestaw narzędzi do modelowania powierzchniowego i bryłowego. Kolejne wersje tej aplikacji już tradycyjnie wytyczają nowe trendy wśród programów z tej grupy. Niezwykle intuicyjna obsługa programu, bazująca na znanych z systemu Windows mechanizmach "przeciągnij i upuść", pozwala nawet początkującym użytkownikom osiągnąć biegłość w ciągu kilku tygodni. Ogromna liczba narzędzi i modułów wspomagających sprawia, iż program ten doskonale wspomaga pracę projektanta. Wielką zaletą programu jest również możliwość wymiany plików z wieloma aplikacjami CAD/CAM/CAE, co umożliwia współpracę w ramach nawet największych zespołów projektowych.
Książka "SolidWorks 2006 w praktyce" to podręcznik dla początkujących użytkowników tej potężnej aplikacji. Przedstawia na przykładach zasady korzystania z SolidWorks 2006. Czytając ją, poznasz interfejs użytkownika i dostosujesz go do własnych potrzeb, a także nauczysz się wykorzystywać narzędzia do modelowania. Dowiesz się, w jaki sposób tworzyć części i złożenia, przeprowadzać analizy wytrzymałościowe metodą elementów skończonych za pomocą modułu CosmosXpress oraz jak ustrzec się błędów w projekcie, wykorzystując możliwość projektowania w przestrzeni. Dzięki zawartym w niej ćwiczeniom nauczysz się budować nawet najbardziej złożone konstrukcje.
* Konfigurowanie środowiska pracy
* Zarządzanie plikami danych
* Szkicowanie na płaszczyźnie oraz w przestrzeni
* Wymiarowanie w dwóch i trzech wymiarach
* Tworzenie brył części oraz elementów powierzchniowych
* Przygotowanie modelu formy wtryskowej na podstawie szkicu koncepcyjnego
* Tworzenie złożeń części oraz projektowanie "na złożeniu"
* Symulacja rozpływu masy w formie wtryskowej
* Obliczenia wytrzymałościowe
* Renderowanie projektów
* Tworzenie dokumentacji technicznej
Wykorzystaj nowoczesne narzędzia wspomagające pracę konstruktora i twórz, skupiając się na projekcie, a nie na narzędziu do projektowania.
Wzorce projektowe. Analiza kodu sposobem na ich poznanieWydawnictwo Helion
Opanuj zasady stosowania wzorców projektowych na praktycznych przykładach
* Dowiedz się, czym są wzorce projektowe
* Zaimplementuj wzorce we własnych programach
* Poznaj rodzaje wzorców projektowych
Wzorce projektowe to zapisane w sposób formalny sposoby rozwiązywania najczęstszych problemów, z jakimi borykają się twórcy oprogramowania stosujący języki obiektowe. Najczęściej stosowane wzorce zostały skatalogowane i przedstawione w postaci diagramów UML, jednak do poprawnego ich wykorzystywania niezbędna jest wiedza praktyczna. Przystępując do implementacji wzorca projektowego, należy poznać zakres jego zastosowania. Taką wiedzę najlepiej zdobywa się, analizując przykłady kodów źródłowych.
Dzięki książce "Wzorce projektowe. Analiza kodu sposobem na ich poznanie" poznasz wzorce w taki właśnie sposób -- badając programy, w których je zastosowano. Każdy z omawianych w książce wzorców zaprezentowany jest w oparciu o dwie implementacje szczegółowo wyjaśniające zasadę jego działania. Dzięki takim opisom wzorców opanujesz tę technologię znacznie szybciej niż w przypadku nauki teoretycznych podstaw oraz prób ich samodzielnego wdrażania we własnych aplikacjach. Unikniesz typowych błędów i dowiesz się, jak prawidłowo wykorzystywać każdy z wzorców.
* Zastosowanie wzorców projektowych
* Klasyfikacja wzorców
* Podstawowe pojęcia z dziedziny obiektowości
* Interfejsy i wzorce konstrukcyjne
* Implementacja wzorców obserwatora i fasady
* Wykorzystanie wzorców projektowych w aplikacjach bazodanowych
Książka zawiera również zestawienie najczęściej wykorzystywanych wzorców projektowych wraz z opisem ich zastosowań.
Poznaj reguły projektowania i programowania obiektowego
* Elementy techniki obiektowej
* Metodyka tworzenia oprogramowania
* Implementacja mechanizmów obiektowych
Programowanie zorientowane obiektowo to technika, która w ciągu ostatnich lat zyskała niezwykłą popularność. Języki programowania obiektowego święcą triumfy, a metodologie projektowania oparte na analizie obiektowej stają się standardami przemysłowymi. Założenia analizy i programowania obiektowego są pozornie proste, jednakże bez ich właściwego zrozumienia nie można zaprojektować prawidłowo aplikacji implementowanej w obiektowym języku programowania. Technologia obiektowa zmieniła cały przemysł programistyczny, więc jej opanowanie jest niezbędnym elementem wiedzy każdego informatyka, który chce wykorzystywać w pracy nowoczesne metody i techniki.
Książka "Programowanie zorientowane obiektowo" to wyczerpujące omówienie wszystkich zagadnień związanych z projektowaniem i programowaniem obiektowym. Opisuje główne elementy techniki obiektowej oraz wiele spośród ich potencjalnych zastosowań. Dzięki książce poznasz również metodykę projektowania oprogramowania, dowiesz się, czym są wzorce projektowe, i nauczysz się, w jaki sposób zaimplementować lub zasymulować techniki obiektowe w różnych językach programowania.
* Podstawowe elementy projektowania obiektowego
* Wielokrotne wykorzystywanie kodu
* Analiza obiektowa
* Abstrakcyjne typy danych
* Klasy i obiekty
* Zarządzanie pamięcią
* Mechanizmy dziedziczenia
* Obsługa wyjątków
* Metodyka projektowania obiektowego
* Programowanie współbieżne
* Obiektowe bazy danych
* Zastosowanie technik obiektowych w różnych językach programowania
Wykorzystaj techniki obiektowe i popraw jakość tworzonego przez siebie oprogramowania.
O autorze:
Bertrand Meyer -- autor bestselerów, mający na swoim koncie już dziesięć książek, publikował zarówno pozycje teoretyczne, jak i poświęcone praktycznym zastosowaniom technologii obiektowej, a nawet zarządzaniu. [więcej...]
Wzorce projektowe są modelami gotowych rozwiązań problemów programistycznych, przed jakimi często stają twórcy oprogramowania. Dzięki nim nie musimy ponownie "wymyślać koła". Dysponując wzorcami projektowymi, jesteśmy w stanie szybciej i efektywniej zbudować aplikację, ponieważ koncentrujemy się na samej implementacji algorytmu, a nie na jego opracowaniu. Najczęściej stosowane, klasyczne już, 23 wzorce projektowe opracowane przez twórców notacji UML implementowano już w wielu językach programowania. Jak sprawdzą się w połączeniu z jedną z najnowszych technologii, jaką jest .NET?
"C#. Wzorce projektowe" to kompletny przewodnik po wzorcach projektowych w C# i środowisku .NET. Przedstawia sposoby wykorzystania obiektowych cech języka C# i tworzenia eleganckiego kodu poprzez zastosowanie wzorców projektowych oraz korzystanie z ogromnych możliwości oferowanych przez biblioteki klas FCL dla środowiska Microsoft .NET. Wszystkie przedstawione w książce wzorce projektowe zostały zilustrowane przykładami kodu oraz diagramami UML, co ułatwia ich zrozumienie oraz zastosowanie w praktyce.
* Podstawowe wiadomości o wzorcach projektowych
* Interfejsy i klasy abstrakcyjne
* Wzorce interfejsów
* Wzorce odpowiedzialności
* Wzorce konstrukcyjne
* Wprowadzenie do operacji
* Wzorce operacji
* Wzorce rozszerzeń
* Wzorce rozszerzające
Poznaj zastosowanie wzorców projektowych
i wykorzystaj je w swojej pracy.
Programowanie w Prologu różni się zasadniczo od programowania w językach strukturalnych, takich jak Pascal czy C i językach obiektowych jak Java. Dla wielu osób zaczynających przygodę z Prologiem zaskoczeniem jest fakt, że pisanie programu w tym języku nie polega na kodowaniu algorytmu. Programista opisuje obiekty i związki między nimi, a także podaje warunki, jakie powinno spełniać szukane rozwiązanie. System sam przeprowadza obliczenia w oparciu o podane zależności logiczne, zaś programista jedynie częściowo może wpływać na sposób działania programu.
Książka "Prolog. Programowanie" to podręcznik tego niezwykłego języka programowania stosowanego przy rozwiązywaniu problemów z różnych dziedzin: od logiki matematycznej i symbolicznego rozwiązywania równań przez analizę języka naturalnego, aż do zagadnień związanych ze sztuczną inteligencją. Zawiera ona:
* Wprowadzenie do Prologu
* Podstawowe struktury danych
* Nawracanie, sterowanie nawracaniem za pomocą symbolu odcięcia
* Operacje wejścia/wyjścia
* Predykaty
* Składnię reguł gramatycznych i analizę języka naturalnego
* Wiele przykładowych programów
Wszystkim rozdziałom towarzyszą ćwiczenia. Uzupełnieniem tekstu książki są dodatki omawiające m.in. rozwiązania ćwiczeń i różnice między najważniejszymi wersjami Prologu.
"Prolog. Programowanie" to książka dla studentów matematyki i informatyki, a także dla wszystkich zainteresowanych programowaniem opartym na regułach logicznych. Jeśli chcesz podjąć wyzwanie i nauczyć się Prologu, jest książka dla Ciebie.
Java. Tworzenie aplikacji sieciowych za pomocą Springa, Hibernate i EclipseWydawnictwo Helion
Tworzenie zaawansowanych projektów korporacyjnych w Javie
* Poznaj sprawdzone metodologie i procesy
* Naucz się stosować praktyczne technologie i narzędzia
* Twórz w Javie kompletne rozwiązania w optymalny sposób
Chciałbyś tworzyć rozbudowane aplikacje w języku Java szybciej i w prostszy sposób? Liczne narzędzia i technologie budowania programów w Javie często ułatwiają wykonywanie niektórych zadań, ale jednocześnie niepotrzebnie komplikują i wydłużają proces powstawania gotowych produktów. Jak dobrać odpowiednie techniki i zastosować metodologię, która usprawni i przyspieszy pracę? Niektórzy już to wiedzą -- Ty też możesz skorzystać z ich doświadczeń!
"Java. Tworzenie aplikacji sieciowych za pomocą Spring, Hibernate i Eclipse" to praktyczny poradnik opisujący wydajną i sprawdzoną metodologię szybkiego pisania oprogramowania w języku Java. Dzięki tej książce poznasz techniki programowania ekstremalnego oraz metodologii Agile i nauczysz się stosować je podczas pracy nad programami. Dowiesz się, jak zaprojektować aplikację, przygotować środowisko i korzystać z wiersza poleceń oraz proponowanego zestawu narzędzi -- platformy Spring, mechanizmu odwzorowań Hibernate i IDE Eclipse -- co pozwoli Ci w prosty sposób użyć zaawansowanych rozwiązań.
* Techniki programowania ekstremalnego (XP)
* Wprowadzenie do metodologii Agile
* Korzystanie z platformy Spring
* Utrwalanie obiektów za pomocą Hibernate
* Praca w IDE Eclipse
* Debugowanie oprogramowania
* Monitorowanie i profilowanie aplikacji
* Refaktoryzacja kodu
Zwiększ swą wydajność dzięki zastosowaniu efektywnych procesów i narzędzi do tworzenia oprogramowania w języku Java.
Wzorce projektowe to opisy poprawnych rozwiązań problemów, na które napotkali programiści w swojej pracy. Pozwalają uniknąć pracy nad rozwiązaniem zagadnienia, które już dawno zostało rozwiązane. Jednak nawet największy zestaw wzorców projektowych jest nieprzydatny, jeśli nie wiadomo, jak zastosować je w określonym zadaniu. Wiedza o tym, że wzorzec istnieje bez umiejętności zaimplementowania go jest bezużyteczna.
Książka "J2EE. Stosowanie wzorców projektowych” zawiera nie tylko opisy wzorców, ale również sposoby ich implementacji w aplikacjach J2EE. Czytelnik znajdzie tu omówienie wzorców dotyczących wydajności, skalowalności i elastyczności aplikacji oraz wzorców ściśle związanych z tworzeniem aplikacji biznesowych. Książka przedstawia również nowe wzorce dla mechanizmów dystrybucji komunikatów i trwałości.
W książce omówiono:
* Podstawowe zasady tworzenia aplikacji biznesowych w Javie.
* Język UML jako uniwersalne narzędzie do modelowania aplikacji.
* Wzorce dla warstwy prezentacji.
* Wzorce dla warstwy logiki biznesowej.
* Wzorce komunikacji pomiędzy warstwami.
* Wzorce dystrybucji komunikatów.
* Przykłady błędnych wzorców.
Największą zaletą książki jest to, że przedstawia zastosowanie wzorców projektowych do tworzenia aplikacji biznesowych. Jeśli zajmujesz się tworzeniem aplikacji J2EE, to ta książka jest dla Ciebie lekturą obowiązkową.
Znajdź rynek i odbiorców dla swoich programów
* Zaplanuj projekt i zrealizuj go w odpowiedni sposób
* Poznaj skuteczne metody promocji oprogramowania
* Zorganizuj efektywny proces sprzedaży dla swojego przedsięwzięcia
Każdy, nawet najdoskonalszy i najbardziej rewolucyjny program, pozostanie wyłącznie dumą swoich twórców, jeśli nie trafi w odpowiednim momencie na rynek i nie zdobędzie grona użytkowników. Proces produkcji oprogramowania to dopiero pierwszy krok. Kolejnymi, wbrew pozorom o wiele bardziej skomplikowanymi etapami są promocja, sprzedaż i obsługa klientów. Niedocenianie bądź nawet lekceważenie tych kroków doprowadziło wiele firm, oferujących niezwykle ciekawe produkty, do upadku bądź "wchłonięcia" przez większe. Autorzy oprogramowania, którzy chcą, aby ich pomysły przyniosły nie tylko uznanie w środowisku programistów, ale również pieniądze, powinni poznać zasady budowania rynku dla swoich produktów.
Czytając książkę "Sprzedaj swój software", zdobędziesz wiedzę, która pomoże Ci stworzyć efektywnie działającą firmę programistyczną. Dowiesz się, w jaki sposób zaplanować projekt informatyczny, jak poznać oczekiwania klientów i przełożyć je na konkretny produkt. Nauczysz się budować zespół, zarządzać nim i eliminować potencjalne problemy. Poznasz metody kontroli jakości i usuwania błędów z oprogramowania. Zaplanujesz skuteczną kampanię promocyjną i działania sprzedażowe z wykorzystaniem różnych mediów i technik. Przeczytasz także o obsłudze klientów, rozwijaniu istniejących produktów i zarządzaniu firmą w warunkach szybkiego jej rozwoju, który na pewno będzie efektem wdrożenia wiadomości, jakie znajdziesz w tej książce.
* Badanie rynku pod kątem zapotrzebowania
* Wybór odpowiedniej formy prawnej przedsiębiorstwa
* Budowanie wizerunku firmy
* Zdobywanie kapitału na rozwój
* Planowanie projektu
* Rekrutacja i budowanie zespołu projektowego
* Kontrola jakości produktu
* Dokumentacja i instrukcja obsługi
* Polityka cenowa
* Kampania promocyjna
* Techniki sprzedaży
* Obsługa klientów
* Zarządzanie rozwijającą się firmą
Dołącz do grona znanych producentów oprogramowania.
Windows Movie Maker dołączany do systemu Windows XP to doskonałe narzędzie do domowego montażu cyfrowych filmów wideo. Jest prosty w obsłudze, posiada spore możliwości, a montaż filmów za jego pomocą jest przyjemną zabawą. Movie Maker pozwala na przeniesienie klipów z kamery cyfrowej, zaimportowanie materiałów z dysku, rozmieszczenie ujęć i połączenie ich przejściami, a także udźwiękowienie i dodanie efektów specjalnych. Gotowy film można wysłać pocztą elektroniczną, zapisać na dysku lub płycie CD albo opublikować w internecie.
Książka "Tworzenie filmów w Windows XP. Projekty" przedstawia proces tworzenia filmu wideo. Opisuje kolejne kroki prowadzące do zmontowania cyfrowego filmu wideo z przechwyconych ujęć i zaimportowanych materiałów. Nie znajdziesz w niej jednak długich opisów i dziesiątek parametrów. Każde zagadnienie jest przedstawione za pomocą zrzutów ekranu i krótkich instrukcji. Dzięki temu w ciągu kilku godzin zrealizujesz swój pierwszy projekt w Movie Makerze.
* Elementy interfejsu użytkownika
* Przechwytywanie klipów z kamery wideo
* Import materiałów źródłowych
* Tworzenie wstępnego montażu
* Dodawanie przejść i efektów specjalnych
* Nakładanie plansz tytułowych i napisów
* Udźwiękowienie filmu
* Korzystanie z funkcji Autofilm
* Eksport zmontowanego filmu
Przekonaj się, jak proste może być tworzenie własnych filmów wideo.
Przedstaw się światu!
* Jak zbudować elegancką stronę z blogiem?
* Jak tworzyć wyspecjalizowane przeglądarki bloga?
* Jak dodawać do własnego serwisu blogowego kanał RSS?
Prowadzenie bloga to nowy sposób na zwiększenie aktywności społecznej - szansa na zaistnienie w rzeczywistości wirtualnej, mająca swoje odbicie w tak zwanym „prawdziwym życiu”. Dlatego blogi piszą dziś niemal wszyscy: politycy, marketingowcy, celebryci, biznesmeni. Forma publicznie dostępnego pamiętnika pozwala na szeroką prezentację własnych poglądów, przekonań czy wartości. Z tego powodu blogi wykorzystywane są też jako wortale poświęcone określonej tematyce, promujące idee lub produkty. Ich użytkownicy stworzyli nawet własną społeczność, która 31 sierpnia obchodzi swoje święto - Dzień Bloga. Już dziś możesz do nich dołączyć!
„Blog, więcej niż internetowy pamiętnik” to książka, która pokaże Ci, jak założyć i prowadzić własny blog, a także aktywnie korzystać z innych blogów. Dowiesz się z niej, jak skorzystać z oprogramowania obsługującego serwisy blogowe, jak zintegrować języki PHP, HTML, CSS i SQL, aby stworzyć elegancką stronę prezentującą Twój blog. Nauczysz się budować własną bazę danych, przeznaczoną do przechowywania wpisów, a także zabezpieczać ją przed niepowołanymi modyfikacjami. I wreszcie poznasz sposób na dodanie do własnego serwisu kanału RSS, aby czytelnicy na bieżąco mogli obserwować pojawianie się nowych wpisów. Znajdziesz tu wszystko, czego potrzebujesz, aby zaprezentować światu swój blog!
* Obsługa okna tworzenia bloga
* Modyfikowanie wyglądu bloga
* Publikowanie w określonym terminie
* Rozbudowa bloga
* Instalacja czytnika RSS
* Subskrybowanie blogów za pomocą RSS
* Instalacja oprogramowania własnego serwera
* Baza danych i modyfikacja danych
* Projektowanie struktury bloga
* Zakładanie konta użytkownika
* Zakładanie bazy danych i tabeli danych
* Nadawanie uprawnień do korzystania z tabeli
* Przygotowanie szablonu i tworzenie strony www
* Automatyzowanie, blokowanie i trwałe usuwanie wpisu
* Tworzenie formularza wyszukiwania
* Tworzenie kanału RSS i wypełnianie go treścią
* Pobieranie programu Weber
Blog to prosty i fascynujący sposób, aby świat dowiedział się o Twoim istnieniu!
More Related Content
Similar to Sprzedaj swój program. Droga do udanych projektów programistycznych
Kompendium wiedzy dla każdego programisty, projektanta i kierownika projektu
* Nowoczesne metodyki wytwarzania oprogramowania
* Narzędzia do modelowania aplikacji i automatycznego generowania kodu
* Koncepcja architektury sterowanej modelami
* Sposoby zapewnienia jakości aplikacji
Tworzenie aplikacji korporacyjnych to wyścig z czasem. Organizacje zmieniają się podobnie jak otoczenie biznesowe, w którym działają. Zbyt długi okres przygotowania aplikacji może sprawić, że po wdrożeniu okaże się ona bezużyteczna. Z drugiej jednak strony, zbyt duży pośpiech przy tworzeniu aplikacji powoduje, że pomija się fazę modelowania i testowania, pisząc kod źródłowy bez jakiejkolwiek koncepcji i planu. Efektem takiego pośpiechu są aplikacje niedostosowane do wymagań użytkowników i pracujące niestabilnie. Sposobem na stworzenie odpowiedniego systemu informatycznego dla korporacji jest wykorzystywanie odpowiednich metodyk projektowych i nowoczesnych narzędzi ułatwiających zarówno pisanie, jak i testowanie aplikacji.
Książka "J2EE. Podstawy programowania aplikacji korporacyjnych" przedstawia najlepsze praktyki projektowe stosowane przy tworzeniu systemów informatycznych z wykorzystaniem platformy J2EE. Opisano w niej kolejne etapy projektu oraz narzędzia i metodyki, dzięki którym przeprowadzenie każdego z nich będzie szybsze i efektywniejsze. Czytając ją, poznasz metodyki RUP i XP, typy architektur systemów oraz sposoby modelowania aplikacji i narzędzia do automatycznego generowania szkieletu kodu źródłowego. Dowiesz się, jak optymalnie skonfigurować środowiska programistyczne i jak testować kolejne moduły aplikacji. Nauczysz się korzystać z nowoczesnych metodyk i narzędzi.
* Podstawowe wiadomości o błyskawicznym wytwarzaniu aplikacji (RAD)
* Metodyki projektowe Rational Unified Process (RUP) oraz Extreme Programming (XP)
* Wielowarstwowe architektury systemów
* Modelowanie systemów za pomocą języka UML
* Automatyczne generowanie kodu
* Stosowanie narzędzi XDoclet i Hibernate
* Komunikacja z bazami danych
* Zasady programowania aspektowego
* Testowanie aplikacji
Wiadomości zawarte w tej książce sprawią, że będziesz w stanie szybciej projektować i tworzyć aplikacje korporacyjne.
Poznaj nowoczesną metodykę wytwarzania oprogramowania w C#
* Jak stosować w praktyce zasady zwinnego wytwarzania oprogramowania?
* W jaki sposób wykorzystywać w projekcie diagramy UML?
* Jak korzystać z wzorców projektowych?
W związku ze stale rosnącymi oczekiwaniami użytkowników oprogramowania produkcja systemów informatycznych wymaga dziś korzystania z usystematyzowanych metod zarządzania. Projekt informatyczny, przy którym nie używa się sensownej metodologii wytwarzania, jest skazany na porażkę -- przekroczenie terminu, budżetu i niespełnienie wymagań funkcjonalnych. Kierowanie projektem zgodnie z określonymi zasadami również nie gwarantuje sukcesu, lecz znacznie ułatwia jego osiągnięcie. Na początku roku 2001 grupa ekspertów zawiązała zespół o nazwie Agile Alliance. Efektem prac tego zespołu jest metodologia zwinnego wytwarzania oprogramowania -- Agile.
Książka "Agile. Programowanie zwinne: zasady, wzorce i praktyki zwinnego wytwarzania oprogramowania w C#" to podręcznik metodologii Agile przeznaczony dla twórców oprogramowania korzystających z technologii .NET. Dzięki niemu poznasz podstawowe założenia i postulaty twórców Agile i nauczysz się stosować je w praktyce. Dowiesz się, jak szacować terminy i koszty, dzielić proces wytwarzania na iteracje i testować produkt. Zdobędziesz wiedzę na temat refaktoryzacji, diagramów UML, testów jednostkowych i wzorców projektowych. Przeczytasz także o publikowaniu kolejnych wersji oprogramowania.
* Techniki programowania ekstremalnego
* Planowanie projektu
* Testowanie i refaktoryzacja
* Zasady zwinnego programowania
* Modelowanie oprogramowania za pomocą diagramów UML
* Stosowanie wzorców projektowych
* Projektowanie pakietów i komponentów
Przekonaj się, ile czasu i pracy zaoszczędzisz,
stosując w projektach metodologię Agile.
MS Project 2007 i MS Project Server 2007. Efektywne zarządzanie projektamiWydawnictwo Helion
Poznaj najnowszą wersję doskonałego narzędzia
wspomagającego zarządzanie projektami
* Zdefiniuj zakres projektu i podziel go na zadania
* Wykorzystaj narzędzia do śledzenia procesu jego realizacji
* Przygotuj raporty kończące projekt
Sprawne zarządzanie projektami wymaga od ich kierowników dużego doświadczenia. Jednak w przypadku wielu projektów samo doświadczenie zwyczajnie nie wystarcza -- tu niezbędne jest efektywne narzędzie wspomagające kierowanie projektem. Takim narzędziem jest Microsoft Office Project 2007 -- kolejna wersja najpopularniejszej aplikacji do zarządzania projektami. Aplikacja ta ułatwia pracę kierownika projektu na każdym etapie -- od definiowania projektu i zadań, poprzez przydzielanie zasobów, aż do analizy powykonawczej. System Microsoft Office Project Server 2007 dodatkowo rozszerza te możliwości o zarządzanie informacjami dotyczącymi większej liczby projektów.
Książka "MS Project 2007 i MS Project Server 2007. Efektywne zarządzanie projektami" jest przeznaczona dla kierowników projektów, osób nadzorujących wiele projektów oraz członków zespołów projektowych. Czytając ją, poznasz możliwości MS Project 2007 i MS Project Server 2007 oraz nauczysz się wykorzystywać je w pracy. Dowiesz się, jak zdefiniować zakres projektu, zaplanować zasoby i przydzielić je do zadań, optymalizować projekt i śledzić proces jego realizacji. Znajdziesz tu także informacje o raportach tekstowych i graficznych oraz nadzorowaniu zmian w wielu projektach i analizowaniu ich portfela.
* Interfejs użytkownika programu MS Project 2007
* Tworzenie nowego projektu
* Zarządzanie zasobami i zadaniami
* Tworzenie kalendarza projektu
* Rozwiązywanie problemów z nadmiernym obciążeniem zasobów
* Śledzenie realizacji projektu
* Analiza odchyleń
* Widoki i raporty
Gotowe na czas! Projekty zawsze zgodne z planem!
Projektowanie oprogramowania. Wstęp do programowania i techniki komputerowejWydawnictwo Helion
Umiejętność programowania nie ma już charakteru czysto zawodowego. Księgowi muszą się posługiwać arkuszami kalkulacyjnymi i edytorami tekstu, fotografowie korzystają z edytorów zdjęć, muzycy programują syntezatory, zaś profesjonalni programiści tworzą skomplikowane aplikacje. Programowanie jest więc bardzo pożądaną umiejętnością, potrzebną nie tylko informatykom.
Projektowanie oprogramowania wymaga takich samych zdolności analitycznych, jak matematyka. Jednak, w przeciwieństwie do matematyki, praca z programami jest aktywnym sposobem zdobywania wiedzy. Obcowanie z oprogramowaniem daje możliwość stałej interakcji, co pozwala na zgłębianie wiedzy, eksperymentowanie z nią oraz na stałą samoocenę.
Autorzy tej klasycznej publikacji stawiają tezę, iż "każdy powinien nauczyć się, jak projektować oprogramowanie" i właśnie nauka podstaw projektowania jest jej tematem głównym. W książce znajdziesz wiele podstawowych algorytmów, wyjaśnienia takich pojęć, jak akumulacja wiedzy czy równość ekstensjonalna i intensjonalna, słowem wszystko to, co stanowi teoretyczną podstawę wiedzy programistycznej.
Poznasz między innymi:
* Podstawowe struktury, z których składają się programy komputerowe
* Proste i złożony typy danych
* Metody przetwarzania danych
* Programowanie z użyciem rekurencji, algorytmy z nawracaniem
* Projektowanie abstrakcyjne
* Sposoby gromadzenia wiedzy
* Wykorzystanie wektorów
Z lektury książki "Projektowanie oprogramowania. Wstęp do programowania i techniki komputerowej" skorzystają zarówno studenci informatyki, jak też i słuchacze innych kierunków oraz wszystkie osoby, które chcą podbudować swoją wiedzę praktyczną solidnymi i przydatnymi podstawami teoretycznymi.
Naucz się języka C++ w najlepszy sposób:
poznając go z punktu widzenia inżynierii programowania
* Demonstruje praktyczne techniki stosowane przez zawodowych programistów
* Zawiera poprawny, gruntownie przetestowany przykładowy kod źródłowy programów oraz przykłady zaczerpnięte z praktyki
* Skoncentrowana na nowoczesnych technologiach, które muszą poznać programiści
* Zawiera rady profesjonalistów, które pozwolą czytelnikowi tworzyć najlepsze programy
Książka Wiktora Shterna zatytułowana "C++. Inżynieria programowania" stosuje wyjątkowy sposób nauki języka C++ przeznaczony dla programistów mających doświadczenie w dowolnym języku programowania: prezentuje możliwość zastosowania w C++ najlepszych technik programistycznych oraz metodologii inżynierii programowania. Nawet jeżeli już wcześniej wykorzystywałeś język C++, ta wyczerpująca książka przedstawi sposób tworzenia poprawniejszego kodu, łatwiejszego do utrzymania i modyfikacji.
Książka niniejsza uczy zasad programowania obiektowego przed samą nauką języka, co pozwala wykorzystać wszystkie zalety OOP do tworzenia poprawnych aplikacji. Udoskonalisz znajomość kluczowych składników standardu ANSI/ISO C++ rozpatrywanych z punktu widzenia inżyniera: klas, metod, modyfikatorów const, dynamicznego zarządzania pamięcią, złożeń klas, dziedziczenia, polimorfizmu, operacji wejścia-wyjścia i wielu innych. Jeżeli pragniesz tworzyć w języku C++ najlepsze programy, musisz projektować, myśleć i programować stosując najlepsze obecnie praktyki inżynierii programowania. Lektura książki "C++. Inżynieria programowania" pomoże Ci w tym.
Książka "C++. Inżynieria programowania" kładzie nacisk na:
* Prezentację zastosowań zasad inżynierii programowania w programach pisanych w C++
* Tworzenie kodu łatwego do późniejszych modyfikacji
* Praktyczne zrozumienie zasad programowania obiektowego przed nauką samego języka
* Przedstawienie najnowszych cech standardu ANSI/ISO C++
* Zaprezentowanie setek realistycznych przykładów kodu programów
Teoria i praktyka prowadzenia projektów programistycznych
* Naucz się zasad programowania ekstremalnego i zastosuj je w praktyce
* Od konceptualizacji do przekazania działającego systemu -- poznaj najlepsze sposoby pracy na każdym etapie tworzenia oprogramowania
* Poznaj znaczenie wszystkich uczestników procesu tworzenia oprogramowania: programistów, menedżerów i klientów
* Dowiedz się, jak rozwiązać najczęstsze problemy powstające przy wdrażaniu metodologii programowania ekstemalnego
"eXtreme programming" przedstawia nową metodologię i praktykę programowania w przystępny, a jednocześnie kompleksowy sposób. Autorzy omawiają podstawowe pojęcia programowania ekstremalnego: planowanie edycji, programowanie w parach, wczesne testowanie, "zręczne modelowanie" i refaktoryzację. Zostały one zaprezentowane na przykładzie konkretnego projektu, którego realizację omówiono w książce.
Kto powinien przeczytać tę książkę? Będzie ona niewątpliwie pożyteczną lekturą dla każdego, kto choć częściowo związał swe życie z tworzeniem oprogramowania -- programisty, menedżera czy koordynatora projektu. I nawet gdyby miało skończyć się tylko na czytaniu -- bez praktycznego zastosowania w najbliższym projekcie poznanych reguł, wiedza o programowaniu ekstremalnym okaże się bez wątpienia pożyteczna.
* Naucz się zasad programowania ekstremalnego i zastosuj je w praktyce
* Od konceptualizacji do oddania działającego systemu -- poznaj najlepsze sposoby pracy na każdym etapie tworzenia programowania
* Poznaj znaczenie wszystkich uczestników procesu tworzenia oprogramowania: programistów, menedżerów i klientów
* Dowiedz się, jak rozwiązać najczęstsze problemy powstające przy wdrażaniu metodologii programowania ekstemalnego
Wspomaganie planowania zadań i zarządzania przedsiębiorstwem
Microsoft Project 2002 to kolejna już wersja popularnego programu do zarządzania przedsięwzięciami. Jeżeli jesteś osobą odpowiedzialną za utworzenie harmonogramu przedsięwzięcia, oszacowanie jego kosztów, zarządzanie zasobami ludzkimi i sprzętowymi lub jeśli chcesz porównywać plan z jego wykonaniem - ten program ułatwi Ci pracę.
Podręcznik łączy teorię z praktyką. Opisano w nim teoretyczne podstawy poszczególnych narzędzi dostępnych w MS Project 2002. Część praktyczna następująca po wyjaśnieniach teoretycznych umożliwia wykorzystanie nabytych wiadomości. Ma ona formę ćwiczeń. Dzięki ich wykonaniu nabędziesz umiejętności, które później z całą pewnością będą przydatne w pracy.
Omówiono:
* Interfejs programu MS Project i sposoby wyświetlania danych za pomocą widoków
* Zarządzanie zadaniami i zasobami
* Przydzielanie zasobów do zadań
* Kalendarze - ustalanie czasu pracy i dni wolnych
* Tworzenie budżetu projektu i analiza przepływów gotówkowych
* Rozwiązywanie problemów z nadmiernym obciążeniem zasobów i optymalizacja projektu
* Analizy odchyleń terminów, kosztów oraz pracy
* Tworzenie raportów
* Wymianę informacji pomiędzy MS Project i innymi aplikacjami
* Wspomaganie planowania zadań i zarządzania przedsięwzięciami
Książka ta zawiera wiele cennych informacji zarówno dla tych użytkowników rozpoczynających pracę z aplikacją MS Project, jak i dla tych, którzy mają doświadczenie z tą i poprzednimi wersjami programu. W przypadku, gdyby niektóre ćwiczenia sprawiały jednak problem, na płycie CD zawarte są filmy instruktażowe zapisane w formacie wmv. Zawierają one zapis wideo niektórych czynności opisanych w treści ćwiczeń.
* Twórz nowe projekty, zarządzaj zadaniami i przydzielaj zasoby
* Zautomatyzuj opracowywanie budżetu swoich przedsięwzięć
* Poznaj różne sposoby prezentacji graficznej diagramów projektów
* Twórz przejrzyste raporty z wykonanych zadań
Poznaj zasady stosowania wzorców projektowych
* Wykorzystaj notację UML
* Użyj wzorców projektowych w swojej pracy
* Napisz własne wzorce
Wzorce projektowe to opisy rozwiązań problemów programistycznych. Ich stosowanie podczas tworzenia oprogramowania pozwala uzyskać oszczędności czasowe, zwiększyć efektywność pracy i zoptymalizować działanie programów. Wiele wzorców już udokumentowano, a proces odkrywania nowych ciągle trwa. Programista dysponujący wiedzą o wzorcach projektowych może łatwo rozpoznawać problemy, dla których te wzorce znajdują zastosowanie, i natychmiast przystępować do opracowywania rozwiązań, bez konieczności wstrzymywania projektu, analizowania problemu i rozważania możliwych strategii.
Książka "Visual Basic .NET. Wzorce projektowe" to kompendium wiedzy o stosowaniu wzorców projektowych podczas programowania w języku Visual Basic. Zawiera szczegółowe omówienie najpopularniejszych wzorców, reguły ich wykorzystywania oraz przykłady kodu na nich opartego. Przy opisie każdego wzorca znajdziesz również argumenty przemawiające za jego stosowaniem lub unikaniem w konkretnych przypadkach. Nauczysz się tworzyć własne wzorce i dokumentować je w postaci diagramów UML.
* Podstawowe elementy języka UML
* Proces projektowania oprogramowania
* Miejsce wzorców projektowych w procesie tworzenia oprogramowania
* Wzorce podstawowe
* Wzorce konstrukcyjne
* Wzorce partycjonujące
* Wzorce strukturalne
* Wzorce behawioralne
* Wzorce przetwarzania współbieżnego
Naucz się rozwiązywać rzeczywiste problemy, wykorzystując wzorce projektowe.
Przystępny kurs programowania dla wszystkich
* Poznaj najpopularniejsze języki programowania
* Zorganizuj sobie pracę przy tworzeniu aplikacji
* Napisz własny program
* Przetestuj aplikacje i usuń błędy
Mimo dynamicznego rozwoju informatyki wśród większości użytkowników komputerów nadal istnieje przekonanie, że programowanie jest zajęciem dla wybrańców posiadających ogromną i niemal tajemną wiedzę. Tymczasem pisanie programów to umiejętność, którą może opanować każdy. Oczywiście nauka programowania wymaga poznania wielu zagadnień teoretycznych i praktycznych, ale nie wymaga od osoby uczącej się żadnych niezwykłych umiejętności. Każdy może poznać zasady pisania programów, zarówno dla celów hobbystycznych, jak i zawodowych.
Książka "Programowanie. Od podstaw" to podręcznik programowania przeznaczony dla osób, które dopiero rozpoczynają swoją komputerową przygodę. Zawiera uniwersalne wiadomości przydatne każdemu programiście niezależnie od tego, co i w jakim języku będzie tworzyć. Czytając ją, poznasz wady i zalety różnych języków programowania, sposoby realizacji typowych zadań programistycznych i metody testowania aplikacji. Dowiesz się, jak komputery przechowują informacje, jakie systemy liczbowe wykorzystuje się w programowaniu i jakie narzędzia będą Ci potrzebne podczas pracy. Zdobędziesz solidne podstawy, które pozwolą Ci na dalsze rozwijanie swoich umiejętności.
* Sposób interpretacji kodu źródłowego przez komputer
* System binarny i szesnastkowy
* Warsztat pracy programisty
* Komentarze w kodach programów
* Definiowanie zmiennych
* Instrukcje warunkowe
* Testowanie i usuwanie błędów
* Projektowanie interfejsów użytkownika
* Operacje na plikach
* Wykorzystywanie rejestru Windows
* Zarządzanie wersjami kodu
* Kompilacja
Przekonaj się, że programowanie nie jest trudne.
MS Project 2003. Zarządzanie projektami. Edycja limitowanaWydawnictwo Helion
Poznaj nowoczesne narzędzie pracy kierownika projektów
* Zdefiniuj projekt
* Zarządzaj zadaniami i zasobami
* Wygeneruj raporty
Zarządzanie projektami to dziedzina wiedzy, która w ostatnich latach bardzo dynamicznie się rozwija i zyskuje na znaczeniu. W firmach na całym świecie stosuje się je do usprawnienia działalności przedsiębiorstwa. Zarządzanie projektami, podobnie jak niemal wszystkie dziedziny nauki, stało się również poważnym wyzwaniem dla twórców oprogramowania. Na rynku dostępnych jest kilka pakietów wspomagających zarządzanie projektami, wśród których ogromną popularność zyskał MS Project. Jego wersje Standard i Professional w pełni odpowiadają potrzebom firm różnej wielkości.
Książka "MS Project 2003. Zarządzanie projektami" to podręcznik, dzięki któremu poznasz zasady pracy z tą aplikacją. Opisuje jej interfejs użytkownika, narzędzia i polecenia menu. Przedstawia sposoby definiowania projektu, harmonogramowania oraz zarządzania zasobami i zadaniami. Czytając ją, dowiesz się, jak wprowadzać dane dotyczące faktycznej realizacji projektu, generować wykresy i raporty oraz wymieniać dane z MS Project z innymi aplikacjami.
* Interfejs użytkownika i paski narzędzi
* Definiowanie projektu i jego właściwości
* Wprowadzanie nowych zadań
* Zarządzanie zasobami
* Tworzenie kalendarza projektu
* Optymalizacja zadań projektowych
* Generowanie raportów
* Dostosowywanie programu do własnych potrzeb
* Praca zespołowa nad projektem
* Korzystanie z narzędzi Project Server oraz Project Web Access
MS Project nie podejmie za Ciebie decyzji,
ale na pewno bardzo wspomoże Twoją pracę.
Wypróbuj najnowszą wersję programu dla architektów
* Jak usprawnić i przyspieszyć tworzenie projektów?
* Które sztuczki i niestandardowe rozwiązania zastosować, aby osiągnąć cele z pozoru nieosiągalne?
* W jaki sposób zoptymalizować swoje niewłaściwe nawyki w pracy, aby nie utrudniały współpracy z oprogramowaniem?
Jesteś doświadczonym architektem, który chce zwiększyć swą produktywność? A może studiujesz architekturę i pragniesz szybko rozpocząć pracę nad pierwszymi projektami? Zapomnij o żmudnym i czasochłonnym korzystaniu z kalki i rapidografu. Programy do komputerowej obsługi projektowania pozwolą Ci dużo szybciej przygotowywać kompletne modele inwestycji, a przede wszystkim bez problemów wprowadzać potrzebne zmiany, które są automatycznie odwzorowywane na wszystkie elementy projektu, także na dokumentację. ArchiCAD 10 to najnowsza i najbardziej rozbudowana wersja programu używanego przez ponad 100 tysięcy architektów i projektantów budowlanych.
Książka "ArchiCAD 10" pomoże Ci szybko rozpocząć tworzenie wirtualnych projektów nawet wtedy, gdy nie masz dużego doświadczenia w pracy z komputerem. Wykonując praktyczne ćwiczenia z pierwszej części książki poznasz podstawy programu ArchiCAD 10 oraz nauczysz się przeprowadzać standardowe operacje. Opracujesz też prosty model domu, co pozwoli Ci nabrać doświadczenia umożliwiającego przygotowywanie większych projektów w przyszłości. Druga część zawiera bardziej zaawansowane informacje. Przeczytasz tu o nawykach i technikach zwiększających Twoją wydajność, a także o pułapkach i często popełnianych błędach, których powinieneś się wystrzegać.
* Środowisko i interfejs programu ArchiCAD
* Rysowanie za pomocą wprowadzania współrzędnych
* Tworzenie i używanie obiektów
* Praca z arkuszami projektów
* Projektowanie schodów
* Tworzenie kompletnych projektów
* Modele trójwymiarowe
* Grafika komputerowa i renderowanie
* Współpraca w zespole
* Dostosowywanie programu ArchiCAD do własnych potrzeb
* Słowniczek specjalistycznych pojęć
Używaj nowoczesnych rozwiązań do tworzenia kompletnych projektów.
Poznanie istoty programowania komputerów można zacząć od analizy języków programowania, ich struktur, typów danych i instrukcji. Jednak mnogość języków, różnice pomiędzy nimi i możliwość wykorzystania ich do różnych zadań sprawiają, że przeprowadzenie takiej analizy będzie niezwykle czasochłonne, a jednocześnie nie będzie gwarantowało poznania wszystkich koncepcji i paradygmatów programowania. Naukę koncepcji programowania najlepiej rozpocząć od poznania modelowych struktur realizowanych za pomocą modeli obliczeniowych -- konstrukcji definiujących sposób realizacji obliczeń, nie powołujących się na konkretny język.
Książka "Programowanie. Koncepcje, techniki i modele" prezentuje programowanie jako zbiór takich właśnie modeli. Opisuje je w postaci kodów stworzonych w prostym języku podstawowym przeznaczonym dla abstrakcyjnego komputera. W książce przedstawiono zarówno modele ogólne -- programowanie deklaratywne, współbieżność deklaratywną, współbieżność przesyłania komunikatów, stan jawny, programowanie zorientowane obiektowo, współbieżność stanu dzielonego oraz programowanie relacyjne -- jak i modele specjalizowane, takie jak programowanie graficznych interfejsów użytkownika, programowanie rozproszone oraz programowanie z ograniczeniami. Publikacja zawiera wiele fragmentów programów i ćwiczeń. Można je uruchomić w ramach systemu Mozart Programming System -- pakietu programistycznego rozprowadzanego na licencji open source.
* Podstawowe założenia problematyki programowania
* Notacja Backusa-Naura
* Gramatyki kontekstowe i bezkontekstowe
* Zasada działania maszyny abstrakcyjnej
* Typy danych, instrukcje i funkcje
* Drzewa i analiza składniowa
* Metodologie projektowania programów
* Programowanie współbieżne
* Zasady projektowanie i programowanie obiektowego
* Projektowanie interfejsów użytkownika
* Obliczenia rozproszone
Pisanie niezawodnych programów wymaga opanowania koncepcji leżących u ich podstaw. Dzięki tej książce poznasz je wszystkie.
SolidWorks 2006 to aplikacja do modelowania 3D przeznaczona dla konstruktorów, oferująca uniwersalny zestaw narzędzi do modelowania powierzchniowego i bryłowego. Kolejne wersje tej aplikacji już tradycyjnie wytyczają nowe trendy wśród programów z tej grupy. Niezwykle intuicyjna obsługa programu, bazująca na znanych z systemu Windows mechanizmach "przeciągnij i upuść", pozwala nawet początkującym użytkownikom osiągnąć biegłość w ciągu kilku tygodni. Ogromna liczba narzędzi i modułów wspomagających sprawia, iż program ten doskonale wspomaga pracę projektanta. Wielką zaletą programu jest również możliwość wymiany plików z wieloma aplikacjami CAD/CAM/CAE, co umożliwia współpracę w ramach nawet największych zespołów projektowych.
Książka "SolidWorks 2006 w praktyce" to podręcznik dla początkujących użytkowników tej potężnej aplikacji. Przedstawia na przykładach zasady korzystania z SolidWorks 2006. Czytając ją, poznasz interfejs użytkownika i dostosujesz go do własnych potrzeb, a także nauczysz się wykorzystywać narzędzia do modelowania. Dowiesz się, w jaki sposób tworzyć części i złożenia, przeprowadzać analizy wytrzymałościowe metodą elementów skończonych za pomocą modułu CosmosXpress oraz jak ustrzec się błędów w projekcie, wykorzystując możliwość projektowania w przestrzeni. Dzięki zawartym w niej ćwiczeniom nauczysz się budować nawet najbardziej złożone konstrukcje.
* Konfigurowanie środowiska pracy
* Zarządzanie plikami danych
* Szkicowanie na płaszczyźnie oraz w przestrzeni
* Wymiarowanie w dwóch i trzech wymiarach
* Tworzenie brył części oraz elementów powierzchniowych
* Przygotowanie modelu formy wtryskowej na podstawie szkicu koncepcyjnego
* Tworzenie złożeń części oraz projektowanie "na złożeniu"
* Symulacja rozpływu masy w formie wtryskowej
* Obliczenia wytrzymałościowe
* Renderowanie projektów
* Tworzenie dokumentacji technicznej
Wykorzystaj nowoczesne narzędzia wspomagające pracę konstruktora i twórz, skupiając się na projekcie, a nie na narzędziu do projektowania.
Wzorce projektowe. Analiza kodu sposobem na ich poznanieWydawnictwo Helion
Opanuj zasady stosowania wzorców projektowych na praktycznych przykładach
* Dowiedz się, czym są wzorce projektowe
* Zaimplementuj wzorce we własnych programach
* Poznaj rodzaje wzorców projektowych
Wzorce projektowe to zapisane w sposób formalny sposoby rozwiązywania najczęstszych problemów, z jakimi borykają się twórcy oprogramowania stosujący języki obiektowe. Najczęściej stosowane wzorce zostały skatalogowane i przedstawione w postaci diagramów UML, jednak do poprawnego ich wykorzystywania niezbędna jest wiedza praktyczna. Przystępując do implementacji wzorca projektowego, należy poznać zakres jego zastosowania. Taką wiedzę najlepiej zdobywa się, analizując przykłady kodów źródłowych.
Dzięki książce "Wzorce projektowe. Analiza kodu sposobem na ich poznanie" poznasz wzorce w taki właśnie sposób -- badając programy, w których je zastosowano. Każdy z omawianych w książce wzorców zaprezentowany jest w oparciu o dwie implementacje szczegółowo wyjaśniające zasadę jego działania. Dzięki takim opisom wzorców opanujesz tę technologię znacznie szybciej niż w przypadku nauki teoretycznych podstaw oraz prób ich samodzielnego wdrażania we własnych aplikacjach. Unikniesz typowych błędów i dowiesz się, jak prawidłowo wykorzystywać każdy z wzorców.
* Zastosowanie wzorców projektowych
* Klasyfikacja wzorców
* Podstawowe pojęcia z dziedziny obiektowości
* Interfejsy i wzorce konstrukcyjne
* Implementacja wzorców obserwatora i fasady
* Wykorzystanie wzorców projektowych w aplikacjach bazodanowych
Książka zawiera również zestawienie najczęściej wykorzystywanych wzorców projektowych wraz z opisem ich zastosowań.
Poznaj reguły projektowania i programowania obiektowego
* Elementy techniki obiektowej
* Metodyka tworzenia oprogramowania
* Implementacja mechanizmów obiektowych
Programowanie zorientowane obiektowo to technika, która w ciągu ostatnich lat zyskała niezwykłą popularność. Języki programowania obiektowego święcą triumfy, a metodologie projektowania oparte na analizie obiektowej stają się standardami przemysłowymi. Założenia analizy i programowania obiektowego są pozornie proste, jednakże bez ich właściwego zrozumienia nie można zaprojektować prawidłowo aplikacji implementowanej w obiektowym języku programowania. Technologia obiektowa zmieniła cały przemysł programistyczny, więc jej opanowanie jest niezbędnym elementem wiedzy każdego informatyka, który chce wykorzystywać w pracy nowoczesne metody i techniki.
Książka "Programowanie zorientowane obiektowo" to wyczerpujące omówienie wszystkich zagadnień związanych z projektowaniem i programowaniem obiektowym. Opisuje główne elementy techniki obiektowej oraz wiele spośród ich potencjalnych zastosowań. Dzięki książce poznasz również metodykę projektowania oprogramowania, dowiesz się, czym są wzorce projektowe, i nauczysz się, w jaki sposób zaimplementować lub zasymulować techniki obiektowe w różnych językach programowania.
* Podstawowe elementy projektowania obiektowego
* Wielokrotne wykorzystywanie kodu
* Analiza obiektowa
* Abstrakcyjne typy danych
* Klasy i obiekty
* Zarządzanie pamięcią
* Mechanizmy dziedziczenia
* Obsługa wyjątków
* Metodyka projektowania obiektowego
* Programowanie współbieżne
* Obiektowe bazy danych
* Zastosowanie technik obiektowych w różnych językach programowania
Wykorzystaj techniki obiektowe i popraw jakość tworzonego przez siebie oprogramowania.
O autorze:
Bertrand Meyer -- autor bestselerów, mający na swoim koncie już dziesięć książek, publikował zarówno pozycje teoretyczne, jak i poświęcone praktycznym zastosowaniom technologii obiektowej, a nawet zarządzaniu. [więcej...]
Wzorce projektowe są modelami gotowych rozwiązań problemów programistycznych, przed jakimi często stają twórcy oprogramowania. Dzięki nim nie musimy ponownie "wymyślać koła". Dysponując wzorcami projektowymi, jesteśmy w stanie szybciej i efektywniej zbudować aplikację, ponieważ koncentrujemy się na samej implementacji algorytmu, a nie na jego opracowaniu. Najczęściej stosowane, klasyczne już, 23 wzorce projektowe opracowane przez twórców notacji UML implementowano już w wielu językach programowania. Jak sprawdzą się w połączeniu z jedną z najnowszych technologii, jaką jest .NET?
"C#. Wzorce projektowe" to kompletny przewodnik po wzorcach projektowych w C# i środowisku .NET. Przedstawia sposoby wykorzystania obiektowych cech języka C# i tworzenia eleganckiego kodu poprzez zastosowanie wzorców projektowych oraz korzystanie z ogromnych możliwości oferowanych przez biblioteki klas FCL dla środowiska Microsoft .NET. Wszystkie przedstawione w książce wzorce projektowe zostały zilustrowane przykładami kodu oraz diagramami UML, co ułatwia ich zrozumienie oraz zastosowanie w praktyce.
* Podstawowe wiadomości o wzorcach projektowych
* Interfejsy i klasy abstrakcyjne
* Wzorce interfejsów
* Wzorce odpowiedzialności
* Wzorce konstrukcyjne
* Wprowadzenie do operacji
* Wzorce operacji
* Wzorce rozszerzeń
* Wzorce rozszerzające
Poznaj zastosowanie wzorców projektowych
i wykorzystaj je w swojej pracy.
Programowanie w Prologu różni się zasadniczo od programowania w językach strukturalnych, takich jak Pascal czy C i językach obiektowych jak Java. Dla wielu osób zaczynających przygodę z Prologiem zaskoczeniem jest fakt, że pisanie programu w tym języku nie polega na kodowaniu algorytmu. Programista opisuje obiekty i związki między nimi, a także podaje warunki, jakie powinno spełniać szukane rozwiązanie. System sam przeprowadza obliczenia w oparciu o podane zależności logiczne, zaś programista jedynie częściowo może wpływać na sposób działania programu.
Książka "Prolog. Programowanie" to podręcznik tego niezwykłego języka programowania stosowanego przy rozwiązywaniu problemów z różnych dziedzin: od logiki matematycznej i symbolicznego rozwiązywania równań przez analizę języka naturalnego, aż do zagadnień związanych ze sztuczną inteligencją. Zawiera ona:
* Wprowadzenie do Prologu
* Podstawowe struktury danych
* Nawracanie, sterowanie nawracaniem za pomocą symbolu odcięcia
* Operacje wejścia/wyjścia
* Predykaty
* Składnię reguł gramatycznych i analizę języka naturalnego
* Wiele przykładowych programów
Wszystkim rozdziałom towarzyszą ćwiczenia. Uzupełnieniem tekstu książki są dodatki omawiające m.in. rozwiązania ćwiczeń i różnice między najważniejszymi wersjami Prologu.
"Prolog. Programowanie" to książka dla studentów matematyki i informatyki, a także dla wszystkich zainteresowanych programowaniem opartym na regułach logicznych. Jeśli chcesz podjąć wyzwanie i nauczyć się Prologu, jest książka dla Ciebie.
Java. Tworzenie aplikacji sieciowych za pomocą Springa, Hibernate i EclipseWydawnictwo Helion
Tworzenie zaawansowanych projektów korporacyjnych w Javie
* Poznaj sprawdzone metodologie i procesy
* Naucz się stosować praktyczne technologie i narzędzia
* Twórz w Javie kompletne rozwiązania w optymalny sposób
Chciałbyś tworzyć rozbudowane aplikacje w języku Java szybciej i w prostszy sposób? Liczne narzędzia i technologie budowania programów w Javie często ułatwiają wykonywanie niektórych zadań, ale jednocześnie niepotrzebnie komplikują i wydłużają proces powstawania gotowych produktów. Jak dobrać odpowiednie techniki i zastosować metodologię, która usprawni i przyspieszy pracę? Niektórzy już to wiedzą -- Ty też możesz skorzystać z ich doświadczeń!
"Java. Tworzenie aplikacji sieciowych za pomocą Spring, Hibernate i Eclipse" to praktyczny poradnik opisujący wydajną i sprawdzoną metodologię szybkiego pisania oprogramowania w języku Java. Dzięki tej książce poznasz techniki programowania ekstremalnego oraz metodologii Agile i nauczysz się stosować je podczas pracy nad programami. Dowiesz się, jak zaprojektować aplikację, przygotować środowisko i korzystać z wiersza poleceń oraz proponowanego zestawu narzędzi -- platformy Spring, mechanizmu odwzorowań Hibernate i IDE Eclipse -- co pozwoli Ci w prosty sposób użyć zaawansowanych rozwiązań.
* Techniki programowania ekstremalnego (XP)
* Wprowadzenie do metodologii Agile
* Korzystanie z platformy Spring
* Utrwalanie obiektów za pomocą Hibernate
* Praca w IDE Eclipse
* Debugowanie oprogramowania
* Monitorowanie i profilowanie aplikacji
* Refaktoryzacja kodu
Zwiększ swą wydajność dzięki zastosowaniu efektywnych procesów i narzędzi do tworzenia oprogramowania w języku Java.
Wzorce projektowe to opisy poprawnych rozwiązań problemów, na które napotkali programiści w swojej pracy. Pozwalają uniknąć pracy nad rozwiązaniem zagadnienia, które już dawno zostało rozwiązane. Jednak nawet największy zestaw wzorców projektowych jest nieprzydatny, jeśli nie wiadomo, jak zastosować je w określonym zadaniu. Wiedza o tym, że wzorzec istnieje bez umiejętności zaimplementowania go jest bezużyteczna.
Książka "J2EE. Stosowanie wzorców projektowych” zawiera nie tylko opisy wzorców, ale również sposoby ich implementacji w aplikacjach J2EE. Czytelnik znajdzie tu omówienie wzorców dotyczących wydajności, skalowalności i elastyczności aplikacji oraz wzorców ściśle związanych z tworzeniem aplikacji biznesowych. Książka przedstawia również nowe wzorce dla mechanizmów dystrybucji komunikatów i trwałości.
W książce omówiono:
* Podstawowe zasady tworzenia aplikacji biznesowych w Javie.
* Język UML jako uniwersalne narzędzie do modelowania aplikacji.
* Wzorce dla warstwy prezentacji.
* Wzorce dla warstwy logiki biznesowej.
* Wzorce komunikacji pomiędzy warstwami.
* Wzorce dystrybucji komunikatów.
* Przykłady błędnych wzorców.
Największą zaletą książki jest to, że przedstawia zastosowanie wzorców projektowych do tworzenia aplikacji biznesowych. Jeśli zajmujesz się tworzeniem aplikacji J2EE, to ta książka jest dla Ciebie lekturą obowiązkową.
Znajdź rynek i odbiorców dla swoich programów
* Zaplanuj projekt i zrealizuj go w odpowiedni sposób
* Poznaj skuteczne metody promocji oprogramowania
* Zorganizuj efektywny proces sprzedaży dla swojego przedsięwzięcia
Każdy, nawet najdoskonalszy i najbardziej rewolucyjny program, pozostanie wyłącznie dumą swoich twórców, jeśli nie trafi w odpowiednim momencie na rynek i nie zdobędzie grona użytkowników. Proces produkcji oprogramowania to dopiero pierwszy krok. Kolejnymi, wbrew pozorom o wiele bardziej skomplikowanymi etapami są promocja, sprzedaż i obsługa klientów. Niedocenianie bądź nawet lekceważenie tych kroków doprowadziło wiele firm, oferujących niezwykle ciekawe produkty, do upadku bądź "wchłonięcia" przez większe. Autorzy oprogramowania, którzy chcą, aby ich pomysły przyniosły nie tylko uznanie w środowisku programistów, ale również pieniądze, powinni poznać zasady budowania rynku dla swoich produktów.
Czytając książkę "Sprzedaj swój software", zdobędziesz wiedzę, która pomoże Ci stworzyć efektywnie działającą firmę programistyczną. Dowiesz się, w jaki sposób zaplanować projekt informatyczny, jak poznać oczekiwania klientów i przełożyć je na konkretny produkt. Nauczysz się budować zespół, zarządzać nim i eliminować potencjalne problemy. Poznasz metody kontroli jakości i usuwania błędów z oprogramowania. Zaplanujesz skuteczną kampanię promocyjną i działania sprzedażowe z wykorzystaniem różnych mediów i technik. Przeczytasz także o obsłudze klientów, rozwijaniu istniejących produktów i zarządzaniu firmą w warunkach szybkiego jej rozwoju, który na pewno będzie efektem wdrożenia wiadomości, jakie znajdziesz w tej książce.
* Badanie rynku pod kątem zapotrzebowania
* Wybór odpowiedniej formy prawnej przedsiębiorstwa
* Budowanie wizerunku firmy
* Zdobywanie kapitału na rozwój
* Planowanie projektu
* Rekrutacja i budowanie zespołu projektowego
* Kontrola jakości produktu
* Dokumentacja i instrukcja obsługi
* Polityka cenowa
* Kampania promocyjna
* Techniki sprzedaży
* Obsługa klientów
* Zarządzanie rozwijającą się firmą
Dołącz do grona znanych producentów oprogramowania.
Similar to Sprzedaj swój program. Droga do udanych projektów programistycznych (20)
Windows Movie Maker dołączany do systemu Windows XP to doskonałe narzędzie do domowego montażu cyfrowych filmów wideo. Jest prosty w obsłudze, posiada spore możliwości, a montaż filmów za jego pomocą jest przyjemną zabawą. Movie Maker pozwala na przeniesienie klipów z kamery cyfrowej, zaimportowanie materiałów z dysku, rozmieszczenie ujęć i połączenie ich przejściami, a także udźwiękowienie i dodanie efektów specjalnych. Gotowy film można wysłać pocztą elektroniczną, zapisać na dysku lub płycie CD albo opublikować w internecie.
Książka "Tworzenie filmów w Windows XP. Projekty" przedstawia proces tworzenia filmu wideo. Opisuje kolejne kroki prowadzące do zmontowania cyfrowego filmu wideo z przechwyconych ujęć i zaimportowanych materiałów. Nie znajdziesz w niej jednak długich opisów i dziesiątek parametrów. Każde zagadnienie jest przedstawione za pomocą zrzutów ekranu i krótkich instrukcji. Dzięki temu w ciągu kilku godzin zrealizujesz swój pierwszy projekt w Movie Makerze.
* Elementy interfejsu użytkownika
* Przechwytywanie klipów z kamery wideo
* Import materiałów źródłowych
* Tworzenie wstępnego montażu
* Dodawanie przejść i efektów specjalnych
* Nakładanie plansz tytułowych i napisów
* Udźwiękowienie filmu
* Korzystanie z funkcji Autofilm
* Eksport zmontowanego filmu
Przekonaj się, jak proste może być tworzenie własnych filmów wideo.
Przedstaw się światu!
* Jak zbudować elegancką stronę z blogiem?
* Jak tworzyć wyspecjalizowane przeglądarki bloga?
* Jak dodawać do własnego serwisu blogowego kanał RSS?
Prowadzenie bloga to nowy sposób na zwiększenie aktywności społecznej - szansa na zaistnienie w rzeczywistości wirtualnej, mająca swoje odbicie w tak zwanym „prawdziwym życiu”. Dlatego blogi piszą dziś niemal wszyscy: politycy, marketingowcy, celebryci, biznesmeni. Forma publicznie dostępnego pamiętnika pozwala na szeroką prezentację własnych poglądów, przekonań czy wartości. Z tego powodu blogi wykorzystywane są też jako wortale poświęcone określonej tematyce, promujące idee lub produkty. Ich użytkownicy stworzyli nawet własną społeczność, która 31 sierpnia obchodzi swoje święto - Dzień Bloga. Już dziś możesz do nich dołączyć!
„Blog, więcej niż internetowy pamiętnik” to książka, która pokaże Ci, jak założyć i prowadzić własny blog, a także aktywnie korzystać z innych blogów. Dowiesz się z niej, jak skorzystać z oprogramowania obsługującego serwisy blogowe, jak zintegrować języki PHP, HTML, CSS i SQL, aby stworzyć elegancką stronę prezentującą Twój blog. Nauczysz się budować własną bazę danych, przeznaczoną do przechowywania wpisów, a także zabezpieczać ją przed niepowołanymi modyfikacjami. I wreszcie poznasz sposób na dodanie do własnego serwisu kanału RSS, aby czytelnicy na bieżąco mogli obserwować pojawianie się nowych wpisów. Znajdziesz tu wszystko, czego potrzebujesz, aby zaprezentować światu swój blog!
* Obsługa okna tworzenia bloga
* Modyfikowanie wyglądu bloga
* Publikowanie w określonym terminie
* Rozbudowa bloga
* Instalacja czytnika RSS
* Subskrybowanie blogów za pomocą RSS
* Instalacja oprogramowania własnego serwera
* Baza danych i modyfikacja danych
* Projektowanie struktury bloga
* Zakładanie konta użytkownika
* Zakładanie bazy danych i tabeli danych
* Nadawanie uprawnień do korzystania z tabeli
* Przygotowanie szablonu i tworzenie strony www
* Automatyzowanie, blokowanie i trwałe usuwanie wpisu
* Tworzenie formularza wyszukiwania
* Tworzenie kanału RSS i wypełnianie go treścią
* Pobieranie programu Weber
Blog to prosty i fascynujący sposób, aby świat dowiedział się o Twoim istnieniu!
Pakiet biurowy MS Office jest jednym z podstawowych narzędzi wykorzystywanych we współczesnych firmach. Zawarty w nim system zarządzania bazami danych Access to wygodna w obsłudze aplikacja służąca do operowania na zbiorach danych. Dzięki prostocie obsługi, sporym możliwościom i wizualnym narzędziom stanowi doskonałe rozwiązanie dla przedsiębiorstw, w których duże znaczenie ma czas poświęcany na opanowanie nowych programów. Kreatory i rozbudowany system pomocy oferowane przez Accessa niezwykle upraszczają proces tworzenia bazy oraz aplikacji przeznaczonych do obsługi zgromadzonych w niej danych.
W książce "Access w biurze i nie tylko" znajdziesz omówienie podstawowych możliwości tego systemu. Nauczysz się tworzyć i otwierać istniejące bazy danych oraz tworzyć nowe. Dowiesz się, w jaki sposób projektować tabele i jak dobierać typy danych dla poszczególnych kolumn tabeli. Przeczytasz o relacjach, poznasz sposoby wybierania i wstawiania danych, a także manipulowania nimi za pomocą kwerend. W kolejnych rozdziałach znajdziesz informacje o tworzeniu formularzy i raportów oraz wyświetlaniu wykresów na podstawie danych zgromadzonych w bazie. Nauczysz się także pisać własne makra i poznasz podstawy języka Visual Basic for Applications.
* Otwieranie istniejących baz danych
* Tworzenie tabel
* Typy danych
* Tworzenie i modyfikowanie relacji
* Manipulowanie danymi za pomocą kwerend
* Konstruowanie formularzy
* Budowanie raportów
* Automatyzacja pracy za pomocą makropoleceń
* Tworzenie i wyświetlanie wykresów
Dane to dziś najcenniejszy towar. Naucz się nim zarządzać.
Pozycjonowanie i optymalizacja stron WWW. Ćwiczenia praktyczneWydawnictwo Helion
Zapewnij swojej witrynie miejsce w pierwszej dziesiątce!
* Jak działają wyszukiwarki?
* Jaki wpływ na pozycję serwisu mają linki przychodzące i wychodzące?
* Czy istnieją zagrożenia związane z niewłaściwym pozycjonowaniem?
Stworzenie serwisu WWW to dopiero połowa sukcesu w Internecie. Druga połowa to zapewnienie witrynie odpowiedniej popularności. A tę popularność może zagwarantować przede wszystkim wysokie miejsce w wynikach wyszukiwarek. Jak to osiągnąć? Od czego zacząć i jak monitorować skuteczność prowadzonych działań? Wszystkie odpowiedzi znajdziesz właśnie w tej książce!
Poprzez liczne przykłady i ćwiczenia autorzy zapoznają Cię ze sposobem działania wyszukiwarki Google i zasadami doboru właściwych słów kluczowych. Pokażą, jak najlepiej rozmieścić je na stronie. Ponadto dowiesz się, jaki wpływ na pozycję strony mają linki wychodzące oraz przychodzące, jak przebiega proces indeksowania strony, jak działają systemy wymiany linków oraz jak wykorzystać statystyki do obserwacji ruchu na stronie. Przeczytasz także o tym, jakie zagrożenia niesie ze sobą niewłaściwa procedura pozycjonowania.
* Sposób działania Google oraz innych wyszukiwarek
* Definiowanie fraz i słów kluczowych
* Wpływ linków przychodzących i wychodzących na pozycję strony
* Korzystanie z systemów wymiany linków
* Proces indeksacji witryny
* Zagrożenia związane z niewłaściwym pozycjonowaniem
* Wykorzystanie statystyk do śledzenia ruchu na stronie
* Sposoby reklamowania serwisu
Zwiększ oglądalność swojej witryny WWW!
E-wizerunek. Internet jako narzędzie kreowania image'u w biznesieWydawnictwo Helion
Lustereczko, powiedz przecie,
kto jest najwspanialszy w necie?
* Tworzenie i wykorzystywanie odpowiedniego wizerunku oraz zarabianie na nim
* Budowanie pożądanych marek bez wielkich nakładów finansowych
* Interaktywne relacje z klientami
* Wykorzystanie Internetu do rozwoju biznesu
* Narzędzia kreowania wizerunku w sieci
Jak Cię widzą (w sieci), tak Cię piszą
Internet jest nie tylko rewolucyjnym medium, pierwszym o naprawdę masowym zasięgu działania. Stanowi on przede wszystkim fascynujący alternatywny świat. Działa jak magnes, co roku przyciągając nowych użytkowników. Niczym używka, wciąż odnotowuje wydłużenie czasu kontaktu z odbiorcą. I last but not least — Internet to niekończący się pasaż handlowy, wymarzone miejsce spotkań podaży i popytu.
Poznaj specyfikę światowej sieci WWW i znajdź w niej właściwe miejsce dla Twojej marki. E-marketing rządzi się własnymi prawami — z jednej strony bezustannie stawia firmy przed nowymi wyzwaniami, z drugiej zaś stale kreuje nowe narzędzia dotarcia do klienta. A są one naprawdę fascynujące: możliwość dowolnej personalizacji przekazu, olbrzymia ilość kanałów, a przede wszystkim atrakcyjne społeczności — ludzie młodzi, aktywni, hobbyści, biznesmeni oraz entuzjaści nowinek. Mogą oni zostać ambasadorami Twojej marki, ale mogą też ją zniszczyć. Dlatego musisz poznać zasady rządzące Internetem i jego społecznościami, a następnie zacząć budować instrumenty wywierania wpływu i wykorzystać je dla dobra Twojego produktu.
Internet ma przyszłość!
* Czym jest e-wizerunek i jak wpływa na sukces firm, produktów i ludzi?
* Narzędzia budowania image’u — strona WWW, fora internetowe, newslettery i inne.
* Sześć zasad skutecznego kreowania e-wizerunku.
* Grzechy główne działań internetowych.
* Marka jako efekt przemyślanej strategii wizerunkowej.
* Case studies
Microsoft Visual C++ 2008. Tworzenie aplikacji dla WindowsWydawnictwo Helion
Rozpocznij przygodę z Visual C++!
* Jakie prawa rządzą programowaniem obiektowym?
* Jak tworzyć usługi systemowe?
* Jak dokumentować tworzony kod?
Microsoft Visual C++ jest zintegrowanym środowiskiem, pozwalającym na tworzenie aplikacji przy użyciu języków C, C++ lub C++/CLI. Zawiera ono wyspecjalizowane narzędzia, pomagające w wydajnym tworzeniu rozwiązań opartych o te języki. Pierwsza wersja Visual C++ została wydana w 1992 roku, a środowisko to jest bezustannie ulepszane. Najnowsze wydanie, z datą 2008, zostało opublikowane w listopadzie 2007 roku i wprowadziło wiele nowości — jak chociażby wsparcie dla technologii .NET 3.5. Niewątpliwie narzędzie firmowane przez giganta z Redmond jest jednym z najpopularniejszych, a używają go programiści z całego świata.
Dzięki tej książce również Ty możesz dołączyć do tego wybitnego grona. Po jej przeczytaniu będziesz miał wiedzę na temat środowiska programistycznego i platformy .NET. Poznasz podstawy programowania obiektowego, nauczysz się uzyskiwać dostęp do informacji zgromadzonych w bazach danych oraz korzystać z możliwości Internetu bezpośrednio w Twoich programach. Kolejne rozdziały przedstawiają interesujące tematy dotyczące obsługi wyjątków, programów wielowątkowych oraz sposobów tworzenia usług systemowych. Ostatni rozdział poświęcony został tak istotnej kwestii, jak dokumentowanie kodu — to czynność, o której wielu programistów zapomina. Jeżeli chcesz rozpocząć przygodę z Microsoft Visual C++, ta książka jest idealną lekturą dla Ciebie!
* Praca w zintegrowanym środowisku programistycznym
* Pojęcia związane z programowaniem obiektowym
* Uzyskiwanie dostępu do informacji zgromadzonych w bazach danych
* Wykorzystanie transakcji w pracy z danymi
* Sposoby integracji z siecią Internet
* Obsługa wyjątków
* Programowanie wielowątkowe
* Tworzenie grafiki oraz wykorzystanie multimediów
* Drukowanie w systemie Windows
* Tworzenie usług systemowych
* Dokumentowanie kodu programu
Wykorzystaj możliwości Microsoft Visual C++ 2008!
Co potrafi Twój iPhone? Podręcznik użytkownika. Wydanie IIWydawnictwo Helion
Poznaj możliwości iPhone’a!
* Jak rozpocząć pracę z iPhone’em?
* Jak wykorzystać możliwości przeglądarki Safari?
* Jak używać map?
Pojawienie się iPhone’a firmy Apple można bez wahania nazwać Rewolucją! Rewolucją przez duże "R". Nigdy wcześniej żaden nowy telefon nie wzbudził takich emocji. Nigdy wcześniej nie ustawiały się na wiele dni przed premierą kolejki pod salonami. Co sprawia, że ludzie szaleją za tym małym cudem techniki? Wielodotykowy (ang. multitouch) ekran, dostęp do tysięcy aplikacji, stabilny system operacyjny oraz elegancki, przykuwający uwagę wygląd to tylko niektóre z jego zalet.
Właśnie dzięki tej książce dowiesz się, co tak naprawdę potrafi Twój iPhone. Autor — niezawodny Scott Kelby — bez zbędnego zagłębiania się w szczegóły techniczne opowie Ci o możliwościach tego rewolucyjnego urządzenia. Zaprezentuje Ci m.in. sposoby wykonywania różnych operacji przy użyciu tego telefonu. Poznasz tajniki jego konfiguracji i synchronizacji z komputerem oraz metodę sprawdzania poziomu naładowania baterii. Nauczysz się wykorzystywać wszystkie możliwości przeglądarki Safari, czytnika poczty oraz terminarza. Dowiesz się również, jak odtwarzać klipy z YouTube, słuchać muzyki czy oglądać filmy. Książka ta jest zatem świetną pozycją zarówno dla początkującego użytkownika telefonu iPhone, jak również dla zaawansowanego — ten ostatni znajdzie tu informacje, które go zaskoczą i zachwycą! W końcu iPhone to zdolna i piękna bestia…
* Włączanie, usypianie, wyłączanie iPhone’a
* Wykorzystanie wbudowanego głośnika
* Obsługa ekranu
* Importowanie kontaktów
* Dodawanie numerów
* Połączenia konferencyjne
* Wyciszanie dzwonka
* Odbieranie i wysyłanie wiadomości e-mail
* Obsługa przeglądarki Safari
* Wykorzystanie kalendarza
* Odtwarzanie klipów z YouTube
* Używanie mapy
* Sprawdzanie prognozy pogody
* Importowanie i odtwarzanie muzyki
* Wykonywanie zdjęć
* Rozwiązywanie typowych problemów
Sprawdź, co potrafi Twój iPhone!
Uwiecznij świat, jakiego nie znałeś!
* Jaki sprzęt jest potrzebny do makrofotografii?
* Jak uzyskać duże powiększenia?
* Jak komponować efektowne zdjęcia?
Wiele osób nie zwraca uwagi na niepozorne, małe elementy otaczającego nas świata. Czyż nie warto pokazać im, co tracą? Wykonanie dobrego zdjęcia w skali makro to wyzwanie, ale zachwyt na twarzach oglądających jest wart wszelkich poświęceń. Właśnie dzięki makrofotografii można ujrzeć cudowny świat, niezauważalny na co dzień. Magiczny świat szczegółów!
Autor książki "Makrofotografia. Magia szczegółu " przedstawia ten temat w sposób przejrzysty i systematyczny. Dzięki tej publikacji zdobędziesz informacje dotyczące sprzętu potrzebnego do wykonania makrofotografii oraz sposobu kompozycji zdjęcia. Poznasz zagadnienia związane z właściwym doborem ostrości, a także takie pojęcia, jak głębia ostrości, długość ogniskowej, jasność obiektywu i wiele innych. Pozwolą Ci one na swobodne poruszanie się po świecie makrofotografii. Ponadto poszerzysz swoją wiedzę odnośnie doboru właściwego oświetlenia oraz programów odpowiednich do obróbki wykonanych zdjęć. Niewątpliwym atutem tej książki są pytania i zadania kontrolne, które pozwolą Ci zweryfikować zdobyte umiejętności. Jeżeli chcesz uwiecznić otoczenie w makrofotografii, ta pozycja będzie dla Ciebie nieocenionym źródłem informacji, a może nawet twórczej inspiracji!
* Sprzęt konieczny do wykonania makrofotografii
* Sposoby na uzyskanie dużych powiększeń
* Komponowanie zdjęć
* Zasady doboru kadru
* Uzyskiwanie właściwej ostrości
* Ograniczenia ostrości
* Dobór właściwego oświetlenia
* Metody pomiaru światła
* Doświetlanie zdjęć
* Narzędzia do edycji zdjęć
Odsłoń na fotografiach całe piękno szczegółu!
Naucz się korzystać z nowoczesnych narzędzi PowerShella
i usprawniaj żmudne zadania administracyjne!
* Jak skonfigurować środowisko PowerShella?
* Jak tworzyć aplety poleceń i jak ich używać?
* Jak korzystać z potoku danych?
Windows PowerShell to innowacyjne narzędzie do zarządzania systemem i przetwarzania skryptów dla serwerów oraz klientów pod kontrolą Windows. Charakterystyczną cechą tego interpretera poleceń jest obiektowa logika, która sprawia, że wynikiem każdego polecenia jest obiekt określonego typu. Dodatkowo wszystkie funkcje dostępne przez API systemu są możliwe do wywołania z poziomu PowerShella. Dzięki swojej uniwersalności oraz nowoczesnym narzędziom interpreter ten zapewnia spójny oraz jasny mechanizm zarządzania, oparty na wierszu poleceń i niewymagający od użytkownika dużej wiedzy programistycznej.
Książka "Windows PowerShell. Podstawy" zawiera dokładny opis innowacyjnej architektury PowerShella, zasad pisania skryptów oraz możliwości korzystania z podstawowych interfejsów systemowych: COM, WMI, ADSI i ADO.NET, a także obszerny zbiór opisów rozwiązań konkretnych zadań administracyjnych. Korzystając z tego przewodnika, poznasz funkcje i narzędzia PowerShella. Nauczysz się również korzystać z obiektowego potoku danych i zarządzać procesami, dziennikami zdarzeń oraz wpisami rejestru. Dzięki zawartej tu wiedzy z pewnością usprawnisz i zautomatyzujesz wszelkie czasochłonne zadania administracyjne, by móc swobodnie stosować PowerShell jako podstawową konsolę do codziennej pracy.
* Aplety poleceń
* Przetwarzanie potokowe
* Potoki danych
* Uniwersalny model nawigacji
* Definiowanie dysków
* Język skryptów PowerShella
* Tablice asocjacyjne
* Praca ze skryptami
* Różnicowanie reakcji na błędy
* Biblioteki klas
* Narzędzia PowerShella
* Zarządzanie użytkownikami i grupami w Active Directory
* Bazy danych
* Zaawansowane operacje dostępu do danych
PowerShell skróci czas Twojej pracy!
Poznaj specyfikę języka Java i zostań mistrzem programowania
* Jak korzystać z bibliotek języka Java?
* Jak pisać funkcjonalny i klarowny kod?
* Jak stworzyć profesjonalny i efektowny program?
Język Java jest językiem obiektowym z dziedziczeniem jednobazowym. Wewnątrz każdej metody korzysta on ze zorientowanego na instrukcje stylu kodowania. Aby dobrze poznać jakikolwiek język, należy nauczyć się posługiwać jego regułami, zasadami i składnią — podobnie jest z językiem programowania. Jeśli chcesz zyskać możliwość efektywnego programowania w języku Java, powinieneś poznać struktury danych, operacje i udogodnienia, oferowane przez biblioteki standardowe, a także często stosowane i efektywne sposoby tworzenia kodu. Całą potrzebną Ci wiedzę znajdziesz właśnie w tym podręczniku.
W książce „Java. Efektywne programowanie” w sposób zrozumiały i klarowny przedstawiono zasady opisujące mechanizmy używane w najlepszych technikach programowania. Ten podręcznik podpowie Ci, jak najbardziej racjonalnie korzystać z języka Java oraz jego podstawowych bibliotek. Dowiesz się, jak stosować wyjątki przechwytywalne i wyjątki czasu wykonania, poznasz także zalety stosowania statycznych klas składowych. Opanujesz metody sprawdzania poprawności parametrów i projektowania sygnatur oraz wszelkie instrukcje, które pozwolą Ci na wydajne i profesjonalne programowanie.
* Tworzenie i usuwanie obiektów
* Klasy i interfejsy
* Zapewnianie niezmienności obiektu
* Projektowanie i dokumentowanie klas przeznaczonych do dziedziczenia
* Zalety stosowania statycznych klas składowych
* Typy ogólne
* Typy wyliczeniowe i adnotacje
* Metody
* Programowanie
* Wykorzystanie ogólnie przyjętych konwencji nazewnictwa
* Wyjątki
* Współbieżność i serializacja
* Dokumentowanie bezpieczeństwa dla wątków
Nie wystarczy samo poznanie języka Java. Trzeba wiedzieć, jak z niego efektywnie korzystać!
Rozpocznij swoją przygodę z JavaScript!
* Jak rozpocząć przygodę z JavaScript?
* Jakie obiekty dostarcza JavaScript?
* Jak reagować na błędy?
Język JavaScript, choć ma już blisko dwanaście lat, swoimi możliwościami wciąż potrafi zafascynować niejednego projektanta stron internetowych. Ma już za sobą gorsze dni, jednak aktualnie dzięki technologii AJAX znów jest na topie. Wykorzystując go w odpowiedni sposób, sprawisz, że twój serwis WWW stanie się bardziej interaktywny i dynamiczny.
Ta książka pozwoli Ci wyjść zwycięsko z pierwszego starcia z tym językiem! Dowiesz się z niej, jak używać zmiennych, operatorów oraz funkcji. Nauczysz się reagować na zdarzenia oraz wykorzystywać okna dialogowe. Ponadto zdobędziesz wiedzę na temat pracy z obiektami DOM HTML oraz na temat sposobów reagowania na błędy w skryptach. Autor przedstawia tu także dostępne obiekty JavaScript oraz pokazuje, jak wykonywać operacje związane z czasem. Ogromnym atutem tej książki jest przejrzystość i usystematyzowany sposób prezentowania informacji. Dzięki temu również Ty szybko i bezboleśnie poznasz JavaScript!
* Typowe konstrukcje języka JavaScript
* Wykorzystanie zmiennych
* Zastosowanie funkcji
* Reagowanie na zdarzenia
* Sposoby użycia okien dialogowych
* Wykonywanie operacji związanych z czasem
* Dostępne obiekty JavaScript
* Obiekty DOM HTML
* Przygotowanie własnych obiektów
* Dziedziczenie w JavaScript
* Obsługa błędów
Przejdź bezboleśnie pierwsze starcie z JavaScript!
Naucz się łączyć największe zalety języków oraz technik programowania
i twórz interaktywne strony internetowe
* Jak unikać typowych błędów i sprawnie rozwiązywać problemy programistyczne?
* Jak połączyć zalety HTML, XML i PHP dla uzyskania pożądanych efektów?
* Jak tworzyć aplikacje wyposażone w aktywny interfejs użytkownika?
Statyczne strony WWW to dziś już przeszłość. Powszechnie dostępne narzędzia dają programistom prawie nieograniczone możliwości w zakresie tworzenia interaktywnych witryn internetowych, wzbogaconych o najróżniejsze efekty wizualne, animacje oraz wbudowane narzędzia pomocnicze. Największą popularność zdobyły sobie narzędzia z kategorii open source — z powodu ich minimalnego kosztu oraz niezwykle dużych zasobów, dostępnych za pośrednictwem Internetu. Z tej książki dowiesz się, jak tworzyć bogate i interaktywne strony WWW, łącząc rozmaite techniki i korzystając z różnych języków.
Książka "Ajax, JavaScript i PHP. Intensywny trening" poprowadzi Cię krok po kroku po podstawowych zasadach programowania w językach JavaScript, PHP i HTML oraz technologiach programowania. Dzięki temu podręcznikowi dowiesz się m.in., jak wykorzystywać dostępne biblioteki ajaksowe do implementowania i ulepszania podstawowych mechanizmów aplikacji. Szybko nauczysz się tworzyć interaktywne strony WWW, zarówno za pomocą technologii serwerowych, jak i technik oraz narzędzi umiejscowionych po stronie klienckiej, a także ich kombinacji.
* Tworzenie stron WWW w języku HTML
* Stylizacja stron za pomocą arkuszy CSS
* Tworzenie skryptów w języku JavaScript
* Wbudowanie skryptu w stronę WWW
* Obiektowy model dokumentu (DOM)
* Obiekty String
* Instrukcje warunkowe i pętle
* Funkcje wbudowane i biblioteki
* Konstruowanie aplikacji ajaksowych
* Zmienne w języku PHP
* Funkcje liczbowe, łańcuchy i tabele
* Kontrola przepływu sterowania
* Usługi webowe oraz protokoły REST i SOAP
Łącz, kompiluj, dobieraj — niech Twoje strony WWW zrobią wrażenie!
Poznaj narzędzia programu PowerPoint i twórz wyjątkowe prezentacje!
* Jak stworzyć profesjonalną prezentację na każdą okazję?
* Jak modyfikować grafikę SmartArt?
* Jak korzystać z programu Clip Organizer i biblioteki slajdów?
Z pewnością wiesz, do czego służy program PowerPoint, lecz jeśli jeszcze nie potrafisz z niego korzystać, a musisz szybko przygotować profesjonalną prezentację, ta książka jest właśnie dla Ciebie! Znajdziesz tu opis ostatniej wersji programu — PowerPoint 2007. Umożliwia ona stworzenie zaawansowanej i bogatej prezentacji, wyposażonej w dźwięk, fotografie i animacje filmowe. Nowy PowerPoint pozwala także na bezpieczne udostępnianie Twojej prezentacji wszystkim zainteresowanym.
Książka "PowerPoint 2007 PL. Seria praktyk" to bogato ilustrowany, a przy tym prawdziwie intuicyjny podręcznik, dzięki któremu każdy nauczy się sprawnie korzystać z tej aplikacji. Kolor i zrzuty ekranowe ilustrujące kolejne informacje, jak również klarowne i zrozumiałe instrukcje sprawiają, że nauka staje się niezwykle prosta. Dzięki tej książce poznasz wszystkie niezbędne narzędzia PowerPointa i ciekawe funkcje tego programu. Dowiesz się, jak zastosować w swojej prezentacji grafiki SmartArt oraz zaawansowane układy slajdów, a także w jaki sposób korzystać z galerii stylów czy biblioteki slajdów.
* Tworzenie prezentacji
* Praca z tekstem
* Grafika i linie
* Konwersja na grafikę SmartArt
* Tabele i wykresy
* Używanie Excela 2007 — kopiowanie i wstawianie tabel
* Wzbogacanie prezentacji — animacje
* Multimedia
* Dodawanie filmów i dźwięku
* Tworzenie albumów
* Pokaz slajdów
* Nagrywanie narracji
* Udostępnianie prezentacji
* Bezpieczeństwo
PowerPoint jest dla każdego!
Poznaj narzędzia oraz funkcje Excela i z łatwością wykorzystuj tę wiedzę w pracy
* Jak tworzyć skoroszyty i wykresy?
* Jak zarządzać danymi w arkuszach?
* Jak szacować formuły?
Na samo brzmienie słowa "Excel" reagujesz paniką? Uważasz, że to bardzo skomplikowany i trudny w obsłudze program? Świetnie! Ta książka została napisana właśnie z myślą o Tobie! Podręcznik, który trzymasz w rękach, stanowi namacalny dowód na to, że Excel 2007 może być prosty, a nauka jego obsługi bardzo przyjemna! Choć trudno Ci w tej chwili w to uwierzyć, aplikacja ta oferuje cale spektrum nowoczesnych, a przy tym przyjaznych i intuicyjnych narzędzi oraz funkcji, dzięki którym znacznie usprawnisz i przyspieszysz swoją pracę. Naprawdę warto je poznać!
Książkę "Excel 2007 PL. Seria praktyk" przygotowano w taki sposób, aby każdy mógł nauczyć się korzystać z narzędzi Excela, tworzyć odpowiednie arkusze oraz wykonywać na nich praktyczne operacje. Wszystkie porady i instrukcje napisane zostały prostym, zrozumiałym językiem. Dzięki temu szybko opanujesz sposoby zarządzania danymi czy szacowania formuł w tym programie. Wszystkie omawiane zagadnienia zilustrowane są ułatwiającymi zrozumienie zrzutami ekranowymi, a kolorowy druk znacznie uprzyjemni Ci korzystanie z książki. Wystarczy ją przeczytać, a poznasz Excela w stopniu pozwalającym Ci na swobodną pracę w tym programie. Na co zatem czekasz? Przed Tobą nauka takich zagadnień, jak:
* Tworzenie skoroszytu
* Wprowadzanie danych do arkusza i zarządzanie nimi
* Formuły i funkcje
* Tabele i wykresy
* Konwersja tabeli do postaci zakresu
* Zaawansowane funkcje
* Szacowanie formuł
* Zarządzanie Excelem
* Makra
* Szablony i scenariusze
* Łącza i odwołania
* Stosowanie aktualizacji
Najprostszy i najprzyjemniejszy sposób na poznanie Excela!
Poznaj praktyczne możliwości programu Access 2007!
* Jak właściwie zaprojektować bazę danych?
* Jak korzystać z szablonów?
* Jak tworzyć tabele i definiować relacje między nimi?
Wbrew pozorom nie trzeba być specjalistą, żeby korzystać z Accessa! Jest to program wyjątkowo przyjazny dla użytkownika, umożliwiający tworzenie baz danych i zarządzanie nimi bez potrzeby dogłębnego poznawania języka SQL oraz skomplikowanych środowisk serwerowych. Aplikacja pozwala na zapisywanie danych z wykorzystaniem formularzy, kierowanie zapytań do bazy, a także dzielenie danych ze współpracownikami za pośrednictwem sieci komputerowej.
Książka "Access 2007 PL. Seria praktyk" zawiera zwięzły i czytelny opis wszystkich najważniejszych funkcji tego programu, a także konkretne przykłady i jasne instrukcje zastosowania narzędzi Accessa. Kolorowe strony pozwalają na szybkie odnalezienie interesujących Cię zagadnień. Dzięki temu podręcznikowi poznasz podstawowe zasady tworzenia dobrego projektu bazy danych oraz jej zaawansowane możliwości. Nauczysz się tworzyć tabele, formularze i raporty, a także korzystać z kluczy podstawowych i obcych. Bez problemu zbudujesz taką bazę danych, która pozwoli Ci sprawnie zarządzać informacjami.
* Personalizacja Accessa 2007
* Projektowanie baz danych
* Relacyjne bazy danych
* Klucze podstawowe i obce
* Tworzenie tabel
* Korzystanie z typów danych
* Definiowanie relacji
* Kwerendy
* Korzystanie z SQL
* Tworzenie i dostrajanie formularzy
* Tworzenie raportów
* Współdzielenie Accessa
Naucz się korzystać z Accessa — zachwycą Cię jego możliwości!
Odkryj bogactwo funkcji Worda!
Jak poprawnie formatować i uatrakcyjniać dokumenty?
Chcesz zacząć sprawnie tworzyć w programie Word dokumenty o profesjonalnym wyglądzie? A może tak dobrze go już znasz, że wątpisz, by skrywał przed Tobą jeszcze jakiekolwiek tajemnice? Tak czy inaczej warto opanować wszystkie potężne możliwości najpopularniejszego edytora tekstów, różne sposoby pracy z nim i metody tworzenia dokumentów tekstowych. Uzbrojony w taką wiedzę, z pewnością będziesz pracował szybciej i sprawniej.
Książka "Word 2007 PL. Seria praktyk" jest graficznym przewodnikiem po najnowszej wersji Worda i zawiera dokładny opis jego funkcji podstawowych oraz zaawansowanych — począwszy od tworzenia i formatowania tekstów, a na złożonych makrach skończywszy. Wszystko to przedstawione zostało za pomocą przejrzystych, kolorowych i szczegółowych instrukcji oraz praktycznych przykładów. Dzięki temu podręcznikowi poznasz całe spektrum narzędzi Worda i udoskonalisz swoją pracę z tym programem.
* Narzędzia główne
* Formatowanie tekstu
* Szybkie style
* Praca z dokumentem
* Drukowanie i publikowanie
* Konwersja do formatu PDF
* Biblioteka ClipArt i SmartArt
* Hiperłącza i zakładki
* Równania
* Zaawansowane funkcje — podpis cyfrowy
* Makra
Opanuj wszystkie narzędzia Worda i ciesz się swobodą tworzenia dokumentów!
Serwisy społecznościowe. Budowa, administracja i moderacjaWydawnictwo Helion
Dołącz do kreatorów nowych trendów! Stwórz własny serwis społecznościowy!
* Pierwsze kroki w roli twórcy serwisu — rodzaje stron, prawo i reklama
* Skrypty, instalacja i administracja — PHPizabi, Elgg, Dolphin, Joomla!
* ABC moderatora i użytkownika — regulamin, trolle, zakres ingerencji
Serwisy społecznościowe są bodaj najszybciej rozwijającą się dziś częścią internetu. Nie sposób przecenić ich roli społecznej i opiniotwórczej. Liczba użytkowników i ich poczucie wspólnoty decydują o sile i prężności tych serwisów. W każdej chwili możesz przyłączyć się do któregoś z nich. Jednak znacznie więcej radości sprawiłoby Ci na pewno prowadzenie własnego serwisu, wokół którego skupiałaby się cała społeczność osób o zainteresowaniach podobnych do Twoich.
W książce "Serwisy społecznościowe. Budowa, administracja i moderacja" znajdziesz wszelkie informacje dotyczące tworzenia i obsługi serwisu społecznościowego. Opisano w niej początki tego zjawiska społecznego, podstawy jego działania, rozmaite odmiany serwisów, wszelkie kwestie prawne i techniczne. Niezależnie od tego, czy szukasz inspiracji odnośnie treści umieszczanych w serwisie, czy chciałbyś dowiedzieć się, jak rozwiązać konkretne problemy z konfiguracją, rejestracją, wyborem mechanizmu działania czy wyglądu Twojego serwisu, autorzy służą Ci rzetelną wiedzą, wskazówkami i podpowiedziami. Oprócz tego wprowadzą Cię w kwestie związane z bezpieczeństwem w sieci, rolą moderatora i rozwiązywaniem problemów z użytkownikami.
* Społeczności internetowe
* Serwisy społecznościowe (historia, rodzaje, reklama)
* Regulacje prawne
* Wybór domeny i hostingu
* Niezbędne narzędzia (klient FTP, edytory CSS i tekstowe)
* Serwis społecznościowy a forum dyskusyjne
* Bezpieczeństwo serwisu
* Skrypty (PHPizabi, Elgg, Dolphin, Joomla!, BuddyPress, Joovili, SocialEngine i wiele innych)
* Online-Community-Building
* Skrypty do budowy serwisu wideo (ClipBucket Lite, Clipshare, ClipHouse i wiele innych)
* Rola moderatora
* Social shopping
Sprawdź, jak wiele satysfakcji daje własny serwis społecznościowy!
AutoCAD to program do komputerowego wspomagania projektowania, który od lat wyznacza standardy na rynku takich aplikacji. Z jego możliwości korzystają projektanci różnych branż, a ogromna liczba bibliotek, modułów i nakładek sprawia, że realizacja nawet najbardziej złożonych projektów przebiega szybko i sprawnie. Każda kolejna wersja AutoCAD-a jest bardziej rozbudowana. W wersji 2008 autorzy aplikacji zadbali o optymalizację znanych już użytkownikom narzędzi i zwiększenie produktywności pracy. Zmodernizowany interfejs użytkownika oraz nowe możliwości docenią nie tylko profesjonaliści, ale również ci, którzy stawiają pierwsze kroki w świecie komputerowego wspomagania projektowania.
Książka "AutoCAD 2008 i 2008 PL" to wyczerpujące omówienie najnowszej edycji tej aplikacji. Każdy użytkownik AutoCAD-a, niezależnie od stopnia zaawansowania, znajdzie w niej interesujące informacje. Czytając tę książkę, nauczysz się tworzyć i modyfikować rysunki, wymiarować je, korzystać z warstw, bloków i stylów oraz drukować projekty. Poznasz zasady modelowania bryłowego, tworzenia szablonów oraz rysowania w trybie aksonometrycznym. Każde z narzędzi dostępnych w aplikacji jest dokładnie omówione, a ilustrowane przykłady ułatwiają poznanie ich w praktyce.
* Interfejs użytkownika, menu i paski narzędzi
* Praca z dokumentami
* Układy współrzędnych
* Tworzenie podstawowych obiektów i definiowanie ich właściwości
* Napisy i tabelki
* Rysowanie precyzyjne
* Rysunek aksonometryczny
* Kreskowanie
* Naprawianie uszkodzonych rysunków
* Techniki wymiarowania, modyfikowanie wymiarów i style wymiarowe
* Modelowanie 3D i bryły ACIS
Poznaj najnowszą wersję narzędzia, które zrewolucjonizowało pracę projektantów na całym świecie.
Zobacz, jakie to proste — naucz się tworzyć bazy danych!
* Jak tworzyć formularze i raporty?
* Jak modyfikować strukturę tabel?
* Jak stosować mechanizmy wymiany danych?
Współczesny świat wymusza na przedsiębiorstwach gromadzenie oraz przetwarzanie ogromnej ilości informacji. To sprawia, że muszą one dysponować wydajnymi i sprawnymi bazami danych. Aby zbudować taki system zarządzania danymi, niezbędne są odpowiednie narzędzia — jednym z nich jest program MS Access. Ta aplikacja przede wszystkim pozwala na łatwą kontrolę poprawności tworzonych projektów oraz zapewnia integrację narzędzi służących do tworzenia struktury relacyjnej. Dba także o zgodność tych narzędzi ze standardem języka zapytań SQL, wykorzystywanym do tworzenia i modyfikowania baz danych oraz operowania na zgromadzonych w nich informacjach.
Książka „Bazy danych. Pierwsze starcie” stanowi doskonałe wprowadzenie w tematykę tworzenia baz danych. Zawiera wszystkie potrzebne informacje, podane w prosty i przejrzysty sposób. Ten podręcznik przyda się zarówno studentom kierunków informatycznych, jak i wszystkim tym, którzy chcą zdobyć wiedzę o nowoczesnych metodach budowania takich baz. Stąd dowiesz się m.in., jak wykorzystywać język zapytań SQL, w jaki sposób tworzyć tabele, formularze i raporty oraz stosować mechanizmy wymiany danych, a także na czym polega filtrowanie i sortowanie w zapytaniach. Zdobędziesz wiedzę i umiejętności wystarczające do samodzielnego zbudowania wydajnej bazy danych i sprawnego nią zarządzania.
* Projektowanie bazy danych — narzędzia wizualne
* Tworzenie formularzy i raportów
* Strukturalny język zapytań SQL w wersji MS JetSQL
* Składnia podstawowa
* Unia — koniunkcja zbiorów
* Grupowanie i funkcje agregujące
* Zastosowanie języka SQL z poziomu formularzy
* Mechanizmy wymiany danych
* Obiekty: DAO, RDO, ADO
* Zastosowanie mechanizmów wymiany danych przy tworzeniu aplikacji
Stwórz własną, niezawodną bazę danych!
Wkrocz w świat projektowania 3D
* Jak definiować parametry projektu?
* W jaki sposób korzystać z narzędzi projektowych?
* Jak generować dokumentację techniczną?
Inventor, opracowany i sprzedawany przez firmę Autodesk, to program typu CAD, pozwalający na zamodelowanie projektowanego urządzenia lub elementu w postaci bryły trójwymiarowej. W oparciu o tak zamodelowaną bryłę Inventor umożliwia wygenerowanie pełnej dokumentacji projektowej — rysunków wykonawczych i złożeniowych, wykazu części i innych. Aplikacja pozwala także na przeprowadzenie symulacji i analizy działania projektowanego urządzenia.
"Inventor. Pierwsze kroki " to podręcznik dla wszystkich osób, które chcą poznać możliwości tej aplikacji i wykorzystać je w swojej pracy. Książka opisuje proces instalacji i konfiguracji programu oraz definiowania parametrów projektu. Pokazuje także kolejne kroki jego realizacji. Przeczytasz w niej o tworzeniu szkiców, definiowaniu wiązań, generowaniu modeli bryłowych i tworzeniu zespołów. Dowiesz się także, w jaki sposób wygenerować dokumentację techniczną w oparciu o gotowy model oraz jak zaprezentować elementy projektu w postaci animacji trójwymiarowej.
* Instalacja Inventora
* Konfiguracja interfejsu użytkownika
* Praca z oknami dialogowymi
* Tworzenie szkiców i wiązań
* Edycja obiektów graficznych
* Tworzenie brył trójwymiarowych
* Łączenie elementów w zespoły
* Tworzenie dokumentacji technicznej
* Prezentacja zespołów
Zrealizuj swoje wizje za pomocą Inventora!
Sprzedaj swój program. Droga do udanych projektów programistycznych
1. IDZ DO
PRZYK£ADOWY ROZDZIA£
Sprzedaj swój program.
SPIS TREœCI
Droga do udanych
KATALOG KSI¥¯EK projektów programistycznych
Autorzy: Jared R. Richardson, William A. Gwaltney Jr.
KATALOG ONLINE T³umaczenie: Dariusz Biskup
ISBN: 83-246-0408-1
ZAMÓW DRUKOWANY KATALOG Tytu³ orygina³u: Ship it! A Practical Guide
to Successful Software Projects
Format: B5, stron: 256
TWÓJ KOSZYK
Stwórz niezawodne oprogramowanie spe³niaj¹ce oczekiwania u¿ytkowników
DODAJ DO KOSZYKA
•Wykorzystuj odpowiednie narzêdzia projektowe.
•Wdra¿aj nowoczesne metodologie.
CENNIK I INFORMACJE
•Szybko rozwi¹zuj problemy.
Dyskusje nad wadami i zaletami przeró¿nych metodologii tworzenia oprogramowania,
maj¹ce na celu wy³onienie najlepszej z nich, zwykle do niczego nie prowadz¹.
ZAMÓW INFORMACJE
O NOWOœCIACH Zwolennicy poszczególnych metodologii, takich jak Rational Unified Process,
programowanie ekstremalne i inne, staraj¹ siê udowodniæ, ¿e to ich stanowisko jest
ZAMÓW CENNIK poprawnym sposobem realizacji projektów informatycznych. Tymczasem nie istnieje
„jedyne s³uszne” i uniwersalne podejœcie, które sprawdza siê we wszystkich
okolicznoœciach. Wybór w³aœciwej metodologii w ogromnej mierze zale¿y od typu
CZYTELNIA projektu i wielkoœci zespo³u pracuj¹cego nad nim. Nale¿y kierowaæ siê nastawieniem
czysto pragmatycznym, czyli wybraæ tak¹ metodologiê, która bêdzie najbardziej
FRAGMENTY KSI¥¯EK ONLINE korzystna dla okreœlonego projektu. Niew³aœciwy wybór mo¿e skoñczyæ siê pora¿k¹.
Ksi¹¿ka „Sprzedaj swój program. Droga do udanych projektów programistycznych”
to zbiór wskazówek przedstawiaj¹cych narzêdzia i techniki, dziêki którym ka¿dy projekt
programistyczny zakoñczy siê sukcesem. Czytaj¹c j¹, nauczysz siê korzystaæ
z nowoczesnych instrumentów wykorzystywanych do projektowania oprogramowania,
kontroli wersji kodu Ÿród³owego i œledzenia procesu usuwania b³êdów. Dowiesz siê,
w jaki sposób zorganizowaæ pracê zespo³u projektowego i wdra¿aæ metodologiê
wytwarzania oprogramowania. Porady, które znajdziesz w tej ksi¹¿ce, pomog¹ Ci
rozwi¹zaæ problemy pojawiaj¹ce siê podczas realizacji projektów programistycznych.
Poznasz nowoczesne metody oraz dowiesz siê, kiedy i jak z nich korzystaæ.
•Planowanie infrastruktury
Wydawnictwo Helion •Dobór narzêdzi projektowych
ul. Koœciuszki 1c •Automatyzacja zadañ
44-100 Gliwice •Tworzenie listy zadañ
tel. 032 230 98 63 •Rola kierownika technicznego
e-mail: helion@helion.pl •Metodologia pocisku smugowego
•Rozwi¹zywanie problemów
Wskazówki zawarte w tej ksi¹¿ce sprawi¹, ¿e ka¿dy prowadzony przez Ciebie projekt
zakoñczy siê w terminie i zmieœci w wyznaczonym bud¿ecie.
2. Przedmowa ..............................................................................................7
Wprowadzenie ......................................................................................11
Rozdział 1. Wstęp .................................................................................15
1.1. Nawyk doskonałości ................................................................................. 16
1.2. Pragmatyczny punkt widzenia ................................................................... 18
1.3. Mapa drogowa ......................................................................................... 20
1.4. Jak postępować? ....................................................................................... 23
1.5. Jak czytać tę książkę? ................................................................................ 23
Rozdział 2. Narzędzia i infrastruktura .............................................29
1. Programowanie w piaskownicy .................................................................. 34
2. Zarządzanie zasobami .............................................................................. 37
3. Twórz skrypty kompilacji i konsolidacji ...................................................... 43
4. Kompilacja automatyczna ......................................................................... 49
5. Śledzenie problemów ................................................................................ 55
6. Śledzenie nowych funkcji .......................................................................... 60
7. Uprząż testowa ........................................................................................ 63
8. Wybór narzędzi ........................................................................................ 71
9. Kiedy nie eksperymentować? ..................................................................... 73
3. 4 Sprzedaj swój program
Rozdział 3. Pragmatyczne techniki projektowe ..............................77
10. Praca przy użyciu listy zadań .................................................................... 78
11. Kierownik techniczny ................................................................................ 93
12. Codzienna koordynacja i komunikacja ...................................................... 103
13. Przeglądy kodu ...................................................................................... 116
14. Wysyłanie powiadomień o zmianie kodu .................................................. 128
15. Podsumowanie ....................................................................................... 133
Rozdział 4. Metodologia pocisku smugowego ................................135
Rozdział 5. Popularne problemy i sposoby ich rozwiązania ........165
16. Pomocy! Przejąłem cudzy program .......................................................... 166
17. Testowanie nietestowalnego programu ..................................................... 168
18. Funkcje ciągle mają błędy ....................................................................... 169
19. Testy? Przestaliśmy je wykonywać ........................................................... 171
20. U mnie to działa! ................................................................................... 173
21. Problemy z integracją kodu ..................................................................... 174
22. Problemy z kompilacją i konsolidacją projektu .......................................... 175
23. Klienci są niezadowoleni ......................................................................... 177
24. Masz niezdyscyplinowanego programistę .................................................. 178
25. Twój menedżer jest niezadowolony .......................................................... 183
26. W zespole nie ma współpracy .................................................................. 185
27. Nie potrafię przekonać innych do istotnych kwestii .................................... 186
28. Nowy standard postępowania nie pomógł ................................................. 190
29. W firmie nie wykonuje się automatycznych testów ..................................... 193
30. Niedoświadczeni programiści bez mentora ............................................... 195
31. Projekt — marsz śmierci ......................................................................... 195
32. Ciągle proponowane są nowe funkcje ......................................................... 197
33. Nigdy nie kończymy ............................................................................... 198
Dodatek A Zestawienie wskazówek ................................................203
Dodatek B Zarządzanie kodem źródłowym ....................................207
Dodatek C Narzędzia tworzenia skryptów kompilacji .................213
4. Spis treści 5
Dodatek D Systemy ciągłej integracji .............................................219
Dodatek E Oprogramowanie do śledzenia problemów .................223
Dodatek F Metodologie programowania .........................................227
Dodatek G Środowiska testowe .......................................................231
Dodatek H Literatura uzupełniająca ..............................................237
Skorowidz ............................................................................................243
5. Nigdy nie myl działania z postępem.
Autor nieznany
laczego niektórzy produkują oprogramowanie wysokiej jakości
w terminie lub przed terminem, podczas gdy inni (wielu innych,
niestety) spóźniają się, przekraczają budżet lub zupełnie rezygnują?
Istnieje wiele teorii tłumaczących ten stan rzeczy i wiele metodologii pró-
bujących go poprawić. Jednym z fundamentów tych metod jest poprawa
współpracy. współpraca
Jeśli nie piszesz swoich programów w garażu, będziesz współpracował z in-
nymi. A nawet jeśli piszesz swój program w domu, płaci Ci za niego Twój
klient. Większość z nas pracuje w ramach zespołu programistów. Pracuje-
my z naszymi kolegami, wspólnie pisząc programy.
Chociaż dobra współpraca nie gwarantuje powodzenia w projekcie, zła
współpraca niemal na pewno oznacza jego niepowodzenie.
6. 78 Sprzedaj swój program
W niniejszym rozdziale opiszemy kilka technik pracy grupowej ułatwiają-
cych sprawne i efektywne zarządzanie projektem. Dzięki tym technikom
staniesz się bardziej świadomy stanu swojego projektu, jak również po-
stępów osiąganych przez Twoich współpracowników. Spowodują one, że
Twoja praca stanie się łatwiejsza, efektywniejsza i będzie Ci sprawiać więk-
szą satysfakcję.
Nie istnieje jednolita lista technik poprawiających funkcjonowanie projektu.
Każdy projekt i każdy zespół pracowników jest inny. Sztuką jest uspraw-
nianie zarówno procesu tworzenia oprogramowania, jak i zrozumienie efek-
tywnej pracy grupowej.
Rozwijając swoje umiejętności, zawsze natkniesz się na jakąś sztuczkę,
której nie znałeś, oraz jakiś nawyk, którego powinieneś się pozbyć. Techni-
ki, które tutaj opisujemy, uważamy za najbardziej przydatne. Obejmują
one między innymi:
t listę zadań,
t kierownika technicznego,
t codzienne spotkania,
t przeglądy kodu,
t powiadomienia o zmianie kodu.
Być może pamiętacie te wytyczne jako część większego rysunku na stronie 20,
który tutaj pokazany jest we fragmencie (patrz rysunek 3.1).
10. Praca przy użyciu listy zadań
Często do koordynowania własnej pracy używamy list zadań. Lista taka
może być sformalizowana tak, aby mogła być wykorzystywana w pracy
grupowej.
Dawniej, pracując nad mniejszymi projektami, aby koordynować naszą pra-
cę, korzystaliśmy często ze zwykłych notesów. Lista zadań wywodzi się
z naszych osobistych notatek o rzeczach, których nie chcieliśmy zapomnieć.
7. Rozdział 3. • Pragmatyczne techniki projektowe 79
Rysunek 3.1 Techniki projektowe
Gdy przechodziliśmy na funkcje kierownicze, lista zadań zaczęła zawierać
pozycje dotyczące całego zespołu programistów i wówczas notatki na pa-
pierze stały się nieefektywne. Po wielokrotnym pokazywaniu listy zadań
współpracownikom zaczyna się poszukiwać alternatywnych sposobów jej
zapisywania i udostępniania. Tablica funkcjonuje dobrze dla małych ze-
społów, zwłaszcza w dużym pomieszczeniu. Obecnie staramy się korzystać
ze stron internetowych lub wiki. Niektórzy do tworzenia list zadań wyko-
rzystują arkusze kalkulacyjne1. Każdy ma dostęp do stron internetowych,
a ich edycja jest bardzo łatwa.
Za pomocą listy zadań ustalasz swój dzienny i tygodniowy plan zajęć. Za
jej pomocą porządkujesz pracę swoją i całego zespołu. Jeśli jesteś przytło-
czony pracą, nie wiesz, za co się zabrać, przeglądasz swoją listę zadań,
aby znaleźć punkt zaczepienia. Jeśli utknąłeś przy pracy nad jakimś trud-
nym problemem i chcesz na chwilę zająć się czymś innym, lista zadań
wskazuje Ci pozycje, których możesz użyć jako alternatywnego zajęcia.
W ten sposób będziesz zawsze pracował nad najważniejszymi problemami.
1
Joel Spolsky korzysta z arkusza Excela do edycji swojej listy zadań. Przedstawia również wiele
argumentów za tym rozwiązaniem. Więcej informacji na stronie http://www.joelonsoftware.com/
articles/fog0000000245.html.
8. 80 Sprzedaj swój program
Do czego potrzebna jest lista zadań?
Jak często pracowałeś nad projektem, w którym każdy był zawsze czymś
zajęty, a który nigdy się nie kończył? Ważne funkcje były zapominane,
pracownicy bezczynnie czekali na te, które nie były gotowe, programiści nie
wiedzieli, czym się zająć w dalszej kolejności.
Ktoś musi zapisać wszystkie funkcje, nadać im priorytet i zlecać pracow-
nikom do wykonania zadania znajdujące się na pierwszej pozycji listy za-
dań. Tworzony jest centralny punkt organizacji pracy Twojego zespołu
pozbawiony niedogodności związanych z korzystaniem z bardziej złożo-
nych procedur.
Pracownicy, którzy korzystają z listy zadań, nigdy nie są bezczynni. Kiedy
zakończą swoje aktualne zadanie, sprawdzają listę, wybierają zadanie, któ-
remu przypisano wysoki priorytet, i biorą się do pracy. Programiści mogą
wybrać swoje następne zadanie spośród tych, które są dla nich najbardziej
interesujące, ale kierownik techniczny powinien mieć pewność, że te o naj-
wyższym priorytecie są w toku lub na najwyższej pozycji na liście.
Ponieważ programiści mają różne umiejętności, kierownik techniczny może
zgadzać się na wyjątki, ale zasadniczo pozycje drugorzędne nie powinny
być wykonywane, dopóki nie zostaną zakończone zadania o najwyższym
priorytecie.
Lista zadań (jako narządzie pracy grupowej) daje kierownictwu oraz klien-
tom możliwość oceny produktu przed poniesieniem nakładów na nowe
funkcje. Zawsze taniej jest usunąć nową funkcję, zanim spędzi się tydzień
nad jej programowaniem! Ile razy zdarzyło Ci się skończyć program i usły-
szeć od klienta: „Program jest w porządku, ale byłoby świetnie, jeśli za-
miast funkcji X, Y i Z zostałaby dodana funkcja A”? Przy wykorzystaniu
listy zadań tworzony jest zarys dokumentacji, która może być udostępnia-
na innym we wczesnych fazach rozwoju produktu.
Lista zadań wprowadza również w zespole dużą elastyczność. Zapewnia,
że najpierw wykonane będą pewne prace projektowe, gdyż wymaga podzie-
lenia programu na funkcje, a funkcje na pozycje listy. Ponadto, ponieważ
program jest podzielony na funkcje, możliwe jest w razie potrzeby usuwa-
nie lub dodawanie nowych pozycji.
9. Rozdział 3. • Pragmatyczne techniki projektowe 81
Jaś pyta...
Co to jest wiki?
Wiki jest to prosta metoda tworzenia stron internetowych. Stro-
ny internetowe są pisane w uproszczony sposób tak, aby każdy
mógł modyfikować ich zawartość. Strony wiki zaprojektowane są
w sposób zachęcający do szerokiej współpracy.
Strona typu wiki wygląda na początku dokładnie jak każda inna.
Różnica polega na tym, że istnieje na niej odsyłacz „Edycja stro-
ny”. Kliknięcie go powoduje wyświetlenie prostego edytora tek-
stowego pozwalającego na bardzo łatwe modyfikowanie strony.
Więcej informacji na stronie http://pl.wikipedia.org/.
10. 82 Sprzedaj swój program
W każdej firmie znajdzie się osoba (lub osoby), która ma w zwyczaju
wpadać niespodziewanie i pytać, dlaczego pewna funkcja nie jest jeszcze
zakończona albo dlaczego nikt nad nią nie pracuje (z jej punktu widzenia
najważniejsza jest ta funkcja, na której jej zależy). Mając zdefiniowany ze-
staw zadań, którym przypisane są priorytety, można jej pokazać, nad jakimi
funkcjami trwają prace i dlaczego są one najważniejsze. Takie wyjaśnienie
z reguły zadowala taką osobę i udowadnia, że wykonywana jest użytecz-
na praca.
Pełna lista funkcji z przypisanymi sensownie priorytetami zwiększa wza-
jemne zaufanie w zespole, kierownictwie i innych grupach, które mogą być
zależne od naszych funkcji. Posiadanie listy zadań pokazuje, że praca wy-
konywana jest w sposób zaplanowany.
WSKAZÓWKA 14
Pracuj z listą zadań
Jak korzystać z listy zadań?
Listy zadań możesz używać w pracy własnej lub całego zespołu. Obydwa
sposoby są łatwe i efektywne. My korzystamy z niej na oba te sposoby.
Rozpoczęcie korzystania z osobistej listy zadań jest łatwe. Najpierw nale-
ży utworzyć listę wszystkich zadań, nad którymi pracujesz (lub które na
Ciebie czekają). Następnie przy pomocy kierownika technicznego nadaj
wszystkim pozycjom priorytety. Na koniec oszacuj czas potrzebny na zre-
alizowanie każdej pozycji. Nie przejmuj się, jeśli na początku oszacowanie
okaże się nietrafne, z czasem się poprawisz.
Wprowadzenie grupowej listy zadań również nie jest trudne, jeżeli pro-
dukt jest dobrze zdefiniowany. Pozwoli ona całemu zespołowi zrozumieć
ogólny kierunek, w jakim zmierza projekt.
11. Rozdział 3. • Pragmatyczne techniki projektowe 83
Lista zadań jako narzędzie organizacyjne
W naszej pracy zawodowej pełniliśmy wiele różnych ról. Z reguły,
jak większość ludzi, mieliśmy jednocześnie do wykonania wiele
zadań i bardzo mało czasu na ich realizację. Kiedy próbujemy za-
planować sobie pracę nad tymi projektami, na ogół dzielimy swój
czas pomiędzy tak wiele zadań, że nie udaje nam się osiągnąć
żadnego znaczącego postępu.
Naszym rozwiązaniem jest wykorzystanie listy zadań również do
organizacji własnej pracy. Zawsze używamy grupowej listy zadań
dla całego zespołu, stwierdziliśmy, że posiadanie własnej kopii
zawierającej, co mamy do zrobienia, również jest bardzo pomocne.
Każdego ranka zrób listę czekających Cię zadań i nadaj im prio-
rytety. Na koniec dnia przejrzyj, co udało Ci się z niej wykonać,
a czego nie. Oceń, czy nie udało Ci się wszystkiego wykonać, po-
nieważ byłeś zbytnim optymistą, czy też coś w ciągu dnia ode-
rwało Cię od wykonywania zaplanowanych zadań. Pełniejsze omó-
wienie sposobów posługiwania się własną listą zadań można
znaleźć w książce Stephena Coveya „Siedem nawyków skutecz-
nego działania”.
1. Zapisz na tablicy każdą funkcję, którą dodajesz do projektu.
Może to zająć chwilę i często może się okazać, że jedna tablica
nie wystarczy.
2. Każdej funkcji nadaj priorytet. Uwzględniaj zdanie odpowiednich
osób (kierownictwa, klientów itd.). Idealnie jest, jeśli uczestniczy
w tym cały zespół, ale jeśli rzetelnie zebrałeś opinie pracowników,
wygodniejsze może być uwzględnienie tylko kierownictwa.
3. Przepisz wszystkie funkcje w kolejności nadanych priorytetów.
4. Dołącz do każdej pozycji prognozowany czas wykonania.
Dopóki nie zostaną zakończone pozycje o najwyższym priorytecie, nikomu
nie wolno pracować nad tymi o niższym priorytecie. W ten sposób wszystkie
najważniejsze zadania są w toku, zanim rozpoczęte zostanie wykonywanie
tych o niższym priorytecie.
12. 84 Sprzedaj swój program
Rysunek 3.2 Lista zadań na stronie intranetowej
Korzystanie z listy zadań jest więc stosunkowo łatwe. Aby jednak zachować
efektywność, lista zadań musi spełniać kilka zasad. Musi ona:
t Być ogólnie dostępna.
t Mieć przypisane priorytety.
t Mieć prognozy czasu wykonania.
t Być dynamiczna.
t Być wymierna.
t Być ukierunkowana.
Przyjrzymy się teraz, jakie jest znaczenie każdej z tych reguł i co one ozna-
czają dla nas oraz dla naszego zespołu.
13. Rozdział 3. • Pragmatyczne techniki projektowe 85
Jaś pyta...
Co to są kanały RSS?
Kanały RSS są sposobem powiadamiania o zmianach zawartości
strony internetowej. Są bardzo popularne na stronach o często
zmienianej treści (na przykład serwisy informacyjne lub strona in-
formująca o statusie kompilacji). Strona internetowa z obsługą
kanałów RSS generuje listę zmian lub nowych treści w postaci
pliku XML.
Czytnik RSS jest to program, który sprawdza wszystkie zaprenume-
rowane kanały RSS i pokazuje nowe treści. Generatory RSS umiesz-
czone są na serwerach WWW, a więc czytnik RSS jedynie sprawdza
plik znajdujący się na serwerze i pokazuje zmiany.
Czytnik RSS jest wygodnym narzędziem gromadzenia informacji
w zwięzłej formie. Wiadomości są zbierane, aż użytkownik zechce
je odczytać.
Ogólnie dostępna
Lista zadań zespołu musi być ogólnie dostępna. Tajna lista nie ułatwia
współpracy. Umieść listę zadań na tablicy lub na stronie internetowej,
utwórz dla niej kanał RSS. W każdym przypadku powinno być możliwe
łatwe jej przeczytanie. Posiadanie listy zadań przed oczami ułatwia zacho-
wanie perspektywy. Daje ona przegląd niewykonanych zadań, który można
łatwo prześledzić — zwłaszcza kiedy wykonuje się kilka zadań jednocze-
śnie. Jej publiczna dostępność pozwala również na orientację kierownictwa
w bieżących działaniach.
Przypisane priorytety
Lista zadań musi mieć nadane priorytety. Bardzo ważne jest rozpoznanie
różnych rodzajów funkcji związanych z projektem: funkcji niezbędnych, po-
żądanych i nieistotnych. Musisz dokonać tych rozróżnień, przypisując prio-
rytety pozycjom listy — w przeciwnym wypadku tylko stracisz czas. Zawsze
14. 86 Sprzedaj swój program
istnieje zestaw podstawowych funkcji, które muszą być zrealizowane, zanim
produkt trafi do sprzedaży; są to funkcje o najwyższym priorytecie. Mogłyby
one obejmować na przykład ekran logowania, instalator lub bazę danych.
Produkt nie może po prostu bez nich działać. Ładniejszy kolor tła w oknie
dialogowym O programie… prawdopodobnie można uznać za zadanie
nieistotne.
Nigdy nie ignoruj nadanych priorytetów. Zakończ wszystkie zadania o wyż-
szym priorytecie, zanim zaczniesz pracę nad mniej ważnymi, chyba że ist-
nieje istotny — i przekazany wszystkim — powód, aby tymczasowo zawiesić
zadanie z wysokim priorytetem.
Rysunek 3.3 Czytnik kanałów RSS
15. Rozdział 3. • Pragmatyczne techniki projektowe 87
Prognozy czasu wykonania
Do listy zadań zawsze powinien być przypisany harmonogram. Nie musi
być on nienaruszalny, ale powinien zawierać prognozę czasu wykonania dla
każdej funkcji zawartej na liście. Po zrealizowaniu pozycji i rejestracji jej
rzeczywistego czasu wykonania, należy zwrócić uwagę na różnice.
Z czasem prognozy czasu wykonania będą się stawać coraz bardziej do-
kładne. Po kilku próbach kierownik techniczny powinien być w stanie two-
rzyć przybliżone harmonogramy projektów na podstawie list zadań poszcze-
gólnych członków zespołu. Podobnie powinno być w przypadku kierownika
projektu. Nie istnieją błędne prognozy. Jedne będą dokładniejsze, inne mniej.
Nie martw się, jeśli na początku popełnisz duży błąd. Tej umiejętności na-
biera się z czasem2.
Dynamiczna
Lista zadań, jeśli ma być efektywna, musi być dynamiczna. Zespół musi
być w stanie dostosowywać się do zmian. Kierownik techniczny będzie ko-
rygował priorytety funkcji; będą pojawiały się nowe funkcje, a inne będą
znikały. Priorytety zmieniają się. I tak powinno być! Zanim się do tego
przyzwyczaisz, może być to frustrujące, ale pamiętaj, że Twoja firma stara
się być konkurencyjna na zmieniającym się rynku. Również Ty musisz być
elastyczny. Zamiast z tym walczyć, staraj się to zaakceptować.
Zmiany listy zadań zwykle oznaczają, że klienci i udziałowcy przyglądają
się projektowi i poświęcają mu swoją energię i czas, dając przydatne sprzę-
żenie zwrotne. Większość klientów czeka na koniec projektu i dopiero wtedy
mu się przygląda. Wówczas jest już jednak za późno. Zawsze lepiej otrzy-
mywać sprzężenie zwrotne wcześniej, nawet jeśli ciągłe zmiany listy zadań
będą frustrujące. Jeśli lista zadań przez jakiś dłuższy czas się nie zmienia,
to nie odzwierciedla prawdopodobnie aktualnych priorytetów w projekcie.
2
Jeśli istnieją trudności przy wyznaczaniu prognoz, spróbuj ograniczyć listę możliwości; na przykład
każda prognoza czasu wykonania może być jednodniowa, tygodniowa, dwutygodniowa
lub czterotygodniowa. Na początek nie dopuszczaj innych możliwości.
16. 88 Sprzedaj swój program
Wymierna
Jeżeli lista zadań ma przynosić efekty, każda pozycja na niej musi być wy-
mierna. W końcu muszą istnieć kryteria pozwalające stwierdzić, że zadanie
zostało zrealizowane i może być usunięte z listy.
Kryterium to eliminuje nieprecyzyjne pozycje w rodzaju „Poprawienie wy-
dajności”, a promuje takie jak „Skróć czas logowania do poniżej pięciu
sekund” lub „Generuj raport X w czasie krótszym niż 10 sekund”. Sfor-
mułowanie celu, którego stan jest binarny, umożliwia stwierdzenie, czy zo-
stał on zrealizowany. Cel w rodzaju „Poprawienie wydajności” może trwać
przez cały czas życia produktu i pozostać czarną dziurą.
Jeśli masz na liście zadań pozycje, które nie są wymierne, zastanów się nad
tym, jakie jest rzeczywiste wymaganie. Czy pozycja wynika z zapotrzebowa-
nia na szybsze generowanie raportów czy szybszy start systemu? Podziel
tę pozycję na dobrze zdefiniowane, binarne cele, a następnie zapytaj osobę,
która wyznaczyła pierwotny cel, o jej zdanie o zmodyfikowanych celach.
Ten przegląd upewni Cię, że rzeczywiście bierzesz pod uwagę wymaga-
nia klienta.
Harmonogram według funkcji
zamiast harmonogramu według terminów
Harmonogramowanie według terminów ma tę wadę, że klientom
sprzedawane są przecież funkcje produktu, a nie dni kalendarzowe.
Jeśli zespół korzysta z listy zadań i wszystkie pozycje są uporząd-
kowane według priorytetów, wówczas prace nad programem
podporządkowane są funkcjom, a nie terminom. Kierownictwo
firmy może spojrzeć na listę zadań i narysować kreskę pod funk-
cjami, które chce mieć w następnej wersji. Następnie dodawane
są czasy wykonania poszczególnych funkcji i obliczana jest data
wyprodukowania nowej wersji. Specyfika produktu i branży za-
decyduje, ile czasu należy poświęcić na wewnętrzne testy i wersje
beta, ale moment zamrożenia prac nad programem zostanie ja-
sno ustalony.
17. Rozdział 3. • Pragmatyczne techniki projektowe 89
Jeśli dział sprzedaży zdecyduje, że określona funkcja musi być
uwzględniona, wówczas jej priorytet na liście zadań może się zmie-
nić i może ona stać się funkcją, która znajdzie się w gotowym
produkcie. Czas potrzebny na stworzenie nowej funkcji musi być
oczywiście dodany do daty końcowej projektu.
Taki sposób pracy pozwala działowi sprzedaży oraz kierownictwu
dostrzec zależność pomiędzy dodawaniem nowych funkcji, a cza-
sem koniecznym na ich zrealizowanie. Nie muszą już podejmować
decyzji o terminach realizacji projektu oraz funkcjach produktu,
będąc w próżni. Zamiast abstrakcyjnego porównywania dwóch nie-
określonych funkcji, porównują dwie jasno zdefiniowane z okre-
ślonymi czasami realizacji.
Uważamy, że dzięki temu podejściu produkt dostępny jest wów-
czas, gdy jest gotowy, tak szybko jak to możliwe. Unika się rów-
nież arbitralnego wyznaczania terminów, które nie są przestrze-
gane. Nasza branża słynie z niedotrzymywania terminów i nic
dziwnego, jeśli weźmiemy pod uwagę sposoby, w jakie piszemy
programy. Zamiast na siłę zakładać arbitralny termin na arbitral-
ny zbiór funkcji, firmy powinny pytać swoich programistów, co
są w stanie wykonać! Jeśli programiści nie są w stanie wykonać
zadania, to czy lepiej jest dowiedzieć się o tym teraz czy później,
kiedy termin zostanie już przekroczony? A jeśli programiści są
w stanie wykonać zadanie przed terminem, czy nie byłoby dobrze
wiedzieć o tym i dodać ewentualnie nowe funkcje lub wysłać pro-
gram klientowi wcześniej?
Za pierwszym razem kiedy będziesz kończył produkt w opisany
sposób, kierownictwo będzie zaniepokojone. Za drugim razem,
będą odprężeni. Za trzecim będą mieli zaufanie, że ich programiści
dostarczą to, co obiecali!
Jeżeli pozycja nie może być wyrażona za pomocą wymiernych celów, wów-
czas nadaj jej najniższy priorytet i zajmij się tymi o wyższym priorytecie.
Całkowite usunięcie pozycji mogłoby być błędem, jeśli była ona jednak
istotna; pozycja musi być jednak przekształcona w wymierne części.
18. 90 Sprzedaj swój program
Jaś pyta...
Co to jest zamrożenie kodu?
Zamrożenie kodu to moment, od którego kod programu nie może
już podlegać zmianom. W trakcie trwania projektu kod programu
podlega nieustannym zmianom. Po jego zamrożeniu zmiany zo-
stają zatrzymane, tylko poważne poprawki błędów mogą być wtedy
wykonane. Nowe funkcje oraz poprawki drobnych błędów nie są
dopuszczalne.
Często zamrożenie kodu przechodzi w odwilż, w miarę jak nie-
przemyślane zmiany przedostają się do programu.
Ukierunkowana
Zapewne zauważyłeś, że omawialiśmy zarówno indywidualne listy zadań,
jak i grupowe. Każdy rodzaj listy jest bardzo ważny i musi być w swojej
treści odpowiednio ukierunkowany. Lista zadań dla całego zespołu będzie
dużo bardziej rozbudowana i będzie zawierać wszystkie niewykonane za-
dania dla całego projektu. Twoja osobista lista zadań będzie zawierała mniej
pozycji związanych z zespołem (czasem tylko jedną pozycję z całego pro-
jektu), ale jak tylko ją zrealizujesz, przeniesiesz pozycję z listy grupowej na
swoją własną.
Mimo swojej prostoty lista zadań jest skutecznym narzędziem na wielu
szczeblach. Poprawia Twoją organizację pracy i zwiększa dostęp do infor-
macji dla kierowników projektu. Tworzenie i nadawanie priorytetów pozy-
cjom listy zadań wymaga przemyślenia własnej pracy i nakreślenia kolejnych
kroków. Każdy wielki bilardzista powie Ci, że ma zaplanowane następne
osiem uderzeń — podobnie jest z wielkim programistą.
19. Rozdział 3. • Pragmatyczne techniki projektowe 91
Przykład listy zadań
Oto przykład indywidualnej listy zadań uporządkowanej według priorytetów:
1. Dodaj nowy raport wyświetlający formanty utworzone
w ciągu dnia.
2. Dodaj nowy raport wyświetlający formanty utworzone przez
pracownika.
3. Sprawdź błąd #12345 (raport miesięczny wskazuje, że liczba
utworzonych formantów wynosi zero).
4. Zainstaluj narzędzia programistyczne na swoim nowym
komputerze.
5. Sprawdź nowe formaty raportów. Mogą one być dobrym
dodatkiem do następnej wersji.
Zauważ, że najważniejsze pozycje są na pierwszych miejscach. W tym
przypadku nowe funkcje są ważniejsze niż poprawki błędów, ale nie zawsze
tak jest. Ponadto instalacja nowego komputera i projekt badawczy są u dołu
listy. Te pozycje mogą wypełnić czas w wolnych chwilach (na przykład gdy
czekasz na kogoś) lub gdy potrzebujesz przerwy. Ważne jest umieszczanie
na liście zadań o niskim priorytecie, aby uniknąć ich zapomnienia.
Od czego zacząć?
1. Przez cały dzień zapisz każde zadanie, nad którym pracujesz
(to będzie lista zadań zakończonych).
2. Zapisz swoje codzienne działania w sformalizowany egzemplarz
listy zadań.
3. Poproś kierownika technicznego o pomoc w nadaniu priorytetów
i dodaj wstępne prognozy czasu wykonania.
4. Rozpocznij pracę od pozycji listy o najwyższym priorytecie
— bez oszustw! Jeśli jakiś kryzys zmusi Cię do zajęcia się
czynnością o niższym priorytecie, zarejestruj to.
20. 92 Sprzedaj swój program
5. Dodaj wszystkie nowe zadania do listy.
6. Przenoś pozycje na listę czynności zakończonych po zrealizowaniu
zadania (dzięki temu łatwiej przeżyć raporty o statusach
i „polowania na czarownice”).
Tworzenie listy zadań zmusza do organizacji swojej pracy i nadania jej
priorytetów. Tak samo jak pisanie pamiętnika pomaga przemyśleć i zrozu-
mieć, co się robiło. Lista pozwala uporządkować własne zadania na dość
wysokim poziomie i bez zbędnej formalizacji.
Przeglądaj listę zadań każdego ranka. Aktualizuj ją, kiedykolwiek pojawiają
się nowe zadania... zwłaszcza krytyczne, pojawiające się w ostatniej chwili
— mógłbyś o nich zapomnieć, gdy ktoś zapyta, co robiłeś przez cały ubie-
gły tydzień.
Postępujesz prawidłowo, jeśli...
t Czy każde Twoje bieżące zadanie znajduje się na liście?
t Czy lista zadań poprawnie odzwierciedla Twoje aktualne
obowiązki?
t Czy kierownik techniczny lub klient pomagał Ci nadawać
pozycjom listy priorytety?
t Czy lista jest ogólnie dostępna (elektronicznie lub w inny
sposób)?
t Czy skorzystałeś z listy, aby wybrać swoje kolejne zadanie?
t Czy potrafisz szybko aktualizować i udostępniać listę?
Sygnały ostrzegawcze
t Nie dodajesz zadań do listy, ponieważ jesteś „zbyt zajęty”.
t Aktualizacja listy zajmuje więcej czasu niż realizacja zadań.
t Realizacja pozycji listy przez członków zespołu ciągnie się
tygodniami (wskazówka: pozycje są zbyt rozbudowane).
21. Rozdział 3. • Pragmatyczne techniki projektowe 93
t Lista zadań jest aktualizowana rzadziej niż raz w tygodniu.
t Priorytety na liście nie odpowiadają rzeczywistym priorytetom.
t Lista zadań jest trzymana w ścisłej tajemnicy i nie jest widoczna
dla osób spoza zespołu.
t Poza listą zadań zespołu istnieją inne ogólnie dostępne wersje
(które różnią się między sobą).
Jaś pyta...
A jeśli mój zespół nie chce korzystać z listy zadań?
Nawet jeśli Twój zespół nie korzysta z listy zadań, możesz posłu-
giwać się nią we własnym zakresie. Zapisz ją na tablicy lub w note-
sie, w palmtopie lub na swojej stronie internetowej. Poproś kierow-
nika technicznego o pomoc w ustaleniu priorytetów i wykorzystaj
jego rady do uporządkowania swojej pracy. Zaznaczaj, które po-
zycje już wykonałeś, i przeglądaj listę co tydzień. Korzystanie z listy
w taki sposób będzie dla Ciebie równie efektywne, jak byłoby efek-
tywne dla całego zespołu. W końcu dobry kierownik techniczny
zauważy, że korzystasz z listy zadań i zacznie jej używać dla całego
zespołu. Będziesz zaskoczony, jak szybko dobre nawyki stają się
popularne. Może to chwilę potrwać, ale ludzie zawsze w końcu
przekonują się do czegoś, co jest skuteczne.
11. Kierownik techniczny
Kierownik techniczny ponosi techniczną odpowiedzialność za projekt pro- kierownik
techniczny
gramistyczny. Obecność kierownika technicznego zwalnia menedżera firmy
od technicznych obowiązków na rzecz kogoś z lepszymi predyspozycjami,
on sam może natomiast zająć się innymi biurokratycznymi sprawami. Me-
nedżer może być jednocześnie kierownikiem technicznym, ale nie jest to
konieczne, a często wręcz niepożądane. Obecność oddzielnego kierownika
technicznego jest wskazana, jeśli menedżer nie ma dostatecznej wiedzy tech-
nicznej lub jeśli zespół pracuje jednocześnie nad kilkoma projektami.
22. 94 Sprzedaj swój program
Dlaczego potrzebny jest kierownik techniczny?
Czy zdarzyło Ci się pracować pod kierownictwem menedżera, który nie ro-
zumiał używanej przez Ciebie technologii? Tego typu osoby ustalają niere-
alne terminy, nie rozumieją opóźnień i narzekają na harmonogramy. Wszyst-
ko to dzieje się dlatego, iż nie rozumieją tego, co robisz i jak funkcjonują
wykorzystywane przez Ciebie technologie. Dla osoby, która nigdy nie pra-
cowała jako programista, zrozumienie Twojej pracy będzie trudne. Podczas
gdy w dziale sprzedaży mogą pracować osoby, które wiedzą tylko, jak ko-
rzystać z Twojego programu, w przypadku kierownika technicznego wy-
magana jest dokładna wiedza na temat tego, jak ten program funkcjonuje.
Osoba odpowiedzialna za harmonogramowanie funkcji i koordynowanie
pracy programistów, aby być efektywna, musi rozumieć, jak działa kod pro-
gramu. Potrzebujesz osoby biegłej technicznie, która będzie w stanie wyja-
śnić technologie związane z produktem menedżerom bez wiedzy technicznej.
Potrzebujesz osoby, która będzie pośrednikiem pomiędzy zespołem progra-
mistów a zarządem firmy. Potrzebujesz kierownika technicznego.
Na ogół kierownik techniczny jest członkiem zespołu, który awansuje na
stanowisko kierownicze. Rozumie on techniczne problemy zespołu dzięki
swojemu doświadczeniu w programowaniu. Nie zobowiązuje się do niere-
alnych terminów, ponieważ rozumie, czego wymaga pozornie prosta nowa
funkcja. Kierownik techniczny może wyeliminować, a przynajmniej zmniej-
szyć, wtrącanie się kierowników bez odpowiednich kompetencji.
Po jednej stronie znajduje się menedżer bez kompetencji technicznych, po
drugiej taki, który cały dzień pogrążony jest w pisaniu programów i nie
kontaktuje się ani z kierownictwem, ani z klientami. Jest to stereotypowy
programista ukrywający się w swoim biurze i unikający pozatechnicznego
świata. Ale wówczas firma opracowuje programy, których nikt nie chce,
a priorytety wynikają raczej z kaprysów menedżera, a nie z potrzeb klien-
tów. Za każdym razem powstaje produkt, który zalega na półkach. Kierow-
nicy wyższych szczebli nie wiedzą, czym Twój zespół się zajmuje, a więc
zakładają, że nie robi nic, to z kolei niweczy Twoje szanse na premie,
podwyżki i awanse. Twój zespół potrzebuje adwokata, który znajdzie czas
23. Rozdział 3. • Pragmatyczne techniki projektowe 95
na pisanie raportów i przygotowywanie prezentacji dla menedżerów, klientów
i wszystkich osób, dla jakich znajomość Twojego projektu jest istotna. A więc
jeszcze raz: Twój zespół potrzebuje kierownika technicznego.
Kierownik techniczny żyje więc w dwóch światach. Musi pracować wspól-
nie z programistami i ich rozumieć, a jednocześnie spotykać się z mene-
dżerami, klientami i innymi kierownikami technicznymi, aby przekazywać
informacje o pracy własnego zespołu. Poświęcając czas na spotkania z klien-
tami, jest jedyną osobą, która wie, jakie funkcje powinien wykonywać two-
rzony program.
Kierownik techniczny spełnia następujące funkcje:
t Zapewnia, że priorytety zespołu odpowiadają potrzebom klienta.
t Odpowiednio przedstawia wykonywane w zespole zadania
kierownictwu firmy.
t Izoluje programistów od menedżerów wyższego szczebla,
którzy nie mają przygotowania technicznego.
t Tłumaczy techniczne kwestie udziałowcom bez odpowiedniego
przygotowania.
t Przekazuje pozatechniczne problemy programistom.
Jaś pyta...
Kim jest udziałowiec?
Udziałowiec jest to osoba, która ma związek z Twoim produktem.
Pracując nad projektem, powinieneś wiedzieć, kim będą jego od-
biorcy. Twoimi udziałowcami mogą być klienci, ale jeśli ich jeszcze
nie poznałeś, może ich zastąpić dział sprzedaży lub marketingu.
W małych firmach udziałowcami mogą być inwestorzy. W więk-
szych firmach udziałowcami są czasem inne działy, które rozwi-
jają swoje produkty, opierając się na Twoich. Jest bardzo istotne,
aby rozpoznać te osoby tak, aby stworzyć produkt, którego po-
trzebują.
24. 96 Sprzedaj swój program
Jakie więc czynności musi wykonać kierownik techniczny, aby zrealizować
te zadania?
Zakres odpowiedzialności kierownika technicznego
Kierownik techniczny ma kilka ważnych obszarów odpowiedzialności, które
różnić się będą w zależności od rodzaju firmy i składu zespołu. Oto mini-
malna lista kompetencji kierownika technicznego:
t ustalanie wytycznych dla programistów,
t zarządzanie listą funkcji projektu,
t ustalanie priorytetów,
t izolowanie członków zespołów od czynników zewnętrznych3.
Przyjrzyjmy się bliżej każdej z tych dziedzin.
Ustalanie wytycznych dla programistów
Kierownik techniczny jest reżyserem zespołu, ustala kierunki i priorytety.
Współpracuje z każdym programistą przy tworzeniu i modyfikowaniu oso-
bistej wersji listy zadań (patrz: podrozdział 10. na stronie 78). Kierownicy
techniczni korzystają ze swojej znajomości postępów, problemów oraz pro-
gnozowanych terminów realizacji związanych z ich zespołem, tak aby wytwo-
rzyć ogólny obraz stanu projektu oraz śledzić jego postępy. Jako pojedyn-
czy punkt kontaktowy dają oni możliwość szybkiego powiadamiania o statusie
projektu dla wszystkich zainteresowanych.
Zarządzanie listą funkcji projektu
Kierownik techniczny jest głównym nadzorcą listy funkcji związanych z pro-
jektem. Zapotrzebowanie na nowe funkcje nie jest przekazywane bezpośred-
nio programistom, tylko wszystkie są najpierw zgłaszane do kierownika
technicznego. Zarządza on wszystkimi zmianami na liście funkcjonalności.
3
Istnieje ryzyko przesadnej izolacji, która może pozbawić wartościowych sprzężeń zwrotnych.
25. Rozdział 3. • Pragmatyczne techniki projektowe 97
Kierownik techniczny jest jedyną osobą, która rozumie nie tylko powiąza-
nia techniczne każdej funkcji, ale zna również życzenia udziałowców pro-
jektu. Kierownik techniczny dodaje i usuwa funkcje oraz ukierunkowuje
wysiłki poszczególnych programistów.
Kierownik techniczny oraz udziałowcy najpierw ustalają zakres pracy po-
przez stworzenie listy funkcji (najlepiej za pomocą listy zadań!). Następ-
nie kierownik spotyka się z całym zespołem, aby oszacować czas potrzebny
na realizację każdej funkcji. Czasem oznacza to podział rozbudowanej
funkcji na kilka pozycji listy zadań. Następnie przypisuje on poszczególne
zadania programistom i ustala wstępny harmonogram projektu (wstępne
oszacowania podlegają zmianom w miarę postępów projektu, ale więcej na
ten temat później).
Zarządzanie listą funkcji przez kierownika technicznego bardzo pomaga
w sytuacji, gdy ciągle pojawiają się osoby próbujące dodać do projektu nowe
funkcje. Kierownik techniczny pełni rolę bufora filtrującego zapotrzebowa-
nia i ustalającego dla nich rozsądne priorytety.
Kierownik techniczny może być bardzo przydatny jako pośrednik w kontak-
tach z zespołem programistów. Na przykład w wielu firmach spotyka się
kilku nadmiernie „kreatywnych” pracowników. Mają oni zawsze wspaniałe
pomysły, ale rozpraszają tym innych pracowników. Ten typ pracowników
ma zwyczaj zjawiać się, kiedy inni są najbardziej zajęci.
Jeden szczególnie kreatywny pracownik (Ernest), którego znaliśmy, był gor-
szy niż inni. Aby zniwelować jego wpływ, kazaliśmy mu przynosić pomy-
sły do nas (a nie do programistów). Następnie dodawaliśmy jego pomysł
na nową funkcję do listy zadań (która znajdowała się na tablicy). Po jej
dodaniu porównywaliśmy ją z funkcjami o priorytecie pierwszym (wymaga-
ne funkcje) i wszyscy zgadzaliśmy się, że nie zasługuje ona na taki priorytet.
Następnie dokonywaliśmy kolejno porównań z funkcjami o coraz niższym
priorytecie. Okazywało się, że zawsze kończyliśmy na najniższym priorytecie
— piątym, związanym z opcjonalnymi, mało istotnymi funkcjami.
26. 98 Sprzedaj swój program
Ostatecznie Ernest poznał nasz system i zaczął sam dodawać swoje funkcje
na dole tablicy, poniżej tych o priorytecie piątym. Ponieważ umieszczał je
na liście zadań, jego funkcje nie były zapominane. Niektóre ostatecznie zo-
stawały dodane do naszego produktu, ale zawsze umieszczane były w na-
stępnej wersji, a nie w bieżącej. Postępując tak z kreatywnymi osobnikami,
dajemy im możliwość zgłaszania swoich pomysłów, a zespół nie jest odry-
wany od bieżącej pracy i nie traci czasu na nieistotne funkcje.
Ustalanie priorytetów
Tworzenie nowej listy zadań powinno być uporządkowane. Bez tego każ-
dy mógłby po prostu wybrać interesujące go funkcje, a zaniedbać te, które
są konieczne. Określenie poprawnego priorytetu dla każdej z funkcji jest
niemal tak samo ważne jak samo umieszczenie pozycji na liście! Na szczę-
ście jest to problem, który możesz zlecić swojemu kierownikowi technicz-
nemu. Musi on współpracować z udziałowcami projektu, aby ustalić prio-
rytety funkcji.
Udziałowcy mają duży wpływ na priorytety funkcji i zawsze wykazują szcze-
gólne zainteresowanie projektem oraz jego powodzeniem. Nie mają oni
jednak na ogół przygotowania technicznego niezbędnego do podejmowa-
nia właściwych decyzji. Często po prostu nie wiedzą, co jest technicznie
możliwe oraz praktyczne.
Kierownik techniczny współpracuje z udziałowcami, aby ustalać priorytety
funkcji. Może on wykonać tę czynność, ponieważ zna zdolności swojego
zespołu (pojęcie, które nieustannie podlega zmianom), a także techniczne
szczegóły projektu.
W trakcie tego procesu kierownik techniczny pozna pozatechniczne po-
wody, dla których udziałowcy domagają się pewnej funkcji. Kierownik
techniczny oraz udziałowiec pracują razem i osiągają kompromis przy usta-
laniu priorytetów. Ta współpraca pomaga wyważyć racje udziałowca bez
przygotowania technicznego i kierownika technicznego, który nie ma kon-
taktów z klientem.
27. Rozdział 3. • Pragmatyczne techniki projektowe 99
W praktyce kierownik techniczny nie musi się spotykać z udziałowcem, aby
dyskutować o każdym detalu. Z czasem zaczną się nawzajem rozumieć
i sobie ufać.
Izolowanie programistów
od czynników zewnętrznych
Priorytety
Z priorytetami skojarzone są liczby. Najwyższy jest priorytet pierw-
szy, najniższy piąty. W razie potrzeby można stosować inną nume-
rację. Obecnie korzystamy z zakresu od jeden do pięć, ale w innych
sytuacjach stosowaliśmy zakres od jeden do dziesięć. Istotniejsze
jest uporządkowanie, a nie zakres.
Ÿ Priorytet pierwszy: funkcje wymagane.
Ÿ Dotyczy funkcji, bez których absolutnie nie można sprzedać
produktu.
Ÿ Priorytet drugi: funkcje bardzo ważne.
Ÿ Można by sprzedać produkt bez zawarcia tych funkcji,
ale jest to niewskazane.
Ÿ Priorytet trzeci: funkcje przydatne.
Ÿ Jeśli znajdziesz czas, zrealizujesz je, ale na pewno nie opóźnią
one daty zakończenia projektu.
Ÿ Priorytet czwarty: funkcje dekoracyjne.
Ÿ Funkcje te poprawiają odbiór programu.
Ÿ Priorytet piąty: funkcje nieistotne.
Ÿ Jeżeli masz czas na dodawanie funkcji nieistotnych, to znaczy,
że jesteś przed terminem i masz wolny budżet.
Jesteś w środku zawiłego projektu. Szło Ci świetnie przez cały poranek,
dokonywałeś znacznych postępów. Wtedy natrętny pracownik działu sprze-
daży wpada, aby zadać pytanie dotyczące następnej wersji, czym kom-
pletnie Cię rozprasza. Złościsz się, nawet gdy tylko o tym czytasz? Nie
28. 100 Sprzedaj swój program
tylko Ty — każdemu pracuje się lepiej, jeśli nikt mu nie przerywa. Bada-
nia wykazały, że do 40% czasu pracy może być marnowane wskutek prze-
rywania4. To tak jakbyś szedł do domu po przepracowaniu mniej niż pięciu
przeciążenie godzin! Naukowcy mają nawet swoje określenie na to zjawisko: przeciążenie
poznawcze
poznawcze5. Wiedząc o tym, kierownik techniczny musi dokładać wszelkich
starań, aby pozwalać pracować swojemu zespołowi bez zakłóceń. Świetną
metodą jest wykorzystanie kierownika technicznego jako punktu kontakto-
wego dla programistów. Zawsze pozwalaj kierownikowi technicznemu bu-
forować przerwania, niezależnie od tego, czy pochodzą z działu IT czy od
udziałowców.
Skąd pochodzą pozycje listy zadań?
Z jakich źródeł zbierane są funkcje umieszczane na liście zadań? Czy
można użyć dokumentacji z analizy wymagań? Analiz wymagań z innych
projektów? Historii użytkowników? Kartek z notesu? Dużego rządowego
kontraktu? Nie ma to znaczenia. Ważne jest, aby znać funkcje, które można
umieścić na liście zadań i nadać im priorytety. Lista zadań nie zastępuje
Twojej preferowanej metody zbierania wymagań. Zamiast tego gromadzi
informacje z każdego źródła i przedstawia je w precyzyjnym i zrozumiałym
formacie.
Jeszcze raz wyjaśnijmy to precyzyjnie. Lista zadań nie zastępuje sposobu
gromadzenia wymagań. Zastępuje ich sposób przedstawienia Twojemu ze-
społowi i współpracownikom.
Jak wygląda Twój kierownik techniczny?
Kierownicy techniczni dzielą swój czas pomiędzy zadania programistyczne
i zarządcze. Będą zdarzały się dni, a nawet tygodnie, w których kierownik
techniczny będzie działał tylko w jednym z tych zakresów, ale większość
dni zostanie pomiędzy nie podzielona.
4
Badania potwierdziły, że zmuszanie pracownika do zmiany kontekstu może mieć poważny wpływ
na wydajność. Koszt waha się od 20% do 40% — http://www.umich.edu/~bcalab/multitasking.html.
5
Dr David Levy bada, w jaki sposób jednoczesne wykonywanie kilku zadań wpływa na nasze
zdrowe i wydajność: http://seattletimes.nwsource.com/pacificnw/2004/1128/cover.html.
29. Rozdział 3. • Pragmatyczne techniki projektowe 101
Kierownik techniczny jest strażnikiem projektu. Kierownicy techniczni utrzy-
mują pracowników na wytyczonym szlaku oraz zapewniają sensowność listy
funkcji. Informują również kierownictwo o postępach zespołu i upewniają
się, że punkt widzenia klienta jest brany pod uwagę. Twój kierownik tech-
niczny musi być prawdziwym omnibusem.
Oczywiście szerokie kompetencje kierownika technicznego mogą przy-
czynić się zarówno do sukcesu, jak i niepowodzenia projektu (lub jego
części). To nie jest łatwa praca; wymaga przygotowania technicznego,
zdolności komunikacyjnych oraz umiejętności równoczesnego wykonywa-
nia kilku czynności.
Każdy projekt powinien mieć dobrego kierownika technicznego i każdy pro-
gramista powinien starać się nim zostać przynajmniej raz. Nawet jeżeli nie
będziesz pełnił tej funkcji na stałe, nauczenie się jego umiejętności spowo-
duje, że staniesz się bezcenny dla swojego zespołu i firmy.
WSKAZÓWKA 15
Stwórz stanowisko kierownika technicznego
Od czego zacząć?
Jeśli masz aspiracje, aby zostać kierownikiem technicznym, musisz udowod-
nić, że jesteś w stanie radzić sobie z dodatkową odpowiedzialnością. Za-
poznaj się z zakresem obowiązków i próbuj im sprostać. Dobrowolnie wy-
konuj tak wiele obowiązków kierownika technicznego, ile potrafisz. Nie
czekaj, aż ta praca spadnie Ci z nieba; pokaż, że starasz się o to stanowisko
i potrafisz sobie na nim radzić.
Korzystaj z listy zadań (patrz: podrozdział 10. na stronie 78) do swojej
własnej pracy, ale także prowadź ją dla swojego zespołu. Monitoruj pracę
bieżącą, jednocześnie pamiętając o zbliżających się projektach.
30. 102 Sprzedaj swój program
Oceniaj procesy realizowane w zespole. Lokalizowanie słabych punktów
oraz poszukiwanie standardów i pomysłów rozwiązujących problemy postawi
Cię w nowej perspektywie. Jeśli na przykład istnieje problem z zapewnieniem
poprawnej kompilacji kodu, powinieneś zainstalować system CI (patrz: pod-
rozdział 4. na stronie 49), aby rozwiązać ten problem.
Nie rezygnuj, jeśli nie awansujesz na stanowisko kierownika technicznego
natychmiast. Ucz się i rozwijaj, aż pojawi się następna okazja. Nie każdy
ma predyspozycje, aby zostać kierownikiem technicznym, ale zmierzanie
do tego daje szerszy obraz całego projektu, co czyni Cię bardziej efektyw-
nym pracownikiem. Stajesz się lepszym programistą, myśląc o tym, jak zo-
stać kierownikiem technicznym.
Jeśli właśnie zostałeś kierownikiem technicznym, przygotuj szkic mapy dro-
gowej — wykres pokazujący, w którym miejscu aktualnie znajduje się zespół
oraz w jakim kierunku chcesz, żeby zmierzał. Jakimi problemami się zaj-
miesz? Do jakich prac będziesz zachęcał?
Wykonaj listę wszystkich znanych problemów. Następnie przepytaj pra-
cowników, czy znane są im inne problemy. Kiedy uznasz, że lista jest
gotowa, zdecyduj, którymi pozycjami możesz się zająć, a którymi nie.
Codzienne spotkania są znakomitym sposobem nadzorowania prac ze-
społu bez niepotrzebnego nękania pracowników (patrz: podrozdział 12.
na stronie 103).
Postępujesz prawidłowo, jeśli...
Jako kierownik techniczny powinieneś być w stanie pozytywnie odpowie-
dzieć na poniższe pytania:
t Czy wiesz, nad czym pracuje każdy pracownik w Twoim zespole?
t Czy potrafisz wygenerować podsumowanie statusu projektu
w czasie krótszym niż 5 minut?
t Jakie jest następne 5 – 10 funkcji produktu?
t Czy potrafisz szybko wymienić usterki o najwyższym priorytecie?
31. Rozdział 3. • Pragmatyczne techniki projektowe 103
t Jaki ostatni problem został rozwiązany przez Twojego pracownika?
t Czy pracownik przyszedłby do Ciebie, jeśli potrzebowałby
rozstrzygnięcia jakiejś ważnej kwestii?
Sygnały ostrzegawcze
Oto kilka sygnałów ostrzegawczych świadczących o tym, że kierownik tech-
niczny jest nieefektywny lub zbyt apodyktyczny:
t Nie rozumie kontekstu pracy każdego z pracowników.
t Swoją obecnością przerywa pracę innych.
t Przypisuje sobie pracę zespołu.
t Nie rozwiązuje problemów lub — co gorsza — je stwarza.
t Niedokładnie prognozuje czas pracy.
t Nie jest świadomy technicznych umiejętności swoich pracowników
lub (i) czego oni chcą się nauczyć.
t Nie zwraca uwagi na konflikty personalne.
12. Codzienna koordynacja
i komunikacja
Ostatnią rzeczą, której pracownicy oczekują, jest większa liczba spotkań.
Jeśli Twój zespół spotyka się co tydzień, wówczas każde spotkanie trwa
prawdopodobnie przynajmniej godzinę. Obejmuje ono omawianie ogłoszeń,
ubiegłotygodniowej pracy i planów na następny tydzień. Codzienne spo-
tkania są zupełnie inne. Są to krótkie spotkania zespołu, które zachęcają
do kontaktów i komunikacji bez niepotrzebnego rozbijania codziennego
harmonogramu pracy.
32. 104 Sprzedaj swój program
Każdy pracownik krótko opowiada, nad czym pracuje i na jakie natknął
się problemy. Dobrą regułą jest, aby poświęcać nie więcej niż jedną – dwie
minuty na pracownika. Pamiętaj, że to spotkanie angażuje każdego pra-
cownika, a więc powinno być krótkie i na temat, tak aby nie angażować
dużych nakładów gotówkowych (ang. burn rate).
Do czego potrzebne są codzienne spotkania?
Najprostszym sposobem radzenia sobie z zakłóceniami w komunikacji jest
częstsze rozmawianie z pracownikami. To pomoże zrozumieć, gdzie leży
problem, i daje szansę naprawienia go.
Większość ludzi stara się realizować cele zespołu. Niestety ludzie mają
skłonność do nierozumienia celów lub zatracania kierunku, co oznacza, że
należy podejmować czynności korygujące.
Spotykaj się częściej ze swoim zespołem i pozwól wszystkim opowiadać
o swojej pracy. Celem jest dokonywanie częstych korekt kursu: jeśli chcesz
jechać samochodem, wybierasz kierunek, ale nie trzymasz się go bez wzglę-
du na wszystko. Kierujesz samochód na właściwy kierunek, a następnie wy-
konujesz mnóstwo drobnych korekt, kręcąc kierownicą w prawo lub w lewo.
Zjedziesz z trasy i rozbijesz samochód, jeśli będziesz czekał zbyt długo na
korektę. Twój projekt programistyczny również skończy się fiaskiem, jeśli
zbyt długo nie będziesz przeprowadzał żadnych korekt.
WSKAZÓWKA 16
Dokonuj częstych korekt kursu poprzez codzienne spotkania
Co dają codzienne spotkania?
Codzienne spotkania dają wiele korzyści, których możesz zacząć doświad-
czać od pierwszego dnia, gdy zaczniesz je stosować.
33. Rozdział 3. • Pragmatyczne techniki projektowe 105
Jaś pyta...
Czym jest wskaźnik nakładów gotówkowych
(ang. burn rate)?
Wskaźnik nakładów gotówkowych opisuje, ile kosztuje bieżąca
działalność firmy, a więc wynagrodzenia, czynsz, elektryczność,
świadczenia itd. Jest to kwota pieniędzy wydawana niezależnie
od tego, czy praca jest wykonywana, czy nie jest. Jeśli przepro-
wadzasz jakieś spotkanie, zawsze cofnij się o krok i oblicz, ile Cię
ono kosztuje na godzinę. Jeśli to policzysz, spotkania będą na
ogół krótsze.
Niech na przykład praca programisty kosztuje 100 zł na godzinę
(po uwzględnieniu pensji oraz kosztów pośrednich). Jeśli w ze-
spole pracuje 10 osób, wskaźnik nakładów gotówkowych wynosi
1000 zł na godzinę, 8000 zł na dzień i 40 000 zł na tydzień.
Następnym razem gdy będziesz organizował spotkanie i zacznie
się ono z dziesięciominutowym opóźnieniem lub wszyscy przez
30 minut będą słuchać opowieści o wakacjach Marka, oblicz, jakie
są koszty. Jeśli Twój produkt ma trzy miesiące spóźnienia, jakie były
w tym czasie koszty prac programistycznych? Pamiętaj, że ten przy-
kład nie bierze pod uwagę kosztów utraconych korzyści podczas
zmarnowanego czasu.
Zeszliśmy z kursu... znowu
Istnieją programiści, którzy wiecznie schodzą z kursu. Najczęściej są to
programiści niedoświadczeni oraz indywidualiści. Nowi pracownicy nie mają
doświadczenia i będą spędzali czas nad rozwiązywaniem problemów dawno
rozwiązanych. Indywidualiści są starsi i bardziej doświadczeni, ale schodzą
z kursu równie często. Codzienne spotkania pozwalają obie te grupy pro-
gramistów utrzymać na właściwym kursie.
34. 106 Sprzedaj swój program
Wyważanie otwartych drzwi
Niedoświadczony programista będzie rozwiązywał problemy, które nie po-
trzebują rozwiązania. Bystrzy młodzi programiści rzadko spotykają proble-
my, których nie potrafią rozwiązać, ale te, które rozwiązują, zwykle zostały
już rozwiązane przez kogoś innego. Nieszczęśliwie dla nich, inni progra-
miści nie rozmawiają z nimi wystarczająco dużo, aby im o tym powiedzieć.
Zamiast uczyć się na błędach swoich współpracowników, nowi programiści
wyważają otwarte drzwi i nie robią zbyt dużych postępów.
Zauważysz ten problem, gdy programiści zaczną wykorzystywać struktury
danych języka programowania. Ci programiści tworzą sprytne formanty
GUI, które powielają to, co przygotował inny programista miesiąc temu.
Każdy w firmie pisze własną kopię każdego narzędzia. Jeśli istniałaby ko-
munikacja, wówczas narzędzia te można by pisać jednokrotnie. Jednak
programiści w tego typu firmach są zbyt zajęci, aby ze sobą rozmawiać.
W efekcie każdy z nich ma formanty GUI o nieco innym wyglądzie i z wła-
snymi procedurami obsługi łańcuchów znaków.
Gdy Twój zespół spotyka się codziennie, a Wasz nowy pracownik Marek
mówi wszystkim, że zaczyna opracowywać nowy zestaw formantów GUI,
Agnieszka może mu powiedzieć o formantach, nad którymi ona i Michał
pracowali w ubiegłym roku. Być może nie są one dokładnie tym, czego on
potrzebuje, ale stanowią dobry punkt wyjścia dla jego pracy. Zamiast pra-
cować od zera, Marek będzie korzystał z pracy już wykonanej przez jego
kolegów. Jeśli prowadzimy codzienne spotkania, wówczas mamy forum dla
tego rodzaju dyskusji. Nie musimy czekać, aż Marek przez przypadek wspo-
mni o swoich formantach GUI podczas obiadu albo przerwy na kawę.
Indywidualiści
Wszyscy kiedyś pracowaliśmy z programistami-indywidualistami. Mają oni
skłonność zatracać kierunek i dryfować, nie wiadomo gdzie. Brną praco-
wicie przez przypadkowo wybrany kod i „poprawiają” go poprzez porząd-
kowanie nagłówków metod, szlifowanie algorytmów i formatowanie nawia-
sów. Indywidualiści nie mają wystarczająco dużo dyscypliny, aby zakończyć
jakiekolwiek zlecone zadanie i na ogół przynoszą więcej szkody niż pożytku.
35. Rozdział 3. • Pragmatyczne techniki projektowe 107
Jeden programista-indywidualista, którego znamy, porządkuje nagłówki
metod i usuwa nieużywane argumenty. Przykładowo w jego rękach wiersz
doSomething(String foo, Integer bar)
przekształciłby się w
doSomething(String foo)
Niestety, ten programista, podobnie jak inni indywidualiści, nigdy równo-
cześnie nie zmienia kodu, który używa metody doSomething, wskutek czego
jego zmiany często powodują niepowodzenia kompilacji.
Indywidualiści będą poprawiać wydajność algorytmów, ale ich zmiany
spowodują, że program zacznie generować błędne wyniki. Będą spędzać
godziny na formatowaniu programu tak, aby odpowiadał ich gustom. Indy-
widualiści mają zbiór nawyków, które stosują bo „tak trzeba”.
Nad indywidualistami można zapanować dosyć łatwo. Po pierwsze: prze-
prowadzaj codzienne spotkania. Po drugie: zwracaj uwagę na codzienne
raporty indywidualistów. W tym miejscu dobry kierownik techniczny za-
uważy ich dryfowanie, zanim zajdzie ono za daleko. I na koniec: kierownik
techniczny musi mieć pewność, że ich praca jest warta całego dnia spę-
dzonego w biurze. Taka taktyka nie eliminuje całkowicie ich błąkania się,
ale zminimalizuje ich wolny czas i ograniczy szkody.
Przekazywanie wiedzy
Jeśli w zespole jest kilku doświadczonych programistów, codzienne spo-
tkania pozwalają skorzystać z ich wiedzy. Za każdym razem, gdy dzielą się
swoim rozwiązaniem, dowiaduje się o nim cały zespół. Z drugiej strony za
każdym razem, gdy młodszy pracownik opowiada o problemie, starsi dowia-
dują się o nim i mogą pomóc — jeśli nie wiesz o problemie, nie możesz
pomóc go rozwiązać.
Powiedzmy na przykład, że Jarek przychodzi na codzienne spotkanie
i mówi, że ma problem z parserem XML-a, który nie radzi sobie ze zna-
kami międzynarodowymi. Michał, który spotkał się z takim samym pro-
blemem rok temu, może powiedzieć dokładnie, jak go rozwiązać. Jarek
36. 108 Sprzedaj swój program
dostaje szybką odpowiedź i nie musi spędzać wielu godzin, analizując ten
problem samodzielnie. Każdy pracownik może wykorzystać doświadcze-
nie całego zespołu w celu szybkiego rozwiązania problemów.
Komunikacja w zespole
Codzienne spotkania zmuszają wszystkich do rozmów bez wyróżniania ko-
gokolwiek. Spotykanie się każdego dnia na rozmowach oraz udzielanie sobie
nawzajem pomocy wytwarza w zespole niespotykaną więź. Ile znacie ze-
społów, w których każdy pracownik rozmawia z każdym innym pracowni-
kiem przynajmniej raz dziennie? Codzienne spotkania wiążą niejednorodną
grupę programistów w prawdziwy zespół.
Typem programisty, który korzysta najwięcej z codziennych spotkań, jest
człowiek nieśmiały, spędzający całe dnie na chowaniu się w swoim biurze.
Pewna osoba, z którą pracowaliśmy (powiedzmy, że był to Ryszard), była
modelowym przykładem takiej osobowości. Ryszard przychodził bezpo-
średnio do swojego pokoju, pracował do obiadu, który jadł sam, i wychodził
na koniec dnia. Przez większość dni nie zamienił z nikim nawet słowa.
Gdy rozpoczęto organizowanie codziennych spotkań, wszyscy członkowie
zespołu — nawet Ryszard — zaczęli się poznawać. Żarty opowiadano
przed spotkaniami, w ich trakcie i po nich. Programiści pomagali sobie
nawzajem w rozwiązywaniu problemów. Zawiązywały się przyjaźnie. Z tego,
co ostatnio słyszeliśmy, Ryszard całkowicie wyszedł ze swojej skorupy i miał
kontakty z prawie całym zespołem. Zapraszał innych na obiad, wpadał po-
gadać i utrzymywał kontakty na poziomie — wydawałoby się — wcześniej
niemożliwym.
Widzieliśmy ten efekt u wielu ludzi na różnych etapach i zawsze z pozy-
tywnymi wynikami.
Szeroki punkt widzenia
Spotkania z innymi pracownikami oraz wiedza na temat tego, nad czym oni
pracują, zapobiega „krótkowzroczności” w postrzeganiu funkcji projektu.
Jeśli ta przypadłość dotyka pracowników, wydaje im się, że ich praca jest
37. Rozdział 3. • Pragmatyczne techniki projektowe 109
jedyna i najważniejsza. Prowadzi to do iluzji wielkości i powoduje, że pro-
gramiści przeceniają swoje miejsce w świecie. Często samo bycie w grupie,
która dyskutuje nad różnymi projektami i kierunkami prac, może uleczyć
taką osobę bez konieczności stosowania innych zabiegów.
Poza leczeniem „krótkowzroczności” cały zespół może odnieść korzyść z wie-
dzy o tym, czym zajmują się inni pracownicy. Jeśli jeden pracownik wie, że
inny zamierza zmienić komponent, który on wykorzystuje, wówczas może
zająć się innym obszarem kodu, tak aby sobie nawzajem nie przeszkadzali.
Jeśli zmiana komponentu jest podobna do tej, którą wykonał już ktoś inny,
wówczas możliwe jest udzielenie pomocy. Można dostrzec mnóstwo korzyst-
nych efektów płynących z jawności informacji o tym, czym się każdy zajmuje.
Inne możliwości
Istnieją pewne rozwiązania alternatywne wobec spotkań zespołów. Przyj-
rzyjmy się kilku z nich.
Menedżer lub kierownik techniczny może zaglądać od czasu do czasu do
każdego pracownika. Daje to możliwość osobistej rozmowy z kierownikiem
technicznym, co jest rzeczą pozytywną. Ogranicza to jednak kontakty po-
między pracownikami. Jest to również poważne marnotrawstwo czasu kie-
rownika technicznego, który spędza dzień lub dwa każdego tygodnia na
wizyty. Ponadto, zamiast chronić zespół przed przerwaniami, teraz on sam
staje się ich powodem.
Jeszcze inna możliwość to dać wszystkim spokój przez kilka miesięcy, a na-
stępnie spróbować wszystko poskładać na koniec. Mimo że jest to często
używany sposób, nie zalecamy go. Prowadzi on do wielu heroicznych wy-
siłków oraz licznych nadgodzin przy finalizowaniu projektu, ale nie przy-
nosi w efekcie wielu działających produktów. Jeśli zespół pracuje w tego
rodzaju próżni, nieporozumienia narastają. Jeśli wejdziesz na złą drogę,
tracisz tygodnie lub miesiące, zanim sobie z tego zdasz sprawę. Pracowa-
liśmy w firmach, które działały w taki sposób, i za każdym razem obserwo-
waliśmy miesiące pracy programistów wyrzucane w błoto.
38. 110 Sprzedaj swój program
Bardzo popularne są spotkania cotygodniowe. Nasze zastrzeżenie do nich
związane jest z ilością informacji, która musi być przekazywana, aby coty-
godniowe spotkanie było naprawdę efektywne. Pracownicy wykonali w ciągu
tygodnia taką pracę, że jakakolwiek sensowna wymiana informacji nie jest
możliwa. Zamiast tego cotygodniowe spotkania stają się forum, na którym
przekazywane są informacje oraz komunikaty od menedżera. Dobry me-
nedżer może wykorzystać takie forum, aby skupić się na konkretnej kwestii
lub problemie, ale nie może skupiać się na kwestii, o której istnieniu nie wie.
Tygodniowe spotkania są lepsze niż kwartalne, ale ich efektywność jest
znacznie mniejsza niż w przypadku spotkań codziennych.
Jak wyglądają codzienne spotkania?
t 8:55 rano: pracownicy schodzą się do miejsca spotkania.
Spotkanie jest częścią codziennych zajęć; prowadzone jest ono
w tym samym pomieszczeniu o stałej porze. Czas przed spotkaniem
wypełniony jest omawianiem takich istotnych kwestii jak ta,
w której kawiarni jest najlepszy barista, albo nowości dotyczących
rowerów górskich.
t 9:00 rano: kierownik techniczny Andrzej rozpoczyna spotkanie.
Niekiedy znaczy to, że będzie musiał przerwać zażartą dyskusję
dotyczącą nowych rowerów górskich. Następnie pracownik jest
proszony o przedstawienie raportu o statusie. W tym przypadku
rozpoczyna Krzysztof.
Krzysztof pracował wczoraj nad dodaniem obsługi nowej bazy
danych. Miał drobny problem ze składnią SQL-a, ale udało
mu się go rozwiązać. Inny pracownik włącza się ze wskazówką,
że również kilka innych poleceń SQL-a nie jest przenośnych.
Teraz Krzysztof wie, że w jego zespole jest osoba, która również
zajmowała się przenoszeniem programów w SQL-u, i może
w każdej chwili zwrócić się do niej o radę.
39. Rozdział 3. • Pragmatyczne techniki projektowe 111
t 9:03 rano: obok Krzysztofa siedzi Ania, więc ona odzywa się
jako kolejna. Ania pisze prototyp aplikacji klienckiej, która
prawdopodobnie będzie nowym interfejsem użytkownika.
Spędziła dzień, programując ekran główny aplikacji. Przewiduje,
że uda jej się dzisiaj skończyć dodawanie elementów GUI
i że po obiedzie zacznie programować logikę ich działania.
t 9:04 rano: Michał rozbudowywał swój komputer i spędził dzień
na instalacji oprogramowania. Kolejny szybki raport zakończony.
t 9:05 rano: Marek analizuje problem zgłoszony przez klienta.
Wygląda na to, że część serwerowa produktu regularnie
zawiesza się w poniedziałki rano, ale działa poprawnie w inne
dni tygodnia. Jacek opowiada podobną historię, z którą zetknął
się przy pracy z innym systemem. W jego przypadku serwer
bazy danych był restartowany przez weekend i program zawieszał
się, próbując uzyskać dostęp do bazy danych w poniedziałek
rano. Jacek opowiada dalej całą historię. Po kilku minutach
Andrzej przerywa i kończy opowieść. Jacek i Marek zgadzają się
spotkać i przyjrzeć się razem problemowi.
t 9:10 rano: Andrzej przekazuje kilka komunikatów o wspólnym
obiedzie w piątek oraz o nowym kliencie. Komunikaty są
przekazywane pod koniec spotkania, ponieważ zawsze ktoś się
spóźnia i nie usłyszałby ich, gdyby przekazywane były na początku.
t 9:15 rano: wszyscy są wolni i mogą wracać do pracy po krótkim
piętnastominutowym spotkaniu.
Od czego zacząć?
Jeśli nigdy nie przeprowadzałeś codziennych spotkań, oto kilka pomysłów,
jak je zorganizować:
t Upewnij się, że każdy zna ich formułę (jakie pytania chcesz,
żeby były stawiane).
t Każdy musi odpowiadać na te pytania. Nie ma wyjątków.
40. 112 Sprzedaj swój program
t Na początek bądź tolerancyjny, jeśli chodzi o ograniczenia
czasowe. Wiele informacji jest przekazywanych na początku.
Musisz pozwalać na swobodną komunikację.
t Wyznaczaj spotkanie codziennie o tej samej porze i w tym samym
miejscu. Niech staną się one nawykiem, a nie udręką.
t Zamieszczaj tematy przedyskutowane na spotkaniu na stronie
plog internetowej lub w plogu6.
t Wybierz osobę, od której zacznie się spotkanie, a następnie
kolejne zgodnie z ruchem wskazówek zegara (lub w kierunku
przeciwnym). Przypadkowe wybieranie jednego pracownika
po drugim może ich niepotrzebnie deprymować.
Nie rozpraszaj się
Codzienne spotkania będą wartościowe, jeśli każdy trzyma się tematu.
Ważne jest, aby przekazywać informacje konkretnie. Nie mów, że skoń-
czyłeś w 70 procentach. Zamiast tego powiedz, że dodałeś ekran logowania
i że chociaż jeszcze nie działa, to będzie działał jutro. Zatrzymaj się na
chwilę, jeśli ktoś mówi, że ekran logowania zawiesza się. Poproś o bar-
dziej szczegółowe opisanie problemu (np. „nie komunikuje się z narzędziem
kontroli tożsamości”). Jeśli projekt dopiero się zaczyna, spotkanie prowadzi
kierownik techniczny, ale z czasem obowiązek przewodniczenia powinien
przechodzić rotacyjnie przez wszystkich pracowników. Wykorzystaj te spo-
tkania do rozwijania liderów we własnej grupie.
Jeśli jakiś temat zaczyna żyć własnym życiem lub spotkanie zamienia się
w debatę nad sposobem rozwiązania problemu, przewodniczący powinien
szybko ją przerwać i polecić zaangażowanym osobom spotkać się w mniej-
szej grupie po głównym spotkaniu. Nie wszyscy muszą słuchać dyskusji
dwóch pracowników nad problemem, który tylko ich dotyczy. Mogą oni
później dać krótki przegląd rozwiązania, gdy już je znajdą.
6
Plog jest to blog projektu. Blog to z kolei pamiętnik internetowy pozwalający na łatwą aktualizację.
Użycie ploga do udostępniania informacji z codziennych spotkań ułatwia przekazywanie wiedzy
pracownikom. Jest on podstawowym źródłem informacji dla pracowników nieobecnych,
innych zespołów lub menedżerów.
41. Rozdział 3. • Pragmatyczne techniki projektowe 113
Jaś pyta...
Nasze codzienne spotkania są zbyt długie.
Co mamy zrobić?
Jeśli dopiero zaczynasz organizować codzienne spotkania, będą
one trwały dosyć długo. Spotkania te służą wymianie informacji
i w związku z tym trzeba wiele nadrobić. Celem jest, aby jedna
osoba zajmowała jedną lub dwie minuty, ale są małe szanse, że
osiągniesz ten cel w ciągu kilu dni, a nawet tygodni. Możesz rów-
nież oczekiwać opóźnień w sytuacji, gdy w zespole pojawia się
nowy pracownik. Codzienne spotkania są znakomitym forum po-
zwalającym mu się wdrożyć do pracy!
Jeśli po kilku tygodniach codzienne spotkania w dalszym ciągu
trwają godzinę, wówczas należy ten problem rozwiązać. Prawdo-
podobnie pracownicy opisują swoje problemy oraz ich rozwiązania
w sposób zbyt szczegółowy. Nie pozwalaj im opisywać szczegółów
rozwiązania i staraj się uzyskiwać tylko podsumowania. Na przykład
zamiast przedstawiania szczegółowej, niskopoziomowej analizy
problemu, sposobu debugowania oraz ostatecznego rozwiązania,
po prostu powiedz: „Mieliśmy problem z pamięcią podręczną,
która się nie aktualizowała przy zmianie danych. Został on już na-
prawiony i wprowadzony do projektu”. To wszystko, co musimy
wiedzieć.
Możesz również poprosić pracowników, aby zapisali, co mają za-
miar powiedzieć. Pomoże im to uporządkować myśli przed spo-
tkaniem. W ten sposób unikną rozwlekłego raportu, który ciągnie
się pięć minut.
Innym potencjalnym problemem jest zbyt duża liczba osób w ze-
spole. Stwierdziliśmy, że w codziennych spotkaniach nie powinno
brać udział więcej niż piętnaście osób. W przeciwnym razie należy
podzielić spotkania na mniejsze grupy. Członkowie zespołu pracu-
jący w tych samych obszarach powinni brać udział w tym samym
spotkaniu. Postaraj się, aby przynajmniej jedna lub dwie osoby
uczestniczyły w każdym spotkaniu, tak aby istotne informacje
mogły być przekazywane.
42. 114 Sprzedaj swój program
Kilka poważnych metodologii programowania sugeruje, że czas spotkania
można ograniczyć, każąc wszystkim stać. To działa, ale jeśli uczestnicy są
zdyscyplinowani (lub gdy dyscyplinę potrafi narzucić przewodniczący), nie
jest to konieczne.
Postępujesz poprawnie, jeśli...
Jeśli organizujesz codzienne spotkania, to świetnie! Oto kilka sugestii:
t Czy spotkania są pożyteczne? Jeśli nikt w zespole niczego się nie
uczy, to znaczy, że raporty mogą być zbyt zwięzłe. Jeśli w jakimś
obszarze potrzebna jest większa szczegółowość, przesuń taki temat
na poboczne spotkanie w mniejszej grupie. Jednak zalecenie dwóch
minut jest tylko sugestią, a nie dogmatem. Może się okazać,
że czasami wystarcza trzydzieści sekund, a czasami możesz
potrzebować trzech minut.
t Czy spotkania odbywają się każdego dnia, w tym samym miejscu
i o tej samej porze? Przeprowadzanie spotkań w tym samym
miejscu i czasie powoduje, że łatwo o nich pamiętać. Spotkanie
można przesunąć od czasu do czasu, ale unikaj częstych zmian.
t Jeśli przestałbyś przeprowadzać spotkania, czy pracownicy
narzekaliby? Powinni! Zespół powinien polegać na codziennych
spotkaniach, aby „być w temacie”. Jeśli spotkań można zaprzestać,
to znaczy, że nie miały one wartości. Zespół powinien polegać
na codziennych spotkaniach jako na bezcennym zasobie.
Sygnały ostrzegawcze
Codzienne spotkania są znakomitym narzędziem. Jednak jak każde narzę-
dzie mogą być również szkodliwe, jeśli będą stosowane niepoprawnie. Oto
kilka sygnałów ostrzegawczych świadczących o tym, że codzienne spotka-
nia nie funkcjonują należycie:
43. Rozdział 3. • Pragmatyczne techniki projektowe 115
t Każdy pracownik zajmuje dziesięć minut lub więcej.
t Jeden z pracowników regularnie zajmuje tyle samo czasu co
wszyscy inni pracownicy razem wzięci.
t Uczestnicy przerywają sobie złośliwie. Żarty pomiędzy
pracownikami są wskazane (i można do nich zachęcać),
ale jeśli codzienne spotkania stają się okazją do wymiany
złośliwości, przestają być efektywne.
t Spotkania regularnie zaczynają się (lub kończą) za późno.
t Spotkania stają się pozbawione treści. Programiści wygłaszają
stwierdzenia w rodzaju „Skończyłem w 90 procentach” albo
„Pracuję nad bazą danych”.
t Pracownicy mówią chaotycznie lub zapominają przedstawiać
zadania, które wykonali. Poproś ich na osobności, aby zapisywali,
co zrobili, tak aby byli skupieni na spotkaniu i przedstawiali
swoje sprawozdania zwięźle. Dobrze będzie również, jeśli będą
mieli swój własny egzemplarz listy zadań, co pozwoli im być
bardziej zorganizowanymi.
Programowanie w parach
Programowanie w parach oznacza, że przy jednym komputerze
pracuje dwóch programistów. Jeden pisze program, a drugi pró-
buje oceniać i patrzeć z dystansu. Jeden pracuje nad szczegółami
programu i składni języka, a drugi próbuje zdecydować, czy dany
algorytm jest właściwy do rozwiązania konkretnego problemu.
Druga osoba zauważa problemy takie jak błędy w kodzie, literówki
i błędne nazwy zmiennych. Od czasu do czasu programiści zamie-
niają się rolami.
Niektórym bardzo podoba się ta technika, inni nigdy nie potra-
fią się do niej przyzwyczaić. Stwierdziliśmy, że jest to bardzo
przydatna technika, pod warunkiem że jest stosowana właści-
wie (z odpowiednimi osobami). Bardziej szczegółowe spojrzenie
na tę intrygującą technikę znajduje się na stronie http://www.
pairprogramming.com/.
44. 116 Sprzedaj swój program
13. Przeglądy kodu
Małe, częste przeglądy kodu powodują, że program jest przejrzysty, prosty
i uporządkowany. Można uniknąć tradycyjnie nieprzyjemnych przeglądów
kodu, które angażują dziesiątki programistów i wymagają dni przygotowań
(znane także pod nazwą przeglądów MAD7). Stwierdziliśmy, że przeglądy
kodu mogą być bezbolesne, jeśli będziemy się stosować do następujących
reguł:
t Przeglądane będą tylko niewielkie fragmenty kodu.
t Przeglądu dokonuje jedna lub dwie osoby, nie więcej.
t Przeglądy dokonywane są bardzo często, nawet kilka razy
dziennie.
Celem jest przyswojenie nawyku częstszych przeglądów kodu bez naraża-
nia się na potencjalny szok kulturowy (lub dodatkowe koszty) związany
programo- z programowaniem w parach. W wielu środowiskach nie ma gotowości do
wanie
w parach
tego rodzaju współpracy; sam koszt cukierków miętowych mógłby pogrą-
żyć dobrze prosperującą firmę. Zamiast tego staraj się dokonywać prze-
glądów kodu częściej i w mniejszych fragmentach.
Jeśli mija tydzień bez dokonania przeglądu kodu, to upłynęło wiele czasu,
podczas którego w Twoim kodzie mogły się pojawić poważne błędy. Praw-
dopodobnie potrzebujesz spojrzenia z zewnątrz, jeśli pracowałeś nad po-
ważnym problemem tak długo. Druga osoba niekoniecznie musi wiedzieć
lepiej; samo wyjaśnienie komuś problemu często wystarcza do jego roz-
wiązania w następnej kolejności (czasem nazywa się to metodą gumowej
kaczki8). Czekanie przez wiele dni na przegląd kodu (nawet jeśli jest to
tymczasowa kontrola) skończy się prawdopodobnie długim i bolesnym prze-
życiem... przeglądem MAD!
7
Skrót od „Mighty Awful and Dreaded” (bardzo nieprzyjemny i wzbudzający strach). Skrót MAD
można przetłumaczyć również jako „szalony” — przyp. tłum.
8
Nazwa pochodzi stąd, iż słuchająca osoba nie musi nic wnosić do rozmowy. Wystarczy, że od czasu
do czasu pokiwa głową. Jeśli nie możesz znaleźć takiej osoby, wystarczy Ci nawet gumowa kaczka.
45. Rozdział 3. • Pragmatyczne techniki projektowe 117
Aby uniknąć przeglądów MAD, podziel swoje zadanie na najmniejsze moż-
liwe kawałki i daj każdy z nich do niezależnego przeglądu, a następnie
wprowadzaj je do repozytorium kodu źródłowego. Wówczas, jeśli istnieje
problem z jakimś pojedynczym obszarem, jest on łatwo izolowany.
Programiści często są tak zaabsorbowani szczegółami określonego zadania,
że nie patrzą na problem z dystansu, przez co mogą przeoczyć oczywiste
usprawnienia. Jeśli zatrzymują się, aby wyjaśnić swój punkt widzenia oraz
kod programu innej osobie, często zyskają świeżą, wartościową perspekty-
wę. Czasem jesteśmy tak zajęci budowaniem drogi w lesie, że nie zauwa-
żamy, iż podążamy w złym kierunku!
Inna korzyść segmentacji kodu polega na możliwości łatwiejszego zrozu-
mienia kodu przez osoby przeglądające. W szybko pracującej firmie pro-
gramistycznej może istnieć potrzeba przeglądania kodu kilka razy dziennie.
Dobrą zasadą jest, aby nie pracować dłużej niż dwa dni bez dokonania
przeglądu kodu. Myśl o przeglądzie kodu jak o oddychaniu. Można oczy-
wiście obyć się bez oddychania przez kilka minut, ale komu to potrzebne?
Idealnie będzie, gdy dla każdej dodanej funkcji (lub poprawionego błędu)
zastosowany zostanie jeden przegląd kodu. Niesprawdzanie kodu, w cza-
sie gdy zostanie dodanych siedem nowych funkcji i poprawionych zostanie
czternaście błędów, jest gotową receptą na wzbudzający strach przegląd
typu MAD (nie mówiąc o długim, przeciągającym się i nieskoordynowa-
nym wysiłku).
Jeśli jesteś w sytuacji, gdy musisz przepisać zawiłą część swojego progra-
mu i nie potrafisz podzielić tego zadania na mniejsze części, wybierz jedną
z osób dokonujących przeglądu i poleć jej dokonywanie częstych przeglądów
kodu na bieżąco.
Będziesz pisał lepsze programy, jeśli będziesz wiedział, że ktoś inny je zo-
baczy. Spraw, że będziesz czuł się za nie odpowiedzialny. To zagadnienie
nie dotyczy tylko programistów, taka jest po prostu ludzka natura. Przeglą-
dy kodu zapewniają, że przynajmniej jedna osoba spojrzy na Twoją pracę.
Mając tę odpowiedzialność, będziesz wiedział, że w swojej pracy nie możesz
iść na skróty.
46. 118 Sprzedaj swój program
Wiele badań wykazuje efektywność przeglądu kodu w wykrywaniu błędów.
W rzeczywistości jest to najważniejsza technika znajdywania błędów. Nie
istnieje lepsza. Jeśli nie dokonywałeś regularnych przeglądów kodu, będziesz
zdziwiony tym, co odkryjesz.
Zdarzało nam się widywać nazwy zmiennych w rodzaju PanHash dla ta-
blicy hashującej. Jednak po jednym przeglądzie kodu programista zaczął
używać bardziej sensownych nazw zmiennych, aby uniknąć dokuczania ze
strony współpracowników. Podglądanie przez innych może być bolesne,
ale będzie efektywne.
Gumowa kaczka (opisana wcześniej) jest bardzo efektywnym sposobem
znajdywania i rozwiązywania problemów. Opisując swój program komuś,
nagle zdasz sobie sprawę z tego, o czym zapomniałeś, rozpoznasz logikę,
która jest niepoprawna, lub odnajdziesz niezgodności z innymi obszarami
systemu. Chcemy, abyś „rozmawiał” z kaczką za każdym razem, gdy za-
twierdzasz kod.
Rozmowa spowoduje również, że inni programiści zauważą błędy w Twoim
programie. Druga para oczu patrząca na Twój program często znajduje
problemy, które nawet nie przyszły Ci do głowy. Poznasz zupełnie inny
punkt widzenia. Znajdowanie błędu w firmie programistycznej jest zawsze
tańsze niż wówczas, gdy program jest już u odbiorcy. Stopa zwrotu z tej
niewielkiej inwestycji jest naprawdę duża.
Przegląd kodu jest znakomitym narzędziem promującym dzielenie się wiedzą
w firmie. Współpraca przy przeglądzie kodu spowoduje, że osoba prze-
glądająca ma przynajmniej ogólną ideę działania Twojego programu, a być
może także jego głębsze rozumienie. Ma to ogromne znaczenie edukacyjne
i pomaga również w utrzymaniu poprawności kodu.
Przeglądy stanowią znakomitą okazję dla doświadczonych programistów do
przekazywania poprawnego stylu programowania i projektowania młodszym
kolegom. Poza trywialnymi zaleceniami (na przykład dotyczącymi sposobu
stawiania nawiasów) doświadczeni programiści mogą powiedzieć, dlaczego
jedna struktura danych może w danej sytuacji pasować bardziej niż inna,
47. Rozdział 3. • Pragmatyczne techniki projektowe 119
Wzorce
Wzorzec odnosi się do praktyki dokumentowania i nazywania
wspólnych problemów (i ich rozwiązań), które występują w pro-
jektach. Istnieje kilka powodów, aby zdobyć wiedzę na temat
wzorców. Jednym jest wprowadzenie wśród programistów wspól-
nego słownictwa. Pracując ze sobą, programiści rozwijają wspólny
zbiór pojęć, który pozwala im się komunikować szybko i jedno-
znacznie. Wzorce mogą przyspieszyć ten proces i pozwolić komu-
nikować się jasno z kimś dopiero co spotkanym (pod warunkiem
że osoba ta zna te same wzorce).
Innym powodem, dla którego warto znać wzorce, jest łatwość
rozwiązywania problemów do tej pory niespotkanych. Poprzez czy-
tanie i omawianie różnych wzorców uczysz się sposobów rozwią-
zywania wielu popularnych problemów. Pytanie brzmi, czy uda Ci
się rozpoznać wzorce, kiedy się na nie natkniesz, a nie, czy uda Ci
się spotkać z większością z nich*. Czy będziesz wiedział, jak eleganc-
ko rozwiązać problem opisywany przez wzorzec, czy też będziesz
kilkakrotnie podchodził do rozwiązania, zanim znajdziesz właściwe?
Wzorce projektowe. Elementy oprogramowania obiektowego wie-
lokrotnego użytku autorstwa Erica Gammy, Richarda Helmsa,
Ralpha Johnsona i Johna Vlissidesa można polecić jako dobry punkt
wyjścia do studiowania tematu.
*
Artykuł „Humble Programmer” (Pokorny programista) autorstwa Edsgera W. Dijkstry
przedstawia klasyczne spojrzenie na stan informatyki (i wzorców), które pozo-
staje w dalszym ciągu aktualne. Został on napisany w 1972 r. (patrz: http://
www.cs.utexas.edu/users/EWD/ewd03xx/EWD340.PDF).
lub wskazać istnienie jakiegoś wzorca. Często osoba przeglądająca zauwa-
ży powtarzające się fragmenty kodu lub fragmenty programu, które można
przenieść do wspólnych klas bazowych lub użytkowych. Dokonuje się re-
faktoringu kodu, zanim zostanie on zapisany w systemie zarządzania kodem
źródłowym.
Przeglądy kodu ułatwiają także wspólne uczenie się, zarówno na małych
obszarach kodu, jak i na ogólnych koncepcjach. Poza „stylem programo-
wania” uczysz się także „programować ze stylem”.
48. 120 Sprzedaj swój program
Oto kilka sugestii pomagających przeprowadzać przeglądy kodu.
Przegląd kodu musi angażować przynajmniej jednego dodatkowego pro-
gramistę. W praktyce niemal zawsze wystarczy jeden dodatkowy progra-
mista, chyba że tworzysz coś na tyle interesującego, że inni pracownicy
chcą się o tym dowiedzieć. Wówczas możesz śmiało zaangażować więcej
programistów. Nie przesadzaj jednak (nie więcej niż trzech lub czterech)
— zbyt wielu programistów spowolni przegląd.
Nie udostępniaj kodu publicznie bez przeglądu. Nie dodawaj swoich zmian
do kodu źródłowego całego projektu, zanim nie zostanie dokonany prze-
gląd. Częścią komentarza dostarczanego z kodem powinno być nazwisko
osoby dokonującej przeglądu. Wówczas, jeśli pojawiają się pytania o przy-
czyny zmiany kodu, a Ciebie nie ma w pobliżu, jest inna osoba, która po-
winna być w stanie to wyjaśnić (przynajmniej na podstawowym poziomie).
Refaktoring
Najlepszą definicję tego pojęcia podaje Martin Fowler:
„Refaktoring jest sformalizowaną procedurą zmiany wewnętrznej
struktury istniejącego kodu bez zmiany jego zewnętrznego zacho-
wania. Jego istotą jest szereg transformacji zachowujących dotych-
czasowe działanie programu. Pojedyncza transformacja (refakto-
ring) nie zmienia wiele, ale szereg transformacji może przynieść
znaczące zmiany struktury. Dzięki temu, że pojedynczy refaktoring
jest niewielki, istnieje mniejsza szansa, że spowoduje błędy. Utrzy-
muje się również pełne działanie systemu po każdym refaktoringu,
co zmniejsza prawdopodobieństwo poważnej awarii podczas zmia-
ny struktury”*.
*
Patrz: http://www.refactoring.com/.
Nigdy nie wykorzystuj przeglądu jako wymówki do niezatwierdzania kodu
w projekcie. Jeśli w Twojej firmie jest system zarządzania kodem źródło-
wym, który przechowuje tylko kod produkcyjny, wówczas umieść swój kod
w części prywatnej, dopóki nie będzie gotowy. Wymieniona prywatna część
może być oddzielnym repozytorium kodu lub oddzielną instalacją systemu
49. Rozdział 3. • Pragmatyczne techniki projektowe 121
zarządzania kodem źródłowym. Korzystaj z wszelkich narzędzi, aby prze-
nieść kod ze swojego komputera, tak aby w przypadku jego awarii kod nie
został utracony.
Osoby przeglądające kod mają prawo go odrzucić, jeśli uznają, że jest on
nie do zaakceptowania. Jeśli przeglądasz kod innej osoby i nie jest on po-
prawnie skomentowany, algorytmy są nieefektywne lub powód jest jeszcze
inny, nie bój się prosić o poprawki (jednak nie bądź wybredny — pamiętaj,
że najczęściej istnieje wiele dobrych dróg osiągnięcia tego samego wyniku).
Jako osoba przeglądająca kod masz za zadanie go poprawić, a nie bezmyśl-
nie zatwierdzić. Jak mówi Eric S. Raymond, „Wiele par oczu sprawia,
że błędy stają się płytkie”.
Jeśli Twój program nie może być wyjaśniony na poziomie zrozumiałym dla
osoby dokonującej przeglądu, wówczas musi być uproszczony. Jako prze-
glądający kod nie możesz podpisywać się pod czymkolwiek, czego nie ro-
zumiesz lub z czym czujesz się nieswojo. Ostatecznie Twoje nazwisko jako
recenzenta jest przypisane do tego programu. Podpisujesz się pod nim.
Upewnij się, że jest on wart Twojego podpisu.
Wszystkie zmiany kodu muszą przechodzić pozytywnie istniejący zauto-
matyzowany zestaw testów. (Prowadzisz testy, prawda? Patrz: podroz-
dział 7. na stronie 63). Nie trać czasu swoich współpracowników, prosząc
o przegląd kodu, jeśli nie przeprowadziłeś jeszcze testów. Jeśli wymagana
jest aktualizacja istniejących testów, ich zmiany potraktuj jako część swoje-
go zadania, a następnie przeprowadź przegląd. Nowe testy, które dodajesz,
powinny również podlegać przeglądowi. Jako osoba dokonująca przeglądu
odrzucaj zmiany kodu, jeśli uważasz, że konieczne są dalsze testy.
„Po pierwsze nie szkodzić”9 to reguła, która ma zastosowanie również przy
dokonywaniu przeglądu kodu. Zmiany kodu nigdy nie powinny unieru-
chamiać programu. Oczywiście reguła ta jest nieistotna, jeśli mamy dobry
zestaw testów. Rzadko istnieje powód, aby zburzyć istniejącą funkcjonal-
ność. Zamiast unieruchomić istniejące API, dodaj nowe, które będzie miało
nowy argument (czy cokolwiek innego), którego potrzebujesz.
9
Przysięga Hipokratesa.
50. 122 Sprzedaj swój program
Jeśli na przykład istniejące wywołanie procedury musi być zmienione, ustal
plan, który zarysuje sposób eliminacji istniejącej implementacji. Nie usuwaj
po prostu tej procedury swoim klientom (swoim współpracownikom lub
innym zespołom w firmie); podejmij świadomą decyzję, czy zatrzymać starą
procedurę, czy ją usunąć. Zaplanowane usuwanie jest także ważne — nie
utrzymuj zdezaktualizowanych procedur przez lata.
Zmieniaj osoby, które przeglądają Twój kod, ale nie przywiązuj do tego
nadmiernej wagi. Od czasu do czasu można mieć tę samą osobę przeglą-
dającą kod, ale unikaj „kolesiostwa”, gdy Ty zawsze przeglądasz kod ko-
legi, a on przegląda Twój. Ponadto nigdy nie twórz oddzielnego stanowiska
dla pojedynczej (i przepracowanej) osoby przeglądającej kod wszystkim
pracownikom. Obie sytuacje eliminują efekt przekazywania wiedzy, który
starasz się wspierać.
Przeglądy kodu powinny być nieformalne. Zamiast planować spotkanie,
raczej wpadnij do współpracownika i zapytaj, czy jest w tej chwili dobry
moment na przegląd. Czasem można przeglądać kod, który jeszcze znajduje
się w edytorze. Czasem wydrukujesz różnice w programach i zabierzesz
je ze sobą. Sposób i miejsce nie są ważne.
Po wprowadzeniu procesu przeglądu kodu być może będziesz musiał wy-
znaczyć kilku starszych członków zespołu, aby obowiązkowo przeglądali
każdy kod. Na początek jeden starszy pracownik będzie musiał obowiązko-
wo uczestniczyć w przeglądzie. Nie będziesz raczej potrzebował ich w tej
roli dłużej niż kilka miesięcy. Kiedy pracownicy nauczą się podstaw, cały
zespół będzie w stanie współdzielić odpowiedzialność. Jak mówi „Księga
Przysłów”, „Żelazo żelazem się ostrzy, a człowiek urabia charakter bliź-
niego”10. Celem jest, aby pracownicy wykonywali pracę razem i wzajemnie
się od siebie uczyli. Angażuj swoich pracowników w proces „ostrzenia” tak
szybko, jak to możliwe.
10
Księga Przysłów 27:17, Biblia Tysiąclecia, Wydanie 3, Wydawnictwo Pallottinum, Poznań
– Warszawa 1980 — przyp. tłum.