222 subscribers
148 photos
1 video
42 files
64 links
تجميع أكبر كم من المعلومات حول مجالات التقنية
(#linux - #backend - #frontend - #ai - #Network - #php - #python)

Follow me:
Linkedin: https://linkedin.com/in/fadlhasn
Twitter:https://twitter.com/fdl_hasn

Connect me:
@FadL_Hasn
Download Telegram
Regular Expressions
التعابير النمطية (Regular Expressions - RegEx) عبارة عن مجموعة من الرموز والأحرف مكتوبة بنمط معين وبترتيب معين (Pattern)، تُستخدم في التعامل مع النصوص. يمكن استخدامها في عمليات البحث عن نماذج محددة في النص، التحقق من شروط معينة في النص، واستخراج المعلومات من النص بسهولة دون الاعتماد على خوارزميات معقدة.


يعد التعبير العادي، أو #regex أو #regexp باختصار، قويًا للغاية ومدهشًا في البحث عن السلاسل النصية ومعالجتها، خاصة في معالجة الملفات النصية. يمكن لسطر واحد من التعبير العادي أن يحل محل عشرات الأسطر من أكواد البرمجة بسهولة.

يتم دعم Regex بجميع لغات البرمجة النصية (مثل #Perl و #Python و #PHP و #JavaScript)؛ بالإضافة إلى لغات البرمجة للأغراض العامة(غرضية التوجه) مثل #Java؛ وحتى معالجات النصوص مثل برنامج ال Word للبحث في النصوص. قد لا يكون البدء في استخدام regex أمرًا سهلاً نظرًا لتركيبه العبقري غريب الأطوار، ولكنه بالتأكيد يستحق استثمار وقتك.
🔰Examples :
python example in terminal🔴🐍 :

# Test under the Python Command-Line Interpreter
$ python3
......
>>> import re # Need module 're' for regular expression

# Try find: re.findall(regexStr, inStr) -> matchedSubstringsList
# r'...' denotes raw strings which ignore escape code, i.e., r'\n' is '\'+'n'
>>> re.findall(r'[0-9]+', 'abc123xyz')
['123'] # Return a list of matched substrings
>>> re.findall(r'[0-9]+', 'abcxyz')
[]
>>> re.findall(r'[0-9]+', 'abc00123xyz456_0')
['00123', '456', '0']
>>> re.findall(r'\d+', 'abc00123xyz456_0')
['00123', '456', '0']

# Try substitute: re.sub(regexStr, replacementStr, inStr) -> outStr
>>> re.sub(r'[0-9]+', r'*', 'abc00123xyz456_0')
'abc*xyz*_*'

# Try substitute with count: re.subn(regexStr, replacementStr, inStr) -> (outStr, count)
>>> re.subn(r'[0-9]+', r'*', 'abc00123xyz456_0')
('abc*xyz*_*', 3) # Return a tuple of output string and count


js example :

<!DOCTYPE html>
<!-- JSRegexNumbers.html -->
<html lang="en">
<head>
<meta charset="utf-8">
<title>JavaScript Example: Regex</title>
<script>
var inStr = "abc123xyz456_7_00";

// Use RegExp.test(inStr) to check if inStr contains the pattern
console.log(/[0-9]+/.test(inStr)); // true

// Use String.search(regex) to check if the string contains the pattern
// Returns the start position of the matched substring or -1 if there is no match
console.log(inStr.search(/[0-9]+/)); // 3

// Use String.match() or RegExp.exec() to find the matched substring,
// back references, and string index
console.log(inStr.match(/[0-9]+/)); // ["123", input:"abc123xyz456_7_00", index:3, length:"1"]
console.log(/[0-9]+/.exec(inStr)); // ["123", input:"abc123xyz456_7_00", index:3, length:"1"]

// With g (global) option
console.log(inStr.match(/[0-9]+/g)); // ["123", "456", "7", "00", length:4]

// RegExp.exec() with g flag can be issued repeatedly.
// Search resumes after the last-found position (maintained in property RegExp.lastIndex).
var pattern = /[0-9]+/g;
var result;
while (result = pattern.exec(inStr)) {
console.log(result);
console.log(pattern.lastIndex);
// ["123"], 6
// ["456"], 12
// ["7"], 14
// ["00"], 17
}

// String.replace(regex, replacement):
console.log(inStr.replace(/\d+/, "**")); // abc**xyz456_7_00
console.log(inStr.replace(/\d+/g, "**")); // abc**xyz**_**_**
</script>
</head>
<body>
<h1>Hello,</h1>
</body>
</html>


🔰 Articles:
- Regular expressions - MDN
https://developer.mozilla.org/.../Guide/Regular_expressions
- A Step-by-Step Guide for Learning Regular Expressions: A Guide with Real-Life Usage
https://blogs.princegupta.me/a-step-by-step-guide-for...
- Regular Expressions Info
https://www.regular-expressions.info
- RegExOne
https://regexone.com
- RegEx Tutorial - java T point
https://www.javatpoint.com/regex
- RegExr learn ,build & test regEX
https://regexr.com/
- AI-Powered Regular Expression Solver
https://regex.ai/
-----
🔰 Videos:
- Regular Expressions (RegEx) Tutorial
https://youtube.com/playlist...
- Learn Regular Expressions (Regex) - Crash Course for Beginners
https://youtu.be/ZfQFUJhPqMM
- Regular Expression Tutorial - Arabic
https://youtube.com/playlist...
- Regular Expressions (Regex) Tutorial: How to Match Any Pattern of Text
https://youtu.be/sa-TUpSx1JA
- Complete Regular Expressions Tutorial! (with exercises for practice)
https://youtu.be/vsa9GGzMFXQ
- CS50P - Lecture 7 - Regular Expressions
https://youtu.be/hy3sd9MOAcc
--------

#regEx #regExp #RegulerExpression #pattern #regEx_tutorial #python_regEx #js_regEX
🔥2👎1
IT Engineer
Regular_Expressions_Cheat_Sheet.pdf
من أفضل أوراق غش لتعلم regEx
#regEx #book #cheatSheet
IT Engineer
Photo
🔰 مـعـلـومـة

💬 ما هو الفرق بين المترجم "Compiler" والمفسر "Interpreter" ؟

المترجم Compiler والمفسر Interpreter في واقع الأمر عبارة عن برنامجين يقومان بنفس الغرض، والمتمثل في تحويل الأوامر المكتوبة بإحدى لغات البرمجة العالية المستوى (high level language) من قبيل Java و#C و++C، إلى لغة الآلة Machine Language (أوامر مكتوبة بالبيانات الثنائية Binary Data أي سلاسل من الأصفار والوحدات).

▫️⁩إذاً وإن كان لهما نفس الدور، فلماذا يوجد مترجم "Compiler" ومفسر "Interpreter" ولماذا لا يوجد أحدهما فقط ؟

لنتعرف على أهم الفروق بين البرنامجين، وعلى السبيل الذي يسلكه كلاهما من أجل تحويل التعليمات والأوامر العالية المستوى (والتي تسمى أيضاً البرنامج المصدري Source Program) إلى أوامر مكتوبة بلغة الآلة.

🔸 المترجم Compiler :
من خلال اسمه يتضح جلياً أنه يقوم بعملية الترجمة، فهو يقوم بفحص البرنامج المكتوب بلغة البرمجة كاملاً، ثم يقوم بترجمته إلى برنامج مكتوب بلغة الآلة لكي تتمكن وحدة معالجة البيانات "CPU" من تنفيذه و لا يظهر الأخطاء الموجودة في البرنامج المصدري إلاّ بعد الانتهاء من عملية تحويله إلى لغة الآلة.

🔸 المفسر Interpreter :
يقوم تقريباً بنفس الدور الذي يقوم به المترجم مع اختلاف بسيط، يتجلى في أن المفسر لا يقوم بتحويل الكود المصدري إلى كود الآلة مباشرة وإنما يقوم بتحويله إلى لغة وسيطة (intermediate code)، بعد ذلك يتم تحويل كل جزء من أجزاء الكود الناتج إلى لغة الآلة، ثم يتم تنفيذ هذه الأجزاء أمراً بأمر (Statement by statement)، وأي أمر يضم خطأً يؤدي إلى توقيف عملية تحويل الأجزاء المتبقية.

#compiler #Interpreter #information
2🔥1
مـعـلـومـة 🔰:

🔘 الفرق بين تطبيقات Web1 و Web2 و Web3:

♦️ الـ Web1 قراءة فقط (المستخدمين لا يمكنهم الكتابة).
♦️ الـ Web2 قراءة وكتابة (المستخدمين يستطيعون القراءة والكتابة على الويب ولكنهم لا يملكون البيانات).
♦️ الـ Web3 قراءة وكتابة (المستخدمين هم مالكو للبيانات).
#web #web3 #information
👍21
🇬🇧Computer Vision with Python

🟢كورس مجاني مؤقتاً : مقدمة لرؤية الكمبيوتر ، اصنع تطبيقات الرؤية(أساسيات)

🆓 السعر:مجاناً لأول 635 شخص
⭐️ التقييم: 4.3
🧲 المجال: #Development
🔄 آخر تحديث : 8/2017
محتوى الكورس : 01:15 ساعة و 31 محاضرة
🎥 طريقة التسجيل : اضغط 「هنا」


للتسجيل مباشرة اضغط هنا
Back soon after exams😴

تابعني على linkedIn و Twitter

#course #free #udmey #Enroll_now
أحسن Repositories في GitHub لازم تكون عارفهم 👩‍💻🔝🚀

1- Public APIs: مجموعة كبيرة أكثر من 1400 APIs مجانية مفيدة جدًا جدًا.
🔗:https://lnkd.in/djTZw7rz

2- App Ideas: قائمة فيها أفكار تطبيقات تطور بيها من مهاراتك مقسمة على حسب مستواك.
🔗:https://lnkd.in/dbnauBX2

3- Coding Interview University: منهج ورود ماب لتحضير نفسك للإنترفيو في الشركات الكبرى وتطوير مهاراتك وتميزك كطالب علوم حاسب .
🔗:https://lnkd.in/dR8Hn76J

4- The Algorithms: مجتمع كبير فيه أكواد لأنواع مختلفة من الألجوريزمز والداتا ستراكتشرز بأكثر من لغة برمجة.
🔗:https://lnkd.in/d9rbsPH7

5- Free Programming Books: مكتبة كبيرة فيها كتب برمجة مجانية ومصادر وترشيحات كورسات للي حابب يتعلم بكل اللغات.
🔗:https://lnkd.in/dNR9W2Pt

6- 30 Seconds of Code: مكتبة لأكواد وطرق مختصرة ومفيدة لحل مشاكل برمجية بتواجهنا كثير بطريقة أسرع.
🔗:https://lnkd.in/dkK3Wk9s

تابعني على linkedIn و Twitter
#Github #repository #code #api #programming
🔥2
ماذا يعني SSH 🔐وماذا يقدم

SS
H هي اختصار لـ "Secure Shell"، وهي بروتوكول يستخدم للاتصال الآمن بين جهازين عبر شبكة غير آمنة، مثل الإنترنت. يعتبر SSH أساسياً في عالم تكنولوجيا المعلومات والأمن السيبراني، حيث يوفر وسيلة آمنة ومشفرة للتحكم عن بعد في أجهزة الحواسيب وإدارتها.

تاريخ الـ SSH

تم تطوير بروتوكول SSH في التسعينيات كبديل آمن لبروتوكولات التوصيل البسيطة المستخدمة في ذلك الوقت، مثل Telnet و Rlogin، التي كانت ترسل كلمات المرور والبيانات عبر الشبكة بوضوح دون تشفير. توفر SSH طريقة للتوصيل تشفير كل البيانات المرسلة بين الجهازين المتصلين.

كيف يعمل SSH؟

SSH يستخدم تشفير المفتاح العام والخاص لتأمين الاتصالات. عندما يقوم جهاز بالاتصال بآخر باستخدام SSH، يتم تبادل مفاتيح تشفير لإقامة اتصال آمن بينهما. يستخدم SSH أيضًا تقنية التجزئة لحماية الاتصالات من التجسس والتلاعب أثناء النقل.

استخدامات SSH

1. الوصول إلى الخوادم عن بعد: يتيح SSH للمسؤولين الوصول إلى خوادمهم وإدارتها من أي مكان بشكل آمن ومشفر.

2. نقل الملفات بأمان: يمكن استخدام بروتوكول SSH لنقل الملفات بين أجهزة الكمبيوتر بطريقة آمنة باستخدام برامج مثل scp و sftp.

3. إجراءات النسخ الاحتياطي الآمنة: يمكن استخدام SSH لإنشاء نسخ احتياطية من البيانات عبر الشبكة بطريقة آمنة.

4. الاتصال بخوادم الويب: يمكن استخدام SSH لإدارة خوادم الويب وتكوينها بشكل آمن.

أمان SSH

على الرغم من أن SSH تعتبر آمنة، إلا أنه لا يزال هناك بعض المخاطر التي يجب مراعاتها، مثل استخدام كلمات مرور ضعيفة أو تعرض الخوادم للهجمات السيبرانية.

الختام

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

تابعني على linkedIn و Twitter

#SSH #information #Network #protocol
1
تعاني منصات Meta بما في ذلك Facebook و Instagram و Messenger و Thread حاليًا من انقطاعات تتعلق بجلسات تسجيل الدخول في العديد من البلدان
سأعود للنشر قريبا سيكون التركيز على هذه المواضيع اختر ماذا تفضل
Anonymous Poll
63%
python🐍
19%
Ai recources📑
29%
useful github repositories💎
31%
useful courses📚
13%
machine learning🤖
2
IT Engineer pinned «سأعود للنشر قريبا سيكون التركيز على هذه المواضيع اختر ماذا تفضل»
#Python #Trick
كتير منلاحظ هالسينتاكس ببايثون والغالب بكون صعب عليه فهمو و ليش هو افضل بغالب الاحيان من حلقة for و شو اسمو وكيف بيشتغل؟
غدا انشالله منشور عن الفكرة بالتفصيل
1🔥1
IT Engineer
#Python #Trick كتير منلاحظ هالسينتاكس ببايثون والغالب بكون صعب عليه فهمو و ليش هو افضل بغالب الاحيان من حلقة for و شو اسمو وكيف بيشتغل؟ غدا انشالله منشور عن الفكرة بالتفصيل
المصطلح يلي شفناه بالصورة اسمو List comprehensions و هو انشاء list بطريقة مختصرة واسرع

List comprehensions
هي إحدى ميزات Python المثيرة للاهتمام والمفيدة للغاية والتي تتيح لنا إنشاء القوائم ومعالجتها باستخدام بناء جملة أقصر بكثير.

Syntax

يتكون بناء الجملة الأساسي من قوسين مربعين [] يتضمنان تعبيرًا متبوعًا بجملة for. ويمكن تضمين شرط باستخدام if لفلترة البيانات
list_comp = [expression for item in iterable if condition]

Expression
يحدد التعبير ما يجب تضمينه في القائمة الجديدة لكل عنصر في العنصر القابل للتكرار. يمكن أن يكون تحويلاً بسيطًا أو حتى عملية حسابية
على سبيل المثال، لنفترض أن لدينا قائمة بخمسة أرقام مخزنة في numbers

نريد إنشاء قائمة أخرى منها وتخزين مربعات هذه الأرقام فيها.

يمكننا القيام بذالك عن طريق تعريف List comprehensions تسمى squares الذي تقوم بعمل مربعات الاعداد لكل عدد عن طريق التعبير الآتي:
numbers = [1, 2, 3, 4, 5]
squares = [num ** 2 for num in numbers]

print(squares)

هي تعبير نفس هي التعبير :

numbers=[1,2,3,4,5]
squares =[]
for num in numbers:
squares.append(num**2)
print(squares)


output
[1, 4, 9, 16, 25]

نلاحظ نفس الجواب للجهتين طيب شو الفرق ؟

اولا: مصطلح قابل للقراءة اكثر ومختصر ونحن منحاول دائما نكتب كمية اقل من الكود و تعتبر هذه الكتابة بايثونية (شخص بيشرب بايثون بالعامية🌚)
ثانيا: اسرع نوعا بشكل بسيط من استخدام ال for loop التقليدية حسب تجربة الخبراء

هاد شرح فكرة بشكل مختصر و انشالله قريبا رح نزل notebook كامل وفيه امثلة وشرح شامل و مصادر ممتازة بعتذر عن التأخير لضيق الوقت

وكل الأسئلة يلي عم تجي ما عم يتم تجاهلها ولكن رح يتم الإجابة عنها اما بشرح عالقناة او رد قريبا💯

📛تذكر انا ما زلت بتعلم متلي متلك وماني متأكد من معلومتي وما عندي الخبرة الكافية والمؤهلات لأشرح فكرة بشكل عميق انو كيف هاد الامر من ناحية الذاكرة والاستخدام لهيك اغلب شروحاتي من مواقع موثوقة وناس خبراء مجرد مشاركة معلومة حسب الأسئلة يلي عم تجيني📛

#python #list

#A_person_who_learns_and_shares_what_he_learns_I_am_not_a_very_experienced_person_but_I_use_the_sources_I_learn_from_and_share_them.

#Anyone_can_make_mistakes
1👍1
بالمناسبة الناس يلي ما بتعرف شو هو ال notebook الخاص ببيئة jupyter

شرح بسيط من ابداع الذكاء الأصطناعي ما من ابداعي😁

ما هو Jupyter Notebook؟

Jupyter Notebook هو بيئة تفاعلية مفتوحة المصدر تُستخدم بشكل واسع في علوم البيانات، التعلم الآلي، والبرمجة. يتيح للمستخدمين كتابة وتنفيذ الشيفرات البرمجية، وعرض النتائج، وكتابة الملاحظات، كل ذلك في واجهة واحدة سهلة الاستخدام.

المميزات الرئيسية:

تفاعلية: يمكنك كتابة الشيفرة البرمجية وتنفيذها في خلايا (cells) منفصلة، مما يتيح لك رؤية النتائج بشكل فوري.

دعم لغات متعددة: يدعم Jupyter العديد من لغات البرمجة مثل Python، R، Julia، وغيرها.

التوثيق: يمكنك إضافة نصوص، معادلات رياضية، صور، وروابط، مما يجعل من السهل توثيق الأفكار والمشاريع.

مشاركة سهلة: يمكنك تصدير الـ Notebooks إلى صيغ متعددة مثل HTML، PDF، أو حتى مشاركة الروابط مباشرة.

مكتبات قوية:
يدعم Jupyter العديد من المكتبات الشهيرة مثل NumPy، Pandas، Matplotlib، مما يجعله مناسبًا لتحليل البيانات والتصور.

رح نزل شرح عنو بالتفصيل من واقع تجربتي وكيف منشغلو وشوية اوامر سحرية فيه

#jupyter #notebook #python #NumPy #Pandas
https://github.com/fadel-hasan/linear_regression_multi_varible

مثال بسيط عن الانحدار الخطي لمتغيرين
يمكنك فتح المشروع على موقع GoogleColab وتنفيذ كل خلية على حدة

يمكنك متابعة الدورة التعليمية على قناة الدكتور هشام_عاصم

#github #ml #ai #machine_learning