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 Woland's Linux Journal (Woland)
💠Ghostty Terminal💠


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

این ترمینال که با زبان زیگ نوشته شده، قابلیت native os integration رو داره که به معنی استفاده‌ی ترمینال از کتابخانه‌های و sdk های سیستم‌عامل است.

سرعت بسیار بالا نکته‌ی اصلی این ترمیناله، همون‌طور که سازنده ردیس گفته، میلیون‌ها خط دیباگینگ رو در یک آن رندر می‌کنه.

این ترمینال همچنین یک پنجره‌ی inspector مشابه مرورگر‌ها ایجاد کرده که بهتون کمک می‌کنه برنامه‌های ترمینالی رو دیباگ کنین.

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

👉🔗 Download
#معرفی
Forwarded from Woland's Linux Journal (Woland)
Forwarded from Woland's Linux Journal (Woland)
Forwarded from Woland's Linux Journal (Woland)
مانند هرسال، امسال هم در انتهای سال یک پرسشنامه طراحی کردیم برای کاربران پارچ.

این آخرین پرسشنامه‌ای بود که طرح میشه و از این به بعد برای پارچ پرسشنامه‌ای نخواهیم داشت.

🔗 https://survey.porsline.ir/s/1gsro5i


@ParchLinux
بعد از حدود یک سال, دیتای ریپوزیتوری مترو رو اپدیت کردم.
و درحال حاظر یکی از کامل ترین دیتای گراف مترو تهران رو می‌تونید در غالب json به صورت opensource داشته باشید.

خوشحال میشم که مشارکت کنید که دیتای کامل تری بشه

https://github.com/mostafa-kheibary/tehran-metro-data

@DevTwitter | <Mosi/>
Forwarded from Gopher Academy
اگر با زبان Go کار میکنید
بهتون اکستنشن Error Lens رو پیشنهاد میکنم
در همون لحظه و محیط کد به شما ارور های احتمالی رو میده


<Misagh Momeni Bashuqeh/>


https://t.iss.one/addlist/KpzXaiSpKENkMGM0
Forwarded from Anophel | آنوفل
Forwarded from Anophel | آنوفل
💢وقتی چند تا گوروتین داده تولید می‌کنن، چطور خروجی‌ها رو توی یه کانال واحد ترکیب کنیم؟

⭐️ این یکی از چالش‌های جالب توی گولنگه! برای این کار، روش‌های مختلفی وجود داره که هر کدوم مزایا و معایب خودشون رو دارن.



⭐️ترکیب کانال‌ها (Merging Channels) توی گولنگ یکی از اون چالش‌های جالبیه که برای مدیریت همزمانی و ارتباط بین گوروتین‌ها استفاده میشه.



⭐️ دو روش اصلی برای این کار وجود داره:



💠- ترکیب ترتیبی (Sequential Merging):

توی این روش، کانال‌ها یکی‌یکی خونده میشن. یعنی اول داده‌های کانال اول رو می‌خونیم، وقتی تموم شد میریم سراغ کانال بعدی.

این روش ساده‌تره ولی ممکنه زمان بیشتری بگیره چون منتظره که هر کانال بسته بشه.

مثال: تصویر 1

گه دو کانال داشته باشیم که هر کدوم ۴ عدد تولید می‌کنن و هر عدد ۵۰ میلی‌ثانیه طول بکشه، زمان کلی ۳۵۰ میلی‌ثانیه میشه (یعنی یکی بعد از دیگری).



💠-- ترکیب همزمان (Concurrent Merging):

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

مثال : تصویر 2

با استفاده از این روش، دو کانال ما فقط ۲۰۰ میلی‌ثانیه طول می‌کشن تا داده‌ها رو ترکیب کنن.



💢اگر ترتیب داده‌ها مهم است:

از روش Sequential استفاده کنید.

اگر کارایی و همزمانی اهمیت دارند: از روش Concurrent استفاده کنید.



💢هر دو روش به نیاز برنامه و محدودیت‌های شما وابسته هستند.


💙 Anophel | آنوفل

#گو #گولنگ #go #golang #goroutines
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from CleverDevs (Mammad)
یه چیزی که درباره پایتون رو مخمه ، شما به 90 درصد افراد غیربرنامه نویس بگی که برنامه نویس هستی بر میگردن میگن پایتون بلدی؟ من یه زمان پایتون یاد میگرفتم (هلو ورلد چاپ کرده)

