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 Codino School (ایمان غفوری)
Forwarded from Codino School (ایمان غفوری)
آیا مطالب صوتی بالا برای شما مفید و آموزنده بود؟
Anonymous Poll
46%
بله
12%
خیر
42%
مشاهده نتایج
🔻مثل کفتر از این شاخه به اون شاخه برنامه نویسی نپرید

از «سوروش GH»

#پند



🔆 CHANNEL | GROUP
میخوام یه سوال ازتون بپرسم، بدون اینکه جوابشو سرچ کنید بگید چرا.

اگه برید یه حلقه for بزنید که ۱۰۰,۰۰۰ بار یه متن رو پرینت کنه (یه بار توی golang یه بارم توی python)
و تست سرعت بگیرید.
میبینید پایتون ۱۰ الا ۱۷ ثانیه اجراش میکنع
گولنگ ۵۰ ثانیه الا ۱ دقیقه

بنظرتون دلیلش چیه؟ چرا بااینکه go کامپایلریه و خیلی سریعه انقدر کند تره نسبت به پایتون توی این مورد؟ 🤔

#question


🔆 CHANNEL | GROUP
I Love You Baby
Frank Sinatra
یه روز یکی این رو برام فرستاد و بهم گفت که این آهنگ، باعث می‌شه یاد من بیوفته.

You're just too good to be true
Can't take my eyes off of you
You'd be like heaven to touch
I wanna hold you so much


زی‌زی‌گولو، دوستت دارم. 💖

#music
@amiria703_channel
🔴 خبر خوب دارم
کانال دیسکوردم دارم اوکیش میکنم 😁
به زودی لینکشو بهتون میدم.
تا امروز سعی کردیم که مطالب فوق‌العاده کاربردی و با کیفیتی رو‌برای شما عزیزان تولید کنیم و هم اکنون میتونید به صد‌ها مطلب جذاب در حوزه وب دسترسی داشته باشید 💎

با توجه به گسترده شدن مطالب کانال کولی‌کُد تصمیم، گرفتیم که یک دسته بندی مناسبی رو روی تمامی پست‌های کانال اعمال کنیم، که میتونید به صورت کامل لیستش رو مشاهده کنید 🚀
⁉️ #WhatsThat : معرفی و بررسی تکنولوژی‌ها

🧰 #tools : ابزار ها و سرویس ‌های کاربردی

👨‍💻 #programming : مباحث عمومی حوزه تک

🪄 #tricks : تریک و ترفندها‌ ‌‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

🌐 #website : معرفی وبسایت‌ ‌ ‌ ‌‌ ‌ ‌ ‌ ‌

‼️ #tips : نکات مهم و کاربردی‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

😎 #fun : فان و سرگرمی‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

👩‍💻#javanoscript : مربوط به جاوااسکریپت

🖌️ #css : مربوط به سی‌اس‌اس ‌ ‌ ‌ ‌

💻 #Frontend : حوزه ‌فرانت‌اند‌ ‌ ‌ ‌ ‌ ‌‌ ‌ ‌ ‌ ‌

🗄️ #Backend : حوزه بکند ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌‌ ‌‌ ‌ ‌ ‌ ‌

📚#libarary : معرفی لایبرری های کاربردی

🔳 #framework : معرفی و بررسی فریم‌ورک

🆚 #VS : مقایسه و بررسی تفاوت‌ها

📗#book : معرفی کتاب‌‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

💎 #golden_sentence : جملات ناب حوزه تک

📷 #NEWPost : پست های اینستاگرام

📺 #youtube : ویدیو های چنل یوتوب

▶️ #video : آموزش های ویدیویی

🎨 #uiux : مباحث مربوط به ui, ux


اگر مورد جدیدی به مطالب کانال اضافه بشه داخل این لیست قرار میگیره

راستی میتونید بنرمون رو برای دوستان خودتون ارسال کنید تا اونا هم به جمع ما بپیوندن 🔻

