Forwarded from linuxtnt(linux tips and tricks) (hosein seilany https://seilany.ir/)
⭐️برنامه LibreOffice 24.8: ویژگیهای جدید و بهبودها
برنامه LibreOffice 24.8 با بهبودهای قابل توجهی ارائه شده است. این نسخه جدید شامل یک ویژگی حریم خصوصی، بهبودهای ویرایشگر، بهبودهای محاسباتی، بهبودهای ارائه، و سایر تغییرات و بهبودها است.
🔹حریم خصوصی: امکان حذف اطلاعات شخصی مانند نام نویسنده، زمانبندی، نام چاپگر، مدت ویرایش و تنظیمات هنگام ذخیره پیشنویس.
🔹ویرایشگر: یک "پنل جستجو" جدید در نوار کناری برای مشاهده آسان جستجوهای سریع، رندر بهتر متن در سیستمهای نوشتاری CJK با جایگزین فونت ، رفع یک مشکل در موقعیتیابی شکل در وارداکردن فایل DOCX برای پاراگرافهای RTL.
🔹محاسبات: پشتیبانی جدید برای وارد کردن/صادر کردن قالب جدول OOXML، محلیسازی بهتر نوار وضعیت، امکان حذف نظرات با استفاده از منوی کلیک راست، توابع جدید مانند LET، XLOOKUP و XMATCH، عملکرد محاسبه بهتر با ترد و گزینههای انعطافپذیرتر برای عملگرهای مقایسه.
🔹ارائه: یک "پنل یادداشتها" جدید برای یادداشتها، که هنگام فعال شدن، یک پنل قابل جمع شدن درست زیر اسلاید نمایش میدهد. باز کردن فایلهای PPTX با شکلهای سنگین سفارشی اکنون سریعتر است.
🔹انواع نمودار جدید: "Pie-of-Pie" و "Bar-of-Pie".
🔹یک بسته رسمی برای رایانههای ویندوز مبتنی بر ARM.
🔹پشتیبانی برای اضافه کردن الگوهای تایلینگ در فایلهای PDF وارد شده در Draw.
🔹معرفی رمزگذاری ODF مبتنی بر رمز عبور با کارایی بالا.
🔹انتخاب کلمات چینی و ژاپنی در Math اکنون بر اساس قوانین ICU است.
🔹پایداری و عملکرد: نسخه 24.8 بر روی افزایش پایداری و بهبود عملکرد کلی برنامه تمرکز کرده است. بسیاری از باگها برطرف شدهاند و سرعت پاسخگویی برنامه افزایش یافته است.
🔹سازگاری: سازگاری با فرمتهای مختلف فایل، به ویژه فرمتهای مایکروسافت آفیس، بهبود یافته است. این بدان معناست که شما میتوانید به راحتی فایلهای خود را بین LibreOffice و سایر برنامههای آفیس مبادله کنید.
🔹دسترسیپذیری: LibreOffice 24.8 به بهبود دسترسی برای کاربران دارای معلولیت کمک کرده است. این شامل بهبودهای در رابط کاربری، پشتیبانی از فناوریهای کمکی و تطبیق با استانداردهای دسترسی است.
🔹بومیسازی: جامعه گسترده LibreOffice به ترجمه و بومیسازی برنامه کمک کرده است. در نتیجه، LibreOffice 24.8 در بسیاری از زبانها در دسترس است و تجربه کاربری را برای کاربران در سراسر جهان بهبود میبخشد.
🔹پشتیبانی از سیستمهای عامل: LibreOffice 24.8 از طیف گستردهای از سیستم عاملها، از جمله ویندوز، لینوکس و macOS پشتیبانی میکند.
نویسنده: حسین سیلانی
منبع : کانال لینوکسی: لینوکس تی ان تی
linuxtnt
http://seilany.ir
——————————————————
⭐️حمایت از کانال
https://zarinp.al/learninghive.ir
https://daramet.com/hossein_seilani
برنامه LibreOffice 24.8 با بهبودهای قابل توجهی ارائه شده است. این نسخه جدید شامل یک ویژگی حریم خصوصی، بهبودهای ویرایشگر، بهبودهای محاسباتی، بهبودهای ارائه، و سایر تغییرات و بهبودها است.
🔹حریم خصوصی: امکان حذف اطلاعات شخصی مانند نام نویسنده، زمانبندی، نام چاپگر، مدت ویرایش و تنظیمات هنگام ذخیره پیشنویس.
🔹ویرایشگر: یک "پنل جستجو" جدید در نوار کناری برای مشاهده آسان جستجوهای سریع، رندر بهتر متن در سیستمهای نوشتاری CJK با جایگزین فونت ، رفع یک مشکل در موقعیتیابی شکل در وارداکردن فایل DOCX برای پاراگرافهای RTL.
🔹محاسبات: پشتیبانی جدید برای وارد کردن/صادر کردن قالب جدول OOXML، محلیسازی بهتر نوار وضعیت، امکان حذف نظرات با استفاده از منوی کلیک راست، توابع جدید مانند LET، XLOOKUP و XMATCH، عملکرد محاسبه بهتر با ترد و گزینههای انعطافپذیرتر برای عملگرهای مقایسه.
🔹ارائه: یک "پنل یادداشتها" جدید برای یادداشتها، که هنگام فعال شدن، یک پنل قابل جمع شدن درست زیر اسلاید نمایش میدهد. باز کردن فایلهای PPTX با شکلهای سنگین سفارشی اکنون سریعتر است.
🔹انواع نمودار جدید: "Pie-of-Pie" و "Bar-of-Pie".
🔹یک بسته رسمی برای رایانههای ویندوز مبتنی بر ARM.
🔹پشتیبانی برای اضافه کردن الگوهای تایلینگ در فایلهای PDF وارد شده در Draw.
🔹معرفی رمزگذاری ODF مبتنی بر رمز عبور با کارایی بالا.
🔹انتخاب کلمات چینی و ژاپنی در Math اکنون بر اساس قوانین ICU است.
🔹پایداری و عملکرد: نسخه 24.8 بر روی افزایش پایداری و بهبود عملکرد کلی برنامه تمرکز کرده است. بسیاری از باگها برطرف شدهاند و سرعت پاسخگویی برنامه افزایش یافته است.
🔹سازگاری: سازگاری با فرمتهای مختلف فایل، به ویژه فرمتهای مایکروسافت آفیس، بهبود یافته است. این بدان معناست که شما میتوانید به راحتی فایلهای خود را بین LibreOffice و سایر برنامههای آفیس مبادله کنید.
🔹دسترسیپذیری: LibreOffice 24.8 به بهبود دسترسی برای کاربران دارای معلولیت کمک کرده است. این شامل بهبودهای در رابط کاربری، پشتیبانی از فناوریهای کمکی و تطبیق با استانداردهای دسترسی است.
🔹بومیسازی: جامعه گسترده LibreOffice به ترجمه و بومیسازی برنامه کمک کرده است. در نتیجه، LibreOffice 24.8 در بسیاری از زبانها در دسترس است و تجربه کاربری را برای کاربران در سراسر جهان بهبود میبخشد.
🔹پشتیبانی از سیستمهای عامل: LibreOffice 24.8 از طیف گستردهای از سیستم عاملها، از جمله ویندوز، لینوکس و macOS پشتیبانی میکند.
نویسنده: حسین سیلانی
منبع : کانال لینوکسی: لینوکس تی ان تی
linuxtnt
http://seilany.ir
——————————————————
⭐️حمایت از کانال
https://zarinp.al/learninghive.ir
https://daramet.com/hossein_seilani
seilany.ir
حسین سیلانی - وب سایت شخصی
این وب سایت شخصی حسین سیلانی است.فعال در زمینه لینوکس و متن باز.بسیاری از آموزشهای شامل:کتابها،فیلم ها،پست های آموزشی، همچنین توزیع های لینوکسی ایجاد شده را در این وب سایت قرار داده ام، تا دسترسی سریع به همه موارد را داشته باشید
Forwarded from Code Module | کد ماژول (genix)
Array indexing چیست؟🚀
Array indexing تکنیکیه که برای دسترسی به المنت ها در یک آرایه بر اساس موقعیت یا ایندکس اونها استفاده میشه. همونطور که میدونید هر المنت در یک آرایه با ایندکس خود مشخص میشه که نشون دهنده موقعیت اون نسبت به المنت اول هست. ایندکسینگ امکان دسترسی موثر و مستقیم به هر المنت در آرایه رو فراهم میکنه که برای کارهای محاسباتی مختلف ضروری هست. به عنوان مثال یک آرایه یک بعدی رو در نظر بگیرید:
در این آرایه 5 عنصر وجود داره که در مکان های حافظه به هم پیوسته ذخیره میشن. ایندکس المنت اول 0، المنت دوم 1 و... هست. و همونطور که میدونید برای دسترسی مثلا به المنت سوم آرایه باید اینکار رو انجام بدیم:
از اونجا که ایندکسینگ از صفر شروع میشه در واقع ایندکس دوم به المنت سوم اشاره داره. اما میدونستید میشه هر کدوم از این هارو محاسبه کرد؟
موقعیت هر المنت در یک آرایه یک بعدی رو میشه با استفاده از یک فرمول ساده محاسبه کرد. این فرمول آدرس پایه آرایه، ایندکس المنت و اندازه هر المنت در حافظه رو محاسبه میکنه( توجه داشته باشید فقط برای آرایه های یک بعدی جوابه)
به عنوان مثال، اگر آدرس پایه آرایهA هزار باشه و هر عدد صحیح 4 بایت حافظه اشغال کنه، آدرس المنت در ایندکس دوم میشه:
بنابراین، المنت در ایندکس 2 در حافظه به آدرس 1008 ذخیره میشه.
محاسبه آدرس المنت چند بعدی⬇️
اما این ها برای آرایه های یک بعدی بود و برای آرایه های چند بعدی مساعل پیچیده تر میشه، چون باید چندین ایندکس رو در نظر بگیرید. با این حال، فرآیند رو میشه به صورت انتراعی توضیح داد. به عنوان مثال فرمول کلی ما در آرایه های یک بعدی اینه: ( فرمول بالایی هم هست اما این جامع تره)
به صورت خلاصه معنی این فرمول یعنی این:
- B: آدرس پایه آرایه است.
- W: اندازه هر المنت در بایت.
- i: ایندکس المنت.
- L_B(lower bound): به کوچکترین یا مقدار ایندکس اولیه ای که المنت آرایه از اون ایندکس شروع میشه اشاره داره. ( به صورت دیفالت 0 هست که در نظر گرفته نمیشه)
#array
@CodeModule
Array indexing تکنیکیه که برای دسترسی به المنت ها در یک آرایه بر اساس موقعیت یا ایندکس اونها استفاده میشه. همونطور که میدونید هر المنت در یک آرایه با ایندکس خود مشخص میشه که نشون دهنده موقعیت اون نسبت به المنت اول هست. ایندکسینگ امکان دسترسی موثر و مستقیم به هر المنت در آرایه رو فراهم میکنه که برای کارهای محاسباتی مختلف ضروری هست. به عنوان مثال یک آرایه یک بعدی رو در نظر بگیرید:
int A[5] ={10, 20, 30, 40, 50}در این آرایه 5 عنصر وجود داره که در مکان های حافظه به هم پیوسته ذخیره میشن. ایندکس المنت اول 0، المنت دوم 1 و... هست. و همونطور که میدونید برای دسترسی مثلا به المنت سوم آرایه باید اینکار رو انجام بدیم:
A[2] = 30;
از اونجا که ایندکسینگ از صفر شروع میشه در واقع ایندکس دوم به المنت سوم اشاره داره. اما میدونستید میشه هر کدوم از این هارو محاسبه کرد؟
موقعیت هر المنت در یک آرایه یک بعدی رو میشه با استفاده از یک فرمول ساده محاسبه کرد. این فرمول آدرس پایه آرایه، ایندکس المنت و اندازه هر المنت در حافظه رو محاسبه میکنه( توجه داشته باشید فقط برای آرایه های یک بعدی جوابه)
Address of A[i] = Base Address + (i * Size of each element)
به عنوان مثال، اگر آدرس پایه آرایهA هزار باشه و هر عدد صحیح 4 بایت حافظه اشغال کنه، آدرس المنت در ایندکس دوم میشه:
Address of A[2] = 1000 + (2 * 4) = 1008
بنابراین، المنت در ایندکس 2 در حافظه به آدرس 1008 ذخیره میشه.
محاسبه آدرس المنت چند بعدی
اما این ها برای آرایه های یک بعدی بود و برای آرایه های چند بعدی مساعل پیچیده تر میشه، چون باید چندین ایندکس رو در نظر بگیرید. با این حال، فرآیند رو میشه به صورت انتراعی توضیح داد. به عنوان مثال فرمول کلی ما در آرایه های یک بعدی اینه: ( فرمول بالایی هم هست اما این جامع تره)
Address of A[i] = B + W * (i - L_B)
به صورت خلاصه معنی این فرمول یعنی این:
- B: آدرس پایه آرایه است.
- W: اندازه هر المنت در بایت.
- i: ایندکس المنت.
- L_B(lower bound): به کوچکترین یا مقدار ایندکس اولیه ای که المنت آرایه از اون ایندکس شروع میشه اشاره داره. ( به صورت دیفالت 0 هست که در نظر گرفته نمیشه)
برای اینکه پست زیادی طولانی نشه، ادامه مطالب رو در تلگراف برای شما عزیزان آماده کردیم🙂
#array
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Sudoer (Morteza Bashsiz)
درود بر همه شما دوستان عزیز
ویدیو آشنایی با NipoVPN رو رکورد کردم گذاشتم یوتیوب
توش یه توضیح مختصری از کاری که میکنه دادم و همینطور یه تستی ازش گرفتم و اینکه مشکلاتی که داره رو هم توضیح دادم
دیگه همراهی کنید کمک کنید تا مشارکت انجام بشه و کاملتر بشه
سپاس از همراهی شما
https://youtu.be/slAaPVnckE0
ویدیو آشنایی با NipoVPN رو رکورد کردم گذاشتم یوتیوب
توش یه توضیح مختصری از کاری که میکنه دادم و همینطور یه تستی ازش گرفتم و اینکه مشکلاتی که داره رو هم توضیح دادم
دیگه همراهی کنید کمک کنید تا مشارکت انجام بشه و کاملتر بشه
سپاس از همراهی شما
https://youtu.be/slAaPVnckE0
YouTube
آشنایی با برنامه
توی این ویدیو تلاش کردم که یک توضیحات کلی در مورد کارکرد این برنامه بدم که چطوری کار میکنه و چالشهایی که داشتم رو توضیح دادم
آدرس ریپوزیتوری
https://github.com/MortezaBashsiz/nipovpn
آدرس ریپوزیتوری
https://github.com/MortezaBashsiz/nipovpn
Forwarded from Gopher Academy
🔵 عنوان مقاله
Valgo 0.3: An Expressive Validator Library
🟢 خلاصه مقاله:
مقالهای که مورد بررسی قرار گرفته به معرفی کتابخانهای جدید برای اعتبارسنجی دادهها به نام "Valgo" پرداخته است. تمرکز اصلی این کتابخانه بر تایپسیف (امنیت نوع) و قابلیت توسعه با استفاده از جنریکها است. این کتابخانه با سایر کتابخانههای اعتبارسنجی تفاوتهای چشمگیری دارد، به ویژه در نحوه اعمال قوانین اعتبارسنجی. در "Valgo"، قوانین به جای استفاده از تگهای ساختار، به صورت توابع نوشته میشوند که این امر امکان سازگاری و انعطافپذیری بیشتری در چگونگی و مکان اعتبارسنجی دادهها را فراهم میآورد. این تغییر نه تنها افزایش کنترل بر روی پروسه اعتبارسنجی را به دنبال دارد بلکه امکان سفارشیسازی بیشتری را برای توسعهدهندگان ایجاد میکند تا بتوانند با توجه به نیازهای خاص پروژه خود، بهترین استفاده را از این کتابخانه ببرند.
🟣لینک مقاله:
https://github.com/cohesivestack/valgo
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Valgo 0.3: An Expressive Validator Library
🟢 خلاصه مقاله:
مقالهای که مورد بررسی قرار گرفته به معرفی کتابخانهای جدید برای اعتبارسنجی دادهها به نام "Valgo" پرداخته است. تمرکز اصلی این کتابخانه بر تایپسیف (امنیت نوع) و قابلیت توسعه با استفاده از جنریکها است. این کتابخانه با سایر کتابخانههای اعتبارسنجی تفاوتهای چشمگیری دارد، به ویژه در نحوه اعمال قوانین اعتبارسنجی. در "Valgo"، قوانین به جای استفاده از تگهای ساختار، به صورت توابع نوشته میشوند که این امر امکان سازگاری و انعطافپذیری بیشتری در چگونگی و مکان اعتبارسنجی دادهها را فراهم میآورد. این تغییر نه تنها افزایش کنترل بر روی پروسه اعتبارسنجی را به دنبال دارد بلکه امکان سفارشیسازی بیشتری را برای توسعهدهندگان ایجاد میکند تا بتوانند با توجه به نیازهای خاص پروژه خود، بهترین استفاده را از این کتابخانه ببرند.
🟣لینک مقاله:
https://github.com/cohesivestack/valgo
➖➖➖➖➖➖➖➖
👑 @gopher_academy
GitHub
GitHub - cohesivestack/valgo: Valgo is a type-safe, expressive, and extensible validator library for Golang. Supports localization…
Valgo is a type-safe, expressive, and extensible validator library for Golang. Supports localization and is built with generics. - cohesivestack/valgo
Forwarded from Syntax | سینتکس (Daimon)
تو چند دقیقه نحوه کار با Redis Pub/Sub رو تو پایتون یاد بگیر
Pub/Sub
(انتشار/اشتراک) یک الگوی معماری است که به برنامهها اجازه میدهد تا به صورت غیرمستقیم با یکدیگر ارتباط برقرار کنند. در این الگو، تولیدکنندگان اطلاعات (Publisher) پیامها را منتشر میکنند و مصرفکنندگان (Subscriber) به موضوعات (Topics) خاصی که به آنها علاقهمند هستند، اشتراک میگذارند. این سیستم اجازه میدهد تا بدون نیاز به وابستگی مستقیم با یکدیگر، اطلاعات را تبادل کنند.
مزایای Pub/Sub
- کاهش وابستگیها: تولیدکنندگان و مصرفکنندگان نیازی به شناخت یکدیگر ندارند.
- مقیاسپذیری: میتوان به سادگی مصرفکنندگان و تولیدکنندگان جدیدی اضافه کرد.
- توزیعپذیری: میتوان سیستمها را به صورت توزیعشده پیادهسازی کرد.
مثال ساده با Redis Pub/Sub
در این مثال، از Redis به عنوان سیستم Pub/Sub استفاده خواهیم کرد. ابتدا باید Redis را نصب و راهاندازی کنید.
نصب Redis
تو ریپازیتوری ای که لینکشو آخر پست میذارم، سرویس ردیس رو توی docker-compose.yml مشخص کردم و روی داکر اجراش میکنیم.
همچنین داخل فایل .env تنظیمات ردیس رو میتونید مشخص کنید.
پیادهسازی در پایتون
برای این کار به کتابخانه
در این مثال، یک Publisher و یک Subscriber خواهیم داشت.
Publisher (server.py):
در قدم اول کانکشن با ردیس رو می سازیم.
با متد ping میتونیم چک کنیم وضعیت کانگشنمون اوکی هست یا نه(جنبه آموزشی نوشتمش)
بعد مشخص کردیم که topic ما اسمش چیه.
دیتایی که قراره داخل payload مسیج قرار بدیم رو مشخص کردیم که بصورت دیکشنری هستش و بعدش اومدیم به json تبدیلش کردیم و مسیح رو پابلیش کردیم.
Subscriber (client.py):
در قدم اول یک کانکشن ردیس گرفتیم. بعد تاپیکی که subscribe میکنیمش رو مشخص کردیم(میتونیم چندین تا تاپیک رو سابسکرایب کنیم)
در قدم بعدی داخل یک long running میایم به مسیج های جدیدی که میاد گوش میدیم و یک switch case زدیم و براساس تاپیک ها میتونیم کارهای خاص خودش رو انجام بدیم.
نحوه اجرا
1. در یک ترمینال،
2. در یک ترمینال دیگه server.py رو اجرا کنید که با هربار اجرا یک مسیج رو پابلیش میکنه.
سورس کد:
https://github.com/alireza-fa/redis-pub-sub-example
#redis_pub_sub #pub_sub #event_driven #python
@Syntax_fa
Pub/Sub
(انتشار/اشتراک) یک الگوی معماری است که به برنامهها اجازه میدهد تا به صورت غیرمستقیم با یکدیگر ارتباط برقرار کنند. در این الگو، تولیدکنندگان اطلاعات (Publisher) پیامها را منتشر میکنند و مصرفکنندگان (Subscriber) به موضوعات (Topics) خاصی که به آنها علاقهمند هستند، اشتراک میگذارند. این سیستم اجازه میدهد تا بدون نیاز به وابستگی مستقیم با یکدیگر، اطلاعات را تبادل کنند.
مزایای Pub/Sub
- کاهش وابستگیها: تولیدکنندگان و مصرفکنندگان نیازی به شناخت یکدیگر ندارند.
- مقیاسپذیری: میتوان به سادگی مصرفکنندگان و تولیدکنندگان جدیدی اضافه کرد.
- توزیعپذیری: میتوان سیستمها را به صورت توزیعشده پیادهسازی کرد.
مثال ساده با Redis Pub/Sub
در این مثال، از Redis به عنوان سیستم Pub/Sub استفاده خواهیم کرد. ابتدا باید Redis را نصب و راهاندازی کنید.
نصب Redis
تو ریپازیتوری ای که لینکشو آخر پست میذارم، سرویس ردیس رو توی docker-compose.yml مشخص کردم و روی داکر اجراش میکنیم.
همچنین داخل فایل .env تنظیمات ردیس رو میتونید مشخص کنید.
docker-compose up -d
پیادهسازی در پایتون
برای این کار به کتابخانه
redis نیاز داریم. میتوانید آن را با pip نصب کنید:pip install redis
در این مثال، یک Publisher و یک Subscriber خواهیم داشت.
Publisher (server.py):
import json
from redis import StrictRedis
server = StrictRedis(host="localhost", port=6399, password="redis_password", db=0)
# redis ping
print(server.ping())
topic = "example_topic"
data = {
"name": "alireza",
"age": 22,
}
server.publish(channel=topic, message=json.dumps(data))
در قدم اول کانکشن با ردیس رو می سازیم.
با متد ping میتونیم چک کنیم وضعیت کانگشنمون اوکی هست یا نه(جنبه آموزشی نوشتمش)
بعد مشخص کردیم که topic ما اسمش چیه.
دیتایی که قراره داخل payload مسیج قرار بدیم رو مشخص کردیم که بصورت دیکشنری هستش و بعدش اومدیم به json تبدیلش کردیم و مسیح رو پابلیش کردیم.
Subscriber (client.py):
import json
from redis import StrictRedis
client = StrictRedis(host="localhost", port=6399, password="redis_password", db=0)
topic = "example_topic"
pubsub = client.pubsub()
pubsub.subscribe(topic)
print("waiting for message...")
while True:
for message in pubsub.listen():
if message["data"] == 1:
continue
match message["type"]:
case topic:
# TODO - change serialization. json is not good
data = json.loads(message["data"])
print("received message", data["name"], data["age"])
در قدم اول یک کانکشن ردیس گرفتیم. بعد تاپیکی که subscribe میکنیمش رو مشخص کردیم(میتونیم چندین تا تاپیک رو سابسکرایب کنیم)
در قدم بعدی داخل یک long running میایم به مسیج های جدیدی که میاد گوش میدیم و یک switch case زدیم و براساس تاپیک ها میتونیم کارهای خاص خودش رو انجام بدیم.
نحوه اجرا
1. در یک ترمینال،
client.py را اجرا کنید2. در یک ترمینال دیگه server.py رو اجرا کنید که با هربار اجرا یک مسیج رو پابلیش میکنه.
سورس کد:
https://github.com/alireza-fa/redis-pub-sub-example
#redis_pub_sub #pub_sub #event_driven #python
@Syntax_fa
Forwarded from LearnPOV | لرن پی او وی (Mohammad hossein)
میدونین Headless Cms چیه و چیکار میکنه ؟؟؟
Forwarded from Gopher Academy
درود دوستان اپدیت جدید تلگرام(البته خیلی وقت پیش) که ری اکشن جدیدی به نام استارز فعال شده که با زدن اون میتونید به چنل هایی که دوست دارید استارز هدیه بدین و ازشون حمایت کنید.
استارز هایی که شما اهدا میکنید به موجودی چنل ها اضافه میشه و قابلیت برداشتش برای ادمین ها فراهم میشه
این استارز رو ما اضافه کردیم توی reaction های چنل
⭐
➖➖➖➖➖➖➖➖
👑 @gopher_job
استارز هایی که شما اهدا میکنید به موجودی چنل ها اضافه میشه و قابلیت برداشتش برای ادمین ها فراهم میشه
این استارز رو ما اضافه کردیم توی reaction های چنل
⭐
➖➖➖➖➖➖➖➖
👑 @gopher_job
Forwarded from Laravel News
LCS #5 - Patricio: Mingle JS, PHP WASM, VoxPop https://laravel-news.com/lcs-patricio
Laravel News
LCS #5 - Patricio: Mingle JS, PHP WASM, VoxPop - Laravel News
PatricioOnCode joins us to talk about Mingle JS which allows you to mix React and Vue components in Livewire.
Forwarded from کداکسپلور | CodeExplore (Koorosh)
Forwarded from linuxtnt(linux tips and tricks) (hosein seilany https://seilany.ir/)
⭐️بهبودهای در حال انجام برای مدیریت بسته APT در توزیع دبیان
مدیر بستهAPT که مخفف "Advanced Package Tool" است، یکی از رایج ترین مدیران بسته در بین توزیع های مبتنی بر دبیان مانند اوبونتو است. از زمان معرفی آن در سال ۱۹۹۸، APT با وصلههای مداوم برای همگام شدن با دنیای در حال تحول توزیعهای لینوکسی، بهتر شده است.
🔹برنامه APT 2.9.3 و Solver3: گامی رو به جلو در مدیریت بستهها
نسخه اخیر APT، یعنی 2.9.3، با معرفی یک حلکننده وابستگی آزمایشی به نام Solver3، پیشرفت قابل توجهی در مدیریت بستهها برای سیستمهای مبتنی بر دبیان ایجاد کرده است. این حلکننده نوآورانه قصد دارد روش حل وابستگیها را متحول کند و بهبودهای بالقوهای در عملکرد و قابلیت اطمینان ارائه دهد.
🔹الگورینم Solver3 یک الگوریتم حل وابستگی برای APT است که با یک مجموعه خالی از بستهها شروع میشود، به تدریج هر بسته نصبشده به صورت دستی را اضافه میکند و سپس به طور خودکار هر بسته مفقود شده را برای حل وابستگیها نصب میکند.
🔹در حال حاضر، انتشار آزمایشی به عنوان مشارکت اختیاری برای نسخه بعدی دبیان ۱۳ با نام رمز "Trixie" برنامهریزی شده است که گفته میشود در حدود فوریه ۲۰۲۵ عرضه میشود.
اگر همه چیز طبق برنامه با نسخه بتا پیش برود، نسخه بعدی دبیان ۱۴ با نام رمز "Forky" نامزد اصلی برای پیش فرض شدن Solver3 است.
نویسنده: حسین سیلانی
منبع : کانال لینوکسی: لینوکس تی ان تی
linuxtnt
http://seilany.ir
——————————————————
⭐️حمایت از کانال
https://zarinp.al/learninghive.ir
https://daramet.com/hossein_seilani
مدیر بستهAPT که مخفف "Advanced Package Tool" است، یکی از رایج ترین مدیران بسته در بین توزیع های مبتنی بر دبیان مانند اوبونتو است. از زمان معرفی آن در سال ۱۹۹۸، APT با وصلههای مداوم برای همگام شدن با دنیای در حال تحول توزیعهای لینوکسی، بهتر شده است.
🔹برنامه APT 2.9.3 و Solver3: گامی رو به جلو در مدیریت بستهها
نسخه اخیر APT، یعنی 2.9.3، با معرفی یک حلکننده وابستگی آزمایشی به نام Solver3، پیشرفت قابل توجهی در مدیریت بستهها برای سیستمهای مبتنی بر دبیان ایجاد کرده است. این حلکننده نوآورانه قصد دارد روش حل وابستگیها را متحول کند و بهبودهای بالقوهای در عملکرد و قابلیت اطمینان ارائه دهد.
🔹الگورینم Solver3 یک الگوریتم حل وابستگی برای APT است که با یک مجموعه خالی از بستهها شروع میشود، به تدریج هر بسته نصبشده به صورت دستی را اضافه میکند و سپس به طور خودکار هر بسته مفقود شده را برای حل وابستگیها نصب میکند.
🔹در حال حاضر، انتشار آزمایشی به عنوان مشارکت اختیاری برای نسخه بعدی دبیان ۱۳ با نام رمز "Trixie" برنامهریزی شده است که گفته میشود در حدود فوریه ۲۰۲۵ عرضه میشود.
اگر همه چیز طبق برنامه با نسخه بتا پیش برود، نسخه بعدی دبیان ۱۴ با نام رمز "Forky" نامزد اصلی برای پیش فرض شدن Solver3 است.
نویسنده: حسین سیلانی
منبع : کانال لینوکسی: لینوکس تی ان تی
linuxtnt
http://seilany.ir
——————————————————
⭐️حمایت از کانال
https://zarinp.al/learninghive.ir
https://daramet.com/hossein_seilani
seilany.ir
حسین سیلانی - وب سایت شخصی
این وب سایت شخصی حسین سیلانی است.فعال در زمینه لینوکس و متن باز.بسیاری از آموزشهای شامل:کتابها،فیلم ها،پست های آموزشی، همچنین توزیع های لینوکسی ایجاد شده را در این وب سایت قرار داده ام، تا دسترسی سریع به همه موارد را داشته باشید
Forwarded from Spark | اسپارک
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from linuxtnt(linux tips and tricks) (hosein seilany https://seilany.ir/)
⭐️ اولین دوره سمینارهای اسپارک با حمایت مرکز کارآفرینی دانشگاه صنعتی شریف
🔹 همراه با حضور ١٢ شرکت مطرح تکنولوژی و برگزاری در تاریخ ٨ و ٩ شهریور به صورت مجازی
🔹 فرصت استثناییِ بهرهمندی از تجارب مهندسین شرکتهای دیوار 🔖، بازار🔖، ترب 🔖، یکتانت🔖، همروش🔖، تپسل🔖، جاباما 🔖، تبدیل 🔖، رمزینکس🔖، گپیفای🔖، زرینپال🔖و اسمارتک🔖
🔹امکان حضور در ١٢ ارائه و دو میزگرد همراه با گواهی رسمی حضور از طرف مرکز کارآفرینی شریف، ارسال رزومه برای تمامی حامیان و فرصت استخدام در شرکتها تنها با پرداخت ١٠٠ هزار تومان .هدف اصلی این سمینار آشنا کردن دانشجوها با فاز صنعتی مشاغل کامپیوتری و چالشهای اون هست
🔹 فرصت رو از دست نده و همین حالا ثبتنام کن:
🔗 ce-spark.com
👤 در صورت وجود هرگونه سوال، با اکانت پشتیبانی به آدرس @CE_Spark_Support در ارتباط باشید.
⚡️ اسپارک؛ جرقهی ارتباط با صنعت
🔗 LinkedIn ◽️ 🌐 Instagram
🔗 @ce_spark◽️ ✏️ Register Now
🔹 همراه با حضور ١٢ شرکت مطرح تکنولوژی و برگزاری در تاریخ ٨ و ٩ شهریور به صورت مجازی
🔹 فرصت استثناییِ بهرهمندی از تجارب مهندسین شرکتهای دیوار 🔖، بازار🔖، ترب 🔖، یکتانت🔖، همروش🔖، تپسل🔖، جاباما 🔖، تبدیل 🔖، رمزینکس🔖، گپیفای🔖، زرینپال🔖و اسمارتک🔖
🔹امکان حضور در ١٢ ارائه و دو میزگرد همراه با گواهی رسمی حضور از طرف مرکز کارآفرینی شریف، ارسال رزومه برای تمامی حامیان و فرصت استخدام در شرکتها تنها با پرداخت ١٠٠ هزار تومان .هدف اصلی این سمینار آشنا کردن دانشجوها با فاز صنعتی مشاغل کامپیوتری و چالشهای اون هست
🔹 فرصت رو از دست نده و همین حالا ثبتنام کن:
🔗 ce-spark.com
👤 در صورت وجود هرگونه سوال، با اکانت پشتیبانی به آدرس @CE_Spark_Support در ارتباط باشید.
⚡️ اسپارک؛ جرقهی ارتباط با صنعت
🔗 LinkedIn ◽️ 🌐 Instagram
🔗 @ce_spark◽️ ✏️ Register Now
Analyzing E2E Bot
Twitter Space
x.com/i/spaces/1OdKrXdDgweJX
اسپیس توییتر با میزبانی یاشو و صحبتهای یاشا (پسر)، محمد جرجندی، صفا صفری و سایر دوستان در رابطه با ربات جدید ناشناس:
#note #news
@amiria703_channel
اسپیس توییتر با میزبانی یاشو و صحبتهای یاشا (پسر)، محمد جرجندی، صفا صفری و سایر دوستان در رابطه با ربات جدید ناشناس:
#note #news
@amiria703_channel
Forwarded from کداکسپلور | CodeExplore (تبلیغات 📢)
هرماه، تو این کانال به صورت اشتراکی، اکانت chat gpt تهیه میکنم و با دوستایی که مایل باشن، به صورت اشتراکی با هم هزینه اون اکانت رو پرداخت میکنیم
این یه فرصت خوب، برای کاهش هزینه هامون و تهیه اکانت chat gpt plus هست
از اونجایی که شرکت open ai محدودیتی تو ورود به اکانت chat gpt نگذاشته، این یه راه خیلی خوب برای کاهش هزینه هامونه😍
اگه دوست دارید تو این کامیونیتی باشید و با هزینه خیلی کم، اکانت gpt plus داشته باشید، تو اینجا منتظرتونیم👇
https://news.1rj.ru/str/+T4cO7OlORGc1Zjc0
این یه فرصت خوب، برای کاهش هزینه هامون و تهیه اکانت chat gpt plus هست
از اونجایی که شرکت open ai محدودیتی تو ورود به اکانت chat gpt نگذاشته، این یه راه خیلی خوب برای کاهش هزینه هامونه😍
اگه دوست دارید تو این کامیونیتی باشید و با هزینه خیلی کم، اکانت gpt plus داشته باشید، تو اینجا منتظرتونیم👇
https://news.1rj.ru/str/+T4cO7OlORGc1Zjc0
Forwarded from Ninja Learn | نینجا لرن (Mohammad)
〰💎 آپلود فایل توی باکت S3 در node.js 💎〰
امروز میخوام در مورد یکی از موضوعات پرکاربرد و جذاب در دنیای Node.js صحبت کنم: آپلود فایل با استفاده از باکت S3! 🎉
📦 چی هست این S3 و چرا باید ازش استفاده کنیم؟
باید بدونید S3 (Simple Storage Service) یکی از سرویسهای معروف و محبوب آمازون وب سرویس (AWS) هست که به شما اجازه میده فایلهاتون رو روی فضای ابری ذخیره کنید. 🤓 این سرویس به خاطر قابلیتهای زیادی مثل مقیاسپذیری بالا، امنیت و سرعت زیادش خیلی طرفدار داره.
فرض کن یه پروژه داری که توش کلی فایل (مثل عکس، ویدیو یا حتی فایلهای بزرگ) باید ذخیره بشه. به جای اینکه این فایلها رو روی سرور خودت نگه داری و مدام نگران فضای ذخیرهسازی باشی، میتونی از S3 استفاده کنی تا همه چیز روی فضای ابری مدیریت بشه. 🚀
🎯 حالا چطور میتونیم با Node.js فایل آپلود کنیم؟
بریم سراغ اصل مطلب! 😊 برای آپلود فایل در S3 با Node.js چند تا مرحله باید انجام بدیم:
📥 نصب پکیجهای مورد نیاز:
اول از همه باید پکیجهای aws-sdk و multer رو نصب کنیم. aws-sdk کتابخانهای هست که AWS رو به Node.js متصل میکنه و multer هم برای مدیریت فایلهای آپلودی استفاده میشه.
⚙ کانفیگ AWS:
حالا باید کلاینت AWS رو کانفیگ کنیم. برای این کار نیاز به accessKeyId و secretAccessKey دارید که باید از کنسول AWS بگیرید.
🔧 ساختن تابع آپلود:
حالا بیایم یه تابع ساده برای آپلود فایل بسازیم. این تابع فایل رو از کلاینت میگیره و به S3 آپلود میکنه:
🧾 مدیریت فایلهای آپلودی:
از multer برای گرفتن فایلها از فرم استفاده میکنیم. به این شکل که فایلها به عنوان buffer به تابع uploadFile پاس داده میشن:
توی این کد، وقتی کاربر فایلی رو آپلود میکنه، ما از طریق multer اون فایل رو میگیریم و با استفاده از aws-sdk اونو به S3 ارسال میکنیم.
💡 نکات اضافی و پیشنهادها
🛡 ایمنسازی: حواستون باشه که accessKeyId و secretAccessKey رو توی کد قرار ندید. به جای اونها از متغیرهای محیطی (environment variables) استفاده کنید.
📟 استفاده از presigned URLs: اگه میخواید کاربر مستقیماً از کلاینت خودش فایل رو آپلود کنه، میتونید از presigned URLs استفاده کنید که امنیت و عملکرد بهتری داره.
🔬 مانیتورینگ و مدیریت فایلها: با استفاده از امکاناتی مثل CloudWatch یا S3 Events میتونید عملیاتهای مختلف روی فایلها رو مانیتور کنید.
امیدوارم این آموزش به دردتون بخوره و بتونید به راحتی فایلهاتون رو با Node.js توی S3 آپلود کنید.
امید وارم براتون مفید بوده باشه :) ❤️
#node.js #s3 #aws #clound_storage
@ninja_learn_ir
امروز میخوام در مورد یکی از موضوعات پرکاربرد و جذاب در دنیای Node.js صحبت کنم: آپلود فایل با استفاده از باکت S3! 🎉
📦 چی هست این S3 و چرا باید ازش استفاده کنیم؟
باید بدونید S3 (Simple Storage Service) یکی از سرویسهای معروف و محبوب آمازون وب سرویس (AWS) هست که به شما اجازه میده فایلهاتون رو روی فضای ابری ذخیره کنید. 🤓 این سرویس به خاطر قابلیتهای زیادی مثل مقیاسپذیری بالا، امنیت و سرعت زیادش خیلی طرفدار داره.
فرض کن یه پروژه داری که توش کلی فایل (مثل عکس، ویدیو یا حتی فایلهای بزرگ) باید ذخیره بشه. به جای اینکه این فایلها رو روی سرور خودت نگه داری و مدام نگران فضای ذخیرهسازی باشی، میتونی از S3 استفاده کنی تا همه چیز روی فضای ابری مدیریت بشه. 🚀
🎯 حالا چطور میتونیم با Node.js فایل آپلود کنیم؟
بریم سراغ اصل مطلب! 😊 برای آپلود فایل در S3 با Node.js چند تا مرحله باید انجام بدیم:
📥 نصب پکیجهای مورد نیاز:
اول از همه باید پکیجهای aws-sdk و multer رو نصب کنیم. aws-sdk کتابخانهای هست که AWS رو به Node.js متصل میکنه و multer هم برای مدیریت فایلهای آپلودی استفاده میشه.
npm install aws-sdk multer
⚙ کانفیگ AWS:
حالا باید کلاینت AWS رو کانفیگ کنیم. برای این کار نیاز به accessKeyId و secretAccessKey دارید که باید از کنسول AWS بگیرید.
const AWS = require('aws-sdk');
AWS.config.update({
accessKeyId: 'YOUR_ACCESS_KEY_ID',
secretAccessKey: 'YOUR_SECRET_ACCESS_KEY',
region: 'YOUR_REGION'
});
const s3 = new AWS.S3();🔧 ساختن تابع آپلود:
حالا بیایم یه تابع ساده برای آپلود فایل بسازیم. این تابع فایل رو از کلاینت میگیره و به S3 آپلود میکنه:
const uploadFile = (file) => {
const params = {
Bucket: 'YOUR_BUCKET_NAME',
Key: file.originalname,
Body: file.buffer
};
return s3.upload(params).promise();
};🧾 مدیریت فایلهای آپلودی:
از multer برای گرفتن فایلها از فرم استفاده میکنیم. به این شکل که فایلها به عنوان buffer به تابع uploadFile پاس داده میشن:
const multer = require('multer');
const upload = multer();
app.post('/upload', upload.single('file'), async (req, res) => {
try {
const result = await uploadFile(req.file);
res.send(result);
} catch (error) {
res.status(500).send(error);
}
});توی این کد، وقتی کاربر فایلی رو آپلود میکنه، ما از طریق multer اون فایل رو میگیریم و با استفاده از aws-sdk اونو به S3 ارسال میکنیم.
💡 نکات اضافی و پیشنهادها
🛡 ایمنسازی: حواستون باشه که accessKeyId و secretAccessKey رو توی کد قرار ندید. به جای اونها از متغیرهای محیطی (environment variables) استفاده کنید.
📟 استفاده از presigned URLs: اگه میخواید کاربر مستقیماً از کلاینت خودش فایل رو آپلود کنه، میتونید از presigned URLs استفاده کنید که امنیت و عملکرد بهتری داره.
🔬 مانیتورینگ و مدیریت فایلها: با استفاده از امکاناتی مثل CloudWatch یا S3 Events میتونید عملیاتهای مختلف روی فایلها رو مانیتور کنید.
امیدوارم این آموزش به دردتون بخوره و بتونید به راحتی فایلهاتون رو با Node.js توی S3 آپلود کنید.
#node.js #s3 #aws #clound_storage
Forwarded from سید فرندز / برنامه نویسی / هک و امنیت / تکنولوژی (SeYeD.Dev)
یک پروژه ربات تلگرام دارم که دیتای زیادی ذخیره نمیکنه اما مدام در حال اپدیت دیتا هستش، برای همین ترجیح میدم از ردیس استفاده کنم برای ذخیره داده هام
یک کد سمپل با gpt زدم جنریت بشه با ترکیب pydantic و redis ، چقدر ناز میشن این دوتا کنار هم، رسما انگار دیتابیس داری و اونقدر key, value بودن ردیس اذیتت نمیکنه و به صورت ساختار مند میتونی ذخیره کنی
✅ @SEYED_BAX
یک کد سمپل با gpt زدم جنریت بشه با ترکیب pydantic و redis ، چقدر ناز میشن این دوتا کنار هم، رسما انگار دیتابیس داری و اونقدر key, value بودن ردیس اذیتت نمیکنه و به صورت ساختار مند میتونی ذخیره کنی
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from کداکسپلور | CodeExplore (ᎷᎪᎻᎠᏆ)
▪️وقتی صحبت از امنیت سیستم عاملها میشه، همه دنبال اون سیستمی هستیم که بتونه جلوی هر گونه تهدید سایبری رو بگیره.
▪️حالا اگه بهت بگم که یه سیستم عامل هست که از بقیه خیلی جلوتره و حتی توسط افراد حرفهای و امنیتی توصیه میشه، چقدر کنجکاو میشی؟ اون سیستم عامل، Qubes OS نام داره.
▪️سیستم عامل Qubes OS بر پایه هسته لینوکس ساخته شده، اما خودش به عنوان یک توزیع مستقل در نظر گرفته میشود و مستقیماً از توزیع خاصی مشتق نشده و طوری طراحی شده که حتی اگه یه بخشش تحت حمله قرار بگیره، بقیه سیستم و اطلاعاتت امن بمونه. این کار رو با استفاده از تکنولوژی مجازیسازی انجام میده.
▪️یعنی هر بخش یا اپلیکیشن توی یه محیط جداگانه (VM) اجرا میشه. اینطوری، هیچ وقت نمیذاره یه مشکل کوچیک به یه فاجعه بزرگ تبدیل بشه. اگه به امنیتت اهمیت میدی، Qubes OS میتونه بهترین انتخابت باشه.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Code Module | کد ماژول (𔓙)
اگه برای تمرین و کدنویسی دنبال ui خاصی میگردید، این طرح فیگما رو به هیچ وجه از دست ندید 💀
🔵 Link
#figma
@CodeModule
#figma
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM