Click University
78 subscribers
105 photos
4 videos
90 links
کلیک، دانشگاهِ عصرِ مدرن.

🎓 t.me/ClickUniversity?direct
Download Telegram
شرکت TypeSafe اومده یه مدلی به اسم Jev،که توسط دیوگو آلمیدا (از محققان سابق OpenAI و از سازندگان ChatGPT) ساخته شده رو ارائه داده ،این مدل با مدل‌های زبانی معمولی مثل ChatGPT فرق داره؛ Jev متن تولید نمی‌کنه، بلکه فقط تصمیم‌های سریع می‌گیره و به جای جواب دادن با جمله، مستقیم یک انتخاب، امتیاز یا احتمال برمی‌گردونه.
چطور ازش استفاده کنم؟
استفاده از Jev ساده‌ست. شما دو چیز بهش می‌دید: یک وضعیت (state) و یک یا چند سوال (question). بعدش Jev جواب‌های مشخص و قابل برنامه‌نویسی برمی‌گردونه. سه نوع سوال داره:

· اولی Choice (انتخاب): از بین یک لیست گزینه، یکی رو انتخاب می‌کنه. مثلاً «این تیکت باید به کدوم تیم بره؟»
· دومیScore(امتیاز): یک چیز رو با یک مقیاس عددی می‌سنجه. مثلاً «این مشتری چقدر عصبانیه؟»
· سومی Naul (بله/خیر): احتمال درست بودن یک جمله رو بین ۰ تا ۱ برمی‌گردونه. مثلاً «آیا این مشتری درخواست بازگشت وجه کرده؟»
یه مثال ساده
فرض کن یک ایمیل پشتیبانی داری و می‌خوای بدونی چقدر فوریه. کافیه به Jev بگی:
وضعیت: «سه روزه که مشکل پرداخت دارم و کسی جوابم رو نداده.»
سوال: «این پیام فوریت داره؟» (نوع Noul)
مدل Jev مستقیم برمی‌گردونه: ۰.۹۷ (یعنی ۹۷٪ احتمال داره که فوریه).

مزیت اصلیش چیه؟
سرعتش خیلی بالاتره (۷۰ تا ۵۰۰ میلی‌ثانیه) و هزینه‌اش خیلی کمتره. TypeSafe ادعا می‌کنه در بعضی کارها تا ۲۰۰ برابر سریع‌تر و ۴۰۰ برابر ارزون‌تر از مدل‌های زبانی بزرگه، چون از تولید متن پرهیز می‌کنه و فقط تصمیم می‌گیره. همین باعث شده برای کارهای تکراری داخل برنامه‌ها (مثل مسیریابی، دسته‌بندی، فیلتر کردن) خیلی مناسب باشه.

اگه بخوای امتحانش کنی، باید توی سایت TypeSafe توی لیست انتظار (Waitlist) ثبت‌نام کنی تا دعوت‌نامه برات بیاد.
اینم سایتش ، سایت ش هم خیلی باحاله ؛) https://typesafe.ai/

@ClickUniversity
‏۴ قابلیت TypeScript، زمانی خودشو نشون میده که پروژه بزرگ شده باشه.
‏🔹 1. satisfies
‏این Object باید این ساختار را داشته باشد.

‏🔹 2. never
‏مطمئن شو هیچ حالت/Caseای جا نمانده.

‏🔹 3. Branded Types
‏این دو string/number نباید با هم قاطی شوند.

‏🔹 4. Template Literal Types
‏این string باید الگوی خاصی داشته باشد.
‏ــــــــــــــــــــــــــــــــــــ
‏📌 پ.ن:
‏در یک پست اختصاصی میام چند مثال از هر یک اینها میزنم که تا راحت مطلب جا بیوفته.

@ClickUniversity
مدل Jev که اینجا معرفی کردیم و واقعا سرو صدا کرده با ۱۲۰ میلیون توکن رایگان در اختیار همه کاربران قرار گرفت.

من خواستم اشتراکش رو بگیرم ولی الان واقعا خوشحالم که رایگانه حتما تستش کنید لذت دنیا رو میبرید، بسیار وحشی و قویه.

http://console.typesafe.ai

درواقع رایگان نشده، اول به ایمیلتون ۵ دلار شارژ میده و با استفاده از این ۵ دلار ۱۲۰ میلیون توکن می‌تونید فعال کنید.

