یه مقاله خیلی جذاب که عمیقا به شما نکات خیلی جالبی در مورد cpu و نحوه اجرای برنامه ها در لینوکس رو نشون میده
https://cpu.land
@gocasts
https://cpu.land
@gocasts
❤26🔥2👍1
بازجویی در دیتاسنتر! - کشف باگ در سیستمهای پیچیده
https://talk.gocasts.ir/t/topic/389?u=hossein
@gocasts
https://talk.gocasts.ir/t/topic/389?u=hossein
@gocasts
👍6🔥4
یه پروژه خیلی جذاب میخوام بهتون معرفی کنم electric-sql
شاید براتون پیش اومده باشه که اپلیکینشی رو بخواید تحت وب یا موبایل توسعه بدید که در حالت آفلاین هم کار کنه و بعد که کاربر آنلاین شد داده های سمت کلاینت با سرور sync بشه، به این دسته از برنامه ها offline-first یا local-first میگن
این دسته از اپلیکیشن ها به شدت user experience خوبی برای کاربر ایجاد میکنن.
یکی از بهترین اپلیکیشن هایی که از این روش استفاده میکنه linear.app هست
راهکارها و ابزارهای مختلفی برای این دسته از اپلیکیشن ها وجود داره، و electric-sql هم یکی از این ابزارهاست.
طبق تجربه ای که با این دسته از اپلیکیشن ها داشتم نوشتن sync engine میتونه خیلی کار چالشی و پرهزینه ای باشه و در حد امکان اگه بشه از ابزارهای آماده استفاده کرد خیلی کارتون جلو میفته.
https://electric-sql.com/
یکی از چالشهای مهم sync engine دردسرهای conflict resolution هست که در صورتی که داده کاربر آفلاین با داده آنلاین تضاد داشت sync engine با چه سیاستی این تضاد رو برطرف کنه.
یکی از روش های خوب رفع تضاد CRDT هست
crdt.tech
که electric-sql هم از crdt استفاده میکنه
@gocasts
شاید براتون پیش اومده باشه که اپلیکینشی رو بخواید تحت وب یا موبایل توسعه بدید که در حالت آفلاین هم کار کنه و بعد که کاربر آنلاین شد داده های سمت کلاینت با سرور sync بشه، به این دسته از برنامه ها offline-first یا local-first میگن
این دسته از اپلیکیشن ها به شدت user experience خوبی برای کاربر ایجاد میکنن.
یکی از بهترین اپلیکیشن هایی که از این روش استفاده میکنه linear.app هست
راهکارها و ابزارهای مختلفی برای این دسته از اپلیکیشن ها وجود داره، و electric-sql هم یکی از این ابزارهاست.
طبق تجربه ای که با این دسته از اپلیکیشن ها داشتم نوشتن sync engine میتونه خیلی کار چالشی و پرهزینه ای باشه و در حد امکان اگه بشه از ابزارهای آماده استفاده کرد خیلی کارتون جلو میفته.
https://electric-sql.com/
یکی از چالشهای مهم sync engine دردسرهای conflict resolution هست که در صورتی که داده کاربر آفلاین با داده آنلاین تضاد داشت sync engine با چه سیاستی این تضاد رو برطرف کنه.
یکی از روش های خوب رفع تضاد CRDT هست
crdt.tech
که electric-sql هم از crdt استفاده میکنه
@gocasts
🔥27👍23❤5
سلام به همگی
دعوت به همکاری
از دوستان باتجربه و متخصص فرانت اگه کسی nuxt کار کرده و میتونه بصورت پروژه ای یا پاره وقت روی بهبود performance سایت و رفع یه سری باگ برای سایت «خانه ای بی، خیریه حمایت از بیماران پروانه ای» با ما همکاری کنه لطفا به من اطلاع بده
آدرس سایت
https://ebhome.ngo
سایت از نظر performance مشکل داره
خطاهای ۴۰۴ و ۵۰۰ داره
و یه سری کمبودهای مهم مثل نبود sitemap داره
سایت بکندش از wordpress api استفاده میکنه و مثلا در مورد sitemap باید یه ترکیبی باشه از لینک های مقالات wordpress و لینک صفحات استاتیک nuxt
اگه تمایل به همکاری داشتید از طریق ایمیل
h.nazari1990@gmail.com
یا تلگرام به من خبر بدید
https://news.1rj.ru/str/lifography
@gocasts
دعوت به همکاری
از دوستان باتجربه و متخصص فرانت اگه کسی nuxt کار کرده و میتونه بصورت پروژه ای یا پاره وقت روی بهبود performance سایت و رفع یه سری باگ برای سایت «خانه ای بی، خیریه حمایت از بیماران پروانه ای» با ما همکاری کنه لطفا به من اطلاع بده
آدرس سایت
https://ebhome.ngo
سایت از نظر performance مشکل داره
خطاهای ۴۰۴ و ۵۰۰ داره
و یه سری کمبودهای مهم مثل نبود sitemap داره
سایت بکندش از wordpress api استفاده میکنه و مثلا در مورد sitemap باید یه ترکیبی باشه از لینک های مقالات wordpress و لینک صفحات استاتیک nuxt
اگه تمایل به همکاری داشتید از طریق ایمیل
h.nazari1990@gmail.com
یا تلگرام به من خبر بدید
https://news.1rj.ru/str/lifography
@gocasts
خانه ای بی - خیریه آنلاین برای حمایت از بیماران پروانهای
خانه ای بی، خیریهای با عنوان بزرگترین نهاد حمایتی از بیماران پروانهای است. اگر قصد حمایت از بیماران ای بی را دارید همین حالا برای کمک به این بیماران اقدام کنید.
👍10🔥10
Media is too big
VIEW IN TELEGRAM
سلام، یکی از مخاطبین دوره در مورد نکاتی که در مصاحبه Backend Software Engineer مهمه سوال پرسیدند، نکاتی که عرض کردم خدمتشون رو اینجا میذارم امیدوارم براتون مفید باشه.
تیمسازی رو در دوره شروع کردیم که فکر میکنم ان شاءالله خیلی به بچه ها کمک میکنه با چالش های واقعی مهندسی نرم افزار مواجه بشن و دست به کد بشن!
@gocasts
#interview
تیمسازی رو در دوره شروع کردیم که فکر میکنم ان شاءالله خیلی به بچه ها کمک میکنه با چالش های واقعی مهندسی نرم افزار مواجه بشن و دست به کد بشن!
@gocasts
#interview
❤19👍6🔥4
داستان فوق العاده جذاب و مهم auto instrumentation رو جدی بگیرید
تصور کنید سرویس شما کلی http call به سرویس های مختلف داخلی و خارجی میزنه، این http callها ممکنه توسط یک یا چند تابع محدود در سرویس شما اتفاق نیفته و ممکنه توسط تعداد زیاد و متنوعی از توابع و متدهای سرویس شما اتفاق بیفته. شما چطور میخواید متوجه بشید که وضعیت هر http call چیه؟ آدرس های مختلفی که بهشون درخواست میزنید چه پاسخی میدن؟ برای هر آدرس میانگین response time چقدره؟
احتمالا کاری که میکنید اضافه کردن یه سری metric هست که توسط اون metricها به این آمار برسید.
حالا اگه سرویس شما خیلی بزرگ باشه و از روز اول براش metric ننوشته باشید چی؟ چطور این موارد رو بررسی می کنید؟ کار خیلی سختیه که بخواید خودتون یه سری metric اضافه کنید.
مثلا این تصویر بصورت real time آمار tcp drops رو نشون میده.
مفهوم auto instrumentation خیلی به شما کمک میکنه که بدون اینکه خودتون درگیر نوشتن یه سری کد برای observable کردن سیستم بشید، بصورت خودکار یه سری آمار و ارقام و metric در اختیار شما قرار بگیره که وضعیت سرویس رو بررسی کنید.
این آمار و ارقام فقط در مورد http reqeust نیست، میتونه در مورد dns queries باشه، میتونه در مورد service map باشه که ارتباط سرویس های مختلف شما با همدیگه رو بصورت real-time نشون بده، میتونه در مورد database queries باشه و غیره.
در چند سال اخیر به لطف ebpf ابزارهای مختلفی تو این زمینه توسعه داده شده که من لینک چند تاشون رو اینجا میذارم برید بررسی کنید.
https://github.com/cilium/hubble/
https://github.com/grafana/beyla
https://github.com/coroot/coroot
https://docs.px.dev/tutorials/pixie-101/network-monitoring/
@gocasts
#monitoring #ebpf #observability
تصور کنید سرویس شما کلی http call به سرویس های مختلف داخلی و خارجی میزنه، این http callها ممکنه توسط یک یا چند تابع محدود در سرویس شما اتفاق نیفته و ممکنه توسط تعداد زیاد و متنوعی از توابع و متدهای سرویس شما اتفاق بیفته. شما چطور میخواید متوجه بشید که وضعیت هر http call چیه؟ آدرس های مختلفی که بهشون درخواست میزنید چه پاسخی میدن؟ برای هر آدرس میانگین response time چقدره؟
احتمالا کاری که میکنید اضافه کردن یه سری metric هست که توسط اون metricها به این آمار برسید.
حالا اگه سرویس شما خیلی بزرگ باشه و از روز اول براش metric ننوشته باشید چی؟ چطور این موارد رو بررسی می کنید؟ کار خیلی سختیه که بخواید خودتون یه سری metric اضافه کنید.
مثلا این تصویر بصورت real time آمار tcp drops رو نشون میده.
مفهوم auto instrumentation خیلی به شما کمک میکنه که بدون اینکه خودتون درگیر نوشتن یه سری کد برای observable کردن سیستم بشید، بصورت خودکار یه سری آمار و ارقام و metric در اختیار شما قرار بگیره که وضعیت سرویس رو بررسی کنید.
این آمار و ارقام فقط در مورد http reqeust نیست، میتونه در مورد dns queries باشه، میتونه در مورد service map باشه که ارتباط سرویس های مختلف شما با همدیگه رو بصورت real-time نشون بده، میتونه در مورد database queries باشه و غیره.
در چند سال اخیر به لطف ebpf ابزارهای مختلفی تو این زمینه توسعه داده شده که من لینک چند تاشون رو اینجا میذارم برید بررسی کنید.
https://github.com/cilium/hubble/
https://github.com/grafana/beyla
https://github.com/coroot/coroot
https://docs.px.dev/tutorials/pixie-101/network-monitoring/
@gocasts
#monitoring #ebpf #observability
👍25🔥2
شناخت بهتر scheduler در گولنگ
سلام به همه دوستان
همانطور که میدونید concurrency یکی از نقاط قوت گولنگ هست، و این مزیت رو مدیون goroutineهاست. در مورد goroutine و channel شاید زیاد شنیده باشید و خونده باشید، اما چیزی که داره concurrency رو مدیریت میکنه scheduler هست. مقاله ای که معرفی میکنم خدمت شما میتونه شناخت خوبی نسبت به scheduler به شما بده.
Behind the Scenes of Go Scheduler
https://dev.to/sourikghosh/behind-the-scenes-of-go-scheduler-1hdi
همایون جان هم یه talk خوب در این مورد معرفی کردند
https://youtu.be/YHRO5WQGh0k?si=sr2xna77oHw-TbbF
@gocasts
#golang #scheduler #concurrency
سلام به همه دوستان
همانطور که میدونید concurrency یکی از نقاط قوت گولنگ هست، و این مزیت رو مدیون goroutineهاست. در مورد goroutine و channel شاید زیاد شنیده باشید و خونده باشید، اما چیزی که داره concurrency رو مدیریت میکنه scheduler هست. مقاله ای که معرفی میکنم خدمت شما میتونه شناخت خوبی نسبت به scheduler به شما بده.
Behind the Scenes of Go Scheduler
https://dev.to/sourikghosh/behind-the-scenes-of-go-scheduler-1hdi
همایون جان هم یه talk خوب در این مورد معرفی کردند
https://youtu.be/YHRO5WQGh0k?si=sr2xna77oHw-TbbF
@gocasts
#golang #scheduler #concurrency
DEV Community
Behind the Scenes of Go Scheduler
what is the Go scheduler? Why do we even care? Well, it is the behind-the-scenes...
❤14👍7🔥1
تو دنیای امنیت bypass کردن مکانیزم های امنیتی به شناخت دقیق از نحوه دقیق checkهای امنیتی داره و در کنار اون لازم هست که شما بتونید به خوبی با apiهای سیستم عامل هدف کار کنید.
به همین دلیل معمولا ابزارهایی که برای bypass کردن نوشته میشه در زبان هایی مثل c یا c++ یا c# هست (اگه هدف سیستم عامل ویندوزی باشه)
اما به لطف interpolationی که زبان go داره، میشه این ابزارها رو در گولنگ هم توسعه داد.
این یه نمونه هست که برای bypass کردن lsass به کار میره
https://tastypepperoni.medium.com/bypassing-defenders-lsass-dump-detection-and-ppl-protection-in-go-7dd85d9a32e6
https://github.com/tastypepperoni/PPLBlade
اینکه نوشتن این ابزارها در زبانی مثل گولنگ چه مزیت هایی میتونه داشته باشه به یه بررسی دقیق احتیاج داره، اما تو نگاه اول شاید یکی از مزیت هاش شناخت کمتر antivirusها نسبت به binaryهای نوشته شده در گولنگ هست که میتونه باعث حساسیت کمتر بشه. تو دنیای malware programming هر یک single code statement میتونه باعث بشه malware توسط av تشخیص داده بشه یا حتی نشه..
@gocasts
#cyber_security #malware_programming
به همین دلیل معمولا ابزارهایی که برای bypass کردن نوشته میشه در زبان هایی مثل c یا c++ یا c# هست (اگه هدف سیستم عامل ویندوزی باشه)
اما به لطف interpolationی که زبان go داره، میشه این ابزارها رو در گولنگ هم توسعه داد.
این یه نمونه هست که برای bypass کردن lsass به کار میره
https://tastypepperoni.medium.com/bypassing-defenders-lsass-dump-detection-and-ppl-protection-in-go-7dd85d9a32e6
https://github.com/tastypepperoni/PPLBlade
اینکه نوشتن این ابزارها در زبانی مثل گولنگ چه مزیت هایی میتونه داشته باشه به یه بررسی دقیق احتیاج داره، اما تو نگاه اول شاید یکی از مزیت هاش شناخت کمتر antivirusها نسبت به binaryهای نوشته شده در گولنگ هست که میتونه باعث حساسیت کمتر بشه. تو دنیای malware programming هر یک single code statement میتونه باعث بشه malware توسط av تشخیص داده بشه یا حتی نشه..
@gocasts
#cyber_security #malware_programming
Medium
Bypassing Defender’s LSASS dump detection and PPL protection In Go
Overview
🔥7👍3❤1
پاسخ صوتی به این سوال
خواستم بپرسم دورهای که گذاشتید حالت بوت کمپ داره و ما باید گزارش بدیم به شما؟
لینک توضیحات ویدیویی دوره
https://news.1rj.ru/str/gocasts/297
لینک سرفصل های دوره
https://gocasts.ir/downloads/GoCasts-Bootcamp-Syllabus-v1.0.0-14020314.pdf
لینک جزئیات و خرید دوره ویدیویی
https://gocasts.ir/gocasts-bootcamp-140110
@gocasts
خواستم بپرسم دورهای که گذاشتید حالت بوت کمپ داره و ما باید گزارش بدیم به شما؟
لینک توضیحات ویدیویی دوره
https://news.1rj.ru/str/gocasts/297
لینک سرفصل های دوره
https://gocasts.ir/downloads/GoCasts-Bootcamp-Syllabus-v1.0.0-14020314.pdf
لینک جزئیات و خرید دوره ویدیویی
https://gocasts.ir/gocasts-bootcamp-140110
@gocasts
👍6❤2🔥1
در مورد پرسیدن سوالات الگوریتمی (مخصوصا منوط کردن نتیجه به سوالات الگوریتمی) بحث زیاد شده و به عنوان کسی که خیلی در حل مسائل الگوریتمی قوی نیستم مخالف هستم با این موضوع. شاید در بعضی مواقع و برای برخی موقعیت های شغلی پرسیدن سوالات الگوریتمی رویکرد مناسبی باشه، اما در خیلی از موارد اینطور نیست.
عیار یه مهندس نرم افزار خوب صرفا به این نیست که بتونه مسائل الگوریتمی رو حل کنه. مهندسی نرم افزار خیلی چالش های مختلفی داره و خیلی مهارت های دیگه لازمه که شما بتونی مهندس نرم افزار خوبی باشی. خیلی وقت ها پیش میاد که شرکت ها به خاطر مصاحبه های اشتباهی که از افراد میگیرن، استعدادهای خوبی رو از دست میدن.
در لحظه اگه حافظه م یاری کنه فکر میکنم این معیارها برای ارزیابی یه مهندس نرم افزار خوب مهمتر باشن:
اول اینکه قدرت حل مساله داشته باشه، ولی نه به این معنی که یه سری الگوریتم رو بلد هست یا نه، به این معنی که ابزارهای مختلف رو خوب بشناسه و بتونه با ترکیب های مختلف از ابزارها راهکار مناسب ارائه بده. برای هر ابزار هم خوبه بدونه مزیت و عیب ش چیه، حالا اگه دونست که اون ابزار بصورت داخلی از چه الگوریتم هایی استفاده میکنه که چه بهتر، ولی اصل قضیه شناخت خوب از ابزارها و مزایا و معایبش هست.
علت اینکه تاکید میکنم روی شناخت ابزارها به این علته که در دنیای واقعی مهندسی نرم افزار ما در اکثر موارد صرفا قراره با استفاده از ابزارها و خیلی سریع یک محصول رو توسعه بدیم، قرار نیست در لبته تکنولوژی قدم بزنیم و ابزار جدیدی خلق کنیم.
اگه تیم مثلا روی یک دیتابیس جدید کار میکنه، آره موافقم که الگوریتم مهم میشه.
فکر میکنم برای اینکه متوجه بشیم یه مصاحبه شونده چقدر قدرت حل مساله داره بهتره سوالات طراحی سیستم مطرح بشه و بهش اجازه بدیم با ذهن باز هر آنچه که در ذهن داره رو بیان کنه، این برای من به شخص خیلی معیار ارزیابی بهتری هست تا اینکه بخوام ازش بپرسم پیچیدگی زمان فلان الگوریتم چیه یا غیره.
مهندس نرم افزار خوب باید بتونه خیلی خوب با افراد سمت بیزینس تعامل کنه.
مهندس نرم افزار خوب باید بتونه یه پروژه رو به سرانجام برسونه.
مهندس نرم افزار خوب باید بتونه تحلیل درستی از چالش های پیاده سازی از نظر فنی و زمانی داشته باشه.
از معیارهای دیگه مهندس نرم افزار خوب بودن «بازیکن تیم بودنه» اینکه این فرد چقدر میتونه در یک تیم خوب نقش ایفا کنه.
معیار دیگه «آچار فرانسه بودنه» چقدر میشه روش حساب کرد که تو جنبه های مختلف به تیم کمک کنه.
یه معیار ارزیابی مهم دیگه هم بحث معیارهای رفتاری فرد هست که چقدر رفتار مناسبی تو تیم داره مخصوصا وقت هایی که تیم تحت فشار و استرس هست.
خلاصه اینکه کلی معیار وجود داره برای مهندس نرم افزار خوب بودن که واقعا خیلی مهم هستند برای توسعه یک محصول به شکل واقع بینانه
طبیعتا یک سری از این معیارها رو نمیشه صرفا با یک یا دو جلسه مصاحبه فهمید اما در کل معیارهای بهتری هستند تا صرفا اینکه الگوریتم رو خوب بلد هست یا نه.
این ویدیو حسین ناصر هم در این مورد جالبه
https://www.youtube.com/watch?v=bDIB2eIzIC8
@gocasts
عیار یه مهندس نرم افزار خوب صرفا به این نیست که بتونه مسائل الگوریتمی رو حل کنه. مهندسی نرم افزار خیلی چالش های مختلفی داره و خیلی مهارت های دیگه لازمه که شما بتونی مهندس نرم افزار خوبی باشی. خیلی وقت ها پیش میاد که شرکت ها به خاطر مصاحبه های اشتباهی که از افراد میگیرن، استعدادهای خوبی رو از دست میدن.
در لحظه اگه حافظه م یاری کنه فکر میکنم این معیارها برای ارزیابی یه مهندس نرم افزار خوب مهمتر باشن:
اول اینکه قدرت حل مساله داشته باشه، ولی نه به این معنی که یه سری الگوریتم رو بلد هست یا نه، به این معنی که ابزارهای مختلف رو خوب بشناسه و بتونه با ترکیب های مختلف از ابزارها راهکار مناسب ارائه بده. برای هر ابزار هم خوبه بدونه مزیت و عیب ش چیه، حالا اگه دونست که اون ابزار بصورت داخلی از چه الگوریتم هایی استفاده میکنه که چه بهتر، ولی اصل قضیه شناخت خوب از ابزارها و مزایا و معایبش هست.
علت اینکه تاکید میکنم روی شناخت ابزارها به این علته که در دنیای واقعی مهندسی نرم افزار ما در اکثر موارد صرفا قراره با استفاده از ابزارها و خیلی سریع یک محصول رو توسعه بدیم، قرار نیست در لبته تکنولوژی قدم بزنیم و ابزار جدیدی خلق کنیم.
اگه تیم مثلا روی یک دیتابیس جدید کار میکنه، آره موافقم که الگوریتم مهم میشه.
فکر میکنم برای اینکه متوجه بشیم یه مصاحبه شونده چقدر قدرت حل مساله داره بهتره سوالات طراحی سیستم مطرح بشه و بهش اجازه بدیم با ذهن باز هر آنچه که در ذهن داره رو بیان کنه، این برای من به شخص خیلی معیار ارزیابی بهتری هست تا اینکه بخوام ازش بپرسم پیچیدگی زمان فلان الگوریتم چیه یا غیره.
مهندس نرم افزار خوب باید بتونه خیلی خوب با افراد سمت بیزینس تعامل کنه.
مهندس نرم افزار خوب باید بتونه یه پروژه رو به سرانجام برسونه.
مهندس نرم افزار خوب باید بتونه تحلیل درستی از چالش های پیاده سازی از نظر فنی و زمانی داشته باشه.
از معیارهای دیگه مهندس نرم افزار خوب بودن «بازیکن تیم بودنه» اینکه این فرد چقدر میتونه در یک تیم خوب نقش ایفا کنه.
معیار دیگه «آچار فرانسه بودنه» چقدر میشه روش حساب کرد که تو جنبه های مختلف به تیم کمک کنه.
یه معیار ارزیابی مهم دیگه هم بحث معیارهای رفتاری فرد هست که چقدر رفتار مناسبی تو تیم داره مخصوصا وقت هایی که تیم تحت فشار و استرس هست.
خلاصه اینکه کلی معیار وجود داره برای مهندس نرم افزار خوب بودن که واقعا خیلی مهم هستند برای توسعه یک محصول به شکل واقع بینانه
طبیعتا یک سری از این معیارها رو نمیشه صرفا با یک یا دو جلسه مصاحبه فهمید اما در کل معیارهای بهتری هستند تا صرفا اینکه الگوریتم رو خوب بلد هست یا نه.
این ویدیو حسین ناصر هم در این مورد جالبه
https://www.youtube.com/watch?v=bDIB2eIzIC8
@gocasts
YouTube
I ask this question to every Backend Engineer I interview
Light video today discussing my interviewing skills for software engineering positions. I always ask this open ended question and allow the candidate to go free.
0:00 Background on Interviews
5:00 Interview Question
Fundamentals of Backend Engineering…
0:00 Background on Interviews
5:00 Interview Question
Fundamentals of Backend Engineering…
👍30❤8🔥1
این کتاب جالبیه برای concurrency که رایگان هم هست. ضمنا نویسنده کتاب از اعضاء تیم rust هست
Rust Atomics and Locks
Low-Level Concurrency in Practice
by Mara Bos
https://marabos.nl/atomics/
@gocasts
#rust
Rust Atomics and Locks
Low-Level Concurrency in Practice
by Mara Bos
https://marabos.nl/atomics/
@gocasts
#rust
❤19👍3🔥1
در جواب سوال یکی از دوستان
مفهوم یکپارچگی داده چیست
https://talk.gocasts.ir/t/topic/402/2?u=hossein
@gocasts
مفهوم یکپارچگی داده چیست
https://talk.gocasts.ir/t/topic/402/2?u=hossein
@gocasts
Go Casts
مفهوم یکپارچگی داده چیست
سلام کسی به زبان ساده می تونه بگه تست و تضمین یکپارچگی داده Data integrity به چه معناست؟ فکر میکنم در کلاستری از دیتابیسهای مستر و رپلیکا موضوعیت پیدا میکنه. و آیا با نظریه CAP ارتباطی داره؟
👍7🔥2
تعریف دیتابیس clickhouse رو زیاد شنیدم از این جهت که به شدت سرعت خوبی در پاسخگویی روی حجم زیاد داده داره.
تو این مقاله در مورد تصمیماتی که تو طراحی این دیتابیس گرفته شده که باعث شده سریع باشه رو میتونید بخونید.
Why is ClickHouse so fast?
https://clickhouse.com/docs/en/concepts/why-clickhouse-is-so-fast
@gocasts
تو این مقاله در مورد تصمیماتی که تو طراحی این دیتابیس گرفته شده که باعث شده سریع باشه رو میتونید بخونید.
Why is ClickHouse so fast?
https://clickhouse.com/docs/en/concepts/why-clickhouse-is-so-fast
@gocasts
👍12
Go Casts 🚀
Voice message
محمد جان با بیش از ۴ سال سابقه به عنوان software developer در سرویس «کارنامه» از زیرمجموعه های هزاردستان مشغول به کار هست، اینم فیدبک ایشون نسبت به دوره
لینکدین محمد جان
https://www.linkedin.com/in/mohammad-chalaki/
لینک توضیحات ویدیویی دوره
https://news.1rj.ru/str/gocasts/297
لینک سرفصل های دوره
https://gocasts.ir/downloads/GoCasts-Bootcamp-Syllabus-v1.0.0-14020314.pdf
لینک جزئیات و خرید دوره ویدیویی
https://gocasts.ir/gocasts-bootcamp-140110
@gocasts
لینکدین محمد جان
https://www.linkedin.com/in/mohammad-chalaki/
لینک توضیحات ویدیویی دوره
https://news.1rj.ru/str/gocasts/297
لینک سرفصل های دوره
https://gocasts.ir/downloads/GoCasts-Bootcamp-Syllabus-v1.0.0-14020314.pdf
لینک جزئیات و خرید دوره ویدیویی
https://gocasts.ir/gocasts-bootcamp-140110
@gocasts
🔥9❤4👍2
کوه صبر هم باشی کم میاری در مقابل این حجم از درد
ای هدهد صبا به سبا میفرستمت
بنگر که از کجا به کجا میفرستمت
حیف است طایری چو تو در خاکدان غم
زین جا به آشیان وفا میفرستمت
در راه عشق مرحله قرب و بعد نیست
میبینمت عیان و دعا میفرستمت
هر صبح و شام قافلهای از دعای خیر
در صحبت شمال و صبا میفرستمت
تا لشکر غمت نکند ملک دل خراب
جان عزیز خود به نوا میفرستمت
ای غایب از نظر که شدی همنشین دل
میگویمت دعا و ثنا میفرستمت
در روی خود تفرج صنع خدای کن
کآیینهٔ خدای نما میفرستمت
تا مطربان ز شوق منت آگهی دهند
قول و غزل به ساز و نوا میفرستمت
ساقی بیا که هاتف غیبم به مژده گفت
با درد صبر کن که دوا میفرستمت
حافظ سرود مجلس ما ذکر خیر توست
بشتاب هان که اسب و قبا میفرستمت
@gocasts
ای هدهد صبا به سبا میفرستمت
بنگر که از کجا به کجا میفرستمت
حیف است طایری چو تو در خاکدان غم
زین جا به آشیان وفا میفرستمت
در راه عشق مرحله قرب و بعد نیست
میبینمت عیان و دعا میفرستمت
هر صبح و شام قافلهای از دعای خیر
در صحبت شمال و صبا میفرستمت
تا لشکر غمت نکند ملک دل خراب
جان عزیز خود به نوا میفرستمت
ای غایب از نظر که شدی همنشین دل
میگویمت دعا و ثنا میفرستمت
در روی خود تفرج صنع خدای کن
کآیینهٔ خدای نما میفرستمت
تا مطربان ز شوق منت آگهی دهند
قول و غزل به ساز و نوا میفرستمت
ساقی بیا که هاتف غیبم به مژده گفت
با درد صبر کن که دوا میفرستمت
حافظ سرود مجلس ما ذکر خیر توست
بشتاب هان که اسب و قبا میفرستمت
@gocasts
❤82👍10
Go Casts 🚀
تو اینستاگرام هم مجدد فعال شدیم دوست داشتید میتونید دنبال کنید https://instagram.com/gocasts.ir
چند روز پیش در مورد اعداد اعشاری و مشکلات دیتابیس در اینستاگرام صحبت کردیم، این مقاله به تازگی منتشر شده در همین مورد خوبه که بخونید
Working with Money in Postgres
https://www.crunchydata.com/blog/working-with-money-in-postgres
استوری های قبلی در هایلایت دیتابیس در اینستاگرام ذخیره شده
https://instagram.com/gocasts.ir
@gocasts.ir
Working with Money in Postgres
https://www.crunchydata.com/blog/working-with-money-in-postgres
استوری های قبلی در هایلایت دیتابیس در اینستاگرام ذخیره شده
https://instagram.com/gocasts.ir
@gocasts.ir
Crunchy Data
Working with Money in Postgres | Crunchy Data Blog
Elizabeth has a primer for working with money in Postgres including what data type to choose, storing currency, and some sample functions.
👍8
احتمالا Kent Beck رو بشناسید یا کتاب هاشو در حوزه مهندسی نرم افزار خونده باشید.
پیشنهاد میکنم مقالاتش رو دنبال کنید.
این یکی از تازه ترین مقالاتشه
To Design or Not To Design?
https://tidyfirst.substack.com/p/to-design-or-not-to-design
@gocasts
پیشنهاد میکنم مقالاتش رو دنبال کنید.
این یکی از تازه ترین مقالاتشه
To Design or Not To Design?
https://tidyfirst.substack.com/p/to-design-or-not-to-design
@gocasts
Software Design: Tidy First?
To Design or Not To Design?
A Third Good Question
🔥5❤2
موقعیت کارآموزی مهندسی نرم افزار (گولنگ)
شرکتی واقع در شرق تهران در حوزه تلکام فعالیت میکنه که به دنبال یک کارآموز در موقعیت مهندسی نرم افزار (گولنگ) هست.
مدت کارآموزی از یک تا سه ماه هست و فرصت استخدام بعد از پایان کارآموزی هم وجود داره.
کار بصورت حضوری هست و ۲ ساعت شناوری داره.
اگه تمایل دارید اقدام کنید رزومه های خودتون رو به این ایمیل ارسال کنید.
itsMohammadHeidari@gmail.com
@gocasts
شرکتی واقع در شرق تهران در حوزه تلکام فعالیت میکنه که به دنبال یک کارآموز در موقعیت مهندسی نرم افزار (گولنگ) هست.
مدت کارآموزی از یک تا سه ماه هست و فرصت استخدام بعد از پایان کارآموزی هم وجود داره.
کار بصورت حضوری هست و ۲ ساعت شناوری داره.
اگه تمایل دارید اقدام کنید رزومه های خودتون رو به این ایمیل ارسال کنید.
itsMohammadHeidari@gmail.com
@gocasts
👍13🔥1
تو قلب هر سیستمی یه تعداد حیاتی job و cronjob وجود داره، خوبه که تو طراحی سیستم تون سعی کنید بگونه ای پیش برید که ترجیحا از داشتن job بپرهیزید، چرا؟ چون داشتن job به این معنیه که شما کاری که میتونی در زمان رخداد event انجام بشه رو به زمان دیگری موکول کنی و اون زمان دیگه سیستم باید در یک بازه زمانی کوتاه، یه تعداد زیادی job رو انجام بده که خب مسائل scalability میتونه چالش برانگیز بشه.
البته طبیعتا یه سری مسائل هست که حین انجام رخداد قابل انجام نیست و شما باید در یک زمان معینی در آینده اون کار مشخص رو انجام بدی، به همین دلیل داشتن cronjob تقریبا اجتناب ناپذیره.
نکته ای که باید بهش توجه کنید اینه که cronjob ها میتونن کارهای حیاتی سیستم رو انجام بدن و قلب سیستم باشن، پس وقتی cronjob مینویسید خیلی به کدی که مینویسید دقت کنید.
این مقاله جدید تیم مهندسی slack هم جالبه، بخونید.
Executing Cron Scripts Reliably At Scale
https://slack.engineering/executing-cron-noscripts-reliably-at-scale
@gocasts
البته طبیعتا یه سری مسائل هست که حین انجام رخداد قابل انجام نیست و شما باید در یک زمان معینی در آینده اون کار مشخص رو انجام بدی، به همین دلیل داشتن cronjob تقریبا اجتناب ناپذیره.
نکته ای که باید بهش توجه کنید اینه که cronjob ها میتونن کارهای حیاتی سیستم رو انجام بدن و قلب سیستم باشن، پس وقتی cronjob مینویسید خیلی به کدی که مینویسید دقت کنید.
این مقاله جدید تیم مهندسی slack هم جالبه، بخونید.
Executing Cron Scripts Reliably At Scale
https://slack.engineering/executing-cron-noscripts-reliably-at-scale
@gocasts
slack.engineering
Executing Cron Scripts Reliably At Scale
Cron noscripts are responsible for critical Slack functionality. They ensure reminders execute on time, email notifications are sent, and databases are cleaned up, among other things. Over the years, both the number of cron noscripts and the amount of data these…
👍21❤9