Abolfazl Devs
45 subscribers
8 photos
13 links
creator @ixabolfazl
Download Telegram
Channel created
.
Forwarded from یه شعر (Abolfazl)
سلام
تو این کانال هر روز صبح و عصر حدود ساعت 9 و 19 یک شعر توسط رباتی که نوشتم به صورت اتوماتیک قرار میگیره

فعلا شعر های که ربات میفرسته از رباعیات خیام و مولانا هستش ولی در آینده تنوع شعر ها بیشتر میشه😃

منبع ربات سایت گنجور هستش و شعر ها ازین سایت دریافت میشه و شما پایین هر مطلب میتونید با کیلک روی لینک گنجور به صفحه اون شعر داخل سایت گنجور برید‌✌️


راستی من ابوالفضل هستم برنامه نویس این ربات و اینم کانال خودمه خوشحال میشم عضو بشید:
@abolfazl_devs

سورس ربات رو هم داخل لینک پایین میتونید ببینید:
https://github.com/ixabolfazl/poembot
👍1
یه شعر
سلام تو این کانال هر روز صبح و عصر حدود ساعت 9 و 19 یک شعر توسط رباتی که نوشتم به صورت اتوماتیک قرار میگیره فعلا شعر های که ربات میفرسته از رباعیات خیام و مولانا هستش ولی در آینده تنوع شعر ها بیشتر میشه😃 منبع ربات سایت گنجور هستش و شعر ها ازین سایت دریافت…
https://github.com/ixabolfazl/poembot

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

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

نیاز به سرور نداره و با گیتهاب اکشن هم میتونید یه نمونه برا خودتون ران کنید.

تا حد امکان سورسشم مرتب کردم که بشه راحت تغیر داد و استفاده کرد👌

اگه خوشتون اومد خوشحال میشم تو گیتهاب ستاره بدید.
@abolfazl_devs
👍3
خیلی وقت پیش من نیاز داشتم به ترجمه متن تو پایتون اما خب api درستی نبود یا اگه بود پولی بود و بدون کیفیت

پس با یه تریکی اومدم و از خود گوگل ترنسلیت استفاده کردم برای اینکار

کارم که تموم شد تصمیم گرفتم تبدیلش کنم به یک پکیج پایتون

نتیجه اون شد این پکیج etranslate که خیلی راحت میتونید با دستور
pip install etranslate 

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

translate("Hello world", to="fa")  
# سلام دنیا
translate("Hello world", to="de")
# Hallo Welt
translate("Hello world!", src="en", to="fa")
# سلام دنیا

سورس اونو میتونید ازینجا ببینید:
https://github.com/ixabolfazl/etranslate

اگه خوشتون اومد خوشحال میشم تو گیتهاب ستاره بدید.
@abolfazl_devs
🔥5👍1
دوستان کسی هست پایتون رو نصب داشته باشه رو سیستمش و سیستم عامل لینوکسی یا ویندوز داشته باشه؟

یه برنامه جدید اپن سورس میخام بزارم ولی نیاز دارم قبلش تست بشه رو سیستم عامل ویندوز و لینوکس
اگر میتونید به این آیدی پیام بدید:
@ixabolfazl
اگه تو ام ازونایی هستی که با فیلم دیدن میخوای زبانتو بهتر کنی ادامه این مطلبو از دست نده 🤓

شما هم احتمالا اکثر فیلما رو با زیر نویس می‌بینید ولی گاهی اوقات شده تو یه فیلم یه عبارتی رو میگن و خوب متوجه نمی‌شید حالا اگه دوتا زیر نویس رو همزمان(یکی بالا یکی پایین) داشته باشید، دیگه چیزیو از دست نمیدید👌

برنامه Subtitle Merger دقیقا همینکار رو میکنه و دوتا زیر نویس میگیره و در خروجی یه فایل زیر نویس نهایی بهتون میده که میتونید رو پلیر هاتون استفاده کنید.

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

https://github.com/ixabolfazl/subtitle-merger

اگه خوشتون اومد خوشحال میشم تو گیتهاب ستاره بدید.

@abolfazl_devs
🔥10👏1👌1
😁3
Forwarded from یه شعر (Abolfazl)
سلام
باتوجه به پیشنهاد دوستان‌
از حالا دسته بندی های زیر به ربات اضافه شده:

قطعات حافظ
غزلیات حافظ
رباعیات حافظ
قطعات سعدی
رباعیات سعدی

توجه کنید که انتخاب شعر بین اشعار بالا و شعر های قبلی کاملا رندوم هستش

📍@iipoem
زبان گو لنگ یه زبان کامپایلری هست به این معنی که کدی که نوشته شده باید به زبان ماشین تبدیل بشه و بعدش میتونیم اون رو اجرا کنیم یجورایی باید اول build بگیریم.

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

مثلا اگر شما روی لینوکس برای یک کد گو لنگ بیلد بگیرید فقط رو همون لینوکس و همون معماری سیستمتون اجرا میشه!

حالا گاهی پیش میاد که ما میخوایم روی لینوکس برای ویندوز بیلد بگیریم یا حتی مک🤓

تو زبان گو لنگ به این صورت عمل میکنیم:


کامند برای بیلد گرفتن ساده:
go build main.go


حالا فرضا میخوایم برای ویندوز بیلد بگیریم:
env GOOS=windows go build main.go


اگر معماری سیستم رو هم میخواید تعیین کنید به این صورت:
env GOOS=windows GOARCH=amd64 go build main.go


اینم یه نمونه کد دیگه که اگه خواستیم برای مک بیلد بگیریم:
env GOOS=darwin GOARCH=amd64 go build main.go




