لكل خريج CS جديد، الي درسته في الجامعة لحاله ماراح يوظفك
انت مبرمج، اطلع على سوق العمل
ويب = نود، ري اكت، لارافل، sql و nosql
ابل = سويفت (تاكد تدرس احدث اصدار)
اندرويد = كوتلن
ابل و اندرويد = فلاتر دارت ، ري اكت نيتف
لا تنطر احد يمسكك من ايدك و يعدل دربك، اشتغل على نفسك 🤚🏼
للي يحبون الـ ChatGPT عندي لكم معلومات اول مرة راح تعرفونها
من الامور الجميله في ChatGPT هو انك تقدر تخليه يتدرب على بياناتك او بيانات المنشأة الي انت فيها
يعني اذا كان عندك مجموعة بيانات تبي الـ ChatGPT يتعلم عليها تقدر تضيفها في فيه عن طريق الـ API لـ OpenAI
اشتغلت على بروجكت واحتجت بيانات في قاعدة البيانات حتى تسوي tests ؟
احيانا تبي dummy data حتى تمشي شغلك وتشوف الامور على وضوح اكثر
هذا بكج Faker يسوي لك اسماء/ايميلات/صور/زحرمان مايخلي شي الا يسوي تقدر تستخدمه في الـ NodeJS و المتصفح 👍🏻
نصيحة لكل مبرمج سواء موظف ام لا
اعمل بورتفوليو خاص بك بدومين خاص و الهوست لا تشيل همه, قوقل تعطيك 300 دولار اول ما تسجل في الكلاود مجانا
هذا البورتفوليو اعتبره متحف اعمالك من كلشي تطبيقات برامج ادوات او حتى دروس
منها تفيد غيرك بعلمك ومنها امكانية التوظيف او مكانه افضل
نصيحة لمبرمجي الـ JavaScript: اذا كان عندك case حيث يكون 2 الى 3 callbacks ، لا تستخدم promise في حالة ان المنتج الي تشتغل على يستقبل ريكويستات كثيره
لان الاكثار من الـ promises راح يكون performance killer وتقدر تتاكد من الامر من خلال عمل benchmark بينهم
اذا كنت تشتغل على تطبيق/موقع وقاعدة البيانات SQL
هذا query builder تقدر عن طريقة تتعامل مع اي نوع من هذي القواعد بـ syntax موحد وسهل جدا
انصحكم بالاطلاع عليه راح يفيدكم كثير
صباح الخير
نصيحة لجيل المبرمجين القادم او حتى الحالي
استثمر في نفسك، طور من مهارتك
وابد لا توقف قراءة عن كلشي يتعلق بمجالك و حواليك
اذا كنت مطور ويب، حاول تطلع على getting started لتطبيقات الهواتف
ماراح تخسر شي، جرب وانتفع حتى لو معلومات بسيطة
ارفع من مستواك في الجافاسكربت ولو بشكل قليل من خلال التعامل مع الاكواد بشكل مختلف نوعا ما
استخدام الـ Spread Operator
لنفرض ان لديك Array تحتوي على عدة عناصر وانت تريد ان تستخدم او تظهر هذه العناصر، بإمكانك استخدام الـ sp op كما في الصورة بدون الحاجة لعمل loop
الي متخرجين قريب الي تخرجوا من تخصصات تقنية المعلومات CS, CE, IS ,BIS
شوف لك لغة / اطار عمل و ادرسه و طور نفسك فيه، سوق العمل مليان وظائف للمبرمجين Nodejs, Reactjs, Angular, Vuejs, Laravel
اما بتقعد وتدور في المعاهد عساس يحصلون لك وظيفة هذي انساها واذا تبي مساعدة حاضرين 👍🏼
هذا الموقع انا اعتبره كنت لكل مبرمجي الـ react سواء كان js او native
راح تلقى فيه مجموعة ضخمة جدا من الامثله بالاكواد لكلشي يطري على بالك ومجانية كذلك
Buttons, Navs, Cards, Layouts
حتى تطبيقات ومواقع open source موجودة
شي غريب و جميل بنفس الوقت
الي يشتغل على vscode و يستخدم git و معاه فريق عمل مبرمجين
لازم تثبت اكستنشن GitLens ، احد مميزات هذا الاكستنشن انه يقولك كل line في الكود في كل فايل من غير فيه (اي مطور) و متى
بعد العمل على اكثر من 7 انواع من الـ payment gateways
وطبعا برمجة integration مع التطبيقات و المواقع للـ clients
اقدر ابسط لكم الامر كالتالي:
- تحويل العميل لصفحة الدفع
- الدفع من قبل العميل
- خدمة الـ payment راح ترجعك لصفحة انت تحددها في الـ API ومعاها ID مال العملية
بعد عمل سنين في برمجة الويب web dev
اعتقد افضل نظام ممكن تشتغل عليه هو لنكس وبالتحديد اوبونتو
نظام خفيف جدا
سريع في البوت وغيرها من الامور
تكلفة الاجهزه جدا منخفضة
نظام ١٠٠٪ عملي بكل المقاييس
لكل مبرمجي الـNodeJS ، من خلال متابعتي مع اكثر من مبرمج Node لاحظت ان الاغلب يعتمد على فريموورك ExpressJS بس ما يستخدمه بكل مميزاته واحد هذي المميزات هو الـ Middleware فنكشنز
راح انزل خلال هاليومين شلون تسوي custom middleware functions حسب حاجتك ، المدل-وير شي جبااااار 👍🏼😁
قبل تقريبا 6 سنوات كنت اشتغل على برمجة API لتطبيق يقدم عروض و تخفيضات على كل انواع الـ businesses
ومع الوقت، صار له صيت كبير في البحرين (بس للاسف بسبب سوء ادارة المشروع فشل بعد ماكان الاول لمدة طويلة)
عموما
كنت مهتم بالسكيورتي لدرجة كبيرة
اذا كنت تدير سيرفرات linux او نظام اجهزتك لنكس لابد وان راح تحتاج الى اختصارات في التيرمنال
هذي طريقة شلون تسوي لنفسك اختصارات aliases دائمه 👍🏼
ملاحظة: حدث خطأ تايبو في تسمية الدايركتري بدل sites كتبت sits
انا عن طريق bashrc او bash_aliases اختر الي تبيه
تعرفون ان في Postman اداة لعمل Performance Test للـ API
وتقدر تعطيه حد 100 مستخدم ولمدة معينة انت تحددها
وفي النهاية يعطيك PDF فايل فيه Summary للعملية كلها
و مجان 🫢🔥
المهم شرايكم في مكتبي البسيط ☺️
هل احد منكم سمع او استخدم Kafka ؟
هل جربته في الـ production ؟
كل مبرمجين الـ backend مر عليهم case يكون فيها الحاجة لنقل البيانات بين الـ nodes داخليا في السيرفر بدون ريكويستات على مستوى النتوورك
يعني بدون http calls
راح نتكلم بالتفصيل وقت ثاني
كلام مهم لمبرمجين الباك اند
لكل من سال عالخاص او الواتس
.
برمجة الاكستنشن add-ons امر بسيييط جدا مايبيله شي وتبرمجة الى كروم + راح يدعم فايرفوكس مباشرة ، قد تعدل عليه شي خفيف كلش وهذا الـAPI الي راح تستخدمه
.
اذا تبون درس راح اسويه على عالم البرمجة
@Pro3alam
كمطور APIs backend
لا تثق تماما في كود الـ frontend
تأكد من برمجة validations على كل خطوة مهمة و كل input في الـbackend
خذ هذي المصيبه، واحد يبي يشتري لعبة من ويبسات، سعرها 60 دولار وفي الچك اوت يحولها 60 بيزو ارجنتيني 😭😂
احد الطرق الي نتعامل فيها لتخفيف امكانية اختراق التطبيقات عندنا هي بكل بساطة
التطبيق موجه الى دولة معينه او مجموعة دول
اذا امنع الدخول على التطبيق من خارج هذي الدول
مثلا: المستخدم حمل تطبيق A و من البداية مع getting started تاخذ الدولة الي اهوه فيها وتحفظها في الـ usr pref
قالت مواقع #الدارك_ويب او الانترنت المظلم:
انه تم قرصنة منصة #جاهز ، وهي منصة سعودية متخصصة في توصيل طلبات المطاعم عبر الإنترنت. وطالب المخترق بفدية قدرها 5 ملايين ريال سعودي.
1️⃣
عزيزي مطور الجافاسكربت / تايب سكربت
تعلم تستخدم اداة الـ optional chaining دايما في اسلوبك البرمجي
راح يسهل عليك سطور كثيرة وتعقيدات مالها اي داعي
كل الي عليك تسويه هو ان تستخدم (?) بس 🙄
#javascript
#nodejs
#es6
عندي استفسار للجميع
شنو الطرق الي تستخدمونها لحماية الـ API من الريكوستات الخارجية
اي من الـ request الي تجي للسيرفر من خارج التطبيق او الموقع، وهي عموما نوع من الهاك
شي غير مكتبات الـtokens 🤷🏻♂️
وانا اقرأ مقال عن النود، استوقفني هذا التحذير
جميل جدا، يقول لا تخلي اي API Keys او Secret Codes في الكود مباشرة بل احفظهم كـ env vars .. ليش؟ عشان ما يكون exposed بالغلط لاي سبب من الاسباب
اذا تبي تفهم شلون التطبيقات الكبيره تشتغل
او جزء من هذول التطبيقات ، لازم تقرا وتبحث في موضوعهم اكثر
مقال عن كيفية إدارة نتفلكس لـ 238 مليون مشترك
المعلومات المقدمة في هذا المقال مأخوذة من عدة مقالات / منشورات مكتوبة من قبل مهندسين نتفلكس نفسهم
تدري ان في Github في اداة من خلالها تقدر تسوي deploy مع كل push للـ repo
وتشتغل مع كل انواع التطبيقات node, react, angular, بطيخ الخ…
ويعطيك ملخص للـ deploy ان كان completed او حدث خطأ فيه
شنو الامور الي تتعلمونها حاليا؟
- لغات
- اطر عمل Frameworks
- مكتبات libraries
بالمناسه، هل مره جربتهم تبرمجون live tracking system مثل الي عند شركات التوصيل؟
ترى الامر سهل وصعب بنفس الوقت واذا تبون tips و كود .. راح انزل 😁
احد منكم يعرف الـ pipeline operator؟
تستطيع من خلال هذه الـ operator بعمل سلسلة من function calls بطريقة سهلة للقراءة
هي اقرب الى ان تكون طريقة تفكير في الحقيقة
مازالت في stage 1 وقادمة للجافاسكربت
بعيدا عن شلون ابتدي في البرمجة و وين ابتدي و شنو اسوي وما الى ذلك
اقرأ هذي السلسة عساس ما تتخرع اذا لقيت طوف قبالك وانت تدرس ، ترى عادي بالنهايه انت راح تكسره بإرادتك 😁💪🏼
١-٣. في البرمجة راح تلاحظ في البداية انك ضايع لكن اذا استمريت تبحث عن الطريق الصحيح في الأخير راح تنجح وتحترفها، اللغة الإنجليزية مهمة لكن بالبداية هناك دروس عربية رائعة ولأن التقنية تتطور بسرعة راح تحتاج تواكب هذا التطور السريع من المصادر المباشرة للتقنيات بلغتها الإنجليزية.
ركز معاي ، هذا الكلا مهم
شلون تستخدم قاعدة بيانات Redis كـ cache level في تطبيق api nodejs
راح يسرع من الـ api بشكل رهيب جدا
باعتبار ان Redis تشتغل في الـ memory ، ومثل ماتعرفون التعامل مع الداتا في الميموري اسرع بكثير من الدسك
اذا كنت مبرمج ويب، ارجوك اعتمد هذا الميتا دائما لتمنع الزوم عند الضغط على input بهذي الطريقة المخيسة جدا جدا جدا
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1,user-scalable=0"/>
اذا كنت تستخدم الـNodeJS و لديك multi threaded CPU ، الطريقة الوحيدة للاستفادة من البروسيسور هي من خلال عمل load balancing اي تشغيل تطبيق النود نفسه على اكثر من instance و توزيع الـrequests بينهم
مثال توضيحي على ذلك
الي يعرف react js functional ويفكر انه يبي يدرس react native حتى يدخل عالم تطبيقات الموبايل
احب اقولك لا تتاخر و بسرعه ابدا في الامر
٩٠٪ من الامور الي انت تعرفها راح تطبقها بالحرف
افتح لنفس باب منه خبره ومنه رزق باذن الله
💻 + 📱 = 💰
مثال حي على Microservices architecture
نلاحظ ان:
- الـ chart شغال
- الـ alrams شغالين
- الـ search شغال
- الـ features الثانية شغاله
الا الـ user fav list ، وهذا يعني ان في هذي الجزئية فيها مشكلة في السيرفر
نلاحظ ان التطبيق مازال شغال بدون مشاكل اخرى
بلاتفورم OneSignal جميل جدا بهذي المميزات
اجرب ارسل لكل من يتواجد حول منطقة جغرافية معينه بالـ lat, long والـ radius 👌🏻
ازعجنا 21 مستخدم بس معليه كله في سبيل راحتكم بعدين 😂
سؤال: شلون ممكن تسوي secure لـ endpoint موجود في API معين
بحيث ان هذي الـ endpoint تقبل الطلبات من جهة معينه فقط
بدون الاعتماد على الـ tokenization لأي سبب من الاسباب
شنو الاستراتيجية الي راح تتبعها في حل هذي المشكلة ؟
في الجافاسكربت في شي اسمه NumberFormat
اتوقع الكثير مايعرفه/مايستخدمه
تقدر من خلاله اظهار الارقام كأسعار حسب نوع العملة بلغات مختلفه عربي / انجلينزي / الماني الخ - جرب هذا 👇🏼
console.log(new Intl.NumberFormat('ar-AR', { style: 'currency', currency: 'BHD' }).format(120.500));
هذي مكتبة للجافاسكربت تسوي شغلات غريبه عجيبه للـjson objects يعني عادي تستخدم SQL query حتى تجمع بين ٢ اوبجكت بدلالة key 😍
.
باختصار تاكل تفاحه بس من داخل برتقاله 😂😂
.
ياخي فله المكتبه استخدمتها في المشروع
ماهو kafka ؟
الـ Kafka هو نظام توزيع الرسائل المفتوح المصدر (Open-source)، وهو عبارة عن منصة تستخدم لبناء نظام تواصل بين الـ nodes المختلفة لتطبيقات الويب والهاتف المحمول والأجهزة الذكية.
واخيرا 😭
وبعد عناء طويل و صراع كبير جدا لمدة يومين مع الـ Bugs والسنتكس
قدرت اضبط docker شغال علية API ، مع Load balance اكثر من بورت للـ Requests بالـ NGINX
و اكثر من Environment بنفس الوقت
احس بالانجاز ولازم احتفل 🎉😂
في هذا الثريد 🧵 📱
بما اني داخل على الفرونت بقوة هالفتره
حبيت اشارككم بالمواقع الي اعتمد عليها لاستخراج الـ assets
[ وبإذن الله راح يكون متجدد ]
هذا الموقع غني عن. التعريف طبعا وكنز بالنسبه لي القى فيه كل الايقونات و الـ gifs الي احتاجها
كم شخص فيكم يستخدم MySQL او MariaDB ؟
كم شخص يحفظ بيانات داخل JSON Object في الداتا بيس ؟
تعرفون ان تقدرون تحفظون البيانات بشكل JSON و هم تسوون Query عليها بشكل مباشر
بدون data manipulation
ويكون اسهل عليك موضوع الـ pagination, limitation او حتى الـ ordering و الـ grouping
تبي اداء و خفه في تطبيقك؟
تبي سهولة و مرونه في التطوير / التطور و التجارب؟
اعتقد هذا افضل مودل تقدر تعتمد عليه في المشاريع المتوسطة و الكبيرة
كل سيرفس يخدم قاعدة بيانات منفصله "مع امكانية اتصال كل سيرفس بالاخرى"
السؤال: ماهي افضل الادوات لبرمجة لوحة تحكم بالـ reactjs ؟
جواب الـ GPT-Turbo Model:
المكتبات التي يمكن استخدامها لتطوير لوحة تحكم (dashboard) باستخدام ReactJS. ومن بين أفضل هذه الأدوات:
رسالة للجميع
وجودنا في تويتر (المبرمجين المصممين الخ…) مو لزيادة متابعين بل لمشاركة العلم
وهو احد الاعمال الي ماتنقطع حتى بعد الوفاة
لذلك لا تخجل من السؤال حتى لو انت تعتقد انه بسيط ، احنا نحب من يسأل
واذا ماعندنا الجواب، راح نبحث لك عنه
ومانبي منك/م الا الدعاء 🤲🏼
مؤخرا عرفت ان مطورين Netflix يستخدمون Restify لعمل الـ APIs
وطبعا شركة بحجم نتفلكس ماراح يستخدمون شي بدون دعم منهم ومن المجتمع
لذلك صار عندي فضول ابحر فيه و راح اخلي هذا Thread نتكلم عنه
وعالعموم رستيفاي اخو اكسبرس
انا والـ regex 😂
يمكن هذا الشي الوحيد الي كل المبرمجين على كل اللغات يتفقون ان لازم له رفرنس جدامك وانت تبرمج
ملاحظة: نتكلم عن الـ rules الابو كلب
وهذي cheat sheet للـ regex
تعرفون مكتبة corejs ؟
في قصة جميلة حول هذي المكتبة و شلون شغل شخص واحد غير من مجرى الكثير في الانترنت
خصوصا مع الشركات العملاقة مثل نتفلكس، الفيسبوك و حتى في الفريمووركس و المكتبات الثانيه منها vuejs / react واعتقد موجودة في angular
قصة حزينة لشخص كان بالامكان يكون مليونير
اذا كنت تبني/تبرمج/تعدل نظام معين مثل نظام HR او محاسبة الخ ...
و فيه case بحيث ان الفورم كبير ، اكثر من ١٠ مدخلات inputs
لا تخليهم كلهم في step واحد، اعمل wizard /خطوات حتى المستخدم ما يمل او يكره النظام
لحظة ادراك
مو كل مشروع صغير يعني ماراح تتعلم منه
هذا فكر كان عندي لفترة طويلة جدا من الزمن، بالسنين
كنت مقتنع تماما ان المشاريع/الفريلانس الصغيره ماراح تضيف لمهاراتي البرمجية شي
الى ان صار عندي احد هذي المشاريع وللامانه قبلت اني اخذه لان العميل شخص اعتبره اكثر من مدير/اخ
Meet Bhumika Goyal, age 22, from India. She has had more 340 patches accepted into the Linux kernel, which helped her land one of our two Linux Kernel Guru LiFT scholarships:
@kokabProg
@aliMajrashi_
نصيحة لخريجي الحاسب المهتمين بالبرمجة.. انجز مشاريع، انجز مشاريع، انجز مشاريع.. سواء مشروع لك أو لعميل أو لدى شركة.. الممارسة تعطيك الخبرة وليس المدة، حاول تعتمد على المعرفة من المصادر العالمية والجديدة وتجارب الخبراء، حتى تطبق بشكل صحيح وتتطور بشكل عملي.. أخيراً لا تخشى ان تبدأ.