Opis ebooka: Java RMI
Java RMI contains a wealth of experience in designing and implementing Java's Remote Method Invocation. If you're a novice reader, you will quickly be brought up to speed on why RMI is such a powerful yet easy to use tool for distributed programming, while experts can gain valuable experience for constructing their own enterprise and distributed systems.With Java RMI, you'll learn tips and tricks for making your RMI code excel. The book also provides strategies for working with serialization, threading, the RMI registry, sockets and socket factories, activation, dynamic class downloading, HTTP tunneling, distributed garbage collection, JNDI, and CORBA. In short, a treasure trove of valuable RMI knowledge packed into one book.
Wybrane bestsellery
-
This course offers an in-depth introduction to Java and algorithmic thinking, ideal for beginners. Starting with fundamental computer concepts, it progresses through Java programming basics, & algorithmic principles, concluding with file management.
Java and Algorithmic Thinking for the Complete Beginner. From Basics to Advanced Techniques: Master Java and Algorithms for a Robust Programming Foundation Java and Algorithmic Thinking for the Complete Beginner. From Basics to Advanced Techniques: Master Java and Algorithms for a Robust Programming Foundation
-
Książka Java. Teoria w praktyce została pomyślana tak, by krok po kroku przybliżać specyfikę tego języka programowania. Zaczniesz od podstaw - poznasz między innymi główne założenia, zgodnie z którymi działa Java: maszynę wirtualną, zmienne, operatory, instrukcje sterujące i tablice - by następni...(87.20 zł najniższa cena z 30 dni)
76.30 zł
109.00 zł(-30%) -
Architect robust solutions like a pro with real-world insights and cutting-edge design techniques. Delve into advanced analytics, machine learning, generative AI, cloud-native architecture, and the key soft skills to excel as a solutions architect.
Solutions Architect's Handbook. Kick-start your career with architecture design principles, strategies, and generative AI techniques - Third Edition Solutions Architect's Handbook. Kick-start your career with architecture design principles, strategies, and generative AI techniques - Third Edition
Saurabh Shrivastava, Neelanjali Srivastav, Rajesh Sheth, Kamal Arora, Rohan Karmarkar
-
To dziewiąte wydanie znakomitego podręcznika programowania dla początkujących, starannie zaktualizowane i uzupełnione o informacje dotyczące Java Platform, Standard Edition 17. Książka rozpoczyna się od solidnej dawki wiedzy o kompilacji i uruchamianiu programu w Javie, słowach kluczowych i istot...(77.40 zł najniższa cena z 30 dni)
90.30 zł
129.00 zł(-30%) -
Dzięki tej książce zrozumiesz bazowe koncepcje programowania funkcyjnego i przekonasz się, że możesz włączać je do kodu bez rezygnacji z paradygmatu obiektowego. Dowiesz się również, kiedy w swojej codziennej pracy używać takich opcji jak niemutowalność i funkcje czyste i dlaczego warto to robić....
Java. Podejście funkcyjne. Rozszerzanie obiektowego kodu Javy o zasady programowania funkcyjnego Java. Podejście funkcyjne. Rozszerzanie obiektowego kodu Javy o zasady programowania funkcyjnego
(52.20 zł najniższa cena z 30 dni)60.90 zł
87.00 zł(-30%) -
Build Your Own Programming Language provides a hands-on approach to designing and implementing programming language features in a simple compiler and programming environment. This book will help you create new or domain-specific languages.
Build Your Own Programming Language. A programmer's guide to designing compilers, interpreters, and DSLs for modern computing problems - Second Edition Build Your Own Programming Language. A programmer's guide to designing compilers, interpreters, and DSLs for modern computing problems - Second Edition
-
Java. Podręcznik na start to pozycja idealna dla każdego, kto chce podjąć takie kroki. W przystępny sposób zaznajamia nie tylko z językiem, ale też z podstawowymi koncepcjami stosowanymi podczas programowania - w obrazowy sposób przyrównuje je do sytuacji znanych spoza świata wirtualnego. Autor n...(41.40 zł najniższa cena z 30 dni)
48.30 zł
69.00 zł(-30%) -
Java należy do najpopularniejszych języków programowania na świecie. Używana przez miliony programistów, jest na tyle uniwersalna, że znajduje zastosowanie zarówno w aplikacjach desktopowych, mobilnych, jak i serwerowych, a także w zaawansowanych systemach zarządzania bazami danych. Z jej zalet k...
Java 21. Kurs video. Od "Hello World!" do programowania obiektowego Java 21. Kurs video. Od "Hello World!" do programowania obiektowego
(49.50 zł najniższa cena z 30 dni)44.55 zł
99.00 zł(-55%) -
Oto kolejne wydanie zwięzłego podręcznika dla programistów Javy, który ma ułatwić maksymalne wykorzystanie technologii tego języka w wersji 17. Treść została skrupulatnie przejrzana i uzupełniona o materiał dotyczący nowości w obiektowym modelu Javy. Pierwsza część książki obejmuje wprowadzenie d...(53.40 zł najniższa cena z 30 dni)
62.30 zł
89.00 zł(-30%)
Ebooka "Java RMI" przeczytasz na:
-
czytnikach Inkbook, Kindle, Pocketbook, Onyx Boox i innych
-
systemach Windows, MacOS i innych
-
systemach Windows, Android, iOS, HarmonyOS
-
na dowolnych urządzeniach i aplikacjach obsługujących formaty: PDF, EPub, Mobi
Masz pytania? Zajrzyj do zakładki Pomoc »
Audiobooka "Java RMI" posłuchasz:
-
w aplikacji Ebookpoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych
-
na dowolnych urządzeniach i aplikacjach obsługujących format MP3 (pliki spakowane w ZIP)
Masz pytania? Zajrzyj do zakładki Pomoc »
Kurs Video "Java RMI" zobaczysz:
-
w aplikacjach Ebookpoint i Videopoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych z dostępem do najnowszej wersji Twojej przeglądarki internetowej
Szczegóły ebooka
- ISBN Ebooka:
- 978-14-493-1535-1, 9781449315351
- Data wydania ebooka:
- 2001-10-22 Data wydania ebooka często jest dniem wprowadzenia tytułu do sprzedaży i może nie być równoznaczna z datą wydania książki papierowej. Dodatkowe informacje możesz znaleźć w darmowym fragmencie. Jeśli masz wątpliwości skontaktuj się z nami sklep@ebookpoint.pl.
- Język publikacji:
- angielski
- Rozmiar pliku ePub:
- 1.8MB
- Rozmiar pliku Mobi:
- 1.8MB
Spis treści ebooka
- Java RMI
- SPECIAL OFFER: Upgrade this ebook with OReilly
- A Note Regarding Supplemental Files
- Preface
- About This Book
- Part I
- Part II
- Part III
- About This Book
- About the Example Code
- Conventions Used in This Book
- Coding Conventions
- Applications
- Compiling and Building
- Downloading the Source Examples
- For Further Information
- How to Contact Us
- Acknowledgments
- I. Designing and Building: The Basics of RMI Applications
- 1. Streams
- The Core Classes
- InputStream
- Reading data
- Stream navigation
- Resource management
- InputStream
- IOException
- OutputStream
- Writing data
- Resource management
- The Core Classes
- 1. Streams
- Viewing a File
- Layering Streams
- Compressing a File
- How this works
- Compressing a File
- Some Useful Intermediate Streams
- Readers and Writers
- Revisiting the ViewFile Application
- 2. Sockets
- Internet Definitions
- Sockets
- Creating a Socket
- A simple client application
- Creating a Socket
- Protocols and Metadata
- Protocols
- Metadata
- ServerSockets
- The accept( ) method
- A Simple Web Server
- Customizing Socket Behavior
- Special-Purpose Sockets
- Direct Stream Manipulation
- Subclassing Socket Is a Better Solution
- A Special-Purpose Socket
- Factories
- Socket Factories
- Security
- Using SSL
- The SSL Handshake
- Using SSL with JSSE
- Registering providers
- Configuring SSLServerSocket
- Configuring SSLSocket
- Sending data
- Revisiting Our Web Server
- 3. A Socket-Based Printer Server
- A Network-Based Printer
- The Basic Objects
- The Protocol
- Encapsulation and Sending Objects
- DocumentDescription
- Encapsulation and Sending Objects
- Network-Aware Wrapper Objects
- ClientNetworkWrapper
- ServerNetworkWrapper
- The Application Itself
- Writing the Client
- Redrawing the Architecture Diagram
- Evolving the Application
- What These Changes Entail
- 4. The Same Server, Written Using RMI
- The Basic Structure of RMI
- Methods Across the Wire
- Passing by Value Versus Passing by Reference
- The Basic Structure of RMI
- The Architecture Diagram Revisited
- Implementing the Basic Objects
- The Printer Interface
- Implementing a Printer
- Examining the skeleton
- The Data Objects
- DocumentDescription
- The Rest of the Server
- The Client Application
- Summary
- 5. Introducing the Bank Example
- The Bank Example
- Sketching a Rough Architecture
- Five Steps to a Sketch
- The Basic Use Case
- Additional Design Decisions
- Design Postponements
- Security
- Scalability
- Design Postponements
- Implications of the Environment
- A Distributed Architecturefor the Bank Example
- Problems That Arise in Distributed Applications
- Partial Failures
- Network Latency
- 6. Deciding on the Remote Server
- A Little Bit of Bias
- Important Questions WhenThinking About Servers
- Does Each Instance of the Server Requirea Shared/Scarce Resource?
- Memory, in general, is not an issue here
- Sockets in RMI arent a limitation either
- An example of a resource limitation
- Moving things to a singleton resource object handles this problem
- Applying this to Bank versus Accounts
- Does Each Instance of the Server Requirea Shared/Scarce Resource?
- How Well Does the Given Server Replicate/Scaleto Multiple Machines?
- Applying this to Bank versus Accounts
- Can a Single Server Handle a Typical Client Interaction?
- How many of the servers does the client need to know about during the courseof a typical conceptual operation?
- Applying this to Bank versus Accounts
- How Easy Is It to Make a Server Handle Multiple Simultaneous Clients?
- Applying this to Bank versus Accounts
- How Easy Is It to Tell Whether the Code Is Correct?
- Applying this to Bank versus Accounts
- How Fatal Is a Server Failure?
- Applying this to Bank versus Accounts
- How Easy Is It to Gracefully Extend the Software and Add New Functionality?
- Applying this to Bank versus Accounts
- Should We Implement Bank or Account?
- 7. Designing the Remote Interface
- Important Questions When Designing Remote Interfaces
- Should We Pass Method Objects?
- Applying this to the Account interface
- Should We Pass Method Objects?
- Should We Pass Objects as Argumentsor Use Primitive Values?
- Applying this to the Account interface
- Important Questions When Designing Remote Interfaces
- Should We Receive Objects as Return Valuesor Receive Primitive Values?
- Applying this to the Account interface
- Do Individual Method Calls Waste Bandwidth?
- Applying this to the Account interface
- Is Each Conceptual Operation a Single Method Call?
- Iterators, again
- Applying this to the Account interface
- Does the Interface Expose the Right Amount of Metadata?
- Applying this to the Account interface
- Have We Identified a Reasonable Set of Distributed Exceptions?
- Applying this to the Account interface
- Building the Data Objects
- Data Objects Dont Usually Have Functional Methods
- Interfaces Give You the Data Objects
- Accounting for Partial Failure
- 8. Implementing the Bank Server
- The Structure of a Server
- Implementing the Server
- A Server That Extends UnicastRemoteObject
- A Server That Does Not Extend UnicastRemoteObject
- Extending UnicastRemoteObject
- The benefits of UnicastRemoteObject
- The costs of UnicastRemoteObject
- Generating Stubs and Skeletons
- Getting Rid of the Skeletons
- 9. The Rest of the Application
- The Need for Launch Code
- The Idea of a Server Lifecycle
- The Need for Launch Code
- Our Actual Launch Code
- Build Test Applications
- Build the Client Application
- Dont Hold Connections to a Server Youre Not Using
- Validate Arguments on the Client Side Whenever Reasonable
- The Actual Client Application
- Deploying the Application
- II. Drilling Down: Scalability
- 10. Serialization
- The Need for Serialization
- Drilling Down on Object Creation
- The Need for Serialization
- Using Serialization
- ObjectOutputStream
- The write methods
- The stream manipulation methods
- Methods that customize the serialization mechanism
- ObjectOutputStream
- ObjectInputStream
- The read methods
- The stream manipulation methods
- Methods that customize the serialization mechanism
- 10. Serialization
- How to Make a Class Serializable
- Implement the Serializable Interface
- Make Sure That Instance-Level, Locally Defined StateIs Serialized Properly
- Declaring transient fields
- Implementing writeObject() and readObject( )
- Declaring serialPersistentFields
- Make Sure That Superclass State Is Handled Correctly
- Override equals( ) and hashCode( ) if Necessary
- Making DocumentDescription Serializable
- Implement the Serializable interface
- Make sure that instance-level, locally defined state is serialized properly
- Make sure that superclass state is handled correctly
- Override equals() and hashCode( ) if necessary
- The Serialization Algorithm
- The Data Format
- A Simplified Version of the Serialization Algorithm
- Writing
- Reading
- RMI Customizes the Serialization Algorithm
- annotateClass( )
- replaceObject( )
- Maintaining Direct Connections
- Versioning Classes
- The Two Types of Versioning Problems
- How Serialization Detects When a Class Has Changed
- Implementing Your Own Versioning Scheme
- Performance Issues
- Serialization Depends on Reflection
- Serialization Has a Verbose Data Format
- It Is Easy to Send More Data Than Is Required
- The Externalizable Interface
- Comparing Externalizable to Serializable
- One Final Point
- 11. Threads
- More Than One Client
- Basic Terminology
- The Calling Stack
- The Heap
- Threads
- Mutexes
- Applying This to the Printer Server
- Threading Concepts
- Controlling Individual Threads
- Coordinating Thread Activities
- Cache Management
- Assigning Priorities to Threads
- Support for Threads in Java
- Objects Have Associated Mutex Variables
- The effects of synchronization on the threads local cache
- Acquiring the same lock more than once
- Objects Have Associated Mutex Variables
- Thread Manipulation Methods Defined on Object
- The wait methods
- The notify methods
- Classes
- Starting a thread is easy
- Stopping a thread is harder
- Using Runnable instead of subclassing Thread
- Useful methods defined on the Thread class
- Deadlock
- Threading and RMI
- 12. Implementing Threading
- The Basic Task
- Guidelines for Threading
- Start with Code That Works
- Above All Else, Ensure Data Integrity
- Applying this to the bank example
- Minimize Time Spent in Synchronized Blocks
- Synchronize around the smallest possible block of code
- Dont synchronize across device accesses
- Dont synchronize across secondary remote method invocations
- Be Careful When Using Container Classes
- Concurrent modification exceptions
- The other containers
- Use Containers to Mediate Interthread Communication
- Immutable Objects Are Automatically Threadsafe
- Always Have a Safe Way to Stop Your Threads
- Background Threads Should Have Low Priority
- Applying this to the bank example
- Pay Careful Attention to What You Serialize
- Use Threading to Reduce Response-Time Variance
- Limit the Number of Objects a Thread Touches
- Acquire Locks in a Fixed Order
- Use Worker Threads to Prevent Deadlocks
- Pools: An Extended Example
- The Idea of a Pool
- Two Interfaces That Define a Pool
- A First Implementation of Pooling
- Problems with SimplePool
- The Creation Thread
- Adding a Return Thread
- Gradually Shrinking the Pool
- Two Additional Considerations When Implementing a Pool
- The initial-resource creation strategy
- The difference between the steady-state size and the maximum-pool size
- Some Final Words on Threading
- 13. Testing a Distributed Application
- Testing the Bank Application
- What Were Testing
- How to Test a Server
- Testing the Bank Application
- Build simple test objects
- Build aggregate tests that test entire use cases
- Build a threaded tester that repeatedly performs these tests
- Build a thread container that launches many threads and stores the resultsof the test in an indexed structure
- Build a reporting mechanism
- Testing the Bank Application
- 14. The RMI Registry
- Why Use a Naming Service?
- Bootstrapping
- Installing a new printer
- Bootstrapping
- When Are Naming Services Appropriate?
- Why Use a Naming Service?
- The RMI Registry
- bind( ), rebind( ), and unbind( )
- lookup( ) and list( )
- The RMI Registry Is an RMI Server
- Bootstrapping the Registry
- Examining the Registry
- Querying the Registry
- Launching an Application-Specific Registry
- Limitations of the RMI Registry
- Directories and Entries
- Filesystems
- Yellow pages
- The general idea of directories and entries
- Directories and Entries
- Security Issues
- 15. Naming Services
- Basic Design, Terminology,and Requirements
- Hierarchies
- Operations on contexts
- Hierarchies
- Query by Attribute
- Attributes are string-valued, name-value pairs
- Basic Design, Terminology,and Requirements
- Requirements for Our Naming Service
- Our Use Case
- Federation and Threading
- Federation
- The Context Interface
- Value Objects Represent Sets and Lists
- Paths, Names, and Attributes Are All Distinct
- Null Arguments Are Okay
- Attributes Are Single Valued
- Contexts Are Handled by a Separate Set of Methods
- Contexts, When Bound as Contexts, Have No Attributes
- Contexts Can Create Subcontexts Directly
- There Are No Remote Iterators
- The Value Objects
- AttributeSet
- Path and ContextList
- ContextImpl
- NameAttributeSetPair
- RemoteHolder
- ContextHolder
- ContextImpl
- Bootstrapping
- Version 2.0
- Switching Between Naming Services
- Adapting the Bank Example
- Modifying the launch code
- Modifying the client code
- Adapting the Bank Example
- The Java Naming and Directory Interface (JNDI)
- The Context Interface
- Using JNDI with the Bank Example
- 16. The RMI Runtime
- Reviewing the Mechanics of a Remote Method Call
- How RMI Solves the Bootstrapping Problem
- Reviewing the Mechanics of a Remote Method Call
- Distributed Garbage Collection
- Ordinary Garbage Collection
- Defining Network Garbage
- Leasing
- The Actual Distributed Garbage Collector
- The Unreferenced Interface
- RMIs Logging Facilities
- The Standard Log
- The Specialized Logs
- The Debugging Log
- Other JVM Parameters
- Basic Java Parameters
- Xms
- Xmx
- Basic Java Parameters
- Basic RMI Parameters
- java.rmi.server.randomIDs
- sun.rmi.server.exceptionTrace
- Transport Layer Parameters
- sun.rmi.transport.connectionTimeout
- sun.rmi.transport.tcp.readTimeout
- sun.rmi.transport.proxy.connectTimeout
- Parameters That Affect the Distributed Garbage Collector
- java.rmi.dgc.leaseValue
- sun.rmi.dgc.client.gcInterval
- sun.rmi.dgc.server.gcInterval
- sun.rmi.dgc.checkInterval
- sun.rmi.dgc.cleanInterval
- 17. Factories and the Activation Framework
- Resource Management
- Factories
- Revisiting Our Basic Design
- Implementing a Generic Factory
- A Basic Factory
- Modifying the Existing Application
- The consequences for the client
- The consequences for the naming service
- The consequences for the account servers
- A Better Factory
- Some Prior Art
- Building on the Account-Locking Mechanism
- The new factory
- The new account
- The launch code and the client
- Persistence and the Server Lifecycle
- Activation
- Code Changes Necessary for Activation
- Making a server into an activatable object
- Modifying our launch code
- Code Changes Necessary for Activation
- Deploying an Activatable System
- ActivationDesc, ActivationGroupDesc, and ActivationGroup in More Detail
- Shutting Down an Activatable Server
- rmid Command-Line Arguments
- -port
- -log
- -stop
- -C
- Activation Parameters
- java.rmi.activation.activator.class
- java.rmi.activation.port
- sun.rmi.activation.execTimeout
- sun.rmi.activation.snapshotInterval
- sun.rmi.rmid.maxstartgroup
- sun.rmi.server.activation.debugExec
- A Final Word About Factories
- III. Advanced Topics
- 18. Using Custom Sockets
- Custom Socket Factories
- Creating Custom Socket Factories
- Implementing Serializable
- Implementing equals( ) and hashCode( )
- Creating Custom Socket Factories
- Custom Socket Factories
- Incorporating a Custom Socket into an Application
- Modifying Ordinary Servers
- Modifying Activatable Servers
- Modifying the Default Servers
- Failure handlers
- Interaction with Parameters
- 18. Using Custom Sockets
- 19. Dynamic Classloading
- Deploying Can Be Difficult
- Classloaders
- How Classes Are Loaded
- How Dynamic Classloading Works
- A Redeployment Scenario
- A Multiple-Deployment Scenario
- The Class Server
- Requesting a Class
- Receiving a Class
- Handling JAR files
- Suns Class Server
- Using Dynamic Classloadingin an Application
- Server-Side Changes
- Naming-Service Changes
- Client-Side Changes
- Disabling Dynamic Classloading Entirely
- 20. Security Policies
- A Different Kind of Security Problem
- Permissions
- The Types of Permissions
- AWT permissions
- File permissions
- Socket permissions
- Property permissions
- The Types of Permissions
- Security Managers
- Installing an Instance of SecurityManager
- How a Security Manager Works
- java.security.debug
- Setting Up a Security Policy
- The Three Policy Files
- Setting the application-specific policy file
- The Three Policy Files
- Inside a Policy File
- Using Security Policies with RMI
- Policy Tool
- Some Final Words
- 21. Multithreaded Clients
- Different Types of Remote Methods
- Printer-Type Methods
- Report-Type Methods
- Different Types of Remote Methods
- Handling Printer-Type Methods
- A First Pass at a Solution
- Better Solutions
- Client-side polling
- Polling code in the printer application
- Server-side callbacks
- Define a client-side callback interface
- Implement the client-side interface
- Handling Report-Type Methods
- Chapter 7 Revisited
- Server-evaluation models
- Iterators on the client side
- Chapter 7 Revisited
- Implementing Background Downloading on the Client Side
- Generalizing from These Examples
- 22. HTTP Tunneling
- Firewalls
- CGI and Dynamic Content
- The Common Gateway Interface
- Servlets
- HTTP Tunneling
- How RMI Tunnels Messages
- Naming services and the server machine
- How RMI Tunnels Messages
- A Servlet Implementationof HTTP Tunneling
- The Servlet Code
- Modifying the Tunneling Mechanism
- The Bank via HTTP Tunneling
- Drawbacks of HTTP Tunneling
- Disabling HTTP Tunneling
- 23. RMI, CORBA, and RMI/IIOP
- How CORBA Works
- CORBA Contains Other Things Too
- How CORBA Works
- The Bank Example in CORBA
- Defining the Interface
- Generating Stubs and Skeletons
- The Server
- The Launch and Client Code
- A Quick Comparison of CORBA and RMI
- RMI on Top of CORBA
- The Fine Print
- Converting the Bank Example to RMI/IIOP
- Communicating via CORBA
- Index
- About the Author
- Colophon
- SPECIAL OFFER: Upgrade this ebook with OReilly
O'Reilly Media - inne książki
-
Keeping up with the Python ecosystem can be daunting. Its developer tooling doesn't provide the out-of-the-box experience native to languages like Rust and Go. When it comes to long-term project maintenance or collaborating with others, every Python project faces the same problem: how to build re...(203.15 zł najniższa cena z 30 dni)
207.64 zł
239.00 zł(-13%) -
Bringing a deep-learning project into production at scale is quite challenging. To successfully scale your project, a foundational understanding of full stack deep learning, including the knowledge that lies at the intersection of hardware, software, data, and algorithms, is required.This book il...(237.15 zł najniższa cena z 30 dni)
249.75 zł
289.00 zł(-14%) -
Frontend developers have to consider many things: browser compatibility, usability, performance, scalability, SEO, and other best practices. But the most fundamental aspect of creating websites is one that often falls short: accessibility. Accessibility is the cornerstone of any website, and if a...(194.65 zł najniższa cena z 30 dni)
207.20 zł
239.00 zł(-13%) -
In this insightful and comprehensive guide, Addy Osmani shares more than a decade of experience working on the Chrome team at Google, uncovering secrets to engineering effectiveness, efficiency, and team success. Engineers and engineering leaders looking to scale their effectiveness and drive tra...(118.15 zł najniższa cena z 30 dni)
121.29 zł
149.00 zł(-19%) -
Data modeling is the single most overlooked feature in Power BI Desktop, yet it's what sets Power BI apart from other tools on the market. This practical book serves as your fast-forward button for data modeling with Power BI, Analysis Services tabular, and SQL databases. It serves as a starting ...(194.65 zł najniższa cena z 30 dni)
206.44 zł
239.00 zł(-14%) -
C# is undeniably one of the most versatile programming languages available to engineers today. With this comprehensive guide, you'll learn just how powerful the combination of C# and .NET can be. Author Ian Griffiths guides you through C# 12.0 and .NET 8 fundamentals and techniques for building c...(228.65 zł najniższa cena z 30 dni)
249.84 zł
289.00 zł(-14%) -
Learn how to get started with Futures Thinking. With this practical guide, Phil Balagtas, founder of the Design Futures Initiative and the global Speculative Futures network, shows you how designers and futurists have made futures work at companies such as Atari, IBM, Apple, Disney, Autodesk, Luf...(152.15 zł najniższa cena z 30 dni)
155.30 zł
179.00 zł(-13%) -
Augmented Analytics isn't just another book on data and analytics; it's a holistic resource for reimagining the way your entire organization interacts with information to become insight-driven.Moving beyond traditional, limited ways of making sense of data, Augmented Analytics provides a dynamic,...(181.25 zł najniższa cena z 30 dni)
181.15 zł
219.00 zł(-17%) -
Learn how to prepare for—and pass—the Kubernetes and Cloud Native Associate (KCNA) certification exam. This practical guide serves as both a study guide and point of entry for practitioners looking to explore and adopt cloud native technologies. Adrián González Sánchez ...
Kubernetes and Cloud Native Associate (KCNA) Study Guide Kubernetes and Cloud Native Associate (KCNA) Study Guide
(169.14 zł najniższa cena z 30 dni)177.65 zł
209.00 zł(-15%) -
Python is an excellent way to get started in programming, and this clear, concise guide walks you through Python a step at a time—beginning with basic programming concepts before moving on to functions, data structures, and object-oriented design. This revised third edition reflects the gro...(148.67 zł najniższa cena z 30 dni)
148.56 zł
179.00 zł(-17%)
Dzieki opcji "Druk na żądanie" do sprzedaży wracają tytuły Grupy Helion, które cieszyły sie dużym zainteresowaniem, a których nakład został wyprzedany.
Dla naszych Czytelników wydrukowaliśmy dodatkową pulę egzemplarzy w technice druku cyfrowego.
Co powinieneś wiedzieć o usłudze "Druk na żądanie":
- usługa obejmuje tylko widoczną poniżej listę tytułów, którą na bieżąco aktualizujemy;
- cena książki może być wyższa od początkowej ceny detalicznej, co jest spowodowane kosztami druku cyfrowego (wyższymi niż koszty tradycyjnego druku offsetowego). Obowiązująca cena jest zawsze podawana na stronie WWW książki;
- zawartość książki wraz z dodatkami (płyta CD, DVD) odpowiada jej pierwotnemu wydaniu i jest w pełni komplementarna;
- usługa nie obejmuje książek w kolorze.
Masz pytanie o konkretny tytuł? Napisz do nas: sklep[at]helion.pl.
Książka, którą chcesz zamówić pochodzi z końcówki nakładu. Oznacza to, że mogą się pojawić drobne defekty (otarcia, rysy, zagięcia).
Co powinieneś wiedzieć o usłudze "Końcówka nakładu":
- usługa obejmuje tylko książki oznaczone tagiem "Końcówka nakładu";
- wady o których mowa powyżej nie podlegają reklamacji;
Masz pytanie o konkretny tytuł? Napisz do nas: sklep[at]helion.pl.
Książka drukowana
Oceny i opinie klientów: Java RMI William Grosso (0) Weryfikacja opinii następuję na podstawie historii zamówień na koncie Użytkownika umieszczającego opinię. Użytkownik mógł otrzymać punkty za opublikowanie opinii uprawniające do uzyskania rabatu w ramach Programu Punktowego.