Ninja Learn | نینجا لرن
1.26K subscribers
96 photos
36 videos
11 files
307 links
یادگیری برنامه نویسی به سبک نینجا 🥷
اینجا چیزایی یاد میگیری که فقط نینجاهای وب‌ بلدن 🤫

📄 Send me post: https://t.iss.one/NoronChat_bot?start=sec-fdggghgebe

👥 ɢʀᴏᴜᴘ: https://t.iss.one/+td1EcO_YfSphNTlk
Download Telegram
چند نفر از دوستان گفتن دوره امنیت برای برنامه نویسای وب برگزار کنیم نظرتون چیه؟
Final Results
15%
نه همون html و css رو میخوام
85%
دوره امنیت بهتره چو دوره خوبی واسش نیست
7
خب دوستان تو پست بعدی میخوام درمورد یه cms خفن که مال جنگوعه صحبت کنم به اسم Wagtail
منتظرش باشید 😉

انقدر خفنه که گوگل و بیزینسای بزرگم ازش استفاده کردن 😁
🔥12👍31
Ninja Learn | نینجا لرن
چند نفر از دوستان گفتن دوره امنیت برای برنامه نویسای وب برگزار کنیم نظرتون چیه؟
تو این نظرسنجی هم لطفاً همتون شرکت کنید تا دوره ای رو ضبط کنیم که شما بهش نیاز دارید
9
Ninja Learn | نینجا لرن pinned «چند نفر از دوستان گفتن دوره امنیت برای برنامه نویسای وب برگزار کنیم نظرتون چیه؟»
دوستان نظرتون چیه که هر هفته یه نظر سنجی بزاریم و پستایی که شما میخواید رو در طول اون هفته درست کنیم؟ 🤔
👍18🔥2
سیستم مدریت محتوا (CMS) Wegtail 🐦

امروز می‌خوام یه کم درمورد Wagtail صحبت کنیم؛ یه CMS حرفه‌ای و خوش‌دست که این روزا بین توسعه‌دهنده‌های جنگو حسابی محبوب شده. اگه یه بار بخواین یه سیستم مدیریت محتوا (CMS) حرفه‌ای و انعطاف‌پذیر برای پروژه‌هاتون راه بندازین و دیگه وردپرس و اون پلاگین‌ها و پیچیدگی‌هاش خسته‌تون کرده، حتماً Wagtail یه گزینه ایده‌آل براتونه. 😎


حالا Wagtail چیه؟ 🐦
یه سیستم مدیریت محتوای اپن‌سورس و مبتنی بر جنگو که برای ساخت سایت‌های داینامیک و مقیاس‌پذیر طراحی شده. توی Wagtail از امکانات عالی جنگو استفاده شده و همینطور یه UI ساده و مینیمال داره که کار باهاش رو خیلی لذت‌بخش می‌کنه. 🎨



چرا از Wagtail استفاده کنیم؟ 🤔

1⃣ سرعت و عملکرد بالا 🚀: Wagtail با پایتون و فریم‌ورک Django ساخته شده، که از لحاظ سرعت و پرفورمنس کلاً یه سر و گردن از وردپرس بالاتره.

2⃣ سفارشی‌سازی قوی 🛠️: با اینکه توی وردپرس هم می‌شه کد سفارشی نوشت، ولی با معماری Wagtail و قدرت جنگو، می‌تونید هر نوع سفارشی‌سازی‌ای رو راحت‌تر و تمیزتر انجام بدین.

3⃣ سیستم مدیریت تصاویر و ویدئو 📸: یکی از نکات قوت Wagtail سیستم مدیریت تصاویره. این CMS ابزارهای کاملی برای برش، تغییر سایز، و بهینه‌سازی تصاویر داره و بهتون کمک می‌کنه تا محتوای تصویری باکیفیت‌تری بسازید.

4⃣ ـUser Experience بهتر 🧑‍💻: UI مینیمال و ساده‌ای که داره، کار باهاش رو راحت و لذت‌بخش می‌کنه. شما و کاربرهاتون راحت‌تر می‌تونید صفحات و محتوای سایت رو مدیریت کنید.


مقایسه با وردپرس 🆚
خب، شاید بگید وردپرس رو همه بلدن و کلی پلاگین داره و اینا. درسته، ولی اینا همیشه هم مزیت نیستن پلاگین‌های وردپرس می‌تونن سنگین و پر از باگ باشن و امنیت سایت رو پایین بیارن. توی Wagtail شما یه کد تمیز و ساختار منظم دارین، که نیاز به پلاگین‌های اضافی رو خیلی کم می‌کنه.


