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 Linuxor ?
‏لطفاً در را قفل نکنید - دزدی از FBI با یک یادداشت ساده!

در سال 1971، چند دزد با یک حقه ساده وارد یکی از دفاتر پلیس فدرال آمریکا (FBI) شدند. یکی از آن‌ها چند ساعت قبل از دزدی، روی کاغذی نوشت: «لطفاً امشب این در را قفل نکنید» و آن را به در ورودی چسباند. همین نوشته باعث شد یک نفر در را قفل نکند و دزدها شب راحت وارد بشوند!

این ترفند یک نمونه از «مهندسی اجتماعی» است؛ یعنی فریب دادن آدم‌ها با حرف یا ظاهر ساده، آن هم بدون نیاز به زور یا تکنولوژی!


@Linuxor ~ Nooshdaroo_web
Forwarded from Linuxor ?
‏لطفاً در را قفل نکنید - دزدی از FBI با یک یادداشت ساده!

در سال 1971، چند دزد با یک حقه ساده وارد یکی از دفاتر پلیس فدرال آمریکا (FBI) شدند. یکی از آن‌ها چند ساعت قبل از دزدی، روی کاغذی نوشت: «لطفاً امشب این در را قفل نکنید» و آن را به در ورودی چسباند. همین نوشته باعث شد یک نفر در را قفل نکند و دزدها شب راحت وارد بشوند!

این ترفند یک نمونه از «مهندسی اجتماعی» است؛ یعنی فریب دادن آدم‌ها با حرف یا ظاهر ساده، آن هم بدون نیاز به زور یا تکنولوژی!


@Linuxor ~ Nooshdaroo_web
Forwarded from Linuxor ?
خیلیا براشون سواله این فایروال ایران آیا اینترنت رو کند می‌کنه؟

به طور مستقیم خیر؛ چون فایروال اینطوری نیست که بیاد جلوی پکت هارو بگیره و بگه تو خوبی رد شو تو بدی رد نشو اصلا این کار توی حجم بالا شدنی نیست؛ فایروالشون اینطوریه یه سیستم جداگونس که از پکت ها کپی میگیره و اون پشت جمع می‌کنه و بعد مثلا ساعت 3 نصفه شب که ترافیک کمتره با توجه به اونا تصمیم میگیره و وقتی تصمیم گرفت دیگه اجازه نمیده هیچ پکتی حتی پکت های غیر VPN هم رد بشه؛ حالا تا همینجا رو بزارید گوشه ذهنتون بجای اینکه بیاد یه آیپی رو بلاک کنه با یه احتمالی می‌گه این VPN هست یا نه و ممکنه اگه یه احتمالی وجود داشته باشه عمدا یه بخشی از پکت هاتون رو دراپ کنه و این باعث کندی می‌شه نه اون نظارته :)

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


@Linuxor
Forwarded from Gopher Academy
🔴قابلیت Cloner ویژگی های جدید گولنگ نسخه 1.25

در Go 1.25**، رابط جدیدی در بسته `hash` معرفی شده با نام Cloner که به انواع `hash.Hash` اجازه می‌دهد **وضعیت داخلی (state) خود را کپی کند. این برای مواقعی بسیار مفید است که بخواهید از یک هش، مقدار میانی را ذخیره کرده و ادامه دهید، بدون آنکه کل روند هش را دوباره اجرا کنید.

---

🧠این hash.Cloner چیست؟

رابط ساده زیر را دارد:

type Cloner interface {
Clone() Hash
}


این متد وضعیت داخلی هش فعلی را کپی کرده و یک نمونه‌ی مستقل جدید از همان نوع (Hash) بازمی‌گرداند. تمام پیاده‌سازی‌های استاندارد Go مثل hash/maphash این رابط را پیاده‌سازی کرده‌اند. ([tip.golang.org][1])

---

🔧 چرا مفید است؟

* صرفه‌جویی در زمان و CPU: کپی وضعیت داخلی، نیاز به محاسبه مجدد هش را حذف می‌کند.
* سازگاری با الگوریتم‌های ترکیبی: وقتی می‌خواهید چند هش متفاوت را روی یک دنباله شروع کرده و بعداً ادامه دهید.
* کاربرد در HMAC، Merkle‑Tree، بررسی تکرارشونده بودن داده‌ها.

---

مثال کاربردی

فرض کنید می‌خواهیم هش SHA256 بسازیم تا داده‌ها را در چند مرحله هش کنیم، ولی بخشی آغازین مشترک دارند:

