Database Labdon – Telegram
Database Labdon
833 subscribers
33 photos
3 videos
1 file
817 links
🕸 Database Academy

حمایت مالی:
https://www.coffeete.ir/mrbardia72

ادمین:
@mrbardia72
Download Telegram
🔵 عنوان مقاله
Amazon Aurora DSQL: A New Postgres-Compatible Database

🟢 خلاصه مقاله:
مقاله بررسی می‌کند تکنولوژی جدیدی به نام DSQL که از جانب AWS معرفی شده است. این فناوری با وعده‌ی قابلیت‌های مقیاس‌پذیری شبه نامحدود و قابلیت‌های بالای دسترس‌پذیری و پایداری قوی معرفی شده، هرچند تا حدودی با Postgres سازگار است، ولی قابلیت‌هایی همچون views، triggers، JSON و محدودیت‌های کلید خارجی را ندارد. AJ Stuyvenberg، که به عنوان AWS Hero شناخته می‌شود، این فناوری را به‌عنوان "هیجان‌انگیزترین راه‌اندازی که تا به حال از AWS دیده‌ام" توصیف می‌کند. همچنین اشاره می‌کند که این فناوری در حال حاضر در مرحله پیش‌نمایش است و جزئیات کامل در دسترس نیست. به زودی اطلاعات بیشتری از این محصول جدید انتظار می‌رود.

🟣لینک مقاله:
https://postgresweekly.com/link/163026/web


👑 @Database_Academy
👍1
🔵 عنوان مقاله
Supabase Cron: Job Scheduling in Postgres

🟢 خلاصه مقاله:
این مقاله به بررسی یک ماژول که از افزونه pg_cron برای مدیریت کارهای مکرر در پلتفرم Supabase استفاده می‌کند می‌پردازد. این ماژول قابلیت مدیریت و زمان‌بندی کارها را از طریق داشبورد یا SQL فراهم می‌کند. pg_cron به کاربران این امکان را می‌دهد که با استفاده از دستورات SQL، کارهای تکراری خود را برنامه‌ریزی کنند و آن‌ها را در دیتابیس مدیریت کنند. این ابزار به ویژه برای برنامه‌هایی که نیاز به اجرای دوره‌ای وظایف دارند، مفید است، مانند بکاپ گیری داده‌ها، بروزرسانی‌های دوره‌ای و کارهای نگهداری سیستم. Pg_cron به دلیل ادغام آسان و قابلیت اطمینان بالا در میان توسعه‌دهندگان و مدیران دیتابیس محبوبیت پیدا کرده است. این ماژول از ویژگی‌های امنیتی Supabase بهره می‌برد، که اطمینان می‌دهد فقط کاربران مجاز قادر به مشاهده یا ویرایش کارهای زمان‌بندی شده هستند.

🟣لینک مقاله:
https://postgresweekly.com/link/163045/web


👑 @Database_Academy
👍1
🔵 عنوان مقاله
Full-Stack Observability from Honeybadger

🟢 خلاصه مقاله:
پلتفرم جدید خطازنی Honeybadger که شباهت زیادی به سرویس‌های Splunk، DataDog یا CloudWatch Logs دارد، با این تفاوت که فقط ویژگی‌های مثبت این سرویس‌ها را به همراه یک قیمت معقول ارائه می‌دهد. این سیستم، علاوه بر کارایی بالا، به راحتی با سرویس‌هایی نظیر Crunchy Bridge، Journald و AWS یکپارچه‌سازی می‌شود. از مزایای اصلی این پلتفرم می‌توان به قیمت مناسب، راحتی در استفاده و امکان یکپارچه‌سازی آسان با دیگر سرویس‌های مدیریت داده و زیرساخت‌های فناوری اطلاعات اشاره کرد. این ویژگی‌ها Honeybadger را به یک انتخاب جذاب برای مدیریت لاگ‌ها در مقیاس وسیع یا پروژه‌های کوچکتر تبدیل می‌کند.