مثال ساده از قدرت Wagtail 💡

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


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

جمع بندی 📚

کلاً اگه دنبال یه CMS سریع، امن و منعطف هستید که کدهای تمیز و حرفه‌ای داشته باشه، حتماً یه بار Wagtail رو امتحان کنین. هم از کار باهاش لذت می‌برید، هم پروژه‌تون ساختارمندتر و حرفه‌ای‌تر می‌شه. 👌

امید وارم مفید بوده باشه :)

#cms #django #python


🔆 CHANNEL | GROUP
🔥94
#fun



😂😂

🔆 CHANNEL | GROUP
9🤣2
بنظرتون کانال چی کم داره؟ یا با چی خیلی خفن تر میشه؟ 🤔
8
#fun


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

🔆 CHANNEL | GROUP
🤣11
سلام دوستان 👋

خب دوره امنیت رو انتخاب کردید و بیشترین رای رو آورد و ضبط این دوره به زودی استارتش زده میشه

ادامه دوره DRF هم در دست ادیت هست و بزودی منتشر میشه

سایتمون هم به زودی راه اندازی میشه و قراره خفن ترین و بهترین دوره های آموزشی ایران رو ضبط کنیم واستون

منتظر خبرای خوب باشید 😊
🔥18👏4👍3
Ninja Learn | نینجا لرن pinned «سلام دوستان 👋 خب دوره امنیت رو انتخاب کردید و بیشترین رای رو آورد و ضبط این دوره به زودی استارتش زده میشه ادامه دوره DRF هم در دست ادیت هست و بزودی منتشر میشه سایتمون هم به زودی راه اندازی میشه و قراره خفن ترین و بهترین دوره های آموزشی ایران رو ضبط کنیم…»
🎥 معرفی MoviePy ابزاری خفن برای ویدیوها تو پایتون

اگه تا حالا دنبال یه ابزار برای کار با ویدیو تو پایتون گشتی، MoviePy دقیقاً همون چیزیه که می‌خوای. این پکیج فوق‌العاده بهت اجازه می‌ده با چند خط کد، ویدیوها رو ویرایش کنی، بهشون متن یا موسیقی اضافه کنی یا حتی کلیپ‌های جدید بسازی 🎬

بیایم ببینیم MoviePy چیه و چه کارایی می‌تونه برامون بکنه.

حالا MoviePy چیه و چرا باید استفاده کنیم؟
خب MoviePy یه کتابخونه اوپن‌سورسه که می‌تونی باهاش این کارارو بکنی:

✂️ برش ویدیو (Trimming)

🎞️ چسبوندن چند تا ویدیو به هم (Concatenation)

✍️ اضافه کردن متن یا افکت به ویدیو

🌀 ساخت انیمیشن‌های ساده

🔊 ترکیب صدا و ویدیو

این پکیج با کتابخانه هایی مثل NumPy و PIL هم سازگاره، یعنی می‌تونی راحت ویدیوها رو هرجوری که دوست داری شخصی‌سازی کنی.


چجوری نصبش کنیم؟
خیلی ساده، این دستور رو بزن:
pip install moviepy  

یه مثال ساده:
برش ویدیو

فرض کن یه ویدیو داری که فقط یه بخشش رو لازم داری. اینجوری می‌تونی انجامش بدی:

from moviepy.editor import VideoFileClip  

# بارگذاری ویدیو
clip = VideoFileClip("video.mp4")

# برش از ثانیه ۱۰ تا ۲۰
trimmed_clip = clip.subclip(10, 20)

# ذخیره ویدیو جدید
trimmed_clip.write_videofile("trimmed_video.mp4")


اضافه کردن متن به ویدیو
حالا اگه بخوای یه متن خوشگل هم به ویدیو اضافه کنی، کافیه این کد رو بزنی:

from moviepy.editor import VideoFileClip, TextClip, CompositeVideoClip  

# ویدیو اصلی
clip = VideoFileClip("video.mp4")

# ایجاد متن
txt = TextClip("Hello, World!", fontsize=70, color='white')
txt = txt.set_position('center').set_duration(5)

# ترکیب متن و ویدیو
video = CompositeVideoClip([clip, txt])

# ذخیره ویدیو
video.write_videofile("video_with_text.mp4")



چرا MoviePy خفنه؟

🛠️ سادگی: حتی اگه تازه‌کاری، خیلی راحت می‌تونی باهاش کار کنی.

🎨 انعطاف بالا: از پروژه‌های کوچیک تا حرفه‌ای‌ترین کارا، MoviePy دستتو باز می‌ذاره.

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


کجا می‌تونی ازش استفاده کنی؟
ساخت ویدیوهای آموزشی یا تبلیغاتی
ادیت ویدیوهای یوتیوب یا اینستاگرام
خودکارسازی پردازش‌های ویدیویی برای پروژه‌های بزرگ

امید وارم مفید بوده باشه :)

#python #libary


🔆 CHANNEL | GROUP
8👍2🤩2
iran-cities-zhop.zip
35.1 KB
فایل دیتابیس تمام شهرهای ایران

#file #db


🔆 CHANNEL | GROUP
11👏4👍2
پست بعدی راجب چی باشه دوستان؟
4👍2
#fun


Madhaj word be like

🔆 CHANNEL | GROUP
🤣11👍3
الستیک سرچ در جنگو

اگه یه سیستم داری که نیاز داره روی دیتا جستجوهای سریع و پیشرفته انجام بشه، الستیک سرچ (Elasticsearch) یکی از بهترین انتخاب‌هاست. این ابزار جستجوی قدرتمند بهت کمک می‌کنه تا جستجوهایی مثل فیلترهای پیچیده، جستجوی تمام‌متنی (Full-Text Search) و حتی پیشنهادات مرتبط رو راحت پیاده‌سازی کنی. حالا بیا ببینیم چطور می‌تونی ازش تو پروژه‌های جنگو استفاده کنی.


چرا الستیک سرچ؟
جنگو با ORM خودش برای کوئری‌ها خوبه، ولی وقتی تعداد رکوردها زیاد بشه یا بخوای جستجوی خیلی پیچیده بزنی، سرعت و انعطافش کم می‌شه. اینجا الستیک سرچ به دادت می‌رسه.

تا باهاش می‌تونی:

🔍 جستجوهای سریع‌تر داشته باشی حتی با دیتاست‌های بزرگ

جستجوی full-text یا فازی (مثل پیشنهاد‌های تایپ‌شده اشتباه) انجام بدی

داده‌ها رو بر اساس 📊 اولویت و امتیاز (Relevance) مرتب کنی


راه‌اندازی Elasticsearch در جنگو
برای اینکه الستیک سرچ رو به پروژه جنگوت اضافه کنی، مراحل زیر رو دنبال کن:

1⃣ نصب Elasticsearch
اول از همه باید الستیک سرچ رو نصب و راه‌اندازی کنی. می‌تونی از Docker استفاده کنی:
docker run -d -p 9200:9200 -e "discovery.type=single-node" elasticsearch:8.10.1  

2⃣ نصب کتابخونه‌ها
پکیج‌هایی مثل elasticsearch-dsl و django-elasticsearch-dsl کار رو خیلی راحت می‌کنن:
pip install elasticsearch-dsl django-elasticsearch-dsl  

3⃣ تنظیمات اولیه
توی فایل تنظیمات جنگو (settings.py)، آدرس و پورت الستیک سرچ رو مشخص کن:
ELASTICSEARCH_DSL = {  
'default': {
'hosts': 'localhost:9200'
}
}




ایجاد ایندکس و اتصال به مدل‌ها
حالا باید داده‌هات رو به الستیک سرچ وصل کنی و ایندکس بسازی.

ایجاد Document برای مدل‌ها
خب Document جاییه که مدل‌های جنگو رو به ایندکس الستیک سرچ وصل می‌کنه:
from django_elasticsearch_dsl import Document  
from django_elasticsearch_dsl.registries import registry
from .models import Article

@registry.register_document
class ArticleDocument(Document):
class Index:
name = 'articles' # اسم ایندکس

class Django:
model = Article
fields = [
'title',
'content',
'published_at',
]

ایندکس کردن داده‌ها
برای انتقال داده‌های فعلی به الستیک سرچ:
python manage.py search_index --rebuild  




پیاده‌سازی جستجو در ویوها
حالا بیا یه API برای جستجو درست کنیم:

ویو جستجو
from django.http import JsonResponse  
from .documents import ArticleDocument

def search_articles(request):
query = request.GET.get('q', '')
results = ArticleDocument.search().query("multi_match", query=query, fields=["title", "content"])
data = [hit.to_dict() for hit in results]
return JsonResponse({'results': data})



اضافه کردن به URL‌ها
from django.urls import path  
from .views import search_articles

urlpatterns = [
path('search/', search_articles, name='search_articles'),
]


ادامه پست بعدی

امید وارم مفید بوده باشه :)

#python #django #web


