Wydawca: Helion
Od początku swojej działalności wydawnictwo Helion wspiera rozwój specjalistów z szeroko pojętej branży IT. To doskonała baza wiedzy dla osób, które chcą poznać tajniki informatyki, programowania, sztucznej inteligencji, cyberbezpieczeństwa czy grafiki komputerowej i innych umiejętności związanych z nowoczesnymi technologiami.
Helion oferuje szeroki wybór książek oraz ebooków z różnych dziedzin informatyki, zawsze aktualnych i zgodnych z najnowszymi trendami technologicznymi.
Programista poszukiwany. Znajdź i zatrudnij najlepszego!
Joel Spolsky
Pracownicy Twoich marzeń Naucz się stosować praktyczne kryteria porządkowania zgłoszeń od kandydatów Poznaj podręczną instrukcję prowadzenia rozmów kwalifikacyjnych Dowiedz się, jak poprawiać niedoskonałe zespoły Joel Spolsky to prawdziwy geniusz. Sprawnie porusza się w świecie technologii i marketingu (oraz na polach wspólnych dla obu tych obszarów), których my wciąż musimy się uczyć. Seth Godin, autor książki Dołek Joel Spolsky to jeden z najbardziej rozważnych autorów piszących na temat wytwarzania oprogramowania. Z jego przemyśleniami na temat zatrudniania pracowników powinien zapoznać się każdy, kto planuje rekrutację programistów. Jessica Livingston, partner w firmie Y Combinator i autorka książki Founders at Work Jak zaoszczędzić na programistach? Menedżerowie, przedsiębiorcy i szefowie działów kadr wciąż toczą wewnętrzną walkę, czy zatrudnić świetnego, choć kosztownego programistę, czy przyoszczędzić i wybrać kogoś przeciętnego. Ci, którzy wybierają opcję numer 2, szybko przekonują się, że oszczędzanie na programistach skutkuje oprogramowaniem kiepskiej jakości, a co za tym idzie, korzyści są iluzoryczne. Po co komu dobry programista? Największym problemem związanym z zatrudnianiem wielu przeciętnych programistów w miejsce kilku naprawdę dobrych jest to, że niezależnie od czasu poświęconego na realizację zadań przeciętni programiści nigdy nie stworzą kodu, którego jakość będzie choćby zbliżona do jakości kodu najlepszych programistów. Pięciu Salierich nigdy nie stworzy dzieła na poziomie Requiem Mozarta, nawet gdyby pracowali nad nim sto lat. Po co komu dobry produkt? Nie możemy pozwolić sobie na to, by konkurencja nas prześcignęła, czy na tworzenie produktów zaledwie wystarczająco dobrych. Nasze dzieła muszą być niesamowite, by przyciągały uwagę potencjalnych użytkowników. Największym prezentem, który możemy otrzymać od naprawdę utalentowanych programistów, jest właśnie nadzieja na stworzenie czegoś zauważalnego. Dlaczego trzeba przeczytać tę książkę? Proces zatrudniania największych talentów technicznych jest jak zupełnie pozbawiony elementów zabawy tor przeszkód. Każdy, kto kiedykolwiek zastanawiał się, na co zwracać uwagę podczas przeglądania aplikacji, kto bił się z myślami po zakończeniu rozmowy kwalifikacyjnej lub kto nie może pojąć, dlaczego tak trudno znaleźć doskonałych programistów, powinien rzucić wszystko i przeczytać tę książkę. Jak to się robi w profesjonalnych firmach? Jak stale przyciągać doskonałych programistów poprzez organizowanie praktyk? Jak przygotować miejsce pracy, w którym będą chcieli spędzać czas najlepsi programiści? Jak czytać aplikacje i prowadzić rozmowy kwalifikacyjne z kandydatami na pracowników technicznych? Jak decydować, któremu z kandydatów złożyć ostateczną ofertę? DODATEK SPECJALNY: Test Joela: 12 kroków ku lepszemu oprogramowaniu.
Programista. Przewodnik po zawodzie
Arkadiusz Kałkus
Kariera kodera Na listach najlepiej opłacanych zawodów koder, developer, programista zawsze plasują się wysoko. Specjaliści do spraw administrowania sieciami komputerowymi, frontend i backend developerzy, analitycy systemów i architekci oprogramowania są stale poszukiwani. A ponieważ głodny nowoczesnych technologii rynek tak bardzo ich pożąda, oferuje programistom warunki płacy i pracy, o jakich przedstawiciele wielu innych zawodów mogą tylko pomarzyć. Zarobki grubo powyżej średniej krajowej? Tak! Praca zdalna z dowolnego miejsca na świecie? Bardzo często! Duża samodzielność? Jasne! W dodatku, jeśli wolisz, jako programista możesz założyć firmę i działać w stu procentach na własnych zasadach. Brzmi jak bajka? Oczywiście. I jest to bajka, której bohaterem możesz się stać, jeśli ukończysz odpowiednie studia i nabierzesz wprawy jako stażysta, a potem junior w firmach z branży IT. Nim jednak zdecydujesz o wyborze zawodu programisty, upewnij się, że właśnie TO chcesz robić w życiu: Przekonaj się, na czym tak naprawdę polega programowanie Poznaj ramowy plan dnia programisty Zorientuj się, z kim na co dzień współpracuje developer Dowiedz się, w jaki sposób organizuje się projekty w branży IT Zajrzyj w przyszłość i sprawdź, co czeka developerów w nadchodzących latach
Programiści i tłumacze. Wprowadzenie do lokalizacji oprogramowania
Agenor Hofmann-Delbor, Marta Bartnicka
Prawie wszystkie interfejsy cyfrowej wieży Babel! Status quo, czyli dlaczego warto tłumaczyć oprogramowanie Procesy tłumaczeniowe i inne koła zębate Skomplikowane związki, czyli tester i programista O graniu i naprawianiu, czyli kilka problemów i ich proponowane rozwiązania Dawno, dawno temu, w czasach, gdy na świecie pojawiały się nieśmiało pierwsze komputery osobiste, nikt nie przejmował się zbytnio kwestią tłumaczenia oprogramowania na lokalne języki. Bez znajomości choćby paru słów po angielsku Twoje szanse na uruchomienie gry czy sformatowanie dokumentu były w zasadzie zerowe. Od tamtych czasów przebyliśmy jednak długą drogę i dziś nikt nie kupi oprogramowania, które nie jest dostępne w lokalnej wersji językowej, a nawet więcej: w wersji dostosowanej do lokalnej kultury i zwyczajów związanych z korzystaniem z konkretnych produktów. To dlatego dobra współpraca tłumacza i programisty jest dziś na wagę złota. Niestety, ten tandem często ma wyraźny problem z wzajemnym zrozumieniem. W tej książce znajdziesz mnóstwo praktycznych, a także zabawnych przykładów sytuacji, w których potrzeby tłumacza i programisty kompletnie się rozmijają. Zobaczysz, skąd biorą się problemy, gdzie najczęściej się pojawiają i jak zapobiegać ich powstawaniu. Jeśli jesteś programistą, być może przestaniesz alfabetycznie sortować teksty w pliku do tłumaczenia i jasno określisz płeć postaci w Twojej grze, a jeśli tłumaczem, może uda Ci się rozpoznać to, co należy zostawić w oryginale, i nie zmienisz pomocy technicznej programu w zbiór ezoterycznych, poetyckich tekstów. Nie zastąpi to praktyki i codziennych interakcji zawodowych, ale może ułatwić przyjrzenie się problemom z innej perspektywy. I z pewnością przyczyni się do podniesienia jakości nowej wersji oprogramowania. Klienci to docenią! Lokalizacja oprogramowania to klucz do serca i portfela klienta!
Programowalność i automatyzacja sieci. Poradnik inżyniera sieci następnej generacji
Jason Edelman, Scott S. Lowe, Matt Oswalt
Programowalna i zautomatyzowana sieć upraszcza pracę jej administratora. Rozwój technologii radykalnie komplikuje takie zadania jak zarządzanie i operowanie sprzętem sieciowym, topologiami sieci i połączeniami sieciowymi. Trzeba tu mieć na uwadze systemy operacyjne, nowe metodologie oraz narzędzia. W takich warunkach zarządzanie większą czy nieco bardziej złożoną siecią wyłącznie za pomocą działań manualnych jest obarczone sporym ryzykiem. Profesjonalny inżynier sieciowy musi dziś dobrze orientować się w świecie programowalności i automatyzacji sieci. Powinien poznawać nowe protokoły, technologie, modele dostarczania i pojawiające się w związku z nimi potrzeby biznesowe. W tej książce znajdziesz solidne podstawy pozwalające zapewnić sieci programowalność i zautomatyzowanie jej pracy. Dowiesz się, jakie narzędzia i umiejętności będą potrzebne do dokonania tego kluczowego przekształcenia w sieć nowej generacji. W bardzo przystępny i praktyczny sposób wyjaśniono, jak korzystać z takich technologii jak Linux, Python, JSON i XML, aby programowo zautomatyzować pracę systemu. Opisano koncept modeli danych, podstawy języka YANG oraz najważniejsze technologie związane z API. Sporo miejsca poświęcono narzędziom open source służącym do automatyzacji pracy sieci. Znalazły się tu również informacje o interfejsach macvlan, sieciach wykorzystujących maszyny wirtualne, sieciowych przestrzeniach nazw oraz o bibliotece Pythona NAPALM i jej integracji z narzędziami: Ansible, Salt i StackStorm. W książce między innymi: powstanie sieci sterowanych programowo technologie automatyzacji sieci Linux i Python a technologie sieciowe praca z szablonami konfiguracji sieciowej kontrola źródła w pracy z niektórymi serwisami online prosty przepływ pracy w automatyzacji sieci Sieć zautomatyzowana i programowalna - najlepszy przyjaciel admina!
Programowanie aplikacji dla urządzeń mobilnych z systemem Windows Mobile
Jacek Matulewski, Bartosz Turowski
Zaprojektuj nowe aplikacje dla urządzeń mobilnych Środowisko Visual Studio i szkic projektu Wykorzystanie języka C# i platformy .NET Compact Zastosowanie grafiki trójwymiarowej z mobilnym Direct3D Urządzenia przenośne, począwszy od telefonów komórkowych, a skończywszy na GPS-ach i kieszonkowych odtwarzaczach wideo, są dziś niezwykle popularne. Wiele z nich łączy w sobie tak przeróżne funkcje, że można je nazwać minikomputerami. Nic dziwnego, że pracują pod kontrolą uniwersalnego systemu operacyjnego, zdolnego obsłużyć wiele różnych aplikacji, który bez kłopotu można przenieść z jednego urządzenia na drugie. Podobna kompatybilność samych aplikacji gwarantuje możliwość ich wielokrotnego wykorzystania w różnych typach urządzeń, a użytkownikom zapewnia komfort błyskawicznego opanowania obsługi nowego telefonu czy aparatu fotograficznego. W książce "Programowanie aplikacji dla urządzeń mobilnych i systemu Windows Mobile " omówione zostało projektowanie aplikacji napisanych w języku C# dla urządzeń działających pod kontrolą systemu Windows Mobile. Znajdziesz tu wszystkie aspekty pracy nad takim programem: począwszy od warunków środowiska programistycznego i uruchomieniowego, przez pisanie i testowanie kodu (z wyszczególnieniem elementów właściwych aplikacjom projektowanym dla platformy .NET Compact), aż po przechowywanie danych w plikach XML czy bazie SQL Server Compact. Dowiesz się także nieco więcej o wykorzystywaniu w urządzeniach przenośnych grafiki 3D. Środowisko programistyczne Visual Studio i emulatory Tworzenie, zapisywanie i wczytywanie projektu Uruchomienie aplikacji na rzeczywistym urządzeniu Język C# i praktyka projektowania aplikacji dla platformy .NET Compact Projektowanie kontrolek i kontrolki charakterystyczne dla platformy .NET Compact Studium przypadku — gra Reversi Obsługa podstawowych funkcji telefonu i programu Outlook Detekcja stanu urządzenia przenośnego i dodatkowe funkcje urządzeń przenośnych Przechowywanie danych w SQL Server Compact i plikach XML Grafika trójwymiarowa z mobilnym Direct3D Instalacja Windows Mobile 6 Professional SDK Zagwarantuj uniwersalność swoich aplikacji — buduj je dla systemu Windows Mobile
Programowanie aplikacji na iPhone 4. Poznaj platformę iOS SDK3 od podstaw
David Mark, Jack Nutting, Jeff LaMarche
Rewolucyjne urządzenia - nowatorskie oprogramowanie! Jak przygotować środowisko pracy? Jak zaprojektować atrakcyjny interfejs użytkownika? Jak wykorzystać potencjał ekranów dotykowych i gestów? iPhone, iPad, iPod Touch - kto nie zna tych urządzeń? Zmieniły one sposób, w jaki korzystamy z telefonii komórkowej, internetu, oraz to, jak słuchamy muzyki. Perfekcyjny interfejs użytkownika oraz nowoczesny, choć elegancki design sprawiły, że urządzenia te podbiły serca ludzi w każdym wieku. Używają ich nastolatkowie oraz stateczni biznesmeni. Dzięki tej popularności ich użytkownicy są łakomym kąskiem dla producentów oprogramowania. Udostępniając atrakcyjną aplikację, błyskawicznie możesz zyskać dziesiątki tysięcy potencjalnych klientów. Na aplikacjach na te urządzenia naprawdę można zarobić konkretne pieniądze! Dzięki tej książce błyskawicznie opanujesz niuanse tworzenia oprogramowania dla systemu iOS. Na początek poznasz jego charakterystyczne cechy oraz skonfigurujesz swoje środowisko pracy. Jesteś gotowy do nauki? Zaczynamy. Obsługa interakcji, projektowanie interfejsu użytkownika, obsługa wirtualnej klawiatury to tylko niektóre z elementów, które opanujesz na wstępie. Potem z każdym rozdziałem jest coraz ciekawiej! Nauczysz się zarządzać pamięcią, przechowywać dane użytkownika oraz tworzyć zaawansowane obiekty graficzne za pomocą bibliotek Quartz i OpenGL. Ponadto dowiesz się, jak maksymalnie wykorzystać potencjał ekranów dotykowych, usług geolokalizacyjnych oraz czujników położenia i przyśpieszenia. Na sam koniec zobaczysz, jak tworzyć aplikacje obsługujące wiele języków, tak żeby Twoje dzieło mogło zdobyć popularność na rynku międzynarodowym. Książka ta jest idealną i wymarzoną pozycją dla wszystkich osób tworzących rozwiązania dla platformy spod znaku ugryzionego jabłka. Sprawdzi się ona również wyśmienicie w rękach nowicjusza, dla którego będzie stanowiła przewodnik programisty po systemie iOS. Cechy charakterystyczne platformy iOS Obsługa interakcji Akcje Uruchamianie aplikacji Projektowanie i tworzenie interfejsu użytkownika Automatyczna rotacja i zmiana rozmiaru interfejsu Korzystanie z wielu widoków Wykorzystanie paska zakładek Obsługiwane czcionki Zastosowanie TableView Nawigacja w tabelach Ustawienia aplikacji i użytkownika Przechowywanie danych Technologia Grand Central Dispatch Cykl życia aplikacji Quartz i OpenGL - rysowanie na ekranie Obsługa ekranów dotykowych i gestów Usługi geolokalizacyjne Wykorzystanie informacji z żyroskopu i akcelerometru Korzystanie z aparatu Tworzenie aplikacji wielojęzycznych Kompendium wiedzy na temat tworzenia oprogramowania dla iOS-a!
Programowanie aplikacji na serwisy społecznościowe
Jonathan LeBlanc
Jedyny podręcznik o platformie OpenSocial! Serwisy społecznościowe w zasadzie z dnia na dzień opanowały Internet. Mówią o nich wszyscy i korzystają z nich wszyscy! Przez krótki okres używały ich tylko osoby prywatne, jednak błyskawicznie ich potencjał dostrzegły także firmy. Jest to dla nich najprawdopodobniej najlepszy kanał komunikacji z klientami. Dlatego podczas tworzenia nowych rozwiązań czy nowych serwisów warto rozważyć integrację z popularnymi serwisami społecznościowymi oraz wprowadzenie własnych elementów tego typu. To zadanie ma ułatwić platforma OpenSocial, na której koncentruje się ta książka. Dowiesz się stąd, jak tworzyć niezależne aplikacje dla istniejących serwisów, jak budować grafy powiązań społecznościowych oraz tworzyć produkty spełniające oczekiwania samego autora jako użytkownika usług społecznościowych. W trakcie lektury nauczysz się odwzorowywać relacje pomiędzy użytkownikami oraz dostosowywać dostarczane im treści na podstawie danych zawartych w ich profilach. Ponadto zdobędziesz solidną dawkę wiedzy na temat bezpieczeństwa oraz najlepszych technik autoryzacji użytkowników na platformie OpenSocial. Sprawdzisz, jak przenieść aplikację napisaną dla Facebooka na platformę OpenSocial, oraz poznasz niuanse konfigurowania środowiska produkcyjnego. Książka ta jest wyjątkową pozycją na rynku, poświęconą platformie OpenSocial. Wykorzystaj jej potencjał i stwórz nowatorskie oprogramowanie! Poznaj możliwości platformy OpenSocial! Skonfiguruj środowisko produkcyjne Odwzoruj relacje pomiędzy użytkownikami Stwórz interesujące gadżety Skorzystaj z zaawansowanych mechanizmów identyfikacji Przenieś aplikację z serwisu Facebook na platformę OpenSocial Postaw na otwarte standardy!
Programowanie dla najmłodszych. W ruchu, z tabletem, przez zabawę
Urszula Wiejak
Przyszli inżynierowie i programiści na start! Programowanie to wspaniała, pełna przygód zabawa. Ty i Twoje dziecko możecie się o tym przekonać dzięki tej wyjątkowej książce. Została opracowana na bazie kilkuletnich doświadczeń zgromadzonych przez Akademię Komputerową Komputrilo podczas przedszkolnych warsztatów programowania. Książka jest przeznaczona dla dzieci w wieku 5 lat, ale znakomicie nadaje się również dla dzieci starszych, rozpoczynających przygodę informatyczną. Szczególny nacisk położono na przedstawienie trudnych zagadnień w sposób przystępny dla każdego dziecka oraz na naukę przez zabawę i w ruchu. Proste, interesujące aplikacje Efektywna nauka z tabletem Wskazówki dla rodziców Zagadnienia przydatne do zrozumienia różnych języków programowania Rozwój myślenia analitycznego oraz kompetencji cyfrowych Elementy matematyki Nawiązania do podstawy programowej zajęć komputerowych i informatyki Rozwiązanie każdego zadania Naukę programowania warto zacząć już w przedszkolu!
Programowanie dla początkujących w 24 godziny. Wydanie IV
Greg Perry, Dean Miller
Warto nauczyć się programowania! Poza stworzeniem sobie możliwości znalezienia ciekawej i dobrze płatnej pracy czy pasjonującego hobby umiejętność programowania bywa niezwykle przydatna w rozwiązywaniu różnych problemów. Paleta języków programowania i narzędzi programistycznych jest niezwykle szeroka i praktycznie każdy znajdzie coś dla siebie. Zanim to jednak nastąpi, trzeba zdobyć trochę wiedzy i umiejętności. Ale bez obaw! W nauce programowania najtrudniejszy bywa pierwszy krok, jednak ta książka sprawi, że wykonasz go bez trudu i dumnie wkroczysz w świat kodowania! To kolejne wydanie lubianego samouczka, dzięki któremu w ramach 24 godzinnych lekcji przyswoisz solidne podstawy programowania. Zrozumiesz, jak działają programy, i nauczysz się reguł stosowanych przez profesjonalistów przy ich projektowaniu. Dowiesz się, jak wygląda świat programistów i na czym dokładnie polega programowanie w korporacjach. Znajdziesz tutaj także wprowadzenie do kilku najpopularniejszych języków programowania, co pozwoli na ich porównanie i ułatwi wybór języka do dalszej nauki. Każdy z 24 rozdziałów zawiera materiał, który można opanować w ciągu godziny. Naukę ułatwiają instrukcje krok po kroku, quizy, ćwiczenia i praktyczne przykłady. Dzięki tej książce zdobędziesz najlepsze podstawy, aby stać się dobrym programistą. Przygotujesz się też do świadomego kształtowania swojej dalszej ścieżki zawodowej! W książce między innymi: przygotowanie narzędzi do pracy - sprzęt i oprogramowanie podstawowe aspekty programowania i projektowania programów algorytmy, interaktywność, zmienne, funkcje debugowanie kodu programowanie obiektowe i korzystanie z baz danych planowanie kariery programisty Zacznij programować. Najlepiej od razu!
Programowanie funkcyjne. Krok po kroku
Joshua Backfield
Zmień swoje podejście do programowania! Języki funkcyjne zdobywają wśród programistów coraz większą popularność. Jak bezboleśnie zmienić sposób myślenia na funkcyjny? Ułatwi Ci to niniejsza książka, w całości poświęcona temu podejściu do programowania. Poznaj podstawy teoretyczne programowania funkcyjnego, a następnie zacznij zgłębiać tajniki typów funkcyjnych, rekurencji oraz zmiennych niepodlegających modyfikacji. Z kolejnych rozdziałów dowiedz się, czym są ewaluacja rygorystyczna i nierygorystyczna. Zobacz też, jak wykonać dopasowanie do wzorca. Co jeszcze znajdziesz w tej książce? Wprowadzenie do języka Scala, przedstawienie języka Groovy oraz opis technik funkcyjnego programowania obiektowego to tylko niektóre z poruszanych w niej tematów. Jeżeli chcesz zmienić sposób programowania na funkcyjny, to doskonała pozycja dla Ciebie! Dowiesz się, czemu obecne sprawnie działające aplikacje lepiej funkcjonują z kodem funkcyjnym. Przejdziesz od wzorców stylu imperatywnego do kodu funkcyjnego w kilku podstawowych krokach. Przyspieszysz z językami Groovy i Scala dzięki przykładom. Zrozumiesz, w jaki sposób typy funkcyjne są przekazywane do innych funkcji i zwracane z nich. Przekonwertujesz istniejące metody na funkcje czyste, a pętle na metody rekurencyjne. Przejdziesz od zmiennych mutowalnych do niemutowalnych. Uzyskasz praktyczne doświadczenie w zakresie stosowania instrukcji oraz ewaluacji nierygorystycznej. Będziesz stosował programowanie funkcyjne z elementami programowania obiektowego. Przekonaj się, jak podejście funkcyjne może ułatwić Ci życie!
Programowanie funkcyjne w języku C++. Tworzenie lepszych aplikacji
Ivan Čukić
Programowanie jest sztuką, dzięki której możesz stworzyć coś z niczego, przy czym tylko od Ciebie zależy, jak doskonałe będzie to dzieło. Dobrze napisany kod jest wydajny, łatwy w testowaniu, można go używać ponownie i wykazuje mniejszą podatność na błędy. Jednym słowem, taki kod powinien możliwie prosto wyrażać złożoną logikę programu, bezproblemowo obsługiwać błędy i przejrzyście implementować współbieżność. Te wymagania pozwoli Ci spełnić funkcyjny styl programowania. Język C++ umożliwia programowanie funkcyjne dzięki szablonom, wyrażeniom lambda i innym ważnym opcjom. Pomocne też będzie korzystanie z biblioteki STL. Ta książka jest przeznaczona dla profesjonalnych programistów C++, którzy chcą opanować funkcyjny styl programowania i dzięki temu wykorzystać w nowy sposób potężne zalety tego języka. Po interesującym wprowadzeniu do tej metodologii w książce zamieszczono dziesiątki przykładów, schematów i ilustracji wyjaśniających koncepcje programowania funkcyjnego w C++. Pokazano, jak tworzyć bezpieczniejszy kod bez obniżania wydajności pracy programu, jak stosować obiekty funkcyjne i funkcje stosowane, algebraiczne typy danych oraz wiele innych. Nie zabrakło praktycznych przykładów kodu, który stanowi znakomite uzupełnienie prezentowanych treści. W tej książce między innymi: wprowadzenie do programowania funkcyjnego funkcje w C++ i funkcje wyższego rzędu oraz ich rozwijanie wartościowanie leniwe i wykorzystanie go do optymalizacji korzystanie z funktorów i monad funkcyjny sposób testowania i debugowania kodu Programowanie funkcyjne w C++: twórz najlepsze rozwiązania!
Programowanie funkcyjne w Pythonie. Jak pisać zwięzły, wydajny i ekspresywny kod. Wydanie III
Steven F. Lott
Mimo że Python nie jest typowym językiem programowania funkcyjnego, umożliwia pisanie kodu w sposób właściwy dla tego podejścia. W efekcie można tworzyć zwięzłe i eleganckie programy, które działają szybciej i zużywają mniej zasobów. Jeśli uważasz, że te argumenty uzasadniają zapoznanie się z funkcyjnym podejściem do programowania w Pythonie, to ta książka jest dla Ciebie. Dzięki temu praktycznemu podręcznikowi zrozumiesz, kiedy i dlaczego warto zastosować myślenie funkcyjne, a także jak korzystać z technik funkcyjnych w różnych scenariuszach. Dowiesz się również, jakie narzędzia i biblioteki przeznaczone do tego celu są dostępne w Pythonie i jak używać wyrażeń generatorowych, list składanych i dekoratorów. W tym wydaniu znalazły się nowe rozdziały dotyczące złożonych obiektów bezstanowych, funkcji kombinatorycznych i pakietu toolz, zawierającego zbiór modułów wspomagających pisanie programów funkcyjnych. Umieszczono tu ponadto sporo ciekawych przykładów, dotyczących choćby eksploracyjnej analizy danych i ich czyszczenia. W książce między innymi: najciekawsze biblioteki i wbudowane funkcje wyższego rzędu w Pythonie tworzenie funkcji generatorowych i leniwe wartościowanie implementacja dekoratorów do kompozycji funkcyjnej podpowiedzi typów w Pythonie obsługa współbieżności i implementacja usług sieciowych biblioteka PyMonad i tworzenie symulacji z obsługą stanów Chcesz tworzyć wydajny kod? Naucz się programowania funkcyjnego!
Programowanie funkcyjne z JavaScriptem. Sposoby na lepszy kod
Luis Atencio
Każdy paradygmat programowania zakłada inne podejście do rozwiązywania problemów. Mimo że podejście obiektowe wciąż jest podstawowym modelem projektowania programowania, podejście funkcyjne pozwala na uzyskanie kodu lepszej jakości: modularnego, ekspresywnego, odpornego na błędy, a przy tym zrozumiałego i łatwego w testowaniu. Szczególnie interesujące jest stosowanie w modelu funkcyjnym języka JavaScript. Chociaż jest to język obiektowy, okazuje się, że taki sposób programowania pozwala na uzyskiwanie wyjątkowo efektywnego i elastycznego kodu. Niniejsza książka jest przeznaczona dla programistów, którzy chcą się nauczyć programowania funkcyjnego w JavaScripcie. Przedstawiono tu zarówno teoretyczne aspekty tego paradygmatu, jak i konkretne mechanizmy: funkcje wyższego poziomu, domknięcia, rozwijanie funkcji, kompozycje. Nieco trudniejszymi zagadnieniami, które tu omówiono, są monady i programowanie reaktywne. Ten poradnik pozwala też zrozumieć zasady tworzenia asynchronicznego kodu sterowanego zdarzeniami i w pełni wykorzystać możliwości JavaScriptu. W książce omówiono: techniki programowania funkcyjnego w JavaScripcie stosowanie łańcuchów funkcji oraz korzystanie z rekurencji techniki rozwijania i kompozycji funkcji oraz modularność kodu testowanie aplikacji oparte na właściwościach model pamięci w JavaScripcie zasady programowania reaktywnego i bibliotekę RxJS Programowanie funkcyjne — i kod staje się lepszy! Luis Atencio — jest inżynierem oprogramowania. Zajmuje się tworzeniem architektury aplikacji dla różnych przedsiębiorstw. Tworzy kod w JavaScripcie, Javie i PHP. Jest osobą o dużym talencie do przekazywania wiedzy. Bardzo często dzieli się swoimi doświadczeniami podczas konferencji branżowych. Prowadzi blog na temat inżynierii oprogramowania i pisze artykuły dla rozmaitych magazynów oraz serwisu DZone.
Programowanie obrabiarek sterowanych numerycznie w systemie CAD/CAM CATIA V5
Janusz Pobożniak
Wejdź w świat cyfrowego wytwarzania! System Catia i jego moduły - od czego zacząć naukę programowania obrabiarek sterowanych numerycznie? Cykle tokarskie i frezarskie - jak najszybciej i najwygodniej zaprogramować obróbkę? Procedury wspólne - które zaawansowane procedury programowania na pewno przydadzą się w praktyce? System Catia jest dziś jednym z najlepszych dostępnych na rynku systemów inżynierskich, używanych do komputerowo wspomaganych: projektowania CAD, wykonywania obliczeń inżynierskich CAE oraz wytwarzania CAM. Jego możliwości w zakresie integracji danych, narzędzi, metodologii oraz programowania współbieżnego są wprost niewiarygodne, a ich wykorzystanie pozwala znacząco obniżyć koszty wytwarzania niemal dowolnego elementu czy urządzenia. Jeśli jesteś członkiem zespołu projektowego opracowującego bądź udoskonalającego maszyny, instalacje, podzespoły czy elementy, które muszą spełniać ściśle określone wymagania, system Catia jest właśnie dla Ciebie. Jednak modelowanie geometrii to nie wszystko. Jeśli chcesz wyprodukować przedmiot zaprojektowany w systemie Catia, będziesz potrzebował także informacji, jak zaprogramować różnego typu obrabiarki. Z tej książki dowiesz się, jak wygląda procedura programowania i jak programować obróbkę części obrotowych czy pryzmatycznych. Poznasz szczegóły definiowania cyklów tokarskich i frezarskich oraz możliwości różnych narzędzi wspomagających. Zobaczysz, jak efektywnie symulować obróbkę, analizować poprawność programu, tworzyć bazy narzędzi oraz modele obrabiarek do symulacji czy automatycznie rozpoznawać obrabiane elementy przedmiotu. Niezwykle ułatwi Ci to pracę! Podstawowe informacje o obrabiarkach sterowanych numerycznie CNC i ich programowaniu Procedura programowania obróbki w systemie Catia V5 i środowisko pracy Programowanie obróbki części obrotowych i pryzmatycznych Modele geometryczne używane w czasie programowania Generowanie programu sterującego Programowanie obróbki w wielu zamocowaniach Budowa bazy danych narzędzi Rozpoznawanie cech technologicznych Budowa modeli obrabiarek Obróbka naroży i przejść (tylko dla frezowania) Pracuj (z) głową - wykorzystaj siłę Catii w programowaniu obrabiarek!
Programowanie równoległe i asynchroniczne w C# 5.0
Mateusz Warczak, Jacek Matulewski, Rafał Pawłaszek, Piotr...
Programowanie współbieżne - wykorzystaj w pełni moc procesorów! Opanuj wątki, zadania i TPL Poznaj sprytne rozwiązania z użyciem bibliotek DSS i CCR Wejdź na wyższy poziom z Reactive Extensions i CUDAfy.NET Programowanie współbieżne jest w dzisiejszych czasach absolutnym standardem, jedyną drogą pozwalającą w pełni wykorzystać moc wielordzeniowych procesorów, umieszczanych we współczesnych komputerach. Jednak nadal niewielu programistów potrafi poprawnie i efektywnie korzystać z tej technologii. Czas to zmienić! Jeśli chcesz być naprawdę świetnym programistą C#, tworzącym aplikacje na platformę .NET, a do tej pory nie przestudiowałeś jeszcze porządnie kwestii współbieżności, pora to nadrobić. W tej książce znajdziesz informacje o podstawach tej technologii, takich jak wątki, a także o klasycznych pułapkach związanych z programowaniem współbieżnym. Kolejne rozdziały odkryją przed Tobą tajemnice zadań oraz bibliotek TPL. Poznasz również technologie DSS i CCR oraz dowiesz się co nieco na temat asynchroniczności. Potem przyjdzie kolej na omówienie technologii Reactive Extensions oraz biblioteki CUDAfy.NET, pozwalającej efektywnie wykorzystać karty graficzne do obliczeń niezwiązanych z grafiką. Odkryj zalety programowania równoległego! Dla niecierpliwych: asynchroniczność i pętla równoległa Wątki i zadania Zmienne w aplikacjach wielowątkowych Synchronizacja wątków, zadań i kontrolek interfejsu z zadaniami Wątki i zadania a interfejs użytkownika Dane w programach równoległych Analiza aplikacji wielowątkowych. Debugowanie i profilowanie Wstęp do CCR i DSS Skalowalne rozwiązanie dla systemów rozproszonych na bazie technologii CCR i DSS Wprowadzenie do Reactive Extensions. Zarządzanie sekwencjami zdarzeń Współbieżność w Rx Przykłady użycia technologii Rx w aplikacjach WPF CUDA w .NET Biblioteka TPL w WinRT Dobre praktyki programowania aplikacji wielowątkowych Zostań mistrzem programowania współbieżnego!