Crazy Dev ❤️‍🔥💻
44 subscribers
112 photos
16 videos
11 files
69 links
Senior or Crazy ?! ❤️‍🔥
Download Telegram
Crazy Dev ❤️‍🔥💻
Photo
بریم این سه روش استفاده از JavaScript رو طوری یاد بگیریم که کاملاً متوجه بشی و بتونی خودت ازشون استفاده کنی.
JavaScript چیست؟
جاوااسکریپت زبانی است که به صفحات HTML رفتار و تعامل اضافه میکند.
مثلاً:
وقتی روی دکمه کلیک میکنی
وقتی فرم ارسال میشود
وقتی پیغامی نمایش داده میشود
وقتی رنگ یا متن صفحه تغییر میکند
همه اینها با JavaScript انجام میشود.

1️⃣ استفاده Inline
در این روش کد جاوااسکریپت را مستقیماً داخل ویژگی (Attribute) یک تگ HTML مینویسیم.
مزایا
✅ سریع و ساده
✅ برای تست مناسب
معایب
❌ کدها شلوغ میشوند
❌ نگهداری سخت میشود
❌ در پروژههای واقعی توصیه نمیشود

2️⃣ استفاده Internal
در این روش کدهای جاوااسکریپت را داخل تگ <script> در همان فایل HTML مینویسیم.

3️⃣ استفاده External
این بهترین و حرفهایترین روش است.

چرا External بهترین روش است؟
فرض کن 10 صفحه داری:
home.html
about.html
contact.html
shop.html
اگر از Internal استفاده کنی باید در هر صفحه کدها را تکرار کنی.

اما با External:
script.js
فقط یک بار کد مینویسی.
مزایا:
✅ مرتبتر
✅ حرفهایتر
✅ نگهداری آسان
✅ سرعت بهتر
✅ مناسب پروژههای بزرگ
مقایسه سه روش
روش محل نوشتن JS مناسب پروژه واقعی

Inline داخل تگ HTML ❌
Internal داخل script در HTML ⚠️
External فایل جداگانه js ✅

نکته مهم:
در مسیر یادگیری جاوااسکریپت، تقریباً تمام پروژههای واقعی از External JavaScript استفاده میکنند. پس بعد از اینکه مفهوم Inline و Internal را فهمیدی، تمرکز اصلیت را روی External بگذار.

منبع:
https://www.linkedin.com/posts/askarimohamadhossein_%D8%A8%D8%B1%DB%8C%D9%85-%D8%A7%DB%8C%D9%86-%D8%B3%D9%87-%D8%B1%D9%88%D8%B4-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-javascript-%D8%B1%D9%88-share-7474016568826380288-minS
❤1🔥1
Forwarded from Code Lab (Negar)
🥽اگر میخوای افکتای شیشه ای توی پروژت استفاده کنی اما وقتشو نداری و دنبال یه ابزاری که این کارو برات انجام بده. Aether CSS این کارو میکنه.

این ابزار میتونه Liquid Glass های محبوب رو مثل Glassmorphism خیلی سریع Generate کنه و با یه رابط کاربری ساده میتونی کاستومش کنی و کد CSS اشو برای پروژه خودت استفاده کنی.

🔗 https://aethercss.lovable.app

❕این ابزار اول راهه و جای کار داره ولی با این حال مفیده.


#css
CODELAB | GpCodeLab
👍1🔥1
PHP SAPIs

از mod_php تا رانتایم‌های مدرن: شیرجه‌ای عمیق در SAPIهای PHP 🧠⚙️

تکامل PHP از اسکریپت ساده تا سرور سازمانی، داستان SAPIهاست — واسط‌هایی که تعریف می‌کنن دنیای بیرون چطور با PHP حرف بزنه.

بیایید به ترتیب تاریخ، با دانش کامپیوتری که واقعاً مهمه بررسی کنیم. 🔍

---

🧾 واژه‌نامه سریع

🔹 SAPI — لایه اتصال وب‌سرور به موتور PHP
🔹 Shared‑Nothing — هر درخواست پروسه ایزوله داره، هیچ داده‌ای بین درخواست‌ها باقی نمی‌مونه
🔹 OPcache — کش اپ‌کدهای کامپایل‌شده در حافظه مشترک (mmap)
🔹 Worker — پروسه با عمر طولانی که مکرراً جاب می‌گیره
🔹 Event Loop — حلقه منتظر رویدادهای I/O، بدون بلاک کردن کل پروسه
🔹 Coroutine — واحد اجرایی سبک که روی I/O متوقف و از سر گرفته میشه (ترد نیست)
🔹 Blocking I/O — پروسه تا اتمام فراخوان سیستمی (مثل کوئری) کاملاً فریز میشه
🔹 Bootstrap — هزینه راه‌اندازی فریم‌ورک، یک بار یا هر درخواست

