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 Accio
This was an April fools' day RFC document in 1990 that suggested IP packets can be carried using Avian Carriers.
A group of people on 2001 actually implemented this method to successfully (with 55% packet loss) ping one another

You can see the list of other RFC April Fools on this Wikipedia page
Forwarded from DevDrug
سلام دوستان 👋

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

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

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

آی دی من 👇
@rouzbehsbz
Forwarded from Gopher Academy
🔵 عنوان مقاله
doWM: A Tiling and Floating Window Manager for X11

🟢 خلاصه مقاله:

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

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


👑 @gopher_academy
Forwarded from linuxtnt(linux tips and tricks) (hosein seilany https://seilany.ir/)
🎉میز Xfce به Wayland نزدیک‌تر شد!

پیرو این پست قبلیم:
https://t.iss.one/linuxtnt/4313

ادغام کد کامپوزیتور Wayland در Xfwm4 مبتنی بر کتابخانه wlroots

🔹 پشتیبانی داخلی از کامپوزیتور Wayland به‌صورت رسمی در Xfwm4 (مدیر پنجره‌ی محیط دسکتاپ Xfce) اضافه شده. این کامپوزیتور جدید با استفاده از کتابخانه‌ی قدرتمند wlroots توسعه یافته که ابتدا توسط کامپوزیتور Sway معرفی شده بود.

🔹 کاربران Xfce مدت‌ها منتظر چنین تغییری بودند. تا پیش از این، اجرای Xfce روی Wayland نیازمند استفاده از کامپوزیتورهای خارجی بود، اما حالا با این ادغام جدید، Xfwm4 رسماً وارد دنیای Wayland شده است.

🔹 استفاده از کتابخانه‌ی wlroots باعث شده توسعه‌ی این قابلیت برای تیم Xfce بسیار ساده‌تر و سریع‌تر پیش برود. انتظار می‌رود همچنان پشتیبانی از X11 نیز حفظ شود.
به صورت کلی، اگر Dracut رو در پارچ پیاده‌سازی کنیم، میشه پشتیبانی از TPM2 و همینطور Unified Kernel Image رو راحت‌تر آورد.

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


https://wiki.archlinux.org/title/Unified_kernel_image


@SohrabContents
حالا این مورد پیاده‌سازی سکیوربوت هم راحت‌تر می‌کنه چون کلا یک فایل هستش که باید امضا بشه :)


@SohrabContents
Forwarded from Linuxor ?
نوشتن کدهای مدرن جاوااسکریپت با سینتکس جدید همیشه یه ریسک داره: چی میشه اگه مرورگر کاربر ازش پشتیبانی نکنه؟ Babel دقیقاً برای همینه. کدهای جدید رو می‌گیره، تبدیل می‌کنه به نسخه‌ای که تو همه‌ی مرورگرها جواب می‌ده. خیال‌راحت‌کن برای کسایی که روی مرورگرهای قدیمی هم حساب باز کردن.

github.com/babel/babel

@Linuxor
Forwarded from Linuxor ?
نوشتن کدهای مدرن جاوااسکریپت با سینتکس جدید همیشه یه ریسک داره: چی میشه اگه مرورگر کاربر ازش پشتیبانی نکنه؟ Babel دقیقاً برای همینه. کدهای جدید رو می‌گیره، تبدیل می‌کنه به نسخه‌ای که تو همه‌ی مرورگرها جواب می‌ده. خیال‌راحت‌کن برای کسایی که روی مرورگرهای قدیمی هم حساب باز کردن.

github.com/babel/babel

@Linuxor
Forwarded from laravel-news
“انسان‌ها به صورت دسته‌بندی شده فکر می‌کنن، کد ما نیز باید بازتابی از همین موضوع باشه”


#book #laravel_beyond_crud
Forwarded from Linuxor ?
وقتی گیت وقتی اشتباه پیش می‌ره، بدجوری داغون می‌شی. مخصوصاً وسط یه پروژه مهم یا توی ددلاین. ریپوی git-flight-rules یه راهنمای بحران‌محور برای کار با گیته. شبیه یه checklist برای خلبان‌هاست که وسط طوفان باید تصمیم بگیرن. مناسب همه، از تازه‌کار تا سینیور

github.com/k88hudson/git-flight-rules

@Linuxor
Forwarded from Gopher Academy
🔴قابلیت `T.Attr`, `B.Attr`, و `F.Attr`. ویژگی های جدید گولنگ نسخه 1.25

در Go نسخه 1.25**، سه متد جدید به پکیج `testing` اضافه شده‌اند: `T.Attr`, `B.Attr`, و `F.Attr`. این‌ها به شما اجازه می‌دهند **اتریبیوت‌های دلخواه (کلید–مقدار) را مستقیماً به خروجی لاگ تست ارسال کنید.

---

🏷 چه کاری انجام می‌دهند؟

با استفاده از T.Attr(key, value) می‌توانید به‌سادگی یک attribute با کلید key و مقدار value اضافه کنید و این در لاگ تست خواهد آمد:

=== ATTR  TestMyFeat myKey someValue


