LearnByLearn📖 – Telegram
LearnByLearn📖
569 subscribers
44 photos
9 videos
5 files
69 links
Download Telegram
نبرد بین نظم و انعطاف (قسمت اول از مفاهیم دیتابیس)

👈🏻 کی به وجود اومدن؟
👈🏻 چرا به وجود اومدن؟
👈🏻 چه موقع از کدوم استفاده کنیم و چه موقع استفاده نکنیم؟
👈🏻 مزیت و معایبشون چیه؟ به درد چه پروژه هایی میخوره ؟
👈🏻 مقیاس پذیری افقی و عمودی چیه ؟

🔗 لینک

@LearnByLearn

#database
#sql
#nosql
👍1
یه خبر خوب برای اونایی که با jetbrain عشق میکنن

در یک اقدام بی سابقه 😄 شرکت jet brains دو تا از IDE هاش رو یعنی web storm و rider رایگان کرده و میتونید برای استفاده های غیرتجاری ازش بهره ببرید

به گفته خود سایتش تنها تفاوت ورژن تجاری و غیرتجاریش ویژگی code with me هستش که خب فقط توی ورژن تجاری یعنی همون پولی خودمون قابل دسترس هست

اینکه مقاصد تجاری و غیرتجاریش چی هستن خیلی دقیق توی وبلاگش توضیح داده
ولی در این حد بدونید برای ما ایرانیا همون رایگان شده و برید عشق کنید😍

نکته دیگه ای که هستش اینه که jetbrain کلنگ مفت به قبر نمیزنه و اگه از نسخه رایگان یا همون غیرتجاری قراره استفاده کنید ملزم هستید که jet brains به صورت ناشناس از IDE شما داده جمع اوری کنه حالا اینکه واقعا ناشناسه یا نه الله العلم🤷🏻‍♂️

حالا برای یکسری ها این نکته مهمه برای یکسری ها هم مهم نیس


اطلاعات دقیق ترش توی لینک زیر:

https://blog.jetbrains.com/blog/2024/10/24/webstorm-and-rider-are-now-free-for-non-commercial-use/


@LearnByLearn
👍2
📝 خالق لینوکس: ۹۰ درصد هوش مصنوعی، بازاریابی است!

لینوس توروالدز، خالق لینوکس، در اظهارنظری جنجالی اعلام کرد که هوش مصنوعی ترکیبی از ۹۰ درصد بازاریابی و ۱۰ درصد واقعیت است.

لینوس توروالدز، توسعه‌دهنده اصلی لینوکس، در حاشیه نشست Open Source درباره وضعیت کنونی صنعت هوش مصنوعی (AI) دیدگاه‌هایی انتقادی و بی‌پرده ارائه داد. توروالدز که به‌خاطر نظرات تند و صریحش در‌زمینه فناوری مشهور است، در مصاحبه‌ای با TFiR وضعیت کنونی AI را با حالتی بدبینانه به‌عنوان «۹۰ درصد بازاریابی و تنها ۱۰ درصد واقعیت» توصیف کرد.

در این مصاحبه، توروالدز با وجود تمایل به مشاهده پتانسیل‌های هوش مصنوعی، تأکید کرد که تبلیغات اغراق‌آمیز این صنعت، مانعی بر سر راه رشد و درک واقعی AI است. وی با حالتی انتقادی اذعان کرد:

به نظرم هوش مصنوعی واقعاً جالب است و به تغییرات جهانی منجر خواهد شد؛ اما از این چرخه تبلیغاتی بیزارم و تمایلی به حضور در آن ندارم.

وی در ادامه مکانیزم مقابله خود با این وضعیت را چنین توصیف کرد:

رویکرد من به هوش مصنوعی این است که فعلاً اساساً آن را نادیده بگیرم؛ چون به نظرم کل صنعت فناوری حول محور AI در وضعیت بسیار نامطلوبی قرار گرفته است.


منبع خبر HomeAI