---

۱. Apache + mod_php 🦖 (۱۹۹۸)

PHP مستقیماً داخل حافظه Apache جاسازی می‌شد. بدون سربار IPC، سریع برای اسکریپت‌های کوچک.

🔬 مشکل: هر فرزند Apache کل موتور PHP رو لود می‌کرد، حتی برای فایل استاتیک. به دیوار C10k خورد. افزونه‌ها با ZTS ناپایدار بودن.

✨ نقطه طلایی: سادگی محض. بدون پیکربندی راه می‌افته.

---

۲. FastCGI 🌉 (اوایل ۲۰۰۰)

CGI برای هر درخواست یه پروسه جدید می‌ساخت — فاجعه سرعت. ولی یه ایده رو اثبات کرد: جدایی وب‌سرور از PHP. FastCGI پروسه‌ها رو زنده نگه داشت.

---

۳. PHP‑FPM ⚡ (۲۰۱۱)

وقتی nginx با Event Loop ناهمگامش اومد، نیاز به مدیر پروسه مستقل برای PHP داشت. FPM: مستر پروسه‌ها رو فورک می‌کنه، استخر Worker می‌سازه، با FastCGI روی سوکت حرف می‌زنه.

🧠 OPcache یک بار کامپایل میشه، بچه‌ها از mmap ارث می‌برن. ری‌لود بدون قطعی با SIGUSR2.

✨ نقطه طلایی: امنیت Shared‑Nothing. نشت حافظه فقط یک درخواست رو می‌کشه.

🚫 محدودیت: Workerها روی I/O بلاک می‌شن. ۵۰ تا Worker + ۵۰ کوئری کند = همه فریز.

---

۴. Swoole 🔄 (۲۰۱۲)

یه افزونه PHP که تبدیلش می‌کنه به سرور هم‌روتین‌محور و رویدادگرا. بدون نیاز به وب‌سرور خارجی.

🧠 Event Loop داخلی با epoll. هم‌روتین‌های Stackful که روی I/O متوقف و با رسیدن داده Resume می‌شن. یه Worker می‌تونه هزاران هم‌روتین همزمان داشته باشه. حافظه ماندگار: Connection Pool بین درخواست‌ها زنده می‌مونه.

✨ نقطه طلایی: C10M روی یه ماشین با هم‌روتین‌ها.

⚠️ هزینه: باید کد non‑blocking بنویسی. حافظه مشترک یعنی مسئولیت data race با خودته.

---

۵. RoadRunner 🏎️ (۲۰۱۷)

فلسفه متفاوت: PHP تو منطقه امنش بمونه، Go مدیریتش کنه.

🧩 سرور اصلی با Go. Workerها پروسه‌های PHP CLI هستن که فریم‌ورک رو یک بار لود می‌کنن، بعد تو حلقه بی‌نهایت جاب می‌گیرن. ارتباط از طریق پروتکل goridge روی pipe.

✨ نقطه طلایی: Hot Bootstrap. ۴ تا ۱۰ برابر توان عملیاتی نسبت به FPM.

💡 Go کارای سخت رو می‌کنه — TLS, HTTP/2, WebSocket. PHP فقط منطق بیزینس.

---

۶. FrankenPHP 🧟‍♂️ (۲۰۲۲)

نقطه هم‌گرایی: Caddy + PHP تو یه باینری یکتا.

⚙️ دو حالت:
• کلاسیک — مثل FPM با FastCGI
• Worker Mode — اسکریپت PHP زنده می‌مونه، FastCGI دور زده میشه

✨ نقطه طلایی: بهترین هر دو دنیا. ساده شروع کن، بعداً سریع شو. HTTPS خودکار، HTTP/3، باینری یکتا — رؤیای DevOps.

---

🎯 تایم‌لاین

1️⃣ mod_php — جاسازی‌شده، سادگی
2️⃣ FastCGI — آغاز جدایی
3️⃣ PHP‑FPM — استخر پروسه، امن
4️⃣ Swoole — هم‌روتین‌ها، حداکثر توان
5️⃣ RoadRunner — Go + PHP، Hot Bootstrap
6️⃣ FrankenPHP — هیبریدی، باینری یکتا