🟣لینک مقاله:
https://postgresweekly.com/link/163025/web


👑 @Database_Academy
🔵 عنوان مقاله
The substring Function, Regex Style

🟢 خلاصه مقاله:
مقاله‌ای که مد نظر قرار دادید به بررسی ویژگی‌های تابع substring در پایگاه داده Postgres می‌پردازد. این تابع به طور معمول برای استخراج بخش‌هایی از رشته‌ها با استفاده از شاخص‌های عددی به کار می‌رود. اما نکته کمتر شناخته‌شده‌ای که در این مقاله به آن اشاره شده است، پشتیبانی این تابع از عبارات منظم (regular expressions) است. با استفاده از عبارات منظم، کاربران می‌توانند بخش‌های پیچیده‌تر و متنوع‌تری از رشته‌ها را بر اساس الگوها و قواعد خاص استخراج کنند که این امر بسیار مفید است برای پردازش و تحلیل داده‌های متنی در پایگاه‌های داده. توانایی استفاده از عبارات منظم در تابع substring ارزش قابل توجهی به این ابزار می‌افزاید و کاربرد آن را در سناریوهای مختلف داده‌کاوی و مدیریت داده‌ها گسترش می‌دهد.

🟣لینک مقاله:
https://postgresweekly.com/link/163038/web


👑 @Database_Academy
Forwarded from Future Pulse Persian
تیم سازی چیست؟ اهمیت، روش‌ها و مزایای آن در محیط کار

https://karboom.io/mag/articles/%D8%AA%DB%8C%D9%85-%D8%B3%D8%A7%D8%B2%DB%8C

🕸 @labdon_academy
Forwarded from Future Pulse Persian
👇👇👇👇👇👇👇

🍀لیستی از تمامی چنل های ما

🔵 https://linktr.ee/Labdon

👆👆👆👆👆👆👆
👍2
Forwarded from LearnByLearn📖
💥مجموعه مقاله های مفاهیم دیتابیس💥

سعی کردم تا جایی که جا داره مفاهیم رو ساده توضیح بدم و شک نکنید ازشون تو مصاحبه ها پرسیده میشه 🍻


نبرد بین نظم و انعطاف (قسمت اول از مفاهیم دیتابیس)
👈🏻 کی به وجود اومدن؟
👈🏻 چرا به وجود اومدن؟
👈🏻 چه موقع از کدوم استفاده کنیم و چه موقع استفاده نکنیم؟
👈🏻 مزیت و معایبشون چیه؟ به درد چه پروژه هایی میخوره ؟
👈🏻 مقیاس پذیری افقی و عمودی چیه ؟


وقتی جدول‌ها عاشق می‌شوند (قسمت دوم از مفاهیم دیتابیس)
👈🏻 کلید ها چی هستن و انواع شون ؟
👈🏻 انواع ریلیشن توی دیتابیس چطوری استفاده میشه؟
👈🏻 چه موقع از ON DELETE استفاده کنیم ؟


دیتابیس بدون ایندکس، مثل کتابخانه بدون فهرست! (قسمت سوم از مفاهیم دیتابیس)
👈🏻 مفهوم ایندکس چیه؟ چه موقع استفاده کنیم چه موقع نکنیم ؟
👈🏻 انواع ایندکس کدوما هستن؟چطوری کار میکنن ؟
👈🏻 بررسی سه ساختار داده مهم ایندکس ها B-tree , Bitmap, hash table


نرمال‌سازی دیتابیس: از آشفتگی تا آسودگی در چند مرحله ساده(قسمت چهارم از مفاهیم دیتابیس)
👈🏻 مفهوم نرمالایز چیه؟
👈🏻 سطوح نرمالایز کدوما هست ؟
👈🏻 معایبش چیه و چه موقع استفادش نکنیم ؟