CoolyCode Banner 🫰


#category #دسته_بندی

𝗖𝗛𝗔𝗡𝗡𝗘𝗟  |  𝗚𝗥𝗢𝗨𝗣
Forwarded from Linuxor ?
چرا هوش مصنوعی نمی‌تونه به سادگی جای برنامه نویس هارو بگیره؟

فرض ‌کنیم هوش مصنوعی به حدی رسید که بتونه جای برنامه نویس ها رو بگیره و یه پروژه رو از 0 تا 100 بالا بیاره

قطعا از پرامپت "یه سایت فروشگاهی بساز" نتیجه سایت مورد نظرمون رو نمی‌گیریم یه سایت هزاران تا پارامتر داره که از سایت های دیگه متمایزش می‌کنه، توی بهترین حالت باید اون x تا پارامتر رو به هوش مصنوعی توضیح بدید، حالا سوال اینه کی بهتر از برنامه نویسی ها می‌تونه اون پارامتر هارو به هوش مصنوعی توضیح بده ؟

@Linuxor
Forwarded from DANI - Notes & Archive (Хосейн)
Display Server چیه و چرا مهمه؟
اگه تا حالا با یه سیستم گرافیکی مثل لینوکس(میزکار هاش)، ویندوز یا مک کار کردید، پشت صحنه یه چیزی به اسم دیسپلی سرور(سرور نمایش) داره همه چیز رو مدیریت می‌کنه.
این ابزار تمام چیزی هست که شما روی صفحه نمایش می‌بینید، از پنجره ها گرفته تا انیمیشن ها و حتی واکنش به حرکت موس و کیبورد.

‏Display Server دقیقا چیکار می‌کنه؟
دیسپلی سرور در واقع یه واسطه است که ارتباط بین برنامه ها و سخت افزار گرافیکی رو برقرا. می‌کنه.

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

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

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

ساختار فنی Display Server چجوریه؟
دیسپلی سرور به بخش های مختلف تقسیم می‌شه:
Server: بخش اصلی که وظایف رو مدیریت می‌کنه.

Clients: برنامه‌هایی که درخواست نمایش ورودی رو ارسال میکنن، مثل مرورگر شما.

Compositor: وظیفه داره که پنجره های مختلف رو ترکیب کنه و اونا رو به عنوان یه تصویر نهایی روی صفحه نمایش ارائه بده. این بخش معمولا در سرور های جدید مثل وی‌لند وجود داره.

چند نمونه از Display Server:
X11(Xorg):
سیستم نمایش پیش‌فرض در اکثر دسکتاپ های لینوکس.
بسیار منعطفه، اما قدیمی محسوب میشه.
ویژگی هاش:
پشتیبانی گسترده
گاهی پیچیدگی بیش از حد

Wayland:
جایگزین مدرن X11، طراحی شده برای کاهش پیچیدگی و افزایش کارایی.
ویژگی ها:
سریع‌تر و سبک‌تر.
امنیت بیشتر به دلیل جداسازی بهتر برنامه ها.

Windows Desktop Manager:
در ویندوز، این سرور نمایش به صورت یکپارچه با سیستم عامل طراحی شده.

Quartz Compositor:
سیستم گرافیکی مک که بهینه برای سخت افزار اپل ساخته شده.

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

#OS

@DiHoXCh
😂😂
حق خالص


🔆 CHANNEL | GROUP
🔎 توی شبکه‌های توزیع شده بزرگ وقتی بخوان یه اطلاعاتی به همه نودها برسه و منابع زیادی مصرف نشه از پروتکل شایعه استفاده میکنن؛

به این صورت که یه نود یه دیتایی رو رندوم به چند تا نود دیگه میده و بقیه هم همین کارو میکنن. البته تضمینی نیست به همه برسه و مهم هم نیست چون هدف اصلی این پروتکل‌ها پوشش دادن بخش بزرگی از شبکه با مصرف منابع کم است.

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

