Database Labdon
663 subscribers
30 photos
481 links
🕸 Database Academy

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

ادمین:
@mrbardia72
Download Telegram
Forwarded from Bardia & Erfan
تیم سازی چیست؟ اهمیت، روش‌ها و مزایای آن در محیط کار

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

🕸 @labdon_academy
Forwarded from Bardia & Erfan
👇👇👇👇👇👇👇

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

🔵 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 Bardia & Erfan
👇 لیست کانال‌های مجموعه 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 Bardia & Erfan
واقعا برنامه نویس بودن تو ایران ،یه مسیر شغلی کاملا مسخره است.
یوتیوب فیلتره ، سایت های آموزشی تحریم هستیم. پرداخت ارزی به سختی اتفاق میوفته و غیره.

در هر صورت خواستم بگم 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 Bardia & Erfan
👍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://t.me/addlist/KpzXaiSpKENkMGM0
🔥3👍1
Forwarded from Software Engineer Labdon
📣 هش SHA 256 چگونه کار می‌کند؟
این وبسایت قدم به قدم فرآیند هش کردن رشته با الگوریتم Sha256 را بصورت گرافیکی نشان می‌دهد:

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

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

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

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

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

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

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

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

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


| <Saber Qadimi/>

https://t.me/addlist/KpzXaiSpKENkMGM0
👍7
This media is not supported in your browser
VIEW IN TELEGRAM
🥰4🔥1💘1
Forwarded from Bardia & Erfan
درود به همگی چند ماه پیش تصمیم گرفتم توی مواردی که خیلی باهاش سروکار دارم نمونه سوالتش رو از بعضی  سایت ها و یا استک اور فلو بهش برخوردم رو توی ریپوهای زیر جداگانه جمع آوری کنم
اگر دوس داشتید به اشتراک بزارید  و حمایت و مشارکت کنید
 


🎯- نمونه سوالات مصاحبه ای گیت
https://github.com/mrbardia72/git-Interview-Questions-And-Answers

🎯- نمونه سوالات مصاحبه ای گولنگ
https://github.com/mrbardia72/Go-Interview-Questions-And-Answers

🎯- نمونه سوالات مصاحبه ای دیتابیس
https://github.com/mrbardia72/db-Interview-Questions-and-Answers

🎯- نمونه سوالات مصاحبه ای داکر
https://github.com/mrbardia72/docker-Interview-Questions-and-Answers

🎯- نمونه سوالات مصاحبه ای والت
https://github.com/mrbardia72/vault-Interview-Questions-and-Answers

👇👇join👇👇

https://t.me/addlist/KpzXaiSpKENkMGM0
🔥5
📌 Database Administration (DBA) Engineering Manager

📝 Type: Visa Sponsorship
🌍 Relocation Package:

🏢 Company: TradingView

📍 Location: UNITED KINGDOM

⌨️ Category: #Programming

🔗 Tags: #javascript #python #reactjs #typescript #golang #mysql #postgresql #redis #kubernetes #aws #cloud