ch
Feedback
Web Development Code

Web Development Code

前往频道在 Telegram

قناة خاصه بتطوير الويب ونشر مشاريع الويب وكل مايخص الويب الادمن : @Noureldin13 #Html #Css #Bootstrap #JavaScript #ReactJs #Php #NodeJs #Mysql #MongoDB Buy ads: https://telega.io/c/codedevelopment جروب المناقشة : @codedevchat

显示更多
5 867
订阅者
无数据24 小时
-137
-7130
帖子存档
السلام عليكم… النهارده هنكمل اللي بدأنا نتكلم عنه المرة اللي فاتت عن إزاي الjs عموما شغاله وبتنفذ الكود واتكلمنا بشكل بسيط عن الmemory heap و الcall stack وادينا مثال بسيط جدا عشان نعرف اساسيات الcall stack بيشتغل ازاي وهنكمل النهارده بإذن الله على اللي بدأناه المره اللي فاتت وهنبدأ اننا ندي مثال تاني بس قبل ما نبدأ ندي المثال هنرجع نشوف تاني الdiagram اللي بيوضحلنا طريقة عمل الjs في google chrome browsers

ليه ارقام العناصر في المصفوفة بتبدأ من صفر ؟ في البداية بس حابب اقول ان في لغات برمجة الرقم فيهم بيبدأ من 1 مش 0 طيب ايه الفرق وليه اللغات الحديثة كلها بتبدأ من 0 مش 1 عشان نفهم السبب لازم نعرف ازاي الكمبيوتر بيخزن المصفوفة احنا عارفين ان الذاكرة بتتكون من مجموعة اماكن وكل مكان بيكون له عنوان معين اقدر من خلاله اتعامل مع المكان دا لو انا عندي متغير كالآتي x = 5 ف هنا الكمبيوتر هيروح في مكان ما في الذاكرة (وليكن عنوانه 100) ويحفظ جواه القيمة 5 ويبقى x دا عبارة عن اسم مستعار لعنوان المكان دا يعني لما اقول x ف انا اقصد القيمة اللي جوا العنوان 100 طيب لو عندي مصفوفة ؟ a = [5,6,7,.....] هنا الكمبيوتر بيروح يدور في الذاكرة على مجموعة اماكن جنب بعض تناسب عدد عناصر المصفوفة ولنفترض انه لقى الاماكن دي من اول العنوان 200 هيبدأ يخرن عناصر المصفوفة في كلا من 200, 201, 202, .......... طيب ازاي الكمبيوتر هيعرف ان المصفوفة a عناصرها موجودة من اول العنوان 200 ؟ الكمبيوتر بدور على مكان تاني فاضي (وليكن مثلا عنوانه 300) ويخزن جواه عنوان اول عنصر في المصفوفة (اللي هو 200) ويبقى اسم المصفوفة عبارة عن اسم مستعار للمكان دا يعني لما اقول a ف انا اقصد القيمة اللي جوا العنوان 300 طيب لما اقول a[i] ؟ دي هنا بتترجم ل a+i يعني هات القيمة اللي جوا a وزود عليها الرقم i ويبقى دا العنوان الجديد اللي عايز القيمة اللي جواه يعني a[2] = 200+2 = 202 طيب لو عايز اول عنصر في المصفوفة ؟ اول عنصر عنوانه 200 ودا القيمة اللي موجودة جوا a فبالتالي مش محتاج ازود حاجة (او بمعنى اخر انا بزود 0) 200 = 200+0 = a[0] يعني ممكن اقول ان رقم العنصر دا بيدل على عدد الخطوات اللي محتاج امشيها من اول عنصر لحد ما اوصل للعنصر اللي انا عايزه وعشان كدا ارقام العناصر بتبدأ من صفر طيب اللغات اللي بتبدأ من 1 نظامها ايه ؟ بتكون معادلتها a[i] = a+i-1 يعني محتاج اعمل عملية زيادة عشان اجيب العنصر اللي عايزه طب يا عم دي عملية واحدة مش هتفرق في حاجة هقولك انت في البرنامج بتاعك مش هتعمل مصفوفة واحدة وتجيب عنصر واحد وكمان العملية دي بتترجم لمحموعة عمليات اصغر عشان المعالج ينفذها فتخيل عدد العمليات اللي هنوفرها عالمعالج لما بس نبدأ من صفر

