حالا که بحث اپل داغه بذارید یه حقیقت رو درمورد iOS بهتون بگم:
توی آیفون و آیپد، مرورگری به جز سافاری وجود نداره
حتی کروم و فایرفاکس و edge هم اونجا در حقیقت سافاری هستن، فقط ادای یه مرورگر دیگه رو درمیارن!
قضیه از این قراره که اپل فقط اجازه میده یک انجین خاص به اسم WebKit روی iOS ران بشه. کار این browser engine خیلی خلاصه اینه که کد وبسایت رو بخونه و براساس اون، صفحات رو رندر کنه و به یوزر نشون بده
بخاطر این محدودیت، شرکتهای دیگه نمیتونن از انجین خودشون توی iOS استفاده کنن
توی حالت عادی، گوگل از یه انجین به اسم Blink استفاده میکنه
و فایرفاکس هم انجین خاص خودش به اسم Gecko رو داره
اما وقتی که پای iOS درمیون میاد، WebKit به تنها گزینه تبدیل میشه
البته شرکتهای سازنده مرورگرها میتونن یه سری تغییرات جزئی توی انجین ایجاد کنن اما طبیعتا دستشون خیلی باز نیست
در نتیجه، کروم یا فایرفاکسی که روی iOS میبینید، در حقیقت همون سافاریه که چادر گلگلی تنش کرده و اون زیر داره به ریش دولوپر و یوزر میخنده
نکته تکمیلی: این قضیه فقط توی iOS وجود داره و برای macOS شرکتها میتونن از انجین خودشون استفاده کنن و محدودیتی در کار نیست
<Erfan.tsx>
🆔 @MdDaily
توی آیفون و آیپد، مرورگری به جز سافاری وجود نداره
حتی کروم و فایرفاکس و edge هم اونجا در حقیقت سافاری هستن، فقط ادای یه مرورگر دیگه رو درمیارن!
قضیه از این قراره که اپل فقط اجازه میده یک انجین خاص به اسم WebKit روی iOS ران بشه. کار این browser engine خیلی خلاصه اینه که کد وبسایت رو بخونه و براساس اون، صفحات رو رندر کنه و به یوزر نشون بده
بخاطر این محدودیت، شرکتهای دیگه نمیتونن از انجین خودشون توی iOS استفاده کنن
توی حالت عادی، گوگل از یه انجین به اسم Blink استفاده میکنه
و فایرفاکس هم انجین خاص خودش به اسم Gecko رو داره
اما وقتی که پای iOS درمیون میاد، WebKit به تنها گزینه تبدیل میشه
البته شرکتهای سازنده مرورگرها میتونن یه سری تغییرات جزئی توی انجین ایجاد کنن اما طبیعتا دستشون خیلی باز نیست
در نتیجه، کروم یا فایرفاکسی که روی iOS میبینید، در حقیقت همون سافاریه که چادر گلگلی تنش کرده و اون زیر داره به ریش دولوپر و یوزر میخنده
نکته تکمیلی: این قضیه فقط توی iOS وجود داره و برای macOS شرکتها میتونن از انجین خودشون استفاده کنن و محدودیتی در کار نیست
<Erfan.tsx>
🆔 @MdDaily
🗿2😐1🆒1😡1
ابزار JsonCrack خیلی جالبه. از فایل های جیسونی که خوندنشون سخته براتون مثله تصویر پست یه دیاگرام تولید میکنه که میتونید ازش خروجی تصویری بگیرید.
علاوه بر JSON از YAML، XML و CSV هم پشتیبانی میکنه و برای vscode هم اکستنشن داره .
لینک گیت هاب پروژه:
https://github.com/AykutSarac/jsoncrack.com
وبسایت پروژه:
https://jsoncrack.com/
🆔 @MdDaily
علاوه بر JSON از YAML، XML و CSV هم پشتیبانی میکنه و برای vscode هم اکستنشن داره .
لینک گیت هاب پروژه:
https://github.com/AykutSarac/jsoncrack.com
وبسایت پروژه:
https://jsoncrack.com/
🆔 @MdDaily
👍4🍌2🌭1🦄1
💡 توی این مدتی که اولین نسخه ی پایدار Bun منتشر شد و باز هم یه ابزار جدید به اکو سیستم جاوا اسکریپت اضافه شد و کلی سروصدا کرد، تصمیم گرفتم توی این پست Deno, Bun و NodeJs رو باهم مقایسه کنم و ببینیم هرکدوم چه مزیت هایی دارن و اصلا چرا وجود دارن
خب قبل از اینکه بریم این ابزار ها را باهم مقایسه کنیم، اول بریم سراغ اینکه چرا اینها وجود دارند و چه مشکلی رو حل می کنند؟
تا قبل از اومدن nodeJS، ابزار هایی وجود داشتند که به توسعه دهندگان اجازه می دادند خارج از مرورگر هم کد های جاوا اسکریپت خودشون را اجرا کنند اما با دسترسی ها و امکانات محدود پس در نتیجه نیاز به یه ران تایمی حس میشد که این مشکلات رو حل کنه و استفاده از جاوا اسکریپت رو خارج از مرورگر عمومی کنه. اتفاقی که تو پشت صحنه میوفتاد و الانم میفوته اینکه کد های جاوا اسکریپتی که شما می نویسید توی مرورگر های کرومیوم بیس توسط یه انجینی بنام V8 تفسیر و اجرا میشند. این انجین با زبان c++ نوشته شده و متن بازم هست. سال 2009 یه شخصی بنام Ryan Dahl اومد انجین V8 رو گذاشت تویه برنامه ای که با c++ نوشته بود که بتونه جاوا اسکریپت رو خارج از محیط مرورگر هم اجرا کنه و ویژگی های جدیدی را هم بهش اضافه کرد و اونجا بود که nodeJs متولد شد و این ایده که از جاوا اسکریپت توی بکند، دسکتاپ موبایل و... هم استفاده بشه و فقط محدود به مرورگر نباشه شکل گرفت. پس به طور کلی ران تایم های جاوا اسکریپتی مثله Deno, Bun و NodeJs اومدن تا به ما این امکان را بدن از جاوا اسکریپت خارج از محیط مرورگر استفاده کنیم.
خب سوالی که پیش میاد اینه NodeJs داره کارش رو به خوبی انجام میده و محبوب ترین ران تایم جاوا اسکریپتم هست، پس چرا Deno و Bun وجود دارند؟
نود جی اس با تمام ویژگی های خوبی که داره و محبوبیت زیادش اما همچنان پرفورمنس فوق العاده ای نداره و به صورت پیش فرض از تایپ اسکریپت پشتیبانی نمیکنه . چند سال بعد از انتشار NodeJs سازندش تصمیم میگیره یه ران تایم جدیدی را به نام Deno بنویسه. هدف Deno این بود که کمو کاستی از NodeJs رو برطرف کنه، امنیت بالاتری نسب به NodeJs داشته باشه و خیلی از مواردی که توی NodeJs نیاز بودن برای استفاده ازشون پکیج نصب بشه رو تو خودش داشته باشه مثل پشتیبانی از تایپ اسکریپت. Deno با زبان راست نوشته شده و مثل NodeJs از انجین V8 استفاده میکنه. اما متاسفانه Deno از دیدگاه خیلی ها تقریبا یه پروژه ی شکست خوردس اما چرا Deno شکست خورده و نتونتسه مثل NodeJs محبوب بشه؟
با تمام برتری ها و مزیت هایی که Deno نسبت به NodeJs داره اما یه مشکل اساسی وجود داره که باعث میشه Deno یه پروژه ی شکست خورده حساب بشه! پروژه ی Deno بجای اینکه بیاد روی ویژگی های ضروری و core کار کنه و بعدا فیچر های بیشتری اضافه کنه تمام تمرکزش رو گذاشته روی ویژگی های برترش نسبت به NodeJs و همین باعث شده با خیلی از API ها ناسازگار بمونه و مهاجرت پروژه ای که با NodeJs نوشته شده به Deno خیلی سخت و تو پروژه های خیلی بزرگ تقریبا غیر ممکن بشه. اینجاس که Bun اومده تا اشتباهات Deno رو جبران کنه. Bun دقیقا داره چیکار میکنه؟
ران تایم Bun که زبان Zig نوشته شده، بجای V8 از انجین JavaScriptCore استفاده میکنه و یکی از دلایل سریع تر بودن Bun نسبت به بقیه بخاطر انجینیه که داره ازش استفاده میکنه. Bun علاوه بر ران تایم بودن یه جعبه ابزار کاملی از تمام چیز هایی که توسعه دهنده برای اجرای یه برنامه ی ساده تا بکند یه پروژه بزرگ نیاز داره توی خودش داره.
مثل:
- پشتیبانی از Ts,tsx,Jsx
- پکیج منیجر
- هات ریلود
- باندلر
- پشتیبانی از api های استاندار وب
- خوندن و نوشتن روی فایل های سرور
- سازگار بودن با ESM و CommonJS
و..
یکی از دلایلی که باعث محبوبیت Bun شده اینکه کاملا با پروژه ها NodeJs سازگاره و بدون تغییرات در کدتون میتونید از Node به Bun مهاجرت کنید.
پس در نتیجه احتمال مهاجرت توسعه دهندگان در آینده ی نزدیک از NodeJs به Bun وجود داره، باید منتظر باشیم ببینیم چی میشه:)
برای پروژه ی بعدیم از Bun استفاده کنم؟
بستگی داره. اگه میخواهید لبه ی تکنولوژی باشید و چیز های جدیدی را امتحان کنید، چرا که نه :) ولی اگه دارید رویه پروژه ای کار میکنید که براتون مهمه همه چیز استیبل باشه، هنوز برای مهاجرت به Bun زوده، چون هنوز کامیونیتی بزرگی مثل Node نداره و پروژه های زیاد و بزرگی باهاش نوشته نشدند
🆔 @MdDaily
خب قبل از اینکه بریم این ابزار ها را باهم مقایسه کنیم، اول بریم سراغ اینکه چرا اینها وجود دارند و چه مشکلی رو حل می کنند؟
تا قبل از اومدن nodeJS، ابزار هایی وجود داشتند که به توسعه دهندگان اجازه می دادند خارج از مرورگر هم کد های جاوا اسکریپت خودشون را اجرا کنند اما با دسترسی ها و امکانات محدود پس در نتیجه نیاز به یه ران تایمی حس میشد که این مشکلات رو حل کنه و استفاده از جاوا اسکریپت رو خارج از مرورگر عمومی کنه. اتفاقی که تو پشت صحنه میوفتاد و الانم میفوته اینکه کد های جاوا اسکریپتی که شما می نویسید توی مرورگر های کرومیوم بیس توسط یه انجینی بنام V8 تفسیر و اجرا میشند. این انجین با زبان c++ نوشته شده و متن بازم هست. سال 2009 یه شخصی بنام Ryan Dahl اومد انجین V8 رو گذاشت تویه برنامه ای که با c++ نوشته بود که بتونه جاوا اسکریپت رو خارج از محیط مرورگر هم اجرا کنه و ویژگی های جدیدی را هم بهش اضافه کرد و اونجا بود که nodeJs متولد شد و این ایده که از جاوا اسکریپت توی بکند، دسکتاپ موبایل و... هم استفاده بشه و فقط محدود به مرورگر نباشه شکل گرفت. پس به طور کلی ران تایم های جاوا اسکریپتی مثله Deno, Bun و NodeJs اومدن تا به ما این امکان را بدن از جاوا اسکریپت خارج از محیط مرورگر استفاده کنیم.
خب سوالی که پیش میاد اینه NodeJs داره کارش رو به خوبی انجام میده و محبوب ترین ران تایم جاوا اسکریپتم هست، پس چرا Deno و Bun وجود دارند؟
نود جی اس با تمام ویژگی های خوبی که داره و محبوبیت زیادش اما همچنان پرفورمنس فوق العاده ای نداره و به صورت پیش فرض از تایپ اسکریپت پشتیبانی نمیکنه . چند سال بعد از انتشار NodeJs سازندش تصمیم میگیره یه ران تایم جدیدی را به نام Deno بنویسه. هدف Deno این بود که کمو کاستی از NodeJs رو برطرف کنه، امنیت بالاتری نسب به NodeJs داشته باشه و خیلی از مواردی که توی NodeJs نیاز بودن برای استفاده ازشون پکیج نصب بشه رو تو خودش داشته باشه مثل پشتیبانی از تایپ اسکریپت. Deno با زبان راست نوشته شده و مثل NodeJs از انجین V8 استفاده میکنه. اما متاسفانه Deno از دیدگاه خیلی ها تقریبا یه پروژه ی شکست خوردس اما چرا Deno شکست خورده و نتونتسه مثل NodeJs محبوب بشه؟
با تمام برتری ها و مزیت هایی که Deno نسبت به NodeJs داره اما یه مشکل اساسی وجود داره که باعث میشه Deno یه پروژه ی شکست خورده حساب بشه! پروژه ی Deno بجای اینکه بیاد روی ویژگی های ضروری و core کار کنه و بعدا فیچر های بیشتری اضافه کنه تمام تمرکزش رو گذاشته روی ویژگی های برترش نسبت به NodeJs و همین باعث شده با خیلی از API ها ناسازگار بمونه و مهاجرت پروژه ای که با NodeJs نوشته شده به Deno خیلی سخت و تو پروژه های خیلی بزرگ تقریبا غیر ممکن بشه. اینجاس که Bun اومده تا اشتباهات Deno رو جبران کنه. Bun دقیقا داره چیکار میکنه؟
ران تایم Bun که زبان Zig نوشته شده، بجای V8 از انجین JavaScriptCore استفاده میکنه و یکی از دلایل سریع تر بودن Bun نسبت به بقیه بخاطر انجینیه که داره ازش استفاده میکنه. Bun علاوه بر ران تایم بودن یه جعبه ابزار کاملی از تمام چیز هایی که توسعه دهنده برای اجرای یه برنامه ی ساده تا بکند یه پروژه بزرگ نیاز داره توی خودش داره.
مثل:
- پشتیبانی از Ts,tsx,Jsx
- پکیج منیجر
- هات ریلود
- باندلر
- پشتیبانی از api های استاندار وب
- خوندن و نوشتن روی فایل های سرور
- سازگار بودن با ESM و CommonJS
و..
یکی از دلایلی که باعث محبوبیت Bun شده اینکه کاملا با پروژه ها NodeJs سازگاره و بدون تغییرات در کدتون میتونید از Node به Bun مهاجرت کنید.
پس در نتیجه احتمال مهاجرت توسعه دهندگان در آینده ی نزدیک از NodeJs به Bun وجود داره، باید منتظر باشیم ببینیم چی میشه:)
برای پروژه ی بعدیم از Bun استفاده کنم؟
بستگی داره. اگه میخواهید لبه ی تکنولوژی باشید و چیز های جدیدی را امتحان کنید، چرا که نه :) ولی اگه دارید رویه پروژه ای کار میکنید که براتون مهمه همه چیز استیبل باشه، هنوز برای مهاجرت به Bun زوده، چون هنوز کامیونیتی بزرگی مثل Node نداره و پروژه های زیاد و بزرگی باهاش نوشته نشدند
🆔 @MdDaily
❤2👍2⚡1👌1
Md Daily
💡 توی این مدتی که اولین نسخه ی پایدار Bun منتشر شد و باز هم یه ابزار جدید به اکو سیستم جاوا اسکریپت اضافه شد و کلی سروصدا کرد، تصمیم گرفتم توی این پست Deno, Bun و NodeJs رو باهم مقایسه کنم و ببینیم هرکدوم چه مزیت هایی دارن و اصلا چرا وجود دارن خب قبل از…
توی این پست Deno و Bun و NodeJs باهم مقایسه شدند و به این سوال که چرا این ابزار ها وجود دارند چه مشکلی رو حل میکنند، جواب داده شده :)
🆔 @MdDaily
🆔 @MdDaily
✍2❤🔥1👀1
Audio
🎧 #موزیک مناسب زمان برنامه نویسی
► 00:00 Rainy Nights - Azaleh
► 03:46 In A Cabin By The Lake - Lazarus Moment
► 09:47 Hollow - Ecepta
► 11:44 For The Sky - Himalia
► 17:16 Disconnect - Victoriya
► 21:11 Horizon - Almost Vanished
► 25:50 Forget Me Not - Oscuro Official
► 29:59 Radiance - Menual
► 33:51 Dawn - Kazukii
► 37:36 No One Is Forever - Moon
► 41:44 But You Never Told Me - Groundfold
► 44:56 God Will Let Me Know - Dakun
► 48:06 Asylum - Eyeri
► 52:50 Tension - Kazukii
► 57:19 Your Reflection - Lux Natura
► 1:01:38 Frustration - Brimstone
► 1:06:22 Wanderer - Fyze
► 1:11:09 Hypnos - 4lienetic
► 1:14:52 We Are Blind - RIT & LuQus
► 1:19:04 Asterism - Ecepta
► 1:22:48 Cosmo Pollen - Brombaer & Noahs Boat
► 1:27:22 One Too Many - Exist Strategy
► 1:31:23 Somewhere - F3edo
► 1:37:10 Ilia - Kisnou
► 1:39:56 Tea - Quok
► 1:44:33 Quenching - Margari's Kid
🆔 @MdDaily
► 00:00 Rainy Nights - Azaleh
► 03:46 In A Cabin By The Lake - Lazarus Moment
► 09:47 Hollow - Ecepta
► 11:44 For The Sky - Himalia
► 17:16 Disconnect - Victoriya
► 21:11 Horizon - Almost Vanished
► 25:50 Forget Me Not - Oscuro Official
► 29:59 Radiance - Menual
► 33:51 Dawn - Kazukii
► 37:36 No One Is Forever - Moon
► 41:44 But You Never Told Me - Groundfold
► 44:56 God Will Let Me Know - Dakun
► 48:06 Asylum - Eyeri
► 52:50 Tension - Kazukii
► 57:19 Your Reflection - Lux Natura
► 1:01:38 Frustration - Brimstone
► 1:06:22 Wanderer - Fyze
► 1:11:09 Hypnos - 4lienetic
► 1:14:52 We Are Blind - RIT & LuQus
► 1:19:04 Asterism - Ecepta
► 1:22:48 Cosmo Pollen - Brombaer & Noahs Boat
► 1:27:22 One Too Many - Exist Strategy
► 1:31:23 Somewhere - F3edo
► 1:37:10 Ilia - Kisnou
► 1:39:56 Tea - Quok
► 1:44:33 Quenching - Margari's Kid
🆔 @MdDaily
👨💻6🍌2👍1
از آخرین باری که Phind.com رو تست کردم خیلی تغییر کرده و توی آپدیت جدیدش به شما این امکان رو میده که با فعال کردن حالت Pair Programmer یک دستیار برنامه نویس در کنار خودتون داشته باشید. وقتی حالت Pair Programmer رو فعال می کنید طبق چیزی که ازش درخواست کردید، شروع می کنه به تعریف وظایف برای خودش و با سرچ توی اینترنت و وظایفی که برای خودش تعریف کرده، به شما نتیجه میده. شما میتونید از مدل GPT-4 و GPT-3.5 یا Phind استفاده کنید که مدل GPT-4 اش در حالت رایگان محدودیت 10 درخواست در روز داره ولی استفاده از دو مدل دیگه هیچ محدودیتی نداره .
شما میتونید از Phind توی vscode هم به صورت اکستنشن استفاده کنید
توی ویدیوی پست، ازش خواستم یک بکند با گولنگ و یک وب اپ با Django بنویسه
🆔 @MdDaily
شما میتونید از Phind توی vscode هم به صورت اکستنشن استفاده کنید
توی ویدیوی پست، ازش خواستم یک بکند با گولنگ و یک وب اپ با Django بنویسه
🆔 @MdDaily
👍2🤯2✍1🤩1
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