بچه ها واقعا ممنون میشم اگه ui ux دیزاینری میشناسید این پستو براش بفرستین.
من دنبال فرانت کار نیستم, دنبال کسیم که تخصصی ui ux بلده و بتونه e2e ux flow رو کامل پیاده سازی کنه برای یک پروداکت.
اگه شخصی میشناختین که ممکنه حتی لید دیزاینه و دستمزدش بالا هست, یا حتی مشغول باشه, بازم خوشحال میشم به صورت مشاور باهامون همکاری کنه.
@ManifoldsPython
من دنبال فرانت کار نیستم, دنبال کسیم که تخصصی ui ux بلده و بتونه e2e ux flow رو کامل پیاده سازی کنه برای یک پروداکت.
اگه شخصی میشناختین که ممکنه حتی لید دیزاینه و دستمزدش بالا هست, یا حتی مشغول باشه, بازم خوشحال میشم به صورت مشاور باهامون همکاری کنه.
@ManifoldsPython
👍7❤1💩1👌1
Python BackendHub
میخواستم یک چیز جنریک بسازم, بالاخره تموم شد. کار خیلی جذابی شده این پکیج قابلیت اینو داره که یک سری آبجکت جنگویی بگیره و برای شما import رو تو سلری انجام بده که خیلی سریع باشه (چون write هست خیلی کندتر میشه) -> با csv حتی export هم میتونه تو سلری انجام…
حالا یک سوال پایتونی نسبتا خیلی راحت
کدی که زدم رو ببینید
چرا آبجکت pydantic_model بدون اینکه بهش تایپ بدم تایپ داره؟
@ManiFoldsPython
کدی که زدم رو ببینید
چرا آبجکت pydantic_model بدون اینکه بهش تایپ بدم تایپ داره؟
@ManiFoldsPython
🤔3
Python BackendHub
حالا یک سوال پایتونی نسبتا خیلی راحت کدی که زدم رو ببینید چرا آبجکت pydantic_model بدون اینکه بهش تایپ بدم تایپ داره؟ @ManiFoldsPython
from typing import TypeVar, Generic,Type
from pydantic import BaseModel
from django.db import Model
TModel = TypeVar("TModel", bound=Model)
TPydanticModel = TypeVar("TPydanticModel", bound=BaseModel)
class CsvOps(ABC, Generic[TModel, TPydanticModel]):
db_model: Type[TModel]
base_model: Type[TPydanticModel]
def create_in_db(self, pydantic_model: TPydanticModel) -> None: ...
این میشه جوابش. ترکیبی از جنریک و TypeVar
type hint >>>>>>
پ.ن:حتی نیازی نبود من db_model و base_model رو تعریف کنم. میتونستم همونطور که IDE میگیره از جنریکش بگیرم. منتهی too magic میشد و میخواستم زودتر کدو بزنم تموم شه بره پی کارش. الان اگه یک وقت گاف بدم (جنریک کلس با db_model یکی نباشه تایپش مثلا) خود ide بهم وارنینگ میده.
@ManiFoldsPython
👍4
نکنید اینکارو... من قلبم ضعیفه :))
staging/dev داشته باشین حتما
خوب رو staging تست کنید. دستی تست کنید. تست اتوماتیک به این منظور نیست که تست دستیو ببوسین بذارین کنار. سناریو های پیچیده تری که سخته اتوماتیک تست شن بهتره دستی تست شن. اگه میبینید تستی تو اتوماتیک واقعا requirementتون رو خوب assert نمیکنه و اعتماد به نفس نمیده پس پاکش کنید و دستی تست کنید.
تست اتوماتیک همیشه خیلی کم هزینه تره و موقعه توسعه به شدت کمکتون میکنه.
تست نویسی فقط unit نیست. با انواع تستا آشنا شین و سعی کنید داشته باشین
@ManiFoldsPython
staging/dev داشته باشین حتما
خوب رو staging تست کنید. دستی تست کنید. تست اتوماتیک به این منظور نیست که تست دستیو ببوسین بذارین کنار. سناریو های پیچیده تری که سخته اتوماتیک تست شن بهتره دستی تست شن. اگه میبینید تستی تو اتوماتیک واقعا requirementتون رو خوب assert نمیکنه و اعتماد به نفس نمیده پس پاکش کنید و دستی تست کنید.
تست اتوماتیک همیشه خیلی کم هزینه تره و موقعه توسعه به شدت کمکتون میکنه.
تست نویسی فقط unit نیست. با انواع تستا آشنا شین و سعی کنید داشته باشین
@ManiFoldsPython
👍12🔥1
backend.pdf
139.7 KB
این مسیر roadmap بک انده. خیلی استاندارد و تمیزه. از سایت roadmap.sh. بهتر از این من ندیدم جایی. یکم کلاد و دوآپس هم بهش اضافه کنید.
اینا رو شما باید بلد باشین. اما بلد بودن چند درجه داره. در درجه اول اینه که اسمشو شنیده باشین. توصیه میکنم حداقل ۳-۴ روز راجب تک تک آیتم های تو این رودمپ یک تحقیق کنید که بدونید چی هستن تا مسیر براتون مشخص باشه.
در درجه دوم شما یک استفاده کوچیک کردین. مثلا تو سلری بروکر رو گذاشتین ریبت. تا اینجا اصلا بلد نیستین درواقع.
تو مرحله سوم شما کمی عمیقتر میشین. ازش استفاده میکنید و چالش هایی تو استفاده ازش بهش برمیخورین. مقاله مختلف میخونید و کارتونو درمیارین. میتونید راجب اون چیز حداقل ۲۰ دقیقه حرف بزنید. بگن ربیت چیه میتونید ۲۰ دقیقه توضیح بدین. تو این level شما یک دانش کاربردی و مختصر دارین. و در نهایت شما کتاب میخونید. عمیق تر میشین. تو پروداکتتون استفاده پیچیده تر میکنید و باهاش بیشتر دست و پنجه نرم میکنید. و تو مرحله اخرم میرین internal اش رو میخونید و حتی contribute میکنید که میشین اکسپرت اون چیز.
@ManiFoldPython
اینا رو شما باید بلد باشین. اما بلد بودن چند درجه داره. در درجه اول اینه که اسمشو شنیده باشین. توصیه میکنم حداقل ۳-۴ روز راجب تک تک آیتم های تو این رودمپ یک تحقیق کنید که بدونید چی هستن تا مسیر براتون مشخص باشه.
در درجه دوم شما یک استفاده کوچیک کردین. مثلا تو سلری بروکر رو گذاشتین ریبت. تا اینجا اصلا بلد نیستین درواقع.
تو مرحله سوم شما کمی عمیقتر میشین. ازش استفاده میکنید و چالش هایی تو استفاده ازش بهش برمیخورین. مقاله مختلف میخونید و کارتونو درمیارین. میتونید راجب اون چیز حداقل ۲۰ دقیقه حرف بزنید. بگن ربیت چیه میتونید ۲۰ دقیقه توضیح بدین. تو این level شما یک دانش کاربردی و مختصر دارین. و در نهایت شما کتاب میخونید. عمیق تر میشین. تو پروداکتتون استفاده پیچیده تر میکنید و باهاش بیشتر دست و پنجه نرم میکنید. و تو مرحله اخرم میرین internal اش رو میخونید و حتی contribute میکنید که میشین اکسپرت اون چیز.
@ManiFoldPython
👍55🔥3❤2👎2
Python BackendHub
backend.pdf
حالا اینکه چقدر یک چیزی رو یاد بگیرین میذارم با قضاوت خودتون. از gpt برای یافتن ریسورس کمک بگیرین. از amazon و گوگل برای دیدن rate و review یک کتاب کمک بگیرین. از مدیوم برای خوندن مقاله های خوب و محبوب. و از گوگل برای پیدا کردن مقاله متنوع تر.
تو گروه ها و جمع ها contribute کنید چون به پیشرفت سطحتون خیلی کمک میکنه و peer effect هم داره براتون
@ManiFoldsPython
تو گروه ها و جمع ها contribute کنید چون به پیشرفت سطحتون خیلی کمک میکنه و peer effect هم داره براتون
@ManiFoldsPython
❤34👍17
یک نکته اگه دوست داشتین رعایت کنید خیلی به سطح پستای کانال کمک میکنه 🙏
اگه از یک تایپ پست خوشتون میاد reaction مثبت بدین. اگه نمیاد ری اکشن منفی بدین. من بر اساس ری اکشن و تعداد forward و کامنت و سوالایی که ازم تو پیوی میپرسن معمولا تصمیم میگیرم چه پستی مناسب تره.
@ManiFoldsPython
اگه از یک تایپ پست خوشتون میاد reaction مثبت بدین. اگه نمیاد ری اکشن منفی بدین. من بر اساس ری اکشن و تعداد forward و کامنت و سوالایی که ازم تو پیوی میپرسن معمولا تصمیم میگیرم چه پستی مناسب تره.
@ManiFoldsPython
👍63🌭2🍓2💋2
Python BackendHub pinned «یک نکته اگه دوست داشتین رعایت کنید خیلی به سطح پستای کانال کمک میکنه 🙏 اگه از یک تایپ پست خوشتون میاد reaction مثبت بدین. اگه نمیاد ری اکشن منفی بدین. من بر اساس ری اکشن و تعداد forward و کامنت و سوالایی که ازم تو پیوی میپرسن معمولا تصمیم میگیرم چه پستی مناسب…»
Forwarded from Python BackendHub
The software mindset
قیمت این کورس از ۲۳۰ دلار شروع میشه تا ۷۰۰ دلار که Arjan میفروشه. حالا به هر طریقی دانلود کردیم (با تشکر از سایه بابت معرفی اون طریق 😁)
گذاشتم تو کانال زیر. داره اپلود میشه کامل نشده.
https://news.1rj.ru/str/+wHLS0yl7y_M4Yzdk
این کورس رو حتمااااا ببینید (البته اگه با غیر قانونی دیدنش مشکل ندارین)
مباحثش به شدت مهمه! تو عکس تایتل هاشو گذاشتم.
خودمم دیروز دانلودش کردم که ببینم.
@ManiFoldsPython
قیمت این کورس از ۲۳۰ دلار شروع میشه تا ۷۰۰ دلار که Arjan میفروشه. حالا به هر طریقی دانلود کردیم (با تشکر از سایه بابت معرفی اون طریق 😁)
گذاشتم تو کانال زیر. داره اپلود میشه کامل نشده.
https://news.1rj.ru/str/+wHLS0yl7y_M4Yzdk
این کورس رو حتمااااا ببینید (البته اگه با غیر قانونی دیدنش مشکل ندارین)
مباحثش به شدت مهمه! تو عکس تایتل هاشو گذاشتم.
خودمم دیروز دانلودش کردم که ببینم.
@ManiFoldsPython
🔥24❤2👍2
Forwarded from Python BackendHub
Python BackendHub
The software mindset قیمت این کورس از ۲۳۰ دلار شروع میشه تا ۷۰۰ دلار که Arjan میفروشه. حالا به هر طریقی دانلود کردیم (با تشکر از سایه بابت معرفی اون طریق 😁) گذاشتم تو کانال زیر. داره اپلود میشه کامل نشده. https://news.1rj.ru/str/+wHLS0yl7y_M4Yzdk این کورس رو حتمااااا…
دوستانی که این دوره رو میبینن:
۱. این دوره بهتون مایندست. software engineer میده تو context دیزاین برنامتون.
۲. دوستان دیزاین صفر تا صد نظر شخصیه. مثل فلسفه. چیزی نیست که absolute باشه. بگید یا یکه یا صفر. نظرات زیاده. آدم بهتره هرچیزی که با ذهنش جور درمیاد رو رعایت کنه
مثال میگم من دیروز داشتم با یکی از دوستام بحث میکردم که settings.py نباید یک کلس باشه و lazy گرفته شه. چون IDE نمیتونه بخونه. چون من نمیتونم سریع از تو IDE برم تو کد لایبری و ببینم چه چیزایی داره و باید حتما داک لایبریو بخونم.
ولی از طرفی اونم حرف منطقی میزد. میگفت یک فایله که طرف هرچی بخواد توش ست میکنه و خیلی راحت تره و مشخصه . یوزر فرندلی تره برای کسی که نخواد بره تو سورس کد module.
مثال میگم من قبلا گفتم TDD پروداکت رو کند میکنه و تو دنیای واقعی خیلی به درد نمیخوره چیزایی که میده رو میشه یک جور دگیه گرفت. یکی از دوستان تو کامنت مخالفت کرد و دلایل کاملا منطقی هم اورد. نه من اشتباه میگم نه اون. صرفا دیدگاه شخصیه.
من مطلبی تو کانالم میگم ممکنه اشتباه باشه. این کانال دفترچه یادداشت منه. طرز فکر منه. بنابراین ممکنه با طرز فکر شما یکی نباشه و هیچ ایرادی نداره و خوشحال میشم اتفاقا روش بحثم بکنیم که با طرز فکر شمام آشنا شم.
@ManiFoldsPython
۱. این دوره بهتون مایندست. software engineer میده تو context دیزاین برنامتون.
۲. دوستان دیزاین صفر تا صد نظر شخصیه. مثل فلسفه. چیزی نیست که absolute باشه. بگید یا یکه یا صفر. نظرات زیاده. آدم بهتره هرچیزی که با ذهنش جور درمیاد رو رعایت کنه
مثال میگم من دیروز داشتم با یکی از دوستام بحث میکردم که settings.py نباید یک کلس باشه و lazy گرفته شه. چون IDE نمیتونه بخونه. چون من نمیتونم سریع از تو IDE برم تو کد لایبری و ببینم چه چیزایی داره و باید حتما داک لایبریو بخونم.
ولی از طرفی اونم حرف منطقی میزد. میگفت یک فایله که طرف هرچی بخواد توش ست میکنه و خیلی راحت تره و مشخصه . یوزر فرندلی تره برای کسی که نخواد بره تو سورس کد module.
مثال میگم من قبلا گفتم TDD پروداکت رو کند میکنه و تو دنیای واقعی خیلی به درد نمیخوره چیزایی که میده رو میشه یک جور دگیه گرفت. یکی از دوستان تو کامنت مخالفت کرد و دلایل کاملا منطقی هم اورد. نه من اشتباه میگم نه اون. صرفا دیدگاه شخصیه.
من مطلبی تو کانالم میگم ممکنه اشتباه باشه. این کانال دفترچه یادداشت منه. طرز فکر منه. بنابراین ممکنه با طرز فکر شما یکی نباشه و هیچ ایرادی نداره و خوشحال میشم اتفاقا روش بحثم بکنیم که با طرز فکر شمام آشنا شم.
@ManiFoldsPython
❤11👍2
این دوره رو خیلی وقت پیش گذاشتم تو گروه
و واقعا توصیه میکنم هر پایتون کاری ببینه اینو 👌
مخصوصا از فصل ۸ تازه شروع میشه.
کسایی که کامل دیدن هم نظرشون رو کامنت کنند بقیه هم استفاده کنن 😁
@ManiFoldsPython
و واقعا توصیه میکنم هر پایتون کاری ببینه اینو 👌
مخصوصا از فصل ۸ تازه شروع میشه.
کسایی که کامل دیدن هم نظرشون رو کامنت کنند بقیه هم استفاده کنن 😁
@ManiFoldsPython
❤4👍4
Forwarded from آموزش پایتون، دوآپس و مهندسی نرم افزار | BobyCloud (Boby Cloud)
✔️ در ویدیو جدید یوتوب به سراغ این مبحث میریم که یک برنامه نویس چقدر لازمه از ابزارهای دوآپس بدونه؟
و با ذکر مثال هایی در زمینههای زیر راجع بهش گپ میزنیم:
- CI/CD
- Automation
- Containerization & Orchestration
- Monitoring & Logging
- Security
- Scalability
- Disaster Recovery
- etc.
🖥 مشاهده در یوتوب
👉 Link: https://youtu.be/RdE-SM3x-a0?si=eWfySBth6y3mK8i5
〰️〰️〰️〰️〰️〰️
@BobyDotCloud
و با ذکر مثال هایی در زمینههای زیر راجع بهش گپ میزنیم:
- CI/CD
- Automation
- Containerization & Orchestration
- Monitoring & Logging
- Security
- Scalability
- Disaster Recovery
- etc.
🖥 مشاهده در یوتوب
👉 Link: https://youtu.be/RdE-SM3x-a0?si=eWfySBth6y3mK8i5
〰️〰️〰️〰️〰️〰️
@BobyDotCloud
👍5
شما تو سایت roadmap.sh رو هر آیتم کلیک کنید اینطوری چند تا suggestion میاره. برای شروع و آشنایی باهاش ریسورس های خیلی خوبین.
@ManiFoldsPython
@ManiFoldsPython
👍14
این روزا برای distributed tracing خیلی OpenTelemetry محبوب شده. میخوام تو این پست OpenTelemetry رو معرفی کنم و بگم کاربردش چیه و چرا محبوب شده؟
دلیل محبوبیت زیادش چیه؟
چون خیلی قابلیت کاستومایز داره و درواقع یک سری کانوشنه که همه رعایتش میکنن و شما باید بدونی این مواردو.
اصلا distributed tracing یعنی چی؟
Distributed tracing is a method of tracking application requests as they flow from frontend devices to backend services and databases. Developers can use distributed tracing to troubleshoot requests that exhibit high latency or errors.
حالا خود opentelemetry چیه؟
یعنی مجموعه از قوانین و api و sdk و ابزار مختلف که instrument میکنن پروداکتتون رو, و در نهایت خروجی بهتون داده های تله متری میدن.
در واقع شرکتای بزرگ به این نتیجه رسیدن که یک سری کانوشن بذارن و طبق اون observability رو انجام بدن به جای اینکه هر کدوم ساز خودشونو بزنن.
خروجیش چی میشه؟
خروجیش این میشه که شما کیفیت اپلیکیشنتون خیلی بالا میره. یعنی اگه باگی داشته باشین سریع میتونید ری اکشن نشون بدید و traceاش کنید و برطرفش کنید.
حالا چند تا سوال پیش میاد. داده های تله متری چیه؟
از سه بخش تشکیل شده:
۱. متریک ها:متریک ها معمولا تایم سریز هستند مثل مموری که اپلیکیشن شما مصرف کرده
۲. لاگ:لاگ هایی که برنامتون انداخته
۳. تریس(trace):تریس به ما میگه که تو یک event داخل اپلیکیشنمون چه اتفاقی افتاد. مثلا فکر کنید سفارشی اضافه شده به سایت شما. در واقع اون سفارش یک trace داره. از فرانت شروع میشه میاد api بک اند. میره داخل kafka و تو ۱۰ تا سرویس میچرخه. و وضعیتش تغییر میکنه. همیشه base trace درواقع باید base event تون باشه.
تریس به ما خیلی کمک میکنه چون مثلا متوجه میشیم که تو فلان سفارش یک باگی اتفاق افتاده. با دیدن trace اش دقیقا متوجه میشیم چه مسیری رفته که بتونیم باگ رو پیدا کنیم و reproduceاش کنیم
این روزا open telemtry خیلی استفاده میشه. مثل از نسخه ۶ دات نت به صورت دیفالت اضافه شده بهش. یا از august امسال داخل cloud watch aws اضافه شده. همینطور sdk های open telemtetry برای همه زبونا موجوده برای لایبری های مختلف و یوزکیس های مختلف. مثل سلری جنگو فست wsgi asgi یا حتی orm های مختلف مثل sqlalchemy
یک نکته جالب, اینکه sdk هایی که تو زبون های مختلف داره همه توسط شرکتای بزرگ مثل گوگل و aws و Cisco و datadog و microsoft کاملا maintain میشه و میتینگ دارن و تو میتینگ هاشون میتونید شرکت کنید.
نکته بعدی ای که باید دقت کنید اینه که به عنوان برنامه نویس وظیفه شماست که لاجیک tracing رو پیاده کنید. یعنی چی؟ یعنی این که به چی بگین trace و اینا رو به هم بچسبونید. برای این کار میتونید از همین پکیجا هم که نوشته شده الهام بگیرین.
سایت رسمی opentelemtry
- https://opentelemetry.io/
ریپازیتوری گیتهاب sdk های پایتونی
- https://github.com/open-telemetry/opentelemetry-python
تمام ریپازیتوری ها
- https://github.com/open-telemetry
داک ریپازیتوری پایتونی:
- https://opentelemetry-python.readthedocs.io/
کانوشن های opentelemtry و تمام specification:
- https://github.com/open-telemetry/opentelemetry-specification
@ManiFoldsPython
دلیل محبوبیت زیادش چیه؟
چون خیلی قابلیت کاستومایز داره و درواقع یک سری کانوشنه که همه رعایتش میکنن و شما باید بدونی این مواردو.
اصلا distributed tracing یعنی چی؟
Distributed tracing is a method of tracking application requests as they flow from frontend devices to backend services and databases. Developers can use distributed tracing to troubleshoot requests that exhibit high latency or errors.
حالا خود opentelemetry چیه؟
یعنی مجموعه از قوانین و api و sdk و ابزار مختلف که instrument میکنن پروداکتتون رو, و در نهایت خروجی بهتون داده های تله متری میدن.
در واقع شرکتای بزرگ به این نتیجه رسیدن که یک سری کانوشن بذارن و طبق اون observability رو انجام بدن به جای اینکه هر کدوم ساز خودشونو بزنن.
خروجیش چی میشه؟
خروجیش این میشه که شما کیفیت اپلیکیشنتون خیلی بالا میره. یعنی اگه باگی داشته باشین سریع میتونید ری اکشن نشون بدید و traceاش کنید و برطرفش کنید.
حالا چند تا سوال پیش میاد. داده های تله متری چیه؟
از سه بخش تشکیل شده:
۱. متریک ها:متریک ها معمولا تایم سریز هستند مثل مموری که اپلیکیشن شما مصرف کرده
۲. لاگ:لاگ هایی که برنامتون انداخته
۳. تریس(trace):تریس به ما میگه که تو یک event داخل اپلیکیشنمون چه اتفاقی افتاد. مثلا فکر کنید سفارشی اضافه شده به سایت شما. در واقع اون سفارش یک trace داره. از فرانت شروع میشه میاد api بک اند. میره داخل kafka و تو ۱۰ تا سرویس میچرخه. و وضعیتش تغییر میکنه. همیشه base trace درواقع باید base event تون باشه.
تریس به ما خیلی کمک میکنه چون مثلا متوجه میشیم که تو فلان سفارش یک باگی اتفاق افتاده. با دیدن trace اش دقیقا متوجه میشیم چه مسیری رفته که بتونیم باگ رو پیدا کنیم و reproduceاش کنیم
این روزا open telemtry خیلی استفاده میشه. مثل از نسخه ۶ دات نت به صورت دیفالت اضافه شده بهش. یا از august امسال داخل cloud watch aws اضافه شده. همینطور sdk های open telemtetry برای همه زبونا موجوده برای لایبری های مختلف و یوزکیس های مختلف. مثل سلری جنگو فست wsgi asgi یا حتی orm های مختلف مثل sqlalchemy
یک نکته جالب, اینکه sdk هایی که تو زبون های مختلف داره همه توسط شرکتای بزرگ مثل گوگل و aws و Cisco و datadog و microsoft کاملا maintain میشه و میتینگ دارن و تو میتینگ هاشون میتونید شرکت کنید.
نکته بعدی ای که باید دقت کنید اینه که به عنوان برنامه نویس وظیفه شماست که لاجیک tracing رو پیاده کنید. یعنی چی؟ یعنی این که به چی بگین trace و اینا رو به هم بچسبونید. برای این کار میتونید از همین پکیجا هم که نوشته شده الهام بگیرین.
سایت رسمی opentelemtry
- https://opentelemetry.io/
ریپازیتوری گیتهاب sdk های پایتونی
- https://github.com/open-telemetry/opentelemetry-python
تمام ریپازیتوری ها
- https://github.com/open-telemetry
داک ریپازیتوری پایتونی:
- https://opentelemetry-python.readthedocs.io/
کانوشن های opentelemtry و تمام specification:
- https://github.com/open-telemetry/opentelemetry-specification
@ManiFoldsPython
Amazon
Amazon CloudWatch Agent adds support for OpenTelemetry traces and AWS X-Ray
👍11🔥1👏1
Python BackendHub
این روزا برای distributed tracing خیلی OpenTelemetry محبوب شده. میخوام تو این پست OpenTelemetry رو معرفی کنم و بگم کاربردش چیه و چرا محبوب شده؟ دلیل محبوبیت زیادش چیه؟ چون خیلی قابلیت کاستومایز داره و درواقع یک سری کانوشنه که همه رعایتش میکنن و شما باید…
تو کامنتا به موضوع مهمی اشاره شد, اشتباه نکنید Open Standard نیومده جای prometheus یا grafana رو بگیره. اینا کاربرادشون باهم مختلفن. الان یکم توضیح میدم:
Open standard
تمرکزش روی observability اپلیکیشن هست. که تو پست بالا کامل توضیح دادم. حتی sentry هم بر پایه open standard داره میشه. زمانی که sentry محصول خودشو شروع کرد هنوز اوپن استاندارد رو فاز بتا بود برای همین باعث شد تفاوت های جزيیی بین sentry و open standard به وجود بیاد که الان چند ماهه sentry کامل از open standard پ شتیبانی میکنه ولی در کل هدف جفتشون observability هست.
راجب grafana
گرافانا برای visualize کردن دیتا هست از دیتاسورس های مختلف. میتونه گوگل شیت باشه. میتونه دیتابیس خودتون باشه. میتونه Prometheus هم باشه. صرفا برای نمایش دیتاست. همین. کنارش alert manager و اینا هم داره که خب میتونید استفاده کنید.
اما Prometheus
برای جمع آوری دیتا تایم سریز به صورت real time طراحی شده. بیشتر برای بحث مانیتورینگ به کار میره و کلی ماژول مختلف داره برای مانیتور postgresql مثلا یا ردیس یا بروکر هاتون یا هرچیز دیگه ای. خودش یک زبون query کاملا جدا به نام PromQL داره.
پس خلاصه بخوام بگم open standard برای مانیتورینگ نیست. برای Observability هست. تفاوت monitoring و Observability:
Monitoring tells you that something is wrong. Observability uses data collection to tell you what is wrong and why it happened
برای visualize کردن دیتا open standard معمولا از ui های مختلف میتونه استفاده شه مثل:
signoz
jaeger ui
Zipkin
پس اینارو باهم قاطی نکنید.
من به نظرم تو سال ۲۰۲۴ دیگه open standard جزو چیزاییه که یک برنامه نویس باید باهاش آشنا باشه و بدونه چطور کار کنه. (چه فرانت چه بک) چون هر روز داره محبوب تر میشه و به زودی تبدیل به job requirement ها میشه. پس وقت بذارین به نظرم و یادش بگیرین.
من متاسفانه چون درگیر مهاجرت و اینا شدم دیگه نتونستم مدتی فیلم ظبط کنم. ایشالا وقتی stable شدم اینجا و سیستممو حاضر کردم دوباره ریکورد میکنم و یکی از برنامه هام هم دوره ای برای open standard هست.
@ManiFoldsPython
Open standard
تمرکزش روی observability اپلیکیشن هست. که تو پست بالا کامل توضیح دادم. حتی sentry هم بر پایه open standard داره میشه. زمانی که sentry محصول خودشو شروع کرد هنوز اوپن استاندارد رو فاز بتا بود برای همین باعث شد تفاوت های جزيیی بین sentry و open standard به وجود بیاد که الان چند ماهه sentry کامل از open standard پ شتیبانی میکنه ولی در کل هدف جفتشون observability هست.
راجب grafana
گرافانا برای visualize کردن دیتا هست از دیتاسورس های مختلف. میتونه گوگل شیت باشه. میتونه دیتابیس خودتون باشه. میتونه Prometheus هم باشه. صرفا برای نمایش دیتاست. همین. کنارش alert manager و اینا هم داره که خب میتونید استفاده کنید.
اما Prometheus
برای جمع آوری دیتا تایم سریز به صورت real time طراحی شده. بیشتر برای بحث مانیتورینگ به کار میره و کلی ماژول مختلف داره برای مانیتور postgresql مثلا یا ردیس یا بروکر هاتون یا هرچیز دیگه ای. خودش یک زبون query کاملا جدا به نام PromQL داره.
پس خلاصه بخوام بگم open standard برای مانیتورینگ نیست. برای Observability هست. تفاوت monitoring و Observability:
Monitoring tells you that something is wrong. Observability uses data collection to tell you what is wrong and why it happened
برای visualize کردن دیتا open standard معمولا از ui های مختلف میتونه استفاده شه مثل:
signoz
jaeger ui
Zipkin
پس اینارو باهم قاطی نکنید.
من به نظرم تو سال ۲۰۲۴ دیگه open standard جزو چیزاییه که یک برنامه نویس باید باهاش آشنا باشه و بدونه چطور کار کنه. (چه فرانت چه بک) چون هر روز داره محبوب تر میشه و به زودی تبدیل به job requirement ها میشه. پس وقت بذارین به نظرم و یادش بگیرین.
من متاسفانه چون درگیر مهاجرت و اینا شدم دیگه نتونستم مدتی فیلم ظبط کنم. ایشالا وقتی stable شدم اینجا و سیستممو حاضر کردم دوباره ریکورد میکنم و یکی از برنامه هام هم دوره ای برای open standard هست.
@ManiFoldsPython
👍7🔥3👏1