ورود به حساب

نام کاربری گذرواژه

گذرواژه را فراموش کردید؟ کلیک کنید

حساب کاربری ندارید؟ ساخت حساب

ساخت حساب کاربری

نام نام کاربری ایمیل شماره موبایل گذرواژه

برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید


09117307688
09117179751

در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید

دسترسی نامحدود

برای کاربرانی که ثبت نام کرده اند

ضمانت بازگشت وجه

درصورت عدم همخوانی توضیحات با کتاب

پشتیبانی

از ساعت 7 صبح تا 10 شب

دانلود کتاب iOS Development at Scale: App Architecture and Design Patterns for Mobile Engineers

دانلود کتاب توسعه iOS در مقیاس: معماری برنامه و الگوهای طراحی برای مهندسان موبایل

iOS Development at Scale: App Architecture and Design Patterns for Mobile Engineers

مشخصات کتاب

iOS Development at Scale: App Architecture and Design Patterns for Mobile Engineers

ویرایش: 1 
نویسندگان:   
سری:  
ISBN (شابک) : 1484294556, 9781484294567 
ناشر: Apress 
سال نشر: 2023 
تعداد صفحات: 654 
زبان: English 
فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) 
حجم فایل: 10 مگابایت 

قیمت کتاب (تومان) : 67,000



ثبت امتیاز به این کتاب

میانگین امتیاز به این کتاب :
       تعداد امتیاز دهندگان : 10


در صورت تبدیل فایل کتاب iOS Development at Scale: App Architecture and Design Patterns for Mobile Engineers به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.

توجه داشته باشید کتاب توسعه iOS در مقیاس: معماری برنامه و الگوهای طراحی برای مهندسان موبایل نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.


توضیحاتی درمورد کتاب به خارجی



فهرست مطالب

Table of Contents
About the Author
About the Technical Reviewers
Introduction
Chapter 1: Swift Familiarization
	This Chapter Includes
	Structures and Classes
		Exploring Reference and Value Types
			Summarizing Value and Reference Types
		Inheritance for Classes
			A Brief Note on Static and Dynamic Polymorphism
			Inheritance vs. Polymorphism
		Protocols
			Wrapping Up Classes and Structs
				Classes and Protocols
				Classes Have Capabilities That Structs Do Not Have
	Generics in Action
		Generic Functions
			Notes on Placeholder Types
		Generic Types
	Summary
		Three Key Takeaways from This Chapter
		Further Learning
Chapter 2: Memory Management
	This Chapter Includes
	Swift Program Memory Usage
		The Stack
			Characteristics of Stack Memory
		The Heap
			Characteristics of Heap Memory
		Buffer Overflow and Underflow
	Swift Memory Model
		Swift Stack Allocation
		Swift Heap Allocation
	Automatic Reference Counting
		Reference Counting in Action
		ARC Observed Lifetime Bugs
			Some Potential Solutions
	Method Dispatch
		Direct Static Dispatch
		Dynamic Dispatch
		Supporting Polymorphism for Value Types
			The Existential Container
			Inline Value Buffer
			Value Witness Table (VWT)
			Protocol Witness Table (PWT)
			Handling Nested Reference Types
			Handling Generics
				The Implications of Different Sized Types on PWT Memory Management
					Small Types
					Large Types
		Applied Memory Management
			Bug Fixing
	Summary
		Further Learning
Chapter 3: iOS Persistence Options
	Overview
		This Chapter Includes
	iOS Persistence Options
		Saving to a File
			File System Security
		NSUserDefaults
		Keychain
		Core Data
			Managed Objects
			NSManagedObjectContext
			NSPersistentStore
			NSPersistentCoordinator
			Considering When to Use Core Data
		Diving into SQLite
			What Is SQLite
				Serverless
				Self-Contained
				Zero Configuration
			SQLite Architecture
				SQL Compiler: The Front End
				SQLite Core
				SQLite Back End
					Deep Dive: B+ Tree Implementation
						Search
						Insert
						Delete
	Practical Example: Caching a Photo Stream
		Performantly Fetch the Images
		Persist Cached Images Across Application Launches
		Encapsulate the Caching Solution
		Wrapping Up
			Questions for the Reader
	Summary
		Key Takeaways from This Chapter
		Further Learning
