چطور به کمک روش keyset pagination، روی یک Table با چند میلیون رکورد Pagination پیادهسازی کنیم؟
(توضیحاتشون در محیط NET. هست، ولی کانسپتش برای بیشتر تکنولوژیها صدق میکنه)
📱 لینک ویدیو
#محتوای_خوب
(توضیحاتشون در محیط NET. هست، ولی کانسپتش برای بیشتر تکنولوژیها صدق میکنه)
#محتوای_خوب
Please open Telegram to view this post
VIEW IN TELEGRAM
💯3🙊2
- انجین جدید با عملکرد فوق سریع: زمان کامپایل کامل پروژهها تا ۵ برابر کاهش پیدا کرده و سرعت انجام یکسری از فرآیندهای بیلد هم تا ۱۰۰ برابر سریعتر شده!
- طراحی برای وب مدرن: استفاده از قابلیتهای پیشرفتهی CSS، مثل cascade layers و یا css propertyـهای شخصیسازی شده.
- نصب ساده و بدون دردسر: تیلویند دیگه نیازی به انجام تنظیمات پیچیده و یا نصب پلاگینهای متعدد نداره. همهچیز تنها با این یک خط کد CSS انجام میشه
@import "tailwindcss";
- تشخیص خودکار فایلها: از این بهبعد تیلویند فایلهای تمپلیت شما رو خودکار شناسایی میکنه و نیازی به تعیین مسیرهای content در تنظیمات نیست! حتی فایلهای نادیده گرفته شده در gitignore. هم بهطور هوشمند حذف میشن.
فهرست کامل تغییرات در سایت خودش:
https://tailwindcss.com/blog/tailwindcss-v4
Please open Telegram to view this post
VIEW IN TELEGRAM
Tailwindcss
Tailwind CSS v4.0
We just released Tailwind CSS v4.0 — an all-new version of the framework optimized for performance and flexibility, with a reimagined configuration and customization experience, and taking full advantage of the latest advancements the web platform has to…
1👍6🎉2🙊1
راهاندازی DeepSeek R1 روی سیستم شخصی و استفاده از APIش در یک اپ ساده
📱 youtu.be/Vm7CPUb98e0?si=7m-IJrV47v2ws6EL
Please open Telegram to view this post
VIEW IN TELEGRAM
💯3👍1🙊1
Forwarded from IRCF | اینترنت آزاد برای همه
وقتی از روشنشدن ابعاد و تاثیرات مستقیم و غیرمستقیم تصمیم جدید ترامپ (در آینده نزدیک) بر روی وضعیت #اینترنت_آزاد در ایران صحبت میکنیم، یه عده غیرمطلع (به غیر از سایبریها که تکلیفشون روشنه) درجا یه سری اتهام و برچسب ول میکنن، اما برای اون دسته از افرادی که به شفافیت اهمیت میدن میگم که پروژه سرشناس #V2Ray هم از OTF فاند داشته و احتمالا دستور تعلیق میتونه روی توسعهش اثر منفی بذاره.
نکته جالب اینه که هرچی جستجو انجام میشه، اسامی آشنا و جالب بیشتری دیده میشه ...
💡 opentech.fund/security-safety-audits/v2ray-security-audit
💡 github.com/v2fly/v2ray-core/discussions/3096
🔍 ircf.space
@ircfspace
نکته جالب اینه که هرچی جستجو انجام میشه، اسامی آشنا و جالب بیشتری دیده میشه ...
💡 opentech.fund/security-safety-audits/v2ray-security-audit
💡 github.com/v2fly/v2ray-core/discussions/3096
🔍 ircf.space
@ircfspace
🍓2🙊2
نوشتههای ترمینالی
اگر میخواهید یه پروژه رو کلون کنید و حجمش زیاده، میتونید برای بهینه سازی، دو تا کار کنید: ۱- فقط کامیت آخر رو دانلود کنید، مثلا اگر میخواهیم فقط برنامه رو از سورس دانلود کنید و با تاریخچهاش کاری نداریم منطقیه. ۲- فقط برنچ اصلی (master یا main) رو دانلود…
Telegram
نوشتههای ترمینالی
اگر میخواهید یه پروژه رو کلون کنید و حجمش زیاده، میتونید برای بهینه سازی، دو تا کار کنید:
۱- فقط کامیت آخر رو دانلود کنید، مثلا اگر میخواهیم فقط برنامه رو از سورس دانلود کنید و با تاریخچهاش کاری نداریم منطقیه.
۲- فقط برنچ اصلی (master یا main) رو دانلود…
۱- فقط کامیت آخر رو دانلود کنید، مثلا اگر میخواهیم فقط برنامه رو از سورس دانلود کنید و با تاریخچهاش کاری نداریم منطقیه.
۲- فقط برنچ اصلی (master یا main) رو دانلود…
این نکته ☝️🏻 برای clone کردن ریپوهای پرحجمِ git، اخیرا به کار من که خیلی میاد. دونستنش برای شما هم قطعا خالی از لطف نیست
❤🔥2🙊1
Forwarded from Easy Microservices (Ali Yousefi ˢᵒᶠᵗʷᵃʳᵉ ᴰᵉᵛᵉˡᵒᵖᵉʳ)
برنامه نویس حرفهای به نظر من چهار تا بال داره که باید همیشه و حسابی مراقبشون باشه:
دانش و تجربه، تعامل و انتقال این سه تا
1. دربارهی شغل و حرفهی خودتون باید دانش کسب کنید و مدام خودتون رو بروزرسانی کنید. گارد نداشته باشید در یادگیری چیزهای جدید تا از گفتن «نه، غیر ممکنه و نمیشه» به کارفرما اجتناب کنید.
2. تجربه، داشتن دانش بدون تجربه شمارو مثل زنبور بی عسل میکنه، شما دانش رو باید بتونی تبدیل به خروجی کنی وگرنه دیر یا زود همه متوجه میشن که فقط بلدی حرفای قلمبه سلمبه بزنی ولی کاری از دستت بر نمیاد و براحتی یک باگ رو تبدیل به سه تا باگ جدید میکنی. تجربه فقط با تمرین شبانه روزی و نوشتن پروژه بدست میاد نه با خوندن کتاب و ویدئوی آموزشی و هرچیز دیگه. اینا مربوط به قسمت دانش میشه. پس همین حالا دست به کار شو و با پشتکار تجربهی خودت رو تقویت کن. فراموش نکن تجربه با هیچ چیزی جایگزین نمیشه.
3. تعامل، تعامل مربوط به بخش بیزنسی شماست که باید بتونید دانش و تجربهی خودتون رو تبدیل به پول کنید. اینجا شما یاد میگیرید شبکه بسازید با کارفرماها تعامل کنید و با همکارانتون شبکهی قویای بسازید. دعواهایی که توی ذهنت داری رو رها کن، اگر فکرت رو صرف این کنی که چطور با کارفرما یا همکارات تعاملات بهتری داشته باشی تا اینکه چطور توی دعواها پیروز بشی شما پیشرفت میکنی.
4. باید یاد بگیری اون سه مورد رو انتقال بدی. دانش اگر یکجا بمونه کپک میزنه، تجربه اگر یکجا بمونه شمارو منفور میکنه، تعامل اگر یکجا بمونه دیگران رو از شما فراری میده، دانش و تجربه و حتی تعاملات با آموزش و انتقال به دیگرانه که جوونه میزنه و میوه میده. پس خاضعانه همهی اینها رو انتقال بده، بهت قول میدم هرگز چیزی رو از دست نمیدی بلکه چیزهای جدیدی بدست میاری که از یاقوت سرخ هم با ارزشتر هستند.
#بالهای_شما
#برنامه_نویسی
#برنامه_نویس
#شغل
#مهارت_های_نرم
#مهارت_های_سخت
#تخصص
دانش و تجربه، تعامل و انتقال این سه تا
1. دربارهی شغل و حرفهی خودتون باید دانش کسب کنید و مدام خودتون رو بروزرسانی کنید. گارد نداشته باشید در یادگیری چیزهای جدید تا از گفتن «نه، غیر ممکنه و نمیشه» به کارفرما اجتناب کنید.
2. تجربه، داشتن دانش بدون تجربه شمارو مثل زنبور بی عسل میکنه، شما دانش رو باید بتونی تبدیل به خروجی کنی وگرنه دیر یا زود همه متوجه میشن که فقط بلدی حرفای قلمبه سلمبه بزنی ولی کاری از دستت بر نمیاد و براحتی یک باگ رو تبدیل به سه تا باگ جدید میکنی. تجربه فقط با تمرین شبانه روزی و نوشتن پروژه بدست میاد نه با خوندن کتاب و ویدئوی آموزشی و هرچیز دیگه. اینا مربوط به قسمت دانش میشه. پس همین حالا دست به کار شو و با پشتکار تجربهی خودت رو تقویت کن. فراموش نکن تجربه با هیچ چیزی جایگزین نمیشه.
3. تعامل، تعامل مربوط به بخش بیزنسی شماست که باید بتونید دانش و تجربهی خودتون رو تبدیل به پول کنید. اینجا شما یاد میگیرید شبکه بسازید با کارفرماها تعامل کنید و با همکارانتون شبکهی قویای بسازید. دعواهایی که توی ذهنت داری رو رها کن، اگر فکرت رو صرف این کنی که چطور با کارفرما یا همکارات تعاملات بهتری داشته باشی تا اینکه چطور توی دعواها پیروز بشی شما پیشرفت میکنی.
4. باید یاد بگیری اون سه مورد رو انتقال بدی. دانش اگر یکجا بمونه کپک میزنه، تجربه اگر یکجا بمونه شمارو منفور میکنه، تعامل اگر یکجا بمونه دیگران رو از شما فراری میده، دانش و تجربه و حتی تعاملات با آموزش و انتقال به دیگرانه که جوونه میزنه و میوه میده. پس خاضعانه همهی اینها رو انتقال بده، بهت قول میدم هرگز چیزی رو از دست نمیدی بلکه چیزهای جدیدی بدست میاری که از یاقوت سرخ هم با ارزشتر هستند.
#بالهای_شما
#برنامه_نویسی
#برنامه_نویس
#شغل
#مهارت_های_نرم
#مهارت_های_سخت
#تخصص
1👍5🔥1🌚1🙊1
اگر فقط یک چیز تونسته باشه من رو راضی کنه که برای مدت نسبتا طولانی یک کار رو بهصورت مستمر انجام بدم، اون Duolingo هست. با gamification بینظیری که داره (یکم سمج هست فقط 😁 ) فرآیند یادگیری و استمرار در اون رو خیلی بهبود میده.
توی این مقاله میتونید در مورد این که چطور Duolingo موفق شده بهکمک gamification کاربرها رو به این فرآیند علاقهمند کنه، مطالعه کنید:
🔗 raw.studio/blog/how-duolingo-utilises-gamification
توی این مقاله میتونید در مورد این که چطور Duolingo موفق شده بهکمک gamification کاربرها رو به این فرآیند علاقهمند کنه، مطالعه کنید:
Please open Telegram to view this post
VIEW IN TELEGRAM
😇3👍1🙊1
gemini.google.com
(از اونجایی که تحریم هستیم، به VPN یا DNSـهایی مثل 403.online نیاز داره)
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥5👍1🙊1
Forwarded from Linuxor ?
یه مشکلی که خیلیا توی گرفتن کلید API برای اکانت تلگرام بهش میخورن اینه که تلگرام یه ERROR میده و به هر IP نمیده،
دقت کنید اصلا لازم نیست برای هر اکانت API_HASH و API_ID بگیرین، برای ساخت اپلیکیشن اینارو میگیرن مثلا فرض کنید میخواین یه تلگرام جدید بسازین و روش کلی اکانت باشه، بنابرین شما که میخواین فقط یه اکانت رو منیج کنید اصلا نیازی به گرفتنش نیست میتونین از API مثلا تلگرام دسکتاپ با کلید زیر استفاده کنین :
API ID : 2040
API HASH : b18441a1ff607e10a989891a5462e627
من خودم چند ساله دارم از این استفاده میکنم.
@Linuxor
دقت کنید اصلا لازم نیست برای هر اکانت API_HASH و API_ID بگیرین، برای ساخت اپلیکیشن اینارو میگیرن مثلا فرض کنید میخواین یه تلگرام جدید بسازین و روش کلی اکانت باشه، بنابرین شما که میخواین فقط یه اکانت رو منیج کنید اصلا نیازی به گرفتنش نیست میتونین از API مثلا تلگرام دسکتاپ با کلید زیر استفاده کنین :
API ID : 2040
API HASH : b18441a1ff607e10a989891a5462e627
من خودم چند ساله دارم از این استفاده میکنم.
@Linuxor
👍5🙊1
GitHub
Releases · Begzar/BegzarWindows
Begzar windows client. Contribute to Begzar/BegzarWindows development by creating an account on GitHub.
با توجه به عملکرد کامیونیتی تا الان، اگر روی Windows/Android مشکل VPN دارید، بهتون پیشنهاد میکنم #بگذر رو هم امتحان کنید.
هرچند برای من که بهشخصه همچنان Oblivion جوابگو هست.
🔗 github.com/Begzar/BegzarWindows/releases
هرچند برای من که بهشخصه همچنان Oblivion جوابگو هست.
Please open Telegram to view this post
VIEW IN TELEGRAM
🙊2
Mahi in Tech
این ویژگیها درحال حاضر رایگان هستند و فقط از طریق Google AI Studio در دسترسان.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥2🔥1🏆1🙊1
Forwarded from Panic Dev (Hex)
🤩 ورسل یه ابزاری زده به اسم grep که شما میتونید خیلی ساده باهاش توی چند میلیون ریپازیتوری پابلیک هرچیزی که دوس دارید رو سرچ بزنید و پیداش کنید.
🎩 یکی از کاربرد های دارکش هم اینه که شما میتونید بگردید دنبال کلید هایی که اشتباها پوش شده توی ریپازیتوری ها :))
مثلا لایسنس لاراول نوا توی env از طریق یه کلید به اسم:
ست میشه - همین رو اگه سرچ کنید تمام ریپازیتوری هایی که این کلید اشتباها توشون پوش شده رو براتون میاره...
🔗 https://grep.app
استفاده به کام 😎🔥
🎩 یکی از کاربرد های دارکش هم اینه که شما میتونید بگردید دنبال کلید هایی که اشتباها پوش شده توی ریپازیتوری ها :))
مثلا لایسنس لاراول نوا توی env از طریق یه کلید به اسم:
NOVA_LICENSE_KEY=ست میشه - همین رو اگه سرچ کنید تمام ریپازیتوری هایی که این کلید اشتباها توشون پوش شده رو براتون میاره...
استفاده به کام 😎🔥
Please open Telegram to view this post
VIEW IN TELEGRAM
grep.app
Code Search | Grep by Vercel
Effortlessly search for code, files, and paths across a million GitHub repositories.
👍3🎉1🤣1🙊1
Forwarded from Easy Microservices (Ali Yousefi ˢᵒᶠᵗʷᵃʳᵉ ᴰᵉᵛᵉˡᵒᵖᵉʳ)
برنامه نویسها و بچههای IT گل... دیابت رو جدی بگیرید.
من 18 ساله روی صندلی میشینم و دیابت دارم. بحث شیرینی جات مطرح نیست بحث عدم تحرک مطرح هست.
هر کدوم از شما که تحرک نداشته باشید در خطر ابتلا هستید.
چطوری حلش کنیم؟
من قندم بدون قرص به 300 میرسه. قند بره بالا بدن چربی مصرف نمیکنه و چربی خون هم میره بالا و خطر سکته و مشکلات قلبی رو میبره بالا.
با قرص هایی که دکتر برام تجویز کرده قندم تا حدودی کنترل شده.
اما، اما.... اگر ورزش نمیکنید یا مثل من واقعا حال و حوصله اش رو ندارید روزی 40 دیقه پیادهروی غوغا میکنه. و کاملا قند و خیلی چیزها توی بدنتون تنظیم میشه. هرچند ورزش رو پیشنهاد میکنم. اما یک پیاده روی ساده هم کارتون رو راه میندازه.
اگر تاکسی اینترنتی میگیرید فقط کافیه مقصد رو دور تر از خونه انتخاب کنید و هم هزینه هاتون کم میشه هم پیاده روی میکنید و برای سلامتی تون خوبه.
مانا باشید.
#دیابت
من 18 ساله روی صندلی میشینم و دیابت دارم. بحث شیرینی جات مطرح نیست بحث عدم تحرک مطرح هست.
هر کدوم از شما که تحرک نداشته باشید در خطر ابتلا هستید.
چطوری حلش کنیم؟
من قندم بدون قرص به 300 میرسه. قند بره بالا بدن چربی مصرف نمیکنه و چربی خون هم میره بالا و خطر سکته و مشکلات قلبی رو میبره بالا.
با قرص هایی که دکتر برام تجویز کرده قندم تا حدودی کنترل شده.
اما، اما.... اگر ورزش نمیکنید یا مثل من واقعا حال و حوصله اش رو ندارید روزی 40 دیقه پیادهروی غوغا میکنه. و کاملا قند و خیلی چیزها توی بدنتون تنظیم میشه. هرچند ورزش رو پیشنهاد میکنم. اما یک پیاده روی ساده هم کارتون رو راه میندازه.
اگر تاکسی اینترنتی میگیرید فقط کافیه مقصد رو دور تر از خونه انتخاب کنید و هم هزینه هاتون کم میشه هم پیاده روی میکنید و برای سلامتی تون خوبه.
مانا باشید.
#دیابت
👍13🙊4
فعلا Dastyar رو غیرفعال کردم، تا تکلیف بهروزرسانی اخیرش رو مشخص کنه.
ظاهرا یک آپشن «پاسخ با هوشمصنوعی» اضافه کرده، که قابل غیرفعال کردن نیست (قابلیت غیرفعال کردن داره، ولی عمل نمیکنه!) و این توی تمام جستوجوهای گوگل نمایش داده میشه. حالا مشکل کجاست؟ اینکه ما اگه نخوایم سرچهامون به سمت سرور Dastyar ارسال شه کی رو باید ببینیم؟😐 حالا خیلی وارد جزئیات نمیشم وگرنه هنوز جای بحث داره، اما من واقعا اهمیت نمیدم که هدف این درخواستها چی هست و درهرصورت اینکه با هر جستوجویی که انجام میدم چند درخواست به سمت سرور Dastyar ارسال شه اصلا جالب نیست.
ظاهرا یک آپشن «پاسخ با هوشمصنوعی» اضافه کرده، که قابل غیرفعال کردن نیست (قابلیت غیرفعال کردن داره، ولی عمل نمیکنه!) و این توی تمام جستوجوهای گوگل نمایش داده میشه. حالا مشکل کجاست؟ اینکه ما اگه نخوایم سرچهامون به سمت سرور Dastyar ارسال شه کی رو باید ببینیم؟
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🙊2
این grok 3 که بهتازگی معرفی شده هم واقعا خوبه. همچنین تا اونجایی که خروجیهاش رو بررسی کردم نسبت به بقیه human likeـتر مینویسه.
امکان ساخت تصویر هم داره که توی این مورد هم خوب عمل کرده.
امتحانش کنید (طبق معمول با IP ایران در دسترس نیست):
Grok.com
امکان ساخت تصویر هم داره که توی این مورد هم خوب عمل کرده.
امتحانش کنید (طبق معمول با IP ایران در دسترس نیست):
Grok.com
👍5❤🔥1🙊1
Forwarded from Arsham's Tech Mastery (Arsham)
تست ستون پروژست!
و همونطور که خونه هایی هم هستن که قدیمی و کاه گلی اند و ستون ندارن، و یه بارون بزنه هم سقفشون میریزه، یا نمیشه به راحتی یا کلا بهشون طبقه اضافه کرد، پروژه هایی هم هستن که تست (ستون) ندارن، و یه فیچر جدید بخوای اضافه کنی تمام فیچر های قبلی میترکه!
زیاد میشنوم که میگن تست به دیباگ کردن کد کمک میکنه، اما این ممکنه یکم گمراه کننده باشه.
این نکته کلیدی فراموش نشه که در خیلی از مدل های تست از جمله unit و integration، ما برای سناریو هایی تست مینویسیم، که سناریو اش رو میدونیم!
در این مدل تست ها، اگه باگی رو با تست دستی نتونیم پیدا کنیم، تست اتومات هیچ کمکی به ما نمیکنه.
پس در واقع با تست اتومات داریم استحکام چیزی که داریم رو تضمین میکنیم.
ولی خب، تو یه سری مدل تست ها مثل e2e و load test هم مجددا سناریو رو میدونیم، با اینحال ممکنه قسمتی از فلو (flow)، مطابق انتظار پیش نره، لود تست که کلا داستان خاص خودشو داره،
ولی تو e2e هم مجددا اگه ایراد پیشبینی نشده ای پیدا بشه، احتمالا در نقاط اتصال هست، و e2e هم تو پیدا کردن باگ لاجیکی غیرمنتظره، کمکی به ما نمیکنه.
<--×-->
دلیل مقاومت بعضی تیم ها و بهونه هایی مثل کمبود وقت برای نوشتن تست، شاید به خاطر ناملموس بودن ارزش افزوده تست ها باشه. با اینحال، تضمین کیفیت و صحت کد های قبلی، موضوع مهم و با ارزشیه، که با نوشتن تست اتومات بدست میاد.
اهمیت این موضوع رو کدبیس های بزرگتر، خیلی بیشتر به چشم میاد.
<--×-->
راجع به دست و پا گیر بودن تست تو فاز های اولیه توسعه، عده ای معتقدن که اگه نیازمندی بیزنس شفاف نباشه، ما هم خود کد و هم تست هاشو باید مدام تغییر بدیم، ولی سوال اصلی اینجاست که چرا نیازمندی بیزنس انقدر باید متغیر (و گنگ) باشه که ورودی و خروجی سیستم بارها، به کل تغییر کنه؟
غیر منطقی به نظر میاد،
اما منم بارها شاهدش بودم!
ولی مسئله اینجا تست نیست،
باید به خیلی قبل ترش نگاه کنیم،
همون جایی که نیازمندی بیزنس داره مشخص میشه.
<--×-->
از خوبی های جانبی تست هم میشه به "مثال بودن" اش اشاره کرد. با فرض دنیای ایده آل، خوندن تست های یه پروژه خیلی ساده تر از خوندن کد خود پروژست، و از رو تست هاش میشه به سادگی فهمید که چیکار میکنه و ورودی و خروجی مورد انتظار سیستم چی هست.
البته خب تو دنیای واقعی و غیر ایده آل، ممکنه یه دولوپر تازه کار مدعی سینیوریتی همین تست هارو فراپیچیده (over complex) کنه.
یه مزیت جانبی دیگه تست هم میتونه بحث تمیزی کد باشه، کدی که تمیز نباشه به راحتی قابل تست نیست، پس در واقع تست مارو مجبور میکنه که کد تمیز تری بنویسیم.
<--×-->
ولی خب در کل نظر شما راجع به تست چیه؟
مزایا؟ معایب؟ پیشنهاد؟ انتقاد؟ به من، به پست، به کانال و... 🙂🙌🏼
و همونطور که خونه هایی هم هستن که قدیمی و کاه گلی اند و ستون ندارن، و یه بارون بزنه هم سقفشون میریزه، یا نمیشه به راحتی یا کلا بهشون طبقه اضافه کرد، پروژه هایی هم هستن که تست (ستون) ندارن، و یه فیچر جدید بخوای اضافه کنی تمام فیچر های قبلی میترکه!
زیاد میشنوم که میگن تست به دیباگ کردن کد کمک میکنه، اما این ممکنه یکم گمراه کننده باشه.
این نکته کلیدی فراموش نشه که در خیلی از مدل های تست از جمله unit و integration، ما برای سناریو هایی تست مینویسیم، که سناریو اش رو میدونیم!
در این مدل تست ها، اگه باگی رو با تست دستی نتونیم پیدا کنیم، تست اتومات هیچ کمکی به ما نمیکنه.
پس در واقع با تست اتومات داریم استحکام چیزی که داریم رو تضمین میکنیم.
ولی خب، تو یه سری مدل تست ها مثل e2e و load test هم مجددا سناریو رو میدونیم، با اینحال ممکنه قسمتی از فلو (flow)، مطابق انتظار پیش نره، لود تست که کلا داستان خاص خودشو داره،
ولی تو e2e هم مجددا اگه ایراد پیشبینی نشده ای پیدا بشه، احتمالا در نقاط اتصال هست، و e2e هم تو پیدا کردن باگ لاجیکی غیرمنتظره، کمکی به ما نمیکنه.
<--×-->
دلیل مقاومت بعضی تیم ها و بهونه هایی مثل کمبود وقت برای نوشتن تست، شاید به خاطر ناملموس بودن ارزش افزوده تست ها باشه. با اینحال، تضمین کیفیت و صحت کد های قبلی، موضوع مهم و با ارزشیه، که با نوشتن تست اتومات بدست میاد.
اهمیت این موضوع رو کدبیس های بزرگتر، خیلی بیشتر به چشم میاد.
<--×-->
راجع به دست و پا گیر بودن تست تو فاز های اولیه توسعه، عده ای معتقدن که اگه نیازمندی بیزنس شفاف نباشه، ما هم خود کد و هم تست هاشو باید مدام تغییر بدیم، ولی سوال اصلی اینجاست که چرا نیازمندی بیزنس انقدر باید متغیر (و گنگ) باشه که ورودی و خروجی سیستم بارها، به کل تغییر کنه؟
غیر منطقی به نظر میاد،
اما منم بارها شاهدش بودم!
ولی مسئله اینجا تست نیست،
باید به خیلی قبل ترش نگاه کنیم،
همون جایی که نیازمندی بیزنس داره مشخص میشه.
<--×-->
از خوبی های جانبی تست هم میشه به "مثال بودن" اش اشاره کرد. با فرض دنیای ایده آل، خوندن تست های یه پروژه خیلی ساده تر از خوندن کد خود پروژست، و از رو تست هاش میشه به سادگی فهمید که چیکار میکنه و ورودی و خروجی مورد انتظار سیستم چی هست.
البته خب تو دنیای واقعی و غیر ایده آل، ممکنه یه دولوپر تازه کار مدعی سینیوریتی همین تست هارو فراپیچیده (over complex) کنه.
یه مزیت جانبی دیگه تست هم میتونه بحث تمیزی کد باشه، کدی که تمیز نباشه به راحتی قابل تست نیست، پس در واقع تست مارو مجبور میکنه که کد تمیز تری بنویسیم.
<--×-->
ولی خب در کل نظر شما راجع به تست چیه؟
مزایا؟ معایب؟ پیشنهاد؟ انتقاد؟ به من، به پست، به کانال و... 🙂🙌🏼
❤🔥4🙊2
احتمالا دیده باشید ولی سازندهی ردیس چند هفته پیش یک پستی منتشر کرده با این عنوان که «ما درحال نابود کردن نرمافزار هستیم»! و یکی از مواردی که مطرح (گلایه میکنه درواقع) میکنه و بهنظرم جالب بود این هست:
باقی موارد رو هم پیشنهاد میکنم بخونید، کوتاه هست:
🔗 antirez.com/news/145
ما در حال نابود کردن نرمافزار هستیم وقتی که به برنامهنویسان جدید میگوییم: «چرخ را دوباره اختراع نکنید!». اما، اختراع دوباره چرخ است که به شما یاد میدهد چیزها چگونه کار میکنند و اولین قدم برای ساخت چرخهای جدید و متفاوت است.
باقی موارد رو هم پیشنهاد میکنم بخونید، کوتاه هست:
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥3👍1🙊1