اللجنة العلمية_مستوى رابع
600 subscribers
195 photos
23 videos
362 files
198 links
القنوات العملية المركزية:
سنة اولى/ https://t.me/USF_Computer1
سنه ثانية/ https://t.me/USF_computer2
سنة ثالثة/ https://t.me/USF_Computer3
سنة رابعة/ https://t.me/USF_Computer4

تم ارشفة اغلب قنوات ومجموعات الدفع السابقة ، وهي مثبته
Download Telegram
Forwarded from اللجنة العلمية CS 22 (Osama Dammag)
سلام 👋

إذا حصل crash لل database وفيه transaction يتنفذ أيش الذي يحصل ؟؟؟

لو حصل crash فيه شويه طرق نعملها علشان نحمي الداتا ونضمن انها ترجع بعد رجوع ال database

اول حاجه بيتم تسجيل التغييرات ف حاجه اسمها Transaction Log

أول حاجة الـ database بتستخدم حاجة اسمها Transaction Log الـ Transaction Log وهي عبارة عن ملف أو مجموعة ملفات بتسجل كل التغييرات اللي بتحصل على الـ transaction.
كل عملية تعديل، إضافة، أو حذف تتسجل في الـ Transaction Log قبل ما التغيير يحصل فعلًا في الـ database نفسها.
لو حصل crash الـ Transaction Log بيساعد في استعادة الـ database للحالة اللي كانت عليها قبل الـ crash

ثاني حاجه ال Crash Recovery Process

بعد ما الـ database ترجع تشتغل مرة ثانية بيبدأ حاجة اسمها Crash Recovery.
الـ Crash Recovery هي عملية بيتم من خلالها قراءة الـ Transaction Log عشان نشوف إيش الذي حصل قبل الـ crash.
العملية بتشمل عمليتيين رئيسيتين
ال Redo : إعادة تنفيذ العمليات اللي كانت في النص و عاده ما خلصت وقت الـ crash يعني لو كان في عمليات تمت واكتتبت في الـ Transaction Log بس ما زالت متنفذتش في الـ database الـ database بتعيد تنفيذها.
ال Undo : التراجع عن أي عمليات تمت بس ما خلصت يعني لو كان في عمليات بدأت وما خلصت وقت الـ crash بيتم التراجع عنها عشان يرجع كل حاجة مثل ما كانت.

تعال نوضح بمثال بسيط عشان نكون فاهمين 😁

تخيل إنك بتعمل عملية نقل فلوس بين حسابين في البنك:

بداية الـ Transaction:

بتبدأ transaction عشان تنقل الفلوس.
ال Execution :

الفلوس بتتخصم من حسابك.
بيحصل crash قبل ما الفلوس تدخل الحساب الثاني.
ال Crash Recovery :

بعد ما الـ database ترجع تشتغل بتشوف إيش الذي كان بيحصل قبل الـ crash.
بتشوف إن الفلوس انخصمت بس ما وصلتش للحساب التاني.
هنا لو الـ Transaction Log مسجل الخصم بس مش مسجل الإضافة هتعمل Undo وترجع الفلوس لحسابك.
ولو مسجل الخصم والإضافة بس العملية ما اكتملتش هتعمل Redo وتكمل نقل الفلوس للحساب الثاني.

ال Atomicity and ACID Properties

في الـ database في حاجة اسمها ACID Properties اللي بتضمن إن أي transaction لازم تكون Atomical يعني إما ينفذ بالكامل أو ماينفذش ب الخالص.
الـ database بتستخدم الـ Transaction Log وCrash Recovery عشان تحقق الـ Atomicity وتضمن إن لو حصل crash تقدر ترجع كل حاجة مثل ما كانت أو تكمل التغييرات اللي كانت تحصل


ال Checkpointing :
في أوقات معينة الـ database بتعمل حاجة اسمها Checkpoint وهي عبارة عن نقطة حفظ مؤقتة بتسجل كل التغييرات الذي قد حصلت ل نقطة معينة في الـ database.
لما بيحصل crash الـ database بتبدأ عملية الـ Crash Recovery من آخر Checkpoint عشان تسرع العملية

