ورود به حساب

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

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

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

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

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

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


09117307688
09117179751

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

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

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

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

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

پشتیبانی

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

دانلود کتاب Hands-On Software Architecture with Golang: Design and architect highly scalable and robust applications using Go

دانلود کتاب معماری نرم افزاری کاربردی با Golang: برنامه های کاربردی بسیار مقیاس پذیر و قوی را با استفاده از Go طراحی و معمار کنید

Hands-On Software Architecture with Golang: Design and architect highly scalable and robust applications using Go

مشخصات کتاب

Hands-On Software Architecture with Golang: Design and architect highly scalable and robust applications using Go

دسته بندی: برنامه نويسي
ویرایش:  
نویسندگان:   
سری:  
ISBN (شابک) : 9781788625104, 1788625102 
ناشر: Packt Publishing 
سال نشر: 2018 
تعداد صفحات: 491 
زبان: English 
فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) 
حجم فایل: 17 مگابایت 

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



کلمات کلیدی مربوط به کتاب معماری نرم افزاری کاربردی با Golang: برنامه های کاربردی بسیار مقیاس پذیر و قوی را با استفاده از Go طراحی و معمار کنید: گلنگ



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

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


در صورت تبدیل فایل کتاب Hands-On Software Architecture with Golang: Design and architect highly scalable and robust applications using Go به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.

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


توضیحاتی در مورد کتاب معماری نرم افزاری کاربردی با Golang: برنامه های کاربردی بسیار مقیاس پذیر و قوی را با استفاده از Go طراحی و معمار کنید

درک اصول معماری نرم افزار با پوشش SOA، سیستم های توزیع شده و پیام رسانی، و مدل سازی پایگاه داده ویژگی های کلیدی کسب دانش از رویکردهای معماری در SOA و ریزسرویس ها برای تصمیم گیری های معماری کاوش الگوهای مختلف معماری برای ساخت برنامه های کاربردی توزیع شده انتقال برنامه های کاربردی نوشته شده در جاوا یا پایتون به Go language توضیحات کتاب نرم افزار ساختمان نیازمند برنامه ریزی دقیق و ملاحظات معماری است. Golang با دیدگاهی تازه در ساخت برنامه های نسل بعدی بر روی ابر با نگرانی های محاسباتی توزیع شده و همزمان توسعه داده شد. Hands-On Software Architecture with Golang با معرفی مختصری از عناصر معماری، Go و یک مطالعه موردی برای نشان دادن اصول معماری شروع می شود. سپس به جنبه‌های سطح کد مانند مدولار بودن، طراحی کلاس و ساختارهای خاص Golang و اجرای الگوهای طراحی ادامه خواهید داد. همانطور که راه خود را از طریق فصل ها طی می کنید، اهداف اصلی معماری مانند مدیریت موثر پیچیدگی، مقیاس پذیری و قابلیت اطمینان سیستم های نرم افزاری را کشف خواهید کرد. شما همچنین قبل از اینکه به مدل سازی و مقیاس بندی داده ها بروید، از طریق ایجاد سیستم های توزیع شده و ارتباطات آنها کار خواهید کرد. در فصل های پایانی، شما یاد خواهید گرفت که معماری ها را به کار بگیرید و برنامه ریزی مهاجرت برنامه های کاربردی از زبان های دیگر را انجام دهید. در پایان این کتاب، بینشی در مورد الگوهای مختلف طراحی و معماری به دست خواهید آورد که به شما امکان می دهد با استفاده از Golang، معماری قوی و مقیاس پذیر ایجاد کنید. آنچه می آموزید درک پارادایم های معماری و فرو رفتن عمیق در میکروسرویس ها طراحی الگوهای موازی / همزمانی و یادگیری الگوهای طراحی شی گرا در Go Explore معماری سیستم های مبتنی بر API با مقدمه ای بر استانداردهای REST و GraphQL معماری های رویداد محور بسازید و معماری های خود را ضد خود قرار دهید. مقیاس‌پذیری مهندسی شکننده و یاد بگیرید که چگونه از زبان‌های دیگر به Go مهاجرت کنید با ملاحظات استقرار با خط لوله CICD، استقرار ابر و غیره آشنا شوید. یک برنامه کاربردی تجارت الکترونیک (سفر) سرتاسر بسازید در Go این کتاب کیست for Hands-On Software Architecture with Golang برای توسعه دهندگان نرم افزار، معماران و مدیران ارشد فناوری به دنبال استفاده از Go در معماری نرم افزار خود برای ساخت برنامه های کاربردی در سطح سازمانی است. دانش برنامه نویسی Golang فرض شده است.


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