Chapter 4: Concurrent Programming
	Overview
		This Chapter Includes
	Concurrent Parallel or Async?
		Concurrency
		Multithreading
		Parallelism
		Asynchronous Programming
		Where Is This Going?
	Cost of Concurrency
		Thread Cost
		Managing State Sharing
		Difficult to Debug
	Implementing Concurrency
		Threads and Locks
			Brief Aside on Locks
		Using GCD and Dispatch Queues
			GCD Key Concepts
			Applying GCD to Our Example
		Operation Queues
			Benefits of Operation Queues
		Swift Concurrency
			Async Functions
			Actors
			Swift Tasks
				Structured Tasks
				Unstructured Tasks
			Applying Swift Concurrency
			Contrasting with GCD
			Rough Edges
			Conclusion on Swift Concurrency
		Deep Dive: Challenges of Implementing Concurrency
			Race Condition
			Deadlock
			Priority Inversion
			Thread Explosion
	Considerations for Real-World Applications
		Example 1: Scaling Meta’s Newsfeed
			Key Takeaway: Design for Scaling
		Example 2: Building Swift Concurrency
			Key Takeaway: Principles Transcend the Implementation Details
	Summary
		Three Key Takeaways from This Chapter
		Further Learning
Chapter 5: The Importance of Good Architecture
	Overview
	Defining Good Architecture
		Applying Our Modular and Testable Framework to SOLID
			Single Responsibility Principle
			The Open-Closed Principle
			Liskov Substitution Principle (LSP)
			Interface Segregation Principle
			Dependency Inversion
	Modularity
		Modularity Case Studies
			Uber Redesign for Scale
			Creating Component Kit
			Airbnb Designing for Productivity
		Wrapping Up Modularity
	Testability
		Testing Case Studies
			Large-Scale Testing and Sapienz at Meta
			Ziggurat Square’s Testable Architecture
		Wrapping Up Testability
	Choosing an Architecture
	Summary
		Three Key Takeaways from This Chapter
		Further Learning
Chapter 6: Common Design Patterns
	Overview
		This Chapter Includes
	Why Design Patterns Are the Building Blocks for Design
		Specific Needs of Mobile Engineers
	Design Patterns
		Overarching Themes
			Creational
			Structural
			Behavioral
		Delegate Pattern
			The Problem
			The Solution
			Architecture
				Code
			Trade-Offs
		Facade Pattern (Structural)
			The Problem
			The Solution
			Architecture
				Pseudocode
			Trade-Offs
		The Builder Pattern
			The Problem
			The Solution
			Architecture
				Code
			Note: A Simpler Builder
			Trade-Offs
				Pros
				Cons
		The Factory Pattern
			The Problem
			The Solution
				For the Factory Method
				For the Abstract Factory
			Architecture
				Code
					Factory Method
					Abstract Factory
			Trade-Offs
		Singleton
			The Problem
			The Solution
			The Architecture
				Code
			Trade-Offs
				Pros
				Cons
		Dependency Injection (DI)
			The Problem
			The Solution
			The Architecture
				Pseudocode
			Trade-Offs
		Coordinators
			The Problem
			The Solution
			Architecture
				Basic Coordinator
				Application-Wide Coordinator
				Pseudocode
			Trade-Offs
		Observer
			The Problem
			The Solution
			Architecture
				Example Code
			Trade-Offs
				Runtime Behavior
				Memory Management
				Complex State Management
	Summary
		Two Key Takeaways from This Chapter
		Further Learning
Chapter 7: Model View Controller (MVC)
	Overview
		This Chapter Includes
	A Detailed Look at MVC
		MVC Components
			The Model
			The View Controller
			The View
		Component Interactions
			Object Construction
			Updates to the Model
			Updates to the View
			The View Controller’s Role
			The View State Storage and Updates
		Practical Example
		Discussion
			Trade-Offs
			Modularity
				A Note on Avoiding Premature Optimization
			Testability
			MVC at Scale
	Summary
		Three Key Takeaways from This Chapter
		Further Learning
