fa
Feedback

فریب کلاهبرداران را نخورید! تل‌متریو این کانال‌ها را شناسایی و برچسب‌گذاری می‌کند 👉 برای مشاهده برچسب، اشتراک تهیه کنید

Random shi- tutorials

Random shi- tutorials

رفتن به کانال در Telegram

محتوای مفید برنامه نویسی و لینوکسی از سراسر دنیا ✍️ جوین شدن شما موجب شادی روح و روان ما میگردد😗

نمایش بیشتر
217
مشترکین
اطلاعاتی وجود ندارد24 ساعت
-37 روز
+230 روز
آرشیو پست ها
🌐 سیستم ترجمه در Django (i18n) در Django دو نوع ترجمه داریم: 1️⃣ ترجمه متن‌های ثابت سایت مثل دکمه‌ها، عنوان‌ها، پیام‌ها، نام فیلدها و متن‌های Template. مرحله ۱: تنظیمات "settings.py"
LANGUAGE_CODE = "fa"

USE_I18N = True

LANGUAGES = [
    ("fa", "فارسی"),
    ("en", "English"),
]

LOCALE_PATHS = [
    BASE_DIR / "locale",
]
مرحله ۲: تنظیم Middleware در لیست "MIDDLEWARE"، بعد از "SessionMiddleware" و قبل از "CommonMiddleware" قرار بده: "django.middleware.locale.LocaleMiddleware", مرحله ۳: استفاده از "gettext_lazy"
from django.db import models
from django.utils.translation import gettext_lazy as _


class Product(models.Model):
    name = models.CharField(_("Name"), max_length=100)

    class Meta:
        verbose_name = _("Product")
        verbose_name_plural = _("Products")
مرحله ۴: ساخت فایل ترجمه
django-admin makemessages -l fa
مرحله ۵: ویرایش فایل ترجمه مسیر فایل: locale/fa/LC_MESSAGES/django.po نمونه ترجمه: msgid "Product" msgstr "محصول" msgid "Name" msgstr "نام" مرحله ۶: کامپایل ترجمه‌ها
django-admin compilemessages
━━━━━━━━━━━━━━━━━━ 2️⃣ ترجمه محتوای داینامیک سایت برای محتوای دیتابیس مثل عنوان پست، متن بلاگ، توضیحات محصول و دسته‌بندی‌ها، "gettext_lazy" مناسب نیست. برای این کار می‌توان از پکیج "django-parler" استفاده کرد. مرحله ۱: نصب پکیج
pip install django-parler
مرحله ۲: اضافه‌کردن به "INSTALLED_APPS"
INSTALLED_APPS = [
    # ...
    "parler",
]
مرحله ۳: تنظیم زبان‌ها در "settings.py"
LANGUAGES = [
    ("fa", "فارسی"),
    ("en", "English"),
]

PARLER_LANGUAGES = {
    None: (
        {"code": "fa"},
        {"code": "en"},
    ),
    "default": {
        "fallbacks": ["fa"],
        "hide_untranslated": False,
    },
}
مرحله ۴: ساخت مدل ترجمه‌پذیر "Post"
from django.db import models
from parler.models import TranslatableModel, TranslatedFields


class Post(TranslatableModel):
    author = models.ForeignKey(
        "auth.User",
        on_delete=models.CASCADE,
    )
    created_at = models.DateTimeField(auto_now_add=True)

    translations = TranslatedFields(
        title=models.CharField(max_length=200),
        content=models.TextField(),
    )
مرحله ۵: اجرای Migration
python manage.py makemigrations
python manage.py migrate
مرحله ۶: ساخت پست چندزبانه
post = Post.objects.create(author_id=1)

post.set_current_language("fa")
post.title = "سلام دنیا"
post.content = "این اولین مقاله فارسی است."
post.save()

post.set_current_language("en")
post.title = "Hello World"
post.content = "This is the first English article."
post.save()
مرحله ۷: دریافت ترجمه پست
post.set_current_language("fa")
print(post.title)

post.set_current_language("en")
print(post.title)
━━━━━━━━━━━━━━━━━━ 📌 جمع‌بندی • "gettext_lazy" → ترجمه متن‌های ثابت برنامه. • "django-parler" → ترجمه محتوای دیتابیس مثل پست‌ها و مقالات. • "makemessages" → استخراج متن‌های قابل ترجمه. • "compilemessages" → کامپایل فایل‌های ترجمه. نکته: برای اجرای دستورات "makemessages" و "compilemessages" باید ابزار GNU gettext نصب باشد.

