Тёмный
kiarash amiri
kiarash amiri
kiarash amiri
Подписаться
Join us to discover the fundamentals and advanced techniques of programming and software architecture. Get to grips with microservices and event sourcing through practical examples. Subscribe for regular insights into cutting-edge software solutions. Also, follow me on LinkedIn for professional updates and networking opportunities in the tech community.

linkedin: www.linkedin.com/in/kiarash-amiri-654782189
binary tree vs b tree vs b+tree | Database index
31:22
5 месяцев назад
partitioning vs replication vs sharding
26:48
5 месяцев назад
تفاوت Http-1 به Http-2‌ به Http-3
15:59
8 месяцев назад
RabbitMQ در ۱۰ دقیقه!
8:32
Год назад
Комментарии
@soroushfarzamnik2143
@soroushfarzamnik2143 Месяц назад
عالی بود
@miladfaraji2271
@miladfaraji2271 Месяц назад
خسته نباشی خیلی خوب بود
@miladfaraji2271
@miladfaraji2271 Месяц назад
بسیار عالی
@mehrshadghamari
@mehrshadghamari Месяц назад
عالیه لطفا بیشتر درباره دیتابیس مطب بزار خیلی دوست دارم چهار تا سطح های ازوله تراکنش دیتابیس ها مثل پسترگس یا مای اسکیوال یه ویدیو راجبش بدین
@mohammadeslami5272
@mohammadeslami5272 2 месяца назад
محتوات عالیه کیارش جان پرقدرت ادامه بده ❤
@foroozankashani2634
@foroozankashani2634 2 месяца назад
(فقط یه نقد خیلی کوچولو یه مقدار پشت سر هم صحبت میکنی و نحوه توضیح دادن منظورم هست و یکنواخت میشه ولی از هر لحاظ دیگه عالیه چه فنی چه توضیح دادن و...) انگار داری روخونی میکنی داداش
@h_victor8110
@h_victor8110 2 месяца назад
خیلی عالی بود دم شما گرم
@Misaq-p5x
@Misaq-p5x 2 месяца назад
@Icarus_TV
@Icarus_TV 2 месяца назад
پیشنهاد می‌کنم وقتی که یک تکنولوژی را معرفی می‌فرمایید مزایا و معایب on و سناریوهایی که برای این تکنولوژی مناسب است در محتوای خود بگنجانید تا برای مخاطبین حرفه‌ای نیز بیشتر مناسب باشد
@mohamads9759
@mohamads9759 2 месяца назад
Great.
@mehrdadmoslemi-zo8vw
@mehrdadmoslemi-zo8vw 2 месяца назад
replication کاربرد متفاوتی دارد و صورت مسئله ايکه مربوط به رپلیکیشن هست متفاوت است
@babak_uk
@babak_uk 3 месяца назад
خیلی رووان و بدون تپق زدن 👍🏼👍🏼👍 عالی
@lazyboy5018
@lazyboy5018 3 месяца назад
دمت گرم خیلی عالی توضیح میدی راجب مواردی که دیگران اصلا صحبت نمی کنن
@amin1674
@amin1674 3 месяца назад
درود کیارش جان، مرسی❤.
@amin1674
@amin1674 3 месяца назад
درود کیارش جان، مرسی❤.
@amin1674
@amin1674 3 месяца назад
کیارش جان درود، مرسی❤.
@amin1674
@amin1674 3 месяца назад
کیارش جان درود، مرسی❤.
@fatemehhabibi8624
@fatemehhabibi8624 3 месяца назад
خیلی سریع اطلاعات جامع و مفيد دادین 👍👍
@sinafallahpour2626
@sinafallahpour2626 3 месяца назад
تبلیغات خسته کننده
@SaharAhsani
@SaharAhsani 4 месяца назад
توضیحاتتون خیلی واضح و شفاف هست ممنونم ازتون🌸🌸
@maziyar.m
@maziyar.m 4 месяца назад
با تمام ارزشی که برای کانتنت تو قائل هستم ولی دیسلایک کردم. اطلاعات اشتباه دادی. مباحثی رو با هم مخلوط کردی که ربطی به هم ندارن Cqrs یک معماری در حوضه infrastructure هست. ربطی به لایه های بالاتر مثل service نداره. تو توی مثالت اومدی از لایه presentation جدا سازی رو انجام دادی Microservice ها بر اساس read و write مرزبندی نمیشن. بر اسلاس مرز های منطقی جدا میشن. به طوری که هر کدام بتونن سرویسشون رو بدن و مستقل باشن. اگر شما برای کار با یک موجودیت نیاز به ارتباط با micro دیگه دارید این یعنی بیش از حد خرد کردید مرسوم که ابتدا سیستم رو از لحاظ ddd به agregate های مختلف تقسیم میکنن بعد هر کدام یک micro میشه زیاد شد. ببخشید
@arshiapiri9288
@arshiapiri9288 3 месяца назад
در مورد جمله اخرتون نمیشه گفت همیشه زیاد خرد شده شما یک میکرو برای سفارشاتت داری یک میکرو جدا هم برای یوزرت داری خب برای یک سری از کارها نیاز داری داخل سفارشت به یوزر هم دسترسی داشته باشی میتونستی جفتش رو داخل میکرو سرویس بزاری؟مسلما نه
@maziyar.m
@maziyar.m 3 месяца назад
@@arshiapiri9288 اینجا در یک سناریو اگر وابستگی و نیاز به اطلاعات سفارش زیاد باشه در مایکرو اول مثلا اون میزان اطلاعات که از سفارش نیاز رو نگه داری میکنن و در مایکرو دوم کل اطلاعات سفارش مایکرو اول تاریخ سفارش مبلغ کل مایکرو دوم تاریخ سفارش مبلغ کل اقلام و... و هنگام درج سفارش جدید در مایکرو دوم توسط بروکر به مایکرو اول اطلاعات مورد نیاز با یک event پاس داده میشه حالا اگر وابستگی و نیاز زیاد نباشه یا از طریف یک بروکر(rabitmq. Kafka) اطلاعات رو از مایکرو اول میگیره یا با grpc به صورت مستقیم(من فقط با بروکر کار کردم با grpc کار نکردم دقیق این روش رو نمیدونم) من خیلی پر چوونه ام 😀
@mehrshadghamari
@mehrshadghamari 4 месяца назад
عالی اگه ممکن باشه بعدا یه ویدیو درست کنید برای میکروسرویس ها کی سراغ grpc بریم و کی سراغ مسیج بروکر ها مثل rabbitmq و kafka هم خیلی خوب میشه
@mehrshadghamari
@mehrshadghamari 4 месяца назад
توضیحات خیلی خوبو کامل بود 👌فقط بعدا اگه یه ویدیو درباره سطح های ایزولیشن ترنزاکشن ها که چهار سطح مختلف دارن مخصوصا برای اس کیو ال ها و چه فرق هایی باهم دارن بستزین عالیه میشه
@mehrshadghamari
@mehrshadghamari 4 месяца назад
عالی بود 👌 لطفا این مورد رو برای پستگرس اگه ممکنه درست کنید
@kiarash-amiri
@kiarash-amiri 4 месяца назад
درود بر شما، مرسی اره چرا که نه حتما! منتظرش باش 😎✌
@fundieapp-xp6se
@fundieapp-xp6se 4 месяца назад
مرسی مهندس جان❤
@kiarash-amiri
@kiarash-amiri 4 месяца назад
مرسی، فدای شما
@mohsenok-hp7qw
@mohsenok-hp7qw 4 месяца назад
از رو کاغذ می خونی؟!
@kiarash-amiri
@kiarash-amiri 4 месяца назад
اره این ویدیو قدیمی هام از رو بود😬
@ai__76
@ai__76 4 месяца назад
چقد قک می زنی....سرمون رفت
@HasaniSaeed
@HasaniSaeed 4 месяца назад
ارزش کارت خیلی بالاست. دمت گرم.
@kiarash-amiri
@kiarash-amiri 4 месяца назад
مرسی، خیلی مخلصیم حسن جان😎❤
@amirmohg1319
@amirmohg1319 4 месяца назад
فکر کن همچین ویدیویی تو یوتوب هست و هیچکی ازش خبر نداره
@kiarash-amiri
@kiarash-amiri 4 месяца назад
میتونی برا دوستات بفرستی اونام ازش خبر دار بشن😎 و مرسی از تعریفت
@kiarash-amiri
@kiarash-amiri 4 месяца назад
میتونی برا دوستات بفرستی اونام ازش خبر دار بشن😎 و مرسی از تعریفت
@aliomidian4062
@aliomidian4062 4 месяца назад
ممنون عالی بود ویدیو بعدیش کی میاد؟
@kiarash-amiri
@kiarash-amiri 4 месяца назад
درود بر تو علی جان، مرسی ببین روال یک هفته در میونه، یه یک هفته دیگه منتظر قسمتی بعدی باش
@sobhanparsa3826
@sobhanparsa3826 4 месяца назад
عالی
@kiarash-amiri
@kiarash-amiri 4 месяца назад
فدای شما
@mosiobahmani4910
@mosiobahmani4910 4 месяца назад
عالی بود
@kiarash-amiri
@kiarash-amiri 4 месяца назад
فدای شما 😎
@mosiobahmani4910
@mosiobahmani4910 4 месяца назад
عالی
@kiarash-amiri
@kiarash-amiri 4 месяца назад
مرسی خفن
@mosiobahmani4910
@mosiobahmani4910 4 месяца назад
به به چقدر ویدیو حقی
@kiarash-amiri
@kiarash-amiri 4 месяца назад
مرسی رفیق فدای شما
@mosiobahmani4910
@mosiobahmani4910 4 месяца назад
عالی عالی عالی نه یک کلمه کش دار کردن صحبت نه طولانی ثانیه به ثانیه درست و کاربردی موفق باشی مرسی از آموزشت
@kiarash-amiri
@kiarash-amiri 4 месяца назад
فدات،فدات،فداتتت مرسی از کامنت پر انرژی خفنتت😎
@farzad5128
@farzad5128 4 месяца назад
اول نفری هستی که محتوای سطح بالا‌ ارائه میدی به شکل ساده و روان. قطعا با ارزشه کارت ممنون 👍♥️
@kiarash-amiri
@kiarash-amiri 4 месяца назад
درود بر تو فرزاد جان نمیدونی چه انرژی بهم دادی خیلی حال میده یکی همچین تعریفی ازت بکنه
@farzad5128
@farzad5128 4 месяца назад
useful thanks kiarash. waiting for part2
@kiarash-amiri
@kiarash-amiri 4 месяца назад
Thanks for the feedback! Exciting stuff coming up in Part 2-coming soon!
@maziyar.m
@maziyar.m 4 месяца назад
داری خیلی خوب پیش میری. ویدیو هات رو دیدم. کانتنت خیلی مفیدی داری تولید میکنی. بازخورد های کم روت تاثیر نذاره.
@kiarash-amiri
@kiarash-amiri 4 месяца назад
درود بر شما مازیار جان مرسی از فیدبک زیباتتتت نه کم کم پیج مخاطبش رو پیدا میکنه، ما دولوپر ها صبرمون خوبه(قیافه من در این لحظه)
@alirezamohseni412
@alirezamohseni412 4 месяца назад
عالی
@kiarash-amiri
@kiarash-amiri 4 месяца назад
خیلی مخلصیم😎
@panteapaint
@panteapaint 4 месяца назад
Perfect video👊🏻
@kiarash-amiri
@kiarash-amiri 4 месяца назад
Thank you, my dear Pantea
@raminsadeghnasab9310
@raminsadeghnasab9310 4 месяца назад
چقدر خوب توضیح میدی. واقعا لذت میبرم از نگاه کردن ویدیوهات.
@kiarash-amiri
@kiarash-amiri 4 месяца назад
درود بر شما، مرسی رامین جان کلی از کامنتت انرژی گرفتمم
@soltanali2132
@soltanali2132 4 месяца назад
خیلی خوب بود اگه میشه یک پلی لیست از http version ها درست کنید عالی میشه
@kiarash-amiri
@kiarash-amiri 4 месяца назад
مرسی، درود بر شما من منظورت رو متوجه نشدم، پلی لیست چرا؟ منظورت اینکه چند تا ویدیو دیگه هم درمورد http بسازم؟
@soltanali2132
@soltanali2132 4 месяца назад
عالی دمت گرم
@kiarash-amiri
@kiarash-amiri 4 месяца назад
فدای شما خفن، مخلصیم😎
@soltanali2132
@soltanali2132 4 месяца назад
damet garm
@kiarash-amiri
@kiarash-amiri 4 месяца назад
Fadat refigh😎❤
@mohamadhasanzeinali3674
@mohamadhasanzeinali3674 5 месяцев назад
سلام مرسی از ویدیو های خوب و ساده وکاملت. خواستم یه ایده بدم فک کنم جالب باشه. پیاده سازی یه مایکروسرویس چند تا سرویس کوچیک داره و این داره از rabbit mq استفاده میکنه خیلی میتونه کاربردی باشه. ممنون
@kiarash-amiri
@kiarash-amiri 4 месяца назад
سلام و درود محمد جان ببین کاربرد rabbit mq دقیقا تو یه همچین سیستم هاییه! و اون سیستم باید event sourcing باشه یعنی اون میکروسرویس ها لازم داشته باشن با ایونت با هم ارتباط برقرار کنن
@rezamaz8975
@rezamaz8975 5 месяцев назад
یک مثال عملی بزنید ..اینکه تئوری بگید که فایده نداره! ضمنا ورژن ۷ مشکلات اینجوری رو رفع کرده... یکم کاربردیتر توصیح بدی بهتره واقعا اینجوری ادم چیزی نمیفهمه همش در سطح مفاهیم ساختمان داده صحبت میکنی واین خوب نیس
@kiarash-amiri
@kiarash-amiri 5 месяцев назад
درود رضا جان دمت گرم از فیدبکی که بهم میدی! ببین من باز سعی می کنم بیشتر مثال بزنم یا اسلاید بیشتر درست کنم ولی تئوریه دیگه کاریش نمیشه کرد مثلا تهش بتونم ۲ میلیون دیتا اد کنم با uuid یه ۲ میلیون هم با uuid بعد مثلا range بگیرم که ببینین سرعتش بیشتر شده یه رم مثل چقدر سریع پر میشه و ... زیاد نمیشه با این مثال ها چیز انقدر تئوریو نشون داد درمورد uuid ورژن ۷ دقیقا درست می گی! میشه تو توضیحاتی که تو ویدیو دادم به جای ulid در نظر گرفت
@sheekoulpasha5600
@sheekoulpasha5600 5 месяцев назад
مثالتون از سیستم شورت لینک اونجایی که یو ال آیدی داریم و پنالتی میخوریم سوال ایجاد میکنه. آیدی سطر های شورت لیست مرتب در یک پیج در رم هست شما از کجا مطمئنی که همش مال یه کاربره؟ اصلا آیدی کاربر تو این جدول مگر موثر هست؟ خولندن دینا مگر یک به یک نیست؟خب چند کاربر به صورت همزمان اینسرت کنن تو یک پیج پشت سر هم دیتای دو کاربر هم مگر پشت سر هم در یک پیج با لاک های متوالی نوشته نمیشه؟ با فرض تعداد بچ رکورد ورودی کمتر از پیچ سایز
@kiarash-amiri
@kiarash-amiri 5 месяцев назад
درود برشما سوالات خیلی به جاست! ۱- در صورتی که مثلا سیستم به این شکل طراحی شده باشه که مثلا ۱۰ تا لینک بگیره و ۱۰ شورت لینک تحویل بده این امکان وجود داره که همه یک page مال یک نفر بشه! ۲- من منظورم id کاربر نبود منظورم id هر کدوم از اون short like هاست! یعنی یه جدول داریم که توش هر سطر یه uuid داره یه short link یه link اصلی کاربر و مثلا یه created و deleted at و ... ۳- منظور از خوندن دیتا مگه یک به یک نیست رو نفهمیدم! ۴-ببین من فرضم بر این بود که کاربر ۱۰ تا لینک همزمان می فرسته! و با فرض اینکه پیج سایز از این ۱۰ تا بزرگ تر باشه، اره امکانش هستش که یه کاربر دیگه کوری بزنه و باز دیتا به ادامه اون page اضافه کنه
@alihosseinzadeh9
@alihosseinzadeh9 5 месяцев назад
درود. همه ی دیتابیس ها از اینULID پشتیبانی می کنند؟ دیتابیس چطوری تصمیم میگیره که چون uuid وارد کردیم باید ی page جدید باز کنه واسه insert و این که ulid بدیم تووووی ی Page عمل insert رو انجام میده؟ چطوری تضمین میدن دیتابیس ها؟ مکانیزم ش چیه؟ مرسییی
@kiarash-amiri
@kiarash-amiri 5 месяцев назад
درود علی جان ۱- ببین ulid و uuid هر کدوم یه string چیزی نیست که دیتابیس پشتیبانی بخواد بکنه یا نکنه. صرفا باید مثل بقیه تایپ ها و دیتا هایی که ما بهش می دیم استورش کنه ۲- دیتابیس اون فیلدی رو که ما براش به عنوان کلید اصلی انتخاب کردیم رو استفاده می کنه برای اینکه بفهمه باید تو کدوم page دیتا بریزه حالا اگه اون کلید اصلی ما قابل سورت کردن باشه اون میاد یک page رو بر میداره و هر دیتایی بیاد رو به ترتیب داخلی اون میریزه تا وقتی که اون page پر بشه و وقتی پر شد میره سراغ page بعدی و وقتی این کار رو می کنه همون جور که توضیحش رو تو ویدیو دادم فایدش اینکه اگه دیتای اون کاربر پشت سر و توی یک ریکوست (توی یک بچ) هم وارد شده باشه پس توی یک page هم ذخیره شده و همه دیتارو می تونیم از همون یدون page برداریم حالا اگه اون کلید اصلی ما قابل سورت کردن نباشه هر دفعه که یه ریکوستی میاد با توجه به اون id میاد دیتاش رو تو پیج های متفاوت میریزه و حالا ممکنه که دو تا ریکوست رندم تو یه page هم بیفتن
@alihosseinzadeh9
@alihosseinzadeh9 5 месяцев назад
@@kiarash-amiri مرسی از توضیحاتت همین پاراگراف آخری که فرمودی، منظورم از ساپورت کردن همین تشخیص sortable بودن یا نبودن بود. اینکه دیتابیس رفتار متفاوتی در برابر تایپ id ای که بش میدیم خواهد داشت یا ن. لاجیک insert دیتا تووو page ها رو تغییر میده بر اساس تایپ آنچه به عنوان id انتخاب کردیم یا ن.
@JafarEsmaili-yq6cj
@JafarEsmaili-yq6cj 5 месяцев назад
این نکته های که در مورد page file ها گفتی مربوط به همه ای دیتابیس ها می شه؟
@farzad5128
@farzad5128 5 месяцев назад
سوال مهم اینه که اکثرا نمیان از uuid بعنوان کلید اصلی استفاده کنن 😁 چون طولانیه. راه ساخت یه کلید اصلی کوتاه ده کرکتری یونیورسال و یونیک و غیر متوالی چیه؟ مثل یوتیوب! ایا یوتیوب اکزیست بودن ای دی رو میاد قبلش چک‌میکنه؟ اگه چک‌میکنه که کاست داره؟ اگه چک نمیکنه چطور در کلاستراش مطمینه که ای دی تولید شده یونیکه؟ شرمنده کیارش یخورده بخام نقد ت کنم توضیحاتت عالیه ولی همش تئوریه دانشگاهیه و در عمل خیلی سخته درک توضیحاتت. سوال دیگه اینکه یک وبسایت کوتاه کننده لینک، به شما یه لینک کوتاه میده. درسته؟ و اون آی دی کوتاه کلید اصلی جدوله سایته دیگه. نقش uuid این وسط چیه؟
@kiarash-amiri
@kiarash-amiri 5 месяцев назад
درود بر تو فرزاد جان ۱- ببین اتفاقا چیز معمولیه که بیاد uuid رو به عنوان کلید اصلی استفاده کنن! و برای ساخت یه id ده کاراکتری من مثلا nanoid میشناسم می تونی استفاده کنی و یه نکته ای که هست اینکه وقتی ما می گیم که یونیک یونیورسالی یعنی اینکه احتمالش خیلیی خیلی کمه دو تا id شبیه هم باشن و هر چقدر که تعداد کاراکتر های اون id کم تر باشه و تعداد کاراکتر هایی که میشه توش استفاده کرد کم تر باشه، تعداد کم تری id یونیک میشه ساخت و در نتیجه احتمال اینکه دوتا id مثل هم ساخته بشه بالا تر میره مثلا با 10 رقم + 26 حرف کوچک + 26 حرف بزرگ میشه برای یه id که ۱۰ کاراکتر داشته باشه ۶۲ به توان ۱۰ (ترکیب یا combinations) ساخت که uuid خیلی combinations بزرگ تر میشه
@kiarash-amiri
@kiarash-amiri 5 месяцев назад
۲- من نمی دونم یوتوب داره از uuid استفاده می کنه یا نه. ولی کلا یکی از دلایلی که از uuid استفاده می کنن همینه اصلا که لازم نباشه هر دفعه چک کنن که یونیک هست یا نیست! احتمال اینکه دو تا uuid یکسان ساخته بشه خیلییییی کمه! و طبیعتا چک کردنش هر دفعه کلی کاست داره! یعنی می تونی بیای تعداد کاراکتر های id رو کم کنی ولی از اون طرف کاستش اینکه احتمال دوپلیکیت رو بالا می بری و شاید لازم باشه هر دفعه قبل insert بیای چک کنی که یونیک باشه
@kiarash-amiri
@kiarash-amiri 5 месяцев назад
و در مورد نقدرت هم بگم که خیلی خوبه که نقد میکنی! بازم سعی می کنم حالا با مثال یا ساختن اسلاید های بیشتر ویدیو هارو قابل فهم تر کنم ولی با توجه به اینکه ویدیو ها تئوریه بعضی موقع ها طبیعیه چند بار ببیینی ویدیو هارو و با سوالتتم خیلی حال می کنم که مطرحشون می کنی !
@kiarash-amiri
@kiarash-amiri 5 месяцев назад
یه مورد دیگم که فراموش کردم اینکه برای اینکه لازم نباشه id هارو قبل از اضافه کردن به دیتابیس برای یونیک بودن چکشون کنی احتمال داره به توجه به سیستمت مجبور باشی حتما سمت خودت جنریت کنی نه این که کاربر بتونه اون رو بفرسته!
@kiarash-amiri
@kiarash-amiri 5 месяцев назад
منظورت اینکه گرفتن دیتا از دیتابیس با لینک کوتاهش انجام میشه نه Id؟ ببین نکتش اینجاست که وقتی کلید اصلیت uuid باشه اون داستانی که برای page گفتم پیش میاد یعنی میای ۱۰ لینک رو دیتاشون رو داخلی یک page میریزی و موقع گرفتن اون page رو باز می کنی و کل دیتای یک نفر روشه ...(توضیحش رو تو ویدیو دادم) میشه index روی اون short link هم گذاشته باشی ولی در نهایت وقتی می خواد رو page ذخیره بشه از همون uuid استفاده می کنه دیگه