اسید: این بار نه شیمی، بلکه دیتابیس!(قسمت پنجم از مفاهیم دیتابیس)
👈🏻 اسید(ACID) در دیتابیس به چه معنیه؟
👈🏻 اگه ایزوله سازی رو رعایت نکنی چه مشکلاتی پیش میاد ؟ dirty read و phantom readو non-repeatable read چیا هستن ؟
👈🏻 چهار سطح ایزوله سازی کدوما هستن ؟


تکه‌ تکه، اما قوی‌ : Sharding، Partitioning و Replication (قسمت آخر از مفاهیم دیتابیس)
👈🏻 رپلیکیشن، شاردینگ و پارتیشن چی هستن ؟
👈🏻 مزیت هرکدوم چیه ؟
👈🏻 چه موقع از کدوم استفاده کنیم ؟


@LearnByLearn
چرا Composite Index می‌تونه کارمون رو راحت‌تر کنه؟
فرض کنید یه جدول users داریم که دو تا ستون مهم داره:
(تاریخ ثبت‌نام کاربر) signup_date
(شهر محل سکونت کاربر) city
حالا می‌خوایم این کوئری رو اجرا کنیم:
"همه کاربرهایی که بعد از یه تاریخ خاص ثبت‌نام کردن و تو شهر تهران هستن رو پیدا کن."

اگر فقط روی signup_date ایندکس داشته باشیم:
خب MySQL اول میره تو ستون مرتب‌شده تاریخ، مثلاً 1000 تا کاربر که شرط تاریخ رو دارن پیدا می‌کنه.
بعدش مجبور میشه تو این 1000 تا رکورد، دونه‌دونه بررسی کنه با پیچیدگی زمانی (o n) که کدوم کاربر تو تهران زندگی می‌کنه. این مرحله می‌تونه کند باشه، مخصوصاً اگه تعداد رکوردها زیاد باشه.

اگر از Composite Index استفاده کنیم:
به‌جای اینکه یه ایندکس جدا روی هر ستون داشته باشیم، می‌تونیم یه ایندکس ترکیبی روی signup_date و city تعریف کنیم. اینجوری:
و MySQL هم‌زمان شرط تاریخ و شهر رو بررسی می‌کنه و فقط اون رکوردهایی که هر دو شرط رو دارن پیدا می‌کنه. سرعت کوئری کلی بهتر میشه.

وقتی این ایندکس رو تعریف می‌کنیم، مای اس کیو ال MySQL برای این ستون‌ها یه جدول مرتب‌شده ایجاد می‌کنه و موقع کوئری زدن خیلی سریع نتیجه رو برمی‌گردونه. ولی باید حواسمون باشه که تعریف بیش از حد ایندکس‌ها می‌تونه هزینه آپدیت جدول رو بالا ببره.
و تو کمپوزیت ایندکس ها همیشه از چپ به راست خونده میشه ایندکس هامون تو شرطهامون هم باید این ترتیب رو رعایت کنیم.

DevTwitter | <Saber Qadimi/>
اگه نمیخواید خیلی کانفیگ های mysql رو تغییر بدید وقتی دارید بین سرور ها cross database،  جوین کوعری میزنید تو لاراول ، joinSub() رو استفاده کنید. کار کثیفیه ولی چون DB layer کار نمیکنید این راه حل مناسبیه. وگر نه توی mysql میتونید از فیچر Federated Storage Engine استفاده کنید.

اپروچ های مختلف برای این کار. تو خود mysql و laravel. البته درستش اینه که شما همه این ها رو Store Procedure کنید و تو app layer فقط اون ها رو کال کنید.

البته بگم این کار خیلی تمیز ترم میشه تو PostgreSQL که فیچرش میشه
‏FWD (foreign data wrapper)
‏که البته پیشنهاد من اینه که کلا از postgres برای این مدل query ها استفاده کنید.

DevTwitter | <iman/>


🕸 https://linktr.ee/Labdon
👍3
Forwarded from Future Pulse Persian
👇 لیست کانال‌های مجموعه Labdon با به‌روزترین اخبار، آموزش‌ها و ترفندها در حوزه‌های مختلف:


