Dev Perfects – Telegram
Dev Perfects
40 subscribers
9.23K photos
1.26K videos
468 files
13K links
بخوام خیلی خلاصه بگم
این کانال میاد مطالب کانالای خفن تو حوزه تکنولوژی و برنامه نویسی رو جمع میکنه

پست پین رو بخونید
https://news.1rj.ru/str/dev_perfects/455


ارتباط:
https://news.1rj.ru/str/HidenChat_Bot?start=936082426
Download Telegram
Forwarded from Linuxor ?
یه ماژول نوشته بودم که چک می‌کرد ببینه چند تا ماژول دیگه بالا هستن یا نه اگه بالا نبودن می‌آوردشون بالا، امروز رفتم دیدم خودش سه روزه که پایینه😂😂


@Linuxor
نظرتون چیه دراینده سرور دیسکوردم بیاریم بالا؟
(اگه ایده ای هم براش دارید میتونید تو کامنتا بگید)
احتمال خیلییی زیاد با کمک خودتون سرور رو درست کنیم.
Forwarded from linuxtnt(linux tips and tricks) (hosein seilany https://seilany.ir/)
🔰پیرو پست های قبلی درباره کشورهایی که در حال استفاده از توزیع لینوکس خود و متن باز هستند، از جمله هند،ترکیه،چین، مالزی،روسیه،کره جنوبی که در پست های زیر قبلا منتشر کردم.

🔰هم اکنون به توزیع مختص کابران پاکستان میپردازم.

🔰توزیع PakOS 12 (Gelecek) توزیع لینوکس پاکستانی با تمرکز بر امنیت سایبری

🔹با نزدیک شدن به پایان سال ۲۰۲۴، PakOS، توزیع لینوکس ساخت پاکستان، آخرین نسخه خود با نام PakOS 12 (Gelecek) را منتشر کرد. این به‌روزرسانی نشان‌دهنده تغییر قابل توجهی به سمت امنیت سایبری دفاعی است و تعهد این توزیع به حفاظت از کاربران و حریم خصوصی آن‌ها را نشان می‌دهد.

🔹پیشینه و پشتیبانی
توزیع PakOS 12 (Gelecek) حاصل تلاش‌های مشترک با پشتیبانی Gelecek Technologies، یک استارت‌آپ نویدبخش پاکستانی، است. این همکاری نشان‌دهنده رشد اکوسیستم فناوری در پاکستان و افزایش تمرکز بر امنیت سایبری در این منطقه است.

🔹ویژگی‌ها و بهبودهای کلیدی
• ابزارهای نظارت داخلی: شامل عوامل نظارت NOC مانند Zabbix و عامل Wazuh SIEM با دیالوگ‌های پیکربندی GUI کاربرپسند، که نظارت بر شبکه و مدیریت اطلاعات امنیتی را ساده می‌کند.
• سخت‌افزاری CIS: سخت‌افزاری پیش‌فرض بر اساس استانداردهای CIS سطح ۱ با استفاده از اسکریپت‌های متن‌باز اصلاح‌شده.
• حسابرسی Lynis: پیاده‌سازی Lynis برای حسابرسی سیستم، با برنامه‌ریزی برای سخت‌افزاری بیشتر در نسخه‌های آینده.
• پیکربندی فایروال: قوانین پایه فایروال پیش‌پیکربندی‌شده با استفاده از UFW (فایروال ساده) همراه با GUI برای مدیریت آسان.
حریم خصوصی و مرور وب
• فایرفاکس سندباکس‌شده: یک ورودی منوی جدید به نام "Firefox Secure" تجربه مرور کاملاً سندباکس‌شده را فراهم می‌کند، با سطوح امنیتی قابل تنظیم توسط کاربر.
• موتورهای جستجو: کاربران می‌توانند بین DuckDuckGo و Google به عنوان موتور جستجوی پیش‌فرض انتخاب کنند، با اولویت حریم خصوصی یا آشنایی.
• به‌روزرسانی‌های فایرفاکس: فایرفاکس اکنون از طریق مخزن رسمی نصب می‌شود، که دسترسی کاربران به آخرین نسخه را تضمین می‌کند.
رابط کاربری و تجربه کاربری
• بهبود لانچر Rofi: منوی شروع، الهام‌گرفته از ویندوز ،۱۱ اکنون شامل قابلیت مرور فایل‌ها برای پوشه خانگی است.
• تم GRUB: یک تم جذاب GRUB در اولین راه‌اندازی اعمال می‌شود، همراه با مراحل سخت‌افزاری سیستم.
• مدیر به‌روزرسانی GUI: اعلان‌های به‌روزرسانی داخلی و یک رابط گرافیکی برای مدیریت به‌روزرسانی‌های سیستم.
بهره‌وری و یکپارچه‌سازی هوش مصنوعی
• یکپارچه‌سازی OnlyOffice: آخرین نسخه OnlyOffice شامل پشتیبانی پیش‌فرض از ورود متن اردو است.
• دستیار هوش مصنوعی: یک دستیار هوش مصنوعی سبک‌وزن که دسترسی به Microsoft Co-pilot، Gemini، Poe یا Black Box AI را فراهم می‌کند.
بهبودهای سیستم
• سرویس NTP: سرویس پروتکل زمان شبکه (NTP) به‌طور کامل پیکربندی‌شده برای همگام‌سازی خودکار زمان.
• بهینه‌سازی عملکرد: ادامه تمرکز بر حفظ استفاده کم از منابع، با ساخت بر روی دستاوردهای قبلی.
• بنیاد متن‌باز: PakOS ریشه‌های خود در اسکریپت‌های پایه را تأیید می‌کند، که نشان‌دهنده ماهیت مشارکتی توسعه متن‌باز است.
چشم‌انداز آینده
با ورود PakOS به سال ۲۰۲۵، تمرکز آن بر امنیت سایبری، حریم خصوصی کاربران و ارتباط فرهنگی، آن را به عنوان یک بازیگر مهم در زمینه توزیع‌های لینوکس، به‌ویژه برای کاربران در پاکستان و کسانی که امنیت را در اولویت قرار می‌دهند، مطرح می‌کند.

📌نویسنده: حسین سیلانی
📌منبع : آکادمی کندوی دانش
https://learninghive.ir
من همیشه سعی میکنم توی چنل و گروهایی که فعالیت میکنم، جدایی از برنامه‌نویسی، راجب یسری موراد با کانتکست بزرگ تر و مهم تر که مربوط میشه به زندگی، موارد شخصیتی و ... هم صحبت بکنم 🔥

ولی خب چون کولی‌کد با هدف آموزش برنامه‌نویسی ایجاد شده تصمیم گرفتم یه چنل دیگه بزنم به نام 𝕏Code که هم مطالب برنامه نویسی‌میزارم هم اون مواردی که گفتم ؛))
از اونجایی که سرعت fastapi بخش زیادیش برمیگرده به starlette پست بعدی راجب
Starllete package
هستش
Forwarded from Linuxor ?
هشت نوع رایج ترین ریکورد های DNS که باید اونارو بدونید


