❤6
Ninja Learn | نینجا لرن
از محتوای کانال راضی هستید؟
دوستان اگه عیبی هست بگید درستش کنم
نظراتتون خیلی ارزشمنده برام
نظراتتون خیلی ارزشمنده برام
❤8
Ninja Learn | نینجا لرن
از محتوای کانال راضی هستید؟
This media is not supported in your browser
VIEW IN TELEGRAM
❤6
دوستان ممنون میشم شیر بکنید پستارو :) ❤️
خیلی وقت عضو جدید نداشتیم.
خیلی وقت عضو جدید نداشتیم.
❤18🤣1
خب خب خب Sentry چیه؟ 🔍
اگه برنامه نویسی میکنی احتمالاً این سناریو برات آشناست:
کلی وقت میذاری، کد مینویسی، تست میکنی، همهچی درست کار میکنه. ولی وقتی میدی دست کاربر، یهو یه ارور عجیب غریب میاد که اصلاً نمیدونی از کجا دراومده اینجاست که Sentry وارد بازی میشه.
ـSentry چیه اصلاً؟
ـSentry یه ابزار خطایاب (Error Tracking) که کمک میکنه باگها و خطاهای پروژهت رو همون لحظهای که اتفاق میفتن، پیدا کنی.
این ابزار نهتنها ارورها رو جمعآوری میکنه، بلکه یه گزارش دقیق و کامل ازشون میده؛ از جزئیات خطا گرفته تا شرایطی که باعث شده ارور پیش بیاد.
فرض کن یه باگ تو اپلیکیشن ته که اصلاً قابل پیشبینی نبوده. بهجای اینکه کاربر بیاد غر بزنه یا خودت بری تو لاگها دنبال مشکل بگردی، Sentry خودش ارور رو تشخیص میده و گزارشش رو مستقیم برات میفرسته.
چرا Sentry محبوبه؟ 🌟
1⃣ گزارش ارور دقیق و کاربردی 🛠️
2⃣ پشتیبانی از پلتفرمهای مختلف 📱
3⃣ دستهبندی ارورها 🗂️
4⃣ هشدار و نوتیفیکیشن 🔔
5⃣ـ Release Tracking 🚀
6⃣ـPerformance Monitoring ⚡
چطور از Sentry استفاده کنیم؟
ثبتنام کن:
تو سایت Sentry.io یه اکانت بساز. نسخه رایگانش برای شروع کافیه.
نصب کن:
ـSDK مخصوص زبان پروژهت رو نصب کن. مثلاً برای Django این دستور کافیه:
تنظیمش کن:
با چند خط کد ساده Sentry رو به پروژه وصل کن:
ارورها رو مدیریت کن:
حالا هر اروری اتفاق بیفته، مستقیم تو داشبورد Sentry میره.
چند نکته مهم:
نسخه رایگان Sentry محدودیت داره (مثلاً تعداد ارورهای ماهانه). برای پروژههای بزرگ باید پلنهای پولیش رو بگیری.
میتونی از مستندات رسمی کمک بگیری تا تنظیمات حرفهایتر انجام بدی.
جمعبندی ✍
اگه میخوای ارورهای پروژهت رو حرفهای مدیریت کنی و حتی قبل از اینکه کاربر بفهمه، خودت رفعشون کنی، Sentry بهترین انتخابه. هم راحت نصب میشه، هم کلی قابلیت خفن داره.
تا حالا از Sentry استفاده کردی؟ نظرت چیه؟ 👀
➖➖➖➖➖➖➖➖➖
اگه برنامه نویسی میکنی احتمالاً این سناریو برات آشناست:
کلی وقت میذاری، کد مینویسی، تست میکنی، همهچی درست کار میکنه. ولی وقتی میدی دست کاربر، یهو یه ارور عجیب غریب میاد که اصلاً نمیدونی از کجا دراومده اینجاست که Sentry وارد بازی میشه.
ـSentry چیه اصلاً؟
ـSentry یه ابزار خطایاب (Error Tracking) که کمک میکنه باگها و خطاهای پروژهت رو همون لحظهای که اتفاق میفتن، پیدا کنی.
این ابزار نهتنها ارورها رو جمعآوری میکنه، بلکه یه گزارش دقیق و کامل ازشون میده؛ از جزئیات خطا گرفته تا شرایطی که باعث شده ارور پیش بیاد.
فرض کن یه باگ تو اپلیکیشن ته که اصلاً قابل پیشبینی نبوده. بهجای اینکه کاربر بیاد غر بزنه یا خودت بری تو لاگها دنبال مشکل بگردی، Sentry خودش ارور رو تشخیص میده و گزارشش رو مستقیم برات میفرسته.
چرا Sentry محبوبه؟ 🌟
1⃣ گزارش ارور دقیق و کاربردی 🛠️
وقتی یه ارور اتفاق میفته، Sentry دقیقاً بهت میگه مشکل کجاست. جزئیاتی مثل:
فایل و خط کدی که ارور داده
نوع خطا (Exception)
اطلاعات مرورگر یا دستگاه کاربر
وضعیت سرور (مثلاً رم و CPU)
حتی مراحل درخواست کاربر تا لحظهای که ارور رخ داده
2⃣ پشتیبانی از پلتفرمهای مختلف 📱
هرچی فکرش رو بکنی، Sentry ساپورتش میکنه.
Backend: Python (جنگو، فلاسک و ...)، Node.js
Frontend: React، Vue.js
Mobile: اندروید و iOS
DevOps: Docker، Kubernetes
3⃣ دستهبندی ارورها 🗂️
وقتی تعداد ارورها زیاد بشه، Sentry اونا رو گروهبندی میکنه. مثلاً یه باگ اگه صد بار اتفاق بیفته، همشون رو زیر یه گزارش میذاره که بتونی راحت مدیریت کنی.
4⃣ هشدار و نوتیفیکیشن 🔔
به محض اینکه یه ارور جدید اتفاق بیفته، سریع بهت خبر میده. از ایمیل گرفته تا Slack یا حتی پیامک.
5⃣ـ Release Tracking 🚀
یه قابلیت جالبش اینه که میتونی ارورها رو به نسخههای پروژت وصل کنی و بفهمی کدوم تغییرات باعث مشکل شده.
6⃣ـPerformance Monitoring ⚡
علاوه بر ارورها، میتونی بفهمی اپلیکیشن کجاها کنده.
چطور از Sentry استفاده کنیم؟
ثبتنام کن:
تو سایت Sentry.io یه اکانت بساز. نسخه رایگانش برای شروع کافیه.
نصب کن:
ـSDK مخصوص زبان پروژهت رو نصب کن. مثلاً برای Django این دستور کافیه:
pip install sentry-sdk
تنظیمش کن:
با چند خط کد ساده Sentry رو به پروژه وصل کن:
import sentry_sdk
sentry_sdk.init(
dsn="لینک DSN که Sentry میده",
traces_sample_rate=1.0
)
ارورها رو مدیریت کن:
حالا هر اروری اتفاق بیفته، مستقیم تو داشبورد Sentry میره.
چند نکته مهم:
نسخه رایگان Sentry محدودیت داره (مثلاً تعداد ارورهای ماهانه). برای پروژههای بزرگ باید پلنهای پولیش رو بگیری.
میتونی از مستندات رسمی کمک بگیری تا تنظیمات حرفهایتر انجام بدی.
جمعبندی ✍
اگه میخوای ارورهای پروژهت رو حرفهای مدیریت کنی و حتی قبل از اینکه کاربر بفهمه، خودت رفعشون کنی، Sentry بهترین انتخابه. هم راحت نصب میشه، هم کلی قابلیت خفن داره.
تا حالا از Sentry استفاده کردی؟ نظرت چیه؟ 👀
#programming #python #sentry
➖➖➖➖➖➖➖➖➖
🔆 CHANNEL | GROUP
Sentry
Application Performance Monitoring & Error Tracking Software
Application performance monitoring for developers & software teams to see errors clearer, solve issues faster & continue learning continuously. Get started at sentry.io.
❤17
Ninja Learn | نینجا لرن
میخوام شروع کنم درمورد golang هم پست بزارم
چرا ؟
ـGo که خیلی خوبه 🤔
اونایی که گفتن نه دوست دارم دلیلشون رو بدونم
ـGo که خیلی خوبه 🤔
اونایی که گفتن نه دوست دارم دلیلشون رو بدونم
❤2👎1
Ninja Learn | نینجا لرن
میخوام شروع کنم درمورد golang هم پست بزارم
نسبت به راعی اکثریت عمل میکنم
اگه 👎
درمورد همون پایتون و اینا پست میزارم
اگه 👍
درمورد go هم پست میزارم
(روی این پست ریکشن نزنید روی همون پستی که ریپلای زدم ریکشن بزنید)
اگه 👎
درمورد همون پایتون و اینا پست میزارم
اگه 👍
درمورد go هم پست میزارم
(روی این پست ریکشن نزنید روی همون پستی که ریپلای زدم ریکشن بزنید)
👍36👎11👌2
Ninja Learn | نینجا لرن
میخوام شروع کنم درمورد golang هم پست بزارم
خب پست go هم داریم از این به بعد 😁
👎15👍9🔥4
سال نو شد
کریسمس رو به مسیحی های کانال تبریک میگم 😂❤️
کریسمس رو به مسیحی های کانال تبریک میگم 😂❤️
🤣18👍7👎3🔥3
خب خب خب پکیج fmt در go
این پکیج (fmt) یکی از پراستفادهترین و مهمترین ابزارهای Go هست که برای کار با ورودی و خروجیها استفاده میشه. بیاین ببینیم چطور کار میکنه.
توابع پرکاربرد fmt 🛠️
پکیج fmt یه سری توابع داره که هر کدوم برای هدف خاصی طراحی شدن. مهمترینشون رو اینجا لیست کردم:
1⃣ Print و Println
برای چاپ اطلاعات روی کنسول:
Output:
2⃣ Printf
برای چاپ با فرمت خاص:
Output:
3⃣ Sprintf
مثل Printf عمل میکنه، ولی خروجی رو به جای چاپ، به صورت رشته برمیگردونه:
Output:
4⃣ Fprintf
اطلاعات رو به جای کنسول، به فایل یا هر io.Writer دیگهای میفرسته:
5⃣ Scan و Scanf
برای گرفتن ورودی از کاربر:
Output (Example input: "Ali", "20"):
پشت پرده fmt: چطور کار میکنه؟ 🧐
حالا که با توابع آشنا شدی، بد نیست بدونی fmt پشت صحنه چطور دادهها رو مدیریت میکنه.
1⃣ استفاده از Interfaces
ـfmt از دو اینترفیس مهم استفاده میکنه:
ـStringer:
مثال:
Output:
2⃣ـ Reflection
پکیج fmt از پکیج reflect استفاده میکنه تا نوع دادهها رو در زمان اجرا بررسی کنه. یعنی وقتی %v یا سایر placeholders رو استفاده میکنی، fmt میتونه بفهمه چه نوع دادهای داری و چطور باید چاپش کنه.
Output:
فرمتدهی دادهها با fmt 🎨
پکیج fmt قابلیتهای فرمتدهی خیلی خوبی داره که بیشتر اوقات به کار میان:
اعداد
Output:
رشتهها
Output:
منطق (Boolean)
Output:
جمعبندی ✍
پکیج fmt یکی از ابزارهای قدرتمند Go هست که با توابع ساده و قابلیتهای فرمتدهی پیشرفته، کار برنامهنویسا رو راحت کرده.
➖➖➖➖➖➖➖➖➖
این پکیج (fmt) یکی از پراستفادهترین و مهمترین ابزارهای Go هست که برای کار با ورودی و خروجیها استفاده میشه. بیاین ببینیم چطور کار میکنه.
توابع پرکاربرد fmt 🛠️
پکیج fmt یه سری توابع داره که هر کدوم برای هدف خاصی طراحی شدن. مهمترینشون رو اینجا لیست کردم:
1⃣ Print و Println
برای چاپ اطلاعات روی کنسول:
ـPrint: متنها رو بدون فاصله چاپ میکنه.
ـPrintln: بین متنها فاصله میذاره و یه خط جدید اضافه میکنه.
fmt.Print("Hello") fmt.Print("World") fmt.Println("Hello") fmt.Println("World")
Output:
HelloWorld
Hello
World
2⃣ Printf
برای چاپ با فرمت خاص:
name := "Ali"
age := 20 fmt.Printf(
"Name: %s,
Age: %d\n",
name, age
)
Output:
Name: Ali, Age: 20
3⃣ Sprintf
مثل Printf عمل میکنه، ولی خروجی رو به جای چاپ، به صورت رشته برمیگردونه:
name := "Ali"
greeting := fmt.Sprintf(
"Hello,
%s!",
name
)
fmt.Println(greeting)
Output:
Hello, Ali!
4⃣ Fprintf
اطلاعات رو به جای کنسول، به فایل یا هر io.Writer دیگهای میفرسته:
file, _ := os.Create("output.txt")
fmt.Fprintf(file, "Hello, %s!", "File")
5⃣ Scan و Scanf
برای گرفتن ورودی از کاربر:
ـScan: ورودی ساده رو میخونه.
ـScanf: ورودی رو با فرمت مشخص میخونه.
var name string
fmt.Println("Enter your name:")
fmt.Scanln(&name)
fmt.Println("Your name is:", name)
var age int
fmt.Println("Enter your age:")
fmt.Scanf("%d", &age)
fmt.Println("Your age is:", age)
Output (Example input: "Ali", "20"):
Enter your name:
Your name is: Ali
Enter your age:
Your age is: 20
پشت پرده fmt: چطور کار میکنه؟ 🧐
حالا که با توابع آشنا شدی، بد نیست بدونی fmt پشت صحنه چطور دادهها رو مدیریت میکنه.
1⃣ استفاده از Interfaces
ـfmt از دو اینترفیس مهم استفاده میکنه:
ـStringer:
اگه struct این اینترفیس رو پیادهسازی کرده باشه، متد String() برای چاپ خروجی فراخوانی میشه.ـError:
برای ارورها، متد Error() فراخوانی میشه.
مثال:
type Person struct {
Name string
Age int
}
func (p Person) String() string {
return fmt.Sprintf("Name: %s, Age: %d", p.Name, p.Age)
}
func main() {
person := Person{"Ali", 20}
fmt.Println(person)
}
Output:
Name: Ali, Age: 20
2⃣ـ Reflection
پکیج fmt از پکیج reflect استفاده میکنه تا نوع دادهها رو در زمان اجرا بررسی کنه. یعنی وقتی %v یا سایر placeholders رو استفاده میکنی، fmt میتونه بفهمه چه نوع دادهای داری و چطور باید چاپش کنه.
x := 42
fmt.Printf("Type: %T, Value: %v\n", x, x)
Output:
Type: int, Value: 42
فرمتدهی دادهها با fmt 🎨
پکیج fmt قابلیتهای فرمتدهی خیلی خوبی داره که بیشتر اوقات به کار میان:
اعداد
%d: عدد صحیح
%f: عدد اعشاری
%.2f: عدد اعشاری با 2 رقم اعشار
%b: نمایش در مبنای 2
%x: نمایش در مبنای 16
num := 42
pi := 3.14159
fmt.Printf("Decimal: %d, Binary: %b, Hex: %x, Pi: %.2f\n", num, num, num, pi)
Output:
Decimal: 42, Binary: 101010, Hex: 2a, Pi: 3.14
رشتهها
%s: نمایش رشته
%q: رشته با کوتیشن
%+v: struct با نام فیلدها
%v: مقدار خام
type Person struct {
Name string
Age int
}
p := Person{"Ali", 20}
fmt.Printf("Raw: %v, With Fields: %+v\n", p, p)
Output:
Raw: {Ali 20}, With Fields: {Name:Ali Age:20}
منطق (Boolean)
%t: مقدار True یا False رو چاپ میکنه.
isGoAwesome := true
fmt.Printf("Is Go awesome? %t\n", isGoAwesome)
Output:
Is Go awesome? true
جمعبندی ✍
پکیج fmt یکی از ابزارهای قدرتمند Go هست که با توابع ساده و قابلیتهای فرمتدهی پیشرفته، کار برنامهنویسا رو راحت کرده.
#programming #go
➖➖➖➖➖➖➖➖➖
🔆 CHANNEL | GROUP
👍15👎9❤1
Ninja Learn | نینجا لرن
خب خب خب پکیج fmt در go این پکیج (fmt) یکی از پراستفادهترین و مهمترین ابزارهای Go هست که برای کار با ورودی و خروجیها استفاده میشه. بیاین ببینیم چطور کار میکنه. توابع پرکاربرد fmt 🛠️ پکیج fmt یه سری توابع داره که هر کدوم برای هدف خاصی طراحی شدن. مهمترینشون…
اینم اولین پست go درسال جدید 😂
اگه بد بود یا جاییش اشتباه بود شرمنده
کمی تازه کار هستم در go
اگه بد بود یا جاییش اشتباه بود شرمنده
کمی تازه کار هستم در go
👎13👍7❤3🔥1
Ninja Learn | نینجا لرن
خب خب خب پکیج fmt در go این پکیج (fmt) یکی از پراستفادهترین و مهمترین ابزارهای Go هست که برای کار با ورودی و خروجیها استفاده میشه. بیاین ببینیم چطور کار میکنه. توابع پرکاربرد fmt 🛠️ پکیج fmt یه سری توابع داره که هر کدوم برای هدف خاصی طراحی شدن. مهمترینشون…
بچه های خوبی باشید پست بعدی راجب fastapi 😁😂
❤29👎11👍7
Ninja Learn | نینجا لرن
بچه های خوبی باشید پست بعدی راجب fastapi 😁😂
از اونجایی که سرعت fastapi بخش زیادیش برمیگرده به starlette پست بعدی راجب
Starllete package
هستش
Starllete package
هستش
🔥27👍7
Forwarded from Sadra Codes
هرچی بیشتر یاد میگیری، بیشتر احساس پوچی و نادانی میکنی. بنظرم این زمانی خوبه که این حس تو رو حریصتر کنه.
در مسیری قدم گذاشتی که دوست داشتی شبیه کسی بشی که آخر این مسیره. پس نباید صفحه اول خودت رو با فصل آخر اون شخص مقایسه کنی. :)
در مسیری قدم گذاشتی که دوست داشتی شبیه کسی بشی که آخر این مسیره. پس نباید صفحه اول خودت رو با فصل آخر اون شخص مقایسه کنی. :)
👍27
نظرتون چیه دراینده سرور دیسکوردم بیاریم بالا؟
(اگه ایده ای هم براش دارید میتونید تو کامنتا بگید)
احتمال خیلییی زیاد با کمک خودتون سرور رو درست کنیم.
(اگه ایده ای هم براش دارید میتونید تو کامنتا بگید)
احتمال خیلییی زیاد با کمک خودتون سرور رو درست کنیم.
👍22👎8❤1