LocalHost
Kanalga Telegram’da o‘tish
تو این چنل یکسری مطالب میگذارم که امیدوارم براتون مفید باشد☺️
Ko'proq ko'rsatishMamlakat belgilanmaganToif belgilanmagan
468
Obunachilar
+324 soatlar
+97 kun
+2830 kun
Postlar arxiv
468
🔴آسیبپذیری بحرانی در PHP
دو آسیبپذیری بحرانی در PHP منتشر شده (CVE-2026-109618 و CVE-2026-109619، معروف به PHP2Shell).
با این دو آسیبپذیری، مهاجم میتواند بدون نیاز به لاگین روی سرور شما کد اجرا کند.
اگر روی سرور خود سایت یا پنلی دارید که با PHP کار میکند (وردپرس، لاراول، phpMyAdmin و ...)، لطفا هرچه سریعتر PHP را بهروزرسانی کنید.
• نسخههای امن: 8.5.12 / 8.4.27 / 8.3.36 / 8.2.35
دستور بروزرسانی (با دسترسی root اجرا کنید):
if command -v apt-get >/dev/null; then
apt-get update && apt-get install --only-upgrade -y $(dpkg -l 'php*' 2>/dev/null | awk '/^ii/{print $2}')
else
dnf upgrade -y 'php*'
fi
for s in $(systemctl list-units --type=service --state=running --no-legend --plain 'php*fpm*' apache2.service httpd.service | awk '{print $1}'); do systemctl restart "$s"; done
php -v468
🔥 حذف عناصر / مقدار تکراری از لیست
🔷اگه یه لیست داشته باشی که داخلش چند تا مقدار تکراری باشه، لازم نیست یه روش پیچیده یا شرط تعریف کنی و ..... راهحل سادهش:
numbers = [1, 2, 3, 2, 2, 4, 3, 1, 5, 6, 6, 6]
numbers = list(set(numbers))
print(numbers)
خروجی:
[1, 2, 3, 4, 5, 6]
اینجا اول لیست رو به "set" تبدیل کردیم چون "set" مقدار تکراری نگه نمیداره، همهی موارد تکراری حذف میشن بعد هم دوباره به "list()" تبدیلش کردیم به لیست تا مثل قبل بتونیم ازش استفاده کنیم.Channel • @local4host
468
📘 مهمترین متدهای List در پایتون
🔹 append()
برای اضافه کردن یک مقدار به آخر لیست استفاده میشود.
fruits = ["🍎", "🍌"]
fruits.append("🍇")
print(fruits)
🔹 extend()
برای اضافه کردن تمام عناصر یک لیست دیگر به آخر لیست استفاده میشود.
a = [1, 2]
b = [3, 4]
a.extend(b)
print(a)
🔹 insert()
برای قرار دادن یک مقدار در محل دلخواه داخل لیست استفاده میشود.
nums = [1, 3, 4]
nums.insert(1, 2)
print(nums)
🔹 remove()
برای حذف اولین مقداری که با مقدار دادهشده برابر باشد استفاده میشود.
nums = [1, 2, 3, 2]
nums.remove(2)
print(nums)
🔹 pop()
برای حذف آخرین عنصر لیست و برگرداندن آن استفاده میشود.
nums = [10, 20, 30]
print(nums.pop())
🔹 pop(index)
برای حذف عنصر یک اندیس مشخص استفاده میشود.
nums = [10, 20, 30]
nums.pop(1)
print(nums)
🔹 clear()
برای حذف تمام عناصر لیست استفاده میشود.
nums = [1, 2, 3]
nums.clear()
print(nums)
🔹 index()
برای پیدا کردن اندیس اولین عنصر موردنظر استفاده میشود.
letters = ["a", "b", "c"]
print(letters.index("b"))
🔹 count()
برای شمارش تعداد تکرار یک مقدار در لیست استفاده میشود.
nums = [1, 2, 2, 3, 2]
print(nums.count(2))
🔹 sort()
برای مرتب کردن لیست به صورت صعودی استفاده میشود.
nums = [5, 2, 8, 1]
nums.sort()
print(nums)
🔹 sort(reverse=True)
برای مرتب کردن لیست به صورت نزولی استفاده میشود.
nums = [5, 2, 8, 1]
nums.sort(reverse=True)
print(nums)
🔹 sorted()
برای ساخت یک نسخه مرتبشده از لیست بدون تغییر لیست اصلی استفاده میشود.
nums = [4, 1, 3]
print(sorted(nums))
🔹 reverse()
برای برعکس کردن ترتیب عناصر لیست استفاده میشود.
nums = [1, 2, 3]
nums.reverse()
print(nums)
🔹 copy()
برای ساخت یک کپی از لیست استفاده میشود.
nums = [1, 2, 3]
new_nums = nums.copy()
🔹 len()
برای بهدست آوردن تعداد عناصر لیست استفاده میشود.
nums = [1, 2, 3]
print(len(nums))
🔹 max()
برای پیدا کردن بزرگترین مقدار لیست استفاده میشود.
nums = [15, 8, 30]
print(max(nums))
🔹 min()
برای پیدا کردن کوچکترین مقدار لیست استفاده میشود.
nums = [15, 8, 30]
print(min(nums))
🔹 sum()
برای محاسبه مجموع تمام اعداد موجود در لیست استفاده میشود.
nums = [10, 20, 30]
print(sum(nums))
🔹 list(set(list))
برای حذف مقدارهای تکراری لیست استفاده میشود.
nums = [1, 2, 2, 3, 3]
nums = list(set(nums))
print(nums)
🔹 list[::-1]
برای ساخت یک نسخه برعکس از لیست بدون تغییر لیست اصلی استفاده میشود.
nums = [1, 2, 3, 4]
print(nums[::-1])
🔹 List Comprehension
برای ساخت یک لیست جدید در یک خط کد استفاده میشود.
squares = [x * x for x in range(5)]
print(squares)
🔹 فیلتر کردن عناصر - برای انتخاب فقط عناصر موردنظر از یک لیست استفاده میشود
nums = [1, 2, 3, 4, 5, 6]
evens = [x for x in nums if x % 2 == 0]
print(evens)
🔹 Unpacking
برای قرار دادن عناصر لیست داخل چند متغیر استفاده میشود
nums = [10, 20, 30]
a, b, c = nums
print(a)
print(b)
print(c)
Channel • @local4host468
ثبت درخواست برای 6 ماه رایگان Claude Max🔥:
شرایط:
باید گیت هاب فعالی داشته باشید و بالای 5K استارز ‼️
اگه دارید که ثبت نام کنید ( ما که نداریم😂)
https://claude.com/contact-sales/claude-for-oss
Channel • @local4host
468
🔹لیست میرورهای داخلی ایران توی این شرایط به کارتون میاد
🐧 میرورهای لینوکس
- mirror.arvancloud.ir
- mirror.iranserver.com
- mirror.mobinhost.com
- repo.iut.ac.ir
- mirror.shatel.ir📦 رجیستریهای داکر
- arvancloud.ir/fa/dev/docker
- docker.mobinhost.com
- mirrors.pardisco.co/posts/docker
- focker.ir
- docker.kernel.ir🌐 میرور npm و pypi و داکر و ابزارهای مرسوم دیگه
- runflare.com/mirrors
- lib.arvancloud.ir
- mirrors.pardisco.co
- mirror.iranserver.com
- mirrors.hyperclouds.ir
- iran.chabokan.net/#services
- index.rust-meetup.ir📱 ریپو maven برای اندروید
- maven.myket.ir
- jamko.ir👾 ریپو وزارت ارتباطات توش همه چی هست
- repo-portal.ito.gov.ir
Channel • @local4host
468
🔹یه روش که شاید بدردتون بخوره به درد من که خورد اگر اندروید دارید و مثلا کانفیگ خریدید یه گیگ و بعد نمیخواهید همه اپلیکشن ها استفاده کنند بهتره دسترسی به انترنت اون اپلیکشن رو قطع کنید کلا
مثلا از من google play فعلا قطعه چون هم آپدیت میکنه هم استفاده میکنه اگه باز هم نکنم🔹روشش هم اینه انگشت تون رو روی اپلیکشن مد نظر بگیرید بعد app info رو بزنید وقتی باز کرد data usage رو باز کنید از اون SIM که فعلا انترنت مصرف میکنید رو غیر فعال کنید
اگه بدرد تون خورد اشتراک گذاری کنید❤️
Channel • @local4host
468
این وبسایتها در دسترسن فعلا استفاده کنید تا قطع نکردند😅:
vercel.com
nextjs.org
letsencrypt.org
Channel • @local4host
468
🐍 اگه برنامه نویس پایتون هستین و نمیتونید پکیج هاش رو بخاطر قطعی نت نصب کنید، یک راه حل خوب هست :
🪄 مثلا اگر میخواین پکیج Requests رو نصب کنید, به جای دستور زیر :
pip install requests
🦦 کافیه از دستور زیر استفاده کنید :
pip install requests -i https://mirror-pypi.runflare.com/simple
اینطوری به mirror های داخلی (که سرورشون درون ایران هست) وصل میشین و راحت هر پکیجی رو خواستین میتونید نصب کنید 🌱
📯 اگر هم نمیخواهید هر دفعه i- رو بزنید میتونید با اجرای دستورات زیر در ترمینال، این mirror رو به عنوان میرور پیشفرض تعریف کنید :
pip config --user set global.index https://mirror-pypi.runflare.com/simple
pip config --user set global.index-url https://mirror-pypi.runflare.com/simple
pip config --user set global.trusted-host mirror-pypi.runflare.com
Channel • @local4host
468
👀 ahmia.fi
🔹یه موتور جستجو مخصوص منابع شبکه Tor (.onion) 🔍
این سرویس سایتهای مخفی (Hidden Services) رو ایندکس و فیلتر میکنه و کمک میکنه راحتتر توی دارکوب سایت پیدا کنی 🕶️🌐
🔹تمرکزش روی حفظ حریم خصوصی کاربره و سعی میکنه محتوای کاملاً غیرقانونی رو حذف یا فیلتر کنه
🔹میتونی هم از طریق وب معمولی استفاده کنی، هم با مرورگر Tor تا امنتر داخل دارکوب بچرخی
Channel • @local4host
468
چگونه از یوتیوب بدون دردسر دانلود کنیم؟👌
وقتی بخواهید از یوتیوب ویدیو دانلود کنید باید داخل وبسایتی برید که دانلود کنید یا برنامه چیزی نصب کنید که خیلی هم تبلیغ دارند و اینا ولی اگه پایتون داشته باشی، خیلی راحت و تمیز میتونی خودت دانلود کنی.چجوری؟ اینجوری😉: اول از همه کتابخانهی yt-dlp استفاده میکنیم. روش نصب:
pip install yt-dlp
و اگه نصب دارید چون yt-dlp هی آپدیت میشه ممکنه به ارور بخورید پس:
pip install --upgrade yt-dlp
کد:
import yt_dlp
url = input("لینک ویدیو یوتیوب را وارد کن: ")
ydl_opts = {
'outtmpl': '%(title)s.%(ext)s',
'format': 'best',
}
with yt_dlp.YoutubeDL(ydl_opts) as ydl:
ydl.download([url])
توضیح کد:
import yt_dlpکتابخانه رو وارد میکنیم تا بتونیم ازش استفاده کنیم.
url = input(...)لینک ویدیو رو از کاربر میگیریم.
ydl_optsاینجا تنظیمات دانلود رو مشخص کردیم. گفتیم فایل با اسم خود ویدیو ذخیره بشه و بهترین کیفیت موجود دانلود بشه.
with yt_dlp.YoutubeDL(...)اینجا دانلودر اجرا میشه و لینک رو دانلود میکنه. فقط صدا دانلود کنیم چطور؟ اگه فقط موزیک ویدیو رو میخوای و تصویر لازم نداری، تنظیمات رو اینطوری کن:
ydl_opts = {
'format': 'bestaudio/best',
'outtmpl': '%(title)s.%(ext)s',
}
تبریک🎉 الان خیلی راحت بدون دردسر از یوتیوب ویدیو دانلود کردی لایک یادتون نره
#python #youtube #ytdlp
Channel • @local4host468
🧩 معرفی کتابخانه customtkinter در پایتون بهتر از Tkinter!
کتابخانه tkinter که به صورت پیشفرض روی پایتون نصبه و میتونید باهاش برنامههای گرافیکی بسازید ولی ظاهرش خیلی قدیمیه و بیشتر شبیه برنامههای ویندوز XP هست
ا tkinter بدرد برنامه های گرافیکی پیشرفته نمیخوره اینجاست که کتابخانه customtkinter وارد میشه!
🔥 customtkinter چیه؟ اcustomtkinter یه نسخهی مدرنتر و خوشگلتر از tkinter هست که سال 2021 معرفی شد. با همون منطق و ساختار tkinter کار میکنه، ولی: ✅ ظاهر مدرن و حرفهایتر ✅ پشتیبانی از Dark Mode و Light Mode ✅ دکمهها و فریمهای زیباتر ✅ مناسب برای ساخت اپلیکیشنهای مدرن تر📦 نصب کتابخانه:
pip install customtkinter
🖥نمونه کد:
import customtkinter as ctk
ctk.set_appearance_mode("dark")
ctk.set_default_color_theme("blue")
app = ctk.CTk()
app.geometry("400x300")
app.title("@local4host")
def button_click():
label.configure(text="دکمه کلیک شد ")
label = ctk.CTkLabel(app, text="سلام! از طرف @local4host ")
label.pack(pady=20)
button = ctk.CTkButton(app, text="کلیک کن", command=button_click)
button.pack(pady=10)
app.mainloop()
✅ ظاهرش مدرن و تمیزه
✅ از Dark Mode هم پشتیبانی میکنه
🌐 برای یادگیری بیشتر:
Customtkinter
#python #tkinter #customtkinter
@local4host468
یه چیز عجیب تو جاوااسکریپت که برای بار اول برام عجیب بود😅
اگه تو Js بنویسید:
typeof null
چی برمی گردونه؟
خوب طبیعتاً باید "null" بگه ولی "object" میگه😐
در حالی که null اصلا Object نیست!
داستانش چیه؟
داستانش برمیگرده به سال 1995، وقتی که جاوااسکریپت تازه ساخته شده بود. اون زمان نحوه ذخیره نوع دادهها تو حافظه یه جوری طراحی شده بود که null اشتباهی به عنوان object شناخته شد. بعدش فهمیدن باگه… ولی مشکل اینجا بود که اگه درستش کنن، کلی سایت و کد قدیمی از کار میافته.نتیجه؟ یه باگ که الان شده رفتار Js #javascript Channel • @local4host
