فلسطين

“علموا اولادكم ان فلسطين محتلة، وان المسجد الأقصى اسير، وان الكيان الصهيوني عدو، وان المقاومة شرف، وانه لا يوجد دولة اسمها إسرائيل”

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

اللهم منزل الكتاب ومجري السحاب وهازم الأحزاب اهزمهم وانصرنا عليهم، اللهم اهزم الظالمين من اليهود والصهاينة وانزل عليهم بأسك الذي لا يرد عن القوم المجرمين, لاحول ولا قوة الا بك يالله.

 

I’m weak at CI/CD

من بداية السنة الميلادية احتجت اسوي مجموعة تعديلات على بعض التطبيقات asp.net (core) وفي هذي الفترة القصيرة كانت عملية النشر للتعديلات مقرفة وتاخذ وقت, فكنت انقل ملفات واكواد عملية البناء build للسيرفر واعمل اعادة تشغيل للتطبيق 🤷🏻‍♂️

في عملية التطوير والتكامل المستمر CI/CD بمجرد عمل commit لاي تعديل لبرانش البرودكشن او release فالمفروض يكون عندك اتمتة بحيث تصير عملية الـ build بشكل تلقائي وفي حال نجاحها يتم نقل المخرجات بشكل تلقائي ايضاً CD لمكان عمل التطبيق بدون اي مجهود اضافي من المستخدم.

وانا ما فكرت من قبل اسوي اتمتة كاملة لهذي الفكرة, بعد الي صار معي في هالفتره قلت ابدأ اعمل حاجة بسيطة من خلال visual studio و دوكر بدون ادوات مخصصة لعمليات CI/CD لأني اصلا مشغل التطبيق على حاوية فبيكون اختيار جيد لي كبداية 🙄

اكمل القراءة

من Google cloud إلى Digital Ocean وفتح المنافذ في راوتر 5G

قبل 3 سنوات نقلت هذه المدونة من استضافة مشتركة بسيطة إلى Google cloud platform -نختصرها gcp- , وكان الهدف الرئيس من النقل هو تجربة وتعلم خدمات السحابة بشكل فعلي وفي بيئة عمل production وكمان استفيد من مساحة تخزين اكبر و نقل بيانات اكبر وسعر اقل.

داخل السحابة الخيارات كثيرة لبناء المدونة منها التطبيقات او الحاويات (managed apps/contianers) وعملها بسيط وبتكون شبه جاهزة, لكن قررت ابني كل شي من الصفر باستخدام جهاز افتراضي VM من خلال Compute Engine في gcp.

اخترت اصغر خطة f1-micro وكانت تكلفتها الشهرية تقريباً 7 دولار مع 10GB وبدون احتساب نقل البيانات outbound traffic حيث تسعيرته متغيرة حسب الاستخدام.

ثبت قواعد البيانات والسيرفر والمدونة ونقلت كل البيانات, ومن ذاك الوقت حتى قبل اسبوعين كان كل شي على gcp يعمل بسلاسة, باستثناء مشكلة بسيطة وهي بعض ادوات قوقل الخاصة باقياس الاداء والمراقبة وبعض ملفات التحديثات تاخذ مساحة كبيرة بعد التحديثات واحتاج احذفها يدويا, حتى لو عملت ترقية للمساحة ارجع لنفس النتيجة بعد فترة, لكن كنت احلها بتنفيذ امر بسيط كل فترة وبس.

اكمل القراءة

من .Net Framework إلى .Net Core:كيف قللت التكلفة بنسبة 98%

في 2016 اطلقت مايكروسوفت إطار عمل جديد مبني من الصفر بإسم .net core (دوت نيت كور) والهدف منه تحويل إطار العمل الاساسي .net framwork (دوت نيت فريمورك) لبيئة مفتوحة المصدر, متوافقة وداعمة لمختلف الانظمة, خفيفة وقابلة للنقل بسهولة.

خلال السنة الماضية تم اطلاق النسخة الاحدث من إطار العمل الجديد بإسم .net 5 (دوت نيت 5) والتخلص من كلمة core وسيكون اطار العمل هذا هو الاساس الذي يتم تطويره واضافة خصائص جديدة له, وسيتم ايقاف تطوير .net framwork عند الاصدار 4.8 مع دعم تحديثات الامان فقط.

