Forwarded from Gopher Academy (Bardia 👑)
💙هر روزتان نوروز نوروزتان پیروز🥂🥂
❤️ سالی به مهربانی میترا 🔥 به نیکی زرتشت 👑 به اقتدار کوروش داشته باشید
💜 نوروز بر همگی دوستان همایون باد 🌞 🌷 🍻
🕊 نوروز ۲۵۸۳ فرخنده باد
➖➖➖➖➖➖➖➖
🕊 @gopher_academy | @
❤️ سالی به مهربانی میترا 🔥 به نیکی زرتشت 👑 به اقتدار کوروش داشته باشید
💜 نوروز بر همگی دوستان همایون باد 🌞 🌷 🍻
🕊 نوروز ۲۵۸۳ فرخنده باد
➖➖➖➖➖➖➖➖
🕊 @gopher_academy | @
Forwarded from Gopher Academy
در Go (یا Golang)، گوروتینها (goroutines) واحدهای سبکوزنی هستند که به صورت همزمان (concurrent) اجرا میشوند. هر گوروتین به طور مستقل اجرا میشود و مدیریت آنها توسط زمانبند (scheduler) زبان Go انجام میگیرد.
وقتی شما یک مکانیزم ریکاوری (recovery mechanism) در گوروتین اصلی (main goroutine) قرار میدهید، این مکانیزم فقط برای خطاهایی که در همان گوروتین اصلی رخ میدهند، عمل میکند. این مکانیزم به طور خودکار روی گوروتینهای فرزند (child goroutines) تأثیری ندارد. دلیل این موضوع به شرح زیر است:
---
### ۱. گوروتینها مستقل هستند:
هر گوروتین یک واحد اجرایی مستقل است. اگر یک گوروتین فرزند دچار panic شود، این panic فقط روی همان گوروتین تأثیر میگذارد و به گوروتینهای دیگر (از جمله گوروتین اصلی) سرایت نمیکند. بنابراین، مکانیزم ریکاوری که در گوروتین اصلی قرار دادهاید، نمیتواند panic گوروتینهای فرزند را بگیرد.
---
### ۲. panic و recover در Go:
- `panic`:
باعث توقف اجرای برنامه در گوروتین فعلی میشود و اگر recover نشود، کل برنامه را متوقف میکند.
- `recover`:
فقط panicهایی را میتواند بگیرد که در همان گوروتین رخ دادهاند. اگر panic در یک گوروتین فرزند رخ دهد و در آن گوروتین recover نشود، panic به گوروتین اصلی منتقل نمیشود و باعث crash برنامه میشود.
---
### ۳. مثال برای درک بهتر:
#### خروجی:
#### توضیح:
- panic در گوروتین فرزند رخ داده است.
- مکانیزم ریکاوری در گوروتین اصلی (
- برنامه crash میکند، زیرا panic در گوروتین فرزند recover نشده است.
---
### ۴. چگونه panic گوروتینهای فرزند را recover کنیم؟
برای اینکه panic گوروتینهای فرزند را بگیرید، باید در هر گوروتین فرزند یک مکانیزم ریکاوری قرار دهید. به این ترتیب، هر گوروتین به طور مستقل panic خود را مدیریت میکند.
#### مثال اصلاحشده:
#### خروجی:
#### توضیح:
- panic در گوروتین فرزند رخ داده است.
- مکانیزم ریکاوری در گوروتین فرزند panic را گرفته و برنامه crash نمیکند.
- گوروتین اصلی به کار خود ادامه میدهد.
---
### ۵. نکات مهم:
- هر گوروتین باید به طور مستقل panic خود را مدیریت کند.
- اگر panic در یک گوروتین فرزند recover نشود، کل برنامه crash میکند.
- برای جلوگیری از crash برنامه، حتماً در هر گوروتین فرزند یک مکانیزم ریکاوری قرار دهید.
---
### جمعبندی:
مکانیزم ریکاوری که در گوروتین اصلی قرار میدهید، فقط panicهای همان گوروتین را میگیرد و روی گوروتینهای فرزند تأثیری ندارد. برای مدیریت panic در گوروتینهای فرزند، باید در هر گوروتین فرزند یک مکانیزم ریکاوری جداگانه قرار دهید. این کار باعث میشود برنامه شما در برابر خطاها مقاومتر شود و crash نکند.
➖➖➖➖➖➖➖➖
https://news.1rj.ru/str/addlist/KpzXaiSpKENkMGM0
وقتی شما یک مکانیزم ریکاوری (recovery mechanism) در گوروتین اصلی (main goroutine) قرار میدهید، این مکانیزم فقط برای خطاهایی که در همان گوروتین اصلی رخ میدهند، عمل میکند. این مکانیزم به طور خودکار روی گوروتینهای فرزند (child goroutines) تأثیری ندارد. دلیل این موضوع به شرح زیر است:
---
### ۱. گوروتینها مستقل هستند:
هر گوروتین یک واحد اجرایی مستقل است. اگر یک گوروتین فرزند دچار panic شود، این panic فقط روی همان گوروتین تأثیر میگذارد و به گوروتینهای دیگر (از جمله گوروتین اصلی) سرایت نمیکند. بنابراین، مکانیزم ریکاوری که در گوروتین اصلی قرار دادهاید، نمیتواند panic گوروتینهای فرزند را بگیرد.
---
### ۲. panic و recover در Go:
- `panic`:
باعث توقف اجرای برنامه در گوروتین فعلی میشود و اگر recover نشود، کل برنامه را متوقف میکند.
- `recover`:
فقط panicهایی را میتواند بگیرد که در همان گوروتین رخ دادهاند. اگر panic در یک گوروتین فرزند رخ دهد و در آن گوروتین recover نشود، panic به گوروتین اصلی منتقل نمیشود و باعث crash برنامه میشود.
---
### ۳. مثال برای درک بهتر:
package main
import (
"fmt"
"time"
)
func main() {
// مکانیزم ریکاوری در گوروتین اصلی
defer func() {
if r := recover(); r != nil {
fmt.Println("Recovered in main goroutine:", r)
}
}()
// ایجاد یک گوروتین فرزند
go func() {
fmt.Println("Child goroutine started")
panic("Something went wrong in child goroutine!") // panic در گوروتین فرزند
}()
// منتظر بمانید تا گوروتین فرزند اجرا شود
time.Sleep(1 * time.Second)
fmt.Println("Main goroutine finished")
}
#### خروجی:
Child goroutine started
panic: Something went wrong in child goroutine!
goroutine 6 [running]:
main.main.func2()
/path/to/file.go:14 +0x95
created by main.main
/path/to/file.go:12 +0x4c
#### توضیح:
- panic در گوروتین فرزند رخ داده است.
- مکانیزم ریکاوری در گوروتین اصلی (
main) هیچ تأثیری روی panic گوروتین فرزند ندارد.- برنامه crash میکند، زیرا panic در گوروتین فرزند recover نشده است.
---
### ۴. چگونه panic گوروتینهای فرزند را recover کنیم؟
برای اینکه panic گوروتینهای فرزند را بگیرید، باید در هر گوروتین فرزند یک مکانیزم ریکاوری قرار دهید. به این ترتیب، هر گوروتین به طور مستقل panic خود را مدیریت میکند.
#### مثال اصلاحشده:
package main
import (
"fmt"
"time"
)
func main() {
// مکانیزم ریکاوری در گوروتین اصلی
defer func() {
if r := recover(); r != nil {
fmt.Println("Recovered in main goroutine:", r)
}
}()
// ایجاد یک گوروتین فرزند با مکانیزم ریکاوری
go func() {
defer func() {
if r := recover(); r != nil {
fmt.Println("Recovered in child goroutine:", r)
}
}()
fmt.Println("Child goroutine started")
panic("Something went wrong in child goroutine!") // panic در گوروتین فرزند
}()
// منتظر بمانید تا گوروتین فرزند اجرا شود
time.Sleep(1 * time.Second)
fmt.Println("Main goroutine finished")
}
#### خروجی:
Child goroutine started
Recovered in child goroutine: Something went wrong in child goroutine!
Main goroutine finished
#### توضیح:
- panic در گوروتین فرزند رخ داده است.
- مکانیزم ریکاوری در گوروتین فرزند panic را گرفته و برنامه crash نمیکند.
- گوروتین اصلی به کار خود ادامه میدهد.
---
### ۵. نکات مهم:
- هر گوروتین باید به طور مستقل panic خود را مدیریت کند.
- اگر panic در یک گوروتین فرزند recover نشود، کل برنامه crash میکند.
- برای جلوگیری از crash برنامه، حتماً در هر گوروتین فرزند یک مکانیزم ریکاوری قرار دهید.
---
### جمعبندی:
مکانیزم ریکاوری که در گوروتین اصلی قرار میدهید، فقط panicهای همان گوروتین را میگیرد و روی گوروتینهای فرزند تأثیری ندارد. برای مدیریت panic در گوروتینهای فرزند، باید در هر گوروتین فرزند یک مکانیزم ریکاوری جداگانه قرار دهید. این کار باعث میشود برنامه شما در برابر خطاها مقاومتر شود و crash نکند.
➖➖➖➖➖➖➖➖
https://news.1rj.ru/str/addlist/KpzXaiSpKENkMGM0
Forwarded from DevTwitter | توییت برنامه نویسی
یک پروژه open source برای راهاندازی محیط RAG بصورت لوکال و چت با هر نوع داکیومنت متنی، سازگار با انواع مدلهای موجود آفلاین با سرور ollama و آنلاین با API
https://cinnamon.github.io/kotaemon/
@DevTwitter | <Ehsan Azhdari/>
https://cinnamon.github.io/kotaemon/
@DevTwitter | <Ehsan Azhdari/>
Forwarded from 🎄 یک برنامه نویس تنبل (The Lazy 🌱 Raymond)
Forwarded from یه شعر (Poem Bot)
حافظ | غزلیات | غزل شمارهٔ ۲۶۱
درآ که در دل خسته توان درآید باز
بیا که در تن مرده روان درآید باز
بیا که فرقت تو چشم من چنان در بست
که فتح باب وصالت مگر گشاید باز
غمی که چون سپه زنگ ملک دل بگرفت
ز خیل شادی روم رخت زداید باز
به پیش آینه دل هر آن چه می دارم
بجز خیال جمالت نمی نماید باز
بدان مثل که شب آبستن است روز از تو
ستاره می شمرم تا که شب چه زاید باز
بیا که بلبل مطبوع خاطر حافظ
به بوی گلبن وصل تو می سراید باز
#حافظ | گنجور
📍@iipoem
درآ که در دل خسته توان درآید باز
بیا که در تن مرده روان درآید باز
بیا که فرقت تو چشم من چنان در بست
که فتح باب وصالت مگر گشاید باز
غمی که چون سپه زنگ ملک دل بگرفت
ز خیل شادی روم رخت زداید باز
به پیش آینه دل هر آن چه می دارم
بجز خیال جمالت نمی نماید باز
بدان مثل که شب آبستن است روز از تو
ستاره می شمرم تا که شب چه زاید باز
بیا که بلبل مطبوع خاطر حافظ
به بوی گلبن وصل تو می سراید باز
#حافظ | گنجور
📍@iipoem
Forwarded from Geek Alerts
کره شمالی داره از ChatGPT برای آموزش مدلهای AI تو دانشگاه کیم ایل سونگ استفاده میکنه، با توجه به اینترنت اونجا مشخص نیست چطور به ChatGPT دسترسی دارن.
کاربرها هم با این خبر شوخی کردن و گفتن مهندسین AI تو کره شمالی باید بترسن، چون اگه یه چتبات بسازن که در جواب بگه کره جنوبی از کره شمالی بهتره احتمالا اتفاقات خوبی براشون نیفته.
🔗 koreatimes.co.kr
🤓 @geekalerts
کاربرها هم با این خبر شوخی کردن و گفتن مهندسین AI تو کره شمالی باید بترسن، چون اگه یه چتبات بسازن که در جواب بگه کره جنوبی از کره شمالی بهتره احتمالا اتفاقات خوبی براشون نیفته.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Code Module | کد ماژول (𔓙)
از لودینگ های معمولی خسته شدی؟ برو سراغ skeleton 💀
سایت skeletonreact ابزاری برای ایجاد کامپوننتهای اسکلت انیمیشنی هست و از خروجی در قالبهایی نظیر React، React Native، Vue و Vanilla HTML پشتیبانی میکنه. انیمیشن های اسکلتی رو میتونیم به عنوان جایگزینی برای لودینگهای معمولی و خسته کننده در نظر بگیریم، و اونها به ما این قابلیت رو میدن که به کاربران پیشنمایشی از ساختار صفحات، مثل مکاننماهایی برای متون یا تصاویر ارائه بدیم تا تجربه کاربری بهتری در زمان بارگذاری دادهها فراهم بشه.
🔗 Link
#tools #skeleton
@CodeModule
سایت skeletonreact ابزاری برای ایجاد کامپوننتهای اسکلت انیمیشنی هست و از خروجی در قالبهایی نظیر React، React Native، Vue و Vanilla HTML پشتیبانی میکنه. انیمیشن های اسکلتی رو میتونیم به عنوان جایگزینی برای لودینگهای معمولی و خسته کننده در نظر بگیریم، و اونها به ما این قابلیت رو میدن که به کاربران پیشنمایشی از ساختار صفحات، مثل مکاننماهایی برای متون یا تصاویر ارائه بدیم تا تجربه کاربری بهتری در زمان بارگذاری دادهها فراهم بشه.
🔗 Link
#tools #skeleton
@CodeModule
Forwarded from DevTwitter | توییت برنامه نویسی
یک ریپازیتوری تحلیل داده دیگه آماده کردم از تعاملات در شبکه های اجتماعی
اگر دارید در حوزه دیتا آنالیست کار میکنید / یاد میگیرید این ریپازیتوری بهتون کمک میکنه
اگر هم قابل بود استار کنید
https://github.com/MisaghMomeniB/Social-Engagement-Analysis
@DevTwitter | <Misagh Momeni Bashusqeh/>
اگر دارید در حوزه دیتا آنالیست کار میکنید / یاد میگیرید این ریپازیتوری بهتون کمک میکنه
اگر هم قابل بود استار کنید
https://github.com/MisaghMomeniB/Social-Engagement-Analysis
@DevTwitter | <Misagh Momeni Bashusqeh/>
Forwarded from Geek Alerts
گوگل دیپمایند تعرفه مدل متن به ویدیو Veo 2 رو مشخص کرد، الان هزینه ساخت هر ثانیه ویدیو ۰.۵ دلار هست که معادل ساعتی ۱۸۰۰ دلار (۱۶۵ میلیون تومان) میشه.
🔗 Google
🤓 @geekalerts
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Geek Alerts
ایلان ماسک میگه وقتشه ایستگاه فضایی بینالمللی (ISS) رو از مدار خارج کنیم، دیگه کارش رو کرده و ارزش زیادی نداره، میخواد درخواست اینرو به ترامپ بده و این برنامه پایان دادن به عمر ایستگاه فضایی که برای ۲۰۳۰ از قبل برنامهریزی شده بود رو زودتر و تو سال ۲۰۲۷ انجام بدن.
بعد پیشنهاد داده جای این بیاید بریم مریخ.
🔗 elonmusk
🤓 @geekalerts
بعد پیشنهاد داده جای این بیاید بریم مریخ.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from نوشتههای ترمینالی
YouTube
Dennis Ritchie - Write in C
Forwarded from Linuxor ?
این ریپو هم جالب بود Composio بهتون این اجازه رو میده که با هوش مصنوعی 250 تا ابزار مختلف رو کنترل کنید
اینجا توی عکس به هوش مصنوعی گفته شده که بره فلان ریپوی گیتهاب رو استار بزنه!
https://github.com/ComposioHQ/composio
@Linuxor
اینجا توی عکس به هوش مصنوعی گفته شده که بره فلان ریپوی گیتهاب رو استار بزنه!
https://github.com/ComposioHQ/composio
@Linuxor
Forwarded from DevTwitter | توییت برنامه نویسی
خیلی وقته که دارم روی یک پکیج متن باز کار میکنم که یه سری قابلیتها رو به فونتها اضافه کنه که بتونم ابزارهای مخصوص به ساخت فونت فارسی رو از این طریق توسعه بدم. خیلی خام هست ولی چون خیلی براش تست نوشتم دارم بهش بیشتر امیدوار میشم.
https://github.com/typoman/RoboFontGadgets
@DevTwitter | <بهمن/>
https://github.com/typoman/RoboFontGadgets
@DevTwitter | <بهمن/>
Forwarded from Syntax | سینتکس (Daimon)
چه کسایی سمت گیتهاب اکشن نسخه رایگانش نرن؟
بنظرم خیلی از موارد گزینه مناسبیه ولی اگه:
ریپازیتوری پرایوت شما بیشتر از 2000 دقیقه در ماه قراره روش جاب های مختلف ورکفلو هاتون اجرا بشه.
ریپازیتوری پابلیک ->بیشتر از 16 گیگ رم و 14 گیگ فضا و 4 تا پردازنده نیاز دارید.
ریپازیتوری پرایوت -> بیشتر از 7 گیگ رم و 14 گیگ فضا و 2 پردازنده نیاز دارید.
در غیر اینصورت گزینه خیلی خوبیه مخصوصا برای استفاده شخصی
همچنین ورکفلو های زمانبندی شده رو هم داره که میتونید جاب هایی که باید هر چند وقت یبار اجرا بشن، ازش استفاده کنید و کلی trigger های مختلف دیگه.
#github #workflow
@syntax_fa
بنظرم خیلی از موارد گزینه مناسبیه ولی اگه:
ریپازیتوری پرایوت شما بیشتر از 2000 دقیقه در ماه قراره روش جاب های مختلف ورکفلو هاتون اجرا بشه.
ریپازیتوری پابلیک ->بیشتر از 16 گیگ رم و 14 گیگ فضا و 4 تا پردازنده نیاز دارید.
ریپازیتوری پرایوت -> بیشتر از 7 گیگ رم و 14 گیگ فضا و 2 پردازنده نیاز دارید.
در غیر اینصورت گزینه خیلی خوبیه مخصوصا برای استفاده شخصی
همچنین ورکفلو های زمانبندی شده رو هم داره که میتونید جاب هایی که باید هر چند وقت یبار اجرا بشن، ازش استفاده کنید و کلی trigger های مختلف دیگه.
#github #workflow
@syntax_fa
Forwarded from Morteza Bashsiz مرتضی باشسیز (Morteza Bashsiz)
یک عمر به کودکی به استاد شدیم
یک عمر زاستادی خود شاد شدیم
افسوس ندانیم که ما را چه رسید
از خاک بر آمدیم و بر باد شدیم
خیام
یک عمر زاستادی خود شاد شدیم
افسوس ندانیم که ما را چه رسید
از خاک بر آمدیم و بر باد شدیم
خیام
Forwarded from تهلاگ / Tehlug
📌 اطلاعرسانی رویداد ۲۷۸ تهلاگ
رویداد ۲۷۸ در روز پنجشنبه، ۹ اسفند ۱۴۰۳ شامل ۴ ارائه فنی و شبکهسازی با حمایت دیجینکست و آروانکلاد برگزار میشود.
به دلیل محدودیت ظرفیت، ثبتنام فردا (۶ اسفند) پس از اطلاعرسانی کامل، ساعت ۱۳ ظهر آغاز میشود.
🔗 evand.com/events/tehlug278
@TehranLUG
رویداد ۲۷۸ در روز پنجشنبه، ۹ اسفند ۱۴۰۳ شامل ۴ ارائه فنی و شبکهسازی با حمایت دیجینکست و آروانکلاد برگزار میشود.
به دلیل محدودیت ظرفیت، ثبتنام فردا (۶ اسفند) پس از اطلاعرسانی کامل، ساعت ۱۳ ظهر آغاز میشود.
🔗 evand.com/events/tehlug278
@TehranLUG
Forwarded from IRCF | اینترنت آزاد برای همه
نظرسنجی مرکز پژوهشهای مجلس: ۴۹ درصد کاربران اینترنت از فیلترشکن رایگان استفاده میکنند
دادههای این نظرسنجی نشان میدهد که با وجود اینکه ۳۱.۷ درصد از کاربران اینترنت بر این باورند که دولت پزشکیان تا حد «زیاد یا خیلی زیادی» توان رفع محدودیت شبکههای اجتماعی را دارد، ۲۶.۷ درصد به آن احتمال کمی داده و ۲۴.۸ درصد رفع فیلترینگ شبکههای اجتماعی در دولت او را منتفی میدانند.
همچنین در این نظرسنجی بیان شده که حدود نیمی از کاربران اینترنت (۴۹.۴ درصد) از فیلترشکن رایگان و ۳۰.۳ درصد از فیلترشکن پولی استفاده میکنند. گفتنی است ۱۸.۹ درصد اصلاً از فیلترشکن استفاده نمیکنند. /پیوست
🔍 ircf.space
@ircfspace
دادههای این نظرسنجی نشان میدهد که با وجود اینکه ۳۱.۷ درصد از کاربران اینترنت بر این باورند که دولت پزشکیان تا حد «زیاد یا خیلی زیادی» توان رفع محدودیت شبکههای اجتماعی را دارد، ۲۶.۷ درصد به آن احتمال کمی داده و ۲۴.۸ درصد رفع فیلترینگ شبکههای اجتماعی در دولت او را منتفی میدانند.
همچنین در این نظرسنجی بیان شده که حدود نیمی از کاربران اینترنت (۴۹.۴ درصد) از فیلترشکن رایگان و ۳۰.۳ درصد از فیلترشکن پولی استفاده میکنند. گفتنی است ۱۸.۹ درصد اصلاً از فیلترشکن استفاده نمیکنند. /پیوست
🔍 ircf.space
@ircfspace
Forwarded from Linuxor ?
جالبه، بیشتر مردم فکر میکنن برنامه نویس ها وقتی بیکار میشن میآن و به صورت خیرخواهانه چند خط به کد های کرنل لینوکس اضافه میکنن
ولی در صورتی که یه تغییر کوچیک بخواین توی کرنل بدین باید از یه فیلتر شدید و تایید نظر برنامه نویس های با ده ها سال تجربه بگذره و بازخورد ها رو دونه دونه جواب بدید و در صورت همخوانی داشتن با کد استایل و استاندارد های از قبل تعریف شده و ارائه مستندات کافی برای مفید بودن تغییرتون تازه یه شانس دارین برای خیرخواهی :)
@Linuxor
ولی در صورتی که یه تغییر کوچیک بخواین توی کرنل بدین باید از یه فیلتر شدید و تایید نظر برنامه نویس های با ده ها سال تجربه بگذره و بازخورد ها رو دونه دونه جواب بدید و در صورت همخوانی داشتن با کد استایل و استاندارد های از قبل تعریف شده و ارائه مستندات کافی برای مفید بودن تغییرتون تازه یه شانس دارین برای خیرخواهی :)
@Linuxor
Forwarded from Codino School (ایمان غفوری)
به اطلاع دوستان میرساند که تمامی پکیج های بنده برای نصب روی لاراول ۱۲ و PHP 8.4 آماده سازی شدند.
بازم پوزش بابت این غیب کبری عفو بفرمایید، متاهلی امان ما را بریده است.
@codino
بازم پوزش بابت این غیب کبری عفو بفرمایید، متاهلی امان ما را بریده است.
@codino