خلاصة الموضوع
لو حصل crash أثناء تنفيذ الـ transaction في الـ database بتستخدم الـ Transaction Log عشان تسترجع الحالة اللي كانت عليها قبل الـ crash بعد ما ترجع تشتغل بتعيد تنفيذ أو تلغي العمليات اللي كانت في النص عشان تضمن إن البيانات تبقى سليمة ومافيش حاجة تروح هدرا.

كل هذا بيحصل بفضل الـ Crash Recovery والـ ACID Properties اللي بتضمن إن الـ transactions إما تنفذ بالكامل أو ترجع كل حاجة مثل ما كانت

وبس كذا ي اصدقائي 🤍 نكون رجعنا عملنا 👍
#مساعد
#sql
#database
Forwarded from IS4 PM_2025 (AHMED ALLAW)
Tableau
هو برنامج قوي لتصور البيانات وتحليلها، يُستخدم على نطاق واسع في مجال ذكاء الأعمال.
يسهل على المستخدمين، حتى غير المتخصصين في التقنية، إنشاء رسوم بيانية وتفاعلات مرئية معقدة لبياناتهم، مما يساعدهم على فهمها واستخلاص رؤى قيمة منها بسرعة وسهولة.
Forwarded from IS4 PM_2025
🛑دعوة عامة🛑
❇️ تحت شعار❇️

💚{{ يَا أَيُّهَا النَّبِيُّ جَاهِدِ الْكُفَّارَ وَالْـمُنَافِقِينَ وَاغْلُظْ عَلَيْهِمْ وَمَأْوَاهُمْ جَهَنَّمُ وَبِئْسَ الْـمَصِيرُ }}💚
⬅️ وابتهاجا واحتفاء بميلاد خاتم النبيين صلى الله عليه وعلى آله وسلم وتزامناً مع عمليات طوفان الأقصى

⬅️تدعوكم عمادة كلية الحاسوب وتكنولوجيا المعلومات وملتقى الطالب الجامعي لحضور فعالية المولد النبوي الشريف للعام 1446هـ واستقبال الطلاب المستجدين وتكريم الاوائل ومناديب الدفع وأعضاء ملتقى الطالب الجامعي

🛑اليوم الأحد بتاريخ /1 سبتمبر / 2024م المكان: مدرج الشهيد الصماد ،
الزمان: الساعة التاسعة والنصف صباحًا🛑
🔰🔰🔰🔰🔰🔰🔰🔰🔰🔰

🔰ملتقى_الطالب_الجامعي🔰
🔰وعيٌ_وتاهيل🔰
🔰نحن_في_خدمتكم🔰
Forwarded from IS4 PM_2025
🛑🛑🛑🛑

تم بحمد الله اليوم رفع أوراق تأخير المناقشة الأولية إلى جميع رؤوساء الأقسام وأقنعناهم بتأخير المناقشة التي كانت على أساس انها في الأسبوع التاسع وتم التوقيع من قبلهم وتأجيلها إلى الأسابيع 10,11,12

وذلك مراعاة لظروف الطلاب وحرصا منا على إن تسلم المشاريع بالشكل المناسب

وهذا التعميم لجميع تخصصات سنة رابعة
...

وموفقين إن شاء الله
Forwarded from اللجنة العلمية CS 22 (ʙʀʜᴏᴏᴍ ⑇)
طبعاً gpt يرد بشكل افضل كل ما كان الـ prompt ممتاز... هذه مجموعه بسيطه استخدمها انا دائماً... الكلام الغامق داخل الاقواس تستبدلوه بالشي المطلوب:


1. Simplify Complex Concepts
Break down (topic) into smaller, easy-to-understand parts. Use analogies and real-life examples to make the concept relatable and approachable. I want to understand the essence of the idea before diving deeper.

2. Key Facts & Memorization Techniques
What are the most important facts, dates, or formulas related to (topic)? Help me design a memorization technique or pattern to remember these elements effortlessly.

3. Mistake Analysis
I encountered an issue while practicing (skill). Could you analyze what went wrong and explain how I can avoid this mistake in future attempts?

