| Erfan's Notes | – Telegram
| Erfan's Notes |
192 subscribers
81 photos
10 videos
101 links
Download Telegram
| Erfan's Notes |
یکی از مباحث جالبی که باهاش می‌تونید وارد دنیای سه‌بعدی توی محیط وب بشید، ساخت دریا هست سمپلی که در این لینک هست به صورت واضح این مبحث رو به تصویر کشیده روال کار به این صورت هست که در دنیای سه بعدی، تمامی Geometry ها از چندضلعی‌هایی مثل مثلث تشکیل شدند …
و البته که در این صفحه می‌تونید مثال‌هایی از تمامی قابلیت های ThreeJS ببینید و به قدرتش پی ببرید

یادگیری WebGL و ThreeJS یا حداقل استفاده از ابزار های آماده برای طراحی سه‌بعدی در محیط وب، الان یک "باید" محسوب می‌شه برای کسی که خودش رو فرانت‌کار می‌دونه

https://threejs.org/examples/
🔥2
موافق ایجاد یک گروه فارسی برای وب سه‌بعدی (Spline، ThreeJS، …) هستید؟
Anonymous Poll
75%
موافق هستم
25%
!(موافق هستم)
| Erfan's Notes |
موافق ایجاد یک گروه فارسی برای وب سه‌بعدی (Spline، ThreeJS، …) هستید؟
خب، طبق نتایج نظرسنجی دوستانی که علاقه‌مند بودند می‌تونند داخل @SplineGP عضو بشن

در حال حاضر محتوای خاصی نداره ولی سعی می‌کنم به‌زودی یک‌سری ویدیو درمورد طراحی سه‌بعدی در وب ضبط کنم و داخل گروه و یوتیوب قرار بدم

و البته تاکید بر پرمحتوا بودن گروه نیست، صرفا وجود یک کامیونیتی هرچند کوچیک ایرانی، مایه دلگرمی توی هر حوزه‌ای هست

درمورد نتایج نظرسنجی دوم هم، بیشتر جنبه آگاهی داشت و تاثیر مستقیمی در روند ارسال مطلب داخل کانال نداره، داخل کانال هرچیزی که ارزش اشتراک‌گذاری داشته باشه، قرار می‌گیره
🔥5
Forwarded from Milad Nouri(ツ) میلاد نوری

چند روز پیش توی کنفرانس LaraConUS، نیتیو پی‌اچ‌پی معرفی شد.

امروز قصد داشتم این ابزار رو تست کنم و یک اپ ساده با اون بنویسم.

وسط کار به ذهنم رسید برنامه‌ای بنویسم که متن رو از ما بگیره و یکسری ایرادهای اون مثل رعایت نیم‌فاصله، تبدیل حروف عربی به فارسی و... رو رفع کنه.

خروجی آخر روز نسبتا قابل قبول شد.
هم زمان نسخه اندروید هم شروع کردم ☺️

اینکه این برنامه به درد کسی بخوره یا نه رو نمی‌دونم. اما حداقل باعث شد من امروز یه ابزار جدید (NativePHP) رو تست کنم.
قابلیت‌های جالبی داره و اگه لاراول بلدید، باعث می‌شه خیلی سریع به خروجی برسید.

آیا NativePHP برای نوشتن اپ دسکتاپ گزینه خوبیه؟‌ کلمه خوب نسبیه. قطعا برای کسی که قراره از اول برنامه‌نویسی اپ دسکتاپ با هر زبان یا ابزاری رو یاد بگیره یا کسی که خودش جاوااسکریپت و الکترون و... بلده، نه.

اما برای بکند دولوپری که لاراول بلده و می‌خواد برای پروژه‌ش خیلی سریع یک اپ دسکتاپ برای مک و ویندوز و لینوکس هم داشته باشه، چرا که نه.
‌‌
این هم از جمعه‌ای که گذشت.

اگه دوست داشتید، توییت‌های مرتبطی که امروز نوشتم رو بخونید.

📝 @MiladNouriChannel
🔥4
Media is too big
VIEW IN TELEGRAM
یکی از سه‌بعدی‌ترین پروژه هایی که پیاده کردم، نسخه جدید سایت دولوپیکس هست که دموی ویدیویی‌اش رو می‌تونید ببینید

خود سایت رو هم تست کنید و اگر مشکلی دیدید اطلاع بدید
🔥9
این ریپوزیتوری ابزارهای خوبی برای زبان فارسی داره، از جمله DatePicker شمسی و تبدیل تاریخ و اعداد و ...، توصیه می‌کنم ببینید

https://github.com/persian-tools
🔥5
احتمالا برای شما هم پیش اومده که توی پروژه خراب‌کاری کردید و آرزو کردید که کاش زمان به عقب برگرده

خب، این قابلیت در Git وجود داره و می‌تونید برگردید به کامیتی که در یک زمان خاص بودید، ساختار زمانی آدمی‌زاد هم می‌فهمه ظاهرا
🔥7
یکی از جالب‌ترین پروژه‌هایی که تا به الان وجود داشته و بی‌خبر بودم ازش، پروژه JA3 هست که در حوزه پروفایلینگ SSL و TLS هست

