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 Agora (Alireza Azadi)
a pessimistic researcher
"صحبتی با فارغ التحصیلان مقطع کارشناسی" صحبتم با شما بزرگواران خیلی کوتاهه :) اگر میخواید تو آکادمیک بمونید، هر طوری شده اپلای کنید. ارشد خوندن تو ایران با شرایطی که اساتید دانشگاهامون دارن کار سختیه. خیلی از دوستام رو میشناسم که مثل خودم معتقدن با ارشد خوندن…
یک خاطره‌ی شخصی منم بگم در راستای حرف kc:

وقتی که شایان رفت آلبرتا (سال ۹۵-۹۶)، به نظرم خیلی زود بود. ۱۷ سالش بود و واسه بچلر رفت (من ۱۹ سالم بود). تقریبا هر بار که باهم ویدیو کال می‌کردیم بهم میگفت که واسه ارشد ایران نمون. من همیشه فکر می‌کردم شاش شایان تنده. هرچی گذشت و رفت و رفت دیدم که هیچ‌چیز شبیه به دورانی نیست که نسل‌های قبل ما واسه phd می‌رفتند. حتی اون‌هایی که این رو بهونه می‌کردن که فقط خارج بشند. و دیدن این تغییر اصلا نیازمند بصیرت خاصی نبود. شایان تنها کسی بود که تو دانشگاه و توی اطرافیانم رفته بود. درواقع تنها کسی بود تو اطرافیانم که اینقدر نزدیک بود که می‌تونستم ازش بی‌پرده اطلاعات بگیرم.
آخرش هم واسه مستر رفتم و دیدم که خیلی‌های دیگه هم واسه مستر رفتند و میرند و من خبر نداشتم.

هرچند که من درس و دانشگاه رو ول کردم (و این داستانیه مفصل که چرا اینطور شد) ولی از این که دیرتر نرفتم خوش‌حالم.

پی‌نوشت: مخاطب حرفم، کسایی نیستند که تصمیم گرفتند بمونند. یا حتی شرایط رفتند رو به هر دلیلی ندارند. مخاطب حرفم کساییند که می‌خوان برن ولی تو دوراهی کلاسیک ارشد خوندن تو ایران و phd رفتن یا بیرون از ایران مستر خوندن موندند.


پی‌نوشت دو: احساس می‌کنم خیلی وقته که این تصمیم واسه خیلی‌ها از قبل گرفته شده‌س. گواهش هم تعداد ورودی‌های جدید که می‌خوان از همون دانشگاه کارشناسی من واسه ارشد برند در قیاس با باهم‌ورودی‌های خودم که می‌خواستند برند. اختلاف عجیب و غریب زیاده و البته که این هم طبیعیه.
Forwarded from یک برنامه نویس تنبل (Lazy 🌱)
🔶 ریزش ۴۰۰ میلیونی کاربران ویندوز

بر اساس گزارش ZDNET، کاربران به‌تدریج استفاده از کامپیوترهای شخصی را کنار می‌گذارند و به گوشی‌ها و تبلت‌های قدرتمندتر روی می‌آورند. بازار مصرفی اصلی ویندوز اکنون به گیمرها و متخصصانی محدود شده که به نرم‌افزارهای خاص ویندوز وابسته‌اند. همه‌گیری کرونا باعث رشد موقتی فروش رایانه‌ها شده بود؛ اما روند کلی کاهش تقاضا ادامه دارد.

#خبر

@TheRaymondDev
Forwarded from Shayan GeeDook🐧
لیست mirrorهای ارائه‌شده توسط سایت‌های ایرانی
معرفی پروژه:
یک مجموعه‌ی جامع و سریع از میرورهای عمومی نرم‌افزاری و مخازن بسته‌های نرم‌افزاری داخل کشور ایران است.
هدف این پروژه فراهم‌کردن دسترسی آسان، سریع و پایدار به بسته‌های نرم‌افزاری به‌روزشده برای توسعه‌دهندگان، شرکت‌ها و کاربران ایرانی است.

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

