MashhadLUG | مَشهَدلاگ
1.65K subscribers
135 photos
26 videos
32 files
272 links
مشهدلاگ یا گروه کاربران لینوکس مشهد یک گروه مردم‌نهاد و همچنین ناسودبر است که در زمینه‌ی گنو/لینوکس و نرم‌افزار آزاد فعالیت می‌کند.

عضویت در گروه:
https://t.me/+UK8UjrkE8DM4ZmNk

سایت:
https://mashhadlug.org/
Download Telegram
مسابقهٔ مقاله‌نویسی «ویکی دوستدار ورزش» با هدف بهبود و گسترش محتوای مرتبط با ورزش در پروژه‌های ویکی‌مدیا توسط گروه کاربری ویکی‌مدین‌های ایرانی برگزار می‌شود. این مسابقه به‌ویژه بر روی گروه‌های کمتر شناخته‌شده مانند ورزشکاران زن، جامعه‌های دگرباش، ورزشکاران پارالمپیکی، اقلیت‌ها و گروه‌های کم‌برخوردار تمرکز دارد، اما از هر نوع محتوای مرتبط با ورزش استقبال می‌کند.

یک جلسهٔ آموزشی دربارهٔ نحوهٔ مشارکت در این رویداد و چگونگی ویرایش مقالات نیز روز چهارشنبه ۳۱ مرداد ساعت ۲۰ به وقت تهران در گوگل‌میت برگزار می‌شود.
اطلاعات بیشتر را از https://w.wiki/AuJp دنبال کنید.
🤔2
میدونی؟ 🫵 تو هم می‌تونی عضوی از مشهدلاگ باشی و اثرگذار بشی حتی اگر ساکن مشهد نباشی!

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

ما دنبال افرادی هستیم که دوست دارن مشارکت کنن:
- اخبار و اطلاعات جمع‌آوری کنن 📰
- مطالب جدید و مفید بنویسن ✍️
- یا هر ایده‌ای که دارن رو اجرا کنن 💡

اگه دوست داری به ما کمک کنی، همین الان پیام بده. منتظرتم! 🤝

@mashhadlug | > X <
❤9❤‍🔥5😍2👍1👏1
Go Design Patterns
Description:
Learn idiomatic, efficient, clean, and extensible Go design and
concurrency patterns by using TDD
Pages: 394
Publisher: Packt
Author: Mario Castro Contreras
👎3🔥2
MashhadLUG | مَشهَدلاگ
Go Design Patterns Description: Learn idiomatic, efficient, clean, and extensible Go design and concurrency patterns by using TDD Pages: 394 Publisher: Packt Author: Mario Castro Contreras
بررسی کتاب Go Design Patterns

با اینکه مطالعه کتاب هایی مثل GoF یا Head First Design Patterns خیلی خوب و مناسب هست، اما به علت تفاوت های زبان گو ممکنه مطالعه کتابی مختص به همین زبان خالی از لطف نباشه. همچنین من کتاب دیگه ای با عنوان دیزاین پترن در زبان گو پیدا نکردم.

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

انسجام خوبی داره و دیزاین پترن ها رو به ترتیب آسون به سخت توضیح داده. علاوه بر دیزاین پترن های GoF دو فصل مختصر راجع به concurrency صحبت کرده که اولین فصلش خیلی جالب هست. هرچند برای مقوله concurrency با اختلاف کتاب Concurrency In Go رو پیشنهاد می‌دم، اما این کتاب خیلی مختصر چند کانکارنسی پترن رایج رو توضیح داده و گاها ارتباط شون رو با دیزاین پترن های GoF گفته.

ایرادات کتاب از نظر من
رویکرد این کتاب TDD هست. شاید فصل اول این خیلی هیجان انگیز باشه. در محیط پروداکشن کاملا طبیعی هست که دو یا سه برابر یک کد براش تست بنویسیم. اما برای یادگیری دیزاین پترن، به‌نظرم بیشتر آزار دهنده بود. شاید اگر این رویکرد برای یک پترن بود خیلی بهتر می‌شد. اما برای بیش از ۲۵ دیزاین پترن و کانکارنسی پترن، یک عالمه تست نوشتن واقعا حوصله سربر هست. درواقع از ۴۰۰ صفحه این کتاب شاید ۲۰۰ صفحه اون واقعا مربوط به پیاده سازی دیزاین پترن ها باشه. این مسئله از نظر شخصی من پوینت منفی هست.

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

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

