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

پست پین رو بخونید
https://t.iss.one/dev_perfects/455


ارتباط:
https://t.iss.one/HidenChat_Bot?start=936082426
Download Telegram
Forwarded from Gopher Academy
🔵 عنوان مقاله
Tips for Building Bubble Tea Programs

🟢 خلاصه مقاله:
مقاله‌ای که به بررسی و ارزیابی Bubble Tea، یک فریم‌ورک قوی به زبان Go برای ساخت رابط‌های کاربری ترمینال (TUIs) می‌پردازد، تجارب لوییس را در ساخت PUG، یک TUI برای Terraform، به اشتراک می‌گذارد. لوییس وقت زیادی را برای توسعه PUG صرف کرده است و در این مقاله، نکات کلیدی و درس‌هایی که از این تجربه آموخته شده، بیان می‌شود. این مقاله علاوه بر معرفی کاربردها و ویژگی‌های Bubble Tea، بر روی چگونگی استفاده از این فریم‌ورک به منظور بهینه‌سازی و افزایش کارآمدی رابط‌های کاربری ترمینال تمرکز دارد.

🟣لینک مقاله:
https://golangweekly.com/link/159225/web


👑 @gopher_academy
‏اگه به برنامه نویسی RUST علاقمند هستید و دوست دارید باهاش کارهای redteam انجام بدید، این مخزن میتونه کمکتون کنه.
در این مخزن یسری تکنیکهایی که در تیم های قرمز یا توسعه ی بدافزار استفاده میشه، در زبان RUST پیاده سازی و آموزش داده شده.

https://github.com/Whitecat18/Rust-for-Malware-Development

@DevTwitter | <OnHexGroup/>
Forwarded from Gopher Academy
📢اگر دنبال نکات طلایی و مطالب بروز مربوط به انواع دیتابیس ها هستی

ما توی چنل زیر بیشتر دیتابیس های زیر رو مورد بررسی قرار میدیم👇

🔵Postgresql
🔵Redis
🔵Mysql
🔵Mongodb

🔴 سعی میشه توی چنل زیر بروز ترین مطالبی دیتابیس های فوق رو بزاریم


👇👇چنل ما👇👇

@database_academy
This media is not supported in your browser
VIEW IN TELEGRAM
این ریپو یک search engine اپن سورس به اسم MindSearch هست که بر اساس فریمورک Multi-agent هست و قابل رقابت Perplexity Pro و SearchGPT. میتونید سیستم سرچ خودتون را لوکال و یا روی سرور خودتون دیپلوی کنید.
https://github.com/InternLM/MindSearch

@DevTwitter | <Mehdi Allahyari/>
Forwarded from 
خاصیّت حکومت استبدادی اینه، خاصیّت حکومت پادشاهی اینه، ملّت کاره‌ای نیست!
حال ملّت چگونه خواهد بود؟ بسته به انصاف اون کسی که اون بالا نشسته است.
اگر یه وقتی، اقبال ملّت بلند باشد؛ یک نفر دیکتاتوری، بر سر کار بی‌آید که یه مقدار رحم در دلش باشد. مثلاً حالا در تاریخ ما، «کریم‌خان زند» را اسم می‌آورند.
خب یک مقدار وضع مردم بهتر خواهد شد.
اما اگر چنان‌چه، کسانی مثل «رضا خان قلدر» و «ناصرالدّین شاه» و سلاطین گوناگون دیگر (مستبدّین) بر سر کار باشند، این‌ها کشور رو ملک خودشون می‌دانند. ملّت رو هم رعیت خودشون می‌دونند.