هذا الفرق بين النسختين بشكل عام, لكن ايش علاقة تقليل التكاليف؟ نذكر بعض تفاصيل النسختين بشكل سريع 💨🏃🏻‍♂️

اكمل القراءة

كيف تستضيف تطبيقك محلياً Self-hosting

تستخدم خدمات اونلاين كثير؟ تدوين, بريد الكتروني او حتى تخزين ملفات على السحابة. أكيد كلنا نستخدم بعض الخدمات وبشكل يومي وتقريباً كلها خدمات جاهزة للاستخدام مباشرة و نقدر نبدأ في ارسال الايملات على Gmail او نكتب تدوينة على wordpress او نرفع ملفات على dropBox او حتى نغرد على تويتر, كل هذا نسويه بسهولة بمجرد التسجيل في الخدمة المرغوبة.

طيب.. تبي تبني احد الخدمات السابقة بنفسك من الصفر؟ تبي تسخدم سطر الاوامر وتعدل ملفات اعدادت؟ تبي كل فترة تسوي تحديثات يدوية وممكن تخبص عليك و تضطر تعيد كل شي من جديد؟ تبي وجع راس؟! 😬 لالا معليش مش وجع راس.. تبي تتعلم احدى طرق استضافة التطبيقات في الشركات؟ تبي تشغل تطبيق خاص فيك اونلاين؟ تبي تسوي لك مدونة زي هذي اونلاين بدون سيرفر خاص او بدون خدمة مدفوعة وتتحكم في كامل بياناتك؟

واحد من المصطلحات الشائعة في الوسط التقني وبين المطورين او اصحاب السيرفرات المنزلية هو Self-hosting وهذا هو موضوعي اليوم وبوضح ايش هو و الهدف منه وكيف تقدر تستفيد منه.

اكمل القراءة

سيرفر جديد ونظام جديد بس هذي المرة Custom Build

👀
في احد هنا

سنتين ونص من اخر تدوينه وكانت خاصة بأيش؟ خاصة بالسنولوجي سيرفر و الي خدمني لأكثر من 5 سنوات ومازال، كان الوحيد والفريد من نوعه في حياتي وكان اساسي في استخدامات كثيرة والان احيل للتقاعد كسيرفر اساسي وصار الملاذ الاخير وقت المشاكل offline-onsite-last-resort-backup وحل مكانه R1Land والي بأتكلم عنه بعدين.

السيرفر القديم عبارة عن صندوق صغير يشيل 4 هاردسكات وغير قابل للترقية (باستثناء الرام) او اضافة كروت توسعه مع معالج entry-level بأربع انويه باستهلاك طاقة كلي 30-40 واط! بصراحة كان مدخل ممتاز لعالم الـ NAS ونظام تشغيل السنولوجي DSM كان خادمني بشكل كامل ومميز (كنت اظن) رغم السعر المرتفع بالنسبة للمواصفات, في موديلات بسعر معقول لكن حدها تكون nas فقط لاغير.

شغلت السيرفر القديم بثلاث هاردسكات فقط وكان في درج مشبوك مباشرة في الكهرباء وعلى كثر انقطاع الكهرباء ظل صامد ومعروف ان الهاردسكات حساسة جداً جداً لانقطاع الكهرباء المفاجيء, بعد 3 سنوات ونص تقريبا فللت الهاردسكات الثلاث وفي نفس الوقت طلع لي اول bad sector ⚡️ والي كان خلفه العشرات منهم , اضفت الهاردسك الرابع وكانت هذي لحظة الحقيقة تم اضافة الهاردسك وبدأت عملية إعادة بناء المصفوفة لأربع هاردسكات, تعتبر هذي العملية قوية/خطيرة على الهاردسكات وتشغلة بكامل طاقته وتأثر على الحياة الافتراضية له لكنها ضرورية حتى تعمل توسعة بالهاردسك الجديد ومع اخذ البادسكتورز بالحسبان………. TLDR تم الامر بنجاح, تم بدون مشاكل تقريباً.

في نص 2019 جاتني هذي الرسالة والمشكلة مو في قرب انتهاء المساحة المشكلة اني ماعاد اقدر اوسع نهائياً (REMEMBER! only 4 HDD) و من وقتها بديت التفكير في التوسعة, الخدمات الجديدة الي ممكن استخدمها و الأهم من كل ذا كيف اتجنب حالة مثل كذا في المستقبل.

اكمل القراءة