اذهب إلى المحتوى

Mahmoud Hassan19

الأعضاء
  • المساهمات

    145
  • تاريخ الانضمام

  • تاريخ آخر زيارة

كل منشورات العضو Mahmoud Hassan19

  1. مرجبا يفضل انك تحذف اي ايضافة موجوده عندك خاصة ب html , css,javascript
  2. مرحبا اولا اذ كنت لا تستخدم Virtualenv وتستخدم البيئة الاساسية للpython فان هذه يوثر فعلا علي النظام لانه بعض المكتبات الضخمة قد تكون ثقيلة على موارد النظام ولتجنب هذه فيجب استخدام Virtualenv تمكنك هذه البيئات من إنشاء بيئة معزولة حيث يمكنك تثبيت المكتبات والإطارات الخاصة بمشروعك بدون أن تؤثر على باقي النظام فامر مثلا python -m venv myenv في مكتبات ال python يوجد هناك تبعيات (Dependencies) عند تثبيت مكتبة أو إطار عمل قد يتم تنزيل مكتبات إضافية تعتمد عليها المكتبة أو الإطار للعمل بشكل صحيح هذه المكتبات تأتي كتبعيات وهي برامج أخرى قد تكون ضرورية لدعم الوظائف المطلوبة
  3. مرحبا هنا يوجد خطأ في كود السرفر في سطر (8081) ServerSocket الخطا هنا انك كاتب السطر بداخل ال for loop بمعني ذاللك انك بتنشي object من socket كل لفه لل for ودا مش صح المفروض انك بتعمل listener مره واحد علي port 8081 يعني بتنشي object مره واحد بس فالكود هيكون بالشكل دا import java.io.*; import java.net.*; public class Server { public static void main(String args[]) { new Server().go(); } public void go() { try { ServerSocket server = new ServerSocket(8081); while (true) { Socket socket = server.accept(); new Thread(new ThreadHandler(socket)).start(); } } catch (IOException e) { e.printStackTrace(); } } class ThreadHandler implements Runnable { private Socket socket; public ThreadHandler(Socket socket) { this.socket = socket; } public void run() { try { InputStream is = socket.getInputStream(); BufferedReader br = new BufferedReader(new InputStreamReader(is)); int choice = Integer.parseInt(br.readLine()); if (choice == 1) { File fileToDelete = new File("clientcopy.class"); if (fileToDelete.delete()) { System.out.println("File (clientcopy.class) deleted successfully."); } else { System.out.println("Unable to delete the file."); } } else { FileOutputStream out = new FileOutputStream(new File("clientcopy.class")); int ch; while ((ch = is.read()) != -1) { out.write(ch); } out.flush(); System.out.println("File (clientcopy.class) received and saved on the server."); out.close(); } socket.close(); } catch (IOException e) { e.printStackTrace(); } } } } و client import java.io.*; import java.net.*; public class Client { public static void main(String args[]) { try { Socket sock = new Socket(args[0], 8081); System.out.println("Enter 1 to delete the file, or any other number to send the file:"); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int choice = Integer.parseInt(br.readLine()); PrintWriter pw = new PrintWriter(sock.getOutputStream(), true); pw.println(choice); if (choice != 1) { FileInputStream is = new FileInputStream("client.class"); OutputStream os = sock.getOutputStream(); int ch; while ((ch = is.read()) != -1) { os.write(ch); } os.flush(); System.out.println("File (client.class) sent to the server."); os.close(); is.close(); } sock.close(); } catch (Exception e) { e.printStackTrace(); } } }
  4. مرحبا use server تستخدمها فقط عندما تريد استخدام React Server Components وتشير use server الي الوظائف الموجود علي السرفر التي يمكن لل client استدعائها ولكي تستخدمها اولا أضف use server في اعلي ال function وهي تعمل علي علامة على الوظيفة على أنها قابلة للاستدعاء من قبل العميل وتسمي بذاللك Server Actions async function addToCart(data) { 'use server'; // ... } وبعد ذاللك يمكن استدعائها export default function App() { return ( <form action={addToCart}> <input type="text" name="cartItem" /> <button type="submit">Request</button> </form> ); }
  5. مرحبا ليس من الضروري ان تكون ملم بكل الخوارزميات الموجود لانه لكل مجال هناك خوارزميات خاصة به وهناك بعض الخوارزميات مثل خوارزميات البحث تعتبر أساسية في معظم التطبيقات و معرفتها مفيده جدا بشكل عام ام اذ كنت مهتم مثلا ب الذكاء الاصطناعي يمكن أن تكون دراسة التعلم العميق هي خيار جيد كما انه هناك بعض الخوارزميات الاخري لهذا المجال اما إذا كنت مهتما بتطوير تطبيقات الويب يمكن أن يكون التركيز على إطارات العمل مثل Angular أو React
  6. مرحبا محمد اذا كنت تريد فعل مثل هذه الفورم فيجب عليك تعمل html ,css وكما مع javascript , وبعض المكتبات الاخري التي تقدم لك سهوله في design مثل bootstrap و Tailwind CSS وبهكذا تبدا في عالم ال front end وهو اللذي يوفر لك الشكل اللذي سظهر للمستخدم مثال علي ذاللك وفيما انت طلبت <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css"> <style> body { font-family: Arial, sans-serif; display: flex; align-items: center; justify-content: center; height: 100vh; margin: 0; } form { width: 100%; max-width: 400px; padding: 16px; border: 1px solid #ddd; border-radius: 8px; } label { display: block; margin-bottom: 8px; } input, select { width: 100%; padding: 8px; margin-bottom: 16px; box-sizing: border-box; } </style> <title>Registration Form</title> </head> <body> <div class="container"> <h2 class="text-center mb-4">Registration Form</h2> <form> <div class="form-group"> <label for="email">Email:</label> <input type="email" class="form-control" id="email" name="email" required> </div> <div class="form-group"> <label for="phone">Phone Number:</label> <input type="tel" class="form-control" id="phone" name="phone" required> </div> <div class="form-group"> <label>Date of Birth:</label> <div style="display: flex; gap: 8px;"> <select class="form-control" name="day" id="day" required> <option value="" disabled selected>Day</option> </select> <select class="form-control" name="month" id="month" required> <option value="" disabled selected>Month</option> </select> <select class="form-control" name="year" id="year" required> <option value="" disabled selected>Year</option> </select> </div> </div> <button type="submit" class="btn btn-primary">Register</button> </form> </div> <script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.0.7/dist/umd/popper.min.js"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script> <script> document.addEventListener("DOMContentLoaded", function () { function generateOptions(start, end, element) { for (let i = start; i <= end; i++) { let option = document.createElement("option"); option.value = i; option.text = i; element.appendChild(option); } } let dayDropdown = document.getElementById("day"); let monthDropdown = document.getElementById("month"); let yearDropdown = document.getElementById("year"); generateOptions(1, 31, dayDropdown); generateOptions(1, 12, monthDropdown); let currentYear = new Date().getFullYear(); generateOptions(currentYear, currentYear - 100, yearDropdown); }); </script> </body> </html> هنا في ذاللك المثال نستخدم html , css ,javascript,bootstrap نستخدم bootstrap لانه بها styles جاهزه نستتطيع استخدامها بكل سهول ويسر في تنظيم الشكل كما تم استخدام ال javascript لكي نملا ال fields الخاصة بتاريخ الميلاد ومن الممكن استخدام مكتبات في python مثل django اذ كانت هناك خبره لك في python هذه المكتبة توفر لك كتابة الكود backend و frontend لانك من الممكن استخدام MVT وهذا structure في django تستطيع استخدامة تطوير البرامج كما يتطلب منك ايضا تعلم html ,css,javascript
  7. مرخبا دالة strlen تحسب عدد الاحرف الموجود دال ال string الذي مدخل وهنا الكود الخاص بك ليس بهي اي خطا حيث في السطر الاول هنا 6 احرف موجوده $str = 'abcdef'; echo strlen($str); لذاللك يطبع عدد 6 بعد ذاللك في السطر الذي يلية يطبع 7 لانه بالفعل يحتوي علي 7 احرف حيث space او المسافة تعتبر حرف في البرمجة $str = ' ab cd '; echo strlen($str); اذا الناتج النهائي يكون 67 بجوار بعضيهم اذ كنت تريد الفصل بينهم يرجوا اعادة تعين الكود هاكذا <?php $str = 'abcdef'; echo 'Length of $str: ' . strlen($str); $str = ' ab cd '; echo ', Length of $str: ' . strlen($str); ?>
  8. مرحبا لاستخدام api في ال python هناك مكتبات توفر ذاللك مثل djangorestframework مع django وايضا هناك flask من الممكن استخدامها لكي تغمل api ويفضل django اذ كان مشروعك كبير ويجب ان تتبع دورة او تتعلم كيفية استخدامهما سواء django او flask
  9. تمام المشكلة عندك انه لا يوجد font arabic متسجل علي جهازك ساسل لك الفونت مع الكود اللي عندي test.rar
  10. ممكن ترسل ملف المشروع
  11. مرحبا اذ كنت تقصد ظهور الكود html في inspect فهذا امر عادي جدا ويختلف في كل frameworks كما في .net او laravel في laravel ممكن يظهر الكود بضوح جدا عن .net مثلا وهذا حسب التكنيك الذي يستخدمه كل frameworks في عرض او تحول كود view الي html لكي يعرض للمستخدم واذا كانت المشكلة في ظهور الكود بالكامل فهذا من المحتمل انه يكون ال debug عندك ب true وذاللك يكون اثناء development اما في حالة ال production يجب ان تكون ب fasle حاول تغيرها في هذه الملف config/app.php 'debug' => env('APP_DEBUG', false),
  12. مرحبا من الممكن استخدام مكتبة reportlab لإنشاء ملفات PDF بواسطة بايثون وتحويل جدول إلى مستند PDF ثبت المكتبة عن طريق ذاللك الامر pip install reportlab يمكن تحويل جدول الي pdf عن طريق استخدام هذه الكود from reportlab.lib.pagesizes import letter from reportlab.lib import colors from reportlab.platypus import SimpleDocTemplate, Table, TableStyle # هنا بيانات الجدول data = [ ["كود المنتج", "اسم المنتج", "السعر", "الكمية"], ["001", "منتج 1", "50", "10"], ["002", "منتج 2", "30", "15"], ["003", "منتج 3", "20", "20"] ] # هنا انشاء اسم ال pdf pdf_filename = "جدول.pdf" document = SimpleDocTemplate(pdf_filename, pagesize=letter) #اعداد ال style الخاص بالجدول table = Table(data) table.setStyle(TableStyle([ ('BACKGROUND', (0, 0), (-1, 0), colors.grey), ('TEXTCOLOR', (0, 0), (-1, 0), colors.whitesmoke), ('ALIGN', (0, 0), (-1, -1), 'CENTER'), ('FONTNAME', (0, 0), (-1, 0), 'Arabic'), ('BOTTOMPADDING', (0, 0), (-1, 0), 12), ('BACKGROUND', (0, 1), (-1, -1), colors.beige), ('GRID', (0, 0), (-1, -1), 1, colors.black), ])) # اضافة الجدول الي مستند pdf document.build([table]) بالنسبة للارقام العربية من المككن استخدام مكتبة arabicreshaper, bidi عن طريق تثبيتهم pip install arabic-reshaper pip install python-bidi بعد ذاللك في اعدادات الجدول استخدم هذا الكود from arabic_reshaper import reshape from bidi.algorithm import get_display reshaped_data = [[get_display(reshape(cell)) for cell in row] for row in data] # هنا لتحويل كل cell من الجدول والي االغة العربيى table = Table(reshaped_data) اذن الكود ككل يحب ان يكون هكذا from reportlab.lib.pagesizes import letter from reportlab.lib import colors from reportlab.platypus import SimpleDocTemplate, Table, TableStyle from arabic_reshaper import reshape from bidi.algorithm import get_display # بيانات الجدول data = [ ["كود المنتج", "اسم المنتج", "السعر", "الكمية"], ["001", "منتج 1", "50", "10"], ["002", "منتج 2", "30", "15"], ["003", "منتج 3", "20", "20"] ] # إعداد مستند PDF pdf_filename = "جدول.pdf" document = SimpleDocTemplate(pdf_filename, pagesize=letter) # تشكيل البيانات للعرض الصحيح للنصوص العربية reshaped_data = [[get_display(reshape(cell)) for cell in row] for row in data] # إعداد الجدول table = Table(reshaped_data) table.setStyle(TableStyle([ ('BACKGROUND', (0, 0), (-1, 0), colors.grey), ('TEXTCOLOR', (0, 0), (-1, 0), colors.whitesmoke), ('ALIGN', (0, 0), (-1, -1), 'CENTER'), ('FONTNAME', (0, 0), (-1, 0), 'Arabic'), ('BOTTOMPADDING', (0, 0), (-1, 0), 12), ('BACKGROUND', (0, 1), (-1, -1), colors.beige), ('GRID', (0, 0), (-1, -1), 1, colors.black), ])) # إضافة الجدول إلى المستند document.build([table])
  13. مرحبا ليس هناك طريقة مباشرة لمنع المستخدم من تغير القيم في inpect وعدم تاثرها في الموقع ومن الافضل انك تحمي الموقع في backend وايضا تفعل form Validation قبل ارسال القيم الي ال backend مثال <script> function validateForm() { var selectedGender = document.querySelector('input[name="Gender"]:checked'); if (!selectedGender) { alert("Please select a gender."); return false; } var genderValue = selectedGender.value; if (genderValue !== 'Male' && genderValue !== 'Female') { alert("Invalid gender selected."); return false; } return true; } </script> <form onsubmit="return validateForm()" method="post" action="/YourController/YourAction"> <label class="regLabel"> Male <input class="gender" asp-for="Gender" class="d-inline" type="radio" id="male" name="Gender" value="Male" checked> </label> <label class="d-inline regLabel ml-2 font-weight-bold"> Female <input class="gender" asp-for="Gender" type="radio" name="Gender" value="Female" id="female"> </label> <input type="submit" value="Submit"> </form> هنا عندم نقوم بالضغط علي الحفظ مثلا يقوم ال form بارسال data form الي validateForm fun لكي يقوم بعملية التاكيد علي المدخلات وكما لاحظت في الكود اننا نتاكد انه قيمة المستخدمة يجب ان تكون MENاوfemel 2-يوجد طريقة اخري ولالكن سوف تحمل resource علي client ومن الممكن ان تنتج عنها مشاكل فيما بعد هذه الطريقة هي استخدام setInterval وهذه دالة توفر لك انه تسدعي body الخاص بها كل فتره انت تحددها وبداخل ال body من الممكن نضيف كود لكي يتاكد اذا ان المستخدم قتم بتغير قيمة ام لا من input مثال setInterval(function () { var currentGender = document.querySelector('input[name="Gender"]:checked').value; if (currentGender!='Men' || currentGender!='Femle' ) { alert('here detect change '); windows.reload() } }, 100); هني يقوم لموقع كل 100 mis بالنظر الي قيمة select value والتاكد انها اما men او female واذا اختلفت قام بعمل reload للموقع
  14. مرحبا من المتعارف علية انه عند تكرار ال string في python بنستخدم فعلا * string_original = "Hello" repeated_string = string_original * 3 # تكرار ثلاث مرات print(repeated_string) اذ كنت تريد استخدام نفس المفهوم في js من الممكن استخدام fun build in string تسمي repeat let originalString = "Hello"; let repeatedString = originalString.repeat(3); // تكرار ثلاث مرات console.log(repeatedString);
  15. مرحبا هنا منصات تقدم خدمة api للوتساب مثل 1-https://www.businesschat.io/ تقدم api لل وتساب للاعمال 2-http://whatsapi.in/ تقدم ايضا خدمة api من الممكن قراءة ال documents الخاصه بعم لمعرفت الاكثر علي الاستخدام من الناحية العامة يعتمد اختيارك بين استخدام خدمة واتساب بزنيس API مباشرة من ميتا أو استخدام مواقع وسطاء على عدة عوامل البعض قد يفضل التعامل مباشرة مع ميتا لضمان الاستقرار والأمانفي حين يفضل البعض الآخر الاعتماد على مواقع الوساطة لأسباب مثل التكلفة أو سهولة الاستخدام
  16. لو مش موجود عندك ممكن تغير القيمة دي في ملف php.ini upload_max_filesize = 10MB او ممكن تستخدم validator في controller $validator = Validator::make($request->all(), [ 'file' => 'max:5120', //5MB ]);
  17. مرحبا نعم ممكن 1- registerAccount هي دالة عامة تأخذ كمدخلات Request $request التي تنادا بواسطة بروتوكول http و $type هنا ممكن يكون نوع الحساب 2-يتم إنشاء كائن $service من كلاس Master 3- يتم الحصول على مصفوفة $types التي تحتوي على مفاتيح الأنواع المتاحة من خلال استدعاء types() من الكائن $service 4- يتحقق الكود مما إذا كان المتغير $typeغير معرف أو إذا كان ينتمي إلى المصفوفة $types وإذا لم يكن الحال يتم إعادة توجيه المستخدم إلى /register-type 5- إذا كان $type هو head_of_department يتم إعادة توجيه المستخدم إلى /register-department/$type 6. إذا كان $type هو stuff_studentيتم إعادة توجيه المستخدم إلى /register-student/$type 7. إذا كان $type هو dean يتم إعادة توجيه المستخدم إلى /register-dean/$type 8. إذا كان $type هوhscيتم إعادة توجيه المستخدم إلى /register-hsc/$type
  18. مرحبا المشكلة لديك قد تكون بسبب إعدادات رفع الملفات للتحكم في الحجم الأقصى للملفات التي يمكن رفعها ممكن استخدام إعداد max_file_sizeفي ملف config/upload.php قم بتغيريها الي 'max_file_size' => 2097152, وبعد ذاللك اكتب هذه الامر في الترمينل لكي تمسح الكاش php artisan config:clear
  19. مرحبا يعد استخدام bitwise مهم جدا في بعض الاشياء مثلا عند الحفاظ علي الذاكرة يمكن تحسين استهلاك الذاكرة فمثلا إذا كنت تحتاج إلى تخزين مجموعة من الخصائص الثنائية كمجموعة من البتات يمكنك توفير المساحة بدلا من استخدام نوع بيانات كامل لكل خاصية #هنا استخدام class مع ثلاث خصائص class TraditionalDataStructure: def __init__(self): self.property1 = 0 self.property2 = 0 self.property3 = 0 #هنا استخدام class مع متغير واحد class BitwiseDataStructure: def __init__(self): self.properties = 0 #هنا من الممكن تغير كل متغير باستخدام bitwise def set_property(self, property_number): self.properties |= (1 << property_number) def get_property(self, property_number): return (self.properties & (1 << property_number)) != 0 ومن الممكن استخدامها في تنفيذ العمليات المنطقية بشكل مباشر مما يسهل على المطور فهم الكود وتنفيذ العمليات البسيطة بشكل فعال ويمكن استخدامها في التشفير ايضا وبعد الاستخدامات الاخري
  20. نعم ممكن استخدام beforeunload window.addEventListener("beforeunload", function() { var redirectLink = "/your-redirect-url"; window.location.href = redirectLink; });
  21. اسف للتاخير كما ذكر الزميل انه window.onload دالة build in في js تستطيع استخدامها اذ كنت تريد تنفيذ بعض الكود بعد تحميل الصفحة
  22. مرحبا من الممكن استخدام window.onload وهذه ال function توفر لك اكشن او فعل تعمله بعد تحميل الصفحة ممكن استخدامها كهذا window.onload = function () { window.location.href = linkRandom; }; وهنا تسطيع بعد تحميل الصفحة انك تعمل redirect للينك الذي تريد باستخدام window.location.href = linkRandom;
  23. مرحبا ليس من الضروري تعمل html , css عندما تتعلم ال flutter بس يفضل انه يكون خلفية عن html ,css لانه ال flutter يعتبر من الاطارات من الfrontend و واحيانا تحتاج و اجهات المستخدم باستخدام تقنيات ولغات مثل HTML و CSS على سبيل المثال يمكنك استخدام واجهات مستخدم الويب في تطبيق Flutter باستخدام WebView التي تقوم بتحميل صفحات ويب تحتوي على HTML و CSS واحيانا تستخدم css لتنسيق التطبيق اكثر لذاللك يفضل تعلم html ,css لتكون قادر علي تكوين واجهات مستخدم مميزه
  24. مرحبا هنا بعد انك عملت front اللي الواجة الامامية بعد ذالك تحتاج ان تعمل علي backend وذاللك لتعمل api التي تستخدمها في الربط مع ال front ولانه ليس من الممكن ربط ال front بشكل مباشر مع database بدون هناك يكون controller بينهم زاذ كنت هنا تستخدم laravel فمن الممكن استخدام نظام المصادقة الموجود في laravel وهو كلاتي 1- بعد انشاء مشروع الجديد composer create-project --prefer-dist laravel/laravel اسم-المشروع 2- config database في ملف .env DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=اسم_قاعدة_البيانات DB_USERNAME=اسم_المستخدم DB_PASSWORD=كلمة_المرور 3- عمل migrate وذاللك لانشاء الجداول php artisan migrate 4-تكوين النموذج User افتح ملف User.php في app/Models يمكنك أيضًا تحديد الحقول المراد تحققها (مثل email وpassword) use Illuminate\Foundation\Auth\User as Authenticatable; class User extends Authenticatable { // ... } } 5-تحديد مسار الدخول في ملفweb.php (يمكن العثور عليه في routes/web.php) يمكنك تحديد مسار الدخول use Illuminate\Support\Facades\Route; use App\Http\Controllers\Auth\LoginController; Route::post('/login', [LoginController::class, 'login']); 7-تكوين النموذج Login Laravel يقدم نموذجا جاهزا لعملية تسجيل الدخول يمكنك استخدامه كنموذج أو تخصيصه حسب احتياجاتك افتح ملف LoginController.php الخاص بك (يمكن العثور عليه في app/Http/Controllers/Auth) واستخدم الفئة AuthenticatesUsers use Illuminate\Foundation\Auth\AuthenticatesUsers; class LoginController extends Controller { use AuthenticatesUsers; // ... } 8-تشغيل البرنامج php artisan serve بس نصيحة مني ممكن تتعلم backend لكي تتكمل من بناء تطبيق كامل متكامل
×
×
  • أضف...