4. Real-World Problem Solving
Using your expertise in (topic), solve this real-world challenge: (briefly describe the problem). Walk me through your thought process and provide a clear solution.

5. Compare and Contrast
Compare (concept 1) and (concept 2) to highlight their similarities and differences. Please include examples to better illustrate these points and clarify both concepts.

6. Project Creation with Programming
I want to create (project name) using (programming language). The goal is for it to (describe the desired functionality). I plan to integrate (library or tool) to achieve this—what’s the best approach to making this idea a reality?

#مساعد
Forwarded from IS4 PM_2025 (A H M E D)
Cloud_Services_الحسين_صالح_الخمري_240902_154310.pdf
6 MB
#IS4
منقول من الأستاذة رؤى البناء:-

السلام عليكم ورحمة الله
مرفق لك ملف PDF يرجى مشاركته مع زملائك
والشكر موصول لزميلكم الحسين الخمري

بالتوفيق😊

#الحوسبة_السحابية_عملي
Forwarded from IS4 PM_2025
IS4 PM_2025
Cloud_Services_الحسين_صالح_الخمري_240902_154310.pdf
#IS4
وكمان رابط هذه القناة اللي محتواها يعده زميلكم أحمد علاو مشكورًا
بإذن الله بتستفيدوا كثير

https://t.me/Cloud_Computing_2024

#الحوسبة_السحابية_عملي
Forwarded from IS4 PM_2025
Huawei Certification Cloud Computing Learning Guide.pdf
5.5 MB
مرجع مرسل من الدكتور عبدالرحمن الصبري

منقول من IT4
#IS4
#الحوسبة_السحابية_نظري
Forwarded from اللجنة العلمية CS 22 (ʙʀʜᴏᴏᴍ ⑇)
منقول من حساب linkedin


جربت الطريقه دي قبل كدا 🤔🤔؟
انك ترفع الكود بتاعك على موقع يقولك كل المشاكل الل في الكود بحيث تعدلها ؟

وتطلع ب جوده كود عاليه من غير ما حد يعملك ريفيو 👇👇

تقدر تجرب مع المواقع 👇👇

١ - codacy
٢ - sonarQube
٣ - codeClimate
٤ - deepSource
٥ - codeGuru

#منقول #مساعد
Forwarded from Cloud Computing (AHMED ALLAW)
#IS4


آلية العمل على مشروع الماده للجانب العملي

المطلوب كالتالي:-
١. فكرة مشروع برنامج او نظام يتم تنفيذها عن طريق خدمات الحوسبة السحابية سواء كان التنفيذ في جانب التخزين او جانب التطوير او جانب تحليل البيانات إلخ... .

٢. تحديد انواع البيانات التي يتم استخدامها وتخزينها.

٣. تحديد المستخدمين وأنواعهم وصلاحياتهم.

٤. تحديد الخدمات التي سوف تستخدمها في الفكرة.



مثال:-

لِنقل أن الفكرة عبارة عن نظام إدارة حجوزات ملاعب كرة القدم 🏟

سنقول ان أنواع البيانات المستخدمة والتي سيتم تخزينها كالتالي :-

صور ، ارقام، مواقع GPS location ، فيديوهات ، نصوص الخ....

لِنقل أيضًا ان أنواع المستخدمين كالتالي :-
👤 مدير النظام ويتمتع بصلاحيات كاملة لإدارة النظام.

👤 المستخدم الطرفي End-User
وصلاحياته تنحصر في حجز ملاعب ودفع اموال الحجز وإنشاء حسابات وتعديل بيانات هذه الحسابات.

👤 موفر خدمة الملاعب ( صاحب الملعب )
وصلاحياته كصلاحيات المستخدم الطرفي لكنها تختص ب توفير الملاعب وبيناتها من صور عن الملعب وفيديوهات وموقع الملعب وأسعار الحجوزات وما إلى ذلك.


لِنقل أيضًا بأن النظام سيتم تطويره كاملًا بإستخدام الخدمات السحابية كإستخدام Google IDX مثلًا كبيئة تطوير وكتابة اكواد

و DynamoDB لتخزين البيانات

و SNS لنظام التنبيهات والاشعارات

و Cognito لإدارة المستخدمين والمصادقة والتأمين للحسابات