Understand the principles of software architecture with coverage on SOA, distributed and messaging systems, and database modeling Key Features Gain knowledge of architectural approaches on SOA and microservices for architectural decisions Explore different architectural patterns for building distributed applications Migrate applications written in Java or Python to the Go language Book Description Building software requires careful planning and architectural considerations; Golang was developed with a fresh perspective on building next-generation applications on the cloud with distributed and concurrent computing concerns. Hands-On Software Architecture with Golang starts with a brief introduction to architectural elements, Go, and a case study to demonstrate architectural principles. You'll then move on to look at code-level aspects such as modularity, class design, and constructs specific to Golang and implementation of design patterns. As you make your way through the chapters, you'll explore the core objectives of architecture such as effectively managing complexity, scalability, and reliability of software systems. You'll also work through creating distributed systems and their communication before moving on to modeling and scaling of data. In the concluding chapters, you'll learn to deploy architectures and plan the migration of applications from other languages. By the end of this book, you will have gained insight into various design and architectural patterns, which will enable you to create robust, scalable architecture using Golang. What you will learn Understand architectural paradigms and deep dive into Microservices Design parallelism/concurrency patterns and learn object-oriented design patterns in Go Explore API-driven systems architecture with introduction to REST and GraphQL standards Build event-driven architectures and make your architectures anti-fragile Engineer scalability and learn how to migrate to Go from other languages Get to grips with deployment considerations with CICD pipeline, cloud deployments, and so on Build an end-to-end e-commerce (travel) application backend in Go Who this book is for Hands-On Software Architecture with Golang is for software developers, architects, and CTOs looking to use Go in their software architecture to build enterprise-grade applications. Programming knowledge of Golang is assumed.



فهرست مطالب

Cover
Title Page
Copyright and Credits
About Packt
Contributors
Table of Contents
Preface
Chapter 1: Building Big with Go
	Problem solving for the big picture
		The role of the architect
			Requirements clarification
			True North
			Technology selection
			Leadership in the kitchen
			Coaching and mentoring
			Target state versus current state
	Software architecture
		Architecture versus design
		What does architecture look like?
	Microservices
		The challenges for microservices – efficiency
		The challenges for microservices – programming complexity
	Go
		Hello World!
		Data types and structures
		Functions and methods
		Flow control
		Packaging
		Concurrency
		Garbage collection
		Object-orientation
	Summary
Chapter 2: Packaging Code
	Contracts
	Object orientation
		Object orientation in Go – the struct
		Object orientation in Go – visibility
		Object oriented in Go – the interface
		Object oriented in Go – embedding
	Modules
		Code layout
		Third-party dependencies
		Framework
	Testing
		Structuring tests
	Summary
Chapter 3: Design Patterns
	Design principles
		Single Responsibility Principle (S)
		Open/Closed Principle (O)
		Liskov Substitution Principle (L)
		Interface Segregation Principle (I)
		Dependency Inversion Principle (D)
	Creational design patterns
		Factory method
		Builder
		Abstract factory
		Singleton
	 Structural design patterns
		Adaptor
		Bridge
		Composite
		Decorator
		Facade
		Proxy
	Behavioral design patterns
		Command
		Chain of Responsibility
		Mediator
		Memento
		Observer
		Visitor
		Strategy
		State
	Summary
Chapter 4: Scaling Applications
	Scaling algorithms
		Algorithm complexity
		Distributed algorithms
	Scaling data structures
		Profiling data structures
		Probabilistic data structures
	Scaling data
	Scalability bottlenecks
		The C10K problem
		The Thundering Herd problem
	Sources
		Programming
		Operating systems
		Memory usage
	Losing state
	Scaling systems
		X-axis scaling
		Y-axis scaling
		Z-axis scaling
	Scaling deployments
	Summary
Chapter 5: Going Distributed
	Topology
	Distributed system quirks
		The network is reliable
		The latency is zero
		The bandwidth is infinite
		The network is secure
		The topology doesn't change
		There is one administrator
		The transport cost is zero
		The network is homogeneous
	Consistency
		ACID
		Client-centric consistency models
			Strong consistency
			Weak consistency
			Eventual consistency
				Sequential consistency
				Causal consistency
				Session consistency
				Monotonic read consistency
				Monotonic write consistency
		Storage system-centric consistency model
		CAP theorem
	Consensus
		The two generals problem
		Consensus based on time – causality
		Multi-phase commit
			Two-phase commit
			Three-phase commit
		Paxos
		Raft
		Leader-election
	Distributed architectures
		Object-based systems
		Layered architectures
		Peer-2-peer (P2P) architecture
		Distributed computations
		Event-driven architecture (EDA)
		The Actor model
		Stream processing
	Summary