مثلا وقتی شما آدرس یه وب‌سایت رو توی مرورگرتون وارد می‌کنین، مرورگرتون از رکوردهای DNS برای پیدا کردن آدرس آی‌پی سرور وب‌سایت استفاده می‌کنه. به طور دقیق، از A Record یا AAAA Record استفاده می‌شه.
@Linuxor
کار کردن به عنوان مهندس نرم‌افزار چگونه است؟

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

https://www.youtube.com/watch?v=BOFK-W-Nmes


@terminal_stuff
jobvision-salary-survey-report-1403.pdf
6.9 MB
📊 گزارش جامع حقوق و دستمزد 1403

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


گزارش 1403 اطلاعاتی جامع درباره:
•میزان حقوق براساس ارشدیت، شغل و شهر

•افزایش حقوق سالانه


🔍 این گزارش، مرجعی مطمئن برای کارکنان و کارفرمایان است تا با درک بهتر و انتظارات واقعی به توافق برسند.
👨🏻‍💻😈 @IDevZone
Forwarded from Linuxor ?
میکروکرنل کوچیک‌ترین و ساده‌ترین نوع کرنله که فقط وظایف بسیار ضروری مثل مدیریت پردازش‌ها و حافظه را بر عهده داره. سایر خدمات توسط ماژول‌های جداگونه‌ای که در فضای کاربر اجرا می‌شن، ارائه می‌شه.