🔆 CHANNEL | GROUP
117👍4
احتمالا با خودتون میگید که پس چی الستیک سرچ رو انقدر متمایز و خفن میکنه؟ این قابلیت هارو که همه ی ابزار های جستجو دارن که 😐

خب باید بگم که الستیک سرچ این قابلیت هارو داره :

1️⃣ جستجوی فازی (Fuzzy Search) و تصحیح خودکار 
اگه کاربر اشتباه تایپ کنه، مثل *"javascipt"* به‌جای *"javascript"*، الستیک سرچ می‌تونه همچنان نتیجه درست رو پیدا کنه. این قابلیت برای تجربه کاربری خیلی مهمه.

2️⃣ تحلیل و پردازش متن 
الستیک سرچ از analyzer‌های قدرتمند استفاده می‌کنه تا متن‌ها رو قبل از جستجو پردازش کنه. مثلاً می‌تونه متن‌ها رو به کلمات کلیدی تبدیل کنه، ریشه‌یابی کنه (stemming)، یا حتی از زبان‌های مختلف پشتیبانی کنه.


3️⃣ پشتیبانی از جستجوهای جغرافیایی (Geo-Search) 
اگه نیاز داری داده‌های مرتبط با مکان رو جستجو کنی، مثل «نزدیک‌ترین رستوران‌ها»، الستیک سرچ این امکان رو داره که جستجو بر اساس فاصله جغرافیایی رو هم انجام بده.

4️⃣ مقیاس‌پذیری (Scalability) 
این ابزار برای کار با Big Data طراحی شده. می‌تونه به‌صورت توزیع‌شده روی چندین سرور کار کنه، پس اگه حجم داده‌ها زیاد بشه، همچنان سرعتش حفظ می‌شه.


5️⃣ قابلیت Aggregation و تحلیل داده‌ها 
الستیک سرچ فقط برای جستجو نیست. می‌تونی باهاش داده‌ها رو تحلیل کنی. مثلاً: 
شمارش تعداد رکوردها 
میانگین یا مجموع یک فیلد خاص 
دسته‌بندی داده‌ها (مثل نمودارهای pie chart یا histogram) 

این قابلیت شبیه کارکرد یه ابزار تحلیل داده (Analytics) عمل می‌کنه.


6️⃣ جستجوی چندزبانه 
با پشتیبانی از زبان‌های مختلف، می‌تونی متن‌های فارسی، انگلیسی یا حتی زبان‌های دیگه رو به‌صورت بومی جستجو کنی. برای هر زبان می‌تونی تنظیمات اختصاصی مثل تحلیلگرهای متنی (Text Analyzer) تعریف کنی.


ـ7️⃣ Real-Time Indexing 
یکی از تفاوت‌های بزرگ الستیک سرچ با دیتابیس‌های سنتی، امکان به‌روزرسانی لحظه‌ای ایندکس‌هاست. اگه رکورد جدیدی به سیستم اضافه بشه، فوراً توی جستجوها نمایش داده می‌شه.


ـ8️⃣ Score و Relevance هوشمند 
نتایج جستجو بر اساس امتیاز (Score) مرتب می‌شن. مثلاً اگه یه کلمه توی عنوان یه مقاله باشه، اهمیت بیشتری نسبت به کلمه‌ای که توی متن هست داره. این باعث می‌شه نتایج دقیق‌تری بگیری.


9️⃣ پشتیبانی از پایپ‌لاین داده‌ها (Ingest Pipelines) 
اگه بخوای داده‌ها رو قبل از ذخیره‌سازی تغییر بدی (مثل فرمت‌کردن تاریخ یا حذف کاراکترهای خاص)، می‌تونی از Ingest Pipelines استفاده کنی. این قابلیت شبیه preprocessor عمل می‌کنه.


0⃣1⃣ اکوسیستم گسترده 
الستیک سرچ فقط یه موتور جستجو نیست. بخشی از مجموعه Elastic Stack (ELK) هست که شامل این ابزارهاست: 

Kibana:
برای ویژوال‌سازی داده‌ها و داشبوردهای حرفه‌ای 

Logstash:
برای پردازش و انتقال داده‌ها 

Beats:
برای جمع‌آوری داده از منابع مختلف 


1⃣1⃣ پشتیبانی از Query DSL 
الستیک سرچ یه زبان اختصاصی برای تعریف کوئری‌ها داره به اسم Query DSL. این زبان انعطاف زیادی داره و می‌تونی حتی پیچیده‌ترین جستجوها رو باهاش انجام بدی.



🔆 CHANNEL | GROUP
10👍4