🔵 گولنگ - همه چیز از اخبار تا نکات کلیدی
🔴 @gopher_academy

🔵 موقعیت شغلی های گولنگ چه ایرانی و چه خارجی
🔴 @gopher_job


🔵 انواع دیتابیس ها ردیس مانگو پستگرس و سایر دیتابیس ها
🔴 @database_academy
🟢 حوزه های تحت پوشش

(redis , mysql , postgresl , mongo ,etc)

🔵 دنیای بلاکچین و ارز های دیجیتال
🔴 @Blockchain_labdon
🟢 حوزه های تحت پوشش

(Bitcoin, Ethereum, Altcoins, Blockchain, Policy & Regulations, AI, NFTs, DeFi)


🔵 مهندسی نرم افزار
🔴 @software_labdon
🟢 حوزه های تحت پوشش

(Engineering, Architecture, Design, Testing, Security , QA)


🔵 لینوکس- از توزیع‌ها تا ترفندهای امنیتی
🔴 @linux_labdon
🟢 حوزه های تحت پوشش

(Linux Distributions, Open Source Software, Security Tips ,New Releases & Features)


🔵 دوآپـس - ابزارها و روندهای جدید
🔴 @devops_labdon
🟢 حوزه های تحت پوشش

(CI/CD Pipelines, Cloud Infrastructure, Containerization & Orchestration, Monitoring & Performance, Infrastructure as Code, Security in DevOps)

🕸 @labdon_academy
🔵 عنوان مقاله
Building AI Apps on Postgres? Start with pgai

🟢 خلاصه مقاله:
مقاله‌ای که مورد بحث قرار گرفته به بررسی افزونه‌ای جدید در PostgreSQL با نام pgai می‌پردازد، که هدف از آن افزودن قابلیت‌های هوش مصنوعی به این پایگاه داده است. pgai به توسعه‌دهندگان امکان می‌دهد تا با استفاده از این افزونه، فعالیت‌های مرتبط با AI مانند ساختن جاسازی‌ها و تکمیل مدل‌ها را در PostgreSQL انجام دهند. این افزونه توانایی‌های برجسته‌ای به توسعه‌دهندگان می‌دهد تا بتوانند به سهولت برنامه‌های جستجو و بازیابی با قابلیت تولید متن گسترده (RAG) را بسازند. به این ترتیب، pgai به عنوان یک ابزار قدرتمند در دست توسعه‌دهندگان قرار می‌گیرد تا از آن در ساخت برنامه‌های پیچیده و تعاملی که نیازمند فناوری‌های پیشرفته AI هستند، استفاده کنند. این امکانات جدید، ساخت و توسعه برنامه‌های کاربردی مبتنی بر داده‌ها را در محیط PostgreSQL فراتر می‌برد و افق‌های جدیدی را برای استفاده بهینه از داده‌ها و AR در اختیار توسعه‌دهندگان قرار می‌دهد.

🟣لینک مقاله:
https://postgresweekly.com/link/163304/web


👑 @Database_Academy
👍2
🔵 عنوان مقاله
pg_worker_pool: Extension to Create a Pool of Background Workers

🟢 خلاصه مقاله:
مقاله در مورد یک افزونه ساده برای پایگاه داده‌های Postgres بحث می‌کند که از مکانیزم فرآیندهای کارگر پس‌زمینه در Postgres استفاده می‌کند تا توزیع پرس‌وجوها بین تعدادی از کارگران (workers) را آسان‌تر کند. این افزونه باعث می‌شود که عملیات پردازشی بتوانند بین چندین کارگر به صورت موازی انجام شوند، که نهایتاً به بهبود عملکرد کلی سیستم کمک می‌کند. با استفاده از این تکنیک، پایگاه داده قادر خواهد بود به صورت مؤثرتری در مقیاس‌دهی و مدیریت بارهای کاری سنگین، عمل کند. این افزونه بخصوص برای کاربرد‌هایی که نیاز به پردازش مقادیر زیادی از داده‌ها به صورت همزمان دارند، مفید است و می‌تواند به کاهش زمان پاسخگویی و افزایش راندمان کلی پردازش کمک کند.

