Forwarded from Gopher Academy
🔵 عنوان مقاله
Calling Rust from 'Cursed' Go
🟢 خلاصه مقاله:
مکانیزم Cgo در زبان برنامهنویسی Go برای فراخوانی توابع خارجی/بیگانه وجود دارد اما عملکرد آن اغلب نگرانیهایی را ایجاد میکند. حالا purego، روشی در مرحله بتا وجود دارد که امکان انجام چنین فراخوانیهایی را بدون استفاده از Cgo فراهم میآورد.
(Note: Cgo is a tool provided by the Go programming language to allow Go code to interact with C libraries by using import "C". This enables Go programs to call C code and link with C libraries.)
🟣لینک مقاله:
https://golangweekly.com/link/166486/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Calling Rust from 'Cursed' Go
🟢 خلاصه مقاله:
مکانیزم Cgo در زبان برنامهنویسی Go برای فراخوانی توابع خارجی/بیگانه وجود دارد اما عملکرد آن اغلب نگرانیهایی را ایجاد میکند. حالا purego، روشی در مرحله بتا وجود دارد که امکان انجام چنین فراخوانیهایی را بدون استفاده از Cgo فراهم میآورد.
(Note: Cgo is a tool provided by the Go programming language to allow Go code to interact with C libraries by using import "C". This enables Go programs to call C code and link with C libraries.)
🟣لینک مقاله:
https://golangweekly.com/link/166486/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Forwarded from Singular Thinker
تلاشی برای فهم ریاضی و بقیه چیزا
خب همون طور که احتمالا میدونید تو این کانال با یه آدم ریاضیدوست ولی نابلد طرفید که به مرور زمان سعی کرده دست و پایی بزنه توی این دریای بیپایاب. و دیگه به هر حال هر کسی یه جور اسکله.
من تو این چند سال اخیر تو این کانال و جاهای دیگه به شکلهای مختلفی سعی کردم که ریاضی رو مشق کنم. در ادامه، بخشی از تلاشهامو میگم شاید یه جرقهای تو ذهن شما هم بزنه و یکیشو بخواید امتحان بکنید و در آخر خبر اصلی رو میگم.📣 ⭕️
مثلا من خودم نشستم ساعتها ویدئوی کلاسهای مختلف رو دیدم یا کتاب منبع خوندم، با دوستام حلقه خوندن آپوستول راه انداختم، نشستم غروبا برای خودم سوال از کتابا حل کردم، سعی کردم بدون اینکه کامل پایه یه چیزیو بدونم بپرم تو دل کار و اونجا یاد بگیرم، آخریش دیگه نوشتن این پستهای مربوط به فضای هیلبرت و RKHS و این چیزا بود که اینجا تو همین کانال نوشتم و تو پیام پین میتونید لینکشو پیدا کنید.
خلاصه که خیلی چیزا رو امتحان کردم ولی سرتونو درد نیارم، یه راهی که خیلی موثر بوده برای من این بود که بیام وقتی یه درسی رو دارم یاد میگیرم بشینم یه سری ویس بگیرم برای دوستام و براش بگم چی از اون مطلب فهمیدم. البته که اون آدمه هم باید علاقهمند به اون مطلب باشه و براش مفید باشه شنیدش. اولین بار این کارو برای درس نظریهی اطلاعات انجام دادم و به شدت چسبید. سعی کلی هم این بود که شهود پشت داستان رو بگم و مثالای جالب بزنم نه اینکه بشینم صرفا کتاب رو روخوانی کنم و مثل کتاب صوتی بشه. انقدر جالب شد که نشستم همون ویسا رو سر هم کردم و یه مینی کورس دوستانه گذاشتم و به دوستام توضیح دادم.
دوباره چند وقت بعد تو همین کانال گشتم یه سری دوستایی که علاقهمند به آنالیز تابعی و یا جبرخطی پیشرفته باشن رو پیدا کردم و همون کارو تکرار کردم که برای آنالیز تابعی تقریبا تموم شده به جز قسمت آخرش ولی جبرخطی پیشرفته همون اولا نصفه کاره ول شد. چون خودم باید همه منابع رو میخوندم و خلاصه میکردم و نمیشد ریاضی رو با صدا صرفا منتقل کرد پس باید اسکرین میگرفتم از کتابا، خلاصه که خیلی پیچیده شد. این مشکل با متنهایی که تو تلگرام میذاشتم بیشترم بود.
چند وقت پیش، بعد دو سال تو آزمایشگاه بحث یه پروژه info theory شد و یکی یه سوالی داشت شروع کردم به توضیح دادن براش که شهودی داری که چرا data processing inequality جهتش این سمتیه دیگه و اون جا بود که اون شهود دو سال پیشام رو براش توضیح دادم و گفت چههه جالب! چرا کسی تا حالا این طوری نگفته بود بهم. جالبتر ولی این بود که یادم مونده بود و بعد که دیگه پروژه جدیتر شد رفتم و فیلمای جلسات رو مرور کردم و همه چیزها یادم اومد. راستشو بخواید حس خوبی داشت و رفتم تو فکر.
خلاصه آخرین نسخه این قضیه تا به امروز این بود که صدا رو تو کانالا ویس میذاشتم، عکس رو هم از کتاب میگرفتم بعد خب تیکه تیکه اینها بود و این طوری بودم که چه کاریه؟ خب یه ویدئو درست کن و تموم شد و رفت به قول آقای پزشکیان. ولی خب همون طور که میدونید سخته محتوای ویدئویی تمیز درست کردن مخصوصا برای یه سری مفاهیم انتزاعی.
ولی تصمیم گرفتم کمالگرایی رو بذارم کنار و بلاخره شروع کنم و این مسیری که بالا گفتم رو کاملش کنم و چنل یوتیوب همین کانال رو هم درست کنم و توش سعی کنم محتوای یه مقدار تخصصیتر رو تولید کنم حالا هر چقدر که بتونم و بلد باشم. این کار رو هم همون طور که اولش گفتم انجام میدم چون خودم حال میکنم در حین توضیح دادنش، بعدا میتونم بهش برگردم و ازش استفاده کنم و فک میکنم که برای بقیه هم میتونه مفید باشه و حال کنن شاید حتی مثه من.
#note
@SingularThinker
خب همون طور که احتمالا میدونید تو این کانال با یه آدم ریاضیدوست ولی نابلد طرفید که به مرور زمان سعی کرده دست و پایی بزنه توی این دریای بیپایاب. و دیگه به هر حال هر کسی یه جور اسکله.
من تو این چند سال اخیر تو این کانال و جاهای دیگه به شکلهای مختلفی سعی کردم که ریاضی رو مشق کنم. در ادامه، بخشی از تلاشهامو میگم شاید یه جرقهای تو ذهن شما هم بزنه و یکیشو بخواید امتحان بکنید و در آخر خبر اصلی رو میگم.
مثلا من خودم نشستم ساعتها ویدئوی کلاسهای مختلف رو دیدم یا کتاب منبع خوندم، با دوستام حلقه خوندن آپوستول راه انداختم، نشستم غروبا برای خودم سوال از کتابا حل کردم، سعی کردم بدون اینکه کامل پایه یه چیزیو بدونم بپرم تو دل کار و اونجا یاد بگیرم، آخریش دیگه نوشتن این پستهای مربوط به فضای هیلبرت و RKHS و این چیزا بود که اینجا تو همین کانال نوشتم و تو پیام پین میتونید لینکشو پیدا کنید.
خلاصه که خیلی چیزا رو امتحان کردم ولی سرتونو درد نیارم، یه راهی که خیلی موثر بوده برای من این بود که بیام وقتی یه درسی رو دارم یاد میگیرم بشینم یه سری ویس بگیرم برای دوستام و براش بگم چی از اون مطلب فهمیدم. البته که اون آدمه هم باید علاقهمند به اون مطلب باشه و براش مفید باشه شنیدش. اولین بار این کارو برای درس نظریهی اطلاعات انجام دادم و به شدت چسبید. سعی کلی هم این بود که شهود پشت داستان رو بگم و مثالای جالب بزنم نه اینکه بشینم صرفا کتاب رو روخوانی کنم و مثل کتاب صوتی بشه. انقدر جالب شد که نشستم همون ویسا رو سر هم کردم و یه مینی کورس دوستانه گذاشتم و به دوستام توضیح دادم.
دوباره چند وقت بعد تو همین کانال گشتم یه سری دوستایی که علاقهمند به آنالیز تابعی و یا جبرخطی پیشرفته باشن رو پیدا کردم و همون کارو تکرار کردم که برای آنالیز تابعی تقریبا تموم شده به جز قسمت آخرش ولی جبرخطی پیشرفته همون اولا نصفه کاره ول شد. چون خودم باید همه منابع رو میخوندم و خلاصه میکردم و نمیشد ریاضی رو با صدا صرفا منتقل کرد پس باید اسکرین میگرفتم از کتابا، خلاصه که خیلی پیچیده شد. این مشکل با متنهایی که تو تلگرام میذاشتم بیشترم بود.
چند وقت پیش، بعد دو سال تو آزمایشگاه بحث یه پروژه info theory شد و یکی یه سوالی داشت شروع کردم به توضیح دادن براش که شهودی داری که چرا data processing inequality جهتش این سمتیه دیگه و اون جا بود که اون شهود دو سال پیشام رو براش توضیح دادم و گفت چههه جالب! چرا کسی تا حالا این طوری نگفته بود بهم. جالبتر ولی این بود که یادم مونده بود و بعد که دیگه پروژه جدیتر شد رفتم و فیلمای جلسات رو مرور کردم و همه چیزها یادم اومد. راستشو بخواید حس خوبی داشت و رفتم تو فکر.
خلاصه آخرین نسخه این قضیه تا به امروز این بود که صدا رو تو کانالا ویس میذاشتم، عکس رو هم از کتاب میگرفتم بعد خب تیکه تیکه اینها بود و این طوری بودم که چه کاریه؟ خب یه ویدئو درست کن و تموم شد و رفت به قول آقای پزشکیان. ولی خب همون طور که میدونید سخته محتوای ویدئویی تمیز درست کردن مخصوصا برای یه سری مفاهیم انتزاعی.
ولی تصمیم گرفتم کمالگرایی رو بذارم کنار و بلاخره شروع کنم و این مسیری که بالا گفتم رو کاملش کنم و چنل یوتیوب همین کانال رو هم درست کنم و توش سعی کنم محتوای یه مقدار تخصصیتر رو تولید کنم حالا هر چقدر که بتونم و بلد باشم. این کار رو هم همون طور که اولش گفتم انجام میدم چون خودم حال میکنم در حین توضیح دادنش، بعدا میتونم بهش برگردم و ازش استفاده کنم و فک میکنم که برای بقیه هم میتونه مفید باشه و حال کنن شاید حتی مثه من.
#note
@SingularThinker
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Singular Thinker
خواستید اونجارو هم سابسکرایب داشته باشید و اگه از ویدئو هم خوشتون اومد و حس کردید به درد دوستان میخوره بفرستید برای بقیه هم. ممنونم.
https://youtu.be/k6hoD45y38M
#video
@SingularThinker
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
نظریه اطلاعات - ۱- اطلاعات و آنتروپی
تو این جلسه از دوره نظریه اطلاعات راجع به مفهوم خود اطلاعات صحبت میکنیم و اینکه چه رابطه ای با نایقینی و شگفتی داره. اینکه کلمه آنتروپی از کجا سر و کله اش پیدا میشه و چه ربطی به اطلاعات داره.
بخشی از محتوای این دوره برگرفته شده از کلاس «نظریه اطلاعات و…
بخشی از محتوای این دوره برگرفته شده از کلاس «نظریه اطلاعات و…
Forwarded from DevTwitter | توییت برنامه نویسی
مطلب جالبی دربارهی یه چت بات باستانی! مربوط به دهه ۶۰ میلادی با ۴۲۰ خط کد!
برای خوندن کاملش باید عضو بشید ولی کل داستان توی سایتهای دیگه هم هست. سورس سالها گم شده بوده و جدیدا پیدا شده و به سی++ تبدیل شده:
https://github.com/anthay/ELIZA
https://newscientist.com/article/mg26535330-100-the-critical-computer-systems-still-relying-on-decades-old-code/
@DevTwitter | <Moegan Shoster/>
برای خوندن کاملش باید عضو بشید ولی کل داستان توی سایتهای دیگه هم هست. سورس سالها گم شده بوده و جدیدا پیدا شده و به سی++ تبدیل شده:
https://github.com/anthay/ELIZA
https://newscientist.com/article/mg26535330-100-the-critical-computer-systems-still-relying-on-decades-old-code/
@DevTwitter | <Moegan Shoster/>
Forwarded from کانال مهرداد لینوکس
✅رشته پست های حل معضل نصب فونت در لینوکس
🔥فونت های خودتان را در پوشه .font در home کپی کنید تمام
ببخشید قرار بود لینوکس سخت و پیچیده باشه به درد کاربر عادی نخوره که نشد 😏
تا آموزشی دیگر به درود
🔥فونت های خودتان را در پوشه .font در home کپی کنید تمام
ببخشید قرار بود لینوکس سخت و پیچیده باشه به درد کاربر عادی نخوره که نشد 😏
تا آموزشی دیگر به درود
Forwarded from DevTwitter | توییت برنامه نویسی
This media is not supported in your browser
VIEW IN TELEGRAM
میدونستین که توی گیت هاب، Github Models رو معرفی کردن که توی اون شما به مجموعه ای از LLMها دسترسی دارین؟
استفاده ازش رایگانه تا شما بتونید تصمیم بگیرید چه مدلی برای کارتون بهتره
یه زمین بازی داره و هم اینکه کدش رو در زبان های مختلف بتون میده...
https://github.com/marketplace/models
@DevTwitter | <Sam92/>
استفاده ازش رایگانه تا شما بتونید تصمیم بگیرید چه مدلی برای کارتون بهتره
یه زمین بازی داره و هم اینکه کدش رو در زبان های مختلف بتون میده...
https://github.com/marketplace/models
@DevTwitter | <Sam92/>
Forwarded from DevTwitter | توییت برنامه نویسی
یک بزرگواری تونسته بیاد سیستم پرامپت v0 و v0 Model رو پیدا کنه حالا گذاشته توی گیت هاب
بعد گفته به صورت دیفالت این مدل از موارد معمولی از GPT-4o استفاده میکنه و برای Reasoning از Deepseek و درآینده برای فیچر اینترنت سرچ Perplexity
https://github.com/x1xhlol/v0-system-prompts-models-and-tools
@DevTwitter | <Reza"/>
بعد گفته به صورت دیفالت این مدل از موارد معمولی از GPT-4o استفاده میکنه و برای Reasoning از Deepseek و درآینده برای فیچر اینترنت سرچ Perplexity
https://github.com/x1xhlol/v0-system-prompts-models-and-tools
@DevTwitter | <Reza"/>
Forwarded from Geek Alerts
همچنین احتمالا گوگل مدل جدیدی رو به اسم Personalization برپایه جمنای ۲ عرضه کنه که مستقیماً به تاریخچه جستجوی شما متصله و اینطوری سبک و سیاق شما رو داره و میتونه بهتون پاسخهای بهتری بده.
🔗 androidauthority
🤓 hadi @geekalerts
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Geek Alerts
اگه با NotebookLM کار کرده باشید میدونید که یه سری منابع بهش میدید، مثل PDF یا متن و ... که مثلا میتونه شامل کلی کتاب یا مقاله باشه بعد بر اساس اونها ازش سوال میشه کرد.
حالا قرار هست این ویژگیها به Gemini هم بیان، اینجوری که میتونید فولدر بسازید بعد داخل اون مشابه NotebookLM منابع خودتون رو آپلود کنید و بر اساس اونها از جمنای سوال کنید. حتی یه خروجی صوتی مثل ارائه هم براتون داشته باشه. فعلا آزمایشی هست ولی میشه انتظار داشت خیلی زود در دسترس قرار بگیره.
🔗 testingcatalog
🤓 @geekalerts
حالا قرار هست این ویژگیها به Gemini هم بیان، اینجوری که میتونید فولدر بسازید بعد داخل اون مشابه NotebookLM منابع خودتون رو آپلود کنید و بر اساس اونها از جمنای سوال کنید. حتی یه خروجی صوتی مثل ارائه هم براتون داشته باشه. فعلا آزمایشی هست ولی میشه انتظار داشت خیلی زود در دسترس قرار بگیره.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Geek Alerts
لری پیج، همون موسس گوگل، یه شرکت جدید به اسم Dynatomics ساخته که هدفش استفاده از AI برای بهینهسازی تولید هست، خیلی در موردش توضیح ندادن ولی احتمالا یه رابط میخوان بسازن برای بازوهای رباتیک که بشه خط تولید رو خیلیسریعتر اجرا کرد، مثلا با چند خط کد بشه یه کارخونه کامل رو به کمک بازوهای رباتیک و AI راهاندازی کرد.
فعلا چراغ خاموش دارن جلو میرن، رهبرشون کریس اندرسون مدیر ارشد سابق تو Kittyhawk هست.
🔗 techcrunch
🤓 @geekalerts
فعلا چراغ خاموش دارن جلو میرن، رهبرشون کریس اندرسون مدیر ارشد سابق تو Kittyhawk هست.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from نوشتههای ترمینالی
در مورد این که چه مدلی خوبه که از برنچهای گیت استفاده کنیم، ایدههای مختلفی مطرح میشه.
یکی از بهترینهاش در این دوره زمونه، trunk based developmentئه. (مدلهای دیگه مثل git flow هم وجود داره)
در مورد trunk based اینجا میتونید اطلاعات خوبی کسب کنید.
https://trunkbaseddevelopment.com/
یکی از بهترینهاش در این دوره زمونه، trunk based developmentئه. (مدلهای دیگه مثل git flow هم وجود داره)
در مورد trunk based اینجا میتونید اطلاعات خوبی کسب کنید.
https://trunkbaseddevelopment.com/
Trunkbaseddevelopment
Trunk Based Development
A portal on this practice
Forwarded from Ninja Learn | نینجا لرن
خب خب خب WebSocket در Fastapi 🌀
امروز میخوام دربارهی یه موضوع باحال و کاربردی تو دنیای وب حرف بزنم: پیادهسازی WebSocket در FastAPI اگه دنبال ساخت اپلیکیشنهای realtime مثل چت، داشبوردهای زنده یا بازیهای آنلاین هستین، این پست براتون خیلی مفیده. پس با من همراه باشین تا با هم یاد بگیریم WebSocket چیه و چطور میتونیم تو FastAPI ازش استفاده کنیم.
🧠 WebSocket چیه و چرا مهمه؟
WebSocket یه پروتکل ارتباطیه که به کلاینت (مثل مرورگر) و سرور اجازه میده یه ارتباط دوطرفه و همیشگی داشته باشن. برعکس HTTP که فقط یه درخواست میفرستی و یه پاسخ میگیری، WebSocket این امکان رو میده که هر دو طرف هر وقت خواستن پیام بفرستن و بگیرن، بدون اینکه نیاز باشه کلاینت مدام درخواست بفرسته. این برای اپلیکیشنهایی که نیاز به آپدیتهای زنده دارن، مثل چت رومها، اعلانهای realtime یا بازیهای آنلاین، عالیه
🚀 FastAPI و WebSocket
FastAPI یه فریمورک وب مدرن و سریع برای پایتونه. یکی از قابلیتهای باحالش هم پشتیبانی از WebSocketه. FastAPI از Starlette استفاده میکنه (یه فریمورک ASGI سبک و قدرتمند)، و همین باعث میشه بتونیم به راحتی WebSocket رو پیادهسازی کنیم.
🛠 چطوری WebSocket رو تو FastAPI پیادهسازی کنیم؟
برای شروع، باید از کلاس
تو این کد:
به این میگن یه Echo Server ساده هر چی کلاینت بفرسته، سرور عینشو برمیگردونه.
📡 یه مثال پیشرفتهتر: چت روم با WebSocket
حالا بیاین یه چیز باحالتر بسازیم، مثلاً یه چت روم که چندتا کلاینت بتونن بهش وصل بشن و پیامهاشون رو به هم بفرستن. برای این کار، باید اتصالهای فعال رو مدیریت کنیم. یه کلاس به اسم ConnectionManager
اینجا چی داریم؟
ConnectionManager یه کلاسه که اتصالهای فعال رو تو یه لیست نگه میداره.
وقتی کلاینت وصل میشه، به لیست اضافه میشه (connect) و وقتی قطع میشه، حذف میشه (disconnect).
send_personal_message به یه کلاینت خاص پیام میفرسته.
broadcast به همه کلاینتهای وصلشده پیام رو میفرسته.
تو endpoint، پیام کلاینت رو میگیریم، به خودش یه جواب شخصی میدیم و به بقیه هم broadcast میکنیم.
جمعبندی ✍
WebSocket تو FastAPI به شما این امکان رو میده که اپلیکیشنهای realtime و جذاب بسازین. از چت رومها گرفته تا داشبوردهای زنده و بازیهای آنلاین.
خب اینم از این امید وارم مفید بوده باشه :]
➖➖➖➖➖➖➖➖➖
امروز میخوام دربارهی یه موضوع باحال و کاربردی تو دنیای وب حرف بزنم: پیادهسازی WebSocket در FastAPI اگه دنبال ساخت اپلیکیشنهای realtime مثل چت، داشبوردهای زنده یا بازیهای آنلاین هستین، این پست براتون خیلی مفیده. پس با من همراه باشین تا با هم یاد بگیریم WebSocket چیه و چطور میتونیم تو FastAPI ازش استفاده کنیم.
🧠 WebSocket چیه و چرا مهمه؟
WebSocket یه پروتکل ارتباطیه که به کلاینت (مثل مرورگر) و سرور اجازه میده یه ارتباط دوطرفه و همیشگی داشته باشن. برعکس HTTP که فقط یه درخواست میفرستی و یه پاسخ میگیری، WebSocket این امکان رو میده که هر دو طرف هر وقت خواستن پیام بفرستن و بگیرن، بدون اینکه نیاز باشه کلاینت مدام درخواست بفرسته. این برای اپلیکیشنهایی که نیاز به آپدیتهای زنده دارن، مثل چت رومها، اعلانهای realtime یا بازیهای آنلاین، عالیه
🚀 FastAPI و WebSocket
FastAPI یه فریمورک وب مدرن و سریع برای پایتونه. یکی از قابلیتهای باحالش هم پشتیبانی از WebSocketه. FastAPI از Starlette استفاده میکنه (یه فریمورک ASGI سبک و قدرتمند)، و همین باعث میشه بتونیم به راحتی WebSocket رو پیادهسازی کنیم.
🛠 چطوری WebSocket رو تو FastAPI پیادهسازی کنیم؟
برای شروع، باید از کلاس
WebSocket تو FastAPI استفاده کنیم. بیاین با یه مثال ساده شروع کنیم:from fastapi import FastAPI, WebSocket
app = FastAPI()
@app.websocket("/ws")
async def websocket_endpoint(websocket: WebSocket):
await websocket.accept()
while True:
data = await websocket.receive_text()
await websocket.send_text(f"پیامت این بود: {data}")
تو این کد:
یه endpoint به اسم /ws ساختیم.وقتی کلاینت بهش وصل میشه، سرور با accept() ارتباط رو قبول میکنه.بعدش تو یه حلقه پیامهای کلاینت رو میگیره و همونو برمیگردونه.
به این میگن یه Echo Server ساده هر چی کلاینت بفرسته، سرور عینشو برمیگردونه.
📡 یه مثال پیشرفتهتر: چت روم با WebSocket
حالا بیاین یه چیز باحالتر بسازیم، مثلاً یه چت روم که چندتا کلاینت بتونن بهش وصل بشن و پیامهاشون رو به هم بفرستن. برای این کار، باید اتصالهای فعال رو مدیریت کنیم. یه کلاس به اسم ConnectionManager
میسازیم که لیست اتصالها رو نگه داره و بتونیم بهشون پیام بفرستیم یا به همه broadcast کنیم.from fastapi import FastAPI, WebSocket
from typing import List
app = FastAPI()
class ConnectionManager:
def __init__(self):
self.active_connections: List[WebSocket] = []
async def connect(self, websocket: WebSocket):
await websocket.accept()
self.active_connections.append(websocket)
def disconnect(self, websocket: WebSocket):
self.active_connections.remove(websocket)
async def send_personal_message(self, message: str, websocket: WebSocket):
await websocket.send_text(message)
async def broadcast(self, message: str):
for connection in self.active_connections:
await connection.send_text(message)
manager = ConnectionManager()
@app.websocket("/ws")
async def websocket_endpoint(websocket: WebSocket):
await manager.connect(websocket)
try:
while True:
data = await websocket.receive_text()
await manager.send_personal_message(f"تو نوشتی: {data}", websocket)
await manager.broadcast(f"یکی گفت: {data}")
except Exception as e:
print(f"خطا: {e}")
finally:
manager.disconnect(websocket)
اینجا چی داریم؟
ConnectionManager یه کلاسه که اتصالهای فعال رو تو یه لیست نگه میداره.
وقتی کلاینت وصل میشه، به لیست اضافه میشه (connect) و وقتی قطع میشه، حذف میشه (disconnect).
send_personal_message به یه کلاینت خاص پیام میفرسته.
broadcast به همه کلاینتهای وصلشده پیام رو میفرسته.
تو endpoint، پیام کلاینت رو میگیریم، به خودش یه جواب شخصی میدیم و به بقیه هم broadcast میکنیم.
جمعبندی ✍
WebSocket تو FastAPI به شما این امکان رو میده که اپلیکیشنهای realtime و جذاب بسازین. از چت رومها گرفته تا داشبوردهای زنده و بازیهای آنلاین.
خب اینم از این امید وارم مفید بوده باشه :]
#️⃣ #fastapi #backend #python
➖➖➖➖➖➖➖➖➖
🥷 CHANNEL | GROUP
Forwarded from Linux Zone | لینوکس زون
This media is not supported in your browser
VIEW IN TELEGRAM
Forwarded from DevTwitter | توییت برنامه نویسی
This media is not supported in your browser
VIEW IN TELEGRAM
اگر زبان اصلی که باهاش backend کار میکنید Typescript هست یک فریمورک خیلی خوب هست برای AI agent ها. اسمش Mastra ست و برای انواع اپلیکیشن ها میتونید ازش استفاده کنید از جمله:
workflows, agents, RAG, integrations and evals
خودم استفاده نکردم ولی تعریفش را زیاد شنیدم.
Github: https://github.com/mastra-ai/mastra
@DevTwitter | <Mehdi Allahyari/>
workflows, agents, RAG, integrations and evals
خودم استفاده نکردم ولی تعریفش را زیاد شنیدم.
Github: https://github.com/mastra-ai/mastra
@DevTwitter | <Mehdi Allahyari/>
Forwarded from Linuxor ?
یکی از تاثیر گذار و خفن ترین زنانی که تابحال توی کامپیوتر دیدم باربرا لیسکوف بوده، لیسکوف برنده جایزه تورینگ و اصل معروف جانشینی لیسکوف L توی Solid بوده و خیلی از اصولی که الان داریم توی سیستم های توزیع شده و برنامه نویسی استفاده میکنیم سرچشمه مغز زن نابغه ای مثل لیسکوف بوده.
امروز 8 مارس روز جهانی زن رو به لیسکوف و زنانی که دنیا رو جای بهتری برای ما کردن تبریک میگم :)
@Linuxor
امروز 8 مارس روز جهانی زن رو به لیسکوف و زنانی که دنیا رو جای بهتری برای ما کردن تبریک میگم :)
@Linuxor
Forwarded from کدنویس یکروزه
تاس سه بُعدی فقط با CSS
با این برنامهی بسیار جالب که فقط با اسکریپت CSS بسیار هنرمندانه تاس های واقعی را شبیه سازی کرده می توان بدون صدا تخته نرد هم بازی کرد!
برای چرخش تاس ها و انیمیشن نرم اونها هم از جاوااسکریپت استفاده شده.
کدنویسی با هوش مصنوعی DeepSeek
#javascript #css #html
با این برنامهی بسیار جالب که فقط با اسکریپت CSS بسیار هنرمندانه تاس های واقعی را شبیه سازی کرده می توان بدون صدا تخته نرد هم بازی کرد!
برای چرخش تاس ها و انیمیشن نرم اونها هم از جاوااسکریپت استفاده شده.
کدنویسی با هوش مصنوعی DeepSeek
#javascript #css #html
Forwarded from Codino School (ایمان غفوری)
This media is not supported in your browser
VIEW IN TELEGRAM
اینکه این همه ما روی این کانال تاکید داریم بر تست نویسی دلیل داره دوستان.
همین طوری دیمی نمیشه فرستاد روی پروداکشن
@codino
همین طوری دیمی نمیشه فرستاد روی پروداکشن
@codino
Forwarded from جادی | Jadi
یه محقق امنیتی اسپانیایی نشون داده که در چیپ محبوب ESP32 یه قابلیت داکیومنت نشده وجود داره که به اتصالهای بلوتوث و وایفای دسترسیهایی بیشتر از انتظار میده. این میکروچیپ چینی یکی از محبوبترین و پر استفادهترین قطعات سیستمهای درونساز است.
https://www.bleepingcomputer.com/news/security/undocumented-backdoor-found-in-bluetooth-chip-used-by-a-billion-devices/
https://www.bleepingcomputer.com/news/security/undocumented-backdoor-found-in-bluetooth-chip-used-by-a-billion-devices/
BleepingComputer
Undocumented commands found in Bluetooth chip used by a billion devices
The ubiquitous ESP32 microchip made by Chinese manufacturer Espressif and used by over 1 billion units as of 2023 contains undocumented commands that could be leveraged for attacks.
Forwarded from 🎄 یک برنامه نویس تنبل (The Lazy 🌱 Raymond)
🔶 ریز تراشه ESP32 که توسط سازنده چینی Espressif ساخته شده و تا سال 2023 توسط بیش از 1 میلیارد واحد استفاده می شود، حاوی یک "درب پشتی" غیرمستند است که می تواند برای حملات مورد استفاده قرار گیرد.
#خبر
@TheRaymondDev
#خبر
@TheRaymondDev
BleepingComputer
Undocumented commands found in Bluetooth chip used by a billion devices
The ubiquitous ESP32 microchip made by Chinese manufacturer Espressif and used by over 1 billion units as of 2023 contains undocumented commands that could be leveraged for attacks.