زندگی صابر راستیکردار، کوتاه، اما کارهای او بسیار با ارزش و ماندگار بود.
متاسفانه صابر (خالق فونتهای زیبای وزیر متن و گندم و شبنم و کلی فونت دیگر)، دیروز آسمانی شد.
با آرزوی صبر برای خانواده صابر عزیز.
روحش شاد😞 🖤
متاسفانه صابر (خالق فونتهای زیبای وزیر متن و گندم و شبنم و کلی فونت دیگر)، دیروز آسمانی شد.
با آرزوی صبر برای خانواده صابر عزیز.
روحش شاد
Please open Telegram to view this post
VIEW IN TELEGRAM
💔14❤2😢1🕊1
C#_12_and_NET_8_Modern_Cross_Platform_Development_Fundamentals_Start.pdf
43 MB
Latest C# 12 & .Net 8.0 cross platform modern programming book for juniors and seniors.
#csharp #net #dotnet
#book
@code_crafters
#csharp #net #dotnet
#book
@code_crafters
🔥5❤1👏1
معرفی ۱۰ تا از بهترین افزونه های PostgreSQL👩💻
شماره ۱ : PostGIS یک افزونه منبع باز برای PostgreSQL است که قابلیت مدیریت اشیاء جغرافیایی و دادههای مکانی را فراهم میکند. با استفاده از PostGIS، میتوانید انواع دادهها و توابع جدیدی را به PostgreSQL اضافه کنید تا بتوانید دادههای مکانی را ذخیره، پرس و جو و تحلیل کنید. این افزونه به شما امکان میدهد کوئریهای مکانی را مستقیماً در SQL اجرا کنید و نیاز به سیستمهای جداگانه را از بین ببرید.
👩💻 https://postgis.net/
شماره ۲ :hstore یک افزونه برای PostgreSQL است که به شما امکان میدهد مجموعههایی از جفتهای کلید-مقدار را به عنوان یک مقدار واحد در جدول PostgreSQL ذخیره و دستکاری کنید. این افزونه با هدف سبک و کارآمد بودن طراحی شده است و به تیمهای داده اجازه میدهد دادههای نیمه ساختار یافته را در پایگاه داده رابطهای ذخیره کنند.
👩💻 https://www.postgresql.org/docs/15/hstore.html
شماره ۳ : افزونه pg_stat_statements در PostgreSQL راهی برای جمع آوری و ردیابی آمار در مورد دستورات SQL اجرا شده در پایگاه داده فراهم میکند. این افزونه اطلاعاتی مانند زمان کل اجرا، تعداد تماسها و تعداد ردیفهای برگردانده شده برای هر دستور SQL را ثبت میکند. با استفاده از این افزونه، توسعهدهندگان میتوانند دستورات پرس و جو را تجزیه و تحلیل کرده و بهبود عملکرد کلی برنامه و بهینهسازی سیستم پایگاه داده را آسانتر کنند.
👩💻 https://www.postgresql.org/docs/15/pgstatstatements.html
شماره ۴ : افزونه pgcrypto در PostgreSQL توابع رمزنگاری و قابلیتهای مربوط به رمزگذاری دادهها را در پایگاه داده فعال میکند. این افزونه امنیت دادهها و حریم خصوصی پایگاههای داده PostgreSQL را تقویت میکند. با استفاده از این افزونه، مهندسان داده میتوانند گذرواژههای هش شده را ذخیره کنند، اطلاعات حساس را رمزگذاری کنند و عملیات رمزنگاری را در سمت سرور انجام دهند، که باعث کاهش خطر افشای دادههای حساس در حین انتقال یا در حالت استراحت میشود. توسعهدهندگان میتوانند عملیاتی مانند هش کردن، رمزگذاری و رمزگشایی را مستقیماً در پرس و جوهای SQL یا توابع PL/pgSQL انجام دهند.
👩💻 https://www.postgresql.org/docs/15/pgcrypto.html
شماره ۵ : citext به معنای "case-insensitive text : متن بدون حروف بزرگ" است و یک نوع داده در PostgreSQL است. با استفاده از citext، کاربران میتوانند دادههای متنی را به صورتی غیر حساس به حروف بزرگ/کوچک ذخیره و مقایسه کنند. این نوع داده به ویژه برای احراز هویت کاربران (مقایسه نام کاربری و رمزعبور)، جستجوی سوابق بر اساس نام یا عناوین، و انجام پرس و جوهایی که به حروف بزرگ/کوچک حساس هستند، مفید است.
با استفاده از citext، نیازی به استفاده از توابع LOWER() یا UPPER() برای تبدیل متن به حالتی مشخص برای مقایسه نیست. این کار توسعه دهندگان را از نیاز به تبدیل دستی متن آزاد میکند، که ممکن است زمانبر و در برخی موارد عملکرد پرس و جو را تحت تأثیر قرار دهد.
👩💻 https://www.postgresql.org/docs/15/citext.html
@Code_Crafters
#postgresql
شماره ۱ : PostGIS یک افزونه منبع باز برای PostgreSQL است که قابلیت مدیریت اشیاء جغرافیایی و دادههای مکانی را فراهم میکند. با استفاده از PostGIS، میتوانید انواع دادهها و توابع جدیدی را به PostgreSQL اضافه کنید تا بتوانید دادههای مکانی را ذخیره، پرس و جو و تحلیل کنید. این افزونه به شما امکان میدهد کوئریهای مکانی را مستقیماً در SQL اجرا کنید و نیاز به سیستمهای جداگانه را از بین ببرید.
شماره ۲ :hstore یک افزونه برای PostgreSQL است که به شما امکان میدهد مجموعههایی از جفتهای کلید-مقدار را به عنوان یک مقدار واحد در جدول PostgreSQL ذخیره و دستکاری کنید. این افزونه با هدف سبک و کارآمد بودن طراحی شده است و به تیمهای داده اجازه میدهد دادههای نیمه ساختار یافته را در پایگاه داده رابطهای ذخیره کنند.
شماره ۳ : افزونه pg_stat_statements در PostgreSQL راهی برای جمع آوری و ردیابی آمار در مورد دستورات SQL اجرا شده در پایگاه داده فراهم میکند. این افزونه اطلاعاتی مانند زمان کل اجرا، تعداد تماسها و تعداد ردیفهای برگردانده شده برای هر دستور SQL را ثبت میکند. با استفاده از این افزونه، توسعهدهندگان میتوانند دستورات پرس و جو را تجزیه و تحلیل کرده و بهبود عملکرد کلی برنامه و بهینهسازی سیستم پایگاه داده را آسانتر کنند.
شماره ۴ : افزونه pgcrypto در PostgreSQL توابع رمزنگاری و قابلیتهای مربوط به رمزگذاری دادهها را در پایگاه داده فعال میکند. این افزونه امنیت دادهها و حریم خصوصی پایگاههای داده PostgreSQL را تقویت میکند. با استفاده از این افزونه، مهندسان داده میتوانند گذرواژههای هش شده را ذخیره کنند، اطلاعات حساس را رمزگذاری کنند و عملیات رمزنگاری را در سمت سرور انجام دهند، که باعث کاهش خطر افشای دادههای حساس در حین انتقال یا در حالت استراحت میشود. توسعهدهندگان میتوانند عملیاتی مانند هش کردن، رمزگذاری و رمزگشایی را مستقیماً در پرس و جوهای SQL یا توابع PL/pgSQL انجام دهند.
شماره ۵ : citext به معنای "case-insensitive text : متن بدون حروف بزرگ" است و یک نوع داده در PostgreSQL است. با استفاده از citext، کاربران میتوانند دادههای متنی را به صورتی غیر حساس به حروف بزرگ/کوچک ذخیره و مقایسه کنند. این نوع داده به ویژه برای احراز هویت کاربران (مقایسه نام کاربری و رمزعبور)، جستجوی سوابق بر اساس نام یا عناوین، و انجام پرس و جوهایی که به حروف بزرگ/کوچک حساس هستند، مفید است.
با استفاده از citext، نیازی به استفاده از توابع LOWER() یا UPPER() برای تبدیل متن به حالتی مشخص برای مقایسه نیست. این کار توسعه دهندگان را از نیاز به تبدیل دستی متن آزاد میکند، که ممکن است زمانبر و در برخی موارد عملکرد پرس و جو را تحت تأثیر قرار دهد.
@Code_Crafters
#postgresql
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥1👏1
شماره ۶ : افزونه pg_trgm در PostgreSQL قابلیت جستجوی متن مبتنی بر تریگرام "trigram" و رتبهبندی شباهت را فراهم میکند. تریگرامها توالیهای سه نویسهای هستند که از کلمات استخراج میشوند و به عنوان پایه برای مقایسه شباهت بین رشتهها عمل میکنند. این افزونه قابلیت جستجوی متن را در PostgreSQL تقویت میکند و برنامهها را قادر میسازد تا پرس و جوهای پیچیده را به صورت هوشمندانهتر مدیریت کنند، حتی در صورت وجود خطاهای چاپی یا عدم تطابق دقیق با دادههای ذخیره شده در سیستم. روشهای سنتی جستجوی متن ممکن است در مواجهه با ورودی کاربر، اشتباه املایی یا تغییرات در فرم کلمه کافی نباشند، اما با استفاده از pg_trgm این مشکلات را حل میکند و راهکاری مناسب را ارائه میدهد.
👩💻 https://www.postgresql.org/docs/15/pgtrgm.html
شماره ۷ : افزونه tablefunc در PostgreSQL توابع جدول اضافی را فراهم میکند. با استفاده از این توابع، میتوان در پرس و جوها نتایج crosstab، جداول محوری و تبدیل دادهها را تولید کرد. این برنامه افزودنی به کاربران امکان میدهد دادههای ردیف را به ستون تبدیل کنند و در قالب جداول محوری دادهها را ارائه کنند. همچنین، میتواند دادههای از دست رفته را در نتایج crosstab پر کند و بهبود تصویرسازی و گزارشدهی دادهها را تسهیل کند.
تحلیلگران داده میتوانند از tablefunc برای چرخش دادهها بر اساس معیارهای خاص استفاده کرده و تحلیل و خلاصهسازی اطلاعات را آسانتر کنند. آنها همچنین میتوانند پرسوجوهای متقاطع پویا را اجرا کنند، جایی که تعداد ستونهای حاصل ممکن است بر اساس دادهها متغیر باشد.
👩💻 https://www.postgresql.org/docs/15/tablefunc.html
شماره ۸ : افزونه intarray در PostgreSQL قابلیت پشتیبانی از آرایههای یک بعدی اعداد صحیح را اضافه میکند. با استفاده از intarray، مهندسان داده قادرند آرایههای اعداد صحیح را مستقیماً در ستونهای پایگاه داده ذخیره و تغییرات را بر روی آنها اعمال کنند. این افزونه امکان مدیریت آسانتر دادهها و بهبود عملکرد جستجو برای عملیات مرتبط با آرایه را فراهم میکند.
👩💻 https://www.postgresql.org/docs/15/intarray.html
شماره ۹ :ماژول earthdistance در PostgreSQL به کاربران امکان میدهد تا فواصل بین دو نقطه مشخص شده با استفاده از مختصات طول و عرض جغرافیایی را محاسبه کنند. این ماژول دو رویکرد، یعنی مبتنی بر مکعب و مبتنی بر نقطه را برای محاسبه دقیق فواصل در سطح زمین فراهم میکند. با استفاده از این ماژول، توسعهدهندگان قادرند به جستجوهای مجاورت، پرس و جوهای مبتنی بر مکان و سایر تحلیلهای مکانی پرداخته و از آنها استفاده کنند.
👩💻 https://www.postgresql.org/docs/current/earthdistance.html
شماره ۱۰ : ماژول "مکعب" در PostgreSQL نوع دادهای جدیدی به نام "مکعب" را معرفی میکند که به کاربران امکان میدهد نقاط چند بعدی را به طور موثر ذخیره و دستکاری کنند. این ماژول همچنین امکان نمایهسازی را فراهم میکند و قابلیت جستجو و عملیات سریع روی دادههای چند بعدی را فراهم میکند.
با استفاده از ماژول مکعب، کاربران میتوانند نقاط با تعداد بعد n را ذخیره و پردازش کنند. آنها قادر خواهند بود پرس و جوهای محدوده را انجام داده، فواصل بین نقاط را محاسبه کرده و از نمایهسازی برای بازیابی سریعتر دادهها در فضاهای با ابعاد بالاتر استفاده کنند.
👩💻 https://www.postgresql.org/docs/15/cube.html
@Code_Crafters
#postgresql
شماره ۷ : افزونه tablefunc در PostgreSQL توابع جدول اضافی را فراهم میکند. با استفاده از این توابع، میتوان در پرس و جوها نتایج crosstab، جداول محوری و تبدیل دادهها را تولید کرد. این برنامه افزودنی به کاربران امکان میدهد دادههای ردیف را به ستون تبدیل کنند و در قالب جداول محوری دادهها را ارائه کنند. همچنین، میتواند دادههای از دست رفته را در نتایج crosstab پر کند و بهبود تصویرسازی و گزارشدهی دادهها را تسهیل کند.
تحلیلگران داده میتوانند از tablefunc برای چرخش دادهها بر اساس معیارهای خاص استفاده کرده و تحلیل و خلاصهسازی اطلاعات را آسانتر کنند. آنها همچنین میتوانند پرسوجوهای متقاطع پویا را اجرا کنند، جایی که تعداد ستونهای حاصل ممکن است بر اساس دادهها متغیر باشد.
شماره ۸ : افزونه intarray در PostgreSQL قابلیت پشتیبانی از آرایههای یک بعدی اعداد صحیح را اضافه میکند. با استفاده از intarray، مهندسان داده قادرند آرایههای اعداد صحیح را مستقیماً در ستونهای پایگاه داده ذخیره و تغییرات را بر روی آنها اعمال کنند. این افزونه امکان مدیریت آسانتر دادهها و بهبود عملکرد جستجو برای عملیات مرتبط با آرایه را فراهم میکند.
شماره ۹ :ماژول earthdistance در PostgreSQL به کاربران امکان میدهد تا فواصل بین دو نقطه مشخص شده با استفاده از مختصات طول و عرض جغرافیایی را محاسبه کنند. این ماژول دو رویکرد، یعنی مبتنی بر مکعب و مبتنی بر نقطه را برای محاسبه دقیق فواصل در سطح زمین فراهم میکند. با استفاده از این ماژول، توسعهدهندگان قادرند به جستجوهای مجاورت، پرس و جوهای مبتنی بر مکان و سایر تحلیلهای مکانی پرداخته و از آنها استفاده کنند.
شماره ۱۰ : ماژول "مکعب" در PostgreSQL نوع دادهای جدیدی به نام "مکعب" را معرفی میکند که به کاربران امکان میدهد نقاط چند بعدی را به طور موثر ذخیره و دستکاری کنند. این ماژول همچنین امکان نمایهسازی را فراهم میکند و قابلیت جستجو و عملیات سریع روی دادههای چند بعدی را فراهم میکند.
با استفاده از ماژول مکعب، کاربران میتوانند نقاط با تعداد بعد n را ذخیره و پردازش کنند. آنها قادر خواهند بود پرس و جوهای محدوده را انجام داده، فواصل بین نقاط را محاسبه کرده و از نمایهسازی برای بازیابی سریعتر دادهها در فضاهای با ابعاد بالاتر استفاده کنند.
@Code_Crafters
#postgresql
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥1👏1
هنگام انتخاب یک افزونه PostgreSQL👩💻 به هفت عامل اصلی زیر توجه کنید:
۱. عملکرد: نیازهای خاص عملکردی برنامه یا پایگاه داده خود را مد نظر قرار داده و یک افزونه انتخاب کنید که این نیازها را برطرف کند.
۲. سازگاری: اطمینان حاصل کنید که افزونه با نسخه PostgreSQL شما سازگار است. بعضی از افزونهها ممکن است در نسخههای قدیمیتر یا جدیدتر PostgreSQL در دسترس یا پشتیبانی نشوند.
۳. عملکرد: تأثیر عملکرد افزونههای بارگذاری شده در پایگاه داده خود را ارزیابی کنید. بعضی از افزونهها ممکن است تأثیر زیادی روی عملکرد پرسوجوها داشته باشند یا نیازهای خاص سختافزاری داشته باشند، بنابراین تأثیر ممکن را بر عملکرد پرسوجوها در نظر بگیرید.
۴. پشتیبانی و نگهداری: سطح پشتیبانی و نگهداری افزونه را بررسی کنید. افزونههای فعال و بهروز، احتمالاً بروزرسانیها و رفع اشکالات را دریافت میکنند و اطمینان حاصل میکنند که افزونه با نسخههای آینده PostgreSQL سازگار باقی میماند.
۵. مستندات: به دنبال افزونههایی با مستندات واضح و جامع باشید. مستندات خوب به شما کمک میکنند تا به طور موثر از افزونه استفاده کنید و هرگونه مشکل را رفع کنید.
۶. جامعه و پذیرش: پذیرش و محبوبیت افزونه در جامعه PostgreSQL را در نظر بگیرید. افزونههای پرکاربرد و استقرار یافته معمولاً قابل اعتمادتر هستند.
۷. امنیت: تأثیرات امنیتی استفاده از افزونه را ارزیابی کنید. افزونهها باید از شیوههای برتر امنیتی برای حفاظت از دادهها استفاده کنند و آسیبپذیریهایی را در سیستم شما ایجاد نکنند.
@Code_Crafters
#postgresql
۱. عملکرد: نیازهای خاص عملکردی برنامه یا پایگاه داده خود را مد نظر قرار داده و یک افزونه انتخاب کنید که این نیازها را برطرف کند.
۲. سازگاری: اطمینان حاصل کنید که افزونه با نسخه PostgreSQL شما سازگار است. بعضی از افزونهها ممکن است در نسخههای قدیمیتر یا جدیدتر PostgreSQL در دسترس یا پشتیبانی نشوند.
۳. عملکرد: تأثیر عملکرد افزونههای بارگذاری شده در پایگاه داده خود را ارزیابی کنید. بعضی از افزونهها ممکن است تأثیر زیادی روی عملکرد پرسوجوها داشته باشند یا نیازهای خاص سختافزاری داشته باشند، بنابراین تأثیر ممکن را بر عملکرد پرسوجوها در نظر بگیرید.
۴. پشتیبانی و نگهداری: سطح پشتیبانی و نگهداری افزونه را بررسی کنید. افزونههای فعال و بهروز، احتمالاً بروزرسانیها و رفع اشکالات را دریافت میکنند و اطمینان حاصل میکنند که افزونه با نسخههای آینده PostgreSQL سازگار باقی میماند.
۵. مستندات: به دنبال افزونههایی با مستندات واضح و جامع باشید. مستندات خوب به شما کمک میکنند تا به طور موثر از افزونه استفاده کنید و هرگونه مشکل را رفع کنید.
۶. جامعه و پذیرش: پذیرش و محبوبیت افزونه در جامعه PostgreSQL را در نظر بگیرید. افزونههای پرکاربرد و استقرار یافته معمولاً قابل اعتمادتر هستند.
۷. امنیت: تأثیرات امنیتی استفاده از افزونه را ارزیابی کنید. افزونهها باید از شیوههای برتر امنیتی برای حفاظت از دادهها استفاده کنند و آسیبپذیریهایی را در سیستم شما ایجاد نکنند.
@Code_Crafters
#postgresql
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤1👏1
مشکلات ممکن در حین استفاده از افزونههای PostgreSQL👩💻 :
مهندسان داده و توسعه دهندگان ممکن است با مشکلات زیر در حین استفاده از افزونههای PostgreSQL مواجه شوند:
تداخل وابستگیها: سیستمهایی که از چندین افزونه استفاده میکنند، ممکن است دچار تداخل وابستگیها یا نیازمندیها شوند. تمام افزونههای استفاده شده باید با یکدیگر سازگار باشند.
هزینه عملکردی اضافی: برخی از افزونهها ممکن است هزینه عملکردی اضافی را به همراه داشته باشند، به ویژه اگر شامل پرسوجوهای پیچیده یا مجموعههای داده بزرگ باشند. تأثیر عملکرد افزونه را بر روی بار کاری خود تست کنید.
اشکالات و مشکلات سازگاری: افزونهها همیشه بدون اشکال نیستند و ممکن است با تمام نسخههای PostgreSQL به درستی کار نکنند. با آخرین نسخهها و رفع اشکالات افزونهها بهروز باشید.
سازگاری بهروزرسانی: بهروزرسانیهای PostgreSQL ممکن است با افزونههای فعلی مشکلاتی ایجاد کند. برخی از افزونهها ممکن است نیازمند بهروزرسانی باشند تا با آخرین نسخه PostgreSQL کار کنند.
خطرهای امنیتی: افزونههایی که بهروز نمیشوند یا امنیتی ندارند، میتوانند آسیبپذیریهایی را در پایگاه داده ایجاد کنند. همیشه اعتبار و قابل اعتماد بودن افزونه و توسعهدهنده آن را بررسی کنید.
تداخل ویژگی: به وجود هرگونه تداخل ویژگی بین عملکرد هسته PostgreSQL و افزونه دقت کنید. مطمئن شوید که هیچ تداخل و تکرار ویژگیها یا پیچیدگیهای نازکی وجود ندارد.
ملاحظات مربوط به مجوز و قانونی: شرایط مجوز افزونه را بررسی کنید تا اطمینان حاصل کنید که با نیازهای پروژه سازگار است و با سیاستهای سازمان شما سازگار است.
@Code_Crafters
#postgresql
مهندسان داده و توسعه دهندگان ممکن است با مشکلات زیر در حین استفاده از افزونههای PostgreSQL مواجه شوند:
تداخل وابستگیها: سیستمهایی که از چندین افزونه استفاده میکنند، ممکن است دچار تداخل وابستگیها یا نیازمندیها شوند. تمام افزونههای استفاده شده باید با یکدیگر سازگار باشند.
هزینه عملکردی اضافی: برخی از افزونهها ممکن است هزینه عملکردی اضافی را به همراه داشته باشند، به ویژه اگر شامل پرسوجوهای پیچیده یا مجموعههای داده بزرگ باشند. تأثیر عملکرد افزونه را بر روی بار کاری خود تست کنید.
اشکالات و مشکلات سازگاری: افزونهها همیشه بدون اشکال نیستند و ممکن است با تمام نسخههای PostgreSQL به درستی کار نکنند. با آخرین نسخهها و رفع اشکالات افزونهها بهروز باشید.
سازگاری بهروزرسانی: بهروزرسانیهای PostgreSQL ممکن است با افزونههای فعلی مشکلاتی ایجاد کند. برخی از افزونهها ممکن است نیازمند بهروزرسانی باشند تا با آخرین نسخه PostgreSQL کار کنند.
خطرهای امنیتی: افزونههایی که بهروز نمیشوند یا امنیتی ندارند، میتوانند آسیبپذیریهایی را در پایگاه داده ایجاد کنند. همیشه اعتبار و قابل اعتماد بودن افزونه و توسعهدهنده آن را بررسی کنید.
تداخل ویژگی: به وجود هرگونه تداخل ویژگی بین عملکرد هسته PostgreSQL و افزونه دقت کنید. مطمئن شوید که هیچ تداخل و تکرار ویژگیها یا پیچیدگیهای نازکی وجود ندارد.
ملاحظات مربوط به مجوز و قانونی: شرایط مجوز افزونه را بررسی کنید تا اطمینان حاصل کنید که با نیازهای پروژه سازگار است و با سیاستهای سازمان شما سازگار است.
@Code_Crafters
#postgresql
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤1👏1
مورد استفاده واقعی از افزونههای PostgreSQL👩💻
برای نشان دادن چگونگی ارتقاء دادن پایگاه داده PostgreSQL توسط افزونهها، به دو مطالعه موردی زیر میپردازیم:
مطالعه موردی 1: استفاده از PostGIS برای تحلیل دادههای مکانی
سناریو: یک شرکت حمل و نقل و لجستیک برای بهینهسازی مسیرهای تحویل بر اساس شرایط ترافیک زمان واقعی و موقعیت مشتریان نیاز دارد. آنها دارای یک پایگاه داده گسترده از دادههای مکانی هستند که شامل اطلاعاتی درباره مشتریان، نقاط تحویل، شبکه جادهای و الگوهای ترافیک است.
راهکار: این شرکت از افزونه PostGIS برای به دست آوردن قابلیتهای مکانی در PostgreSQL استفاده میکند. آنها جداولی را برای ذخیره موقعیت مشتریان، نقاط تحویل و دادههای شبکه جادهای ایجاد میکنند و از انواع دادههای PostGIS مانند 'GEOMETRY' و 'GEOGRAPHY' استفاده میکنند.
به عبارتی میتوان به شرح زیر اشاره کرد:
تحلیل مکانی: آنها میتوانند از توابع PostGIS برای محاسبه فاصله بین نقاط تحویل و مشتریان، شناسایی نزدیکترین انبار برای هر نقطه تحویل و تعیین مسیرهای بهینه بر اساس دادههای ترافیک زمان واقعی استفاده کنند.
جستجوی نزدیکی: جستجوهای نزدیکی مشتریان در شعاعی خاص از یک موقعیت مشخص را قادر میسازد و به این ترتیب، آنها میتوانند به طور موثری به کمپینهای بازاریابی خود هدفمند شوند.
فهرستبندی فضایی: PostGIS امکان فهرستبندی فضایی کارآمد را فراهم میکند که امکان انجام پرسوجوهای فضایی سریع روی مجموعهدادههای بزرگ را فراهم میکند. این میتواند به بدست آوردن بینشهایی برای بهبود عملیات کلی لجستیک کمک کند.
تصویرسازی مکانی: با استفاده از PostGIS به همراه ابزارهای تصویرسازی، آنها میتوانند نقشههای تعامپایگاههای تحویل، شرایط ترافیک و خوشههای مشتریان را نمایش دهند.
با استفاده از PostGIS، شرکت حمل و نقل و لجستیک عملیات تحویل خود را بهبود میبخشد، زمان سفر را کاهش میدهد و استفاده از منابع را بهینهسازی میکند که منجر به افزایش رضایت مشتریان و صرفهجویی در هزینه میشود.
@Code_Crafters
#postgresql
برای نشان دادن چگونگی ارتقاء دادن پایگاه داده PostgreSQL توسط افزونهها، به دو مطالعه موردی زیر میپردازیم:
مطالعه موردی 1: استفاده از PostGIS برای تحلیل دادههای مکانی
سناریو: یک شرکت حمل و نقل و لجستیک برای بهینهسازی مسیرهای تحویل بر اساس شرایط ترافیک زمان واقعی و موقعیت مشتریان نیاز دارد. آنها دارای یک پایگاه داده گسترده از دادههای مکانی هستند که شامل اطلاعاتی درباره مشتریان، نقاط تحویل، شبکه جادهای و الگوهای ترافیک است.
راهکار: این شرکت از افزونه PostGIS برای به دست آوردن قابلیتهای مکانی در PostgreSQL استفاده میکند. آنها جداولی را برای ذخیره موقعیت مشتریان، نقاط تحویل و دادههای شبکه جادهای ایجاد میکنند و از انواع دادههای PostGIS مانند 'GEOMETRY' و 'GEOGRAPHY' استفاده میکنند.
به عبارتی میتوان به شرح زیر اشاره کرد:
تحلیل مکانی: آنها میتوانند از توابع PostGIS برای محاسبه فاصله بین نقاط تحویل و مشتریان، شناسایی نزدیکترین انبار برای هر نقطه تحویل و تعیین مسیرهای بهینه بر اساس دادههای ترافیک زمان واقعی استفاده کنند.
جستجوی نزدیکی: جستجوهای نزدیکی مشتریان در شعاعی خاص از یک موقعیت مشخص را قادر میسازد و به این ترتیب، آنها میتوانند به طور موثری به کمپینهای بازاریابی خود هدفمند شوند.
فهرستبندی فضایی: PostGIS امکان فهرستبندی فضایی کارآمد را فراهم میکند که امکان انجام پرسوجوهای فضایی سریع روی مجموعهدادههای بزرگ را فراهم میکند. این میتواند به بدست آوردن بینشهایی برای بهبود عملیات کلی لجستیک کمک کند.
تصویرسازی مکانی: با استفاده از PostGIS به همراه ابزارهای تصویرسازی، آنها میتوانند نقشههای تعامپایگاههای تحویل، شرایط ترافیک و خوشههای مشتریان را نمایش دهند.
با استفاده از PostGIS، شرکت حمل و نقل و لجستیک عملیات تحویل خود را بهبود میبخشد، زمان سفر را کاهش میدهد و استفاده از منابع را بهینهسازی میکند که منجر به افزایش رضایت مشتریان و صرفهجویی در هزینه میشود.
@Code_Crafters
#postgresql
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤1👏1
مطالعه موردی 2: استفاده از hstore برای مدیریت جفتهای کلید-مقدار در برنامههای تجارت الکترونیک
سناریو: یک پلتفرم تجارت الکترونیک میخواهد به فروشندگان امکان اضافه کردن ویژگیها و مشخصات سفارشی برای محصولات را بدهد. با این حال، این مشخصات میتوانند بین دستهها و فروشندگان مختلف به طور قابل توجهی متفاوت باشند.
راهکار: این شرکت از افزونه hstore در PostgreSQL برای مدیریت ویژگیها ویژه محصولات به صورت پویا و انعطافپذیر استفاده میکند. آنها یک جدول برای ذخیره اطلاعات محصول ایجاد میکنند و از نوع داده hstore برای ویژگیهای سفارشی استفاده میکنند.
با پیادهسازی hstore، آنها تجربه کاربری برای فروشندگان و مشتریان را بهبود میبخشند. در ادامه به توضیحات زیر میپردازیم:
ویژگیهای سفارشی محصول: فروشندگان میتوانند ویژگیهای سفارشی محصولات را مانند گزینههای رنگ، نوع و اطلاعات فنی اضافه کنند. ذخیره سازی کلید-مقدار hstore به آنها اجازه میدهد به صورت کارآمد و بدون تغییر ساختار جدول، این ویژگیها را اضافه و مدیریت کنند.
جستجو و فیلتر کردن: مشتریان میتوانند بر اساس ویژگیهای سفارشی محصولات را جستجو کنند. به عنوان مثال، مشتریان میتوانند محصولات را بر اساس رنگ، اندازه یا سایر مشخصات فیلتر کنند.
فهرستبندی و عملکرد: افزونه hstore امکان فهرستبندی بر روی جفتهای کلید-مقدار را پشتیبانی میکند که عملکرد جستجوهای مبتنی بر ویژگیها را بهبود میبخشد، حتی با تعداد بزرگی از محصولات.
قابلیت مقیاسپذیری: با رشد پلتفرم و افزایش تعداد محصولات و فروشندگان، رویکرد انعطافپذیر hstore امکان سازگاری آسان جدول پایگاه داده با ویژگیهای جدید را بدون نیازش برای تغییرات گسترده در طرح جدول نیاز ندارد.
با بهرهگیری از hstore در پایگاه داده PostgreSQL خود، پلتفرم تجارت الکترونیک تجربهای انعطافپذیر و قابل سفارشیسازی را برای فروشندگان در ارائه لیست محصولات فراهم میکند، در حالی که مشتریان از گزینههای جستجوی بهبود یافته بهرهمند میشوند. تمام این عوامل میتوانند منجر به افزایش فروش شود.
@Code_Crafters
#postgresql
سناریو: یک پلتفرم تجارت الکترونیک میخواهد به فروشندگان امکان اضافه کردن ویژگیها و مشخصات سفارشی برای محصولات را بدهد. با این حال، این مشخصات میتوانند بین دستهها و فروشندگان مختلف به طور قابل توجهی متفاوت باشند.
راهکار: این شرکت از افزونه hstore در PostgreSQL برای مدیریت ویژگیها ویژه محصولات به صورت پویا و انعطافپذیر استفاده میکند. آنها یک جدول برای ذخیره اطلاعات محصول ایجاد میکنند و از نوع داده hstore برای ویژگیهای سفارشی استفاده میکنند.
با پیادهسازی hstore، آنها تجربه کاربری برای فروشندگان و مشتریان را بهبود میبخشند. در ادامه به توضیحات زیر میپردازیم:
ویژگیهای سفارشی محصول: فروشندگان میتوانند ویژگیهای سفارشی محصولات را مانند گزینههای رنگ، نوع و اطلاعات فنی اضافه کنند. ذخیره سازی کلید-مقدار hstore به آنها اجازه میدهد به صورت کارآمد و بدون تغییر ساختار جدول، این ویژگیها را اضافه و مدیریت کنند.
جستجو و فیلتر کردن: مشتریان میتوانند بر اساس ویژگیهای سفارشی محصولات را جستجو کنند. به عنوان مثال، مشتریان میتوانند محصولات را بر اساس رنگ، اندازه یا سایر مشخصات فیلتر کنند.
فهرستبندی و عملکرد: افزونه hstore امکان فهرستبندی بر روی جفتهای کلید-مقدار را پشتیبانی میکند که عملکرد جستجوهای مبتنی بر ویژگیها را بهبود میبخشد، حتی با تعداد بزرگی از محصولات.
قابلیت مقیاسپذیری: با رشد پلتفرم و افزایش تعداد محصولات و فروشندگان، رویکرد انعطافپذیر hstore امکان سازگاری آسان جدول پایگاه داده با ویژگیهای جدید را بدون نیازش برای تغییرات گسترده در طرح جدول نیاز ندارد.
با بهرهگیری از hstore در پایگاه داده PostgreSQL خود، پلتفرم تجارت الکترونیک تجربهای انعطافپذیر و قابل سفارشیسازی را برای فروشندگان در ارائه لیست محصولات فراهم میکند، در حالی که مشتریان از گزینههای جستجوی بهبود یافته بهرهمند میشوند. تمام این عوامل میتوانند منجر به افزایش فروش شود.
@Code_Crafters
#postgresql
👍3❤1👏1
Top NuGet Packages for DotNet Developers.pdf
31.4 MB
Top / Most Useful Nuget Packages For .Net Developers!
#book
ref:
https://www.linkedin.com/posts/iammukeshm_top-nuget-packages-for-dotnet-developers-ugcPost-7131646162280873984-3rUd?utm_source=share&utm_medium=member_android
#book
ref:
https://www.linkedin.com/posts/iammukeshm_top-nuget-packages-for-dotnet-developers-ugcPost-7131646162280873984-3rUd?utm_source=share&utm_medium=member_android
👎2❤1👍1🔥1
CodeCrafters
Photo
یه خاطره براتون بگم
ما تو شرکت چندنفر بودیم
اما کار اصلی رو من و یک نفر دیگه انجام میدادیم
حدود ده روز به یک چالش سنگین خورده بودیم ما دونفری نشستیم پای حل کردنش ،ساعتها چارت کشیدم و واکاوی کردم ،ابزارهای مختلف رو بررسی کردم و راه حلهای بزرگ و کوچیک رو نوشتم و ...
ما دو نفر ساعتها بحث کردیم واکاوی کردیم و بررسی کردیم همه چی رو یجاهایی که مباحث سنگینتر میشد حتی بقیه توان گوش دادن رو نداشتن چون درکی از موضوع در اون حد سنگین رو نداشتن
خروجی رو حدود سه بار تغییر دادیم تا اون چالش رو رد کردیم و flow ما در حدود 90 درصد خوب جواب میداد که این خودش واقعا موفقیت بزرگی بود
دقیقا یادمه روز هشتم یکی از نیروهامون بخاطر عدم تواناییش حس کمبود بهش دست داد برگشت گفت خیلی ظلمه که حقوق میگیره و اگه نبود و استخدام نمیشد حقوق اون به ما دونفر میرسید ،ما دو نفر انگیزه بیشتری داشتیم و پول بیشتری میگرفتیم و این بخاطر تصمیمات اشتباه مدیریتی بوده و الان حقیقتش این هست که اون دستش تو جیب ما دونفر هست تا شرکت
اره حق داشت واقعا
چون مدیرمون تو این یک مورد بدترین و تصمیم اشتباه رو گرفته بود فشار کاری روی من و اون بنده خدا بخاطر عدم تخصص نیروهای دیگه زیاد بود در حدی که من راحت میتونستم جایگاه و تصمیمات مدیر رو تحت تاثیر شدید بزارم چون تمامی سرویسها بخش عظیمی ازش وابسته به من و اون نفر دیگه بود
من حتی قدرت این رو داشتم با تهدید کردن به استعفا دادنم منشی یا ابدارچی یا مدیر کسب و کار یا هر نیروی دیگهای رو اخراج کنم یا جایگزین کنم
اگه ما دونفر به اختلاف و دعوا میخوردیم موجب انحلال موقتی شرکت میشد
این رو یادتون بمونه تو مباحث مدیریتی موضوعی هست با عنوان انفجار احمقها ،هرچقدر نیروی غیر متخصص تو یک مجموعه وارد کنی سرعت سقوطش بیشتر میشه ، هیچوقت حتی به امید بهبود و پیشرفت نیروی الکی وارد نکنید ،اگه مدیر ما دست به حذف این افراد غیرتخصصی میزد بودجه بیشتری ذخیره میشد و بدهی شرکت کمتر میشد ، چندماه بیشتر دوام میاورد و ...
حالا ما دو نفر آدم های خوبی بودیم
بار بقیه رو بدوش کشیدیم ،حرف نزدیم دست به استعفا و یا حذف بقیه نزدیم و میگفتیم بنده خداها اومدن یه پولی میگیرن زندگیشون بچرخه گناه دارن ،حالا بماند که از همون نفرات چه توهینها و بد رفتاری هایی دیدیم ،ما دونفر اهمیت ندادیم و گذشتیم ،من حتی این اواخر بفکر رفتن بودم بخاطر شرایط احمقانهای که درست شده بود (صبحها دیر میرفتم ،عصرها زود برمیگشتم و مرخصی های بیشتری میگرفتم ) بارها و بارها مدیر اومد سراغم و گفت چرا این روزها همش ساکتی و پکر و دیر میای ،زود میری و... منم مدام بهش میگفتم یسری موضوعات شخصی هست ولی دلیل اصلی وضعیت بدی بود که بخاطر تصمیمات مدیریتی ایجاد شده بود نفرات بدی که به مجموعه اضافه شده بودن(هم از لحاظ مهارتهای نرم و هم از لحاظ تخصصیشون)
ولی همیشه تو هر موقعیتی که بودین یادتون بمونه نفرات باید بر اساس توانایی و لیاقتشون در جایگاهشون قرار بگیرن نه چیز دیگهای ،باید باید تفاوت بزرگ و عمدهای بین نیروی کارامدتر و نیروهای دیگه وجود داشته باشه بحث فقط حقوق نیست از خیلی جهات دیگه به همین شکل هست
@code_crafters
ما تو شرکت چندنفر بودیم
اما کار اصلی رو من و یک نفر دیگه انجام میدادیم
حدود ده روز به یک چالش سنگین خورده بودیم ما دونفری نشستیم پای حل کردنش ،ساعتها چارت کشیدم و واکاوی کردم ،ابزارهای مختلف رو بررسی کردم و راه حلهای بزرگ و کوچیک رو نوشتم و ...
ما دو نفر ساعتها بحث کردیم واکاوی کردیم و بررسی کردیم همه چی رو یجاهایی که مباحث سنگینتر میشد حتی بقیه توان گوش دادن رو نداشتن چون درکی از موضوع در اون حد سنگین رو نداشتن
خروجی رو حدود سه بار تغییر دادیم تا اون چالش رو رد کردیم و flow ما در حدود 90 درصد خوب جواب میداد که این خودش واقعا موفقیت بزرگی بود
دقیقا یادمه روز هشتم یکی از نیروهامون بخاطر عدم تواناییش حس کمبود بهش دست داد برگشت گفت خیلی ظلمه که حقوق میگیره و اگه نبود و استخدام نمیشد حقوق اون به ما دونفر میرسید ،ما دو نفر انگیزه بیشتری داشتیم و پول بیشتری میگرفتیم و این بخاطر تصمیمات اشتباه مدیریتی بوده و الان حقیقتش این هست که اون دستش تو جیب ما دونفر هست تا شرکت
اره حق داشت واقعا
چون مدیرمون تو این یک مورد بدترین و تصمیم اشتباه رو گرفته بود فشار کاری روی من و اون بنده خدا بخاطر عدم تخصص نیروهای دیگه زیاد بود در حدی که من راحت میتونستم جایگاه و تصمیمات مدیر رو تحت تاثیر شدید بزارم چون تمامی سرویسها بخش عظیمی ازش وابسته به من و اون نفر دیگه بود
من حتی قدرت این رو داشتم با تهدید کردن به استعفا دادنم منشی یا ابدارچی یا مدیر کسب و کار یا هر نیروی دیگهای رو اخراج کنم یا جایگزین کنم
اگه ما دونفر به اختلاف و دعوا میخوردیم موجب انحلال موقتی شرکت میشد
این رو یادتون بمونه تو مباحث مدیریتی موضوعی هست با عنوان انفجار احمقها ،هرچقدر نیروی غیر متخصص تو یک مجموعه وارد کنی سرعت سقوطش بیشتر میشه ، هیچوقت حتی به امید بهبود و پیشرفت نیروی الکی وارد نکنید ،اگه مدیر ما دست به حذف این افراد غیرتخصصی میزد بودجه بیشتری ذخیره میشد و بدهی شرکت کمتر میشد ، چندماه بیشتر دوام میاورد و ...
حالا ما دو نفر آدم های خوبی بودیم
بار بقیه رو بدوش کشیدیم ،حرف نزدیم دست به استعفا و یا حذف بقیه نزدیم و میگفتیم بنده خداها اومدن یه پولی میگیرن زندگیشون بچرخه گناه دارن ،حالا بماند که از همون نفرات چه توهینها و بد رفتاری هایی دیدیم ،ما دونفر اهمیت ندادیم و گذشتیم ،من حتی این اواخر بفکر رفتن بودم بخاطر شرایط احمقانهای که درست شده بود (صبحها دیر میرفتم ،عصرها زود برمیگشتم و مرخصی های بیشتری میگرفتم ) بارها و بارها مدیر اومد سراغم و گفت چرا این روزها همش ساکتی و پکر و دیر میای ،زود میری و... منم مدام بهش میگفتم یسری موضوعات شخصی هست ولی دلیل اصلی وضعیت بدی بود که بخاطر تصمیمات مدیریتی ایجاد شده بود نفرات بدی که به مجموعه اضافه شده بودن(هم از لحاظ مهارتهای نرم و هم از لحاظ تخصصیشون)
ولی همیشه تو هر موقعیتی که بودین یادتون بمونه نفرات باید بر اساس توانایی و لیاقتشون در جایگاهشون قرار بگیرن نه چیز دیگهای ،باید باید تفاوت بزرگ و عمدهای بین نیروی کارامدتر و نیروهای دیگه وجود داشته باشه بحث فقط حقوق نیست از خیلی جهات دیگه به همین شکل هست
@code_crafters
❤5👍2🔥1
خیلی از مواقع اون چیزی که ذهنمون رو درگیر میکنه در حین کدنویسی و برنامه نویسی مباحث مربوط به clean بودن هست
چه نکاتی رو باید رعایت کنیم یا به چه شکلی کد نوشته بشه که تمام نکات clean رعایت بشه و قابلیت خواندن برای دیگر برنامه نویسها رو هم داشته باشه
علاوه بر این گاها یک کد بزرگ داریم که اسم یک کلاس رو تغییر میدیم و این ممکن هست گیج کننده باشه برامون که این کلاس رو کجاها فراخونی کردیم و خیلی موارد دیگه
خبر خوب اینکه برای بچههای پایتونی ماژولی داریم با نام pylint که کد شمارو خط به خط بررسی میکنه و تمام موارد بالارو بهتون میگه جهت تولید یک کد پایتونی با استانداردهای کامل clean بودن
در ویدیوی زیر نمونه اون رو ببینید
https://youtube.com/watch?v=fFY5103p5-c&si=Ta8k8gZkZcuesh4v
@code_crafters
چه نکاتی رو باید رعایت کنیم یا به چه شکلی کد نوشته بشه که تمام نکات clean رعایت بشه و قابلیت خواندن برای دیگر برنامه نویسها رو هم داشته باشه
علاوه بر این گاها یک کد بزرگ داریم که اسم یک کلاس رو تغییر میدیم و این ممکن هست گیج کننده باشه برامون که این کلاس رو کجاها فراخونی کردیم و خیلی موارد دیگه
خبر خوب اینکه برای بچههای پایتونی ماژولی داریم با نام pylint که کد شمارو خط به خط بررسی میکنه و تمام موارد بالارو بهتون میگه جهت تولید یک کد پایتونی با استانداردهای کامل clean بودن
در ویدیوی زیر نمونه اون رو ببینید
https://youtube.com/watch?v=fFY5103p5-c&si=Ta8k8gZkZcuesh4v
@code_crafters
👍2❤1🔥1
CodeCrafters
خیلی از مواقع اون چیزی که ذهنمون رو درگیر میکنه در حین کدنویسی و برنامه نویسی مباحث مربوط به clean بودن هست چه نکاتی رو باید رعایت کنیم یا به چه شکلی کد نوشته بشه که تمام نکات clean رعایت بشه و قابلیت خواندن برای دیگر برنامه نویسها رو هم داشته باشه علاوه…
برای دوستان دات نتی میتوانند از roslyn استفاده کنند که بصورت پیشفرض روی visual studio نصبه و اتوماتیک این کارو میکنه
اگر خواستید پیشرفته تر کار کنید میتوانید از SolarLint استفاده کنید که رایگان هم هست.
پ.ن: این عکس هم یک نمونه از کارایی SolarLint هستش که در همون ادیتور، به شما توضیح میده که چطور مشکل را حل کنید .
@code_crafters
اگر خواستید پیشرفته تر کار کنید میتوانید از SolarLint استفاده کنید که رایگان هم هست.
پ.ن: این عکس هم یک نمونه از کارایی SolarLint هستش که در همون ادیتور، به شما توضیح میده که چطور مشکل را حل کنید .
@code_crafters
👍3🔥1😁1
دوستانی که میخوان کوبر یاد بگیرن دوتا لینک رو براتون میزارم اول کتاب و دومی یک سایت آموزشی:
(خیلی از دوستان جهت شروع یادگیری کتاب in action رو معرفی میکنن،مورد دوم اینکه سایت مدنظر با سادهترین زبان ممکن تمامی اجزا و امکانات کوبرنتیز رو توضیح داده)
📖 The kubernetes book
https://download.bibis.ir/Books/Programming/Devops/Kubernetes/2022/The-Kubernetes-Book-(2022-Edition)-(Nigel-Poulton)_bibis.ir.pdf
🌐 kubernetes vmware.com
https://www.vmware.com/topics/glossary/content/kubernetes.html
#k8s
@code_crafters
(خیلی از دوستان جهت شروع یادگیری کتاب in action رو معرفی میکنن،مورد دوم اینکه سایت مدنظر با سادهترین زبان ممکن تمامی اجزا و امکانات کوبرنتیز رو توضیح داده)
📖 The kubernetes book
https://download.bibis.ir/Books/Programming/Devops/Kubernetes/2022/The-Kubernetes-Book-(2022-Edition)-(Nigel-Poulton)_bibis.ir.pdf
🌐 kubernetes vmware.com
https://www.vmware.com/topics/glossary/content/kubernetes.html
#k8s
@code_crafters
Vmware
What is Kubernetes? | VMware Glossary
Kubernetes is an open source container orchestration platform that enables the operation of an elastic web server framework for cloud applications.
👍2🔥1🥰1