تو نسخه ۱.۲۵ گولنگ یه garbage collector تازه به اسم Green Tea اضافه کردن که سرعتش خیلی بهتره. فعلاً آزمایشیه ولی از ۱.۲۶ به بعد قراره پیشفرض بشه.
اگه گو کار میکنید یا نه، پیشنهاد میکنیم این پست رو بخونید. خیلی خوب توضیح میده GC چطور کار میکنه و چطوری باید به پرفورمنس یه برنامه نگاه کنیم؛
از instruction های CPU تا دسترسی به مموری و بقیه داستانها.
لینکش اینه:
https://go.dev/blog/greenteagc
<Ali />
➖➖➖➖➖➖➖➖
👑 @gopher_academy
اگه گو کار میکنید یا نه، پیشنهاد میکنیم این پست رو بخونید. خیلی خوب توضیح میده GC چطور کار میکنه و چطوری باید به پرفورمنس یه برنامه نگاه کنیم؛
از instruction های CPU تا دسترسی به مموری و بقیه داستانها.
لینکش اینه:
https://go.dev/blog/greenteagc
<Ali />
➖➖➖➖➖➖➖➖
👑 @gopher_academy
❤5🔥2 1
🔵 عنوان مقاله
Fyne: A GUI App Framework for Desktop, Mobile and Web
🟢 خلاصه مقاله:
**Fyne یک فریمورک GUI برای Desktop، Mobile و Web است که با Go کار میکند و امکان ساخت اپهای بومی چندسکویی را بدون بستهبندی یک موتور کامل مرورگر فراهم میکند. این روش به باینریهای کوچکتر، مصرف حافظه کمتر و تجربهی بصری منسجمتر منجر میشود. نسخههای اخیر بهبودهای مهمی در i18n، قابلیتهای canvas برای ترسیم و گزینههای styling ارائه کردهاند تا هم بومیسازی سادهتر شود و هم ظاهر و تمها بهتر با استانداردهای هر پلتفرم و نیازهای برند هماهنگ شوند.
#Fyne #Go #GUI #CrossPlatform #MobileDevelopment #DesktopApps #i18n #OpenSource
🟣لینک مقاله:
https://golangweekly.com/link/176309/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Fyne: A GUI App Framework for Desktop, Mobile and Web
🟢 خلاصه مقاله:
**Fyne یک فریمورک GUI برای Desktop، Mobile و Web است که با Go کار میکند و امکان ساخت اپهای بومی چندسکویی را بدون بستهبندی یک موتور کامل مرورگر فراهم میکند. این روش به باینریهای کوچکتر، مصرف حافظه کمتر و تجربهی بصری منسجمتر منجر میشود. نسخههای اخیر بهبودهای مهمی در i18n، قابلیتهای canvas برای ترسیم و گزینههای styling ارائه کردهاند تا هم بومیسازی سادهتر شود و هم ظاهر و تمها بهتر با استانداردهای هر پلتفرم و نیازهای برند هماهنگ شوند.
#Fyne #Go #GUI #CrossPlatform #MobileDevelopment #DesktopApps #i18n #OpenSource
🟣لینک مقاله:
https://golangweekly.com/link/176309/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
👍2🔥1
چرا Go تا این حد سریع است ؟ پشت پردهی کامپایل و Runtime
وقتی برای اولین بار دیدم برنامهی Go چقدر سریع اجرا میشه، کنجکاو شدم بدونم پشت داستان چیه
با توجه به مطالعه دایکیومنت های رسمی خود گو سعی کردم تمامی مباحثی که درک کردم به رو به ساده ترین شیوه ممکن براتون بنویسم و رفرنس ها رو هم در حد ممکن لابه لای بخش ها گذاشتم
لینک مقاله
<Erfan Yousefi/>
وقتی برای اولین بار دیدم برنامهی Go چقدر سریع اجرا میشه، کنجکاو شدم بدونم پشت داستان چیه
با توجه به مطالعه دایکیومنت های رسمی خود گو سعی کردم تمامی مباحثی که درک کردم به رو به ساده ترین شیوه ممکن براتون بنویسم و رفرنس ها رو هم در حد ممکن لابه لای بخش ها گذاشتم
لینک مقاله
<Erfan Yousefi/>
Linkedin
چرا Go تا این حد سریع است؟ پشت پردهی کامپایل و Runtime
(Why Go Is So Fast — The Compiler and Runtime Architecture) 🚀 مقدمه وقتی برنامهای با Go مینویسی و اجراش میکنی، اولین چیزی که چشمگیر میشه سرعت باورنکردنیه — نه فقط در زمان اجرا، بلکه حتی در مرحلهی build و compile. برخلاف زبانهایی مثل Python یا Node.
👍3 3🔥1
Forwarded from Software Engineer Labdon
تفاوت Access Token و Refresh Token به زبان ساده
در سیستمهای احراز هویت مدرن مثل Keycloak یا IdentityServer،
دوبار اسم «توکن» رو میشنویم:
ولی واقعاً فرقشون چیه؟
Access Token
توکن کوتاهمدتیه (مثلاً ۵ تا ۱۵ دقیقه) که بعد از لاگین کاربر صادر میشه.
هر بار که کاربر به API درخواست میفرسته، این توکن همراه درخواست میره تا سرور بفهمه کاربر کیه.
Refresh Token
طول عمر بیشتری داره (مثلاً ۳۰ دقیقه یا حتی چند ساعت).
اگر Access Token منقضی بشه، سیستم با استفاده از Refresh Token یه Access Token جدید میگیره
— بدون اینکه کاربر مجبور باشه دوباره لاگین کنه.
به زبان ساده Access Token مثل بلیط ورود به یک سالن هست ️
اما Refresh Token مثل کارت عضویت اون سالنه
باهاش میتونی هر بار بلیط جدید بگیری بدون ایستادن تو صف لاگین.
مزیت این روش:
امنیت بیشتر (Access Token کوتاهمدت و ایمنتره)
تجربه کاربری بهتر (کاربر کمتر لاگاوت میشه)
کنترل بهتر سمت سرور روی اعتبار توکنها
در پروژهی اخیرم با Keycloak این مکانیزم رو پیادهسازی کردم.
کاربر بعد از ثبتنام، هم در Keycloak و هم در SQL Server ذخیره میشه تا
میان سیستم احراز هویت و اپلیکیشن اصلی یکپارچگی کامل برقرار باشه.
هر وقت در مورد Authentication کار میکنی،
یادت باشه که هدف فقط «ورود کاربر» نیست —
بلکه «مدیریت ایمن و هوشمند عمر نشست (Session Lifecycle)» هست.
در دنیای Api ها ما موظفیم با توکن ها کار کنیم
در ریزور پیج ها یک ورودی هیدن داشتیم که مدیریت توسط آن توسط خود asp بود
اما در api ها مدیریت توکن ها با ماست
بهترین گزینه هم استفاده از IDP (Identity Provider) هاست چون هم فرانت و هم بک را برای ما پوشش میدهد.
<Hossein Molaei/>
در سیستمهای احراز هویت مدرن مثل Keycloak یا IdentityServer،
دوبار اسم «توکن» رو میشنویم:
ولی واقعاً فرقشون چیه؟
Access Token
توکن کوتاهمدتیه (مثلاً ۵ تا ۱۵ دقیقه) که بعد از لاگین کاربر صادر میشه.
هر بار که کاربر به API درخواست میفرسته، این توکن همراه درخواست میره تا سرور بفهمه کاربر کیه.
Refresh Token
طول عمر بیشتری داره (مثلاً ۳۰ دقیقه یا حتی چند ساعت).
اگر Access Token منقضی بشه، سیستم با استفاده از Refresh Token یه Access Token جدید میگیره
— بدون اینکه کاربر مجبور باشه دوباره لاگین کنه.
به زبان ساده Access Token مثل بلیط ورود به یک سالن هست ️
اما Refresh Token مثل کارت عضویت اون سالنه
باهاش میتونی هر بار بلیط جدید بگیری بدون ایستادن تو صف لاگین.
مزیت این روش:
امنیت بیشتر (Access Token کوتاهمدت و ایمنتره)
تجربه کاربری بهتر (کاربر کمتر لاگاوت میشه)
کنترل بهتر سمت سرور روی اعتبار توکنها
در پروژهی اخیرم با Keycloak این مکانیزم رو پیادهسازی کردم.
کاربر بعد از ثبتنام، هم در Keycloak و هم در SQL Server ذخیره میشه تا
میان سیستم احراز هویت و اپلیکیشن اصلی یکپارچگی کامل برقرار باشه.
هر وقت در مورد Authentication کار میکنی،
یادت باشه که هدف فقط «ورود کاربر» نیست —
بلکه «مدیریت ایمن و هوشمند عمر نشست (Session Lifecycle)» هست.
در دنیای Api ها ما موظفیم با توکن ها کار کنیم
در ریزور پیج ها یک ورودی هیدن داشتیم که مدیریت توسط آن توسط خود asp بود
اما در api ها مدیریت توکن ها با ماست
بهترین گزینه هم استفاده از IDP (Identity Provider) هاست چون هم فرانت و هم بک را برای ما پوشش میدهد.
<Hossein Molaei/>
👍3❤1
در چهارمین رویداد تکوتاک – سلسله رویدادهای تخصصی در حوزه توسعه نرمافزار همکاران سیستم – که به صورت #رایگان و #آنلاین برگزار میشه، سراغ مبحث Concurrency در Go خواهیم رفت:
✅ CSP & GMP Concept
✅ Unbounded Concurrency
✅ Race Condition & Shared State
✅ Goroutine Leaks
✅ Context & Cancellation & Shutdown
✅ Scheduler and Runtime Behavior
👨🏻💻 ارائهدهنده: هادی جعفری | برنامهنویس ارشد همکاران سیستم
📅 پنجشنبه ۲۲ آبانماه | ساعت ۱۰ تا ۱۲
📌 شرکت در رویداد فقط در صورت ثبتنام امکانپذیره.
🌐 اطلاعات بیشتر و لینک ثبتنام:
https://B2n.ir/bw9161
.
Linkedin | Instagram
✅ CSP & GMP Concept
✅ Unbounded Concurrency
✅ Race Condition & Shared State
✅ Goroutine Leaks
✅ Context & Cancellation & Shutdown
✅ Scheduler and Runtime Behavior
👨🏻💻 ارائهدهنده: هادی جعفری | برنامهنویس ارشد همکاران سیستم
📅 پنجشنبه ۲۲ آبانماه | ساعت ۱۰ تا ۱۲
📌 شرکت در رویداد فقط در صورت ثبتنام امکانپذیره.
🌐 اطلاعات بیشتر و لینک ثبتنام:
https://B2n.ir/bw9161
.
Linkedin | Instagram
❤3👍1
🎙️ عنوان پادکست:
An episode as short as the name of a unix command
خلاصه پادکست:
این اپیزود کوتاه بهروزترین خبرها را پوشش میدهد: انتشار نسخههای Go 1.25.3 و 1.24.9، و مرور بلاگ Thea Heinen دربارهی کشف یک باگ در کامپایلر arm64 زبان Go. همچنین دربارهی پیشرفت پشتیبانی zsh و بهبودهای مرتبط با sh صحبت میشود، و خبر یک Go meetup و ضبط زنده اپیزود در San Francisco اعلام میگردد. در بخش Lightning، به qjs (یک JavaScript runtime مدرن و امن بدون CGO برای برنامههای Go) و Kaizen (تماشای انیمه از ترمینال) میپردازیم. در پایان از مخاطبان برای حمایت از پادکست در Patreon دعوت میشود.
#Go #Golang #arm64 #Unix #zsh #JavaScript #qjs #Podcast
An episode as short as the name of a unix command
خلاصه پادکست:
این اپیزود کوتاه بهروزترین خبرها را پوشش میدهد: انتشار نسخههای Go 1.25.3 و 1.24.9، و مرور بلاگ Thea Heinen دربارهی کشف یک باگ در کامپایلر arm64 زبان Go. همچنین دربارهی پیشرفت پشتیبانی zsh و بهبودهای مرتبط با sh صحبت میشود، و خبر یک Go meetup و ضبط زنده اپیزود در San Francisco اعلام میگردد. در بخش Lightning، به qjs (یک JavaScript runtime مدرن و امن بدون CGO برای برنامههای Go) و Kaizen (تماشای انیمه از ترمینال) میپردازیم. در پایان از مخاطبان برای حمایت از پادکست در Patreon دعوت میشود.
#Go #Golang #arm64 #Unix #zsh #JavaScript #qjs #Podcast
👍1🔥1