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 linuxtnt(linux tips and tricks) (hosein seilany https://seilany.ir/)
کوبونتو ۲۵.۰۴ به‌طور پیش‌فرض از Wayland استفاده می‌کند
در نسخه جدید کوبونتو ۲۵.۰۴، تغییر مهمی اتفاق افتاده: حالا به‌طور پیش‌فرض از Wayland به‌جای X11 استفاده می‌شود. البته اگر کسی بخواهد، هنوز هم می‌تواند X11 را انتخاب کند.

در اوایل سال ۲۰۲۴، KDE پیشنهاد کرد که به‌طور پیش‌فرض از Wayland استفاده شود، همزمان با انتشار Plasma 6. خیلی از توزیع‌هایی که از KDE استفاده می‌کنند، فعلاً صبر کردند — از جمله کوبونتو. اما حالا این تغییر اعمال شده است.

از دیگر ویژگی‌های مهم این نسخه می‌توان به ارتقاء به نسخه‌های جدیدتر نرم‌افزار اشاره کرد: Plasma 6.3.4، Qt 6.8.3، KDE Frameworks 6.12 و KDE Gear 24.12.3. البته هنوز همه برنامه‌ها به آخرین نسخه‌ها به‌روزرسانی نشده‌اند، چون بعضی نسخه‌های جدید همین امروز منتشر شده‌اند.
Forwarded from Gopher Academy
تفاوت بین stdout و stderr توی ظاهر ممکنه کوچیک به نظر بیاد، ولی توی دنیای واقعی (به‌خصوص در سرور‌ها، لاگینگ، کانتینرها و automation) خیلی مهمه.


## 🔧 مثال کاربردی: اجرای برنامه و جداسازی خروجی‌ها

فرض کن برنامه‌ای داریم به نام myapp که هم لاگ عادی داره و هم خطا:


// main.go
package main

import (
"fmt"
"os"
)

func main() {
fmt.Fprintln(os.Stdout, "Everything is running fine.") // خروجی عادی
fmt.Fprintln(os.Stderr, "Oops! Something went wrong!") // پیام خطا
}



الان اگه اینو تو ترمینال اجرا کنیم:

go run main.go


هردو پیام روی ترمینال میان. ولی اگه بخوای فقط خروجی معمول رو بریزی تو فایل:

go run main.go > output.txt


📁 نتیجه:
- output.txt: فقط شامل "Everything is running fine."
- پیام خطا همچنان روی ترمیناله

اما اگه بخوای خطا رو هم بریزی تو یه فایل دیگه:


go run main.go > output.txt 2> error.txt



📁 نتیجه:

- output.txt → خروجی عادی (stdout)
- error.txt → پیام خطا (stderr)

---


## 🐳 در دنیای کانتینرها (مثلاً Docker)

خیلی از ابزارهای لاگینگ (مثل fluentd, logstash, یا خود docker logs) فقط stdout و stderr رو بررسی می‌کنن. پس جداسازی درستش باعث میشه:
- مانیتورینگ بهتر انجام بشه
- خطاها مشخص‌تر باشن
- عملکرد بهتر در CI/CD


👑 @gopher_academy
Forwarded from آموزش لینوکس و اوپن سورس
لوبونتو ۲۵.۰۴؛ نگاهی به نسخه LTS بعدی

تیم لوبونتو سخت در تلاش است برای آینده، اما هنوز نتوانسته تغییرات بزرگی را در این نسخه ارائه دهد.

علاوه بر ویژگی‌های جدیدی که با دیگر توزیع‌ها مشترک است، لوبونتو حالا از Qt نسخه ۶.۸.۳ استفاده می‌کند.

در ادامه مسیر، انتظار می‌رود که در نسخه ۲۶.۰۴ پشتیبانی کامل از Wayland اضافه شود و تقریباً همه چیز به Qt6 منتقل شود.
Forwarded from آموزش لینوکس و اوپن سورس
زوبونتو ۲۵.۰۴ دسکتاپ جدید را آورده، اما برای Wayland باید صبر کرد

در نسخه ۲۵.۰۴ زوبونتو (با نام رمز Plucky Puffin)، دو تغییر مهم دیده می‌شود: دسکتاپ به نسخه Xfce 4.20 ارتقاء یافته که شامل بخش‌ها و برنامه‌هایی از Gnome 48 نیز هست.

با اینکه در این نسخه پیشرفت‌هایی در جهت پشتیبانی از Wayland انجام شده، اما هنوز به جایی نرسیده که بتوان یک نشست Wayland را ارائه کرد. فعلاً به‌صورت رسمی باید از Xorg استفاده کرد.

از دیگر تغییرات می‌توان به موارد زیر اشاره کرد:
اضافه شدن پشتیبانی از OpenVPN
پشتیبانی از فرمت‌های تصویری avif، heic، heif و webp بعد از نصب اولیه
عملکرد کلید META برای باز کردن منو بهتر شده و راحت‌تر می‌توان آن را تنظیم کرد
پیش‌نمایش چاپ اکنون از Atril پشتیبانی می‌کند
پشتیبانی از ماشین‌های مجازی بهبود یافته
و همچنین نسخه ۳.۰ برنامه GIMP هم در این نسخه قرار گرفته است.
Forwarded from linuxtnt(linux tips and tricks) (hosein seilany https://seilany.ir/)
انتشار Pinta 3.0؛ ویرایشگر تصویر با پشتیبانی از GTK4

پس از انتشار نسخه ۳.۰ برنامه محبوب GIMP، حالا نوبت به Pinta 3.0 رسیده است؛ یک ویرایشگر تصویر متن‌باز که از برنامه Paint.NET الهام گرفته شده و حالا به GTK4 و libadwaita منتقل شده است.

Pinta برنامه‌ای ساده و سبک برای ویرایش تصویر است و در زبان C# نوشته شده است. بزرگ‌ترین تغییر در نسخه جدید، استفاده از ابزار توسعه GTK4 و کتابخانه طراحی libadwaita است که ظاهر و عملکرد برنامه را مدرن‌تر کرده است.

در نسخه ۳.۰ همچنین شاهد ویژگی‌های جدیدی هستیم:
نصب‌کننده ARM64 برای سیستم‌عامل macOS
افکت‌های تصویری جدید
امکان خروجی گرفتن به فرمت PPM
پشتیبانی از بزرگ‌نمایی تصویر با الگوریتم nearest-neighbor
پشتیبانی از فرمت WebP در ویندوز

اطلاعات بیشتر و لینک دانلود نسخه جدید در سایت رسمی Pinta-Project.com در دسترس است.
⁉️ چرا QEMU را به VirtualBox و Vmware ترجیح میدم؟
🔥 به مناسبت انتشار QEMU 10.0

اگر دنبال یادگیری و درک عمیق و حرفه ای مجازی سازی هستی و میخواهی تا جای ممکن دستت باز باشه و بفهمی در اعماق چه اتفاقی می افته، باید کار با QEMU را شروع کنی


برای من QEMU + KVM: سریع‌تر، قدرتمندتر، قابل‌اسکریپت‌نویسی، (حتی بوت macOS، اندروید، رزبری‌پای، BIOS و ...)

📦 از نظر کاربرد، QEMU یک جایگزین کامل برای VirtualBox و VMware .
💠ساخت و اجرای ماشین مجازی
💠اجرای سیستم‌عامل‌های مختلف درون VM
💠پشتیبانی از snapshot، شبکه، USB، به‌اشتراک‌گذاری فایل و ...

🟥 از نظر "تجربه کاربری" و ساختار:
‏VirtualBox / VMware: رابط گرافیکی کاربرپسند، نصب ساده، کلیک‌محور.
‏QEMU: بیشتر به صورت خط فرمان یا با ابزارهایی مثل virt-manager و GNOME Boxes استفاده میشه.

ابزار QEMU می‌تونه ARM، RISC-V، PowerPC، SPARC، MIPS و هر چی بخوای رو شبیه‌سازی کنه! ولی VirtualBox / VMware فقط x86/x86_64
یادتون باشه وقتی چیزی ساده میشه جزئیات پنهان میشه
Follow the White Rabbit

@MehrdadLinuxchannel
#linux
Forwarded from Gopher Academy
🔵 عنوان مقاله
Revive 1.8: A Faster, Configurable, Flexible Linter for Go

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

مقاله‌ای در مورد ابزار جدیدی است که به عنوان جایگزینی برای "golint"، ابزار فرمت‌بندی محبوب زبان برنامه‌نویسی Go، ارائه شده است. این ابزار جدید با ارائه بازخورد سازمان‌یافته‌تر، گزینه‌های سفارشی‌سازی و عملکرد بهبود یافته، فرآیند فرمت‌بندی را تقویت می‌کند. این ابزار توسط پروژه‌ها و کتابخانه‌های بزرگ Go به سرعت پذیرفته شده است. فایل README در مخزن GitHub توضیح می‌دهد که این ابزار جدید چگونه از golint متفاوت است، و به جزئیات تقویت‌های عملکردی، ویژگی‌های قابل تنظیم، و بهبود عملکرد آن می‌پردازد.

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


👑 @gopher_academy
Forwarded from Linuxor ?
هرچقدرم کدو اصلاح کنی تا خودتو اصلاح نکنی فایده نداره

لینوس توروالدز

@Linuxor
This media is not supported in your browser
VIEW IN TELEGRAM
یه افزونه‌ی ساده‌ی کروم که به GPT و GitLab وصل می‌شه و توی مرور Merge Request‌ها کمک می‌کنه.
این افزونه با استفاده از GPT پیشنهاداتی برای بهبود کد می‌ده و به بررسی سریع‌تر کمک می‌کنه.

repository:
https://github.com/farshidinanloo/gitlab-gpt-code-review

@DevTwitter | <Farshid Inanloo/>
Forwarded from 🎄 یک برنامه نویس تنبل (The Lazy 🌱)
🔶 ویرگول معادل مدیوم هم پولی شد.

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

#خبر

@TheRaymondDev
Forwarded from Geek Alerts
دولت آمریکا دنبال اینه که گوگل رو مجبور کنه مرورگر کروم رو بفروشه، وکلای گوگل گفتن این اقدام دادگاه افراطی هست و فعلا دارن مقاومت میکنن.

یکی از مدیران ارشد OpenAI تو جریان همین دادگاه گفته که شرکتشون تمایل داره مرورگر کروم رو بخره. دلیلش اینه که این مرورگر ۴ میلیارد کاربر داره و OpenAI میتونه ChatGPT رو با این مرورگر یکپارچه کنه، احتمالا قبول کنن حتی مبالغ خیلی بزرگی مثلا ۱۰۰ میلیارد دلار و بیشتر براش پرداخت کنن.

🔗 arstechnica
🤓 @geekalerts
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Geek Alerts
This media is not supported in your browser
VIEW IN TELEGRAM
مدل جدیدی به اسم Avatar FX توسط Character.AI معرفی شده که یه عکس ثابت رو تبدیل به یه ویدیو میکنه که توش صورت، لب‌ها، دست‌ها و بدن آواتار با حرف زدن یا آهنگ خوندن حرکت می‌کنن.

این مدل با استفاده از تکنولوژی‌های مثل diffusion transformer و سیستم تبدیل متن به گفتار (TTS) خودشون کار می‌کنه. می‌تونه ویدیوهای طولانی بسازه، مکالمه بین چند نفر رو هندل کنه، و حتی می‌ذاره شما با دادن کی‌فریم مشخص کنید که آواتار چطور حرکت کنه.

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

🔗 testingcatalog
🤓 @geekalerts
Please open Telegram to view this post
VIEW IN TELEGRAM
بذار ماجرای باگ 2G رو بگم.
این نسل کلا احراز هویت شبکه نداره، با IMSI catchers میشه موبایل‌هارو فریب داد که بهش وصل بشن. (چون گوشی فکر میکنه این دکل مخابراتی واقعی هست)
کارای زیادی مثل پیدا کردن موقعیت، شنود تماس، پیامک و ... میشه انجام داد.
حتی وقتی شما دارید از 4G استفاده میکنید میشه اتصال شمارو دستکاری کرد که به 2G سوییچ کنه.
توی دنیا دولت‌ها و مجرم‌ها ازش استفاده میکنن با این حال دولت‌ها خیلی هم بهش نیازی ندارن چون اونا قابلیت‌های شنود قانونی (lawful interception - LI) در شبکه‌های تلفن همراه رو دارن.
(بعضی از کشورها دسترسی شنود کامل دارن و بعضی فقط با دستور قانونی، بعضی‌ها هم که کل سیستم مخابراتی دست خود دولت هست که به معنی شنود جمعی و بدون نظارت هست.)
مجرم‌ها ولی میتونن با تجهیزاتی در حدود ۵۰ دلار این کار رو انجام بدن.
با این حال باگ‌های امنیتی 2G کم نیستن، تا جایی که از اندروید ۱۲ یه گزینه اضافه کردن که میتونی 2G رو کلا غیر فعال کنی.
از اونجایی که این یه مشکل امنیتی هست، پس چه دولت و چه مجرم‌ها میتونن ازش استفاده کنن، یه اصل هست «چیزی که تو بتونی شنود کنی بقیه هم میتونن» به خاطر همین دولت کشورها (۶۱ کشور) برنامه‌ریزی کردن 2G رو کلا خاموش کنن، یه جاهایی مثل ژاپن و استرالیا دیگه 2G نداره و بقیه هم تو فرایند پایان دادن به این تکنولوژی هستن.

@DevTwitter | <Soroush Ahmadi/>
Forwarded from Geek Alerts
This media is not supported in your browser
VIEW IN TELEGRAM
خبر خوب اینکه Grok تو نسخه آیفون ویژگی Vision و یه حالت صدای جدید اضافه کرده، اگر آپدیت کنید گراک میتونه محیط اطراف شمارو به کمک دوربین گوشی ببینه، سرچ لحظه‌ای یا Real-time search رو هم اضافه کردن.

اندرویدی‌ها هم فعلا منتظر باشن.

🔗 macrumors
🤓 @geekalerts
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Geek Alerts
سقف پیام به مدل o3 از OpenAI از ۵۰ پیام در هفته به حدود ۱۰۰ پیام رسیده. قابلیت زمان‌بندی کارها که قبلا فقط برای یه مدل تستی خاص 4o بود، الان به مدل‌های o3 و o4-mini هم اضافه شده.

🔗 testingcatalog
🤓 @geekalerts
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Clang
دسته بندی انواع داده در C(این دسته بندی ممکنه براتون متفاوت باشه، برخلاف کتاب های فارسی):
👉1.Basic type
◾️◾️1.1.Standard and extended integer types
◾️◾️1.2.Real and complex floating-point types
👉2.Enumerated types
👉3.The void type(بله، کلاً دنیای void متفاوته)
👉4.Derived types
◾️◾️4.1.Pointer types
◾️◾️4.2.Array types
◾️◾️4.3.Union types
◾️◾️4.4.Structure types
◾️◾️4.5.Function types
با ترکیب این دسته بندی ها، میتونیم دسته بندی های جدیدی تولید کنیم که نیاز به توضیح دارن:
Basic types + Enumerated types = Arithmetic types
Arithmetic types + Pointer types = Scaler types
Array types + structure types = aggregate types
نوع داده Function هم واسط تابع رو تعیین میکنه، یعنی نوع پارامتر ها و نوع برگشتی تابع... یک تابع میتونه یک نوع باشه و با typedef ازش اسم مستعار بسازیم(یک چیزی توی مایه های delegate توی زبانای دیگه)

انواع اسکالر
همونطوری که از اسمشون پیداس(از Scale یا مقیاس میاد)، برای بیان اندازه های مختلف مثل حجم و فاصله و آدرس حافظه استفاده میشن و همیشه باید single value باشن، یعنی یک مقدار معتبر داشته باشن(مثلاً یک آرایه میتونه چند تا مقدار داشته باشه، پس اسکالر نی)...
مواردی که میتونن شامل این دسته باشن:
1. integers 2. floating-points 3. Fractions

مواردی هم که اسکالر نیستن:
1. Arrays 2. bool

بدیهی هستش که bool برای اندازه گیری استفاده نمیشه و آریه هم میتونه چند مقدار ذخیره کنه!
انواع aggregate یا همون ترکیبی
این دسته بندی برای ذخیره چندین مقدار مختلف تحت یک شناسه هستش، مثلاً یک آرایه یا ساختمان در زبان C.
حالا اینجا یک سوال پیش میاد... چرا union ها جز این دسته نیستن؟ #نکته
اینجا میتونید بحث کنید: https://t.iss.one/ccismywife/11407