🎯هر زمان از توسعه دهنده ها در مورد علت انتخاب زبان برنامه نویسی Go برای یادگیری یا توسعه در پروژه ها سوال می شه پاسخ هایی بعضا ساده، گاه بلند در توصیف نقاط قوت این زبان می شنویم.
🎯در تمامی این پاسخ ها همیشه دو مورد مشترک وجود داره که همه توسعه دهنده ها به اون اشاره می کنن: Concurrency و Performance. شاید ساده ترین و در عین حال کامل ترین پاسخ به این سوال یک جمله ساده باشه:
🔹چون زبان برنامه نویسی Go سریعه.🔹
🎯فاکتورهای متنوعی رو میشه به عنوان علل سریع بودن زبان برنامه نویسی Go مطرح کرد که مهمترین و جذاب ترین اون قابلیت ذاتی concurrency در این زبان هستش.
🎯این قابلیت توسط سه تفنگدار concurrency در این زبان برآورده میشه. در واقع مثلث goroutine، channel و sync package نقش اصلی و در واقع ابزار دستیابی به concurrency در این زبانه
🔰 @gopher_academy
🎯در تمامی این پاسخ ها همیشه دو مورد مشترک وجود داره که همه توسعه دهنده ها به اون اشاره می کنن: Concurrency و Performance. شاید ساده ترین و در عین حال کامل ترین پاسخ به این سوال یک جمله ساده باشه:
🔹چون زبان برنامه نویسی Go سریعه.🔹
🎯فاکتورهای متنوعی رو میشه به عنوان علل سریع بودن زبان برنامه نویسی Go مطرح کرد که مهمترین و جذاب ترین اون قابلیت ذاتی concurrency در این زبان هستش.
🎯این قابلیت توسط سه تفنگدار concurrency در این زبان برآورده میشه. در واقع مثلث goroutine، channel و sync package نقش اصلی و در واقع ابزار دستیابی به concurrency در این زبانه
🔰 @gopher_academy
🎯Golang for Microservices: Build Clean Architecture🎯
.
👇Some of the popular ones are:👇
.
🔺gomicro
🔺gokit
🔺 Gizmo
.
🔰 @gopher_academy
.
👇Some of the popular ones are:👇
.
🔺gomicro
🔺gokit
🔺 Gizmo
.
🔰 @gopher_academy
Gopher Academy
🎯Golang for Microservices: Build Clean Architecture🎯 . 👇Some of the popular ones are:👇 . 🔺gomicro 🔺gokit 🔺 Gizmo . 🔰 @gopher_academy
👇gomicro👇
🎯یکی از محبوب ترین فرم ورک های RPC می باشداین فرم وروک .
و از حالت ارتباط asynchronous و synchronous استفاده میکند و فراهم کننده خاصیت balancing برای سرویس های مختلف هست
این فرم وروک سه لایه هست
🔹Service absorption
🔹Client server model
🔹 plugins.
.
🔰 @gopher_academy
🎯یکی از محبوب ترین فرم ورک های RPC می باشداین فرم وروک .
و از حالت ارتباط asynchronous و synchronous استفاده میکند و فراهم کننده خاصیت balancing برای سرویس های مختلف هست
این فرم وروک سه لایه هست
🔹Service absorption
🔹Client server model
🔹 plugins.
.
🔰 @gopher_academy
Gopher Academy
🎯Golang for Microservices: Build Clean Architecture🎯 . 👇Some of the popular ones are:👇 . 🔺gomicro 🔺gokit 🔺 Gizmo . 🔰 @gopher_academy
👇gokit👇
این فرم وروک هم یکی دیگر از فرم ورک های RPC هست با ویژگی های متعدد در کتابخانه مانند
🔹Authentication
🔹Transport
🔹Logging
🔹tracing
🔹Service discovery
.
🔰 @gopher_academy
این فرم وروک هم یکی دیگر از فرم ورک های RPC هست با ویژگی های متعدد در کتابخانه مانند
🔹Authentication
🔹Transport
🔹Logging
🔹tracing
🔹Service discovery
.
🔰 @gopher_academy
Gopher Academy
🎯Golang for Microservices: Build Clean Architecture🎯 . 👇Some of the popular ones are:👇 . 🔺gomicro 🔺gokit 🔺 Gizmo . 🔰 @gopher_academy
👇Gizmo👇
توسط نیورک تایمز ارائه شده
و دارای کتابخانه های از جمله
server and pubsub
می باشد
🔰 @gopher_academy
توسط نیورک تایمز ارائه شده
و دارای کتابخانه های از جمله
server and pubsub
می باشد
🔰 @gopher_academy
🎯REST API Versioning🎯
👇URI Versioning👇
🔹http://api.example.com/v1
🔹http://apiv1.example.com
👇Versioning using Custom Request Header👇
🔹Accept-version: v1
🔹Accept-version: v2
👇Versioning using Accept header👇
🔹Accept: application/vnd.example.v1+json
🔹Accept: application/vnd.example+json;version=1.0
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
👇URI Versioning👇
🔹http://api.example.com/v1
🔹http://apiv1.example.com
👇Versioning using Custom Request Header👇
🔹Accept-version: v1
🔹Accept-version: v2
👇Versioning using Accept header👇
🔹Accept: application/vnd.example.v1+json
🔹Accept: application/vnd.example+json;version=1.0
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
🎯خوب قدم اول یه پوشه دورس کنید اسمش رو هر چی خواستید بزاربد
مثل 🎯
🔻Pkg/user or services/user
🔹service.go
🔹Repository.go
🔹Mongodb.go
🔹entity.go
👇👇👇👇👇
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
مثل 🎯
🔻Pkg/user or services/user
🔹service.go
🔹Repository.go
🔹Mongodb.go
🔹entity.go
👇👇👇👇👇
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
ارتباط یا هسته اصلی برنامه جهت برقرار با مانگو و یه سرویس ابری(البته دلخواه ) و بعد ش استفاده از repository و service ها
👇👇👇👇👇
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
👇👇👇👇👇
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
🎯وقتی شما یه کانال از نوع بافر شده میسازید دقیقا پشته صحنه این اتقاقات بالا می افته🎯
🔺هربخش رو توی ادامه توضیح میدم
🔹ch := make(chan int, 3)
.
🔰 @gopher_academy
🔺هربخش رو توی ادامه توضیح میدم
🔹ch := make(chan int, 3)
.
🔰 @gopher_academy
🔸استخدام Golang Back-end Developer (Go) در شرکت اندیشه فرتاک امیرکبیر #تهران
🔹حقوق تا ۱۲ میلیون تومان
🔗 https://quera.ir/r/Rvl5HE
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
🔹حقوق تا ۱۲ میلیون تومان
🔗 https://quera.ir/r/Rvl5HE
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
🎯سروریس های موجود برای کار با aws که در واقع بلد بودن awsیک مزیت بزرگ برای هر موقعیت شغلی گولنگ حساب میاد چرا که توی اکثر موقعیت های شغلی از این Iaas استفاده میکنند🎯
🔹AWS API Gateway
🔹AWS Application Load Balancer (ALB)
🔹AWS Athena
🔹AWS Aurora
🔹AWS Certificate Manager (ACM)
🔹AWS CloudFront
🔹AWS CloudWatch
🔹AWS DynamoDB
🔹AWS EC2 Auto Scaling
🔹AWS Elastic Beanstalk
🔹AWS Elastic Block Store (EBS)
🔹AWS Elastic Compute Cloud (EC2)
🔹AWS Elastic Container Service (ECS)
🔹AWS Elastic Kubernetes Service (EKS)
🔹AWS Elastic Load Balancer (ELB)
🔹AWS ElastiCache
🔹AWS Elasticsearch
🔹AWS Fargate
🔹AWS IoT
🔹AWS Kinesis
🔹AWS Lambda
🔹AWS Network Load Balancer (NLB)
🔹AWS Relational Database Service (RDS)
🔹AWS Route53
🔹AWS Simple Email Service (SES)
🔹AWS Simple Notification Service (SNS)
🔹AWS Simple Queue Service (SQS)
🔹AWS Simple Storage Service (S3)
🔹AWS Virtual Private Cloud (VPC)
.
🔰 @gopher_academy
🔹AWS API Gateway
🔹AWS Application Load Balancer (ALB)
🔹AWS Athena
🔹AWS Aurora
🔹AWS Certificate Manager (ACM)
🔹AWS CloudFront
🔹AWS CloudWatch
🔹AWS DynamoDB
🔹AWS EC2 Auto Scaling
🔹AWS Elastic Beanstalk
🔹AWS Elastic Block Store (EBS)
🔹AWS Elastic Compute Cloud (EC2)
🔹AWS Elastic Container Service (ECS)
🔹AWS Elastic Kubernetes Service (EKS)
🔹AWS Elastic Load Balancer (ELB)
🔹AWS ElastiCache
🔹AWS Elasticsearch
🔹AWS Fargate
🔹AWS IoT
🔹AWS Kinesis
🔹AWS Lambda
🔹AWS Network Load Balancer (NLB)
🔹AWS Relational Database Service (RDS)
🔹AWS Route53
🔹AWS Simple Email Service (SES)
🔹AWS Simple Notification Service (SNS)
🔹AWS Simple Queue Service (SQS)
🔹AWS Simple Storage Service (S3)
🔹AWS Virtual Private Cloud (VPC)
.
🔰 @gopher_academy
Gopher Academy
🎯وقتی شما یه کانال از نوع بافر شده میسازید دقیقا پشته صحنه این اتقاقات بالا می افته🎯 🔺هربخش رو توی ادامه توضیح میدم 🔹ch := make(chan int, 3) . 🔰 @gopher_academy
🎯آموزش سفر به اعماق channel ها در گولنگ🎯
🔹Channel?
🔹What it takes to be a Channel.
🔹Channel Structure
🔹hchan and waitq structs
🔹Important Field of sudog struct for channel
🔹Chan Struct at the runtime
🔹Recvq structure
➖➖➖➖
🔹Send Opertaion Steps c <- x
🔸sending on nil channel
🔸sending on the closed channel.
🔸A goroutine is blocked on the channel
🔸Buffered Channel if there is currently space available for hchan.buf
🔸The hchan.buf is full
🔸Send operation Summary
➖➖➖➖
🔷Receive Opertaion Steps <- ch
🔸select channel Example
🔸scase structure
🔸poll order
🔸park goroutine in select case
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
🔹Channel?
🔹What it takes to be a Channel.
🔹Channel Structure
🔹hchan and waitq structs
🔹Important Field of sudog struct for channel
🔹Chan Struct at the runtime
🔹Recvq structure
➖➖➖➖
🔹Send Opertaion Steps c <- x
🔸sending on nil channel
🔸sending on the closed channel.
🔸A goroutine is blocked on the channel
🔸Buffered Channel if there is currently space available for hchan.buf
🔸The hchan.buf is full
🔸Send operation Summary
➖➖➖➖
🔷Receive Opertaion Steps <- ch
🔸select channel Example
🔸scase structure
🔸poll order
🔸park goroutine in select case
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
Gopher Academy
🎯آموزش سفر به اعماق channel ها در گولنگ🎯 🔹Channel? 🔹What it takes to be a Channel. 🔹Channel Structure 🔹hchan and waitq structs 🔹Important Field of sudog struct for channel 🔹Chan Struct at the runtime 🔹Recvq structure ➖➖➖➖ 🔹Send Opertaion Steps c <- x 🔸sending…
🎯Channel?🎯
🔹یک الگوی هست برای کارهای که نیاز به همزمانی دارد را همگام سازی می کند. در واقع گولنگ برای همزمانی به یک مدلی به نام CSP متکی هست که فلسفه اصلی ابن مدل همزمانی می باشد. که الگوی همگام سازی ار طریق کانال را فراهم می کند.
🔸CSP= Communicating Sequential Processes
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
🔹یک الگوی هست برای کارهای که نیاز به همزمانی دارد را همگام سازی می کند. در واقع گولنگ برای همزمانی به یک مدلی به نام CSP متکی هست که فلسفه اصلی ابن مدل همزمانی می باشد. که الگوی همگام سازی ار طریق کانال را فراهم می کند.
🔸CSP= Communicating Sequential Processes
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy