- 21
- 16 314
kiarash amiri
Canada
เข้าร่วมเมื่อ 17 พ.ค. 2023
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
linkedin: www.linkedin.com/in/kiarash-amiri-654782189
MongoDB معماری | NoSQL vs SQL | page | indexes | Transactions | ACID
چقدر از معماری مونگو دی بی می دونین؟
برای اینکه بفهمیم که چی شد که چیزی شده که الان هست باید برگردیم به اول!
میخوایم بریم ببینیم چقدر از ورژن اولش تا به حال تفاوت کرده و احتمالا کلی از این بدبختی هاشون درس بگیریم! یه جورایی میخوایم معماری این دیتابیس رو بررسی کنیم!
#mongodb
#database
برای اینکه بفهمیم که چی شد که چیزی شده که الان هست باید برگردیم به اول!
میخوایم بریم ببینیم چقدر از ورژن اولش تا به حال تفاوت کرده و احتمالا کلی از این بدبختی هاشون درس بگیریم! یه جورایی میخوایم معماری این دیتابیس رو بررسی کنیم!
#mongodb
#database
มุมมอง: 576
วีดีโอ
UUID vs ULID | !سرعت دیتابیست رو افزایش بده
มุมมอง 1.1K5 หลายเดือนก่อน
UUID vs ULID | !سرعت دیتابیست رو افزایش بده
binary tree vs b tree vs b+tree | Database index
มุมมอง 1.1K6 หลายเดือนก่อน
امروز می خوایم بریم سراغ تفاوت این سه: 🔻binary tree 🔻b tree 🔻b tree ببینیم هردو کدوم مزیتشون نسبت و ورژن قبلی چی بوده؟ و هر کدوم چه معایبی داشتن؟ #database #index
partitioning vs replication vs sharding
มุมมอง 8796 หลายเดือนก่อน
ما تو این ویدیو می خوایم ببینیم: 🔻شاردینگ چیه؟ و چرا پیاده سازیش سخته؟ 🔻چه راه های دیگه ای به غیر از شاردینگ داریم؟ 🔻تجربه یوتوب تو برای کاهش ریسپانس تایم چی بوده؟
pointer | ساخت و مزیت پوینتر ها در گولنگ | golang
มุมมอง 1267 หลายเดือนก่อน
این ویدیو بخشی از دوره ۱۸ ساعته آموزشی گولنگه، که می تونین دوره کامل رو از مکتبخونه تهیه کنین: maktabkhooneh.org/course/آموزش-گولنگ-go-complete-guide-mk5621/?affiliate=kamiri #golang #گولنگ
همزمانی یا کانکارنسی چیه؟ | معرفی گوروتین ها در گولنگ
มุมมอง 2257 หลายเดือนก่อน
این ویدیو بخشی از دوره ۱۸ ساعته آموزشی گولنگه، که می تونین دوره کامل رو از مکتبخونه تهیه کنین: maktabkhooneh.org/course/آموزش-گولنگ-go-complete-guide-mk5621/?affiliate=kamiri #golang #گولنگ #goroutines #concurrency
یادگیری گولنگ از صفر، ۱۸ ساعت ویدیو آموزشی!
มุมมอง 4358 หลายเดือนก่อน
از لینک زیر می تونین این دوره، مجموعه ای از ۱۸ ساعت و ۱۸۰ ویدیو آموزشی گولنگ رو در مکتبخونه تهیه کنین: maktabkhooneh.org/course/آموزش-گولنگ-go-complete-guide-mk5621/?affiliate=kamiri #golang #گولنگ
چرا دیسکورد از مانگودیبی به آپاچی کاساندرا مهاجرت کرد؟
มุมมอง 5498 หลายเดือนก่อน
لینک مقاله: discord.com/blog/how-discord-stores-billions-of-messages
ابجکت استوریج ابر آروان | نسخه نگاری | versioning
มุมมอง 939 หลายเดือนก่อน
تو سری ویدیو های آموزشی پنل استوریج ابرآروان امروز می خوایم بریم سراغ فیچر versioning# و ببینیم این فیچر چطور به ما کمک می کنه نسخه های مختلفی از آبجکت هامون رو نگه داری کنیم! بیاین بگیم ما به صورت روزانه میخوایم بکاپ دیتابیسمون رو روی باکتمون ذخیره می کنیم، یا یک عکس توی باکتمون داریم که هفته ای یک بار اون رو تغییر میدیم! الان اگه بخواین بکاپ یا عکس پنج روز پیشتون رو ببنین چی بوده چه کاری انج...
ابجکت استوریج ابر آروان | باکت پالیسی | Bucket Policy
มุมมอง 1549 หลายเดือนก่อน
امروز می خوایم بریم و با فیچر باکت پالیسی آشنا بشیم و ببینیم چطوری می تونیم از این فیچر استفاده کنیم تا مثلا بگیم هر شخص توی تیممون چه دسترسی هایی رو می تونه به باکتمون داشته باشیه و یا حتی بگیم به کدوم جنس از آبجکت هامون میتونه دسترسی داشته باشه🔥 صفحه راهنمای باکت پالیسی: docs.arvancloud.ir/fa/object-storage/bucket-policy www.arvancloud.ir/fa #ابرآروان #arvancloud #ابرـآروان
تفاوت Http-1 به Http-2 به Http-3
มุมมอง 9009 หลายเดือนก่อน
ورژن های مختلف http هر کدوم چه تفاوت هایی با هم دارن؟ امروز می خوایم از http/1 شروع کنیم تا http/3 و ببینیم تو این مسیر چه قابلیت هایی اضافه شده و چه مشکلاتی حل شده! دم کانال bytebytego هم گرم، سرتیتر ها و اسلاید ها از ویدیو این چنل برداشته شده: th-cam.com/video/a-sBfyiXysI/w-d-xo.htmlsi=p3XqUUr7kXpOaVXm #http
ابجکت استوریج ابر آروان | Access point | Replication
มุมมอง 29810 หลายเดือนก่อน
امروز تو این ویدیو می خوایم بریم ببینیم چطور می تونیم با استفاده از آبجکت استوری ابر آروان یه معماری پیاده کنیم که تقریبا دیگه هیچ نگهداری لازم نداشته باشه، ha هم باشه و مهم تر از همه از هزینه های ما کلی کاهش بده. www.arvancloud.ir/fa #ابرآروان #arvancloud #ابرـآروان
میکروسرویس بکنیم یا نکنیم؟ | پترن پر ضرر یا پر فایده؟ | CQRS
มุมมอง 83411 หลายเดือนก่อน
میکروسرویس بکنیم یا نکنیم؟ cqrs پترن پر ضرر یا پر فایده؟ اگه بخوایم به سوالای بالا جواب بدیم مطمعنا می تونیم ساعت ها بشینیم حرف بزنیم و کلی بحث کنیم! افراد مختلف نظر های مختلفی دارن، یه سری می گن کدامون که از ۱۰۰ خط بیشتر شد میکروسرویس کنیم و یه سریام می گن درسته که پروژه انقدر بزرگ شده که همزمان ۱۰۰ نفر دارن روش کار می کنن، ولی دست نزنیم و اصلا سراغ میکروسرویس کردن نریم 😉 🔸می خوایم توی این وید...
پراستفاده ترین پترن ربیت ام کیو | RabbitMQ Competing Consumers | worker queue
มุมมอง 578ปีที่แล้ว
یکی از متداول ترین و پراستفاده ترین پترن ها توی ربیت ام کیو پترن ورکر کیو یا کامپتینگ کانسیومرز هستش که تو خیلی از سناریو هایی که بهش برمیخوریم می تونه مشکل مارو حل بکنه! کلی پترن مختلف با استفاده از مسیج بروکر ها و ایونت استور ها میشه پیاده سازی کرد که می تونن توی معماری های سیستممون مخصوصا توی #میکروسرویس ها کمکمون بکنن، و هر کدوم هم کاربرد خودشون رو دارن و ما قراره تو سری ویدیو های ربیت ام ک...
دیتابیس تحلیل دیتا و آمار | کلیک هوس چیه | ClickHouse: Turbocharge Your Data Analytics
มุมมอง 417ปีที่แล้ว
دیتابیس امار گیری و تحلیل داده، کلیک هوس با سرعت فوق العاده ای که داره به ما به ما اجازه می ده که میلیون ها و حتی بیلیون سطر دیتا تویش بریزیم!!🔥 🔶 امروز می خوایم بریم سراغ این دیتابیس: ببینیم فرق این دیتابیس با دیتابیسای سنتیمون تو چیه؟ کلیک هوس چه کاری انجام میده که می تونه انقدر سریع این حجم از دیتای کاربرارو سریع ازشون امار بگیره؟ چطوری کلیک هوس دیتا رو به بهترین شکل فشره سازی می کنه و رو دی...
پترن ریکوست ریپلای | Request Reply پترن | RabbitMQ Request Reply
มุมมอง 565ปีที่แล้ว
پترن ریکوست ریپلای | Request Reply پترن | RabbitMQ Request Reply
پترن پاب ساب | Pub Sub پترن | RabbitMQ Publish Subscribe
มุมมอง 568ปีที่แล้ว
پترن پاب ساب | Pub Sub پترن | RabbitMQ Publish Subscribe
کافکا چیه و چطوری کار می کنه؟ | Apache Kafka
มุมมอง 2.1Kปีที่แล้ว
کافکا چیه و چطوری کار می کنه؟ | Apache Kafka
grpc | what is grpc? | protocol-buffer | what is protocol buffer?
มุมมอง 1.4Kปีที่แล้ว
grpc | what is grpc? | protocol-buffer | what is protocol buffer?
گولنگ چیه | خفن ترین ویژگی های گولنگ | چرا باید از گولنگ استفاده کنیم
มุมมอง 1.2Kปีที่แล้ว
گولنگ چیه | خفن ترین ویژگی های گولنگ | چرا باید از گولنگ استفاده کنیم
عاالی بود
چقد خوب توضیح میدی 👍🏻
عالی بود
خسته نباشی خیلی خوب بود
بسیار عالی
عالیه لطفا بیشتر درباره دیتابیس مطب بزار خیلی دوست دارم چهار تا سطح های ازوله تراکنش دیتابیس ها مثل پسترگس یا مای اسکیوال یه ویدیو راجبش بدین
محتوات عالیه کیارش جان پرقدرت ادامه بده ❤
(فقط یه نقد خیلی کوچولو یه مقدار پشت سر هم صحبت میکنی و نحوه توضیح دادن منظورم هست و یکنواخت میشه ولی از هر لحاظ دیگه عالیه چه فنی چه توضیح دادن و...) انگار داری روخونی میکنی داداش
خیلی عالی بود دم شما گرم
❤
پیشنهاد میکنم وقتی که یک تکنولوژی را معرفی میفرمایید مزایا و معایب on و سناریوهایی که برای این تکنولوژی مناسب است در محتوای خود بگنجانید تا برای مخاطبین حرفهای نیز بیشتر مناسب باشد
Great.
replication کاربرد متفاوتی دارد و صورت مسئله ايکه مربوط به رپلیکیشن هست متفاوت است
خیلی رووان و بدون تپق زدن 👍🏼👍🏼👍 عالی
دمت گرم خیلی عالی توضیح میدی راجب مواردی که دیگران اصلا صحبت نمی کنن
درود کیارش جان، مرسی❤.
درود کیارش جان، مرسی❤.
کیارش جان درود، مرسی❤.
کیارش جان درود، مرسی❤.
خیلی سریع اطلاعات جامع و مفيد دادین 👍👍
تبلیغات خسته کننده
توضیحاتتون خیلی واضح و شفاف هست ممنونم ازتون🌸🌸
با تمام ارزشی که برای کانتنت تو قائل هستم ولی دیسلایک کردم. اطلاعات اشتباه دادی. مباحثی رو با هم مخلوط کردی که ربطی به هم ندارن Cqrs یک معماری در حوضه infrastructure هست. ربطی به لایه های بالاتر مثل service نداره. تو توی مثالت اومدی از لایه presentation جدا سازی رو انجام دادی Microservice ها بر اساس read و write مرزبندی نمیشن. بر اسلاس مرز های منطقی جدا میشن. به طوری که هر کدام بتونن سرویسشون رو بدن و مستقل باشن. اگر شما برای کار با یک موجودیت نیاز به ارتباط با micro دیگه دارید این یعنی بیش از حد خرد کردید مرسوم که ابتدا سیستم رو از لحاظ ddd به agregate های مختلف تقسیم میکنن بعد هر کدام یک micro میشه زیاد شد. ببخشید
در مورد جمله اخرتون نمیشه گفت همیشه زیاد خرد شده شما یک میکرو برای سفارشاتت داری یک میکرو جدا هم برای یوزرت داری خب برای یک سری از کارها نیاز داری داخل سفارشت به یوزر هم دسترسی داشته باشی میتونستی جفتش رو داخل میکرو سرویس بزاری؟مسلما نه
@@arshiapiri9288 اینجا در یک سناریو اگر وابستگی و نیاز به اطلاعات سفارش زیاد باشه در مایکرو اول مثلا اون میزان اطلاعات که از سفارش نیاز رو نگه داری میکنن و در مایکرو دوم کل اطلاعات سفارش مایکرو اول تاریخ سفارش مبلغ کل مایکرو دوم تاریخ سفارش مبلغ کل اقلام و... و هنگام درج سفارش جدید در مایکرو دوم توسط بروکر به مایکرو اول اطلاعات مورد نیاز با یک event پاس داده میشه حالا اگر وابستگی و نیاز زیاد نباشه یا از طریف یک بروکر(rabitmq. Kafka) اطلاعات رو از مایکرو اول میگیره یا با grpc به صورت مستقیم(من فقط با بروکر کار کردم با grpc کار نکردم دقیق این روش رو نمیدونم) من خیلی پر چوونه ام 😀
عالی اگه ممکن باشه بعدا یه ویدیو درست کنید برای میکروسرویس ها کی سراغ grpc بریم و کی سراغ مسیج بروکر ها مثل rabbitmq و kafka هم خیلی خوب میشه
توضیحات خیلی خوبو کامل بود 👌فقط بعدا اگه یه ویدیو درباره سطح های ایزولیشن ترنزاکشن ها که چهار سطح مختلف دارن مخصوصا برای اس کیو ال ها و چه فرق هایی باهم دارن بستزین عالیه میشه
عالی بود 👌 لطفا این مورد رو برای پستگرس اگه ممکنه درست کنید
درود بر شما، مرسی اره چرا که نه حتما! منتظرش باش 😎✌
مرسی مهندس جان❤
مرسی، فدای شما
از رو کاغذ می خونی؟!
اره این ویدیو قدیمی هام از رو بود😬
چقد قک می زنی....سرمون رفت
ارزش کارت خیلی بالاست. دمت گرم.
مرسی، خیلی مخلصیم حسن جان😎❤
فکر کن همچین ویدیویی تو یوتوب هست و هیچکی ازش خبر نداره
میتونی برا دوستات بفرستی اونام ازش خبر دار بشن😎 و مرسی از تعریفت
میتونی برا دوستات بفرستی اونام ازش خبر دار بشن😎 و مرسی از تعریفت
ممنون عالی بود ویدیو بعدیش کی میاد؟
درود بر تو علی جان، مرسی ببین روال یک هفته در میونه، یه یک هفته دیگه منتظر قسمتی بعدی باش
عالی
فدای شما
عالی بود
فدای شما 😎
عالی
مرسی خفن
به به چقدر ویدیو حقی
مرسی رفیق فدای شما
عالی عالی عالی نه یک کلمه کش دار کردن صحبت نه طولانی ثانیه به ثانیه درست و کاربردی موفق باشی مرسی از آموزشت
فدات،فدات،فداتتت مرسی از کامنت پر انرژی خفنتت😎
اول نفری هستی که محتوای سطح بالا ارائه میدی به شکل ساده و روان. قطعا با ارزشه کارت ممنون 👍♥️
درود بر تو فرزاد جان نمیدونی چه انرژی بهم دادی خیلی حال میده یکی همچین تعریفی ازت بکنه
useful thanks kiarash. waiting for part2
Thanks for the feedback! Exciting stuff coming up in Part 2-coming soon!
داری خیلی خوب پیش میری. ویدیو هات رو دیدم. کانتنت خیلی مفیدی داری تولید میکنی. بازخورد های کم روت تاثیر نذاره.
درود بر شما مازیار جان مرسی از فیدبک زیباتتتت نه کم کم پیج مخاطبش رو پیدا میکنه، ما دولوپر ها صبرمون خوبه(قیافه من در این لحظه)
عالی
خیلی مخلصیم😎
Perfect video👊🏻
Thank you, my dear Pantea
چقدر خوب توضیح میدی. واقعا لذت میبرم از نگاه کردن ویدیوهات.
درود بر شما، مرسی رامین جان کلی از کامنتت انرژی گرفتمم
خیلی خوب بود اگه میشه یک پلی لیست از http version ها درست کنید عالی میشه
مرسی، درود بر شما من منظورت رو متوجه نشدم، پلی لیست چرا؟ منظورت اینکه چند تا ویدیو دیگه هم درمورد http بسازم؟
عالی دمت گرم
فدای شما خفن، مخلصیم😎
damet garm
Fadat refigh😎❤
سلام مرسی از ویدیو های خوب و ساده وکاملت. خواستم یه ایده بدم فک کنم جالب باشه. پیاده سازی یه مایکروسرویس چند تا سرویس کوچیک داره و این داره از rabbit mq استفاده میکنه خیلی میتونه کاربردی باشه. ممنون
سلام و درود محمد جان ببین کاربرد rabbit mq دقیقا تو یه همچین سیستم هاییه! و اون سیستم باید event sourcing باشه یعنی اون میکروسرویس ها لازم داشته باشن با ایونت با هم ارتباط برقرار کنن
یک مثال عملی بزنید ..اینکه تئوری بگید که فایده نداره! ضمنا ورژن ۷ مشکلات اینجوری رو رفع کرده... یکم کاربردیتر توصیح بدی بهتره واقعا اینجوری ادم چیزی نمیفهمه همش در سطح مفاهیم ساختمان داده صحبت میکنی واین خوب نیس
درود رضا جان دمت گرم از فیدبکی که بهم میدی! ببین من باز سعی می کنم بیشتر مثال بزنم یا اسلاید بیشتر درست کنم ولی تئوریه دیگه کاریش نمیشه کرد مثلا تهش بتونم ۲ میلیون دیتا اد کنم با uuid یه ۲ میلیون هم با uuid بعد مثلا range بگیرم که ببینین سرعتش بیشتر شده یه رم مثل چقدر سریع پر میشه و ... زیاد نمیشه با این مثال ها چیز انقدر تئوریو نشون داد درمورد uuid ورژن ۷ دقیقا درست می گی! میشه تو توضیحاتی که تو ویدیو دادم به جای ulid در نظر گرفت
مثالتون از سیستم شورت لینک اونجایی که یو ال آیدی داریم و پنالتی میخوریم سوال ایجاد میکنه. آیدی سطر های شورت لیست مرتب در یک پیج در رم هست شما از کجا مطمئنی که همش مال یه کاربره؟ اصلا آیدی کاربر تو این جدول مگر موثر هست؟ خولندن دینا مگر یک به یک نیست؟خب چند کاربر به صورت همزمان اینسرت کنن تو یک پیج پشت سر هم دیتای دو کاربر هم مگر پشت سر هم در یک پیج با لاک های متوالی نوشته نمیشه؟ با فرض تعداد بچ رکورد ورودی کمتر از پیچ سایز
درود برشما سوالات خیلی به جاست! ۱- در صورتی که مثلا سیستم به این شکل طراحی شده باشه که مثلا ۱۰ تا لینک بگیره و ۱۰ شورت لینک تحویل بده این امکان وجود داره که همه یک page مال یک نفر بشه! ۲- من منظورم id کاربر نبود منظورم id هر کدوم از اون short like هاست! یعنی یه جدول داریم که توش هر سطر یه uuid داره یه short link یه link اصلی کاربر و مثلا یه created و deleted at و ... ۳- منظور از خوندن دیتا مگه یک به یک نیست رو نفهمیدم! ۴-ببین من فرضم بر این بود که کاربر ۱۰ تا لینک همزمان می فرسته! و با فرض اینکه پیج سایز از این ۱۰ تا بزرگ تر باشه، اره امکانش هستش که یه کاربر دیگه کوری بزنه و باز دیتا به ادامه اون page اضافه کنه
درود. همه ی دیتابیس ها از اینULID پشتیبانی می کنند؟ دیتابیس چطوری تصمیم میگیره که چون uuid وارد کردیم باید ی page جدید باز کنه واسه insert و این که ulid بدیم تووووی ی Page عمل insert رو انجام میده؟ چطوری تضمین میدن دیتابیس ها؟ مکانیزم ش چیه؟ مرسییی
درود علی جان ۱- ببین ulid و uuid هر کدوم یه string چیزی نیست که دیتابیس پشتیبانی بخواد بکنه یا نکنه. صرفا باید مثل بقیه تایپ ها و دیتا هایی که ما بهش می دیم استورش کنه ۲- دیتابیس اون فیلدی رو که ما براش به عنوان کلید اصلی انتخاب کردیم رو استفاده می کنه برای اینکه بفهمه باید تو کدوم page دیتا بریزه حالا اگه اون کلید اصلی ما قابل سورت کردن باشه اون میاد یک page رو بر میداره و هر دیتایی بیاد رو به ترتیب داخلی اون میریزه تا وقتی که اون page پر بشه و وقتی پر شد میره سراغ page بعدی و وقتی این کار رو می کنه همون جور که توضیحش رو تو ویدیو دادم فایدش اینکه اگه دیتای اون کاربر پشت سر و توی یک ریکوست (توی یک بچ) هم وارد شده باشه پس توی یک page هم ذخیره شده و همه دیتارو می تونیم از همون یدون page برداریم حالا اگه اون کلید اصلی ما قابل سورت کردن نباشه هر دفعه که یه ریکوستی میاد با توجه به اون id میاد دیتاش رو تو پیج های متفاوت میریزه و حالا ممکنه که دو تا ریکوست رندم تو یه page هم بیفتن
@@kiarash-amiri مرسی از توضیحاتت همین پاراگراف آخری که فرمودی، منظورم از ساپورت کردن همین تشخیص sortable بودن یا نبودن بود. اینکه دیتابیس رفتار متفاوتی در برابر تایپ id ای که بش میدیم خواهد داشت یا ن. لاجیک insert دیتا تووو page ها رو تغییر میده بر اساس تایپ آنچه به عنوان id انتخاب کردیم یا ن.