با تشکر از حمایت‌هاتون!

با تشکر از آرمان طاهری بابت چندین لینک میرور

https://github.com/GeeDook/mirava


@shayangeedook
بعد از جنگ اولین روزیه که تونستم خودم را جمع کنم، یکم کد بزنم، کار پژوهشی را شروع کنم، جلسه بگذارم و بچه های گروه را جمع کنم که کار پروژه را پیش ببریم.
نتیجه کدکلک هام شد اسکریپت کوچیک زیر برای این که از اطلاعات پاورپوینت در Chat GPT استفاده کنید.

https://github.com/Ho3seinTork/Slide-to-Markdown

@DevTwitter | <Diss Obedience/>
Forwarded from Linuxor ?
پروژه‌ای برای شبیه‌سازی فایروال چین (که توی ایران هم هست). می‌تونین روی روتر یا لینوکس‌تون اجرا کنین. و باهاش فیلترینگ دم‌دستی راه‌ بندازین.

gfw.dev

ببینید فایروال چطوری VPN های V2Ray رو با اینکه حتی رمزنگاری هم شده رو تشخیص می‌ده و سرورتون رو فیلتر می‌کنه !


@Linuxor ~ ohmydevops
Forwarded from یک برنامه نویس تنبل (Lazy 🌱)
Media is too big
VIEW IN TELEGRAM
🔶 اگر قصد دارید با ویرایشگر Neovim پروژه لاراول توسعه دهید این ویدئو را ببینید.

برای نئوویم افزونه لاراول منتشر شده است.

Neovim Config: https://github.com/adibhanna/nvim
Laravel Plugin: https://github.com/adibhanna/laravel.nvim

#لاراول

@TheRaymondDev
Forwarded from یک برنامه نویس تنبل (Lazy 🌱)
Media is too big
VIEW IN TELEGRAM
🔶 اگر قصد دارید با ویرایشگر Neovim پروژه لاراول توسعه دهید این ویدئو را ببینید.

برای نئوویم افزونه لاراول منتشر شده است.

Neovim Config: https://github.com/adibhanna/nvim
Laravel Plugin: https://github.com/adibhanna/laravel.nvim

#لاراول

@TheRaymondDev
Forwarded from یک برنامه نویس تنبل (Lazy 🌱)
Media is too big
VIEW IN TELEGRAM
🔶 اگر قصد دارید با ویرایشگر Neovim پروژه لاراول توسعه دهید این ویدئو را ببینید.

برای نئوویم افزونه لاراول منتشر شده است.

Neovim Config: https://github.com/adibhanna/nvim
Laravel Plugin: https://github.com/adibhanna/laravel.nvim

#لاراول

@TheRaymondDev
Forwarded from Linuxor ?
برادرا خواهرا وقتی می‌‌آین پی وی سوالی چیزی بپرسین واقعا لازم نیست احول پرسی اینا کنین هر روز مجبورم کلی احوال پرسی کنم و می‌دونم قصد شما هم از روی خیره ولی من اصلا ناراحت نمی‌شم که بگم وای فلانی احوال پرسی نکرد؛ سوالتون رو مستقیم و رک حتی "بدون سلام" بپرسین در حد خودم راهنمایی می‌کنم منو مثل هوش مصنوعی در نظر بگیرید من هر روز می‌آم یه تعدادی سوال واضح رو جواب می‌دم و دیگه درگیر حاشیه ها نمی‌شم خلاصه اگه دیدین بعضی حرف هاتون رو جواب نمی‌دم ناراحت نشین چون زیاده مجبورم فقط سوالات واضح رو جواب بدم❤️


