Forwarded from Ninja Learn | نینجا لرن
آیا پایتون همیشه کنده؟ 🐢
چیزی که همیشه از زبون همه ی برنامه نویسا میشنویم (مخصوصا جامعه محترم C#) اینه که پایتون خیلی کنده (نسبت به زبان های دیگه هرچند این مقایسه اشتباهه بعضی جاها)
خب اره، درسته پایتون کنده (البته در حالت pure)
توی این پست میخوام بگم که چرا کنده و چجوری میشه سریعش کرد؟
چرا پایتون کنده ؟ 🤓
همونجور که میدونید پایتون به صورت پیشفرض با CPython اجرا میشه، که یه مفسر (interpreter) برای پایتونه و با زبان C نوشته شده. CPython کد پایتون رو به بایتکد (bytecode) تبدیل میکنه و بعد اون رو تو یه ماشین مجازی (VM) اجرا میکنه. این فرایند باعث میشه پایتون نسبت به زبانهای کامپایلشده مثل C یا Rust کندتر باشه، چون
تفسیر خطبهخط انجام میده و به جای کامپایل مستقیم به کد ماشین، پایتون تو زمان اجرا تفسیر میشه.
GIL (Global Interpreter Lock) تو CPython، یه قفل سراسری هست که جلوی اجرای چند نخ (thread) همزمان رو میگیره و برای کارهای multithreading مشکلساز میشه.
داینامیک تایپ بودن پایتون تایپها رو تو زمان اجرا چک میکنه، که یه کم سرعت رو پایین میاره.
ولی خبر خوب اینه که پایتون راه ها و ابزارهایی داره که میتونن این کندی رو برطرف کنن و پرفورمنس رو حسابی بالا ببرن
راه ها و ابزارهایی برای افزایش سرعت 📚
1️⃣ PyPy 🌟
Pypy یه مفسر جایگزین برای پایتونه که از JIT (Just-In-Time Compilation) استفاده میکنه.
و کارکردش اینجوریه که کد پایتون رو به جای تفسیر ساده، تو زمان اجرا به کد ماشین کامپایل میکنه. این یعنی برای حلقهها و عملیات تکراری خیلی سریعتره.
مزیتشم اینه تو بعضی موارد تا ۷ برابر سریعتر از CPython عمل میکنه
و باید توجه داشت باشید برای کدهایی که با C extensionها (مثل NumPy) کار میکنن، کامل سازگار نیست.
2️⃣ Cython ⚡
Cython یه ابزار که کد پایتون رو به C تبدیل میکنه و بعد کامپایلش میکنه.
اینجوری کار میکنه که میتونی تایپهای استاتیک (مثل
و تا چندین برابر سریعتر از CPython میشه، بهخصوص برای محاسبات سنگین.
3️⃣ Numba 🔥
Numba یه کامپایلر JIT برای پایتونه که با دکوریتور
کارکردش اینجوریه که کد پایتون رو تو زمان اجرا به کد ماشین تبدیل میکنه، بدون نیاز به تغییر زیاد تو کدنویسی.
برای حلقهها و محاسبات عددی (مثل کار با آرایهها) تا ۱۰۰ برابر سریعتر میشه
4️⃣ CPython با C Extensions 🛠️
میتونی بخشهای کند پروژت یا جاهایی که به سرعت بالا نیاز داری رو با C بنویسی و به CPython وصل کنی.
اینجوریه که کد C رو به صورت ماژول میسازی و تو پایتون لودش میکنی.
و سرعت C رو با سادگی پایتون ترکیب میکنی. کتابخونههایی مثل NumPy و Pandas از این روش استفاده میکنن.
و در اخر پایتون همیشه کند نیست 🙃
حقیقت اینه که پایتون به تنهایی برای خیلی از کارها به اندازه کافی سریعه، بهخصوص تو پروژههایی که I/O (مثل شبکه یا دیتابیس) گلوگاه اصلیه، نه CPU. ولی وقتی پای محاسبات سنگین وسط میاد، ابزارهایی مثل PyPy، Cython و Numba میتونن پرفورمنس رو چند برابر کنن. مثلاً:
یه حلقه ساده با Numba میتونه از ۵ ثانیه به ۰.۰۵ ثانیه برسه
PyPy تو برنامههای واقعی تا ۷ برابر سرعت رو بالا برده. 🐆
➖➖➖➖➖➖➖➖➖
چیزی که همیشه از زبون همه ی برنامه نویسا میشنویم (مخصوصا جامعه محترم C#) اینه که پایتون خیلی کنده (نسبت به زبان های دیگه هرچند این مقایسه اشتباهه بعضی جاها)
خب اره، درسته پایتون کنده (البته در حالت pure)
توی این پست میخوام بگم که چرا کنده و چجوری میشه سریعش کرد؟
چرا پایتون کنده ؟ 🤓
همونجور که میدونید پایتون به صورت پیشفرض با CPython اجرا میشه، که یه مفسر (interpreter) برای پایتونه و با زبان C نوشته شده. CPython کد پایتون رو به بایتکد (bytecode) تبدیل میکنه و بعد اون رو تو یه ماشین مجازی (VM) اجرا میکنه. این فرایند باعث میشه پایتون نسبت به زبانهای کامپایلشده مثل C یا Rust کندتر باشه، چون
تفسیر خطبهخط انجام میده و به جای کامپایل مستقیم به کد ماشین، پایتون تو زمان اجرا تفسیر میشه.
GIL (Global Interpreter Lock) تو CPython، یه قفل سراسری هست که جلوی اجرای چند نخ (thread) همزمان رو میگیره و برای کارهای multithreading مشکلساز میشه.
داینامیک تایپ بودن پایتون تایپها رو تو زمان اجرا چک میکنه، که یه کم سرعت رو پایین میاره.
ولی خبر خوب اینه که پایتون راه ها و ابزارهایی داره که میتونن این کندی رو برطرف کنن و پرفورمنس رو حسابی بالا ببرن
راه ها و ابزارهایی برای افزایش سرعت 📚
1️⃣ PyPy 🌟
Pypy یه مفسر جایگزین برای پایتونه که از JIT (Just-In-Time Compilation) استفاده میکنه.
و کارکردش اینجوریه که کد پایتون رو به جای تفسیر ساده، تو زمان اجرا به کد ماشین کامپایل میکنه. این یعنی برای حلقهها و عملیات تکراری خیلی سریعتره.
مزیتشم اینه تو بعضی موارد تا ۷ برابر سریعتر از CPython عمل میکنه
و باید توجه داشت باشید برای کدهایی که با C extensionها (مثل NumPy) کار میکنن، کامل سازگار نیست.
2️⃣ Cython ⚡
Cython یه ابزار که کد پایتون رو به C تبدیل میکنه و بعد کامپایلش میکنه.
اینجوری کار میکنه که میتونی تایپهای استاتیک (مثل
int یا float) به متغیرها اضافه کنی تا سرعتش بیشتر بشه. بعد Cython این کد رو به C تبدیل میکنه و یه فایل باینری سریع تحویلت میده.و تا چندین برابر سریعتر از CPython میشه، بهخصوص برای محاسبات سنگین.
3️⃣ Numba 🔥
Numba یه کامپایلر JIT برای پایتونه که با دکوریتور
@jit کار میکنه.کارکردش اینجوریه که کد پایتون رو تو زمان اجرا به کد ماشین تبدیل میکنه، بدون نیاز به تغییر زیاد تو کدنویسی.
برای حلقهها و محاسبات عددی (مثل کار با آرایهها) تا ۱۰۰ برابر سریعتر میشه
4️⃣ CPython با C Extensions 🛠️
میتونی بخشهای کند پروژت یا جاهایی که به سرعت بالا نیاز داری رو با C بنویسی و به CPython وصل کنی.
اینجوریه که کد C رو به صورت ماژول میسازی و تو پایتون لودش میکنی.
و سرعت C رو با سادگی پایتون ترکیب میکنی. کتابخونههایی مثل NumPy و Pandas از این روش استفاده میکنن.
و در اخر پایتون همیشه کند نیست 🙃
حقیقت اینه که پایتون به تنهایی برای خیلی از کارها به اندازه کافی سریعه، بهخصوص تو پروژههایی که I/O (مثل شبکه یا دیتابیس) گلوگاه اصلیه، نه CPU. ولی وقتی پای محاسبات سنگین وسط میاد، ابزارهایی مثل PyPy، Cython و Numba میتونن پرفورمنس رو چند برابر کنن. مثلاً:
یه حلقه ساده با Numba میتونه از ۵ ثانیه به ۰.۰۵ ثانیه برسه
PyPy تو برنامههای واقعی تا ۷ برابر سرعت رو بالا برده. 🐆
#️⃣ #python
➖➖➖➖➖➖➖➖➖
🥷 CHANNEL | GROUP
#تجربه
نمایشگاه اینوتکس ۱۴۰۴
یکی از چیزهایی که بلافاصله بعد از ورود به نمایشگاه اینوتکس امسال توجهم رو جلب کرد، رشد چشمگیر و خیرهکنندهی استارتاپها و شرکتهایی بود که با محوریت هوش مصنوعی فعالیت میکردند. بهجرئت میتونم بگم بیش از ۷۰ درصد کل غرفهها و تیمهای حاضر، در حوزههای مرتبط با تکنولوژی و کامپیوتر بودن، و جالبتر اینکه از بین اونها، بخش زیادی هم مشخصاً روی AI تمرکز داشتن.
این رشد سریع و استقبال وسیع از هوش مصنوعی، در عین اینکه امیدوارکنندهست، بهنوعی هم نگرانکنندهست. حداقل از نگاه من، به نظر میرسه بسیاری از این تیمها و شرکتها، خواسته یا ناخواسته، وارد فاز جدیدی از مسیر کسبوکار شدن؛ فازی که بیشتر شبیه موجسواری روی ترندهاست تا ورود عمیق و هدفمند به دنیای هوش مصنوعی.
به بیان دیگه، بعضیها بهجای اینکه از نوآوری، قابلیتها و عمق مفهومی این حوزه بهره بگیرن، فقط تلاش کردن از «برچسب AI» استفاده کنن تا جذابتر بهنظر برسن. اما با این حال، نمیشه از حق گذشت؛ بودند تیمها و استارتاپهایی که بهوضوح برای حضور در این حوزه وقت گذاشته بودن، مسیر تحقیق و توسعه رو جدی گرفته بودن و محصولاتی با پشتوانهی فنی و ارزشافزوده واقعی ارائه داده بودن.
از طرفی، برخلاف سالهای گذشته، استارتاپهایی که بهصورت نرمافزاری یا به اصطلاح software-oriented بودن، خیلی حضور پررنگی نداشتن و فقط چند غرفهی محدود از این جنس دیده میشد که بیشتر هم با سابقه و تجربه قبلی پیش میرفتن.
اما یکی از دوستداشتنیترین و شاید دلگرمکنندهترین بخشهای نمایشگاه برای من، دیدن پروژهها و استارتاپهایی بود که اگرچه از لحاظ محصول، ساختار تیمی یا ارائه، هنوز جای کار زیادی داشتن، اما با این حال، درگیر کمالگرایی نشده بودن، پروژهشون رو لانچ کرده بودن و جسورانه وارد بازار شده بودن.
@softwrteach
------------------------
🌐💻
نمایشگاه اینوتکس ۱۴۰۴
یکی از چیزهایی که بلافاصله بعد از ورود به نمایشگاه اینوتکس امسال توجهم رو جلب کرد، رشد چشمگیر و خیرهکنندهی استارتاپها و شرکتهایی بود که با محوریت هوش مصنوعی فعالیت میکردند. بهجرئت میتونم بگم بیش از ۷۰ درصد کل غرفهها و تیمهای حاضر، در حوزههای مرتبط با تکنولوژی و کامپیوتر بودن، و جالبتر اینکه از بین اونها، بخش زیادی هم مشخصاً روی AI تمرکز داشتن.
این رشد سریع و استقبال وسیع از هوش مصنوعی، در عین اینکه امیدوارکنندهست، بهنوعی هم نگرانکنندهست. حداقل از نگاه من، به نظر میرسه بسیاری از این تیمها و شرکتها، خواسته یا ناخواسته، وارد فاز جدیدی از مسیر کسبوکار شدن؛ فازی که بیشتر شبیه موجسواری روی ترندهاست تا ورود عمیق و هدفمند به دنیای هوش مصنوعی.
به بیان دیگه، بعضیها بهجای اینکه از نوآوری، قابلیتها و عمق مفهومی این حوزه بهره بگیرن، فقط تلاش کردن از «برچسب AI» استفاده کنن تا جذابتر بهنظر برسن. اما با این حال، نمیشه از حق گذشت؛ بودند تیمها و استارتاپهایی که بهوضوح برای حضور در این حوزه وقت گذاشته بودن، مسیر تحقیق و توسعه رو جدی گرفته بودن و محصولاتی با پشتوانهی فنی و ارزشافزوده واقعی ارائه داده بودن.
از طرفی، برخلاف سالهای گذشته، استارتاپهایی که بهصورت نرمافزاری یا به اصطلاح software-oriented بودن، خیلی حضور پررنگی نداشتن و فقط چند غرفهی محدود از این جنس دیده میشد که بیشتر هم با سابقه و تجربه قبلی پیش میرفتن.
اما یکی از دوستداشتنیترین و شاید دلگرمکنندهترین بخشهای نمایشگاه برای من، دیدن پروژهها و استارتاپهایی بود که اگرچه از لحاظ محصول، ساختار تیمی یا ارائه، هنوز جای کار زیادی داشتن، اما با این حال، درگیر کمالگرایی نشده بودن، پروژهشون رو لانچ کرده بودن و جسورانه وارد بازار شده بودن.
@softwrteach
------------------------
🌐💻
❤6👍1🍾1
Forwarded from Linuxor ?
این ریپو پر ایده های پروژه برنامه نویسیه که به عنوان رزومه یا تمرین میشه ازشون استفاده کرد
github.com/florinpop17/app-ideas
@Linuxor
github.com/florinpop17/app-ideas
@Linuxor
👍3🍓1
Linuxor ?
این ریپو پر ایده های پروژه برنامه نویسیه که به عنوان رزومه یا تمرین میشه ازشون استفاده کرد github.com/florinpop17/app-ideas @Linuxor
ایده های باحالی داره به نسبت برای نمونه کار و رزومه
👍2☃1
Forwarded from DevTwitter | توییت برنامه نویسی
این هم یک دلیل دیگه که «هوش مصنوعی جایگزین کسی نمیشه» بلکه فقط «شکل و نوع کارها رو عوض میکنه».
شرکت IBM در سال ۲۰۲۳ حدود ۸۰۰۰ نفر رو لیآف میکنه تا یکسری سیستمهای HR و منابع انسانی مثل درخواست مرخصی و مدیریت حقوق و دستمزد رو به طور کامل خودکار کنه و در نتیجه، بهرهوری در بیش از ۷۰ نقش شغلی افزایش داشته که حدود ۳.۵ میلیارد دلار سود به ارمغان آورده.
اما Twist ماجرا اینجاست که برخلاف انتظار، تعداد کل کارکنان IBM کاهش نداشته، بلکه این شرکت منابع صرفهجوییشده از طریق اتوماسیون رو صرف استخدام نیروهای جدید در بخشهایی کرده که نیازمند خلاقیت و تعامل انسانی هستن، مثل مهندسی نرمافزار، بازاریابی و فروش.
تجربه IBM بازتابی از روند کلی آینده صنعته که هوش مصنوعی ساختار مشاغل رو بازتعریف میکنه، نه اینکه صرفا حذف کنه. هرچند وظایف تکراری به خوبی توسط AI انجام میشن، اما همچنان نیاز زیادی به مهارتهای انسانی و خلاقیت در حل مسائل مسائل پیچیده و تعامل با مشتریان وجود داره. این نمونه بارز اهمیت ایجاد تعادل میان نوآوری فناورانه و توسعهی راهبردی نیروی کار هست.
پس سعی کنید به جای زانوی غم بغل کردن و کسب بهانه جهت خروج، روی افزایش و یادگیری مهارتهای جدید تمرکز کنید!
لینک مطلب:
https://indiandefencereview.com/ibm-fires-8000-employees-to-replace-them-with-ai-only-to-rehire-just-as-many/
@DevTwitter | <Mamadou On GameDev/>
شرکت IBM در سال ۲۰۲۳ حدود ۸۰۰۰ نفر رو لیآف میکنه تا یکسری سیستمهای HR و منابع انسانی مثل درخواست مرخصی و مدیریت حقوق و دستمزد رو به طور کامل خودکار کنه و در نتیجه، بهرهوری در بیش از ۷۰ نقش شغلی افزایش داشته که حدود ۳.۵ میلیارد دلار سود به ارمغان آورده.
اما Twist ماجرا اینجاست که برخلاف انتظار، تعداد کل کارکنان IBM کاهش نداشته، بلکه این شرکت منابع صرفهجوییشده از طریق اتوماسیون رو صرف استخدام نیروهای جدید در بخشهایی کرده که نیازمند خلاقیت و تعامل انسانی هستن، مثل مهندسی نرمافزار، بازاریابی و فروش.
تجربه IBM بازتابی از روند کلی آینده صنعته که هوش مصنوعی ساختار مشاغل رو بازتعریف میکنه، نه اینکه صرفا حذف کنه. هرچند وظایف تکراری به خوبی توسط AI انجام میشن، اما همچنان نیاز زیادی به مهارتهای انسانی و خلاقیت در حل مسائل مسائل پیچیده و تعامل با مشتریان وجود داره. این نمونه بارز اهمیت ایجاد تعادل میان نوآوری فناورانه و توسعهی راهبردی نیروی کار هست.
پس سعی کنید به جای زانوی غم بغل کردن و کسب بهانه جهت خروج، روی افزایش و یادگیری مهارتهای جدید تمرکز کنید!
لینک مطلب:
https://indiandefencereview.com/ibm-fires-8000-employees-to-replace-them-with-ai-only-to-rehire-just-as-many/
@DevTwitter | <Mamadou On GameDev/>
💊1
Forwarded from تبلیغات
دوره مبانی برنامهنویسی cs50 هاروارد در ایران (در دانشگاه تهران) رو از دست ندید😍🔥
🔗 لینک ثبتنام زودهنگام
با دورهی مبانی علوم کامپیوتر + پایتون +هوش مصنوعی+ وب CS50x Iran ، شما هم مثل چندین میلیون دانشجوی سیاسفیفتی در سراسر جهان، میتونید به سبک دانشگاه هاروارد وارد دنیای برنامه نویسی بشید!👨🏻💻
و علاوه بر این 3 مدرک رسمی از دانشگاه هاروارد دریافت کنید🎓💥
📌تو دورهی تابستانه چخبره؟
- برگزاری به صورت آنلاین و حضوری (در دانشگاه تهران)
- 11 جلسه کلاس مبانی علوم کامپیوتر
- بیش از 56 ساعت آموزش پایتون، وب و هوش مصنوعی
- دریافت 3 مدرک معتبر از cs50x هاروارد
- 5 جلسه رفع اشکال حضوری در رهنما کالج
- رفع اشکال آنلاین هفتگی
- پشتیبانی علمی 24 ساعته در 7 روز هفته (از طریق گروه تلگرامی)
- 2 کارگاه حضوری و آنلاین درباره مهارتهای ورود به بازار کار
- امکان شبکهسازی و تیمسازی
- تجربه تحصیل متفاوت و جذاب به سبک دانشگاه هاروارد
⏰همین حالا میتونید با ثبت نام زود هنگام، با کمترین قیمت ممکن ثبت نام کنید!
🔗 لینک ثبتنام زودهنگام
@cs50xiran
🔗 لینک ثبتنام زودهنگام
کد تخفیف 200 هزار تومانی مخصوص مخاطبین کانال Linuxor:linuxor
با دورهی مبانی علوم کامپیوتر + پایتون +هوش مصنوعی+ وب CS50x Iran ، شما هم مثل چندین میلیون دانشجوی سیاسفیفتی در سراسر جهان، میتونید به سبک دانشگاه هاروارد وارد دنیای برنامه نویسی بشید!👨🏻💻
و علاوه بر این 3 مدرک رسمی از دانشگاه هاروارد دریافت کنید🎓💥
📌تو دورهی تابستانه چخبره؟
- برگزاری به صورت آنلاین و حضوری (در دانشگاه تهران)
- 11 جلسه کلاس مبانی علوم کامپیوتر
- بیش از 56 ساعت آموزش پایتون، وب و هوش مصنوعی
- دریافت 3 مدرک معتبر از cs50x هاروارد
- 5 جلسه رفع اشکال حضوری در رهنما کالج
- رفع اشکال آنلاین هفتگی
- پشتیبانی علمی 24 ساعته در 7 روز هفته (از طریق گروه تلگرامی)
- 2 کارگاه حضوری و آنلاین درباره مهارتهای ورود به بازار کار
- امکان شبکهسازی و تیمسازی
- تجربه تحصیل متفاوت و جذاب به سبک دانشگاه هاروارد
⏰همین حالا میتونید با ثبت نام زود هنگام، با کمترین قیمت ممکن ثبت نام کنید!
🔗 لینک ثبتنام زودهنگام
@cs50xiran
💅1
تبلیغات
دوره مبانی برنامهنویسی cs50 هاروارد در ایران (در دانشگاه تهران) رو از دست ندید😍🔥 🔗 لینک ثبتنام زودهنگام کد تخفیف 200 هزار تومانی مخصوص مخاطبین کانال Linuxor: linuxor با دورهی مبانی علوم کامپیوتر + پایتون +هوش مصنوعی+ وب CS50x Iran ، شما هم مثل چندین…
واقعا یکی از بهترین دوره های فارسی هست
حداقل برای من این شکل بود
و خوبی ش هم اینه که از بیسه سر فصل هاش
برای بچه هایی که تازه میخوان شروع کنن
میتونه تجربه خوبی باشه
خودم دو سال پیش مدرک x و python ش رو گرفتم
که خب برای شروع خیلی بهم انگیزه داد و باحال بود
حداقل برای من این شکل بود
و خوبی ش هم اینه که از بیسه سر فصل هاش
برای بچه هایی که تازه میخوان شروع کنن
میتونه تجربه خوبی باشه
خودم دو سال پیش مدرک x و python ش رو گرفتم
که خب برای شروع خیلی بهم انگیزه داد و باحال بود
💘1
نظرتون با ۱۳ ماه Gemini advanced و 2TB حافظه گوگل وان چیه ؟
فقط لازمه با آیپی آمریکا یه اکانت geminiبسازید و بعدش برین تو این لینک
http://one.google.com/join/ai-student
قیمت این افر حدودا ماهیانه 20 دلاره در حالت عادی که خب چند روزی هست به صورت رایگان گوگل ارایه داده
برید بگیرد و استفاده کنید و لذت ببرید😎😄
@softwrteach
------------------------
🌐💻
فقط لازمه با آیپی آمریکا یه اکانت geminiبسازید و بعدش برین تو این لینک
http://one.google.com/join/ai-student
قیمت این افر حدودا ماهیانه 20 دلاره در حالت عادی که خب چند روزی هست به صورت رایگان گوگل ارایه داده
برید بگیرد و استفاده کنید و لذت ببرید😎😄
@softwrteach
------------------------
🌐💻
⚡1🥰1
Forwarded from F3RI
This media is not supported in your browser
VIEW IN TELEGRAM
پخش کردن این ویدئو ممکنه باعث بشه تلگرام [نسخه موبایل] کرش کنه و بسته بشه!
اینجور باگها معمولا مربوط هستن به موتوری که در پشت صحنه قراره این ویدئو رو دیکد کنه. معمولا دیتای اشتباهی توی ویدئو یا عکس هست که باعث کرش اون موتور و در نتیجه کرش تلگرام میشه. نمونههای مشابهش در ابزارهای دیگه هم بارها پیدا و بعد از مدتی حل شدن. مثل پینگ مرگ، اسمس مرگ و ... که دیتای اشتباه توی یه چیزی باعث می شد اونی که میخواد تفسیرش کنه کرش کنه.
نمونههای مشابه زیاد بودن و هستن و در بهترین حالت باعث بسته شدن این برنامه میشن. در حالتهای «بدتر» ممکنه مثلا باعث یه لوپ بینهایت بشن که دستگاه رو نیازمند ریبوت سخت افزاری کنه یا مثلا می گن «این عکس رو بذارین عکس والپیپر موبایل تا...» و وقتی می ذارین هر بار که دستگاه بوت می شه، کرش میکنه (: یا مثلا اگر یه متن باشه می تونین بفرستین به یه نفری و موبایلش کرش کنه بدون اینکه حتی بهش دست بزنه :)
#جادی
اینجور باگها معمولا مربوط هستن به موتوری که در پشت صحنه قراره این ویدئو رو دیکد کنه. معمولا دیتای اشتباهی توی ویدئو یا عکس هست که باعث کرش اون موتور و در نتیجه کرش تلگرام میشه. نمونههای مشابهش در ابزارهای دیگه هم بارها پیدا و بعد از مدتی حل شدن. مثل پینگ مرگ، اسمس مرگ و ... که دیتای اشتباه توی یه چیزی باعث می شد اونی که میخواد تفسیرش کنه کرش کنه.
نمونههای مشابه زیاد بودن و هستن و در بهترین حالت باعث بسته شدن این برنامه میشن. در حالتهای «بدتر» ممکنه مثلا باعث یه لوپ بینهایت بشن که دستگاه رو نیازمند ریبوت سخت افزاری کنه یا مثلا می گن «این عکس رو بذارین عکس والپیپر موبایل تا...» و وقتی می ذارین هر بار که دستگاه بوت می شه، کرش میکنه (: یا مثلا اگر یه متن باشه می تونین بفرستین به یه نفری و موبایلش کرش کنه بدون اینکه حتی بهش دست بزنه :)
#جادی
👍1🎅1
بچههااا!
اگه تو فاز یاد گرفتن لینوکسید و نمیدونید از کجا شروع کنین، این سایتو حتما یه بار ببینید:
https://linuxlearning.ro-ox.com
تقریباً میتونیم بگیم نسخهی فارسی linuxjourney.com ـه، فقط باحالتر 😁
- مرحله به مرحله میره جلو
- سطحبندیشدهس
- کلی مثال داره
- با زبون خیلی ساده و روون توضیح داده
واقعاً واسه شروع لینوکس عالیه!
حتما یه سر بهش بزنید 👌
@softwrteach
------------------------
🌐💻
اگه تو فاز یاد گرفتن لینوکسید و نمیدونید از کجا شروع کنین، این سایتو حتما یه بار ببینید:
https://linuxlearning.ro-ox.com
تقریباً میتونیم بگیم نسخهی فارسی linuxjourney.com ـه، فقط باحالتر 😁
- مرحله به مرحله میره جلو
- سطحبندیشدهس
- کلی مثال داره
- با زبون خیلی ساده و روون توضیح داده
واقعاً واسه شروع لینوکس عالیه!
حتما یه سر بهش بزنید 👌
@softwrteach
------------------------
🌐💻
❤2👍1🎄1
Forwarded from DevTwitter | توییت برنامه نویسی
وایب کدینگ (𝗩𝗶𝗯𝗲 𝗖𝗼𝗱𝗶𝗻𝗴) چیه که همه جا دارن دربارش صحبت میکنن؟
- وقتی این رو از ChatGPT پرسیدم حس کردم یه یکمی در جریان موضوع نیست. مثلاً گفت:
مدلی از کدنویسی که شخص خیلی ریلکس و با آرامش کدنویسی میکنه، موزیک ملایم پخش میشه، تمهای جذاب ادیتور و ابزارهای کار مثل ماوس و کیبورد جالبی استفاده میشه.
- اما در واقع عبارت Vibe Coding که کمتر از ۳ ماه میشه که سر زبونها افتاده، روشی برای توسعهٔ نرمافزار هست که شخص کاملاً با وابستگی به AI توسعه رو انجام میده. یعنی مسئله رو برای AI شرح میدیم و اون برامون کدها رو تولید میکنه. یعنی همون کاری که بیشتر ماها هر روز داریم انجام میدیم :)
- توی این روش، افراد تازهکار میتونن کدهایی در سطح افراد باتجربه بنویسن. به نظر من اولویتها برای تشخیص یک توسعهدهندهٔ خوب داره عوض میشه.
@DevTwitter | <Ali Nazari/>
- وقتی این رو از ChatGPT پرسیدم حس کردم یه یکمی در جریان موضوع نیست. مثلاً گفت:
مدلی از کدنویسی که شخص خیلی ریلکس و با آرامش کدنویسی میکنه، موزیک ملایم پخش میشه، تمهای جذاب ادیتور و ابزارهای کار مثل ماوس و کیبورد جالبی استفاده میشه.
- اما در واقع عبارت Vibe Coding که کمتر از ۳ ماه میشه که سر زبونها افتاده، روشی برای توسعهٔ نرمافزار هست که شخص کاملاً با وابستگی به AI توسعه رو انجام میده. یعنی مسئله رو برای AI شرح میدیم و اون برامون کدها رو تولید میکنه. یعنی همون کاری که بیشتر ماها هر روز داریم انجام میدیم :)
- توی این روش، افراد تازهکار میتونن کدهایی در سطح افراد باتجربه بنویسن. به نظر من اولویتها برای تشخیص یک توسعهدهندهٔ خوب داره عوض میشه.
@DevTwitter | <Ali Nazari/>
سلام !!!
بالاخره تصمیم گرفتم اون قدمی رو بردارم که مدتهاست تو ذهنم بوده. از وقتی این چنل رو زدم، همیشه دلم میخواست چیزایی که یاد میگیرم، باهاشون کار میکنم یا حتی تو پروژههای کوچیک باهاشون سروکار دارم رو باهاتون به اشتراک بذارم. راستش یه ندای درونی، شاید همون کمالگرایی معروف، همیشه جلوم رو میگرفت.
اما دیگه بسه!
میخوام این حس رو کنار بذارم و از همین امروز، هرچند کم، اما با همون هدف کمک به دوستانی که تازه وارد مسیر برنامه نویسی و دنیای فناوری شدن، شروع کنم.
برای استارت، تصمیم گرفتم یه سری پست در مورد کامندهای پایه لینوکس بذارم. توی این سری پستها، هر چند روز یک بار سراغ یک یا چند دستور کاربردی لینوکس میریم. هدفم اینه که:
. یه توضیح ساده و خودمونی از هر کامند بدم.
. سینتکس درستش رو با هم چک کنیم.
. و مهمتر از همه، چند تا مثال عملی و کاربردی بزنم که حسابی دستتون راه بیفته.
میدونم که این مسیر طولانیه، اما قدم به قدم میتونیم با هم پیش بریم و کلی چیزای جدید یاد بگیریم. امیدوارم این پستها براتون مفید باشه
مثل همیشه هم اگه انتقادی پیشنهادی بود در خدمتتون هستم ...❤️
@softwrteach
------------------------
🌐💻
بالاخره تصمیم گرفتم اون قدمی رو بردارم که مدتهاست تو ذهنم بوده. از وقتی این چنل رو زدم، همیشه دلم میخواست چیزایی که یاد میگیرم، باهاشون کار میکنم یا حتی تو پروژههای کوچیک باهاشون سروکار دارم رو باهاتون به اشتراک بذارم. راستش یه ندای درونی، شاید همون کمالگرایی معروف، همیشه جلوم رو میگرفت.
اما دیگه بسه!
میخوام این حس رو کنار بذارم و از همین امروز، هرچند کم، اما با همون هدف کمک به دوستانی که تازه وارد مسیر برنامه نویسی و دنیای فناوری شدن، شروع کنم.
برای استارت، تصمیم گرفتم یه سری پست در مورد کامندهای پایه لینوکس بذارم. توی این سری پستها، هر چند روز یک بار سراغ یک یا چند دستور کاربردی لینوکس میریم. هدفم اینه که:
. یه توضیح ساده و خودمونی از هر کامند بدم.
. سینتکس درستش رو با هم چک کنیم.
. و مهمتر از همه، چند تا مثال عملی و کاربردی بزنم که حسابی دستتون راه بیفته.
میدونم که این مسیر طولانیه، اما قدم به قدم میتونیم با هم پیش بریم و کلی چیزای جدید یاد بگیریم. امیدوارم این پستها براتون مفید باشه
مثل همیشه هم اگه انتقادی پیشنهادی بود در خدمتتون هستم ...❤️
@softwrteach
------------------------
🌐💻
❤2🏆1
#linux_command_1
#ls
در اولین قدم، میخوایم با یکی از پرکاربردترین و اساسیترین فرمانها، یعنی ls آشنا بشیم. این فرمان مثل یک چشم عمل میکنه و به شما نشون میده داخل یک دایرکتوری (همون پوشه خودمون!) چه فایلها و پوشههایی وجود داره.
یعنی چی ls ؟
مخفف "list" به معنی "لیست کردن" هست. فکر کنید وارد یک اتاق میشید و میخواید ببینید چه وسایلی داخلشه؛ ls هم دقیقاً همین کار رو برای دایرکتوریهای لینوکس انجام میده!
چطور از ls استفاده کنیم؟ (سینتکس) 📝
ساختار کلی فرمان ls خیلی سادهست:
[آپشنها]: اینها کارهایی هستن که میتونید از ls بخواید براتون انجام بده. مثلاً میتونید ازش بخواید جزئیات بیشتری رو نشون بده یا حتی فایلهای مخفی رو هم لیست کنه. (اختیاریه)
[مسیر_فایل/دایرکتوری]: مسیری که میخواید محتویاتش رو ببینید. اگه هیچی اینجا ننویسید، ls به طور پیشفرض محتویات دایرکتوری فعلی که توش هستید رو نشون میده. (اختیاریه)
چندتا مثال عملی: امتحانش کن! 👨💻
دیدن محتویات دایرکتوری فعلی:
این سادهترین حالته. فقط ls رو بنویسید و اینتر بزنید:
اگه تو دایرکتوری Home خودتون باشید، ممکنه خروجی این شکلی باشه:
دیدن محتویات یک دایرکتوری خاص:
میتونید آدرس یه دایرکتوری دیگه رو هم به ls بدید. مثلاً برای دیدن محتویات دایرکتوری Documents:
خروجی:
آپشنهای جادویی ls ✨
خب ls کلی آپشن کاربردی داره که کارتون رو خیلی راحتتر میکنه. بیاین با چندتا از مهمترینهاشون آشنا بشیم:
با -l (long listing format): جزئیات کامل رو ببین!
این آپشن اطلاعات خیلی بیشتری مثل مجوزها (کی میتونه به فایل دسترسی داشته باشه)، صاحب فایل، حجم، و تاریخ آخرین تغییر رو نشون میده:
خروجی:
به کمک -a (all) هم :
فایلهای مخفی رو هم پیدا کن! 🕵️♂️
توی لینوکس، فایلها و پوشههایی که با نقطه (.) شروع میشن، مخفی هستن. برای دیدن اینها باید از آپشن -a استفاده کنید:
خروجی:
با -h (human readable): حجم رو به زبان آدمیزاد نشون بده! 📏
اگه از -l استفاده کنید، حجم فایلها به بایت نشون داده میشه که ممکنه گیجکننده باشه. -h حجم رو به واحدهای قابل فهمتر مثل کیلوبایت (K)، مگابایت (M) یا گیگابایت (G) تبدیل میکنه:
خروجی:
ترکیب آپشنها:
شما میتونید چندتا آپشن رو با هم ترکیب کنید. مثلاً برای دیدن جزئیات کامل همه فایلها (حتی مخفیها) و نمایش حجم به صورت خوانا:
یا حتی این شکلی:
هر دو فرمان یکسان عمل میکنند!
@softwrteach
------------------------
🌐💻
#linux
#learn_linux
#ls
در اولین قدم، میخوایم با یکی از پرکاربردترین و اساسیترین فرمانها، یعنی ls آشنا بشیم. این فرمان مثل یک چشم عمل میکنه و به شما نشون میده داخل یک دایرکتوری (همون پوشه خودمون!) چه فایلها و پوشههایی وجود داره.
یعنی چی ls ؟
مخفف "list" به معنی "لیست کردن" هست. فکر کنید وارد یک اتاق میشید و میخواید ببینید چه وسایلی داخلشه؛ ls هم دقیقاً همین کار رو برای دایرکتوریهای لینوکس انجام میده!
چطور از ls استفاده کنیم؟ (سینتکس) 📝
ساختار کلی فرمان ls خیلی سادهست:
ls [option] [file_path/directory]
[آپشنها]: اینها کارهایی هستن که میتونید از ls بخواید براتون انجام بده. مثلاً میتونید ازش بخواید جزئیات بیشتری رو نشون بده یا حتی فایلهای مخفی رو هم لیست کنه. (اختیاریه)
[مسیر_فایل/دایرکتوری]: مسیری که میخواید محتویاتش رو ببینید. اگه هیچی اینجا ننویسید، ls به طور پیشفرض محتویات دایرکتوری فعلی که توش هستید رو نشون میده. (اختیاریه)
چندتا مثال عملی: امتحانش کن! 👨💻
دیدن محتویات دایرکتوری فعلی:
این سادهترین حالته. فقط ls رو بنویسید و اینتر بزنید:
ls
اگه تو دایرکتوری Home خودتون باشید، ممکنه خروجی این شکلی باشه:
Desktop Documents Downloads Music Pictures Public Templates Videos
دیدن محتویات یک دایرکتوری خاص:
میتونید آدرس یه دایرکتوری دیگه رو هم به ls بدید. مثلاً برای دیدن محتویات دایرکتوری Documents:
ls Documents/
خروجی:
reports.txt presentations/ notes.md
آپشنهای جادویی ls ✨
خب ls کلی آپشن کاربردی داره که کارتون رو خیلی راحتتر میکنه. بیاین با چندتا از مهمترینهاشون آشنا بشیم:
با -l (long listing format): جزئیات کامل رو ببین!
این آپشن اطلاعات خیلی بیشتری مثل مجوزها (کی میتونه به فایل دسترسی داشته باشه)، صاحب فایل، حجم، و تاریخ آخرین تغییر رو نشون میده:
ls -l
خروجی:
-rw-r--r-- 1 user user 1234 May 20 10:30 file1.txt
drwxr-xr-x 2 user user 4096 Apr 15 08:00 my_directory/
-rw-r--r--: مجوزهای دسترسی
user: اسم کاربر صاحب فایل
1234: حجم فایل (بر حسب بایت)
May 20 10:30: تاریخ و زمان آخرین تغییر
به کمک -a (all) هم :
فایلهای مخفی رو هم پیدا کن! 🕵️♂️
توی لینوکس، فایلها و پوشههایی که با نقطه (.) شروع میشن، مخفی هستن. برای دیدن اینها باید از آپشن -a استفاده کنید:
ls -a
خروجی:
. .. .bashrc .profile Desktop Documents
.: دایرکتوری فعلی
..: دایرکتوری بالاتر
با -h (human readable): حجم رو به زبان آدمیزاد نشون بده! 📏
اگه از -l استفاده کنید، حجم فایلها به بایت نشون داده میشه که ممکنه گیجکننده باشه. -h حجم رو به واحدهای قابل فهمتر مثل کیلوبایت (K)، مگابایت (M) یا گیگابایت (G) تبدیل میکنه:
ls -lh
خروجی:
-rw-r--r-- 1 user user 1.2K May 20 10:30 file1.txt
drwxr-xr-x 2 user user 4.0K Apr 15 08:00 my_directory/
ترکیب آپشنها:
شما میتونید چندتا آپشن رو با هم ترکیب کنید. مثلاً برای دیدن جزئیات کامل همه فایلها (حتی مخفیها) و نمایش حجم به صورت خوانا:
ls -lah
یا حتی این شکلی:
ls -l -a -h
هر دو فرمان یکسان عمل میکنند!
@softwrteach
------------------------
🌐💻
#linux
#learn_linux
🔥2🖕1
#linux_command_2
#cd
در پست قبلی با ls آشنا شدیم و یاد گرفتیم چطور محتویات یه دایرکتوری رو ببینیم. اما دیدن کافی نیست، گاهی وقتا باید حرکت کنیم! اینجاست که فرمان cd به کارمون میاد. این فرمان به شما اجازه میده توی ساختار پوشههای لینوکس جابجا بشید.
یعنی چی cd ؟ 🤔
مخفف "change directory" به معنی "تغییر دایرکتوری" هست. فکر کنید داخل همون اتاقی هستید که قبلاً با ls وسایلش رو دیدید. حالا میخواید از این اتاق به اتاق بغلی یا اتاق اصلی خونه برید؛ cd دقیقاً همین کار رو برای جابجایی بین دایرکتوریها در لینوکس انجام میده!
چطور از cd استفاده کنیم؟ (سینتکس) 📝
ساختار کلی فرمان cd خیلی سادهست:
[مسیر_دایرکتوری]: این همون آدرسیه که میخواید به اونجا برید. میتونه یک دایرکتوری داخل همین دایرکتوری که الان توش هستید باشه، یا یک مسیر کامل از ریشه سیستم. (اختیاریه)
اگر cd رو بدون هیچ آدرسی استفاده کنید، به طور پیشفرض به دایرکتوری خانه (Home Directory) کاربر برمیگردید.
چندتا مثال عملی: 👨💻
رفتن به یک دایرکتوری فرزند (Subdirectory):
فرض کنید الان در دایرکتوری Home هستید و میخواید برید داخل دایرکتوری Documents:
حالا با pwd (فرمان نمایش مسیر فعلی) میتونید ببینید کجا هستید:
خروجی:
برگشتن به دایرکتوری والد (Parent Directory):
برای برگشتن به دایرکتوری قبلی (یک سطح بالاتر)، از دو نقطه استفاده میکنیم:
اگر الان در /home/your_username/Documents باشید، با این دستور به /home/your_username برمیگردید.
رفتن به دایرکتوری خانه (Home Directory):
سه راه برای برگشتن به دایرکتوری خانه وجود داره که خیلی پرکاربرد هستند:
فقط cd رو بزنید:
از علامت ~ (تیلدا) استفاده کنید:
مسیر کامل دایرکتوری Home رو بنویسید (که برای هر کاربر متفاوت هست):
# به جای your_username، نام کاربری خودتون رو بذارید
رفتن به یک مسیر کامل (Absolute Path):
میتونید آدرس کامل دایرکتوری رو از ریشه (/) سیستم عامل وارد کنید. مثلاً برای رفتن به دایرکتوری /var/log:
با این روش، مهم نیست الان کجا هستید، همیشه به همون آدرس مشخص میرید.
برگشتن به دایرکتوری قبلی:
اگه میخواید به دایرکتوری که قبل از دایرکتوری فعلی توش بودید برگردید، از علامت - استفاده کنید:
این فرمان شما رو بین دو دایرکتوری که آخرین بار توشون بودید، جابجا میکنه.
نکات مهم و ترفندها ✨
کامل کردن خودکار (Tab Completion):
این یه قابلیت فوقالعاده در ترمینال لینوکسه! وقتی دارید اسم یه دایرکتوری رو تایپ میکنید، کافیه چند حرف اولش رو بنویسید و بعد دکمه Tab رو بزنید. ترمینال خودش بقیهاش رو کامل میکنه یا اگه چند گزینه وجود داشته باشه، با دو بار Tab زدن لیستشون رو نشون میده. حتماً امتحانش کنید!
دایرکتوریهای دارای فاصله در اسم:
اگر اسم دایرکتوری شما فاصله (Space) داشت، باید اسم رو داخل کوتیشن (" ") بذارید یا قبل از هر فاصله یک بکاسلش (\) قرار بدید.
# یا
@softwrteach
------------------------
🌐💻
#linux
#learn_linux
#cd
در پست قبلی با ls آشنا شدیم و یاد گرفتیم چطور محتویات یه دایرکتوری رو ببینیم. اما دیدن کافی نیست، گاهی وقتا باید حرکت کنیم! اینجاست که فرمان cd به کارمون میاد. این فرمان به شما اجازه میده توی ساختار پوشههای لینوکس جابجا بشید.
یعنی چی cd ؟ 🤔
مخفف "change directory" به معنی "تغییر دایرکتوری" هست. فکر کنید داخل همون اتاقی هستید که قبلاً با ls وسایلش رو دیدید. حالا میخواید از این اتاق به اتاق بغلی یا اتاق اصلی خونه برید؛ cd دقیقاً همین کار رو برای جابجایی بین دایرکتوریها در لینوکس انجام میده!
چطور از cd استفاده کنیم؟ (سینتکس) 📝
ساختار کلی فرمان cd خیلی سادهست:
cd [path_directory]
[مسیر_دایرکتوری]: این همون آدرسیه که میخواید به اونجا برید. میتونه یک دایرکتوری داخل همین دایرکتوری که الان توش هستید باشه، یا یک مسیر کامل از ریشه سیستم. (اختیاریه)
اگر cd رو بدون هیچ آدرسی استفاده کنید، به طور پیشفرض به دایرکتوری خانه (Home Directory) کاربر برمیگردید.
چندتا مثال عملی: 👨💻
رفتن به یک دایرکتوری فرزند (Subdirectory):
فرض کنید الان در دایرکتوری Home هستید و میخواید برید داخل دایرکتوری Documents:
cd Documents/
حالا با pwd (فرمان نمایش مسیر فعلی) میتونید ببینید کجا هستید:
pwd
خروجی:
/home/your_username/Documents
برگشتن به دایرکتوری والد (Parent Directory):
برای برگشتن به دایرکتوری قبلی (یک سطح بالاتر)، از دو نقطه استفاده میکنیم:
cd ..
اگر الان در /home/your_username/Documents باشید، با این دستور به /home/your_username برمیگردید.
رفتن به دایرکتوری خانه (Home Directory):
سه راه برای برگشتن به دایرکتوری خانه وجود داره که خیلی پرکاربرد هستند:
فقط cd رو بزنید:
cd
از علامت ~ (تیلدا) استفاده کنید:
cd ~
مسیر کامل دایرکتوری Home رو بنویسید (که برای هر کاربر متفاوت هست):
cd /home/your_username
# به جای your_username، نام کاربری خودتون رو بذارید
رفتن به یک مسیر کامل (Absolute Path):
میتونید آدرس کامل دایرکتوری رو از ریشه (/) سیستم عامل وارد کنید. مثلاً برای رفتن به دایرکتوری /var/log:
cd /var/log
با این روش، مهم نیست الان کجا هستید، همیشه به همون آدرس مشخص میرید.
برگشتن به دایرکتوری قبلی:
اگه میخواید به دایرکتوری که قبل از دایرکتوری فعلی توش بودید برگردید، از علامت - استفاده کنید:
cd -
این فرمان شما رو بین دو دایرکتوری که آخرین بار توشون بودید، جابجا میکنه.
نکات مهم و ترفندها ✨
کامل کردن خودکار (Tab Completion):
این یه قابلیت فوقالعاده در ترمینال لینوکسه! وقتی دارید اسم یه دایرکتوری رو تایپ میکنید، کافیه چند حرف اولش رو بنویسید و بعد دکمه Tab رو بزنید. ترمینال خودش بقیهاش رو کامل میکنه یا اگه چند گزینه وجود داشته باشه، با دو بار Tab زدن لیستشون رو نشون میده. حتماً امتحانش کنید!
دایرکتوریهای دارای فاصله در اسم:
اگر اسم دایرکتوری شما فاصله (Space) داشت، باید اسم رو داخل کوتیشن (" ") بذارید یا قبل از هر فاصله یک بکاسلش (\) قرار بدید.
cd "My Documents"
# یا
cd My\ Documents
@softwrteach
------------------------
🌐💻
#linux
#learn_linux
🔥1🌚1
#linux_command_3
#pwd
بعد از اینکه یاد گرفتیم با ls محتویات دایرکتوریها رو ببینیم و با cd بینشون حرکت کنیم، حالا وقتشه بدونیم دقیقاً کجاییم! برای این کار، فرمان pwd به کمکمون میاد. این فرمان مثل یک نقشه به شما نشون میده که الان در کدوم دایرکتوری سیستم عامل قرار دارید.
یعنی چی pwd ؟ 🤔
مخفف "print working directory" به معنی "چاپ دایرکتوری کاری" هست. فرض کنید توی یک ساختمون خیلی بزرگ با کلی اتاق و راهرو گم شدید. pwd مثل این میمونه که یکی به شما بگه: "شما الان دقیقاً اینجا هستید!"
چطور از pwd استفاده کنیم؟ (سینتکس) 📝
استفاده از فرمان pwd فوقالعاده سادهست و هیچ آپشن یا پارامتر اجباریای نداره:
فقط کافیه pwd رو تایپ کنید و اینتر بزنید. ترمینال مسیر کامل دایرکتوری فعلی شما رو نمایش میده.
چندتا مثال عملی: 👨💻
دیدن مسیر دایرکتوری فعلی:
وقتی ترمینال رو باز میکنید، معمولاً در دایرکتوری خانه (Home Directory) خودتون هستید. برای مطمئن شدن:
خروجی:
# به جای your_username، نام کاربری شما نمایش داده میشود.
بعد از تغییر دایرکتوری:
حالا بیایید به دایرکتوری Documents بریم و دوباره مکانمون رو چک کنیم:
خروجی:
در یک مسیر سیستمی:
حالا فرض کنید به یک دایرکتوری سیستمی مثل /etc رفتیم:
خروجی:
همونطور که میبینید، pwd همیشه مسیر کامل و مطلق دایرکتوری رو از ریشه سیستم عامل (/) نشون میده.
میرسیم به pwd در مقایسه با ls و cd ✨
ls: لیست محتویات دایرکتوری فعلی یا مشخص شده رو نشون میده.
cd: به شما کمک میکنه جابجا بشید و دایرکتوری فعلی رو تغییر بدید.
pwd: به شما نشون میده که کجا هستید، یعنی مسیر کامل دایرکتوری فعلی رو چاپ میکنه.
این سه فرمان کنار هم، ابزارهای اصلی شما برای ناوبری و کار با فایلها در لینوکس هستند.
@softwrteach
------------------------
🌐💻
#linux
#learn_linux
#pwd
بعد از اینکه یاد گرفتیم با ls محتویات دایرکتوریها رو ببینیم و با cd بینشون حرکت کنیم، حالا وقتشه بدونیم دقیقاً کجاییم! برای این کار، فرمان pwd به کمکمون میاد. این فرمان مثل یک نقشه به شما نشون میده که الان در کدوم دایرکتوری سیستم عامل قرار دارید.
یعنی چی pwd ؟ 🤔
مخفف "print working directory" به معنی "چاپ دایرکتوری کاری" هست. فرض کنید توی یک ساختمون خیلی بزرگ با کلی اتاق و راهرو گم شدید. pwd مثل این میمونه که یکی به شما بگه: "شما الان دقیقاً اینجا هستید!"
چطور از pwd استفاده کنیم؟ (سینتکس) 📝
استفاده از فرمان pwd فوقالعاده سادهست و هیچ آپشن یا پارامتر اجباریای نداره:
pwd
فقط کافیه pwd رو تایپ کنید و اینتر بزنید. ترمینال مسیر کامل دایرکتوری فعلی شما رو نمایش میده.
چندتا مثال عملی: 👨💻
دیدن مسیر دایرکتوری فعلی:
وقتی ترمینال رو باز میکنید، معمولاً در دایرکتوری خانه (Home Directory) خودتون هستید. برای مطمئن شدن:
pwd
خروجی:
/home/your_username
# به جای your_username، نام کاربری شما نمایش داده میشود.
بعد از تغییر دایرکتوری:
حالا بیایید به دایرکتوری Documents بریم و دوباره مکانمون رو چک کنیم:
cd Documents/
pwd
خروجی:
/home/your_username/Documents
در یک مسیر سیستمی:
حالا فرض کنید به یک دایرکتوری سیستمی مثل /etc رفتیم:
cd /etc
pwd
خروجی:
/etc
همونطور که میبینید، pwd همیشه مسیر کامل و مطلق دایرکتوری رو از ریشه سیستم عامل (/) نشون میده.
میرسیم به pwd در مقایسه با ls و cd ✨
ls: لیست محتویات دایرکتوری فعلی یا مشخص شده رو نشون میده.
cd: به شما کمک میکنه جابجا بشید و دایرکتوری فعلی رو تغییر بدید.
pwd: به شما نشون میده که کجا هستید، یعنی مسیر کامل دایرکتوری فعلی رو چاپ میکنه.
این سه فرمان کنار هم، ابزارهای اصلی شما برای ناوبری و کار با فایلها در لینوکس هستند.
@softwrteach
------------------------
🌐💻
#linux
#learn_linux
🔥1👏1🤗1
Forwarded from Linuxor ?
اپل به بزرگای هوش مصنوعی گفته کم شر و ور درباره هوش مصنوعی بگید هوش مصنوعی خیلی فاصله داره تا AGI یا هوش عمومی!
چند تا از این مدلای معروف مثل deepseek و o1 و claude رو برده زیر تست مسئله های جدیدی که تابحال کسی ندیدتشون و هر چقدر هم بهشون منابع قوی اضافه کرده بازم اوسگولانه فکر کردن و مثل بز تسلیم شدن. در واقع این مدلا برای چیزای جدید استدلال نتونستن کنن فقط برای مسائل از قبل حل شده خوب عمل میکردن.
در نهایت اپل از شرکت هایی که توانایی استدلال و فکر کردن مدلشون رو میآن توی شبکه های اجتماعی جشن میگیرن گله کرده و گفته دفه آخرتون باشه
@Linuxor
چند تا از این مدلای معروف مثل deepseek و o1 و claude رو برده زیر تست مسئله های جدیدی که تابحال کسی ندیدتشون و هر چقدر هم بهشون منابع قوی اضافه کرده بازم اوسگولانه فکر کردن و مثل بز تسلیم شدن. در واقع این مدلا برای چیزای جدید استدلال نتونستن کنن فقط برای مسائل از قبل حل شده خوب عمل میکردن.
در نهایت اپل از شرکت هایی که توانایی استدلال و فکر کردن مدلشون رو میآن توی شبکه های اجتماعی جشن میگیرن گله کرده و گفته دفه آخرتون باشه
@Linuxor
🆒1
Forwarded from F3RI
📣 داستان داغ امروز: هک نوبیتکس 🔥💰
خب امروز یه زلزله امنیتی تو فضای کریپتوی ایران رخ داد 😵💫
گروه هکری «گنجشک درنده» (Gonjeshke Darande) ادعا کرده که زده به قلب نوبیتکس، بزرگترین صرافی رمزارز کشور...
و نه فقط یه ادعا ساده – بلکه یه کیفپول گرم با بیش از ۴۸ میلیون دلار رو خالی کرده!💸
چی بردن؟ تقریباً همه چیز...
فقط روی شبکه Tron، چیزی حدود ۴۸.۶ میلیون دلار USDT جابهجا شده و پایان ماجرا نیستش.
تراکنشها خیلی سریع و زنجیرهای بوده تا ردیابی سختتر بشه، و حتی آدرس مقصد هم با پیام سیاسی ضدایرانی طراحی شده (Vanity address). یعنی یه پلن قوی از قبل طراحی شده اومدن.
🔍 حالا چطوری ممکنه این حمله انجام شده باشه؟ بیایید سناریوهای فنی رو بررسی کنیم:
۱. دسترسی به کیفپول گرم (Hot Wallet Access)
نقطه اصلی نفوذ همینجاست.
کیفپول گرم نوبیتکس که برای پردازش سریع برداشتها استفاده میشه، احتمالاً روی یه سرور نیمهمتصل به اینترنت یا شبکه داخلی بوده. اگه کلید خصوصی (Private Key) یا مسیر دسترسی بهش لو بره، بازی تمومه.
چطور ممکنه لو رفته باشه؟
ذخیره کلید در فایل متنی روی سرور (یه اشتباه مرگبار کلاسیک)
یا استفاده از Wallet Management Systemهایی مثل BitGo یا TronLink که بهدرستی ایزوله نشدن.
یا یه اسکريپت cron ساده که رمزگذاری نشده بوده و دسترسی لو رفته.
۲. نفوذ از طریق سرور اطلاعرسانی (Internal Messaging)
نوبیتکس تو اطلاعیه خودش گفته "بخشی از زیرساخت اطلاعرسانی" هم دستکاری شده.
این یعنی هکر نهفقط دزدی کرده، بلکه داخل پنل مدیریت یا سیستمهای نظارتی/پیامرسان داخلی هم نفوذ کرده – شاید برای جلوگیری از تشخیص فوری حمله.
۳. سناریوی نفوذ با VPN / Remote Access
مثل همیشه، یکی از محتملترین مسیرها همینه:
یه VPN سرور Fortigate یا Mikrotik با رمز عبور ضعیف یا 2FA غیرفعال.
یه اسکن ساده با ابزارهایی مثل Shodan کافیه تا به پنل دسترسی پیدا کنن.
از اونجا تا دسترسی به شبکه داخلی و سرور hot wallet فقط یه قدمه.
۴. باگ تو یکی از اسکریپتهای برداشت (Withdrawal APIs)
اگه اسکریپتهای برداشت اتوماتیک بهدرستی ایزوله یا rate-limit نشده باشن، میتونه به یه RCE ساده ختم بشه:
مثلاً یه باگ تو پارامترهای برداشت USDT روی Tron که اجازه داده تراکنشهای سنگین بدون تائید admin اجرا بشه.
یا یه تزریق command به کیفپول داخلی (مثلاً از طریق اسکریپتهایی که با NodeJS یا Python نوشته شدن).
۵.موردی بعدی Insider Threat یا درز داخلی
بهخصوص با توجه به اینکه فقط کیفپول گرم هدف بوده، یکی از سناریوهای محتمل دسترسی از داخل مجموعه یا پیمانکاره.
شاید کسی که به کلیدها، cron jobs یا سیستمهای مانیتورینگ دسترسی داشته، همکاری کرده یا لو رفته.
حتی ممکنه کل سیستم به خاطر یه credential دزدیدهشده در تلگرام یا ایمیل به خطر افتاده باشه.
📡 و حالا چیز جالب: پیام روی بلاکچین!
آدرس مقصد تراکنشها یه Vanity Address سفارشیشده بوده که اسم نوبیتکس توشه + کلمه "terrorists" 😬
یعنی دارن پیام میدن: فقط دنبال پول نبودیم، یه حمله هدفمند و سیاسی هم بوده!
📛 اگه این حمله واقعی باشه (که با شواهد آنچین تقریباً قطعی شده)، اینا فقط دزدی نیست...
یه اخطار بزرگه برای کل صنعت رمزارز ایران – چون خیلی از صرافیها معماری مشابه دارن.
🚨 هشدار برای صرافیها:
کلیدهای کیفپول گرم باید جدا از سرور اصلی و با HSM یا Custodyهای امن نگهداری بشن.
2FA، لاگ مانیتورینگ بلادرنگ، و دسترسی محدودشده برای هر کدوم از ماژولها اجباریه.
سرورها باید با WAF و EDR امنسازی بشن و دسترسی RDP/VPN رمزگذاریشده و لایهبندیشده باشه.
🔥 نتیجه؟ یکی از حرفهایترین حملات روی یه صرافی ایرانی، با پیامی سیاسی، ساختار دقیق، و حجم بالای سرقت.
و حالا همه صرافیها باید یه جمله رو بنویسن جلوشون:
"ما نفر بعدی نباشیم..."
خب امروز یه زلزله امنیتی تو فضای کریپتوی ایران رخ داد 😵💫
گروه هکری «گنجشک درنده» (Gonjeshke Darande) ادعا کرده که زده به قلب نوبیتکس، بزرگترین صرافی رمزارز کشور...
و نه فقط یه ادعا ساده – بلکه یه کیفپول گرم با بیش از ۴۸ میلیون دلار رو خالی کرده!💸
چی بردن؟ تقریباً همه چیز...
فقط روی شبکه Tron، چیزی حدود ۴۸.۶ میلیون دلار USDT جابهجا شده و پایان ماجرا نیستش.
تراکنشها خیلی سریع و زنجیرهای بوده تا ردیابی سختتر بشه، و حتی آدرس مقصد هم با پیام سیاسی ضدایرانی طراحی شده (Vanity address). یعنی یه پلن قوی از قبل طراحی شده اومدن.
🔍 حالا چطوری ممکنه این حمله انجام شده باشه؟ بیایید سناریوهای فنی رو بررسی کنیم:
۱. دسترسی به کیفپول گرم (Hot Wallet Access)
نقطه اصلی نفوذ همینجاست.
کیفپول گرم نوبیتکس که برای پردازش سریع برداشتها استفاده میشه، احتمالاً روی یه سرور نیمهمتصل به اینترنت یا شبکه داخلی بوده. اگه کلید خصوصی (Private Key) یا مسیر دسترسی بهش لو بره، بازی تمومه.
چطور ممکنه لو رفته باشه؟
ذخیره کلید در فایل متنی روی سرور (یه اشتباه مرگبار کلاسیک)
یا استفاده از Wallet Management Systemهایی مثل BitGo یا TronLink که بهدرستی ایزوله نشدن.
یا یه اسکريپت cron ساده که رمزگذاری نشده بوده و دسترسی لو رفته.
۲. نفوذ از طریق سرور اطلاعرسانی (Internal Messaging)
نوبیتکس تو اطلاعیه خودش گفته "بخشی از زیرساخت اطلاعرسانی" هم دستکاری شده.
این یعنی هکر نهفقط دزدی کرده، بلکه داخل پنل مدیریت یا سیستمهای نظارتی/پیامرسان داخلی هم نفوذ کرده – شاید برای جلوگیری از تشخیص فوری حمله.
۳. سناریوی نفوذ با VPN / Remote Access
مثل همیشه، یکی از محتملترین مسیرها همینه:
یه VPN سرور Fortigate یا Mikrotik با رمز عبور ضعیف یا 2FA غیرفعال.
یه اسکن ساده با ابزارهایی مثل Shodan کافیه تا به پنل دسترسی پیدا کنن.
از اونجا تا دسترسی به شبکه داخلی و سرور hot wallet فقط یه قدمه.
۴. باگ تو یکی از اسکریپتهای برداشت (Withdrawal APIs)
اگه اسکریپتهای برداشت اتوماتیک بهدرستی ایزوله یا rate-limit نشده باشن، میتونه به یه RCE ساده ختم بشه:
مثلاً یه باگ تو پارامترهای برداشت USDT روی Tron که اجازه داده تراکنشهای سنگین بدون تائید admin اجرا بشه.
یا یه تزریق command به کیفپول داخلی (مثلاً از طریق اسکریپتهایی که با NodeJS یا Python نوشته شدن).
۵.موردی بعدی Insider Threat یا درز داخلی
بهخصوص با توجه به اینکه فقط کیفپول گرم هدف بوده، یکی از سناریوهای محتمل دسترسی از داخل مجموعه یا پیمانکاره.
شاید کسی که به کلیدها، cron jobs یا سیستمهای مانیتورینگ دسترسی داشته، همکاری کرده یا لو رفته.
حتی ممکنه کل سیستم به خاطر یه credential دزدیدهشده در تلگرام یا ایمیل به خطر افتاده باشه.
📡 و حالا چیز جالب: پیام روی بلاکچین!
آدرس مقصد تراکنشها یه Vanity Address سفارشیشده بوده که اسم نوبیتکس توشه + کلمه "terrorists" 😬
یعنی دارن پیام میدن: فقط دنبال پول نبودیم، یه حمله هدفمند و سیاسی هم بوده!
📛 اگه این حمله واقعی باشه (که با شواهد آنچین تقریباً قطعی شده)، اینا فقط دزدی نیست...
یه اخطار بزرگه برای کل صنعت رمزارز ایران – چون خیلی از صرافیها معماری مشابه دارن.
🚨 هشدار برای صرافیها:
کلیدهای کیفپول گرم باید جدا از سرور اصلی و با HSM یا Custodyهای امن نگهداری بشن.
2FA، لاگ مانیتورینگ بلادرنگ، و دسترسی محدودشده برای هر کدوم از ماژولها اجباریه.
سرورها باید با WAF و EDR امنسازی بشن و دسترسی RDP/VPN رمزگذاریشده و لایهبندیشده باشه.
🔥 نتیجه؟ یکی از حرفهایترین حملات روی یه صرافی ایرانی، با پیامی سیاسی، ساختار دقیق، و حجم بالای سرقت.
و حالا همه صرافیها باید یه جمله رو بنویسن جلوشون:
"ما نفر بعدی نباشیم..."
😈1
Forwarded from F3RI
F3RI
📣 داستان داغ امروز: هک نوبیتکس 🔥💰 خب امروز یه زلزله امنیتی تو فضای کریپتوی ایران رخ داد 😵💫 گروه هکری «گنجشک درنده» (Gonjeshke Darande) ادعا کرده که زده به قلب نوبیتکس، بزرگترین صرافی رمزارز کشور... و نه فقط یه ادعا ساده – بلکه یه کیفپول گرم با بیش از…
📌 فقط یه نکته:
سناریوهایی که بالا گفته شد بیشتر مسیرهای متداول و پیشپاافتادن.
واقعیت اینه که هنوز مکانیزم دقیق حمله مشخص نیست و احتمالاً با یه نفوذ خیلی پیچیدهتر و هدفمندتر طرفیم.
فعلاً باید منتظر اطلاعات رسمیتر بمونیم.
سناریوهایی که بالا گفته شد بیشتر مسیرهای متداول و پیشپاافتادن.
واقعیت اینه که هنوز مکانیزم دقیق حمله مشخص نیست و احتمالاً با یه نفوذ خیلی پیچیدهتر و هدفمندتر طرفیم.
فعلاً باید منتظر اطلاعات رسمیتر بمونیم.
💯1
Forwarded from F3RI
🚁 تونل هوایی ملیشکن چیه؟ با اینترنت ملی هم جهانی بمونیم؟🙄
تو این روزا که اینترنت بینالملل شده یه چیز لوکس و فانتزی، خیلیا دیگه به این فکر میکنن که «اگه همه چی ملی شد، چی میشه؟!» خب، اینجاست که پای یه روش زیرزمینی و باحال وسط میاد: تونل هوایی ملیشکن!
🛰 یه نگاه به سناریو:
فرض کن یه نفر که دستش به استارلینک میرسه (مثلاً همون آقای جاسوس معروف)، میاد یه دیش استارلینک تو ایران میزاره. این دیش مستقیماً از ماهواره اینترنت بینالملل میگیره — بدون سانسور، بدون فیلتر.
حالا این آدم زرنگ، با یه IP استاتیک ایران و دوتا کارت شبکه، یه جادو میکنه:
1. یکی از کارت شبکهها به استارلینکه (اینترنت آزاد)
2. اون یکی به شبکه داخلی ایرانه (مثلاً اینترنت همراه اول یا ایرانسل شما)
3. میاد با یه ابزار مثل SoftEther VPN Server یا حتی SSH، یه VPN سرور راه میندازه روی این گیتوی
4. حالا ترافیک شما، که از موبایلت به سمت یه IP داخل ایران (مثلاً روی ایرانسل) میره، وارد این تونل میشه، و اون سمت، از طریق استارلینک میره تو دل اینترنت آزاد!
📶 چه سودی داره این مدل؟
چون شما داری به یه آیپی ایران وصل میشی، اینترنت ملی بهت اجازه اتصال میده.
چون اون سرِ اتصال به استارلینکه، ترافیکت وارد نت جهانی میشه!
دیگه فایروال هوشمند نمیفهمه که داری VPN میزنی، چون از دیدش، تو داری به یه سرور داخلی وصل میشی.
🧠 چرا بهش میگن "تونل هوایی"؟
چون از یه طرف ورودیاش از ایرانه (زمینی)، ولی خروجیش از استارلینک رد میشه (هوایی). یعنی ترافیکت پَر میکشه و بدون اینکه ردپا از خودش بزاره، از بالا رد میشه. یه جورایی میشه گفت:
سوار یه تاکسی پراید میشی اولش و چند لحظه بعد داخل بوگاتی ویرون نشستی داری گاز میدی
🛠 چی لازم داره؟ (سطح فنی بالا)
دسترسی به استارلینک (واضحه!)
آیپی استاتیک داخل ایران (مثلاً از یه دیتاسنتر یا حتی بعضی خطوط خاص اینترنت ثابت)
سرور با دوتا کارت شبکه (یا یه روتر دوگانه)
دانش شبکه، تنظیمات NAT و Routing Policy
🚫 قابل خرید برای مردم عادی نیست؟
نه، فعلاً این بیشتر یه روش زیرمیزی برای افرادیه که یا توی دیتاسنتر کار میکنن، یا دسترسی به استارلینک دارن. ولی اگه یه روزی شبکهی استارلینک بهطور رسمی به ایران یا اطرافش بیاد، ممکنه این روشها گستردهتر شن.
🧩 چرا فایروال نمیفهمه؟
چون:
1. آیپی مقصد توی ایران تعریف شده.
2. ترافیکت رمزنگاریشدهست ولی شبیه ترافیک داخلی.
3. خروج نهایی از استارلینکه، جایی که فیلترینگ ایران دستش نمیرسه.
@Im_F3ri
تو این روزا که اینترنت بینالملل شده یه چیز لوکس و فانتزی، خیلیا دیگه به این فکر میکنن که «اگه همه چی ملی شد، چی میشه؟!» خب، اینجاست که پای یه روش زیرزمینی و باحال وسط میاد: تونل هوایی ملیشکن!
🛰 یه نگاه به سناریو:
فرض کن یه نفر که دستش به استارلینک میرسه (مثلاً همون آقای جاسوس معروف)، میاد یه دیش استارلینک تو ایران میزاره. این دیش مستقیماً از ماهواره اینترنت بینالملل میگیره — بدون سانسور، بدون فیلتر.
حالا این آدم زرنگ، با یه IP استاتیک ایران و دوتا کارت شبکه، یه جادو میکنه:
1. یکی از کارت شبکهها به استارلینکه (اینترنت آزاد)
2. اون یکی به شبکه داخلی ایرانه (مثلاً اینترنت همراه اول یا ایرانسل شما)
3. میاد با یه ابزار مثل SoftEther VPN Server یا حتی SSH، یه VPN سرور راه میندازه روی این گیتوی
4. حالا ترافیک شما، که از موبایلت به سمت یه IP داخل ایران (مثلاً روی ایرانسل) میره، وارد این تونل میشه، و اون سمت، از طریق استارلینک میره تو دل اینترنت آزاد!
📶 چه سودی داره این مدل؟
چون شما داری به یه آیپی ایران وصل میشی، اینترنت ملی بهت اجازه اتصال میده.
چون اون سرِ اتصال به استارلینکه، ترافیکت وارد نت جهانی میشه!
دیگه فایروال هوشمند نمیفهمه که داری VPN میزنی، چون از دیدش، تو داری به یه سرور داخلی وصل میشی.
🧠 چرا بهش میگن "تونل هوایی"؟
چون از یه طرف ورودیاش از ایرانه (زمینی)، ولی خروجیش از استارلینک رد میشه (هوایی). یعنی ترافیکت پَر میکشه و بدون اینکه ردپا از خودش بزاره، از بالا رد میشه. یه جورایی میشه گفت:
سوار یه تاکسی پراید میشی اولش و چند لحظه بعد داخل بوگاتی ویرون نشستی داری گاز میدی
🛠 چی لازم داره؟ (سطح فنی بالا)
دسترسی به استارلینک (واضحه!)
آیپی استاتیک داخل ایران (مثلاً از یه دیتاسنتر یا حتی بعضی خطوط خاص اینترنت ثابت)
سرور با دوتا کارت شبکه (یا یه روتر دوگانه)
دانش شبکه، تنظیمات NAT و Routing Policy
🚫 قابل خرید برای مردم عادی نیست؟
نه، فعلاً این بیشتر یه روش زیرمیزی برای افرادیه که یا توی دیتاسنتر کار میکنن، یا دسترسی به استارلینک دارن. ولی اگه یه روزی شبکهی استارلینک بهطور رسمی به ایران یا اطرافش بیاد، ممکنه این روشها گستردهتر شن.
🧩 چرا فایروال نمیفهمه؟
چون:
1. آیپی مقصد توی ایران تعریف شده.
2. ترافیکت رمزنگاریشدهست ولی شبیه ترافیک داخلی.
3. خروج نهایی از استارلینکه، جایی که فیلترینگ ایران دستش نمیرسه.
@Im_F3ri
❤2🤓1