Crazy Dev ❤️‍🔥💻
51 subscribers
138 photos
28 videos
12 files
88 links
Senior or Crazy ?! ❤️‍🔥
Download Telegram
Forwarded from Quera
👨‍💻مسابقه مهندسی داده Code Kitchen، فرصتی برای همکاری با یک شرکت هلندی!

↗️ اگه با Python و دیتابیس آشنایی داری، توی Code Kitchen مهارتت رو با چالش‌های تخصصی مهندسی داده محک بزن.

🌎 این مسابقه با همکاری DataChef برگزار می‌شه و افراد منتخب، فرصت مصاحبه و همکاری ریموت با این شرکت رو خواهند داشت.

⏳ جمعه ۱ آبان، ساعت ۱۶:۰۰
📲 آنلاین در کوئرا
💳 شرکت در مسابقه رایگانه

✅ ثبت‌نام:
🔗https://quera.org/r/8fhhm
Please open Telegram to view this post
VIEW IN TELEGRAM
تبدیل ChatGPT معمولی به یک ایجنت برنامه‌نویسی کامل (مشابه Codex تقریبا هر کاری توی کدکس میشه کرد رو میتونید کنید ) پروژه‌ای متن‌باز به اسم Chat On Steroids منتشر شده که با ایجاد یک پل ارتباطی، به شما اجازه میده مستقیماً از سشن و چت وب ChatGPT مثل یک ابزار برنامه‌نویسی پیشرفته روی سیستم خودتون استفاده کنید.

📝 قابلیت‌های کلیدی:
خواندن، ادیت و ساخت فایل‌های پروژه به‌صورت خودکار

اجرای دستورات ترمینال، شل و ران کردن تست‌ها

اجرای هم‌زمان چند تسک (Multi-Worker / Multi-Agent)

مصرف مستقیم ظرفیت چت وب به‌جای پرداخت هزینه‌های دلاری API یا اشتراک‌های مجزا
📝 پیش‌نیازها و نحوه راه‌اندازی:
دانلود اپ: از صفحه گیت‌هاب، نسخه سازگار با سیستم‌عاملتون (ویندوز، مک یا لینوکس) را دانلود و اجرا کنید.

تنظیم فولدر: در نرم‌افزار به مسیر Settings → Workspace برید و مسیر پروژه مدنظرتون رو انتخاب کنید.

ساخت تانل: داخل پنل توسعه‌دهندگان اوپن‌ای‌آی (platform.openai.com) یک تانل جدید بسازید؛ سپس یک API Key از نوع Restricted با دسترسی‌های Tunnels: Read و Tunnels: Use دریافت کرده و داخل تنظیمات اپ وارد کنید تا Connect شود.

تعریف MCP App: در اکانت چت‌جی‌پی‌تی از مسیر Plugins → Add → Create MCP App حالت اتصال را روی Tunnel تنظیم کرده، تانل ساخته‌شده را انتخاب و روی حالت No authentication ذخیره کنید.