کتاب رو بخونم یا نه؟
پیشنهاد من این هست که یک نگاه سطحی به این کتاب مفید می‌تونه باشه. البته به شرط اینکه از قبل نگاهی به refactoring.guru انداخته باشید. کتابی نیست که بگم ارزش خیلی وقت گذروندن داره. ولی به‌عنوان چیزی که سطحی و گذرا ازش گذر کنید خوبه. گاها چیزای باحالی نصیب تون می‌شه.

لینک ها و کتاب های مرتبط
- Go Design Patterns
- Refactoring Guru
- Concurrency in Go
- GoF
- Head First Design Patterns

✍️ نویسنده: علی تون
#BookReview

@mashhadlug | > X <
🔥8👎6👍3❤2👏1
تحولی در معماری ترنسفورمرها با DeepSeek – قدرت متن‌باز

💡 در حالی که برخی شرکت‌ها مدل‌های زبانی خود را پشت درهای بسته نگه می‌دارند، DeepSeek با انتشار مدل‌های متن‌باز (Open Source) و به اشتراک‌گذاری پیشرفت‌های خود، گامی مهم در جهت تسریع پیشرفت هوش مصنوعی برداشته است.

🔍 بهبودهای کلیدی DeepSeek:

1️⃣ توجه نهان چندسری (MLA): در DeepSeek-V2، مکانیزم MLA حافظه مورد نیاز را کاهش داده و کارایی استنتاج را افزایش داده است.

2️⃣ مدل‌های ترکیبی از کارشناسان (MoE): این معماری باعث کاهش هزینه‌های آموزشی و بهبود عملکرد مدل‌ها شده است.

3️⃣ پیش‌بینی چندتوکنی: در DeepSeek-V3، مدل قادر است در هر مرحله چندین توکن را پیش‌بینی کند که منجر به افزایش سرعت تولید متن شده است.

📜 خلاصه مقاله:
محققان DeepSeek تغییرات مهمی را در معماری ترنسفورمرها اعمال کرده‌اند که باعث بهبود عملکرد و کاهش هزینه‌های پردازشی شده است. این پیشرفت‌ها شامل بهینه‌سازی مکانیزم توجه نهان چندسری (MLA) برای کاهش نیاز به حافظه، استفاده از مدل‌های MoE برای افزایش کارایی، و معرفی پیش‌بینی چندتوکنی برای تولید سریع‌تر متن است. این مدل‌ها به‌صورت متن‌باز منتشر شده‌اند تا امکان مشارکت و نوآوری گسترده‌تر در جامعه علمی فراهم شود.

🔬 دانش زمانی رشد می‌کند که به اشتراک گذاشته شود! انتشار متن‌باز این مدل‌ها نشان می‌دهد که وقتی تحقیقات و فناوری در دسترس عموم قرار می‌گیرند، جامعه علمی می‌تواند سریع‌تر نوآوری کند و مسیر پیشرفت هموارتر شود. 🚀

لینک‌های مرتبط:
- How has DeepSeek improved the Transformer architecture?
- راز گشایی از دیپ سیک(ویدیو)

✍️ امیر مطهری - ChatGPT

@mashhadlug | > X <
👍4❤1
نقدی بر اعلام نتایج عملکرد LLM ها

در دنیای مدل‌های زبانی بزرگ (LLM)، گاهی شرکت‌ها به جای پیشرفت علمی واقعی، بر روی موج تبلیغاتی سوار می‌شوند که دیگران برای آن هزینه کرده‌اند.
🔹اما آیا داده‌های ارائه‌شده در مقایسه‌های عملکردی واقعاً نشان‌دهنده یک جهش علمی هستند یا صرفاً بزرگنمایی تبلیغاتی برای افزایش ارزش سهام؟
افرادی که با الگوریتم‌های هوش مصنوعی کار کرده‌اند، می‌دانند که عملکرد یک مدل نه‌تنها پس از آموزش بلکه در مراحل تست و یادگیری تقویتی نیز ثابت نمی‌ماند. بنابراین، هنگام تحلیل نتایج ارائه‌شده، لازم است مواردی مانند منبع تست، نحوه اجرا، سخت‌افزار مورد استفاده، و استاندارد بودن بنچمارک‌ها را در نظر بگیریم.
🔹چه نسخه ای از مدل ها در این گزارش ها با هم مقایسه می شوند؟
برای مثال در سند مقایسه عملکرد Qwen2.5-Max با نسخه‌ی GPT-4o (0806) مقایسه شده است، مدلی که به گفته‌ی خود OpenAI، یکی از کم‌عملکردترین نسخه‌های GPT-4o بوده و شش ماه پیش منتشر شده است. در حالی که نسخه‌ی رایگان فعلی GPT که کاربران به آن دسترسی دارند، حتی از این مدل قدیمی عملکرد بهتری دارد. این انتخاب، سوالاتی جدی در مورد اعتبار مقایسه‌ی ارائه‌شده ایجاد می‌کند.

