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 a pessimistic researcher (Kc)
Forwarded from Geek Alerts
عباداله محمودیان، ریاضی‌دان ایرانی و استاد دانشگاه صنعتی شریف، درگذشت.

عبداله محمودیان، محقق و استاد دانشکده ریاضی دانشگاه شریف، امروز در ۸م دی ماه در سن ۸۱ سالگی درگذشت. دکتر محمودیان فارغ‌التحصیل دکترای دانشگاه پنسیلوانیا، از موسسان انجمن رمز ایران، رییس انجمن ریاضی ایران، عضو سابق کمیته المپیاد ریاضی و کامپیوتر ایران بود. زمینه تحقیقاتی‌شون ترکیبیات و گراف بود و کتاب‌هایی در این باره منتشر کرده بودند. ایشان همچنین از راهنمایان مریم میرزاخانی نیز بوده‌ است. «آشنایی با گراف‌ها» از جمله کتاب‌های محبوب محمودیان است.

https://sina.sharif.edu/~emahmood/
hadi @geekalerts
Forwarded from Go Casts 🚀
یه کتابی که خیلی فیدبک های خوبی داره برای ساختمان داده و الگوریتم، کتاب
A Common-Sense Guide to Data Structures and Algorithms, Second Edition: Level Up Your Core Programming Skills 2nd Edition
هست که ریویوهاش رو اینجا میتونید بخونید
https://www.amazon.com/Common-Sense-Guide-Structures-Algorithms-Second/dp/1680507222

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


قبلا تو کانال در مورد مزایای یادگیری مصور صحبت شده بود
https://t.iss.one/gocasts/155


@gocasts
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