و Rekognition لتحليل الصور والفيديوهات والبيانات الخاصة بالملاعب



هذا مجرد شرح لأحدى الأفكار التي قد تكون مناسبة لمشروع الماده للجانب العملي


#الحوسبة_السحابية_عملي
Forwarded from Cloud Computing (AHMED ALLAW)
#IS4

AWS
تقدم مجموعة واسعة من الخدمات التي يمكن أن تساعدك في بناء مشروعك البرمجي.

بعض الخدمات الشائعة مع شرح مبسط لكيفية استخدامها:

خدمات الحوسبة:


EC2 (Elastic Compute Cloud):

الوصف:
مثيلات حوسبة افتراضية في السحابة.

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

Lambda:

الوصف:
وظائف بدون خادم تنفذ أكوادك استجابة للأحداث.

الاستخدام:
مثالية للمهام الصغيرة مثل معالجة البيانات، استجابات API، أو جدولة المهام.

ECS (Elastic Container Service):

الوصف:
خدمة لإدارة حاويات الدوكر في السحابة.

الاستخدام:
إذا كنت تستخدم دوكر لتعبئة تطبيقاتك، فإن ECS تساعدك في نشرها وإدارتها بسهولة.


خدمات التخزين:

S3 (Simple Storage Service):

الوصف:
تخزين كائنات غير منظم في السحابة.

الاستخدام:
مثالي لتخزين الملفات، الصور، النسخ الاحتياطية، أو أي نوع من البيانات غير المهيكلة.

EBS (Elastic Block Store):

الوصف:
تخزين كتلة مرن متصل بمثيلات EC2.

الاستخدام:
يستخدم عادة مع قواعد البيانات التي تحتاج إلى أداء عالٍ وتماسك للبيانات.


خدمات قواعد البيانات:

RDS (Relational Database Service):


الوصف:
قواعد بيانات علائقية مدارة.

الاستخدام:
يمكنك تشغيل قواعد بيانات مثل MySQL، PostgreSQL، أو Oracle في السحابة.

DynamoDB:

الوصف:
قاعدة بيانات NoSQL عالية الأداء.

الاستخدام:
مثالية للتطبيقات التي تحتاج إلى قراءة وكتابة بيانات عالية الكثافة.

خدمات أخرى:

CloudFront:

الوصف:
شبكة توصيل محتوى عالمية.

الاستخدام:
لتسريع توصيل المحتوى لمستخدميك في جميع أنحاء العالم.

Route 53:

الوصف:
خدمة DNS مرنة.

الاستخدام:
لإدارة أسماء النطاقات وتوجيه حركة المرور إلى تطبيقاتك.


مثال:

إذا كنت تبني تطبيق ويب ديناميكي، فقد تحتاج إلى:

EC2:
لتشغيل سيرفر الويب.

RDS:
لتخزين بيانات المستخدم.

S3:
لتخزين الملفات الثابتة مثل الصور.

CloudFront:
لتسريع توصيل المحتوى للمستخدمين.

Route 53:
لإدارة اسم النطاق.

#الحوسبة_السحابية_عملي
Forwarded from اللجنة العلمية CS 22 (ʙʀʜᴏᴏᴍ ⑇)
هذا الي كان ينقصنا نحن المبرمجين ، إضافة في vscode عملتها المبدعة المصرية باسمها المستعار (هديريات برمجية)

dhakir

وفكرتها بسيطة جداً ، كل ما انت تبرمج وفاتح ل vscode يطلع لك اشعار أتوماتيك بسيط يذكرك بذكر الله... الاضافة فيبها ٣٠ ذكر وآية قرآنية.

والجميل ان المشروع open source وتقدر تقترح أذكار معينه جميلة وترفعها pull request

رابط السورس الكود:
https://github.com/Hadeer0Mohamed/Dhakir
Forwarded from اللجنة العلمية CS 22 (Osama Dammag)
طالما والاستاذ وليد الدعيس بيدور testing ف هذا المقال إن شاء الله يساعدكم في انكم تفعلوا testing و بشكل advance

