| AmirHossein |
نمیدونم دارم چیکار میکنم
در رابطه با این پست
دو سال پیش در حالی که داشتم با یک جیسون کار میکردم، به این فکر میکردم که چرا تمام دیتاتایپ ها و primitiveهایی که توی زبانهای برنامهنویسی هستن صرفا یک کلید هستن که یک مقداری رو نگه میدارن
چرا هیچ تایپی نداریم که یک رابطه رو نگه داره
یکم تحقیق کردم و دیدم ابزارهایی مثل RDF یا Graph Database برای چنین کاری وجود دارن
رفتم بیشتر تحقیق کردم و توی این دو سال کلی ازشون یاد گرفتم.
از اونجایی که آدم مریضی هستم، گفتم چرا این نوع تایپها باید با ابزارهای خارجی قابل استفاده باشن و چرا نباید مستقیم توی یک زبان باشن؟
شروع کردم به نوشتن یک پروپوزال برای این پروژه، و آخرای کار یادم افتاد توی عصر AI هستیم، مجدد پروپوزال رو دادم AI تا برام ادامهش رو بنویسه
بعد از اینکه پروپوزال رو کامل کردم، لازم بود یک نمونه واقعی هم ازش ایجاد کنم تا کارکردش به صورت عملی قابل بررسی باشه
از اونجایی که قبلا با هسته PHP آشنا بودم و استراکتهارو بهش اضافه کرده بودم، زبان PHP رو برای نمونه اولیه انتخاب کردم.
ساختار به این صورت هست که یک دیتاتایپ با نام knowledge هست که میتونه یک رابطه رو نگه داره
و یک graph که میتونه یک لیست از knowledge هارو نگه داره
میتونیم توی یک گراف کوئری بزنیم و سرچ کنیم و کلی کارای جالب تر
بعدا توضیحات کاملتری رو ارائه میدم
دو سال پیش در حالی که داشتم با یک جیسون کار میکردم، به این فکر میکردم که چرا تمام دیتاتایپ ها و primitiveهایی که توی زبانهای برنامهنویسی هستن صرفا یک کلید هستن که یک مقداری رو نگه میدارن
چرا هیچ تایپی نداریم که یک رابطه رو نگه داره
یکم تحقیق کردم و دیدم ابزارهایی مثل RDF یا Graph Database برای چنین کاری وجود دارن
رفتم بیشتر تحقیق کردم و توی این دو سال کلی ازشون یاد گرفتم.
از اونجایی که آدم مریضی هستم، گفتم چرا این نوع تایپها باید با ابزارهای خارجی قابل استفاده باشن و چرا نباید مستقیم توی یک زبان باشن؟
شروع کردم به نوشتن یک پروپوزال برای این پروژه، و آخرای کار یادم افتاد توی عصر AI هستیم، مجدد پروپوزال رو دادم AI تا برام ادامهش رو بنویسه
بعد از اینکه پروپوزال رو کامل کردم، لازم بود یک نمونه واقعی هم ازش ایجاد کنم تا کارکردش به صورت عملی قابل بررسی باشه
از اونجایی که قبلا با هسته PHP آشنا بودم و استراکتهارو بهش اضافه کرده بودم، زبان PHP رو برای نمونه اولیه انتخاب کردم.
ساختار به این صورت هست که یک دیتاتایپ با نام knowledge هست که میتونه یک رابطه رو نگه داره
و یک graph که میتونه یک لیست از knowledge هارو نگه داره
میتونیم توی یک گراف کوئری بزنیم و سرچ کنیم و کلی کارای جالب تر
بعدا توضیحات کاملتری رو ارائه میدم
1🔥8❤1
| AmirHossein |
در رابطه با این پست دو سال پیش در حالی که داشتم با یک جیسون کار میکردم، به این فکر میکردم که چرا تمام دیتاتایپ ها و primitiveهایی که توی زبانهای برنامهنویسی هستن صرفا یک کلید هستن که یک مقداری رو نگه میدارن چرا هیچ تایپی نداریم که یک رابطه رو نگه داره…
اشتباها پارتیشن سیستمعامل رو حذف کردم، و ایمپلمنتی که از این پروژه داشتم حذف شد🗿
خداروشکر پروپوزالشو برای یکی از دوستام فرستاده بودم، وگرنه ایدهم از جهان حذف میشد
خداروشکر پروپوزالشو برای یکی از دوستام فرستاده بودم، وگرنه ایدهم از جهان حذف میشد
🙉9🤔1
| AmirHossein |
اشتباها پارتیشن سیستمعامل رو حذف کردم، و ایمپلمنتی که از این پروژه داشتم حذف شد🗿 خداروشکر پروپوزالشو برای یکی از دوستام فرستاده بودم، وگرنه ایدهم از جهان حذف میشد
پروژه LaraGram Server هم آماده انتشار بود، و متوجه شدم اون هم حذف شده به طور کامل
این پروژه برای توسعه Bot API روی لوکال بود، و بدون نیاز به SSL یا بیلد کردن telegram-bot-api میشد ربات توسعه داد
این پروژه برای توسعه Bot API روی لوکال بود، و بدون نیاز به SSL یا بیلد کردن telegram-bot-api میشد ربات توسعه داد
💔4
| AmirHossein |
پروژه LaraGram Server هم آماده انتشار بود، و متوجه شدم اون هم حذف شده به طور کامل این پروژه برای توسعه Bot API روی لوکال بود، و بدون نیاز به SSL یا بیلد کردن telegram-bot-api میشد ربات توسعه داد
خب اوضاع بدتر از این ها هست
پروژه های LaraGram Brain، MCP، و چند تا چیز دیگه هم پریده
پروژههای تفریحیای که میزدم هم پریده
نسخه بازنویسی شده Simula هم پریده
و عملا چندین ماه تلاش و وقت پریده
پروژه های LaraGram Brain، MCP، و چند تا چیز دیگه هم پریده
پروژههای تفریحیای که میزدم هم پریده
نسخه بازنویسی شده Simula هم پریده
و عملا چندین ماه تلاش و وقت پریده
💔12
ساعت ۷ قرار بود برق قطع بشه، قبلش کامپیوتر رو خاموش کرده بودم و آماده نشستم که قطه کنن
یه ۱۰ دیقه گذشت و دیدم برق نرفت
رفتم مجدد کامپیوتر رو روشن کردم، تا اومد بوت بشه برق رفت
ممنون بابت زمانبندی دقیقتون
هنوز یک ماه نشده یه ssd ازم سوخته
یه ۱۰ دیقه گذشت و دیدم برق نرفت
رفتم مجدد کامپیوتر رو روشن کردم، تا اومد بوت بشه برق رفت
ممنون بابت زمانبندی دقیقتون
هنوز یک ماه نشده یه ssd ازم سوخته
🤣8💔5👍1
پکیج LaraGram Brain منتشر شد و با استفاده از اون دیگه نیازی به کد نوشتن برای ساخت رباتهاتون ندارید
کافیه توضیحات رباتی که میخواید رو یه یک ایجنت هوشمصنوعی بگید، و بقیهش رو به اون بسپارید
این پکیج یک MCP Server برای LaraGram هست و ابزارهای متعددی رو در اختیار ایجنتها میذاره:
- اجرای متدهای تلگرامی در محیط سندباکس بدون ارسال واقعی و بررسی خروجی
- دراختیار قرار دادن اسکیما متدها و آپدیتهای تلگرام به همراه داکیومنت تلگرام
- خواندن ساختار دیتابیس
- بررسی کوئریهای دیتابیس
- خواندن لاگهای برنامه
- جستوجو در داکیومنت LaraGram
- اسکیلهای مربوط به ربات تلگرام، کلاینت MTProto، TMAs و Web Pages
اگر از ایجینتهای هوش مصنوعی استفاده میکنید کافیه پروژه رو بهش شرح بدید و منتظر بمونید تا پروژهتون به بهترین شکل حاضر بشه، فرقی نمیکنه پروژه ساده باشه یا پیچیده، MTProto باشه یا Bot API یا حتی TMA.
ابزار LaraGram Probe هم به دنبال این ها منتشر شده که از طریق محیط تعاملی میتونید کدهاتون رو اجرا کنید.
باز هم مثل همیشه با استار دادن حمایت کنید❤️
لینک پروژهها:
🧩 LaraGram
🧩 Brain
🧩 MCP
🧩 Probe
کافیه توضیحات رباتی که میخواید رو یه یک ایجنت هوشمصنوعی بگید، و بقیهش رو به اون بسپارید
این پکیج یک MCP Server برای LaraGram هست و ابزارهای متعددی رو در اختیار ایجنتها میذاره:
- اجرای متدهای تلگرامی در محیط سندباکس بدون ارسال واقعی و بررسی خروجی
- دراختیار قرار دادن اسکیما متدها و آپدیتهای تلگرام به همراه داکیومنت تلگرام
- خواندن ساختار دیتابیس
- بررسی کوئریهای دیتابیس
- خواندن لاگهای برنامه
- جستوجو در داکیومنت LaraGram
- اسکیلهای مربوط به ربات تلگرام، کلاینت MTProto، TMAs و Web Pages
اگر از ایجینتهای هوش مصنوعی استفاده میکنید کافیه پروژه رو بهش شرح بدید و منتظر بمونید تا پروژهتون به بهترین شکل حاضر بشه، فرقی نمیکنه پروژه ساده باشه یا پیچیده، MTProto باشه یا Bot API یا حتی TMA.
ابزار LaraGram Probe هم به دنبال این ها منتشر شده که از طریق محیط تعاملی میتونید کدهاتون رو اجرا کنید.
باز هم مثل همیشه با استار دادن حمایت کنید❤️
لینک پروژهها:
🧩 LaraGram
🧩 Brain
🧩 MCP
🧩 Probe
2❤15🔥4🍓1
| AmirHossein |
بیاید بیکار نباشیم، هر از گاهی یک سوال چالشی میفرستم که یکم ذهنمون درگیر بشه و یاد بگیریم. از آسون شروع کنیم😁 فرض کنید یک API داریم که دادههاش رو از Redis میخونه. داده مورد نظر هر ۱۰ دقیقه یک بار Expire میشه و بعد از Expire شدن، اولین درخواست میره دیتابیس…
خیلی وقته پستهای کانال فقط درمورد LaraGram بوده، وقتشه یکم جالبترش کنیم اگر ممبرها هنوز مثل قدیم یاری کنن
قرار بود هر از گاهی یک سوال مطرح بشه و درموردش بحث کنیم، این بحثها معمولا خیلی مفید هستن، خیلی از سوالات توی کتابها و مقالات با واقعیت و تجربه متفاوت هست، و توی این نوع بحثها معمولا میتونیم از تجربیات دیگران استفاده کنیم
۳ سوال مطرح میکنم از ساده به پیچیدهتر.
لزوما خودم هم بلد نیستم و قراره دور هم یاد بگیریم
فرقی نمیکنه از هوشمصنوعی استفاده کنید، یا از تجربیاتتون بگید، یا حتی طبق منطق خودتون
قرار بود هر از گاهی یک سوال مطرح بشه و درموردش بحث کنیم، این بحثها معمولا خیلی مفید هستن، خیلی از سوالات توی کتابها و مقالات با واقعیت و تجربه متفاوت هست، و توی این نوع بحثها معمولا میتونیم از تجربیات دیگران استفاده کنیم
۳ سوال مطرح میکنم از ساده به پیچیدهتر.
لزوما خودم هم بلد نیستم و قراره دور هم یاد بگیریم
فرقی نمیکنه از هوشمصنوعی استفاده کنید، یا از تجربیاتتون بگید، یا حتی طبق منطق خودتون
❤2
🟢 سوال اول
فرض کنید یک سرویس backend داریم که به PostgreSQL وصل میشود. تعداد requestها ناگهان زیاد میشود و latency بالا میرود، در حالی که CPU اپلیکیشن و CPU دیتابیس هنوز پایین است. چه چیزهایی را بررسی میکنید؟ آیا زیاد کردن connection pool size راهحل است؟
فرض کنید یک سرویس backend داریم که به PostgreSQL وصل میشود. تعداد requestها ناگهان زیاد میشود و latency بالا میرود، در حالی که CPU اپلیکیشن و CPU دیتابیس هنوز پایین است. چه چیزهایی را بررسی میکنید؟ آیا زیاد کردن connection pool size راهحل است؟
🟠 سوال دوم
فرض کنید Service A به Service B درخواست میزند. B بهدلیل overload، latency بالایی پیدا میکند. A برای requestهای timeout شده retry میکند. با افزایش retryها، B بیشتر overload میشود و در نهایت چند سرویس دیگر هم از کار میافتند. چطور این سیستم را طراحی میکنید که چنین cascading failureای اتفاق نیفتد؟
فرض کنید Service A به Service B درخواست میزند. B بهدلیل overload، latency بالایی پیدا میکند. A برای requestهای timeout شده retry میکند. با افزایش retryها، B بیشتر overload میشود و در نهایت چند سرویس دیگر هم از کار میافتند. چطور این سیستم را طراحی میکنید که چنین cascading failureای اتفاق نیفتد؟
🔴 سوال سوم
دو Region دارید: US-East و EU-West. کاربران در هر دو Region هستند. سیستم باید در برابر از دست رفتن کامل یکی از Regionها مقاوم باشد. اما همزمان نمیتوانید latency بالایی داشته باشید و بعضی دادهها هم باید strongly consistent باشند. معماری را چطور طراحی میکنید؟
دو Region دارید: US-East و EU-West. کاربران در هر دو Region هستند. سیستم باید در برابر از دست رفتن کامل یکی از Regionها مقاوم باشد. اما همزمان نمیتوانید latency بالایی داشته باشید و بعضی دادهها هم باید strongly consistent باشند. معماری را چطور طراحی میکنید؟