Chapter 6: Messaging
	Performance characterization
	Broker-based messaging
		The queuing model
		The Pub/Sub model
		Delivery semantics
			Acknowledgement
				At-least-once delivery
				At-most-once delivery
				Exactly-once delivery
		Resilience
		AMQP
	Apache Kafka deep dive
		Concepts
		Publishing messages
			The AsyncProducer interface
			The Sync producer
		Consuming messages
		Stream processing
	Brokerless messaging
	NSQ deep-dive
		Concepts
		Publishing messages
		Consuming messages
	Integration patterns
		The request-reply pattern
		The correlation identifier pattern
		The pipes and filters pattern
		The content-based router pattern
		The fan-in pattern
		The fan-out pattern
		The background worker pattern
	Summary
Chapter 7: Building APIs
	Endpoints
		Networking basics
		Service discovery
			Server-side service discovery
			Client-side service discovery
	Data serialization
		XML
		JSON
		Protobuf
		Performance
	Representational State Transfer (REST)
		Concepts
		Constraints
			Client-server model
			Stateless
			Cacheability
			Uniform interface
		Richardson Maturity Model
			Level 0 – swamp of POX
			Level 1 – resources
			Level 2 – HTTP verbs
			Level 3 – hypermedia controls
	Building a REST service using Gin
		Gin introduction
		Sample application
		Router
		Create
		Read
		Update
		Delete
	GraphQL
		Schema
		Endpoints
			Queries
			Mutations
			Subscriptions
	Higher-level patterns
		Model-View-Controller (MVC)
		Load balancing health checks
		API gateway
	Go kit 
	Summary
Chapter 8: Modeling Data
	Entities and relationships
	Consistency guarantees
		ACID (Atomicity, Consistency, Isolation, Durability)
			Atomicity
			Consistency
			Isolation
			Durability
		BASE (Basically Available, Soft state, Eventual consistency)
	Relational model
		The first normal form
		The second normal form
		The third normal form
		The Boyce-Codd normal form
		The fourth normal form
		SQL
		Indices
		Views
			Inner join
			Left outer join
			Right outer join
			Full outer join
		MySQL deep-dive
			Connection management
			Query execution
			Storage engines
				InnoDB
				MyISAM
				Other plugins
			High availability/scalability
		Object Relational Mappers (ORMs)
	Key/value stores
		Concepts
		Redis deep-dive
			Architecture
			Data structures
			Persistence
			Clustering
			Use cases
			Golang usage
	Wide column stores
	Column family stores
		Cassandra deep-dive
			Data distribution
			Write paths
			Read paths
			Golang usage
	Patterns for scaling data performance
		Sharding
		Denormalization
		Materialized views
	Summary
Chapter 9: Anti-Fragile Systems
	Reliability metrics
		Dynamic metrics
		Static metrics
	Engineering reliability
		Rugged services
		High availability
		Messaging
			The asynchronous computation pattern
			The orchestrator pattern
			The compensating-transaction pattern
			The pipes and filter pattern
			Hotspots
		The sidecar pattern
		Throttling
		Versioning 
	Reliability verification
		Unit tests
		Integration tests
		UI tests
		Performance tests
	Chaos-engineering
	Dependencies
		Failure multiplication
		Cascading failures
		Dependency resilience
			An introduction to Hystrix
			Hystrix – fallback
			Hystrix – circuit breaker
			Hystrix in Golang
			Hystrix monitoring
	Database-level reliability
	Datacenter-level reliability
		Consistency
		Routing and cutover
	Summary
Chapter 10: Case Study – Travel Website
	The product
		Actors
		Requirements
	Data modeling
	High-level architecture
	Search
		Flights
		Hotels
	Booking
		Payment
		Reservation
	Summary
Chapter 11: Planning for Deployment
	Deployment architecture
		Components
			Computes
				Physical Servers
				Virtual machines
				Containers
				Compute Attributes
			Storage
			Networking
			Load Balancers
			API Gateways
			Reverse proxies
			Messaging brokers
		Environments
		Capacity Planning and Sizing
		Disaster recovery
	CICD
		Overview
		Jenkins
			Sample Code
			Installing Jenkins
			Installing Docker
			Setting up Plugins
			Creating a project
			Running the Build
		Target Configuration
		Tooling
			go fmt
			golint
			go build
		Footnote
	Monitoring
		Logs
		Metrics
		Application Performance Monitoring/Dashboards
		Alerts
		Team
	Clouds
		Infrastructure as a Service (IaaS)
		Platform as a Service (PaaS)
		Software as a service (SaaS)
	Security
	Summary
Chapter 12: Migrating Applications
	Reasons for migration
		Python
		Java
	Migration strategy
		Phase 1 – Learning Go
		Phase 2 – Piloting a service
		Phase 3 – Defining packages
		Phase 4 – Porting main
		Phase 5 – Porting packages
		Phase 6 – Improving computation
	Building a team
	Summary
Other Books You May Enjoy
Index




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