طبعا بجيب مثاليين واحد ل laravel والثاني لل dot net على api 👍
اولا Laravel :
في Laravel، الحزمة الأكثر شيوعًا للاختبار هي PHPUnit، والتي تأتي مضمنة بشكل افتراضي. ومع ذلك، هناك عدة حزم أخرى تعزز قدرات الاختبار:

PHPUnit - إطار العمل الافتراضي لاختبار PHP، ومضمن مع Laravel.
Mockery - مكتبة لمحاكاة الكائنات وتحقن التبعيات.
Faker - لتوليد البيانات المزيفة.
Laravel Test Helpers - توفر مساعدات لإجراء طلبات HTTP، والتحقق من الردود، والتفاعل مع قاعدة البيانات.

التنفيذ : خطوة ب خطوة (step by step 😁) :
الخطوة 1: إعداد بيئة الاختبار
تأكد من إعداد مشروع Laravel مع PHPUnit عبر تشغيل الأمر التالي:
composer require --dev phpunit/phpunit

الخطوة 2: إنشاء اختبار للـ ProductController

namespace App\Http\Controllers;

use App\Models\Product;
use Illuminate\Http\Request;

class ProductController extends Controller
{
public function index()
{
return response()->json(Product::all());
}

public function store(Request $request)
{
$request->validate([
'name' => 'required',
'price' => 'required|numeric',
]);

$product = Product::create($request->all());
return response()->json($product, 201);
}

public function show($id)
{
$product = Product::find($id);

if (!$product) {
return response()->json(['message' => 'Product not found'], 404);
}

return response()->json($product);
}
}

الخطوة 3: إنشاء اختبار وحدات للـ ProductController

وذلك ب استخدام artisan :
php artisan make:test ProductControllerTest


ب ينشى لنا class بهذا الاسم : ProductControllerTest

namespace Tests\Feature;

use Tests\TestCase;
use App\Models\Product;
use Illuminate\Foundation\Testing\RefreshDatabase;

class ProductControllerTest extends TestCase
{
use RefreshDatabase;

public function test_can_list_products()
{
Product::factory()->count(3)->create();

$response = $this->getJson('/api/products');

$response->assertStatus(200)
->assertJsonCount(3);
}

public function test_can_create_product()
{
$productData = [
'name' => 'Test Product',
'price' => 100.00,
];

$response = $this->postJson('/api/products', $productData);

$response->assertStatus(201)
->assertJsonFragment(['name' => 'Test Product']);
$this->assertDatabaseHas('products', $productData);
}

public function test_can_show_product()
{
$product = Product::factory()->create();

$response = $this->getJson("/api/products/{$product->id}");

$response->assertStatus(200)
->assertJsonFragment(['name' => $product->name]);
}

public function test_show_returns_404_when_product_not_found()
{
$response = $this->getJson('/api/products/999');

$response->assertStatus(404)
->assertJson(['message' => 'Product not found']);
}
}


يفضل انكم تفعلوا المسار كذه :
tests/Feature/ProductControllerTest.php


الخطوة 4 والاخيرة : نفذ هذا الامر
php artisan test


وهنا نكون كملنا نفعل testing لحقنا المشروع. طبعا مش لكله 😂 فقط لل productController.

ثانيا Net. :

الحزم المطلوبة لعمل ال testing :
dotnet add package xunit
dotnet add package Moq
dotnet add package Bogus
dotnet add package Microsoft.NET.Test.Sdk
dotnet add package xunit.runner.visualstudio


طبعا هنا ب ينزلين لك اخر إصدار. حاول تتاكد ب ال dot net version عندك وبعدين نزل على ال packages حسب ال version.

عشان تدرى كم ال version : نفذ هذا ال command :
dotnet  --version


الخطوة 2: إنشاء اختبار للـ ProductController
ProductController:

using Microsoft.AspNetCore.Mvc;
using System.Collections.Generic;
using System.Linq;
using ECommerceApp.Models;
using ECommerceApp.Services;

