</homeCode>
224 subscribers
88 photos
25 videos
6 files
51 links
Download Telegram
رفقا سلام
امروز به یه مشکلی برخودم داخل ابونتو که قطعا این مشکل مثل ی شتریه که در خونه هرکی بل اخره میخوابه

اقا قضیه ازین قرار بود که من یه فایل چند پارتی فشرده داشتم با پسوند rar که من میخواستم از حالت فشرده درش بیارم
اولین کاری که به صورت ناخوداگاه انجام دادم این بود که برم برنامه winrar رو باز کنم که این فایل های فشرده رو استخراج کنم
اما winrar بهم گقت بیا👍.
جا خوردم واقعیتش ولی از ai پرسیدم که جواب های داد که منو به جوابی که دنبالش میگشتم نرسوند
و اما یه چیزی بهم داد که کارمو را انداخت
اونم این دستور بود ترمینال رو در اون مسیری که فایل هست رو باز کن
و این دستور رو وارد کن
unrar x "filename.rar"

این رو که وارد کردم اون فایلم از حالت قشرده خارج شد



#linux
👍4👏2
This media is not supported in your browser
VIEW IN TELEGRAM
🤣4
❤2
</homeCode>
Photo
خانواده‌ی «راد» را در نظر بگیرید. صاحب یک شرکت موفق واردات تجهیزات پزشکی هستند و رابطه‌ی گرمی با کارمندانشان دارند. جمعه شب، پدر خانواده عکس یک دورهمی شاد در ویلای شمال را در اینستاگرام منتشر می‌کند. شنبه صبح، مدیر منابع انسانی در لینکدین استخدام حسابدار جدید شرکت را تبریک می‌گوید. دختر خانواده هم لوکیشن کافه‌ای که در آن نشسته را استوری می‌کند.

​همه‌چیز عادی و دوستانه به نظر می‌رسد، درست است؟ اما برای یک مهاجم سایبری، این‌ها عکس و استوری نیستند؛ این‌ها قطعات پازل نفوذ هستند.

​هکرها دیگر نیازی به شکستن رمزهای عبور پیچیده ندارند. آن‌ها از تکنیکی به نام OSINT (جستجوی اطلاعات آشکار) استفاده می‌کنند. یعنی جمع‌آوری همان اطلاعاتی که خودمان دو دستی تقدیم اینترنت کرده‌ایم. هکر حالا می‌داند مدیرعامل در سفر است و حسابدار شرکت تازه‌کار است. مرحله‌ی بعد چیست؟ یک پیام جعلی اما بسیار دقیق به حسابدار: "من در جاده‌ام و اینترنتم ضعیف است.
این فاکتور فوری را تا قبل از ساعت ۱۲ برای این شماره حساب تسویه کن."

​به این کار مهندسی اجتماعی می‌گویند. یعنی هک کردن مغز انسان‌ها، نه سیستم‌های کامپیوتری. سوءاستفاده از اعتماد، ترس یا عجله‌ی شما.

​📉 بیشترین قربانیان در کدام سطح جامعه هستند؟

​شاید فکر کنید فقط میلیاردرها یا مقامات امنیتی هدف حمله هستند. اصلا این‌طور نیست! بیشترین قربانی‌ها طبقه‌ی متوسط، کارمندان شرکت‌ها (مخصوصا بخش مالی و ارتباطات) و کسب‌وکارهای متوسط هستند.

هکرها عاشق کسانی هستند که با خودشان می‌گویند: "منِ معمولی مگر چه دارم که کسی بخواهد هکم کند؟" این افراد معمولا سپر دفاعی ضعیف‌تری دارند، اما اطلاعات یا پول کافی برای باج‌دهی را در اختیار دارند.

​🛡️ چطور سد راهشان شویم (و سریع مطلع شویم)؟

