Forwarded from LearnPOV | لرن پی او وی (Mohammad hossein)
#golden_sentence
💎 جمله طلایی امروز 💎
🔸Any fool can write code that a computer can understand. Good programmers write code that humans can understand.Martin Fowler
هر کسی میتونه کدی بنویسه که یک کامپیوتر بتونه اون رو را اجرا کنه، اما برنامهنویسان خوب کسانی هستند که میتونن کدی بنویسند که برای انسانها هم قابل فهم باشد 🚀
- به نظرتون چجوری میتونیم به همچین کسی تبدیل بشیم ؟
Channel | Group | YouTube
Forwarded from کانال مهرداد لینوکس (Mehrdad Linux)
✅سندباکس در لینوکس
در linux وقتی میگیم Sandboxing همه میرن سمت Chroot Jail ، seccomp، Namespace ، Incus شاید کمی سخت باشه
ابزار firejail ساده،کاربردی
firejail firefox
✅ توضیحات فنی :
برنامه Firejail یک sandbox از نوع SUID که با محدود کردن محیط در حال اجرا برنامههای غیرقابل اعتماد با استفاده از namespaces لینوکس، seccomp-bpf و قابلیتهای لینوکس، ریسک های امنیت را کاهش میدهد. Firejail به یک process و همه descendants آن اجازه می دهد تا private view خود را از globally shared kernel resources ، مانند network stack، process table، جدول mount داشته باشند. Firejail می تواند یا هم SELinux یا AppArmor کار کند
✅ آموزش نصب:
در مخازن اصلی version 0.9.66 وجود دارد میتوانید با دستور
اگر نبود با ppa نسخه 0.9.72 را نصب کنید
🔥حالا بزن مثلا
⁉️ اگر در کار با Firejail سوالی داشتید در بخش کامنت ها بپرسید با هم برسی کنیم 😎
#linux
در linux وقتی میگیم Sandboxing همه میرن سمت Chroot Jail ، seccomp، Namespace ، Incus شاید کمی سخت باشه
ابزار firejail ساده،کاربردی
firejail firefox
✅ توضیحات فنی :
برنامه Firejail یک sandbox از نوع SUID که با محدود کردن محیط در حال اجرا برنامههای غیرقابل اعتماد با استفاده از namespaces لینوکس، seccomp-bpf و قابلیتهای لینوکس، ریسک های امنیت را کاهش میدهد. Firejail به یک process و همه descendants آن اجازه می دهد تا private view خود را از globally shared kernel resources ، مانند network stack، process table، جدول mount داشته باشند. Firejail می تواند یا هم SELinux یا AppArmor کار کند
✅ آموزش نصب:
در مخازن اصلی version 0.9.66 وجود دارد میتوانید با دستور
apt install firejail firejail-profiles
اگر نبود با ppa نسخه 0.9.72 را نصب کنید
sudo add-apt-repository ppa:deki/firejail
sudo apt-get update
sudo apt-get install firejail firejail-profiles
🔥حالا بزن مثلا
firejail firefox
firejail vlc
⁉️ اگر در کار با Firejail سوالی داشتید در بخش کامنت ها بپرسید با هم برسی کنیم 😎
#linux
Forwarded from Go Casts 🚀
وقتی راجع به distributed system و communication بین سرویس ها صحبت می کنیم، یه مکانیزمی که میتونه ارتباط رو reliableتر کنه به خاطر ذات unreliable شبکه، استفاده از الگوهای ساده ای مثل retry هست، اما واقعیت اینه که اسمش retry هست تو دلش بری خودش هزارتا داستان داره
مقاله خیلی جالب و جذابی بود از تیم یاندکس
Good Retry, Bad Retry: An Incident Story
https://medium.com/yandex/good-retry-bad-retry-an-incident-story-648072d3cee6
توضیحات «دوره + تیمسازی بکند Go Casts» و تخفیف ۵۰ درصدی رو در این پست میتونید بخونید 👇
https://news.1rj.ru/str/gocasts/491
@gocasts
#retry
#golang
#گولنگ
مقاله خیلی جالب و جذابی بود از تیم یاندکس
Good Retry, Bad Retry: An Incident Story
https://medium.com/yandex/good-retry-bad-retry-an-incident-story-648072d3cee6
توضیحات «دوره + تیمسازی بکند Go Casts» و تخفیف ۵۰ درصدی رو در این پست میتونید بخونید 👇
https://news.1rj.ru/str/gocasts/491
@gocasts
#retry
#golang
#گولنگ
Forwarded from Linuxor ?
این عکس که میبینید بزرگ ترین LAN پارتی توی جهانه که توی یونشوپینگ سوئد برگزار شده.
مراسم LAN پارتی به این صورته که یه عده ای جمع میشدن یه جا و با کابل LAN سیستم هاشونو به هم دیگه شبکه میکردن.
که بعد ها ایده گیم نت از روی LAN پارتی به ایران اومد به قدری از گیم نت ها توی ایران استقبال شد که توی هر محله مثل سوپرمارکت ها ما یه گیم نت هم داشتیم. البته حداقل الان توی جایی که ما زندگی میکنیم گیم نت های کامپیوتری بر پایه LAN نیست دیگه.
🐧 @Linuxor
مراسم LAN پارتی به این صورته که یه عده ای جمع میشدن یه جا و با کابل LAN سیستم هاشونو به هم دیگه شبکه میکردن.
که بعد ها ایده گیم نت از روی LAN پارتی به ایران اومد به قدری از گیم نت ها توی ایران استقبال شد که توی هر محله مثل سوپرمارکت ها ما یه گیم نت هم داشتیم. البته حداقل الان توی جایی که ما زندگی میکنیم گیم نت های کامپیوتری بر پایه LAN نیست دیگه.
🐧 @Linuxor
Forwarded from کداکسپلور | CodeExplore (ᎷᎪᎻᎠᏆ)
▪️ویندوز سندباکس،محیطی ایزوله و موقت برای اجرای برنامههای ناشناختهست تا بدون نگرانی از آسیب به ویدوز اصلیتون هر نرمافزاری رو بتونید اجرا کنید. به علاوه بعد از هربار استفاده اون محیط به صورت کلی حذف میشه و هیچ اثری ازش باقی نخواهد موند!
#Windows #SandBox
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Philocode
یه جوونمرد بین شما نیست یه سند بده برم بذارم پسر مردم رو از بند بیارم بیرون؟ (دریمکمپانی)
Forwarded from linuxtnt(linux tips and tricks) (hosein seilany https://seilany.ir/)
انتشار Wine 9.16 با بهبودهای Wayland و اجرای اولیه Driver Store
نسخه Wine 9.16 اکنون برای اجرای برنامهها و بازیهای ویندوز در لینوکس در دسترس است. این نسخه شامل تغییرات زیر است:
اشکالات رفع شده در نسخه 3.19 (مجموعاً 31 مورد):
1. رفع عیب بازی BrainSplode! به درستی نمایش داده نمیشد.
2. برنامه Advanced SystemCare 6.4 در هنگام راهاندازی با خطای تقسیم بر صفر کرش میکرد.
3. برنامه utorrent 2.2.1 باعث ایجاد خطای نرمافزاری میشد.
4. سرور بازی Terraria 1.2.0.x در هنگام راهاندازی شکست میخورد.
5. چندین برنامه به پیادهسازی یک ویژگی خاص نیاز داشتند.
6. نصبکننده SentriLock SentriCard utility 4.0.x به دلیل ورودی بزرگ کرش میکرد.
7. چندین برنامه به پیادهسازی یک ویژگی دیگر نیاز داشتند.
8. نسخه نمایشی بازی Battlefield 2 کرش میکرد.
9. نصبکننده نسخه نمایشی بازی The Guild 2 در هنگام شروع کپی فایلها کرش میکرد.
10. ابزار اشکالزدایی winedbg نمیتوانست فرآیند ایجاد کند.
11. برنامه داخلی wordpad.exe در Wine با نسخه 1.6.2 کرش میکرد.
12. برنامه Advanced SystemCare 6.4 در هنگام بازیابی خصوصیات کلاس WMI کرش میکرد.
13. برنامه ClassicStartMenu از Classic Shell 4.3.0 در هنگام فراخوانی یک تابع خاص کرش میکرد.
14. بازیهای Grand Theft Auto 5 و Tomb Raider 2013 به یک ویژگی خاص نیاز داشتند.
15. چندین برنامه و بازی به دلیل عدم وجود دستگاه D2D و زمینه دستگاه اجرا نمیشدند.
16. برنامه FACEIT Desktop client در هنگام راهاندازی کرش میکرد.
17. کلاینت بازی Tibia گزارش میداد که نمیتواند بازی را اجرا کند.
18. بازی Project CARS 2 در هنگام راهاندازی هنگ میکرد.
19د بسیاری از برنامهها و بازیها پس از کامپایل Wine با نسخه جدید gcc اجرا نمیشدند یا کرش میکردند.
20. نصبکننده Paint Shop Pro 2018/2019 شکایت میکرد که JavaScript غیرفعال است و سپس متوقف میشد.
21. برنامه RasAero II در هنگام فشردن دکمه به دلیل استثنای تبدیل آرگومان کرش میکرد.
22. کلاینت 32 بیتی بازی Black Desert Online در هنگام راهاندازی کرش میکرد.
23. گیمپلی بازی Assassin’s Creed پس از نگاه کردن به اطراف با ماوس فریز میشد.
24. ابزار Wineconsole اندازه فونت را با تنظیمات dpi سیستم مقیاس نمیکرد.
25. برخی از اشیاء در بازی K-Shoot Mania به درستی نمایش داده نمیشدند.
26. نصبکننده Lego Mindstorms EV3 1.3.1 کرش میکرد.
27. برنامه SofTalk 1.56 در هنگام فشردن دکمه “Play” به طور غیرعادی خارج میشد.
28. برنامه Affinity Designer به دلیل پیادهسازی نشده بودن یک ویژگی خاص کرش میکرد.
29. برنامه Affinity Designer به دلیل پیادهسازی نشده بودن یک ویژگی دیگر کرش میکرد.
30. بازی S.T.A.L.K.E.R. Call Of Prypyat DX11 دارای اشکالات بصری بود.
31. برنامههای Qt پس از فراخوانی یک تابع خاص بدون اتصال سختافزار تبلت کرش میکردند.
نویسنده: حسین سیلانی
منبع : کانال لینوکسی: لینوکس تی ان تی
@linuxtnt
http://seilany.ir
نسخه Wine 9.16 اکنون برای اجرای برنامهها و بازیهای ویندوز در لینوکس در دسترس است. این نسخه شامل تغییرات زیر است:
اشکالات رفع شده در نسخه 3.19 (مجموعاً 31 مورد):
1. رفع عیب بازی BrainSplode! به درستی نمایش داده نمیشد.
2. برنامه Advanced SystemCare 6.4 در هنگام راهاندازی با خطای تقسیم بر صفر کرش میکرد.
3. برنامه utorrent 2.2.1 باعث ایجاد خطای نرمافزاری میشد.
4. سرور بازی Terraria 1.2.0.x در هنگام راهاندازی شکست میخورد.
5. چندین برنامه به پیادهسازی یک ویژگی خاص نیاز داشتند.
6. نصبکننده SentriLock SentriCard utility 4.0.x به دلیل ورودی بزرگ کرش میکرد.
7. چندین برنامه به پیادهسازی یک ویژگی دیگر نیاز داشتند.
8. نسخه نمایشی بازی Battlefield 2 کرش میکرد.
9. نصبکننده نسخه نمایشی بازی The Guild 2 در هنگام شروع کپی فایلها کرش میکرد.
10. ابزار اشکالزدایی winedbg نمیتوانست فرآیند ایجاد کند.
11. برنامه داخلی wordpad.exe در Wine با نسخه 1.6.2 کرش میکرد.
12. برنامه Advanced SystemCare 6.4 در هنگام بازیابی خصوصیات کلاس WMI کرش میکرد.
13. برنامه ClassicStartMenu از Classic Shell 4.3.0 در هنگام فراخوانی یک تابع خاص کرش میکرد.
14. بازیهای Grand Theft Auto 5 و Tomb Raider 2013 به یک ویژگی خاص نیاز داشتند.
15. چندین برنامه و بازی به دلیل عدم وجود دستگاه D2D و زمینه دستگاه اجرا نمیشدند.
16. برنامه FACEIT Desktop client در هنگام راهاندازی کرش میکرد.
17. کلاینت بازی Tibia گزارش میداد که نمیتواند بازی را اجرا کند.
18. بازی Project CARS 2 در هنگام راهاندازی هنگ میکرد.
19د بسیاری از برنامهها و بازیها پس از کامپایل Wine با نسخه جدید gcc اجرا نمیشدند یا کرش میکردند.
20. نصبکننده Paint Shop Pro 2018/2019 شکایت میکرد که JavaScript غیرفعال است و سپس متوقف میشد.
21. برنامه RasAero II در هنگام فشردن دکمه به دلیل استثنای تبدیل آرگومان کرش میکرد.
22. کلاینت 32 بیتی بازی Black Desert Online در هنگام راهاندازی کرش میکرد.
23. گیمپلی بازی Assassin’s Creed پس از نگاه کردن به اطراف با ماوس فریز میشد.
24. ابزار Wineconsole اندازه فونت را با تنظیمات dpi سیستم مقیاس نمیکرد.
25. برخی از اشیاء در بازی K-Shoot Mania به درستی نمایش داده نمیشدند.
26. نصبکننده Lego Mindstorms EV3 1.3.1 کرش میکرد.
27. برنامه SofTalk 1.56 در هنگام فشردن دکمه “Play” به طور غیرعادی خارج میشد.
28. برنامه Affinity Designer به دلیل پیادهسازی نشده بودن یک ویژگی خاص کرش میکرد.
29. برنامه Affinity Designer به دلیل پیادهسازی نشده بودن یک ویژگی دیگر کرش میکرد.
30. بازی S.T.A.L.K.E.R. Call Of Prypyat DX11 دارای اشکالات بصری بود.
31. برنامههای Qt پس از فراخوانی یک تابع خاص بدون اتصال سختافزار تبلت کرش میکردند.
نویسنده: حسین سیلانی
منبع : کانال لینوکسی: لینوکس تی ان تی
@linuxtnt
http://seilany.ir
Forwarded from Geek Alerts
خب You.com که میشه باهاش نسخههای کاستوم از انواع مدلها مثل GPT-4o رو ساخت مدتی هست که بات تلگرام و واتساپ رو معرفی کرده.
برای مثال توی تلگرام میتونید از آیدی @YouDotComBot برای چت باهاش استفاده کنید.
از فارسی پشتیبانی میکنه و جوابهای نسبتا کوتاه بهتون میده و دردسرهای لاگین یا نصب برنامه جدیدرو هم نداره.
یه نکته هم اینکه اگه ازش منابع بخواید بهتون میده و ابزار خوبی برای پیدا کردن منابع هم هست.
پ.ن. اطلاعات حساس رد و بدل نکنید و اینجوری بهش نگاه کنید که حریمخصوصی خاصی نیست هرچند که خودشون تاکید داشته باشن.
@geekalerts
برای مثال توی تلگرام میتونید از آیدی @YouDotComBot برای چت باهاش استفاده کنید.
از فارسی پشتیبانی میکنه و جوابهای نسبتا کوتاه بهتون میده و دردسرهای لاگین یا نصب برنامه جدیدرو هم نداره.
یه نکته هم اینکه اگه ازش منابع بخواید بهتون میده و ابزار خوبی برای پیدا کردن منابع هم هست.
پ.ن. اطلاعات حساس رد و بدل نکنید و اینجوری بهش نگاه کنید که حریمخصوصی خاصی نیست هرچند که خودشون تاکید داشته باشن.
@geekalerts
Forwarded from کانال اطلاعرسانی توزیع پارچ (Sohrab)
اولین گام برای ایجاد یک گروه پشتیبانی در ماتریکس برداشته شد.
هم اکنون در فضای پارچ لینوکس داخل ماتریکس، یک فضای دیگر به عنوان پارچ لینوکس فارسی ایجاد شده که دارای چندین اتاق با موضوعات مختلف میباشد.
برای عضویت در فضای ماتریکس پارچ:
https://matrix.to/#/#parch:matrix.org
آموزش ماتریکس:
https://fa.wikibooks.org/wiki/%D8%B1%D8%A7%D9%87%D9%86%D9%85%D8%A7%DB%8C_%D8%B4%DB%8C%D9%88%D9%87%E2%80%8C%D9%86%D8%A7%D9%85%D9%87_%D9%BE%DB%8C%D8%A7%D9%85%E2%80%8C%D8%B1%D8%B3%D8%A7%D9%86%DB%8C_%D9%85%D8%A7%D8%AA%D8%B1%DB%8C%DA%A9%D8%B3
@ParchLinux
هم اکنون در فضای پارچ لینوکس داخل ماتریکس، یک فضای دیگر به عنوان پارچ لینوکس فارسی ایجاد شده که دارای چندین اتاق با موضوعات مختلف میباشد.
برای عضویت در فضای ماتریکس پارچ:
https://matrix.to/#/#parch:matrix.org
آموزش ماتریکس:
https://fa.wikibooks.org/wiki/%D8%B1%D8%A7%D9%87%D9%86%D9%85%D8%A7%DB%8C_%D8%B4%DB%8C%D9%88%D9%87%E2%80%8C%D9%86%D8%A7%D9%85%D9%87_%D9%BE%DB%8C%D8%A7%D9%85%E2%80%8C%D8%B1%D8%B3%D8%A7%D9%86%DB%8C_%D9%85%D8%A7%D8%AA%D8%B1%DB%8C%DA%A9%D8%B3
@ParchLinux
Forwarded from محتوای آزاد سهراب
یک موردی رو بگم.
دوستان ماتریکس فضای ذخیره سازی ابری شما نیست! حتی اینکه شماهم از تلگرام برای ذخیره دیتاهایی مثل عکس کارت ملی و .... استفاده میکنید کاملاً اشتباهه!
اگر به دنبال فضای ابری ایمن هستید، برید نکستکلود برای خودتون سلفهاست کنید یا اگر هم نمیتونید با یکی به صورت شراکتی این کارو انجام بدید.
@SohrabContents
دوستان ماتریکس فضای ذخیره سازی ابری شما نیست! حتی اینکه شماهم از تلگرام برای ذخیره دیتاهایی مثل عکس کارت ملی و .... استفاده میکنید کاملاً اشتباهه!
اگر به دنبال فضای ابری ایمن هستید، برید نکستکلود برای خودتون سلفهاست کنید یا اگر هم نمیتونید با یکی به صورت شراکتی این کارو انجام بدید.
@SohrabContents
Forwarded from کداکسپلور | CodeExplore (Aqa Reza)
چون که عکسش رو براتون گذاشتم نمیشه توضیحات کاملی این پایین توی کپشن نوشت، پس همین زیر میفرستم براتون که کامل ببینین چیا داره
#svelte
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Syntax | سینتکس (Daimon)
ساخت یک Dockerfile مناسب برای پروژه های پایتونی:
خیلی خوب توضیح داده.
https://luis-sena.medium.com/creating-the-perfect-python-dockerfile-51bdec41f1c8
#python #Dockerfile
@Syntax_fa
خیلی خوب توضیح داده.
https://luis-sena.medium.com/creating-the-perfect-python-dockerfile-51bdec41f1c8
#python #Dockerfile
@Syntax_fa
Medium
Creating the Perfect Python Dockerfile
Increase your python code performance and security without changing the project source code.
👍1
Forwarded from CleverDevs (Mahdi)
Typography Responsive
بجای استفاده از مدیا کوئری،
یه تکنیک برای ریسپانسیو کردن تایپوگرافیها اینه که:
1. فونتسایز اون متن توی کوچیکترین حالت سایت رو بدست میارید
مثلا کوچیکترین حالت 320px هست و فونتسایز اون متن هم تو این حالت 16px.
2. همینکارو برای بزرگترین حالت هم انجام میدیم مثلا 1280px حداکثر سایز سایته و تو این حالت فونتسایز 28px هست.
3. حالا این اطلاعات رو طبق عکس وارد این سایت میکنیم:
Fluid Typography Calculator
4. و بوم یه فانکشن clamp بهمون میده و فونتسایز اون متن رو برابر باهاش قرار میدیم.
#Design #CSS #Tool
@CleverDevs @CleverDevsGp
Forwarded from کداکسپلور | CodeExplore (Aqa Reza)
ادامه پست بالا👆 👆
💪 ویژگیهای Svelte:
- کامپایل در زمان ساخت: یعنی موقعی که کدت رو میسازی، Svelte خودش همه چیز رو بهینه میکنه تا وقتی سایتت اجرا میشه، سریع و روان باشه.
- نداشتن Virtual DOM: بقیه فریمورکها از چیزی به اسم Virtual DOM استفاده میکنن تا بفهمن چی توی صفحه باید عوض بشه. ولی Svelte این رو کامل کنار گذاشته و تغییرات رو مستقیم روی صفحه انجام میده که باعث میشه سایتت سریعتر بشه.
- سادگی و راحتی: تو Svelte، HTML، CSS و JavaScript همه تو یه فایل هستن. این باعث میشه کدها سادهتر و خوندنشون راحتتر باشه. همچنین، میتونی خیلی راحت از state استفاده کنی و تغییرات رو پیاده کنی.
- حجم کم و سرعت بالا: چون Svelte کدها رو خیلی بهینه میکنه و چیز اضافی توی مرورگر نمیاره، سایتهایی که باهاش ساخته میشن، سبکتر و سریعترن.
- شروع سریع: اگه بخوای شروع کنی، به راحتی میتونی یه پروژه جدید با Svelte بسازی و خیلی سریع پیش بری.
⚡️ خوبیهای Svelte:
- سرعت و عملکرد عالی: چون Svelte مستقیم با DOM کار میکنه و نیازی به Virtual DOM نداره، سایتت خیلی سریعتر از آب درمیاد.
- کد ساده و تمیز: نیاز نیست کلی کد اضافه بنویسی؛ Svelte همه چیز رو ساده نگه میداره.
- جدید و به روز: Svelte از آخرین امکانات JavaScript پشتیبانی میکنه، یعنی میتونی از چیزای جدید جاوا اسکریپت به راحتی استفاده کنی.
👀 چالشها:
- جامعه کوچیکتر: نسبت به React و Vue، آدمهای کمتری از Svelte استفاده میکنن، پس ممکنه برای پیدا کردن آموزش یا کمک گرفتن کمی سختتر باشه.
- نیاز به ابزارهای کامپایل: چون Svelte کدهات رو کامپایل میکنه، باید از ابزارهای مخصوصش برای ساختن پروژه استفاده کنی.
به طور کلی، Svelte یه فریمورک خیلی خوب و سریع برای ساختن سایتهای مدرن و سریع هست. اگه دنبال یه چیز جدید و جذاب هستی، حتماً امتحانش کن.
#svelte
☕️ @CodeExplore
- کامپایل در زمان ساخت: یعنی موقعی که کدت رو میسازی، Svelte خودش همه چیز رو بهینه میکنه تا وقتی سایتت اجرا میشه، سریع و روان باشه.
- نداشتن Virtual DOM: بقیه فریمورکها از چیزی به اسم Virtual DOM استفاده میکنن تا بفهمن چی توی صفحه باید عوض بشه. ولی Svelte این رو کامل کنار گذاشته و تغییرات رو مستقیم روی صفحه انجام میده که باعث میشه سایتت سریعتر بشه.
- سادگی و راحتی: تو Svelte، HTML، CSS و JavaScript همه تو یه فایل هستن. این باعث میشه کدها سادهتر و خوندنشون راحتتر باشه. همچنین، میتونی خیلی راحت از state استفاده کنی و تغییرات رو پیاده کنی.
- حجم کم و سرعت بالا: چون Svelte کدها رو خیلی بهینه میکنه و چیز اضافی توی مرورگر نمیاره، سایتهایی که باهاش ساخته میشن، سبکتر و سریعترن.
- شروع سریع: اگه بخوای شروع کنی، به راحتی میتونی یه پروژه جدید با Svelte بسازی و خیلی سریع پیش بری.
- سرعت و عملکرد عالی: چون Svelte مستقیم با DOM کار میکنه و نیازی به Virtual DOM نداره، سایتت خیلی سریعتر از آب درمیاد.
- کد ساده و تمیز: نیاز نیست کلی کد اضافه بنویسی؛ Svelte همه چیز رو ساده نگه میداره.
- جدید و به روز: Svelte از آخرین امکانات JavaScript پشتیبانی میکنه، یعنی میتونی از چیزای جدید جاوا اسکریپت به راحتی استفاده کنی.
- جامعه کوچیکتر: نسبت به React و Vue، آدمهای کمتری از Svelte استفاده میکنن، پس ممکنه برای پیدا کردن آموزش یا کمک گرفتن کمی سختتر باشه.
- نیاز به ابزارهای کامپایل: چون Svelte کدهات رو کامپایل میکنه، باید از ابزارهای مخصوصش برای ساختن پروژه استفاده کنی.
به طور کلی، Svelte یه فریمورک خیلی خوب و سریع برای ساختن سایتهای مدرن و سریع هست. اگه دنبال یه چیز جدید و جذاب هستی، حتماً امتحانش کن.
#svelte
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from کانال اطلاعرسانی توزیع پارچ (Sohrab)
ویدئو ضبط شده جشن تولد پارچ در یوتوب بارگذاری شد.
📹 https://youtu.be/LkdvM9McqM4
پیرتوب: https://tubedu.org/w/t7FJttMwPgpLpCJJZWfcar
بهزودی در پیرتوب نیز به محض تأیید حساب پارچ بارگذاری میشود.
🐧 @ParchLinux
پیرتوب: https://tubedu.org/w/t7FJttMwPgpLpCJJZWfcar
بهزودی در پیرتوب نیز به محض تأیید حساب پارچ بارگذاری میشود.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from نوشتههای ترمینالی
خطا داریم؟ همینه که هست!
یه مثال دیدم که میگفت شما وقتی ماشینتون پنچر میشه صبر میکنید تا تعمیرکار بیاد درستش کنه، یا با همون چرخ های پنجر با سرعت کم ادامه میدین تا به مقصد برسید؟
به نظرم همین توی برنامهنویسی هم مصداق داره، وقتی برنامهمون به ارور میخوره چطوری مدیریتش میکنیم؟ حالا این ارور خیلی وقت ها exceptionه توی زبون های برنامه نویسی، ولی یکم سطح بالاتر ببینیم،
مثلا به یه سرویس خارجی درخواست دادیم و نیست، خب چیکار کنیم؟
یه فایل کانفیگ رو میخوایم لود کنیم ولی نیست.
دیتایی که از سمت کاربر اومده معتبر نیست.
در یک برنامه معمولی جوابِ (احتمالا) درست به خیلی از این سوالا اینه که خب کارکرد برنامه رو متوقف کن و بگو نمیتونم. برنامه کار نکنه تا دوباره با برطرف شدن مشکلات یکی از اول اجراش کنه،
ولی اگر برنامه ما قراره توی یکسری از محیطها اجرا بشه دیگه خبری از «من کار نمیکنم تا شرایط درست بشه» نیست. چه محیطهایی؟ محیطهایی که availability بالا مهمه مثلا سیستم های امبدد یا بکاند.
مثلا قراره ما مسیریابی یک هواپیما رو انجام بدیم و سیگنال GPS دریافت نمیکنیم، خب به هواپیما بگیم فعلا من کار نمیکنم؟! یعنی چی که کار نمیکنم، با سرعت زیاد داره میره :)))
یا مثلاً توی کلود اگر ارور بدیم و برنامه کرش کنه کنیم چی میشه؟ کوبرنتیز دوباره برنامه رو اجرا میکنه و دوباره با مشکل درگیریم!
پس در این شرایط نمیشه ارور داد و بیخیال شد، بلکه باید با همون چرخ پنچر ادامه داد، برای هر روش هم با خلاقیت خودمون یا با کمک روش های پیشنهاد شده باید یه پلن بی داشته باشیم،
پیاده سازی و تست خود برنامه در کنار اینکه هر قسمتی ممکنه کار نکنه و سناریوهای مختلفش، کار سختیه ولی هزینهی داشتن یه نرم افزار قابل اعتماده.
مثلا چه مشکلاتی؟
مثلاً اگه قراره کانفیگ فایل رو از بیرون لود کنیم, آمادگی نبودنش رو هم داشته باشیم، مثلا یه کانفیگ پیشفرض داشته باشیم (البته کانفیگ چون موقع اولین اجرای برنامه خودش رو نشون میده شاید نیازی هم نباشه)
مثلا اگر داده gps به ما نرسید، با کمک داده های قبلی که ذخیره کردیم و یا ترکیبش با سرعت و شتاب و ... مشکل رو موقتا و حتی نادقیق حل کنیم
یا مثلاً اگر به سرور خارجی درخواست میزنیم و نیست، آمادگی نبودنش رو داشته باشیم، اینجا یکسری پترن که تو صنعت استفاده میشه داریم
مثلا چه پترنهایی؟
+ دوباره درخواست بده: retry pattern
+ به یکی دیگه درخواست بده: fallback
+ اگر خرابه تا یه مدت بهش درخواست نده تا ارور الکی نگیری: circuit breaker
+ اگه سرور خارجی کنده، خیلی صبر نکن تا response time خودت هم بالا نره
+ اگر سرور خارجی دیتا قراره بهت بده، دیتای قبلی رو کش کن.
اینها در سطح کد بودن، در سطح معماری هم میشه از قبل روشهایی رو تدارک دید مثلاً خود دیتابیس رو چطوری High available کنیم، یا روشهایی که بیشتر تو سیستم های امبدد استفاده میشه مثل اینکه یه برنامه رو با چند تا پیاده سازی همزمان اجرا کنیم تا اگر یکیش خراب شد اون یکیها باشن!
منابع:
https://opensource.com/article/19/9/transient-faults-devops
https://www.jrebel.com/blog/microservices-resilience-patterns
https://learn.microsoft.com/en-us/azure/architecture/best-practices/transient-faults
https://learn.microsoft.com/en-us/dotnet/architecture/cloud-native/application-resiliency-patterns
@terminal_stuff
یه مثال دیدم که میگفت شما وقتی ماشینتون پنچر میشه صبر میکنید تا تعمیرکار بیاد درستش کنه، یا با همون چرخ های پنجر با سرعت کم ادامه میدین تا به مقصد برسید؟
به نظرم همین توی برنامهنویسی هم مصداق داره، وقتی برنامهمون به ارور میخوره چطوری مدیریتش میکنیم؟ حالا این ارور خیلی وقت ها exceptionه توی زبون های برنامه نویسی، ولی یکم سطح بالاتر ببینیم،
مثلا به یه سرویس خارجی درخواست دادیم و نیست، خب چیکار کنیم؟
یه فایل کانفیگ رو میخوایم لود کنیم ولی نیست.
دیتایی که از سمت کاربر اومده معتبر نیست.
در یک برنامه معمولی جوابِ (احتمالا) درست به خیلی از این سوالا اینه که خب کارکرد برنامه رو متوقف کن و بگو نمیتونم. برنامه کار نکنه تا دوباره با برطرف شدن مشکلات یکی از اول اجراش کنه،
ولی اگر برنامه ما قراره توی یکسری از محیطها اجرا بشه دیگه خبری از «من کار نمیکنم تا شرایط درست بشه» نیست. چه محیطهایی؟ محیطهایی که availability بالا مهمه مثلا سیستم های امبدد یا بکاند.
مثلا قراره ما مسیریابی یک هواپیما رو انجام بدیم و سیگنال GPS دریافت نمیکنیم، خب به هواپیما بگیم فعلا من کار نمیکنم؟! یعنی چی که کار نمیکنم، با سرعت زیاد داره میره :)))
یا مثلاً توی کلود اگر ارور بدیم و برنامه کرش کنه کنیم چی میشه؟ کوبرنتیز دوباره برنامه رو اجرا میکنه و دوباره با مشکل درگیریم!
پس در این شرایط نمیشه ارور داد و بیخیال شد، بلکه باید با همون چرخ پنچر ادامه داد، برای هر روش هم با خلاقیت خودمون یا با کمک روش های پیشنهاد شده باید یه پلن بی داشته باشیم،
پیاده سازی و تست خود برنامه در کنار اینکه هر قسمتی ممکنه کار نکنه و سناریوهای مختلفش، کار سختیه ولی هزینهی داشتن یه نرم افزار قابل اعتماده.
مثلا چه مشکلاتی؟
مثلاً اگه قراره کانفیگ فایل رو از بیرون لود کنیم, آمادگی نبودنش رو هم داشته باشیم، مثلا یه کانفیگ پیشفرض داشته باشیم (البته کانفیگ چون موقع اولین اجرای برنامه خودش رو نشون میده شاید نیازی هم نباشه)
مثلا اگر داده gps به ما نرسید، با کمک داده های قبلی که ذخیره کردیم و یا ترکیبش با سرعت و شتاب و ... مشکل رو موقتا و حتی نادقیق حل کنیم
یا مثلاً اگر به سرور خارجی درخواست میزنیم و نیست، آمادگی نبودنش رو داشته باشیم، اینجا یکسری پترن که تو صنعت استفاده میشه داریم
مثلا چه پترنهایی؟
+ دوباره درخواست بده: retry pattern
+ به یکی دیگه درخواست بده: fallback
+ اگر خرابه تا یه مدت بهش درخواست نده تا ارور الکی نگیری: circuit breaker
+ اگه سرور خارجی کنده، خیلی صبر نکن تا response time خودت هم بالا نره
+ اگر سرور خارجی دیتا قراره بهت بده، دیتای قبلی رو کش کن.
اینها در سطح کد بودن، در سطح معماری هم میشه از قبل روشهایی رو تدارک دید مثلاً خود دیتابیس رو چطوری High available کنیم، یا روشهایی که بیشتر تو سیستم های امبدد استفاده میشه مثل اینکه یه برنامه رو با چند تا پیاده سازی همزمان اجرا کنیم تا اگر یکیش خراب شد اون یکیها باشن!
منابع:
https://opensource.com/article/19/9/transient-faults-devops
https://www.jrebel.com/blog/microservices-resilience-patterns
https://learn.microsoft.com/en-us/azure/architecture/best-practices/transient-faults
https://learn.microsoft.com/en-us/dotnet/architecture/cloud-native/application-resiliency-patterns
@terminal_stuff
Opensource.com
3 ways to handle transient faults for DevOps
In electrical engineering, a transient fault is defined as an error condition that vanishes after the power is disconnected and restored.
Forwarded from کانال اطلاعرسانی توزیع پارچ (Sohrab)
ویرایش: لینک پیرتوب قرار گرفت.
Forwarded from Geek Alerts
اوضاع و شرایط خیلی به نفع پاوول دورو نیست، اول اینکه پاوول تابعیت امارات و فرانسه رو داره و البته که متولد روسیه هست.
از زمان دستگیریش تا الان که برای ۹۶ ساعت دستگیریش تمدید شد بیشتر حامیانش از میان راستها بودن، برای مثال ماتئو معاون نخست وزیر راستگرای ایتالیا که نسبت به این اتفاق گفته اروپا تحت سانسور هست.
یعنی توسط کسایی حمایت میشه که عملا توانایی زیادی توی اروپا ندارن.
از طرفی امارات به نظر میرسه خودشو وارد ماجرا نکرده و با وجود اینکه شهروندش الان توی فرانسه بازداشت هست ولی حمایتی از پاوول نداشتن.
بعد روسیه کشوری که حتی ممکنه پاوول بعد از ورود بهش دادگاهی بشه الان داره ازش حمایت میکنه.
سفارت روسیه در پاریس درخواست کرده که مقامات فرانسوی در ماجرای پاول باهاش همکاری کنن و اونا هم جوابی ندادن.
این بیشتر از اون حمایتهاست که نبودش بهتره، یعنی اینکه حامی یه نفر توی دادگاههای اروپا کشور روسیه باشه احتمالا پروندهرو پیچیدهتر هم میکنه.
خود تلگرام هم یه پست منتشر کرده که ما از قوانین اتحادیه اروپا پیروی میکنیم و پاوول دورو چیزی برای پنهان کردن نداره و این ادعا که یک پلتفرم مسئول سوء استفاده افراد از اون پلتفرمه پوچ هست.
politico
https://news.1rj.ru/str/telegram/329
@geekalerts
از زمان دستگیریش تا الان که برای ۹۶ ساعت دستگیریش تمدید شد بیشتر حامیانش از میان راستها بودن، برای مثال ماتئو معاون نخست وزیر راستگرای ایتالیا که نسبت به این اتفاق گفته اروپا تحت سانسور هست.
یعنی توسط کسایی حمایت میشه که عملا توانایی زیادی توی اروپا ندارن.
از طرفی امارات به نظر میرسه خودشو وارد ماجرا نکرده و با وجود اینکه شهروندش الان توی فرانسه بازداشت هست ولی حمایتی از پاوول نداشتن.
بعد روسیه کشوری که حتی ممکنه پاوول بعد از ورود بهش دادگاهی بشه الان داره ازش حمایت میکنه.
سفارت روسیه در پاریس درخواست کرده که مقامات فرانسوی در ماجرای پاول باهاش همکاری کنن و اونا هم جوابی ندادن.
این بیشتر از اون حمایتهاست که نبودش بهتره، یعنی اینکه حامی یه نفر توی دادگاههای اروپا کشور روسیه باشه احتمالا پروندهرو پیچیدهتر هم میکنه.
خود تلگرام هم یه پست منتشر کرده که ما از قوانین اتحادیه اروپا پیروی میکنیم و پاوول دورو چیزی برای پنهان کردن نداره و این ادعا که یک پلتفرم مسئول سوء استفاده افراد از اون پلتفرمه پوچ هست.
politico
https://news.1rj.ru/str/telegram/329
@geekalerts