@ClickUniversity
سلام.
یه پروژه یی هست به نام Blobatar ٬ و ایدش اینکه که برای ساخت تصویر پروفایل٬دگه لازم نباشه عکس آپلود کنیم.
نکته‌ی جالب اینه که تولید آواتار deterministic هستش یعنی قابلی پیش بینیه٬ بطور مثال اگه دوباره بنویسی امیر همون دوبار اواتار امیر رو میده یعنی جدید نمیده هربار رندوم باشه.
حالا چه مزیتی داره؟
نیاز به ذخیره سازی عکس کاربر نیست.
حجم تصاویر پروفایل حذف میشود.
آواتارها به‌صورت خودکار ساخته می‌شوند.
برای هر username می‌توان یک ظاهر ثابت داشت.

در کجا ها کاربردیه؟
برای پروژه‌هایی مثل کامنت، چت، شبکه اجتماعی و داشبورد خیلی کاربردیه.
🔗Link

@ClickUniversity
خیلی وقت ها توی پایتون مجبور میشیم برای یه عملیات ساده، یه function چند خطی با def تعریف کنیم. اما امروز میخوام بهتون بگم که سینتکس lambda این مشکل رو حل میکنه.

بزارید توی یه مثال خیلی ساده اینو بهتون بگم. فرض کنید میخواید یه تابع تعریف کنید که عدد رو 2 برابر کنه؛

با def :
def double(x):
return x * 2

print(double(5)) # 10


اما با lambda :
double = lambda x: x * 2
print(double(5)) # 10


@ClickUniversity
مجموعه‌ای عالی از منابع Python

A Great Collection of Python Resources
یک مجموعه از منابع آموزشی پایتون که برای یادگیری و عمیق‌تر شدن در اکوسیستم پایتون جمع‌آوری شده.
اگر دنبال منابع مختلف براش هستید، این لینک می‌تونه نقطه شروع خوبی باشه.

🔗 Link

@ClickUniversity
هوش مصنوعی ها در عصر دیزاین پترن ها.

با ورود AI، نقش Design Patternها هم داره تغییر می‌کنه،
امروز AI می‌تونه Pattern پیشنهاد بده یا حتی پیاده‌سازی‌ش کنه؛
پس سؤال مهم‌تر اینه:
اصلاً اینجا به Pattern نیاز دارم؟

این مقاله سوال هایی که ممکنه پیش بیاد رو برسی کرده.

🔗 Link

@ClickUniversity
سلام.
یه ابزاری هست به نام MobX، کارش چیه؟
قضیه ازین قراره که این ابزار مثل ابزار Redux ، میاد روی State مدیریت میکنه.
خوب حالا فرقش چیه هردو که در عمل یکین؟

این MobX این عمل کرد رو داره :

کدنویسی نسبتاً ساده و کم‌حجم


کمتر درگیر dispatch و reducer می‌شوی


برای Stateهای پیچیده و آبجکت‌های زیاد راحت است



اما Redux این عمل کرد رو داره:

یادگیریش کمی کمی پیچیده‌تر


حجم کد معمولاً بیشتره


ساختاریافته‌تر


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

@ClickUniversity
چطور ممکنه کسی علناً بگه «AI می‌تونه نابودمون کنه» ولی خودش شبانه‌روزی داره همون رو می‌سازه و سرعتش رو هم بیشتر می‌کنه؟ خب، این مقاله می‌گه جوابش فقط طمع و ریاکاری نیست، بلکه سه تا چیز دست به دست هم دادن که عملاً توقف رو غیرممکن می‌کنه: اول، شرکت‌ها تو یه دوراهی زندانی گیر افتادن — هیچ‌کس به اون یکی اعتماد نداره، می‌ترسه کند شه و رقیبش بزنه جلو، پس همه گاز میدن! دوم، حتی اگه بخوان بایستن، مدل‌هایی که قبلاً منتشر شدن دیگه تو دست همه پخشه و جمع‌کردنشون نشدنیه. سوم، دولت‌ها هم که وارد شدن — آمریکا و چین به هم اعتماد ندارن و AI شده زیرساخت امنیت ملی، پس هر کی فکر می‌کنه اون یکی جلو زده، بیشتر فشار میاره. نتیجه؟ یه «قفل‌شدگی کامل» که هر روز محکم‌ترم می‌شه و مشکل هم از آدم‌ بده نیست، خودِ سیستم طوریه که نگه‌داشتنش تقریباً محاله!

حالا اگه دوست داشتی خودت متن کامل رو بخونی، برو اینجا 👇

📃 Link

@ClickUniversity
اگر فکر می‌کنید فرد مفیدی هستید، پس یک چیز مفیدی به ما بگید : دایرکت

@ClickUniversity
اسم pnpm رو احتمالا کمتر شنیدید و هرچی شنیدید بیشتر npm بوده٬ حالا فرقشون چیه باهم٬ در حالی که هردو بر مدیریت پکیچ های nodejs تمرکز دارن؟

