نمونه کارها و پروژههای انجام شده توسط من
نرمافزار Cloudflare WARP Manager یک برنامه گرافیکی تحت پایتون است که به کاربران امکان میدهد بهراحتی اتصال به سرویس Cloudflare WARP VPN را کنترل کنند. این ابزار با استفاده از کتابخانهی استاندارد Tkinter ساخته شده و از طریق دستورات سیستم (subprocess) با کلاینت warp-cli در ارتباط است. امکانات اصلی: اتصال و قطع اتصال به WARP با فشردن دکمه «Connect»، کاربر به سرویس WARP متصل میشود. با زدن دکمه «Disconnect»، اتصال قطع خواهد شد. امکان بررسی وضعیت فعلی اتصال از طریق گزینه «Check Status» نیز فراهم است. تنظیم DNS کاربران میتوانند DNS مورد نظر (پیشفرض: 1.1.1.1, 1.0.0.1) را وارد کرده و روی سیستم تنظیم کنند. تکنولوژیها و ابزارها: زبان برنامهنویسی: Python رابط گرافیکی: Tkinter اجرای دستورات سیستم: subprocess سرویس VPN: Cloudflare WARP (warp-cli) مزایا: استفاده ساده و کاربرپسند بدون نیاز به محیط خط فرمان برای مدیریت WARP قابل اجرا در سیستمهای لینوکسی متنباز و قابل توسعه توسط دیگران کاربردها: برای کاربران لینوکس که از Cloudflare WARP استفاده میکنند و به دنبال یک رابط گرافیکی ساده و زیبا برای مدیریت اتصال هستند.
در بسیاری از شبکهها، بهویژه شبکههای دانشگاهی یا عمومی، سیستمها بهصورت داینامیک از طریق DHCP آدرس IP دریافت میکنند. این آدرسها معمولاً زماندار هستند و پس از مدتی منقضی میشوند یا توسط سرور تغییر میکنند. این موضوع در برخی سناریوها میتواند مشکلات جدی ایجاد کند. یکی از چالشهای رایج، از دست رفتن دسترسی به سیستم از راه دور (Remote Desktop) به دلیل تغییر IP است. بهویژه زمانی که کاربر بخواهد از مکان دیگری مانند منزل به سیستم دانشگاهی خود متصل شود، ندانستن IP فعلی سیستم میتواند اتصال را غیرممکن کند. علاوه بر این، تغییر خودکار IP ممکن است تبعاتی مانند موارد زیر داشته باشد: - اختلال در دسترسی به سرویسهایی که به IP وابستهاند (وبسرورها، دیتابیسها و…) - از کار افتادن مکانیزمهای امنیتی مبتنی بر IP (مانند فایروالها یا احراز هویت IP-based) - امکان سوءاستفاده یا تداخل ناخواسته در شبکههای محلی در شرایط خاص برای رفع این مشکل، در این پروژه یک اسکریپت پایتون طراحی شده است که بهصورت خودکار در بازههای زمانی مشخص (مثلاً هر نیمساعت)، اقدام به تمدید آدرس IP فعلی میکند. این اسکریپت اطلاعات DHCP را بررسی میکند، زمان اجاره IP را تشخیص میدهد، و درست پیش از انقضا، دستور تمدید را اجرا میکند. همچنین تمام رویدادها و جزئیات، مانند زمان تمدید، IP فعلی و زمان تمدید بعدی، در یک فایل متنی ثبت میشوند. این راهکار ساده، کاربردی و قابل اتوماسیون است و میتواند به حفظ پایداری اتصال و جلوگیری از اختلالهای ناشی از تغییر IP کمک شایانی کند. برای مشاهده جزییات بیشتر و دیدن روش استفاده میتوانید با لینک گیت هاب پروژه به مخزن این پروژه بروید.
ویژه
توضیحات کلی: این پروژه یک وبسایت شخصی است (همین وب سایت) که با استفاده از فریمورک Django توسعه یافته است. هدف اصلی این وبسایت، ایجاد یک پلتفرم حرفهای برای معرفی شخصی، نمایش نمونهکارها و ارائه لینکهای شبکههای اجتماعی مانند لینکدین، گیتهاب و اینستاگرام است. در طراحی این پروژه، بهینهسازی تجربه کاربری (UX)، بهبود عملکرد، امنیت و سازگاری با انواع دستگاهها (ریسپانسیو بودن) مدنظر قرار گرفته است. ویژگیهای کلیدی طراحی مدرن و واکنشگرا: - پیادهسازی رابط کاربری با استفاده از **HTML، CSS، JavaScript** و فریمورکهای سبک مانند **Bootstrap**. - تطبیقپذیری کامل با موبایل، تبلت و دسکتاپ. معماری پیشرفته و بهینه: - استفاده از Django برای جداسازی منطقی بین بخشهای مختلف وبسایت. - پیادهسازی مدیریت محتوا (CMS) سفارشی برای ویرایش اطلاعات سایت بدون نیاز به کدنویسی. بخش معرفی و درباره من: - نمایش اطلاعات حرفهای شامل سوابق کاری، تحصیلی و مهارتها. - امکان مدیریت و ویرایش سریع اطلاعات از طریق پنل مدیریتی. نمایش نمونه کارها و پروژهها: - امکان دستهبندی و جستجو در بین پروژهها بر اساس تکنولوژیهای استفاده شده. - ارائه توضیحات، تصاویر، و لینکهای گیتهاب برای هر پروژه. اتصال به شبکههای اجتماعی و روشهای تماس: - لینکدهی به LinkedIn، GitHub، Instagram و سایر شبکههای اجتماعی. - پیادهسازی فرم تماس با من همراه با ارسال ایمیل خودکار. تکنولوژیهای استفادهشده: - Backend: Django (Python) - Frontend: HTML, CSS, JavaScript, Bootstrap - Database: Mysql - Version Control: Git, GitHub نتایج و تأثیر پروژه: - ارائه یک وبسایت شخصی حرفهای جهت برندسازی فردی و نمایش نمونهکارها. - ایجاد بستری برای شبکهسازی و تعامل حرفهای از طریق لینکهای اجتماعی و فرم تماس. به زودی این پروژه در گیت هاب منتشر میشود و لینک منبع آن در همین صفحه ارائه میشود.
پرو لاگینگ یک بستهٔ پیشرفته و کاملاً قابل تنظیم برای ثبت لاگ در پروژههای پایتون است که به توسعهدهندگان امکان میدهد فرآیندهای برنامهٔ خود را در یک فایل لاگ و در صورت تمایل در یک پایگاه داده ثبت کنند. این بسته از ویژگیهایی مانند چرخش لاگ، سطوح مختلف لاگ، ثبت لاگ بهصورت JSON و ذخیرهسازی در پایگاه داده پشتیبانی میکند. ویژگیها: سطوح لاگ: DEBUG، INFO، WARNING، ERROR، CRITICAL چرخش لاگ: پشتیبانی از چرخش لاگ بر اساس اندازهٔ فایل یا تاریخ فرمت JSON: امکان ثبت پیامهای لاگ بهصورت JSON ذخیرهسازی در پایگاه داده: ذخیرهٔ لاگها در پایگاه دادهٔ SQLite برای مدیریت و تحلیل آسانتر خروجی کنسول: چاپ پیامهای لاگ در کنسول قابلیت تنظیم: امکان پیکربندی نام فایل لاگ، سطوح لاگ، تنظیمات چرخش و موارد دیگر برای مشاهده جزییات بیشتر و دیدن روش استفاده میتوانید با لینک گیت هاب پروژه به مخزن این پروژه بروید.
ابزار مدیریت زبیکس یک برنامهٔ قدرتمند و کاربرپسند است که برای مدیریت و نظارت بر زیرساخت زبیکس طراحی شده است. این ابزار یک رابط کاربری ساده برای پیکربندیهای زبیکس، افزودن یا حذف میزبانها، نظارت بر معیارها و امکانات دیگر فراهم میکند. ویژگیها: پیکربندی API: امکان تنظیم URL و توکن API زبیکس برای یکپارچهسازی بدون مشکل. مدیریت میزبانها: افزودن، حذف و مدیریت آسان میزبانها درون برنامه. مدیریت وضعیت میزبان: فعال یا غیرفعال کردن میزبانها با چند کلیک. نظارت: مشاهدهٔ دادهها و نمودارهای نظارتی بهصورت بلادرنگ برای میزبانها. رابط کاربری با تبهای پویا: امکان ناوبری آسان بین عملکردهای مختلف با استفاده از تبهای پویا.
ویژه
پروژهٔ myarduinowithpy یک بستهٔ پایتون است که ارتباط بین بردهای آردوینو و زبان پایتون را تسهیل میکند. این بسته به کاربران امکان میدهد تا بردهای آردوینو را بدون نیاز به وابستگیهای اضافی و تنها با استفاده از دستورات ساده در پایتون برنامهریزی و کنترل کنند. ویژگیهای کلیدی: سهولت استفاده: فرآیند راهاندازی و کنترل پینهای آردوینو را ساده میکند. انعطافپذیری: از طیف گستردهای از عملکردهای آردوینو پشتیبانی میکند و برای پروژههای متنوع مناسب است.
ویژه
این پروژه یک سیستم پردازش و مدیریت لاگهای سرور است که اطلاعات مربوط به فعالیتهای کاربران و رویدادهای اجرایی را از فایلهای لاگ استخراج کرده و در پایگاه داده MySQL ذخیره میکند. این سیستم دارای قابلیتهای زیر است: اتصال خودکار به دیتابیس و خواندن اطلاعات از فایل پیکربندی (system.conf). استخراج دادههای کلیدی از فایلهای لاگ با استفاده از الگوهای Regex. شناسایی و حذف دادههای تکراری برای جلوگیری از ورود اطلاعات زائد. بررسی اعتبار تغییر وضعیت رویدادها بر اساس رویدادهای قبلی ذخیرهشده در دیتابیس. ذخیرهسازی بهینه اطلاعات بهصورت بچهای ۱۰۰۰تایی جهت افزایش کارایی. ثبت لاگهای نامعتبر و خطاهای پردازشی در جدول اختصاصی برای تحلیلهای بعدی. ذخیرهسازی کاربران نامشخص در جدول جداگانه برای بررسیهای بعدی. حفظ وضعیت پردازش لاگها و ادامه پردازش از آخرین محل ثبتشده در اجرای بعدی. این پروژه برای مدیران سیستم و تحلیلگران داده مفید خواهد بود تا بتوانند فعالیتهای کاربران، روند پردازش و استفاده از منابع سیستم را ردیابی و آنالیز کنند.