فقط کافیه یه نفر بتونه یه دیتایی رو به چند نفر تصادفی بده و اگر اون چند نفر این کارو تکرار کنن به این صورت شایعه پخش میشه. در هر حالت، اطلاعات ممکنه در حین انتشار تغییر شکل داده یا عوض بشه.

📌 جالب اینجاست توی ریاضیات برای این یه اصلاح داریم به اسم WHP که میگه اگه تعداد گره ها زیاد باشه به احتمال نزدیک به 1 این شایعه رو همه میشنون. این اصطلاح به این معنیه که با افزایش اندازه شبکه، احتمال رسیدن اطلاعات به همه نودها به طور چشمگیری افزایش پیدا میکنه.


👨🏻‍💻⚙️ @IDevZone
Forwarded from Gopher Academy
در فایل go.mod، toolchain برای تعیین نسخه ابزار Go (مانند go و ابزارهای مرتبط با آن) استفاده می‌شود. این ویژگی به شما امکان می‌دهد تا پروژه را به نسخه خاصی از ابزار Go مقید کنید، حتی اگر نسخه پیش‌فرض go در سیستم شما متفاوت باشد.
نحوه استفاده از toolchain
اگر در فایل go.mod خطی به شکل زیر مشاهده کنید:
toolchain go1.20
این به این معنی است که پروژه نیازمند نسخه go1.20 است و باید از این نسخه استفاده شود، صرف‌نظر از نسخه Go نصب‌شده روی سیستم.
کاربردهای اصلی toolchain
اطمینان از سازگاری نسخه Go
با استفاده از toolchain، می‌توانید مطمئن شوید که همه توسعه‌دهندگان و محیط‌های CI/CD از یک نسخه خاص از ابزار Go استفاده می‌کنند.
مدیریت نسخه‌ها در پروژه‌های تیمی
این ویژگی تضمین می‌کند که مشکلات ناشی از ناسازگاری نسخه‌ها (مانند تغییرات در syntax یا behavior) به حداقل برسند.
ساخت خودکار با نسخه مشخص
اگر نسخه‌ای که در toolchain تعریف شده، روی سیستم نصب نشده باشد، ابزار Go به‌طور خودکار آن را از وب‌سایت Go دریافت و نصب می‌کند.
نکته مهم درباره toolchain
این قابلیت با ابزار Go نسخه 1.21 و بالاتر در دسترس است. اگر نسخه Go قدیمی‌تری دارید، خط مربوط به toolchain در فایل go.mod نادیده گرفته خواهد شد.
toolchain مستقل از دستور go در فایل go.mod عمل می‌کند. دستور go نسخه حداقل زبان Go برای کدنویسی و بیلد کردن را مشخص می‌کند: go 1.20
مثالی کامل از go.mod
module example.com/myproject go 1.20 toolchain go1.20 require ( github.com/some/library v1.2.3 )
go 1.20: نسخه حداقل برای ویژگی‌های زبان Go.
toolchain go1.20: نسخه ابزار Go که پروژه باید با آن ساخته شود.
جمع‌بندی
toolchain یک ابزار قوی برای مدیریت و تثبیت نسخه ابزار Go در پروژه‌های بزرگ است. این قابلیت به‌خصوص در محیط‌های توسعه تیمی و پروژه‌هایی که وابستگی شدیدی به نسخه خاصی از Go دارند، بسیار مفید است.

