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

Aimen Zeffanine

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

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

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

  • عدد الأيام التي تصدر بها

    1

أجوبة بواسطة Aimen Zeffanine

  1. بتاريخ 1 دقيقة مضت قال Mustafa Suleiman:

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

    هدفي النهائي هو العمل في شركة تقنية عربية (tech company) ولا كن حسب ماقيل لي فالشركات تطلب خبرة 1-2 على الاقل لهادا انا مرغوم على العمل الحر 
    مواقع عربية أو أجنبية والله لا ادري انت ارشدني استاد 

    • أعجبني 1
  2. بتاريخ 2 دقائق مضت قال ياسر مسكين:

    تعتمد مشاركتك في Freelancer Plus على احتياجاتك وميزانيتك، فمن مميزاتها انها تزيد في فرص الحصول على المشاريع و تساعدك عبر توفير ادوات و تطبيقات ذكية لتحسين كفائتك.

    كنصيحة ابدأ بخطة Freelancer Basic و ركز على بناء محفظة قوية التي من خلالها يمكنك جذب عملاء الاوليينت، ثم لا تتردد في التقدم لعدد كبير من المشاريع حتى يرى العملاء محفظتك و عملك السابق.

    و بالتأكيد لا تنسى ان تتفاعل مع العملاء بشكل جيد و منظم مع احترام الاوقات و المواعيد.

    مدى عن البرتفيليو الخاص بي ؟

    • أعجبني 1
  3. السلام عليكم

    بعد ان تخرجت و بدأت البحث عن عميل في مستقل وجدت اغلب المشاريع php & laravel لهدا قررت البدأ في upwork و لدي بعض الاسئله

    1. هل خدمة Freelancer Plus تستحق الشراء و ستساعدني كمبتدأ ؟
    2. هل البورتفوليو  الخاص بي جيد خاصة ان المشاريع بالعربية ؟
    3. هل من نصاءح للبدأ
    • أعجبني 1
  4. بتاريخ 14 دقائق مضت قال محمد_عاطف:

    وعليكم السلام ورحمة الله وبركاته .

    الخطأ من الممكن ان يكون لاكثر من سبب ولكن السبب الاكثر شيوعا هو عدم وجود ملف php.ini لديك فى مكان تثبيت php .

    لذلك اولا قم بالذهاب الى مكان تنصيب Laravel Herd وقم بالذهاب لمجلد php وتاكد من وجود php.ini . 

    اذا لم يكن موجودا ستجد ملف php.ini-development قم بتغير اسمه الى php.ini .

    واخبرنى بالنتيجة .

    هو موجود 

    Screenshot 2024-04-25 112008.png

    • أعجبني 1
  5. السلام عليكم
    احاول انشاء مشروع laravel و اخترت استخدام بيئة Laravel Herd في عوض تحميل PHP and Composer.

    وعند تشغيل المشروع يضهر هدا الخطأ :
     

    C:\Users\zeffa\OneDrive\Desktop\blog>php artisan serve
      Failed to listen on 127.0.0.1:8000 (reason: ?)
      Failed to listen on 127.0.0.1:8001 (reason: ?)
      Failed to listen on 127.0.0.1:8002 (reason: ?)
      Failed to listen on 127.0.0.1:8003 (reason: ?)
      Failed to listen on 127.0.0.1:8004 (reason: ?)
      Failed to listen on 127.0.0.1:8005 (reason: ?)
      Failed to listen on 127.0.0.1:8006 (reason: ?)
      Failed to listen on 127.0.0.1:8007 (reason: ?)
      Failed to listen on 127.0.0.1:8008 (reason: ?)
      Failed to listen on 127.0.0.1:8009 (reason: ?)
      Failed to listen on 127.0.0.1:8010 (reason: ?)

     

    • أعجبني 1
  6. السلام عليكم

    1. انوي اولا ان اناقش متطلبات المشروع مع العميل
    2. بعدها مرحلة التصميم هل اتعاون مع مصمم مثلا ؟ (ان كان نعم كيف احول التصميم لكود فfigma لم يعد مجاني) 
    3. اعمل على front-end + backend
    4. مرحلة الtesting ساستخدم postman بالنسبة للAPI و اختبر الواجهة الاماميه يدويا 
    5. بالنسبة لdeployment هل علي رفع كل جزء وحده (server, frontend, database) ام مذا و اي استضافة جيدة عندنا في المنطقة؟

    ارجو ااتوضيح في كل نقطة بارك الله فيكم .

    • أعجبني 1
  7. السلام عليكم

    بعد إنتهائي لدورة قررت البدء في المساهمة في مشاريع مفتوحة المصدر لكسب الخبرة .

    هل اركز على المساهمة في مشروع واحد مفتوح المصدر (freecodecamp مثلا) او عدة مشاريع ؟

    هل من نصائح اخرى ؟

    • أعجبني 1
  8. السلام عليكم
    ماهو الوقت المتوقع عادتاّ‌ً للحصول على عمل ؟
    مع الاخد بعين الاعتبار انني امتلك مشاريع جيدة في معرض اعمالي + معرفة بالويب و مهارة حل المشاكل + شهادتين من حسوب

    و حاليا اعمل على تطوير معرفتي و مهارتي في حل المشاكل + المساهمة في مشاريع مفتوحة المصدر لكسب خبرة

     لا ابحت عن اجابة مباشرة فهدا من علم الغيب و امر نسبي و لكن اجابة عامة !

    بارك الله فيكم

  9. بتاريخ On 13‏/4‏/2024 at 19:46 قال Mustafa Suleiman:

    ما هو المستوى الذي وصلت إليه، أي ما هي التقنيات التي تعلمتها من البداية وحتى الآن مع ذكر اللغات التي تعلمتها فهي الأساس وليس التقنيات، ثم ما المشاريع التي قمت بها وما هو المسار البرمجي الذي تنوي التخصص به؟

    تعلمت html css js react nodejs express mongodb postgresql git github + قمت بحل مشاكل بستخدام c++  و تمكنت من عمل مشاريع وحدي كاملة (full-stack) عملت على REstfull-API لمتجر الكتروني (وهمي) و مشروع التخرج كان عبارة عن web app لنشر الصور , و تركت في حسابي على github فقط مشاريع حسوب فهي افضل من ناحية UI لانها مبنية على اساس تصميم
    و الان انا مهتم بالمساهمة في الOpen source لاكتساب الخبرة .
    ساكون ممتنا لك ان ساعدتني استاد @Mustafa Suleiman
     

  10. السلام عليكم
    بعد ان اكملت دورة جافاسكريبت  بدأت في البحث على عمل ولاكن وجدت ان الكل يبحث على صاحب الخبرة سواءا على مستقل او بعيد !
    كيف يمكنني الحصول على خبرة ؟ 
    اخبرني احدهم بالانضمام لفريق و اريد هدا بشدة ولاكن لم اعرف كيف ارجو المساعدة !

    • أعجبني 2
  11. بتاريخ On 2‏/3‏/2022 at 19:06 قال Takla Eshak:

    هل كورس cs50 المقدم من جامعة هارفارد

    محتوى الخوارزميات والداتا ستركتشر الموجود فيه كفاية انهم 

    يصنعوا مبرمج شاطر ولا هحتاج اتعلم الخوارزميات والداتا ستركتشر من مصدر إضافي 

    كورس cs50 هو عبارة عن مقدمة في علوم الحاسب و ليس كورس مخصص للخوارزميات والداتا ستركتشر كما هو موضح هنا ولاكنه جيد جدا كبداية و الافضل ان تركز على الجانب التطبيقي في دراستك هذا الموضوع بحل مسائل على leetcode و انصحك بمشاهدة هذا الفيديو https://youtu.be/SNlS-f-puik?si=m8N3HbR_FdLMqLis

  12. بتاريخ On 9‏/4‏/2024 at 17:53 قال oubai nezar:

    السلام عليكم،

    كيف أعرف أن المشاريع التي طبقت عليها تكفي للتقدم للإختبار

    وعليكم السلام،

    يمكنك معرفة ذلك بالاطلاع على شروط التقدم للامتحان التالية :

    • إتمام أربعة مسارات تعليمية على الأقل
    • التطبيق العملي مع المدرب، والاحتفاظ بالمشاريع العملية الناتجة لإرسالها للمراجعة
    • رفع المشاريع على حسابك على GitHub أولًا بأول لمشاركتها معنا

     

  13. بتاريخ 19 ساعة قال عبدالباسط ابراهيم:

    أعتقد أنه الأن يمكنك التقديم على عمل سواء في منصات العمل الحر أو التقديم للعمل في شركة بالإستعانة بالنصائح والخطوات التي يتم توضيحها من خلال فريق حسوب 

    وأيضاً يمكنك التقديم على فرص تدريب من خلال مواقع مثل LinkedIn, Indeed, Glassdoor ويفضل الإطلاع على الإجابات التالية للمزيد من التفاصيل 

     

     

     

    اعلم ولاكن افضل ان انضم لفريق او اعمل مع خبير

  14. بتاريخ On 3‏/4‏/2024 at 07:25 قال Taha Khalid:

     

    Redis : هو نظام قاعدة بيانات يستخدم لتخزين واسترجاع البيانات بسرعة عالية. يتميز Redis بكونه سريعًا ، ويدعم العديد من البيانات الأساسية مثل السلاسل (Strings) والقوائم (Lists) والمجموعات (Sets) والمخطوطات (Hashes) والترتيبات المرتبطة بالنصوص (Sorted Sets)، بالإضافة إلى دعم توسيع الوظائف بواسطة مكتبات مضمنة.

    دعنا نطبق علي كيفية استخدام Redis في الداله الخاصه بك getMyAllPosts

    اولا قم بتثبيت المكتبه عن طريق هذه الامر 

    npm install redis

    ثانيا يجب عليك استرداد المكتبه بهذه الطريقه
     

    const Redis = require('redis');

    ثالثا يجب عليك انشاء اتصال بالخادم

    const redisClient = Redis.createClient();

    ثما يمكنك استخدام  Redis مع دالة getMyAllPosts لستصبح بهذه الشكل 
     

    exports.getMyAllPosts = async (req, res) => {
        try {
            // التحقق مما إذا كانت البيانات موجودة في ذاكرة Redis
            redisClient.get('myAllPosts', async (err, cachedPosts) => {
                if (err) {
                    console.error('Error retrieving data from Redis cache:', err);
                }
                if (cachedPosts) {
                    // إذا تم العثور على البيانات في ذاكرة Redis، استرجاعها وإرجاعها كاستجابة
                    console.log('Data found in Redis cache');
                    res.status(200).json(JSON.parse(cachedPosts));
                } else {
                    // إذا لم يتم العثور على البيانات في ذاكرة Redis، قم بالاستعلام عن قاعدة البيانات وتخزين النتائج في ذاكرة Redis
                    const myPosts = await models.Post.findAll({
                        where: {UserId: req.currentUser.id},
                        include: [
                            {
                                model: models.Post_Image
                            }
                        ]
                    });
    
                    // تخزين البيانات في ذاكرة Redis للاستفادة منها في الطلبات المستقبلية
                    redisClient.set('myAllPosts', JSON.stringify(myPosts), (err, reply) => {
                        if (err) {
                            console.error('Error storing data in Redis cache:', err);
                        }
                        console.log('Data stored in Redis cache');
                    });
    
                    // إرجاع البيانات كاستجابة
                    res.status(200).json(myPosts);
                }
            });
        } catch (e) {
            console.error('Error retrieving posts:', e);
            res.status(500).json(e);
        }
    }


     

    لم اعرف كيف ارجو المساعدة 

    backend.rar

  15. السلام عليكم
    احاول استخدام redis من اجل تحسين الاداء و لكن لم اعرف كبف ارجو المساعدة

    const models = require('../models');
    const fs = require('fs/promises');
    const Redis = require('redis');
    
    const client = Redis.createClient({
        password: 'QMzeBdscHuO1zEUGT1iaYsm747yaHJAa',
        socket: {
            host: 'redis-16975.c135.eu-central-1-1.ec2.cloud.redislabs.com',
            port: 16975
        }
    });
    
    client.on('error', err => console.log('Redis Client Error', err));
    
    
    exports.newPost = async (req, res) => {
        const {title, contents, steps, country, region} = req.body;
        try {
            const post = await models.Post.create({
                title,
                contents,
                steps,
                country,
                region,
                UserId: req.currentUser.id
            });
            req.files.map(async function(file) {
                const post_img = await models.Post_Image.create({
                    img_uri: '/public/images/' + file.filename,
                    PostId: post.id
                })
            })
            res.status(200).json({message: "تم إضافة منشور جديد"})
        } catch(e) {
            res.status(500).json(e)
        }
    }
    
    exports.getAllPosts = async (req, res) => {
        try {
    
            await client.connect();
    
            const redisKey = 'all_posts';
            // Check if the data exists in Redis cache
            client.get(redisKey, async (err, cachedPosts) => {
                if (err) {
                    console.error('Error retrieving data from Redis cache:', err);
                }
                if (cachedPosts) {
                    // Data exists in cache, return it
                    console.log('Data found in Redis cache');
                    res.status(200).json(JSON.parse(cachedPosts));
                } else {
                    // Data doesn't exist in cache, retrieve from the database
                    const getPosts = await models.Post.findAll({
                        include: [
                            {
                                model: models.User,
                                attributes: { exclude: ['password', 'email'] }
                            },
                            {
                                model: models.Post_Image
                            }
                        ]
                    });
                    // Store the data in Redis cache
                    client.set(redisKey, JSON.stringify(getPosts), (err, reply) => {
                        if (err) {
                            console.error('Error storing data in Redis cache:', err);
                        }
                        console.log('Data stored in Redis cache');
                    });
                    res.status(200).json(getPosts);
                }
            });
        } catch (e) {
            console.error('Error retrieving posts:', e);
            res.status(500).json(e);
        }
    }
    
    
    exports.getPost = async (req, res) => {
        try {
            const post = await models.Post.findOne({
                where: {id: req.params.postId},
                include: [
                    {
                        model: models.User,
                        attributes: {exclude: ['password', 'email']}
                    },
                    {
                        model: models.Post_Image
                    }
                ]
            });
            res.status(200).json(post)
        } catch(e) {
            res.status(500).json(e)
        }
    }
    
    exports.getMyAllPosts = async (req, res) => {
        try{
            const myPosts = await models.Post.findAll({
                where: {UserId: req.currentUser.id},
                include: [
                    {
                        model: models.Post_Image
                    }
                ]
            });
            res.status(200).json(myPosts)
        } catch(e) {
            res.status(500).json(e)
        }
    }
    
    exports.getMyPost = async (req, res) => {
        try {
            const myPost = await models.Post.findOne({
                where: {
                    UserId: req.currentUser.id,
                    id: req.params.postId
                }
            });
            res.status(200).json(myPost)
        } catch(e) {
            res.status(500).json(e)
        }
    }
    
    exports.updateMyPost = async (req, res) => {
        const {title, contents, steps} = req.body;
        try {
            const updatePost = await models.Post.update(
                {
                    title,
                    contents,
                    steps
                },
                {
                    where: {
                        id: req.params.postId,
                        UserId: req.currentUser.id
                    }
                }
            );
            res.status(200).json({
                message: "تم التعديل على بيانات المنشور"
            })
        } catch(e) {
            res.status(500).json(e)
        }
    }
    
    exports.deleteMyPost = async (req, res) => {
        const {postId} = req.body;
        try {
            await models.Post_Image.findAll({
                where: {PostId: postId}
            }).then(res => {
                res.map((img) => {
                    fs.unlink('.' + img.img_uri, function(err) {
                        if (err) throw err
                    })
                })
            })
            await models.Post_Image.destroy({
                where: {PostId: postId}
            });
            await models.Comment.destroy({
                where: {PostId: postId}
            });
            await models.Like.destroy({
                where: {PostId: postId}
            });
            await models.Post.destroy({
                where: {id: postId, UserId: req.currentUser.id}
            })
            res.status(200).json({message: "تم حذف منشورك"})
        } catch(e) {
            res.status(500).json(e)
        }
    }

     

  16. بتاريخ 1 دقيقة مضت قال ياسر مسكين:

    الرابط لا يعمل فهو يظهر رسالة خطأ 404 وهنا قد يكون الرابط الذي قدمته خاطئا يمكنك التأكد من مراجعة الرابط بعناية وإصلاح أي أخطاء في الكتابة، ثم يمكنني مساعدتك.

     

    بارك الله فيك لقد قمت بحذف الAPI 

    • أعجبني 1
×
×
  • أضف...