package main

import (
"crypto/sha256"
"fmt"
"hash"
)

func main() {
base := []byte("header")

h1 := sha256.New()
h1.Write(base) // وضعیت میانی

// کپی وضعیت هش
h2 := h1.(interface{ Clone() hash.Hash }).Clone()

// ادامه روی نسخه اول
h1.Write([]byte(" payload1"))
sum1 := h1.Sum(nil)

// ادامه روی نسخه دوم
h2.Write([]byte(" payload2"))
sum2 := h2.Sum(nil)

fmt.Printf("sum1: %x\n", sum1)
fmt.Printf("sum2: %x\n", sum2)
}


📌 *پویا بودن نوع Cloner*: در runtime هش شونده است و نیاز به import "hash" است.

---

⚖️ نکات

* نوع برگشتی دقیقاً همان نوع هش است؛ بدون downcast اضافی.
* هیچ اثر جانبی روی هش اصلی ندارد.
* متد روند هش را متوقف می‌کند و وضعیت فعلی را مکان جداگانه ذخیره می‌نماید.

---

🧭 جمع‌بندی

*این `hash.Cloner` در Go 1.25 به hash.Hash امکان می‌دهد وضعیت داخلی خودش را کپی کند.
* با Clone() می‌توانید چند ریزه‌کاری هش را از همان نقطه شروع ادامه دهید—بدون محاسبه دوباره.
* برای ساخت هش‌های موازی، HMAC یا الگوریتم‌هایی با بخش مشترک واقعاً کاربردی است.
Forwarded from UN_Career
📌 سفارت ایتالیا از علاقمندان به موقعیت‌کاری در زمینه " دستیار ادمین " دعوت به همکاری می‌کند
_ تا ۲۱ تیر امکان اپلای برای این موقعیت وجود دارد، همچنین شرایط و پیش‌نیازهای این موقعیت در کانال un career درج شده است.
Forwarded from Md Daily (Mahan)
از اونجایی که یکی از بچه ها پیشنهاد ansible رو داد و یکی دیگه هم گفت با go یه چیز فان پیاده کنیم.

گفتم خب بیایم این دوتا رو باهم ترکیب کنیم :)

میتونیم یه پروژه جاست فور فان نوشتنش شروع کنیم و ایده ی اولیم اینکه یه ابزار با گو باشه که وصله به یه ربات تلگرامی.

میشه از طریق ربات تنظمیش کرد که هر چند وقت یک بار و تو یه چه موضوعاتی بره وصل بشه به یه ای پی یه ai ای مطالبش رو تولید (تصویر و متن) کنه. بعد بیایم توی canva یه تمپلیت درست کنیم که مطالب تولید شده بره بشینه روش و در نهایت پست بشه به اینستاگرام. حتی امار پیچ اینستاگرام هم میتونیم از رباتمون بگیریم. در نهایت هم برای اماده سازیه سرور از ansible استفاده کنیم.


نظرتون چیه؟ یا اگه ایده ای دارید خوشحال میشم بشنوم.


به نظرتون به صورت پست تلگرامی منتشر کنم یا به صورت پست وبلاگ؟


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

https://youtu.be/8vsRb2mTBA8
Forwarded from Linuxor ?
آزمایشگاه رایگان برای یادگیری Cloud و DevOps چیزای خوبی داره مثل Docker و Git و Jenkins و ... بهتون دسترسی سرور می‌ده تست کنید

studio.kodekloud.com/labs


@Linuxor
Forwarded from Linuxor ?
‏یه roadmap خفن برای LLM آماده کردم از صفر تا پرو! پایه‌ها، ترنسفورمر، توکنایزیشن تا پروداکشن و LLMOps. با دقت طبقه بندی شده و همراه با پروژه های عملی ...!

mshojaei77.github.io/roadmap.html


@Linuxor ~ realshojaei
Forwarded from Linuxor ?
اکثر شرکتا حتی شرکت های بزرگ حوصله درگیر شدن با سرتیفیکیت SSL رو ندارن و یهویی سایتشون از کار می‌فته بدون اینکه خودشون بفهمن (یکی بهشون زنگ میزنه میگه این سایتتون چرا بالا نمیاد ؟ بعد تازه دوزاریشون می‌فته که برن درستش کنن)


