Forwarded from Cloud Computing (AHMED ALLAW)
#IS4
آلية العمل على مشروع الماده للجانب العملي
المطلوب كالتالي:-
١. فكرة مشروع برنامج او نظام يتم تنفيذها عن طريق خدمات الحوسبة السحابية سواء كان التنفيذ في جانب التخزين او جانب التطوير او جانب تحليل البيانات إلخ... .
٢. تحديد انواع البيانات التي يتم استخدامها وتخزينها.
٣. تحديد المستخدمين وأنواعهم وصلاحياتهم.
٤. تحديد الخدمات التي سوف تستخدمها في الفكرة.
مثال:-
لِنقل أن الفكرة عبارة عن نظام إدارة حجوزات ملاعب كرة القدم 🏟 ⚽
سنقول ان أنواع البيانات المستخدمة والتي سيتم تخزينها كالتالي :-
صور ، ارقام، مواقع GPS location ، فيديوهات ، نصوص الخ....
لِنقل أيضًا ان أنواع المستخدمين كالتالي :-
👤 مدير النظام ويتمتع بصلاحيات كاملة لإدارة النظام.
👤 المستخدم الطرفي End-User
وصلاحياته تنحصر في حجز ملاعب ودفع اموال الحجز وإنشاء حسابات وتعديل بيانات هذه الحسابات.
👤 موفر خدمة الملاعب ( صاحب الملعب )
وصلاحياته كصلاحيات المستخدم الطرفي لكنها تختص ب توفير الملاعب وبيناتها من صور عن الملعب وفيديوهات وموقع الملعب وأسعار الحجوزات وما إلى ذلك.
لِنقل أيضًا بأن النظام سيتم تطويره كاملًا بإستخدام الخدمات السحابية كإستخدام Google IDX مثلًا كبيئة تطوير وكتابة اكواد
و DynamoDB لتخزين البيانات
و SNS لنظام التنبيهات والاشعارات
و Cognito لإدارة المستخدمين والمصادقة والتأمين للحسابات
و Rekognition لتحليل الصور والفيديوهات والبيانات الخاصة بالملاعب
هذا مجرد شرح لأحدى الأفكار التي قد تكون مناسبة لمشروع الماده للجانب العملي
#الحوسبة_السحابية_عملي
آلية العمل على مشروع الماده للجانب العملي
المطلوب كالتالي:-
١. فكرة مشروع برنامج او نظام يتم تنفيذها عن طريق خدمات الحوسبة السحابية سواء كان التنفيذ في جانب التخزين او جانب التطوير او جانب تحليل البيانات إلخ... .
٢. تحديد انواع البيانات التي يتم استخدامها وتخزينها.
٣. تحديد المستخدمين وأنواعهم وصلاحياتهم.
٤. تحديد الخدمات التي سوف تستخدمها في الفكرة.
مثال:-
لِنقل أن الفكرة عبارة عن نظام إدارة حجوزات ملاعب كرة القدم 🏟 ⚽
سنقول ان أنواع البيانات المستخدمة والتي سيتم تخزينها كالتالي :-
صور ، ارقام، مواقع 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:
لإدارة اسم النطاق.
#الحوسبة_السحابية_عملي
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 عملتها المبدعة المصرية باسمها المستعار (هديريات برمجية)
وفكرتها بسيطة جداً ، كل ما انت تبرمج وفاتح ل vscode يطلع لك اشعار أتوماتيك بسيط يذكرك بذكر الله... الاضافة فيبها ٣٠ ذكر وآية قرآنية.
والجميل ان المشروع open source وتقدر تقترح أذكار معينه جميلة وترفعها pull request
رابط السورس الكود:
https://github.com/Hadeer0Mohamed/Dhakir
dhakir
وفكرتها بسيطة جداً ، كل ما انت تبرمج وفاتح ل vscode يطلع لك اشعار أتوماتيك بسيط يذكرك بذكر الله... الاضافة فيبها ٣٠ ذكر وآية قرآنية.
والجميل ان المشروع open source وتقدر تقترح أذكار معينه جميلة وترفعها pull request
رابط السورس الكود:
https://github.com/Hadeer0Mohamed/Dhakir
Forwarded from اللجنة العلمية CS 22 (Osama Dammag)
شرح جميل ومبسط عن ال Design patterns.
ملخص كامل و بنص ساعة للمهندس يحيى. طبعاً ذكر الاهم والاكثر إستخداما في السوق 👏
https://youtu.be/iRkMczWBdyw?si=wj77V3ENELKyatSl
#مساعد
#برمجة_متقدمة
ملخص كامل و بنص ساعة للمهندس يحيى. طبعاً ذكر الاهم والاكثر إستخداما في السوق 👏
https://youtu.be/iRkMczWBdyw?si=wj77V3ENELKyatSl
#مساعد
#برمجة_متقدمة
YouTube
Design Patterns: الملخص المتكامل 🥸
🎓 كورس بريميوم لتعلم MERN Full-Stack
🔥 احصل على خصم 30% خاص لمتابعي يحيى تك!
https://yehiatech.store/mern
---
رابط كورس React في 90 دقيقة:
https://youtu.be/fJSFus0pxZI
---
رابط كورس HTML وCSS في 120 دقيقة:
https://youtu.be/Pwatx1n1Ws0?si=fv7zgMX_ymxPJdyk…
🔥 احصل على خصم 30% خاص لمتابعي يحيى تك!
https://yehiatech.store/mern
---
رابط كورس React في 90 دقيقة:
https://youtu.be/fJSFus0pxZI
---
رابط كورس HTML وCSS في 120 دقيقة:
https://youtu.be/Pwatx1n1Ws0?si=fv7zgMX_ymxPJdyk…
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 عبر تشغيل الأمر التالي:
الخطوة 2: إنشاء اختبار للـ ProductController
الخطوة 3: إنشاء اختبار وحدات للـ ProductController
وذلك ب استخدام artisan :
ب ينشى لنا class بهذا الاسم : ProductControllerTest
يفضل انكم تفعلوا المسار كذه :
الخطوة 4 والاخيرة : نفذ هذا الامر
وهنا نكون كملنا نفعل testing لحقنا المشروع. طبعا مش لكله 😂 فقط لل productController.
ثانيا Net. :
الحزم المطلوبة لعمل ال testing :
طبعا هنا ب ينزلين لك اخر إصدار. حاول تتاكد ب ال dot net version عندك وبعدين نزل على ال packages حسب ال version.
عشان تدرى كم ال version : نفذ هذا ال command :
الخطوة 2: إنشاء اختبار للـ ProductController
ProductController:
طبعا بجيب مثاليين واحد ل 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 و الاخيرة : ننفذ الامر هذا :
طبعا ال code coverage في ال dot net اذا نسخت ال visual studio من نوع ال professional ف بتكون معاك اما اذا في ال community ف للاسف مافيش :
ال code coverage معناته ان حقك ال test كم غطى من الكود الذي كتبته 👍
#مساعد
#برمجة_متقدمة
#lab
dotnet test
طبعا ال code coverage في ال dot net اذا نسخت ال visual studio من نوع ال professional ف بتكون معاك اما اذا في ال community ف للاسف مافيش :
ال code coverage معناته ان حقك ال test كم غطى من الكود الذي كتبته 👍
#مساعد
#برمجة_متقدمة
#lab
Forwarded from اللجنة العلمية CS 22 (ʙʀʜᴏᴏᴍ ⑇)
اللجنة العلمية CS 22
الخطوة 4 و الاخيرة : ننفذ الامر هذا : dotnet test طبعا ال code coverage في ال dot net اذا نسخت ال visual studio من نوع ال professional ف بتكون معاك اما اذا في ال community ف للاسف مافيش : ال code coverage معناته ان حقك ال test كم غطى من الكود الذي كتبته…
جميل جداً...
ونقطه اخيره أحب أقولها... لا تنسو ما تفعلو Database خاصة ل test ، فهذا هو ال best practice في اي عملية test ان db الخاصة ب test تكون منفصله عن الdb الرئيسية 👍🏻
في لارافل مثلا... تفعلو ملف
ويكون فيبه نفس محتوى
ولكن اسم ال db بتختلف... ولما تفعلو migration :
اما بالنسبة ل ASP او اي فريمورك ثانيه فتقدرو تنسخو الكلام هذا و تسألو GPT 👍🏻
ونقطه اخيره أحب أقولها... لا تنسو ما تفعلو Database خاصة ل test ، فهذا هو ال best practice في اي عملية test ان db الخاصة ب test تكون منفصله عن الdb الرئيسية 👍🏻
في لارافل مثلا... تفعلو ملف
.env.testing
ويكون فيبه نفس محتوى
.env
ولكن اسم ال db بتختلف... ولما تفعلو migration :
php artisan migrate --env=testing
اما بالنسبة ل ASP او اي فريمورك ثانيه فتقدرو تنسخو الكلام هذا و تسألو GPT 👍🏻
Forwarded from اللجنة العلمية CS 22 (ʙʀʜᴏᴏᴍ ⑇)
مشروع الدعيس طلب مننا Docs للمشاريع ، معنا 3 طرق عشان نعملها ، وهذا نتيجه البحث الي سويتها اول:
1 - نتعب ونكتب كل شي في markdown
2 - نستخدم مكاتب تفعل لنا docs بشكل رهيب (مثل VuePress) ولكن برضو لازم تكتبو markdown وهو بيفعل الباقي
3 - اذا معك لارافل فعندك مكتبة scramble ، تثبتها في المشروع وتضيف سطرين فقط في boot وخلاص وبيكون عندك هذا الرابط
وهذا شكل الdocs الي يتم عمله من المكتبه من نفسه بدون ما تكتب ولا شيء غير كود المشروع
ملاحظة: لكي يفتح لكم docs يحتاج الى الاتصال بالانترنت
رابط المكتبة:
https://scramble.dedoc.co/installation
طبعا لا تنسو ما تركزو على بقية المتطلبات ، فهي شبه مبهمة 💔🙂👍🏻
#مساعد
1 - نتعب ونكتب كل شي في markdown
2 - نستخدم مكاتب تفعل لنا docs بشكل رهيب (مثل VuePress) ولكن برضو لازم تكتبو markdown وهو بيفعل الباقي
3 - اذا معك لارافل فعندك مكتبة scramble ، تثبتها في المشروع وتضيف سطرين فقط في boot وخلاص وبيكون عندك هذا الرابط
http://127.0.0.1:8000/docs/api/
وهذا شكل الdocs الي يتم عمله من المكتبه من نفسه بدون ما تكتب ولا شيء غير كود المشروع
ملاحظة: لكي يفتح لكم docs يحتاج الى الاتصال بالانترنت
رابط المكتبة:
https://scramble.dedoc.co/installation
طبعا لا تنسو ما تركزو على بقية المتطلبات ، فهي شبه مبهمة 💔🙂👍🏻
#مساعد
Forwarded from اللجنة العلمية CS 22 (Ayham Al-Akhali)
أطلقت OpenAI سلسلة جديدة من نماذج الذكاء الاصطناعي تحت اسم "openai o1". تم تصميم هذه النماذج لتستغرق وقتًا أطول في التفكير قبل الاستجابة، مما يعني دقة أكبر وجودة أفضل في الإجابات
رابط لتفاصيل اكثر
https://openai.com/o1/?fbclid=PAZXh0bgNhZW0CMTEAAaYS7qZR0Tlqqtnfe80eRiTSrNzqCywAXu_38XWnME8J-OE9hny038ZrbFc_aem_ue6SM5GCjyVy6WQy9eadZg
رابط لتفاصيل اكثر
https://openai.com/o1/?fbclid=PAZXh0bgNhZW0CMTEAAaYS7qZR0Tlqqtnfe80eRiTSrNzqCywAXu_38XWnME8J-OE9hny038ZrbFc_aem_ue6SM5GCjyVy6WQy9eadZg
Openai
OpenAI o1 Hub
We've developed a new series of AI models designed to spend more time thinking before they respond. Here is the latest news on o1 research, product and other updates.
Forwarded from اللجنة العلمية CS 22 (ʙʀʜᴏᴏᴍ ⑇)
مكتبة رهيبه في تيلويند تلغي عمل clamp (الي اشتغل فرونت بيعرف حجم وصعوبة فهم الـ clamp)
وطريقه استخدامها بسيطه جداً. الشرح في موقعهم الرسمي:
https://fluid.tw/
تعديل: المكتبه ليست رسميه ، وتم عملها من المطور المحنك Maxwell Barvian
#مساعد #ويب
وطريقه استخدامها بسيطه جداً. الشرح في موقعهم الرسمي:
https://fluid.tw/
تعديل: المكتبه ليست رسميه ، وتم عملها من المطور المحنك Maxwell Barvian
#مساعد #ويب
Fluid for Tailwind CSS
Fluid for Tailwind CSS - Build better responsive designs in less code.
Scale utilities smoothly between breakpoints with modern clamp() functions.
Forwarded from اللجنة العلمية CS 22 (ʙʀʜᴏᴏᴍ ⑇)
لقيت موقع رهيب بالنت ، موسوعة التطوير: "ويكيبيديا"، ولكن للمطورين فقط.
فيبه اغلب الاشياء البرمجية ومصدر عنها للتعلم ، والجميل في الموقع انه يجيب لك اللب في البدايه ، ويترك لك رابط مقال تكلم عن الموضوع بتفاصيل كثيرة جداً 👌🏻
كذلك الموقع open source بمعنى لو في موضوع برمجي غير موجود تقدر تضيفه وتوصي بمقال ممتاز له :
الريبو: https://github.com/Buzzpy/Dev-Encyclopedia
رابط الموقع: https://devpedia.dev/
#مساعد
فيبه اغلب الاشياء البرمجية ومصدر عنها للتعلم ، والجميل في الموقع انه يجيب لك اللب في البدايه ، ويترك لك رابط مقال تكلم عن الموضوع بتفاصيل كثيرة جداً 👌🏻
كذلك الموقع open source بمعنى لو في موضوع برمجي غير موجود تقدر تضيفه وتوصي بمقال ممتاز له :
الريبو: https://github.com/Buzzpy/Dev-Encyclopedia
رابط الموقع: https://devpedia.dev/
#مساعد
Forwarded from اللجنة العلمية CS 22 (OND)
مساء الخير ي شباب 👋 ،
هذه repo تحصلوا فيها إن شاء الله كتب لجميع لغات البرمجة <>.
https://github.com/EbookFoundation/free-programming-books
#مساعد
#برمجة
هذه repo تحصلوا فيها إن شاء الله كتب لجميع لغات البرمجة <>.
https://github.com/EbookFoundation/free-programming-books
#مساعد
#برمجة
GitHub
GitHub - EbookFoundation/free-programming-books: :books: Freely available programming books
:books: Freely available programming books. Contribute to EbookFoundation/free-programming-books development by creating an account on GitHub.
Forwarded from اللجنة العلمية CS 22 (OND)
صباح الخير 👋،
ولو متأخر بس الذي فاعل تطبيق e-commerce معاكم fake api مثل هذا
https://fakestoreapi.com/
با ينفعكم كثير إن شاء الله 🙏🏻
#مساعد
#api
ولو متأخر بس الذي فاعل تطبيق e-commerce معاكم fake api مثل هذا
https://fakestoreapi.com/
با ينفعكم كثير إن شاء الله 🙏🏻
#مساعد
#api
Forwarded from Mosab Soft
🟢 قائمة بأهم مواقع التعليم الذاتي في العالم .. منها مواقع تعليم وتدريب مجانية وتوفر الشهادات مجانية :
1ـ www.edx.org
2ـ www.coursera.org
3ـ www.udacity.com
4ـ www.edraak.org
5ـ www.class.stanford.edu
6ـ www.venture-lab.org
7ـ www.education.10gen.com
8ـ www.openhpi.de
9ـ www.ocw.mit.edu
10ـ www.khanacademy.org
11ـ www.oli.cmu.edu
12ـ www.oyc.yale.edu
13ـ www.webcast.berkeley.edu
14ـ www.openclassroom.stanford.edu/MainFolder/HomePage.php
15ـ www.see.stanford.edu
16ـ www.ck12.org
17ـ www.udemy.com
18ـ www.skillshare.com
19ـ www.codecademy.com
20ـ www.p2pu.org
21ـ www.ed.ted.com
22ـ www.myopencourses.com
23ـ www.myopencampus.in
24ـ www.nptel.iitm.ac.in
25ـ www.saylor.org
26ـ www.academicearth.org
27ـ www.youtube.com/education
28ـ www.phodphad.com
29ـ www.learntobe.org
30ـ www.floqq.com
31ـ www.learnerstv.com
32ـ www.coursetalk.org
33ـ www.skillacademy.com
34ـ www.mruniversity.com
35ـ www.alison.com
1ـ www.edx.org
2ـ www.coursera.org
3ـ www.udacity.com
4ـ www.edraak.org
5ـ www.class.stanford.edu
6ـ www.venture-lab.org
7ـ www.education.10gen.com
8ـ www.openhpi.de
9ـ www.ocw.mit.edu
10ـ www.khanacademy.org
11ـ www.oli.cmu.edu
12ـ www.oyc.yale.edu
13ـ www.webcast.berkeley.edu
14ـ www.openclassroom.stanford.edu/MainFolder/HomePage.php
15ـ www.see.stanford.edu
16ـ www.ck12.org
17ـ www.udemy.com
18ـ www.skillshare.com
19ـ www.codecademy.com
20ـ www.p2pu.org
21ـ www.ed.ted.com
22ـ www.myopencourses.com
23ـ www.myopencampus.in
24ـ www.nptel.iitm.ac.in
25ـ www.saylor.org
26ـ www.academicearth.org
27ـ www.youtube.com/education
28ـ www.phodphad.com
29ـ www.learntobe.org
30ـ www.floqq.com
31ـ www.learnerstv.com
32ـ www.coursetalk.org
33ـ www.skillacademy.com
34ـ www.mruniversity.com
35ـ www.alison.com
Forwarded from Mosab Soft
السلام عليكم ورحمه الله وبركاته طبعا
كلنا نستخدم مكتبة Shimmer لما نحمل بيانات من API، بس كانت المشكلة انو نعيد تصميم شكل card بما يناسب مع الشكل الحقيقي 😩
في مكتبة رائعة جداً أسمها skeletonizer ✅
كل اللي عليك تسوي wrap للـ widget اللي بتستخدمها بالـ skeletonizer وهي تكمل الباقي 😍
مثال:
Skeletonizer(
enabled: _loading,
child: ListView.builder(
itemCount: 7,
itemBuilder: (context, index) {
return Card(
child: ListTile(
title: Text('Item number $index as title'),
subtitle: const Text('Subtitle here'),
trailing: const Icon(Icons.ac_unit),
),
);
},
),
)
رابط المكتبة:
https://pub.dev/packages/skeletonizer
كلنا نستخدم مكتبة Shimmer لما نحمل بيانات من API، بس كانت المشكلة انو نعيد تصميم شكل card بما يناسب مع الشكل الحقيقي 😩
في مكتبة رائعة جداً أسمها skeletonizer ✅
كل اللي عليك تسوي wrap للـ widget اللي بتستخدمها بالـ skeletonizer وهي تكمل الباقي 😍
مثال:
Skeletonizer(
enabled: _loading,
child: ListView.builder(
itemCount: 7,
itemBuilder: (context, index) {
return Card(
child: ListTile(
title: Text('Item number $index as title'),
subtitle: const Text('Subtitle here'),
trailing: const Icon(Icons.ac_unit),
),
);
},
),
)
رابط المكتبة:
https://pub.dev/packages/skeletonizer
Forwarded from اللجنة العلمية CS 22 (ʙʀʜᴏᴏᴍ ⑇)
مجموعه كُتيبات صغيرة لمواضيع هامه للبعض...
المصدر: من حسابات مختلفة في linkedin (يوزر كل شخص في ملفه الخاص)
#مساعد
المصدر: من حسابات مختلفة في linkedin (يوزر كل شخص في ملفه الخاص)
#مساعد
Forwarded from اللجنة العلمية CS 22 (ʙʀʜᴏᴏᴍ ⑇)
قائمة بجميع Request Header و Response Header الخاصة ب Cache
لتفاصيل اكثر عن cache في header:
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control
وهنا تفاصيل عن req & res headers :
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers
#مساعد #ويب #مشروع_الدعيس
لتفاصيل اكثر عن cache في header:
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control
وهنا تفاصيل عن req & res headers :
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers
#مساعد #ويب #مشروع_الدعيس