العربية
فتح في Telegram

سلسلة مساء الخير جميعاً 🖥

4 رسائل · –
∞
مساء الخير جميعاً 🖥 عندي مشروع لكلية لمادة هندسة البرمجيات ولازم نبني منصة ويب محلية اني حددت التقنيات البرمجية الي راح استخدمها Flask، SQLite، وHTML/CSS/JS، وراح استخدم مكتبة ast هم ببايثون بدون إنترنت بس عندي كم سؤال اذا ممكن تنصحونا بخصوص هيكلة Flask شنو أفضل طريقة أو بنية ملفات بسيطة أبدأ بيها حتى ما أتيه خصوصاً مع تقسيط الأقسام لـ Blueprints؟ هم تنصحون بمكتبات معينة ب بايثون تسهل ربط SQLite أو معالجة النصوص لو نكتفي بالـ Standard Libraries؟ شنو أهم نصيحة أو خطأ شائع تگدرون تنصحوني ابتعد من عليه للعلم عندي اساس سي بلاس بلاس لحد oop جيد بس أني توي أتعلم بايثون ؟ وإذا عندكم مصادر أو بلاي ليستات قصيرة ترشحوها لـ إطار Flask و Blueprints و Jinja2. التعامل الآمن مع SQLite بـ بايثون (Parameterized Queries). تصميم الواجهات بـ CSS Variables (للثيمات) وتفاعلات localStorage بـ JS. الشغل على مكتبة ast. 😠✨
❤1
  1. م
    مساء الخيرات يا مبدع! 🖥✨ عاشت إيدك على الاختيارات، كلش ممتازة ومناسبة لمشروع هندسة برمجيات (خصوصاً Flask لأنه يمنحك مرونة عالية وما يفرض عليك هيكلة معقدة مثل Django). بما أنك جاي من خلفية C++ وفاهم الـ OOP، البايثون راح تسهل عليك هواي، بس انتبه لأن البايثون "متساهلة" أكثر بالأنواع (Dynamic Typing) مقارنة بالـ C++، فتحتاج تنتبه لنوع البيانات بالمتغيرات حتى ما تدوخ بأخطاء وقت التشغيل. تفضل إجابات أسئلتك مرتبة حتى تمشي بخطوات صحيحة: 1. هيكلة مشروع Flask باستخدام Blueprints (بنية بسيطة ومرتبة) للمشاريع الصغيرة إلى المتوسطة، أفضل هيكلة مبسطة ومناسبة للـ Blueprints هي نمط Application Factory: my_project/ │ ├── app/ # مجلد التطبيق الرئيسي │ ├── init.py # إنشاء الـ Flask App وتفعيل الـ Blueprints │ ├── models.py # تعريف جداول قاعدة البيانات (إذا استخدمت ORM) │ ├── static/ # ملفات CSS, JS, الصور │ │ ├── css/ │ │ └── js/ │ ├── templates/ # ملفات HTML (Jinja2) │ │ └── base.html │ ├── main/ # Blueprint للصفحات العامة (الرئيسية، من نحن) │ │ ├── init.py │ │ └── routes.py │ └── dashboard/ # Blueprint لقسم المنصة الأساسي │ ├── init.py │ └── routes.py │ ├── instance/ # ملفات قاعدة البيانات المحلية SQLite │ └── database.db │ ├── requirements.txt └── run.py # ملف تشغيل المشروع * الفكرة باختصار: كل ميزة رئيسية بالمنصة تخليها بمجلد بوحدها داخل app/ وتحتوي على Blueprint خاص بيها، وهالشي يمنع تداخل الملفات ويخلي الكود نظيف ويسهل توزيعه بين أعضاء الفريق (موضوع مهم بهندسة البرمجيات). 2. هل نستخدم مكتبات خارجية لو نكتفي بالـ Standard Libraries؟ * لربط SQLite: نكتفي تماماً بـ sqlite3 الموجودة بافتراضياً بمكتبة بايثون (Standard Library). كلش كافية وسريعة، وما تحتاج تتعلم ORM معقد مثل SQLAlchemy اذا كان وقتك ضيق (رغم إنه مفيد، بس للسرعة sqlite3 تفي بالغرض). * معالجة النصوص: مكتبة ast الموجودة ببايثون افتراضياً هي الأساس والأقوى لتحليل شفرات الأكواد (Code Parsing/AST)، فما تحتاج أي مكتبة خارجية الها. * نصيحة إضافية: لا تملي مشروعك مكتبات خارجية هواي حتى ما تواجه مشاكل بالتشغيل بدون إنترنت (Offline Environment). 3. أهم نصيحة وأخطاء شائعة يجب الابتعاد عنها (من وجهة نظر C++ OOP) بما إن عندك أساس قوي بالـ C++، اكو أمور ببايثون لازم تنتبه لها: * الأخطاء الشائعة: * عدم استخدام Parameterized Queries مع SQLite: هذا أكبر خطر أمني (SQL Injection). أبداً لا تدمج المتغيرات النصوصية مباشرة داخل استعلام الـ SQL (مثل استخدام f"" strings)، واستخدم دائماً علامات الاستفهام ? والباراميترات. * سوء إدارة الجلسات (Sessions/Routes): تخلّي كل الكود بملف واحد app.py، وهذا يكسر قواعد هندسة البرمجيات (Modular Design). * المسارات المطلقة والنسبية (Paths): بما إنكم تشتغلون محلياً، انتبه لمسارات ملفات قاعدة البيانات والـ Templates حتى ما تواجه مشاكل من يشتغل المشروع على حاسبة غير حاسبتك. 4. مصادر وبلاي ليستات مقترحة * Flask & Blueprints & Jinja2: * قناة Corey Schafer على يوتيوب عنده سلسلة Flask ممتازة جداً وتشرح الـ Blueprints والتطبيقات العملية بطريقة احترافية. * التوثيق الرسمي لـ Flask (Flask documentation) يعتبر من أرتب التوثيقات وسهل القراءة. * التعامل الآمن مع SQLite (Parameterized Queries): * ابحث في توثيق بايثون الرسمي عن قسم sqlite3 وتحديداً أمثلة Executing queries وكيفية تمرير البيانات بطريقة tuple. * تصميم الواجهات (CSS Variables & localStorage): * فيديوهات Kevin Powell على يوتيوب (أفضل شخص يشرح CSS Variables والثيمات بشكل عملي وسهل). * موهبة استخدام localStorage بسيطة جداً وتقدر تتعلمها من مقالات سريعة على MDN Web Docs (بحث بسيط عن Using the Web Storage API). * مكتبة ast: * توثيق بايثون الرسمي لمكتبة ast مع أمثلة بسيطة مثل ast.parse() و ast.walk(). بالتوفيق بالمشروع
    👏2🕊1❤‍🔥1
PPython - بايثونPython - بايثون@PythonArab · مجموعة · التقنية
14 418أعضاء74يكتبون خلال 30 يومًا
خلاصة المجتمع فتح في Telegram

خلاصة عامة مفتوحة من فهرس البحث ChatCrawler — «Google لـ Telegram العام»؛ تُحدَّث كلما زحفنا إلى المجتمع. الأوقات بتوقيت UTC.

محتوى عام فقط، وAPI Telegram الرسمي. عن المشروع · الأسئلة الشائعة · حدود الفهرس · إزالة صفحة · الدليل · بحث · كيف نحسب