舉報

會員
ASP.NET Core 2 High Performance(Second Edition)
最新章節:
Summary
ThisbookisaimedforreaderswhocanbuildawebapplicationandhavesomeexperiencewithASP.NETorsomeotherwebapplicationframework(suchasRubyonRailsorDjango).Theycanbepeoplewhoarehappylearningdetailsindependentlybutwhostruggletodiscoverthetopicsthattheyshouldberesearching.ThereadershouldbeinterestedinimprovingtheperformanceoftheirwebappandinlearningaboutASP.NETCoreandmodernC#.
目錄(296章)
倒序
- coverpage
- Title Page
- Second Edition
- Copyright
- ASP.NET Core 2 High Performance
- Second Edition
- Credits
- Foreword
- About the Author
- About the Reviewer
- www.PacktPub.com
- Why subscribe?
- Customer Feedback
- Preface
- What this book covers
- What you need for this book
- Who this book is for
- Conventions
- Reader feedback
- Customer support
- Downloading the example code
- Errata
- Piracy
- Questions
- What's New in ASP.NET Core 2?
- What's new in Core 2
- What's new in .NET Core 2
- Performance improvements
- What's new in ASP.NET Core 2
- Performance improvements
- Standards
- New C# features
- C# 6
- String interpolation
- Null conditional
- Exception filters
- Asynchronous availability
- Expression bodies
- C# 7
- Literals
- Tuples
- Out variables
- References
- Patterns
- More expression bodies
- More asynchronous improvements
- JavaScript
- Summary
- Why Performance Is a Feature
- Performance as a feature
- Common classes of performance problems
- Language considerations
- Types of performance problems
- When performance matters
- Slower is sometimes better
- Why issues are missed
- Measuring
- The benefits of planning ahead
- Understanding hardware
- Storage access speeds
- Scaling approach changes
- Tools and costs
- Tools
- Looking at some alternative tools
- The new .NET
- Summary
- Setting Up Your Environment
- Windows
- Visual Studio 2017
- Installing VS
- Installing .NET Core 2
- Creating your first app
- Mac
- Visual Studio for Mac
- Installing VS Mac
- Installing .NET Core 2
- Creating your first app
- Visual Studio Code
- Linux
- Getting started with .NET Core on Linux
- Installing .NET Core 2
- Creating your first app
- Containerization with Docker
- Using ASP.NET Core 2 with Docker
- Summary
- Measuring Performance Bottlenecks
- Tools
- SQL
- SQL Server Profiler
- Executing a simple query
- MiniProfiler
- Application profiling
- Glimpse
- Using Glimpse
- IDE
- Monitoring HTTP
- Browsers
- Chrome
- Firefox
- Fiddler
- Network
- Microsoft Message Analyzer
- Wireshark
- Roll your own
- Science
- Repeatability
- Only change one thing
- Summary
- Fixing Common Performance Problems
- Latency
- Asynchronous operations
- Simple asynchronous tools
- Background queuing
- Hangfire
- Select N+1 problems
- Efficient paging
- Static site generators
- Pragmatic solutions with hardware
- A desktop example
- Web applications
- Oversized images
- Image resolution
- Image format
- Summary
- Addressing Network Performance
- Internet protocols
- TCP/IP
- Slow-start
- HTTP
- Headers
- HTTP methods
- Status codes
- Encryption
- Key exchange
- Delay diagnostics
- Performance tweaks
- HTTP/2
- WebSockets
- Compression
- Lossless compression algorithms
- Bundling and minification
- Bundling
- Minification
- Changes in ASP.NET Core
- Image optimization
- PNG
- JPEG
- Other image formats
- Resizing images
- Caching
- Browser
- Server
- Proxy servers between you and your users
- CDNs
- Summary
- Optimizing I/O Performance
- Input/output
- Categories of I/O
- Disks
- Virtual filesystems
- Databases
- APIs
- Network diagnostics tools
- Ping
- Tracert
- Nslookup
- Build your own
- Solutions
- Batching API requests
- Efficient DB operations
- Database tuning
- Reporting
- Aggregates
- Sampling
- Inserting data
- GUIDs
- Advanced DB topics
- Simulation and testing
- Summary
- Understanding Code Execution and Asynchronous Operations
- Getting started with the core projects
- .NET Core
- ASP.NET Core
- Kestrel
- Data structures
- Lists
- Dictionaries
- Collection benchmarks
- Bloom filters
- Hashing and checksums
- Hashing benchmarks
- Serialization
- SIMD CPU instructions
- Parallel programming
- Task Parallel Library
- Parallel LINQ
- Parallel benchmarking
- Parallel programming limitations
- Multithreading and concurrency
- Locking
- Practices to avoid
- Reflection
- Regular expressions
- String concatenation in tight loops
- Dynamic typing
- Synchronous operations
- Exceptions
- Summary
- Learning Caching and Message Queuing
- Why caching is hard
- Web caching
- Caching background
- HTTP headers
- Cache busting
- Service workers
- Service worker example
- Web and proxy servers
- IIS
- Varnish
- Working with a content delivery network
- When not to cache
- Application layer caching
- Redis
- Database result set caching
- Message queuing
- Coffee shop analogy
- Message queuing styles
- Common messaging patterns
- Unicast
- Pub/sub
- RabbitMQ
- Queuing frameworks and libraries
- Summary
- The Downsides of Performance-Enhancing Tools
- Managing complexity
- Understanding complexity
- Complexity reduction
- Frameworks
- Architecture
- Monolith versus microservices
- Architecture comparison
- Refactoring
- A culture of high performance
- A blameless culture
- Intellectual dishonesty
- Slow down to go faster
- From the ground up
- Shared values
- The price of performance
- Distributed debugging
- Logging
- Error logging
- Application Insights
- Integrated logging
- Centralized logging
- Statistics
- Managing stale caches
- Summary
- Monitoring Performance Regressions
- Profiling and measurement
- Testing
- Automated testing
- Continuous integration
- Slow testing
- Fixing performance regressions
- Load testing
- Realism
- Realistic environments
- Realistic workloads
- Feature switching
- Experimenting for science
- A/B testing
- User interface testing
- Web UI testing tools
- Automating UI performance tests
- Staying alert
- DevOps
- DevOps tooling
- Provisioning
- Monitoring
- Hosting
- Summary
- The Way Ahead
- Reviewing what we learned
- Further reading
- Going native
- Processor architecture
- Hardware is hard
- Machine learning
- Big data and MapReduce
- Orleans
- Custom transports
- Advanced hashing
- Library and framework support
- The future
- Summary 更新時間:2021-07-08 09:39:51
推薦閱讀
- Hands-On Machine Learning with scikit:learn and Scientific Python Toolkits
- Getting started with Google Guava
- MongoDB for Java Developers
- OpenCV 3和Qt5計算機視覺應用開發
- Python王者歸來
- Functional Programming in JavaScript
- Bootstrap Essentials
- Monitoring Elasticsearch
- 零基礎學Python編程(少兒趣味版)
- Android移動應用開發項目教程
- 數據分析與挖掘算法:Python實戰
- Python Web自動化測試設計與實現
- Clojure Polymorphism
- Android 5從入門到精通
- Roslyn Cookbook
- Java與Android移動應用開發:技術、方法與實踐
- R語言編程基礎
- 數據預處理從入門到實戰:基于SQL、R、Python
- Vue.js從入門到精通
- Hands-On Design Patterns with Kotlin
- LLVM Essentials
- Android移動應用程序開發
- Learning Highcharts 4
- Visual C#程序設計應用教程(第2版)
- 給孩子的極簡Python編程書(全4冊)
- Refactoring TypeScript
- Continuous Delivery with Docker and Jenkins
- Exploring Data with RapidMiner
- Mastering Adobe Captivate 8
- Hands-On Penetration Testing with Python