#python #fun
@CleverDevs - @CleverDevsGp
Forwarded from ~Loveaвle (Hanie)
متاسفانه امسال بعد از 403 مستقیم وارد 405 می‌شیم! چون
404 not found :)))

@luvablee
Forwarded from Code Module | کد ماژول (genix)
میدونستی با Node.js میتونی انیمیشن های جذابی توی ترمینال بسازی؟ 🚀

یکی از کارهایی که میتونید به عنوان سرگرمی انجام بدید، ساخت انیمیشن های ترمینال هست. مقاله vladimirvovk یک راهنمای جامع در مورد چگونگی انجام این کار هست. این مقاله نحوه ساخت digital rain که شبیه به Matrix هست رو نشون میده که با استفاده از process.stdout، اون رو میسازه(البته به صورت کوچیک شده). همچنین یک مقدمه کوتاهی از ANSIS هم داره که کار رو برای ساخت رنگ ها ساده میکنه و میتونید از اون توی انیمیشن هاتون استفاده کنید.

برای اطلاعات بیشتر به این مقاله مراجعه کنید.

#nodejs
@CodeModule
Forwarded from Linuxor ?
سیستم عامل kolibrios با حجم 1.44 MB

محیط گرافیکی کامل و ویرایشگرهای متنی، شبکه، بازی، مرورگر، رسانه ها و تعداد زیادی قابلیتهای مفید دیگه همگی در یک فلاپی 1.44 مگابایتی
https://kolibrios.org/en/

@DevTwitter | <MehrdadLinux/>
Forwarded from Woland's Linux Journal (Woland)
🔹تبدیل گفتار به نوشتار🔹

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

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

🔸نصب:

ابتدا Xdotool را نصب کنید.

سپس یک محیط مجازی برای پایتون ایجاد کنید.

python3 -m venv Dictation
cd Dictation
source bin/activate

سپس مراحل زیر را انجام دهید:
pip3 install vosk

git clone https://github.com/ideasman42/nerd-dictation.git
cd nerd-dictation
wget https://alphacephei.com/kaldi/models/vosk-model-small-en-us-0.15.zip
unzip vosk-model-small-en-us-0.15.zip
mv vosk-model-small-en-us-0.15 model

برای استفاده از برنامه به شیوه‌ی زیر عمل کنید:
./nerd-dictation begin --vosk-model-dir=./model

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

برای توقف برنامه SIGINT یا دستور زیر را وارد کنید:

./nerd-dictation end

برای تبدیل گفتار فارسی به نوشتار یک مدل فارسی دانلود کنید و مشابه مراحل بالا از آن استفاده کنید.

همچنین از این برنامه می‌تونین در توسعه برنامه‌های خود استفاده کنید. هر زبان دو مدل حجیم و کم حجم برای استفاده در محیط موبایل داره.

👉🔗 Github

#آموزش #معرفی
Forwarded from Linuxor ?
بعضی وقتا هزاران تحلیل و آنالیز کامپیوتری، اندازه یک قضاوت مهندسی شما نمی‌تونه کار کنه.


@Linuxor ~ Safe
امشب حوصلم سر رفته بود گفتم یدونه کتابخونه جنریت پسورد بنویسم، براش doc هم نوشتم، اگه دوست داشتید استفاده کنید، قابلیت excludeSimilar هم داره حتی :)
اکانت npm ام مشکل داشت، حالا وقت کردم روی اونجا هم میذارمش
https://github.com/Mehranlip/RandomPassX

@DevTwitter | <Mehran/>
Forwarded from Go Casts 🚀
یکی از چیزایی که از rust خیلی دوست دارم pattern matching هست، خیلی تر و تمیز و انعطاف پذیر هست.
اینجا بیشتر میتونید در موردش بخونید.
https://doc.rust-lang.org/book/ch06-00-enums.html

مثلا استفاده کردن match در کنار Result ENUM خیلی practice خوبی برای بررسی خروجی یک تابع یا متد هست.

اینطوری مجبور نیستی همه توابع رو طوری بنویسی که خروجی آخرشون error باشه (در گولنگ اینطوریه)

به کمک pattern matching هم خیلی خوانایی کد کمتر نمیشه بنظرم.

let greeting_file_result = File::open("hello.txt");

let greeting_file = match greeting_file_result {
Ok(file) => file,
Err(error) => match error.kind() {
ErrorKind::NotFound => match File::create("hello.txt") {
Ok(fc) => fc,
Err(e) => panic!("Problem creating the file: {e:?}"),
},
other_error => {
panic!("Problem opening the file: {other_error:?}");
}
},
};