🔹 مدل‌های زبانی را می‌توان جدای از تست‌های کاربردی و بنچمارک‌ها نیز تحلیل کرد. اما چگونه؟
✅ Entropy: میزان عدم قطعیت مدل؛ کمتر باشد، مدل مطمئن‌تر است.
 ✅ Perplexity: چقدر مدل از پاسخ خود متعجب می‌شود؛ مقدار کمتر بهتر است. 
✅ Cross-Entropy Loss: خطای پیش‌بینی مدل؛ عدد پایین‌تر یعنی یادگیری بهتر. 
✅ Log-Likelihood: احتمال درست بودن خروجی؛ مقدار بالاتر یعنی اعتمادپذیری بیشتر. 
✅ Gradient Updates & Convergence: آیا مدل در مسیر بهبود یادگیری قرار دارد یا گیر کرده است؟

🔹 این معیارها نشان می‌دهند که یک LLM چقدر یاد گرفته و چقدر پیش‌بینی‌هایش قابل اعتماد است.

📖 لینک های مرتبط:
-Understanding Perplexity
-Cross-Entropy Loss Explained
-Gradient Descent & Convergence
-Qwen2.5-Max: Exploring the Intelligence of Large-scale MoE Model

✍️ ابراهیم رحیمی
@mashhadlug | > X <
👍5🤮4👎2🔥2❤1
🚀 نصب DeepSeek روی اوبونتو 24.04 با Ollama و Web UI

با این روش، مدل DeepSeek را روی سیستم خود اجرا کنید و بدون نیاز به سرویس‌های ابری، از قدرت AI استفاده کنید!

🔹 پیش‌نیازها:
📌 اوبونتو 24.04
📌 اینترنت پایدار
📌 حداقل 8GB رم (16GB پیشنهاد می‌شود)

🔹 مراحل نصب:

1️⃣ نصب Python و Git:
sudo apt update && sudo apt upgrade -y
sudo apt install python3 python3-pip python3-venv git -y


2️⃣ نصب Ollama:
curl -fsSL https://ollama.com/install.sh | sh
sudo systemctl start ollama
sudo systemctl enable ollama


3️⃣ دانلود و اجرای مدل DeepSeek:
ollama run deepseek-r1:7b

✅ بعد از دانلود، با اجرای ollama list مدل را بررسی کنید.

4️⃣ اجرای Web UI برای تعامل آسان‌تر:
python3 -m venv ~/open-webui-venv
source ~/open-webui-venv/bin/activate
pip install open-webui
open-webui serve

🌍 سپس در مرورگر به http://localhost:8080 بروید و از DeepSeek لذت ببرید!

📌 برای جزئیات بیشتر: مقاله کامل در TecMint

✍️ امیر مطهری - ChatGPT

🔹 پیشنهاد:
برای درک عمیق‌تر از این معماری و دلیل برتری آن، می‌توانید دو ویدیوی زیر را تماشا کنید (من ویدیوی دوم را پیشنهاد می‌کنم):
جادی:
https://youtu.be/ej1uoCib7WM?si=hvLn4bpA5kqe-Vf9
مهرزاد صمدی:
https://youtu.be/viV8aIXeWEQ?si=JiPt29a_u3yTzq3V

@mashhadlug | > X <
👍7❤6🔥1
۱۳ ابزار CLI که هر توسعه‌دهنده‌ای باید در ۲۰۲۵ بشناسد!