namespace ECommerceApp.Controllers
{
[Route("api/[controller]")]
[ApiController]
public class ProductController : ControllerBase
{
private readonly IProductService _productService;
Forwarded from اللجنة العلمية CS 22 (Osama Dammag)
public ProductController(IProductService productService)
{
_productService = productService;
}

[HttpGet]
public ActionResult<IEnumerable<Product>> GetProducts()
{
return Ok(_productService.GetAllProducts());
}

[HttpPost]
public ActionResult<Product> CreateProduct(Product product)
{
var createdProduct = _productService.CreateProduct(product);
return CreatedAtAction(nameof(GetProducts), new { id = createdProduct.Id }, createdProduct);
}

[HttpGet("{id}")]
public ActionResult<Product> GetProduct(int id)
{
var product = _productService.GetProductById(id);

if (product == null)
return NotFound();

return Ok(product);
}
}
}

الخطوة 3: إنشاء اختبار وحدات للـ ProductController

ProductControllerTests:

using Xunit;
using Moq;
using ECommerceApp.Controllers;
using ECommerceApp.Models;
using ECommerceApp.Services;
using Microsoft.AspNetCore.Mvc;
using System.Collections.Generic;
using Bogus;

namespace ECommerceApp.Tests
{
public class ProductControllerTests
{
private readonly Mock<IProductService> _mockProductService;
private readonly ProductController _controller;
private readonly Faker<Product> _faker;

public ProductControllerTests()
{
_mockProductService = new Mock<IProductService>();
_controller = new ProductController(_mockProductService.Object);

// Using Bogus to generate fake data
_faker = new Faker<Product>()
.RuleFor(p => p.Id, f => f.IndexFaker + 1)
.RuleFor(p => p.Name, f => f.Commerce.ProductName())
.RuleFor(p => p.Price, f => f.Random.Decimal(1, 100));
}

[Fact]
public void GetProducts_ReturnsOkResult_WithAListOfProducts()
{
// Arrange
var fakeProducts = _faker.Generate(3);
_mockProductService.Setup(service => service.GetAllProducts()).Returns(fakeProducts);

// Act
var result = _controller.GetProducts();

// Assert
var okResult = Assert.IsType<OkObjectResult>(result.Result);
var returnProducts = Assert.IsType<List<Product>>(okResult.Value);
Assert.Equal(3, returnProducts.Count);
}

[Fact]
public void CreateProduct_ReturnsCreatedAtActionResult_WithTheCreatedProduct()
{
// Arrange
var fakeProduct = _faker.Generate();
_mockProductService.Setup(service => service.CreateProduct(It.IsAny<Product>())).Returns(fakeProduct);

// Act
var result = _controller.CreateProduct(fakeProduct);

// Assert
var createdAtActionResult = Assert.IsType<CreatedAtActionResult>(result.Result);
var returnProduct = Assert.IsType<Product>(createdAtActionResult.Value);
Assert.Equal(fakeProduct.Name, returnProduct.Name);
}

[Fact]
public void GetProduct_ReturnsOkResult_WithAProduct()
{
// Arrange
var fakeProduct = _faker.Generate();
_mockProductService.Setup(service => service.GetProductById(fakeProduct.Id)).Returns(fakeProduct);

// Act
var result = _controller.GetProduct(fakeProduct.Id);

// Assert
var okResult = Assert.IsType<OkObjectResult>(result.Result);
var returnProduct = Assert.IsType<Product>(okResult.Value);
Assert.Equal(fakeProduct.Name, returnProduct.Name);
}

[Fact]
public void GetProduct_ReturnsNotFound_WhenProductDoesNotExist()
{
// Arrange
_mockProductService.Setup(service => service.GetProductById(It.IsAny<int>())).Returns((Product)null);

// Act
var result = _controller.GetProduct(1);

// Assert
Assert.IsType<NotFoundResult>(result.Result);
}
}
}
Forwarded from اللجنة العلمية CS 22 (Osama Dammag)
الخطوة 4 و الاخيرة : ننفذ الامر هذا :
dotnet test


طبعا ال code coverage في ال dot net اذا نسخت ال visual studio من نوع ال professional ف بتكون معاك اما اذا في ال community ف للاسف مافيش :
ال code coverage معناته ان حقك ال test كم غطى من الكود الذي كتبته 👍

#مساعد
#برمجة_متقدمة
#lab