@LearnByLearn
4👍1
LearnByLearn📖
وقتی جدول‌ها عاشق می‌شوند (قسمت دوم از مفاهیم دیتابیس) 👈🏻 کلید ها چی هستن و انواع شون ؟ 👈🏻 انواع ریلیشن توی دیتابیس چطوری استفاده میشه؟ 👈🏻 چه موقع از ON DELETE استفاده کنیم ؟ 🔗 لینک مقاله @LearnByLearn #database #sql #nosql #relation_database #keys
دیتابیس بدون ایندکس، مثل کتابخانه بدون فهرست! (قسمت سوم از مفاهیم دیتابیس)

👈🏻 مفهوم ایندکس چیه؟ چه موقع استفاده کنیم چه موقع نکنیم ؟
👈🏻 انواع ایندکس کدوما هستن؟چطوری کار میکنن ؟
👈🏻 بررسی سه ساختار داده مهم ایندکس ها B-tree , Bitmap, hash table


🔗 لینک مقاله

@LearnByLearn

#database
#sql
#nosql
#index
⁉️ تا حالا عبارت currying به گوشتون خورده ؟



همونطور که میدونید توی جاواسکریپت توابع ما first class هستن

یعنی یک تابع رو به عنوان متغیر به تابع دیگه بفرستیم یا از تابع دیگه return اش کنیم

تکنیک currying به شما این امکان رو میده که توابع با آرگومان‌های متعدد رو به دنباله‌ای از توابع تبدیل کنی که این توابع هر کدام یک آرگومان را در یک زمان میگیرن.

یعنی قابلیت استفاده مجدد، ترکیب بندی و انعطاف پذیری کد را ارتقا می دهد.

کد زیر رو درنظر بگیر
وقتی بخوایم از تابع total استفاده کنیم باید هربار هی بهش بگیم واحد پول ما دلاره یا ریاله و مدام اینو توی صدا زدن تکرار کنیم که خب خیلی خوب نیست
function total(sign, amount) {
return `${sign}${amount}`;
}

total("Dolar", 200);
total("Rial", 200);


اما به لطف وجود first class function ها میتونیم از مفهوم currying استفاده کنیم
اینطوری دیگه فقط یکبار واحد پول رو تعیین میکنیم و هزار بار ازش استفاده میکنیم

function total(sign) {
return (amount) => {
return `${sign}${amount}`;
};
}

const totalDolar = total("Dolar");
const totalRial = total("Rial");

totalDolar(200);
totalDolar(200);


به یه روش دیگه هم میشه حرکت currying رو زد اونم استفاده از bind هستش :
function multipleByNumber(y, x) {
return y * x;
}
const multipleByTwo = multipleByNumber.bind(this, 2);

const multipleByThree = multipleByNumber.bind(this, 3);

multipleByTwo(200);
multipleByThree(200);


@LearnByLearn

#currying
#tips
#javanoscript
🔥3👍2
معماری برنامه تعیین‌کننده اصلی عملکرد آن است و این مسئله ممکن است بدیهی به‌نظر برسد، اما تجربه نشان می‌دهد که بسیاری از معماران نرم‌افزار به‌اشتباه تصور می‌کنند با تغییر یک فناوری یا نرم‌افزار زیرساختی، می‌توان مشکلات عملکردی برنامه را حل کرد. به عنوان مثال، ممکن است یک محصول جدید به‌خاطر تبلیغات و بنچمارک‌ها وعده بهبود عملکرد ۲۵ درصدی بدهد، اما اگر مشکل اصلی در معماری ناکارآمد برنامه باشد، این بهبود اندک تأثیر چندانی نخواهد داشت.

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

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

منبع مطلب 👇

@microfrontend_ir
⁉️ سرورتون خنگه🤪 یا همه چیز یادش میمونه😎 ؟؟؟

فرض کن برای بار اول رفتی توی یک رستوران غذا 🍕سفارش بدی و به گارسون میگی من فلان غذارو میخوام
خب غذا و میزنی بدن و میری

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

