Techniki programowania
Swift: Developing iOS Applications. Developing iOS Applications
Jon Hoffman, Andrew J Wagner, Giordano Scalzo
The Swift––Developing iOS Applications course will take you on a journey to become an efficient iOS and OS X developer, with the latest trending topic in town. Right from the basics to the advanced level topics, this course would cover everything in detail. We’ll embark our journey by dividing the learning path into four modules. Each of these modules are a mini course in their own right; and as you complete each one, you’ll gain key skills and be ready for the material in the next module.The first module is like a step-by-step guide to programming in Swift 2. Each topic is separated into compressible sections that are full of practical examples and easy-to-understand explanations. Each section builds on the previous topics, so you can develop a proficient and comprehensive understanding of app development in Swift 2. By the end of this module, you’ll have a basic understanding of Swift 2 and its functionalities.The second module will be the an easy-to-follow guide filled with tutorials to show you how to build real-world apps. The difficulty and complexity level increases chapter by chapter. Each chapter is dedicated to build a new app, beginning from a basic and unstyled app through to a full 3D game. The last two chapters show you how to build a complete client-server e-commerce app right from scratch. By the end of these modules, you’ll be able to build well-designed apps, effectively use AutoLayout, develop videogames, and build server apps.The third and the last module of our course will take an example-based approach where each concept covered is supported by example code to not only give you a good understanding of the concept, but also to demonstrate how to properly implement it.
Alex Blewitt
Swift was considered one of the biggest innovations last year, and certainly with Swift 2 announced at WWDC in 2015, this segment of the developer space will continue to be hot and dominating. This is a fast-paced guide to provide an overview of Swift programming and then walks you through in detail how to write iOS applications. Progress through chapters on custom views, networking, parsing and build a complete application as a Git repository, all by using Swift as the core language
Swift. Swift Essentials: From Core Concepts to Building Real-World iOS Apps
Rheinwerk Publishing, Inc, Kerem Koseoglu
This comprehensive guide to Swift programming covers everything from setting up the development environment to advanced concepts. You will start with the fundamentals like Swift syntax, variables, constants, and functions, followed by deeper topics such as optionals, enumerations, and error handling. The book dives into advanced topics like working with structs, classes, and protocols, providing real-world examples of how to apply these concepts in app development. It also teaches how to master control flow, loops, and conditional statements to write clean, efficient code. You'll learn how to work with Swift's concurrency model, including async functions, tasks, and async streams for parallel execution. Additionally, the book covers Swift's powerful module system, explaining how to structure code with frameworks and packages for better organization and scalability. By the end, you'll have the skills to develop apps using Swift, handle complex programming challenges, and use advanced features like closures, generic functions, and extensions. Whether you're new to programming or experienced with other languages, this book provides everything you need to master Swift and become proficient in iOS app development.
Jon Holt
Systems engineering helps in developing and describing complex systems. Written by an internationally-recognized systems engineering expert, this updated edition provides insight into elements to consider when designing a complex system that is robust and successful.The latest edition covers the new approaches of Model-Based Systems Engineering (MBSE) and its deployment techniques using the Trinity approach. You will learn about the system engineering life cycle and processes to implement. Effective systems can be built only when the system is designed with close attention to detail, meaning each aspect of the system is recognized and understood before the system is built. The book explains in great detail, different system models and visualization techniques, with a focus on SysML, to help you visualize a system in the design phase. You will also learn various verification and validation techniques to ensure your system design is ready to be implemented. The book ends with key management processes, systems engineering best practices, and guidelines, with a new section on effective approaches based on the author’s impressive 30 years of experience in the field.By the end of this systems engineering book, you'll be able to apply modern model-based systems engineering techniques to your own systems and projects.
Systemy reaktywne. Wzorce projektowe i ich stosowanie
Roland Kuhn Dr., Brian Hanafee, Jamie Allen
Systemy reaktywne. Wzorce projektowe i ich stosowanie Uznane duże aplikacje internetowe, takie jak portale społecznościowe, systemy bankowe czy handlowe, działają szybko i niezawodnie. Muszą radzić sobie nawet wtedy, gdy ich niektóre części ulegną awarii. Nie mogą zawieść, gdy będzie z nich korzystać większa liczba użytkowników niż zwykle. Naturalnie, muszą być odporne na różne zagrożenia, a oprócz tego skalowalne i łatwe w rozbudowie. Tym i wielu innym wymaganiom odpowiadają systemy responsywne — które bez względu na okoliczności sprawnie przetwarzają dane wprowadzane przez użytkowników. Pomyślne wdrożenie systemu reaktywnego wymaga jednak nieco innego spojrzenia na tworzenie oprogramowania. Jakie cechy wyrózniają system reaktywny? O tym mówi tzw. Manifest reaktywny i jego podstawowe 4 postulaty: responsywność - system musi reagować na interakcje użytkowników, niezawodność - system musi reagować na awarie i być dostępny non stop, elastyczność - system musi reagować na zmieniające się obciążenie, sterowanie za pomocą komunikatów - system musi reagować na wprowadzane dane. Niniejsza książka jest wyczerpującym wprowadzeniem do implementacji systemów reaktywnych. Opisano tu filozofię programowania reaktywnego, zasady projektowania aplikacji, wzorce projektowe i ich zastosowanie. Szczegółowo wyjaśniono, jakie problemy można rozwiązywać w ten sposób, a podane przykłady opatrzono pełnymi kodami źródłowymi. Bazując na postulatach Manifestu reaktywnego, przedstawiono metodykę budowy architektury modułowej, zasady tworzenia komunikatów, które sterują tą architekturą, opisano też potrzebne narzędzia i sposób ich wykorzystania. Nie zabrakło informacji o dobrych praktykach programowania i testowaniu aplikacji. Na pewno do lektury przyda Ci się znajomość podstawowych zagadnień programistycznych i pewne doświadczenie w pracy z systemami rozproszonymi. Najważniejsze zagadnienia w książce: manifest reaktywny i jego postulaty hierarchia modułów i przepływy danych programowanie funkcyjne i reaktywne obsługa awarii wzorce projektowe i ich stosowanie Systemy reaktywne — odpowiedź na wyzwania naszych czasów! Dr Roland Kuhn jest ekspertem w dziedzinie rozproszonych systemów obliczeniowych. Obronił doktorat w instytucie CERN w Szwajcarii. Później pracował dla Niemieckiej Agencji Kosmicznej. Obecnie tworzy systemy reaktywne. Brian Hanafee jest głównym architektem systemów w Wells Fargo Bank. Wcześniej tworzył nowe produkty dla Oracle i pisał oprogramowanie do systemów wizyjnych montowanych w hełmach pilotów samolotów wojskowych. Jamie Allen jest programistą i architektem oprogramowania. Pracuje jako dyrektor techniczny projektu platformy handlowej UCP w Starbucks. Od 2008 r. tworzy w języku Scala reaktywne aplikacje dla klientów na całym świecie.
Szacowanie oprogramowania Kulisy czarnej magii. Dla praktyków
Steve McConnell
Książka ta nie tylko uczy sztuki szacowania, ale zmienia całkowicie sposób myślenia o tworzeniu oprogramowania. Powinna stać na półce każdego zawodowego programisty. Eric Freeman, współautor książki Head First Design Patterns Dziewięć dziesiątych menedżerów oprogramowania nadal uważa, że szacowanie powinno odbywać się metodą przyjąć to, co podpowiada instynkt i pomnożyć przez trzy. Ta wspaniała książka była od dawna potrzebna i dobrze, że się ukazała. Joel Spolsky, autor joelonsoftware.com Wreszcie jest książka pełna jasnych wskazówek, które mówią, jak programiści i menedżerowie mogą skutecznie dokonywać oszacowania. Scott Berkun, autor książki Art of Project Management Szacowanie oprogramowania, często określane mianem czarnej magii ze względu na swoją złożoność i niepewność, nie jest wcale tak trudne i zagadkowe, jak niektórzy uważają. W rzeczywistości generowanie oszacowania jest naturalne gdy już wiadomo, jak to robić. W tej bardzo oczekiwanej książce, jej ceniony autor Steve McConnell odkrywa tajemnice skutecznego szacowania oprogramowania zamieniając wiedzę naukową i zdobyte doświadczenia w praktyczny przewodnik dla specjalistów od programowania. Zamiast niezrozumiałego traktatu i sztywnych technik modelowania jest to przewodnik oferujący zbiór sprawdzonych procedur, zrozumiałe wzory i metody heurystyczne, które pojedynczy programiści i ich zespoły mogą stosować w swoich projektach w celu poprawy skuteczności szacowania.
Sztuka kodowania. Sekrety wielkich programistów
Peter Seibel
Zajrzyj bezkarnie programiście przez ramię! Czym naprawdę jest programowanie? Jak swoją przygodę rozpoczynali wielcy tej branży? Czy istnieje bezbłędny program? Programiści to tajemnicze osoby, które potrafią zmusić komputery do wykonywania karkołomnych zadań, wymyślanych przez zwykłych użytkowników. Spędzają cały dzień przed komputerem, a ich świat to monitor, klawiatura i hektolitry kawy. Czy to prawda? Na to pytanie odpowiada książka, którą trzymasz w rękach. Dzięki niej spojrzysz na ten zawód z zupełnie innego punktu widzenia. Jej autor przeprowadza wywiady z najbardziej rozpoznawalnymi osobami z tej branży. Mówią one o swoich pierwszych krokach w świecie programowania, opowiadają, jak nauczyły się swojego pierwszego języka oraz jak widzą tę gałąź wiedzy w przyszłości. Czym naprawdę jest programowanie? Rzemiosłem, sztuką, a może nauką? Te pytania stawia autor we wprowadzeniu i ma nadzieję, że wypowiedzi jego gości choć trochę zbliżą go do znalezienia odpowiedzi. Ta unikalna książka pozwoli Ci poznać bliżej wybitne osoby, od lat związane z informatyką. Anegdoty, ciekawe opowieści, wiele przykładów to tylko niektóre z proponowanych przez nią atrakcji. Zagłębiając się w kolejne wypowiedzi, przekonasz się, jak często przypadek decyduje o sukcesie lub porażce. W trakcie lektury będziesz mieć okazję zapoznać się z wypowiedziami takich sław, jak: Jamie Zawinski — wybitny programista Lisp, pracujący przy pierwszych wersjach przeglądarki Netscape Brad Fitzpatrick — najmłodsza osoba w gronie, programista "od zawsze" Douglas Crockford — starszy architekt JavaScript w Yahoo!; pomysłodawca formatu JSON Brendan Eich — twórca języka JavaScript Joshua Bloch — szef Java Architect w Google; w trakcie pracy w Sun Microsystem był kierownikiem zespołu projektującego i implementującego Java Collections Framework Joe Armstrong — autor języka programowania Erlang Simon Peyton Jones — rozpoczął projekt, którego efektem było powstanie języka Haskell Peter Norvig — dyrektor działu badań w Google, wcześniej pracujący dla NASA Guy Steele — znawca języków; Cobol, Fortran, PDP-10, Java, Haskell to tylko niektóre z jego repertuaru Dan Ingalls — współtwórca języka Smalltalk L. Peter Deutsch — programista od końca lat pięćdziesiątych; zaczynał w wieku jedenastu lat Ken Thompson — współtwórca systemu UNIX Fran Allen — przez czterdzieści pięć lat pracował dla firmy IBM; instruktor języka Fortran Bernie Cosell — współautor oprogramowania wykorzystywanego w pierwszych węzłach sieci ARPANET Donald Knuth — autor jedynego najprawdopodobniej bezbłędnego programu — TeX Poznaj tajemny świat programistów, hakerów i wybitnych specjalistów!
Tablice informatyczne. Wzorce projektowe
Daniel Krasnokucki
Wzorce projektowe bez tajemnic! Odkryj najlepsze z używanych obecnie wzorców projektowych Dowiedz się, jaki wzorzec zastosować w konkretnym przypadku Naucz się właściwie wykorzystywać dany wzorzec w praktyce Wzorce projektowe ułatwiają tworzenie dobrego oprogramowania, umożliwiają unikanie typowych błędów i stanowią sprawdzone rozwiązania problemów informatycznych, z którymi ktoś kiedyś miał już do czynienia. Korzysta się z nich w celu zapewnienia wysokiej jakości wynikowego kodu i elastyczności rozwiązania programistycznego oraz skrócenia czasu jego tworzenia. Jeśli nie chcesz wymyślać koła na nowo i nie masz zamiaru podejmować beznadziejnego trudu zrobienia tego lepiej niż tysiące osób przed Tobą, wzorce projektowe są właśnie dla Ciebie! Stosuj je w codziennej pracy, korzystając z praktycznej ściągi, zawierającej najpotrzebniejsze informacje o najbardziej przydatnych wzorcach, dzięki którym Twoje programy będą spełniały branżowe standardy! Wzorce konstrukcyjne, strukturalne i operacyjne Zależności występujące między wzorcami Przeznaczenie i implementacja poszczególnych wzorców Zastosowanie wzorców projektowych w praktyce Tablice informatyczne — cała wiedza pod ręką!