Chapter 8: Model View View-Model (MVVM)
	Overview
		This Chapter Includes
	A Detailed Look at MVVM
		MVVM Components
			The Model
			The View-Model
			The View Controller
			The View
		Component Interactions
			Object Construction
			Updates to the Model
			The View-Model
			The View Controller
			Updates to the View
			The View State
		Practical Example
		Discussion
			Trade-Offs
				Overhead
				Reactive Programming
			Modularity
			Testability
	Summary
		Three Key Takeaways from This Chapter
		Further Learning
Chapter 9: VIPER
	Overview
		This Chapter Includes
	A Detailed Look at VIPER
		VIPER Components
			The View
			The View Controller
			The Interactor
			The Presenter
			The Entity
			The Router
		Component Interactions
			Object Construction
			Updates to the Model: The Interactor
			The Presenter
			The View Controller
			Updates to the View
			The View State
		Practical Example
		Discussion
			Trade-Offs
			Advantages
			Drawbacks
			Modularity
			Testability
	Summary
		Three Key Takeaways from This Chapter
		Further Learning
Chapter 10: The Reactive Programming Paradigm
	Overview
		This Chapter Includes
	Reactive Programming
		The Rules of the Game
		Data Propagation Techniques
			Topological Sorting
		Interaction with Mutable State
	Functional Reactive Programming
		Category Theory
		Functors
		Monoid
		Monads
	FRP and Combine
		Publishers and Subscribers
		Combine Behaviors
			Functor
			Monad
		Application Architecture
			Application Overview
			Area Owner
			Feature Owner
	Benefits of Reactive Programming and FRP
	Summary
		Three Key Takeaways from This Chapter
		Further Learning
Chapter 11: System Design Process
	Overview
		This Chapter Includes
	Software Development Life Cycle (SDLC)
		How SDLC Works
			Plan
				Strategy Review
				Long-Range Planning Document
				Road Map
				Differences in Planning at Small and Big Companies
			Design
			Implement
			Test
			Deploy
			Maintain
		SDLC Models
			Waterfall
				Key Tenets
				Pros and Cons
			Spiral
				Key Tenets
				Pros and Cons
			Agile
				Key Tenets
				Pros and Cons
			Extreme Programming (XP)
				Key Tenets
				Pros and Cons
			Methods Review
	Crucial Role of the TL
	A Skill-Focused View
		Problem Navigation
		Solution Design
		Communication
			Communication Framework
				Understand Everyone’s Point of View
				Guiding the Conversation
				Using a Common Language and Value Framework
				Communicating Risk
			Technical Communication
			Communicating Business Needs
	Setting Goals for Success
		S: Specific
		M: Measurable
		A: Achievable
		R: Relevant
		T: Time-Bound
			Goal for Product and Infrastructure Teams
			Goal for Metric-Driven Teams
	Why Is SDLC Important?
	Summary
		Four Key Takeaways from This Chapter
		Further Learning
Chapter 12: Testability
	Overview
		This Chapter Includes
	Why Test
	Unit Testing
		Writing Code That Stays Testable
		Setter Injection
	Integration Testing
	Contract Testing
	UI Testing
		Snapshot Testing
	Manual Testing
	Managing Testing at Scale
		Test Case Prioritization
		Categorizing Test Suites
		Prioritizing Manual Testing
		Managing Testing Over Time
	What If I Have No Tests?
	Summary
		Four Key Takeaways from This Chapter
		Further Learning
Chapter 13: Performance
	Overview
		This Chapter Includes
	Why Performance Matters
	iOS Factors to Consider
	Key Concepts
		Topline Metrics
		Intermediate Metrics
		Funnel Logging
		Evaluating Percentiles
		Monitoring and Alerting
	The Complete Performance Cycle
		Know Your Tools
		Application Growth
		Debugging Performance Problems
		Apply Occam’s Razor
		Continuous Testing and Evaluation
	Performance Metrics
		Application Size
		Application Startup Time
		Application Responsiveness (Hangs)
		Battery Drain
		Application Crashes
			What Is Symbolication?
		Network-Related Metrics
			Latency
			Load
			Errors
		Engagement Metrics
	A Brief Practical Example
	Summary
		Four Key Takeaways from This Chapter
		Further Learning
