گیت: دستورات پرکاربرد و چهار لایه اصلی
دستورات پرکاربرد گیت
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
دستورات پرکاربرد گیت
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
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
توی soft limit حتی بعد از رد شدن از سقف تعیین شده درخواستها همچنان پردازش میشن. ولی در عوض میتونیم این رد شدن از محدودیت رو لاگ کنیم، هشدار بدیم یا اطلاعات مربوط به سهمیه مصرفشده رو توی response headerها برگردونیم. این روش بیشتر برای پلنهای پولی و مشتریهای سازمانی مناسبه که قطع شدن ناگهانی سرویس براشون مشکلسازه. البته که اگه همین مصرف اضافی هم درست کنترل نشه میتونه هزینه یا فشار زیادی به سیستم وارد کنه.
#system_design
@techstuff100
Forwarded from Go Casts | Systems & Agents 🚀
سلام دوستان
گویا یه آسیب پذیری جدی php پیدا شده دیروز (اسمش php2shell هست).
https://nsin.ir/blog/php2shell-cve-2026-109618-protection/
بچه های انسین میگن ما تشخیص ش میدیم روی wafمون.
براتون قانون WAF ای ایجاد میکنن که جلوی اینگونه حملات رو میگیره. رایگانه.
nsin.ir
@nsin_ir
@gocasts
گویا یه آسیب پذیری جدی 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
برای مشاهده مقاله در لینک زیر بزنید.
https://abolraj.github.io/articles/?q=linux-background-jobs
برای مقالات خودتون میتونین از MD استفاده کنین و بزارین تو گیت هاب پیجز
ریپازیتوری زیر راهنمایی استفاده کنید و فورک کنید داخل گیتهاب خودتون ..
https://github.com/abolraj/articles
#git
#github
#articles
ریپازیتوری زیر راهنمایی استفاده کنید و فورک کنید داخل گیتهاب خودتون ..
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
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 نیست.
توی وب سوکت ما سه تا موجودیت کلی داریم:
۱- سرور خودمون (آپ اصلی)
۲- سرور وبسوکت (مثلا 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
در آینده وقتی خواستیم یه زبانی غیر جی اس یاد بگیریم به مفاهیمی میخوریم که دونستنشون از الان میتونه مسیر آموزشیمون رو راحت کنه.
ما میشه گفت سه مدل اصلی انتزاع داریم تو زبان های برنامه نویسی، این یعنی بخشی که یه نفر قبلا یه بار نوشته، که ما بتونیم زبون سطح بالا (نزدیک به زبون انسان) بنویسیم و به واسطه اون لایه مترجم کامپیوتر بفهمتش.
یه مدل زبان های قدیمی و اصلیه که معمولا واسه بکند کاربرد دارن و نیاز به کمپایلر دارن چون کمپایل میشن. زبان هایی مثل c یا go یا rust زبون هایین که باید در مرحله اول بنویسیمشون و در مرحله بعد کمپایلشون کنیم (با استفاده از کمپایلرشون تبدیلشون کنیم به باینری و ماشین کد). ماشین کد زبون اصلی سی پی یو هست و واسه کامپیوتر خوندنش بسیار راحت و سریعه.
یعنی ما این زبان ها رو مینویسم، ازشون یه خروجی exe یا sh میگیریم و اون خروجی مثل هر اپلیکیشن دیگه ای ران میشه.
دسته بعدی زبون های interpreted هستن که جای یک بار ترجمه شدن به زبون سی پی یو، هربار خط به خط خونده میشن، ترجمه میشن و اجرا میشن. این فرایند معمولا توسط یه انجین اتفاق میفته که اون انجین واسه جی اس V8 هست که هم تو مرورگر وجود داره هم تو node.js و جی اس مارو خط به خط اجرا میکنه.
این یعنی زبون های کمپایل ارور هارو زمان کمپایل به ما نشون میدن compile time و زبون های اینترپرت مثل جی اس ارور هارو زمان اجرا بهمون نشون میدن runtime.
حالا این وسط ترنسپایل چیه؟ بعضی وقتا هم میشه که ما یه لایه انتزاعی تو بخش «دولوپمنت» داریم که زبون مارو یک بار ترجمه میکنه ولی خروجی سطح پایین نمیده بلکه خروجی سطح بالا میده، یعنی سطح بالا به سطح بالا. این میشه ترنسپایل که مثال استفادهش میشه تایپ اسکریپت که بهمون خروجی جی اس میده یا بیلدر ریکت و نکست که بهمون جی اس میدن. بهشون میگیم کمپایلر ولی در واقعیت اینا ترنسپایلرن.
اینا مفاهیم کلین هرچند ما مفاهیم میانه مثل کمپایل به بایت کد و ماشین های مجازی هم داریم که حد وسط اینا هستن.
@persiandn
@TinkeraPersian
درام بعدی با قیمتی حدود دو تا سه میلیارد تومان در بازار فعلی ایران بسیار قوی !! برای هوش مصنوعی خانگی قوی و سریع
🧠💻 انویدیا DGX Spark: ابرکامپیوتر هوش مصنوعی روی میز شما!
NVIDIA با معرفی DGX Spark، قدرت یک مرکز داده عظیم را به یک دستگاه کوچک رومیزی آورده تا توسعهدهندگان بدون نیاز به ابر، مدلهای AI را به صورت محلی اجرا کنند. 🚀
⚡️ DGX Spark چه کارهایی میکند؟
🔹 ساخت و اجرای ایجنتهای هوش مصنوعی به صورت محلی و همیشه روشن.
🔹 شخصیسازی (Fine-Tune) مدلهای بزرگ تا ۷۰ میلیارد پارامتر.
🔹 اجرای مدلهای غولپیکر تا ۲۰۰ میلیارد پارامتر (و تا ۴۰۵ میلیارد با اتصال دو دستگاه!).
🔹 نمونهسازی اولیه، تست و علم داده در سطحی حرفهای.
💪 مشخصات کلیدی:
✨ تراشه: NVIDIA GB10 Grace Blackwell
✨ قدرت پردازش: ۱ پتافلاپ (1 PetaFLOP)
✨ حافظه: ۱۲۸ گیگابایت Unified Memory
✨ طراحی فوقالعاده جمع و جور و کممصرف
این دستگاه برای محققان، توسعهدهندگان و دانشمندان داده ساخته شده تا مرزهای هوش مصنوعی را روی میز کار خود جابهجا کنند. 🔥
#هوش_مصنوعی #انویدیا #NVIDIA #DGXSpark #AI #یادگیری_ماشین #تکنولوژی #DeepLearning #MachineLearning
🧠💻 انویدیا DGX Spark: ابرکامپیوتر هوش مصنوعی روی میز شما!
NVIDIA با معرفی DGX Spark، قدرت یک مرکز داده عظیم را به یک دستگاه کوچک رومیزی آورده تا توسعهدهندگان بدون نیاز به ابر، مدلهای AI را به صورت محلی اجرا کنند. 🚀
⚡️ DGX Spark چه کارهایی میکند؟
🔹 ساخت و اجرای ایجنتهای هوش مصنوعی به صورت محلی و همیشه روشن.
🔹 شخصیسازی (Fine-Tune) مدلهای بزرگ تا ۷۰ میلیارد پارامتر.
🔹 اجرای مدلهای غولپیکر تا ۲۰۰ میلیارد پارامتر (و تا ۴۰۵ میلیارد با اتصال دو دستگاه!).
🔹 نمونهسازی اولیه، تست و علم داده در سطحی حرفهای.
💪 مشخصات کلیدی:
✨ تراشه: NVIDIA GB10 Grace Blackwell
✨ قدرت پردازش: ۱ پتافلاپ (1 PetaFLOP)
✨ حافظه: ۱۲۸ گیگابایت Unified Memory
✨ طراحی فوقالعاده جمع و جور و کممصرف
این دستگاه برای محققان، توسعهدهندگان و دانشمندان داده ساخته شده تا مرزهای هوش مصنوعی را روی میز کار خود جابهجا کنند. 🔥
#هوش_مصنوعی #انویدیا #NVIDIA #DGXSpark #AI #یادگیری_ماشین #تکنولوژی #DeepLearning #MachineLearning
🔥1
امشب زدم دلمو به دریا و رفتم گو و راست رو نصب کردم و یک حرکتی زدم پس از مدتها
به خاطر قدرت و سرعت بی نظیرشون
اینم از تست ها
به خاطر قدرت و سرعت بی نظیرشون
اینم از تست ها