در دنیای توسعه نرم‌افزار، ابزارهای خط فرمان (CLI) همچنان از مهم‌ترین ابزارهای بهره‌وری هستند. در اینجا ۱۳ ابزار کاربردی که کار شما را سریع‌تر و بهینه‌تر می‌کنند معرفی می‌کنیم:
✅ tmux – مدیریت چندین ترمینال هم‌زمان
✅ htop – نمایش گرافیکی پردازش‌ها
✅ fzf – جستجوی سریع و فازی در فایل‌ها و تاریخچه دستورات
✅ bat – جایگزین مدرن برای cat با هایلایت کد
✅ eza – جایگزین پیشرفته ls با نمایش بهتر اطلاعات
✅ ripgrep (rg) – جستجوی فوق سریع در فایل‌ها
✅ Zsh – شل قدرتمند با قابلیت‌های تکمیل خودکار
✅ Git – محبوب‌ترین ابزار کنترل نسخه
✅ cURL – انتقال داده و درخواست‌های HTTP
✅ tldr – مستندات خلاصه و کاربردی برای دستورات CLI
✅ jq – پردازشگر قدرتمند JSON در خط فرمان
✅ ncdu – تحلیل و نمایش حجم دیسک به‌صورت گرافیکی
✅ asciinema – ضبط و اشتراک‌گذاری جلسات ترمینال

🚀 این ابزارها به شما کمک می‌کنند بهره‌وری بیشتری در ترمینال داشته باشید و فرایندهای خود را بهینه کنید! شما از کدام یک استفاده می‌کنید؟ 🤔
🔗 مطالعه کامل: Tecmint

✍️ امیر مطهری - ChatGPT

@mashhadlug | > X <
👍5🔥3
اهمیت حمایت مالی و نقش آن در پیشرفت پروژه‌های غیرانتفاعی

گاهی با پروژه‌ها یا ایده‌هایی روبرو می‌شویم که می‌توانند تأثیر مثبتی روی جامعه یا محیط اطراف ما داشته باشند. این پروژه‌ها معمولاً در حوزه‌هایی مثل آموزش، محیط زیست، سلامت، هنر یا حمایت از افراد نیازمند فعالیت می‌کنند. اما چیزی که به بسیاری از این پروژه‌ها اجازه می‌دهد به کار خود ادامه دهند، حمایت مالی یا همان دونیشن است.

حمایت مالی از پروژه‌های غیرانتفاعی، نه‌تنها به رشد و توسعه‌ی آن‌ها کمک می‌کند، بلکه نشان‌دهنده‌ی یک فرهنگ مشارکت و مسئولیت‌پذیری اجتماعی است. در بسیاری از کشورهای پیشرفته، حمایت مالی از چنین پروژه‌هایی به یک عادت تبدیل شده است. مردم به‌راحتی از پروژه‌هایی که به آن‌ها اعتقاد دارند، حمایت می‌کنند، چون می‌دانند حتی یک کمک کوچک هم می‌تواند تفاوت ایجاد کند.

چرا حمایت مالی مهم است؟
1. پایداری پروژه‌ها: بسیاری از پروژه‌های غیرانتفاعی بدون حمایت مالی قادر به ادامه‌ی کار نیستند.
2. تأثیرگذاری جمعی: وقتی تعداد زیادی از افراد با مبالغ کوچک مشارکت می‌کنند، نتیجه‌ی آن می‌تواند بسیار بزرگ باشد.
3. تقویت فرهنگ مشارکت: حمایت مالی از پروژه‌ها، نه‌تنها به آن‌ها کمک می‌کند، بلکه دیگران را نیز تشویق می‌کند تا در این کار مشارکت کنند.

چگونه می‌توانیم مشارکت کنیم؟
- حتی با مبالغ کوچک شروع کنید. هر مقدار کمک، ارزشمند است.
- پروژه‌هایی را انتخاب کنید که به آن‌ها اعتقاد دارید و با اهدافشان همسو هستید.
- حمایت مالی را به یک عادت تبدیل کنید. این کار نه‌تنها به دیگران کمک می‌کند، بلکه به شما احساس رضایت و مفید بودن می‌دهد.

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

✍️ امیر مطهری - DeepSeek

@mashhadlug | > X <
❤12🤮5👍3👎1👏1
کامپایل پایتون 1.0 پس از ۳۰ سال!