pnpm:
مصرف فضای دیسک: کمتر

سرعت نصب: معمولاً سریع‌تر

محبوبیت/سازگاری: بسیار محبوب، مخصوصاً در پروژه‌های مدرن


npm:
مصرف فضای دیسک: بیشتر

سرعت نصب: خوب

محبوبیت/سازگاری :‌ بسیار گسترده و استاندارد


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

@ClickUniversity
این وبسایت میاد اشکال های مختلف هندسی و غیر هندسی رو در دسترس شما ها قرار میده و میتونید با اضافه کردن ادویه خلاقیت ٬ بهترین تجربه کاربری رو خلق کنین.
🔗Link

@ClickUniversity
گیت خراب شد؟ نترس!

Flight Rules for Git
یه راهنمای کاربردی برای وقتی که با Git به مشکل خوردی؛ از اشتباه در commit و rebase گرفته تا چیزهایی که فکر می‌کنی دیگه قابل برگشت نیستن.

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

🔗 Git Flight Rules

@ClickUniversity
هوش مصنوعی سرعت کدنویسی رو بالا برده، اما GitLab ترمز کشید.
اینجا بخونید
🔗 Link

@ClickUniversity
🦀 چیزهایی که Rust دارد و C ندارد

وقتی از C به Rust می‌ری، یه‌سری قابلیت‌ها واقعاً باعث می‌شن دلت برای Rust تنگ بشه!
از مدیریت حافظه و Resourceها گرفته تا Generics، Traitها، Pattern Matching، تست‌نویسی و Error Handling؛
این مقاله چندتا از چیزهایی رو بررسی می‌کنه که Rust توسعه رو امن‌تر و راحت‌تر می‌کنه.

🔗 Read

@ClickUniversity
همونطوری که قبلا اشاره کردم و گفتم چند مثال از هر یک اینها میزنم که تا مطالب جا بیوفته برا شما،
آقا در پروژه های بزرگ این تایپ ها :

String

Number

Boolean


ممکنه که کارساز نباشن هی دردسر برا شما بتراشن.
اینجاست که این ۴ قابلیت بکارمون میاد:

satisfies


type Config = {
port: number;
mode: "dev" | "prod";
};

const config = {
port: 3000,
mode: "dev"
} satisfies Config;


never


type Status = "loading" | "success" | "error";

function handleStatus(status: Status) {
switch (status) {
case "loading":
return "در حال بارگذاری";

case "success":
return "موفق";

case "error":
return "خطا";

default:
return assertNever(status);
}
}

function assertNever(value: never): never {
throw new Error("Unexpected value");
}


و حالا اگر بعدا بنویسی :

type Status =
| "loading"
| "success"
| "error"
| "cancelled";


این بزرگوار یعنی TypeScript بهت هشدار میده که این cancelled رو در switch مدیریت یا نکردی.

Branded Types


type UserId = string & {
__brand: "UserId";
};

type ProductId = string & {
__brand: "ProductId";
};

function getUser(id: UserId) {}

function getProduct(id: ProductId) {}


ممکنه که این ProductId رو به اشتباه به getUser() میدی اما این Branded Types میاد جلوشو میگیره.

Template Literal Types

مثلاً می‌خواهی اسم Eventها همیشه این شکلی باشند:

user:created
user:deleted
product:created
product:deleted


میتونیم اینو بنویسیم:

type Event = `${"user" | "product"}:${"created" | "deleted"}`


حالا اینو بنویسیم:

const event: Event = "user:created"; // ✅


ولی:

const event: Event = "banana:hello"; // ❌


زمانی استفاده میشه که string ها یک الگوی مشخص داره.

@ClickUniversity
یه فرم ورک جدید این روزا اومده اسمش tinyjs هستش که برای ساخت اپ های دسکتاپ (macOS، Windows و Linux) با زبان JavaScript بکار میره٬ که حجم خروجیش (Build) فقط ۶ مگابایت (حدودا٬ چون بسته به برنامه ممکنه حجم زیاد بشه ) هستش.
بریم سراغ معماری:

بک اند : بر روی موتور txiki.js (ترکیبی از QuickJS و libuv) اجرا میشه و دسترسی کامل به سیستم مانند فایل‌ها، سوکت‌ها، پروسه‌ها، FFI و دیتابیس SQLite داره.

ارتباط (IPC): به جای استفاده از پورت localhost، از طریق Unix socket بین بخش بک‌اند و فرانت‌اند ارتباط برقرار می‌کند.

بدون نیازمندی‌های سنگین: نیازی به Electron، Chromium یا اجرای محیط Node.js در زمان اجرا (Runtime) نداره.