🟣لینک مقاله:
https://postgresweekly.com/link/163336/web


👑 @Database_Academy
👍1
🔵 عنوان مقاله
pgBadger 13.0: A Postgres Log Analysis Tool

🟢 خلاصه مقاله:
مقاله مروری بر یک ابزار تجزیه‌وتحلیل لاگ با تمرکز بر عملکرد ارائه داده است که گزارش‌های دقیقی را درباره استفاده ارائه می‌دهد. نمونه‌ای از گزارش ارائه شده به خوانندگان کمک می‌کند تا درک بهتری از کارایی و دقت این ابزار داشته باشند. همچنین، لینکی به مخزن GitHub ارائه شده است که محلی برای دسترسی به کد منبع و مستندات لازم برای استفاده و بهره‌برداری از این ابزار تجزیه‌وتحلیل لاگ است. این ابزار به ویژه برای کسانی که به دنبال درک بهتر و دقیق‌تری از داده‌های لاگ و پیشبرد تحلیل‌های عملکردی هستند، مفید است.

🟣لینک مقاله:
https://postgresweekly.com/link/163333/web


👑 @Database_Academy
👍1
🔵 عنوان مقاله
Smarter Postgres LLM with Retrieval Augmented Generation

🟢 خلاصه مقاله:
مقاله‌ای که مورد بررسی قرار گرفته به معرفی مفهوم "RAG" (Retriever-Augmented Generation) پرداخته است. این مفهوم بر اساس بهبود نتایج مدل‌های بزرگ زبانی با استفاده از ارائه زمینه‌ اطلاعاتی اضافی فراهم شده از منابع داده‌ای اضافی استوار است. در این روش، یک سیستم بازیابی اطلاعات به منظور جمع‌آوری و انتخاب داده‌های مکمل و مرتبط با درخواست کاربر به کار گرفته می‌شود. سپس این داده‌ها به عنوان محتوای اضافی در کنار داده‌های اصلی وارد مدل تولید محتوا شده، که به مدل امکان می‌دهد نتایج دقیق‌تر و غنی‌تری تولید کند. RAG به ویژه در مواردی که داده‌های پایه محدود هستند یا نیاز به دقت اطلاعاتی بالا دارند، می‌تواند به شدت مفید واقع شود. این رویکرد در بهبود کارایی و دقت پاسخ‌های تولید شده توسط مدل‌های بزرگ زبانی نقش موثری دارد.

🟣لینک مقاله:
https://postgresweekly.com/link/163327/web


👑 @Database_Academy
👍6🔥1
رفقا سلام 🖐
ما تو شرکتمون یه صندلی واسه نیرویی با مهارت های زیر خالی شده:

تخصص در pl sql و کوئری نویسی
تخصص در oracle apex
حداقل یک سال سابقه کاری تو ۲ مهارت بالا
سن و جنسیت و مدرک تحصیلی و نظام وظیفه اهمیتی نداره

اگه شرایطشو دارید خوشحال میشم رزومتونو واسم ارسال کنید.
@mostafavn
🥰1
Forwarded from Future Pulse Persian
واقعا برنامه نویس بودن تو ایران ،یه مسیر شغلی کاملا مسخره است.
یوتیوب فیلتره ، سایت های آموزشی تحریم هستیم. پرداخت ارزی به سختی اتفاق میوفته و غیره.

در هر صورت خواستم بگم Github Copilot
به صورت رایگان در دسترس هست. اما تحریم هستیم.

https://aka.ms/vscode-activatecopilotfree
https://code.visualstudio.com/docs/copilot/setup-simplified


<پوریای اصلی قدیمی/>