Chapter 14: Experimentation
	This Chapter Includes
	Why Experimentation Is Important
	Theoretical Experimentation Platform
		Universes for Experimentation
		Experiment Tooling
			Cluster Testing (The Network Effect)
		Metrics Evaluation Platform
	The Scientific Method and Hypothesis Testing
		Applying the Scientific Method to Our Photo Stream Example
		Experiment Design and Implementation
			Choosing Test Statistics
			Assess Sample Size and Distribution
				Required Sample Size and Effects on Analysis
				Factors That Could Impact User Eligibility
		Results Analysis
			Types of Errors
			Understanding Statistical Significance
				Calculating the P-Value
					Two- vs. One-Sided Tests
			Statistical Power and the Minimum Detectable Effect (MDE)
			Holistic Results Analysis
			Practical Example for Holistically Interpreting Results
	Common Pitfalls
		Multiple Comparison Problem
		Experiment Pollution
		Claiming Not Statistically Significant Results are Neutral
		Running Experiments That Are Too Small (Underpowered)
		P-Hacking
		Filtering on Posttreatment Variables
		Dilution
		Not Waiting for Results to Stabilize
		Nonrepresentative Test Experiences and Populations
		Ignoring the Network Effect
		Pre-AA Bias
	Additional Validation Steps
	Summary
		Key Takeaways
		Further Learning
Chapter 15: Application Release and Maintenance
	This Chapter Includes
	Managing Continuous Integration and Delivery: The Build Process
		Keeping Master Stable
		Managing Build Times
		Continuous Delivery
		The Release Infrastructure
			Release Oncall
			How to Measure System Success
			Can We Move Faster?
	Releasing a Large Project
		When Building Our Feature
			Who Are These Concerned Business Partners?
		Meeting Launch Standards
		Dogfooding and Limited Release
		Release
	Alerting and Monitoring
		Logging
		Monitoring
		Alerting
		Logging to Alerting Example
	Maintenance
	Summary
		Key Takeaways
		Further Learning
Chapter 16: Leading Multiple Teams
	This Chapter Includes
	Engineer Archetypes
		Fixer
		Tech Lead
		Architect
		Executive Assistant
	Requirements of Senior Engineer
		Breadth
		Depth
		Scope
		Applying Depth, Breadth, and Scope
		Level Three: Senior Engineer
		Level Four: Staff Engineer
		Level Five and Beyond: Principal Engineer and Above
		Connecting the Overall System
		Brief Aside for Metric-Driven Teams
			Establish the Goal
			Through Iterative Experimentation, Establish Leading Levers
			Understand Additive Combinations for the Launch Candidate
		Balancing Each Dimension
	Becoming a Well-Rounded Senior Engineer
		Brief Aside on Understanding Technical Concepts
		Why Are Soft Skills Needed?
		Situational Leadership Model
			Leadership Styles
			Development Levels
			Common Pitfalls
				Oversupervision: Micromanaging
				Undersupervision
			Applied to Leading Multiple Teams
			Practical Example
			Trade-Offs
			Relationship Between Senior Engineers and Managers
			Mentorship: Scaling Oneself
		Building Relationships
			How to Be Nice
			How to Build Trust
			How to Influence People
			Combining the Frameworks
	Summary
		Key Takeaways
		Further Learning
Chapter 17: Practical Example
	Top-Down vs. Bottom-Up
		Setting the Scene
			Notes on the Planning/Scoping Phase
			Jumping Back into Our Story…
			Notes on the Execution/Testing Phase
			Jumping Back into Our Story…
			Notes on the Deployment/Maintenance Phase
	Notes on the Case Study Roles and Archetypes
		Archetypes
			Chief Architect
			Tech Lead
			Executive Assistant
			Fixer
		Overall Notes
	Summary
Appendix: Completed Five-Year Plan
	Problem Alignment
		High-Level Approach
		Goals
		Review Problem Alignment
	Solution Alignment
		Key Scoping Documents for MVP Feature Set
		Key Flows
		Key Logic
	Launch Plan
		Key Milestones
		Operational Checklist
		Changelog
		Open Questions
Index




نظرات کاربران