Forwarded from Linuxor ?
توی تلگرام دیدین عکس های دانلود نشده چه شکلین؟ انگار یه تصویر مات از تصویر اصلیه که وقتی دانلودش میکنی با کیفیت میشه؛ اونارو با این لایبری میسازن در واقع یه نسخه فشرده شده از عکس هستش (در حد چند ده تا کاراکتر)
این لایبری براتون یه چیزی شبیه هش از عکس میسازه و باهاش میتونید قبل از دانلود شدن به یوزر یه پیشنمایش کلی از عکس نشون بدین
github.com/woltapp/blurhash
@Linuxor
این لایبری براتون یه چیزی شبیه هش از عکس میسازه و باهاش میتونید قبل از دانلود شدن به یوزر یه پیشنمایش کلی از عکس نشون بدین
github.com/woltapp/blurhash
@Linuxor
🔥2👍1
Forwarded from Linuxor ?
توی وب یه چیزی داریم به اسم Client-side Error Tracking کارش اینه که خطا هارو جمع میکنه و به سرور میفرسته. (زمانی که شما یه وب رو باز میکنید و خطایی رخ میده خطا توی مرورگر شماست و سرور هیچ درکی ازش نداره کار این Error Tracking اینه که خطا رو برای مانیتورینگ به سرور بفرسته)
ابزار Sentry یکی از معروف ترین Error Tracking ها هستش روش کارش هم اینطوریه که یه کد جاوااسکریپت میده میزاری توی بخش Head سایتت و اون کده برای همه یوزر ها ران میشه و خطا هارو جمع آوری میکنه و به سمت سرور میفرسته. (میتونید به صورت Self-hosted روی سرور خودتون هم بالا بیاریدش)
ابزار Sentry رو حتی برای غیر کلاینت ساید مثل PHP و پایتون و بقیه زبان هام میتونید استفاده کنید خیلی کامله.
@Linuxor
ابزار Sentry یکی از معروف ترین Error Tracking ها هستش روش کارش هم اینطوریه که یه کد جاوااسکریپت میده میزاری توی بخش Head سایتت و اون کده برای همه یوزر ها ران میشه و خطا هارو جمع آوری میکنه و به سمت سرور میفرسته. (میتونید به صورت Self-hosted روی سرور خودتون هم بالا بیاریدش)
ابزار Sentry رو حتی برای غیر کلاینت ساید مثل PHP و پایتون و بقیه زبان هام میتونید استفاده کنید خیلی کامله.
@Linuxor
Forwarded from DevTwitter | توییت برنامه نویسی
تا حالا دقت کردی هر وقت یه سیستم هوش مصنوعی یا اپلیکیشن میخواد یه اسم پیشفرض بزنه، معمولاً مینویسه John Doe؟
به نظرت چرا همیشه همین اسمه؟
جالبه بدونی این اسم تصادفی نیست!
برمیگرده به قرن ۱۴ میلادی، وقتی توی دادگاههای انگلیس برای پروندههای فرضی از اسم John Doe برای شاکی و Richard Roe برای متهم استفاده میکردن.
چون میخواستن اسمهایی داشته باشن که واقعی نباشن ولی بشه راحت باهاشون مثال زد.
کمکم این اسم تبدیل شد به یه نماد از آدم ناشناس — کسی که هنوز هویتش مشخص نیست.
از بیمارستانها و دادگاهها گرفته تا فرمهای دیجیتال و هوش مصنوعیها، هنوزم John Doe زندهست!
پس دفعه بعدی که دیدی یه فرم نوشته:
بدون پشتش یه تاریخ ۶۰۰ ساله خوابیده
@DevTwitter | <Pejman Ghafouri/>
به نظرت چرا همیشه همین اسمه؟
جالبه بدونی این اسم تصادفی نیست!
برمیگرده به قرن ۱۴ میلادی، وقتی توی دادگاههای انگلیس برای پروندههای فرضی از اسم John Doe برای شاکی و Richard Roe برای متهم استفاده میکردن.
چون میخواستن اسمهایی داشته باشن که واقعی نباشن ولی بشه راحت باهاشون مثال زد.
کمکم این اسم تبدیل شد به یه نماد از آدم ناشناس — کسی که هنوز هویتش مشخص نیست.
از بیمارستانها و دادگاهها گرفته تا فرمهای دیجیتال و هوش مصنوعیها، هنوزم John Doe زندهست!
پس دفعه بعدی که دیدی یه فرم نوشته:
بدون پشتش یه تاریخ ۶۰۰ ساله خوابیده
@DevTwitter | <Pejman Ghafouri/>
👍2❤🔥1🔥1
Forwarded from localhost (Yousef Taheri)
1. RSS – Receive Side Scaling
در کارتهای شبکه ی مدرن چند صف دریافت و ارسال وجود داره. RSS کمک میکنه بسته های ورودی بین این صفها تقسیم بشن تا چند CPU هم زمان پردازش کنن.
این تقسیم معمولاً با هش آدرس IP و پورت TCP انجام میشه. هر صف با یه IRQ خاص به یه CPU وصله تا بار کاری پخش بشه.
2. RPS – Receive Packet Steering
وقتی سختافزار از RSS پشتیبانی نکنه، RPS همین کار رو نرم افزاری انجام میده. کرنل بسته ها رو بین CPUها پخش میکنه بدون افزایش وقفه ی سختافزاری.
مقدارش bitmapی از CPUهاست.
3. Flow Limit در RPS
اگه یه جریان خاص (Flow) ترافیک زیادی داشته باشه، این قابلیت بسته هاش رو زودتر Drop میکنه تا CPUها متعادل تر کار کنن.
4. RFS – Receive Flow Steering
قابلیت RFS علاوه بر تقسیم بار، سعی میکنه بسته ها رو به همون CPU بفرسته که برنامه ی کاربر روی اون در حال پردازشه.
این کار باعث افزایش Cache Hit Rate میشه.
5. Accelerated RFS
نسخه ی سختافزاری RFS هست. وقتی NIC پشتیبانی کنه، بستهها مستقیماً به CPU نزدیک به Thread مربوطه میرن.
6. XPS – Transmit Packet Steering
در زمان ارسال بسته ها، XPS تعیین میکنه کدوم CPU از کدوم صف ارسال (Tx Queue) استفاده کنه تا قفل بین CPUها کمتر بشه و Cache locality بهتر بشه.
7. Per TX Queue Rate Limitation
برای هر صف ارسال میتونی نرخ حداکثر (Mbps) مشخص کنی.
در کارتهای شبکه ی مدرن چند صف دریافت و ارسال وجود داره. RSS کمک میکنه بسته های ورودی بین این صفها تقسیم بشن تا چند CPU هم زمان پردازش کنن.
این تقسیم معمولاً با هش آدرس IP و پورت TCP انجام میشه. هر صف با یه IRQ خاص به یه CPU وصله تا بار کاری پخش بشه.
تنظیم با ethtool و تنظیم دستی affinity در /proc/interrupts.
2. RPS – Receive Packet Steering
وقتی سختافزار از RSS پشتیبانی نکنه، RPS همین کار رو نرم افزاری انجام میده. کرنل بسته ها رو بین CPUها پخش میکنه بدون افزایش وقفه ی سختافزاری.
تنظیم مسیر: /sys/class/net/<dev>/queues/rx-<n>/rps_cpus
مقدارش bitmapی از CPUهاست.
3. Flow Limit در RPS
اگه یه جریان خاص (Flow) ترافیک زیادی داشته باشه، این قابلیت بسته هاش رو زودتر Drop میکنه تا CPUها متعادل تر کار کنن.
فعال سازی: /proc/sys/net/core/flow_limit_cpu_bitmap
4. RFS – Receive Flow Steering
قابلیت RFS علاوه بر تقسیم بار، سعی میکنه بسته ها رو به همون CPU بفرسته که برنامه ی کاربر روی اون در حال پردازشه.
این کار باعث افزایش Cache Hit Rate میشه.
تنظیم ها: /proc/sys/net/core/rps_sock_flow_entries
/sys/class/net/<dev>/queues/rx-<n>/rps_flow_cnt
5. Accelerated RFS
نسخه ی سختافزاری RFS هست. وقتی NIC پشتیبانی کنه، بستهها مستقیماً به CPU نزدیک به Thread مربوطه میرن.
فعال سازی از طریق ethtool ntuple filtering، بدون نیاز به تنظیم دستی.
6. XPS – Transmit Packet Steering
در زمان ارسال بسته ها، XPS تعیین میکنه کدوم CPU از کدوم صف ارسال (Tx Queue) استفاده کنه تا قفل بین CPUها کمتر بشه و Cache locality بهتر بشه.
تنظیم مسیر ها: /sys/class/net/<dev>/queues/tx-<n>/xps_cpus
/sys/class/net/<dev>/queues/tx-<n>/xps_rxqs
7. Per TX Queue Rate Limitation
برای هر صف ارسال میتونی نرخ حداکثر (Mbps) مشخص کنی.
مسیر: /sys/class/net/<dev>/queues/tx-<n>/tx_maxrate
❤🔥1
Forwarded from DevTwitter | توییت برنامه نویسی
میدونستید میتونید 0 های آیپی رو ننویسید و کار کنه؟؟؟
خب حالا سیستم از کجا میفهمه چطوری؟
بر اساس این که شما چند بخش رو نوشتید کار میکنه:
a.b.c.d -> یه آیپی معمولی
a.b.c -> a.b.0.c
a.b -> a.0.0.b
a -> 0.0.0.a
پس وقتی بنویسید 10.22.2 میشه 10.22.0.2
یا اگر بنویسید 127.1 میشه 127.0.0.1
یعنی سیستم قسمتهای جا افتاده رو از چپ با صفر پر میکنه.
@DevTwitter
خب حالا سیستم از کجا میفهمه چطوری؟
بر اساس این که شما چند بخش رو نوشتید کار میکنه:
a.b.c.d -> یه آیپی معمولی
a.b.c -> a.b.0.c
a.b -> a.0.0.b
a -> 0.0.0.a
پس وقتی بنویسید 10.22.2 میشه 10.22.0.2
یا اگر بنویسید 127.1 میشه 127.0.0.1
یعنی سیستم قسمتهای جا افتاده رو از چپ با صفر پر میکنه.
@DevTwitter
🔥1
Forwarded from DevTwitter | توییت برنامه نویسی
من یک پروژه اوپنسورس ساختم به اسم Dockerized MetaTrader5 with Python DataBridge.
کارش اینه که MetaTrader 5 رو داخل داکر با اطلاعات حساب معاملاتی که شما معرفی میکنید زمان ساخت کانتینر اجرا میکنه و با REST API + WebSocket امکان دسترسی از راه دور به دادهها و عملکردهای MT5 رو فراهم میکنه.
+ امکان استریم کردن دیتای اطلاعات حساب معاملاتی از طریق WebSocket
+ امکان ارتباط با متاتریدر درون کانتینر با استفاده از کتابخانه استاندارد MT5 Python
توضیحات کامل و داکیومنت خوب داره، نصب و راهاندازیش هم شرح دادم
خیلی خوب میشه اگر شما این پروژه رو تو کانالتون معرفی کنید تا کاربران بیشتری ببینندش.
اینم لینک گیتهاب پروژه:
https://github.com/im-mahdi-74/Dockerized-MetaTrader5-with-Python-DataBridge
@DevTwitter | <Mahdi/>
کارش اینه که MetaTrader 5 رو داخل داکر با اطلاعات حساب معاملاتی که شما معرفی میکنید زمان ساخت کانتینر اجرا میکنه و با REST API + WebSocket امکان دسترسی از راه دور به دادهها و عملکردهای MT5 رو فراهم میکنه.
+ امکان استریم کردن دیتای اطلاعات حساب معاملاتی از طریق WebSocket
+ امکان ارتباط با متاتریدر درون کانتینر با استفاده از کتابخانه استاندارد MT5 Python
توضیحات کامل و داکیومنت خوب داره، نصب و راهاندازیش هم شرح دادم
خیلی خوب میشه اگر شما این پروژه رو تو کانالتون معرفی کنید تا کاربران بیشتری ببینندش.
اینم لینک گیتهاب پروژه:
https://github.com/im-mahdi-74/Dockerized-MetaTrader5-with-Python-DataBridge
@DevTwitter | <Mahdi/>
Forwarded from Mr. Nouri
کامپوننت رو خودت بساز استفادشو بده هوش مصنوعی
WebBaz | وب باز
کامپوننت رو خودت بساز استفادشو بده هوش مصنوعی
نکته طلایی برنامه نویسی با هوش مصنوعی
Forwarded from Linuxor ?
میشه گفت GraphQL یه زبان برای پرسوجو (query language) و یه محیط اجرایی (runtime) برای APIهاست. شرکت Facebook اونو تو سال 2015 به صورت اوپن سورس منتشرش کرد و کاربرد اصلیش برای ارتباط بین فرانتاند (Front-end) و بکاند (Back-end) هستش که جایگزینی برای REST API سنتی محسوب میشه.
توی حالت REST ما باید کلی endpoint تعریف میکردیم اما اینجا فقط یه دونه داریم و بهش کوئری میزنیم. اینجا آموزش کاملش برای همه زبان ها وجود داره همچنین یه لیست خوبی از ابزار ها و مثال های مرتبط باهاشو جمع آوری کرده
github.com/chentsulin/awesome-graphql
@Linuxor
توی حالت REST ما باید کلی endpoint تعریف میکردیم اما اینجا فقط یه دونه داریم و بهش کوئری میزنیم. اینجا آموزش کاملش برای همه زبان ها وجود داره همچنین یه لیست خوبی از ابزار ها و مثال های مرتبط باهاشو جمع آوری کرده
github.com/chentsulin/awesome-graphql
@Linuxor
من ی پکیجی دارم به لینک زیر
https://www.npmjs.com/package/usecreatefunc
کارش اینه که اسلایس ها و axios رو باهم ترکیب کنه و به شما hook کاستوم بده ...
https://www.npmjs.com/package/usecreatefunc
کارش اینه که اسلایس ها و axios رو باهم ترکیب کنه و به شما hook کاستوم بده ...
داشتم فکر می کردم چجوری با این graphql ترکیبش کنم که کلا ی ریکوئست به سرور بره
خیلی توی بهره وری فرق می کنه ...
خیلی توی بهره وری فرق می کنه ...
Forwarded from TorhamDev | تورهام 😳
https://youtu.be/WpXs7e7kEoI
تفاوت بین json و gRPC و اینکه gRPC چطور کار میکنه و کجا خوبه ازش استفاده کنیم، خوبی و بدیهاش چی میتونه باشه.
#vid_per_day
@TorhamDevCH
تفاوت بین json و gRPC و اینکه gRPC چطور کار میکنه و کجا خوبه ازش استفاده کنیم، خوبی و بدیهاش چی میتونه باشه.
#vid_per_day
@TorhamDevCH
👍1
Forwarded from DevTwitter | توییت برنامه نویسی
اگه برنامه نویس هستید و از هوش مصنوعی برای کدنویسی استفاده میکنید، واقعاً به خودتون لطف میکنید که OpenSpec رو چک کنید. این ابزار به شما کمک میکنه کنترل کامل پروژه رو دست بگیرید و از AI به عنوان یک همکار قابل اعتماد استفاده کنید!
تا حالا با دستیارهای کدنویسی هوش مصنوعی (مثل Cursor یا Copilot) کار کردید و به جای چیزی که دقیقاً در ذهن داشتید، یک چیز کاملاً دیگه تحویل گرفتید؟ یا یک بخش رو نوشته و یک بخش دیگه رو براتون خراب کرده
من جدیدا ابزاری رو پیدا کردم به اسم OpenSpec که داره این بازی رو برای همیشه عوض میکنه.
ایدهاش ساده و ناب هست: شما و هوش مصنوعی، قبل از نوشتن حتی یک خط کد، روی «چیزی که باید ساخته بشه» به توافق کامل میرسید.
دیگه خبری از پرامپتهای مبهم در چت و خروجیهای غیرقابل پیشبینی نیست. OpenSpec یک فرآیند کاری سبک و قدرتمند اضافه میکنه که پروژهها رو اینطوری پیش میبره:
۱. پیشنهاد تغییر (Change Proposal): شما به AI میگید چه قابلیتی رو میخواید اضافه کنید. AI یک ساختار کامل از مشخصات، وظایف و پیشنهادها رو براتون میسازه.
۲. بازبینی و هماهنگی: شما و AI با هم مشخصات رو دقیق میکنید تا همه چیز شفاف و بدون ابهام باشه.
۳. پیادهسازی: AI بر اساس مشخصات نهایی و توافق شده، کدنویسی رو انجام میده.
۴. آرشیو: بعد از اتمام کار، تغییرات به آرشیو منتقل میشن و مشخصات اصلی پروژه رو بهروز میکنن.
چرا این ابزار به خوبی جواب میده
- بدون نیاز به کلید API: نصب کن و استفاده کن. ساده و سریع.
- با ابزارهای فعلی شما کار میکنه: با Claude Code, Cursor, GitHub Copilot, Windsurf و دهها ابزار دیگه یکپارچه میشه.
- قابل پیشبینی و شفاف: دیگه نمیخواد حدس بزنید AI چی میسازه. همه چیز از قبل مشخصه.
- عالی برای پروژههای موجود: نه فقط برای پروژههای جدید، بلکه برای تغییر و توسعه کدهای قدیمی هم عالیه.
- مستندسازی خودکار: هر تغییری با مشخصات و وظایفش ثبت میشه و یک سند زنده از پروژه میسازه.
اینم آدرس گیتهابش که همه چیز اماده یک جا هست!
https://github.com/Fission-AI/OpenSpec
اگر نتونستنید دستی نصبش کنید ، میتونید فایل README[.]md رو کپی کنید ، بدید به همون ابزار Ai که براتون کد میزنه مثل Claude Code, Cursor, GitHub Copilot ، بگید نصبش کن!
@DevTwitter | <POURYA/>
تا حالا با دستیارهای کدنویسی هوش مصنوعی (مثل Cursor یا Copilot) کار کردید و به جای چیزی که دقیقاً در ذهن داشتید، یک چیز کاملاً دیگه تحویل گرفتید؟ یا یک بخش رو نوشته و یک بخش دیگه رو براتون خراب کرده
من جدیدا ابزاری رو پیدا کردم به اسم OpenSpec که داره این بازی رو برای همیشه عوض میکنه.
ایدهاش ساده و ناب هست: شما و هوش مصنوعی، قبل از نوشتن حتی یک خط کد، روی «چیزی که باید ساخته بشه» به توافق کامل میرسید.
دیگه خبری از پرامپتهای مبهم در چت و خروجیهای غیرقابل پیشبینی نیست. OpenSpec یک فرآیند کاری سبک و قدرتمند اضافه میکنه که پروژهها رو اینطوری پیش میبره:
۱. پیشنهاد تغییر (Change Proposal): شما به AI میگید چه قابلیتی رو میخواید اضافه کنید. AI یک ساختار کامل از مشخصات، وظایف و پیشنهادها رو براتون میسازه.
۲. بازبینی و هماهنگی: شما و AI با هم مشخصات رو دقیق میکنید تا همه چیز شفاف و بدون ابهام باشه.
۳. پیادهسازی: AI بر اساس مشخصات نهایی و توافق شده، کدنویسی رو انجام میده.
۴. آرشیو: بعد از اتمام کار، تغییرات به آرشیو منتقل میشن و مشخصات اصلی پروژه رو بهروز میکنن.
چرا این ابزار به خوبی جواب میده
- بدون نیاز به کلید API: نصب کن و استفاده کن. ساده و سریع.
- با ابزارهای فعلی شما کار میکنه: با Claude Code, Cursor, GitHub Copilot, Windsurf و دهها ابزار دیگه یکپارچه میشه.
- قابل پیشبینی و شفاف: دیگه نمیخواد حدس بزنید AI چی میسازه. همه چیز از قبل مشخصه.
- عالی برای پروژههای موجود: نه فقط برای پروژههای جدید، بلکه برای تغییر و توسعه کدهای قدیمی هم عالیه.
- مستندسازی خودکار: هر تغییری با مشخصات و وظایفش ثبت میشه و یک سند زنده از پروژه میسازه.
اینم آدرس گیتهابش که همه چیز اماده یک جا هست!
https://github.com/Fission-AI/OpenSpec
اگر نتونستنید دستی نصبش کنید ، میتونید فایل README[.]md رو کپی کنید ، بدید به همون ابزار Ai که براتون کد میزنه مثل Claude Code, Cursor, GitHub Copilot ، بگید نصبش کن!
@DevTwitter | <POURYA/>
Forwarded from Linuxor ?
با این ابزار جالب میتونید سرویس و سایت و API هاتون رو مانیتور کنید، خوبیش اینه که روی خود گیتهاب اکشنز اجرا میشه و نیازی به سرور مجزا ندارید و وقتی قطعی (downtime) شناسایی بشه GitHub بهصورت خودکار یک Issue باز میکنه و بعد از رفع مشکل اون رو میبنده.
اینطوری هیچ هزینه ای هم به سرویس های واسط نمیدین، آموزش استفادش هم از این لینک دنبال کنید :
upptime.js.org/docs
@Linuxor
اینطوری هیچ هزینه ای هم به سرویس های واسط نمیدین، آموزش استفادش هم از این لینک دنبال کنید :
upptime.js.org/docs
@Linuxor
Forwarded from پروگرمرزمیم (M A)
Please open Telegram to view this post
VIEW IN TELEGRAM
پروگرمرزمیم
جالبه همه تکنولوژی های بالاشو می دونم چیه 😂😭
و جالب تر اینکه فقط برای js رو نوشته
و جالب تر اینکه فقط برای js رو نوشته
Forwarded from DevTwitter | توییت برنامه نویسی
یه مخزن جذاب تو گیتهاب هست که بهت یاد میده چطور فقط با CSS بدون نیاز به جاوااسکریپت، کلی کار خفن مثل انیمیشن و منو درست کنی!
برای کسایی که دنبال سایتهای سبک و سریع هستن عالیه.
اگر دوست داری کدهات سادهتر و بهینهتر باشن، حتما یه سر بهش بزن!
لینکش
https://github.com/you-dont-need/You-Dont-Need-JavaScript
@DevTwitter | <Farhad Safari/>
برای کسایی که دنبال سایتهای سبک و سریع هستن عالیه.
اگر دوست داری کدهات سادهتر و بهینهتر باشن، حتما یه سر بهش بزن!
لینکش
https://github.com/you-dont-need/You-Dont-Need-JavaScript
@DevTwitter | <Farhad Safari/>
Forwarded from Future Pulse Persian
دارم پادکست پاول دوروف مال تلگرام رو میبینم
نکته جالبش اینجا اگر برادر نابغش نبود هیچ وقت تلگرامی وجود نداشت
نکته دیگه اینه اگر دقت کرده باشید پاول برعکس مارک زاکربرگ ، ایلان ماسک و . . .
زندگی خیلی لاکچری داره ولی ایلان و زاکربرگ همیشه ساده پوشن و خیلی زنی بی آلایشی از خودشون نشون میدن
حتی مارک و ایلان نهایتا ۶ تا ۸ ساعت میخوابن و پاول ۱۲ ساعت
دلیلش از نظر من خیلی جالبه
ایلان و زاکربرگ تمام سهام شرکتشون برای خودشون نیست! سرمایه گذار های بزرگی پشتشونه و هروقت بیان خودشون رو اینطور نشون بدن قطعابا فشار زیادی مواجه میشن
ولی پاول مالک خودش هست و برادرش و کلا ۴۰ برنامه نویس
هیچ وقت هم جواب به کسی نمیده
نکات خیلی زیادی داره این شخص پیشنهاد میکنم حتما درموردش مطالعه کنید
https://www.youtube.com/watch?v=qjPH9njnaVU
نکته جالبش اینجا اگر برادر نابغش نبود هیچ وقت تلگرامی وجود نداشت
نکته دیگه اینه اگر دقت کرده باشید پاول برعکس مارک زاکربرگ ، ایلان ماسک و . . .
زندگی خیلی لاکچری داره ولی ایلان و زاکربرگ همیشه ساده پوشن و خیلی زنی بی آلایشی از خودشون نشون میدن
حتی مارک و ایلان نهایتا ۶ تا ۸ ساعت میخوابن و پاول ۱۲ ساعت
دلیلش از نظر من خیلی جالبه
ایلان و زاکربرگ تمام سهام شرکتشون برای خودشون نیست! سرمایه گذار های بزرگی پشتشونه و هروقت بیان خودشون رو اینطور نشون بدن قطعابا فشار زیادی مواجه میشن
ولی پاول مالک خودش هست و برادرش و کلا ۴۰ برنامه نویس
هیچ وقت هم جواب به کسی نمیده
نکات خیلی زیادی داره این شخص پیشنهاد میکنم حتما درموردش مطالعه کنید
https://www.youtube.com/watch?v=qjPH9njnaVU
👍6
Forwarded from DevTwitter | توییت برنامه نویسی
این ریپو توسط خود گیتهاب چند روز پیش منتشر شده که کارکرد مشابه داره.
«یه جعبهابزار متنباز برای تمرکز روی هدف محصول و نتیجهی قابل پیشبینی — بهجای نوشتن همهچیز از صفر با Vibe Coding»
https://github.com/github/spec-kit
@DevTwitter | <Mohammad/>
«یه جعبهابزار متنباز برای تمرکز روی هدف محصول و نتیجهی قابل پیشبینی — بهجای نوشتن همهچیز از صفر با Vibe Coding»
https://github.com/github/spec-kit
@DevTwitter | <Mohammad/>