این معماری قشنگ یه عیب هم داره اینه که درخواست های زیادی به سمت کرنل میره و باعث میشه سرعت نسبت به یه کرنل یکپارچه یا مونولیتیک کمتر بشه چون توی مونولیتیک اجزای کرنل به صورت مستقیم باهم ارتباط دارن؛ البته میکروکرنل هم ویژگی های خوبی مثل امنیت بالا تر داره چون اجزای کرنل جدا از همن.کرنل لینوکس مونولیتیکه اما مینیکس میکروکرنله.


توی یه مناظره بین اندرو تنباوم خالق مینیکس و لینوس تروالدز خالق لینوکس، اندرو تنباوم، طراحی هستهٔ مونولیتیک برای لینوکس رو بزرگترین اشتباه در طراحی هستهٔ سیستم‌عامل عنوان کرده بود.


اما در نهایت لینوکس موفق تر از مینیکس شد.

@Linuxor
Forwarded from Md Daily (Mahan)
بالاخره بعد از کلی رکورد draft تونستم به یه نسخه ی اوکی برسم، این اولین ویدیوی کانال هست.

دامنه ی mddaily.ir هم گرفته شده و به زودی وبلاگ جدید کانال هم برای آموزش هایی که توی تلگرام انتشارشون سخته رو نمایی میشه :)
Forwarded from Syntax | سینتکس (Daimon)
سوال مصاحبه ای درباره ذاکر با توضیح کامل

چرا وقتی یک کانتینر از یک ایمیجی رو بالا میاریم، نمیتونیم اون ایمیج رو پاک کنیم؟

زمانی که شما یک کانتینر را از یک ایمیج (Image) در Docker بالا می‌آورید، امکان حذف آن ایمیج تا زمانی که کانتینر مرتبط با آن در حال اجرا یا وجود داشته باشد امکان پذیر نیست. این رفتار به دلیل معماری Docker و نحوه مدیریت داده‌ها از طریق مکانیزم‌هایی مانند Copy-on-Write (COW) و UnionFS اتفاق می‌افتد.

در Docker، ایمیج‌ها به‌عنوان قالب‌های فقط خواندنی (Read-Only) عمل می‌کنند که شامل تمام فایل‌ها، نرم‌افزارها و تنظیمات مورد نیاز برای اجرای یک برنامه هستند. وقتی یک کانتینر از یک ایمیج بالا می‌آید:

- ایمیج به‌عنوان پایه (Base) عمل می‌کند.
- کانتینر یک لایه نوشتنی (Writable Layer) به بالای ایمیج اضافه می‌کند.

این لایه نوشتنی به کانتینر اجازه می‌دهد تغییراتی مانند ایجاد فایل‌ها یا تغییر تنظیمات را انجام دهد، بدون اینکه لایه‌های فقط خواندنی ایمیج اصلی تغییر کنند.

Copy-on-Write (COW)
داکر برای مدیریت تغییرات کانتینر از مکانیزم Copy-on-Write (COW) استفاده می‌کند. به این معنا که:

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

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

UnionFS
سیستم فایل UnionFS (Union File System) برای ترکیب چندین لایه سیستم فایل در یک نمای واحد (Single View) استفاده می‌شود. Docker از UnionFS برای ساخت ایمیج‌ها و کانتینرها استفاده می‌کند. نحوه کار به این صورت است:

- ایمیج‌ها از چندین لایه تشکیل شده‌اند.
- این لایه‌ها فقط خواندنی هستند و هر لایه تغییرات و افزوده‌هایی نسبت به لایه قبلی دارد.
- وقتی یک کانتینر ایجاد می‌شود، یک لایه نوشتنی به بالای این لایه‌های فقط خواندنی اضافه می‌شود.

بنابراین، از دید کانتینر، تمام این لایه‌ها به‌صورت یک سیستم فایل یکپارچه دیده می‌شوند. اما در واقعیت، لایه نوشتنی و لایه‌های فقط خواندنی جدا از هم هستند.
https://en.wikipedia.org/wiki/UnionFS

چرا ایمیج حذف نمی‌شود؟
وقتی یک کانتینر از یک ایمیج ایجاد می‌شود، آن کانتینر به لایه‌های ایمیج وابسته است. به همین دلیل، تا زمانی که کانتینر وجود دارد (حتی اگر متوقف شده باشد):

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

Docker برای جلوگیری از این مشکل، اجازه حذف ایمیج‌هایی که در حال استفاده هستند را نمی‌دهد و در نهایت فقط میتوانید تگ آن را حذف کنید نه بادی ایمیج را.


ارتباط Copy-on-Write و UnionFS
- UnionFS امکان استفاده از چندین لایه سیستم فایل را فراهم می‌کند و باعث می‌شود ایمیج‌ها و کانتینرها به‌صورت مؤثری مدیریت شوند.
- Copy-on-Write تضمین می‌کند که تنها زمانی تغییرات در داده‌ها ایجاد شوند که واقعاً لازم باشد، بدون تغییر لایه‌های اصلی (فقط خواندنی) ایمیج.

این دو مکانیزم با هم کار می‌کنند تا Docker بتواند ایمیج‌ها و کانتینرها را به‌صورت کارآمد مدیریت کند.

چگونه ایمیج را حذف کنیم؟
اگر بخواهید یک ایمیج را حذف کنید، ابتدا باید تمام کانتینرهای وابسته به آن را حذف کنید. مراحل کلی عبارتند از:

1. لیست کانتینرهای وابسته به ایمیج:


   docker ps -a --filter ancestor=<image_name_or_id>

2. حذف کانتینرهای وابسته:


   docker rm <container_id>

3. حذف ایمیج:


   docker rmi <image_name_or_id>


#docker #copy_on_write #union_file_system

@Syntax_fa
👍1
Forwarded from کانال مهرداد لینوکس (Mehrdad Linux)
💠 تانل کردن کل سیستم برای عبور از فیلترنیگ سختی های خودش را دارد
نیازه فقط ابزار هایی که نیاز به VPN دارن ترافیک را از VPN عبور دهند
یکی از راه های ساده استفاده از Socks است

اگر از Socks به عنوان پروکسی استفاده میکنید

میدانید که نرم افزارهای زیادی مثل Vscode اجازه استفاده از Socks را به صورت
socks5://[yourip]:[yourport]

محدود ارائه میکنند و نیازه شما http پروکسی داشته باشید ابزار gost کارایی زیادی داره یکی از کاربردها همین کاربرد است

🔥 روش استفاده :
فرض میکنیم که ساکس شما روی پورت ۹۰۹۰ است
gost -L=http://:8282 -F=socks5://127.0.0.1:9090

حالا یک http پروکسی دارید روی 8282
این connect را هم ببینید
❤️ ممنون از حمایت هاتون 💐🌺
#VPN
Forwarded from Go Casts 🚀
ملت از چی پول در میارن 😁

طرف ۹۹ دلار میگیره که ruby رو روی سیستم عامل مک نصب کنه :)
تا الان بیش از ۲ هزار نفر هم بهش پول دادن

