LearnByLearn📖 – Telegram
LearnByLearn📖
569 subscribers
44 photos
9 videos
5 files
69 links
Download Telegram
⁉️ سرورتون خنگه🤪 یا همه چیز یادش میمونه😎 ؟؟؟

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

ولی برای بار دوم دیگه نمیگی من چی میخورم !!! به گارسون میگی همون همیشگی، اینجا گارسون میدونه تو کی بودی و قبلا چی میخوردی و هربار دیگه هم بیایی بگی همون همیشگی اون یادشه
به این مفهوم که سرور ها یادشون میمونه و از وضعیتت اطلاع دارن در اصطلاح میگن 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
داشتم ی خرده توی گولنگ عمیق تر میشدم به کد زیر برخورد کردم و به نظرم جالب بود

به نظرتون خروجی کد زیر چیه؟🤔
لطفا توی IDE کپی نکنید بعد جواب بدین 😅

package main

import "fmt"

func main() {

const x = '1'

var y = x + 1

fmt.Println(y)
}


توی پست بعد جواب رو مینویسم و توضیح میدم 🙃

@LearnByLearn
👍3
LearnByLearn📖
داشتم ی خرده توی گولنگ عمیق تر میشدم به کد زیر برخورد کردم و به نظرم جالب بود به نظرتون خروجی کد زیر چیه؟🤔 لطفا توی IDE کپی نکنید بعد جواب بدین 😅 package main import "fmt" func main() { const x = '1' var y = x + 1 fmt.Println(y) } توی پست…
کانستند(const) ها توی زبان Go یه خرده با بقیه زبون ها فرق میکنه

توی گولنگ ما دو نوع const داریم:

1️⃣ نوع اول Typed Constant ها هستن
این کانستنت‌ها موقع تعریف، یک نوع مشخصی دارن و ما صراحتا به تایپ رو می نویسیم
مثال زیر رو ببینید ما به گولنگ گفتیم این کانست ما int هست و همونجا درجا تایپ int رو گرفته
const z int = 10

// correct
var x int = z

// incorrect
var y float64 = z
fmt.Println(x)


2️⃣ نوع دوم UnTyped Constant ها هستن

یعنی به یک نوع خاص محدود نیستن و می‌تونن توی شرایط مختلف با توجه به استفاده، به نوع مناسب تبدیل بشن

مثال زیر رو ببینیم وقتی به const تایپ ندادیم اگه موس رو ببرید روی اون IDE میزنه untyped یعنی موقعی که استفادش کردی تایپ مورد نظر رو میگیره

const z  = 10

// convert to int
var x int = z

// convert to float64
var y float64 = z

// convert to complex128
var g complex128 = z

fmt.Println(x, y, g)


حالا توی مثال بالا ما x امون یک untyped constand هست و مقدار پیشفرض rune(int32) رو میگیره و خب rune هم همونطور که میدونید یک یونیکده(یعنی یک عدد) رو خروجی میده و یونیکد '1' هم 49 هست که با 1 میشه 50 و اگه دقت کنید y اینجا تایپ نداره پس خود به خود تایپ y هم rune میشه
var y = x + 1


@LearnByLearn
#golang
👍2
اگه دارید از یوتیوب استفاده میکنید و روی ثانیه 59 ویدیو ها استاپ میشن به خاطر AD بلاکر ها هستش
البته یه دور هم کش مرورگرتون هم پاک کنید خوبه

این لینک دقیق تر گفته

https://support.google.com/youtube/thread/312970626/issue-with-video-playback-stopping-at-59-seconds-on-desktop?hl=en



@LearnByLearn
👍4
یک سایت مشتی و cheat sheet طور که هر زبون و تکنولوژی رو بخوایین توش داره
برای مرور و رفع مشکل سریع عالیه

https://quickref.me/


@LearnByLearn
🔥7
Forwarded from Go Casts 🚀
مصاحبه رو لطفا با آرایش تهاجمی شروع کنید دوستان، این از نظر من خیلی خیلی مهمه! اگه دفاعی کار کنید احتمالا هم soft skill تون رو درست بروز نمیدید و هم hard skill رو.

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

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

پست قبلی در همین رابطه رو هم اینجا میتونید بخونید
https://news.1rj.ru/str/gocasts/547

@gocasts
👍5🔥1