#کدبوک
کتابی عالی برای یادگیری ساخت اپلیکیشنهای وب با Rust و WebAssembly:
- آموزش تبدیل کد Rust به WebAssembly و اجرای آن در مرورگر
- ساخت اپلیکیشنهای سریع، ایمن و قابلانتقال برای وب
- آشنایی با ابزارها و فریمورکهای مرتبط مثل wasm-bindgen و wasm-pack
- ترکیب قدرت Rust با دنیای JavaScript برای ساخت پروژههای مدرن وب
* فایل PDF این کتاب رو میتونید از کانال DevBooks که لینکش توی بیو هست دانلود کنید.
@DevTwitter
کتابی عالی برای یادگیری ساخت اپلیکیشنهای وب با Rust و WebAssembly:
- آموزش تبدیل کد Rust به WebAssembly و اجرای آن در مرورگر
- ساخت اپلیکیشنهای سریع، ایمن و قابلانتقال برای وب
- آشنایی با ابزارها و فریمورکهای مرتبط مثل wasm-bindgen و wasm-pack
- ترکیب قدرت Rust با دنیای JavaScript برای ساخت پروژههای مدرن وب
* فایل PDF این کتاب رو میتونید از کانال DevBooks که لینکش توی بیو هست دانلود کنید.
@DevTwitter
❤11👍4👎3
Forwarded from Space Shop🪐
————————————
Please open Telegram to view this post
VIEW IN TELEGRAM
👎7❤5
ایجاد dark mode فقط با css بدون یک خط js
codepen:
https://codepen.io/ditheringidiot/pen/JjbzNMz
@DevTwitter | <Hesam Valizadeh/>
codepen:
https://codepen.io/ditheringidiot/pen/JjbzNMz
@DevTwitter | <Hesam Valizadeh/>
1🔥43👍9👎4❤3
امین بشیری که مسیرش از استارتاپهایی در ایران شروع شد و امروز در کمپانی تاکسی اینترنتی لیفت(Lyft) بهعنوان Software Engineer فعالیت میکند.
امین از مسیر واقعی مهاجرت کاری، چالشهای مصاحبه در شرکتهای بزرگ، تجربههای شکستخورده و درسهایی گفت که هر برنامهنویس باید بشنود!
https://youtu.be/PH1qcACGRXw?si=B50eJ8adFDGL3QBC
@DevTwitter | <Name/>
امین از مسیر واقعی مهاجرت کاری، چالشهای مصاحبه در شرکتهای بزرگ، تجربههای شکستخورده و درسهایی گفت که هر برنامهنویس باید بشنود!
https://youtu.be/PH1qcACGRXw?si=B50eJ8adFDGL3QBC
@DevTwitter | <Name/>
👍26👎9❤5
بلندتر کردن یا اضافهکردن کاراکتر ویژه کافی نیست — الگوها قابل حدساند. هکرها با شناخت الگو و هوشمصنوعی حمله رو هدفمند میکنن. از password manager و تسترهای امن استفاده کن؛ هرگز رمز اصلی رو تو سایتهای ناشناس وارد نکنید.
https://www.terrific.tools/online/password-strength-checker
@DevTwitter | <Nimo/>
https://www.terrific.tools/online/password-strength-checker
@DevTwitter | <Nimo/>
❤13👎2👍1
و GraphQL یه زبان پرسوجو و محیط اجرایی مدرن برای APIهاست
بهجای کلی endpoint مثل REST، فقط یه دونه داری و با کوئری دقیق دادهها رو میگیری
ساختهی Facebook و اوپنسورس از ۲۰۱۵
https://github.com/chentsulin/awesome-graphql
@DevTwitter | <Nimo/>
بهجای کلی endpoint مثل REST، فقط یه دونه داری و با کوئری دقیق دادهها رو میگیری
ساختهی Facebook و اوپنسورس از ۲۰۱۵
https://github.com/chentsulin/awesome-graphql
@DevTwitter | <Nimo/>
👍15👎9❤2
برای اینکه فهم دقیقتری از عملکرد شبکههای عصبی داشته باشم، تصمیم گرفتم همه چیز رو برای این پروژه فقط با زبان اسمبلی x86 64بیتی پیادهسازی کنم روی سیستمعامل سبک Debian Slim
پروژه راجع به تشخیص اعداد دستنویس از دیتاست MNIST هست
خوشحال میشم نگاه کنید
https://github.com/mohammad-ghaderi/mnist-asm-nn
@DevTwitter | <Mohammad Ghaderi/>
پروژه راجع به تشخیص اعداد دستنویس از دیتاست MNIST هست
خوشحال میشم نگاه کنید
https://github.com/mohammad-ghaderi/mnist-asm-nn
@DevTwitter | <Mohammad Ghaderi/>
🔥74👍6❤5
من یک پروژه اوپنسورس ساختم به اسم Dockerized MetaTrader5 with Python DataBridge.
کارش اینه که MetaTrader 5 رو داخل داکر با اطلاعات حساب معاملاتی که شما معرفی میکنید زمان ساخت کانتینر اجرا میکنه و با REST API + WebSocket امکان دسترسی از راه دور به دادهها و عملکردهای MT5 رو فراهم میکنه.
+ امکان استریم کردن دیتای اطلاعات حساب معاملاتی از طریق WebSocket
+ امکان ارتباط با متاتریدر درون کانتینر با استفاده از کتابخانه استاندارد MT5 Python
توضیحات کامل و داکیومنت خوب داره، نصب و راهاندازیش هم شرح دادم
خیلی خوب میشه اگر شما این پروژه رو تو کانالتون معرفی کنید تا کاربران بیشتری ببینندش.
اینم لینک گیتهاب پروژه:
https://github.com/im-mahdi-74/Dockerized-MetaTrader5-with-Python-DataBridge
@DevTwitter | <Mahdi/>
کارش اینه که MetaTrader 5 رو داخل داکر با اطلاعات حساب معاملاتی که شما معرفی میکنید زمان ساخت کانتینر اجرا میکنه و با REST API + WebSocket امکان دسترسی از راه دور به دادهها و عملکردهای MT5 رو فراهم میکنه.
+ امکان استریم کردن دیتای اطلاعات حساب معاملاتی از طریق WebSocket
+ امکان ارتباط با متاتریدر درون کانتینر با استفاده از کتابخانه استاندارد MT5 Python
توضیحات کامل و داکیومنت خوب داره، نصب و راهاندازیش هم شرح دادم
خیلی خوب میشه اگر شما این پروژه رو تو کانالتون معرفی کنید تا کاربران بیشتری ببینندش.
اینم لینک گیتهاب پروژه:
https://github.com/im-mahdi-74/Dockerized-MetaTrader5-with-Python-DataBridge
@DevTwitter | <Mahdi/>
🔥24❤5👍5👎1
برای اینکه از قافله عقب نمونم، یه MCP ساختم که لاگهای سنتری رو نشون میده. Requestهای کند و Issue ها رو سریع پیدا میکنم، مشکلات پروداکت رو حل میکنم و کار رو تند پیش میبرم. خیلی خوب کار میکنه و لذت بخشه! پابلیکش کردم، شمام میتونید استفاده کنید:
https://github.com/mjavadalavi/sentry-mcp
@DevTwitter | <S.MJavad Alavi/>
https://github.com/mjavadalavi/sentry-mcp
@DevTwitter | <S.MJavad Alavi/>
❤17👎3👍1
This media is not supported in your browser
VIEW IN TELEGRAM
بجای دستور ping میتونیم از gping تو لینوکس استفاده کنیم.
ظاهر گرافیکی و قشنگتری داره و پینگ هر هاست رو بصورت لایو روی نمودار نشون میده.
نحوه نصب در انواع سیستم عاملها و استفاده در گیتهاب پروژه
github.com/orf/gping
@DevTwitter | <Mohammad/>
ظاهر گرافیکی و قشنگتری داره و پینگ هر هاست رو بصورت لایو روی نمودار نشون میده.
نحوه نصب در انواع سیستم عاملها و استفاده در گیتهاب پروژه
github.com/orf/gping
@DevTwitter | <Mohammad/>
❤32👎4👍3🔥1
Forwarded from DevTwitter Ads.
🚨 #افزایش_قیمت_رسمی 🚨
خسته شدی از بدقولیهای خریدار گروه قدیمی؟ 😞
خریدار گروههای تلگرامی قدیمی با قیمت جدید 😎
✅اگه از گروهی لفت دادی و نمیدونی چطور پیداش کنی، راهنماییت میکنیم!
تعداد بالاتر + قیمت بالاتر
🗣️همراه با واسطه و پرداخت تتر
⭐️ برای فروش ضربه بزنید
📌 Pv: @rhakn
خسته شدی از بدقولیهای خریدار گروه قدیمی؟ 😞
خریدار گروههای تلگرامی قدیمی با قیمت جدید 😎
🐆قیمت جدید : 👇
💦 ۲۰۱۶ + ۲۰۱۵ – 1 میلیون
💦 ۲۰۱۸ + ۲۰۱۷ – 1 میلیون
💦 ۲۰۲۰ + ۲۰۱۹ – 850 تومن
💦 ۲۰۲۲ + ۲۰۲۱ – 850 تومن
💦 ۲۰۲۳ – 800 تومن
💦 ۲۰۲۴ – پیام بدین
✅اگه از گروهی لفت دادی و نمیدونی چطور پیداش کنی، راهنماییت میکنیم!
تعداد بالاتر + قیمت بالاتر
🗣️همراه با واسطه و پرداخت تتر
🎁 پاداش همکاری: هر معرفی فروشنده = ۵۰,۰۰۰ تومن جایزه!
⭐️ برای فروش ضربه بزنید
📌 Pv: @rhakn
👎16👍4
اگه برنامه نویس هستید و از هوش مصنوعی برای کدنویسی استفاده میکنید، واقعاً به خودتون لطف میکنید که OpenSpec رو چک کنید. این ابزار به شما کمک میکنه کنترل کامل پروژه رو دست بگیرید و از AI به عنوان یک همکار قابل اعتماد استفاده کنید!
تا حالا با دستیارهای کدنویسی هوش مصنوعی (مثل Cursor یا Copilot) کار کردید و به جای چیزی که دقیقاً در ذهن داشتید، یک چیز کاملاً دیگه تحویل گرفتید؟ یا یک بخش رو نوشته و یک بخش دیگه رو براتون خراب کرده
من جدیدا ابزاری رو پیدا کردم به اسم OpenSpec که داره این بازی رو برای همیشه عوض میکنه.
ایدهاش ساده و ناب هست: شما و هوش مصنوعی، قبل از نوشتن حتی یک خط کد، روی «چیزی که باید ساخته بشه» به توافق کامل میرسید.
دیگه خبری از پرامپتهای مبهم در چت و خروجیهای غیرقابل پیشبینی نیست. OpenSpec یک فرآیند کاری سبک و قدرتمند اضافه میکنه که پروژهها رو اینطوری پیش میبره:
۱. پیشنهاد تغییر (Change Proposal): شما به AI میگید چه قابلیتی رو میخواید اضافه کنید. AI یک ساختار کامل از مشخصات، وظایف و پیشنهادها رو براتون میسازه.
۲. بازبینی و هماهنگی: شما و AI با هم مشخصات رو دقیق میکنید تا همه چیز شفاف و بدون ابهام باشه.
۳. پیادهسازی: AI بر اساس مشخصات نهایی و توافق شده، کدنویسی رو انجام میده.
۴. آرشیو: بعد از اتمام کار، تغییرات به آرشیو منتقل میشن و مشخصات اصلی پروژه رو بهروز میکنن.
چرا این ابزار به خوبی جواب میده
- بدون نیاز به کلید API: نصب کن و استفاده کن. ساده و سریع.
- با ابزارهای فعلی شما کار میکنه: با Claude Code, Cursor, GitHub Copilot, Windsurf و دهها ابزار دیگه یکپارچه میشه.
- قابل پیشبینی و شفاف: دیگه نمیخواد حدس بزنید AI چی میسازه. همه چیز از قبل مشخصه.
- عالی برای پروژههای موجود: نه فقط برای پروژههای جدید، بلکه برای تغییر و توسعه کدهای قدیمی هم عالیه.
- مستندسازی خودکار: هر تغییری با مشخصات و وظایفش ثبت میشه و یک سند زنده از پروژه میسازه.
اینم آدرس گیتهابش که همه چیز اماده یک جا هست!
https://github.com/Fission-AI/OpenSpec
اگر نتونستنید دستی نصبش کنید ، میتونید فایل README[.]md رو کپی کنید ، بدید به همون ابزار Ai که براتون کد میزنه مثل Claude Code, Cursor, GitHub Copilot ، بگید نصبش کن!
@DevTwitter | <POURYA/>
تا حالا با دستیارهای کدنویسی هوش مصنوعی (مثل Cursor یا Copilot) کار کردید و به جای چیزی که دقیقاً در ذهن داشتید، یک چیز کاملاً دیگه تحویل گرفتید؟ یا یک بخش رو نوشته و یک بخش دیگه رو براتون خراب کرده
من جدیدا ابزاری رو پیدا کردم به اسم OpenSpec که داره این بازی رو برای همیشه عوض میکنه.
ایدهاش ساده و ناب هست: شما و هوش مصنوعی، قبل از نوشتن حتی یک خط کد، روی «چیزی که باید ساخته بشه» به توافق کامل میرسید.
دیگه خبری از پرامپتهای مبهم در چت و خروجیهای غیرقابل پیشبینی نیست. OpenSpec یک فرآیند کاری سبک و قدرتمند اضافه میکنه که پروژهها رو اینطوری پیش میبره:
۱. پیشنهاد تغییر (Change Proposal): شما به AI میگید چه قابلیتی رو میخواید اضافه کنید. AI یک ساختار کامل از مشخصات، وظایف و پیشنهادها رو براتون میسازه.
۲. بازبینی و هماهنگی: شما و AI با هم مشخصات رو دقیق میکنید تا همه چیز شفاف و بدون ابهام باشه.
۳. پیادهسازی: AI بر اساس مشخصات نهایی و توافق شده، کدنویسی رو انجام میده.
۴. آرشیو: بعد از اتمام کار، تغییرات به آرشیو منتقل میشن و مشخصات اصلی پروژه رو بهروز میکنن.
چرا این ابزار به خوبی جواب میده
- بدون نیاز به کلید API: نصب کن و استفاده کن. ساده و سریع.
- با ابزارهای فعلی شما کار میکنه: با Claude Code, Cursor, GitHub Copilot, Windsurf و دهها ابزار دیگه یکپارچه میشه.
- قابل پیشبینی و شفاف: دیگه نمیخواد حدس بزنید AI چی میسازه. همه چیز از قبل مشخصه.
- عالی برای پروژههای موجود: نه فقط برای پروژههای جدید، بلکه برای تغییر و توسعه کدهای قدیمی هم عالیه.
- مستندسازی خودکار: هر تغییری با مشخصات و وظایفش ثبت میشه و یک سند زنده از پروژه میسازه.
اینم آدرس گیتهابش که همه چیز اماده یک جا هست!
https://github.com/Fission-AI/OpenSpec
اگر نتونستنید دستی نصبش کنید ، میتونید فایل README[.]md رو کپی کنید ، بدید به همون ابزار Ai که براتون کد میزنه مثل Claude Code, Cursor, GitHub Copilot ، بگید نصبش کن!
@DevTwitter | <POURYA/>
👍27👎4❤3
وب سایت اسپیدتست: سرعت اینترنت گوشی های همراه در ایران به ۵۵ مگابیت برثانیه رسیده که از بین ۱۰۷ کشور جهان در رتبه ۷۵ قرار داره. همچنین ایران در بخش اینترنت خانگی با سرعت ۱۹ مگابیت برثانیه در بین ۱۵۴ کشور در رتبه ۱۴۲ قرار داره. امارات با ۶۲۴ مگابیت برثانیه در بخش همراه و سنگاپور با ۴۰۰ مگبیت بر ثانیه در بخش خانگی رتبه های اول جهانن.
https://www.speedtest.net/global-index/iran
@DevTwitter
https://www.speedtest.net/global-index/iran
@DevTwitter
👎50🔥11❤5👍1
#حاجی_پشمام
کامیونیتی ماینکرفت یه لول دیگه هست اصلا
طرف نشسته با سیستم red stone چت بات ساخته
https://youtu.be/VaeI9YgE1o8?si=Y92v7TnhOcIzzYte
@DevTwitter | <Taqi/>
کامیونیتی ماینکرفت یه لول دیگه هست اصلا
طرف نشسته با سیستم red stone چت بات ساخته
https://youtu.be/VaeI9YgE1o8?si=Y92v7TnhOcIzzYte
@DevTwitter | <Taqi/>
1🔥109👍9👎7❤5
بجای دستور cat توی لینوکس میتونیم از bat استفاده کنیم!
ظاهر رنگی و قشنگتری داره، شماره خط نشون میده و از syntax highlighting هم پشتیبانی میکنه.
توضیحات کامل در گیت هاب پروژه
Github → github.com/sharkdp/bat
@DevTwitter | <Mohammad/>
ظاهر رنگی و قشنگتری داره، شماره خط نشون میده و از syntax highlighting هم پشتیبانی میکنه.
توضیحات کامل در گیت هاب پروژه
Github → github.com/sharkdp/bat
@DevTwitter | <Mohammad/>
❤39
درود به همگی
یه پروژه اوپن سورس به اسم GitHub Analytics ساختم که باهاش میتونید GitHub Profile هر کسی رو آنالیز کنید — از آمار ریپوها و زبانهای برنامهنویسی گرفته تا activity و trends.
یه بخش جذابش هم Developer Battleـه؛ جایی که میتونید بین دولوپرها رقابت ایجاد کنید.
در کل یه داشبورد نسبتا کامل و تمیز برای آنالیز پروفایلهای گیتهابه که فکر میکنم برای دولوپرا کاربردی و جالب میتونه باشه.
https://github-analytics-five.vercel.app/
https://github.com/PouyaBirvand/Github_analytics
@DevTwitter | <Pouya Birvand/>
یه پروژه اوپن سورس به اسم GitHub Analytics ساختم که باهاش میتونید GitHub Profile هر کسی رو آنالیز کنید — از آمار ریپوها و زبانهای برنامهنویسی گرفته تا activity و trends.
یه بخش جذابش هم Developer Battleـه؛ جایی که میتونید بین دولوپرها رقابت ایجاد کنید.
در کل یه داشبورد نسبتا کامل و تمیز برای آنالیز پروفایلهای گیتهابه که فکر میکنم برای دولوپرا کاربردی و جالب میتونه باشه.
https://github-analytics-five.vercel.app/
https://github.com/PouyaBirvand/Github_analytics
@DevTwitter | <Pouya Birvand/>
❤19👍5👎1🔥1
بالاخره Zed برای ویندوز منتشر شد!
یه ادیتور فوقالعاده سریع و خفن که به نظرم میتونه حسابی جای Visual Studio Code رو تنگ کنه.
من حدود ۸ ساله کدنویسی میکنم و از Eclipse و NetBeans گرفته تا JetBrains، همه رو امتحان کردم. از وقتی VsCode اومد، دیگه اون وسواس انتخاب ادیتور رو گذاشتم کنار تا وقتی که اسم Zed رو شنیدم.
یه ادیتور نوشتهشده با Rust و سرعتی در حد گاد
اول فقط برای مک بود، بعد رسید به لینوکس. منم که عشق به اوبونتو، سریع یه ماشین مجازی بالا آوردم و تستش کردم.
یه پروژه نسبتا سنگین داشتم، ریا نشه یه پلتفرم انبارداری با چت و مدیریت کارمندان و محصولات. با Zed رانش کردم و همونجا بود که برگای VsCodeم ریخت
سرعت، autocomplete محشر، لود سریع اکستنشنها، محیط مینیمال و مدرن و خلاصه یه تجربه بینقص بود. و حالا برای ویندوز هم ریلیز شد
اگه هنوز امتحانش نکردی، پیشنهاد میکنم حتما تستش کنی
https://zed.dev/
@DevTwitter | <Soheil Ghanbary/>
یه ادیتور فوقالعاده سریع و خفن که به نظرم میتونه حسابی جای Visual Studio Code رو تنگ کنه.
من حدود ۸ ساله کدنویسی میکنم و از Eclipse و NetBeans گرفته تا JetBrains، همه رو امتحان کردم. از وقتی VsCode اومد، دیگه اون وسواس انتخاب ادیتور رو گذاشتم کنار تا وقتی که اسم Zed رو شنیدم.
یه ادیتور نوشتهشده با Rust و سرعتی در حد گاد
اول فقط برای مک بود، بعد رسید به لینوکس. منم که عشق به اوبونتو، سریع یه ماشین مجازی بالا آوردم و تستش کردم.
یه پروژه نسبتا سنگین داشتم، ریا نشه یه پلتفرم انبارداری با چت و مدیریت کارمندان و محصولات. با Zed رانش کردم و همونجا بود که برگای VsCodeم ریخت
سرعت، autocomplete محشر، لود سریع اکستنشنها، محیط مینیمال و مدرن و خلاصه یه تجربه بینقص بود. و حالا برای ویندوز هم ریلیز شد
اگه هنوز امتحانش نکردی، پیشنهاد میکنم حتما تستش کنی
https://zed.dev/
@DevTwitter | <Soheil Ghanbary/>
👍58👎23❤8
اخیرا درگیر کوچ کردن از یه سیستم مونولیت قدیمی با Symfony به میکروسرویس با Golang هستم. اونایی که تجربه این مدل کوچ کردن هارو توی سیستم های زیر بار و قدیمی دارن میدونن که مشکل اصلی دیتابیس و جلو رفتن بر اساس اسکیمای فعلی هست و این مدل کوچ ها باید تقریبا بدون Breaking Changes اتفاق بیوفته.
اینجا بود که با SqlBoiler توی زبان Go آشنا شدم.
مزایای SqlBoiler:
۱. ساخت Struct در یک چشم به هم زدن:
به جای اینکه ساعتها بشینم و دستی Structهای گو رو بر اساس جدولهای دیتابیس بنویسم، SQLBoiler در عرض چند ثانیه تمام مدلهای Type-Safe ما رو ساخت. وقتم رو خرید، خیلی زیاد!
۲. تمرکز بر دیتابیس (Database-First):
چون دیتابیس ما از قبل وجود داشت، این ابزار خیلی راحت خودشو با Schema ما سینک کرد. انگار ساخته شده بود برای همین وضعیت!
۳. کوئریهای ایمن و هوشمند:
دیگه نگران خطاهای احمقانه زمان اجرا (Runtime) نیستم. با تولید کوئریهای Strongly Typed، هر اشتباهی توی نام ستون یا جدول باشه، همون موقع
کامپایل گیر میده.
۴. فقط چیزهای ضروری رو بگیر:
قابلیت Whitelist/Blacklist جدولها و ستونها فوقالعاده است. توی محیط میکروسرویس که هر سرویس فقط به یه بخش دیتابیس نیاز داره، با این قابلیت فقط مدلهای مرتبط رو تولید کردم و کد اضافی رو حذف کردم.
اینم لینک گیتهابش:
https://github.com/aarondl/sqlboiler
@DevTwitter | <Sepehr Mohseni/>
اینجا بود که با SqlBoiler توی زبان Go آشنا شدم.
مزایای SqlBoiler:
۱. ساخت Struct در یک چشم به هم زدن:
به جای اینکه ساعتها بشینم و دستی Structهای گو رو بر اساس جدولهای دیتابیس بنویسم، SQLBoiler در عرض چند ثانیه تمام مدلهای Type-Safe ما رو ساخت. وقتم رو خرید، خیلی زیاد!
۲. تمرکز بر دیتابیس (Database-First):
چون دیتابیس ما از قبل وجود داشت، این ابزار خیلی راحت خودشو با Schema ما سینک کرد. انگار ساخته شده بود برای همین وضعیت!
۳. کوئریهای ایمن و هوشمند:
دیگه نگران خطاهای احمقانه زمان اجرا (Runtime) نیستم. با تولید کوئریهای Strongly Typed، هر اشتباهی توی نام ستون یا جدول باشه، همون موقع
کامپایل گیر میده.
۴. فقط چیزهای ضروری رو بگیر:
قابلیت Whitelist/Blacklist جدولها و ستونها فوقالعاده است. توی محیط میکروسرویس که هر سرویس فقط به یه بخش دیتابیس نیاز داره، با این قابلیت فقط مدلهای مرتبط رو تولید کردم و کد اضافی رو حذف کردم.
اینم لینک گیتهابش:
https://github.com/aarondl/sqlboiler
@DevTwitter | <Sepehr Mohseni/>
❤21👍7🔥1
کلید فراموششده بهینهسازی دیتابیس : Collation در MySQL
به عنوان برنامهنویس، همیشه روی ایندکس و کوئریها تمرکز میکنیم، اما یک تنظیم ساده در دیتابیس میتواند همه چیز را تغییر دهد: Collation
Collation چیست؟
تعیین میکند MySQL چگونه دادههای متنی را مقایسه و مرتبسازی میکند.
انتخاب اشتباه = مشکلات پنهان
دو نوع اصلی:
نوع یک : ci) Case-Insensitive_)
مقایسهها بدون توجه به حروف بزرگ و کوچک انجام میشود. برای مثال کوئری زیر همه ی مواردی مثل ali , Ali , ALI را برمی گرداند.
در این مثال collation ستون username برابر utf8mb4_unicode_ci می باشد.
نوع دو : bin) Case-Sensitive_)
مقایسهها حساس به حروف بزرگ و کوچک است. برای مثال کوئری زیر فقط ALI
را برمی گرداند.
در این مثال collation ستون username برابر utf8mb4_bin می باشد.
چرا مهم است؟
عملکرد: collationهای _bin معمولاً سریعترند.
دقت: اگر حساسیت به حروف بزرگ/کوچک مهم است، _bin ضروری است.
یکپارچگی داده: از ذخیره مقادیر تکراری ناخواسته جلوگیری میکند.
نکته طلایی:
قبل از طراحی جدول، از خود بپرسید:
"آیا در این فیلد، 'Ali' با 'ali' تفاوت دارد؟"
پاسخ این سؤال، collation مناسب را به شما میگوید.
@DevTwitter | <Babak Mirhosseini/>
به عنوان برنامهنویس، همیشه روی ایندکس و کوئریها تمرکز میکنیم، اما یک تنظیم ساده در دیتابیس میتواند همه چیز را تغییر دهد: Collation
Collation چیست؟
تعیین میکند MySQL چگونه دادههای متنی را مقایسه و مرتبسازی میکند.
انتخاب اشتباه = مشکلات پنهان
دو نوع اصلی:
نوع یک : ci) Case-Insensitive_)
مقایسهها بدون توجه به حروف بزرگ و کوچک انجام میشود. برای مثال کوئری زیر همه ی مواردی مثل ali , Ali , ALI را برمی گرداند.
SELECT * FROM users WHERE username = 'ALI'
در این مثال collation ستون username برابر utf8mb4_unicode_ci می باشد.
نوع دو : bin) Case-Sensitive_)
مقایسهها حساس به حروف بزرگ و کوچک است. برای مثال کوئری زیر فقط ALI
را برمی گرداند.
SELECT * FROM users WHERE username = 'ALI'
در این مثال collation ستون username برابر utf8mb4_bin می باشد.
چرا مهم است؟
عملکرد: collationهای _bin معمولاً سریعترند.
دقت: اگر حساسیت به حروف بزرگ/کوچک مهم است، _bin ضروری است.
یکپارچگی داده: از ذخیره مقادیر تکراری ناخواسته جلوگیری میکند.
نکته طلایی:
قبل از طراحی جدول، از خود بپرسید:
"آیا در این فیلد، 'Ali' با 'ali' تفاوت دارد؟"
پاسخ این سؤال، collation مناسب را به شما میگوید.
@DevTwitter | <Babak Mirhosseini/>
❤27👍9👎1