این ابزار یکی از بهترین داشبورد های مدیریت سرتیفیکیت SSL هست حتی Webhook هم داره و می‌تونید ست کنید که موقع خطا یا هر اتفاقی بهتون گزارش بده


github.com/fabriziosalmi/certmate


@Linuxor
Forwarded from Gopher Academy
🔴قابلیت reflect.TypeAssert ویژگی های جدید گولنگ نسخه 1.25

در Go نسخه 1.25 یک تابع جدید در پکیج `reflect` به نام `reflect.TypeAssert` معرفی شده که به شکل زیر تعریف می‌شود:

func TypeAssert[T interface{}](v reflect.Value) (T, bool)


این تابع اجازه می‌دهد مستقیماً از یک reflect.Value به نوع مشخص T تبدیل شویم، به همان روشی که با type assertion در interface ها انجام می‌دهیم، اما با کارایی بهتر**—بدون تخصیص حافظه اضافیٔ `interface{}` و تبدیل مجدد به یک مقدار Go معمولی ([tip.golang.org][1]).

---

🧠 چرا `TypeAssert` مهمه؟

وقتی از روش قدیمی استفاده می‌کنیم:

```go
val := v.Interface().(MyType)
```

ابتدا آدرس حافظه برای `interface{}` ساخته می‌شود، سپس assertion انجام می‌شود—که ممکن است تخصیص حافظه ناخواسته انجام بدهد.

با `reflect.TypeAssert` داریم:

* **مستقیماً
از reflect.Value به MyType.
* بدون ساختن interface{} موقتی.
* سریع‌تر و کم‌هزینه‌تر.

---

## مثال عملی

package main

import (
"fmt"
"reflect"
)

type Person struct {
Name string
Age int
}

func main() {
p := Person{"Alice", 30}
v := reflect.ValueOf(p)

// تبدیل مستقیم با TypeAssert
if val, ok := reflect.TypeAssert[Person](v); ok {
fmt.Printf("شد! نام: %s، سن: %d\n", val.Name, val.Age)
} else {
fmt.Println("نوع مطابقت ندارد")
}

// مثالی برای نوع اشتباه
if val, ok := reflect.TypeAssert[*Person](v); ok {
fmt.Println("این کار نمیشه:", val)
} else {
fmt.Println("اشتباه: v اصلاً *Person نیست")
}
}


### خروجی:

شد! نام: Alice، سن: 30
اشتباه: v اصلاً *Person نیست




---

جمع‌بندی

*این reflect.TypeAssert[T] راهی کارا و تیپ‌-محور برای بازیابی مقدار Go از reflect.Value است.
* بدون overhead ای که تبدیل به interface{} ایجاد می‌کند.
* مناسب برای مواردی که در reflection با performance حساس کار می‌کنید.
Forwarded from Linuxor ?
ورژن جدید گراک برای مدت کوتاهی هیلتر رباتیک MechaHitler شده بود و به یهودی ها حمله می‌کرد! بعد مدت کوتاهی توییتر همه توییت هاشو پاک کرد

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