فرانت‌اند (Frontend): از وب‌ویوی نیتیو (Native Webview) سیستم‌عامل استفاده می‌کنه.


اما بریم سراغ کامیونتی:
از اونجایی که این فریم ورک تازه متولد شدست انچنان محبوبیت نداره ٬
در حال حاضر در فاز جلب توجه اولیه (Buzz) در رسانه‌ها و انجمن‌های تکنولوژی مانند daily.dev، Reddit و Hacker News قرار داره.

@ClickUniversity
این Leptos کاری شبیه به nextjs انجام میده اما به جای JavaScript از Rust استفاده میشه.
با Leptos می‌تونی:
رابط‌های کاربری تعاملی (Interactive UI) بسازی.

برنامه‌های Single Page Application (SPA) بسازی.

از Server-Side Rendering (SSR) برای سرعت بهتر استفاده کنی.

کد فرانت‌اند و بک‌اند را با یک زبان (Rust) بنویسی.


نقاط قوت:
سرعت بالا (به دلیل Rust و WebAssembly).

امنیت بیشتر نسبت به بسیاری از زبان‌های سطح بالاتر.

امکان استفاده مشترک از Rust در فرانت‌اند و بک‌اند.


نقطه ضعف:

یادگیری سخت‌تر چون باید Rust یاد بگیری.

اکوسیستم آن هنوز به اندازه nextjs بزرگ نیست.


بیا باهم یه قطعه کد ساده ازین Leptos ببینیم:

#[component]
fn Button() -> impl IntoView {

view! {
<button>
"Click"
</button>
}

}


@ClickUniversity
جنگ بر سر یه تکه سیلیکون!

شاید عجیب باشه، ولی یکی از دعواهای بزرگ بین آمریکا و چین سر چیزیه که با چشم هم به زور میشه دید: تراشه‌ها.
ریزپردازنده‌ها و تراشه‌های پیشرفته فقط برای کامپیوتر و موبایل نیستن؛ توی هوش مصنوعی، ابرکامپیوترها و حتی تجهیزات نظامی هم استفاده میشن. آمریکا برای محدود کردن دسترسی چین به بعضی تراشه‌های پیشرفته و تجهیزات ساختشون محدودیت گذاشته. چین هم داره بیشتر روی ساخت تراشه‌های خودش سرمایه‌گذاری می‌کنه تا وابستگیش کمتر بشه.

خلاصه اینکه پشت یه تکه کوچیک سیلیکون، یه رقابت خیلی بزرگ بر سر فناوری و قدرت محاسباتی آینده در جریانه.

منبع:
Bureau of Industry and Security (BIS)
Reuters

@ClickUniversity
مگه صدا هم می‌تونه بپره؟!

دانشمندا تونستن برای اولین بار یک پرش کوانتومی در یک ذره‌ی صدا (فونون) رو به‌صورت مستقیم مشاهده کنن. حالا فونون چیه؟ صدا در حالت عادی از لرزش به وجود میاد. وقتی همین لرزش رو در مقیاس خیلی خیلی کوچیک بررسی کنیم، می‌تونیم انرژی اون رو به شکل بسته‌های کوچیک در نظر بگیریم که بهشون «فونون» می‌گن. چیزی که دانشمندا دیدن این بود که این سیستم می‌تونه از یک حالت انرژی به حالت دیگه یک‌دفعه تغییر کنه؛ مثل اینکه از یک پله مستقیم روی پله‌ی بعدی بپری، بدون اینکه پله‌های بینش رو رد کنی. به این اتفاق می‌گن «پرش کوانتومی».

البته قرار نیست فردا با این کشف بلندگو یا هدفون جدید بسازیم! فعلاً اهمیتش بیشتر برای شناخت بهتر دنیای کوانتومه. ولی در آینده می‌تونه به ساخت حسگرهای خیلی حساس، ابزارهای دقیق‌تر برای اندازه‌گیری لرزش‌ها و بعضی فناوری‌های محاسبات کوانتومی کمک کنه. یعنی اینجا «صدا نمی‌پره»؛ چیزی که می‌پره، حالت کوانتومیِ یک لرزش خیلی ریزه.

منبع:
ScienceDaily

۲۲ سپتامبر ۲۰۲۶

@ClickUniversity
وقتی به Dependencyها اعتماد می‌کنیم.

ما به npm install اعتماد می‌کنیم، اما واقعاً چقدر از dependencyهای پروژه‌مون خبر داریم؟

این مقاله سراغ npm audit، Lockfile، Dependabot، Snyk و خطر Supply Chain Attack می‌ره و نشون می‌ده کجای این زنجیره ممکنه مشکل ایجاد بشه.

🔗 Read

@ClickUniversity