مثلا احراز هویت از نوع session base یک احرازهویته stateful هست چون تو یک بار احراز هویت میشی و اطلاعاتت رو سرور توی دیتابیس ذخیره داره و نیاز نیس هربار بگی این منم این منم



حالا یه دستگاه عابربانک رو تصور کن
تو هربار که بری ازش پول بگیری باید عین هربارش بگی تو کی هستی یعنی دستگاه از وضعیت قبلی تو خبری نداره و نمیدونه تو همون شخصی هستی که قبلنم اومدی ازش پول بگیری
به این نوع میگن statless

دقیقا مثل احراز هویت از نوع jwt ، توی این احراز هویت تو وقتی برای اولین بار لاگین میکنی توی سایت، سرور در اصطلاح یه کلید بهت میده و تو هربار هر درخواستی که میزنی به سرور باید اون کلید هم همراهش بفرستی و بگی کی هستی چون برعکس session base چیزی از تو یادش نیس و باید بهش دیکته کنی



@LearnByLearn

#tips
#stateful
#stateless
🔥9👍1🤔1
🔥🔥 داغ داغ از تنور درومده

👨‍💻 عمو رایان(سازنده node و deno) داره از deno 2 برامون میگه


با یه جمله جالب که شروع میکنه
javanoscript in world is default language


https://youtu.be/H8VLifMOBHU?si=3lUiNMWqqMe8hh2-
🔥2👍1👎1
LearnByLearn📖
نرمال‌سازی دیتابیس: از آشفتگی تا آسودگی در چند مرحله ساده(قسمت چهارم از مفاهیم دیتابیس) 👈🏻 مفهوم نرمالایز چیه؟ 👈🏻 سطوح نرمالایز کدوما هست ؟ 👈🏻 معایبش چیه و چه موقع استفادش نکنیم ؟ 🔗 لینک مقاله @LearnByLearn #database #sql #nosql #normalize
اسید: این بار نه شیمی، بلکه دیتابیس!(قسمت پنجم از مفاهیم دیتابیس)

👈🏻 اسید(ACID) در دیتابیس به چه معنیه؟
👈🏻 اگه ایزوله سازی رو رعایت نکنی چه مشکلاتی پیش میاد ؟ dirty read و phantom readو non-repeatable read چیا هستن ؟
👈🏻 چهار سطح ایزوله سازی کدوما هستن ؟

🔗 لینک مقاله

@LearnByLearn

#database
#sql
#nosql
#acid
👏7
داشتم کتاب Mastering Go رو میخوندم به یه جمله قشنگ و برخوردم که میگه:

Just because we can use channels, it does not mean that we should. If a simpler solution exists that allows goroutines to get executed and save the generated information, we should also consider that. The purpose of every developer should be to create a simple design, not to use all the features of a programming language.

میگه وقتی ما از چنل ها توی گولنگ استفاده میکنیم، بایدی در کار نیست که توعه دولوپر الزاما چون چنل یه فیچره حتما حتما ازش استفاده کنی بلکه اگه میدونی یه راه حل ساده تر وجود داره برو از اون استفاده کن
موظف نیستید از تمام امکانات اون زبون برنامه نویسی استفاده کنید و بگید yes من چقده خفنم بلکه خیلی جاها ممکنه کدتو با این کارا پیچیده تر کنی
حالا صرفا توی این مثال گولنگ و چنل ها بود منظور من کلی بود یعنی توی هر زبانی که داری باهاش کد میزنی
هدف توسعه دهنده باید یک طراحی ساده باشه نه صرفا استفاده از تمامی امکاناتی که توی زبون وجود داره

ادیت: لینک دانلود کتاب توی کامنت ها

@LearnByLearn
#tips
#tricks
👍7
LearnByLearn📖
داشتم کتاب Mastering Go رو میخوندم به یه جمله قشنگ و برخوردم که میگه: Just because we can use channels, it does not mean that we should. If a simpler solution exists that allows goroutines to get executed and save the generated information, we should also…
تکه‌ تکه، اما قوی‌ : Sharding، Partitioning و Replication (قسمت آخر از مفاهیم دیتابیس)