@Linuxor
Forwarded from Curious Geek ⚡️
در باب فواید Circular Queue 🤝
https://pedar.net/blog
🆔 @Hiradsajde
Forwarded from Gopher Academy
🔵 عنوان مقاله
Eliminating Dead Code in Go Projects

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

در سال 2023، تیم توسعه‌دهنده زبان برنامه‌نویسی Go ابزاری بنام "deadcode tool" را منتشر کرد که به شناسایی کد‌های غیرقابل دسترس یا مرده در پروژه‌های نرم‌افزاری کمک می‌کند. این ابزار با اسکن کد‌های Go، قسمت‌هایی که هرگز اجرا نمی‌شوند را شناسایی کرده و به توسعه‌دهندگان در حذف آن‌ها کمک می‌کند. استفاده از این ابزار موجب بهبود عملکرد و خوانایی برنامه‌ها شده و بازخورد مثبتی از جامعه توسعه‌دهندگان دریافت کرده است. این ابزار همچنین در بهینه‌سازی سیستم‌های قدیمی و در زمان بازنویسی‌های اساسی بسیار مفید است.

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


👑 @gopher_academy
Forwarded from linuxtnt(linux tips and tricks) (hosein seilany https://seilany.ir/)
بررسی سلامت باتری لپتاپ در لینوکس

۱. دستورupower
upower -i /org/freedesktop/UPower/devices/battery_BAT0 | grep -E "capacity|state|percentage"


خروجی مهم:
- percentage: درصد شارژ فعلی
- capacity: سلامت باتری (%)
- state: وضعیت (شارژ/دشارژ)

۲. دستور
acpi (ساده و سریع)
acpi -i


مثال خروجی:
Battery 0: Full, 100%  
Battery 0: design capacity 5000 mAh, last full capacity 4500 mAh = 90%


۳. روش فایل‌های سیستمی (بدون نیاز به نصب ابزار)
echo " healthy: $(cat /sys/class/power_supply/BAT0/capacity)%"  

💡 نکته: اگر دستورها کار نکردند، بسته‌های acpi یا upower را نصب کنید:

sudo apt install acpi upower  # برای دبیان/اوبونتو
Forwarded from Linuxor ?
مایکروسافت گفته 400 میلیون کاربر ویندوز رو از دست داده؛ خطاب به این 400 میلیون بگم لینوکس اولش سخته ولی یکم باهاش کار کنی دیگه با هیچی عوضش نمی‌کنی


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

در Go 1.25، بستهٔ `json/v2` (همراه با jsontext) معرفی شده است
یک نسخهٔ اساسی و پیشرفته‌تر نسبت به encoding/json قبلی که با فعال‌سازی آزمایشی از طریق متغیر محیطی GOEXPERIMENT=jsonv2 کار می‌کند

🔑 مزایای کلیدی json/v2

1. انعطاف‌پذیری در Marshal/Unmarshal

* دیگر محدود به یک رفتار یکنواخت نیستید؛ با MarshalToFunc و UnmarshalFromFunc می‌توانید رفتار سفارشی خود را برای هر نوع داده بنویسید

2. افزایش قابل‌توجه در سرعت

* به‌ویژه در عملیات خواندن (unmarshal)، تا ۱۰ برابر سریع‌تر از نسخهٔ فعلی گزارش شده است .

3. این API جدید برای تولید و مصرف جریان‌های داده

* امکان مستقیم خواندن از io.Reader و نوشتن به io.Writer فراهم شده (MarshalWrite, UnmarshalRead) بدون نیاز به شیء Encoder/Decoder جداگانه.

4. ویژگی‌های جدید همچون برچسب‌های سفارشی و رفتار پیش‌فرض بهبود یافته

* امکانات گسترده‌ای برای تنظیم سفارشی JSON وجود دارد (برچسب‌ها، inlining، skip کردن فیلدها و غیره) .

یک مثال مفهومی

فرض کنید می‌خواهید برای بولین‌ها (bool) به‌جای true/false از کاراکترهای ویژه مثل و استفاده کنید.

import (
"fmt"
"encoding/json/v2"
"encoding/json/v2/jsontext"
)

// Marshal custom برای bool:
boolMarshaler := json.MarshalToFunc(
func(enc *jsontext.Encoder, val bool) error {
if val {
return enc.WriteToken(jsontext.String("✓"))
}
return enc.WriteToken(jsontext.String("✗"))
},
)

// Marshal برای stringهای شبیه bool:
strMarshaler := json.MarshalToFunc(
func(enc *jsontext.Encoder, val string) error {
if val == "on" || val == "true" {
return enc.WriteToken(jsontext.String("✓"))
}
if val == "off" || val == "false" {
return enc.WriteToken(jsontext.String("✗"))
}
return json.SkipFunc
},
)

marshalers := json.JoinMarshalers(boolMarshaler, strMarshaler)

vals := []any{true, "off", "hello"}
data, err := json.Marshal(vals, json.WithMarshalers(marshalers))
fmt.Println(string(data), err)
// خروجی: ["✓","✗","hello"]


در این مثال:

* true به
* "off" به
* و رشتهٔ "hello" به حالت پیش‌فرض تبدیل می‌شود

📌 وضعیت کنونی و توصیه‌ها

*این Experimental: این ویژگی آزمایشی است و باید با GOEXPERIMENT=jsonv2 فعال شود
* نسخه فعلی encoding/json وقتی flag فعال باشد از json/v2 استفاده می‌کند و عملکرد قدیمی حفظ شده تا سازگاری کامل برقرار شود ([github.com][5]).
* توصیه شده: پروژه‌هایی که وابسته به عملکرد JSON هستند، با فعال‌سازی این flag تست شوند تا مشکلات ناسازگاری احتمالی شناسایی شود .

---
جمع‌بندی

*این json/v2 در Go 1.25 یک نسخه‌ی کاملاً بازطراحی‌شده است: سریع‌تر، انعطاف‌پذیرتر و پیشرفته‌تر.
* با قابلیت‌هایی مانند سفارشی‌سازی عمیق Marshal/Unmarshal و I/O مستقیم همراه است.
* هنوز آزمایشی‌ست؛ اگر پروژه‌ای دارید که نیاز به performance یا JSON پیچیده‌تری دارد، توصیه می‌شود با GOEXPERIMENT=jsonv2 امتحانش کنید.


👑 @gopher_academy
اینم برای دوستانی که مک دارن و میخوان با راست کلیک برنامه های مختلف رو باز کنن
۳ تا نمونه گذاشتم بقیه رو هم میتونید الگو برداری کنید و بزنید

https://github.com/mohammadhasananisi/mac-os-quick-action

@DevTwitter | <Mohammad Hasan/>
Forwarded from Linuxor ?
یه نفر یه API میکروسرویس کاملاً نیتیو برای فضای ابری ساخته : Auth با Laravel، مدیریت لیست شغل‌ها با Flask، و اپلای کردن با FastAPI. امنیتش با JWT هندل می‌شه و Redis برای نگهداری JTI استفاده شده تا توکن‌ها قابل ابطال باشن. برای هندل کردن ترافیک، Traefik رو آورده وسط با امکاناتی مثل rate limiting، circuit breaker و کلی middleware جذاب.

دیپلوی کامل روی AWS EKS انجام شده، CI با Jenkins و CD با ArgoCD به صورت اتومات پیاده‌سازی شده. یه معماری تمیز و حرفه‌ای برای اپ‌های مقیاس‌پذیر توی فضای میکروسرویس.

کدش اینجاست دوست داشتین برین یه چکی کنید :

github.com/EmmyAnieDev/Job-Microservice


@Linuxor
🛡💻 چک‌لیست کامل و حرفه‌ای ایمن‌سازی سرورهای HPE Gen9
اگر از سرورهای HPE ProLiant Gen9 استفاده می‌کنید (یکی از پرکاربردترین نسل‌ها)، بدون ایمن‌سازی صحیح، می‌تونن تبدیل به نقطه ضعف بزرگی در شبکه شما بشن. این چک‌لیست کامل، شما رو از لایه سخت‌افزار تا نرم‌افزار و شبکه پوشش می‌ده.

۱. امنیت فیزیکی
🔒 اولین خط دفاعی همیشه فیزیکی هست!
سرورها در دیتاسنتر یا اتاق سرور با دسترسی محدود و دوربین مداربسته.
قفل فیزیکی رک‌ها.
ثبت ورود و خروج‌ها (لاگ فیزیکی یا کارت‌خوان).

۲. ایمن‌سازی iLO (Integrated Lights-Out)
🎛 کنترل از راه دور اگر درست مدیریت نشه، تبدیل به خطر جدی میشه.
آپدیت iLO به آخرین نسخه موجود (برای Gen9 معمولا iLO 4).
محدود کردن دسترسی به iLO به شبکه مدیریت اختصاصی یا محدوده IP مشخص.
غیرفعال کردن پروتکل‌ها و سرویس‌های غیرضروری:
غیرفعال کردن SSL/TLS قدیمی (مثل TLS 1.0 و 1.1).
غیرفعال کردن SNMP اگر نیاز ندارید یا استفاده از SNMPv3.
غیرفعال کردن Virtual Media در صورت عدم نیاز.
استفاده از پسوردهای قوی و پیچیده (حداقل ۱۵ کاراکتر، ترکیبی).
غیرفعال کردن حساب‌های پیش‌فرض و ایجاد حساب‌های نقش‌محور.
فعال کردن لاگ و آلارم‌ها، و بررسی مداوم رخدادها.
تنظیم Timeout برای سشن‌ها.
اگر امکان‌پذیر، اتصال iLO به سیستم‌های مانیتورینگ مرکزی (SIEM).

۳. سیستم BIOS و ROM
⚙️ کنترل مستقیم سخت‌افزار از طریق BIOS خطرناک‌ترین نقطه حمله.
آپدیت BIOS و System ROM به آخرین نسخه (برای جلوگیری از آسیب‌پذیری‌های فریم‌ور).
فعال‌سازی Secure Boot برای جلوگیری از بوت شدن سیستم با کدهای مخرب.
فعال کردن TPM برای پشتیبانی از رمزنگاری سطح پایین و تشخیص تغییرات غیرمجاز.
تنظیم پسورد قوی برای BIOS/ROM.
غیرفعال کردن سخت‌افزارها و پورت‌های غیرضروری (مثل Serial Port، USB جلو در صورت عدم نیاز).

۴. ایمن‌سازی سیستم‌عامل
🖥 چه ویندوز چه لینوکس، سیستم‌عامل بدون پچ = خطر جدی.
بروزرسانی مداوم سیستم‌عامل و نصب وصله‌های امنیتی.
غیرفعال کردن سرویس‌ها و پکیج‌های غیرضروری (اصل مینیمالیسم).
محدود کردن حساب‌های ادمین و استفاده از Principle of Least Privilege (کمترین سطح دسترسی).
فعال‌سازی فایروال و تعریف دقیق رول‌ها.
استفاده از آنتی‌ویروس/EDR معتبر و آپدیت‌شده.
غیرفعال کردن پروتکل‌های قدیمی مثل SMBv1، Telnet، FTP.
فعال‌سازی لاگ‌گیری کامل (auditd در لینوکس یا Windows Event Logs).
پیاده‌سازی رمزنگاری دیسک کامل (BitLocker، LUKS، یا معادل).

۵. سخت‌گیری در سطح Hypervisor (اگر استفاده می‌کنید)
☁️ برای مجازی‌سازی، ایمن‌سازی Hypervisor حیاتی‌ست.
آپدیت مرتب به آخرین نسخه ESXi، Hyper-V، یا KVM.
جدا کردن شبکه مدیریت Hypervisor از شبکه عمومی (Management VLAN).
محدود کردن دسترسی مدیریتی با استفاده از ACL یا VPN.
استفاده از RBAC (Role-Based Access Control) برای کنترل دسترسی‌ها.
غیر فعال کردن سرویس‌های اضافی مانند SSH (یا محدود به IP مشخص).
ایمن‌سازی vMotion، Storage vMotion و کنسول VM با VLAN مجزا.
فعال کردن لاگ‌های دقیق و مانیتورینگ تغییرات.

۶. ایمن‌سازی ذخیره‌سازی و کنترلر RAID
💽 داده = ارزشمندترین دارایی.
آپدیت فریم‌ور کنترلر RAID و هاردها به آخرین نسخه.
استفاده از ویژگی Secure Erase هنگام جایگزینی یا ری‌تایر هارد.
استفاده از دیسک‌های Self-Encrypting (SED) یا رمزنگاری نرم‌افزاری.
ایزوله کردن شبکه SAN یا NAS و محدود کردن دسترسی با zoning.

۷. ایمن‌سازی شبکه
🌐 ورود به شبکه = ورود به قلب سیستم.
استفاده از VLAN برای جداسازی: Management، Production، Backup، Storage.
تعریف ACL دقیق برای محدود کردن دسترسی بین VLANها.
غیرفعال کردن پورت‌های غیرضروری روی سوئیچ‌ها و سرورها.
استفاده از Port Security یا 802.1X روی سوئیچ‌ها.
مانیتور کردن ترافیک با IDS/IPS یا سیستم‌های NDR.

۸. مانیتورینگ، هشدار و نگهداری
📡 امنیت بدون مانیتورینگ = بی‌معنی.
یکپارچه‌سازی لاگ‌ها با SIEM (مثل Splunk، ELK، QRadar).
فعال‌سازی SNMPv3 و محدود کردن سرور مانیتورینگ به IP مشخص.
تعریف آلارم برای رخدادهای بحرانی (مثل دسترسی غیرمجاز یا تلاش‌های ناموفق).
مرور دوره‌ای بولتن‌های امنیتی HPE و سیستم‌عامل.

۹. بکاپ و بازیابی
🌀 همیشه فرض کنید روزی حمله رخ می‌دهد.
داشتن بکاپ منظم و تست شده (Full, Incremental, Snapshot).
رمزنگاری بکاپ‌ها (در transit و at rest).
نگهداری نسخه‌های آفلاین یا immutable (ضد باج‌افزار).
تعریف و تست مرتب سناریو Disaster Recovery.

۱۰. مستندسازی و مدیریت تغییرات
🗂 نداشتن مستند یعنی نداشتن امنیت واقعی.
ثبت دقیق تمام تنظیمات و تغییرات.
داشتن فرآیند Change Management با تایید مدیر امنیت یا CTO.+
مستندسازی سیاست‌های دسترسی، رمز عبور، و به‌روزرسانی‌ها.
آموزش تیم فنی درباره رویه‌های امنیتی.


@code2_ir
قفل دو مرحله‌ای و سخت افزاری برای ورود SSH ها و سیستم‌ها رو هم فراموش نکنید. البته این ها صرفا یک جمع آوری داده و لیست پیشنهادی است و از طرف من صرفا جهت آشنایی معرفی می‌شه و نه به عنوان منبع یا دستورالعمل.

کانال کد۲
@code2_ir
This media is not supported in your browser
VIEW IN TELEGRAM
نحوه دسترسی به اپ‌استور iOS از طریق اتصال وای‌فای ...

▫️ 1.1.1.1 / 1.0.0.1
▫️ 8.8.8.8 / 8.8.4.4

© mester_software

🔍 ircf.space
@ircfspace