​رژیم اطلاعاتی بگیرید: لازم نیست تمام دنیا بدانند شما الان کجا هستید یا اسم همکار جدیدتان چیست. حریم خصوصی شبکه‌های اجتماعی‌تان را محدود کنید.
​قانون مکث ۳ ثانیه‌ای: هر پیامی که خواست شما را وادار به واکنش سریع کند (مثل ترس از مسدود شدن حساب یا نیاز فوری به پول)، تله است. ۳ ثانیه مکث کنید و با شخص فرستنده تماس صوتی بگیرید تا مطمئن شوید.

​قفل دوم (2FA): تایید دومرحله‌ای را برای تمام حساب‌هایتان فعال کنید. با این کار، حتی اگر رمزتان لو برود، هکر پشت در می‌ماند.

​چشمک‌زن‌های امنیتی: گزینه‌ی «هشدار ورود به حساب» (Login Alerts) را در ایمیل و پیام‌رسان‌ها روشن کنید. اگر کسی از یک دستگاه غریبه وارد حسابتان شود، در همان لحظه نوتیفیکیشن می‌گیرید و می‌توانید دسترسی‌اش را قطع کنید.

​هکرها در تاریکی و با کلاه‌های هودی پشت مانیتورهای سبزرنگ منتظر شما نیستند؛ آن‌ها لابه‌لای لایک‌ها، کامنت‌ها و ایمیل‌های روزمره‌ی شما قدم می‌زنند و منتظر یک اشتباه کوچک‌اند.
❤2👍1
</homeCode>
Photo
فکر کنید اینترنت یک اتوبان بزرگ است، اما ناگهان می‌بینید مسیر رسیدن به سایت‌ها و اپلیکیشن‌های محبوبتان با موانع سیمانی بسته شده! اینجا دقیقاً همان جایی است که کلماتی مثل وی‌پی‌ان، پروکسی و کانفیگ به گوشمان می‌خورد. اما واقعاً پشت این اسم‌های عجیب چه خبر است و کدامشان به درد ما می‌خورد؟

داستان پستچی، گاوصندوق و نامه نامرئی


بیایید با یک مثال ساده شروع کنیم. فرض کنید می‌خواهید یک نامه مهم را به شهری بفرستید که اداره پست آن همه پاکت‌ها را بازرسی می‌کند:

پروکسی (Proxy): مثل این است که نامه را به یک پیک موتوری ناشناس بدهید. اداره پست فقط پیک را می‌بیند و نمی‌داند فرستنده شما هستید، اما نامه هنوز باز است و اگر بخواهند می‌توانند آن را بخوانند. (سریع است، اما امنیت و رمزنگاری ندارد).

وی‌پی‌ان (VPN): انگار نامه‌تان را داخل یک گاوصندوق ضدگلوله می‌گذارید و با ماشین حمل پول می‌فرستید. کل مسیر قفل‌گذاری شده و هیچکس حتی نمی‌تواند حدس بزند داخلش چیست. (امنیت بالا، رمزنگاری کل اینترنت گوشی).

کانفیگ (Config): این روش شبیه یک ترفند شعبده‌بازی است! نامه شما طوری کادوپیچ می‌شود که سیستم بازرسی فکر می‌کند این فقط یک قبض آب و برق ساده است و به آن گیر نمی‌دهد. (مخصوص دور زدن سیستم‌های فیلترینگ هوشمند).

این ابزارها چطور ساخته و کار می‌کنند؟

پروکسی: فقط یک سرور (کامپیوتر همیشه روشن) واسطه است. برنامه‌نویسان با اجاره یک سرور و اجرای چند خط کد ساده، ترافیک شما را از آن عبور می‌دهند.

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

کانفیگ: در واقع مجموعه‌ای از کدهای شخصی‌سازی‌شده برای برنامه‌هایی مثل V2ray است. متخصصان با اجاره سرورهای ابری، قوانینی می‌نویسند که ترافیک شما را تغییر شکل دهد تا شبیه به ترافیک سایت‌های معمولی و مجاز به نظر برسد.

چرا در بعضی کشورها جرم است؟