https://www.rubyonmac.dev/

حالا من از کجا پیداش کردم؟ برای یه پروژه قدیمی داشتم ruby نصب میکردم که به مشکل خوردم، واقعا هم بعضی وقتا دردسر داره نصبش، مخصوصا اینکه نسخه ۳ هم اومده...

من حاضرم رو سیستم تون کامپایلر گولنگ نصب کنم به همراه همه وابستگی هاش، ۹ دلارم بیشتر نمیگیرم 😄


@gocasts
Forwarded from Linuxor ?
اومدن یه استریمر آهنگ self-hosted نوشتن، که باهاش می‌تونین خودتون شخصی یه سرور پلی آهنگ درست کنید


https://github.com/blackcandy-org/blackcandy


برای تست هم می‌تونید به دموی زیر برین و با یوزرنیم admin@admin.com و پسورد foobar وارد شین :
demo.blackcandy.org


@Linuxor
Forwarded from 12&12
💫انجمن بدهکاران گمنام 💫

💠 گروه آزادی مالی شهرری برگزار می کند.
🔻🔻🔻🔻🔻🔻🔻🔻
موضوع《 اکثر ما "این غیر قابل اداره شدن" بود که باعث شد به بدهکاران گمنام بیاییم 》

🔰🔰🔰🔰🔰🔰🔰🔰🔰*موضوع *ادامه جلسه ارتباط باطلبکاران*

جمعه ساعت 11 تا 12:30
🔰🔰🔰🔰🔰🔰🔰🔰
مورخ؛14/10/1403
---------------------------------------❇️مجید مشهد

❇️امیر :شهرری
❇️قاسم : قم

❇️عباس :تهران

------------------------------------------
🟥🟥🟥🟥🟥🟥🟥

لینک برگزاری جلسه در فضای فری کنفرانس:

https://join.freeconferencecall.com/azadimalirey
☎️تلفن ماندگار اطلاع رسانی انجمن بدهکاران گمنام ایران

☎️+989918555745

⭕️ نماینده گروه:
Forwarded from Linuxor ?
This media is not supported in your browser
VIEW IN TELEGRAM
تبدیل سویچ به جا سویچی


@Linuxor ~ faradid.amniat
Forwarded from code2 - تکنولوژی و فناوری (Mahdi Taleghani)
Interfaces or Types?

#javanoscript

Here are the key differences between TypeScript interfaces and types:

1. Syntax:
// Interface
interface User {
name: string;
age: number;
}

// Type
type User = {
name: string;
age: number;
}


2. Extension/Inheritance:
// Interface extends interface
interface Animal {
name: string;
}
interface Dog extends Animal {
bark(): void;
}

// Type extends type (using intersection)
type Animal = {
name: string;
}
type Dog = Animal & {
bark(): void;
}


3. Declaration Merging (Interface-only feature):
// Interfaces can be defined multiple times and will merge
interface User {
name: string;
}
interface User {
age: number;
}
// Result: User has both name and age

// Types cannot be reopened
type User = { name: string }
// Error: Cannot redeclare type User
type User = { age: number }


4. Union Types (Type-only feature):
// Only possible with type
type Status = "pending" | "approved" | "rejected";

// Can't do this with interface
type StringOrNumber = string | number;


5. Computed Properties:
// Works with type
type Keys = "firstname" | "lastname";
type DudeType = {
[key in Keys]: string;
}

// Doesn't work with interface
interface DudeInterface {
[key in Keys]: string; // Error
}


General recommendations:
- Use interface when:
- Defining object shapes/APIs
- You need declaration merging
- You're creating object-oriented designs
- You want clearer error messages

- Use type when:
- Creating unions or intersections
- Working with primitives
- Using mapped types
- Need complex type operations

Most modern TypeScript codebases tend to favor type because it's more flexible, but both are valid choices. The TypeScript team originally recommended interfaces, but types have become equally well-supported.