و اگه اطلاعات کامل ترین در این مورد نیاز داشتید میتونید لینک پایین رو یه نگاه بندازید:

https://www.digitalocean.com/community/tutorials/building-go-applications-for-different-operating-systems-and-architectures
👍3
Happy Programmer's Day 👨‍💻🎉
2
اگه شماهم لینوکس و ویندوز رو کنار هم به صورت بوت چندگانه یا دوال بوت (Doal Boot) داشته باشید و مثل من زیاد بین ویندوز و لینوکس سوییچ کنید احتمالا با این برخورد داشتید که ساعت های یکیشون یا همشون به هم میخوره و هر دفعه باید تنظیم کنید!

راه حل این مشکل دستور پایینه یه بار که این دستور رو تو ترمینال لینوکستون بزنید مشکل حل میشه:
sudo timedatectl set-local-rtc true


@abolfazl_devs
👍3
دستور rsync تو لینوکس چیه و به چه دردی می‌خوره؟

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

خب فرقش با دستور cp چیه؟
یکم امکانات بیشتری میده مثلا فقط فایل‌هایی که تغییر کردن یا جدید هستن رو کپی می‌کنه که خب زمان کپی رو کاهش میده یا اگه دوس داشتید پروگرس بار نشون میده😁

ساختار کلی دستور اینجوریه:
rsync [options] source destination


فرض کن می‌خوای یه پوشه‌ی my_folder رو توی backup_folder کپی کنی:
rsync /my_folder/ backup_folder/


حالا فرضا میخوای فقط فایل های جدید تر رو کپی کنی:
rsync -u /my_folder /backup_folder/


آپشن های مهم این دستور ایناس:
1. -a
2. -v
3. -u
4. -r
5. --delete
6. --progress


1- مثل حالت آرشیو می‌مونه؛ دسترسی‌ها، تایم‌استمپ‌ها و همه‌چی رو دقیق کپی می‌کنه.

2- اطلاعات دقیقی از روند کپی بهت میده.

3- حالت به‌روزرسانی؛ فقط فایل‌های جدیدتر یا تغییر کرده رو کپی می‌کنه.

4- حالت بازگشتی؛ کل زیرپوشه‌ها رو هم کپی می‌کنه.

5- هرچی تو مقصد اضافه است و تو مبدا نیست، حذف می‌کنه. واسه هماهنگی کامل عالیه.

6- وضعیت انتقال رو نشون میده؛ مثلا سرعت، درصد پیشرفت و زمان باقی‌مونده.

یه نمونه از کاربردش تو پشتیبانی گیری از فایل ها هستش مثلا
می‌تونی با cron کاری کنی که rsync به صورت خودکار تو یه زمان خاص مثلا هر روز، ساعت 2 صبح اجرا بشه:
0 2 * * * rsync -avu --delete /my_folder /backup_folder


با دستور بالا تو crontab هر روز ساعت 2 صبح از فایلای جدید تر پوشهmy_folder توی backup_folder یه پشتیبان می‌گیره

@abolfazl_devs
👍1
SQL JOINs are like Set Theory:

🔗 Ezekiel @ezekiel_aleke
📲 @twittdl_bot
NLP (Natural Language Processing)
چیه و چه کاری ازش برمیاد؟


پردازش زبان طبیعی، یه تکنولوژی توی هوش مصنوعیه که کمک می‌کنه کامپیوترها زبون ما آدمارو بفهمن.
با NLP، سیستم‌ها می‌تونن متن یا صدا رو تحلیل کنن، معنی‌ش رو بفهمن و حتی جواب مناسب تولید کنن.

مثال‌هاش تو زندگی روزمره :
- گوگل که وقتی چیزی سرچ می‌کنی، متوجه منظورت میشه.
- ربات‌های چت که سوالاتت رو جواب میدن.
- یا وقتی Siri و Alexa حرفت رو گوش میدن و برات کاری انجام میدن.

یکی از قابلیت‌های مهم NLP، ریشه‌یابی کلمات (Lemmatization) هست. مثلا اگه یه کلمه تو متن شکل‌های مختلفی داشته باشه (مثل live, lives, lived, living)، همه رو می‌گیره و به یه فرم اصلی (مثلاً live) تبدیل می‌کنه.


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

اگه هر شکل از یه کلمه رو جدا ذخیره می‌کردم، دیتابیس الکی شلوغ میشد و کلی دیتای اضافی و تکراری داشتم و همینطور تعداد تکرار هم درست حساب نمیشد!


مثلاً کلمه‌های live, lived, living, lives اگه جداگانه ذخیره بشن، انگار ۴ تا کلمه مختلف داریم، در حالی که همه‌شون یه معنی میدن!


چطور این چالش رو حل کردم؟
با کمک NLP و ابزارهایی که کار ریشه یابی رو انجام میدن مثل کتابخونه NLTK تو پایتون👌


🔧 یه مثال عملی با کتابخونه NLTK
from nltk.stem import WordNetLemmatizer

wnl = WordNetLemmatizer()

words = ["live", "lives", "lived", "living"]

for word in words:
print(wnl.lemmatize(word,pos='v'))

📋 خروجی:
live
live
live
live


تو کد بالا با فرض اینکه کلمات ورودی از نوع فعل هستند میاد ریشه فعل رو رو خروجی میده حالا اینکه چطوری نوع کلمه (فعل،اسم،صفت و...) رو تشخیص بدیم خودش یه کار دیگه هست که میتونید با خوندن داکیومنت این کتابخونه یادش بگیرید.

@abolfazl_devs
👍31