نصب افزونه مرورگر: دکمه Open extension folder را در اپ بزنید. وارد تنظیمات اکستنشن‌های مرورگر (chrome://extensions) بشید، حالت Developer mode را روشن و با زدن Load unpacked همان پوشه را اضافه کنید.
📝هشدارهای امنیتی بسیار مهم:
این پروژه بتا هست و برای استفاده از اکانت اصلی استفاده نکنید چون احتمال بن شدن اکانت هست و نیاز به خرید اکانت کدکس نیست و از همون حساب چت جی پی تی شما استفاده می‌کنه اگر اشتراک هم فعال داشته باشید از اون اشتراک استفاده می‌کنه و به گفته سازنده سقف استفاده شما تا صد برابر بیشتر میشه

🔗 سورس پروژه در گیت‌هاب

✈️ @Farda_Ai
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
یک حسگر ساختم که تنها با استفاده از سیگنال‌های وای‌فای حدس می‌زند در اتاق نشیمن چه کار می‌کنم. هیچ دوربینی در کار نیست.

سخت‌افزار شامل سه برد ESP32-S3 است، هرکدام حدود ۱۰ دلار، که فریمور متن‌باز RuView را اجرا می‌کنند. آن را طوری تغییر دادم که بردها علاوه بر روتر، به یکدیگر هم گوش بدهند؛ این کار سه خط حسگری در سراسر اتاق را به ۹ خط تبدیل می‌کند.

برای آموزش آن، وب‌کمم نقش معلم را ایفا کرد: یک مدل ژست در مرورگر برچسب می‌زد که چه کاری انجام می‌دهم، در حالی که بردها سیگنال وای‌فای را ثبت می‌کردند. سپس یک مدل کوچک یاد گرفت این برچسب‌ها را تنها از داده‌های وای‌فای پیش‌بینی کند.

در یک آزمون زندهٔ جداگانه که قبلاً ندیده بود، در ۸ حرکت به دقت ۷۹.۵٪ رسید. پریدن و نشستن آسان بودند. دست تکان دادن سخت بود (۱۳٪)، چون بازوها به‌سختی سیگنال را تغییر می‌دهند.

اگر بخواهید نمونهٔ خودتان را بسازید، همهٔ کد متن‌باز است.

https://github.com/andrisgauracs/wifi-sensing-kit

#ESP32 #WiFiSensing #MachineLearning
ضبط در دسکتاپ
Windows

https://github.com/sarabh83/STCRecorder
🔥2
گیت: دستورات پرکاربرد و چهار لایه اصلی

دستورات پرکاربرد گیت

1. git add
← تغییرات را از پوشه کاری به ناحیه استیجینگ اضافه می‌کند

2. git commit
← یک اسنپ‌شات از تغییرات استیج‌شده فعلی را با یک پیام در مخزن محلی ذخیره می‌کند

3. git push
← تغییرات کامیت‌شده را از مخزن محلی به مخزن ریموت آپلود می‌کند

4. git fetch
← تغییرات را از مخزن ریموت دانلود می‌کند، بدون اینکه آن‌ها را به‌صورت محلی اعمال کند

5. git pull
← تغییرات را از مخزن ریموت fetch و سپس در برنچ محلی merge می‌کند

6. git merge
← تغییرات یک برنچ را در برنچ دیگر ادغام می‌کند

7. git diff
← تغییراتی که هنوز استیج یا کامیت نشده‌اند را نشان می‌دهد

8. git diff HEAD
← تفاوت بین پوشه کاری فعلی و آخرین کامیت را نشان می‌دهد

9. git status
← وضعیت فعلی پوشه کاری و ناحیه استیجینگ را نشان می‌دهد

10. git branch
← همه برنچ‌های محلی را نشان می‌دهد

11. git checkout
← یک برنچ می‌سازد یا بین برنچ‌ها جابه‌جا می‌شود

12. git log
← کامیت‌های برنچ فعلی را با جزئیات بیشتر نشان می‌دهد

13. git stash
← تغییرات کامیت‌نشده را به‌طور موقت ذخیره می‌کند و بعداً اعمال می‌کند

14. git rebase
← کامیت‌های یک برنچ را روی برنچ دیگر اعمال می‌کند

15. git reset
← تغییرات پوشه کاری را برمی‌گرداند و به یک کامیت مشخص عقب می‌رود

16. git revert
← با ایجاد یک کامیت جدید، تغییرات را برمی‌گرداند

17. git cherry pick
← کامیت‌های یک برنچ را روی برنچ دیگر اعمال می‌کند

18. git bisect
← باگ‌ها را سریع‌تر پیدا می‌کند

19. git init
← یک مخزن خالی ایجاد می‌کند

---

چهار لایه اصلی گیت

در گیت، چهار ناحیه اصلی وجود داره که تغییرات کد از لحظه ویرایش تا اشتراک‌گذاری از این مسیر عبور می‌کنن. در ادامه هر لایه رو جداگانه توضیح می‌دم:

1. Working Directory (پوشه کاری)

این همون پوشه‌ایه که روی سیستم خودت داری و فایل‌هات رو توش ویرایش می‌کنی. هر تغییری که ایجاد می‌کنی — اضافه کردن فایل جدید، حذف کردن، یا ویرایش محتوا — اول اینجا اتفاق می‌افته. گیت این تغییرات رو زیر نظر داره ولی هنوز اون‌ها رو به‌عنوان بخشی از تاریخچه پروژه ثبت نکرده. به عبارت دیگه، این لایه محل کار روزمره‌ی توئه و تغییرات اینجا هنوز «غیررسمی» و موقتی هستن تا وقتی که استیجشون کنی.

2. Staging Area (ناحیه استیجینگ)

این یه لایه میانی بین پوشه کاری و مخزن محلیه و گاهی بهش «Index» هم می‌گن. وقتی با git add تغییرات رو استیج می‌کنی، در واقع داری انتخاب می‌کنی که کدوم تغییرات قراره در کامیت بعدی برن. این لایه بهت این امکان رو می‌ده که حتی اگه چند فایل رو تغییر دادی، فقط بخشی از اون‌ها رو برای کامیت بعدی آماده کنی. پس استیجینگ مثل یه بافر یا سبد خریده که قبل از نهایی‌کردن سفارش، اجناس رو توش می‌چینی و بازبینی می‌کنی.

3. Local Repository (مخزن محلی)

این همون دیتابیس گیت روی سیستم خودته که توی پوشه مخفی .git ذخیره شده. وقتی git commit می‌زنی، یه اسنپ‌شات از تغییرات استیج‌شده به‌صورت دائمی اینجا ثبت می‌شه و یه کامیت با هش یکتا، پیام، نویسنده و تاریخ ایجاد می‌شه. از این لحظه تغییرات بخشی از تاریخچه پروژه‌ی تو شدن و می‌تونی باهاشون کار کنی — برنچ بسازی، rebase کنی، یا reset بزنی — همه این‌ها بدون نیاز به اینترنت و فقط روی همون مخزن محلی انجام می‌شن.

4. Remote Repository (مخزن ریموت)

این یه مخزن میزبانی‌شده روی سروره — مثل GitHub، GitLab یا Bitbucket — که تیم می‌تونه تغییرات رو با هم به اشتراک بذاره. با git push کامیت‌های محلی رو به ریموت می‌فرستی و با git fetch یا git pull تغییرات دیگران رو از ریموت می‌گیری. این لایه نقش نقطه‌ی همگرایی تیم رو داره: جایی که کد همه‌ی اعضا جمع می‌شه، کد ریویو انجام می‌شه، و معمولاً CI/CD روی همون اجرا می‌شه.

---

خلاصه‌ی مسیر تغییرات:
Working Dir → Staging → Local Repo → Remote Repo


#Git #VersionControl #Source #Commands
MCP Vs API

#mcp
#api
❤3
Forwarded from Tech Stuff
توی بحث rate limiting دو تا رویکرد داریم. hard rate limiting و soft rate limiting. توی hard limit وقتی تعداد درخواست‌ها از حد مجاز رد بشه، درخواست‌های اضافه رد میشن و معمولا 429 (Too Many Requests) می‌گیریم یا حتی ممکنه با هدر Retry-After به کلاینت بگیم چه زمانی دوباره درخواست بفرسته. این روش مثلا برای محدود کردن ترافیک کاربران رایگان یا محافظت از اندپوینت‌های پرهزینه جوابه.

توی soft limit حتی بعد از رد شدن از سقف تعیین شده درخواست‌ها همچنان پردازش میشن. ولی در عوض می‌تونیم این رد شدن از محدودیت رو لاگ کنیم، هشدار بدیم یا اطلاعات مربوط به سهمیه مصرف‌شده رو توی response headerها برگردونیم. این روش بیشتر برای پلن‌های پولی و مشتری‌های سازمانی مناسبه که قطع شدن ناگهانی سرویس براشون مشکل‌سازه. البته که اگه همین مصرف اضافی هم درست کنترل نشه می‌تونه هزینه یا فشار زیادی به سیستم وارد کنه.

#system_design

@techstuff100
سلام دوستان
گویا یه آسیب پذیری جدی php پیدا شده دیروز (اسمش php2shell هست).
https://nsin.ir/blog/php2shell-cve-2026-109618-protection/

بچه های انسین میگن ما تشخیص ش میدیم روی wafمون.
براتون قانون WAF ای ایجاد میکنن که جلوی اینگونه حملات رو میگیره. رایگانه.

nsin.ir
@nsin_ir



@gocasts
سرویس های بکگراند لینوکس

برای مشاهده مقاله در لینک زیر بزنید.
https://abolraj.github.io/articles/?q=linux-background-jobs
برای مقالات خودتون میتونین از MD استفاده کنین و بزارین تو گیت هاب پیجز

ریپازیتوری زیر راهنمایی استفاده کنید و فورک کنید داخل گیت‌هاب خودتون ..

https://github.com/abolraj/articles

#git
#github
#articles
Crazy Dev ❤️‍🔥💻 pinned «برای مقالات خودتون میتونین از MD استفاده کنین و بزارین تو گیت هاب پیجز ریپازیتوری زیر راهنمایی استفاده کنید و فورک کنید داخل گیت‌هاب خودتون .. https://github.com/abolraj/articles #git #github #articles»
🚨 Security vulnerabilities reported in the past 2 days:

PHP - 2 CVEs (critical RCE vulnerabilities)
Node.js - 10 CVEs (patched)
NGINX - 5 CVEs
Go - 1 CVE
GitLab - 12 CVEs
eMudhra - CA certificate compromise
Railway - customer secrets exposure
LiteLLM - malicious PyPI + Docker releases
Zeabur - infrastructure breached
OpenCode - AI API keys exposed
OVHcloud CLI - official binaries backdoored
Rank Math PRO - malware in official plugin
TeamUpdraft - customer data compromised
ConnectWise - cloud backup identities compromised
Tensorlake - npm package infected
SubQuery - backdoored npm package
GhostAction - GitHub repos with malicious workflows
Tailscale - eMudhra incident
وقتی وبسوکت در ارتباط ریلتایم مهم میشه
توی وب سوکت ما سه تا موجودیت کلی داریم:
۱- سرور خودمون (آپ اصلی)
۲- سرور وبسوکت (مثلا pusher)
۳- کلاینت

با در اشتراک گذاری دوطرفه یک پورت و برقراری ارتباط همزمان دوطرفه دیگر نیاز به ریکویست های چندباره یا long polling نیست.
Crazy Dev ❤️‍🔥💻 pinned «وقتی وبسوکت در ارتباط ریلتایم مهم میشه توی وب سوکت ما سه تا موجودیت کلی داریم: ۱- سرور خودمون (آپ اصلی) ۲- سرور وبسوکت (مثلا pusher) ۳- کلاینت با در اشتراک گذاری دوطرفه یک پورت و برقراری ارتباط همزمان دوطرفه دیگر نیاز به ریکویست های چندباره یا long polling…»
Forwarded from 𝗧𝗶𝗻𝗸𝗲𝗿𝗮 𝗣𝗲𝗿𝘀𝗶𝗮𝗻
خب compile چیه؟ Interpret چیه و نهایتا transpile چیه؟

در آینده وقتی خواستیم یه زبانی غیر جی اس یاد بگیریم به مفاهیمی میخوریم که دونستنشون از الان می‌تونه مسیر آموزشیمون رو راحت کنه.

ما میشه گفت سه مدل اصلی انتزاع داریم تو زبان های برنامه نویسی، این یعنی بخشی که یه نفر قبلا یه بار نوشته، که ما بتونیم زبون سطح بالا (نزدیک به زبون انسان) بنویسیم و به واسطه اون لایه مترجم کامپیوتر بفهمتش.

یه مدل زبان های قدیمی و اصلیه که معمولا واسه بکند کاربرد دارن و نیاز به کمپایلر دارن چون کمپایل میشن. زبان هایی مثل c یا go یا rust زبون هایین که باید در مرحله اول بنویسیمشون و در مرحله بعد کمپایلشون کنیم (با استفاده از کمپایلرشون تبدیلشون کنیم به باینری و ماشین کد). ماشین کد زبون اصلی سی پی یو هست و واسه کامپیوتر خوندنش بسیار راحت و سریعه.
یعنی ما این زبان ها رو می‌نویسم، ازشون یه خروجی exe یا sh میگیریم و اون خروجی مثل هر اپلیکیشن دیگه ای ران میشه.

دسته بعدی زبون های interpreted هستن که جای یک بار ترجمه شدن به زبون سی پی یو، هربار خط به خط خونده میشن، ترجمه میشن و اجرا میشن. این فرایند معمولا توسط یه انجین اتفاق میفته که اون انجین واسه جی اس V8 هست که هم تو مرورگر وجود داره هم تو node.js و جی اس مارو خط به خط اجرا می‌کنه.

این یعنی زبون های کمپایل ارور هارو زمان کمپایل به ما نشون میدن compile time و زبون های اینترپرت مثل جی اس ارور هارو زمان اجرا بهمون نشون میدن runtime.

حالا این وسط ترنسپایل چیه؟ بعضی وقتا هم میشه که ما یه لایه انتزاعی تو بخش «دولوپمنت» داریم که زبون مارو یک بار ترجمه می‌کنه ولی خروجی سطح پایین نمیده بلکه خروجی سطح بالا میده، یعنی سطح بالا به سطح بالا. این میشه ترنسپایل که مثال استفاده‌ش میشه تایپ اسکریپت که بهمون خروجی جی اس میده یا بیلدر ریکت و نکست که بهمون جی اس میدن. بهشون میگیم کمپایلر ولی در واقعیت اینا ترنسپایلرن.

اینا مفاهیم کلین هرچند ما مفاهیم میانه مثل کمپایل به بایت کد و ماشین های مجازی هم داریم که حد وسط اینا هستن.

@persiandn
@TinkeraPersian