الي اختارو مفهمناش حاجه يقولوا مفهموش اي.

فهمتوا حاجه .
Anonymous voting

فهمتوا حاجه
Anonymous voting

وطبعا نفس الكلام اللي فوق هيحصل مع اخر سطروهيكرر نفس الموضوع تاني طيب كل ده كلام هايف جدا ومش شايفين فيه أي صعوبه ولا يستاهل
وطبعا نفس الكلام اللي فوق هيحصل مع اخر سطروهيكرر نفس الموضوع تاني طيب كل ده كلام هايف جدا ومش شايفين فيه أي صعوبه ولا يستاهل إن حد يتكلم عنه أصلا…. فعلا عندك حق بس لازم نفهم كل ده الأول عشان مبني عليه حاجات اصعب شويه قدام وده اللي هنبدأ نتكلم عنه من المره الجايه

وبعدها يلاقي ان الfunction اللي اسمها sayHelloWorld دي خلصت تنفيذ فيبدأ يشيلها ويرجع بالشكل اللي تحت كدا
وبعدها يلاقي ان الfunction اللي اسمها sayHelloWorld دي خلصت تنفيذ فيبدأ يشيلها ويرجع بالشكل اللي تحت كدا

وبعد ما ينفذها يبدأ يشيل الfunction دي من الstack عشان يرجع الشكل اللي في الصورة اللي جاية كدا
وبعد ما ينفذها يبدأ يشيل الfunction دي من الstack عشان يرجع الشكل اللي في الصورة اللي جاية كدا

بعدها يبدأ في تنفيذ الfunction دي ويتفاجئ ان فيها call لfunction تانيه اللي هيا console.log فيبدأ يجيبها تاني في الstack ويبق
بعدها يبدأ في تنفيذ الfunction دي ويتفاجئ ان فيها call لfunction تانيه اللي هيا console.log فيبدأ يجيبها تاني في الstack ويبقى المنظر زي الصورة اللي جاية كدا

بعدها يبدأ يشوف الcall اللي بعدها واللي هيبقى في السطر اللي قبل الأخير اللي فيه sayHelloWorld ويبدأ يجيبها عنده في الstack زي
بعدها يبدأ يشوف الcall اللي بعدها واللي هيبقى في السطر اللي قبل الأخير اللي فيه sayHelloWorld ويبدأ يجيبها عنده في الstack زي الصورة اللي جاية كدا

و بعد ما بيتم تنفيذ الfunction دي الcall stack بيرجع فاضي تاني زي الصورة اللي جاية كدا
و بعد ما بيتم تنفيذ الfunction دي الcall stack بيرجع فاضي تاني زي الصورة اللي جاية كدا

نبدأ نشوف ازاي الcall stack بيتعامل مع الكود البسيط ده…… أول حاجه الcall stack بيبدأ يمشي في الكود بالترتيب وبيقابل أول funct
نبدأ نشوف ازاي الcall stack بيتعامل مع الكود البسيط ده…… أول حاجه الcall stack بيبدأ يمشي في الكود بالترتيب وبيقابل أول function واللي هيا console.log(“start”) ويبدأ ينفذها و بيكون شكل الstack في الوقت ده زي الصورة اللي جاية كدا

