WebBaz | وب باز
1.17K subscribers
752 photos
136 videos
82 files
673 links
قراره هرچیزی که نیازه و قراره توی پروژه واقعی به کار گرفته بشه رو یاد بگیریم

من: @call_me_nouh
لینکدین من : https://www.linkedin.com/in/mahdi-nouri-7aa043227
Download Telegram
Forwarded from Linuxor ?
یه قانون خوبی هست می‌گه پروژه نرم افزاری که بیشتر از 6 ماه طول می‌کشه رو به هیچ وجه شروع نکن چون ممکنه تمومش نکنی :) همیشه یه نگاهی به پروژه بنداز اگه دیدی یه بخشیش بیشتر از 6 ماه طول می‌کشه بدون یه جای کار می‌لنگه و به احتمال زیاد قابل اجرا هم نیست.


@Linuxor
کلی کار هست برای انجام ندادن اون
🤔1
Forwarded from Linuxor ?
با 128 تا زبان برنامه نویسی اومدن یه Quine درست کردن، مکانیزمش این شکلیه که یه برنامه روبیه وقتی اجراش می‌کنی خروجیش یه برنامه به زبان راسته و وقتی برنامه راست رو ران می‌کنی خروجیش یه برنامه به زبان اسکالاس همینطوری ادامه پیدا می‌کنه تا اینکه در نهایت به خود روبی می‌رسی


github.com/mame/quine-relay


@Linuxor
👍1
تست خودکار کامپوننت‌های 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/>
🔥2
Forwarded from Linuxor ?
دوست دارین بدونین داخل شرکت گوگل با چه ابزار هایی کار می‌کنن و خارجش با چه ابزار هایی ؟

گوگل خودش یه دنیای دیگس و ابزار هایی که توی شرکت گوگل استفاده می‌شه با چیزی که خارج گوگله متفاوته، اینجا یه جدول بزرگ ساختن از ابزار هایی که داخل گوگل استفاده می‌شه و جلوش هم مشابهش که توی دنیا خارج گوگل استفاده می‌شه رو نوشتن :

github.com/jhuangtw/xg2xg

@Linuxor
Forwarded from Note (Mr.05) (Mr.Bv)
ابزار نسبتا جدید تشخیص چهره و اطلاعات فیزیکی

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)
یادتون باشه یه مدت پیش روی مدل های افکت صوتی و تصویری کار کردیم برای فیلترینگ و اتوماسیون تماس با پشتیبانی....

حالا از آشنایان نزدیک یه پروژه ساخته که میتونید با چند ثانیه از صدا خودتون یه مدل گفتاری برای صوت خودتون بسازید.

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
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 داره، راحت‌ترین راهه:

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 تبدیل میشه به پلی بین توسعه، تست و واقعیت سیستم.

💬 اگر موضوعاتی مثل Governance and Standardization یا API-First یا API Monitoring براتون جذاب بود حتمن بگید تا کمی در موردشون گپ بزنیم.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Linuxor ?
ساختن پروژه اوپن سورس توی گیتهاب یا هر جایی یه فرهنگی داره، مثلا اینکه چطوری کانتریبیوت کنیم، چطوری اصلا خودمون پروژه اوپن سورس بسازیم و یا چطوری کاربر برای پروژمون پیدا کنیم، اینجا قوانین و روش هاشو نوشته خیلی کوتاه و مفید هم هستن :

opensource.guide

@Linuxor
مثلا آینده توی این کلاس های موفقیت میگم تا وقتی پشت پاتون پینه نزده از راه رفتن به این اداره و اون اداره و شرکت به شرکت موفقیت رو بیخیال بشین
🔥1
تقریبا تمام کدهایی که در گیتهاب وجود دارند، fine tune یک LLM رو به شما یاد میدن. در طی دو روز گذشته من درگیر این پروژه شدم که pretrain یک LLM رو یادتون میده:

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
Forwarded from Linuxor ?
این سایته کلی آزمایشگاه رایگان در اختیارتون قرار می‌ده که توش تکنولوژی های کامپیوتر و زبان های برنامه نویسی رو تمرین کنید و یاد بگیرید :

labex.io

@Linuxor
زیر 10 دقیقه؛
با توجه به اینکه قبلا Gemini Pro رو گرفتیم؛
اینجا Perplexity PRO رو می‌گیریم...
یکساله | رایگان


لینک ویدیو:
https://www.youtube.com/watch?v=0p6dZ1NPecc&list=PLwUWEGKy5kyNrPv05-Asbhm6g6S8_eRPb&index=16

@DevTwitter | <Ryan Heida/>
طراحی UI گرچه قبل‌تر با هوش مصنوعی امکان‌پذیر بود اما الان «صرفا با یک پرامپت» و بدون تغییر خاصی، با کمک Gemini Flash Image یا همون Nano Banana می‌تونید چنین چیزی طراحی کنید. سوال پیش میاد چطور میشه از این به محصول رسید؟
این مساله‌ایه که نیاز به بررسی داره :)

@haghiri75_blog