| Erfan's Notes |
یکی از مباحث جالبی که باهاش میتونید وارد دنیای سهبعدی توی محیط وب بشید، ساخت دریا هست سمپلی که در این لینک هست به صورت واضح این مبحث رو به تصویر کشیده روال کار به این صورت هست که در دنیای سه بعدی، تمامی Geometry ها از چندضلعیهایی مثل مثلث تشکیل شدند …
و البته که در این صفحه میتونید مثالهایی از تمامی قابلیت های ThreeJS ببینید و به قدرتش پی ببرید
یادگیری WebGL و ThreeJS یا حداقل استفاده از ابزار های آماده برای طراحی سهبعدی در محیط وب، الان یک "باید" محسوب میشه برای کسی که خودش رو فرانتکار میدونه
https://threejs.org/examples/
یادگیری WebGL و ThreeJS یا حداقل استفاده از ابزار های آماده برای طراحی سهبعدی در محیط وب، الان یک "باید" محسوب میشه برای کسی که خودش رو فرانتکار میدونه
https://threejs.org/examples/
🔥2
موافق ایجاد یک گروه فارسی برای وب سهبعدی (Spline، ThreeJS، …) هستید؟
Anonymous Poll
75%
موافق هستم
25%
!(موافق هستم)
و اینکه چه سبک مطالبی رو بیشتر میپسندید؟
Anonymous Poll
35%
مطالب مربوط به فرانتاند
46%
مطالب مربوط به بکاند
33%
مطالب مربوط به گنو/لینوکس و سرور
40%
سبک ترکیبی فعلی
| Erfan's Notes |
موافق ایجاد یک گروه فارسی برای وب سهبعدی (Spline، ThreeJS، …) هستید؟
خب، طبق نتایج نظرسنجی دوستانی که علاقهمند بودند میتونند داخل @SplineGP عضو بشن
در حال حاضر محتوای خاصی نداره ولی سعی میکنم بهزودی یکسری ویدیو درمورد طراحی سهبعدی در وب ضبط کنم و داخل گروه و یوتیوب قرار بدم
و البته تاکید بر پرمحتوا بودن گروه نیست، صرفا وجود یک کامیونیتی هرچند کوچیک ایرانی، مایه دلگرمی توی هر حوزهای هست
درمورد نتایج نظرسنجی دوم هم، بیشتر جنبه آگاهی داشت و تاثیر مستقیمی در روند ارسال مطلب داخل کانال نداره، داخل کانال هرچیزی که ارزش اشتراکگذاری داشته باشه، قرار میگیره
در حال حاضر محتوای خاصی نداره ولی سعی میکنم بهزودی یکسری ویدیو درمورد طراحی سهبعدی در وب ضبط کنم و داخل گروه و یوتیوب قرار بدم
و البته تاکید بر پرمحتوا بودن گروه نیست، صرفا وجود یک کامیونیتی هرچند کوچیک ایرانی، مایه دلگرمی توی هر حوزهای هست
درمورد نتایج نظرسنجی دوم هم، بیشتر جنبه آگاهی داشت و تاثیر مستقیمی در روند ارسال مطلب داخل کانال نداره، داخل کانال هرچیزی که ارزش اشتراکگذاری داشته باشه، قرار میگیره
🔥5
Forwarded from Milad Nouri(ツ) میلاد نوری
چند روز پیش توی کنفرانس LaraConUS، نیتیو پیاچپی معرفی شد.
امروز قصد داشتم این ابزار رو تست کنم و یک اپ ساده با اون بنویسم.
وسط کار به ذهنم رسید برنامهای بنویسم که متن رو از ما بگیره و یکسری ایرادهای اون مثل رعایت نیمفاصله، تبدیل حروف عربی به فارسی و... رو رفع کنه.
خروجی آخر روز نسبتا قابل قبول شد.
هم زمان نسخه اندروید هم شروع کردم ☺️
اینکه این برنامه به درد کسی بخوره یا نه رو نمیدونم. اما حداقل باعث شد من امروز یه ابزار جدید (NativePHP) رو تست کنم.
قابلیتهای جالبی داره و اگه لاراول بلدید، باعث میشه خیلی سریع به خروجی برسید.
آیا NativePHP برای نوشتن اپ دسکتاپ گزینه خوبیه؟ کلمه خوب نسبیه. قطعا برای کسی که قراره از اول برنامهنویسی اپ دسکتاپ با هر زبان یا ابزاری رو یاد بگیره یا کسی که خودش جاوااسکریپت و الکترون و... بلده، نه.
اما برای بکند دولوپری که لاراول بلده و میخواد برای پروژهش خیلی سریع یک اپ دسکتاپ برای مک و ویندوز و لینوکس هم داشته باشه، چرا که نه.
این هم از جمعهای که گذشت.
اگه دوست داشتید، توییتهای مرتبطی که امروز نوشتم رو بخونید.
📝 @MiladNouriChannel
چند روز پیش توی کنفرانس LaraConUS، نیتیو پیاچپی معرفی شد.
امروز قصد داشتم این ابزار رو تست کنم و یک اپ ساده با اون بنویسم.
وسط کار به ذهنم رسید برنامهای بنویسم که متن رو از ما بگیره و یکسری ایرادهای اون مثل رعایت نیمفاصله، تبدیل حروف عربی به فارسی و... رو رفع کنه.
خروجی آخر روز نسبتا قابل قبول شد.
هم زمان نسخه اندروید هم شروع کردم ☺️
اینکه این برنامه به درد کسی بخوره یا نه رو نمیدونم. اما حداقل باعث شد من امروز یه ابزار جدید (NativePHP) رو تست کنم.
قابلیتهای جالبی داره و اگه لاراول بلدید، باعث میشه خیلی سریع به خروجی برسید.
آیا NativePHP برای نوشتن اپ دسکتاپ گزینه خوبیه؟ کلمه خوب نسبیه. قطعا برای کسی که قراره از اول برنامهنویسی اپ دسکتاپ با هر زبان یا ابزاری رو یاد بگیره یا کسی که خودش جاوااسکریپت و الکترون و... بلده، نه.
اما برای بکند دولوپری که لاراول بلده و میخواد برای پروژهش خیلی سریع یک اپ دسکتاپ برای مک و ویندوز و لینوکس هم داشته باشه، چرا که نه.
این هم از جمعهای که گذشت.
اگه دوست داشتید، توییتهای مرتبطی که امروز نوشتم رو بخونید.
📝 @MiladNouriChannel
🔥4
Media is too big
VIEW IN TELEGRAM
یکی از سهبعدیترین پروژه هایی که پیاده کردم، نسخه جدید سایت دولوپیکس هست که دموی ویدیوییاش رو میتونید ببینید
خود سایت رو هم تست کنید و اگر مشکلی دیدید اطلاع بدید
خود سایت رو هم تست کنید و اگر مشکلی دیدید اطلاع بدید
🔥9
این ریپوزیتوری ابزارهای خوبی برای زبان فارسی داره، از جمله DatePicker شمسی و تبدیل تاریخ و اعداد و ...، توصیه میکنم ببینید
https://github.com/persian-tools
https://github.com/persian-tools
GitHub
Persian Tools
PersianTools is a standalone, library-agnostic that enables some of the Persian features for use in Javanoscript, Go, Python, Java, etc... - Persian Tools
🔥5
یکی از جالبترین پروژههایی که تا به الان وجود داشته و بیخبر بودم ازش، پروژه JA3 هست که در حوزه پروفایلینگ SSL و TLS هست
اگر مدیر سرور هستید، احتمالا شناسایی کاربرانی که IP عوض میکنند یا با تغییر User Agent و پورت و ... سعی در دور زدن سیستم های امنیتیتون دارند، یک معضل همیشگی بوده و هست
یکی از جالبترین راهکار هایی که JA3 در اختیارتون قرار میده، امکان ایجاد Fingerprint از SSL/TLS کاربر هست که با عوض کردن IP و Port و UA هم باز میتونید کاربر مد نظر رو شناسایی کنید
مثلا فینگرپرینت یک کلاینت استاندارد Tor مشابه زیر هست:
e7d705a3286e19ea42f587b344ee6865
💠 اینجا میتونید لیست بیشتری از FingerPrint هایی معروف رو ببینید
⭕️ https://github.com/salesforce/ja3
💡 مقاله کامل این مبحث رو هم میتونید اینجا بخونید
اگر مدیر سرور هستید، احتمالا شناسایی کاربرانی که IP عوض میکنند یا با تغییر User Agent و پورت و ... سعی در دور زدن سیستم های امنیتیتون دارند، یک معضل همیشگی بوده و هست
یکی از جالبترین راهکار هایی که JA3 در اختیارتون قرار میده، امکان ایجاد Fingerprint از SSL/TLS کاربر هست که با عوض کردن IP و Port و UA هم باز میتونید کاربر مد نظر رو شناسایی کنید
مثلا فینگرپرینت یک کلاینت استاندارد Tor مشابه زیر هست:
e7d705a3286e19ea42f587b344ee6865
💠 اینجا میتونید لیست بیشتری از FingerPrint هایی معروف رو ببینید
⭕️ https://github.com/salesforce/ja3
💡 مقاله کامل این مبحث رو هم میتونید اینجا بخونید
GitHub
GitHub - salesforce/ja3: JA3 is a standard for creating SSL client fingerprints in an easy to produce and shareable way.
JA3 is a standard for creating SSL client fingerprints in an easy to produce and shareable way. - salesforce/ja3
🔥4
یکی از بهترین و سریعترین کتابخونههایی که برای Post Processing برای ThreeJS دیدم، این کتابخونه هست
قابلیت های خیلی خوب و جالبی هم داره و فیلترها و افکت های زیبا
البته که "سریع بودن" نسبی هست، اگر از افکتهای سنگینی استفاده کنید طبیعتا فریمریت پایینتر میاد و تعداد Call های بیشتری به WebGL میشه و پرفرمنس پایین میاد
💠 مشاهده دموها
⭕️ https://github.com/pmndrs/postprocessing
قابلیت های خیلی خوب و جالبی هم داره و فیلترها و افکت های زیبا
البته که "سریع بودن" نسبی هست، اگر از افکتهای سنگینی استفاده کنید طبیعتا فریمریت پایینتر میاد و تعداد Call های بیشتری به WebGL میشه و پرفرمنس پایین میاد
💠 مشاهده دموها
⭕️ https://github.com/pmndrs/postprocessing
GitHub
GitHub - pmndrs/postprocessing: A post processing library for three.js.
A post processing library for three.js. Contribute to pmndrs/postprocessing development by creating an account on GitHub.
🔥5
اگر علاقه به نوشتن برنامههای PHP بهصورت Portable تر دارید، توصیه میکنم با پروژه PHP Runtime آشنا بشید
من هم جدیدا آشنا شدم و حرف زیادی ندارم درموردش بزنم، صرفا درمورد کاربردش میتونم بهتون بگم که:
فرض کنید یک وبسایت با PHP نوشتید و تصمیم میگیرید که سایت رو بیارید روی OpenSwoole، مجبور هستید حداقل 20 درصد از کد های پروژه رو بازنویسی کنید تا مشکل متغیر های Global و ساختاریای مثل _GET و _POST و … رو حل کنید
حالا فرض کنید از OpenSwoole خوشتون نیومده و میرید سمت RoadRunner یا ReactPHP یا AMPHP و دوباره مجبور هستید بخش هایی از پروژه که مختص به فریمورک هستند رو بازنویسی کنید
کاربرد PHP Runtime برای حل این مشکل هست و در واقع برنامهتون رو بهشکل BlackBoxed مینویسید که بتونید بدون زحمت تغییر در کد، با یک ساختار واحد، داخل OpenSwoole یا RoadRunner یا ReactPHP و … پروژهتون رو اجرا کنید
https://github.com/php-runtime/runtime
من هم جدیدا آشنا شدم و حرف زیادی ندارم درموردش بزنم، صرفا درمورد کاربردش میتونم بهتون بگم که:
فرض کنید یک وبسایت با PHP نوشتید و تصمیم میگیرید که سایت رو بیارید روی OpenSwoole، مجبور هستید حداقل 20 درصد از کد های پروژه رو بازنویسی کنید تا مشکل متغیر های Global و ساختاریای مثل _GET و _POST و … رو حل کنید
حالا فرض کنید از OpenSwoole خوشتون نیومده و میرید سمت RoadRunner یا ReactPHP یا AMPHP و دوباره مجبور هستید بخش هایی از پروژه که مختص به فریمورک هستند رو بازنویسی کنید
کاربرد PHP Runtime برای حل این مشکل هست و در واقع برنامهتون رو بهشکل BlackBoxed مینویسید که بتونید بدون زحمت تغییر در کد، با یک ساختار واحد، داخل OpenSwoole یا RoadRunner یا ReactPHP و … پروژهتون رو اجرا کنید
https://github.com/php-runtime/runtime
GitHub
GitHub - php-runtime/runtime: A home for runtimes.
A home for runtimes. . Contribute to php-runtime/runtime development by creating an account on GitHub.
🔥3
این زبان عجیب و غریب رو توصیه میکنم ببینید و همین صفحه گیتهابش رو تا انتها بخونید تا با ویژگیهای خندهدارش آشنا باشید
چیزی به اسم حلقه هم نداره چون معتقد هست حلقهها منسوخ هستند!
به جای سمیکالن از ! استفاده میکنه و به جای not از سمیکالن استفاده میکنه
مقدار Boolean اش سه حالت بله و خیر و «شاید» هست
آرایههاش نه از صفر و نه از یک، بلکه از منفی یک شروع میشه
میتونید بگید که 5 مساوی 4 هست و از اون به بعد هرجای برنامه 5 استفاده کنید، مقدار 4 نمایش داده میشه (هر چیزی رو در زبان میتونید مقدار دهی کنید و عوض کنید کاربردش رو)
و کلی قابلیت عجیب و غیرمنتظره دیگه، که بیشتر جنبه فان و شوخی با زبان های برنامهنویسی رو داره
https://github.com/TodePond/C
چیزی به اسم حلقه هم نداره چون معتقد هست حلقهها منسوخ هستند!
به جای سمیکالن از ! استفاده میکنه و به جای not از سمیکالن استفاده میکنه
مقدار Boolean اش سه حالت بله و خیر و «شاید» هست
آرایههاش نه از صفر و نه از یک، بلکه از منفی یک شروع میشه
میتونید بگید که 5 مساوی 4 هست و از اون به بعد هرجای برنامه 5 استفاده کنید، مقدار 4 نمایش داده میشه (هر چیزی رو در زبان میتونید مقدار دهی کنید و عوض کنید کاربردش رو)
و کلی قابلیت عجیب و غیرمنتظره دیگه، که بیشتر جنبه فان و شوخی با زبان های برنامهنویسی رو داره
https://github.com/TodePond/C
🔥9
نسخه r156 کتابخونه ThreeJS هم اخیرا ریلیز شده و تغییراتش رو میتونید از اینجا ببینید و آپدیت کنید به نسخه جدید
https://threejs.org/changelog/?r156
https://threejs.org/changelog/?r156
یکسری توضیحاتی درمورد trade off ها در زبانهای برنامهنویسی دادم که توصیه میکنم این پیام و دنبالهاش رو بخونید
https://news.1rj.ru/str/IRDevelopersGP/1780109
https://news.1rj.ru/str/IRDevelopersGP/1780109
Telegram
Erfan Mola in گفتگوی توسعهدهندگان ایرانی
هیچ چیز در دنیا کامل نیست و هرچیزی trade off هایی داره
باید بشناسید trade off ها ها رو
اینکه چه چیزی رو از دست میدید در قبال اینکه چه چیزی رو به دست میارید
مثل کفه های ترازو میمونه
مثلا وقتی استخدام میشید، روزی ۸ ساعت وقت از دست میدید و در ازاش حقوق…
باید بشناسید trade off ها ها رو
اینکه چه چیزی رو از دست میدید در قبال اینکه چه چیزی رو به دست میارید
مثل کفه های ترازو میمونه
مثلا وقتی استخدام میشید، روزی ۸ ساعت وقت از دست میدید و در ازاش حقوق…
🔥7
| Erfan's Notes |
این عکس تایم تقریبی یکسری عملیاتهای مهم توی سیستمهای کامپیوتری رو نوشته، قابل توجه کسانی هست که پرفرمنس و میلیثانیهها براشون مهمه بهصورت خلاصه عملیاتهای CPU و RAM و نتورک Local خیلی سریع هستند و عملیاتهای Disk و IO و نتورک Remote گلوگاه یا همون…
در ادامه بحث پرفرمنس، این هم نمودار خیلی زیبا در مقایسه ارتباط بین پرفرمنس و انواع روشهای concurrency هست
داغونترین حالت تعلق میگیره به fork کردن پروسس جدید
حالت thread هم یک حد میانی محسوب میشه
حالتهای pre forked و pre threaded و epoll در ابتدا نزدیک هستند ولی با بیشتر شدن concurrency نزولی میشن
در نهایت، مکانیسم epoll لینوکس در صدر میمونه و میتازه (:
نکته اول: این مقایسه برای requests per second یک وبسرور هست و الزاما در هر نوع concurrency اینطور نیست
نکته دوم: اگر علاقهمند به مطالعه درمورد epoll در لینوکس بودید، این صفحه رو ببینید
نکته سوم: در openswoole برای event loop از epoll استفاده میشه
داغونترین حالت تعلق میگیره به fork کردن پروسس جدید
حالت thread هم یک حد میانی محسوب میشه
حالتهای pre forked و pre threaded و epoll در ابتدا نزدیک هستند ولی با بیشتر شدن concurrency نزولی میشن
در نهایت، مکانیسم epoll لینوکس در صدر میمونه و میتازه (:
نکته اول: این مقایسه برای requests per second یک وبسرور هست و الزاما در هر نوع concurrency اینطور نیست
نکته دوم: اگر علاقهمند به مطالعه درمورد epoll در لینوکس بودید، این صفحه رو ببینید
نکته سوم: در openswoole برای event loop از epoll استفاده میشه
🔥6
نسخه v1 رانتایم Bun هم منتشر شد، میتونید دانلود کنید و تست کنید (تا به الان در حالت بتا بود)
طبق ادعا هایی که میکنه، ۵-۶ برابر سریعتر از NodeJS هست، ولی آیا صحت داره؟ من خودم بنچمارک نکردمشون ولی چشمبسته میتونم قبول کنم که واقعیت داره
چون میدونم که ساختار NodeJS واقعا ایدهآل نیست و خیلی نقاط ضعف ساختاری میشه داخلش پیدا کرد
ولی آیا باید به Bun مهاجرت کنیم؟ فکر نمیکنم، چون هنوز اول راه هست و تقریبا هیچ چیز درست و حسابیای که توی NodeJS استفاده میکردیم باهاش سازگاری کامل نداره
https://bun.sh
طبق ادعا هایی که میکنه، ۵-۶ برابر سریعتر از NodeJS هست، ولی آیا صحت داره؟ من خودم بنچمارک نکردمشون ولی چشمبسته میتونم قبول کنم که واقعیت داره
چون میدونم که ساختار NodeJS واقعا ایدهآل نیست و خیلی نقاط ضعف ساختاری میشه داخلش پیدا کرد
ولی آیا باید به Bun مهاجرت کنیم؟ فکر نمیکنم، چون هنوز اول راه هست و تقریبا هیچ چیز درست و حسابیای که توی NodeJS استفاده میکردیم باهاش سازگاری کامل نداره
https://bun.sh
Bun
Bun — A fast all-in-one JavaScript runtime
Bundle, install, and run JavaScript & TypeScript — all in Bun. Bun is a new JavaScript runtime with a native bundler, transpiler, task runner, and npm client built-in.
🔥6
یکی از بهترین جایگزینهایی که میشه برای Postman پیدا کرد، نرمافزار Insomnia هست، اوپنسورس هست و میتونید از این لینک ببینید
ولی خب چرا Postman نه؟ چون سادگیاش رو نسبت به اوایل از دست داده و کمکم فکر مهاجرت ازش فرا رسیده
ولی خب چرا Postman نه؟ چون سادگیاش رو نسبت به اوایل از دست داده و کمکم فکر مهاجرت ازش فرا رسیده
🔥7
این ویدیو از سری ویدیو های ارزشمندی هست که سورسکد Xv6 رو بررسی میکنه
منبع خوبی میتونه باشه برای کسانی که دنبال یادگیری سطوح پایینتر OS و بوتلودر هستند
نکته مهم هم اینه که الزاما قرار نیست هرکسی OS بنویسه با دیدن این سری ویدیوها
منبع خوبی میتونه باشه برای کسانی که دنبال یادگیری سطوح پایینتر OS و بوتلودر هستند
نکته مهم هم اینه که الزاما قرار نیست هرکسی OS بنویسه با دیدن این سری ویدیوها
YouTube
How does an OS boot? //Source Dive// 001
In this installment of //Source Dive//, we're learning about the xv6 Operating System; Specifically the low-level boot code that gets the CPU in the correct state to run the OS!
=[ 🔗 Links 🔗 ]=
🐋 RISC-V Docker Image: https://github.com/francisrstokes/rv…
=[ 🔗 Links 🔗 ]=
🐋 RISC-V Docker Image: https://github.com/francisrstokes/rv…
🔥4
یک جایگزین فوقالعاده قدرتمند و سرعتمند برای SocketIO در محیط های NodeJS و کاملا سازگار با رانتایم Bun:
https://github.com/uNetworking/uWebSockets.js
https://github.com/uNetworking/uWebSockets.js
GitHub
GitHub - uNetworking/uWebSockets.js: μWebSockets for Node.js back-ends :metal:
μWebSockets for Node.js back-ends :metal:. Contribute to uNetworking/uWebSockets.js development by creating an account on GitHub.
🔥4