ايه ده بقى؟ أول حاجه في الصوره هنا باين عندنا في الجزء اللي ع الشمال حاجه اسمها الcall stack وحاجه تانيه اسمها الmemory heap
ايه ده بقى؟ أول حاجه في الصوره هنا باين عندنا في الجزء اللي ع الشمال حاجه اسمها الcall stack وحاجه تانيه اسمها الmemory heap وبالنسبه لوظيفة ال memory heap فهيا ببساطة مسؤوله في الأساس عن تخزين كل الداتا للبرنامج اللي شغال عندي يعني اي variables عندي بتتخزن فيه وده ببساطة جدا أما بقى ال call stack فده اللي هنتكلم عنه شويه وده اللي يهمنا عشان نفهم أكتر الjs دي بتشتغل ازاي أول حاجه لازم نعرف أن الcall stack ده السبب في كلمة الsingle- threaded اللي فوق ده وده يعتبر عندنا هوا الmain thread اللي بيقوم بعمل call للfunctions اللي عندي في البرنامج ازاي تعال نشوف بمثال زي الصورة اللي تحت كدا

المره اللي فاتت اتكلمنا عن ال node js ------------------------------------ أول حاجه هنتكلم عنها النهارده هوا ايه اصلا تعريف الjavascript دي و اللي يمكن كتير سمع عنه قبل كده و التعريف ده هوا: JavaScript is single threaded, non-blocking, asynchronous and concurrent programming language ايه بقى الكلام ده🤔🤔 تعال نشوف مع بعض واحدة واحدة كدا🧐 أول حاجه بيقول انها لغة single-threaded يعني ايه دي هل ده يعني ان js مش بتستخدم مفهوم الmulti-threaded خالص؟؟🤔🤔 في الحقيقة لا مش زي ما حضرتك فاكر كدا خالص بس قبل ما نقول مش زي ما حضرتك فاكر ليه ممكن الاول ننزل نشوف الdiagram اللي تحت ده وده مثال بس مش أكتر بيوضحلنا ازاي الjs دي اصلا بتشتغل مع الv8 في google chrome

ايه هيا الNodeJs؟؟ أولا قبل ما نعرف ايه هيا الnode مفروض نسأل سؤال أهم وهوا ايه هيا الjavascript اصلا وبتشتغل إزاي ….أول حاجه javascript هيا في الأساس لغة برمجة اتصممت انها تشتغل في الbrowsers عشان تخلي عملية التصفح تبقى dynamic ونقدر نتحكم اكتر في الصفحات اللي بتتعرض ومن المعروف عن أي لغة برمجة أنها بتحتاج compiler او interpreter عشان يحول اللغة دي لكود يقدر الكمبيوتر يفهمه وينفذه فبدأ وباختصار شديد ان من ساعت ظهورها كل browser يحاول ياخد اللغة دي وينفذها بطريقه معينه بحيث تدي أحسن أداء فبالتالي تجربة التصفح في الbrowser تبقى أحسن فالناس تقدر تستخدمها فمثلا mozzila firefox طورت spiderMonkey Engine أما google chrome طور V8 Engine عشان ينافس spiderMonkey وفيه غيرهم كتير طبعا لحد دلوقتي كلامنا كله على الjavascript إنها لغة خاصه بالbrowser بس وما اقدرش اعملها run في أي مكان غير في الbrowser وكل واحد فيهم عنده الengine بتاعه اللي بينفذ الكود ده بطريقة معينه بس المهم في الموضوع ده كله هوا الV8 Engine اللي جوجل طورته لgoogle chrome بسبب أدائه اللي كان فارق كتير عن باقي الengines اللي الشركات التانيه طورتهاوده اللي خلى الناس تبدأ تفكر ليه ما نبدأش نستخدم اللغة دي بالengine اللي بيدي آداء كويس ده برا الbrowser ونستفيد منه في ان احنا نعمل بيه برامج بيه زي أي لغة تانيه (خلي بالك قولت برامج زي أي لغة تانيه مش مجرد نستخدمه في backend لأن الnode ليها استخدامات كتير غير الbackend )فمن هنا بدأ التفكير في عمل الnode js ايه هيا بقى وعباره عن ايه وبتقدملنا ليه ده اللي هنعرفه المره الجايه

photo content

photo content

اقتراحاتكم انزل فديوهات زي دي ولا انزل اي عرفوني 🥹 GROUP: http://t.me/codedevchat

__Shake animation on invalid inputs using HTML & CSS__ Link the video to YouTube: https://youtu.be/pVV8tD2Fy5o #CSS