از وقتی که رژیم پهلوی بر سر کار آمد، انتخابات، به معنای یک حرکت نمایشی محض تلّقی شد. در اون برهه‌ای که بنده و امثالی که در سنین من هستند یادشون هست، انتخابات؛ همه می‌دانستند که انتخابات، مطلقاً به معنای انتخاب مردم نیست.
یه کسانی را دستگاه‌های قدرت، دربار اون روز شاهان، در نظر می‌گرفتند. یه رقابت‌هایی بین خود اون‌ها انجام می‌گرفت؛ با هم زد و خورد هم می‌کردند، امّا اون کسی که می‌خواستند بیارند توی مجلس بنشانند، که مطیع باشد؛ سر به زیر باشد؛ منافع آن‌ها را تأمین کند؛ حقّ مالی غاصبانهٔ اون‌ها را بدهد؛ اون رو می‌آوردند می‌نشاندند توی مجلس. مردم هم برای خودشون می‌رفتن.
در تمام این دوران، کمتر وقتی اتّفاق افتاد که مردم احساس کنند، حالا باید بروند در این صندوق رأی، یک رأی‌ای بیندازند تا تأثیری ببخشد بر مدیریّت کشور. مطلقاً چنین چیزی نبود!

— علی خامنه‌ای

#quote
@amiria703_channel
🚀 معرفی Kubernetes 🚀

امروز می‌خوایم درباره Kubernetes صحبت کنیم که یکی از ابزارهای دنیای کانتینرهاست.

حالا Kubernetes چیه؟ 🤔
خب Kubernetes که به اختصار به K8s هم معروفه، یه پلتفرم متن‌باز برای مدیریت کانتینرهاست. این یعنی اگه اپلیکیشن‌هات رو داخل کانتینرها راه‌اندازی کردی، Kubernetes میاد و بهت کمک می‌کنه که این کانتینرها رو به بهترین شکل مدیریت کنی.

چطور کار می‌کنه؟ 💡
خب Kubernetes به شما اجازه میده تا:

1⃣ مقیاس‌پذیری:
تعداد کانتینرها رو براساس نیاز افزایش یا کاهش بدی. مثلاً اگه بار ترافیکی زیاد بشه، K8s می‌تونه به طور خودکار کانتینرهای جدید بسازه. 💪

2⃣ توزیع بار:
به طور هوشمند بار رو بین کانتینرها تقسیم می‌کنه تا هیچ کانتینری تحت فشار قرار نگیره و همه چیز به خوبی کار کنه.

3⃣ مدیریت آسان:
اگه یکی از کانتینرها کرش کنه، K8s خودش اون رو دوباره راه‌اندازی می‌کنه. یعنی نگرانی از بابت قطعی‌ها نداری 🔧

4⃣؛ Rolling Updates:
می‌تونی اپلیکیشن‌هات رو به راحتی آپدیت کنی بدون اینکه داون‌تایم داشته باشی. این یعنی کاربرانت هیچ اختلالی احساس نمی‌کنن.

چرا باید از Kubernetes استفاده کنی؟ 🌟

1⃣ سازگاری:
با هر محیطی مثل AWS، Google Cloud و حتی دیتاسنتر خودت کار می‌کنه.

2⃣ قابلیت گسترش:
با توجه به نیازت می‌تونی از K8s در پروژه‌های کوچک تا بزرگ‌ترین پروژه‌ها استفاده کنی.

3⃣ جامعه بزرگ:
به خاطر متن‌باز بودنش، جامعه کاربری و منابع آموزشی زیادی داره.

جمع‌بندی 🎯
فهمیدیم Kubernetes یکی از بهترین ابزارها برای مدیریت کانتینرهاست. اگه به دنبال بهینه‌سازی اپلیکیشن‌هات و مدیریت بهتر منابع هستی، K8s بهترین انتخابه.

امیدوارم مفید بوده باشه :)

#devops #kubernetes #contanier

@ninja_learn_ir
چرا PHP نسبت به بقیه زبان‌ها کندتر است و راهکار چیست؟ قسمت سوم

فیسبوک با معماری خودش تونسته بود جلوی کندی PHP رو بگیره اما باز کفایت نمیکرد برای همین شرکت ها از معماری‌های میکروسرویس استفاده میکردن

