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
از اونجایی که سرعت 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.
رفقا یه هل بدید 1k رو زدیما ؛)❤️

اگر مطالب کانال رو دوست‌دارید میتونید برای دوستا و رفقای برنامه نویستون بفرستید که اونا هم جوین بدن و استفاده کنن.

📊 دسته بندی مطالب
Forwarded from Linuxor ?
یه موتور جاوااسکریپتی برای ساخت بازی های turn-based مولتی پلیر، حالت دار و ربات های بر پایه AI

خیلی راحت می‌شه یادش گرفت داکیومنش خوبی داره


https://github.com/boardgameio/boardgame.io


@Linuxor ~ tom_doerr
دوستان کلا ۳ تا تجربه داشتیم؟ :) 💔
🔻از شروع کردن و یاد گرفتن ترس نداشته باشید و از این یاد گرفتن برای خودتون غول نسازین. با کمی زمان همه چیز حل میشه.

از «احسان»

#پند



🔆 CHANNEL | GROUP
Forwarded from Linuxor ?
داخل این سایت میتونید استپ به استپ ببینید الگوریتم Sha256 چجوری هش میکنه

sha256algorithm.com

@Linuxor ~ Taqiam_
Forwarded from mnr tech
محیط کار دستکتاپ ما یکی از مهمترین چیز هایی هست که ما روزانه باهاشون سر و کار داریم.

همیشه ابزار هایی هستند که کار با دستکتاپ رو برای ما ساده می‌کنن. و سرعت ما رو بیشتر می‌کنن.

یکی از این دسته برنامه ها keyboard launcher هست که به اون app launcher یا حتی run launcher هم میگن.

اساس کار این برنامه ها به این شکل هست که با زدن یک شورت کات یک اینپوت ساده باز میشه و شما میتونید چیزی که میخواین رو توی اون تایپ کنید. ساده ترین حالتش اینه که اسم یک برنامه رو جستجو کنید و راحت توی لیست پیدا کنید و بازش کنید. اما قابلیت های پیشرفته تری هم داره مثلا این که توی vscode یه ریپازیتوری خاصی رو باز کنید. یا کلی امکانات پایه مثل محاسبات ریاضی، ابزار های تبدیل و .... باید با این ابزار کار کنید تا ببینید چقدر مفیده.

⚡️ معرفی ابزار ها:

❤️ spotlight (مک)
اگر از مک استفاده میکنید ابزاری هست به اسم spotlight که این کار رو برای شما انجام میده و امکانات فوق العاده ای داره حتما باید امتحانش کنید.

😥 power toys | windows run (ویندوز)
توی ویندوز اگر power toys رو نصب کنید که امکانات زیادی داره یکی از امکاناتش windows run هست که دقیقا این کار رو براتون انجام میده و امکانات زیادی داره.

😴 albert launcher (مک و لینوکس)
این یه ابزار اپن سورس هست و امکانات زیادی بهتون میده اگر از لینوکس استفاده می‌کنید میتونید از این لانچر استفاده کنید.
https://albertlauncher.github.io/

😴 Ulauncher (لینوکس)
یک لانچر زیبا و قوی دیگه برای لینوکس که ظاهر و امکانات خوبی داره
https://ulauncher.io/

😴 cerebro-app (لینوکس، مک و ویندوز)
آخرین مورد هم cerebro-app هست که توی همه سیستم عامل ها قابل استفاده هست.
https://www.cerebroapp.com/

من راجع به هر کدوم اینها به طور جدا صحبت نکردم چون کارایی همشون مثل هم هست. 3 مورد آخر امکان اضافه کردن ماژول یا اکسنشن برای قابلیت های بیشتر رو دارن و همچنین مورد آخر امکان شخصی سازی زیادی داره.

پیشنهاد میکنم اگر تا حالا از این لانچر ها استفاده نکردین حتما امتحانش کنید

من خودم روی لینوکس ulaucher و albert رو تست کردم و ulaucher به نظرم خیلی بهتر بود هم از نظر ظاهری و هم اینکه اکستنشن های زیادی داره که میشه اضافه کرد. در مورد cerebro گیتهابش رو چک کردم آخرین فعالیت برای ۲ سال پیش بوده پس به نظرم برای لینوکس بهترین آپشن ulauncher هست
Please open Telegram to view this post
VIEW IN TELEGRAM