قانون 15 دقیقه موفقیت ژاپنیها:
- اگر روزی ۱۵ دقیقه مطالعه کنید و سلولهای خاکستری مغزتون رو درگیر کنید، به پیشرفت بزرگی در یادگیری دست پیدا میکنید
- اگر روزی ۱۵ دقیقه از کارهای بی اهمیتتون کم کنید، ظرف مدت چند سال موفقیت چشمگیری نصیبتون میشه
- اگر روزی ۱۵ دقیقه رو صرف خودسازی کنید در پایان سال تغییر ایجاد شده رو به خوبی حس میکنید
زیبایی قانون ۱۵ دقیقه به اینه که انقدر به زمان کمی نیاز داره که هیچ وقت به بهونه وقت نداشتن اون رو به تاخیر نمیاندازید
➖➖➖➖➖➖➖➖
🕊 @gopher_academy
- اگر روزی ۱۵ دقیقه مطالعه کنید و سلولهای خاکستری مغزتون رو درگیر کنید، به پیشرفت بزرگی در یادگیری دست پیدا میکنید
- اگر روزی ۱۵ دقیقه از کارهای بی اهمیتتون کم کنید، ظرف مدت چند سال موفقیت چشمگیری نصیبتون میشه
- اگر روزی ۱۵ دقیقه رو صرف خودسازی کنید در پایان سال تغییر ایجاد شده رو به خوبی حس میکنید
زیبایی قانون ۱۵ دقیقه به اینه که انقدر به زمان کمی نیاز داره که هیچ وقت به بهونه وقت نداشتن اون رو به تاخیر نمیاندازید
➖➖➖➖➖➖➖➖
🕊 @gopher_academy
👍19🔥4🎉1🕊1🍾1
جالبه👍
دیتا تمام ایستگاه های مترو تهران رو به صورت گراف تو فرمت json گزاشتم گیت هاب
کسی خواست استفاده کنه خوشحال میشم استار هم بده
* دیتا ممکنه بخاطر تغیرات مترو ناقص بشه
سعی میکنم ریپو رو اپدیت نگه دارم
https://github.com/mostafa-kheibary/tehran-metro-graph
#DevTwitter | <Mostafa Kheibary/>
➖➖➖➖➖➖➖➖
🕊 @gopher_academy
دیتا تمام ایستگاه های مترو تهران رو به صورت گراف تو فرمت json گزاشتم گیت هاب
کسی خواست استفاده کنه خوشحال میشم استار هم بده
* دیتا ممکنه بخاطر تغیرات مترو ناقص بشه
سعی میکنم ریپو رو اپدیت نگه دارم
https://github.com/mostafa-kheibary/tehran-metro-graph
#DevTwitter | <Mostafa Kheibary/>
➖➖➖➖➖➖➖➖
🕊 @gopher_academy
👍15
1. Define domain models based on business concepts rather than technical requirements. Focus on the core domain logic.
2. Use repositories and services to isolate domain logic from infrastructure concerns.
3. Leverage interfaces and dependency injection to achieve loose coupling between components.
4. Use custom types rather than primitives to model domain concepts. Add domain-specific behavior.
5. Encapsulate business rules inside domain entities and value objects.
6. Validate invariants and enforce business rules in entity methods.
7. Use the factory pattern to encapsulate complex entity creation logic.
8. Design aggregates to manage consistency boundaries. Reference other aggregates by ID.
9. Implement domain events to maintain state consistency and communicate events to other parts of the system.
10. Use CQRS and command/query separation to simplify queries and prevent side effects.
11. Define explicit domain service interfaces to encapsulate domain logic reuse.
12. Leverage Go's interfaces for ports and adapters to isolate external dependencies.
13. Write tests focused on domain logic. Mock out external dependencies.
14. Refactor towards deeper domain models by pushing more logic into entities.
15. Establish ubiquitous language within code, models, and team communication.
16. Iterate models with domain experts to refine core abstractions.
17. Distill core domains from subdomains. Bound contexts with interfaces.
18. Maintain domain code and models separate from infrastructure code.
19. Implement anti-corruption layers to isolate external models.
20. Document context mappings between bounded contexts and subdomains.
➖➖➖➖➖➖➖➖
🕊 @gopher_academy
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥2🎉1🕊1
This file documents guidance about how to best apply the Go Style Guide. This guidance is intended for common situations that arise frequently, but may not apply in every circumstance. Where possible, multiple alternative approaches are discussed along with the considerations that go into the decision about when and when not to apply them.
https://google.github.io/styleguide/go/best-practices.html
➖➖➖➖➖➖➖➖
🕊 @gopher_academy
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🎉1🕊1
بیشتر تغییرات در پیادهسازی های Toolchain، runtime و کتابخونههای زبان بوده.
که به صورت مختصر موارد زیر هستند:
• Three new built-in functions: min, max, and clear.
• Improved type inference for generic functions.
• Profile Guided Optimization (PGO) feature for faster and more efficient builds.
• New packages for structured logging, slices, maps, and comparison utilities.
• A new port for WebAssembly System Interface (WASI).
• Backward and Forward Language Compatibility
- تاریخ: روز پنجشنبه ۳ شهریور ۱۴۰۲ ساعت ۱۱ تا ۱۲ یک جلسهی آنلاین برگزار می شود.
- برگزار کننده: مهندس حسین زلفی
- محل برگزاری: پلت فرم zoom (اسپانسر GoBridge)
Add to Calendar
Add to Google Calendar
Add to Yahoo Calendar
لینک ورود به جلسه: https://us02web.zoom.us/s/86594571933
آیدی میتینگ:
865 9457 1933پسورد:
214062
➖➖➖➖➖➖➖➖🕊 @gopher_academy
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🎉2🕊2🍾2
Reverse proxy | API gateway | Load balancer
سه مولفه ی مهم در معماری وب مدرن که آگاهی از نحوه عملکرد اون ها برای ساخت برنامههای کارآمد، ایمن و مقیاسپذیر ضروریه.
۱- اولین مولفه Reverse proxy در لایه ۷ مدل OSI درخواست ها و پاسخ ها را در سطح HTTP مدیریت می کنه.
- مخفی نگه داشتن سرورها
- مناسب برای جلوگیری از حملات سایبری
- نگهداری محتوا (Caching)
۲- دومین مولفه API gateway ابزار مهم در معماری میکروسرویسها و توسعه وب محسوب می شه.
- توزیع بار (Load Balancing)
- مدیریت مسیرها (Routing)
- ایده آل برای برنامه های مرتبط با چندین سرویس ارتباطی
۳- سومین مولفه load balancer ابزاریه که در معماری وب و سیستمهای به منظور توزیع بار ترافیک بین چندین سرور یا منبع مشابه استفاده میشه.
- توزیع منظم ترافیک
- مقیاسپذیری (Scalability)
- به شما اطمینان می ده در صورت خرابی یک سرور، فعالیت سایر سرورها دچار مشکل نشه
به طور خلاصه، Reverse Proxy برای مخفی کردن سرورها،API Gateway برای ارتباطات سازمان یافته و Load Balancer برای کنترل ترافیک استفاده می شه.
حواسمون باشه که تکنولوژی همیشه در حال تغییره و به روز بودن با آخرین پیشرفت ها، روندها و بهترین شیوه ها برای ساخت برنامه های کاربردی وب پیشرفته بسیار مهمه.
راه حل: همیشه در حال یادگیری باشیم.
#DevTwitter | <Sabber/>
➖➖➖➖➖➖➖➖
🕊 @gopher_academy
سه مولفه ی مهم در معماری وب مدرن که آگاهی از نحوه عملکرد اون ها برای ساخت برنامههای کارآمد، ایمن و مقیاسپذیر ضروریه.
۱- اولین مولفه Reverse proxy در لایه ۷ مدل OSI درخواست ها و پاسخ ها را در سطح HTTP مدیریت می کنه.
- مخفی نگه داشتن سرورها
- مناسب برای جلوگیری از حملات سایبری
- نگهداری محتوا (Caching)
۲- دومین مولفه API gateway ابزار مهم در معماری میکروسرویسها و توسعه وب محسوب می شه.
- توزیع بار (Load Balancing)
- مدیریت مسیرها (Routing)
- ایده آل برای برنامه های مرتبط با چندین سرویس ارتباطی
۳- سومین مولفه load balancer ابزاریه که در معماری وب و سیستمهای به منظور توزیع بار ترافیک بین چندین سرور یا منبع مشابه استفاده میشه.
- توزیع منظم ترافیک
- مقیاسپذیری (Scalability)
- به شما اطمینان می ده در صورت خرابی یک سرور، فعالیت سایر سرورها دچار مشکل نشه
به طور خلاصه، Reverse Proxy برای مخفی کردن سرورها،API Gateway برای ارتباطات سازمان یافته و Load Balancer برای کنترل ترافیک استفاده می شه.
حواسمون باشه که تکنولوژی همیشه در حال تغییره و به روز بودن با آخرین پیشرفت ها، روندها و بهترین شیوه ها برای ساخت برنامه های کاربردی وب پیشرفته بسیار مهمه.
راه حل: همیشه در حال یادگیری باشیم.
#DevTwitter | <Sabber/>
➖➖➖➖➖➖➖➖
🕊 @gopher_academy
👍16
اگه سایت دارید کافیه از وب سرور لایت اسپید استفاده کنید تا پروتکل HTTP/3 روی سایتتون فعال بشه
چیزایی مثل امنیت و سرعت بیشتر رو براتون میاره
یا اینکه سایتتون رو ببرید پشت کلادفلر.
الان HTTP/3 توی ایران فعال شده.
#DevTwitter | <SoroushAhmadi/>
اضافه کنم که تو HTTP/3 فقط https داریم و http به تاریخ پیوست. تمام ترافیک با TLS رمزنگاری میشه و اصلا ارتباط ناامن تو این استاندارد تعریف نشده.
ترافیک روی UDP ارسال میشه و دیگه TCP نقشی در انتقال اطلاعات نداره.
همین تغییر باعث بهبود ملموس سرعت در HTTP/3 شده.
#DevTwitter | <Vahid Farid/>
توضیح سادهتر پست بالا برای دوستانی که اطلاع کمتری دارند:
۱- پروتکل http برای انتقال اطلاعات از وب سایت ها به مرورگر استفاده و قوانین استانداردی رو ارائه می کرد.
اما نکته مهم اینه که اطلاعات قابل مشاهده توسط دیگران بود.
۲- پروتکل https رو ورژن ارتقاء یافته http در نظر بگیرید با این تفاوت که اطلاعات بین وبسایت و مرورگر به صورت رمزگذاری شده انتقال پیدا می کنه برای همین امن تر و بهتره.
۳- تا قبل از http/3 نسخههای قبلی این پروتکل (http/1.1 و http/2) از یک مدل ارتباط ترتیبی و متوالی استفاده میکردند، به این معنی که اطلاعات به ترتیب به مرورگر ارسال میشدند. اما http/3 از پروتکل جدید به نام QUIC استفاده میکنه.
این تکنولوژی بر مبنای UDP به مرورگر اجازه میده تا اطلاعات به صورت موازی و بدون ترتیب مشخصی از سرور دریافت کنه.
مزایا: سرعت و امنیت بیشتر
HTTP: HyperText Transfer Protocol
HTTPS: Hypertext Transfer Protocol Secure
QUIC: Quick UDP Internet Connections
#DevTwitter | <Sabber/>
➖➖➖➖➖➖➖➖
🕊 @gopher_academy
چیزایی مثل امنیت و سرعت بیشتر رو براتون میاره
یا اینکه سایتتون رو ببرید پشت کلادفلر.
الان HTTP/3 توی ایران فعال شده.
#DevTwitter | <SoroushAhmadi/>
اضافه کنم که تو HTTP/3 فقط https داریم و http به تاریخ پیوست. تمام ترافیک با TLS رمزنگاری میشه و اصلا ارتباط ناامن تو این استاندارد تعریف نشده.
ترافیک روی UDP ارسال میشه و دیگه TCP نقشی در انتقال اطلاعات نداره.
همین تغییر باعث بهبود ملموس سرعت در HTTP/3 شده.
#DevTwitter | <Vahid Farid/>
توضیح سادهتر پست بالا برای دوستانی که اطلاع کمتری دارند:
۱- پروتکل http برای انتقال اطلاعات از وب سایت ها به مرورگر استفاده و قوانین استانداردی رو ارائه می کرد.
اما نکته مهم اینه که اطلاعات قابل مشاهده توسط دیگران بود.
۲- پروتکل https رو ورژن ارتقاء یافته http در نظر بگیرید با این تفاوت که اطلاعات بین وبسایت و مرورگر به صورت رمزگذاری شده انتقال پیدا می کنه برای همین امن تر و بهتره.
۳- تا قبل از http/3 نسخههای قبلی این پروتکل (http/1.1 و http/2) از یک مدل ارتباط ترتیبی و متوالی استفاده میکردند، به این معنی که اطلاعات به ترتیب به مرورگر ارسال میشدند. اما http/3 از پروتکل جدید به نام QUIC استفاده میکنه.
این تکنولوژی بر مبنای UDP به مرورگر اجازه میده تا اطلاعات به صورت موازی و بدون ترتیب مشخصی از سرور دریافت کنه.
مزایا: سرعت و امنیت بیشتر
HTTP: HyperText Transfer Protocol
HTTPS: Hypertext Transfer Protocol Secure
QUIC: Quick UDP Internet Connections
#DevTwitter | <Sabber/>
➖➖➖➖➖➖➖➖
🕊 @gopher_academy
👍18🕊2
✅ The PIPs Pactus Project is seeking a professional reviewer to edit and read the improvement proposals
For the Pactus project, we need a professional reviewer to edit/read draft proposals for Last call -> Final.
- Home: https://pips.pactus.org/
- PIPs repo: https://github.com/pactus-project/PIPs
➖➖➖➖➖➖➖➖
🕊 @gopher_academy
For the Pactus project, we need a professional reviewer to edit/read draft proposals for Last call -> Final.
- Home: https://pips.pactus.org/
- PIPs repo: https://github.com/pactus-project/PIPs
➖➖➖➖➖➖➖➖
🕊 @gopher_academy
🕊4👍1
👍2🔥1🍾1
خدا وکیلی این چه وضع فیلد دیتابیسه، isMale آخه؟
* تپسی
#DevTwitter | <جالینوکس/>
➖➖➖➖➖➖➖➖
🕊 @gopher_academy
* تپسی
#DevTwitter | <جالینوکس/>
➖➖➖➖➖➖➖➖
🕊 @gopher_academy
😁23👍1
مرورگر Brave که بعضی برنامه نویس هاش هم ایرانی هستن، خیلی از سرویس هارو با go نوشتن و open source هم هست، خوندن کدش خیلی میتونه ارزشمند باشه
بخشی از کدهارو که خوندم خیلی تمیز و قشنگ بود
https://github.com/orgs/brave/repositories?type=all
https://github.com/brave/go-sync
https://github.com/brave/go-update
https://github.com/brave/go-translate
https://github.com/brave/go-sync-adm-tools
https://github.com/brave/sniproxy
https://github.com/brave/scproxy
https://github.com/brave/jitsi-slack
https://github.com/brave/cloudwatch-alarm-exporter
#GoCasts | <حسین/>
➖➖➖➖➖➖➖➖
🕊 @gopher_academy
بخشی از کدهارو که خوندم خیلی تمیز و قشنگ بود
https://github.com/orgs/brave/repositories?type=all
https://github.com/brave/go-sync
https://github.com/brave/go-update
https://github.com/brave/go-translate
https://github.com/brave/go-sync-adm-tools
https://github.com/brave/sniproxy
https://github.com/brave/scproxy
https://github.com/brave/jitsi-slack
https://github.com/brave/cloudwatch-alarm-exporter
#GoCasts | <حسین/>
➖➖➖➖➖➖➖➖
🕊 @gopher_academy
👍21🔥5🎉1
آژانس امنیت سایبری انگلیس هشدار جدی در مورد خطر حملاتprompt injection در چتباتهایAI منتشر کرده که مدتی هست نظر محققان امنیتی رو هم جلب کرده بود.
برای درک این نوع حملات:
github.com/jthack/PIPE
و البته اگر به این حوزه در سطح فنی علاقه دارید این ابزار:
https://github.com/utkusen/promptmap
#DevTwitter | <Amir/>
➖➖➖➖➖➖➖➖
🕊 @gopher_academy
برای درک این نوع حملات:
github.com/jthack/PIPE
و البته اگر به این حوزه در سطح فنی علاقه دارید این ابزار:
https://github.com/utkusen/promptmap
#DevTwitter | <Amir/>
➖➖➖➖➖➖➖➖
🕊 @gopher_academy
👍4
🎉 Go 1.21.1 and 1.20.8 are released!
🔐 Security: Includes security fixes for cmd/go (CVE-2023-39320), html/template (CVE-2023-39318, CVE-2023-39319), and crypto/tls.
🗣 Announcement: https://groups.google.com/g/golang-announce/c/Fm51GRLNRvM
⬇️ Download: go.dev/dl/#go1.21.1
➖➖➖➖➖➖➖➖
🕊 @gopher_academy
🔐 Security: Includes security fixes for cmd/go (CVE-2023-39320), html/template (CVE-2023-39318, CVE-2023-39319), and crypto/tls.
🗣 Announcement: https://groups.google.com/g/golang-announce/c/Fm51GRLNRvM
⬇️ Download: go.dev/dl/#go1.21.1
➖➖➖➖➖➖➖➖
🕊 @gopher_academy
👍3🕊2
وقتی انتهای مصاحبه ازتون سوال میشه که آیا سوالی دارید یا نه
بهترین نوع سوال ها می تونه موارد زیر باشه
۱_ برای شما مهمه که کارمند سازمانتون چه ویژگی هایی داشته باشه ؟
۲_خوشحال میشم در مورد اهداف سازمانتون بیشتر بدونم ؟
۳_شما چه بستری رو برای رشد شغلی کارمند ها فراهم کردید ؟
۴_چه چیزی باعث میشه سال آینده از انتخاب من به عنوان کارمند راضی باشید ؟
۵_باید ها و نباید های اخلاقی و کاری مجموعه شما چیه ؟
۶_همکاری ما میتونه چه آینده ای برای هر دوی ما داشته باشه ؟
۷_بعد از استخدام چطور میتونم به رشد سازمان بیشتر کمک کنم ؟
۸_در مورد شرح وظایف دقیق نیاز به اطلاعات بیشتری دارم
۹_برای شما تحصیلات و رزومه مهمتره یا انگیزه ؟
۱۰_از بین کارمند هایی که دارید از چه شخصی بیشتر راضی هستید و چرا ؟
➖➖➖➖➖➖➖➖
🕊 @gopher_academy
بهترین نوع سوال ها می تونه موارد زیر باشه
۱_ برای شما مهمه که کارمند سازمانتون چه ویژگی هایی داشته باشه ؟
۲_خوشحال میشم در مورد اهداف سازمانتون بیشتر بدونم ؟
۳_شما چه بستری رو برای رشد شغلی کارمند ها فراهم کردید ؟
۴_چه چیزی باعث میشه سال آینده از انتخاب من به عنوان کارمند راضی باشید ؟
۵_باید ها و نباید های اخلاقی و کاری مجموعه شما چیه ؟
۶_همکاری ما میتونه چه آینده ای برای هر دوی ما داشته باشه ؟
۷_بعد از استخدام چطور میتونم به رشد سازمان بیشتر کمک کنم ؟
۸_در مورد شرح وظایف دقیق نیاز به اطلاعات بیشتری دارم
۹_برای شما تحصیلات و رزومه مهمتره یا انگیزه ؟
۱۰_از بین کارمند هایی که دارید از چه شخصی بیشتر راضی هستید و چرا ؟
➖➖➖➖➖➖➖➖
🕊 @gopher_academy
👍22🔥13
Several days ago, I wrote an article which explains the channel rules in Go. That article got many votes on reddit and HN, but there are also some criticisms on Go channel design details.
https://go101.org/article/channel-closing.html
➖➖➖➖➖➖➖➖
🕊 @gopher_academy
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👍1🕊1🍾1
✅ Profile-guided optimization in Go 1.21
Earlier in 2023, Go 1.20 shipped a preview of profile-guided optimization (PGO) for users to test. After addressing known limitations in the preview, and with additional refinements thanks to community feedback and contributions, PGO support in Go 1.21 is ready for general production use! See the profile-guided optimization user guide for complete documentation.
https://go.dev/blog/pgo
➖➖➖➖➖➖➖➖
🕊 @gopher_academy
Earlier in 2023, Go 1.20 shipped a preview of profile-guided optimization (PGO) for users to test. After addressing known limitations in the preview, and with additional refinements thanks to community feedback and contributions, PGO support in Go 1.21 is ready for general production use! See the profile-guided optimization user guide for complete documentation.
https://go.dev/blog/pgo
➖➖➖➖➖➖➖➖
🕊 @gopher_academy
go.dev
Profile-guided optimization in Go 1.21 - The Go Programming Language
Introduction to profile-guided optimization, generally available in Go 1.21.
🎉2👍1🔥1🕊1
🤔CGO Performance In Go 1.21
https://shane.ai/posts/cgo-performance-in-go1.21/
➖➖➖➖➖➖➖➖
🕊 @gopher_academy
https://shane.ai/posts/cgo-performance-in-go1.21/
➖➖➖➖➖➖➖➖
🕊 @gopher_academy
🍾3
⚃ یه مقاله خوب واسه درک بهتر PGO
🔵A Deep Look Into Golang Profile-Guided Optimization (PGO)
https://theyahya.com/posts/go-pgo/
➖➖➖➖➖➖➖➖
🕊 @gopher_academy
🔵A Deep Look Into Golang Profile-Guided Optimization (PGO)
https://theyahya.com/posts/go-pgo/
➖➖➖➖➖➖➖➖
🕊 @gopher_academy
🔥5👍2
خالق پاورپوینت در سن ۷۶ سالگی درگذشت
دنیس آستین، یکی از خالقان نرمافزار پاورپوینت، بهدلیل ابتلا به سرطان ریه، در خانهاش در کالیفرنیا از دنیا رفت. پسر آستین میگوید سرطان او به مغزش متاستاز کرده بود.
#DevTwitter
➖➖➖➖➖➖➖➖
🕊 @gopher_academy
دنیس آستین، یکی از خالقان نرمافزار پاورپوینت، بهدلیل ابتلا به سرطان ریه، در خانهاش در کالیفرنیا از دنیا رفت. پسر آستین میگوید سرطان او به مغزش متاستاز کرده بود.
#DevTwitter
➖➖➖➖➖➖➖➖
🕊 @gopher_academy
🕊19👍1