اگر مدیر سرور هستید، احتمالا شناسایی کاربرانی که IP عوض می‌کنند یا با تغییر User Agent و پورت و ... سعی در دور زدن سیستم های امنیتی‌تون دارند، یک معضل همیشگی بوده و هست

یکی از جالب‌ترین راهکار هایی که JA3 در اختیارتون قرار میده، امکان ایجاد Fingerprint از SSL/TLS کاربر هست که با عوض کردن IP و Port و UA هم باز می‌تونید کاربر مد نظر رو شناسایی کنید

مثلا فینگرپرینت یک کلاینت استاندارد Tor مشابه زیر هست:
e7d705a3286e19ea42f587b344ee6865

💠 اینجا می‌تونید لیست بیشتری از FingerPrint هایی معروف رو ببینید

⭕️ https://github.com/salesforce/ja3

💡 مقاله کامل این مبحث رو هم می‌تونید اینجا بخونید
🔥4
یکی از بهترین و سریع‌ترین کتابخونه‌هایی که برای Post Processing برای ThreeJS دیدم، این کتابخونه هست

قابلیت های خیلی خوب و جالبی هم داره و فیلترها و افکت های زیبا

البته که "سریع بودن" نسبی هست، اگر از افکت‌های سنگینی استفاده کنید طبیعتا فریم‌ریت پایین‌تر میاد و تعداد Call های بیشتری به WebGL می‌شه و پرفرمنس پایین میاد

💠 مشاهده دموها

⭕️ https://github.com/pmndrs/postprocessing
🔥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
🔥3
این زبان عجیب و غریب رو توصیه می‌کنم ببینید و همین صفحه گیت‌هابش رو تا انتها بخونید تا با ویژگی‌های خنده‌دارش آشنا باشید

چیزی به اسم حلقه هم نداره چون معتقد هست حلقه‌ها منسوخ هستند!

به جای سمی‌کالن از ! استفاده می‌کنه و به جای not از سمی‌کالن استفاده می‌کنه

مقدار Boolean اش سه حالت بله و خیر و «شاید» هست

آرایه‌هاش نه از صفر و نه از یک، بلکه از منفی یک شروع می‌شه

می‌تونید بگید که 5 مساوی 4 هست و از اون به بعد هرجای برنامه 5 استفاده کنید، مقدار 4 نمایش داده می‌شه (هر چیزی رو در زبان می‌تونید مقدار دهی کنید و عوض کنید کاربردش رو)

و کلی قابلیت عجیب و غیرمنتظره دیگه، که بیشتر جنبه فان و شوخی با زبان های برنامه‌نویسی رو داره

https://github.com/TodePond/C
🔥9
نسخه r156 کتابخونه ThreeJS هم اخیرا ریلیز شده و تغییراتش رو می‌تونید از اینجا ببینید و آپدیت کنید به نسخه جدید

https://threejs.org/changelog/?r156
این عکس تایم تقریبی یک‌سری عملیات‌های مهم توی سیستم‌های کامپیوتری رو نوشته، قابل توجه کسانی هست که پرفرمنس و میلی‌ثانیه‌ها براشون مهمه

به‌صورت خلاصه عملیات‌های CPU و‌ RAM و نتورک Local خیلی سریع هستند

و عملیات‌های Disk و IO و نتورک Remote گلوگاه یا همون Bottleneck هستند و باید non-blocking باشند
🔥3
| 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 استفاده می‌شه
🔥6
نسخه v1 ران‌تایم Bun هم منتشر شد، می‌تونید دانلود کنید و تست کنید (تا به الان در حالت بتا بود)

طبق ادعا هایی که می‌کنه، ۵-۶ برابر سریع‌تر از NodeJS هست، ولی آیا صحت داره؟ من خودم بنچمارک نکردمشون ولی چشم‌بسته می‌تونم قبول کنم که واقعیت داره

چون می‌دونم که ساختار NodeJS واقعا ایده‌آل نیست و خیلی نقاط ضعف ساختاری می‌شه داخلش پیدا کرد

ولی آیا باید به Bun مهاجرت کنیم؟ فکر نمی‌کنم، چون هنوز اول راه هست و تقریبا هیچ چیز درست و حسابی‌ای که توی NodeJS استفاده می‌کردیم باهاش سازگاری کامل نداره

https://bun.sh
🔥6
یکی از بهترین جایگزین‌هایی که می‌شه برای Postman پیدا کرد، نرم‌افزار Insomnia هست، اوپن‌سورس هست و می‌تونید از این لینک ببینید

ولی خب چرا Postman نه؟ چون سادگی‌اش رو نسبت به اوایل از دست داده و کم‌کم فکر مهاجرت ازش فرا رسیده
🔥7
این ویدیو از سری ویدیو های ارزشمندی هست که سورس‌کد Xv6 رو بررسی می‌کنه

منبع خوبی می‌تونه باشه برای کسانی که دنبال یادگیری سطوح پایین‌تر OS و بوت‌لودر هستند

نکته مهم هم اینه که الزاما قرار نیست هرکسی OS بنویسه با دیدن این سری ویدیوها
🔥4
یک جایگزین فوق‌العاده قدرتمند و سرعتمند برای SocketIO در محیط های NodeJS و کاملا سازگار با ران‌تایم Bun:

https://github.com/uNetworking/uWebSockets.js
🔥4