👈🏻 رپلیکیشن، شاردینگ و پارتیشن چی هستن ؟
👈🏻 مزیت هرکدوم چیه ؟
👈🏻 چه موقع از کدوم استفاده کنیم ؟

🔗 لینک مقاله

@LearnByLearn

#database
#sql
#nosql
#sharding
#replication
#partition
👍2
LearnByLearn📖
لیست پست های مهم کانال (این لیست آپدیت میشه) : تفاوت Reference by value و primitive by value آموزش middleware اندر احوالات جاوا‌اسکریپت قسمت اول 👈🏻 در مورد نحوه کار js و javanoscript Engine اندر احوالات جاوا‌اسکریپت قسمت دوم 👈🏻 در مورد Execution…
💥مجموعه مقاله های مفاهیم دیتابیس💥

سعی کردم تا جایی که جا داره مفاهیم رو ساده توضیح بدم و شک نکنید ازشون تو مصاحبه ها پرسیده میشه 🍻


نبرد بین نظم و انعطاف (قسمت اول از مفاهیم دیتابیس)
👈🏻 کی به وجود اومدن؟
👈🏻 چرا به وجود اومدن؟
👈🏻 چه موقع از کدوم استفاده کنیم و چه موقع استفاده نکنیم؟
👈🏻 مزیت و معایبشون چیه؟ به درد چه پروژه هایی میخوره ؟
👈🏻 مقیاس پذیری افقی و عمودی چیه ؟


وقتی جدول‌ها عاشق می‌شوند (قسمت دوم از مفاهیم دیتابیس)
👈🏻 کلید ها چی هستن و انواع شون ؟
👈🏻 انواع ریلیشن توی دیتابیس چطوری استفاده میشه؟
👈🏻 چه موقع از ON DELETE استفاده کنیم ؟


دیتابیس بدون ایندکس، مثل کتابخانه بدون فهرست! (قسمت سوم از مفاهیم دیتابیس)
👈🏻 مفهوم ایندکس چیه؟ چه موقع استفاده کنیم چه موقع نکنیم ؟
👈🏻 انواع ایندکس کدوما هستن؟چطوری کار میکنن ؟
👈🏻 بررسی سه ساختار داده مهم ایندکس ها B-tree , Bitmap, hash table


نرمال‌سازی دیتابیس: از آشفتگی تا آسودگی در چند مرحله ساده(قسمت چهارم از مفاهیم دیتابیس)
👈🏻 مفهوم نرمالایز چیه؟
👈🏻 سطوح نرمالایز کدوما هست ؟
👈🏻 معایبش چیه و چه موقع استفادش نکنیم ؟


اسید: این بار نه شیمی، بلکه دیتابیس!(قسمت پنجم از مفاهیم دیتابیس)
👈🏻 اسید(ACID) در دیتابیس به چه معنیه؟
👈🏻 اگه ایزوله سازی رو رعایت نکنی چه مشکلاتی پیش میاد ؟ dirty read و phantom readو non-repeatable read چیا هستن ؟
👈🏻 چهار سطح ایزوله سازی کدوما هستن ؟


تکه‌ تکه، اما قوی‌ : Sharding، Partitioning و Replication (قسمت آخر از مفاهیم دیتابیس)
👈🏻 رپلیکیشن، شاردینگ و پارتیشن چی هستن ؟
👈🏻 مزیت هرکدوم چیه ؟
👈🏻 چه موقع از کدوم استفاده کنیم ؟