بر اساس گزارش‌های سازمان‌های ناظر بر اینترنت مانند «خانه آزادی» (Freedom House)، کشورهایی که به دنبال کنترل شدید جریان اطلاعات هستند، این ابزارها را غیرقانونی می‌کنند. دلایل اصلی شامل جلوگیری از دسترسی آزاد شهروندان به اخبار جهانی، حفظ انحصار رسانه‌ای و همچنین امکان نظارت و ردیابی فعالیت‌های کاربران توسط نهادهای دولتی است؛ کاری که وی‌پی‌ان با رمزنگاری خود جلوی آن را می‌گیرد.

روی تاریک سکه؛ خطرات در کمین

نصب هر برنامه‌ای بدون تحقیق، مثل دادن کلید خانه‌تان به یک غریبه است!

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

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

مصرف شدید منابع: برنامه‌های غیراستاندارد می‌توانند به شدت اینترنت شما را مصرف کنند و باتری گوشی را از بین ببرند.



#article

@h0meCode
❤4
This media is not supported in your browser
VIEW IN TELEGRAM
وقتی که لینوکس بلد باشی
چه نیازه که هی بری اون پوشه دنبال یه فایل بگردی
همش با خط فرمان 😏
❤2🔥2
</homeCode>
وقتی که لینوکس بلد باشی چه نیازه که هی بری اون پوشه دنبال یه فایل بگردی همش با خط فرمان 😏
شما میتونید داخل لینوکس با وارد کردن دستور زیر
محتوای یک سند رو ببینید
همونطوری که من ی فایل جاوااسکریپت رو دیدم محتویاتش رو



cat filename
🔥2❤1
This media is not supported in your browser
VIEW IN TELEGRAM
اینو تقدیم ب اون عزیزانی میکنم که عضو کانال شدن و تازه اومدن:)

استاد معین خواننده مورد علاقمه
❤3
❤1
</homeCode>
Photo
تصور کن داری با ماشین با سرعت ۱۲۰ تا توی اتوبان می‌رونی، بعد همون‌لحظه بدون اینکه ماشین رو نگه داری، موتور معمولی‌ش رو درمیاری و با یه موتور جت عوض می‌کنی! پایتون دقیقاً چنین غولیه.

یعنی چی کدهای خودش رو موقع اجرا تغییر میده؟

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

به این خصوصیت اصطلاحاً میگن متاپروگرمر (Metaprogramming) یا توی برخی موارد مانکی پچینگ (Monkey Patching).

📚 منابع معتبر چی میگن؟

