This media is not supported in your browser
VIEW IN TELEGRAM
و بالاخره یکی از بزرگ ترین آپدیت های Google Bard امروز منتشر شد!
بارد به اکستنشن مجهز شده و به کمک این قابلیت به سرویسهایی مثل گوگل درایو، جیمیل و بقیه ی اپ های گوگل متصل میشه و ازش میتونید به عنوان یه دستیار استفاده کنید
🆔 @MdDaily
بارد به اکستنشن مجهز شده و به کمک این قابلیت به سرویسهایی مثل گوگل درایو، جیمیل و بقیه ی اپ های گوگل متصل میشه و ازش میتونید به عنوان یه دستیار استفاده کنید
🆔 @MdDaily
⚡1👍1🤯1👀1
#گولنگ
توی این پست از مجموعه پست های آموزشی MdDaily قراره با پکیج
پکیج pprof چه مشکلی رو حل میکنه؟
برای نوشتن برنامه هایی با پرفورمنس بالا و استفاده ی بهینه تر از منابع، شما باید از اینکه هر پروسه ای چه قدر داره توی سرعت اجرایی برنامه اثر میگذاره و چه میزان منابع رو درگیر میکنه آگاه باشید تا بتونید برنامتون رو بهینه کنید. اینجاس که پکیج
پکیج pprof کجاها کاربرد داره؟
پکیج pprof مخفف Performance Profiling هستش و به شما در جزیه و تحلیل عملکرد برنامه های Go کمک میکنه. این پکیج به شما این امکان رو میده تا داده های پروفایل را از برنامه های خود جمع آوری کنید و این داده ها را در یک اینترفیس مبتی بر وب یا به صورت cli بررسی کنید.
- سی پیو (CPU Profiling): میتوانید از pprof برای تجزیه و تحلیل مصرف CPU در برنامه Go خود استفاده کنید. این به شما کمک میکنه تا بخشهایی از کد خود را که بیشترین منابع CPU را مصرف میکنند شناسایی کنید.
- مموری (Memory Profiling): همچنین میتوان از pprof برای تجزیه و تحلیل مصرف حافظه استفاده کرد، که به شما کمک میکنه مموری لیک ها یا الگوهای تخصیص حافظه ناکارآمد (inefficient memory allocation patterns) رو تو کدتون پیدا کنید.
-گوروتین (Goroutine Profiling): به شما اجازه میده تا کانکارنسی های برنامهی خود را تجزیه و تحلیل کنید و به شما کمک میکنه تا درک کنید که چطوری گوروتینها ایجاد، مسدود یا اجرا میشوند و همچنین با پروفایل کردن گوروتینها به شما کمک میکنه تا مشخص کنید که گوروتینها در کجا منتظر هستند یا مسدود شدند
یک مثال از pprof :
🆔 @MdDaily
توی این پست از مجموعه پست های آموزشی MdDaily قراره با پکیج
pprof در Golang آشنا بشیم :)پکیج pprof چه مشکلی رو حل میکنه؟
برای نوشتن برنامه هایی با پرفورمنس بالا و استفاده ی بهینه تر از منابع، شما باید از اینکه هر پروسه ای چه قدر داره توی سرعت اجرایی برنامه اثر میگذاره و چه میزان منابع رو درگیر میکنه آگاه باشید تا بتونید برنامتون رو بهینه کنید. اینجاس که پکیج
pprof به کمک ما میاد. پکیج pprof کجاها کاربرد داره؟
پکیج pprof مخفف Performance Profiling هستش و به شما در جزیه و تحلیل عملکرد برنامه های Go کمک میکنه. این پکیج به شما این امکان رو میده تا داده های پروفایل را از برنامه های خود جمع آوری کنید و این داده ها را در یک اینترفیس مبتی بر وب یا به صورت cli بررسی کنید.
- سی پیو (CPU Profiling): میتوانید از pprof برای تجزیه و تحلیل مصرف CPU در برنامه Go خود استفاده کنید. این به شما کمک میکنه تا بخشهایی از کد خود را که بیشترین منابع CPU را مصرف میکنند شناسایی کنید.
- مموری (Memory Profiling): همچنین میتوان از pprof برای تجزیه و تحلیل مصرف حافظه استفاده کرد، که به شما کمک میکنه مموری لیک ها یا الگوهای تخصیص حافظه ناکارآمد (inefficient memory allocation patterns) رو تو کدتون پیدا کنید.
-گوروتین (Goroutine Profiling): به شما اجازه میده تا کانکارنسی های برنامهی خود را تجزیه و تحلیل کنید و به شما کمک میکنه تا درک کنید که چطوری گوروتینها ایجاد، مسدود یا اجرا میشوند و همچنین با پروفایل کردن گوروتینها به شما کمک میکنه تا مشخص کنید که گوروتینها در کجا منتظر هستند یا مسدود شدند
یک مثال از pprof :
package mainخروجی کد در پست بعدی....
import (
_ "net/http/pprof"
"net/http"
"time"
)
func main() {
// ایجاد یک وب سرور برای پروفایل کردن برنامه.
go func() {
http.ListenAndServe(":6060", nil)
}()
// کد برنامه ی شما ...
// اکنون میتونید توی این آدرس: http://localhost:6060/debug/pprof/ پروفایل برنامتون رو ببینید
// به عنوان مثال : این کد 10 ثانیه داده های پروفایل cpu را جمع آوری میکنه
time.Sleep(10 * time.Second)
}
🆔 @MdDaily
❤3👍1
خب توی تصویر یک ما یه برنامه ای داریم (سورس برنامه) که مشکل مموری داره .
با دستور
با استفاده از کامند زیر:
شما میتونید پروفایل رو دانلود کنید و در حالت تعاملی داده ها را ببینید. بعد از اجرای دستور بالا مشابه تصویر سه، شما میتونید با نوشتن top مصرف برنامه رو ببینید
همچنین با استفاده از کامند زیر:
برایه شما یک فایل png از پروفایتون ایجاد میکنه که تصویر چهار نمونه ای از خروجی این دستور هست.
این دو پست آشنایی مختصری بود درباره پکیج
https://shorturl.at/hIKN0
https://shorturl.at/hxMW8
https://shorturl.at/jBRW2
https://shorturl.at/anpO8
https://shorturl.at/ruBH6
🆔 @MdDaily
با دستور
go run main.go برنامه را اجرا میکنیم. تا در آدرس: http://localhost:6060/debug/pprof/heap به pprof دسترسی داشته باشم. درصورتی که این لینک را توی مرورگر باز کنید با صفحه ای مشابه تصویر شماره دو مواجه میشید.با استفاده از کامند زیر:
go tool pprof http://localhost:6060/debug/pprof/heap شما میتونید پروفایل رو دانلود کنید و در حالت تعاملی داده ها را ببینید. بعد از اجرای دستور بالا مشابه تصویر سه، شما میتونید با نوشتن top مصرف برنامه رو ببینید
همچنین با استفاده از کامند زیر:
go tool pprof -png http://localhost:6060/debug/pprof/heap > out.png برایه شما یک فایل png از پروفایتون ایجاد میکنه که تصویر چهار نمونه ای از خروجی این دستور هست.
این دو پست آشنایی مختصری بود درباره پکیج
pprof و کاربرد هاش، و شما می تونید برای آشنایی بیشتر و یادگیری این پکیج از منابع زیر استفاده کنید:https://shorturl.at/hIKN0
https://shorturl.at/hxMW8
https://shorturl.at/jBRW2
https://shorturl.at/anpO8
https://shorturl.at/ruBH6
🆔 @MdDaily
❤3✍1👍1
#معرفی
قبلا برای دنبال کردن مقالات و اخبار تکنولوژی از Medium و X (توئیتر سابق) استفاده می کردم. اما خب Medium پولی شد و X هم دیگه مثل سابق نیست و اکثر مطالب تکراری شدند یا چیزهایی میاد تایم لاینم که مربوط به علایقم نیست ¯\_(ツ)_/¯
توی این چند وقت برای دریافت آخرین اخبار و گلچین مطالب تکنولوژی و آموزشی از این منابعی که در ادامه پست بهتون معرفی میکنم استفاده کردم و مطالبی که به نظرم جالب و مفید میومدن هم توی کانال MdDaily با شما به اشتراک گذاشتم و میذارم :)
اگه برنامه نویس گولنگ هستید عضویت توی خبرنامه ی golangdojo رو بهتون توصیه میکنم. هر هفته مطالب آموزشی و مقاله های مفید را راجب گولنگ براتون میفرسته
اگه به مطالب تکنیکال و سیستم دیزاین علاقه دارید، خبرنامه ی bytebytego رو بهتون پیشنهاد میکنم که هر هفته براتون از سورس های مختلف وبلاگ، اینفوگرافی و ویدیوی آموزشی میفرسته.
توی دسته ی آموزش های ویدیویی هم یکی از بهترین سرویس ها freecodecamp هست.
اگه مطالعه روزانه ی مقاله و اخبار رو ترجیح میدید، سرویس daily.dev رو بهتون پیشنهاد میکنم. با ثبت نام توی این وب اپ و انتخاب موضوعاتی که بهش علاقه دارید براتون گلچینی از مقاله ها و اخباری از منابع مختلفی مثل dev.to ,medium، و ... رو براساس موضوعاتی که انتخاب کردید نشون میده و میتونید نظر بقیه ی کاربران daily.dev رو بخونید، مطالب مورد علاقتون رو لایک کنید و چیز های جدیدی را یاد بگیرید.
🆔 @MdDaily
قبلا برای دنبال کردن مقالات و اخبار تکنولوژی از Medium و X (توئیتر سابق) استفاده می کردم. اما خب Medium پولی شد و X هم دیگه مثل سابق نیست و اکثر مطالب تکراری شدند یا چیزهایی میاد تایم لاینم که مربوط به علایقم نیست ¯\_(ツ)_/¯
توی این چند وقت برای دریافت آخرین اخبار و گلچین مطالب تکنولوژی و آموزشی از این منابعی که در ادامه پست بهتون معرفی میکنم استفاده کردم و مطالبی که به نظرم جالب و مفید میومدن هم توی کانال MdDaily با شما به اشتراک گذاشتم و میذارم :)
اگه برنامه نویس گولنگ هستید عضویت توی خبرنامه ی golangdojo رو بهتون توصیه میکنم. هر هفته مطالب آموزشی و مقاله های مفید را راجب گولنگ براتون میفرسته
اگه به مطالب تکنیکال و سیستم دیزاین علاقه دارید، خبرنامه ی bytebytego رو بهتون پیشنهاد میکنم که هر هفته براتون از سورس های مختلف وبلاگ، اینفوگرافی و ویدیوی آموزشی میفرسته.
توی دسته ی آموزش های ویدیویی هم یکی از بهترین سرویس ها freecodecamp هست.
اگه مطالعه روزانه ی مقاله و اخبار رو ترجیح میدید، سرویس daily.dev رو بهتون پیشنهاد میکنم. با ثبت نام توی این وب اپ و انتخاب موضوعاتی که بهش علاقه دارید براتون گلچینی از مقاله ها و اخباری از منابع مختلفی مثل dev.to ,medium، و ... رو براساس موضوعاتی که انتخاب کردید نشون میده و میتونید نظر بقیه ی کاربران daily.dev رو بخونید، مطالب مورد علاقتون رو لایک کنید و چیز های جدیدی را یاد بگیرید.
🆔 @MdDaily
👍6❤1🔥1👌1🍌1
معرفی cursor اولین کد ادیتور مبتنی بر AI
کد ادیتور cursor یه فورک از وی اس کد هست که با هوش مصنوعی ادغام شده، به دلیل اینکه فورک وی اس کد هست شما میتونید خیلی راحت از وی اس کد به این کد ادیتور مهاجرت کنید.
ویژگی های cursor:
- ویژگی Command K:
با استفاده از این ویژگی بعد از اینکه بخشی از کدتون که میخواستید تغییر کنه رو انتخاب کردید، نحوه تغییر کد را به Ai توضیح میدید و کد را براتون عوض میکنه
- چت
بر اساس کد بیس پروژتون میتونید با Ai چت کنید و بدون نیاز به توضیح خط کد و لاجیک پروژتون جواب مناسب دریافت کنید
- دیباگ اتوماتیک
به کمک این ویژگی با کمک AI کدتون رو دیباگ کنید
- و کلی ویژگی AI دیگه که در فرایند کد نویسی به شما کمک میکنه :)
ادیتور cursor برای سه سیستم عامل مک و ویندوز و لینوکس دردسترسه ولی استفاده از مدل های GPT-4 و GPT-3.5 در پلن رایگانش محدودیت داره که شما میتونید با وارد کردن OpenAI Key خودتون این محدودیت رو برطرف کنید.
وبسایت پروژه:
https://www.cursor.so/
گیت هاب پروژه:
https://github.com/getcursor/cursor
🆔 @MdDaily
کد ادیتور cursor یه فورک از وی اس کد هست که با هوش مصنوعی ادغام شده، به دلیل اینکه فورک وی اس کد هست شما میتونید خیلی راحت از وی اس کد به این کد ادیتور مهاجرت کنید.
ویژگی های cursor:
- ویژگی Command K:
با استفاده از این ویژگی بعد از اینکه بخشی از کدتون که میخواستید تغییر کنه رو انتخاب کردید، نحوه تغییر کد را به Ai توضیح میدید و کد را براتون عوض میکنه
- چت
بر اساس کد بیس پروژتون میتونید با Ai چت کنید و بدون نیاز به توضیح خط کد و لاجیک پروژتون جواب مناسب دریافت کنید
- دیباگ اتوماتیک
به کمک این ویژگی با کمک AI کدتون رو دیباگ کنید
- و کلی ویژگی AI دیگه که در فرایند کد نویسی به شما کمک میکنه :)
ادیتور cursor برای سه سیستم عامل مک و ویندوز و لینوکس دردسترسه ولی استفاده از مدل های GPT-4 و GPT-3.5 در پلن رایگانش محدودیت داره که شما میتونید با وارد کردن OpenAI Key خودتون این محدودیت رو برطرف کنید.
وبسایت پروژه:
https://www.cursor.so/
گیت هاب پروژه:
https://github.com/getcursor/cursor
🆔 @MdDaily
👌4👍2🔥2🍌2❤1
Md Daily
توی این پست از مجموعه پست های #آموزشی MdDaily قراره Flask و FastAPI رو مقایسه کنیم و ببینیم هر کدوم چه ویژگی و کاربرد هایی دارند 🆔 @MdDaily
مقایسه Flask و FastAPI در پایتون
فریمورک های Flask و FastAPI دو فریمورک محبوب توسعه وب در پایتون هستند. Flask یک فریمورک سبک و منعطف است که برای ساخت وبسایتها و APIها مناسب است. FastAPI یک فریمورک مدرن و سریع است که برای ساخت APIها طراحی شده است.
Flask
- ویژگیها:
- سادگی: Flask یک فریمورک سبک و منعطف است که به شما امکان میدهد برنامههای وب خود را به هر نحوی که میخواهید بسازید.
- انعطافپذیری: Flask به شما امکان میدهد اجزاء، کتابخانهها و افزونهها را بسته به نیازهای پروژه خود انتخاب کنید.
- سهولت یادگیری: Flask یک فریمورک عالی برای مبتدیان است.
- محبوبیت بالا: Flask یک جامعه و اکوسیستم قوی با افزونهها و پلاگینهای متعدد دارد.
- کاربردها:
- نمونهسازی سریع: Flask برای ساخت سریع نمونههای اولیه یا برنامههای وب کوچک ایدهآل است.
- توسعه API: اغلب برای ایجاد APIهای RESTful استفاده میشه و به عنوان یک بکاند برای برنامههای تک صفحهای یا موبایل عمل میکنه.
- میکروسرویسها: طراحی مینیمالیستی Flask اون رو به یک انتخاب خوب برای ساخت میکروسرویسهایی تبدیل میکنه که وظایف خاصی را در یک معماری گستردهتر انجام میدهند.
FastAPI
- ویژگیها:
- استفاده از تایپ: از Type Hinting پایتون برای تعریف مدلهای رکوئست و ریسپانس در API استفاده میکنه که باعث خوانایی بیشتر کد و تولید خودکار مستندات API تعاملی میشه.
- اعتبارسنجی خودکار: FastAPI بر اساس Type Hinting ، اعتبارسنجی درخواست ها را خودکار را انجام میده که نیاز به نوشتن کد اعتبارسنجی برای داده های ورودی را به صورت دستی کاهش میده.
- پشتیبانی از همزمانی: FastAPI به طور کامل از async پشتیبانی میکنه که اون رو برای مدیریت عملیات همزمانی و ورودی/خروجی در حجم بالا مناسب میکنه.
- احراز هویت داخلی: در حالی که FastAPI هنوز یک فریمورک نسبتاً جدید است، اما از مکانیسمهای احراز هویت پشتیبانی میکنه.
- کاربردها:
- توسعه API: انتخابی عالی برای ساخت APIهای RESTful و GraphQL یا هر سرویس وب دیگری که نیاز به اعتبارسنجی و مستندسازی داره.
- برنامههای کاربردی بلادرنگ (Real-time Applications): به لطف استفاده از async، انتخابی مناسبیه برای ساخت برنامههای کاربردی بلادرنگ مانند چت یا IOT.
- برنامههایی با پرفورمنس بالا: هنگامی که پرفورمنس یکی از الزامات پروژه هست، پشتیبانی از async در FastAPI و اعتبارسنجی خودکار میتونه به طور قابل توجهی فرایند توسعه را بهبود بخشد.
نتیجه گیری:
انتخاب بین Flask و FastAPI به نیازهای پروژه شما و آشنایی با فریمورکها بستگی دارد. سادگی و انعطافپذیری Flask اون رو به یک انتخاب عالی برای پروژههای کوچک تا متوسط یا زمانی که کنترل بیشتری بر اجزای برنامه خود میخواهید داشته باشید تبدیل میکنه.
و FastAPI زمانی میدرخشه که APIهایی میسازید که نیاز به اعتبارسنجی، تولید خودکار مستندات و پشتیبانی از aync دارند. FastAPI به ویژه برای برنامههای وب مدرن و میکروسرویسهایی مناسبه که در اون ها عملکرد و بهرهوری توسعه از اهمیت بالایی برخوردار هستند.
مقاله ای که ازش ترجمه کردم: Flask vs. FastAPI: A Comparative Analysis
پی نوشت و نظر خودم:
هدف از این پست این نبود که بگیم کدوم بهتره، توی این پست دو فریمورک محبوب پایتون رو باهم مقایسه کردیم و ویژگی های هرکدوم بررسی شدند. fast api از async استفاده میکنه ولی این دلیل نمیشه که flask انتخاب مناسبی نباشه، فلسک هم ویژگی های خودش رو داره و توی فلسک هم میشه از async استفاده کرد. در کل این ها همشون ابزارن و فرقی نمی کنه از کدوم استفاده می کنید انتخاب ابزار بیشتر به نیاز پروژه و دانش شما بستگی داره .
🆔 @MdDaily
فریمورک های Flask و FastAPI دو فریمورک محبوب توسعه وب در پایتون هستند. Flask یک فریمورک سبک و منعطف است که برای ساخت وبسایتها و APIها مناسب است. FastAPI یک فریمورک مدرن و سریع است که برای ساخت APIها طراحی شده است.
Flask
- ویژگیها:
- سادگی: Flask یک فریمورک سبک و منعطف است که به شما امکان میدهد برنامههای وب خود را به هر نحوی که میخواهید بسازید.
- انعطافپذیری: Flask به شما امکان میدهد اجزاء، کتابخانهها و افزونهها را بسته به نیازهای پروژه خود انتخاب کنید.
- سهولت یادگیری: Flask یک فریمورک عالی برای مبتدیان است.
- محبوبیت بالا: Flask یک جامعه و اکوسیستم قوی با افزونهها و پلاگینهای متعدد دارد.
- کاربردها:
- نمونهسازی سریع: Flask برای ساخت سریع نمونههای اولیه یا برنامههای وب کوچک ایدهآل است.
- توسعه API: اغلب برای ایجاد APIهای RESTful استفاده میشه و به عنوان یک بکاند برای برنامههای تک صفحهای یا موبایل عمل میکنه.
- میکروسرویسها: طراحی مینیمالیستی Flask اون رو به یک انتخاب خوب برای ساخت میکروسرویسهایی تبدیل میکنه که وظایف خاصی را در یک معماری گستردهتر انجام میدهند.
FastAPI
- ویژگیها:
- استفاده از تایپ: از Type Hinting پایتون برای تعریف مدلهای رکوئست و ریسپانس در API استفاده میکنه که باعث خوانایی بیشتر کد و تولید خودکار مستندات API تعاملی میشه.
- اعتبارسنجی خودکار: FastAPI بر اساس Type Hinting ، اعتبارسنجی درخواست ها را خودکار را انجام میده که نیاز به نوشتن کد اعتبارسنجی برای داده های ورودی را به صورت دستی کاهش میده.
- پشتیبانی از همزمانی: FastAPI به طور کامل از async پشتیبانی میکنه که اون رو برای مدیریت عملیات همزمانی و ورودی/خروجی در حجم بالا مناسب میکنه.
- احراز هویت داخلی: در حالی که FastAPI هنوز یک فریمورک نسبتاً جدید است، اما از مکانیسمهای احراز هویت پشتیبانی میکنه.
- کاربردها:
- توسعه API: انتخابی عالی برای ساخت APIهای RESTful و GraphQL یا هر سرویس وب دیگری که نیاز به اعتبارسنجی و مستندسازی داره.
- برنامههای کاربردی بلادرنگ (Real-time Applications): به لطف استفاده از async، انتخابی مناسبیه برای ساخت برنامههای کاربردی بلادرنگ مانند چت یا IOT.
- برنامههایی با پرفورمنس بالا: هنگامی که پرفورمنس یکی از الزامات پروژه هست، پشتیبانی از async در FastAPI و اعتبارسنجی خودکار میتونه به طور قابل توجهی فرایند توسعه را بهبود بخشد.
نتیجه گیری:
انتخاب بین Flask و FastAPI به نیازهای پروژه شما و آشنایی با فریمورکها بستگی دارد. سادگی و انعطافپذیری Flask اون رو به یک انتخاب عالی برای پروژههای کوچک تا متوسط یا زمانی که کنترل بیشتری بر اجزای برنامه خود میخواهید داشته باشید تبدیل میکنه.
و FastAPI زمانی میدرخشه که APIهایی میسازید که نیاز به اعتبارسنجی، تولید خودکار مستندات و پشتیبانی از aync دارند. FastAPI به ویژه برای برنامههای وب مدرن و میکروسرویسهایی مناسبه که در اون ها عملکرد و بهرهوری توسعه از اهمیت بالایی برخوردار هستند.
مقاله ای که ازش ترجمه کردم: Flask vs. FastAPI: A Comparative Analysis
پی نوشت و نظر خودم:
هدف از این پست این نبود که بگیم کدوم بهتره، توی این پست دو فریمورک محبوب پایتون رو باهم مقایسه کردیم و ویژگی های هرکدوم بررسی شدند. fast api از async استفاده میکنه ولی این دلیل نمیشه که flask انتخاب مناسبی نباشه، فلسک هم ویژگی های خودش رو داره و توی فلسک هم میشه از async استفاده کرد. در کل این ها همشون ابزارن و فرقی نمی کنه از کدوم استفاده می کنید انتخاب ابزار بیشتر به نیاز پروژه و دانش شما بستگی داره .
🆔 @MdDaily
✍1❤1👍1👌1