* برای تست‌ها: از T.Attr
* برای بنچمارک‌ها: از B.Attr
* برای فریمورک‌های fuzzing: از F.Attr

---

چرا مفید هستند؟

* دنبال کردن metadata مرتبط با تست‌ها، مثل نسخه پکیج، وضعیت کانفیگ، داده‌های ورودی خاص
* مناسب برای تولید خروجی قابل‌پردازش با test2json
* واضح و مستقیم، بدون نیاز به استفاده از Log یا fmt

---

🌟 مثال ساده

package mypkg_test

import "testing"

func TestSomething(t *testing.T) {
t.Attr("db", "postgres")
t.Attr("featureFlag", "enabled")

t.Log("running test with attributes")
// ... انجام تست اصلی ...
}


خروجی هنگام اجرای go test:

=== RUN   TestSomething
=== ATTR TestSomething db postgres
=== ATTR TestSomething featureFlag enabled
mypkg_test.go:10: running test with attributes
--- PASS: TestSomething (0.00s)


---

📊 ترکیب با test2json

اگر خروجی را با go test -json یا test2json بگیرد، این اتریبیوت‌ها به‌صورت structured می‌روند و ابزارهای CI/CD یا داشبوردها می‌توانند آن‌ها را بخوانند.

---

🛠 مثال برای بنچمارک‌ها

func BenchmarkMyOp(b *testing.B) {
b.Attr("iterations", b.N)
for i := 0; i < b.N; i++ {
// عملیات اصلی ...
}
}


خروجی:

=== BENCH: BenchmarkMyOp
=== ATTR BenchmarkMyOp iterations 1000
...


---

جمع‌بندی

*این T.Attr (و معادل‌های آن برای benchmark/fuzz) روشی ساده برای اضافه کردن metadata به تست‌ها هستند.
* بهبود خوانایی لاگ و قابلیت تجزیه‌ی ساخت‌یافته در ابزارهای خودکار.
* بسیار سبک و بدون overhead، یک ویژگی جزئی ولی کاربردی برای ردیابی و دیباگ.
Forwarded from Linuxor ?
می‌خوای برای تست یا dev، از AWS پول بسوزه؟ راه ساده‌ترش MinIO ـه.
برای خیلی از پروژه‌های dev، مخصوصاً وقتی با S3 سروکار داری، MinIO راهیه که به‌جای سرویس ابری، همون API رو توی سیستم خودت داشته باشی، با سرعت بالاتر و کنترل کامل روی دیتا.

نصبش هم خیلی خیلی سادس :

min.io

@Linuxor
Forwarded from Linuxor ?
وقتی تیم بزرگ مثل گوگل می‌گه "این سبک کدنویسی خوبه"،باید بی چون و چرا گوش بدید،

این یه مرجع برای نوشتن کدی که هم خوانا باشه، هم قابل نگهداری، مخصوصاً وقتی با تیم‌های بزرگ کار می‌کنی هستش

از Python گرفته تا C++ و JavaScript، همه رو پوشش داده

google.github.io/styleguide

@Linuxor
Forwarded from یه شعر (Poem Bot)
سعدی | دیوان اشعار | رباعیات | رباعی شمارهٔ ۸۲

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

#سعدی | گنجور
📍@iipoem
Forwarded from Gopher Academy
🎯 ویژگی های جدید گولنگ نسخه 1.25 رو از اینجا بخونید

🔵synctest
🟢https://t.iss.one/gopher_academy/3910
▫️▪️▫️▪️▫️▪️▫️▪️▫️

🔵 json/v2
🟢https://t.iss.one/gopher_academy/3913
▫️▪️▫️▪️▫️▪️▫️▪️▫️

🔵 Container-aware GOMAXPROCS
🟢https://t.iss.one/gopher_academy/3922
▫️▪️▫️▪️▫️▪️▫️▪️▫️

🔵New GC
🟢 https://t.iss.one/gopher_academy/3925
▫️▪️▫️▪️▫️▪️▫️▪️▫️

🔵Anti-CSRF
🟢https://t.iss.one/gopher_academy/3937
▫️▪️▫️▪️▫️▪️▫️▪️▫️

🔵WaitGroup.Go
🟢https://t.iss.one/gopher_academy/3943
▫️▪️▫️▪️▫️▪️▫️▪️▫️

🔵FlightRecorder
🟢https://t.iss.one/gopher_academy/3939
▫️▪️▫️▪️▫️▪️▫️▪️▫️

🔵os.Root
🟢https://t.iss.one/gopher_academy/3952
▫️▪️▫️▪️▫️▪️▫️▪️▫️

🔵reflect.TypeAssert
🟢https://t.iss.one/gopher_academy/3947
▫️▪️▫️▪️▫️▪️▫️▪️▫️

🔵T.Attr
🟢https://t.iss.one/gopher_academy/3956
▫️▪️▫️▪️▫️▪️▫️▪️▫️

🔵slog.GroupAttrs
🟢https://t.iss.one/gopher_academy/3951
▫️▪️▫️▪️▫️▪️▫️▪️▫️

🔵hash.Cloner
🟢https://t.iss.one/gopher_academy/3946
▫️▪️▫️▪️▫️▪️▫️▪️▫️
1