یعنی برای هر بخش از برنامه از زبان ها و تکنولوژی های مختلف استفاده میکردن

اما وردپرس به مرور که سنگین تر میشد جواب سایتای بزرگ رو نمیداد و سایتای بزرگ از وردپرس کوچ میکردن

تا اینکه با تکنولوژی های ردیس و میم کش و opcache باز میشد امید تازه ایی به وردپرس داد و جلو رفت

اما باز جواب گو نبود و باید یک معماری جدید برای php ساخته میشد...

@poinair پوینا
چرا PHP نسبت به بقیه زبان‌ها کندتر است و راهکار چیست؟ - قسمت چهارم


معماری FrankenPHP یک راه حل سازمانی برای وردپرس بود

یکی از بزرگترین مزایای FrankenPHP این است که، بر خلاف PHP سنتی، پردازش‌های قبلی را حفظ می‌کند و نیازی نیست که هر بار درخواست جدید از صفر شروع شود. این معماری، با استفاده از قابلیت‌های مدرنی مانند WebSocket و Server Push، به PHP این امکان را می‌دهد که به شکلی نزدیک به برنامه‌های Go عمل کند.

از لحاظ سرعت، FrankenPHP می‌تواند به طرز چشمگیری به عملکرد زبان‌هایی مثل Go نزدیک شود. با حذف نیاز به فرآیندهای متعدد و قابلیت پردازش درخواست‌ها در زمان کوتاه‌تر، FrankenPHP عملکردی مشابه برنامه‌های نوشته شده با Go و سایر زبان‌های بهینه شده برای وب سرورها را ارائه می‌دهد.


github.com/dunglas/frankenphp-wordpress


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

@poinair پوینا
Forwarded from Morteza Bashsiz مرتضی باشسیز (Morteza Bashsiz)
درود بر همه دوستان

ورژن تازه NipoVPN رلیز شد v1.0.25
در این ورژن مشکل هندل کردن پروسس‌های همزمان برطرف شد

بزودی یه ویدیو براش درست میکنم
سپاس فراوان

https://github.com/MortezaBashsiz/nipovpn/releases/tag/v1.0.25
همه جواب بدید ببینیم چجوریاس 😁🔥
Forwarded from Python Hints
باقی فصل‌ها آخر هفته اضافه خواهد شد. (لایو نداریم)

قطعاً باید یک تشکر هم از آیدین بکنم، که باوجود تمام درگیری‌های کاری که داره و می‌دونم

وقت اختصاص داد و ویدیو‌ها رو ادیت زد.

پ.ن :
همچنان ویدیو فصل ۱۳ رو نداریم (بجاش عکس می‌ذاریم روی یوتیوب)
تا شاید بعدها فرصت ضبط مجدد داشتیم.
Forwarded from Yasha
من اینجا دیگه از ایردراپ چیزی نمی‌نویسم. اسکریپت‌ها رو از اینجا به بعد توی این کانال می‌ذارم:
@ScriptAirdr0p
Forwarded from Gopher Academy
🔵 عنوان مقاله
The Notifier Pattern for Apps That Use Postgres

🟢 خلاصه مقاله:
متأسفانه شما متن کامل مقاله را در اختیار من قرار ندادید و اطلاعات فراهم شده بسیار محدود است. با این حال، بر اساس جمله‌ای که داده‌اید، می‌توانم چنین خلاصه‌ای ارائه دهم:

در مقاله‌ای که بررسی می‌شود، Brandur به بیان تجربیات و نگرش‌های مثبت خود نسبت به قابلیت‌های بومی pub/sub (انتشار و اشتراک‌گذاری) در پایگاه داده Postgres می‌پردازد. او این ویژگی‌ها را از نظر فنی بررسی کرده و نحوه‌ی بهره‌برداری از آن‌ها را برای بهبود ارتباطات و تعاملات درون برنامه‌های کاربردی توصیف می‌کند. Brandur تاکید می‌کند که این قابلیت‌ها به توسعه‌دهندگان اجازه می‌دهند جریان‌های داده‌ای را به شیوه‌ای کارآمد و به زمان واقعی مدیریت کنند، که می‌تواند به بهینه‌سازی عملکرد کلی سیستم‌های مبتنی بر داده کمک کند.

🟣لینک مقاله:
https://brandur.org/notifier


👑 @gopher_academy
Forwarded from Gopher Academy
در گولنگ ما دوتا از تکنیک استفاده می کنیم که به آن type assertion یا interface satisfaction checking گفته می‌شود. بیایید تفاوت‌ها را بررسی کنیم:

### 1. var _ io.ReadWriter = (*T)(nil)

این عبارت برای اطمینان از این استفاده می‌شود که نوع T از اینترفیس io.ReadWriter پیروی می‌کند. این یک تکنیک برای تایید کامپایل‌تایم است.

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

مثال:
type T struct{}

func (t *T) Read(p []byte) (n int, err error) {
return 0, nil
}

func (t *T) Write(p []byte) (n int, err error) {
return len(p), nil
}

// تایید می‌کند که T از io.ReadWriter پیروی می‌کند.
var _ io.ReadWriter = (*T)(nil)


در اینجا، اگر T متدهای Read و Write را نداشته باشد، کامپایلر خطا می‌دهد.

### 2. var PaymentInstance PaymentProcessor = nil

این عبارت برای تعریف یک متغیر از نوع PaymentProcessor و مقداردهی اولیه آن به nil است. در اینجا PaymentProcessor یک اینترفیس فرضی است و شما متغیری به نام PaymentInstance را به عنوان نوع اینترفیس تعریف می‌کنید و فعلاً مقدار آن nil است.

- هدف: تعریف یک متغیر از نوع اینترفیس PaymentProcessor که فعلاً به هیچ مقداری یا پیاده‌سازی‌ای اختصاص داده نشده است.
- نحوه‌ی عملکرد: این متغیر می‌تواند در آینده به یک مقداری که نوع آن پیاده‌سازی‌کننده‌ی اینترفیس PaymentProcessor است، مقداردهی شود.
- استفاده در توسعه: این مورد بیشتر برای مقداردهی اولیه و آماده‌سازی یک متغیر برای استفاده‌های بعدی است.

مثال:
type PaymentProcessor interface {
ProcessPayment(amount float64) error
}

var PaymentInstance PaymentProcessor = nil

// بعداً می‌توانیم به PaymentInstance یک پیاده‌سازی خاص بدهیم:
type PayPalProcessor struct{}

func (p *PayPalProcessor) ProcessPayment(amount float64) error {
// پردازش پرداخت
return nil
}

PaymentInstance = &PayPalProcessor{}


### تفاوت‌ها

- عبارت اول (`var _ io.ReadWriter = (*T)(nil)`): یک چک کردن کامپایل‌تایم است تا مطمئن شویم نوع T اینترفیس io.ReadWriter را پیاده‌سازی کرده است.

- عبارت دوم (`var PaymentInstance PaymentProcessor = nil`): یک متغیر از نوع اینترفیس PaymentProcessor تعریف می‌کند و مقدار اولیه آن را nil قرار می‌دهد که برای استفاده‌های بعدی آماده است.

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

👑 @gopher_academy
Forwarded from Code Module | کد ماژول (𔓙)
اگه برای تمرین و کدنویسی دنبال ui خاصی میگردید، این طرح فیگما رو به هیچ وجه از دست ندید 💀

🔗 Link

#figma
@CodeModule
Forwarded from Yasha
شب اسکریپت Cube رو بات می‌کنم می‌ذارم.
Forwarded from کانال اطلاع‌رسانی توزیع پارچ (بلاگ پارچ لینوکس)
این یک پیام آزمایشی از بلاگ پارچ لینوکس است.