لوحة المتصدرين
المحتوى الأكثر حصولًا على سمعة جيدة
المحتوى الأعلى تقييمًا في 05/20/25 في كل الموقع
-
السلام عليكم ادرس في دورة "تطوير التطبيقات بإستخدام بايثون" ، و انا حاليا في المسار الثاني. ارغب في تعلم تطوير الواجهات الأمامية Front end development هل من الأفضل ان ابدإ في تعلمها بعد انهاء المسار الثاني من الدورة ، اي قبل البدأ في مسار تعلم اطار العمل "Jango" ، او بعد انهاء المسار الثالث و الرابع ؟ سؤال اخر : هل دورات Crash courses الموجودة على يوتيوب جيدة للبدء في Front end ؟ خاصة ان لغتي الإنجليزية جيدة. شكرا لكم.5 نقاط
-
3 نقاط
-
مش راضي امر مسح الشاشة يشتغل عندي و مش عارفة اعمل ايي و الكود واقف ساعدوني2 نقاط
-
لسلام عليكم ورحمة الله وبركاته، تحية طيبة وبعد، أنا محمد، أحد طلاب دورة تطوير واجهات المستخدم (Front-End) ضمن مسارات أكاديمية حاسوب. أود أن أعبّر عن شكري وامتناني على هذه الدورة القيّمة والمحتوى التعليمي المنظم الذي استفدت منه كثيرًا. وبعد أن أنهيت جميع الدروس والمحتويات التدريبية، أودّ طلب مراجعة شاملة أو ملخص مركز يساعدني على: مراجعة النقاط الأساسية التي تم تناولها خلال الدورة. التركيز على المهارات أو المفاهيم الأكثر أهمية في الاختبار النهائي. معرفة ما إذا كانت هناك توصيات أو خطوات محددة يجب أن أقوم بها قبل التقدم إلى الاختبار (مثل حل اختبارات تجريبية، مراجعة مشاريع، إلخ). أرجو منكم التكرم بتزويدي بأي مواد أو نصائح تساعدني على الاستعداد الجيد للاختبار، ولكم جزيل الشكر والتقدير.2 نقاط
-
*{ padding: 0; margin: 0; font-family: sans-serif; box-sizing: border-box; } i{ color: orangered; } body{ background-color: #333; } header{ display: flex; justify-content: space-between; align-items: center; background-color: #222; width: 100%; height: 10vh; border-bottom: 3px solid orangered; } .navbar h1{ color: orangered; font-size: 35px; padding-left: 30px; } .navbar nav a{ text-decoration: none; color: white; padding-right: 30px; padding: 10px; transition: all 0.3s ease; margin-right: 10px; } .navbar nav a:hover{ background-color: #ffffff3c; color: orangered; } .hero{ background: url(desktop.jpg) no-repeat; background-size: cover; background-position: center; min-height: 600px; display: flex; justify-content: center; align-items: center; flex-wrap: wrap; } .hero h2{ color: white; font-size: 40px; text-align: center; margin-top: 5%; } .hero span{ color: orangered; } .hero p{ color: white; text-align: center; margin-bottom: 10%; font-size: 18px; } .login{ border-top: 3px solid orangered; } .about{ display: flex; justify-content: center; align-items: center; flex-wrap: wrap; flex-direction: column; margin-top:50px; gap: 1rem; } .about h3{ margin-bottom: 10px; color: white; margin-right: 40px; } .about p{ margin-top: 10px; color: white; margin-bottom: 20px; } .h1{ color: white; text-align: center; margin-top: 20px; } .project{ display: flex; justify-content: center; align-items: center; flex-wrap: wrap; flex-direction: column; margin-top:50px; gap: 1rem; } .project h2{ font-size: 30px; text-align: center; margin-bottom: 20px; } .card{ padding: 3rem 4rem; background: #222; border: 2px solid orangered; } .card p{ flex: 1; margin-bottom: 2rem; color: white; } .card a{ text-decoration: none; color: white; background: orangered; padding: 1rem 2rem; } .card a:hover{ background-color: #ff4400df; } footer{ background-color: #222; width: 100%; height: 10vh; display: flex; justify-content: center; align-items: center; margin-top: 50px; } footer h3{ color: white; } footer a{ padding: 1rem 2rem; background-color: #222; border: 2px solid orangered; margin-left: 20px; text-decoration: none; color: white; transition: all 0.3s ease; } footer a:hover{ background-color: #444; } #arrow{ color: white; } .about a{ color: white; } <!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://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.2.1/css/all.min.css"> <link rel="stylesheet" href="style.css"> <title>Document</title> </head> <body> <header class="navbar"> <h1>ZN99</h1> <nav> <a href="">Home</a> <a href="">Project</a> <a href="">Information</a> <a href="">Contact</a> </nav> </header> <section class="hero"> <h2>Welcome to <span>ZN99</span> website</h2> <p>Lorem ipsum dolor sit, amet consectetur adipisicing elit. Enim repellendus maxime sequi, voluptate earum odio dignissimos officia dolores voluptatem? Magnam voluptate quisquam aspernatur at. Quo ad tempore atque eveniet cumque?</p> </section> <div class="login"></div> <section class="about"> <i class="fa-solid fa-briefcase fa-5x"></i> <h3>Project</h3> <p>Our projects are amazing. If you are interested, check out the following link <a href="https://verdant-sunburst-444f9e.netlify.app/" target="_blank">View now <i class="fa-solid fa-arrow-right"></i></a></p> <i class="fa-solid fa-child-reaching fa-5x"></i> <h3>Make the person happy</h3> <p>We will be happy if we can make you happy.</p> <i class="fa-solid fa-screwdriver-wrench fa-5x"></i> <h3>Edit project</h3> <p>After creating your first website and you want to modify it, contact us and one of our team members will modify it for free.</p> <i class="fa-solid fa-hand-holding-dollar fa-5x"></i> <h3>Guarantee your investment</h3> <p>Money back guarantee if you don't like the project within 24 hours and we will be happy to hear from you.</p> </section> <br> <br> <hr> <h1 class="h1">Project</h1> <section class="project"> <div class="card"> <p>Calculator</p> <a href="">View a project <i id="arrow" class="fa-solid fa-arrow-right"></i></a> </div> <div class="card"> <p>Identification website</p> <a href="">View a project <i id="arrow" class="fa-solid fa-arrow-right"></i></a> </div> <div class="card"> <p>Godzilla</p> <a href="">View a project <i id="arrow" class="fa-solid fa-arrow-right"></i></a> </div> </section> <footer> <h3>Contact for ZN99</h3> <a href="">let's started</a> </footer> </body> </html> كيف يمكن جعل العناصر بجانب بعضهم2 نقاط
-
2 نقاط
-
1 نقطة
-
إن تعلم JQuery ليس ضروريا إذا كنت تستخدم React . حيث React ستغنيك عن ذلك حيث توفر لك الكثير من الخصائص والممزيات أكثر مما توفره JQuery وأيضا تقوم هي بالتلاعب العناصر وإضافتها وحذفها والتعديل عليها دون الحاجة لفعل ذلك يدويا من خلال JQuery. ولكن إذا كنت ستعمل على مشاريع قديمة أو تقوم بتطوير مواقع دون إستخدام React فإن JQuery ستفيدك جدا بدلا من إستخدام Plain JavaScript وإنشاء كل شئ بنفسك. لهذا الأمر يعتمد على ما تريد تحقيقه وما الذي ستعمل عليه.1 نقطة
-
على أرض الواقع لا يتم استخدام أحدث التقنيات في جميع المشاريع، فغالب الحال ستعمل على مشاريع تم تطويرها بالفعل منذ مدة، بالتالي ستجد أنّ JQuery مستخدمة بها بالرغم من أنّها عفا عليها الزمن ولم تعد تُستخدم بكثرة حاليًا كما كانت من قبل، وذلك بسبب تطور جافاسكريبت. بالتالي ليس شرط تعلم jQuery وتستطيع تعلم React مباشرًة وذلك يكفي، ثم تستطيع تعلم jQuery وقتما تحتاج إلى ذلك، ولو أردت رأي تعلم أساسيات jQuery ثم التطبيق على مشروع بسيط لا أكثر، وفي حال احتجتها تستطيع التعمق بها.1 نقطة
-
نعم وضعتها يدويا . ولكن بالفعل يمكنكِ إما إستدعاء البيانات من قاعدة البيانات . او لو كان لديكِ API يقوم بجلبها . وإذا كنتِ تريدين إستدعائها من قاعدة البيانات فيمكننا إستخدام قاعدة بيانات sqlite وجلب البيانات منها . ولنفرض أن ملف قاعدة البيانات لديكِ هو بإسم database_file.db وإسم الجدول هو names والعمود الذي به الأسماء هو name . وحينها سيكون ملف MainActivity.java كالتالي : import androidx.appcompat.app.AppCompatActivity; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import android.os.Bundle; import android.text.Editable; import android.text.TextWatcher; import android.widget.EditText; import java.util.ArrayList; import java.util.List; public class MainActivity extends AppCompatActivity { private EditText searchEditText; private RecyclerView recyclerView; private NameAdapter adapter; private List<NameItem> originalNameList; private List<NameItem> filteredNameList; private DatabaseHelper dbHelper; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); searchEditText = findViewById(R.id.searchEditText); recyclerView = findViewById(R.id.recyclerView); recyclerView.setLayoutManager(new LinearLayoutManager(this)); dbHelper = new DatabaseHelper(this); originalNameList = getAllNamesFromDatabase(); // جلب البيانات من قاعدة البيانات filteredNameList = new ArrayList<>(originalNameList); adapter = new NameAdapter(filteredNameList); recyclerView.setAdapter(adapter); searchEditText.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { filterNames(s.toString()); } @Override public void afterTextChanged(Editable s) { } }); } private List<NameItem> getAllNamesFromDatabase() { List<NameItem> names = new ArrayList<>(); SQLiteDatabase db = dbHelper.getReadableDatabase(); Cursor cursor = db.query( "names", // اسم الجدول new String[]{"_id", "name"}, // الأعمدة اللي نريد جلبها null, null, null, null, null ); if (cursor != null && cursor.moveToFirst()) { do { int id = cursor.getInt(cursor.getColumnIndexOrThrow("_id")); String name = cursor.getString(cursor.getColumnIndexOrThrow("name")); names.add(new NameItem(id, name)); } while (cursor.moveToNext()); cursor.close(); } db.close(); return names; } private void filterNames(String query) { filteredNameList.clear(); if (query.isEmpty()) { filteredNameList.addAll(originalNameList); } else { query = query.toLowerCase(); for (NameItem nameItem : originalNameList) { if (nameItem.getName().toLowerCase().contains(query)) { filteredNameList.add(nameItem); } } } adapter.notifyDataSetChanged(); } public static class NameItem { private int id; private String name; public NameItem(int id, String name) { this.id = id; this.name = name; } public String getName() { return name; } } // صنف مساعد للتعامل مع قاعدة البيانات public static class DatabaseHelper extends SQLiteOpenHelper { private static final String DATABASE_NAME = "database_file.db"; private static final int DATABASE_VERSION = 1; public DatabaseHelper(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); } @Override public void onCreate(SQLiteDatabase db) { } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { } } } وسنحتاج إلى تعديل ال Adapter حتى يستقبل قائمة من نوع NameItem ويعرض الاسم بداخل الكائن : import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; import androidx.annotation.NonNull; import androidx.recyclerview.widget.RecyclerView; import java.util.List; public class NameAdapter extends RecyclerView.Adapter<NameAdapter.NameViewHolder> { private List<NameItem> nameList; public NameAdapter(List<NameItem> nameList) { this.nameList = nameList; } @NonNull @Override public NameViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { View itemView = LayoutInflater.from(parent.getContext()) .inflate(android.R.layout.simple_list_item_1, parent, false); return new NameViewHolder(itemView); } @Override public void onBindViewHolder(@NonNull NameViewHolder holder, int position) { NameItem currentItem = nameList.get(position); holder.nameTextView.setText(currentItem.getName()); // الوصول للاسم من كائن NameItem } @Override public int getItemCount() { return nameList.size(); } public static class NameViewHolder extends RecyclerView.ViewHolder { public TextView nameTextView; public NameViewHolder(@NonNull View itemView) { super(itemView); nameTextView = itemView.findViewById(android.R.id.text1); } } public static class NameItem { private int id; private String name; public NameItem(int id, String name) { this.id = id; this.name = name; } public String getName() { return name; } } }1 نقطة