نوشتن یک موتور سادهی رندر وب با rust
https://github.com/mbrubeck/robinson
توضیحات کاملش رو هم در قالب یک مطلب وبلاگی گذاشته اگه دوست داشتید ببینید.
https://github.com/mbrubeck/robinson
توضیحات کاملش رو هم در قالب یک مطلب وبلاگی گذاشته اگه دوست داشتید ببینید.
GitHub
GitHub - mbrubeck/robinson: A toy web rendering engine
A toy web rendering engine. Contribute to mbrubeck/robinson development by creating an account on GitHub.
چطور با کمک ffmpeg یک ویدیوپلیر بسازیم.
نکته اینه که ffmpeg به عنوان موتور، همه کارهای سخت رو انجام میده. حتی یه ffplay وجود داره که پخش هم میکنه. این آموزش گویا ffplay رو بازنویسی کرده.
https://dranger.com/ffmpeg/ffmpeg.html
نکته اینه که ffmpeg به عنوان موتور، همه کارهای سخت رو انجام میده. حتی یه ffplay وجود داره که پخش هم میکنه. این آموزش گویا ffplay رو بازنویسی کرده.
https://dranger.com/ffmpeg/ffmpeg.html
www.nginx.com/blog/introduction-to-microservices
اینجا هفت تا مقاله راجع به میکروسرویس و معماریش و… هست
که واقعاً خیلی خوب توضیح دادهن همهچی رو (تا قسمت آخر!)
اینجا هفت تا مقاله راجع به میکروسرویس و معماریش و… هست
که واقعاً خیلی خوب توضیح دادهن همهچی رو (تا قسمت آخر!)
F5, Inc.
Introduction to Microservices
Microservices are currently getting a lot of attention. This blog post is the first in a 7-part series about designing, building, & deploying microservices.
واقعا صحبتی ندارم من =)
https://allenai.org/demos
این هوش مصنوعی میاد سوال هندسه حل میکنه، به سوالای اخلاقی جواب میده، تشخیص تصویر و عمق میده، باهاتون بازی میکنه.
به عنوان گونه خردمند من چیزی برای گفتن ندارم دیگه راستش.
حل سوال هندسه:
https://geometry.allenai.org/demo/
قسمت جواب دادن به سوال اخلاقی:
https://delphi.allenai.org/
پاسخ به سوالات علمی
https://openie.allenai.org/
تشخیص تصویر:
https://vision-explorer.allenai.org/
حتی اثبات ریاضی و منطقی وحل تستهای ابتدایی هم انجام میده..
https://allenai.org/demos
این هوش مصنوعی میاد سوال هندسه حل میکنه، به سوالای اخلاقی جواب میده، تشخیص تصویر و عمق میده، باهاتون بازی میکنه.
به عنوان گونه خردمند من چیزی برای گفتن ندارم دیگه راستش.
حل سوال هندسه:
https://geometry.allenai.org/demo/
قسمت جواب دادن به سوال اخلاقی:
https://delphi.allenai.org/
پاسخ به سوالات علمی
https://openie.allenai.org/
تشخیص تصویر:
https://vision-explorer.allenai.org/
حتی اثبات ریاضی و منطقی وحل تستهای ابتدایی هم انجام میده..
allenai.org
Demos — Allen Institute for AI
A collection of featured AI research demos from the Allen Institute for AI
Forwarded from @yegor256 news (yegor256)
Two open source projects, which we develop for the last few years, need Java developers: Artipie and EO. It's a part-time and fully remote type of work: you don't need to be at any meetings and you will never visit the office. Moreover, you will be paid fixed-price only for the tasks you finish, in the best traditions of XDSD. We expect you to be an expert in Java and familiar with open source development culture (we will check your GitHub and StackOverflow profiles). Text me directly, if you are ready to try: @yegor256.
👍1
https://quera.ir/problemset
از بین این سوالا، SIMD و اروررررر و باگ در تخفیفها رو من طرح کردم، اگه دوست داشتید برید بخونید یا حلشون کنین.
SIMD
https://quera.ir/problemset/113613/
اروررررر
https://quera.ir/problemset/113611/
باگ در تخفیف ها
https://quera.ir/problemset/113609/
از بین این سوالا، SIMD و اروررررر و باگ در تخفیفها رو من طرح کردم، اگه دوست داشتید برید بخونید یا حلشون کنین.
SIMD
https://quera.ir/problemset/113613/
اروررررر
https://quera.ir/problemset/113611/
باگ در تخفیف ها
https://quera.ir/problemset/113609/
برنامه redshift رو با این پارامترها صدا میکنم، چشمام راضین. شما هم اگه دوست دارید blue light filter توی لینوس داشته باشید میتونین از این استفاده کنید.
b
یعنی در صبح ۷۹ درصد نور باشه و در شب ۶۵ درصد.
l
موقعیت جغرافیاییه. مال تهران رو زدم.
https://github.com/jonls/redshift
redshift -b 0.79:0.65 -l 35.74:51.33
b
یعنی در صبح ۷۹ درصد نور باشه و در شب ۶۵ درصد.
l
موقعیت جغرافیاییه. مال تهران رو زدم.
https://github.com/jonls/redshift
GitHub
GitHub - jonls/redshift: Redshift adjusts the color temperature of your screen according to your surroundings. This may help your…
Redshift adjusts the color temperature of your screen according to your surroundings. This may help your eyes hurt less if you are working in front of the screen at night. - jonls/redshift
اینا برداشتن فرانت و بک ادیتور رو جدا کردن، بعد نه بکانده امکانات خاصی داره نه فرانتاندهاش جنگی به دل میزنه. حتی اکثرا درست اجرا نمیشن.
https://github.com/xi-editor/xi-editor#frontends
https://github.com/xi-editor/xi-editor#frontends
GitHub
GitHub - xi-editor/xi-editor: A modern editor with a backend written in Rust.
A modern editor with a backend written in Rust. Contribute to xi-editor/xi-editor development by creating an account on GitHub.
نوشتههای ترمینالی
اینا برداشتن فرانت و بک ادیتور رو جدا کردن، بعد نه بکانده امکانات خاصی داره نه فرانتاندهاش جنگی به دل میزنه. حتی اکثرا درست اجرا نمیشن. https://github.com/xi-editor/xi-editor#frontends
اما شما هم اگه خواستین با سورس یه ادیتور بازی کنین، میتونین برید سراغشون.
کد پایتون برای polynomial regression بدون استفاده از sklearn
https://github.com/pickus91/Polynomial-Regression-From-Scratch
https://github.com/pickus91/Polynomial-Regression-From-Scratch
GitHub
GitHub - pickus91/Polynomial-Regression-From-Scratch: Polynomial regression from scratch
Polynomial regression from scratch. Contribute to pickus91/Polynomial-Regression-From-Scratch development by creating an account on GitHub.
"regression testing"? What's that? If it compiles, it is good, if it boots up it is perfect.
- linux torvalds
- linux torvalds
درباره arch
Arch Linux is an independently developed, x86-64 general purpose GNU/Linux distribution versatile enough to suit any role. Development focuses on simplicity, minimalism, and code elegance. Arch is installed as a minimal base system, configured by the user upon which their own ideal environment is assembled by installing only what is required or desired for their unique purposes. GUI configuration utilities are not officially provided, and most system configuration is performed from the shell by editing simple text files. Arch strives to stay bleeding edge, and typically offers the latest stable versions of most software.
Arch Linux uses its own Pacman package manager, which couples simple binary packages with an easy-to-use package build system. This allows users to easily manage and customize packages ranging from official Arch software to the user's own personal packages to packages from 3rd party sources. The repository system also allows users to easily build and maintain their own custom build scripts, packages, and repositories, encouraging community growth and contribution.
https://archlinux.org/about/
Arch Linux is an independently developed, x86-64 general purpose GNU/Linux distribution versatile enough to suit any role. Development focuses on simplicity, minimalism, and code elegance. Arch is installed as a minimal base system, configured by the user upon which their own ideal environment is assembled by installing only what is required or desired for their unique purposes. GUI configuration utilities are not officially provided, and most system configuration is performed from the shell by editing simple text files. Arch strives to stay bleeding edge, and typically offers the latest stable versions of most software.
Arch Linux uses its own Pacman package manager, which couples simple binary packages with an easy-to-use package build system. This allows users to easily manage and customize packages ranging from official Arch software to the user's own personal packages to packages from 3rd party sources. The repository system also allows users to easily build and maintain their own custom build scripts, packages, and repositories, encouraging community growth and contribution.
https://archlinux.org/about/
نوشتههای ترمینالی
تفاوت lxc با docker https://medium.com/@harsh.manvar111/lxc-vs-docker-lxc-101-bd49db95933a
برای sandbox کردن برنامهها، راههای متفاوت و سخت و آسونی وجود داره.
راههای virtualization مثل virtual box و vmware و parallels که کل یه OS رو شبیهسازی میکنه. قاعدتا سربار زیادی داره. دیر بالا میاد، مموری اضافه میگیره و ..
راههای دیگه، مبتنی بر همین سیستمعاملیه که داریم. یعنی با امکانات سیستمعامل، یه محیطی رو فراهم کنیم که یه پروسس با پروسس های دیگه کاری نداشته باشه.
قاعدتا سیستم عامل خوب همین کار رو همیشه انجام میده. مثلا فضای حافظه رو جدا میکنه که پروسس ها به حافظهی هم کار نداشته باشن.
حالا میتونیم از امکانات بیشتری استفاده کنیم.
مثلا این امکاناتی که تو سیستمعاملهای خوب (لینوکس!) وجود داره ایناست:
cgroups
chroot
namespace
seccomp
(البته احتمالا بازم هست ولی من بلد نیستم)
اولی که مخفف control groups هست، برای هر پروسس یه سری limit مثل مصرف حافظه، cpu و disk و network میذاره. استفاده ازش (به صورت مستقیم) خیلی آسون نیست اما کارش خیلی درسته.
دومی که به معنی change rootئه، میاد و مسیر روت (/) یه پروسسی رو میذاره تو یه پوشهای، در نتیجه اون پروسس اصلا نمیتونه بیرون از اون پوشه رو دست بزنه چون هر مسیری که بده تو همون پوشههه میفته.
اگرچه مکانیسم امنیتی نیست و کاربردهای خاص خودش رو داره اما عملا میشه دسترسی به فایلهای فایلسیستم رو محدود کرد.
سومی یا همون namespace، در واقع اون چیزی که توی cpp داشتیم نیست! کارش راحتی برنامهنویس نیست بلکه گروههای پروسسی رو از هم جدا میکنه و اساس کار کانتینرهاست.
چهارمی (seccomp) که مخفف secure computing mode، باز هم امکان کرنل لینوکس برای رفتن به یه حالت امنه. تو این حالت امن برنامه سیستمکال های خیلی خاصی مثل exit میتونه بزنه یا نهایتا خوندن و نوشتن همون فایلهایی که قبل secure شدن باز داشته.
حالا چطوری با این امکانات، امنیت ایجاد کنیم؟ یه راهش contianerها هستند.
کانتینرها مثل openvz و lxd (مخفف linux container) میان و یه لینوکس داخل لینوکس خودتون میدن که عملا هسته لینوکس شما اون رو کنترل میکنه، منتهی با فضای پروسس و منابع و حتی فایلهای جدا.
روی این lxd یه سری اومدن docker رو ساختن که از مکانیسم های lxd استفاده میکنه اما محبوب و کاربرپسند شده به دلایلی.
حالا گفته میشه که هدف کانتینرها امنیت نیست. یعنی اینکه اگرچه یه فضای جدا برا خودشون دارن اما در عمل نمیشه ۱۰۰ درصد مطمئن بود پروسسی که داخل کانتینره به بیرون کاری نکنه. حالا اگه کانتینر بیرون روت نباشه (unprivileged container) امنیت یکم بیشتر میشه اما باز ۱۰۰درصدی نیست.
اما جدا از کانتینر که کلا یه فضای جدید باز میکنه و بازم سربار داره، ابزارهای دیگهای هستن مثل firejail و isolate که میاد مثل یه wrapper برای ابزارهایی که گفتم عمل میکنه. مثلا جلوی دسترسی به شبکه یا یه سری فایل حساس رو میبنده (یا فقط read only میکنه)
کاربرد کانتینرها مثل داکر رو که همه آشنا هستیم، برای درست کردن یه سیستم جدا با نصب بودن برنامههای خاص و معماری خاصه که توسعه نرمافزار رو راحت کنه.
مدل دوم مخصوصا isolate توی جاج های انلاین استفاده میشه تا سرورشون رو در مقابل برنامههای احتمالا مخرب محافظت کنن.
اما firejail گویا کاربرد عمومی داره، برای هر نرم افزار یه پروفایل تعریف کرده که به چه چیزهایی اجازه دسترسی داره و در نتیجه نرمافزارها کار عجیب دیگهای نکنن و امنیت کلی سیستم بره بالا.
راههای virtualization مثل virtual box و vmware و parallels که کل یه OS رو شبیهسازی میکنه. قاعدتا سربار زیادی داره. دیر بالا میاد، مموری اضافه میگیره و ..
راههای دیگه، مبتنی بر همین سیستمعاملیه که داریم. یعنی با امکانات سیستمعامل، یه محیطی رو فراهم کنیم که یه پروسس با پروسس های دیگه کاری نداشته باشه.
قاعدتا سیستم عامل خوب همین کار رو همیشه انجام میده. مثلا فضای حافظه رو جدا میکنه که پروسس ها به حافظهی هم کار نداشته باشن.
حالا میتونیم از امکانات بیشتری استفاده کنیم.
مثلا این امکاناتی که تو سیستمعاملهای خوب (لینوکس!) وجود داره ایناست:
cgroups
chroot
namespace
seccomp
(البته احتمالا بازم هست ولی من بلد نیستم)
اولی که مخفف control groups هست، برای هر پروسس یه سری limit مثل مصرف حافظه، cpu و disk و network میذاره. استفاده ازش (به صورت مستقیم) خیلی آسون نیست اما کارش خیلی درسته.
دومی که به معنی change rootئه، میاد و مسیر روت (/) یه پروسسی رو میذاره تو یه پوشهای، در نتیجه اون پروسس اصلا نمیتونه بیرون از اون پوشه رو دست بزنه چون هر مسیری که بده تو همون پوشههه میفته.
اگرچه مکانیسم امنیتی نیست و کاربردهای خاص خودش رو داره اما عملا میشه دسترسی به فایلهای فایلسیستم رو محدود کرد.
سومی یا همون namespace، در واقع اون چیزی که توی cpp داشتیم نیست! کارش راحتی برنامهنویس نیست بلکه گروههای پروسسی رو از هم جدا میکنه و اساس کار کانتینرهاست.
چهارمی (seccomp) که مخفف secure computing mode، باز هم امکان کرنل لینوکس برای رفتن به یه حالت امنه. تو این حالت امن برنامه سیستمکال های خیلی خاصی مثل exit میتونه بزنه یا نهایتا خوندن و نوشتن همون فایلهایی که قبل secure شدن باز داشته.
حالا چطوری با این امکانات، امنیت ایجاد کنیم؟ یه راهش contianerها هستند.
کانتینرها مثل openvz و lxd (مخفف linux container) میان و یه لینوکس داخل لینوکس خودتون میدن که عملا هسته لینوکس شما اون رو کنترل میکنه، منتهی با فضای پروسس و منابع و حتی فایلهای جدا.
روی این lxd یه سری اومدن docker رو ساختن که از مکانیسم های lxd استفاده میکنه اما محبوب و کاربرپسند شده به دلایلی.
حالا گفته میشه که هدف کانتینرها امنیت نیست. یعنی اینکه اگرچه یه فضای جدا برا خودشون دارن اما در عمل نمیشه ۱۰۰ درصد مطمئن بود پروسسی که داخل کانتینره به بیرون کاری نکنه. حالا اگه کانتینر بیرون روت نباشه (unprivileged container) امنیت یکم بیشتر میشه اما باز ۱۰۰درصدی نیست.
اما جدا از کانتینر که کلا یه فضای جدید باز میکنه و بازم سربار داره، ابزارهای دیگهای هستن مثل firejail و isolate که میاد مثل یه wrapper برای ابزارهایی که گفتم عمل میکنه. مثلا جلوی دسترسی به شبکه یا یه سری فایل حساس رو میبنده (یا فقط read only میکنه)
کاربرد کانتینرها مثل داکر رو که همه آشنا هستیم، برای درست کردن یه سیستم جدا با نصب بودن برنامههای خاص و معماری خاصه که توسعه نرمافزار رو راحت کنه.
مدل دوم مخصوصا isolate توی جاج های انلاین استفاده میشه تا سرورشون رو در مقابل برنامههای احتمالا مخرب محافظت کنن.
اما firejail گویا کاربرد عمومی داره، برای هر نرم افزار یه پروفایل تعریف کرده که به چه چیزهایی اجازه دسترسی داره و در نتیجه نرمافزارها کار عجیب دیگهای نکنن و امنیت کلی سیستم بره بالا.
نوشتههای ترمینالی
برای sandbox کردن برنامهها، راههای متفاوت و سخت و آسونی وجود داره. راههای virtualization مثل virtual box و vmware و parallels که کل یه OS رو شبیهسازی میکنه. قاعدتا سربار زیادی داره. دیر بالا میاد، مموری اضافه میگیره و .. راههای دیگه، مبتنی بر همین…
اگه چیزی رو غلط یا ناکامل گفتم بهم بگید لطفا.