طبق مستندات رسمی پایتون (docs.python.org) و کتاب مرجع Fluent Python (انتشارات O'Reilly)، پایتون همه‌چیز (حتی خود توابع و کلاس‌ها) رو به چشم Object می‌بینه. این معماری به برنامه اجازه میده با ابزارهایی مثل
exec()

یا دستکاری مستقیم

__code__


توابع، ساختار منطقی خودش رو در زمان اجرا (Runtime) بازنویسی کنه.

💻 یه مثال خیلی ساده و ملموس:

فرض کن یه تابع داری که کارش جمع کردنه، اما وسط اجرا تصمیم می‌گیری کلاً رفتارش رو به ضرب تغییر بدی:

# تابع اولیه که جمع می‌کنه
def do_math(a, b):
    return a + b

print(do_math(2, 3))  # خروجی: 5

# حالا موقع اجرا، کدِ تابع رو بازنویسی می‌کنیم!
code_str = "def do_math(a, b): return a * b"
exec(code_str)

# بدون متوقف شدن برنامه، همون تابع حالا ضرب می‌کنه!
print(do_math(2, 3))  # خروجی: 6



دیدی چی شد؟ بدون اینکه برنامه رو ببندیم یا از اول اجرا کنیم، ماهیت کدمون وسط کار عوض شد!
❤4
Forwarded from <Devdocs />
💔3
<Devdocs />
Photo
اگه برگردیم ب سال ۱۴۰۰
ب یکی بگیم دلار میرسه به ۲۰۰ هزار تومن

ب ریشمون می‌خندید😂💔
💔10❤3
اینجا ۱۰ دلیل مهم رو بررسی می‌کنیم که چرا اول باید پایه‌های جاوااسکریپت رو محکم کنید:

۱. ریکت جادو نیست، همون جاوااسکریپته!

🪄
ریکت یک زبان جدید نیست، فقط یک کتابخونه‌ست. اگر قوانین و منطق اصلی جاوااسکریپت رو ندونید، درک مفاهیم ریکت براتون مثل حفظ کردن یک متن به زبان بیگانه میشه.


۲. کابوس دیباگ کردن و پیدا کردن ارورها 🐛


وقتی کُد ارور میده، اگه JS رو خوب بلد نباشید، اصلا متوجه نمی‌شید این ارور مربوط به خود ریکت هست یا به خاطر یک اشتباه ساده تو منطق جاوااسکریپت به وجود اومده. این یعنی ساعت‌ها سردرگمی بی‌دلیل.


۳. گیر کردن تو متدهای آرایه و آبجکت 🔄
قلب تپنده‌ی ریکت، چرخیدن روی داده‌هاست. اگر روی متدهایی مثل map، filter و reduce تسلط نداشته باشید، برای رندر کردن یک لیست ساده هم به مشکل می‌خورید.

۴. اشتباه گرفتن سینتکس ES6 با امکانات ریکت 🧩
خیلی از تازه‌کارها فکر می‌کنن ساختارهایی مثل Destructuring (باز کردن آبجکت‌ها) یا Spread Operator (...) مخصوص ریکت هستن! در حالی که این‌ها ابزارهای مدرن جاوااسکریپت هستن که در تمام پروژه‌ها کاربرد دارن.


۵. عدم درک عمیق هوک‌ها (Hooks) 🪝
هوک‌های پرکاربردی مثل useEffect و useState کاملا بر اساس مفاهیم عمیق جاوااسکریپت مثل Closure و Scope کار می‌کنن. بدون درک این مفاهیم، استفاده از هوک‌ها همیشه براتون یک کار کپی‌پیست و طوطی‌وار می‌مونه.

۶. مشکل در ارتباط با سرور و APIها 🌐
در هر پروژه‌ای باید اطلاعات رو از بک‌اند بگیرید. اگر مفهوم برنامه نویسی ناهمگام (Asynchronous JS)، Promiseها و async/await رو به خوبی درک نکرده باشید، هندل کردن دیتای سمت سرور حسابی کلافه‌تون می‌کنه.

۷. رندرهای اضافی و افت پرفورمنس 🚀
برای بهینه‌سازی اپلیکیشن‌های ریکت و جلوگیری از پردازش‌های الکی، باید تفاوت بین Reference Typeها (مثل آبجکت‌ها و آرایه‌ها) و Primitive Typeها (مقادیر اولیه) رو در جاوااسکریپت کاملاً درک کرده باشید.

۸. ندانستن نحوه کار واقعی مرورگر (DOM) 🖥️
با اینکه ریکت از ابزاری به اسم Virtual DOM استفاده می‌کنه، اما ندونستن اینکه DOM واقعی چیه و چطور کار می‌کنه، باعث میشه دید مهندسی کاملی به پروژه‌تون نداشته باشید و نتونید فرآیندها رو بهینه‌سازی کنید.

۹. وابستگی مطلق به یک تکنولوژی خاص ⛓️
اگر فقط ریکت بلد باشید، با تغییر تکنولوژی شرکت‌ها آسیب‌پذیر می‌شید. اما برنامه‌نویسی که جاوااسکریپتِ قوی داره، فردا روزی می‌تونه توی مدت کوتاهی Vue، Angular یا حتی فریم‌ورک‌های موبایل رو راحت یاد بگیره.

۱۰. رد شدن در مصاحبه‌های استخدامی 💼
تقریباً هیچ شرکتی فقط نمیپرسه "چطوری یک کامپوننت ریکت بسازم؟". در مصاحبه‌های فنی فرانت‌اند، سوالات اصلی و چالش‌برانگیز روی مفاهیم عمیق جاوااسکریپت، معماری وب و منطق برنامه‌نویسی تمرکز دارن.
❤7👏1
🔥3🤔1
</homeCode>
Photo
تا دستت می‌خوره روی کیبورد و اولین حرف رو لمس می‌کنی، اون بالا برای طرف مقابل می‌نویسه: is typing...
تا حالا فکر کردی این اتفاق چطوری تو یک‌صدم ثانیه می‌افته؟
داستان کوتاه: چشمک ۵ ثانیه‌ای

تصور کن «دیار» می‌خواد توی یک گروه پیامی بفرسته:
۱. چشمک فرستنده: به محض لمس اولین حرف روی کیبورد، برنامه تلگرام روی گوشی دیار یک سیگنال خیلی کوچک و سریع (مثل یک چشمک) می‌سازه که معنیش اینه: «دست دیار روی صفحه کلیده!»

۲. پیک هوشمند: این چشمک در یک‌صدم ثانیه به سرور مرکزی تلگرام می‌رسه. سرور هم سریع به گوشی شما خط میده: «دیار داره تایپ می‌کنه!» و متن is typing... روی صفحه شما می‌شینه.

۳. قانون ۵ ثانیه: اگر دیار ۵ ثانیه دست نگه داره و چیزی ننویسه، سرور فرض می‌کنه مکث کرده و اون ۳ تا نقطه خودبه‌خود پاک می‌شن.

حالا پشت صحنه فنی چی می‌گذره؟

اگر بخوایم نگاه مهندسی‌تری داشته باشیم، این فرایند ۴ مرحله اصلی داره:

شناسایی اکشن (Input Event): با اولین لمس کیبورد، کلاینت تلگرام رویداد تایپ را در گوشی فرستنده ثبت می‌کند.

ارسال دستور setTyping: تلگرام یک درخواست بسیار کم‌حجم به نام messages.setTyping را روی پروتکل اختصاصی خود (MTProto) به سرور می‌فرستد.

پخش زنده خبر (Broadcast): سرور از طریق اتصال دائم شبکه، یک آپدیت به نام updateChatUserTyping برای تمام اعضای آنلاین آن چت ارسال می‌کند.

مکانیزم انقضا (Timeout): تا زمانی که کاربر به نوشتن ادامه دهد، این سیگنال هر ۴ تا ۵ ثانیه تکرار می‌شود. با توقف تایپ یا ارسال پیام، ارسال سیگنال قطع شده و وضعیت typing از روی صفحه اعضا پاک می‌شود تا ترافیک شبکه بهینه‌ماند.
❤11👍2
بعضی موقع ها موقع کامیت کردن
یه دات(.) میزارم تمام چون واقعا نمیدونم چی بنویسم 😂
❤4🤣2
طبق تجربه یی که با دستابیس های mongoDB و mySQL داشتم

و از لحاط تجربه کاری و راحتی mongoDB راحت تره نسبت به mySQL
👍8
</homeCode>
طبق تجربه یی که با دستابیس های mongoDB و mySQL داشتم و از لحاط تجربه کاری و راحتی mongoDB راحت تره نسبت به mySQL
این کد برای پیدا کردن تمام کاربران هست که مربوط به sql میشه
const getAllUser = async () => {
try {
const [rows] = await pool.execute(
`
SELECT *
FROM users
WHERE is_active = TRUE
ORDER BY created_at DESC
`
);

return rows;
} catch (error) {
console.error("Error finding active users:", error);
throw error;
}
};

و این کد هم برای پیدا کردن تمام کاربران هستش که مربوط به mongoDB هستش
const user = await userModel.find({

isActive: true,
});
❤7🔥1