Forwarded from جادی | Jadi
نابغه باید بمیرد - aaron swartz.pdf
2.2 MB
نگاهی به زندگی آرون شواتز و معرفی کتاب «نابغه باید بمیرد»
آرون شوارتز، آرون سوارتزِ سوارتس یا ارون سورتز یا هر جور دیگه که تلفظش کنین، نابغهای در دنیای کامپیوتر بود. کسی که چیزهایی مثل آر اس اس، ردیت و مارکداون بخشی از کارهاش هستن و هکتیویسمش نمونه ای برای هرکسی که می فهمه خوبه سواد فنیاش فایده اجتماعی هم داشته باشه.
در این ویدئوی خیلی کوتاه با توجه به خبری که اخیرا در مورد شرکت متا / فیسبوک بوده نگاهی به زندگیش داریم و دلیل خودکشی اش و معرفی کتاب کوتاه «نابغه باید بمیرد» که نسترن خسروی از نوشتههاش جمع کرده.
https://youtu.be/qlWZmJzXBvY
#کتاب #ویدئو
آرون شوارتز، آرون سوارتزِ سوارتس یا ارون سورتز یا هر جور دیگه که تلفظش کنین، نابغهای در دنیای کامپیوتر بود. کسی که چیزهایی مثل آر اس اس، ردیت و مارکداون بخشی از کارهاش هستن و هکتیویسمش نمونه ای برای هرکسی که می فهمه خوبه سواد فنیاش فایده اجتماعی هم داشته باشه.
در این ویدئوی خیلی کوتاه با توجه به خبری که اخیرا در مورد شرکت متا / فیسبوک بوده نگاهی به زندگیش داریم و دلیل خودکشی اش و معرفی کتاب کوتاه «نابغه باید بمیرد» که نسترن خسروی از نوشتههاش جمع کرده.
https://youtu.be/qlWZmJzXBvY
#کتاب #ویدئو
🔥1
کمک کردن و راهنمایی همیشه برام یه انگیزه بزرگ بوده، و خیلی خوشحالم که توی این مسیر دارم جلو میرم. حالا با کلی ذوق و انرژی باید بگم که توی 50 منتور برتر فرانتاند در ADPList قرار گرفتم! 😍
این اتفاق بدون همراهی و انگیزه شما ممکن نبود! هر جلسه منتورینگ برای من یه تجربه جدید و یه فرصت برای یادگیری بیشتر بوده. مرسی از همه شما که بهم اعتماد کردید و این فرصت رو دادید که بخشی از مسیر یادگیریتون باشم. ❤️
بیصبرانه منتظرم که به آدمای بیشتری کمک کنم و باهم رشد کنیم! 🚀
پینوشت: فعلاً تایمهام رو توی ADPList بستم، ولی اگه نیاز به منتورینگ دارید، رزومهتون رو برام بفرستید تا هماهنگ کنیم.
این اتفاق بدون همراهی و انگیزه شما ممکن نبود! هر جلسه منتورینگ برای من یه تجربه جدید و یه فرصت برای یادگیری بیشتر بوده. مرسی از همه شما که بهم اعتماد کردید و این فرصت رو دادید که بخشی از مسیر یادگیریتون باشم. ❤️
بیصبرانه منتظرم که به آدمای بیشتری کمک کنم و باهم رشد کنیم! 🚀
پینوشت: فعلاً تایمهام رو توی ADPList بستم، ولی اگه نیاز به منتورینگ دارید، رزومهتون رو برام بفرستید تا هماهنگ کنیم.
امروز صبح توی یه جلسهی منتورینگ، یه سوال جالب مطرح شد:
"چطور میتونم توی مسیر یادگیری ثابتقدم بمونم؟ هیجان دارم، ولی بعد یه مدت انگیزهم کم میشه!"
واقعیت اینه که موفقیت با دیسیپلین ساخته میشه، نه انگیزه.
انگیزه جرقهست، ولی این عادتهای کوچیک و مداوم هستن که مسیر رو هموار میکنن، مثل:
ایجاد سیستم پیگیری رشد
تمرکز روی فرآیند، نه فقط نتیجه
💡 نکتهی مهم:
اگه فقط وقتی انگیزه داری کار کنی، پیشرفتت محدود میشه. ولی با دیسیپلین، یادگیری تبدیل به عادت میشه.
🔗 منابع پیشنهادی:
📖 Atomic Habits – James Clear
📖 Deep Work – Cal Newport
"چطور میتونم توی مسیر یادگیری ثابتقدم بمونم؟ هیجان دارم، ولی بعد یه مدت انگیزهم کم میشه!"
واقعیت اینه که موفقیت با دیسیپلین ساخته میشه، نه انگیزه.
انگیزه جرقهست، ولی این عادتهای کوچیک و مداوم هستن که مسیر رو هموار میکنن، مثل:
ایجاد سیستم پیگیری رشد
تمرکز روی فرآیند، نه فقط نتیجه
💡 نکتهی مهم:
اگه فقط وقتی انگیزه داری کار کنی، پیشرفتت محدود میشه. ولی با دیسیپلین، یادگیری تبدیل به عادت میشه.
🔗 منابع پیشنهادی:
📖 Atomic Habits – James Clear
📖 Deep Work – Cal Newport
نسخه جدید Next.js 15.2 منتشر شد!
یه سری بهبود اضافه شده که کار با نکست رو راحتتر و سریعتر میکنه:
🔹 خطاهای واضحتر و بهتر – طراحی جدید برای ارورها و استکترِیسهای دقیقتر.(این خیلی لازم بود)
🔹 استریم متادیتا – دیگه نیازی نیست برای لود شدن متادیتا صبر کنی، صفحه زودتر میاد بالا.
🔹 Turbopack سریعتر از همیشه – کامپایل تا ۵۷٪ سریعتر و مصرف رم ۳۰٪ کمتر!(فک نکنم)
🔹 افکت برای تغییر صفحات (آزمایشی) – با View Transitions انیمیشن بین صفحات هندل میشه.
🔹 Middleware با Node.js (آزمایشی) – حالا میتونی از Node.js توی Middleware استفاده کنی.
🎯 چندتا تغییر دیگه:
✅ یه Dev Indicator جدید که وضعیت رندر، کامپایل و خطاها رو یه جا نشون
میده.
(فک کنم بره سمت دوو تولز ناکس)
✅ پشتیبانی از --api برای ساخت پروژههای فقط API.(اکپرس بزن خب!)
✅ بهبود تصاویر (images.qualities)، سئو.
یه سری بهبود اضافه شده که کار با نکست رو راحتتر و سریعتر میکنه:
🔹 خطاهای واضحتر و بهتر – طراحی جدید برای ارورها و استکترِیسهای دقیقتر.(این خیلی لازم بود)
🔹 استریم متادیتا – دیگه نیازی نیست برای لود شدن متادیتا صبر کنی، صفحه زودتر میاد بالا.
🔹 Turbopack سریعتر از همیشه – کامپایل تا ۵۷٪ سریعتر و مصرف رم ۳۰٪ کمتر!(فک نکنم)
🔹 افکت برای تغییر صفحات (آزمایشی) – با View Transitions انیمیشن بین صفحات هندل میشه.
🔹 Middleware با Node.js (آزمایشی) – حالا میتونی از Node.js توی Middleware استفاده کنی.
🎯 چندتا تغییر دیگه:
✅ یه Dev Indicator جدید که وضعیت رندر، کامپایل و خطاها رو یه جا نشون
میده.
(فک کنم بره سمت دوو تولز ناکس)
✅ پشتیبانی از --api برای ساخت پروژههای فقط API.(اکپرس بزن خب!)
✅ بهبود تصاویر (images.qualities)، سئو.
🍾4 4
🎍🧩
یادگیری پارادایمهای برنامهنویسی تأثیر زیادی در بهبود مهارتهای برنامهنویسی داره و میتونه خیلی دید بهتری بده:
۱. درک بهتر مفاهیم برنامهنویسی
۲. افزایش مهارت حل مسئله
۳. انعطافپذیری بیشتر در انتخاب تکنولوژیها
۴. درک بهتر کدهای دیگران
۵. تقویت تفکر منطقی و خلاقیت در برنامهنویسی
چطور بهتر یاد بگیریم؟
✔ با زبانهای چندپارادایمی مانند Python یا JavaScript کار کنید.
✔ یک پروژه را با رویکردهای مختلف پیادهسازی کنید و تفاوتها را بررسی کنید.
✔ کدهای دیگران را مطالعه کنید و از بهترین روشها یاد بگیرید.
چند تا لینک مفید:
freecodecamp.org/news/an-introduction-to-programming-paradigms
geeksforgeeks.org/introduction-of-programming-paradigms
datacamp.com/blog/introduction-to-programming-paradigms
یادگیری پارادایمهای برنامهنویسی تأثیر زیادی در بهبود مهارتهای برنامهنویسی داره و میتونه خیلی دید بهتری بده:
۱. درک بهتر مفاهیم برنامهنویسی
۲. افزایش مهارت حل مسئله
۳. انعطافپذیری بیشتر در انتخاب تکنولوژیها
۴. درک بهتر کدهای دیگران
۵. تقویت تفکر منطقی و خلاقیت در برنامهنویسی
چطور بهتر یاد بگیریم؟
✔ با زبانهای چندپارادایمی مانند Python یا JavaScript کار کنید.
✔ یک پروژه را با رویکردهای مختلف پیادهسازی کنید و تفاوتها را بررسی کنید.
✔ کدهای دیگران را مطالعه کنید و از بهترین روشها یاد بگیرید.
چند تا لینک مفید:
freecodecamp.org/news/an-introduction-to-programming-paradigms
geeksforgeeks.org/introduction-of-programming-paradigms
datacamp.com/blog/introduction-to-programming-paradigms
Forwarded from 🎄 DevTwitter | توییت برنامه نویسی
فرق بین Heap Memory و Stack Memory در جاواسکریپت؟
دیروز با یکی از شرکت ایرانی مصاحبه رفتم فارغ از یه
سری سوالات تکراری مباحثی مانند hoisting closure , type vs interface , prototype , hook ها و... از heap و stack مموری ازم پرسیدن و همچنین مدیرت درست heap در جاوااسکریپت!
۱ - استک مموری
- پشته (Stack) در JS برای ذخیره متغیرهای مقدار (Primitive Values) و فراخوانی توابع استفاده میشود.
- هر تابعی که فراخوانی شود، یک Stack Frame (قاب پشته) دریافت میکند که شامل متغیرهای محلی و پارامترهای آن تابع است.
- تخصیص حافظه در استک سریع و خودکار است.
۲ - هیپ مموری
- حافظه هیپ (Heap) برای ذخیره اشیاء (Objects) و دادههای غیر اولیه (Non-Primitive) استفاده میشود.
- حافظه در هیپ داینامیک تخصیص داده میشود و Garbage Collector آن را مدیریت میکند که هندل کردن این بر عهده برنامه نویس هست.
نکته مهم: هنگامی که یک شیء یا آرایه ساخته میشود، مقدار آن در Heap Memory ذخیره شده و آدرس (Reference) آن در Stack Memory قرار میگیرد.
خب نکته مهم دیگر این هست که اگر برنامه نویس داده زیادی را در heap ذحیره کند باید حتما بعد از استفاده مموری را آزاد کند تا سیستم دچار Memory Leak نشود که روش آزاد سازی هم به این شکل هست که اگر دیگر نیازی به داده ندارید، مقدار null یا undefined را به متغیر اختصاص دهید تا ارجاع از بین برود و یا میتونید از WeakMap استفاده کنید که خود به خود ارجاع های بدون استفاده را حذف میکند.
@DevTwitter | <Alireza Majdi/>
دیروز با یکی از شرکت ایرانی مصاحبه رفتم فارغ از یه
سری سوالات تکراری مباحثی مانند hoisting closure , type vs interface , prototype , hook ها و... از heap و stack مموری ازم پرسیدن و همچنین مدیرت درست heap در جاوااسکریپت!
۱ - استک مموری
- پشته (Stack) در JS برای ذخیره متغیرهای مقدار (Primitive Values) و فراخوانی توابع استفاده میشود.
- هر تابعی که فراخوانی شود، یک Stack Frame (قاب پشته) دریافت میکند که شامل متغیرهای محلی و پارامترهای آن تابع است.
- تخصیص حافظه در استک سریع و خودکار است.
۲ - هیپ مموری
- حافظه هیپ (Heap) برای ذخیره اشیاء (Objects) و دادههای غیر اولیه (Non-Primitive) استفاده میشود.
- حافظه در هیپ داینامیک تخصیص داده میشود و Garbage Collector آن را مدیریت میکند که هندل کردن این بر عهده برنامه نویس هست.
نکته مهم: هنگامی که یک شیء یا آرایه ساخته میشود، مقدار آن در Heap Memory ذخیره شده و آدرس (Reference) آن در Stack Memory قرار میگیرد.
خب نکته مهم دیگر این هست که اگر برنامه نویس داده زیادی را در heap ذحیره کند باید حتما بعد از استفاده مموری را آزاد کند تا سیستم دچار Memory Leak نشود که روش آزاد سازی هم به این شکل هست که اگر دیگر نیازی به داده ندارید، مقدار null یا undefined را به متغیر اختصاص دهید تا ارجاع از بین برود و یا میتونید از WeakMap استفاده کنید که خود به خود ارجاع های بدون استفاده را حذف میکند.
@DevTwitter | <Alireza Majdi/>
Forwarded from FullstacksJS — Academy
تو این پست یه سری نکته ها هست که خیلی دقیق نیست
درباره این پست زیاد میشه صحبت کرد.
یه ویس دربارش میگیرم.
درباره این پست زیاد میشه صحبت کرد.
یه ویس دربارش میگیرم.
عید همیشه فرصت خوبی برای یادگیری بوده
ما امسال تو دیجیشهر یک برنامه کارآموزی داریم تصمیم گرفتم برای کارآموزای تیمم (فرانت) یه پیش شادی آماده کنم😁💐
شامل:
کانسپت های جاوااسکریپت
ریکت
لینوکس
یه سری لینک های مفید رو هم گذاشتم که دیدنشون خالی از لطف نیست.
اینجا هم به اشتراک میذارم شاید برای دوستان دیگه هم مفید باشه❤️
https://roadmap.sh/r/peyk-shadi-2cwiq
ما امسال تو دیجیشهر یک برنامه کارآموزی داریم تصمیم گرفتم برای کارآموزای تیمم (فرانت) یه پیش شادی آماده کنم😁💐
شامل:
کانسپت های جاوااسکریپت
ریکت
لینوکس
یه سری لینک های مفید رو هم گذاشتم که دیدنشون خالی از لطف نیست.
اینجا هم به اشتراک میذارم شاید برای دوستان دیگه هم مفید باشه❤️
https://roadmap.sh/r/peyk-shadi-2cwiq
💙💙💙
امروز تقریبا شد دو سال که در مجموعه دیجیشهر به عنوان فرانتاند تیم لید فعالم و این دو سال برای من پر از تجربه های مختلف بوده که دوست دارم مهمتریناش رو به صورت یک جملهای اینجا بذارم:
۱. دیسیپلین کلید پیشرفت توی طولانی مدته.
۲. یادگیری رو به عنوان یه پروژه نگاه نکنید٬ یه روتینه.
۳. هر آدمی یه لمی داره و کار کردن با آدما خیلی میتونه پیچیده بشه اگه دقیق بهشون دقت نکنی.
۴. سافت اسکیل به اندازه هارد اسکلیل مهمه!
۵. اگه روز اول همکاری با یه مجموعه به این فکر کنی که چه برندی از خودت میخوای بسازی خیلی کارت راحتتر میشه.
۶. کنجکاو باش و سعی کن بیزنسی که داری براش ارزش خلق میکنی رو بفهمی.
۷. رو آدم ها حساب کن و بهشون شانس بده!
امروز تقریبا شد دو سال که در مجموعه دیجیشهر به عنوان فرانتاند تیم لید فعالم و این دو سال برای من پر از تجربه های مختلف بوده که دوست دارم مهمتریناش رو به صورت یک جملهای اینجا بذارم:
۱. دیسیپلین کلید پیشرفت توی طولانی مدته.
۲. یادگیری رو به عنوان یه پروژه نگاه نکنید٬ یه روتینه.
۳. هر آدمی یه لمی داره و کار کردن با آدما خیلی میتونه پیچیده بشه اگه دقیق بهشون دقت نکنی.
۴. سافت اسکیل به اندازه هارد اسکلیل مهمه!
۵. اگه روز اول همکاری با یه مجموعه به این فکر کنی که چه برندی از خودت میخوای بسازی خیلی کارت راحتتر میشه.
۶. کنجکاو باش و سعی کن بیزنسی که داری براش ارزش خلق میکنی رو بفهمی.
۷. رو آدم ها حساب کن و بهشون شانس بده!
👾15🍾13🔥2
سلام رفقا
با تاخیر عیدتون مبارک
امیدوارم امسال بتونید به هدفاتون پایبند باشید و خوب پیشرفت کنید.❤️
من بعد یه سفر پر ماجرا تازه یکم کارام رو جمع کردم و برگشتم به روتین دوستایی که قرار منتورینگ داشتیم و نرسیدیم جلساتشو بریم بهم پیام بدید که لطفا ست کنیم.
ارادت🫶
با تاخیر عیدتون مبارک
امیدوارم امسال بتونید به هدفاتون پایبند باشید و خوب پیشرفت کنید.❤️
من بعد یه سفر پر ماجرا تازه یکم کارام رو جمع کردم و برگشتم به روتین دوستایی که قرار منتورینگ داشتیم و نرسیدیم جلساتشو بریم بهم پیام بدید که لطفا ست کنیم.
ارادت🫶
🍾11👾2🍓1
🔧 اهمیت ریفکتور کردن کد (Refactoring) + منابع پیشنهادی
برنامهنویسی فقط نوشتن کد نیست، نگهداری و بهبود اون هم به همون اندازه مهمه.
ریفکتور کردن یعنی بازنویسی کد بدون تغییر در عملکردش، با هدف خواناتر، سادهتر و قابل نگهداریتر شدنش.
✅ چرا ریفکتور مهمه؟
کاهش پیچیدگی کد
جلوگیری از ایجاد باگ در آینده
آمادگی برای افزودن قابلیتهای جدید
همکاری بهتر در تیم
افزایش سرعت توسعه در بلندمدت
💡 نشونههایی که بهت میگن وقت ریفکتوره:
کدی که حتی خودت هم نمیفهمیش 😅
توابع خیلی طولانی
تکرار زیاد تو کد
وابستگیهای زیاد بین بخشها
📚 منابع پیشنهادی برای یادگیری ریفکتور:
🔹 کتاب "Refactoring" نوشتهی Martin Fowler
یه مرجع کلاسیک و کاربردی برای درک اصول و تکنیکهای ریفکتور.
🔹 وبسایت Refactoring.guru
ساده، مصور، و به شدت آموزنده!
🌐 https://refactoring.guru
برنامهنویسی فقط نوشتن کد نیست، نگهداری و بهبود اون هم به همون اندازه مهمه.
ریفکتور کردن یعنی بازنویسی کد بدون تغییر در عملکردش، با هدف خواناتر، سادهتر و قابل نگهداریتر شدنش.
✅ چرا ریفکتور مهمه؟
کاهش پیچیدگی کد
جلوگیری از ایجاد باگ در آینده
آمادگی برای افزودن قابلیتهای جدید
همکاری بهتر در تیم
افزایش سرعت توسعه در بلندمدت
💡 نشونههایی که بهت میگن وقت ریفکتوره:
کدی که حتی خودت هم نمیفهمیش 😅
توابع خیلی طولانی
تکرار زیاد تو کد
وابستگیهای زیاد بین بخشها
📚 منابع پیشنهادی برای یادگیری ریفکتور:
🔹 کتاب "Refactoring" نوشتهی Martin Fowler
یه مرجع کلاسیک و کاربردی برای درک اصول و تکنیکهای ریفکتور.
🔹 وبسایت Refactoring.guru
ساده، مصور، و به شدت آموزنده!
🌐 https://refactoring.guru
refactoring.guru
Refactoring and Design Patterns
Refactoring is a controllable process of improving code without creating new functionality. Design Patterns are typical solutions to the commonly occurring problems in software design.
🍾7👾3
این کتاب رو امروز تموم کردم و تصمیم گرفتم دیدمو بهش بگم:
این کتاب یه جورایی با هیچ کتاب دیگهای که خوندم شبیه نیست. انگار داری تیکههایی از خاطرات، خیالپردازیها و فکرای عجیب نویسنده رو ورق میزنی، بدون اینکه دنبال یه خط داستانی مشخص باشی. ریچارد براتیگان با یه لحن ساده ولی شاعرانه، از چیزای خیلی معمولی یه دنیای خاص ساخته. بعضی جاها خندهت میگیره، بعضی جاها یه حس تنهایی خاصی تو دل آدم میندازه. اگه دنبال یه داستان منظم و کلاسیکی، این کتاب شاید اذیتت کنه. ولی اگه دوست داری توی ذهن یه آدم خلاق و متفاوت پرسه بزنی، احتمالاً ازش خوشت میاد.
این کتاب یه جورایی با هیچ کتاب دیگهای که خوندم شبیه نیست. انگار داری تیکههایی از خاطرات، خیالپردازیها و فکرای عجیب نویسنده رو ورق میزنی، بدون اینکه دنبال یه خط داستانی مشخص باشی. ریچارد براتیگان با یه لحن ساده ولی شاعرانه، از چیزای خیلی معمولی یه دنیای خاص ساخته. بعضی جاها خندهت میگیره، بعضی جاها یه حس تنهایی خاصی تو دل آدم میندازه. اگه دنبال یه داستان منظم و کلاسیکی، این کتاب شاید اذیتت کنه. ولی اگه دوست داری توی ذهن یه آدم خلاق و متفاوت پرسه بزنی، احتمالاً ازش خوشت میاد.
🍾10
🎯 دعوت به همکاری در یک پروژه متنباز
سلام به جامعهی جاوااسکریپتیها 👋
ما داریم روی یه پایگاه دانش فارسی متنباز کار میکنیم و خوشحال میشیم شما هم کنارمون باشید.
🔧 تکنولوژی: JavaScript
🌍 هدف: ساخت یک مرجع دانش ساده و مفید به زبان فارسی
🤝 همکاری در توسعه، طراحی، محتوا و هر کاری که دوست دارید
اگه علاقهمند بودید، خوشحال میشم پیام بدید 💬
@arminshaikhy
سلام به جامعهی جاوااسکریپتیها 👋
ما داریم روی یه پایگاه دانش فارسی متنباز کار میکنیم و خوشحال میشیم شما هم کنارمون باشید.
🔧 تکنولوژی: JavaScript
🌍 هدف: ساخت یک مرجع دانش ساده و مفید به زبان فارسی
🤝 همکاری در توسعه، طراحی، محتوا و هر کاری که دوست دارید
اگه علاقهمند بودید، خوشحال میشم پیام بدید 💬
@arminshaikhy
🍾15👾2💩1
Forwarded from @danialbehzadi:mozilla.org دانیال بهزادی
بهترین آموزش گیتی که در این ۲۰−۲۵ سال اخیر دیدم:
https://web.archive.org/web/20161121145226/http://rypress.com:80/tutorials/git/index
https://web.archive.org/web/20161121145226/http://rypress.com:80/tutorials/git/index
web.archive.org
Ry’s Git Tutorial - RyPress
Ry’s Git Tutorial is a complete introduction to distributed
version control with a focus on practical command line usage. We explain Git’s robust branching, merging, and
collaboration capabilities from the ground up, so prior experience with
centralized systems…
version control with a focus on practical command line usage. We explain Git’s robust branching, merging, and
collaboration capabilities from the ground up, so prior experience with
centralized systems…
🔥3💯1
اخیراً با یکی از توسعهدهندههای پایتون برای پیادهسازی یک سرویس SSO با Node.js همکاری داشتم، و تجربهای پر از یادگیری بود — مخصوصاً از نظر تفاوتهای ذهنی بین دو زبان.
چالش اول برای اون، درک ماهیت asynchronous در Node.js بود. مفاهیمی مثل event loop و استفاده از async/await در مقایسه با مدل همگام پایتون، کاملاً متفاوت بودن و باعث شد در اوایل پروژه با پیچیدگیهایی مواجه بشه.
در مرحله بعد، کار با Express.js و ساختار routeها، middlewareها و ساختار کلی اپلیکیشن در Node.js براش جدید بود. با اینکه کانسپتها خیلی متفاوت نبودن، اما نحوه پیادهسازی و ابزارهای موجود فرق زیادی داشتن.
ما از TypeScript یا استانداردهایی مثل OAuth2 یا SAML استفاده نکردیم، بنابراین همه چیز به صورت سبکتر و سادهسازیشده پیادهسازی شد. همین موضوع باعث شد توسعه سریعتر پیش بره، ولی در عوض نیاز به دقت بیشتری توی طراحی و امنیت داشتیم.
جالبترین بخش ماجرا برای من، دیدن تلاش اون برای تطبیق با یک زبان و چارچوب جدید بود — و این بهم یادآوری کرد که زبان برنامهنویسی مهم نیست، بلکه طرز فکر توسعهدهنده است که نتیجه رو میسازه.
چالش اول برای اون، درک ماهیت asynchronous در Node.js بود. مفاهیمی مثل event loop و استفاده از async/await در مقایسه با مدل همگام پایتون، کاملاً متفاوت بودن و باعث شد در اوایل پروژه با پیچیدگیهایی مواجه بشه.
در مرحله بعد، کار با Express.js و ساختار routeها، middlewareها و ساختار کلی اپلیکیشن در Node.js براش جدید بود. با اینکه کانسپتها خیلی متفاوت نبودن، اما نحوه پیادهسازی و ابزارهای موجود فرق زیادی داشتن.
ما از TypeScript یا استانداردهایی مثل OAuth2 یا SAML استفاده نکردیم، بنابراین همه چیز به صورت سبکتر و سادهسازیشده پیادهسازی شد. همین موضوع باعث شد توسعه سریعتر پیش بره، ولی در عوض نیاز به دقت بیشتری توی طراحی و امنیت داشتیم.
جالبترین بخش ماجرا برای من، دیدن تلاش اون برای تطبیق با یک زبان و چارچوب جدید بود — و این بهم یادآوری کرد که زبان برنامهنویسی مهم نیست، بلکه طرز فکر توسعهدهنده است که نتیجه رو میسازه.
🔥12💯2
