Forwarded from Geek Alerts
در ایرلند قانونی هست که اگه کارفرما یا شرکتی تصمیم به اخراج کسی بگیره باید ۳ بند رو رعایت کنه.
اول اینکه باید برای اخراج فرد دلیل موجه داشته باشه، مثلا عملکرد ضعیف فرد یا سوء رفتار و مشکلات مالی شرکت برای تعدیل میتونن از این دلایل باشن.
دوم رعایت انصاف هست که شامل رویههایی مثل اطلاع رسانی در مورد دلایل اخراج به فرد، برگزاری جلسات استماع و حتی ارائه فرصت برای دفاع به فرد هست.
سوم اینکه تمام حقوق فرد + پاداش پایان خدمت و حق بیمه بیکاری باید پرداخت بشه.
اما اگه شرکت اینهارو رعایت نکنه چی میشه؟ خب اینجا یک کیس واقعی از این موضوع داریم.
ماجرا اینه که گری رونی ۲۰۱۳ به استخدام توییتر در میاد، بعد ۲۰۲۲ که ایلان ماسک توییتر رو میخره به همه کارمندها یک ایمیل میزنه و میگه هرکسی میتونه از این پس با «شدت بالا» کار کنه توی توییتر میمونه و در صورت عدم پذیرش، این معادل استعفا هست.
برای این هم به کل کارمندهای توییتر ۱ روز فرصت داده شده تا گزینه «بله» رو بزنن.
رونی یکی از کسایی بود که این گزینه رو نمیزنه و طبیعتا از توییتر اخراج میشه.
الان کمیسیون روابط کاری ایرلند توییتر «اکس جدید» رو محکوم کرده و گفته این گزینه «بله» نزدن به معنی استعفا نیست و توییتر بدون دلیل این فرد رو اخراج کرده، این روش اخراج هم با ارتباطات ناسازگار، متناقض و گیجکننده بوده.
نهایتا توییتر رو به پرداخت ۶۰۰ هزار دلار جریمه میکنن.
fortune
@geekalerts
اول اینکه باید برای اخراج فرد دلیل موجه داشته باشه، مثلا عملکرد ضعیف فرد یا سوء رفتار و مشکلات مالی شرکت برای تعدیل میتونن از این دلایل باشن.
دوم رعایت انصاف هست که شامل رویههایی مثل اطلاع رسانی در مورد دلایل اخراج به فرد، برگزاری جلسات استماع و حتی ارائه فرصت برای دفاع به فرد هست.
سوم اینکه تمام حقوق فرد + پاداش پایان خدمت و حق بیمه بیکاری باید پرداخت بشه.
اما اگه شرکت اینهارو رعایت نکنه چی میشه؟ خب اینجا یک کیس واقعی از این موضوع داریم.
ماجرا اینه که گری رونی ۲۰۱۳ به استخدام توییتر در میاد، بعد ۲۰۲۲ که ایلان ماسک توییتر رو میخره به همه کارمندها یک ایمیل میزنه و میگه هرکسی میتونه از این پس با «شدت بالا» کار کنه توی توییتر میمونه و در صورت عدم پذیرش، این معادل استعفا هست.
برای این هم به کل کارمندهای توییتر ۱ روز فرصت داده شده تا گزینه «بله» رو بزنن.
رونی یکی از کسایی بود که این گزینه رو نمیزنه و طبیعتا از توییتر اخراج میشه.
الان کمیسیون روابط کاری ایرلند توییتر «اکس جدید» رو محکوم کرده و گفته این گزینه «بله» نزدن به معنی استعفا نیست و توییتر بدون دلیل این فرد رو اخراج کرده، این روش اخراج هم با ارتباطات ناسازگار، متناقض و گیجکننده بوده.
نهایتا توییتر رو به پرداخت ۶۰۰ هزار دلار جریمه میکنن.
fortune
@geekalerts
Forwarded from کانال اطلاعرسانی توزیع پارچ (Sohrab)
This media is not supported in your browser
VIEW IN TELEGRAM
با پارچ پروفایلر، دیگه زمان زیادی رو صرف کانفیگ سیستمتون نکنید!
فقط کافیه آدرس فایل Toml که از قبل آماده کردید رو به برنامه بدید، یک لیوان قهوه آماده کنید و منتظر بمونید تا بستهها و کانفیگ هارو انجام بده :)))
در حال حاضر، صرفاً فقط نصب کانفیگ نئوویم رو داخلش پیادهسازی کردیم، به زودی سایر بستهها و همینطور سایر کانفیگ هارو داخلش میذاریم.
صد البته، برنامه روی گیت پارچ قرار میگیره و میتونید روش مشارکت کنید.
در حال حاضر از عملیاتهای زیر پشتیبانی میکنه:
- نصب بسته از aur
- نصب بسته از مخازن
- نصب بسته از فلتهاب
- نصب کانفیگ نئوویم
- فعال کردن سرویسهای سیستمدی
@ParchLinux
فقط کافیه آدرس فایل Toml که از قبل آماده کردید رو به برنامه بدید، یک لیوان قهوه آماده کنید و منتظر بمونید تا بستهها و کانفیگ هارو انجام بده :)))
در حال حاضر، صرفاً فقط نصب کانفیگ نئوویم رو داخلش پیادهسازی کردیم، به زودی سایر بستهها و همینطور سایر کانفیگ هارو داخلش میذاریم.
صد البته، برنامه روی گیت پارچ قرار میگیره و میتونید روش مشارکت کنید.
در حال حاضر از عملیاتهای زیر پشتیبانی میکنه:
- نصب بسته از aur
- نصب بسته از مخازن
- نصب بسته از فلتهاب
- نصب کانفیگ نئوویم
- فعال کردن سرویسهای سیستمدی
@ParchLinux
Forwarded from کانال اطلاعرسانی توزیع پارچ (Sohrab)
This media is not supported in your browser
VIEW IN TELEGRAM
با پارچ پروفایلر، دیگه زمان زیادی رو صرف کانفیگ سیستمتون نکنید!
فقط کافیه آدرس فایل Toml که از قبل آماده کردید رو به برنامه بدید، یک لیوان قهوه آماده کنید و منتظر بمونید تا بستهها و کانفیگ هارو انجام بده :)))
در حال حاضر، صرفاً فقط نصب کانفیگ نئوویم رو داخلش پیادهسازی کردیم، به زودی سایر بستهها و همینطور سایر کانفیگ هارو داخلش میذاریم.
صد البته، برنامه روی گیت پارچ قرار میگیره و میتونید روش مشارکت کنید.
در حال حاضر از عملیاتهای زیر پشتیبانی میکنه:
- نصب بسته از aur
- نصب بسته از مخازن
- نصب بسته از فلتهاب
- نصب کانفیگ نئوویم
- فعال کردن سرویسهای سیستمدی
@ParchLinux
فقط کافیه آدرس فایل Toml که از قبل آماده کردید رو به برنامه بدید، یک لیوان قهوه آماده کنید و منتظر بمونید تا بستهها و کانفیگ هارو انجام بده :)))
در حال حاضر، صرفاً فقط نصب کانفیگ نئوویم رو داخلش پیادهسازی کردیم، به زودی سایر بستهها و همینطور سایر کانفیگ هارو داخلش میذاریم.
صد البته، برنامه روی گیت پارچ قرار میگیره و میتونید روش مشارکت کنید.
در حال حاضر از عملیاتهای زیر پشتیبانی میکنه:
- نصب بسته از aur
- نصب بسته از مخازن
- نصب بسته از فلتهاب
- نصب کانفیگ نئوویم
- فعال کردن سرویسهای سیستمدی
@ParchLinux
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