يحتاج مطور الـFrontend إلى التأكد من ملائمة الصفحات التي ينفذها على جميع الشاشات .. من فترة قريبة اكتشفت برنامج Responsively
وهو أداة تساعدك على معاينة اي موقع على أكثر من قياس بنفس الوقت وبسهولة
#Front_End
وهو أداة تساعدك على معاينة اي موقع على أكثر من قياس بنفس الوقت وبسهولة
#Front_End
طريقك لتعلم exploit development
1- تذاكر سي كويس جدا ممكن تذاكرها من the c programming language أو أي كتاب تحبه.
2- طبق شويه على السي كويس يعني ممكن تعمل بروجكت على سبيل المثال http server صغير.
3- تبدأ تذاكر أسمبلي ابدأ بالاسمبلي بتاع لينكس هنا:
https://youtube.com/playlist?list=PL6brsSrstzga43kcZRn6nbSi_GeXoZQhR&feature=shared
4- بعد كده تذاكر اسمبلي الويندوز:
https://www.youtube.com/playlist?list=PL6qa4C74KbMAjEAYPzWAIblkTAvR4CHmt
5- ابدأ ذاكر buffer over flow من الفيدوهات دي:
https://youtube.com/playlist?list=PL6brsSrstzga2IQwI2oz9vCKDQEmSS2FL&feature=shared
وبعد كده الفيديوهات دي:
https://youtube.com/playlist?list=PL6qa4C74KbMBo0BMM9ZdcFlDLkArwA3SF&si=0G5h8_tMhBqvGxw_
6- وبعد كده ال format string bugs من هنا (من باب العلم بالشئ بقى من النادر جدا تلاقي حاجه زي كده):
https://www.youtube.com/@TheSecurityTube/search?query=Format%20string%20vulnerabilities%20primer
7- هتحل الرووم دي pwn101
https://tryhackme.com/r/room/pwn101
ودي فيديوهات الحلول
https://youtube.com/playlist?list=PLchBW5mYosh_F38onTyuhMTt2WGfY-yr7&si=dU5UP8j-UJXucHYc
8- كده انت خدت مبادئ استغلال الثغرات محتاج تاخد مبادئ ازاي تلاقيها نبدأ بالأسهل وهو مراجعه الكود هتتفرج غلى الفيدوهات دي هتديلك فكره كويسه:
https://vimeo.com/30001189
https://vimeo.com/29702192
9- الطريقه التانيه و هي ال binary auditing أو ال reverse engineering :
https://vimeo.com/30076325
https://vimeo.com/30594548
10 - الطريقه الاخيره هي ال fuzzing وهي احد انواع ال random testing:
http://resources.infosecinstitute.com/intro-to-fuzzing/
11- الحاجات اللي فوق دي بتتكلم عن نوع واحد من الثغرات اللي هو stack based buffer over flow ودا نوع واحد من ال memory corruption bugs ممكن تبدأ تقرا عن الانواع التانيه يعني تبدأ بال heap overflow هنا http://fuzzysecurity.com/tutorials.html
هتلاقيها تحت Windows Heap Exploitation
بعد كده هتقرأ عن حاجه اسمها use after free في نفس ال blog اللي فوق ودا لينكها:
http://fuzzysecurity.com/tutorials/expDev/13.html
بعد كده هتروح على موقع hacktricks هتلاقي فيه قسم كامل لل binary exploitation شامل حاجات كتير
https://book.hacktricks.xyz/binary-exploitation
كده هتبقى اتعلمت كذا نوع من الثغرات و فهمت الدنيا ماشيه ازاي و محتاج تقرا شويه عن ثغرات حقيقيه ممكن تبدأ بالفيديو ده
https://www.youtube.com/watch?v=gHISpAZiAm0
بعد كده تقرا كتاب bug hunter's diary وده جميل جدا و ممكن تتدخل على exploit-db.com تقرا ثغرات عشان تتعلم منها.
و دي تتوريال عن ال browser exploitation هي ٣ أجزاء و بتوريلك مثال عملي على الموضوع دا لينك اول جزء و باقي الأجزاء منشوره على نفس الموقع
https://jhalon.github.io/chrome-browser-exploitation-1/
في نفس الوقت ممكن تتابع ال channel دي على youtube كويسه جدا
https://www.youtube.com/user/GynvaelEN/videos
برضه من ال resources الكويسه pwn.college
https://pwn.college/software-exploitation/
في النهايه احب اقول ان الفكره في المواضيع مش الكورسات اللي بتذاكر منها يعني لو لقيت مثلا شرح واحد في الاسمبلي مش عاجبك عادي دوس مع اي حد تاني بيوصل نفس المفاهيم الحاجه الثانيه انك هتحتاج تبقى صبور شويه عشان تتعلم و ربنا يوفقكم جميعا
#exploit_development
1- تذاكر سي كويس جدا ممكن تذاكرها من the c programming language أو أي كتاب تحبه.
2- طبق شويه على السي كويس يعني ممكن تعمل بروجكت على سبيل المثال http server صغير.
3- تبدأ تذاكر أسمبلي ابدأ بالاسمبلي بتاع لينكس هنا:
https://youtube.com/playlist?list=PL6brsSrstzga43kcZRn6nbSi_GeXoZQhR&feature=shared
4- بعد كده تذاكر اسمبلي الويندوز:
https://www.youtube.com/playlist?list=PL6qa4C74KbMAjEAYPzWAIblkTAvR4CHmt
5- ابدأ ذاكر buffer over flow من الفيدوهات دي:
https://youtube.com/playlist?list=PL6brsSrstzga2IQwI2oz9vCKDQEmSS2FL&feature=shared
وبعد كده الفيديوهات دي:
https://youtube.com/playlist?list=PL6qa4C74KbMBo0BMM9ZdcFlDLkArwA3SF&si=0G5h8_tMhBqvGxw_
6- وبعد كده ال format string bugs من هنا (من باب العلم بالشئ بقى من النادر جدا تلاقي حاجه زي كده):
https://www.youtube.com/@TheSecurityTube/search?query=Format%20string%20vulnerabilities%20primer
7- هتحل الرووم دي pwn101
https://tryhackme.com/r/room/pwn101
ودي فيديوهات الحلول
https://youtube.com/playlist?list=PLchBW5mYosh_F38onTyuhMTt2WGfY-yr7&si=dU5UP8j-UJXucHYc
8- كده انت خدت مبادئ استغلال الثغرات محتاج تاخد مبادئ ازاي تلاقيها نبدأ بالأسهل وهو مراجعه الكود هتتفرج غلى الفيدوهات دي هتديلك فكره كويسه:
https://vimeo.com/30001189
https://vimeo.com/29702192
9- الطريقه التانيه و هي ال binary auditing أو ال reverse engineering :
https://vimeo.com/30076325
https://vimeo.com/30594548
10 - الطريقه الاخيره هي ال fuzzing وهي احد انواع ال random testing:
http://resources.infosecinstitute.com/intro-to-fuzzing/
11- الحاجات اللي فوق دي بتتكلم عن نوع واحد من الثغرات اللي هو stack based buffer over flow ودا نوع واحد من ال memory corruption bugs ممكن تبدأ تقرا عن الانواع التانيه يعني تبدأ بال heap overflow هنا http://fuzzysecurity.com/tutorials.html
هتلاقيها تحت Windows Heap Exploitation
بعد كده هتقرأ عن حاجه اسمها use after free في نفس ال blog اللي فوق ودا لينكها:
http://fuzzysecurity.com/tutorials/expDev/13.html
بعد كده هتروح على موقع hacktricks هتلاقي فيه قسم كامل لل binary exploitation شامل حاجات كتير
https://book.hacktricks.xyz/binary-exploitation
كده هتبقى اتعلمت كذا نوع من الثغرات و فهمت الدنيا ماشيه ازاي و محتاج تقرا شويه عن ثغرات حقيقيه ممكن تبدأ بالفيديو ده
https://www.youtube.com/watch?v=gHISpAZiAm0
بعد كده تقرا كتاب bug hunter's diary وده جميل جدا و ممكن تتدخل على exploit-db.com تقرا ثغرات عشان تتعلم منها.
و دي تتوريال عن ال browser exploitation هي ٣ أجزاء و بتوريلك مثال عملي على الموضوع دا لينك اول جزء و باقي الأجزاء منشوره على نفس الموقع
https://jhalon.github.io/chrome-browser-exploitation-1/
في نفس الوقت ممكن تتابع ال channel دي على youtube كويسه جدا
https://www.youtube.com/user/GynvaelEN/videos
برضه من ال resources الكويسه pwn.college
https://pwn.college/software-exploitation/
في النهايه احب اقول ان الفكره في المواضيع مش الكورسات اللي بتذاكر منها يعني لو لقيت مثلا شرح واحد في الاسمبلي مش عاجبك عادي دوس مع اي حد تاني بيوصل نفس المفاهيم الحاجه الثانيه انك هتحتاج تبقى صبور شويه عشان تتعلم و ربنا يوفقكم جميعا
#exploit_development
انت فرونت ايند وتشتي تفعل اول مكتبة برمجية لك بس ما تعرف من وين تبدأ!؟
سويت template تساعد اي مبرمج في انشاء مكاتب برمجيه على Vue او React او كلاهما ونشرتها في GitHub! 📦
🔧 المزايا الي في التيمبلت:
- دعم Vue او React او كلاهما
- بناء سريع بـ Vite
- تدعم TS
- سويت انا config بشكل كامل وشرحت كل شي في readme عشان انت تركز على الكود وما تهم الاعدادات 👍🏻
رابط التيمبلت:
https://github.com/Hetari/vue-and-react-library-template
#code #github #open_source
سويت template تساعد اي مبرمج في انشاء مكاتب برمجيه على Vue او React او كلاهما ونشرتها في GitHub! 📦
🔧 المزايا الي في التيمبلت:
- دعم Vue او React او كلاهما
- بناء سريع بـ Vite
- تدعم TS
- سويت انا config بشكل كامل وشرحت كل شي في readme عشان انت تركز على الكود وما تهم الاعدادات 👍🏻
رابط التيمبلت:
https://github.com/Hetari/vue-and-react-library-template
#code #github #open_source
GitHub
GitHub - Hetari/vue-and-react-library-template: A template for building shared libraries in both Vue and React. This template uses…
A template for building shared libraries in both Vue and React. This template uses Vite for fast builds and includes TypeScript support, with easy configuration for single or multiple framework tar...
بقالي فتره بذاكر database بتعمق سواء ك internals او ك queries فقولت ما يلا تعاله حل SQL 50 و اللي ميعرفشوش ده Problems sql علي LeetCode المهم انهارده ربنا اكرمني و خلصت حل SQL 50 قولت بقا وانا بحل احاول افيد الناس معايا ف كل problem حليتها عملتلها push علي GitHub و هتلاقي في Problems ليها كذا حل بتفسير كل حل لوحده و
ده لينك GitHub Repo :
https://github.com/mrXrobot26/SQL-50
و ده لينك SQL 50 :
https://leetcode.com/studyplan/top-sql-50/
حقيقي بنصح بيه اي حد بيذاكر SQL
أسأل الله أن يجعل هذا العمل نافعاً لي ولكم وأن يكتب لي ولكم التوفيق.
منقول..!
#db
#sql
ده لينك GitHub Repo :
https://github.com/mrXrobot26/SQL-50
و ده لينك SQL 50 :
https://leetcode.com/studyplan/top-sql-50/
حقيقي بنصح بيه اي حد بيذاكر SQL
أسأل الله أن يجعل هذا العمل نافعاً لي ولكم وأن يكتب لي ولكم التوفيق.
منقول..!
#db
#sql
GitHub
GitHub - mrXrobot26/SQL-50: This repository is managed by LeetPush extension: https://github.com/husamahmud/LeetPush
This repository is managed by LeetPush extension: https://github.com/husamahmud/LeetPush - mrXrobot26/SQL-50
❤2
معلومة على السريع:
وصف Search في وسوم Input كالتالي:
```html
```html
<input type='se
يقدم لك بعض الوظائف الإضافية للخانة.
#برمجة_ويب
#Web_development
وصف Search في وسوم Input كالتالي:
```html
```html
<input type='se
arch' />
يقدم لك بعض الوظائف الإضافية للخانة.
#برمجة_ويب
#Web_development
❤1
Forwarded from اللجنة العلمية CS 22
دفئ الشتاء 2
من الصدقات هي صدقات الشتاء، فالبرد ينام على أجساد الفقراء، وعندما تقدم بطانية أو ملابس شتوية لمن يحتاجها فإنك تطرد هذا الكابوس عن أجسادهم.
فكن عوناً لهم وشارك في مبادرتنا 🖤!!!!!
ونحن سنقوم بترقيع و غسل و كوي و تغليف الملابس وإيصالها لمن يستحق او قم بمشاركتنا حتى ولو بميه ريال
اللهم هون برد الشتاء علي من لا مأوي له وارحم حالهم واجعله عليهم برداً وسلاماً .
الله الله وكل واحد بما يستطع حتى نشر ❤️❤️❤️.
للاستفسار @HR2te
من الصدقات هي صدقات الشتاء، فالبرد ينام على أجساد الفقراء، وعندما تقدم بطانية أو ملابس شتوية لمن يحتاجها فإنك تطرد هذا الكابوس عن أجسادهم.
فكن عوناً لهم وشارك في مبادرتنا 🖤!!!!!
ونحن سنقوم بترقيع و غسل و كوي و تغليف الملابس وإيصالها لمن يستحق او قم بمشاركتنا حتى ولو بميه ريال
اللهم هون برد الشتاء علي من لا مأوي له وارحم حالهم واجعله عليهم برداً وسلاماً .
الله الله وكل واحد بما يستطع حتى نشر ❤️❤️❤️.
للاستفسار @HR2te
👍4
Forwarded from اللجنة العلمية CS 22
This media is not supported in your browser
VIEW IN TELEGRAM
من حمله السنه الماضيه مايقارب 40 شخص تم اكتفالهم من أطفال إلى كبار السن لبس كامل كفوف شرابات جلد أغطيه راس
الله الله ي رجال 🖤🖤🖤.
الله الله ي رجال 🖤🖤🖤.
👍2
Forwarded from اللجنة العلمية CS 22 (ʙʀʜᴏᴏᴍ ⑇)
Framer-motion ❌
motion ✅
تعديل اسم المكتبة الشهيرة فرايمر موشن الى موشن وخروجها التجاري من سلسلة framer ، أي الان هي مستقلة بحد ذاتها
+ تدعم react و JavaScript
بمعنى اصحاب فيو و انجلر واسترو وكويك او...الخ يقدرو يستخدموها في مشاريعهم الخاصة بشكل سلس 🔥
https://motion.dev/
motion ✅
تعديل اسم المكتبة الشهيرة فرايمر موشن الى موشن وخروجها التجاري من سلسلة framer ، أي الان هي مستقلة بحد ذاتها
+ تدعم react و JavaScript
بمعنى اصحاب فيو و انجلر واسترو وكويك او...الخ يقدرو يستخدموها في مشاريعهم الخاصة بشكل سلس 🔥
https://motion.dev/
🔥1
Forwarded from InfoTechnology (IT4_2024) (Ahmed_Askar)
بهذا الفديو يتحدث مارك زوكربيرگ بجامعة هارفرد عن كيفية بناء نظام الفيسبوك والمراحل الي مر بيهة تطوير النظام والعقبات الي واجهتهم وكيف تم حلها. الفديو تاريخة بنهاية ٢٠٠٥ يعني تقريبا بعد اقل من سنتين من بداية انطلاق الفيسبوك.
يذكر مارك ان البداية كانت بحاسبة وحدة باستخدام ال php وقاعدة بيانات my sql. كان تمثيل الاصدقاء عبارة عن undirected unweighted graph data structure واستخدم خوارزميات خاصة بال traversal مثل ال depth first search وال breath first search وكيف استفاد من مادة هياكل البيانات والخوارزميات بتنفيذ الفكرة الاساسية من النظام.
تحدث مارك عن بعض التحديات الي واجهتهم من زاد عدد المستخدمين ومن ضمنها بناء ال timeline وكيف كان يحتاج الى اكثر من ميتين queries وكيف بدوا يستخدمون ال memchace وخزن المعلومات بالذاكرة حتى يسرعون من استرجاع المعلومات وكيف استخدمو ال hashtable حتى يسرعون من استرجاع المعلومات لان هنا راح يكون ال time complexity يساوي O(1) ويوفر round trip لقاعدة البيانات وكيف بنوا indexing بقواعد البيانات لان هنا راح يكون عدنة ال time complexity يساوي O(LogN) لان يستخدم b-tree بال Index بدل ما يكون عدنة linear scan وهنا احتاجو ا الرجوع لاساسيات قواعد البيانات حتى يحلون مشاكلهم. بعدها فصلوا النظام الى اكثر من حاسبة وهنا احتاج معرفة معمقة بنظم التشغيل والشبكات حتى يحل مشاكل عدة خاصة بال scalability مال النظام وذكر كيف كان درس نظام التشغيل مفيد له بشكل كبير وساعده وساعد فريقه بحل مشاكل عدة.
تحدث كذلك بالفديو عن حاجتهم لبناء قاعدة بيانات خاصة بكل جامعة وهنا صار عندة حاجة لمعرفة اساسيات النظم الموزعة من ضمنهة ال partitioning وال redundancy وال replication وكذلك فكرة استخدام ال UDP بدل ال TCP لتسريع نقل المعلومات الي متحتاج دقة عالية مثل الصور والفديو. تحدث عن كيفية استخدام ال compression حتى يحل مشكلة الصور كبيرة الحجم.
الخلاصة ان مارك استفاد من درس هياكل البيانات والخوارزميات ودرس نظم التشغيل والي درسهن بعمق بجامعة هارفرد وكذلك احتاج فهم معمق للشبكات وقواعد البيانات حتى يبني نظام گدر ان يستخدمة نص كوكب الارض تقريبا, وقيمة الشركة اليوم اكثر من تلريون واربعميت مليار دولار.
https://youtu.be/xFFs9UgOAlE?si=_X6IjB5S8GI6oYAF
يذكر مارك ان البداية كانت بحاسبة وحدة باستخدام ال php وقاعدة بيانات my sql. كان تمثيل الاصدقاء عبارة عن undirected unweighted graph data structure واستخدم خوارزميات خاصة بال traversal مثل ال depth first search وال breath first search وكيف استفاد من مادة هياكل البيانات والخوارزميات بتنفيذ الفكرة الاساسية من النظام.
تحدث مارك عن بعض التحديات الي واجهتهم من زاد عدد المستخدمين ومن ضمنها بناء ال timeline وكيف كان يحتاج الى اكثر من ميتين queries وكيف بدوا يستخدمون ال memchace وخزن المعلومات بالذاكرة حتى يسرعون من استرجاع المعلومات وكيف استخدمو ال hashtable حتى يسرعون من استرجاع المعلومات لان هنا راح يكون ال time complexity يساوي O(1) ويوفر round trip لقاعدة البيانات وكيف بنوا indexing بقواعد البيانات لان هنا راح يكون عدنة ال time complexity يساوي O(LogN) لان يستخدم b-tree بال Index بدل ما يكون عدنة linear scan وهنا احتاجو ا الرجوع لاساسيات قواعد البيانات حتى يحلون مشاكلهم. بعدها فصلوا النظام الى اكثر من حاسبة وهنا احتاج معرفة معمقة بنظم التشغيل والشبكات حتى يحل مشاكل عدة خاصة بال scalability مال النظام وذكر كيف كان درس نظام التشغيل مفيد له بشكل كبير وساعده وساعد فريقه بحل مشاكل عدة.
تحدث كذلك بالفديو عن حاجتهم لبناء قاعدة بيانات خاصة بكل جامعة وهنا صار عندة حاجة لمعرفة اساسيات النظم الموزعة من ضمنهة ال partitioning وال redundancy وال replication وكذلك فكرة استخدام ال UDP بدل ال TCP لتسريع نقل المعلومات الي متحتاج دقة عالية مثل الصور والفديو. تحدث عن كيفية استخدام ال compression حتى يحل مشكلة الصور كبيرة الحجم.
الخلاصة ان مارك استفاد من درس هياكل البيانات والخوارزميات ودرس نظم التشغيل والي درسهن بعمق بجامعة هارفرد وكذلك احتاج فهم معمق للشبكات وقواعد البيانات حتى يبني نظام گدر ان يستخدمة نص كوكب الارض تقريبا, وقيمة الشركة اليوم اكثر من تلريون واربعميت مليار دولار.
https://youtu.be/xFFs9UgOAlE?si=_X6IjB5S8GI6oYAF
YouTube
CS50 Lecture by Mark Zuckerberg - 7 December 2005
On 7 December 2005, Mark Zuckerberg joined CS50 for a guest lecture about Facebook and computer science. With Professor Michael D. Smith. Shared with permission.
***
HOW TO SUBSCRIBE
http://www.youtube.com/subnoscription_center?add_user=cs50tv
HOW TO TAKE…
***
HOW TO SUBSCRIBE
http://www.youtube.com/subnoscription_center?add_user=cs50tv
HOW TO TAKE…
Forwarded from IS AM 23
برمجة وتطوير
Git_GitHub__proadev.pdf
📛 شرح للـ Version control systems والـ Git&Github
الملخص والشرح ضخخم جداً ويغنيك عن الكورسات من حيث التسلسل والشرح والتفاصيل الي تفهمك الموضوع ككل وصح الصفحات كثير لكن سهل وتقدروا تكملوه في يوم تقريباً
#للفايدة
الملخص والشرح ضخخم جداً ويغنيك عن الكورسات من حيث التسلسل والشرح والتفاصيل الي تفهمك الموضوع ككل وصح الصفحات كثير لكن سهل وتقدروا تكملوه في يوم تقريباً
#للفايدة
🚨 لاتسمي نفسك مبرمج اذا ماتستخدم الذكاء الاصطناعي ب 2024 !
هذه مجموعة ادوات ذكاء اصطناعي AI تفيدك كمبرمج ... وتختصر عليك الكثثثيررر من الوقت🔥
..
https://twitter.com/proadev/status/1754557661297721827?t=suqpoh5D9ecFDLmfe_PEaQ&s=19
#للفائدة
هذه مجموعة ادوات ذكاء اصطناعي AI تفيدك كمبرمج ... وتختصر عليك الكثثثيررر من الوقت🔥
..
https://twitter.com/proadev/status/1754557661297721827?t=suqpoh5D9ecFDLmfe_PEaQ&s=19
#للفائدة
X (formerly Twitter)
برمجة وتطوير (@proadev) on X
🚨 لاتسمي نفسك مبرمج اذا ماتستخدم الذكاء الاصطناعي ب 2024 !
هذه مجموعة ادوات ذكاء اصطناعي AI تفيدك كمبرمج ... وتختصر عليك الكثثثيررر من الوقت🔥
..
هذه مجموعة ادوات ذكاء اصطناعي AI تفيدك كمبرمج ... وتختصر عليك الكثثثيررر من الوقت🔥
..
لمحة 👀 برمجية
ورجعنا مع بارت 2... طبعا اعذروني على التأخير فهذه الرسائل اكتبها أنا ويأخذ مني وقت. طبعا الحلول الي شاركوها العيال والبنات سابقاُ فهمنا انها صحيحه لحالات معينه... بس الحاله الي في الشركه مختلف. نتكلم عن db كبيره جدا مع بيانات عملاقه وعلاقات توجع الدماغ 🤕…
واخيرا آخر بارت 😁
تكلمنا في بارت 1 على المشكلة وعرفناها وفي بارت 2 تكلمنا عن الحل النظري...
طبعا كما هو واضح في بارت 2 مستحيل اشارك الكود لانه خاص بالشركة... لهذا بكتفي بالكلام الرخيص واشرح لكم كل شي هدرة 🌚👍
بسم الله نبدأ:
الان في اي فريمورك backend مثل لارافل او adonis او...الخ في شي اسمه task scheduling او jobs... اعتقد الأغلب يعرف يستخدم لارافل... لهذا حبذا لو يبحث عن
Laravel 11 task scheduling
وفكرته بكل بساطه يكون يشغل كود معين كل فترة زمنية معينه (اما يوميا في ساعه معينة او اسبوعيا او كل 5 دقائق او ....الخ)
بنستغل هذه الميزة وبنفعل اوامر والاشياء الي تكلمنا عليها في بارت 2.
بنفعل tasks كثيرة... منها:
1 - انشاء db الجديدة مع الجداول الثقيله (الي هي views من db القديمة) وبنسميه init_db مع insert لكل البيانات
2 - بنفعل أمر sync_db وهذا الي بيكون يراجع الجدول الجديد الي تكلمنا عليه في بارت 2
الان بتكلم على أمر init ... الا init بيفعل drop if exist و create للجدول بحيث انه يحتوي على كل columns ال view
مثلا لو معي تقرير اجيبه من ٢٠ جدول والتقرير بينه ٥٠ عمود... الجدول ذاك بيكون ٥٠ عمود بدون اي علاقه
وهكذا...
وهذا شي عظيم... لانه في التطبيق بدل ما تقول له هات التقرير من view بتقول له هات لي التقرير من db الجديده.
طبعا الموضوع مش هكذا وبس... فهذا جزء بسيط من الحل 🤕
وبنضطر نفعل أشياء كثيرة بجانب أمر init_db
لانه - تخيلو معي - اذا المستخدم عدل بياناته في db الأساسية معناته بياناته في db الجديده بتكون قديمه ومختلفه عن البيانات الحديثة.
ولو شغلنا init_db في كل عملية تعديل عشان نحدث البيانات بنواجه مشكله ثانيه! في كل مره بيأخذ مننا مثلا ١٠ دقائق الي كنا نهرب منها اساساً 🤦🏻♂️
الحل هنا بيكون مشترك في الباك ايند وفي الجدول الجديد وفكره sync_db.
لو ناسي ايش new_table هو هذا الي تكلمنا عليه في بارت 2
اول شي في الباك ايند حق التطبيق بتمر لكل عملية إنشاء (Insert) أو تعديل (Update) أو حذف (Delete) على الجداول المرتبطة بالتقرير، ان حصل وتنفذ اي واحد من هولا بتحتاج تعمل insert في الجدول new_table. كذا بنضمن أنه إذا حصل أي تعديل، يكون موثق وموجود عندنا في new_table.
لكن هنا تظل المشكلة: البيانات مش متزامنة بشكل مباشر. وهنا يجي دور مهمة sync_db.
وهنا موضوع التزامن بيكون شغل ال task الجديده...
فكرة أمر sync_db انه بيشتغل كل 5 دقائق مثلاً... وبيفعل
select * from new_table
1. يعمل SELECT من الجدول new_table، ويجيب كل العمليات الجديدة اللي حصلت.
2. بعدين، يسوي استعلام SELECT من الـ View لكل id تم تسجيله في new_table.
3. بعد ما ياخذ البيانات، يسوي INSERT في الجدول الجديد في الـ DB الجديدة (يفعل اضافه في الجدول الي يمثل التقرير وعملناه عن طريق init_db)
4. بعد نجاح عملية الإضافة في الجدول الجديد، نحذف الصف من new_table لتجنب تكرار نفس العملية في المستقبل... لو ما عملنا رقم 4 بتتكرر البيانات في الجدول الجديد...
انتيهت من السلسلة هذه... وملاحظة هامة:
الحل في الشركة اكبر من هذا وفي اشياء كثيرة ما تكلمت عنها... ولكن هذه هي الفكرة الأساسية وتقدر انت تتلاعب بها على حسب احتياجات المشروع واحتياجك انت 👍
#db #سلسلة
تكلمنا في بارت 1 على المشكلة وعرفناها وفي بارت 2 تكلمنا عن الحل النظري...
طبعا كما هو واضح في بارت 2 مستحيل اشارك الكود لانه خاص بالشركة... لهذا بكتفي بالكلام الرخيص واشرح لكم كل شي هدرة 🌚👍
بسم الله نبدأ:
الان في اي فريمورك backend مثل لارافل او adonis او...الخ في شي اسمه task scheduling او jobs... اعتقد الأغلب يعرف يستخدم لارافل... لهذا حبذا لو يبحث عن
Laravel 11 task scheduling
وفكرته بكل بساطه يكون يشغل كود معين كل فترة زمنية معينه (اما يوميا في ساعه معينة او اسبوعيا او كل 5 دقائق او ....الخ)
بنستغل هذه الميزة وبنفعل اوامر والاشياء الي تكلمنا عليها في بارت 2.
بنفعل tasks كثيرة... منها:
1 - انشاء db الجديدة مع الجداول الثقيله (الي هي views من db القديمة) وبنسميه init_db مع insert لكل البيانات
2 - بنفعل أمر sync_db وهذا الي بيكون يراجع الجدول الجديد الي تكلمنا عليه في بارت 2
الان بتكلم على أمر init ... الا init بيفعل drop if exist و create للجدول بحيث انه يحتوي على كل columns ال view
مثلا لو معي تقرير اجيبه من ٢٠ جدول والتقرير بينه ٥٠ عمود... الجدول ذاك بيكون ٥٠ عمود بدون اي علاقه
وهكذا...
وهذا شي عظيم... لانه في التطبيق بدل ما تقول له هات التقرير من view بتقول له هات لي التقرير من db الجديده.
طبعا الموضوع مش هكذا وبس... فهذا جزء بسيط من الحل 🤕
وبنضطر نفعل أشياء كثيرة بجانب أمر init_db
لانه - تخيلو معي - اذا المستخدم عدل بياناته في db الأساسية معناته بياناته في db الجديده بتكون قديمه ومختلفه عن البيانات الحديثة.
ولو شغلنا init_db في كل عملية تعديل عشان نحدث البيانات بنواجه مشكله ثانيه! في كل مره بيأخذ مننا مثلا ١٠ دقائق الي كنا نهرب منها اساساً 🤦🏻♂️
الحل هنا بيكون مشترك في الباك ايند وفي الجدول الجديد وفكره sync_db.
لو ناسي ايش new_table هو هذا الي تكلمنا عليه في بارت 2
الهيكلية تبع الجدول الجديد هو:
id, row_id, view_name
اول شي في الباك ايند حق التطبيق بتمر لكل عملية إنشاء (Insert) أو تعديل (Update) أو حذف (Delete) على الجداول المرتبطة بالتقرير، ان حصل وتنفذ اي واحد من هولا بتحتاج تعمل insert في الجدول new_table. كذا بنضمن أنه إذا حصل أي تعديل، يكون موثق وموجود عندنا في new_table.
لكن هنا تظل المشكلة: البيانات مش متزامنة بشكل مباشر. وهنا يجي دور مهمة sync_db.
وهنا موضوع التزامن بيكون شغل ال task الجديده...
فكرة أمر sync_db انه بيشتغل كل 5 دقائق مثلاً... وبيفعل
select * from new_table
1. يعمل SELECT من الجدول new_table، ويجيب كل العمليات الجديدة اللي حصلت.
2. بعدين، يسوي استعلام SELECT من الـ View لكل id تم تسجيله في new_table.
3. بعد ما ياخذ البيانات، يسوي INSERT في الجدول الجديد في الـ DB الجديدة (يفعل اضافه في الجدول الي يمثل التقرير وعملناه عن طريق init_db)
4. بعد نجاح عملية الإضافة في الجدول الجديد، نحذف الصف من new_table لتجنب تكرار نفس العملية في المستقبل... لو ما عملنا رقم 4 بتتكرر البيانات في الجدول الجديد...
انتيهت من السلسلة هذه... وملاحظة هامة:
الحل في الشركة اكبر من هذا وفي اشياء كثيرة ما تكلمت عنها... ولكن هذه هي الفكرة الأساسية وتقدر انت تتلاعب بها على حسب احتياجات المشروع واحتياجك انت 👍
#db #سلسلة
🔥3
تقنية الدوكر (Docker) هي منصة مفتوحة المصدر تستخدم لتطوير وتشغيل التطبيقات بطريقة مستقلة عن البنية التحتية للنظام. تعتمد تقنية الدوكر على مفهوم الحاويات (containers)، حيث يتم تعبئة التطبيقات وجميع المكونات اللازمة لتشغيلها في حاوية واحدة قابلة للنقل والتشغيل على أي نظام تشغيل يدعم دوكر.
تقنية الدوكر توفر عزلًا تامًا بين التطبيقات المختلفة الموجودة على نفس النظام، مما يسمح بتشغيل التطبيقات بشكل مستقل وآمن دون التأثير على بعضها البعض. كما تسهل عملية تطوير ونشر التطبيقات بسرعة وسهولة، حيث يمكن إعداد بيئة تشغيل موحدة ومتجانسة للتطبيقات عبر مختلف البيئات.
تقنية الدوكر أصبحت شائعة الاستخدام في مجال تطوير البرمجيات وإدارة البنية التحتية، حيث تساعد في تبسيط عملية التوصيل المستمر وتحسين كفاءة استخدام الموارد وتوفير بيئات تشغيل موحدة ومستقرة.
#للفائدة
تقنية الدوكر توفر عزلًا تامًا بين التطبيقات المختلفة الموجودة على نفس النظام، مما يسمح بتشغيل التطبيقات بشكل مستقل وآمن دون التأثير على بعضها البعض. كما تسهل عملية تطوير ونشر التطبيقات بسرعة وسهولة، حيث يمكن إعداد بيئة تشغيل موحدة ومتجانسة للتطبيقات عبر مختلف البيئات.
تقنية الدوكر أصبحت شائعة الاستخدام في مجال تطوير البرمجيات وإدارة البنية التحتية، حيث تساعد في تبسيط عملية التوصيل المستمر وتحسين كفاءة استخدام الموارد وتوفير بيئات تشغيل موحدة ومستقرة.
#للفائدة
👍1🤗1
في اي مشروع برمجي.. في db اذا معاكم column من نوع string فالداتا تايب حقه تكون غالباً varchar بسبب الكل متأكد 100% انه بحدود 255 char واليوزر ما بيحتاج الا هذه القيمه
ولكن اذا كان الـ string بتأخذوه من اليوزر وانتم مش عارفين كم بيكتب اليوزر... هل جملة واحده او ٢٠ جملة ، مثل denoscription او note او data
فهنا حبذا لو كان الداتا تايب حقها text احتياط 👍
لانه تحصل مشاكل وقت ادخال البيانات string طويله من المستخدمين اذا كان varchar...
ولكن اذا كان الـ string بتأخذوه من اليوزر وانتم مش عارفين كم بيكتب اليوزر... هل جملة واحده او ٢٠ جملة ، مثل denoscription او note او data
فهنا حبذا لو كان الداتا تايب حقها text احتياط 👍
لانه تحصل مشاكل وقت ادخال البيانات string طويله من المستخدمين اذا كان varchar...
👏6🤩1
افضل مكتبات ال tailwindcss
رابط الثريد في السوشل ميديا:-
- on 𝕏
- on bluesky 🦋
- on LinkedIn
+ أنشر انا في حساباتي الخاصه أكثر من التليجرام... تجدوني في:-
https://solo.to/hetari
رابط الثريد في السوشل ميديا:-
- on 𝕏
- on bluesky 🦋
- on LinkedIn
+ أنشر انا في حساباتي الخاصه أكثر من التليجرام... تجدوني في:-
https://solo.to/hetari
❤1
علامات تدل على إصابة جهازك ببرمجيات خبيثة:
إعلانات تظهر لك بشكل مفاجئ
متصفح الإنترنت يعيد التحديث تلقائيا ً
تطبيقات لا تعرفها ترسل نوافذ تحذيرية
نوافذ تطلبك دفع فدية مالية
تعطيل بعض خدمات النظام
بطء كبير في التشغيل والأداء
ملفات تم إنشاءها دون معرفتك
اختفاء ملفاتك
إعلانات تظهر لك بشكل مفاجئ
متصفح الإنترنت يعيد التحديث تلقائيا ً
تطبيقات لا تعرفها ترسل نوافذ تحذيرية
نوافذ تطلبك دفع فدية مالية
تعطيل بعض خدمات النظام
بطء كبير في التشغيل والأداء
ملفات تم إنشاءها دون معرفتك
اختفاء ملفاتك
👍1
مؤخرًا انتشرت محاولات استغلال ثغرة أمنية تتيح للمخترقين إنشاء حسابات تيليجرام باستخدام أرقام هواتف دون إذن أصحابها.
وقد رصدت شركة تيليجرام بلاغات عن محاولات اختراق تحدث بعد استقبال مكالمة من رقم دولي، تليها عملية إنشاء حساب تيليجرام باستخدام الرقم المستهدف.
تجدر الإشارة إلى أن مشكلة مشابهة كانت قد ظهرت مسبقًا في واتساب وتمت معالجتها، إلا أن المخترقين يحاولون الآن استغلال الثغرة نفسها في تيليجرام.
تعمل تيليجرام على دراسة الوضع وتقييم مستوى المخاطر بهدف تطوير حلول مناسبة.
وفي هذه الأثناء، ننصح المستخدمين بالالتزام بالخطوات التالية لتعزيز حماية حساباتهم:
1. تفعيل المصادقة الثنائية في حساب تيليجرام:
يُنصح بتفعيل ميزة التحقق بخطوتين لحماية الحساب من أي محاولة وصول غير مصرح بها.
2. التحقق من عدم وجود حساب تيليجرام مسجل برقمك دون إذنك:
بالنسبة للأشخاص الذين لم يقوموا بتسجيل حساب على تيليجرام، يُفضل التحقق من عدم إنشاء حساب باستخدام رقمهم.
وقد رصدت شركة تيليجرام بلاغات عن محاولات اختراق تحدث بعد استقبال مكالمة من رقم دولي، تليها عملية إنشاء حساب تيليجرام باستخدام الرقم المستهدف.
تجدر الإشارة إلى أن مشكلة مشابهة كانت قد ظهرت مسبقًا في واتساب وتمت معالجتها، إلا أن المخترقين يحاولون الآن استغلال الثغرة نفسها في تيليجرام.
تعمل تيليجرام على دراسة الوضع وتقييم مستوى المخاطر بهدف تطوير حلول مناسبة.
وفي هذه الأثناء، ننصح المستخدمين بالالتزام بالخطوات التالية لتعزيز حماية حساباتهم:
1. تفعيل المصادقة الثنائية في حساب تيليجرام:
يُنصح بتفعيل ميزة التحقق بخطوتين لحماية الحساب من أي محاولة وصول غير مصرح بها.
2. التحقق من عدم وجود حساب تيليجرام مسجل برقمك دون إذنك:
بالنسبة للأشخاص الذين لم يقوموا بتسجيل حساب على تيليجرام، يُفضل التحقق من عدم إنشاء حساب باستخدام رقمهم.
لمحة 👀 برمجية
مؤخرًا انتشرت محاولات استغلال ثغرة أمنية تتيح للمخترقين إنشاء حسابات تيليجرام باستخدام أرقام هواتف دون إذن أصحابها. وقد رصدت شركة تيليجرام بلاغات عن محاولات اختراق تحدث بعد استقبال مكالمة من رقم دولي، تليها عملية إنشاء حساب تيليجرام باستخدام الرقم المستهدف.…
أحد الضحايا تم إختراق حسابه من قبل مخترق ياباني