🕸 @labdon_academy
👍3🎉1🍓1👻1
اگه ردیس بدون پسورد دارید، احتمالا باید نگران باشید!

https://redrays.io/blog/redis-cve-2024-31449-how-to-reproduce-and-mitigate-the-vulnerability/

<Hosein Ghasemi/>

🕸 https://linktr.ee/Labdon
👍1👏1
Forwarded from Software Engineer Labdon
🍾یه سری رودمپ بدرد بخور براتون ردیف کردم

🔻Engineering Manager
https://roadmap.sh/engineering-manager

🔻Software Design and Architecture
https://roadmap.sh/software-design-architecture

🔻System Design
https://roadmap.sh/system-design

🔻Software Architect
https://roadmap.sh/software-architect


https://news.1rj.ru/str/addlist/KpzXaiSpKENkMGM0
🔥3👍1
Forwarded from Software Engineer Labdon
📣 هش SHA 256 چگونه کار می‌کند؟
این وبسایت قدم به قدم فرآیند هش کردن رشته با الگوریتم Sha256 را بصورت گرافیکی نشان می‌دهد:

🔗 https://sha256algorithm.com/
🔹🔹🔹🔹🔹

https://news.1rj.ru/str/addlist/KpzXaiSpKENkMGM0
مفهوم Race Condition رو تا حالا شنیدی؟!
در واقع به درخواست‌های همزمانی که روی یه اندپوینت مشخص یا یه داده خاص در سیستم ما اتفاق میفته، Race Condition میگن.
این اتفاق معمولاً زمانی رخ میده که چندین درخواست همزمان بخوان روی یک داده مشترک اثر بذارن یا تغییراتی ایجاد کنن، و اگه به درستی مدیریت نشه، می‌تونه منجر به باگ‌های جدی و رفتار غیرمنتظره در سیستم بشه.

چطور Race Condition رو مدیریت کنیم؟
برای رفع این مشکل، من درخواست‌های همزمان رو به دو بخش کلی تقسیم کردم:

۱. همزمانی در لایه اپلیکیشن:
این نوع همزمانی زمانی رخ میده که چندین درخواست همزمان به یک منبع یا عملیات خاص در اپلیکیشن دسترسی پیدا کنن.

راه‌حل پیشنهادی:
از Cache::lock استفاده می‌کنیم. این روش برای ایجاد یک قفل موقت روی منابع مشترک کاربرد داره.
مثلاً با استفاده از Redis می‌تونیم مطمئن بشیم که فقط یک درخواست در یک زمان خاص اجازه دسترسی داره.

۲. همزمانی روی دیتابیس:
اینجا از قفل‌های دیتابیس استفاده می‌کنیم تا درخواست‌های همزمان رو کنترل کنیم:

FOR SHARE:
این نوع قفل وقتی استفاده میشه که فقط می‌خوایم داده رو بخونیم، ولی مطمئن بشیم کسی در همون لحظه نمی‌تونه اون رو تغییر بده.
این قفل اجازه میده درخواست‌های دیگه فقط بخونن ولی هیچ عملیات نوشتن یا دستکاری نمی‌تونه انجام بشه.

FOR UPDATE:
این قفل وقتی استفاده میشه که می‌خوایم داده رو بخونیم و تغییر بدیم.
وقتی این قفل فعال بشه، هیچ درخواست دیگه‌ای نمی‌تونه داده رو حتی بخونه یا تغییر بده تا وقتی که تراکنش فعلی کامل بشه.

با این روش‌هایی که گفتم، می‌تونیم از درخواست‌های همزمان که باعث ایجاد باگ تو پروژمون میشن جلوگیری کنیم.
یادگیری این مفاهیم نه‌تنها توی پروژه‌های واقعی خیلی به‌درد می‌خوره، بلکه می‌تونه یه سؤال کلیدی توی مصاحبه‌های شغلی باشه!


| <Saber Qadimi/>

https://news.1rj.ru/str/addlist/KpzXaiSpKENkMGM0
👍7