@LearnByLearn
4👍2
سلام دوستان، میخوام یه مقاله پر پیمون راجع به message broker ها بنویسم(مفهاهیمش و چطور کار میکنه) ولی قبلش برای اینکه چقدر توش دیپ بشم لطف کنید بگید چقدر با مبحث بروکر ها آشنایی دارید
Final Results
58%
چی چی هست!!!
31%
در حد اینکه یه چیزایی ازش میدونم و شنیدم
11%
کاملا باهاش آشنایی دارم و میدونم چطور کار میکنن
LearnByLearn📖
سلام دوستان، میخوام یه مقاله پر پیمون راجع به message broker ها بنویسم(مفهاهیمش و چطور کار میکنه) ولی قبلش برای اینکه چقدر توش دیپ بشم لطف کنید بگید چقدر با مبحث بروکر ها آشنایی دارید
مسیج چه بروکری ؟!🤓

⭐️ توی این مقاله چیا یادمیگیریم 👇🏻:

👈🏻 مسیج بروکرها چی هستن؟
👈🏻 گریزی به معماری میکروسرویس و مونولیت؟
👈🏻 اومدن چه مشکلی رو حل کنن؟
👈🏻 ا exchange ها و انواع شون چیا هستن؟
👈🏻 دو الگوی مهم pub/sub و point to point در مسیج بروکرها ؟

⭐️ قسمتی از مقاله 👇🏻
دو نوع ارتباط میان میکروسرویس ها:
ما به دو روش میتونیم میون این سرویس ها ارتباط برقرار کنیم یکی sync و یکی async

توی روش sync از Rest API و HTTP استفاده میکنیم. دقیقا عین همون درخواست هایی که به سایت میزنیم ولی اینجا فرقش اینه دوتا سرویس دارن به هم درخواست میزنن پس یعنی توی این روش از زمانی که request ارسال میشه تا زمانی که response اون دریافت میشه سیستم در حالت انتظار میمونه.
حالا توی روش async ما میتونیم درخواست خودمون رو برای سرویس موردنظر ارسال کنیم و برعکس sync دیگه منتظر پاسخ اون نمونیم. حالا که مستقیم سرویس ها برای هم پیام ارسال نمیکنن پس چطوری اینا باهم حرف میزنن ؟؟ و این جا همون قسمتی هستش که message broker ها وارد داستان میشن .......


🔗 لینک مقاله

@LearnByLearn

#message_broker
#microservice
#exchange
#rabbitmq
👍10
Audio
در رادیوی ۱۸۶ خیلی خبرها از هوش مصنوعی هستن. از پول‌های عظیمی که دراومده و خرج می‌شه تا جایگزینی انسان‌ها. چین ساخت باتری برای جهان رو سختتر کرده و اروپا شارژ باتری رو آسونتر. با ما باشین که جهان هکرهای بیشتری می‌خواد حتی اگر دوربینشون جای اشتباهی باشه.


00:00 - رادیوجادی ۱۸۶ خوش اومدی پاپای
01:20 - ربات هایی که از فیلم جراحی یاد گرفتن
07:20 - بازمتن شدن ران:ای آی توسط انویدیا
13:31 - حمایت ساپورت از ویزاهای اچ ۱ب آمریکا
15:30 - محدودیت‌های بیشتر چین بر روی فلزات مرتبط با باتری
18:30 - سرمایه‌گذاری ۸۰ میلیارد دلاری مایکروسافت در دیتاسنترهای هوش مصنوعی
24:16 - روز پابلک دامین ۲۰۲۵ و پایان یکسری کپی رایت‌ها
25:24 - قانون اجبار شارژ از طریق یو اس بی سی در اروپا عملیاتی شد
28:34 - بخش آخر
35:12 - تشکر از حامیان

https://youtu.be/JK9MNhlv6aA

#پادکست #صوتی
👍1
Forwarded from Go Casts 🚀
گزارش نظرسنجی JetBrains برای سال ۲۰۲۴ منتشر شده که نتایج جالبی داره.

زبان Go و Rust دو تا زبانی هست که بیشترین adoption را داشتند.

همچنین گولنگ بیشتر از هر زبان دیگه ای برای توسعه web service و cloud service داره استفاده میشه.

گولنگ در لیست زبان های top-paid دوم هست بعد از scala.

گزارش کامل رو اینجا میتونید بخونید
https://www.jetbrains.com/lp/devecosystem-2024/


@gocasts