محمد اکبری
محمد اکبری
خواندن ۳ دقیقه·۳ سال پیش

جاوااسکریپت چگونه کار میکند؟ بخش اول

تو دنیای توسعه نرم‌افزار من ترجیح میدم ابزاری که باهاش کار میکنم رو عمیقا بشناسم. استدلالم هم اینه که تقریبا تمام نرم‌افزارهایی که برای کار با کامپیوتر یا ساخت چیزی با کامپیوتر توسعه داده شدند، از اصول اولیه‌ای پیروی میکنند. پس قاعدتا اگر شما این اصول اولیه رو بشناسید و حالا یکی ازین نرم‌افزارها مثلا سیستم‌عامل رو عمیقا مطالعه کنید، هم به کرار میتونید ببینید که از اون اصول کجا استفاده شده، هم اینکه نحوه استفاده و ترفندهایی رو حین مطالعه یاد بگیرید که در زمانی که خودتون قرار باشه محصول جدیدی رو خلق کنید و مسایل و مشکلاتی رو از سر راه بردارید، به کمکتون بیاند.

پس بنابراین تقریبا در تمام مسائل زندگی ترجیح میدم قبل ازینکه دل به دریا بزنم، حداقل یک نوشته رو بردارم و در موردش بخونم. میتونه کتاب، مقاله یا رساله باشه. قاعدتا آدم‌هایی هم هستند که مثل من فکر میکنند و از مزیت‌های اینترنت همینه که میتونید آدم‌هایی شبیه خودتون رو پیدا کنید.


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

طوری که همیشه رویای این رو داشتم که روزی محصولی بسازم که روی کنسول محبوب‌م قابل بازی باشه و از همه مهم‌تر اینکه یا من ساخته باشمش یا اینکه بخشی از تیمی باشم که اون محصول رو توسعه دادند. البته فکر نکنید که توسعه تنهایی بازی‌ها کار سختی هست و غیر قابل انجام. FlappyBird روی آندروید، Fez روی ایکس‌باکس، Braid روی پلی‌استیشن و ایکس‌باکس و از همه مهم‌تر super meet boy روی ایکس‌باکس همه کار تیم‌های یک یا دو نفره هستند و به فروش‌های میلیونی هم رسیدند. اما خب هیچوقت نتونستم اون طور که دوست دارم بازیسازی رو اصولی یاد بگیرم.


بهرصورت ارتباطم رو با دنیای کامپیوتر حفظ کردم و الان یک توسعه‌دهنده وب هستم و همچنان از عشاق دنیای سرگرمی. خوشبختانه دنیای سرگرمی و وب بخاطر بازی‌های آنلاین به هم گره خوردند و موقعیتی پیش اومد تا با ابزاری آشنا بشم که در هر دو دنیا کاربرد داره. Node.JS.

خب همونطور که بالا گفتم من ترجیح میدم از پایه و خیلی کند شروع کنم. Node.JS بر پایه JS و موتور V8 نوشته شده و همینطور برای مدیریت همزمانی از ابزارهای سیستم عامل مثل kqueue و epoll استفاده میکنه. پس برنامه من این شد که تو قدم اول اینا رو بشناسم و خب هر چقدر جلوتر رفتم شگفت زده‌تر شدم. همه چیز برام جدید و هیجان‌انگیز بود و درست مثل بچه‌ای بودم که وارد شهربازی شده، دوست داره همه چیز رو امتحان کنه.

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

https://youtu.be/XHehe9YZyGU

https://youtu.be/XHehe9YZyGU
برنامه نویسیجاوااسکریپتnodejs
سلام محمد هستم. توسعه دهنده بک‌اند ۲۹ ساله از خراسان که در تهران کار و زندگی میکنم و در اصفهان مشغول مطالعه هوش مصنوعی هستم.
شاید از این پست‌ها خوشتان بیاید