---

🧠 تغییر بنیادین علم کامپیوتر

از «یک پروسه = یک درخواست بلاک‌شونده» → به «استخر پروسه × Event Loop»

• FPM = امن، ولی بلاک روی I/O
• Swoole = حداکثر هم‌روندی، ریسک حالت مشترک
• RoadRunner/FrankenPHP Worker Mode = PHP بلاک می‌مونه، سرور async هندل می‌کنه

PHP CLI SAPI حالا ستون فقرات PHP مدرنه — PHP رو زنده نگه دار، وب‌سرور فقط یه پروکسی نازک میشه.

---

منبع:
https://www.linkedin.com/posts/abolfazl-rajaee-nasab-195aa3225_php-sapi-phpfpm-share-7474776137399701504-ZgkL

🆔 @crzy_dev
#PHP #SAPI #PHPFPM #Swoole #RoadRunner #FrankenPHP #Backend #ComputerScience #Coroutines #EventLoop #Nginx #برنامه‌نویسی #توسعه‌وب #معماری_نرم‌افزار
❤1
پی دی افی برای درآمد های حدودی در فریلنسینگ بین‌المللی (آپورک و فریلنسر) توسط کایا منتشر شده است.
حتما نگاه کنید.

#درآمد
#فریلنسینگ
#usd
#freelancing
❤2
🚀 یه پروژه باحال ساختم — Hidden Love 💕

یه ابزار وب که پیام‌های مخفی رو به لینک‌های تبلیغاتی معمولی تبدیل می‌کنه.

چطور کار می‌کنه:
پیامت رو می‌نویسی → یه لینک مثل https://amazon.com?q=... می‌گیری
بقیه فکر می‌کنن یه لینک تبلیغاتی معمولیه. ولی تو و طرف مقابلت می‌دونین داخلش یه پیام مخفی قایم شده 💌

تکنولوژی‌ها:
⚛️ React 19 • TypeScript • Vite 5
🎨 Tailwind CSS 4 • DaisyUI 5
🌍 پشتیبانی از فارسی و انگلیسی با راست‌چین
🔐 رمزنگاری سفارشی + فشرده‌سازی متن

👉 نسخه آنلاین: abolraj.github.io/hidden-love
👉 گیت‌هاب: github.com/abolraj/hidden-love

خوشحال می‌شم نظرتون رو بدونم! چه قابلیتی بهش اضافه می‌کردین؟

#react #typescript #webdev #opensource #persian
❤4😁1
Crazy Dev ❤️‍🔥💻 pinned «🚀 یه پروژه باحال ساختم — Hidden Love 💕 یه ابزار وب که پیام‌های مخفی رو به لینک‌های تبلیغاتی معمولی تبدیل می‌کنه. چطور کار می‌کنه: پیامت رو می‌نویسی → یه لینک مثل https://amazon.com?q=... می‌گیری بقیه فکر می‌کنن یه لینک تبلیغاتی معمولیه. ولی تو و طرف مقابلت…»
چند تا سایت واسه هاست/سرور ارزون و کانفیگ نسبتا خوب بعد از کلی گشتن

(دو مورد اول از لحاظ کیفیت تست شده هست از خیلیا شنیدیم)

chabokan.net
netafraz.com
azardata.net (TNX @AliNaqdi84)
azaronline.com
radcom.co
mobinidc.com
bertina.ir


#vps
#host
#shared_host
#هاستینگ
#سرور
#سایت
داستان موتور هونداهامون...

در سال ۱۹۴۶، یک مکانیک ژاپنی به نام سوئیچیرو هوندا 🇯🇵🔧 شروع به نصب موتورهای مازاد ژنراتور رادیویی ارتش امپراتوری ژاپن 🪖📻 روی دوچرخه‌ها 🚲⚙️ در دوران جیره‌بندیِ پس از جنگ کرد — و شرکت کوچکی که او دو سال بعد تأسیس کرد، اکنون بزرگ‌ترین تولیدکننده موتورسیکلت در جهان است 🏍️🌍🏆

In 1946, a Japanese mechanic named Soichiro Honda began bolting surplus Imperial Japanese Army radio generator engines onto bicycles in post-war rationing-era Japan — and the small company he founded two years later is now the largest motorcycle manufacturer in the world



https://share.google/fREyRag2u0F8nGk3i