@Linuxor
Forwarded from linuxtnt(linux tips and tricks) (hosein seilany https://seilany.ir/)
🔰دوستان این خبر را بخاطر داشته باشید و به سایر دوستان هم اطلاع بدید🔰

🔹چند پست درباره x11 نوشته بودم و باز هم در ادامه خبر حذف مدیرنمایش x11 از میزهای لینوکسی و توزیع های لینوکسی رو میگذارم.
این مدیرنمایش به زودی پیشتیبانی دیگر نخواهد شد و منسوخ میشود، به منظور کاهش هزینه و انرژی و زمان توسعه و نگهداری آن.


🔸 نسخه GNOME 49 به صورت پیش‌فرض دارای پشتیبانی X11 نخواهد بود. همانند میزپلاسما که x11 رو پشتیبانی نخواهد کرد به زودی. میزGNOMEنسخه آلفای GNOME 49 با نام "49.alpha" ب در شهریور منتشرمیشود.
🔸اوبونتو از نسخه21 ویلند جایگزین کرد و از نسخه 25 به بعد نیز پشتیبانی از این مدیرنمایش حذف کرد.
🔸فدورا از نسخه 35 ویلند رو جاگزین کرد و قرار از نسخه 43 به بعد نیز پشتیبانی از این مدیرنمایش حذف کند.
🔸به صورت غیر رسمی دیدم که توزیع سوزه SLE 16 که مخفف SUSE Linux Enterprise 16 هست هم پشتیبانی Xorg server رو حذف میکند.البته بهصورت پیش فرض ویلند هست.
🔸با حذف پشتیبانی x11 همه اجزای میز LXQt با Wayland کار نمی‌کنند.
🔸همزمان با کنفرانس FOSDEM 2025، تیم توسعه‌دهنده GTK اعلام کرد پشتیبانی از X11 را حذف کرد! و همچنین پشتیبانی از Broadway، زمینه‌ساز یک بک‌اند جدید برای اندروید. این تغییرات در راستای آماده‌سازی برای GTK 5 انجام شده‌اند. بک‌اند X11 به‌طور رسمی منسوخ شده تا پیام واضحی درباره حذف کامل آن در GTK 5 ارسال شود.
🔸 توزیع Alpine Linux (Sway) از Sway (مدیر پنجرهٔ Wayland) به‌عنوان گزینهٔ اصلی استفاده می‌کند و X11 را به‌طور کامل حذف کرده است
🔸توزیع Solus محیط Budgie در حال انتقال به Wayland است و ممکن است در آینده X11 را حذف کند

🔰با حذف x11 مشکلات از قبیل موارد زیر خواهید داشت:
🔹سخت‌افزار شما باید توسط درایور هسته Wayland - KMS و اغلب Mesa پشتیبانی شود، بدون Mesa+KMS حتی نمی‌توانید صفحه ورود را ببینید .
🔹درایورهای قدیمی‌تر NVIDIA (که فقط از شتاب‌دهنده GLX - X11 OpenGL پشتیبانی می‌کنند) دیگر کار نخواهند کرد. باید از nouveauدرایور KMS استفاده کنید.
🔹برای سخت افزاری قدیمی بدون x11 ابزارهای مدیریت ورود/محافظ صفحه/قفل‌کننده‌ها دیگر کار نخواهند کرد.
🔹محیط‌های دسکتاپ وابسته به X11 کار نخواهند کرد - شبیه‌ساز XWayland از برنامه‌ها پشتیبانی می‌کند اما از مدیران پنجره پشتیبانی نمی‌کند.برای مثال، "xeyes" به دلیل محدودیت‌های Wayland قادر به ردیابی ماوس در خارج از پنجره خود نیست).

نویسنده: حسین سیلانی
اخبار و آموزش های بیشتر در کانال:
https://t.iss.one/linuxtnt
Forwarded from Golden Code (@lix)
تفاوت get() و lazy() در لاراول ؟

اول get():

تمام رکوردها رو یک‌باره از دیتابیس میخونه و در حافظه (RAM) لود می‌کنه. این روش برای حجم دیتای کم مناسب‌تره.

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

📌 در واقع، lazy() از متود cursor() استفاده میکنه که یک streaming cursor میسازه و رکوردها رو بصورت on-demand از دیتابیس میخونه.

اگه قراره داده‌های زیادی از دیتابیس بخونید و پردازش کنین (مثلاً ۱۰۰هزار رکورد)، حتماً از lazy() استفاده کنید تا مصرف حافظه کنترل بشه و سرور دچار مشکل نشه.


User::lazy()->each(function($user) {
// پردازش کاربرا
});

#Laravel

@GoldenCodeir

(به منبع و مثالش دقت کنید👇🏾)
https://x.com/laravelbackpack/status/1940734778506121448?s=35
🔥1
Forwarded from Linuxor ?
فیسبوک یه لایبری خیلی معروف برای پیشبینی مدل های سری زمانی داره به اسم prophet یعنی پیامبر؛ باهاش می‌شه مثلا فروش هفته آینده یه فروشگاه یا مثلا آلودگی هوا و داده های فصلی رو پیشبینی کرد

واقعا توی حوزه خودش پیامبره و حتی روز های غیر کاری و تعطیلات هم می‌فهمه !

@Linuxor
Forwarded from Linuxor ?
برادرااا خواهررااا کم پیام های کانالو به کانال های یه نفرتون فوروارد کنید 😁

Forwarded from Linuxor ?
Forwarded from Linuxor ?
Forwarded from Linuxor ?

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


@Linuxor
Forwarded from Linuxor ?
اگه آلبرت انیشتین الان زنده بود احتمالا درگیر نصب کودا رو ورژن خاصی از اوبونتو و پایتون بود بخاطر کار های محاسباتی و هوش مصنوعیش...

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

@Linuxor