Forwarded from Geek Alerts
یه اتحادیه هست به اسم «PCA» یا اتحادیه حق انتخاب پرداخت، از خیلی قدیم کلا طرفدارهایی وجود داشتن که میگفتن دولتها باید اجازه بدن مردم با پول نقد هم خرید کنن، نمیتونن همهچیز رو الکترونیک کنن و روی همهچیز مردم نظارت داشته باشن.
به خاطر همینه که توی بریتانیا یه نفر میلیونها پوند پول نقد توی خونش میتونه نگهداری کنه «حالا جدا از اینکه چقدر این کار درسته ولی این حق رو داره»
الان سر ماجرای قطعی جهانی فرودگاههاو ... که خب میدونید صندوقهای بعضی از فروشگاهها هم از کار افتادن.
حالا این اتحادیه میگه یکبار دیگه حق پرداخت اینجور جاها خودش رو نشون میده وقتی همه سیستمها قطع هستن هنوز پول نقد کار میکنه.
در نهایت نسبت به شرکتهایی که پرداخت اعتباری رو اجبار کردن اعتراض داره.
البته توی چین و آمریکا کسب و کارهایی که پول نقد قبول نکنن جریمه میشن.
حق ناشناس بودن بخشی از حق حریمخصوصی و آزادی هست که در بیشتر کشورهای دنیا نادیده گرفته میشه.
theguardian
@geekalerts
به خاطر همینه که توی بریتانیا یه نفر میلیونها پوند پول نقد توی خونش میتونه نگهداری کنه «حالا جدا از اینکه چقدر این کار درسته ولی این حق رو داره»
الان سر ماجرای قطعی جهانی فرودگاههاو ... که خب میدونید صندوقهای بعضی از فروشگاهها هم از کار افتادن.
حالا این اتحادیه میگه یکبار دیگه حق پرداخت اینجور جاها خودش رو نشون میده وقتی همه سیستمها قطع هستن هنوز پول نقد کار میکنه.
در نهایت نسبت به شرکتهایی که پرداخت اعتباری رو اجبار کردن اعتراض داره.
البته توی چین و آمریکا کسب و کارهایی که پول نقد قبول نکنن جریمه میشن.
حق ناشناس بودن بخشی از حق حریمخصوصی و آزادی هست که در بیشتر کشورهای دنیا نادیده گرفته میشه.
theguardian
@geekalerts
Forwarded from کانال مهرداد لینوکس (Mehrdad Linux)
در موسیقی وصدا دستی بر آتش دارید 😎؟
نرم افزار DISTRHO Cardinal مبتنی بر سینتی سایزر ماژولار مجازی VCV Rack به صورت آنلاین یا سلف هاست
آزاد و متن باز شما را به ۱۰۰ها پلاگین synthesizer متصل میکنهنسخه لایو به راحتی قابل تست است
#موسیقی #music
نرم افزار DISTRHO Cardinal مبتنی بر سینتی سایزر ماژولار مجازی VCV Rack به صورت آنلاین یا سلف هاست
آزاد و متن باز شما را به ۱۰۰ها پلاگین synthesizer متصل میکنهنسخه لایو به راحتی قابل تست است
#موسیقی #music
Forwarded from کانال مهرداد لینوکس (Mehrdad Linux)
✅ نرم افزار تحلیل حجم فولدر ها و تحلیل دیسک در لینوکس
در linux برای دیدن حجم فولدر ها از دستور dh به این صورت استفاده میکنیم
خوبه ولی کمه 😎
میخواهیم با یک نگاه همه را ببینیم؟
✅ در دسکتاپ
💠 تحلیل گر های دیسک پیشفرض مثل GNOME Disk Usage Analyzer یا Filelight
به صورت پیشفرض روی اکثر توزیع ها هستند تحلیل خوبی از دیسک یا مسیر ارائه میدهند
💠 ابزار QDirStat
خیلی شبیه به دو گزینه قبلی است ولی به نظر من امکانات بیشتری داشت و گزارش های بیشتری ارائه میداد
✅ در ترمینال
💠ابزار ncdu
ابزار NCurses Disk Usage بسیار خوش دست در ترمینال واقعا عالی سریع و کار راه بینداز است و عملکر بسیار خوبی داره
💠ابزار du
این ابزار را باید بلد باشید پیشفرض سیستم است و واقعا روی سرور به کمک شما می آید
💠ابزار duf
ابزار عملکردی بهتر از du و خروجی گرافیکی du در ترمینال ارائه میده
💠ابزار dutree یا dust
با زبان RUST نوشته شده بسیار سریع نمودار های عالی در ترمینال
⁉️ شما از کدام ابزار استفاده میکنید ؟ بهترین تجربه شما با کدام ابزار بوده؟ سوالی داشتید خوشحال میشوم با هم برسی کنیم 😎
در linux برای دیدن حجم فولدر ها از دستور dh به این صورت استفاده میکنیم
df [options] [filesystems]
df -h
df mehrdadlinux.txt
خوبه ولی کمه 😎
میخواهیم با یک نگاه همه را ببینیم؟
✅ در دسکتاپ
💠 تحلیل گر های دیسک پیشفرض مثل GNOME Disk Usage Analyzer یا Filelight
به صورت پیشفرض روی اکثر توزیع ها هستند تحلیل خوبی از دیسک یا مسیر ارائه میدهند
💠 ابزار QDirStat
خیلی شبیه به دو گزینه قبلی است ولی به نظر من امکانات بیشتری داشت و گزارش های بیشتری ارائه میداد
✅ در ترمینال
💠ابزار ncdu
ابزار NCurses Disk Usage بسیار خوش دست در ترمینال واقعا عالی سریع و کار راه بینداز است و عملکر بسیار خوبی داره
💠ابزار du
این ابزار را باید بلد باشید پیشفرض سیستم است و واقعا روی سرور به کمک شما می آید
💠ابزار duf
ابزار عملکردی بهتر از du و خروجی گرافیکی du در ترمینال ارائه میده
💠ابزار dutree یا dust
با زبان RUST نوشته شده بسیار سریع نمودار های عالی در ترمینال
⁉️ شما از کدام ابزار استفاده میکنید ؟ بهترین تجربه شما با کدام ابزار بوده؟ سوالی داشتید خوشحال میشوم با هم برسی کنیم 😎
Forwarded from سید فرندز / برنامه نویسی / هک و امنیت / تکنولوژی (SeYeD.Dev)
اوپن سورس شاعرانه 🥰
کانالشون :
@iipoem
گیتهابش :
https://github.com/ixabolfazl/poembot
#پست_حمایتی
✅ @SEYED_BAX
کانالشون :
@iipoem
گیتهابش :
https://github.com/ixabolfazl/poembot
#پست_حمایتی
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Gopher Academy
🔵 عنوان مقاله
Codoworks Go Boilerplate: Prod-Ready RESTful API Boilerplate
🟢 خلاصه مقاله:
مقاله مورد بحث یک برنامهی نمونهی بیانگرا است که با استفاده از فریمورک Echo برای راهاندازی سریع APIهای CRUD طراحی شده است. Echo یک فریمورک وب محبوب در زبان برنامهنویسی Go است که به دلیل سرعت بالا و کارایی خود شناخته شده است. نقطه قوت این برنامه نمونه، فراهم کردن یک محیط آماده و منظم برای توسعه دهندگان است تا بتوانند APIهای CRUD را بدون نیاز به صرف زمان زیاد برای پیکربندی اولیه، بسرعت پیادهسازی کنند. برنامه نمونه شامل پیکربندیهای پیشفرض و ساختار دهی شده است که به توسعهدهندگان اجازه میدهد تمرکز خود را روی نوشتن منطق کسبوکار و توسعه ویژگیهای جدید معطوف دارند. برنامهی نمونه Echo این قابلیت را ارائه میدهد که میتوان با اندکی تنظیمات شخصی، به یک راهحل عملی برای پروژههای واقعی تبدیل شود.
🟣لینک مقاله:
https://github.com/codoworks/go-boilerplate
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Codoworks Go Boilerplate: Prod-Ready RESTful API Boilerplate
🟢 خلاصه مقاله:
مقاله مورد بحث یک برنامهی نمونهی بیانگرا است که با استفاده از فریمورک Echo برای راهاندازی سریع APIهای CRUD طراحی شده است. Echo یک فریمورک وب محبوب در زبان برنامهنویسی Go است که به دلیل سرعت بالا و کارایی خود شناخته شده است. نقطه قوت این برنامه نمونه، فراهم کردن یک محیط آماده و منظم برای توسعه دهندگان است تا بتوانند APIهای CRUD را بدون نیاز به صرف زمان زیاد برای پیکربندی اولیه، بسرعت پیادهسازی کنند. برنامه نمونه شامل پیکربندیهای پیشفرض و ساختار دهی شده است که به توسعهدهندگان اجازه میدهد تمرکز خود را روی نوشتن منطق کسبوکار و توسعه ویژگیهای جدید معطوف دارند. برنامهی نمونه Echo این قابلیت را ارائه میدهد که میتوان با اندکی تنظیمات شخصی، به یک راهحل عملی برای پروژههای واقعی تبدیل شود.
🟣لینک مقاله:
https://github.com/codoworks/go-boilerplate
➖➖➖➖➖➖➖➖
👑 @gopher_academy
GitHub
GitHub - codoworks/go-boilerplate: Production-ready Go RESTful API boilerplate with Echo
Production-ready Go RESTful API boilerplate with Echo - codoworks/go-boilerplate
Forwarded from Linuxor ?
اصل پیتر میگه انتخاب یه نفر برای تصدی یه سِمَت یا مقام، بر اساس میزان موفقیت عملکردش توی نقش فعلیش صورت میگیره نه بر اساس سنجش تواناییهاش برای ایفای نقش جدید؛
مثلا میخواید برید دانشگاه توی رشته کامپیوتر، برای قبول شدن مجبورید درس هایی بخونید که اصلا ربطی به رشتتون نداره... فقط میزان موفقیتتون توی سمت قبلیتون رو باید نشون بدید تا سازمان سنجش بفهمه شما برای دانشگاه مناسب هستین.
یا مثلا توی برنامه نویسی ممکنه شما قدرت خیلی خوبی توی مدیریت پروژه های حتی سنگین تر از پروژه فعلیتون داشته باشید، فقط چون این ماه حوصله نداشتید خوب Test Case بنویسید شمارو توی همون مرتبه کاریتون نگه دارن و بگن "این چند تا Test Case ساده نتونسته بنویسه و چرا باید ارتقاء شغلیش بدیم ؟"
🐧 @Linuxor
مثلا میخواید برید دانشگاه توی رشته کامپیوتر، برای قبول شدن مجبورید درس هایی بخونید که اصلا ربطی به رشتتون نداره... فقط میزان موفقیتتون توی سمت قبلیتون رو باید نشون بدید تا سازمان سنجش بفهمه شما برای دانشگاه مناسب هستین.
یا مثلا توی برنامه نویسی ممکنه شما قدرت خیلی خوبی توی مدیریت پروژه های حتی سنگین تر از پروژه فعلیتون داشته باشید، فقط چون این ماه حوصله نداشتید خوب Test Case بنویسید شمارو توی همون مرتبه کاریتون نگه دارن و بگن "این چند تا Test Case ساده نتونسته بنویسه و چرا باید ارتقاء شغلیش بدیم ؟"
🐧 @Linuxor
Forwarded from کانال مهرداد لینوکس (Mehrdad Linux)
✅ ابزار doggo مثل dig و nslookup در #لینوکس برای Query گرفتن از DNS با امکانات بیشتر
🗓 با go نوشته شده خروجی کنترل شده داره
از DoH DoT DoQ و DNSCrypt هم پشتیبانی میکنه
✳️بخش وب این ابزار را در اینجا میتوانید تست کنید
✳️ خروجی JSON
با اپشن JSON میتوانید خروجی را jSON پردازش کنید
🔥 چرا به نظر من خوبه ؟
پشتیبانی از خروجی JSON برای اسکریپتنویسی و تجزیه آسان
پروتکلهای انتقال چندگانه: DoH، DoT، DoQ، TCP، UDP، DNSCrypt
پشتیبانی از تنظیمات ndots و جستجو
پشتیبانی از چندین رزلور با استراتژیهای پرسوجوی قابل تنظیم
پشتیبانی از IPv4 و IPv6
رابط کاربری وب موجود
امکان Shell completions برای zsh و fish
جستجوی معکوس DNS
امکان query انعطافپذیر شامل flagsهای مختلف DNS
حالت دیباگ برای عیبیابی
اندازهگیری زمان پاسخ
پشتیبانی از پلتفرمهای مختلف
⁉️ اگر سوالی داشتید در بخش کامنت ها بنویسد 😎
#linux #لینوکس #DNS
🗓 با go نوشته شده خروجی کنترل شده داره
از DoH DoT DoQ و DNSCrypt هم پشتیبانی میکنه
✳️بخش وب این ابزار را در اینجا میتوانید تست کنید
✳️ خروجی JSON
با اپشن JSON میتوانید خروجی را jSON پردازش کنید
doggo mehrdadlinux.ir --json | jq '.responses[0].answers[].address'
🔥 چرا به نظر من خوبه ؟
پشتیبانی از خروجی JSON برای اسکریپتنویسی و تجزیه آسان
پروتکلهای انتقال چندگانه: DoH، DoT، DoQ، TCP، UDP، DNSCrypt
پشتیبانی از تنظیمات ndots و جستجو
پشتیبانی از چندین رزلور با استراتژیهای پرسوجوی قابل تنظیم
پشتیبانی از IPv4 و IPv6
رابط کاربری وب موجود
امکان Shell completions برای zsh و fish
جستجوی معکوس DNS
امکان query انعطافپذیر شامل flagsهای مختلف DNS
حالت دیباگ برای عیبیابی
اندازهگیری زمان پاسخ
پشتیبانی از پلتفرمهای مختلف
⁉️ اگر سوالی داشتید در بخش کامنت ها بنویسد 😎
#linux #لینوکس #DNS
Forwarded from کداکسپلور | CodeExplore (Koorosh)
این کد اسمبلی چه مقداری رو در DX قرار میده؟
MOV DX, 5
DEC DX
Forwarded from کداکسپلور | CodeExplore (Koorosh)
Forwarded from Abolfazl Devs (Abolfazl)
خیلی وقت پیش من نیاز داشتم به ترجمه متن تو پایتون اما خب api درستی نبود یا اگه بود پولی بود و بدون کیفیت
پس با یه تریکی اومدم و از خود گوگل ترنسلیت استفاده کردم برای اینکار
کارم که تموم شد تصمیم گرفتم تبدیلش کنم به یک پکیج پایتون
نتیجه اون شد این پکیج etranslate که خیلی راحت میتونید با دستور
اون رو نصب کنید.
استفاده ازش هم خیلی ساده هست و مثل نمونه های زیر میتونید ازش استفاده کنید:
سورس اونو میتونید ازینجا ببینید:
https://github.com/ixabolfazl/etranslate
اگه خوشتون اومد خوشحال میشم تو گیتهاب ستاره ⭐ بدید.
@abolfazl_devs
پس با یه تریکی اومدم و از خود گوگل ترنسلیت استفاده کردم برای اینکار
کارم که تموم شد تصمیم گرفتم تبدیلش کنم به یک پکیج پایتون
نتیجه اون شد این پکیج etranslate که خیلی راحت میتونید با دستور
pip install etranslate
اون رو نصب کنید.
استفاده ازش هم خیلی ساده هست و مثل نمونه های زیر میتونید ازش استفاده کنید:
translate("Hello world", to="fa")
# سلام دنیا
translate("Hello world", to="de")
# Hallo Welt
translate("Hello world!", src="en", to="fa")
# سلام دنیا سورس اونو میتونید ازینجا ببینید:
https://github.com/ixabolfazl/etranslate
اگه خوشتون اومد خوشحال میشم تو گیتهاب ستاره ⭐ بدید.
@abolfazl_devs
Forwarded from Laravel News
Laravel SEO made easy with the Honeystone package https://laravel-news.com/laravel-seo-honeystone
Laravel News
Laravel SEO made easy with the Honeystone package - Laravel News
The Honeystone SEO package for Laravel makes configuring SEO metadata from anywhere within your Laravel application a breeze.
Forwarded from سید فرندز / برنامه نویسی / هک و امنیت / تکنولوژی (SeYeD.Dev)
تصویر و کپشن هر دو تزیینی هستند و به هیچ موضوعی اشاره ندارند...
#کی_گفته_بانک_شهر_هک_شده_بود_نه_بابا_اینا_همش_شایعه_و_حدس_و_گمان_الکیه_به_جون_بیست_و_سی_قسم
✅ @SEYED_BAX
#کی_گفته_بانک_شهر_هک_شده_بود_نه_بابا_اینا_همش_شایعه_و_حدس_و_گمان_الکیه_به_جون_بیست_و_سی_قسم
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Armon technical logs (armon Taheri)
یکی از بهترین و مفید ترین گزارش هایی که خوندم گزارش کیفیت اینترنت انجمن تجارت الکترونیک تهران هست
علاوه بر اصول نگارش و انتقال محتوا ، پیام به شدت مهمی رو به نحوه قابل فهم برای عموم مردم و همچنین افراد متخصص ارایه داده
https://etchamber.ir/wp-content/uploads/2024/07/Internet-Quality-Report-v3.9.3.pdf
علاوه بر اصول نگارش و انتقال محتوا ، پیام به شدت مهمی رو به نحوه قابل فهم برای عموم مردم و همچنین افراد متخصص ارایه داده
https://etchamber.ir/wp-content/uploads/2024/07/Internet-Quality-Report-v3.9.3.pdf
Forwarded from Syntax | سینتکس (Daimon)
پروتکل بافر (Protocol Buffers)
پروتکل بافر یک روش سریالیزیشن دادهها است که به شما اجازه میدهد دادهها را به صورت ساختاریافته و بهینه ذخیره و منتقل کنید. این روش بهویژه در سیستمهای توزیعشده و میکروسرویسها کاربرد فراوانی دارد.
مزایای پروتکل بافر:
- فشردهسازی: دادهها به صورت باینری ذخیره میشوند، که باعث کاهش حجم میشود.
- قابلیت توسعه: میتوانید به سادگی فیلدهای جدید به پیامها اضافه کنید.
- پشتیبانی از چندین زبان: از زبانهای مختلفی پشتیبانی میکند و میتوانید کد های زبان های مختلفی رو با کامپایر پروتکل بافر ایجاد کنید.
از پروتکل بافر می توانیم در هسته سیستم خودمون، تو شرایط مختلفی که نیاز به سریالیزیشن و انتقال دیتا داریم، استفاده کنیم حتی اگر grpc هم استفاده نکنیم.
مثال: استفاده از پروتکل بافر در یک سیستم Message Driven
بیایید یک سناریو فرضی بسازیم که در آن از پروتکل بافر برای سریالیزیشن پیامها در یک سیستم مبتنی بر پیام استفاده میکنیم. ما یک سرویس داریم که دادههای کاربر را دریافت میکند و آنها را به یک صف پیام ارسال میکند.
۱. تعریف پیامها
ابتدا ساختار پیامها را در یک فایل
۲. تولید کد گولنگ
برای تولید کد گولنگ، ابتدا باید ابزار
سپس، کد گولنگ را با دستور زیر تولید کنید:
۳. ارسال پیام به سیستم Message Driven
حالا بیایید یک تولیدکننده پیام ایجاد کنیم که یک کاربر را سریالیزه کرده و به یک صف پیام (مثل Kafka) ارسال کند.
۴. کانسیوم پیام از سیستم Message Driven
حالا بیایید یک consumer پیام بسازیم که پیامهای دریافتی را دیسریالیزه کند:
#protocol_buffer
@Syntax_fa
پروتکل بافر یک روش سریالیزیشن دادهها است که به شما اجازه میدهد دادهها را به صورت ساختاریافته و بهینه ذخیره و منتقل کنید. این روش بهویژه در سیستمهای توزیعشده و میکروسرویسها کاربرد فراوانی دارد.
مزایای پروتکل بافر:
- فشردهسازی: دادهها به صورت باینری ذخیره میشوند، که باعث کاهش حجم میشود.
- قابلیت توسعه: میتوانید به سادگی فیلدهای جدید به پیامها اضافه کنید.
- پشتیبانی از چندین زبان: از زبانهای مختلفی پشتیبانی میکند و میتوانید کد های زبان های مختلفی رو با کامپایر پروتکل بافر ایجاد کنید.
از پروتکل بافر می توانیم در هسته سیستم خودمون، تو شرایط مختلفی که نیاز به سریالیزیشن و انتقال دیتا داریم، استفاده کنیم حتی اگر grpc هم استفاده نکنیم.
مثال: استفاده از پروتکل بافر در یک سیستم Message Driven
بیایید یک سناریو فرضی بسازیم که در آن از پروتکل بافر برای سریالیزیشن پیامها در یک سیستم مبتنی بر پیام استفاده میکنیم. ما یک سرویس داریم که دادههای کاربر را دریافت میکند و آنها را به یک صف پیام ارسال میکند.
۱. تعریف پیامها
ابتدا ساختار پیامها را در یک فایل
.proto تعریف میکنیم:syntax = "proto3";
package user;
message User {
string name = 1;
int32 age = 2;
}
۲. تولید کد گولنگ
برای تولید کد گولنگ، ابتدا باید ابزار
protoc و پلاگین Go را نصب کنید:go get google.golang.org/protobuf/cmd/protoc-gen-go
سپس، کد گولنگ را با دستور زیر تولید کنید:
protoc --go_out=. user.proto
۳. ارسال پیام به سیستم Message Driven
حالا بیایید یک تولیدکننده پیام ایجاد کنیم که یک کاربر را سریالیزه کرده و به یک صف پیام (مثل Kafka) ارسال کند.
package main
import (
"log"
"github.com/confluentinc/confluent-kafka-go/kafka"
"google.golang.org/protobuf/proto"
"your_project/user"
)
func main() {
producer, err := kafka.NewProducer(&kafka.ConfigMap{"bootstrap.servers": "localhost:9092"})
if err != nil {
log.Fatal(err)
}
defer producer.Close()
// create user
user := &user.User{
Name: "Alice",
Age: 30,
}
// serialize data
data, err := proto.Marshal(user)
if err != nil {
log.Fatal("Failed to serialize user:", err)
}
// publish a message
topic := "users"
err = producer.Produce(&kafka.Message{
TopicPartition: kafka.TopicPartition{Topic: &topic, Partition: kafka.PartitionAny},
Value: data,
}, nil)
if err != nil {
log.Fatal("Failed to send message:", err)
}
producer.Flush(15 * 1000)
log.Println("User sent to Kafka:", user.Name)
}
۴. کانسیوم پیام از سیستم Message Driven
حالا بیایید یک consumer پیام بسازیم که پیامهای دریافتی را دیسریالیزه کند:
package main
import (
"log"
"github.com/confluentinc/confluent-kafka-go/kafka"
"google.golang.org/protobuf/proto"
"your_project/user"
)
func main() {
consumer, err := kafka.NewConsumer(&kafka.ConfigMap{
"bootstrap.servers": "localhost:9092",
"group.id": "user_group",
"auto.offset.reset": "earliest",
})
if err != nil {
log.Fatal(err)
}
defer consumer.Close()
consumer.SubscribeTopics([]string{"users"}, nil)
for {
msg, err := consumer.ReadMessage(-1)
if err != nil {
log.Println("Error reading message:", err)
continue
}
// deserialization
receivedUser := &user.User{}
if err := proto.Unmarshal(msg.Value, receivedUser); err != nil {
log.Println("Failed to unmarshal user:", err)
continue
}
// use info
log.Printf("Received User: Name: %s, Age: %d\n", receivedUser.Name, receivedUser.Age)
}
}
#protocol_buffer
@Syntax_fa
pkg.go.dev
protoc-gen-go command - google.golang.org/protobuf/cmd/protoc-gen-go - Go Packages
The protoc-gen-go binary is a protoc plugin to generate Go code for both proto2 and proto3 versions of the protocol buffer language.
Forwarded from LearnPOV | لرن پی او وی
#libarary #reactjs #javanoscript
● معرفی لایبرری react hook form ●
توی این ویدیو به طور کامل بهتون توضیح دادم که این لایبرری دقیقا چیکار میکنه و چه مزایایی داره ⚡
https://www.instagram.com/reel/C7HCXB4sfK0/?igsh=ZHRjcHVpY2ZrbG92
Channel | YouTube | Instagram
Forwarded from LearnPOV | لرن پی او وی (Mohammad hossein)
#libarary #apexcharts
● معرفی لایبرری ApexCharts.js ●
لایبرری ApexCharts.js یک کتابخانهی جاوااسکریپتی است که برای ایجاد نمودارهای تعاملی و ریسپانسیو استفاده میشه و بهتون اجازه میده تا به راحتی انواع مختلفی از نمودارها رو مانند نمودارهای خطی، میلهای، دایرهای، و... رو ایجاد کنید.
ویژگی های کلیدی ✅
1سفارشیسازی بالا : امکان تغییر رنگها، استایلها، و انیمیشنها و....
2 ریسپانسیو بودن : نمودارهای ایجاد شده با ApexCharts به طور خودکار با اندازهی صفحه نمایش تطبیق پیدا میکنند.
3 پشتیبانی از دادههای داینامیک : میتوانید دادههای خود را از APIها دریافت کنید و در لحظه تو نمودارها نمایش دهید.
4 پشتیبانی از فریم ورک ها : برای react, vue و angular پکیج داره ولی برای استفاده تو فریم ورک های دیگه جاوااسکریپتی میتونید خیلی ساده از وانیلا جی اس استفاده کنید
مثال عملی 🚀
import React from 'react';
import Chart from 'react-apexcharts';
const SalesChart = () => {
const options = {
chart: {
type: 'line',
height: 350,
},
xaxis: {
categories: ['ژانویه', 'فوریه', 'مارس', 'آوریل', 'مه', 'ژوئن', 'ژوئیه'],
},
noscript: {
text: 'نمودار فروش ماهانه',
align: 'center',
},
};
const series = [
{
name: 'فروش',
data: [10, 20, 15, 30, 40, 35, 50],
},
];
return <Chart options={options} series={series} type="line" height={350} />;
};
export default SalesChart;
وبسایت رسمی apexcharts.js 🔗
Channel | Group | YouTube
Forwarded from LearnPOV | لرن پی او وی
#libarary #reactjs #react_helmet
● معرفی لایبرری React Helmet ●
لایبرری React Helmet یک کتابخانه برای مدیریت head در سند HTML در اپلیکیشنهای React است. با استفاده از React Helmet، میتونید به سادگی عنوان صفحه، متا تگها، و سایر عناصر موجود در head سایت را بر اساس وضعیت فعلی اپلیکیشن تنظیم کنید.
این ابزار برای بهبود SEO، مدیریت اطلاعات متا تگ ها، و بهروزرسانی داینامیک تگهای HTML در اپلیکیشنهای تکصفحهای (SPA) بسیار مفید است. همچنین، React Helmet به شما اجازه میدهد که این تغییرات را در هر کامپوننتی از اپلیکیشن خود اعمال کنید، بدون نیاز به دسترسی مستقیم به HTML.
مثال 🚀
import React from 'react';
import { Helmet } from 'react-helmet';
function MyComponent() {
return (
<div>
<Helmet>
<noscript>My Page Title</noscript>
<meta name="denoscription" content="This is a denoscription of my page" />
</Helmet>
<h1>Hello, World!</h1>
<p>Welcome to my React app with dynamic noscript and meta tags!</p>
</div>
);
}
✅ میتونید برای کسب اطلاعات بیشتر به داکیومنت React Helmet در Npm یا GitHub مراجعه کنید.
Channel | Group | YouTube | Instagram
Forwarded from LearnPOV | لرن پی او وی (Mohammad hossein)
#libarary #storybook
● معرفی لایبرری StoryBook ●
لایبرری Storybook یک ابزار متنباز برای توسعه و تست کامپوننتهای UI بهصورت مستقل است. این ابزار به شما اجازه میدهد تا کامپوننتها را جدایی از برنامه اصلی توسعه داده و بررسی کنید و همچنین این لایبرری با فریمورکهای مختلف مثل React، Vue و Angular سازگار است ⚡
✅ ویژگی ها
➊ امکان مشاهده و تست کامپوننتها در حالتهای مختلف را فراهم میکند.
➋ برای کامپوننت ها داکیومنت خودکار ایجاد میکند.
➌ این ابزار همکاری بین تیمهای طراحی و توسعه را بهبود میبخشد.
➍ افزونههای متعددی برای تست بصری و دسترسپذیری دارد.
➎ تغییرات کامپوننتها را سریع ارزیابی میکند.
➏ برای پروژههای بزرگ و تیمهای توسعهدهنده بسیار مفید است.
مثال عملی 🚀
// Button.stories.js
import React from 'react';
import { Button } from './Button';
export default {
noscript: 'Example/Button',
component: Button,
};
const Template = (args) => <Button {...args} />;
export const Primary = Template.bind({});
Primary.args = {
label: 'Primary Button',
variant: 'primary',
};
export const Secondary = Template.bind({});
Secondary.args = {
label: 'Secondary Button',
variant: 'secondary',
};
توی این کد دو نوع دکمه Primary و Secondary را در Storybook ایجاد کردیم.
✅ در کل با استفاده از Storybook میتوانید به سرعت UI خود را تست و بهبود دهید.
داکیمونت رسمی stoorybook 🔗
Channel | Group | YouTube | Instagram
Storybook
Storybook: Frontend workshop for UI development
Storybook is a frontend workshop for building UI components and pages in isolation. Thousands of teams use it for UI development, testing, and documentation. It's open source and free.