Verleger: Helion
Git dla programistów. Efektywna kontrola wersji w projektach programistycznych
Jesse Liberty
Kontrola wersji jest warunkiem sukcesu w każdym projekcie programistycznym. Im większy zespół i im bardziej złożony projekt, tym ważniejsze jest skuteczne zarządzanie wersjami. Do tych celów najczęściej używa się Gita. To popularne i dynamicznie rozwijane darmowe oprogramowanie. Zawiera wiele przydatnych narzędzi, pozwala też na wyrafinowaną konfigurację i dostosowanie do szczególnych potrzeb. Jeśli chcesz w pełni skorzystać z jego potencjału, musisz nabrać wprawy, pewności siebie i dobrze poznać poszczególne elementy Gita. Oto opracowany z myślą o programistach praktyczny przewodnik, dzięki któremu szybko zaczniesz się posługiwać Gitem. Zawiera wszystkie informacje niezbędne do dogłębnego zrozumienia specyfiki tego narzędzia. Dowiesz się, w jaki sposób je zainstalować i skonfigurować, nauczysz się tworzyć i klonować repozytoria, a także zapoznasz się z narzędziami GUI Gita i zrozumiesz zasady pracy z gałęziami. Poznasz techniki rozwiązywania konfliktów scalania i korzystania z historii zmian. W książce omówiono polecenia potrzebne do zarządzania repozytorium, wyjaśniono też kwestie dotyczące bisekcji, polecenia blame i wielu innych narzędzi ułatwiających naprawianie błędów i rozwiązywanie typowych problemów. Dzięki książce dowiesz się, jak: zacząć pracę z Gitem tworzyć repozytoria lokalne i zdalne używać gałęzi, zarządzać nimi i scalać je do gałęzi głównej rozwiązywać konflikty scalania mieć pełną kontrolę nad wszystkimi informacjami w repozytorium naprawiać błędy w Gicie Kluczowym elementem każdego projektu programistycznego jest kontrola wersji!
Richard E. Silverman
Podręczny przewodnik po Git! Jeszcze do niedawna wśród systemów kontroli wersję fotel lidera zajmował SVN. Jednak ta sytuacja w ostatnich latach ulega diametralnej zmianie. Rynek systemów kontroli wersji opanowały systemy rozproszone, z Gitem na czele. Czemu zdobyły taką popularność? Dzięki zastosowaniu Gita każdy programista dysponuje swoją lokalną, kompletną kopią całego repozytorium. Pozwala to na błyskawiczne wykonywanie typowych zadań i korzystanie z możliwości kontroli wersji bez wpływu na repozytoria innych osób. Aż do momentu, gdy stwierdzisz, że chcesz podzielić się efektami pracy z innymi. Brzmi interesująco? Jeśli chciałbyś zgłębić system Git, trafiłeś na doskonałą książkę. Dzięki jej niewielkim rozmiarom możesz mieć ją zawsze przy sobie. Zmiana SVN na Git oprócz poznania nowych pojęć wymaga zmiany sposobu myślenia. Ten leksykon pozwoli Ci w każdej chwili sprawdzić, jak stworzyć nowe repozytorium czy gałąź oraz jak wprowadzić zmiany i przesłać je na centralny serwer. Ponadto dowiesz się, jak śledzić zdalne repozytoria, przeglądać historię zmian i scalać wersje. To doskonała lektura dla wszystkich osób chcących błyskawicznie poznać możliwości Gita i zacząć stosować go w codziennej pracy. Dzięki tej książce: poznasz filozofię pracy z Gitem stworzysz repozytorium i zaczniesz z niego korzystać nauczysz się pracować z gałęziami kodu biegle opanujesz system Git Poznaj rozproszony system kontroli wersji!
Jacek Drąg
Kontroluj rozwój Twojego oprogramowania Git to aktualnie najpopularniejszy na świecie system kontroli wersji. Dzięki niemu możliwe jest śledzenie modyfikacji w kodzie źródłowym i łączenie zmian w plikach dokonanych przez różne osoby w różnym czasie. Git oferuje wiele możliwości, jest bardzo elastyczny i nie narzuca sposobu, w jaki należy w nim pracować. Można to robić na przykład przy użyciu programów graficznych, które znacznie ułatwiają realizację niektórych celów, szczególnie w zakresie przeglądania historii pracy nad kodem czy rozwiązywania konfliktów. Ta książka koncentruje się głównie na rozwijaniu repozytorium kodu, czyli tworzeniu grafu commitów zawierających poszczególne wersje. Do realizacji tego zadania idealnym, bo najpotężniejszym narzędziem jest wiersz poleceń - i właśnie z niego korzystamy w poradniku. Druga kwestia, którą się zajmujemy, to próba zrozumienia, co Git mówi do nas w trakcie pracy. Tak, mówi, ponieważ gdy zlecimy mu wykonanie jakiejś komendy, Git najprawdopodobniej nie tylko ją wykona, ale także skomentuje stan obecny, co nieco podpowie, zwróci uwagę, jeśli coś się nie uda, i wskaże sposób, jak to poprawić. Uruchom Gita, otwórz książkę i poznaj: Koncepcje (byty, abstrakcje), którymi posługuje się Git Polecenia wysokiego poziomu wraz z najczęstszymi przypadkami ich użycia Sposoby pracy w środowisku lokalnym i rozproszonym
Git. Rozproszony system kontroli wersji
Włodzimierz Gajda
Git - oszczędź sobie kłopotów z synchronizacją projektu! Praca nad niemal każdym projektem informatycznym wymaga współdziałania wielu osób, często pracujących z dala od siebie. W takich warunkach bardzo łatwo popełnić błąd, nadpisać jakiś ważny plik albo przypadkowo zdublować dane. Mały projekt po takiej wpadce da się jeszcze uratować, ale większy… można wyrzucić do kosza. Chyba że od momentu jego inicjalizacji używamy narzędzia odpowiedzialnego za właściwą synchronizację danych, czyli systemu kontroli wersji, co jest standardem we współczesnej informatyce. Jednym z takich programów jest git, napisany na potrzeby zarządzania kodem źródłowym jądra systemu Linux - taka rekomendacja mówi sama za siebie. Możliwości programu git i sposoby jego praktycznego zastosowania w różnych projektach przedstawione zostały w tej książce. Znajdziesz tu podstawowe informacje o instalacji środowiska i tworzeniu repozytoriów, pracy z plikami, identyfikowaniu rewizji i zmienianiu historii projektu. Dowiesz się, kiedy i jak tworzyć czy łączyć gałęzie oraz całe repozytoria, korzystać z repozytorium lokalnego i zdalnego, a także synchronizować je w odpowiedni sposób. Poznasz możliwe konflikty między wersjami pliku i nauczysz się radzić sobie z nimi. Zrozumiesz, jak wykorzystywać najbardziej znane serwery hostingowe dla projektów git oraz dostępne w nich, wbudowane systemy śledzenia błędów. I wreszcie przestaniesz miewać koszmary, w których tracisz tygodnie na odszukanie zagubionego pliku. Git zrobi to za Ciebie! Instalacja programu git, tworzenie repozytoriów i obszar roboczy Tworzenie rewizji i przywracanie stanu plików Stany plików, ignorowanie plików i znaczniki Identyfikowanie rewizji, skróty komend Modyfikowanie historii projektu oraz tworzenie i usuwanie gałęzi Łączenie gałęzi: operacja merge i operacja rebase Powiązanie repozytorium lokalnego i zdalnego oraz podstawy synchronizacji repozytoriów Praktyczne wykorzystanie git i łączenie oddzielnych repozytoriów Treść pliku: konflikty, badanie różnic, pliki tekstowe i binarne Serwisy github.com i bitbucket.org Praca grupowa w serwisach github.com oraz bitbucket.org i zintegrowany system śledzenia błędów Wypróbuj git - wystarczająco dobry nawet dla jądra Linuksa!
Peter Bell, Brent Beer
Poznaj możliwości Gita i GitHuba! Git zrewolucjonizował świat systemów kontroli wersji. Koncepcja rozproszonego systemu podbiła serca programistów i ustanowiła trendy na kolejna lata. Co powstało z połączenia Gita i serwisu udostępniającego miejsce oraz narzędzia dla programistów korzystających z Gita? To GitHub — najpopularniejsze miejsce w sieci, w którym znajdziesz tysiące projektów. GitHub wytycza dziś ścieżki dla platform ułatwiających pracę z rozproszonymi systemami kontroli wersji. Ta książka została w całości poświęcona właśnie GitHubowi. Sięgnij po nią i przekonaj się, jakie usługi oferuje ten serwis oraz jak wykorzystać jego potencjał w Twoim projekcie. W trakcie lektury dowiesz się, jak przeglądać udostępniony kod, współpracować przy projektach oraz dostarczać poprawki. Ponadto nauczysz się zarządzać zgłoszonymi przez użytkowników problemami w Twoim kodzie oraz opanujesz najlepsze praktyki konfigurowania Twojego repozytorium. Na sam koniec poznasz narzędzia przeznaczone dla systemów MacOS i Windows, a służące do współpracy z serwisem GitHub. Książka ta jest obowiązkową lekturą dla wszystkich czytelników chcących w pełni wykorzystać potencjał drzemiący w tym serwisie. Dowiedz się jak i dlaczego ludzie używają GitHuba do współpracy. Przeglądaj bieżący stan projektu — najnowsze zmiany, prace do wykonania i historię poprawek. Twórz i edytuj pliki w GitHubie bez znajomości systemu Git. Sugeruj zmiany w projektach, w których nie masz uprawnień do bezpośredniego wprowadzania poprawek. Używaj narzędzi do obsługi problemów i zgłoszeń, twórz gałęzie w celu definiowania nowych funkcji i wspólnej pracy nad zmianami. Twórz nowe repozytoria GitHuba, z uwzględnieniem praw dostępu do swojego projektu Zaawansowany system kontroli wersji dla każdego!
Maxim Lapan
Głębokie uczenie przez wzmacnianie rozwija się bardzo dynamicznie. Dziedzinę tę charakteryzuje niewyczerpany potencjał rozwiązywania trudnych problemów. Zajmuje się tym co najmniej kilka grup badawczych, koncentrujących się na wdrażaniu głębokiego uczenia przez wzmacnianie w różnych branżach. Niestety, opisy najnowszych osiągnięć są trudne do zrozumienia i zbyt abstrakcyjne, aby można było je łatwo zastosować w praktycznych implementacjach, a przecież poprawne działanie aplikacji jest uwarunkowane gruntownym zrozumieniem problemu przez projektanta. To zaktualizowane i rozszerzone wydanie bestsellerowego przewodnika po najnowszych narzędziach i metodach związanych z uczeniem przez wzmacnianie. Zawiera wprowadzenie do teorii uczenia przez wzmacnianie, a także wyjaśnia praktyczne sposoby kodowania samouczących się agentów w celu rozwiązywania praktycznych zadań. W tym wydaniu dodano sześć nowych rozdziałów poświęconych takim osiągnięciom technologii jak dyskretna optymalizacja, metody wieloagentowe, środowisko Microsoft TextWorld czy zaawansowane techniki eksploracji. Opisano również inne zagadnienia, między innymi głębokie sieci Q, gradienty polityk, sterowanie ciągłe i wysoce skalowalne metody bezgradientowe. Poszczególne kwestie zostały zilustrowane kodem wraz z opisem szczegółów implementacji. W książce między innymi: związki między uczeniem przez wzmacnianie a głębokim uczeniem różne metody uczenia przez wzmacnianie, w tym entropia krzyżowa, sieć DQN, a także algorytmy: aktor-krytyk, TRPO, PPO, DDPG, D4PG i inne praktyczne zastosowanie dyskretnej optymalizacji w celu rozwiązania problemu kostki Rubika trenowanie agentów przy użyciu oprogramowania AlphaGo Zero chatboty oparte na sztucznej inteligencji zaawansowane techniki eksploracyjne, w tym metody destylacji sieci Witaj, świecie prawdziwej sztucznej inteligencji!
Głębokie uczenie. Wprowadzenie
Jacek Tabor, Marek Śmieja, Łukasz Struski, Przemysław...
Opanuj podstawy uczenia maszynowego Od mniej więcej piętnastu lat jesteśmy świadkami rewolucji w nauczaniu maszynowym na niesamowitą skalę. Rewolucji tej sprzyja intensywny rozwój głębokich sieci neuronowych oraz niezbędnego do tego sprzętu obliczeniowego, takiego jak karty graficzne. "Deep learning", "machine learning" - te słowa klucze rozpalają wyobraźnię programistów, innowatorów i przedstawicieli przemysłu na całym świecie. Także studentów kierunków politechnicznych. Na świecie wydaje się sporo literatury poświęconej tym zagadnieniom, w Polsce niestety mamy pod tym względem deficyt. Niniejszy podręcznik, pomyślany jako wprowadzenie do tematu uczenia głębokiego, ma z założenia uzupełnić tę lukę. W związku z tym opracowany został w sposób umożliwiający zrozumienie zawartych w nim treści także osobom, które nie zetknęły się dotąd nawet z klasycznymi metodami nauczania maszynowego. Stąd sporo miejsca autorzy poświęcają podstawowym konceptom klastrowania, klasyfikacji oraz regresji. Druga połowa książki przybliża głębokie odpowiedniki modeli klasycznych - z naciskiem na objaśnienie podstawowych pojęć i ich intuicji. Ponieważ dla pełnego zrozumienia modeli niezbędne jest ich zaimplementowanie, integralną część książki stanowi kod, dostępny dla czytelnika na platformie GITHUB.
Głębokie uczenie z TensorFlow. Od regresji liniowej po uczenie przez wzmacnianie
Bharath Ramsundar, Reza Bosagh Zadeh
Uczenie maszynowe jest coraz powszechniejsze. Niemal każdego dnia stykamy się z tego rodzaju oprogramowaniem, a możliwości tworzonych systemów stale rosną. Zdobycie praktycznych umiejętności w zakresie budowy i treningu sieci neuronowych staje się dla profesjonalnych programistów koniecznością. Spośród wielu narzędzi służących do tworzenia systemów uczenia maszynowego warto zwrócić uwagę na TensorFlow - nową biblioteką udostępnioną przez Google, przeznaczoną do projektowania i wdrażania zaawansowanych architektur uczenia głębokiego. Bez wątpienia jest to narzędzie, które pozwala na wykonywanie zadań znacznie wykraczających poza standardowy zakres uczenia maszynowego. Ta książka jest przeznaczona dla praktyków, przede wszystkim programistów, architektów i naukowców, którzy chcą się nauczyć projektowania systemów uczących. Podstawowe pojęcia dotyczące uczenia maszynowego wyjaśniono tu poprzez praktyczne przykłady. Przedstawiono możliwości TensorFlow jako systemu do przeprowadzania obliczeń na tensorach. Omówiono zastosowania tej biblioteki w wielu bardzo różnych dziedzinach: do budowy systemów służących do rozpoznawania obrazów, rozumienia tekstu napisanego ręcznie przez człowieka czy przewidywania właściwości potencjalnych leków. Dzięki tej książce można bez trudu zrozumieć matematyczne podstawy systemów uczenia maszynowego, a następnie wykorzystać je podczas tworzenia profesjonalnych sieci neuronowych. W tej książce między innymi: podstawy uczenia maszynowego i rozpoczęcie pracy z TensorFlow budowa prototypów i modeli z optymalizacją hiperparametrów przetwarzanie obrazów w splotowych sieciach neuronowych obsługa zbiorów danych języka naturalnego trenowanie sieci za pomocą procesorów graficznych i procesorów tensorowych TensorFlow: trenuj sieć profesjonalnie!