Forwarded from DevTwitter | توییت برنامه نویسی
تست خودکار کامپوننتهای React!
اولین پکیج NPM من منتشر شد: auto-react-test
با این پکیج میتونید تستهای اولیه و خودکار برای کامپوننتهای React بسازید و کمی از وقتتون رو صرف نوشتن دستی تستها کم کنید.
این پکیج هنوز نسخههای اولیه هست و کامل نیست، اما در حال توسعه و بهبوده
امکانات اصلی:
- شناسایی JSX و المانهای UI مثل دکمه، اینپوت و متن
- بررسی state و props
- تست useEffect و فراخوانیهای API (fetch / axios)
- تولید خودکار فایل تست سازگار با jest و vitest
- سازگار با TypeScript و data-testid
نصب با دستور : npm install -g auto-react-test
https://www.npmjs.com/package/auto-react-test
https://github.com/Imehti/auto-react-test
@DevTwitter | <Mahdi/>
اولین پکیج NPM من منتشر شد: auto-react-test
با این پکیج میتونید تستهای اولیه و خودکار برای کامپوننتهای React بسازید و کمی از وقتتون رو صرف نوشتن دستی تستها کم کنید.
این پکیج هنوز نسخههای اولیه هست و کامل نیست، اما در حال توسعه و بهبوده
امکانات اصلی:
- شناسایی JSX و المانهای UI مثل دکمه، اینپوت و متن
- بررسی state و props
- تست useEffect و فراخوانیهای API (fetch / axios)
- تولید خودکار فایل تست سازگار با jest و vitest
- سازگار با TypeScript و data-testid
نصب با دستور : npm install -g auto-react-test
https://www.npmjs.com/package/auto-react-test
https://github.com/Imehti/auto-react-test
@DevTwitter | <Mahdi/>
🔥2
Forwarded from Linuxor ?
دوست دارین بدونین داخل شرکت گوگل با چه ابزار هایی کار میکنن و خارجش با چه ابزار هایی ؟
گوگل خودش یه دنیای دیگس و ابزار هایی که توی شرکت گوگل استفاده میشه با چیزی که خارج گوگله متفاوته، اینجا یه جدول بزرگ ساختن از ابزار هایی که داخل گوگل استفاده میشه و جلوش هم مشابهش که توی دنیا خارج گوگل استفاده میشه رو نوشتن :
github.com/jhuangtw/xg2xg
@Linuxor
گوگل خودش یه دنیای دیگس و ابزار هایی که توی شرکت گوگل استفاده میشه با چیزی که خارج گوگله متفاوته، اینجا یه جدول بزرگ ساختن از ابزار هایی که داخل گوگل استفاده میشه و جلوش هم مشابهش که توی دنیا خارج گوگل استفاده میشه رو نوشتن :
github.com/jhuangtw/xg2xg
@Linuxor
Forwarded from Note (Mr.05) (Mr.Bv)
ابزار نسبتا جدید تشخیص چهره و اطلاعات فیزیکی
- @Mr05_Dev
from retinaface import RetinaFace
resp = RetinaFace.detect_faces("img1.jpg")
print(resp)
{
"face_1": {
"score": 0.9993440508842468,
"facial_area": [155, 81, 434, 443],
"landmarks": {
"right_eye": [257.82974, 209.64787],
"left_eye": [374.93427, 251.78687],
"nose": [303.4773, 299.91144],
"mouth_right": [228.37329, 338.73193],
"mouth_left": [320.21982, 374.58798]
}
}
}
- @Mr05_Dev
Forwarded from Note (Mr.05) (Mr.Bv)
یادتون باشه یه مدت پیش روی مدل های افکت صوتی و تصویری کار کردیم برای فیلترینگ و اتوماسیون تماس با پشتیبانی....
حالا از آشنایان نزدیک یه پروژه ساخته که میتونید با چند ثانیه از صدا خودتون یه مدل گفتاری برای صوت خودتون بسازید.
- @Mr05_Dev
حالا از آشنایان نزدیک یه پروژه ساخته که میتونید با چند ثانیه از صدا خودتون یه مدل گفتاری برای صوت خودتون بسازید.
github.com/neuphonic/neutts-air- @Mr05_Dev
امروز کیس جدید رو خواستم لینوکس بزنم.
رفتم آرچ نصب کنم دیدم عه اینترنت رو نمیبینه. ی ساعت تلاش کردم نشد. هوش مصنوعی گفت احتمالا داخل ایزو وایرفریم شبکه نیست
گفتم خیلی خب رفتم ایزو فدورا دانلود کردم دوباره همون مشکل
فهمیدم سوکتش خراب بوده
رفتم آرچ نصب کنم دیدم عه اینترنت رو نمیبینه. ی ساعت تلاش کردم نشد. هوش مصنوعی گفت احتمالا داخل ایزو وایرفریم شبکه نیست
گفتم خیلی خب رفتم ایزو فدورا دانلود کردم دوباره همون مشکل
فهمیدم سوکتش خراب بوده
😁1🤣1😐1
از این سرعت هوش مصنوعی میترسم
توی این شرایط باید خیلی انعطاف پذیر تر بود
توی این شرایط باید خیلی انعطاف پذیر تر بود
👍7
Forwarded from Linuxor ?
گاهی درگیری با بکاند اضافه کاریست، کافیه کار با ابزار هارو بلد باشین مثلا IBM یه چیزی داره به اسم LoopBack که کارو توی بکاند خیلی راحت میکنه توش همچی آمادس دیگه نیازی نیست دستی Route بنویسید یا به دیتابیس درگیر بشین یا مثلا احراز هویت و مجوزها (توی پروژههای واقعی معمولاً باید بررسی کنی چه کسی اجازهی دسترسی به چه چیزی داره) رو خودش هندل میکنه
نصبش:
loopback.io/getting-started.html
مستنداتش:
loopback.io/doc/en/lb4
@Linuxor
نصبش:
loopback.io/getting-started.html
مستنداتش:
loopback.io/doc/en/lb4
@Linuxor
Forwarded from tech-afternoon (Amin Mesbahi)
🧪 مفهوم و کاربرد API Mocking & Virtualization
خیلی از سردردها از نداشتن محیط اجرای مناسب نشأت میگیره؛ و خیلی از محیط خوب نداشتنها از ترس پیچیده یا زمانبر بودنِ پیادهسازی. از طرف دیگه خیلی از integration ها با آسودگی و سرعت پیش نمیرن؛ چون API سیستمِ دیگه، شفاف نیست، یا محیط test نداره.
شنیدن جمله "منتظرم API شون آماده شه!" چیز غریب و نادری نیست! ولی واقعیت اینه که توی تیمهای بالغ، منتظر نمیمونن، mock میکنن، یا قبل از توسعه API واقعی، اول API Spec رو مینویسن و در اختیار تیمهای دیگه قرار میدن. اگر هم خیلی بالغ باشن که به جز API Spec ساز و کارkey management برای محیطهای dev/test/stage/production رو هم محیا و ارائه میکنن.
بیاین در گام اول بیخیالِ میزان بلوغ تیم مقابل بشیم و خودمون رفتارهای بالغانه در تیم داشته باشیم:
مفهوم Mocking و Virtualization یعنی ساخت یه نسخهی شبیهسازیشده از سرویسها، قبل از اینکه backend واقعی در دسترس باشه. این کمک میکنه تا فرانتاند یا بکندی که API رو صدا میکنه، یا تست خودکار، و حتی همزمانی توسعه بین تیمها سریعتر بشه.
🚦 چرا مهمه؟
- کاهش وابستگیها: تیمها میتونن موازی کار کنن.
- بهبود تست و استیجینگ: سناریوهای خطا و پاسخهای خاص قابل بازسازی هستن.
- تکرارپذیری: تستها بدون وابستگی به دادههای زنده انجام میشن.
- پیشرفت بدون صبر: تا backend آماده بشه، frontend یا consumer هم رشد میکنه.
🧰 ابزارها
۱: ابزار Mockoon
رایگانه، دسکتاپ اپلیکیشن با رابط گرافیکی خوب است (نسخه مک و ویندوز داره) نسخه CLI هم داره.
۲: ابزار WireMock
یکی از بهترین ابزارها بود تا اینکه نسخه رایگان و پولی منتشر کرد! هنوز هم از نظر قابلیتها ابزار خیلی خوبیه و مثلا rule-based mock، یا fault simulation رو خیلی خوب پشتیبانی میکنه.
۳: ابزار Microcks
هنوز به بلوغ WireMock نرسیده ولی ابزار خیلی خوبیه، یه UI وب ساده هم داره ولی هنوز کامل نیست (مثلا اینکه بتونید با UI انواع payloadها رو تعریف کنید یا chain بسازید رو نداره.
۴: ابزار (سرویس) Postman Mock Server
خب پستمن دیگه برای همه شناخته شده است، ولی سرویسها انترپرایزش نیاز به لایسنس داره چون نسخه رایگان همین mock server فقط ۳ کاربر رو پشتیبانی میکنه و محدودیتهای زیادی داره.
چجوری payload رو محیا کنیم؟
۱. استخراج از مستندات موجود
اگر تیم backend مستندات OpenAPI/Swagger داره، راحتترین راهه:
حتی اگر schema دقیق نباشه، حداقل مسیرها و ساختار پایه آمادهست.
۲. Sniff کردن درخواستها در زمان کار
اگه endpointها در محیط تست یا staging یا جایی که بتونین حداقل یک بار صداشون کنین در دسترس هستن؛ ولی مستندات ندارن:
از Fiddler, Charles, یا mitmproxy یا ابزارهای مشابه استفاده کنید برای کپی کردن و استخراج درخواستها و پاسخها. بعد اونها رو به JSON تبدیل و برای mock استفاده کنین.
(یه snapshot واقعی از تعامل سیستمهاست)
۳. تولید خودکار مدل از JSON
وقتی چند تا نمونه JSON داری ولی model نه:
ابزارهای زیادی از جمله خود IDE های رایج سریع JSON رو به تایپ تبدیل میکنن و این کمک میکنه تا schema بسازین و بر اساس اون mock بنویسین.
۴. ساخت چند سناریو
فقط happy path رو mock نکن! یعنی اینکه همه چیز خیلی خوب و باب طبع باشه کافی نیست؛ سناریوهای مختلف مثل انواع خطاهای کد 4xx یا 5xx یا کندیها یا تاماوت یا... رو هم در mockهات بسازین.
جمعبندی
فراموش نکنین که Mocking فقط یه کار “موقتی” نیست، یه مهارت توسعهی تیمیه برای استقلال، سرعت و کیفیت. وقتی payloadها درست جمعآوری بشن، Mocking تبدیل میشه به پلی بین توسعه، تست و واقعیت سیستم.
💬 اگر موضوعاتی مثل Governance and Standardization یا API-First یا API Monitoring براتون جذاب بود حتمن بگید تا کمی در موردشون گپ بزنیم.
خیلی از سردردها از نداشتن محیط اجرای مناسب نشأت میگیره؛ و خیلی از محیط خوب نداشتنها از ترس پیچیده یا زمانبر بودنِ پیادهسازی. از طرف دیگه خیلی از integration ها با آسودگی و سرعت پیش نمیرن؛ چون API سیستمِ دیگه، شفاف نیست، یا محیط test نداره.
شنیدن جمله "منتظرم API شون آماده شه!" چیز غریب و نادری نیست! ولی واقعیت اینه که توی تیمهای بالغ، منتظر نمیمونن، mock میکنن، یا قبل از توسعه API واقعی، اول API Spec رو مینویسن و در اختیار تیمهای دیگه قرار میدن. اگر هم خیلی بالغ باشن که به جز API Spec ساز و کارkey management برای محیطهای dev/test/stage/production رو هم محیا و ارائه میکنن.
بیاین در گام اول بیخیالِ میزان بلوغ تیم مقابل بشیم و خودمون رفتارهای بالغانه در تیم داشته باشیم:
مفهوم Mocking و Virtualization یعنی ساخت یه نسخهی شبیهسازیشده از سرویسها، قبل از اینکه backend واقعی در دسترس باشه. این کمک میکنه تا فرانتاند یا بکندی که API رو صدا میکنه، یا تست خودکار، و حتی همزمانی توسعه بین تیمها سریعتر بشه.
🚦 چرا مهمه؟
- کاهش وابستگیها: تیمها میتونن موازی کار کنن.
- بهبود تست و استیجینگ: سناریوهای خطا و پاسخهای خاص قابل بازسازی هستن.
- تکرارپذیری: تستها بدون وابستگی به دادههای زنده انجام میشن.
- پیشرفت بدون صبر: تا backend آماده بشه، frontend یا consumer هم رشد میکنه.
🧰 ابزارها
۱: ابزار Mockoon
رایگانه، دسکتاپ اپلیکیشن با رابط گرافیکی خوب است (نسخه مک و ویندوز داره) نسخه CLI هم داره.
۲: ابزار WireMock
یکی از بهترین ابزارها بود تا اینکه نسخه رایگان و پولی منتشر کرد! هنوز هم از نظر قابلیتها ابزار خیلی خوبیه و مثلا rule-based mock، یا fault simulation رو خیلی خوب پشتیبانی میکنه.
۳: ابزار Microcks
هنوز به بلوغ WireMock نرسیده ولی ابزار خیلی خوبیه، یه UI وب ساده هم داره ولی هنوز کامل نیست (مثلا اینکه بتونید با UI انواع payloadها رو تعریف کنید یا chain بسازید رو نداره.
۴: ابزار (سرویس) Postman Mock Server
خب پستمن دیگه برای همه شناخته شده است، ولی سرویسها انترپرایزش نیاز به لایسنس داره چون نسخه رایگان همین mock server فقط ۳ کاربر رو پشتیبانی میکنه و محدودیتهای زیادی داره.
چجوری payload رو محیا کنیم؟
۱. استخراج از مستندات موجود
اگر تیم backend مستندات OpenAPI/Swagger داره، راحتترین راهه:
curl https://api.company.com/openapi.json -o spec.json
mockoon-cli import --data spec.json
حتی اگر schema دقیق نباشه، حداقل مسیرها و ساختار پایه آمادهست.
۲. Sniff کردن درخواستها در زمان کار
اگه endpointها در محیط تست یا staging یا جایی که بتونین حداقل یک بار صداشون کنین در دسترس هستن؛ ولی مستندات ندارن:
از Fiddler, Charles, یا mitmproxy یا ابزارهای مشابه استفاده کنید برای کپی کردن و استخراج درخواستها و پاسخها. بعد اونها رو به JSON تبدیل و برای mock استفاده کنین.
(یه snapshot واقعی از تعامل سیستمهاست)
۳. تولید خودکار مدل از JSON
وقتی چند تا نمونه JSON داری ولی model نه:
ابزارهای زیادی از جمله خود IDE های رایج سریع JSON رو به تایپ تبدیل میکنن و این کمک میکنه تا schema بسازین و بر اساس اون mock بنویسین.
۴. ساخت چند سناریو
فقط happy path رو mock نکن! یعنی اینکه همه چیز خیلی خوب و باب طبع باشه کافی نیست؛ سناریوهای مختلف مثل انواع خطاهای کد 4xx یا 5xx یا کندیها یا تاماوت یا... رو هم در mockهات بسازین.
جمعبندی
فراموش نکنین که Mocking فقط یه کار “موقتی” نیست، یه مهارت توسعهی تیمیه برای استقلال، سرعت و کیفیت. وقتی payloadها درست جمعآوری بشن، Mocking تبدیل میشه به پلی بین توسعه، تست و واقعیت سیستم.
Please open Telegram to view this post
VIEW IN TELEGRAM
Mockoon
Mockoon - Create mock APIs in seconds with Mockoon
Mockoon is the easiest and quickest way to run mock REST API servers. No remote deployment, no account required, free, open source and cross-platform.
Forwarded from Linuxor ?
ساختن پروژه اوپن سورس توی گیتهاب یا هر جایی یه فرهنگی داره، مثلا اینکه چطوری کانتریبیوت کنیم، چطوری اصلا خودمون پروژه اوپن سورس بسازیم و یا چطوری کاربر برای پروژمون پیدا کنیم، اینجا قوانین و روش هاشو نوشته خیلی کوتاه و مفید هم هستن :
opensource.guide
@Linuxor
opensource.guide
@Linuxor
مثلا آینده توی این کلاس های موفقیت میگم تا وقتی پشت پاتون پینه نزده از راه رفتن به این اداره و اون اداره و شرکت به شرکت موفقیت رو بیخیال بشین
🔥1
Forwarded from DevTwitter | توییت برنامه نویسی
تقریبا تمام کدهایی که در گیتهاب وجود دارند، fine tune یک LLM رو به شما یاد میدن. در طی دو روز گذشته من درگیر این پروژه شدم که pretrain یک LLM رو یادتون میده:
https://github.com/prp-e/minillm
و صدالبته یه مدل کوچک هم باهاش پریترین کردم که میتونید تست کنید.
@DevTwitter | <Muhammadreza Haghiri/>
https://github.com/prp-e/minillm
و صدالبته یه مدل کوچک هم باهاش پریترین کردم که میتونید تست کنید.
@DevTwitter | <Muhammadreza Haghiri/>
Forwarded from Linuxor ?
اگه از با ++C کد میزنی و حس میکنی یکم کد زدن سخته نگران نباش چون توی زبان هایی مثل ++C ناخودآگاه آدم به سمت ساخت از نوی چرخ میره، گوگل کل تجربه هاشو توی یه لایبری و یا مجموعه ابزار به اسم abseil قرار داده، از مدیریت زمان بگیر تا رشتهها، همزمانی، کانتینرها و هشها کلی کارتون رو جلو میندازه
مستنداتش اینجاست :
abseil.io/docs/cpp
این کتابی هم که می بینید توش روش گوگل روش هایی از مهندسی نرم افزار رو گفته که توی استفاده abseil بدرتون میخوره، لینک کتاب :
abseil.io/resources/swe-book
@Linuxor
مستنداتش اینجاست :
abseil.io/docs/cpp
این کتابی هم که می بینید توش روش گوگل روش هایی از مهندسی نرم افزار رو گفته که توی استفاده abseil بدرتون میخوره، لینک کتاب :
abseil.io/resources/swe-book
@Linuxor
Forwarded from DevTwitter | توییت برنامه نویسی
زیر 10 دقیقه؛
با توجه به اینکه قبلا Gemini Pro رو گرفتیم؛
اینجا Perplexity PRO رو میگیریم...
یکساله | رایگان
لینک ویدیو:
https://www.youtube.com/watch?v=0p6dZ1NPecc&list=PLwUWEGKy5kyNrPv05-Asbhm6g6S8_eRPb&index=16
@DevTwitter | <Ryan Heida/>
با توجه به اینکه قبلا Gemini Pro رو گرفتیم؛
اینجا Perplexity PRO رو میگیریم...
یکساله | رایگان
لینک ویدیو:
https://www.youtube.com/watch?v=0p6dZ1NPecc&list=PLwUWEGKy5kyNrPv05-Asbhm6g6S8_eRPb&index=16
@DevTwitter | <Ryan Heida/>
Forwarded from ذهن زیبا - A beautiful Mind
طراحی UI گرچه قبلتر با هوش مصنوعی امکانپذیر بود اما الان «صرفا با یک پرامپت» و بدون تغییر خاصی، با کمک Gemini Flash Image یا همون Nano Banana میتونید چنین چیزی طراحی کنید. سوال پیش میاد چطور میشه از این به محصول رسید؟
این مسالهایه که نیاز به بررسی داره :)
@haghiri75_blog
این مسالهایه که نیاز به بررسی داره :)
@haghiri75_blog
Forwarded from ذهن زیبا - A beautiful Mind
در حالی که یک سری در توییتر میخوان این فیچر رو به صورت پولی یادتون بدن خود گوگل رایگانش کرده :)
https://www.youtube.com/watch?v=KW_n1u429uI
استفاده کنید.
@haghiri75_blog
https://www.youtube.com/watch?v=KW_n1u429uI
استفاده کنید.
@haghiri75_blog
YouTube
Google Just Cloned Lovable (And Made It Free)
⚡Build Your AI Agency & Land Your First Client ⚡
https://www.skool.com/chase-ai
🔥 FREE Skool community with all the templates! 🔥
https://www.skool.com/chase-ai-community
💻 Need custom work? Book a consult 💻
https://chaseai.io
Google just launched AI Studio…
https://www.skool.com/chase-ai
🔥 FREE Skool community with all the templates! 🔥
https://www.skool.com/chase-ai-community
💻 Need custom work? Book a consult 💻
https://chaseai.io
Google just launched AI Studio…
ذهن زیبا - A beautiful Mind
در حالی که یک سری در توییتر میخوان این فیچر رو به صورت پولی یادتون بدن خود گوگل رایگانش کرده :) https://www.youtube.com/watch?v=KW_n1u429uI استفاده کنید. @haghiri75_blog
اسمش اسکل کامیونیتیه
فکر کنم تنها کامیونیتی باشه که کسی توی ایران نگه من جزوشم
فکر کنم تنها کامیونیتی باشه که کسی توی ایران نگه من جزوشم
Forwarded from Linuxor ?
This media is not supported in your browser
VIEW IN TELEGRAM
اگه بتونید یه برنامه وب Node.js بسازین، ساختن نسخه اجرایی ویندوز و لینوکس و مکش کاری نداره با nexe میشه این کارو کرد. خیلی کاربردیه به خصوص برای زمانی که نمیخواید برای توسعه برنامه برای سیستم عامل های متفاوت وقت بذارید:
github.com/nexe/nexe
@Linuxor
github.com/nexe/nexe
@Linuxor
Forwarded from پک پکیج 💾
ریفکتورینگ در برنامه نویسی Refactoring
💜 سایت : کدیاد
✅ مدرس : ساسان صفری
⏬ جهت دانلود ⏫
https://t.iss.one/p_4kbot?start=d30a4c8ab283
پسورد فایل
@P4_ir
https://t.iss.one/p_4kbot?start=d30a4c8ab283
Please open Telegram to view this post
VIEW IN TELEGRAM