از نظر error handling فکر میکنم نگاه مشترکی با گولنگ داره، از این نظر که خطاهارو دو دسته recoverable و unrecoverable میبینه که یکی رو با Result مدیریت میکنه و یکی رو با panic که فکر میکنم خیلی شبیه نگاه گولنگ هست.
Most languages don’t distinguish between these two kinds of errors and handle both in the same way, using mechanisms such as exceptions. Rust doesn’t have exceptions. Instead, it has the type Result<T, E> for recoverable errors and the panic! macro that stops execution when the program encounters an unrecoverable error.


@gocasts

#rust #golang
Forwarded from a pessimistic researcher (Kc)
امروز فهمیدم که یک extension ای از زبان prolog وجود داره به اسم n-prolog که به تازگی قابلیت نوشتن برنامه‌های distributed و multi-thread بهش اضافه شده. توی این پست می‌تونید بیشتر در موردش بخونید. ولی باید به این نکته توجه کرد که این زبان خیلی نوپاست و از نظر اتکاپذیری و scalability قابل مقایسه با prolog استاندارد نیست. ولی در کل جالب انگیز بود
Forwarded from linuxtnt(linux tips and tricks) (hosein seilany https://seilany.ir/)
🔰مروری بر اخبار لینوکسی در این روزهای اخیر:
🔹در ادامه این پست:
https://t.iss.one/linuxtnt/4050

🔹در این هفته، برنامه‌ها، درایورها، محیط‌های دسکتاپ و هسته‌های لینوکس متعددی منتشر شده‌اند که در ادامه مروری بر آنها دارم:

1. ویرایشگر ویدیوی OpenShot 3.3:
این نرم‌افزار متن‌باز و ساده برای ویرایش ویدیو است که برای کاربران مبتدی و حرفه‌ای مناسب است. نسخه جدید آن با بهبودهایی در عملکرد و افزودن ویژگی‌های جدید منتشر شده است.
2. ابزار مدیریت پایگاه‌داده DBeaver 24.3.1
:
DBeaver یک ابزار قدرتمند برای مدیریت و کار با پایگاه‌های داده رابطه‌ای است. این به‌روزرسانی با رفع باگ‌ها و بهبود عملکرد، تجربه کاربری بهتری را فراهم می‌کند.
3. نرم‌افزار DevedeNG 4.19.0:
این برنامه برای ایجاد دیسک‌های ویدیویی (DVD یا Blu-ray) از فایل‌های ویدیویی استفاده می‌شود. نسخه جدید آن با قابلیت‌های بهبودیافته و پشتیبانی از فرمت‌های بیشتر عرضه شده است.
4. سیستم init سنتی SysVinit 3.12:
SysVinit یکی از سیستم‌های init سنتی در لینوکس است که برای مدیریت فرآیندهای سیستم در هنگام بوت استفاده می‌شود. این به‌روزرسانی بهبودهایی در عملکرد و پایداری دارد.
5. ویرایشگر تصاویر RAW متن‌باز Darktable 5.0:
Darktable یک نرم‌افزار حرفه‌ای برای ویرایش تصاویر RAW است که به عکاسان اجازه می‌دهد تصاویر خود را با دقت بالا ویرایش کنند. نسخه جدید آن تغییرات عمده‌ای در رابط کاربری و تجربه کاربری دارد.
6. ویرایشگر متن GNU nano 8.3:
nano یک ویرایشگر متن ساده و سبک‌وزن است که برای ویرایش فایل‌های متنی در ترمینال استفاده می‌شود. این نسخه با بهبودها و رفع باگ‌ها منتشر شده است.
7. هسته‌های پایدار لینوکس:
نسخه‌های مختلف هسته لینوکس شامل 6.12.6 LTS، 6.6.67 LTS، 6.1.121 LTS، 5.15.175 LTS، 5.10.232 LTS و 5.4.288 LTS منتشر شده‌اند. این نسخه‌ها بهبودهای امنیتی و عملکردی را برای سیستم‌های لینوکس به همراه دارند.
8. کتابخانه گرافیکی Mesa 24.3.2:
Mesa یک کتابخانه گرافیکی متن‌باز است که برای پشتیبانی از سخت‌افزارهای گرافیکی در لینوکس استفاده می‌شود. این به‌روزرسانی بهبودهایی در پشتیبانی از کارت‌های گرافیک جدید دارد.
9. ابزار DXVK 2.5.2:
DXVK یک ابزار برای اجرای بازی‌های ویندوزی روی لینوکس است که با ترجمه دستورات Direct3D به Vulkan کار می‌کند. این نسخه پشتیبانی بهتری برای بازی‌هایی مانند Alpha Protocol و Borderlands 2 ارائه می‌دهد.
10. نرم‌افزار دانلود SABnzbd 4.4.1:
SABnzbd یک نرم‌افزار دانلود فایل‌های NZB است که برای دانلود فایل‌ها از Usenet استفاده می‌شود. این نسخه با بهبودها و رفع باگ‌ها منتشر شده است.
11. نرم‌افزار مدیریت کتاب‌های الکترونیکی Calibre 7.23.0:
Calibre یک نرم‌افزار جامع برای مدیریت کتاب‌های الکترونیکی است که امکان تبدیل فرمت، سازماندهی و خواندن کتاب‌ها را فراهم می‌کند. این نسخه با ویژگی‌ها و بهبودهای جدید عرضه شده است.
12. سیستم init مدرن systemd 257.1:
systemd یک سیستم init مدرن برای مدیریت فرآیندهای سیستم در لینوکس است. این به‌روزرسانی با رفع مشکلات و بهبود عملکرد ارائه شده است.
13. ابزار مدیریت ساخت نرم‌افزار CMake 3.31.3:
CMake یک ابزار قدرتمند برای مدیریت فرآیند ساخت نرم‌افزارها است. این نسخه با به‌روزرسانی‌های جدید و بهبود عملکرد منتشر شده است.
14. مجموعه نرم‌افزار اداری LibreOffice 24.8.4:
LibreOffice یک مجموعه نرم‌افزار اداری متن‌باز است که شامل ابزارهایی مانند واژه‌پرداز، صفحه‌گسترده و ارائه است. این نسخه با رفع 55 باگ و بهبود پایداری منتشر شده است.
15. مرورگر متن‌باز Chromium 131.0.6778.204:
Chromium پایه‌ای برای مرورگرهای مانند Google Chrome است. این نسخه با بهبودهای امنیتی و عملکردی به‌روزرسانی شده است.
16. پلتفرم کانتینری‌سازی Docker 27.4.1:
Docker یک پلتفرم محبوب برای ایجاد و مدیریت کانتینرها است. این نسخه با رفع باگ‌ها و بهبودها عرضه شده است.
17. ویرایشگر متن سبک‌وزن SciTE 5.5.4:
SciTE یک ویرایشگر متن سبک‌وزن و سریع است که برای برنامه‌نویسی و ویرایش کد استفاده می‌شود. این نسخه با به‌روزرسانی‌های جدید منتشر شده است.
18. کلاینت تورنت qBittorrent 5.0.3:
qBittorrent یک کلاینت تورنت متن‌باز و بدون تبلیغات است. این نسخه با بهبودها و رفع مشکلات به‌روزرسانی شده است.
19. سرور نمایش Xorg 21.1.15:
Xorg یک سرور نمایش برای سیستم‌های لینوکس است که وظیفه مدیریت گرافیک و نمایش را بر عهده دارد. این نسخه با رفع باگ‌ها و بهبود عملکرد ارائه شده است.
20. نرم‌افزار مدل‌سازی و انیمیشن سه‌بعدی Blender 4.3.2:
Blender یک نرم‌افزار قدرتمند برای مدل‌سازی، انیمیشن و رندر سه‌بعدی است. این نسخه با بهبودها و رفع مشکلات منتشر شده است.
21. مجموعه کامپایلر‌ها و ابزارهای توسعه LLVM 19.1.6:
Forwarded from linuxtnt(linux tips and tricks) (hosein seilany https://seilany.ir/)
LLVM یک مجموعه ابزار برای توسعه و بهینه‌سازی نرم‌افزارها است. این نسخه با به‌روزرسانی‌های جدید عرضه شده است.
22. نرم‌افزار اسکن تصاویر VueScan 9.8.41:
VueScan یک نرم‌افزار اسکن تصاویر است که از اسکنرهای مختلف پشتیبانی می‌کند. این نسخه با بهبودها و پشتیبانی از اسکنرهای جدید به‌روزرسانی شده است

📌نویسنده: حسین سیلانی
📌منبع :
آکادمی کندوی دانش
https://learninghive.ir