🌐 سیستم ترجمه در Django (i18n) در Django دو نوع ترجمه داریم: 1️⃣ ترجمه متن‌های ثابت سایت مثل دکمه‌ها، عنوان‌ها، پیام‌ها، نام فیلدها و متن‌های Template. مرحله ۱: تنظیمات "settings.py" LANGUAGE_CODE = "fa" USE_I18N = True LANGUAGES = [     ("fa", "فارسی"),     ("en", "English"), ] LOCALE_PATHS = [     BASE_DIR / "locale", ] مرحله ۲: تنظیم Middleware در لیست "MIDDLEWARE"، بعد از "SessionMiddleware" و قبل از "CommonMiddleware" قرار بده: "django.middleware.locale.LocaleMiddleware", مرحله ۳: استفاده از "gettext_lazy" from django.db import models from django.utils.translation import gettext_lazy as _ class Product(models.Model):     name = models.CharField(_("Name"), max_length=100)     class Meta:         verbose_name = _("Product")         verbose_name_plural = _("Products") مرحله ۴: ساخت فایل ترجمه django-admin makemessages -l fa مرحله ۵: ویرایش فایل ترجمه مسیر فایل: locale/fa/LC_MESSAGES/django.po نمونه ترجمه: msgid "Product" msgstr "محصول" msgid "Name" msgstr "نام" مرحله ۶: کامپایل ترجمه‌ها django-admin compilemessages ━━━━━━━━━━━━━━━━━━ 2️⃣ ترجمه محتوای داینامیک سایت برای محتوای دیتابیس مثل عنوان پست، متن بلاگ، توضیحات محصول و دسته‌بندی‌ها، "gettext_lazy" مناسب نیست. برای این کار می‌توان از پکیج "django-parler" استفاده کرد. مرحله ۱: نصب پکیج pip install django-parler مرحله ۲: اضافه‌کردن به "INSTALLED_APPS" INSTALLED_APPS = [     # ...     "parler", ] ``| مرحله ۳: تنظیم زبان‌ها در "settings.py" python LANGUAGES = [     ("fa", "فارسی"),     ("en", "English"), ] PARLER_LANGUAGES = {     None: (         {"code": "fa"},         {"code": "en"},     ),     "default": {         "fallbacks": ["fa"],         "hide_untranslated": False,     }, } مرحله ۴: ساخت مدل ترجمه‌پذیر "Post" python from django.db import models from parler.models import TranslatableModel, TranslatedFields class Post(TranslatableModel):     author = models.ForeignKey(         "auth.User",         on_delete=models.CASCADE,     )     created_at = models.DateTimeField(auto_now_add=True)     translations = TranslatedFields(         title=models.CharField(max_length=200),         content=models.TextField(),     ) مرحله ۵: اجرای Migration shell python manage.py makemigrations python manage.py migrate مرحله ۶: ساخت پست چندزبانه python post = Post.objects.create(author_id=1) post.set_current_language("fa") post.title = "سلام دنیا" post.content = "این اولین مقاله فارسی است." post.save() post.set_current_language("en") post.title = "Hello World" post.content = "This is the first English article." post.save() مرحله ۷: دریافت ترجمه پست python post.set_current_language("fa") print(post.title) post.set_current_language("en") print(post.title) ` ━━━━━━━━━━━━━━━━━━ 📌 جمع‌بندی • "gettext_lazy" → ترجمه متن‌های ثابت برنامه. • "django-parler" → ترجمه محتوای دیتابیس مثل پست‌ها و مقالات. • "makemessages" → استخراج متن‌های قابل ترجمه. • "compilemessages" → کامپایل فایل‌های ترجمه. نکته: برای اجرای دستورات "makemessages" و "compilemessages" باید ابزار GNU gettext نصب باشد. 🗣: ~AliNaghdi84

یسری ابزارها مثل jev, n8n و امثالهم اومدن و یه مدت بولد شدن و بعد رفتن پی کارشون ولی اصول مهندسی نرم‌افزار، الگوریتم، دیزاین‌پترن‌ها، کشینگ، ساختمان داده‌ها، Api Design و … سرجاشون هستن. اگه در حال یادگیری هستید یاد بگیرید که به جای وقت گذاشتن واسه ترند های زودگذر، وقت‌تون رو روی خود مفاهیم اصلی این حوزه بذارید ✅ @Rads_notes

Repost from Tech Stuff
چیزهایی که نباید در مصاحبه فنی بگیم در طول مصاحبه فرصت زیادی برای صحبت داریم؛ چه زمانی که داریم یه سوال مستقیم رو جواب میدیم یا زمانی که ازمون میخوان که درباره خودمون صحبت کنیم یا وقتی که میگن هر سوالی که داریم بپرسیم. توی چنین مواقعی قطعا باید خودمون باشیم ولی بعضی وقتا زیادی ریلکس بودن مشکل‌سازه. مثلا همه مصاحبه‌کننده‌ها شاید حس طنز ما رو نداشته باشن. برای اینکه تصویر خوبی از خودمون بسازیم، یسری چیزا رو بهتره نگیم: ۱. اینجا دقیقا چه کاری انجام میدید؟ نشون میده درباره شرکت، خوب تحقیق نکردیم. مثلا بهتره بگیم «اینجا چطور با نود کار می‌کنید؟». ۲. نمیدونم. تاحالا چنین کاری انجام ندادم. نشون میده که وقتی با مشکلات جدید مواجه میشیم، بلاک میشیم و نمی‌تونیم حلشون کنیم. بهتره بگیم «نمیدونم ولی امتحانش می‌کنم تا ...». ۳. از اون محل متنفر بودم. وقتی میپرسن که چرا از کار قبلیمون اومدیم بیرون، بهتره از اونجا (حداقل بطور رسمی) متنفر نباشیم؛ چون ممکنه باعث نشون دادن بدترین وجه خودمون بشه. بهتره روی چیزای مثبت و چیزایی که از اونجا یاد گرفتیم تمرکز کنیم. ۴. هیچ‌کس دیگه از اون استفاده نمی‌کنه. از عبارات قطعی استفاده نکنیم. چطور می‌تونیم با قاطعیت بگیم فلان چیز توی صنعت به این بزرگی دیگه استفاده نمیشه؟ اگه بگیم «تا جایی که من میدونم ...» بهتره. ۵. توی رزومه‌م گذاشتمش. توی مصاحبه ممکنه درباره چیزی که چیزایی که توی رزومه‌مون نوشتیم بپرسن. نگیم که توی رزومه‌م هستش. مصاحبه‌کننده تنبل نیست. ۶. نه، هیچ سوالی ندارم. مصاحبه فقط برای این نیست که اونا ما رو بشناسن. ما هم باید بشناسیمشون. پس سوالات مناسب داشته باشیم. ۷. من یه توسعه‌دهنده Reactم. با این جمله داریم خودمون رو محدود به React می‌کنیم. ما توسعه‌دهنده هستیم و اصول برنامه‌نویسی رو بلدیم. تکنولوژی‌ها میان و میرن. این نشون میده ما انعطاف‌پذیریم. ۸. لینوکس؟ ازش متنفرم. عاشق ویندوزم. متنفر بودن از تکنولوژی توی مصاحبه فنی یه چراغ قرمزه. ممکنه با یه چیزی حال نکنیم. ولی ابزار، ابزاره و باید با اونی که برای شرایط فعلیمون مناسبه پیش بریم. #Skills_of_a_Successful_Software_Engineer @techstuff100

Repost from Linuxor ?
این سایتو ممد فرستاده می‌گه باهاش می‌تونید دو روزه به صورت تصویری عملی گیت رو یاد بگیرید (می‌تونید دستوراتش رو همونجا توی سای
این سایتو ممد فرستاده می‌گه باهاش می‌تونید دو روزه به صورت تصویری عملی گیت رو یاد بگیرید (می‌تونید دستوراتش رو همونجا توی سایت اجرا کنید) learngitbranching.js.org @Linuxor

Repost from N/a
Web-servers Dns Fastapi Python for data engineers Python for devops engineers Sql-deep Database Data-quality Lb-proxy این دوره جدیداس 💃💃💃 رکورد هم زدیم ۴۹۸ سندباکس اجرا شده در‌یه روز 💃🕺🏽🕺🏽💃🕺🏽💃

Repost from N/a
۳۶۸ سندباکس تا الان که هرکدوم چندین مرحله دارن عملا ۳۶۸ سناریو هستن که بین رودمپ ها به ترتیب خاصی پخش شدن همین الان اگر‌روزی فقط یه سندباکس انجام بدی برای یه سال آینده چیزی داری بخونی 💃 راستی رکورد تعداد سندباکس‌لانچ شده تا الان ۲۸۶۴ عدد درجریانی که اینا رایگانه؟ اسکیل آرنا برای شماست که رشد کنین Https://babakacademy.com

Repost from Linuxor ?
مایکروسافت به‌تازگی یه پروژه سیستم‌عامل مبتنی بر زبان برنامه‌نویسی Rust منتشر کرده که برای اجرای اپلیکیشن‌های لینوکس روی ویند
مایکروسافت به‌تازگی یه پروژه سیستم‌عامل مبتنی بر زبان برنامه‌نویسی Rust منتشر کرده که برای اجرای اپلیکیشن‌های لینوکس روی ویندوز طراحی شده. اسم این پروژه LiteBox هستش و اولین نسخه تگ‌گذاری‌شده‌ی اون، یعنی v0.1.0، حالا روی گیت‌هاب منتشر شده. LiteBox یه نوع سیستم‌عامل کتابخانه‌ای (Library OS) هستش که قابلیت‌ها و توابع سیستم‌عامل رو داخل محیط ایزوله‌ی یه اپلیکیشن فراهم می‌کنه و در عین حال، دسترسی اون اپلیکیشن به سیستم میزبان رو محدود نگه می‌داره. مایکروسافت یکی از کاربردهای این پروژه رو اجرای برنامه‌های لینوکس روی ویندوز، بدون نیاز به تغییر کد یا دستکاری خود برنامه‌ها، معرفی کرده. در کنار این، اجرای اپلیکیشن‌های لینوکس در محیط ایزوله روی خود لینوکس هم جزو کاربردهای LiteBox محسوب می‌شه. به صورت متن‌باز و تحت مجوز MIT منتشر شده، اما هنوز در مرحله‌ی آزمایشی قرار داره: github.com/microsoft/litebox @Linuxor

آخرین مهلت ثبت نام در بوتکمپ با توجه به اینکه ظرفیت بوتکمپ کامل شده نمی تونم برای کلاس آنلاین ظرفیت جدیدی اضافه کنم ولی به خا
آخرین مهلت ثبت نام در بوتکمپ با توجه به اینکه ظرفیت بوتکمپ کامل شده نمی تونم برای کلاس آنلاین ظرفیت جدیدی اضافه کنم ولی به خاطر درخواست دوستانی که می خوان از محتوای ضبط شده و همچنین خدمات خود بوتکمپ بهرمند بشن اعلام می کنم. می تونین صرفا به ویدئو ها و مستندات و قطعه کد ها و همینطور مشاوره طی مسیر و روند آموزشی دسترسی داشته باشید ولی امکان حضور در کلاس آنلاین نیست. اگر فکر می کنین این شرایط براتون مناسب هستش بهم اطلاع بدید. نکته: بعد از امروز دیگه هیچ ورودی پذیرفته نمیشه به هر دلیلی. نکته2: محتوا های ضبط شده به دلیل حفظ حریم شرکت کننده ها به هیچ عنوان پابلیک نمیشن و فقط در اختیار شرکت کننده هاس و باز فروش نمیشه و بعد از بازه زمانی محدودی حذف میشه. @thealibigdeli_channel #bootcamp

این نوشته کاری از دوست خوبمون آقای آرین ویسی درمورد یکی از تجربیات و نکات مهمی که این روزها باید بیشتر حواسمون بهش باشه هستش و بنده در نوشتنش نقشی نداشتم.
دوستان اگه با خیال راحت هر پروژه Open source رو که بهتون پیشنهاد میشه نصب میکنید، لطفا این ویدئو رو نگاه کنید تا از آسیب پذیری های احتمالی پیشگیری کنید. من خودم تا وقتی که نرفتم تو پروسه ساخت و انتشار پلاگینی که برای omarchy نوشتم، نفهمیدم که چه میزان راه مختلف برای آسیب پذیری وجود داره و چقدر راحت ( مخصوصا با وجود A.I) شما میتونی یه اپ یا پلاگینی بنویسی و بزار گیت هاب، خوشگل هم ی license MIT بزنی تنگش و به ملت بگی بیاید نصبش کنید، اوپن سورسه! پلاگینی که نوشتم، از نسخه 1.0.0 رسید به نسخه  1.1.10 تا بالاخره داخلOmarchy plugin market place تایید شد! تمام آپدیت ها هم امنیتی بودن. 2 هفته تمام طول کشید و هر بار که آپدیت جدید رو میدادم، باور داشتم که دیگه پلاگین امنه، این آپدیت آخره و این کابوس تمومی نداشت! هر بار که تایید نمیکردن و مجدد به vulnerability (سوراخ) جدیدی اشاره میکردن، من مجدد از نو تعجب میکردم و میگفتم مگه میشه؟ بعد یکم که نگاه میکردم، میگفتم شت آره میشه! و آخر هر آپدیت به کلاد و جی پی تی میگفتی تا پلاگین رو از نظر مشکلات امنیتی چک کنن و هر بار کدی که زده بودن رو تایید میکردن و میگفتن اوکیه، مشکلی نداره! ولی بعد market place reviewer تایید نمیکرد و به ی سوراخ دیگه اشاره میکرد، پیام reviewer رو میدادم دوباره به همون gpt و claude و میگفتم بفرمااااا، تحویل بگیر، اونم میگفت: اوه، reviewer راست میگه، الان درستش میکنم !!! نکته خیلی مهم اینجا اینه که من قصد آسیب به کسی رو نداشتم، ولی اتکر ها، میتونستن از پلاگین من، برای آسیب زدن به کاربرا استفاده کنن. کاربر هم از همه جا بی خبر! حتما پروژه ها رو چک کنید، خیلی از پروژه های جدید vibe code  هستن و اگه فنی نیستید، اصلا به این فکر نکنید که لینک ریپو رو بدید به agent تون و ازش بخواید براتون دربیاره که پروژه امنه یا نه! #نوشته #اپن_سورس #هک_و_امنیت ~> @OmarchyParsi ~> @PinkOrca | آزاد بیندیشیم 🐦‍🔥

Repost from Mahi in Tech
‍ اولین نسخه‌ی «قیچی» منتشر شد! ✂️ راست‌ش چند وقتی هست که پیامک‌های تبلیغاتی و اسپم، شدیدا اعصابم رو خرد می‌کرد و دیگه با دلا
‍ اولین نسخه‌ی «قیچی» منتشر شد! ✂️ راست‌ش چند وقتی هست که پیامک‌های تبلیغاتی و اسپم، شدیدا اعصابم رو خرد می‌کرد و دیگه با دلار ۲۷۰ تومنی، تحملِ حواس‌پرتی برای اس‌ام‌اسِ کد تخفیف ۵ هزار تومنی اسنپ و یا به خصوص وصایای امام 🍌 ممکن نبود. برای همین تصمیم گرفتم پروژه‌ای رو که اولین کامیتش مربوط به ۲ سال پیش بود و بعد از اون هم دیگه ادامه پیدا نکرد، بالاخره به سرانجام برسونم. «قیچی» یک اپلیکیشن مدیریت پیامک اندرویدی هست که با MAUI + ML.NET توسعه داده شده و تنها یک هدف داره: خفه کردن پیامک‌های اسپم و تبلیغاتی. قیچی به عنوان اپلیکیشن پیش‌فرض گوشی‌تون تنظیم می‌شه و دقیقاً همون کاری رو می‌کنه که هر SMS Manager دیگه‌ای انجام می‌ده؛ با این تفاوت که یک مدل ML خیلی سبک هم داخلش تعبیه شده که هدفش تشخیص پیامک‌های تبلیغاتی در کسری از میلی‌ثانیه 🫪 و به‌صورت کاملا آفلاین روی دیوایس شخص هست. بنابراین هیچ‌ داده‌ای به سمت سرور ارسال نمی‌شه و همه‌چیز کاملا آفلاین و امنه. ضمن این‌که تمام بخش‌های پروژه اعم از دیتاست، سورس اپلیکیشن و مدل ML اپن‌سورس هستن و بیلد برنامه هم مستقیما توسط GitHub Actions گرفته می‌شه. یعنی این‌طوری بگم که خیالتون از هر بابت راحت باشه. دیتاست فعلی در حال حاضر خیلی جامع نیست و حدود ۶ هزار پیامِ لیبل‌خورده رو شامل می‌شه؛ اما طبق برآورد و تست‌هایی که داشتم، همین دیتاست کوچیک هم (که از منابع مختلفی جمع‌آوری شده) تا حد خوبی جواب‌گوی نیاز برنامه است. همچنین داخل برنامه این امکان تعبیه شده که شما به‌صورت گزینشی (و با حذف خودکار یا دستیِ اطلاعات حساس)، پیامک‌های تبلیغاتی یا پیامک‌های غیرتبلیغاتی‌ای که به اشتباه تبلیغ تشخیص داده شدن رو گزارش کنید تا این دیتاست به مرور زمان کامل‌تر بشه و عملکرد مدل ارتقا پیدا کنه. (اگر هم نکردین چالشی نیست،‌ خودم می‌کنم 😭) نسخه‌ی فعلی در واقع حداقل نسخه‌ی قابل ارائه هست و احتمالا باگ‌های زیادی خواهد داشت. ولی خب از اون‌جایی که مورد استفاده‌ی روزمره‌ی خودم هست، به مرور زمان بهبود پیدا می‌کنه. 🔗 سورس پروژه و توضیحات تکمیلی: https://github.com/MahdiyarGHD/GheychiApp 📥 دانلود نسخه‌ی اولیه از گیت‌هاب: https://github.com/MahdiyarGHD/GheychiApp/releases اگر دوست داشتید، با گزارش باگ، مشارکت در توسعه یا حتی یک ⭐️ روی گیت‌هاب می‌تونید کمک کنید قیچی بهتر بشه.

گوگل SynthID Detector رو برای همه باز کرد حالا می‌تونی تشخیص بدی محتوا واقعی هست یا ساخته‌شده با هوش مصنوعی. لینک: synthid.com @Linuxor ~ ai_ba_reza

Repost from Programmer Jokes
photo content

Repost from N/a
قبل از اینکه بروم سراغ مطالعه و جان کندن، یک داستان تعریف کنم برای این دعوای Specialist یا Generalist که همه‌جا در جریان است. چند سال پیش که روی SDR Security کار می‌کردم، علیرضا به من گفت برو سند جنگ الکترونیک و طیف الکترومغناطیس آمریکایی‌ها را مطالعه کن. سال ۹۳ بود و من روی این مسئله کار می‌کردم. هیچ‌وقت پاراگراف اول آن سند را یادم نمی‌رود. بعدها وقتی نسخه فارسی‌اش را منتشر کردم، همان بخش را ترجمه کردم. سال ۹۷ هم آن سند را منتشر کردم. اما چیزی که برای من جالب بود، خود بحث جنگ الکترونیک نبود؛ یک مثال ساده درباره مسیر تکامل تکنولوژی بود. آن زمان برای هر کاری یک ابزار تخصصی داشتید. می‌خواستید عکس بگیرید؟ دوربین‌موزیک گوش بدهید؟ کَست‌پلیر.‌‌با خانواده تماس بگیرید؟ تلفن مسیر پیدا کنید؟ GPS و برای هر کار دیگری، یک ابزار دیگر. بعد اسمارت‌فون آمد/یک دستگاه که قرار نبود در هیچ‌کدام از این کارها بهترین باشد، اما توانست بخش بزرگی از همه آن‌ها را در خودش جمع کند. دوربین شد/موزیک‌ پلیر شد/تلفن شد/GPS شد/مرورگر شد/پیام‌رسان شد/شبکه اجتماعی شد. حتی ابزار پیدا کردن پارتنر هم شد؛ همان حقه‌بازی معروف در سوشال‌مدیا :) در واقع اتفاق مهم فقط این نبود که چند گجت حذف شدند. اتفاق مهم‌تر این بود که مرز بین چند حوزه شروع کرد به از بین رفتن. و به نظرم دعوای Specialist و Generalist هم دقیقاً همین‌جاست.Generalist قرار نیست جای Specialist را بگیرد. همان‌طور که اسمارت‌فون قرار نیست جای دوربین سینمایی را بگیرد. اگر نولان بخواهد فیلم بسازد، نمی‌رود ۱۰۰ تا آیفون ۱۸ بخرد. می‌رود سراغ دوربین، لنز، سنسور و تجهیزات تخصصی‌ای که برای همان مسئله ساخته شده‌اند. تخصص حذف نمی‌شود. اما یک تغییر مهم اتفاق می‌افتد: تخصص معمولی، ارزان و قابل‌دسترس می‌شود. چیزی که زمانی نیازمند یک متخصص بود، کم‌کم تبدیل به یک Feature می‌شود. پس ارزش آینده فقط در این نیست که «یک کار را خیلی خوب بلد باشی». ارزش واقعی جایی ایجاد می‌شود که بتوانی چند حوزه را بفهمی، بینشان ارتباط برقرار کنی و از تقاطع آن‌ها چیزی بسازی که قبل از تو وجود نداشته. به زبان ساده‌تر: Specialist یک نقطه را عمیق می‌کند. Generalist بین نقاط ارتباط ایجاد می‌کند. و کسی که هر دو را داشته باشد، می‌تواند از این نقاط یک خط جدید بکشد. شاید آینده متعلق به آدم‌هایی نباشد که فقط یک چیز را خیلی خوب بلدند؛ بلکه متعلق به کسانی باشد که چند چیز را آن‌قدر عمیق می‌فهمند که بتوانند بینشان ارتباطی ببینند که بقیه نمی‌بینند. تخصص می‌ماند. اما برای اینکه تخصصت در آینده واقعاً ارزشمند باشد، احتمالاً باید آن‌قدر عمیق، خاص و گره‌گشا باشد که یک General-Purpose Tool نتواند به‌راحتی جایش را بگیرد. والا برای ۷۰ درصد کارها، همان آیفون ۱۲ هم هنوز کار آدم را راه می‌اندازد.

مدل Jev وارد دیتابیس ها شده، فیلترهای سنتی دیتابیس به شرط‌های دقیق و از قبل تعریف‌شده نیاز دارن. ولی خیلی از سوال‌ها معنایی (
مدل Jev وارد دیتابیس ها شده، فیلترهای سنتی دیتابیس به شرط‌های دقیق و از قبل تعریف‌شده نیاز دارن. ولی خیلی از سوال‌ها معنایی (Semantic) هستن، مثلا فرض کنید کاربر این سوالارو داشته باشه: آیا این مقاله بیشتر درباره‌ی مهندسی نرم‌افزار هستش؟ کدوم موضوع بهترین توصیف رو برای این مقاله داره؟ به نظر میاد این مقاله از نظر فنی چقدر عمیق باشه؟ این pg-jev یه افزونه‌ی متن‌باز برای Postgres هستش که Jev رو از طریق توابع SQL در اختیار می‌ذاره. تابع jev() می‌تونه مستقیماً داخل WHERE استفاده بشه. تابع jev_prob() یه احتمال برمی‌گردونه. تابع jev_choice() یه برچسب رو انتخاب می‌کنه. تابع jev_score() ردیف‌ها رو بر اساس سطوح مرتب‌شده رتبه‌بندی می‌کنه. خیلی سادس این سیستم به ستون وکتور (Vector Column) یا Embedding Index هم نیاز نداره. راهنما و دانلود: pgjev.com @Linuxor

Repost from Pedi | پِدی
به جای توضیح دادن «اون دکمه رو می‌گم»، روش کلیک کن 👀 اگه با Codex یا Claude Code رابط کاربری می‌سازین، احتمالا پیش اومده نصف
به جای توضیح دادن «اون دکمه رو می‌گم»، روش کلیک کن 👀 اگه با Codex یا Claude Code رابط کاربری می‌سازین، احتمالا پیش اومده نصف پرامپتتون صرف توضیح دادن این بشه که دقیقا کدوم قسمت صفحه باید تغییر کنه 😅 ابزار Agentation یه نوار ابزار به پروژه اضافه می‌کنه؛ روی المان موردنظر کلیک می‌کنین و می‌نویسین چه تغییری می‌خواین. مثلا: «فاصله این دکمه از عنوان، ۱۶ پیکسل باشه و توی حالت loading عرضش تغییر نکنه.» ⭐️ نکته کاربردیش اینه که بازخورد رو همراه selector و اطلاعات المان به agent می‌رسونه. می‌تونین خروجی Markdown رو کپی کنین یا با تنظیم MCP، کامنت‌ها رو مستقیم در اختیار agent بذارین. برای Claude Code یه skill راه‌اندازی هم داره: npx skills add benjitaylor/agentation بعد داخل Claude Code دستور /agentation رو اجرا می‌کنین. فعلا به React 18+ و مرورگر دسکتاپ نیاز داره و بهتره فقط توی محیط توسعه فعال باشه. تغییر کد رو agent انجام می‌ده؛ نتیجه رو هم همچنان باید بررسی کنین. برای رفت‌وبرگشت‌های ریز طراحی، ایده کاربردی‌ایه 🔥 معرفی و دمو · راهنمای نصب

#پرامپت برای خلاصه نویسی و نوت برداری:
این متن را به خروجی عملی تبدیل کن:
5 نکته اصلی
تصمیم های مهم
کارهایی که باید انجام دهم
ریسک‌‌ها و ابهام ها
برنامه اقدام برای 24 ساعت آینده
اگر اطلاعات کافی نیست، حدس نزن و موارد ناقص را جداگانه بنویس
From: @Rs_tutorial

Repost from N/a
این چرخه‌ای که خیلی از ما درگیرش می‌شویم، یک الگوی روانی بسیار رایج است: چرخه فرسودگی یادگیری: چرا وسط آموزش کم می‌آوریم؟ اکثر بچه‌های فنی یا کسانی که خودآموز یاد می‌گیرند، مدام در یک لوپ ۵ مرحله‌ای گیر می‌کنند: انگیزه اولیه: یک دوره جدید، جذاب و پرانرژی شروع می‌شود. بیش‌بارگیری اطلاعات (Information Overload): هم‌زمان با دوره، سراغ کتاب، سورس‌کد، مقالات جانبی و جزوه‌نویسی وسواسی می‌رویم. فرسودگی مغز (Burnout): حجم ورودی به خروجی عملی نمی‌چسبد؛ مغز خسته می‌شود و برای بقا فرمان خاموشی می‌دهد. فرار به دوپامین راحت: آموزش رها می‌شود، می‌رویم سراغ سریال، گیم یا اسکرول بی‌‌هدف. عذاب وجدان و تکرار: بعد از چند روز حس بی‌مصرف بودن سراغمان می‌آید، برای جبران سریعاً یک دوره جدید برمی‌داریم و روز از نو. ۳ تله پنهان که مغز را به دیوار می‌زند تله کار کاذب (Fake Work): تمیز کردن جزوه، صفحه‌آرایی، ساختن پی‌دی‌اف و کتابچه، یا هایلایت کردن کتاب‌ها حس پیشرفت کاذب می‌دهد. حس می‌کنیم کلی کار کردیم، در حالی که فقط انرژی روانی مصرف شده و یادگیریِ عملی متوقف مانده است. توهم تسلط (Illusion of Competence): دیدن ۱۰ ساعت ویدیوی آموزشی و فهمیدن مباحث، به این معنی نیست که بلدیم آن را از صفر بسازیم یا دیباگ کنیم. فهمیدن تئوری بسیار ساده‌تر از اجرای عملی است. حرص تجمیع منابع: باز کردن ۵ تب مختلف و جمع‌آوری ده‌ها گیگابایت رفرنس و کتاب قبل از پایان مبحث اول، مغز را از ترس حجم کار فلج می‌کند. استراتژی خروج از چرخه: یادگیری با حداقل اصطکاک قانون تک‌منبعی: تا زمانی که یک دوره تمام نشده یا یک مبحث به بن‌بست کامل نخورده، سراغ کتاب و رفرنس دوم نروید. فقط یک مسیر را تا انتها بروید. قاعده ۸۰ به ۲۰ (خروجی‌محور به جای مصرف‌محور): تنها ۲۰ درصد زمان را صرف تماشای آموزش کنید و ۸۰ درصد را پای کیبورد، اجرای سناریو و باگ زدن بگذرانید. یادداشت‌برداری مثل «برگه تقلب»، نه «کتاب»: جزوه نباید خوشگل و کامل باشد؛ جزوه فقط باید شامل دستورات فرار، خطاهای پرتکرار و راه‌حل‌های سریع باشد. چیزی که با ۵ ثانیه گوگل پیدا می‌شود ارزش نوشتن ندارد. قانونی کردن استراحت: وقتی استراحت را بدون عذاب وجدان در برنامه روتین بگذارید، مغز برای استراحت کردن نیازی نمی‌بیند وسط آموزش اعلام فلجی کند و به سریال فرار کند. خلاصه: هر چقدر فاصله بین «دیدن ویدیو» و «کد زدن/تست عملی» کمتر باشد و کارهای فرعی مثل جزوه‌نویسیِ وسواسی حذف شوند، سرعت واقعی یادگیری بالا می‌رود و خبری از حس خستگی و رها کردن نخواهد بود.

Repost from Programmer Jokes
photo content

Repost from Leakfa
🚨 نشت جدید: اطلاعات حساس صدها هزار کاربر صرافی والکس در معرض افشا 🔍 مجموعه‌ای در حدود 750 هزار رکورد از اطلاعات مرتبط با کا
🚨 نشت جدید: اطلاعات حساس صدها هزار کاربر صرافی والکس در معرض افشا 🔍 مجموعه‌ای در حدود 750 هزار رکورد از اطلاعات مرتبط با کاربران صرافی ارز دیجیتال «والکس» مربوط به سال‌های 1397 تا 1401، در فهرست فروشندگان بانک‌های اطلاعاتی غیرمجاز مشاهده شده است. این داده‌ها شامل اطلاعات هویتی مانند نام، نام خانوادگی، شماره ملی، تاریخ تولد، شماره تلفن، آدرس، ایمیل، اطلاعات مرتبط با احراز هویت و همچنین اطلاعات مالی از جمله شماره کارت بانکی، شماره شبا، اطلاعات صاحب حساب، آدرس و موجودی کیف‌پول‌های رمزارزی و سایر اطلاعات مرتبط با کاربران است. اطلاعات حساب‌های کارکنان و برخی داده‌های مرتبط با سامانه‌های داخلی نیز در این مجموعه مشاهده شده است. 📌 افشای این اطلاعات می‌تواند زمینه‌ساز فیشینگ هدفمند، کلاهبرداری مالی، مهندسی اجتماعی و سوءاستفاده از اطلاعات هویتی و بانکی کاربران شود. به کاربران توصیه می‌شود در صورت فعال بودن کارت، برای تعویض آن اقدام کنند، نسبت به تماس‌ها، پیام‌ها و لینک‌های مشکوک هوشیار باشند و از ارائه اطلاعات شخصی خود به افراد ناشناس خودداری کنند. ✅ صحت داده‌های ارائه‌شده در بررسی نمونه‌ای تایید شد. 🆔 @leakfarsi