How do we design a permission system? The diagram below lists 5 common ways. 👇
1. ACL (Access Control List)
ACL is a list of rules that specifies which users are granted or denied access to a particular resource.
Pros - Easy to understand.
Cons - error-prone, maintenance cost is high
2. DAC (Discretionary Access Control)
This is based on ACL. It grants or restricts object access via an access policy determined by an object's owner group.
Pros - Easy and flexible. Linux file system supports DAC.
Cons - Scattered permission control, too much power for the object’s owner group.
3. MAC (Mandatory Access Control)
Both resource owners and resources have classification labels. Different labels are granted with different permissions.
Pros - strict and straightforward.
Cons - not flexible.
4. ABAC (Attribute-based access control)
Evaluate permissions based on attributes of the Resource owner, Action, Resource, and Environment.
Pros - flexible
Cons - the rules can be complicated, and the implementation is hard. It is not commonly used.
5. RBAC (Role-based Access Control)
Evaluate permissions based on roles
Pros - flexible in assigning roles.
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
1. ACL (Access Control List)
ACL is a list of rules that specifies which users are granted or denied access to a particular resource.
Pros - Easy to understand.
Cons - error-prone, maintenance cost is high
2. DAC (Discretionary Access Control)
This is based on ACL. It grants or restricts object access via an access policy determined by an object's owner group.
Pros - Easy and flexible. Linux file system supports DAC.
Cons - Scattered permission control, too much power for the object’s owner group.
3. MAC (Mandatory Access Control)
Both resource owners and resources have classification labels. Different labels are granted with different permissions.
Pros - strict and straightforward.
Cons - not flexible.
4. ABAC (Attribute-based access control)
Evaluate permissions based on attributes of the Resource owner, Action, Resource, and Environment.
Pros - flexible
Cons - the rules can be complicated, and the implementation is hard. It is not commonly used.
5. RBAC (Role-based Access Control)
Evaluate permissions based on roles
Pros - flexible in assigning roles.
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
👍8
Go Developer Survey 2022 Q2 Results:
https://go.dev/blog/survey2022-q2-results
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
https://go.dev/blog/survey2022-q2-results
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
go.dev
Go Developer Survey 2022 Q2 Results - The Go Programming Language
An analysis of the results from the 2022 Q2 Go Developer Survey.
👍3🔥2
Why google cloud engineer love golang?
https://cloud.google.com/blog/products/application-modernization/why-david-yach-loves-go
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
https://cloud.google.com/blog/products/application-modernization/why-david-yach-loves-go
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
Google Cloud Blog
Why David Yach Loves Go | Google Cloud Blog
Learn all the reasons David Yach, industry veteran and Director of Engineering at Google Cloud, loves to use Go for software development.
🔥2🤔2👍1
📥 دریافت شده از: ByteByteGo
-------------
System Design: Why is Kafka fast?
https://lnkd.in/gbfztJjP
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
-------------
System Design: Why is Kafka fast?
https://lnkd.in/gbfztJjP
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
YouTube
System Design: Why is Kafka fast?
Weekly system design newsletter: https://bit.ly/3tfAlYD
Checkout our bestselling System Design Interview books:
Volume 1: https://amzn.to/3Ou7gkd
Volume 2: https://amzn.to/3HqGozy
Other things we made:
Digital version of System Design Interview books:…
Checkout our bestselling System Design Interview books:
Volume 1: https://amzn.to/3Ou7gkd
Volume 2: https://amzn.to/3HqGozy
Other things we made:
Digital version of System Design Interview books:…
👍5
An awesome collection of content for developers trying to bootstrap their SaaS business.
مجموعه ای عالی از محتوا برای توسعهدهندگانی که سعی در راه اندازی کسب و کار SaaS خود دارند.
#SAAS #PAAS #awesome #collection #opensource #github #business #free #book #material
https://saas4devs.tech
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
مجموعه ای عالی از محتوا برای توسعهدهندگانی که سعی در راه اندازی کسب و کار SaaS خود دارند.
#SAAS #PAAS #awesome #collection #opensource #github #business #free #book #material
https://saas4devs.tech
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
👍3🥰2
👍10🔥3❤1
What does the following program print?
package main
func f() bool {
return false
}
func main() {
switch f()
{
case true:
println(1)
case false:
println(0)
}
}
🔥6👍2
❎ const
⁉️What does the following program print?
⁉️Choices:
1️⃣ 6 6
2️⃣ 6 12
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
⁉️What does the following program print?
package main
const X = 3
func main() {
const (
X = X + X
Y
)
println(X, Y)
}
⁉️Choices:
1️⃣ 6 6
2️⃣ 6 12
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
👍5🤔4
❎ function call
⁉️ What is the behavior of the following program?
⁉️Choices:
1️⃣ 0 0 0
2️⃣0 1 0
3️⃣ 0 1 1
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
⁉️ What is the behavior of the following program?
package main
func f(vs ...interface{}) {
print(len(vs))
}
func main() {
f()
f(nil)
f(nil...)
}
⁉️Choices:
1️⃣ 0 0 0
2️⃣0 1 0
3️⃣ 0 1 1
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
👍4
📥 دریافت شده از:
Hamidreza Hosseinkhani
-------------
❎بیشتر ما از Redis به عنوان یک data store برای نگهداشت دادهها در حافظه رم مثلا به عنوان cache استفاده کردیم و از سرعت و پرفورمنسش به وجد اومدیم.
❎اما خیلی از قابلیتهای دیگه که به کمک ماژول ها به این ابزار قدرتمند اضافه میشن رو دست کم گرفتیم.
❎ ویژگیهایی مثل
▶️full text search
▶️secondary indexing
▶️aggregation
▶️geo filtering
▶️fuzzy search
▶️time series analysis
▶️deep learning model serving
▶️bloom filter و gaph analysis
▶️vector similarity searches
...
❎پیشنهاد میکنم به جای خود Redis همین الان Redis Stack (شامل ردیس و چند ماژول کاربردی) رو نصب کنید و قابلیت های مختلفش رو امتحان کنید.
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
Hamidreza Hosseinkhani
-------------
❎بیشتر ما از Redis به عنوان یک data store برای نگهداشت دادهها در حافظه رم مثلا به عنوان cache استفاده کردیم و از سرعت و پرفورمنسش به وجد اومدیم.
❎اما خیلی از قابلیتهای دیگه که به کمک ماژول ها به این ابزار قدرتمند اضافه میشن رو دست کم گرفتیم.
❎ ویژگیهایی مثل
▶️full text search
▶️secondary indexing
▶️aggregation
▶️geo filtering
▶️fuzzy search
▶️time series analysis
▶️deep learning model serving
▶️bloom filter و gaph analysis
▶️vector similarity searches
...
❎پیشنهاد میکنم به جای خود Redis همین الان Redis Stack (شامل ردیس و چند ماژول کاربردی) رو نصب کنید و قابلیت های مختلفش رو امتحان کنید.
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
❤13👍1
🍴پکیج Forker
با استفاده از این پکیج می توانید درخواست های سمت سرور http را همزمان بین child process های تقسیم کنید و اینکار باعث پردازش سریعتر درخواست های همزمان می شود.
https://github.com/Ja7ad/forker
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
با استفاده از این پکیج می توانید درخواست های سمت سرور http را همزمان بین child process های تقسیم کنید و اینکار باعث پردازش سریعتر درخواست های همزمان می شود.
https://github.com/Ja7ad/forker
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
👍10🤔5❤1👎1🕊1
📌 ابزار fieldalignment برای از بین بردن سریع padding aligment ها
با استفاده از این ابزار می توانید padding های داخل struct را از بین ببرید تا حافظه کمتری در مموری اشتغال شود.
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
با استفاده از این ابزار می توانید padding های داخل struct را از بین ببرید تا حافظه کمتری در مموری اشتغال شود.
go install golang.org/x/tools/go/analysis/passes/fieldalignment/cmd/fieldalignment@latest
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
👍8🕊2
دوستان چند وقتی هست یک کتابخانه با نام pgp نوشتم که چندین Payment gateway provider رو پشتیبانی کنه نظیر زرین پال و ...
فعلا کلاینت و زرین پال رو نوشتم ولی وقت نکردم تست کامل بنویسم و تست بگیرم
اگر مایل به مشارکت بودین خیلی خوشحال میشم تا بتونم این کتابخانه رو تکمیل کنم و از تجربه و ایده های شما عزیزان هم استفاده کنم
https://github.com/Ja7ad/pgp
.
فعلا کلاینت و زرین پال رو نوشتم ولی وقت نکردم تست کامل بنویسم و تست بگیرم
اگر مایل به مشارکت بودین خیلی خوشحال میشم تا بتونم این کتابخانه رو تکمیل کنم و از تجربه و ایده های شما عزیزان هم استفاده کنم
https://github.com/Ja7ad/pgp
.
GitHub
GitHub - GoFarsi/paygap: Payment gateway providers SDK Go for zarinpal, idpay, pay.ir, and other gateway providers
Payment gateway providers SDK Go for zarinpal, idpay, pay.ir, and other gateway providers - GitHub - GoFarsi/paygap: Payment gateway providers SDK Go for zarinpal, idpay, pay.ir, and other gateway ...
👍10🕊2🤔1
#code_time
✅ در کد بالا چه اتفاقی صورت گرفته؟ (عنوان مناسب با توضیحات کامنت کنید)
https://go.dev/play/p/Fd7hi5tpAIN
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
✅ در کد بالا چه اتفاقی صورت گرفته؟ (عنوان مناسب با توضیحات کامنت کنید)
https://go.dev/play/p/Fd7hi5tpAIN
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
👍2🤔2🕊2
✅ سایت stackoverflow بصورت آفلاین (۷۰ گیگ)
https://download.kiwix.org/zim/stack_exchange/stackoverflow.com_en_all_2022-05.zim
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
https://download.kiwix.org/zim/stack_exchange/stackoverflow.com_en_all_2022-05.zim
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
👍4🕊2