https://news.1rj.ru/str/addlist/KpzXaiSpKENkMGM0
Forwarded from Gopher Academy
در فایل go.mod، دو دستور go و toolchain نقش‌های متفاوتی دارند، هرچند هر دو به نسخه‌های Go مرتبط هستند. در ادامه به تفاوت‌های این دو دستور می‌پردازیم:
1. go: مشخص کردن نسخه حداقل زبان Go
این دستور نشان‌دهنده نسخه حداقل زبان Go است که پروژه باید با آن سازگار باشد. به عبارتی، این مقدار مشخص می‌کند که کدام نسخه از ویژگی‌های زبان و استاندارد Go برای کامپایل و اجرای پروژه لازم است.
کاربرد:
تعیین نسخه حداقل زبان Go که برای این پروژه لازم است.
اگر نسخه ابزار Go نصب‌شده روی سیستم از این مقدار کمتر باشد، ابزار Go اجازه بیلد (build) یا اجرای پروژه را نمی‌دهد.
این دستور به طور مستقیم بر رفتار زبان و کتابخانه‌های استاندارد تأثیر می‌گذارد.
مثال:
go 1.20
ویژگی‌های زبان و کتابخانه‌های استاندارد Go 1.20 به بالا در دسترس هستند.
اگر نسخه Go نصب‌شده روی سیستم از 1.20 کمتر باشد، هنگام اجرای دستورات go build یا go run خطا خواهید گرفت.
2. toolchain: تعیین نسخه ابزار Go
این دستور که در Go 1.21 معرفی شده، نسخه‌ای از ابزار Go (Go Toolchain) را مشخص می‌کند که پروژه باید از آن استفاده کند. ابزار Go شامل مواردی مانند go build, go run, go mod, و غیره است.
کاربرد:
مجبور کردن سیستم یا محیط CI/CD به استفاده از نسخه مشخص ابزار Go، صرف‌نظر از نسخه نصب‌شده روی سیستم.
در صورت نبود نسخه مشخص‌شده از ابزار Go، به طور خودکار آن نسخه دانلود و نصب می‌شود.
مثال:
toolchain go1.20
حتی اگر نسخه go روی سیستم شما 1.19 باشد، ابزار Go نسخه 1.20 را دانلود و استفاده می‌کند.
این خط تضمین می‌کند که تمام ابزارهای مرتبط با Go (کامپایلر، مدیریت ماژول‌ها، و غیره) از نسخه خاصی پیروی کنند.
تفاوت‌های اصلی
ویژگیgotoolchainهدفنسخه حداقل زبان Goنسخه ابزار Go (Go Toolchain)اثرگذاریروی ویژگی‌های زبان و استانداردهاروی ابزارهای مرتبط با Goزمان معرفیقدیمی (از ابتدای Go Modules)جدید (از Go 1.21 به بعد)رفتار در نبود نسخهخطا می‌دهدنسخه مناسب را دانلود و استفاده می‌کندتأثیر بر ساخت پروژهفقط بررسی زبان و استانداردهاتعیین دقیق نسخه ابزار برای کل فرآیند
چرا از هر دو استفاده کنیم؟
go: برای اطمینان از این که کد با نسخه خاصی از زبان سازگار است.
toolchain: برای تضمین این که ابزارها و محیط ساخت دقیقاً از نسخه خاصی استفاده کنند.
مثال ترکیبی
module example.com/myproject go 1.20 // حداقل نسخه زبان Go toolchain go1.21 // نسخه ابزار Go
زبان Go باید حداقل 1.20 باشد (برای ویژگی‌های زبان و استانداردها).
ابزارهای مرتبط با Go باید از نسخه 1.21 استفاده کنند (حتی اگر نسخه نصب‌شده 1.20 باشد، نسخه 1.21 دانلود و استفاده می‌شود).
نتیجه‌گیری
go برای تعیین حداقل سازگاری زبان Go است.
toolchain برای کنترل نسخه ابزار Go در محیط‌های مختلف به کار می‌رود.
ترکیب این دو، کنترل دقیق‌تری بر محیط توسعه و اجرای پروژه فراهم می‌کند.


https://news.1rj.ru/str/addlist/KpzXaiSpKENkMGM0
Forwarded from Linuxor ?
توزیع های لینوکسی رو فقط از لحاظ ظاهری نمیتونین کاستومایز کنید از لحاظ باطنی هم می‌تونین.


@Linuxor