🎂 به مناسبت سی و یکمین سالگرد انتشار اولین نسخه پایدار پایتون، یک توسعه‌دهنده کنجکاو تصمیم گرفت پایتون 1.0 را بررسی و کامپایل کند!

🚀 چالش اصلی؟
🔸 این نسخه قدیمی را نمی‌توان روی سیستم‌های مدرن مستقیماً اجرا کرد!
🔸 برخی از توابع و کتابخانه‌ها با GCC جدید ناسازگارند.

💡 راه‌حلی که استفاده شد:
1️⃣ دریافت سورس‌کد پایتون 1.0 از FTP رسمی پایتون
2️⃣ اجرای یک سیستم‌عامل قدیمی (Debian 2.2) در Podman
3️⃣ نصب ابزارهای قدیمی مانند GCC و libc6-dev
4️⃣ اصلاح کدهای ناسازگار با کامپایلر مدرن
5️⃣ اجرای configure، make و make install برای کامپایل
6️⃣ تست اجرای پایتون 1.0 در این محیط شبیه‌سازی‌شده

📜 نتیجه:
❌ امکان اجرای مستقیم روی سیستم مدرن وجود ندارد.
✅ اما می‌توان با شبیه‌سازی محیط قدیمی، آن را کامپایل و اجرا کرد!
✅ مقایسه این نسخه با پایتون مدرن نشان‌دهنده‌ی پیشرفت‌های شگفت‌انگیز این زبان در طول ۳۰ سال گذشته است.

📎 برای جزئیات بیشتر، مقاله را بخوانید.

پ.ن:
این مقاله در فوریه منتشر شده و تولد پایتون ژانویه است(بهمن ۱۳۷۲)

✍️ امیر مطهری - ChatGPT

@mashhadlug | > X <
🔥8
سیر تکامل زمانبندها در لینوکس🐧

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

داستان از زمانبند O(1) شروع میشه که با دو صف هوشمندش زمان CPU رو تقسیم می‌کرد. بعد می‌رسیم به انقلاب CFS که با درخت‌های قرمز-سیاه و مفهوم vruntime، عدالت رو به ارمغان آورد. و حالا در کرنل 6.6، زمانبند EEVDF با مفهوم deadline مجازی، یک قدم دیگه به جلو برداشته.

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

مشاهده ویدیو:
- How Linux Shares CPU Time?

✍️ ابراهیم رحیمی

@mashhadlug | > X <
👍9🔥5
جلسه ۲۷۵ اُم گروه کاربران لینوکس مشهد

📆 پنج‌شنبه - ۹ اسفند ۱۴۰۳
⏰ ساعت ۱۶ الی ۱۸

🚀 ارائه‌ها :

🔹علیرضا ارزه گر با موضوع : مقدمه ای بر RPC
🔹امیر محمد رضوانی نیا با موضوع :
AutoScaling in Kubernetes


📍 محل برگزاری جلسه:

بلوار خیام، بین چهارراه خیام و چهارراه ارشاد، ساختمان پارک فناوری اطلاعات و ارتباطات، مرکز توسعه واحدهای فناور(پست بانک)، طبقه دوم، سالن آمفی تئاتر

https://www.openstreetmap.org/node/4240967603

🔹لینک ثبت نام
(صرفا جهت مشخص شدن تعداد شرکت کننده ها و برنامه ریزی بهتر)

https://survey.porsline.ir/s/RqbjlgHo

🔹 شرکت در رویداد برای عموم، آزاد و رایگان می‌باشد.

🔹 حامی این جلسه: گرین وب


@mashhadlug
🔥14👍5
سالن در حال آماده سازی نهایی
منتظر حضور شما هستیم ✨

آدرس محل رویداد:
https://www.openstreetmap.org/node/4240967603
🔥4👍1
تا لحظات دیگه جلسه شروع خواهد شد
منتظر حضور شما هستیم ✨
🔥2
تا پنج دقیقه دیگه جلسه شروع میشود.
اگر محل رو پیدا نکردید اینجا رو چک کنید
https://www.openstreetmap.org/node/4240967603

طبقه دوم سالن آمفی‌تئاتر
شروع ارائه‌ اول
RPC
🔥7
This media is not supported in your browser
VIEW IN TELEGRAM
ارائه اول: علیرضا ارزه‌گر
❤9