[{"data":1,"prerenderedAt":46324},["ShallowReactive",2],{"tag-posts-أدوات المطورين-ar":3,"author-ar-رائد-البحري":46294,"category-ar-development":46312},[4,74,118,162,1478,1522,1567,1612,1656,1699,1744,2047,2091,2127,2390,3631,3661,3690,3718,8122,8153,8183,8212,8240,9325,9355,9397,10373,10402,10430,10459,10488,10517,14238,15750,15778,15807,20538,20566,20594,20620,22796,22826,26856,26885,28098,28400,28435,29371,29554,29599,31007,31113,32656,35195,39678,40230,40625,40659,40687,40713,40739,40765,40792,40819,40846,40872,42239,42266,42293,42319,42344,42369,42398,42430,42455,42480,42506,42533,42561,42587,42614,42641,42669,42702,42746,42789,43589,44569,46238,46263],{"id":5,"title":6,"author":7,"body":8,"category":50,"description":51,"extension":52,"image":53,"isDraft":54,"isFeatured":55,"locale":56,"meta":57,"navigation":54,"path":62,"publishedAt":63,"readingTime":64,"seo":65,"stem":66,"tags":67,"updatedAt":63,"__hash__":73},"articles_ar/issue-pulse-إدارة-الملاحظات-دراسة-حالة.md","Issue Pulse: منصة إدارة ملاحظات العملاء والمشاكل","رائد-البحري",{"type":9,"value":10,"toc":41},"minimark",[11,15,20,23,27,29,33,35,39],[12,13,14],"p",{},"غوص عميق في Issue Pulse، منصة شاملة لإدارة مشاكل العملاء والملاحظات من خلال أدوات قابلة للدمج.",[16,17,19],"h2",{"id":18},"اكتشاف-المشكلة","اكتشاف المشكلة",[12,21,22],{},"المحتوى قيد التطوير...",[16,24,26],{"id":25},"تصميم-الحل","تصميم الحل",[12,28,22],{},[16,30,32],{"id":31},"عملية-التطوير","عملية التطوير",[12,34,22],{},[16,36,38],{"id":37},"الإطلاق-والنمو","الإطلاق والنمو",[12,40,22],{},{"title":42,"searchDepth":43,"depth":43,"links":44},"",3,[45,47,48,49],{"id":18,"depth":46,"text":19},2,{"id":25,"depth":46,"text":26},{"id":31,"depth":46,"text":32},{"id":37,"depth":46,"text":38},"case-study","دراسة حالة لمنصة Issue Pulse، منصة مع أدوات قابلة للدمج لإدارة مشاكل العملاء والملاحظات مباشرة من مواقع العملاء.","md","https://images.unsplash.com/photo-1454165804606-c3d57bc86b40?q=80&w=1200&auto=format&fit=crop",true,false,"ar",{"excerpt":58},{"type":9,"value":59},[60],[12,61,14],{},"/issue-pulse-idarh-almlahzat-drash-halh","2025-01-10",20,{"title":6,"description":51},"issue-pulse-إدارة-الملاحظات-دراسة-حالة",[68,69,70,71,72],"دراسة-حالة","تطوير-المنتجات","دعم-العملاء","برمجيات-كخدمة","إدارة-الملاحظات","qKPDWJCEmaNsE4h6juZRcvRQ08qTGMbCPWfBS2aZkdQ",{"id":75,"title":76,"author":7,"body":77,"category":50,"description":104,"extension":52,"image":105,"isDraft":54,"isFeatured":55,"locale":56,"meta":106,"navigation":54,"path":111,"publishedAt":63,"readingTime":64,"seo":112,"stem":113,"tags":114,"updatedAt":63,"__hash__":117},"articles_ar/joodcms-منصة-إدارة-الحجوزات-دراسة-حالة.md","JoodCMS: منصة إدارة المواقع لشركات الحجز",{"type":9,"value":78,"toc":98},[79,82,84,86,88,90,92,94,96],[12,80,81],{},"نظرة شاملة على JoodCMS، نظام إدارة محتوى متخصص لشركات الحجز ووكالات السفر.",[16,83,19],{"id":18},[12,85,22],{},[16,87,26],{"id":25},[12,89,22],{},[16,91,32],{"id":31},[12,93,22],{},[16,95,38],{"id":37},[12,97,22],{},{"title":42,"searchDepth":43,"depth":43,"links":99},[100,101,102,103],{"id":18,"depth":46,"text":19},{"id":25,"depth":46,"text":26},{"id":31,"depth":46,"text":32},{"id":37,"depth":46,"text":38},"دراسة حالة لمنصة JoodCMS، منصة مشابهة لووردبريس لشركات الحجز لإدارة مواقعها مع القوالب والتخصيصات والتكاملات.","https://images.unsplash.com/photo-1499750310107-5fef28a66643?q=80&w=1200&auto=format&fit=crop",{"excerpt":107},{"type":9,"value":108},[109],[12,110,81],{},"/joodcms-mnsh-idarh-alhjwzat-drash-halh",{"title":76,"description":104},"joodcms-منصة-إدارة-الحجوزات-دراسة-حالة",[68,69,115,71,116],"نظام-إدارة-محتوى","تقنية-السفر","CqmpKSfnOGDoF0TYc-5ZMqa1kAtT420OehxWDm_X8zc",{"id":119,"title":120,"author":7,"body":121,"category":50,"description":148,"extension":52,"image":149,"isDraft":54,"isFeatured":55,"locale":56,"meta":150,"navigation":54,"path":155,"publishedAt":63,"readingTime":64,"seo":156,"stem":157,"tags":158,"updatedAt":63,"__hash__":161},"articles_ar/metis-منصة-إدارة-الإرشاد-دراسة-حالة.md","Metis: منصة إدارة الإرشاد الشاملة",{"type":9,"value":122,"toc":142},[123,126,128,130,132,134,136,138,140],[12,124,125],{},"استكشاف تطوير Metis، حل شامل للمطورين والمحترفين الذين يديرون أعمال الإرشاد الخاصة بهم.",[16,127,19],{"id":18},[12,129,22],{},[16,131,26],{"id":25},[12,133,22],{},[16,135,32],{"id":31},[12,137,22],{},[16,139,38],{"id":37},[12,141,22],{},{"title":42,"searchDepth":43,"depth":43,"links":143},[144,145,146,147],{"id":18,"depth":46,"text":19},{"id":25,"depth":46,"text":26},{"id":31,"depth":46,"text":32},{"id":37,"depth":46,"text":38},"دراسة حالة لمنصة Metis، منصة شاملة للمطورين الذين يقومون بالإرشاد لإدارة الجداول والعملاء والمجموعات والمدفوعات.","https://images.unsplash.com/photo-1531482615713-2afd69097998?q=80&w=1200&auto=format&fit=crop",{"excerpt":151},{"type":9,"value":152},[153],[12,154,125],{},"/metis-mnsh-idarh-alirshad-drash-halh",{"title":120,"description":148},"metis-منصة-إدارة-الإرشاد-دراسة-حالة",[68,69,159,71,160],"إرشاد","أدوات-إدارية","K1aBYCMzlHq4Nqt6goCm-d2W4sufhPla5AYn64ogMu8",{"id":163,"title":164,"author":7,"body":165,"category":1437,"description":1438,"extension":52,"image":1439,"isDraft":55,"isFeatured":54,"locale":56,"meta":1440,"navigation":54,"path":1465,"publishedAt":1466,"readingTime":1467,"seo":1468,"stem":1469,"tags":1470,"updatedAt":1476,"__hash__":1477},"articles_ar/mindset-النمو-في-التعلم.md","mindset النمو: السر لإتقان أي مهارة في 2025",{"type":9,"value":166,"toc":1393},[167,170,182,185,204,208,213,216,233,238,249,254,271,275,278,295,299,310,314,331,335,339,345,351,365,371,375,380,394,399,405,409,413,419,424,435,440,445,450,461,465,470,474,485,489,494,500,504,509,513,524,528,533,539,543,548,552,562,566,571,576,586,590,595,599,610,614,619,624,629,633,637,642,718,724,728,734,739,750,756,760,766,772,777,783,788,794,798,803,814,819,830,835,846,851,859,863,869,875,881,885,890,895,901,915,919,924,929,934,940,944,948,954,959,965,970,974,980,985,999,1005,1016,1022,1033,1037,1043,1048,1063,1068,1073,1087,1091,1095,1101,1107,1113,1118,1132,1138,1143,1148,1152,1157,1162,1168,1179,1184,1188,1193,1197,1202,1208,1214,1219,1233,1238,1242,1247,1251,1255,1261,1266,1272,1276,1281,1287,1291,1296,1302,1306,1311,1325,1329,1334,1345,1349,1352,1355,1359,1362,1368,1371,1376,1387],[12,168,169],{},"mindset الخاص بك هو العامل الأكثر أهمية في تعلم أي شيء جديد - البرمجة، اللغات، التصميم، أو أي مهارة أخرى. ليس معدل ذكائك، عمرك، أو خلفيتك التعليمية. إنه كيف تفكر في قدرتك على التعلم والنمو.",[12,171,172,173,177,178,181],{},"هذا ليس حافزاً عاطفياً. عقود من البحث من قبل عالمة النفس كارول دويك وخبراء الأعصاب أثبتت أن معتقداتك حول ذكائك وقدراتك تؤثر مباشرة على نجاحك. الناس ذوو ",[174,175,176],"strong",{},"mindset النمو"," يتفوقون دائماً على أولئك ذوي الموهبة الأكبر لكن ",[174,179,180],{},"mindset الثابت",".",[12,183,184],{},"في هذا الدليل، ستتعلم:",[186,187,188,192,195,198,201],"ul",{},[189,190,191],"li",{},"العلم وراء mindset الثابت مقابل النمو",[189,193,194],{},"لماذا \"أنا لست جيداً في هذا\" يدمر تقدمك",[189,196,197],{},"استراتيجيات عملية لتطوير mindset نمو",[189,199,200],{},"كيف تتجاوز متلازمة المحتال والشك الذاتي",[189,202,203],{},"أمثلة حقيقية من مطورين ذاتيي التعلم ناجحين",[16,205,207],{"id":206},"mindset-الاثنان-الثابت-مقابل-النمو","Mindset الاثنان: الثابت مقابل النمو",[209,210,212],"h3",{"id":211},"mindset-الثابت-أنا-إما-جيد-في-هذا-أو-لست-كذلك","Mindset الثابت: \"أنا إما جيد في هذا أو لست كذلك\"",[12,214,215],{},"يعتقد الناس ذوو mindset الثابت:",[186,217,218,221,224,227,230],{},[189,219,220],{},"الذكاء والموهبة سمات ثابتة",[189,222,223],{},"أنت إما \"شخص رياضيات\" أو لست كذلك",[189,225,226],{},"الصراع يعني عدم امتلاك القدرة",[189,228,229],{},"الفشل يعرفك",[189,231,232],{},"الجهد عديم الفائدة إذا لم يكن لديك موهبة طبيعية",[12,234,235],{},[174,236,237],{},"أفكار نموذجية:",[186,239,240,243,246],{},[189,241,242],{},"\"أنا لست شخص برمجة\"",[189,244,245],{},"\"الآخرون يفهمون هذا بسهولة، يجب أن أكون غبياً\"",[189,247,248],{},"\"إذا كان عليّ أن أحاول بهذا القدر، أنا لست مصيراً لهذا\"",[12,250,251],{},[174,252,253],{},"النتائج:",[186,255,256,259,262,265,268],{},[189,257,258],{},"تجنب التحديات",[189,260,261],{},"الاستسلام بسهولة عند مواجهة العقبات",[189,263,264],{},"رؤية الجهد كعديم الفائدة",[189,266,267],{},"تجاهل التعليقات المفيدة",[189,269,270],{},"الشعور بالتهديد من نجاح الآخرين",[209,272,274],{"id":273},"mindset-النمو-يمكنني-تعلم-أي-شيء-بالجهد-والاستراتيجية","Mindset النمو: \"يمكنني تعلم أي شيء بالجهد والاستراتيجية\"",[12,276,277],{},"يعتقد الناس ذوو mindset النمو:",[186,279,280,283,286,289,292],{},[189,281,282],{},"يمكن تطوير الذكاء",[189,284,285],{},"تنمو القدرات من خلال الالتزام والعمل الجاد",[189,287,288],{},"الصراع جزء من التعلم",[189,290,291],{},"الفشل مؤقت ومفيد",[189,293,294],{},"الجهد هو طريق الإتقان",[12,296,297],{},[174,298,237],{},[186,300,301,304,307],{},[189,302,303],{},"\"أنا لا أفهم هذا بعد، لكنني سأفعل\"",[189,305,306],{},"\"هذا صعب، مما يعني أن دماغي يبني اتصالات جديدة\"",[189,308,309],{},"\"ما الذي يمكنني تعلمه من هذا الخطأ؟\"",[12,311,312],{},[174,313,253],{},[186,315,316,319,322,325,328],{},[189,317,318],{},"احتضان التحديات",[189,320,321],{},"المثابرة رغم الانتكاسات",[189,323,324],{},"رؤية الجهد كضروري للإتقان",[189,326,327],{},"التعلم من النقد",[189,329,330],{},"إيجاد الإلهام في نجاح الآخرين",[16,332,334],{"id":333},"العلم-لماذا-يهم-mindset","العلم: لماذا يهم Mindset",[209,336,338],{"id":337},"اللدونة-العصبية-دماغك-يمكن-أن-يتغير-فعلياً","اللدونة العصبية: دماغك يمكن أن يتغير فعلياً",[12,340,341,344],{},[174,342,343],{},"الاكتشاف الثوري:","\nلقرون، اعتقد العلماء أن الدماغ ثابت بعد الطفولة. الآن نعرف أن هذا خطأ.",[12,346,347,350],{},[174,348,349],{},"اللدونة العصبية"," تعني:",[186,352,353,356,359,362],{},[189,354,355],{},"دماغك يتغير فعلياً عند التعلم",[189,357,358],{},"تتشكل اتصالات عصبية جديدة بالممارسة",[189,360,361],{},"المهارات التي تكافح معها الآن يمكن أن تصبح تلقائية",[189,363,364],{},"العمر ليس عائقاً (يمكنك التعلم في 50 بنفس سهولة 20)",[12,366,367,370],{},[174,368,369],{},"مثال حقيقي:","\nدماغ سائقي سيارات الأجرة في لندن يتغير فعلياً أثناء حفظ المدينة. يزداد حجم الهيبوكامبوس (مركز الذاكرة) لديهم. إذا كان حفظ 25,000 شارع يمكن أن يعيد توصيل دماغك، فكذلك تعلم البرمجة.",[209,372,374],{"id":373},"دراسة-mindset-النمو","دراسة Mindset النمو",[12,376,377],{},[174,378,379],{},"بحث كارول دويك:",[186,381,382,385,388,391],{},[189,383,384],{},"درست آلاف الطلاب على عقود",[189,386,387],{},"وجدت أن mindset كان مؤشراً أفضل للنجاح من معدل الذكاء",[189,389,390],{},"تحسن الطلاب الذين تعلموا أن أدمغتهم يمكن أن تنمو وتتغير",[189,392,393],{},"انخفض طلاب mindset الثابت عند مواجهة التحديات",[12,395,396],{},[174,397,398],{},"النتيجة الرئيسية:",[400,401,402],"blockquote",{},[12,403,404],{},"\"عندما تعلم الطلاب أن أدمغتهم يمكن أن تنمو وتتغير بالجهد، أظهروا دافعاً أكبر وإنجازاً أعلى.\"",[16,406,408],{"id":407},"الفخاخ-الشائعة-لـ-mindset-الثابت-وكيفية-الهروب-منها","الفخاخ الشائعة لـ Mindset الثابت (وكيفية الهروب منها)",[209,410,412],{"id":411},"الفخ-1-أنا-كبير-جداً-للتعلم","الفخ #1: \"أنا كبير جداً للتعلم\"",[12,414,415,418],{},[174,416,417],{},"المعتقد:"," \"يجب أن أكون قد بدأت في العشرينيات. الآن أنا متأخر جداً.\"",[12,420,421],{},[174,422,423],{},"الواقع:",[186,425,426,429,432],{},[189,427,428],{},"اللدونة العصبية تعمل في أي عمر",[189,430,431],{},"الخبرة الحياتية تعطيك مزايا فريدة",[189,433,434],{},"العديد من المطورين الناجحين بدأوا بعد 30، 40، وحتى 50",[12,436,437],{},[174,438,439],{},"إعادة صياغة Mindset النمو:",[400,441,442],{},[12,443,444],{},"\"خبرتي الحياتية تساعدني في فهم المشكلات بعمق. أنا أجلب منظوراً قيماً لا يملكه المطورون الأصغر سنًا.\"",[12,446,447],{},[174,448,449],{},"أمثلة حقيقية:",[186,451,452,455,458],{},[189,453,454],{},"Tara Reed: بدأت البرمجة في 34، تدير الآن شركة تعليم تقني ناجحة",[189,456,457],{},"Wendy Zenone: تعلمت البرمجة في 36، مهندس برمجيات أول الآن",[189,459,460],{},"Bill Gates: لا يزال يتعلم لغات برمجة جديدة في 68",[209,462,464],{"id":463},"الفخ-2-أنا-لست-شخص-رياضياتمنطق","الفخ #2: \"أنا لست شخص رياضيات/منطق\"",[12,466,467,469],{},[174,468,417],{}," \"لم أكن جيداً في الرياضيات، لذا لا أستطيع البرمجة.\"",[12,471,472],{},[174,473,423],{},[186,475,476,479,482],{},[189,477,478],{},"معظم البرمجة تتطلب حسابات أساسية، لا رياضيات متقدمة",[189,480,481],{},"التفكير المنطقي مهارة، لا موهبة",[189,483,484],{},"يتحسن التعرف على الأنماط بالممارسة",[12,486,487],{},[174,488,439],{},[400,490,491],{},[12,492,493],{},"\"لم أمارس التفكير المنطقي كثيراً، لكنني يمكنني تطوير هذه المهارة.\"",[12,495,496,499],{},[174,497,498],{},"حقيقة قاسية:","\nالعديد من المطورين الناجحين كافحوا في الرياضيات في المدرسة. الفرق؟ مارسوا حل المشكلات باستمرار.",[209,501,503],{"id":502},"الفخ-3-يأتي-هذا-بسهولة-للآخرين","الفخ #3: \"يأتي هذا بسهولة للآخرين\"",[12,505,506,508],{},[174,507,417],{}," \"الجميع يفهم هذا فوراً. يجب أن أكون غبياً.\"",[12,510,511],{},[174,512,423],{},[186,514,515,518,521],{},[189,516,517],{},"أنت ترى نتائجهم النهائية فقط، لا صراعاتهم",[189,519,520],{},"وسائل التواصل الاجتماعي تضخم أسطورة \"العبقري\"",[189,522,523],{},"الجميع يكافح، لكنهم لا ينشرون عن ذلك",[12,525,526],{},[174,527,439],{},[400,529,530],{},[12,531,532],{},"\"هذا الشخص بذل مئات الساعات لم أرها. أنا على جدول زمني خاص بي.\"",[12,534,535,538],{},[174,536,537],{},"تذكر:","\nلكل منشور \"تعلم React في عطلة نهاية أسبوع!\"، هناك 1000 شخص يكافح بهدوء. الناس الذين \"يفهمون بسرعة\" غالباً ما لديهم مزايا مخفية (خبرة سابقة، وقت أكثر، موارد أفضل)",[209,540,542],{"id":541},"الفخ-4-لا-يجب-أن-أحاول-بهذا-القدر","الفخ #4: \"لا يجب أن أحاول بهذا القدر\"",[12,544,545,547],{},[174,546,417],{}," \"إذا كنت ذكياً، سيكون هذا أسهل.\"",[12,549,550],{},[174,551,423],{},[186,553,554,559],{},[189,555,556],{},[174,557,558],{},"الصراع = التعلم",[189,560,561],{},"المهام الصعبة تبني المهارات",[12,563,564],{},[174,565,439],{},[400,567,568],{},[12,569,570],{},"\"هذا صعب، مما يعني أن دماغي يبني اتصالات جديدة. هذا هو المكان الذي يجب أن أكون فيه بالضبط.\"",[12,572,573],{},[174,574,575],{},"تغيير Mindset:",[577,578,583],"pre",{"className":579,"code":581,"language":582},[580],"language-text","الثابت: \"لماذا هذا صعب جداً بالنسبة لي؟\"\nالنمو: \"هذا التحدي يجعلني أذكى.\"\n","text",[584,585,581],"code",{"__ignoreMap":42},[209,587,589],{"id":588},"الفخ-5-متلازمة-المحتال","الفخ #5: متلازمة المحتال",[12,591,592,594],{},[174,593,417],{}," \"أنا لا أنتمي إلى هنا. أنا محتال. الجميع يعرف أكثر مني.\"",[12,596,597],{},[174,598,423],{},[186,600,601,604,607],{},[189,602,603],{},"70% من الناس يعانون من متلازمة المحتال",[189,605,606],{},"يؤثر على المطورين الأول حتى",[189,608,609],{},"الشعور بالاحتيال غالباً يعني أنك تتعلم",[12,611,612],{},[174,613,439],{},[400,615,616],{},[12,617,618],{},"\"من المفترض أن أشعر بعدم الراحة - أنا أدفع حدودي. هذا نمو.\"",[12,620,621],{},[174,622,623],{},"اعتراف مطور أول:",[400,625,626],{},[12,627,628],{},"\"أبرمج منذ 15 عاماً. أبحث عن بناء جملة أساسية يومياً وأشعر بالاحتيال عند رؤية كود رائع. هذا لا يختفي أبداً - تتعلم فقط العمل معه.\"",[16,630,632],{"id":631},"بناء-mindset-النمو-استراتيجيات-عملية","بناء Mindset النمو: استراتيجيات عملية",[209,634,636],{"id":635},"_1-غير-حديثك-الذاتي","1. غير حديثك الذاتي",[12,638,639],{},[174,640,641],{},"ترجمات Mindset الثابت → النمو:",[643,644,645,658],"table",{},[646,647,648],"thead",{},[649,650,651,655],"tr",{},[652,653,654],"th",{},"Mindset الثابت",[652,656,657],{},"Mindset النمو",[659,660,661,670,678,686,694,702,710],"tbody",{},[649,662,663,667],{},[664,665,666],"td",{},"\"أنا لست جيداً في هذا\"",[664,668,669],{},"\"أنا لست جيداً في هذا بعد\"",[649,671,672,675],{},[664,673,674],{},"\"هذا صعب جداً\"",[664,676,677],{},"\"هذا يتطلب وقتاً وجهداً\"",[649,679,680,683],{},[664,681,682],{},"\"أستسلم\"",[664,684,685],{},"\"سأجرب نهجاً مختلفاً\"",[649,687,688,691],{},[664,689,690],{},"\"ارتكبت خطأ\"",[664,692,693],{},"\"الأخطاء تساعدني في التعلم\"",[649,695,696,699],{},[664,697,698],{},"\"هم أذكياء جداً\"",[664,700,701],{},"\"ما الاستراتيجية التي يستخدمونها يمكنني تعلمها؟\"",[649,703,704,707],{},[664,705,706],{},"\"هذا جيد بما فيه الكفاية\"",[664,708,709],{},"\"كيف يمكنني تحسين هذا؟\"",[649,711,712,715],{},[664,713,714],{},"\"لا أستطيع فعل هذا\"",[664,716,717],{},"\"لا أستطيع فعل هذا وحيداً - بعد. دعني أطلب المساعدة\"",[12,719,720,723],{},[174,721,722],{},"الممارسة اليومية:","\nاصطياد نفسك باستخدام لغة mindset الثابت وإعادة صياغتها واعياً.",[209,725,727],{"id":726},"_2-احتضن-كلمة-بعد","2. احتضن كلمة \"بعد\"",[12,729,730,731],{},"أقوى كلمة في التعلم: ",[174,732,733],{},"بعد",[12,735,736],{},[174,737,738],{},"أمثلة:",[186,740,741,744,747],{},[189,742,743],{},"\"أنا لا أفهم التكرار بعد\"",[189,745,746],{},"\"لا أستطيع بناء تطبيق ويب كامل بعد\"",[189,748,749],{},"\"لم أحصل على وظيفة بعد\"",[12,751,752,755],{},[174,753,754],{},"لماذا تعمل:","\n\"بعد\" يعني أن الوجهة موجودة، لم تصل إليها بعد.",[209,757,759],{"id":758},"_3-أعد-تعريف-الفشل","3. أعد تعريف الفشل",[12,761,762,765],{},[174,763,764],{},"Mindset الثابت:"," الفشل دليل على أنني لا أستطيع",[12,767,768,771],{},[174,769,770],{},"Mindset النمو:"," الفشل بيانات عن ما لا يعمل",[12,773,774],{},[174,775,776],{},"كيفية معالجة الفشل:",[577,778,781],{"className":779,"code":780,"language":582},[580],"عند فشلك في شيء:\n\n1. ما الذي تعلمته؟\n2. ما الذي سأفعله بشكل مختلف في المرة القادمة؟\n3. ما شيء واحد يمكنني تحسينه؟\n4. هل أنا أبعد مما كنت أمس؟\n",[584,782,780],{"__ignoreMap":42},[12,784,785],{},[174,786,787],{},"مثال:",[577,789,792],{"className":790,"code":791,"language":582},[580],"مقابلة فاشلة:\n❌ الثابت: \"أنا فاشل في البرمجة. لن أحصل على وظيفة أبداً.\"\n✅ النمو: \"كافحت مع أسئلة الخوارزميات. أحتاج ممارسة LeetCode 30 دقيقة يومياً لمدة شهرين.\"\n",[584,793,791],{"__ignoreMap":42},[209,795,797],{"id":796},"_4-العملية-على-النتيجة","4. العملية على النتيجة",[12,799,800],{},[174,801,802],{},"لا تركز على:",[186,804,805,808,811],{},[189,806,807],{},"\"هل أنا ذكي بما فيه الكفاية؟\"",[189,809,810],{},"\"سأحصل على الوظيفة؟\"",[189,812,813],{},"\"هل أستطيع بناء هذا؟\"",[12,815,816],{},[174,817,818],{},"ركز على:",[186,820,821,824,827],{},[189,822,823],{},"\"هل برمجت اليوم؟\"",[189,825,826],{},"\"هل تعلمت شيئاً جديداً؟\"",[189,828,829],{},"\"هل مشاريعي تحسنت في الجودة؟\"",[12,831,832],{},[174,833,834],{},"أهداف Mindset النمو:",[186,836,837,840,843],{},[189,838,839],{},"دراسة ساعة يومياً (عملية)",[189,841,842],{},"إكمال 100 تحدي برمجة (عملية)",[189,844,845],{},"بناء 5 مشاريع (عملية)",[12,847,848],{},[174,849,850],{},"ليس:",[186,852,853,856],{},[189,854,855],{},"\"أصبح مطوراً أول\" (نتيجة)",[189,857,858],{},"\"احصل على راتب 100 ألف دولار\" (نتيجة)",[209,860,862],{"id":861},"_5-احتفل-بالجهد-والاستراتيجية-لا-النتائج-فقط","5. احتفل بالجهد والاستراتيجية، لا النتائج فقط",[12,864,865,868],{},[174,866,867],{},"احتفال Mindset الثابت:","\n\"أنا ذكي جداً! حصلت عليه في المحاولة الأولى!\"",[12,870,871,874],{},[174,872,873],{},"احتفال Mindset النمو:","\n\"جربت 5 نهج مختلفة ووجدت واحداً يعمل. إصراري دفع ثمنه!\"",[12,876,877,880],{},[174,878,879],{},"لماذا يهم هذا:","\nالثناء على الذكاء يخلق ضغطاً لتكون مثالياً دائماً. الثناء على الجهد يشجع على المحاولة حتى عندما يكون صعباً.",[209,882,884],{"id":883},"_6-تعلم-من-نجاح-الآخرين","6. تعلم من نجاح الآخرين",[12,886,887,889],{},[174,888,764],{},"\n\"لديهم موهبة طبيعية. لا أستطيع أبداً أن أفعل ذلك.\"",[12,891,892,894],{},[174,893,770],{},"\n\"ما فعلوه؟ يمكنني تعلم استراتيجيتهم؟\"",[12,896,897,900],{},[174,898,899],{},"خطوة عمل:","\nعند رؤية شخص ناجح، اسأل:",[186,902,903,906,909,912],{},[189,904,905],{},"ما الموارد التي استخدموها؟",[189,907,908],{},"كم الوقت استغرقهم؟",[189,910,911],{},"ما العقبات التي تجاوزوها؟",[189,913,914],{},"هل يمكنني تكرار نهجهم؟",[209,916,918],{"id":917},"_7-رؤية-النقد-كهدية","7. رؤية النقد كهدية",[12,920,921,923],{},[174,922,764],{},"\n\"هذه التعليقات تعني أنني لست جيداً بما فيه الكفاية.\"",[12,925,926,928],{},[174,927,770],{},"\n\"هذه التعليقات تظهر لي بالضبط ما أحتاج تحسينه.\"",[12,930,931],{},[174,932,933],{},"كيفية معالجة النقد:",[577,935,938],{"className":936,"code":937,"language":582},[580],"1. تنفس (لا تتفاعل دفاعياً)\n2. اطلب توضيحات\n3. شكرهم على التعليقات\n4. حدد 1-2 تحسينات قابلة للتنفيذ\n5. طبقها\n",[584,939,937],{"__ignoreMap":42},[16,941,943],{"id":942},"التغلب-على-عقبات-التعلم-الشائعة","التغلب على عقبات التعلم الشائعة",[209,945,947],{"id":946},"عندما-تشعر-بالعالق","عندما تشعر بالعالق",[12,949,950,953],{},[174,951,952],{},"استجابة Mindset الثابت:","\n\"أنا لست ذكياً بما فيه الكفاية لهذا.\"",[12,955,956],{},[174,957,958],{},"استجابة Mindset النمو:",[577,960,963],{"className":961,"code":962,"language":582},[580],"1. قسم المشكلة إلى أجزاء أصغر\n2. ابحث عن دروس حول هذه المشكلة المحددة\n3. اطلب المساعدة (Discord، Reddit، Stack Overflow)\n4. خذ استراحة وعُد طازجاً\n5. جرب شرحها لشخص آخر (تصحيح البطة المطاطية)\n",[584,964,962],{"__ignoreMap":42},[12,966,967,969],{},[174,968,537],{},"\nالوقوف عالقاً ليس علامة على أنك يجب أن تتوقف. إنه علامة على أنك على حافة معرفتك الحالية - حيث يحدث التعلم.",[209,971,973],{"id":972},"عندما-تريد-المقارنة-مع-الآخرين","عندما تريد المقارنة مع الآخرين",[12,975,976,979],{},[174,977,978],{},"الفخ:","\n\"يتقدمون أسرع مني. يجب أن أتوقف.\"",[12,981,982],{},[174,983,984],{},"الواقع التحققي:",[186,986,987,990,993,996],{},[189,988,989],{},"أنت لا تعرف خلفيتهم",[189,991,992],{},"أنت لا ترى أيامهم الـ 16 ساعة",[189,994,995],{},"أنت لا ترى إخفاقاتهم السابقة",[189,997,998],{},"أنت على جدول زمني مختلف",[12,1000,1001,1004],{},[174,1002,1003],{},"نهج Mindset النمو:","\nقارن نفسك بنفسك أمس:",[186,1006,1007,1010,1013],{},[189,1008,1009],{},"هل أستطيع فعل المزيد اليوم مما فعلت الشهر الماضي؟",[189,1011,1012],{},"هل أفهم المفاهيم التي أربكتني من قبل؟",[189,1014,1015],{},"هل مشاريعي تحسنت في الجودة؟",[12,1017,1018,1021],{},[174,1019,1020],{},"ممارسة يومية:","\nاحتفظ بـ \"سجل الانتصارات\":",[186,1023,1024,1027,1030],{},[189,1025,1026],{},"اليوم أصلحت خطأ بشكل مستقل",[189,1028,1029],{},"فهمت الإغلاق لأول مرة",[189,1031,1032],{},"ساعدت شخصاً على Stack Overflow",[209,1034,1036],{"id":1035},"عندما-تريد-الاستسلام","عندما تريد الاستسلام",[12,1038,1039,1042],{},[174,1040,1041],{},"صوت Mindset الثابت:","\n\"هذا لا يعمل. يجب أن أتوقف وأجرب شيئاً أسهل.\"",[12,1044,1045],{},[174,1046,1047],{},"أسئلة تسألها:",[1049,1050,1051,1054,1057,1060],"ol",{},[189,1052,1053],{},"أتوقف لأنه صعب، أم لأنه خطأ بالنسبة لي؟",[189,1055,1056],{},"هل أعطيت هذا وقتاً وجهداً كافيين؟",[189,1058,1059],{},"ما الاستراتيجيات التي لم أجربها بعد؟",[189,1061,1062],{},"هل سأندم على التوقف بعد 6 أشهر؟",[12,1064,1065,1067],{},[174,1066,958],{},"\n\"أنا أكافح، وهذا طبيعي. دعني أجرب نهجاً مختلفاً قبل القرار.\"",[12,1069,1070],{},[174,1071,1072],{},"استراتيجيات عند إغراء الاستسلام:",[186,1074,1075,1078,1081,1084],{},[189,1076,1077],{},"خذ استراحة 3 أيام (ليس دائماً)",[189,1079,1080],{},"غير مورد التعلم الخاص بك",[189,1082,1083],{},"بنِ شيئاً ممتعاً بدلاً من اتباع الدروس",[189,1085,1086],{},"تواصل مع آخرين كانوا حيث أنت",[16,1088,1090],{"id":1089},"قصص-مطورين-حقيقية-mindset-النمو-في-العمل","قصص مطورين حقيقية: Mindset النمو في العمل",[209,1092,1094],{"id":1093},"قصة-1-من-أنا-لست-ذكياً-بما-فيه-الكفاية-إلى-مهندس-برمجيات","قصة 1: من \"أنا لست ذكياً بما فيه الكفاية\" إلى مهندس برمجيات",[12,1096,1097,1100],{},[174,1098,1099],{},"الخلفية:","\nسارة، 32، فشلت في الجبر الجامعي مرتين، اعتقدت أن ذكاءها ثابت.",[12,1102,1103,1106],{},[174,1104,1105],{},"مرحلة Mindset الثابت:","\nتجنبت الوظائف التي تتطلب أي رياضيات. اعتقدت أن الذكاء ثابت.",[12,1108,1109,1112],{},[174,1110,1111],{},"نقطة التحول:","\nاكتشفت بحث كارول دويك. أدركت أن معتقداتها كانت تعيقها.",[12,1114,1115],{},[174,1116,1117],{},"إجراءات Mindset النمو:",[186,1119,1120,1123,1126,1129],{},[189,1121,1122],{},"أعادت صياغة: \"لم أتعلم الجبر بعد\"",[189,1124,1125],{},"قضت 6 أشهر على Khan Academy",[189,1127,1128],{},"وظفت معلماً، ركزت على الفهم لا الدرجات",[189,1130,1131],{},"مارست يومياً، حتى عندما كان الأمر سيئاً",[12,1133,1134,1137],{},[174,1135,1136],{},"النتيجة:","\nنجحت في الجبر الجامعي، تعلمت Python، تعمل الآن كمحلل بيانات براتب 85 ألف دولار.",[12,1139,1140],{},[174,1141,1142],{},"اقتباس:",[400,1144,1145],{},[12,1146,1147],{},"\"ذكائي لم يتغير. معتقدي عن ذكائي غير كل شيء.\"",[209,1149,1151],{"id":1150},"قصة-2-المطور-الكبير-جداً-في-السن","قصة 2: المطور \"الكبير جداً في السن\"",[12,1153,1154,1156],{},[174,1155,1099],{},"\nماركوس، 47، طُرد من وظيفة التسويق، اعتقد أنه كبير جداً للتكنولوجيا.",[12,1158,1159,1161],{},[174,1160,1105],{},"\n\"جميع المطورين بدأوا صغاراً. أنا متأخر 20 عاماً.\"",[12,1163,1164,1167],{},[174,1165,1166],{},"تحول Mindset النمو:","\nركز على مزاياه:",[186,1169,1170,1173,1176],{},[189,1171,1172],{},"خبرة الأعمال = تفكير منتج أفضل",[189,1174,1175],{},"مهارات التواصل = قوة التعاون",[189,1177,1178],{},"خبرة الحياة = فهم مشاكل المستخدم",[12,1180,1181,1183],{},[174,1182,1136],{},"\nحصل على وظيفة مطور مبتدئ في 49، ترقى إلى متوسط المستوى في 18 شهراً.",[12,1185,1186],{},[174,1187,1142],{},[400,1189,1190],{},[12,1191,1192],{},"\"أنا لا أتنافس مع 25 عاماً على السرعة. أنا أجلب حكمة لا يملكونها بعد.\"",[209,1194,1196],{"id":1195},"قصة-3-من-جحيم-الدروس-إلى-مطور-أول","قصة 3: من جحيم الدروس إلى مطور أول",[12,1198,1199,1201],{},[174,1200,1099],{},"\nأليكس قضى عامين مشاهدة دروس، لم يبنِ شيئاً.",[12,1203,1204,1207],{},[174,1205,1206],{},"فخ Mindset الثابت:","\n\"أحتاج تعلم كل شيء قبل البناء.\"",[12,1209,1210,1213],{},[174,1211,1212],{},"اختراق Mindset النمو:","\n\"أتعلم بالبناء، لا بالمشاهدة.\"",[12,1215,1216],{},[174,1217,1218],{},"الإجراءات:",[186,1220,1221,1224,1227,1230],{},[189,1222,1223],{},"توقف عن مشاهدة الدروس",[189,1225,1226],{},"بنى مشاريع سيئة (كانت سيئة جداً!)",[189,1228,1229],{},"كل مشروع أصبح أفضل قليلاً",[189,1231,1232],{},"احتضن عدم الراحة",[12,1234,1235,1237],{},[174,1236,1136],{},"\nمحفظة 15 مشروعاً، وظف كمتوسط المستوى بعد 18 شهراً.",[12,1239,1240],{},[174,1241,1142],{},[400,1243,1244],{},[12,1245,1246],{},"\"مشاريعي الخمسة الأولى كانت قمامة. لكن كل واحدة علمني أكثر من 100 درس.\"",[16,1248,1250],{"id":1249},"خطة-العمل-الخاصة-بك-تطوير-mindset-النمو","خطة العمل الخاصة بك: تطوير Mindset النمو",[209,1252,1254],{"id":1253},"الأسبوع-1-الوعي","الأسبوع 1: الوعي",[12,1256,1257,1260],{},[174,1258,1259],{},"المهمة اليومية:","\nاصطياد نفسك باستخدام لغة mindset الثابت. اكتبها. أعد صياغتها.",[12,1262,1263],{},[174,1264,1265],{},"مثال سجل:",[577,1267,1270],{"className":1268,"code":1269,"language":582},[580],"الثابت: \"أنا سيء في CSS\"\nالنمو: \"لم أمارس تخطيط CSS بما فيه الكفاية بعد\"\n\nالثابت: \"هذا الخطأ مستحيل\"\nالنمو: \"لم أجد النهج الصحيح بعد\"\n",[584,1271,1269],{"__ignoreMap":42},[209,1273,1275],{"id":1274},"الأسبوع-2-إعادة-صياغة-التحديات","الأسبوع 2: إعادة صياغة التحديات",[12,1277,1278],{},[174,1279,1280],{},"عند مواجهة الصعوبة:",[577,1282,1285],{"className":1283,"code":1284,"language":582},[580],"اسأل نفسك:\n- ما يمكنني تعلمه من هذا؟\n- ما الاستراتيجية التي لم أجربها؟\n- من يمكنني طلب المساعدة منه؟\n- كيف يجعلني هذا الصراع أفضل؟\n",[584,1286,1284],{"__ignoreMap":42},[209,1288,1290],{"id":1289},"الأسبوع-3-احتفل-بالعملية","الأسبوع 3: احتفل بالعملية",[12,1292,1293],{},[174,1294,1295],{},"تابع الجهد، لا النتائج فقط:",[577,1297,1300],{"className":1298,"code":1299,"language":582},[580],"انتصارات يومية:\n- برمجت لمدة ساعتين ✅\n- طلبت المساعدة عند العالق ✅\n- أصلحت خطأ بشكل مستقل ✅\n- تعلمت مفهوماً جديداً ✅\n",[584,1301,1299],{"__ignoreMap":42},[209,1303,1305],{"id":1304},"الأسبوع-4-احتضان-التعليقات","الأسبوع 4: احتضان التعليقات",[12,1307,1308],{},[174,1309,1310],{},"اطلب النقد:",[186,1312,1313,1316,1319,1322],{},[189,1314,1315],{},"شارك الكود للمراجعة",[189,1317,1318],{},"اسأل أسئلة محددة",[189,1320,1321],{},"شكر الناس على التعليقات",[189,1323,1324],{},"طبق الاقتراحات",[209,1326,1328],{"id":1327},"الشهر-2-3-بناء-العادات","الشهر 2-3: بناء العادات",[12,1330,1331],{},[174,1332,1333],{},"اجعل Mindset النمو تلقائياً:",[186,1335,1336,1339,1342],{},[189,1337,1338],{},"تأكيد الصباح: \"أتعلم وأنمو اليوم\"",[189,1340,1341],{},"انعكاس المساء: \"ما الذي تعلمته اليوم؟\"",[189,1343,1344],{},"مراجعة أسبوعية: \"هل أنا أفضل من الأسبوع الماضي؟\"",[16,1346,1348],{"id":1347},"الخاتمة-mindset-الخاص-بك-سقفك","الخاتمة: Mindset الخاص بك = سقفك",[12,1350,1351],{},"الخبر السار: يمكنك تغيير mindset الخاص بك بدءاً من اليوم.",[12,1353,1354],{},"الخبر السيء: يتطلب ممارسة مستمرة.",[12,1356,1357],{},[174,1358,537],{},[12,1360,1361],{},"✅ الذكاء ليس ثابتاً\n✅ الصراع يعني التعلم، لا الفشل\n✅ الجهد هو طريق الإتقان\n✅ \"بعد\" هي أقوى كلمة في التعلم\n✅ معتقداتك عن التعلم تشكل واقعك",[12,1363,1364,1367],{},[174,1365,1366],{},"القانون النهائي:","\nأنت لست \"سيئاً في البرمجة\" أو \"شخص غير تقني.\" أنت فقط لم تمارس بما فيه الكفاية بعد.",[12,1369,1370],{},"دماغك آلة تعلم حرفية. سيعيد توصيل نفسه بالجهد الثابت. السؤال ليس \"هل أستطيع تعلم هذا؟\" السؤال هو \"هل سأحضر باستمرار لتعلم هذا؟\"",[12,1372,1373],{},[174,1374,1375],{},"ابدأ اليوم:",[1049,1377,1378,1381,1384],{},[189,1379,1380],{},"أضف \"بعد\" إلى قيودك",[189,1382,1383],{},"أعد صياغة فكرة mindset ثابتة واحدة",[189,1385,1386],{},"احتفل بالجهد، لا النتائج فقط",[12,1388,1389,1392],{},[174,1390,1391],{},"Mindset الخاص بك هو قوتك الخارقة. اختر النمو."," 🚀",{"title":42,"searchDepth":43,"depth":43,"links":1394},[1395,1399,1403,1410,1419,1424,1429,1436],{"id":206,"depth":46,"text":207,"children":1396},[1397,1398],{"id":211,"depth":43,"text":212},{"id":273,"depth":43,"text":274},{"id":333,"depth":46,"text":334,"children":1400},[1401,1402],{"id":337,"depth":43,"text":338},{"id":373,"depth":43,"text":374},{"id":407,"depth":46,"text":408,"children":1404},[1405,1406,1407,1408,1409],{"id":411,"depth":43,"text":412},{"id":463,"depth":43,"text":464},{"id":502,"depth":43,"text":503},{"id":541,"depth":43,"text":542},{"id":588,"depth":43,"text":589},{"id":631,"depth":46,"text":632,"children":1411},[1412,1413,1414,1415,1416,1417,1418],{"id":635,"depth":43,"text":636},{"id":726,"depth":43,"text":727},{"id":758,"depth":43,"text":759},{"id":796,"depth":43,"text":797},{"id":861,"depth":43,"text":862},{"id":883,"depth":43,"text":884},{"id":917,"depth":43,"text":918},{"id":942,"depth":46,"text":943,"children":1420},[1421,1422,1423],{"id":946,"depth":43,"text":947},{"id":972,"depth":43,"text":973},{"id":1035,"depth":43,"text":1036},{"id":1089,"depth":46,"text":1090,"children":1425},[1426,1427,1428],{"id":1093,"depth":43,"text":1094},{"id":1150,"depth":43,"text":1151},{"id":1195,"depth":43,"text":1196},{"id":1249,"depth":46,"text":1250,"children":1430},[1431,1432,1433,1434,1435],{"id":1253,"depth":43,"text":1254},{"id":1274,"depth":43,"text":1275},{"id":1289,"depth":43,"text":1290},{"id":1304,"depth":43,"text":1305},{"id":1327,"depth":43,"text":1328},{"id":1347,"depth":46,"text":1348},"development","لماذا يهم mindset أكثر من الموهبة أو معدل الذكاء عند تعلم البرمجة واللغات أو أي مهارة جديدة. استراتيجيات مدعومة بالعلم لتطوير mindset نمو وتجاوز الشك الذاتي.","https://images.unsplash.com/photo-1454165804606-c3d57bc86b40?q=80&w=1200",{"excerpt":1441},{"type":9,"value":1442},[1443,1445,1451,1453],[12,1444,169],{},[12,1446,172,1447,177,1449,181],{},[174,1448,176],{},[174,1450,180],{},[12,1452,184],{},[186,1454,1455,1457,1459,1461,1463],{},[189,1456,191],{},[189,1458,194],{},[189,1460,197],{},[189,1462,200],{},[189,1464,203],{},"/mindset-alnmw-fy-altalm","2022-12-15",10,{"title":164,"description":1438},"mindset-النمو-في-التعلم",[1471,1472,1473,1474,1475],"learning","career","psychology","personal-development","growth-mindset","2025-10-10","eW21BZXR2d9oxn5_4q6K5VDzjZEab_TkSCZQEES72p8",{"id":1479,"title":1480,"author":7,"body":1481,"category":50,"description":1508,"extension":52,"image":1509,"isDraft":54,"isFeatured":55,"locale":56,"meta":1510,"navigation":54,"path":1515,"publishedAt":63,"readingTime":64,"seo":1516,"stem":1517,"tags":1518,"updatedAt":63,"__hash__":1521},"articles_ar/reever-دعم-العملاء-بالذكاء-الاصطناعي-دراسة-حالة.md","Reever: أتمتة دعم العملاء بالذكاء الاصطناعي",{"type":9,"value":1482,"toc":1502},[1483,1486,1488,1490,1492,1494,1496,1498,1500],[12,1484,1485],{},"استكشاف تطوير Reever، منصة ذكية تحدث ثورة في دعم العملاء من خلال الأتمتة بالذكاء الاصطناعي.",[16,1487,19],{"id":18},[12,1489,22],{},[16,1491,26],{"id":25},[12,1493,22],{},[16,1495,32],{"id":31},[12,1497,22],{},[16,1499,38],{"id":37},[12,1501,22],{},{"title":42,"searchDepth":43,"depth":43,"links":1503},[1504,1505,1506,1507],{"id":18,"depth":46,"text":19},{"id":25,"depth":46,"text":26},{"id":31,"depth":46,"text":32},{"id":37,"depth":46,"text":38},"دراسة حالة لمنصة Reever، منصة أتمتة دعم العملاء بالذكاء الاصطناعي عبر قنوات متعددة بما في ذلك البريد الإلكتروني وواتساب وسلاك وديسكورد.","https://images.unsplash.com/photo-1531746790731-6c087fecd65a?q=80&w=1200&auto=format&fit=crop",{"excerpt":1511},{"type":9,"value":1512},[1513],[12,1514,1485],{},"/reever-dam-alamlaa-balthkaa-alastnaay-drash-halh",{"title":1480,"description":1508},"reever-دعم-العملاء-بالذكاء-الاصطناعي-دراسة-حالة",[68,69,1519,70,1520],"ذكاء-اصطناعي","أتمتة","ZCpbTzOEjHQM7BesLSG3PrGbg7eKfBgTE3ItxpJmK2o",{"id":1523,"title":1524,"author":7,"body":1525,"category":50,"description":1552,"extension":52,"image":1553,"isDraft":54,"isFeatured":55,"locale":56,"meta":1554,"navigation":54,"path":1559,"publishedAt":63,"readingTime":64,"seo":1560,"stem":1561,"tags":1562,"updatedAt":63,"__hash__":1566},"articles_ar/rize-gg-منصة-الألعاب-دراسة-حالة.md","Rize.gg: منصة شاملة للاعبين",{"type":9,"value":1526,"toc":1546},[1527,1530,1532,1534,1536,1538,1540,1542,1544],[12,1528,1529],{},"استكشاف رحلة تطوير Rize.gg، منصة اجتماعية وتنافسية شاملة لمجتمع الألعاب.",[16,1531,19],{"id":18},[12,1533,22],{},[16,1535,26],{"id":25},[12,1537,22],{},[16,1539,32],{"id":31},[12,1541,22],{},[16,1543,38],{"id":37},[12,1545,22],{},{"title":42,"searchDepth":43,"depth":43,"links":1547},[1548,1549,1550,1551],{"id":18,"depth":46,"text":19},{"id":25,"depth":46,"text":26},{"id":31,"depth":46,"text":32},{"id":37,"depth":46,"text":38},"دراسة حالة لمنصة Rize.gg، منصة شاملة للاعبين للتواصل والاجتماع وإجراء المباريات وإنشاء الفرق والأندية والانضمام للبطولات.","https://images.unsplash.com/photo-1542751371-adc38448a05e?q=80&w=1200&auto=format&fit=crop",{"excerpt":1555},{"type":9,"value":1556},[1557],[12,1558,1529],{},"/rize-gg-mnsh-alalaab-drash-halh",{"title":1524,"description":1552},"rize-gg-منصة-الألعاب-دراسة-حالة",[68,69,1563,1564,1565],"ألعاب","منصة-اجتماعية","رياضات-إلكترونية","igb_VEF4rYfhWOzwuqN36JXnOCmNIfW5OXgXIqSknGU",{"id":1568,"title":1569,"author":7,"body":1570,"category":50,"description":1597,"extension":52,"image":1598,"isDraft":54,"isFeatured":55,"locale":56,"meta":1599,"navigation":54,"path":1604,"publishedAt":63,"readingTime":64,"seo":1605,"stem":1606,"tags":1607,"updatedAt":63,"__hash__":1611},"articles_ar/route-genius-منصة-تحسين-التوصيل-دراسة-حالة.md","Route Genius: منصة تحسين التوصيل في الوقت الفعلي",{"type":9,"value":1571,"toc":1591},[1572,1575,1577,1579,1581,1583,1585,1587,1589],[12,1573,1574],{},"استكشاف تطوير Route Genius، منصة متطورة لتحسين مسارات التوصيل باستخدام بيانات المرور الفورية.",[16,1576,19],{"id":18},[12,1578,22],{},[16,1580,26],{"id":25},[12,1582,22],{},[16,1584,32],{"id":31},[12,1586,22],{},[16,1588,38],{"id":37},[12,1590,22],{},{"title":42,"searchDepth":43,"depth":43,"links":1592},[1593,1594,1595,1596],{"id":18,"depth":46,"text":19},{"id":25,"depth":46,"text":26},{"id":31,"depth":46,"text":32},{"id":37,"depth":46,"text":38},"دراسة حالة لمنصة Route Genius، منصة تنظم الشاحنات والسيارات والتوصيلات مع التحسين بناءً على بيانات حركة المرور من جوجل.","https://images.unsplash.com/photo-1586528116311-ad8dd3c8310d?q=80&w=1200&auto=format&fit=crop",{"excerpt":1600},{"type":9,"value":1601},[1602],[12,1603,1574],{},"/route-genius-mnsh-thsyn-altwsyl-drash-halh",{"title":1569,"description":1597},"route-genius-منصة-تحسين-التوصيل-دراسة-حالة",[68,69,1608,1609,1610],"لوجستيات","تحسين","بيانات-فورية","HtMUebhGxmc99iii-6v7DtDN6CwObdNWXbWjUI3q51U",{"id":1613,"title":1614,"author":7,"body":1615,"category":50,"description":1642,"extension":52,"image":1643,"isDraft":54,"isFeatured":55,"locale":56,"meta":1644,"navigation":54,"path":1649,"publishedAt":63,"readingTime":64,"seo":1650,"stem":1651,"tags":1652,"updatedAt":63,"__hash__":1655},"articles_ar/sapious-منصة-التعليم-الإلكتروني-دراسة-حالة.md","Sapious: منصة تعليم إلكتروني للمطورين",{"type":9,"value":1616,"toc":1636},[1617,1620,1622,1624,1626,1628,1630,1632,1634],[12,1618,1619],{},"غوص عميق في Sapious، منصة تعليم إلكتروني شاملة تجمع بين الدورات الذاتية والإرشاد الشخصي للمطورين الطموحين.",[16,1621,19],{"id":18},[12,1623,22],{},[16,1625,26],{"id":25},[12,1627,22],{},[16,1629,32],{"id":31},[12,1631,22],{},[16,1633,38],{"id":37},[12,1635,22],{},{"title":42,"searchDepth":43,"depth":43,"links":1637},[1638,1639,1640,1641],{"id":18,"depth":46,"text":19},{"id":25,"depth":46,"text":26},{"id":31,"depth":46,"text":32},{"id":37,"depth":46,"text":38},"دراسة حالة لمنصة Sapious، منصة تعليم إلكتروني تقدم دورات ذاتية السرعة مع إرشاد لتعلم البرمجة والتطوير.","https://images.unsplash.com/photo-1516321318423-f06f85e504b3?q=80&w=1200&auto=format&fit=crop",{"excerpt":1645},{"type":9,"value":1646},[1647],[12,1648,1619],{},"/sapious-mnsh-altalym-alilktrwny-drash-halh",{"title":1614,"description":1642},"sapious-منصة-التعليم-الإلكتروني-دراسة-حالة",[68,69,1653,1654,159],"تعليم-تقني","برمجة","RNKGc6LpkWbwyqXSwN5vN5rCP7mOR-HVK9r_Cb0ksMI",{"id":1657,"title":1658,"author":7,"body":1659,"category":50,"description":1686,"extension":52,"image":1687,"isDraft":54,"isFeatured":55,"locale":56,"meta":1688,"navigation":54,"path":1693,"publishedAt":63,"readingTime":64,"seo":1694,"stem":1695,"tags":1696,"updatedAt":63,"__hash__":1698},"articles_ar/seo-enhancer-تحسين-آلي-دراسة-حالة.md","SEO Enhancer: منصة تحسين SEO الآلية",{"type":9,"value":1660,"toc":1680},[1661,1664,1666,1668,1670,1672,1674,1676,1678],[12,1662,1663],{},"دراسة حالة شاملة لـ SEO Enhancer، منصة ذكية تؤتمت تحسين SEO للمواقع والمدونات.",[16,1665,19],{"id":18},[12,1667,22],{},[16,1669,26],{"id":25},[12,1671,22],{},[16,1673,32],{"id":31},[12,1675,22],{},[16,1677,38],{"id":37},[12,1679,22],{},{"title":42,"searchDepth":43,"depth":43,"links":1681},[1682,1683,1684,1685],{"id":18,"depth":46,"text":19},{"id":25,"depth":46,"text":26},{"id":31,"depth":46,"text":32},{"id":37,"depth":46,"text":38},"دراسة حالة لمنصة SEO Enhancer، منصة تتصل بالمواقع والمدونات لتوفير أدوات تحسين SEO الآلية.","https://images.unsplash.com/photo-1432888622747-4eb9a8f2c293?q=80&w=1200&auto=format&fit=crop",{"excerpt":1689},{"type":9,"value":1690},[1691],[12,1692,1663],{},"/seo-enhancer-thsyn-aaly-drash-halh",{"title":1658,"description":1686},"seo-enhancer-تحسين-آلي-دراسة-حالة",[68,69,1697,1520,71],"تحسين-محركات-البحث","GxWOG136oUWGs4l6pVKx0jrPch6nGxOqiIhuWn9kRFY",{"id":1700,"title":1701,"author":7,"body":1702,"category":50,"description":1729,"extension":52,"image":1730,"isDraft":54,"isFeatured":55,"locale":56,"meta":1731,"navigation":54,"path":1736,"publishedAt":63,"readingTime":64,"seo":1737,"stem":1738,"tags":1739,"updatedAt":63,"__hash__":1743},"articles_ar/vaw-training-منصة-التدريب-الصحي-دراسة-حالة.md","VAW Training: منصة تدريب صحي بالألعاب",{"type":9,"value":1703,"toc":1723},[1704,1707,1709,1711,1713,1715,1717,1719,1721],[12,1705,1706],{},"غوص عميق في VAW Training، منصة مبتكرة تجمع بين الألعاب والرعاية الصحية لتدريب المرضى وجمع البيانات العلمية.",[16,1708,19],{"id":18},[12,1710,22],{},[16,1712,26],{"id":25},[12,1714,22],{},[16,1716,32],{"id":31},[12,1718,22],{},[16,1720,38],{"id":37},[12,1722,22],{},{"title":42,"searchDepth":43,"depth":43,"links":1724},[1725,1726,1727,1728],{"id":18,"depth":46,"text":19},{"id":25,"depth":46,"text":26},{"id":31,"depth":46,"text":32},{"id":37,"depth":46,"text":38},"دراسة حالة لمنصة VAW Training، منتج يربط الألعاب بالرعاية الصحية لمساعدة الأطباء في تدريب المرضى وجمع البيانات الصحية علمياً.","https://images.unsplash.com/photo-1576091160399-112ba8d25d1d?q=80&w=1200&auto=format&fit=crop",{"excerpt":1732},{"type":9,"value":1733},[1734],[12,1735,1706],{},"/vaw-training-mnsh-altdryb-alshy-drash-halh",{"title":1701,"description":1729},"vaw-training-منصة-التدريب-الصحي-دراسة-حالة",[68,69,1740,1741,1742],"تقنية-صحية","الألعاب","تحليل-البيانات","Ul-tyCAjLEXqbSCjpSmupyIvpTiz0sIZKGJTiFm9CNE",{"id":1745,"title":1746,"author":7,"body":1747,"category":1437,"description":2026,"extension":52,"image":2027,"isDraft":55,"isFeatured":55,"locale":56,"meta":2028,"navigation":54,"path":2033,"publishedAt":2034,"readingTime":2035,"seo":2036,"stem":2037,"tags":2038,"updatedAt":2034,"__hash__":2046},"articles_ar/أدوات-الذكاء-الاصطناعي-للمطورين-العرب.md","أدوات الذكاء الاصطناعي الأساسية للمطورين العرب: تعزيز الإنتاجية والابتكار",{"type":9,"value":1748,"toc":2016},[1749,1752,1756,1759,1787,1793,1797,1800,1820,1825,1829,1832,1852,1857,1861,1864,1884,1889,1893,1896,1916,1921,1925,1928,1948,1952,1955,1975,1978,1998,2001,2004],[12,1750,1751],{},"يشهد عالم تطوير البرمجيات تحولًا جذريًا بفضل التقدم المتسارع في مجال الذكاء الاصطناعي (AI). لم يعد الذكاء الاصطناعي مجرد مفهوم نظري، بل أصبح مجموعة من الأدوات العملية التي يمكن للمطورين، وخاصة المطورين العرب، الاستفادة منها لتعزيز إنتاجيتهم، تحسين جودة مشاريعهم، وابتكار حلول تقنية متطورة. في هذا المقال، نستعرض أبرز أدوات الذكاء الاصطناعي التي يجب على كل مطور عربي إضافتها إلى ترسانته التقنية.",[16,1753,1755],{"id":1754},"_1-أدوات-كتابة-الأكواد-الذكية-ai-powered-code-assistance","1. أدوات كتابة الأكواد الذكية (AI-Powered Code Assistance)",[12,1757,1758],{},"تعتبر أدوات المساعدة في كتابة الأكواد من أبرز تطبيقات الذكاء الاصطناعي التي أحدثت ثورة في كيفية كتابة المبرمجين للأكواد. هذه الأدوات لا تقتصر على الإكمال التلقائي البسيط، بل تقدم اقتراحات ذكية، تكتشف الأخطاء المحتملة، وتساعد في فهم الأكواد المعقدة.",[186,1760,1761,1775,1781],{},[189,1762,1763,1766,1767],{},[174,1764,1765],{},"GitHub Copilot:"," يعتبر GitHub Copilot، المدعوم من OpenAI Codex، بمثابة \"مساعد مبرمج افتراضي\". يقوم بتحليل السياق الحالي للكود الذي تكتبه ويقدم اقتراحات لأسطر كاملة أو حتى دوال برمجية. يدعم Copilot العديد من لغات البرمجة والمحررات الشهيرة مثل Visual Studio Code.\n",[186,1768,1769],{},[189,1770,1771,1774],{},[174,1772,1773],{},"مثال عملي:"," أثناء كتابة دالة لمعالجة بيانات المستخدمين في Python، يمكن لـ Copilot اقتراح هيكل الدالة بالكامل، بما في ذلك التحقق من صحة البيانات ومعالجة الاستثناءات.",[189,1776,1777,1780],{},[174,1778,1779],{},"Tabnine:"," يركز Tabnine على توفير إكمالات أكواد دقيقة وسريعة بناءً على نماذج تعلم الآلة المدربة على كميات هائلة من الأكواد مفتوحة المصدر. يتميز بقدرته على التكيف مع أسلوب كتابتك للكود وتقديم اقتراحات مخصصة.",[189,1782,1783,1786],{},[174,1784,1785],{},"Amazon CodeWhisperer:"," أداة مشابهة من أمازون، تساعد المطورين على كتابة الأكواد بسرعة وأمان أكبر. تتميز بقدرتها على فحص الأكواد بحثًا عن الثغرات الأمنية وتقديم اقتراحات لتحسينها.",[12,1788,1789,1792],{},[174,1790,1791],{},"نصيحة للمطورين العرب:"," استفد من هذه الأدوات لتسريع عملية كتابة الأكواد، خاصة في المهام الروتينية والمتكررة. تعلم كيفية توجيه هذه الأدوات بفعالية للحصول على أفضل النتائج، ولا تعتمد عليها بشكل كامل دون فهم الكود المقترح.",[16,1794,1796],{"id":1795},"_2-أتمتة-المهام-المتكررة-automation-of-repetitive-tasks","2. أتمتة المهام المتكررة (Automation of Repetitive Tasks)",[12,1798,1799],{},"يواجه المطورون العديد من المهام المتكررة التي تستهلك وقتًا وجهدًا يمكن توجيهه نحو مهام أكثر إبداعًا. أدوات الذكاء الاصطناعي يمكنها أتمتة العديد من هذه المهام.",[186,1801,1802,1808,1814],{},[189,1803,1804,1807],{},[174,1805,1806],{},"اختبار البرمجيات (Software Testing):"," أدوات مثل Applitools و Testim.io تستخدم الذكاء الاصطناعي لإنشاء وصيانة حالات الاختبار بشكل تلقائي، خاصة في اختبار واجهات المستخدم (UI testing). يمكنها اكتشاف التغييرات البصرية غير المقصودة وتنبيه المطورين.",[189,1809,1810,1813],{},[174,1811,1812],{},"النشر والتكامل المستمر (CI/CD):"," منصات مثل Jenkins X و GitLab CI/CD تدمج ميزات الذكاء الاصطناعي لتحسين عمليات التكامل والنشر المستمر، مثل التنبؤ بفشل عمليات البناء (build failures) وتحسين توزيع الموارد.",[189,1815,1816,1819],{},[174,1817,1818],{},"إدارة المشاريع وتتبع الأخطاء:"," أدوات مثل Jira و Asana بدأت في دمج ميزات الذكاء الاصطناعي لتحديد أولويات المهام، التنبؤ بالمواعيد النهائية، وتحديد الأنماط في تقارير الأخطاء.",[12,1821,1822,1824],{},[174,1823,1791],{}," ابحث عن الأدوات التي تتكامل مع بيئة عملك الحالية. ابدأ بأتمتة المهام الصغيرة والمتكررة ثم توسع تدريجيًا.",[16,1826,1828],{"id":1827},"_3-تحليل-البيانات-واستخلاص-الرؤى-data-analysis-and-insights","3. تحليل البيانات واستخلاص الرؤى (Data Analysis and Insights)",[12,1830,1831],{},"البيانات هي وقود العصر الرقمي، وأدوات الذكاء الاصطناعي توفر قدرات هائلة لتحليل هذه البيانات واستخلاص رؤى قيمة تساعد في اتخاذ قرارات مستنيرة.",[186,1833,1834,1840,1846],{},[189,1835,1836,1839],{},[174,1837,1838],{},"منصات تحليل البيانات:"," أدوات مثل Tableau و Power BI تدمج ميزات الذكاء الاصطناعي لتسهيل تحليل البيانات المعقدة وإنشاء تصورات تفاعلية (interactive visualizations).",[189,1841,1842,1845],{},[174,1843,1844],{},"نماذج تعلم الآلة المخصصة:"," يمكن للمطورين بناء نماذج تعلم آلة مخصصة باستخدام مكتبات مثل TensorFlow و PyTorch لتحليل أنواع معينة من البيانات، مثل تحليل سلوك المستخدمين، التنبؤ بالمبيعات، أو اكتشاف الاحتيال.",[189,1847,1848,1851],{},[174,1849,1850],{},"معالجة اللغة الطبيعية (NLP):"," أدوات NLP مثل spaCy و NLTK (بالإضافة إلى نماذج أحدث مثل BERT و GPT) تمكن المطورين من تحليل النصوص العربية، فهم المشاعر، استخلاص المعلومات، وبناء تطبيقات مثل روبوتات الدردشة الذكية.",[12,1853,1854,1856],{},[174,1855,1791],{}," استثمر في تعلم أساسيات تحليل البيانات وتعلم الآلة. هناك العديد من المصادر التعليمية المتاحة باللغة العربية. ابدأ بمشاريع صغيرة لتطبيق ما تعلمته على بيانات حقيقية.",[16,1858,1860],{"id":1859},"_4-دعم-العملاء-وتجربة-المستخدم-customer-support-and-user-experience","4. دعم العملاء وتجربة المستخدم (Customer Support and User Experience)",[12,1862,1863],{},"تحسين تجربة المستخدم وتقديم دعم فعال للعملاء أمر حيوي لنجاح أي منتج تقني. الذكاء الاصطناعي يقدم حلولاً مبتكرة في هذا المجال.",[186,1865,1866,1872,1878],{},[189,1867,1868,1871],{},[174,1869,1870],{},"روبوتات الدردشة الذكية (AI Chatbots):"," منصات مثل Dialogflow (Google), IBM Watson Assistant, و Rasa (مفتوح المصدر) تمكن المطورين من بناء روبوتات دردشة قادرة على فهم اللغة الطبيعية (بما في ذلك اللهجات العربية المختلفة بدرجات متفاوتة) وتقديم الدعم الفوري للعملاء على مدار الساعة.",[189,1873,1874,1877],{},[174,1875,1876],{},"تخصيص تجربة المستخدم (Personalization):"," يمكن استخدام خوارزميات الذكاء الاصطناعي لتحليل سلوك المستخدمين وتقديم محتوى وتوصيات مخصصة، مما يزيد من تفاعلهم ورضاهم.",[189,1879,1880,1883],{},[174,1881,1882],{},"تحليل ملاحظات العملاء:"," أدوات تحليل المشاعر (Sentiment Analysis) يمكنها معالجة كميات كبيرة من ملاحظات العملاء (من وسائل التواصل الاجتماعي، استطلاعات الرأي، إلخ) وتحديد المشاعر الإيجابية والسلبية تجاه المنتج أو الخدمة.",[12,1885,1886,1888],{},[174,1887,1791],{}," عند بناء روبوتات دردشة باللغة العربية، اهتم بتدريب النموذج على مجموعة بيانات متنوعة تشمل اللهجات المحلية المختلفة لضمان فهم دقيق.",[16,1890,1892],{"id":1891},"_5-توليد-المحتوى-والإبداع-content-generation-and-creativity","5. توليد المحتوى والإبداع (Content Generation and Creativity)",[12,1894,1895],{},"أدوات الذكاء الاصطناعي لا تقتصر على المهام التحليلية، بل تمتد أيضًا إلى المجالات الإبداعية.",[186,1897,1898,1904,1910],{},[189,1899,1900,1903],{},[174,1901,1902],{},"توليد النصوص (Text Generation):"," نماذج مثل GPT-3 وما بعدها (مثل ChatGPT) يمكنها توليد مقالات، أكواد، نصوص تسويقية، وحتى قصائد. يمكن استخدامها للمساعدة في كتابة الوثائق التقنية، إنشاء محتوى للمدونات، أو توليد أفكار جديدة.",[189,1905,1906,1909],{},[174,1907,1908],{},"توليد الصور والتصاميم (Image and Design Generation):"," أدوات مثل Midjourney و DALL-E 2 و Stable Diffusion تمكن المستخدمين من إنشاء صور فنية وتصاميم فريدة بناءً على أوصاف نصية. يمكن للمطورين استخدامها لإنشاء أيقونات، رسوم توضيحية، أو مواد مرئية لمشاريعهم.",[189,1911,1912,1915],{},[174,1913,1914],{},"توليد الموسيقى والصوت:"," هناك أدوات AI يمكنها تأليف مقطوعات موسيقية أو توليد تعليقات صوتية، مما يفتح آفاقًا جديدة في تطوير الألعاب والتطبيقات التفاعلية.",[12,1917,1918,1920],{},[174,1919,1791],{}," استخدم هذه الأدوات كمصدر إلهام ومساعد في العملية الإبداعية، وليس كبديل كامل للإبداع البشري. تحقق دائمًا من جودة وأصالة المحتوى المولد.",[16,1922,1924],{"id":1923},"_6-التعلم-المستمر-ومواكبة-التطورات","6. التعلم المستمر ومواكبة التطورات",[12,1926,1927],{},"مجال الذكاء الاصطناعي يتطور بسرعة مذهلة. لذا، من الضروري للمطورين العرب البقاء على اطلاع دائم بأحدث الأدوات، التقنيات، وأفضل الممارسات.",[186,1929,1930,1936,1942],{},[189,1931,1932,1935],{},[174,1933,1934],{},"الدورات التدريبية والشهادات:"," منصات مثل Coursera, edX, Udacity، بالإضافة إلى مبادرات محلية، تقدم دورات متخصصة في الذكاء الاصطناعي وتعلم الآلة.",[189,1937,1938,1941],{},[174,1939,1940],{},"المجتمعات التقنية والمؤتمرات:"," شارك في المجتمعات التقنية العربية والعالمية، واحضر المؤتمرات والندوات (عبر الإنترنت أو حضوريًا) لتبادل الخبرات والمعرفة.",[189,1943,1944,1947],{},[174,1945,1946],{},"المشاريع مفتوحة المصدر:"," المساهمة في مشاريع الذكاء الاصطناعي مفتوحة المصدر هي طريقة رائعة للتعلم وتطبيق المهارات.",[16,1949,1951],{"id":1950},"تحديات-وفرص-للمطورين-العرب-في-مجال-الذكاء-الاصطناعي","تحديات وفرص للمطورين العرب في مجال الذكاء الاصطناعي",[12,1953,1954],{},"رغم الإمكانيات الهائلة، يواجه المطورون العرب بعض التحديات عند تبني أدوات الذكاء الاصطناعي، مثل:",[186,1956,1957,1963,1969],{},[189,1958,1959,1962],{},[174,1960,1961],{},"ندرة البيانات العربية عالية الجودة:"," العديد من نماذج الذكاء الاصطناعي تتطلب كميات كبيرة من البيانات للتدريب. قد يكون هناك نقص في مجموعات البيانات العربية المتخصصة.",[189,1964,1965,1968],{},[174,1966,1967],{},"دعم اللغة العربية واللهجات المحلية:"," ليست كل الأدوات تدعم اللغة العربية بشكل كامل أو تتعامل بفعالية مع اللهجات المتعددة.",[189,1970,1971,1974],{},[174,1972,1973],{},"الحاجة إلى تطوير المهارات:"," يتطلب استخدام أدوات الذكاء الاصطناعي بفعالية فهمًا جيدًا لأساسيات تعلم الآلة وتحليل البيانات.",[12,1976,1977],{},"ومع ذلك، هناك فرص كبيرة للمطورين العرب:",[186,1979,1980,1986,1992],{},[189,1981,1982,1985],{},[174,1983,1984],{},"تطوير حلول مخصصة للسوق العربي:"," يمكن للمطورين العرب بناء أدوات وتطبيقات ذكاء اصطناعي تلبي الاحتياجات الفريدة للمستخدمين والشركات في المنطقة.",[189,1987,1988,1991],{},[174,1989,1990],{},"المساهمة في إثراء المحتوى العربي في مجال الذكاء الاصطناعي:"," من خلال تطوير نماذج ومجموعات بيانات عربية.",[189,1993,1994,1997],{},[174,1995,1996],{},"الاستفادة من الطلب المتزايد على مهارات الذكاء الاصطناعي:"," مما يفتح آفاقًا وظيفية واسعة.",[16,1999,2000],{"id":2000},"الخلاصة",[12,2002,2003],{},"إن تبني أدوات الذكاء الاصطناعي لم يعد خيارًا بل ضرورة للمطورين العرب الذين يسعون إلى التميز والابتكار. من خلال الاستفادة من هذه الأدوات في كتابة الأكواد، أتمتة المهام، تحليل البيانات، دعم العملاء، وحتى توليد المحتوى الإبداعي، يمكن للمطورين العرب تعزيز إنتاجيتهم بشكل كبير، تحسين جودة مشاريعهم، والمساهمة بفعالية في الثورة الرقمية. ابدأ اليوم باستكشاف هذه الأدوات ودمجها في سير عملك، وكن جزءًا من مستقبل التطوير المدعوم بالذكاء الاصطناعي.",[12,2005,2006,2007,2011,2012,2015],{},"SimilarPosts{:tags=\"",[2008,2009,2010],"span",{},"'الذكاء الاصطناعي', 'أدوات المطورين', 'arabic'","\" ",[2013,2014],"count",{},"=\"3\"}",{"title":42,"searchDepth":43,"depth":43,"links":2017},[2018,2019,2020,2021,2022,2023,2024,2025],{"id":1754,"depth":46,"text":1755},{"id":1795,"depth":46,"text":1796},{"id":1827,"depth":46,"text":1828},{"id":1859,"depth":46,"text":1860},{"id":1891,"depth":46,"text":1892},{"id":1923,"depth":46,"text":1924},{"id":1950,"depth":46,"text":1951},{"id":2000,"depth":46,"text":2000},"دليل شامل لأهم أدوات الذكاء الاصطناعي التي تمكّن المطورين العرب من تسريع وتيرة التطوير، تحسين جودة الكود، وابتكار حلول ذكية تلبي احتياجات السوق المحليي والعالمي.","https://images.unsplash.com/photo-1523961131990-5ea7c61b2107?q=80&w=1200&auto=format&fit=crop",{"excerpt":2029},{"type":9,"value":2030},[2031],[12,2032,1751],{},"/adwat-althkaa-alastnaay-llmtwryn-alarb","2025-05-16",15,{"title":1746,"description":2026},"أدوات-الذكاء-الاصطناعي-للمطورين-العرب",[2039,2040,2041,2042,2043,2044,2045],"الذكاء الاصطناعي","أدوات المطورين","إنتاجية المبرمجين","تطوير البرمجيات","arabic","ai-tools","developer-productivity","0Kg6HYvJ6rWyWBg4tctRl3lL-5vewPPVcm_fr3Ekdyc",{"id":2048,"title":2049,"author":7,"body":2050,"category":50,"description":2077,"extension":52,"image":2078,"isDraft":54,"isFeatured":55,"locale":56,"meta":2079,"navigation":54,"path":2084,"publishedAt":63,"readingTime":64,"seo":2085,"stem":2086,"tags":2087,"updatedAt":63,"__hash__":2090},"articles_ar/أرابيان-هود-تطبيق-تعليم-العربية-دراسة-حالة.md","أرابيان هود: تطبيق مشابه لدولينجو لتعلم العربية",{"type":9,"value":2051,"toc":2071},[2052,2055,2057,2059,2061,2063,2065,2067,2069],[12,2053,2054],{},"استكشاف رحلة تطوير أرابيان هود، تطبيق جوال متخصص لتعلم العربية مصمم لاحتياجات محددة مثل الحج.",[16,2056,19],{"id":18},[12,2058,22],{},[16,2060,26],{"id":25},[12,2062,22],{},[16,2064,32],{"id":31},[12,2066,22],{},[16,2068,38],{"id":37},[12,2070,22],{},{"title":42,"searchDepth":43,"depth":43,"links":2072},[2073,2074,2075,2076],{"id":18,"depth":46,"text":19},{"id":25,"depth":46,"text":26},{"id":31,"depth":46,"text":32},{"id":37,"depth":46,"text":38},"دراسة حالة لتطبيق أرابيان هود، تطبيق جوال مشابه لدولينجو، مصمم لتعليم العربية لأغراض محددة مثل الحج.","https://images.unsplash.com/photo-1512486130939-2c4f79935e4f?q=80&w=1200&auto=format&fit=crop",{"excerpt":2080},{"type":9,"value":2081},[2082],[12,2083,2054],{},"/arabyan-hwd-ttbyq-talym-alarbyh-drash-halh",{"title":2049,"description":2077},"أرابيان-هود-تطبيق-تعليم-العربية-دراسة-حالة",[68,69,2088,2089,1653],"تطبيقات-الجوال","اللغة-العربية","QCqcNxd1y0tKt-mdCobgwo6X44q7VXCvk1yVCOsN1fU",{"id":2092,"title":2093,"author":7,"body":2094,"category":2109,"description":2110,"extension":52,"image":2111,"isDraft":54,"isFeatured":55,"locale":56,"meta":2112,"navigation":54,"path":2117,"publishedAt":2118,"readingTime":2119,"seo":2120,"stem":2121,"tags":2122,"updatedAt":2118,"__hash__":2126},"articles_ar/أساسيات-الذكاء-الاصطناعي-للمطورين.md","أساسيات الذكاء الاصطناعي للمطورين",{"type":9,"value":2095,"toc":2106},[2096,2099,2103],[12,2097,2098],{},"تعلم أساسيات الذكاء الاصطناعي لتطوير تطبيقات ذكية ومبتكرة.",[16,2100,2102],{"id":2101},"المحتوى-قيد-التطوير","المحتوى قيد التطوير",[12,2104,2105],{},"هذا المقال قيد الكتابة وسيتم نشره قريباً.",{"title":42,"searchDepth":43,"depth":43,"links":2107},[2108],{"id":2101,"depth":46,"text":2102},"الذكاء-الاصطناعي","دليل شامل عن التعليم التقني لرواد الأعمال العرب","https://images.unsplash.com/photo-1677442136019-21780ecad995?q=80&w=1200&auto=format&fit=crop",{"excerpt":2113},{"type":9,"value":2114},[2115],[12,2116,2098],{},"/asasyat-althkaa-alastnaay-llmtwryn","2025-04-22",14,{"title":2093,"description":2110},"أساسيات-الذكاء-الاصطناعي-للمطورين",[2109,2123,2124,2125],"التطوير","Machine-Learning","البرمجة","Ff-d5rnc4I0SOYk6IDpVDBf_O0EHHUy5jH8PRZWNbaM",{"id":2128,"title":2129,"author":7,"body":2130,"category":2371,"description":2372,"extension":52,"image":2373,"isDraft":55,"isFeatured":55,"locale":56,"meta":2374,"navigation":54,"path":2379,"publishedAt":2034,"readingTime":2380,"seo":2381,"stem":2382,"tags":2383,"updatedAt":2034,"__hash__":2389},"articles_ar/أفضل-الممارسات-لإدارة-المنتجات-التقنية.md","أفضل الممارسات لإدارة المنتجات التقنية بفعالية في السوق العربي",{"type":9,"value":2131,"toc":2362},[2132,2135,2139,2142,2169,2175,2179,2182,2210,2215,2219,2222,2248,2253,2257,2260,2286,2291,2295,2298,2324,2329,2333,2336,2350,2352,2355],[12,2133,2134],{},"تعد إدارة المنتجات التقنية مجالاً حيوياً يتطلب مزيجاً فريداً من الفهم التقني العميق، الرؤية الاستراتيجية، والقدرة على التواصل الفعال. في السوق العربي، الذي يتميز بديناميكياته الخاصة وتنوع احتياجات مستخدميه، يصبح تطبيق أفضل الممارسات في إدارة المنتجات أكثر أهمية لضمان النجاح والقدرة على المنافسة. يهدف هذا الدليل إلى تزويد مديري المنتجات العرب بالاستراتيجيات والنصائح العملية لتحقيق التميز.",[16,2136,2138],{"id":2137},"_1-الفهم-العميق-للمستخدم-العربي-واحتياجاته-deep-understanding-of-the-arab-user","1. الفهم العميق للمستخدم العربي واحتياجاته (Deep Understanding of the Arab User)",[12,2140,2141],{},"أساس أي منتج ناجح هو فهم عميق للمستخدمين. في السياق العربي، هذا يعني أكثر من مجرد ترجمة واجهات المستخدم.",[186,2143,2144,2157,2163],{},[189,2145,2146,2149,2150],{},[174,2147,2148],{},"أبحاث المستخدمين المخصصة:"," قم بإجراء مقابلات معمقة، استطلاعات رأي، واختبارات قابلية استخدام مع شرائح متنوعة من المستخدمين العرب. ضع في اعتبارك الاختلافات الثقافية، اللغوية (اللهجات المختلفة)، ومستويات الإلمام التقني.\n",[186,2151,2152],{},[189,2153,2154,2156],{},[174,2155,787],{}," عند تطوير تطبيق للتجارة الإلكترونية، قد تكتشف أن المستخدمين في دول الخليج يفضلون الدفع عند الاستلام، بينما يفضل المستخدمون في شمال إفريقيا خيارات دفع أخرى.",[189,2158,2159,2162],{},[174,2160,2161],{},"إنشاء شخصيات المستخدمين (User Personas):"," طور شخصيات مستخدمين تعكس بدقة جمهورك المستهدف في المنطقة العربية، مع الأخذ في الاعتبار عوامل مثل العمر، الموقع الجغرافي، السلوكيات، والأهداف.",[189,2164,2165,2168],{},[174,2166,2167],{},"تحليل المنافسين المحليين:"," ادرس المنتجات المنافسة التي تحظى بشعبية في السوق المحلي. ما الذي يميزها؟ كيف تلبي احتياجات المستخدمين العرب؟",[12,2170,2171,2174],{},[174,2172,2173],{},"نصيحة لمديري المنتجات العرب:"," لا تفترض أن ما ينجح في الأسواق العالمية سينجح بالضرورة في السوق العربي. استثمر وقتاً وجهداً في فهم الخصوصية المحلية.",[16,2176,2178],{"id":2177},"_2-تحديد-الأولويات-الاستراتيجية-بناءً-على-القيمة-strategic-prioritization-based-on-value","2. تحديد الأولويات الاستراتيجية بناءً على القيمة (Strategic Prioritization Based on Value)",[12,2180,2181],{},"في بيئة الموارد المحدودة، يعد تحديد الأولويات أمراً بالغ الأهمية. يجب أن تركز على الميزات والمبادرات التي تقدم أكبر قيمة للمستخدمين وتساهم في تحقيق أهداف العمل.",[186,2183,2184,2198,2204],{},[189,2185,2186,2189,2190],{},[174,2187,2188],{},"أطر تحديد الأولويات (Prioritization Frameworks):"," استخدم أطر عمل مجربة مثل RICE (Reach, Impact, Confidence, Effort), Value vs. Effort Matrix, أو MoSCoW (Must have, Should have, Could have, Won't have).\n",[186,2191,2192],{},[189,2193,2194,2197],{},[174,2195,2196],{},"مثال باستخدام RICE:"," عند تقييم ميزة جديدة، قدر عدد المستخدمين الذين ستصل إليهم (Reach)، مدى تأثير الميزة عليهم (Impact)، مدى ثقتك في تقديراتك (Confidence)، والمجهود المطلوب لتنفيذها (Effort).",[189,2199,2200,2203],{},[174,2201,2202],{},"خارطة طريق المنتج (Product Roadmap):"," طور خارطة طريق واضحة ومرنة تعكس رؤية المنتج وأولوياته الاستراتيجية. قم بمراجعتها وتحديثها بانتظام بناءً على متغيرات السوق وملاحظات المستخدمين.",[189,2205,2206,2209],{},[174,2207,2208],{},"التركيز على الحد الأدنى من المنتج القابل للتطبيق (MVP):"," ابدأ بإطلاق نسخة مبسطة من المنتج (MVP) تحتوي على الميزات الأساسية فقط، ثم قم بالتوسع تدريجياً بناءً على البيانات والتعلم.",[12,2211,2212,2214],{},[174,2213,2173],{}," كن مستعداً لقول \"لا\" للميزات التي لا تتماشى مع الاستراتيجية العامة للمنتج، حتى لو كانت تبدو جذابة.",[16,2216,2218],{"id":2217},"٣-التواصل-الفعال-والتعاون-المثمر-effective-communication-and-collaboration","٣. التواصل الفعال والتعاون المثمر (Effective Communication and Collaboration)",[12,2220,2221],{},"مدير المنتج هو حلقة الوصل بين مختلف الفرق (الهندسة، التصميم، التسويق، المبيعات). التواصل الواضح والمستمر ضروري لضمان فهم مشترك للرؤية والأهداف.",[186,2223,2224,2230,2236,2242],{},[189,2225,2226,2229],{},[174,2227,2228],{},"التواصل مع فريق التطوير:"," تأكد من أن فريق التطوير يفهم \"لماذا\" وراء كل ميزة، وليس فقط \"ماذا\" يجب بناؤه. شاركهم رؤى المستخدمين وأهداف العمل.",[189,2231,2232,2235],{},[174,2233,2234],{},"التواصل مع أصحاب المصلحة (Stakeholders):"," قدم تحديثات منتظمة لأصحاب المصلحة حول تقدم المنتج، التحديات، والفرص. استخدم لغة واضحة ومقاييس قابلة للقياس.",[189,2237,2238,2241],{},[174,2239,2240],{},"توثيق القرارات والمتطلبات:"," حافظ على توثيق واضح لمتطلبات المنتج، قرارات التصميم، ونتائج أبحاث المستخدمين. أدوات مثل Confluence أو Notion يمكن أن تكون مفيدة هنا.",[189,2243,2244,2247],{},[174,2245,2246],{},"بناء ثقافة التعاون:"," شجع التعاون بين الفرق المختلفة. ورش العمل المشتركة وجلسات العصف الذهني يمكن أن تؤدي إلى حلول مبتكرة.",[12,2249,2250,2252],{},[174,2251,2173],{}," اعمل على بناء علاقات قوية مع أعضاء فريقك وأصحاب المصلحة. الثقة والتفاهم المتبادل هما مفتاح التعاون الناجح.",[16,2254,2256],{"id":2255},"٤-قياس-النجاح-واتخاذ-القرارات-المستندة-إلى-البيانات-measuring-success-and-data-driven-decisions","٤. قياس النجاح واتخاذ القرارات المستندة إلى البيانات (Measuring Success and Data-Driven Decisions)",[12,2258,2259],{},"لا يمكن تحسين ما لا يمكن قياسه. تحديد مؤشرات الأداء الرئيسية (KPIs) المناسبة وتتبعها بانتظام أمر ضروري لتقييم أداء المنتج واتخاذ قرارات مستنيرة.",[186,2261,2262,2268,2274,2280],{},[189,2263,2264,2267],{},[174,2265,2266],{},"تحديد مؤشرات الأداء الرئيسية (KPIs):"," اختر KPIs تتماشى مع أهداف منتجك. أمثلة شائعة تشمل: عدد المستخدمين النشطين (Active Users)، معدل التحويل (Conversion Rate)، معدل الاحتفاظ بالمستخدمين (Retention Rate)، متوسط الإيرادات لكل مستخدم (ARPU)، ورضا العملاء (Customer Satisfaction - CSAT/NPS).",[189,2269,2270,2273],{},[174,2271,2272],{},"أدوات التحليل (Analytics Tools):"," استخدم أدوات تحليل مثل Google Analytics, Mixpanel, Amplitude, أو Hotjar لجمع بيانات سلوك المستخدمين وتحليلها.",[189,2275,2276,2279],{},[174,2277,2278],{},"اختبار A/B (A/B Testing):"," قم بإجراء اختبارات A/B لمقارنة أداء تصميمات أو ميزات مختلفة واتخاذ قرارات مبنية على الأدلة.",[189,2281,2282,2285],{},[174,2283,2284],{},"مراجعة البيانات بانتظام:"," خصص وقتاً لمراجعة البيانات وتحليل الاتجاهات. شارك هذه الرؤى مع فريقك واستخدمها لتوجيه خارطة طريق المنتج.",[12,2287,2288,2290],{},[174,2289,2173],{}," لا تغرق في بحر من البيانات. ركز على المقاييس الأكثر أهمية (North Star Metric) التي تعكس القيمة الأساسية لمنتجك.",[16,2292,2294],{"id":2293},"٥-التطوير-المستمر-والقدرة-على-التكيف-continuous-improvement-and-adaptability","٥. التطوير المستمر والقدرة على التكيف (Continuous Improvement and Adaptability)",[12,2296,2297],{},"سوق التكنولوجيا يتغير باستمرار، وكذلك احتياجات المستخدمين. يجب أن يكون المنتج وفريق العمل قادرين على التكيف والتطور.",[186,2299,2300,2306,2312,2318],{},[189,2301,2302,2305],{},[174,2303,2304],{},"جمع ملاحظات المستخدمين بشكل مستمر:"," أنشئ قنوات متعددة لجمع ملاحظات المستخدمين (مثل استطلاعات الرأي داخل التطبيق، نماذج الملاحظات، وسائل التواصل الاجتماعي، دعم العملاء).",[189,2307,2308,2311],{},[174,2309,2310],{},"المنهجيات الرشيقة (Agile Methodologies):"," تبني منهجيات تطوير رشيقة مثل Scrum أو Kanban للسماح بالتكرار السريع والاستجابة للتغييرات بفعالية.",[189,2313,2314,2317],{},[174,2315,2316],{},"ثقافة التجريب والتعلم:"," شجع ثقافة التجريب حيث يُنظر إلى \"الفشل\" كفرصة للتعلم. احتفل بالنجاحات وتعلم من الأخطاء.",[189,2319,2320,2323],{},[174,2321,2322],{},"مراقبة اتجاهات السوق والتقنيات الجديدة:"," كن على اطلاع دائم بأحدث الاتجاهات في مجال عملك والتقنيات الناشئة التي يمكن أن تؤثر على منتجك أو تفتح فرصاً جديدة.",[12,2325,2326,2328],{},[174,2327,2173],{}," كن منفتحاً على التغيير ولا تخف من تعديل استراتيجيتك أو خارطة طريق منتجك عندما تشير البيانات أو ظروف السوق إلى ذلك.",[16,2330,2332],{"id":2331},"٦-مراعاة-الجوانب-القانونية-والتنظيمية-في-المنطقة-العربية","٦. مراعاة الجوانب القانونية والتنظيمية في المنطقة العربية",[12,2334,2335],{},"قد تكون هناك قوانين ولوائح تنظيمية خاصة بحماية البيانات، خصوصية المستخدم، والمحتوى الرقمي في مختلف الدول العربية. من المهم أن يكون مديرو المنتجات على دراية بهذه الجوانب لضمان امتثال منتجاتهم.",[186,2337,2338,2344],{},[189,2339,2340,2343],{},[174,2341,2342],{},"استشارة الخبراء القانونيين:"," عند الضرورة، استشر خبراء قانونيين متخصصين في قوانين التكنولوجيا في المنطقة.",[189,2345,2346,2349],{},[174,2347,2348],{},"تصميم الخصوصية (Privacy by Design):"," ادمج اعتبارات الخصوصية في تصميم المنتج منذ البداية.",[16,2351,2000],{"id":2000},[12,2353,2354],{},"إن إدارة المنتجات التقنية في السوق العربي تمثل تحدياً وفرصة في آن واحد. من خلال الفهم العميق للمستخدم العربي، تحديد الأولويات الاستراتيجية، التواصل الفعال، الاعتماد على البيانات في اتخاذ القرارات، والسعي المستمر نحو التطوير والتحسين، يمكن لمديري المنتجات العرب بناء منتجات ناجحة ومؤثرة تلبي احتياجات السوق وتساهم في نمو الاقتصاد الرقمي في المنطقة. تذكر أن المرونة والقدرة على التعلم المستمر هما من أهم سمات مدير المنتج الناجح في هذا العصر الديناميكي.",[12,2356,2006,2357,2011,2360,2015],{},[2008,2358,2359],{},"'إدارة المنتجات', 'السوق العربي', 'المنتجات التقنية'",[2013,2361],{},{"title":42,"searchDepth":43,"depth":43,"links":2363},[2364,2365,2366,2367,2368,2369,2370],{"id":2137,"depth":46,"text":2138},{"id":2177,"depth":46,"text":2178},{"id":2217,"depth":46,"text":2218},{"id":2255,"depth":46,"text":2256},{"id":2293,"depth":46,"text":2294},{"id":2331,"depth":46,"text":2332},{"id":2000,"depth":46,"text":2000},"product-management","دليل شامل يقدم نصائح عملية واستراتيجيات مجربة لإدارة المنتجات التقنية بنجاح، مع التركيز على تلبية احتياجات السوق العربي المتنامي والتغلب على تحدياته الفريدة.","https://images.unsplash.com/photo-1556761175-5973dc0f32e7?auto=format&fit=crop&w=1200&q=80",{"excerpt":2375},{"type":9,"value":2376},[2377],[12,2378,2134],{},"/afdhl-almmarsat-lidarh-almntjat-altqnyh",18,{"title":2129,"description":2372},"أفضل-الممارسات-لإدارة-المنتجات-التقنية",[2384,2385,2386,2387,2043,2371,2388],"إدارة المنتجات","المنتجات التقنية","استراتيجية المنتج","السوق العربي","tech-products","8j5bvLQsYFB6wCZyElStaVmHIRNlBwsjrqATdQToUlo",{"id":2391,"title":2392,"author":7,"body":2393,"category":1437,"description":3612,"extension":52,"image":3613,"isDraft":55,"isFeatured":55,"locale":56,"meta":3614,"navigation":54,"path":3621,"publishedAt":3622,"readingTime":2842,"seo":3623,"stem":3624,"tags":3625,"updatedAt":1476,"__hash__":3630},"articles_ar/أفضل-لغة-برمجة-للتعلم-في-2025.md","أفضل لغة برمجة للتعلم في 2025",{"type":9,"value":2394,"toc":3590},[2395,2398,2401,2405,2408,2414,2420,2426,2432,2438,2442,2446,2449,2454,2486,2491,2508,2514,2519,2578,2582,2585,2590,2616,2621,2647,2651,2668,2673,2677,2879,2883,2886,2891,2917,2921,2941,2946,2952,2956,3052,3056,3059,3064,3090,3094,3111,3116,3120,3202,3206,3209,3214,3239,3243,3256,3261,3265,3330,3334,3337,3342,3366,3370,3381,3386,3390,3394,3404,3408,3416,3420,3434,3438,3447,3451,3459,3463,3471,3475,3493,3497,3503,3509,3514,3528,3533,3547,3552,3572,3574,3577,3580,3583,3586],[12,2396,2397],{},"اختيار لغة البرمجة الأولى في 2025 يمكن أن يشعر بالإرهاق. مع الذكاء الاصطناعي الذي يعيد تشكيل الصناعة، الحوسبة السحابية التي تصبح ضرورية، ولغات جديدة تظهر، يبدو المشهد مختلفاً عما كان عليه قبل بضع سنوات فقط.",[12,2399,2400],{},"سوف يساعدك هذا الدليل في اتخاذ قرار مستنير بناءً على اتجاهات الصناعة الحالية، الطلب في سوق العمل، ومناطق التكنولوجيا التي تهتم بها أكثر. سواء كنت تهدف لتطوير الويب، الذكاء الاصطناعي/التعلم الآلي، تطبيقات الهاتف المحمول، أو البرمجة النظامية، هناك نقطة بداية مثالية لرحلتك.",[16,2402,2404],{"id":2403},"كيفية-اختيار-اللغة-المناسبة","كيفية اختيار اللغة المناسبة",[12,2406,2407],{},"قبل الغوص في لغات محددة، ضع في اعتبارك هذه العوامل الرئيسية:",[12,2409,2410,2413],{},[174,2411,2412],{},"أهدافك",": هل تبني مواقع إلكترونية؟ تطبيقات الهاتف المحمول؟ تعمل مع البيانات؟ كل مسار يستفيد من لغات مختلفة.",[12,2415,2416,2419],{},[174,2417,2418],{},"سوق العمل",": بعض اللغات لديها فرص عمل أكثر ورواتب أعلى من غيرها.",[12,2421,2422,2425],{},[174,2423,2424],{},"منحنى التعلم",": بعض اللغات صديقة للمبتدئين، بينما لدى غيرها منحنيات تعلم أكثر حدة.",[12,2427,2428,2431],{},[174,2429,2430],{},"دعم المجتمع",": المجتمعات النشطة تعني موارد أفضل، مكتبات، ومساعدة عندما تتعثر.",[12,2433,2434,2437],{},[174,2435,2436],{},"الحماية المستقبلية",": اختر لغات ستظل ذات صلة مع تطور التكنولوجيا.",[16,2439,2441],{"id":2440},"أفضل-لغات-البرمجة-لعام-2025","أفضل لغات البرمجة لعام 2025",[209,2443,2445],{"id":2444},"python-قائد-الذكاء-الاصطناعي-وعلم-البيانات","Python: قائد الذكاء الاصطناعي وعلم البيانات",[12,2447,2448],{},"يظل Python اللغة الأكثر شعبية للمبتدئين في 2025، ولأسباب وجيهة.",[12,2450,2451],{},[174,2452,2453],{},"لماذا Python؟",[186,2455,2456,2462,2468,2474,2480],{},[189,2457,2458,2461],{},[174,2459,2460],{},"بناء جملة واضح",": يقرأ تقريباً مثل الإنجليزية، مما يجعله مثالياً للمبتدئين",[189,2463,2464,2467],{},[174,2465,2466],{},"سيادة الذكاء الاصطناعي/التعلم الآلي",": يدعم معظم أطر العمل الذكاء الاصطناعي (TensorFlow، PyTorch، Hugging Face)",[189,2469,2470,2473],{},[174,2471,2472],{},"متعدد الاستخدامات",": تطوير الويب، علم البيانات، الأتمتة، البرمجة النصية، والمزيد",[189,2475,2476,2479],{},[174,2477,2478],{},"نظام بيئي هائل",": أكثر من 400,000 حزمة على PyPI",[189,2481,2482,2485],{},[174,2483,2484],{},"طلب عالي",": يستخدمها Google، Netflix، NASA، وعدد لا يحصى من الشركات الناشئة",[12,2487,2488],{},[174,2489,2490],{},"الأفضل لـ:",[186,2492,2493,2496,2499,2502,2505],{},[189,2494,2495],{},"علم البيانات والتحليلات",[189,2497,2498],{},"التعلم الآلي وتطوير الذكاء الاصطناعي",[189,2500,2501],{},"استخراج الويب والأتمتة",[189,2503,2504],{},"تطوير الويب الخلفي (Django، FastAPI)",[189,2506,2507],{},"الحوسبة العلمية",[12,2509,2510,2513],{},[174,2511,2512],{},"نظرة العمل:","\nمطورو Python في طلب عالي جداً، خاصة في أدوار الذكاء الاصطناعي/التعلم الآلي. تتراوح الرواتب المتوسطة من 80,000 إلى 150,000 دولار+ اعتماداً على الخبرة والتخصص.",[12,2515,2516],{},[174,2517,2518],{},"مثال حالة استخدام:",[577,2520,2524],{"className":2521,"code":2522,"language":2523,"meta":42,"style":42},"language-python shiki shiki-themes github-light dark-plus dark-plus","# استخراج ويب بسيط مع Beautiful Soup\nfrom bs4 import BeautifulSoup\nimport requests\n\nresponse = requests.get('https://example.com')\nsoup = BeautifulSoup(response.text, 'html.parser')\n\nfor headline in soup.find_all('h2'):\n    print(headline.text)\n","python",[584,2525,2526,2533,2538,2543,2549,2555,2561,2566,2572],{"__ignoreMap":42},[2008,2527,2530],{"class":2528,"line":2529},"line",1,[2008,2531,2532],{},"# استخراج ويب بسيط مع Beautiful Soup\n",[2008,2534,2535],{"class":2528,"line":46},[2008,2536,2537],{},"from bs4 import BeautifulSoup\n",[2008,2539,2540],{"class":2528,"line":43},[2008,2541,2542],{},"import requests\n",[2008,2544,2546],{"class":2528,"line":2545},4,[2008,2547,2548],{"emptyLinePlaceholder":54},"\n",[2008,2550,2552],{"class":2528,"line":2551},5,[2008,2553,2554],{},"response = requests.get('https://example.com')\n",[2008,2556,2558],{"class":2528,"line":2557},6,[2008,2559,2560],{},"soup = BeautifulSoup(response.text, 'html.parser')\n",[2008,2562,2564],{"class":2528,"line":2563},7,[2008,2565,2548],{"emptyLinePlaceholder":54},[2008,2567,2569],{"class":2528,"line":2568},8,[2008,2570,2571],{},"for headline in soup.find_all('h2'):\n",[2008,2573,2575],{"class":2528,"line":2574},9,[2008,2576,2577],{},"    print(headline.text)\n",[209,2579,2581],{"id":2580},"javascripttypescript-ضرورية-لتطوير-الويب","JavaScript/TypeScript: ضرورية لتطوير الويب",[12,2583,2584],{},"JavaScript يدير الويب، وأصبح TypeScript المعيار الصناعي للتطبيقات الكبيرة.",[12,2586,2587],{},[174,2588,2589],{},"لماذا JavaScript؟",[186,2591,2592,2598,2604,2610],{},[189,2593,2594,2597],{},[174,2595,2596],{},"عالمية",": تعمل في المتصفحات، الخوادم (Node.js)، الهاتف المحمول (React Native)، والسطح المكتبي (Electron)",[189,2599,2600,2603],{},[174,2601,2602],{},"النظام البيئي",": أكبر نظام بيئي لحزم (npm) مع أكثر من 2 مليون حزمة",[189,2605,2606,2609],{},[174,2607,2608],{},"أطر العمل",": React، Vue، Next.js، Express تهيمن على تطوير الويب الحديث",[189,2611,2612,2615],{},[174,2613,2614],{},"نتائج فورية",": بنِ مواقع إلكترونية تفاعلية من اليوم الأول",[12,2617,2618],{},[174,2619,2620],{},"لماذا TypeScript؟",[186,2622,2623,2629,2635,2641],{},[189,2624,2625,2628],{},[174,2626,2627],{},"أمان الأنواع",": اكتشف الأخطاء قبل وقت التشغيل",[189,2630,2631,2634],{},[174,2632,2633],{},"أدوات أفضل",": دعم IDE محسن وإكمال تلقائي",[189,2636,2637,2640],{},[174,2638,2639],{},"المعيار الصناعي",": معظم مشاريع JavaScript الجديدة تستخدم TypeScript في 2025",[189,2642,2643,2646],{},[174,2644,2645],{},"القابلية للتوسع",": تجعل قواعد الكود الكبيرة قابلة للإدارة",[12,2648,2649],{},[174,2650,2490],{},[186,2652,2653,2656,2659,2662,2665],{},[189,2654,2655],{},"تطوير الويب الأمامي",[189,2657,2658],{},"التطوير الكامل المكدس",[189,2660,2661],{},"تطوير تطبيقات الهاتف المحمول (React Native)",[189,2663,2664],{},"التطبيقات السطح المكتبي",[189,2666,2667],{},"التطوير من جانب الخادم (Node.js، Deno، Bun)",[12,2669,2670,2672],{},[174,2671,2512],{},"\nمطورو JavaScript/TypeScript لديهم أعلى عدد من فرص العمل. تتراوح الرواتب من 70,000 إلى 140,000 دولار+ لمطوري المكدس الكامل.",[12,2674,2675],{},[174,2676,2518],{},[577,2678,2682],{"className":2679,"code":2680,"language":2681,"meta":42,"style":42},"language-typescript shiki shiki-themes github-light dark-plus dark-plus","// مكون React TypeScript\ninterface User {\n  id: number;\n  name: string;\n  email: string;\n}\n\nfunction UserCard({ user }: { user: User }) {\n  return (\n    \u003Cdiv className=\"user-card\">\n      \u003Ch2>{user.name}\u003C/h2>\n      \u003Cp>{user.email}\u003C/p>\n    \u003C/div>\n  );\n}\n","typescript",[584,2683,2684,2690,2704,2721,2733,2744,2749,2753,2785,2794,2816,2840,2860,2870,2875],{"__ignoreMap":42},[2008,2685,2686],{"class":2528,"line":2529},[2008,2687,2689],{"class":2688},"s56mj","// مكون React TypeScript\n",[2008,2691,2692,2696,2700],{"class":2528,"line":46},[2008,2693,2695],{"class":2694},"s5uUr","interface",[2008,2697,2699],{"class":2698},"su_XB"," User",[2008,2701,2703],{"class":2702},"sG4b4"," {\n",[2008,2705,2706,2710,2714,2718],{"class":2528,"line":43},[2008,2707,2709],{"class":2708},"s9TRk","  id",[2008,2711,2713],{"class":2712},"s1p9p",":",[2008,2715,2717],{"class":2716},"s6-XD"," number",[2008,2719,2720],{"class":2702},";\n",[2008,2722,2723,2726,2728,2731],{"class":2528,"line":2545},[2008,2724,2725],{"class":2708},"  name",[2008,2727,2713],{"class":2712},[2008,2729,2730],{"class":2716}," string",[2008,2732,2720],{"class":2702},[2008,2734,2735,2738,2740,2742],{"class":2528,"line":2551},[2008,2736,2737],{"class":2708},"  email",[2008,2739,2713],{"class":2712},[2008,2741,2730],{"class":2716},[2008,2743,2720],{"class":2702},[2008,2745,2746],{"class":2528,"line":2557},[2008,2747,2748],{"class":2702},"}\n",[2008,2750,2751],{"class":2528,"line":2563},[2008,2752,2548],{"emptyLinePlaceholder":54},[2008,2754,2755,2758,2762,2765,2768,2771,2773,2776,2778,2780,2782],{"class":2528,"line":2568},[2008,2756,2757],{"class":2694},"function",[2008,2759,2761],{"class":2760},"svuFb"," UserCard",[2008,2763,2764],{"class":2702},"({ ",[2008,2766,2767],{"class":2708},"user",[2008,2769,2770],{"class":2702}," }",[2008,2772,2713],{"class":2712},[2008,2774,2775],{"class":2702}," { ",[2008,2777,2767],{"class":2708},[2008,2779,2713],{"class":2712},[2008,2781,2699],{"class":2698},[2008,2783,2784],{"class":2702}," }) {\n",[2008,2786,2787,2791],{"class":2528,"line":2574},[2008,2788,2790],{"class":2789},"sEkCa","  return",[2008,2792,2793],{"class":2702}," (\n",[2008,2795,2796,2799,2803,2806,2809,2813],{"class":2528,"line":1467},[2008,2797,2798],{"class":2712},"    \u003C",[2008,2800,2802],{"class":2801},"sZiGn","div",[2008,2804,2805],{"class":2801}," className",[2008,2807,2808],{"class":2712},"=",[2008,2810,2812],{"class":2811},"sGDl4","\"user-card\"",[2008,2814,2815],{"class":2712},">\n",[2008,2817,2819,2822,2824,2827,2830,2833,2836,2838],{"class":2528,"line":2818},11,[2008,2820,2821],{"class":2702},"      \u003C",[2008,2823,16],{"class":2698},[2008,2825,2826],{"class":2702},">{user.",[2008,2828,2829],{"class":2801},"name",[2008,2831,2832],{"class":2702},"}",[2008,2834,2835],{"class":2712},"\u003C/",[2008,2837,16],{"class":2801},[2008,2839,2815],{"class":2712},[2008,2841,2843,2845,2847,2849,2852,2854,2856,2858],{"class":2528,"line":2842},12,[2008,2844,2821],{"class":2702},[2008,2846,12],{"class":2698},[2008,2848,2826],{"class":2702},[2008,2850,2851],{"class":2801},"email",[2008,2853,2832],{"class":2702},[2008,2855,2835],{"class":2712},[2008,2857,12],{"class":2801},[2008,2859,2815],{"class":2712},[2008,2861,2863,2866,2868],{"class":2528,"line":2862},13,[2008,2864,2865],{"class":2712},"    \u003C/",[2008,2867,2802],{"class":2801},[2008,2869,2815],{"class":2712},[2008,2871,2872],{"class":2528,"line":2119},[2008,2873,2874],{"class":2702},"  );\n",[2008,2876,2877],{"class":2528,"line":2035},[2008,2878,2748],{"class":2702},[209,2880,2882],{"id":2881},"rust-مستقبل-البرمجة-النظامية","Rust: مستقبل البرمجة النظامية",[12,2884,2885],{},"انفجر شعبية Rust ويستخدمه الآن شركات كبرى للتطبيقات ذات الأداء الحرج.",[12,2887,2888],{},[174,2889,2890],{},"لماذا Rust؟",[186,2892,2893,2899,2905,2911],{},[189,2894,2895,2898],{},[174,2896,2897],{},"أمان الذاكرة",": يمنع الأعطال والثغرات الأمنية بدون جمع القمامة",[189,2900,2901,2904],{},[174,2902,2903],{},"الأداء",": سريع مثل C/C++ لكنه أكثر أماناً بكثير",[189,2906,2907,2910],{},[174,2908,2909],{},"حديث",": مبني مع أفضل الممارسات اليوم في الاعتبار",[189,2912,2913,2916],{},[174,2914,2915],{},"اعتماد متزايد",": يستخدمه Microsoft، Amazon، Discord، Cloudflare، وMeta",[12,2918,2919],{},[174,2920,2490],{},[186,2922,2923,2926,2929,2932,2935,2938],{},[189,2924,2925],{},"البرمجة النظامية",[189,2927,2928],{},"تطوير WebAssembly",[189,2930,2931],{},"البلوكشين/العملات المشفرة",[189,2933,2934],{},"تطوير محركات الألعاب",[189,2936,2937],{},"أدوات سطر الأوامر",[189,2939,2940],{},"الأنظمة المدمجة",[12,2942,2943,2945],{},[174,2944,2512],{},"\nيطالب مطورو Rust برواتب مميزة (100,000 - 180,000 دولار+) بسبب الندرة والطلب العالي على الخبرة على مستوى الأنظمة.",[12,2947,2948,2951],{},[174,2949,2950],{},"منحنى التعلم:","\nأكثر حدة من Python أو JavaScript، لكن ضمانات الأمان تستحق العناء.",[12,2953,2954],{},[174,2955,2518],{},[577,2957,2961],{"className":2958,"code":2959,"language":2960,"meta":42,"style":42},"language-rust shiki shiki-themes github-light dark-plus dark-plus","// برمجة متزامنة آمنة\nuse std::thread;\n\nfn main() {\n    let data = vec![1, 2, 3, 4, 5];\n    \n    let handles: Vec\u003C_> = data.into_iter()\n        .map(|num| {\n            thread::spawn(move || {\n                println!(\"Processing: {}\", num * 2);\n            })\n        })\n        .collect();\n    \n    for handle in handles {\n        handle.join().unwrap();\n    }\n}\n","rust",[584,2962,2963,2968,2973,2977,2982,2987,2992,2997,3002,3007,3012,3017,3022,3027,3031,3036,3042,3048],{"__ignoreMap":42},[2008,2964,2965],{"class":2528,"line":2529},[2008,2966,2967],{},"// برمجة متزامنة آمنة\n",[2008,2969,2970],{"class":2528,"line":46},[2008,2971,2972],{},"use std::thread;\n",[2008,2974,2975],{"class":2528,"line":43},[2008,2976,2548],{"emptyLinePlaceholder":54},[2008,2978,2979],{"class":2528,"line":2545},[2008,2980,2981],{},"fn main() {\n",[2008,2983,2984],{"class":2528,"line":2551},[2008,2985,2986],{},"    let data = vec![1, 2, 3, 4, 5];\n",[2008,2988,2989],{"class":2528,"line":2557},[2008,2990,2991],{},"    \n",[2008,2993,2994],{"class":2528,"line":2563},[2008,2995,2996],{},"    let handles: Vec\u003C_> = data.into_iter()\n",[2008,2998,2999],{"class":2528,"line":2568},[2008,3000,3001],{},"        .map(|num| {\n",[2008,3003,3004],{"class":2528,"line":2574},[2008,3005,3006],{},"            thread::spawn(move || {\n",[2008,3008,3009],{"class":2528,"line":1467},[2008,3010,3011],{},"                println!(\"Processing: {}\", num * 2);\n",[2008,3013,3014],{"class":2528,"line":2818},[2008,3015,3016],{},"            })\n",[2008,3018,3019],{"class":2528,"line":2842},[2008,3020,3021],{},"        })\n",[2008,3023,3024],{"class":2528,"line":2862},[2008,3025,3026],{},"        .collect();\n",[2008,3028,3029],{"class":2528,"line":2119},[2008,3030,2991],{},[2008,3032,3033],{"class":2528,"line":2035},[2008,3034,3035],{},"    for handle in handles {\n",[2008,3037,3039],{"class":2528,"line":3038},16,[2008,3040,3041],{},"        handle.join().unwrap();\n",[2008,3043,3045],{"class":2528,"line":3044},17,[2008,3046,3047],{},"    }\n",[2008,3049,3050],{"class":2528,"line":2380},[2008,3051,2748],{},[209,3053,3055],{"id":3054},"go-بسيط-سريع-وأصلي-السحابة","Go: بسيط، سريع، وأصلي السحابة",[12,3057,3058],{},"أصبحت لغة Go من Google المعيار للبنية التحتية السحابية والخدمات المصغرة.",[12,3060,3061],{},[174,3062,3063],{},"لماذا Go؟",[186,3065,3066,3072,3078,3084],{},[189,3067,3068,3071],{},[174,3069,3070],{},"بسيط",": سهل التعلم، بناء جملة نظيف، تجميع سريع",[189,3073,3074,3077],{},[174,3075,3076],{},"متزامن",": تزامن مدمج مع goroutines",[189,3079,3080,3083],{},[174,3081,3082],{},"سريع",": أداء قريب من C++ مع جمع القمامة",[189,3085,3086,3089],{},[174,3087,3088],{},"المعيار السحابي",": يدعم Docker، Kubernetes، Terraform، ومعظم أدوات السحابة",[12,3091,3092],{},[174,3093,2490],{},[186,3095,3096,3099,3102,3105,3108],{},[189,3097,3098],{},"واجهات برمجة التطبيقات الخلفية والخدمات المصغرة",[189,3100,3101],{},"أدوات البنية التحتية السحابية",[189,3103,3104],{},"أتمتة DevOps",[189,3106,3107],{},"تطبيقات سطر الأوامر",[189,3109,3110],{},"الخدمات عالية الأداء",[12,3112,3113,3115],{},[174,3114,2512],{},"\nيكسب مطورو Go 95,000 - 160,000 دولار، خاصة في أدوار الحوسبة السحابية وDevOps.",[12,3117,3118],{},[174,3119,2518],{},[577,3121,3125],{"className":3122,"code":3123,"language":3124,"meta":42,"style":42},"language-go shiki shiki-themes github-light dark-plus dark-plus","// خادم HTTP بسيط مع التزامن\npackage main\n\nimport (\n    \"fmt\"\n    \"net/http\"\n)\n\nfunc handler(w http.ResponseWriter, r *http.Request) {\n    fmt.Fprintf(w, \"Hello from Go!\")\n}\n\nfunc main() {\n    http.HandleFunc(\"/\", handler)\n    http.ListenAndServe(\":8080\", nil)\n}\n","go",[584,3126,3127,3132,3137,3141,3146,3151,3156,3161,3165,3170,3175,3179,3183,3188,3193,3198],{"__ignoreMap":42},[2008,3128,3129],{"class":2528,"line":2529},[2008,3130,3131],{},"// خادم HTTP بسيط مع التزامن\n",[2008,3133,3134],{"class":2528,"line":46},[2008,3135,3136],{},"package main\n",[2008,3138,3139],{"class":2528,"line":43},[2008,3140,2548],{"emptyLinePlaceholder":54},[2008,3142,3143],{"class":2528,"line":2545},[2008,3144,3145],{},"import (\n",[2008,3147,3148],{"class":2528,"line":2551},[2008,3149,3150],{},"    \"fmt\"\n",[2008,3152,3153],{"class":2528,"line":2557},[2008,3154,3155],{},"    \"net/http\"\n",[2008,3157,3158],{"class":2528,"line":2563},[2008,3159,3160],{},")\n",[2008,3162,3163],{"class":2528,"line":2568},[2008,3164,2548],{"emptyLinePlaceholder":54},[2008,3166,3167],{"class":2528,"line":2574},[2008,3168,3169],{},"func handler(w http.ResponseWriter, r *http.Request) {\n",[2008,3171,3172],{"class":2528,"line":1467},[2008,3173,3174],{},"    fmt.Fprintf(w, \"Hello from Go!\")\n",[2008,3176,3177],{"class":2528,"line":2818},[2008,3178,2748],{},[2008,3180,3181],{"class":2528,"line":2842},[2008,3182,2548],{"emptyLinePlaceholder":54},[2008,3184,3185],{"class":2528,"line":2862},[2008,3186,3187],{},"func main() {\n",[2008,3189,3190],{"class":2528,"line":2119},[2008,3191,3192],{},"    http.HandleFunc(\"/\", handler)\n",[2008,3194,3195],{"class":2528,"line":2035},[2008,3196,3197],{},"    http.ListenAndServe(\":8080\", nil)\n",[2008,3199,3200],{"class":2528,"line":3038},[2008,3201,2748],{},[209,3203,3205],{"id":3204},"kotlin-android-الحديث-وما-بعده","Kotlin: Android الحديث وما بعده",[12,3207,3208],{},"Kotlin هي اللغة المفضلة لدى Google لتطوير Android وتنمو في التطوير الخلفي.",[12,3210,3211],{},[174,3212,3213],{},"لماذا Kotlin؟",[186,3215,3216,3221,3227,3233],{},[189,3217,3218,3220],{},[174,3219,2909],{},": يصلح نقاط ضعف Java مع بناء جملة أفضل",[189,3222,3223,3226],{},[174,3224,3225],{},"Android الرسمي",": اللغة الموصى بها من Google لـ Android",[189,3228,3229,3232],{},[174,3230,3231],{},"قابل للتشغيل المتبادل",": يعمل بسلاسة مع كود Java",[189,3234,3235,3238],{},[174,3236,3237],{},"متعدد المنصات",": بنِ iOS، Android، الويب، والسطح المكتبي من قاعدة كود واحدة",[12,3240,3241],{},[174,3242,2490],{},[186,3244,3245,3248,3251,3254],{},[189,3246,3247],{},"تطوير الهاتف المحمول Android",[189,3249,3250],{},"تطبيقات الهاتف المحمول متعددة المنصات (Kotlin Multiplatform)",[189,3252,3253],{},"التطوير الخلفي (مع Ktor، Spring Boot)",[189,3255,2664],{},[12,3257,3258,3260],{},[174,3259,2512],{},"\nيكسب مطورو Kotlin، خاصة لـ Android، 85,000 - 145,000 دولار.",[12,3262,3263],{},[174,3264,2518],{},[577,3266,3270],{"className":3267,"code":3268,"language":3269,"meta":42,"style":42},"language-kotlin shiki shiki-themes github-light dark-plus dark-plus","// واجهة مستخدم Android مع Jetpack Compose\n@Composable\nfun Greeting(name: String) {\n    Column(\n        modifier = Modifier.padding(16.dp)\n    ) {\n        Text(\"Hello, $name!\")\n        Button(onClick = { /* Handle click */ }) {\n            Text(\"Click me\")\n        }\n    }\n}\n","kotlin",[584,3271,3272,3277,3282,3287,3292,3297,3302,3307,3312,3317,3322,3326],{"__ignoreMap":42},[2008,3273,3274],{"class":2528,"line":2529},[2008,3275,3276],{},"// واجهة مستخدم Android مع Jetpack Compose\n",[2008,3278,3279],{"class":2528,"line":46},[2008,3280,3281],{},"@Composable\n",[2008,3283,3284],{"class":2528,"line":43},[2008,3285,3286],{},"fun Greeting(name: String) {\n",[2008,3288,3289],{"class":2528,"line":2545},[2008,3290,3291],{},"    Column(\n",[2008,3293,3294],{"class":2528,"line":2551},[2008,3295,3296],{},"        modifier = Modifier.padding(16.dp)\n",[2008,3298,3299],{"class":2528,"line":2557},[2008,3300,3301],{},"    ) {\n",[2008,3303,3304],{"class":2528,"line":2563},[2008,3305,3306],{},"        Text(\"Hello, $name!\")\n",[2008,3308,3309],{"class":2528,"line":2568},[2008,3310,3311],{},"        Button(onClick = { /* Handle click */ }) {\n",[2008,3313,3314],{"class":2528,"line":2574},[2008,3315,3316],{},"            Text(\"Click me\")\n",[2008,3318,3319],{"class":2528,"line":1467},[2008,3320,3321],{},"        }\n",[2008,3323,3324],{"class":2528,"line":2818},[2008,3325,3047],{},[2008,3327,3328],{"class":2528,"line":2842},[2008,3329,2748],{},[209,3331,3333],{"id":3332},"swift-تطوير-نظام-apple","Swift: تطوير نظام Apple",[12,3335,3336],{},"Swift يدعم جميع تطوير منصات Apple الحديثة.",[12,3338,3339],{},[174,3340,3341],{},"لماذا Swift؟",[186,3343,3344,3349,3355,3360],{},[189,3345,3346,3348],{},[174,3347,2903],{},": سريع وفعال",[189,3350,3351,3354],{},[174,3352,3353],{},"الأمان",": نظام أنواع قوي يمنع الأعطال",[189,3356,3357,3359],{},[174,3358,2909],{},": بناء جملة نظيف مع ميزات قوية",[189,3361,3362,3365],{},[174,3363,3364],{},"نظام Apple",": iOS، macOS، watchOS، tvOS",[12,3367,3368],{},[174,3369,2490],{},[186,3371,3372,3375,3378],{},[189,3373,3374],{},"تطوير تطبيقات iOS وmacOS",[189,3376,3377],{},"تطبيقات Apple Watch وApple TV",[189,3379,3380],{},"التطوير من جانب الخادم (مع Vapor)",[12,3382,3383,3385],{},[174,3384,2512],{},"\nيكسب مطورو iOS مع مهارات Swift 90,000 - 150,000 دولار، مع طلب عالي في الشركات أولاً للهاتف المحمول.",[16,3387,3389],{"id":3388},"اللغات-حسب-مسار-المهنة","اللغات حسب مسار المهنة",[209,3391,3393],{"id":3392},"لتطوير-الويب","لتطوير الويب",[12,3395,3396,3399,3400,3403],{},[174,3397,3398],{},"ابدأ بـ:"," JavaScript/TypeScript\n",[174,3401,3402],{},"ثم أضف:"," Python (Django/FastAPI) أو Go للخلفية",[209,3405,3407],{"id":3406},"للذكاء-الاصطناعيالتعلم-الآلي","للذكاء الاصطناعي/التعلم الآلي",[12,3409,3410,3412,3413,3415],{},[174,3411,3398],{}," Python\n",[174,3414,3402],{}," R للإحصائيات، Julia للحوسبة عالية الأداء",[209,3417,3419],{"id":3418},"لتطوير-الهاتف-المحمول","لتطوير الهاتف المحمول",[12,3421,3422,3425,3426,3429,3430,3433],{},[174,3423,3424],{},"Android:"," Kotlin\n",[174,3427,3428],{},"iOS:"," Swift\n",[174,3431,3432],{},"متعدد المنصات:"," Flutter (Dart) أو React Native (JavaScript/TypeScript)",[209,3435,3437],{"id":3436},"لتطوير-الألعاب","لتطوير الألعاب",[12,3439,3440,3442,3443,3446],{},[174,3441,3398],{}," C# (Unity) أو C++ (Unreal Engine)\n",[174,3444,3445],{},"ألعاب مستقلة:"," Godot (GDScript) أو Rust",[209,3448,3450],{"id":3449},"لـ-devopsالسحابة","لـ DevOps/السحابة",[12,3452,3453,3455,3456,3458],{},[174,3454,3398],{}," Python للبرمجة النصية\n",[174,3457,3402],{}," Go للأدوات، Terraform للبنية التحتية",[209,3460,3462],{"id":3461},"للهندسة-البيانات","للهندسة البيانات",[12,3464,3465,3467,3468,3470],{},[174,3466,3398],{}," Python أو SQL\n",[174,3469,3402],{}," Scala (Apache Spark)، Go لخطوط أنابيب البيانات",[16,3472,3474],{"id":3473},"اللغات-المراقبة-في-2025","اللغات المراقبة في 2025",[12,3476,3477,3480,3481,3484,3485,3488,3489,3492],{},[174,3478,3479],{},"Mojo",": لغة متوافقة مع Python مع أداء C++، مثالية للذكاء الاصطناعي\n",[174,3482,3483],{},"Zig",": بديل C مع الأمان والبساطة\n",[174,3486,3487],{},"Elixir",": لغة وظيفية للتطبيقات في الوقت الفعلي وقابلة للتوسع\n",[174,3490,3491],{},"Dart",": يدعم Flutter، ينمو في تطوير الهاتف المحمول",[16,3494,3496],{"id":3495},"استراتيجيات-التعلم","استراتيجيات التعلم",[12,3498,3499,3502],{},[174,3500,3501],{},"1. اختر لغة واحدة والتزم بها","\nلا تقفز بين اللغات في الأشهر الـ 3-6 الأولى. أتقن الأساسيات أولاً.",[12,3504,3505,3508],{},[174,3506,3507],{},"2. بنِ مشاريع حقيقية","\nالنظرية مهمة، لكن بناء المشاريع يعزز تعلمك.",[12,3510,3511],{},[174,3512,3513],{},"3. انضم للمجتمعات",[186,3515,3516,3519,3522,3525],{},[189,3517,3518],{},"Python: r/learnpython، Python Discord",[189,3520,3521],{},"JavaScript: r/learnjavascript، Frontend Mentor",[189,3523,3524],{},"Rust: منتدى مستخدمي Rust، r/rust",[189,3526,3527],{},"Go: Gophers Slack، r/golang",[12,3529,3530],{},[174,3531,3532],{},"4. استخدم موارد التعلم الحديثة",[186,3534,3535,3538,3541,3544],{},[189,3536,3537],{},"منصات تفاعلية: FreeCodeCamp، Codecademy، Exercism",[189,3539,3540],{},"قائمة على المشاريع: Frontend Mentor، LeetCode، Project Euler",[189,3542,3543],{},"التوثيق: اقرأ دائماً التوثيق الرسمي",[189,3545,3546],{},"مساعدو الذكاء الاصطناعي: استخدم ChatGPT وGitHub Copilot لفهم الكود",[12,3548,3549],{},[174,3550,3551],{},"5. ركز على الأساسيات",[186,3553,3554,3557,3560,3563,3566,3569],{},[189,3555,3556],{},"المتغيرات وأنواع البيانات",[189,3558,3559],{},"تدفق التحكم (if/else، loops)",[189,3561,3562],{},"الوظائف والنطاق",[189,3564,3565],{},"هياكل البيانات (arrays، objects، إلخ)",[189,3567,3568],{},"معالجة الأخطاء",[189,3570,3571],{},"العمل مع APIs",[16,3573,2000],{"id":2000},[12,3575,3576],{},"\"أفضل\" لغة برمجة في 2025 تعتمد على أهدافك، لكن الخبر السار هو أن تعلم أي لغة سيعلمك مفاهيم البرمجة الأساسية التي تنتقل إلى الآخرين.",[12,3578,3579],{},"ابدأ بلغة واحدة، بنِ مشاريع تهمك، ولا تقلق بشأن اختيار \"خطأ\". كل لغة تتعلمها تجعل التالية أسهل. الخطوة الأهم هي البدء في البرمجة اليوم.",[12,3581,3582],{},"ما يهم أكثر ليس أي لغة تختار، بل أن تلتزم بها طويلاً بما يكفي لبناء مهارات حقيقية. اختر واحدة، التزم بها لمدة 3-6 أشهر على الأقل، وشاهد إمكانيات مهنتك تتوسع.",[12,3584,3585],{},"برمجة سعيدة! 🚀",[3587,3588,3589],"style",{},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .s56mj, html code.shiki .s56mj{--shiki-light:#6A737D;--shiki-default:#6A9955;--shiki-dark:#6A9955}html pre.shiki code .s5uUr, html code.shiki .s5uUr{--shiki-light:#D73A49;--shiki-default:#569CD6;--shiki-dark:#569CD6}html pre.shiki code .su_XB, html code.shiki .su_XB{--shiki-light:#6F42C1;--shiki-default:#4EC9B0;--shiki-dark:#4EC9B0}html pre.shiki code .sG4b4, html code.shiki .sG4b4{--shiki-light:#24292E;--shiki-default:#D4D4D4;--shiki-dark:#D4D4D4}html pre.shiki code .s9TRk, html code.shiki .s9TRk{--shiki-light:#E36209;--shiki-default:#9CDCFE;--shiki-dark:#9CDCFE}html pre.shiki code .s1p9p, html code.shiki .s1p9p{--shiki-light:#D73A49;--shiki-default:#D4D4D4;--shiki-dark:#D4D4D4}html pre.shiki code .s6-XD, html code.shiki .s6-XD{--shiki-light:#005CC5;--shiki-default:#4EC9B0;--shiki-dark:#4EC9B0}html pre.shiki code .svuFb, html code.shiki .svuFb{--shiki-light:#6F42C1;--shiki-default:#DCDCAA;--shiki-dark:#DCDCAA}html pre.shiki code .sEkCa, html code.shiki .sEkCa{--shiki-light:#D73A49;--shiki-default:#C586C0;--shiki-dark:#C586C0}html pre.shiki code .sZiGn, html code.shiki .sZiGn{--shiki-light:#24292E;--shiki-default:#9CDCFE;--shiki-dark:#9CDCFE}html pre.shiki code .sGDl4, html code.shiki .sGDl4{--shiki-light:#032F62;--shiki-default:#CE9178;--shiki-dark:#CE9178}",{"title":42,"searchDepth":43,"depth":43,"links":3591},[3592,3593,3601,3609,3610,3611],{"id":2403,"depth":46,"text":2404},{"id":2440,"depth":46,"text":2441,"children":3594},[3595,3596,3597,3598,3599,3600],{"id":2444,"depth":43,"text":2445},{"id":2580,"depth":43,"text":2581},{"id":2881,"depth":43,"text":2882},{"id":3054,"depth":43,"text":3055},{"id":3204,"depth":43,"text":3205},{"id":3332,"depth":43,"text":3333},{"id":3388,"depth":46,"text":3389,"children":3602},[3603,3604,3605,3606,3607,3608],{"id":3392,"depth":43,"text":3393},{"id":3406,"depth":43,"text":3407},{"id":3418,"depth":43,"text":3419},{"id":3436,"depth":43,"text":3437},{"id":3449,"depth":43,"text":3450},{"id":3461,"depth":43,"text":3462},{"id":3473,"depth":46,"text":3474},{"id":3495,"depth":46,"text":3496},{"id":2000,"depth":46,"text":2000},"دليل شامل لاختيار لغة البرمجة المناسبة في 2025. استكشف أفضل اللغات بناءً على الطلب الصناعي، الآفاق المهنية، والاتجاهات الناشئة في الذكاء الاصطناعي، تطوير الويب، والبرمجة النظامية.","https://images.unsplash.com/photo-1546410531-bb4caa6b424d?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=MnwxMTc3M3wwfDF8c2VhcmNofDE4fHxwcm9ncmFtbWluZyUyMGxhbmd1YWdlfGVufDB8fHx8MTY3MTE1NDE5OQ&ixlib=rb-4.0.3&q=80&w=2000",{"excerpt":3615},{"type":9,"value":3616},[3617,3619],[12,3618,2397],{},[12,3620,2400],{},"/afdhl-lghh-brmjh-lltalm-fy-2025","2022-12-19T09:42:26.000Z",{"title":2392,"description":3612},"أفضل-لغة-برمجة-للتعلم-في-2025",[2523,3626,2681,2960,3124,3269,1471,3627,1472,3628,3629],"javascript","web-development","ai","cloud","cJ1WQ4GpsL3XEvYADyJFEeyJO6X8uChQwhL9F1tRf0c",{"id":3632,"title":3633,"author":7,"body":3634,"category":2123,"description":2110,"extension":52,"image":3646,"isDraft":54,"isFeatured":55,"locale":56,"meta":3647,"navigation":54,"path":3652,"publishedAt":3653,"readingTime":2574,"seo":3654,"stem":3655,"tags":3656,"updatedAt":3653,"__hash__":3660},"articles_ar/أفضل-ممارسات-devops-للشركات-الناشئة.md","أفضل ممارسات DevOps للشركات الناشئة",{"type":9,"value":3635,"toc":3643},[3636,3639,3641],[12,3637,3638],{},"تطبيق ممارسات DevOps يسرّع عملية التطوير ويحسن الجودة.",[16,3640,2102],{"id":2101},[12,3642,2105],{},{"title":42,"searchDepth":43,"depth":43,"links":3644},[3645],{"id":2101,"depth":46,"text":2102},"https://images.unsplash.com/photo-1618401471353-b98afee0b2eb?q=80&w=1200&auto=format&fit=crop",{"excerpt":3648},{"type":9,"value":3649},[3650],[12,3651,3638],{},"/afdhl-mmarsat-devops-llshrkat-alnasheh","2025-04-01",{"title":3633,"description":2110},"أفضل-ممارسات-devops-للشركات-الناشئة",[2123,3657,3658,3659],"DevOps","الشركات-الناشئة","البنية-التحتية","YUOgAy_uW4pcQLEEHsT9CTtcCBwfjfXD7GdAPmZy6Rk",{"id":3662,"title":3663,"author":7,"body":3664,"category":2123,"description":2110,"extension":52,"image":3676,"isDraft":54,"isFeatured":55,"locale":56,"meta":3677,"navigation":54,"path":3682,"publishedAt":3683,"readingTime":3038,"seo":3684,"stem":3685,"tags":3686,"updatedAt":3683,"__hash__":3689},"articles_ar/أفضل-ممارسات-البرمجة-النظيفة.md","أفضل ممارسات البرمجة النظيفة",{"type":9,"value":3665,"toc":3673},[3666,3669,3671],[12,3667,3668],{},"البرمجة النظيفة تعني كود سهل القراءة والصيانة والتطوير.",[16,3670,2102],{"id":2101},[12,3672,2105],{},{"title":42,"searchDepth":43,"depth":43,"links":3674},[3675],{"id":2101,"depth":46,"text":2102},"https://images.unsplash.com/photo-1461749280684-dccba630e2f6?q=80&w=1200&auto=format&fit=crop",{"excerpt":3678},{"type":9,"value":3679},[3680],[12,3681,3668],{},"/afdhl-mmarsat-albrmjh-alnzyfh","2025-04-29",{"title":3663,"description":2110},"أفضل-ممارسات-البرمجة-النظيفة",[2123,2125,3687,3688],"Clean-Code","أفضل-الممارسات","vrfxPKy2TxT4O-PwQXeeXQrKwB154C7j-HclJ-UeCi8",{"id":3691,"title":3692,"author":7,"body":3693,"category":2123,"description":2110,"extension":52,"image":3705,"isDraft":54,"isFeatured":55,"locale":56,"meta":3706,"navigation":54,"path":3711,"publishedAt":3712,"readingTime":2818,"seo":3713,"stem":3714,"tags":3715,"updatedAt":3712,"__hash__":3717},"articles_ar/أمن-التطبيقات-دليل-شامل-للمطورين-العرب.md","أمن التطبيقات: دليل شامل للمطورين العرب",{"type":9,"value":3694,"toc":3702},[3695,3698,3700],[12,3696,3697],{},"أمن التطبيقات ليس خياراً، بل ضرورة في عالمنا الرقمي.",[16,3699,2102],{"id":2101},[12,3701,2105],{},{"title":42,"searchDepth":43,"depth":43,"links":3703},[3704],{"id":2101,"depth":46,"text":2102},"https://images.unsplash.com/photo-1563986768609-322da13575f3?q=80&w=1200&auto=format&fit=crop",{"excerpt":3707},{"type":9,"value":3708},[3709],[12,3710,3697],{},"/amn-alttbyqat-dlyl-shaml-llmtwryn-alarb","2025-03-25",{"title":3692,"description":2110},"أمن-التطبيقات-دليل-شامل-للمطورين-العرب",[2123,3716,2125,3688],"الأمن-السيبراني","gVkAkz_ZxiA1E5DFp-onVqXhFsD1NYMQ4YY7xI8GAFA",{"id":3719,"title":3720,"author":7,"body":3721,"category":1437,"description":8103,"extension":52,"image":8104,"isDraft":55,"isFeatured":54,"locale":56,"meta":8105,"navigation":54,"path":8110,"publishedAt":2034,"readingTime":2380,"seo":8111,"stem":8112,"tags":8113,"updatedAt":1476,"__hash__":8121},"articles_ar/أنماط-vue3-أساسية-2025.md","أنماط Vue 3 الأساسية لبناء تطبيقات حديثة وقابلة للتوسع في 2025",{"type":9,"value":3722,"toc":8059},[3723,3726,3730,3733,3806,4246,4250,4253,4257,4570,4574,4826,4830,4834,5274,5278,5582,5586,5590,5878,5882,6040,6044,6054,6132,6139,6246,6253,6353,6357,6361,6570,6574,6865,6869,6873,7082,7086,7236,7240,7244,7250,7254,7260,7264,7268,7539,7543,7910,7914,7918,7921,7935,7939,8047,8050,8053,8056],[12,3724,3725],{},"ثور Vue 3 طريقة بناء المطورين للواجهات التفاعلية والأداء العالي. Composition API، دعم TypeScript المحسن، والميزات الجديدة مثل Teleport و Suspense مهدت الطريق لتطوير تطبيقات أكثر قابلية للتوسع، قابلية للصيانة، وكفاءة. إتقان أنماط Vue 3 الأساسية أمر حاسم لأي مطور يريد بناء تطبيقات ويب حديثة. يتعمق هذا الدليل في الأنماط والممارسات الأساسية الرئيسية.",[16,3727,3729],{"id":3728},"_1-إتقان-composition-api","1. إتقان Composition API",[12,3731,3732],{},"Composition API هو حجر الأساس لتطوير Vue 3 الحديث، حيث يوفر طريقة مرنة لتنظيم وإعادة استخدام المنطق.",[186,3734,3735,3744,3770,3780],{},[189,3736,3737,3743],{},[174,3738,3739,3740,2713],{},"دالة ",[584,3741,3742],{},"setup()"," نقطة الدخول لاستخدام Composition API داخل المكونات. هناك حيث تعلن الحالة التفاعلية، الخصائص المحسوبة، المراقبين، وخطافات دورة الحياة.",[189,3745,3746,3756],{},[174,3747,3748,3749,3752,3753,2713],{},"التفاعل مع ",[584,3750,3751],{},"ref"," و ",[584,3754,3755],{},"reactive",[186,3757,3758,3764],{},[189,3759,3760,3763],{},[584,3761,3762],{},"ref()",": يُستخدم لإنشاء مراجع تفاعلية للقيم البدائية (String، Number، Boolean) أو كائنات فردية.",[189,3765,3766,3769],{},[584,3767,3768],{},"reactive()",": يُستخدم لإنشاء وكلاء تفاعليين للكائنات. يتم تتبع التغييرات في خصائص الكائن.",[189,3771,3772,3779],{},[174,3773,3774,3775,3778],{},"الخصائص المحسوبة (",[584,3776,3777],{},"computed",")",": لاشتقاق الحالة بناءً على مصادر تفاعلية أخرى. يتم تخزينها مؤقتاً وإعادة تقييمها فقط عندما تتغير تبعياتها.",[189,3781,3782,3791,3792],{},[174,3783,3784,3785,3752,3788,3778],{},"المراقبون (",[584,3786,3787],{},"watch",[584,3789,3790],{},"watchEffect",":\n",[186,3793,3794,3800],{},[189,3795,3796,3799],{},[584,3797,3798],{},"watch()",": مراقبة مصدر تفاعلي محدد صراحة وتشغيل رد الاتصال عند تغييره. يوفر تحكماً أكبر في التبعيات والتوقيت.",[189,3801,3802,3805],{},[584,3803,3804],{},"watchEffect()",": يشغل دالة فوراً ويعيد تشغيلها كلما تغيرت أي من تبعياتها التفاعلية. أبسط للتأثيرات الجانبية المباشرة.",[577,3807,3811],{"className":3808,"code":3809,"language":3810,"meta":42,"style":42},"language-vue shiki shiki-themes github-light dark-plus dark-plus","\u003Cscript setup lang=\"ts\">\nimport { ref, reactive, computed, watch, watchEffect } from \"vue\";\n\n// الحالة التفاعلية\nconst count = ref(0);\nconst user = reactive({ name: \"John Doe\", age: 30 });\n\n// الخاصية المحسوبة\nconst doubledCount = computed(() => count.value * 2);\n\n// المراقب\nwatch(count, (newCount, oldCount) => {\n  console.log(`Count changed from ${oldCount} to ${newCount}`);\n});\n\n// مراقب التأثير\nwatchEffect(() => {\n  console.log(`Count is ${count.value}`);\n});\n\u003C/script>\n\n\u003Ctemplate>\n  \u003Cdiv>\n    \u003Cp>Count: {{ count }}\u003C/p>\n    \u003Cp>Doubled: {{ doubledCount }}\u003C/p>\n    \u003Cbutton @click=\"count++\">Increment\u003C/button>\n  \u003C/div>\n\u003C/template>\n","vue",[584,3812,3813,3837,3874,3878,3883,3908,3939,3943,3948,3981,3985,3990,4016,4053,4058,4062,4067,4077,4105,4110,4118,4123,4133,4143,4167,4190,4227,4237],{"__ignoreMap":42},[2008,3814,3815,3819,3823,3827,3830,3832,3835],{"class":2528,"line":2529},[2008,3816,3818],{"class":3817},"sffyN","\u003C",[2008,3820,3822],{"class":3821},"ssFZ1","script",[2008,3824,3826],{"class":3825},"sFcZJ"," setup",[2008,3828,3829],{"class":3825}," lang",[2008,3831,2808],{"class":2702},[2008,3833,3834],{"class":2811},"\"ts\"",[2008,3836,2815],{"class":3817},[2008,3838,3839,3842,3844,3846,3849,3851,3853,3855,3857,3859,3861,3863,3866,3869,3872],{"class":2528,"line":46},[2008,3840,3841],{"class":2789},"import",[2008,3843,2775],{"class":2702},[2008,3845,3751],{"class":2801},[2008,3847,3848],{"class":2702},", ",[2008,3850,3755],{"class":2801},[2008,3852,3848],{"class":2702},[2008,3854,3777],{"class":2801},[2008,3856,3848],{"class":2702},[2008,3858,3787],{"class":2801},[2008,3860,3848],{"class":2702},[2008,3862,3790],{"class":2801},[2008,3864,3865],{"class":2702}," } ",[2008,3867,3868],{"class":2789},"from",[2008,3870,3871],{"class":2811}," \"vue\"",[2008,3873,2720],{"class":2702},[2008,3875,3876],{"class":2528,"line":43},[2008,3877,2548],{"emptyLinePlaceholder":54},[2008,3879,3880],{"class":2528,"line":2545},[2008,3881,3882],{"class":2688},"// الحالة التفاعلية\n",[2008,3884,3885,3888,3892,3895,3898,3901,3905],{"class":2528,"line":2551},[2008,3886,3887],{"class":2694},"const",[2008,3889,3891],{"class":3890},"sToQf"," count",[2008,3893,3894],{"class":2712}," =",[2008,3896,3897],{"class":2760}," ref",[2008,3899,3900],{"class":2702},"(",[2008,3902,3904],{"class":3903},"seC34","0",[2008,3906,3907],{"class":2702},");\n",[2008,3909,3910,3912,3915,3917,3920,3922,3925,3928,3930,3933,3936],{"class":2528,"line":2557},[2008,3911,3887],{"class":2694},[2008,3913,3914],{"class":3890}," user",[2008,3916,3894],{"class":2712},[2008,3918,3919],{"class":2760}," reactive",[2008,3921,2764],{"class":2702},[2008,3923,3924],{"class":2801},"name:",[2008,3926,3927],{"class":2811}," \"John Doe\"",[2008,3929,3848],{"class":2702},[2008,3931,3932],{"class":2801},"age:",[2008,3934,3935],{"class":3903}," 30",[2008,3937,3938],{"class":2702}," });\n",[2008,3940,3941],{"class":2528,"line":2563},[2008,3942,2548],{"emptyLinePlaceholder":54},[2008,3944,3945],{"class":2528,"line":2568},[2008,3946,3947],{"class":2688},"// الخاصية المحسوبة\n",[2008,3949,3950,3952,3955,3957,3960,3963,3966,3968,3970,3973,3976,3979],{"class":2528,"line":2574},[2008,3951,3887],{"class":2694},[2008,3953,3954],{"class":3890}," doubledCount",[2008,3956,3894],{"class":2712},[2008,3958,3959],{"class":2760}," computed",[2008,3961,3962],{"class":2702},"(() ",[2008,3964,3965],{"class":2694},"=>",[2008,3967,3891],{"class":2801},[2008,3969,181],{"class":2702},[2008,3971,3972],{"class":2801},"value",[2008,3974,3975],{"class":2712}," *",[2008,3977,3978],{"class":3903}," 2",[2008,3980,3907],{"class":2702},[2008,3982,3983],{"class":2528,"line":1467},[2008,3984,2548],{"emptyLinePlaceholder":54},[2008,3986,3987],{"class":2528,"line":2818},[2008,3988,3989],{"class":2688},"// المراقب\n",[2008,3991,3992,3994,3996,3998,4001,4004,4006,4009,4012,4014],{"class":2528,"line":2842},[2008,3993,3787],{"class":2760},[2008,3995,3900],{"class":2702},[2008,3997,2013],{"class":2801},[2008,3999,4000],{"class":2702},", (",[2008,4002,4003],{"class":2708},"newCount",[2008,4005,3848],{"class":2702},[2008,4007,4008],{"class":2708},"oldCount",[2008,4010,4011],{"class":2702},") ",[2008,4013,3965],{"class":2694},[2008,4015,2703],{"class":2702},[2008,4017,4018,4021,4023,4026,4028,4031,4035,4037,4039,4042,4044,4046,4048,4051],{"class":2528,"line":2862},[2008,4019,4020],{"class":2801},"  console",[2008,4022,181],{"class":2702},[2008,4024,4025],{"class":2760},"log",[2008,4027,3900],{"class":2702},[2008,4029,4030],{"class":2811},"`Count changed from ",[2008,4032,4034],{"class":4033},"se2iQ","${",[2008,4036,4008],{"class":2801},[2008,4038,2832],{"class":4033},[2008,4040,4041],{"class":2811}," to ",[2008,4043,4034],{"class":4033},[2008,4045,4003],{"class":2801},[2008,4047,2832],{"class":4033},[2008,4049,4050],{"class":2811},"`",[2008,4052,3907],{"class":2702},[2008,4054,4055],{"class":2528,"line":2119},[2008,4056,4057],{"class":2702},"});\n",[2008,4059,4060],{"class":2528,"line":2035},[2008,4061,2548],{"emptyLinePlaceholder":54},[2008,4063,4064],{"class":2528,"line":3038},[2008,4065,4066],{"class":2688},"// مراقب التأثير\n",[2008,4068,4069,4071,4073,4075],{"class":2528,"line":3044},[2008,4070,3790],{"class":2760},[2008,4072,3962],{"class":2702},[2008,4074,3965],{"class":2694},[2008,4076,2703],{"class":2702},[2008,4078,4079,4081,4083,4085,4087,4090,4092,4094,4097,4099,4101,4103],{"class":2528,"line":2380},[2008,4080,4020],{"class":2801},[2008,4082,181],{"class":2702},[2008,4084,4025],{"class":2760},[2008,4086,3900],{"class":2702},[2008,4088,4089],{"class":2811},"`Count is ",[2008,4091,4034],{"class":4033},[2008,4093,2013],{"class":2801},[2008,4095,181],{"class":4096},"s5T4v",[2008,4098,3972],{"class":2801},[2008,4100,2832],{"class":4033},[2008,4102,4050],{"class":2811},[2008,4104,3907],{"class":2702},[2008,4106,4108],{"class":2528,"line":4107},19,[2008,4109,4057],{"class":2702},[2008,4111,4112,4114,4116],{"class":2528,"line":64},[2008,4113,2835],{"class":3817},[2008,4115,3822],{"class":3821},[2008,4117,2815],{"class":3817},[2008,4119,4121],{"class":2528,"line":4120},21,[2008,4122,2548],{"emptyLinePlaceholder":54},[2008,4124,4126,4128,4131],{"class":2528,"line":4125},22,[2008,4127,3818],{"class":3817},[2008,4129,4130],{"class":3821},"template",[2008,4132,2815],{"class":3817},[2008,4134,4136,4139,4141],{"class":2528,"line":4135},23,[2008,4137,4138],{"class":3817},"  \u003C",[2008,4140,2802],{"class":3821},[2008,4142,2815],{"class":3817},[2008,4144,4146,4148,4150,4153,4156,4158,4161,4163,4165],{"class":2528,"line":4145},24,[2008,4147,2798],{"class":3817},[2008,4149,12],{"class":3821},[2008,4151,4152],{"class":3817},">",[2008,4154,4155],{"class":2702},"Count: {{ ",[2008,4157,2013],{"class":2801},[2008,4159,4160],{"class":2702}," }}",[2008,4162,2835],{"class":3817},[2008,4164,12],{"class":3821},[2008,4166,2815],{"class":3817},[2008,4168,4170,4172,4174,4176,4179,4182,4184,4186,4188],{"class":2528,"line":4169},25,[2008,4171,2798],{"class":3817},[2008,4173,12],{"class":3821},[2008,4175,4152],{"class":3817},[2008,4177,4178],{"class":2702},"Doubled: {{ ",[2008,4180,4181],{"class":2801},"doubledCount",[2008,4183,4160],{"class":2702},[2008,4185,2835],{"class":3817},[2008,4187,12],{"class":3821},[2008,4189,2815],{"class":3817},[2008,4191,4193,4195,4198,4201,4204,4206,4209,4211,4214,4216,4218,4221,4223,4225],{"class":2528,"line":4192},26,[2008,4194,2798],{"class":3817},[2008,4196,4197],{"class":3821},"button",[2008,4199,4200],{"class":2702}," @",[2008,4202,4203],{"class":3825},"click",[2008,4205,2808],{"class":2702},[2008,4207,4208],{"class":4096},"\"",[2008,4210,2013],{"class":2801},[2008,4212,4213],{"class":2712},"++",[2008,4215,4208],{"class":4096},[2008,4217,4152],{"class":3817},[2008,4219,4220],{"class":2702},"Increment",[2008,4222,2835],{"class":3817},[2008,4224,4197],{"class":3821},[2008,4226,2815],{"class":3817},[2008,4228,4230,4233,4235],{"class":2528,"line":4229},27,[2008,4231,4232],{"class":3817},"  \u003C/",[2008,4234,2802],{"class":3821},[2008,4236,2815],{"class":3817},[2008,4238,4240,4242,4244],{"class":2528,"line":4239},28,[2008,4241,2835],{"class":3817},[2008,4243,4130],{"class":3821},[2008,4245,2815],{"class":3817},[16,4247,4249],{"id":4248},"_2-إدارة-الحالة-مع-pinia","2. إدارة الحالة مع Pinia",[12,4251,4252],{},"Pinia هو حل إدارة الحالة الرسمي لـ Vue 3، ويوفر طريقة حديثة وبديهية لإدارة الحالة العامة.",[209,4254,4256],{"id":4255},"إنشاء-مخزن-pinia","إنشاء مخزن Pinia",[577,4258,4260],{"className":2679,"code":4259,"language":2681,"meta":42,"style":42},"// stores/counter.ts\nimport { defineStore } from 'pinia'\nimport { ref, computed } from 'vue'\n\nexport const useCounterStore = defineStore('counter', () => {\n  // الحالة\n  const count = ref(0)\n  const name = ref('Counter')\n\n  // الجيترات\n  const doubleCount = computed(() => count.value * 2)\n\n  // الإجراءات\n  function increment() {\n    count.value++\n  }\n\n  function decrement() {\n    count.value--\n  }\n\n  function reset() {\n    count.value = 0\n  }\n\n  return {\n    count,\n    name,\n    doubleCount,\n    increment,\n    decrement,\n    reset\n  }\n})\n",[584,4261,4262,4267,4283,4302,4306,4334,4339,4356,4374,4378,4383,4410,4414,4419,4430,4442,4447,4451,4460,4471,4475,4479,4488,4501,4505,4509,4515,4522,4529,4537,4545,4553,4559,4564],{"__ignoreMap":42},[2008,4263,4264],{"class":2528,"line":2529},[2008,4265,4266],{"class":2688},"// stores/counter.ts\n",[2008,4268,4269,4271,4273,4276,4278,4280],{"class":2528,"line":46},[2008,4270,3841],{"class":2789},[2008,4272,2775],{"class":2702},[2008,4274,4275],{"class":2801},"defineStore",[2008,4277,3865],{"class":2702},[2008,4279,3868],{"class":2789},[2008,4281,4282],{"class":2811}," 'pinia'\n",[2008,4284,4285,4287,4289,4291,4293,4295,4297,4299],{"class":2528,"line":43},[2008,4286,3841],{"class":2789},[2008,4288,2775],{"class":2702},[2008,4290,3751],{"class":2801},[2008,4292,3848],{"class":2702},[2008,4294,3777],{"class":2801},[2008,4296,3865],{"class":2702},[2008,4298,3868],{"class":2789},[2008,4300,4301],{"class":2811}," 'vue'\n",[2008,4303,4304],{"class":2528,"line":2545},[2008,4305,2548],{"emptyLinePlaceholder":54},[2008,4307,4308,4311,4314,4317,4319,4322,4324,4327,4330,4332],{"class":2528,"line":2551},[2008,4309,4310],{"class":2789},"export",[2008,4312,4313],{"class":2694}," const",[2008,4315,4316],{"class":3890}," useCounterStore",[2008,4318,3894],{"class":2712},[2008,4320,4321],{"class":2760}," defineStore",[2008,4323,3900],{"class":2702},[2008,4325,4326],{"class":2811},"'counter'",[2008,4328,4329],{"class":2702},", () ",[2008,4331,3965],{"class":2694},[2008,4333,2703],{"class":2702},[2008,4335,4336],{"class":2528,"line":2557},[2008,4337,4338],{"class":2688},"  // الحالة\n",[2008,4340,4341,4344,4346,4348,4350,4352,4354],{"class":2528,"line":2563},[2008,4342,4343],{"class":2694},"  const",[2008,4345,3891],{"class":3890},[2008,4347,3894],{"class":2712},[2008,4349,3897],{"class":2760},[2008,4351,3900],{"class":2702},[2008,4353,3904],{"class":3903},[2008,4355,3160],{"class":2702},[2008,4357,4358,4360,4363,4365,4367,4369,4372],{"class":2528,"line":2568},[2008,4359,4343],{"class":2694},[2008,4361,4362],{"class":3890}," name",[2008,4364,3894],{"class":2712},[2008,4366,3897],{"class":2760},[2008,4368,3900],{"class":2702},[2008,4370,4371],{"class":2811},"'Counter'",[2008,4373,3160],{"class":2702},[2008,4375,4376],{"class":2528,"line":2574},[2008,4377,2548],{"emptyLinePlaceholder":54},[2008,4379,4380],{"class":2528,"line":1467},[2008,4381,4382],{"class":2688},"  // الجيترات\n",[2008,4384,4385,4387,4390,4392,4394,4396,4398,4400,4402,4404,4406,4408],{"class":2528,"line":2818},[2008,4386,4343],{"class":2694},[2008,4388,4389],{"class":3890}," doubleCount",[2008,4391,3894],{"class":2712},[2008,4393,3959],{"class":2760},[2008,4395,3962],{"class":2702},[2008,4397,3965],{"class":2694},[2008,4399,3891],{"class":2801},[2008,4401,181],{"class":2702},[2008,4403,3972],{"class":2801},[2008,4405,3975],{"class":2712},[2008,4407,3978],{"class":3903},[2008,4409,3160],{"class":2702},[2008,4411,4412],{"class":2528,"line":2842},[2008,4413,2548],{"emptyLinePlaceholder":54},[2008,4415,4416],{"class":2528,"line":2862},[2008,4417,4418],{"class":2688},"  // الإجراءات\n",[2008,4420,4421,4424,4427],{"class":2528,"line":2119},[2008,4422,4423],{"class":2694},"  function",[2008,4425,4426],{"class":2760}," increment",[2008,4428,4429],{"class":2702},"() {\n",[2008,4431,4432,4435,4437,4439],{"class":2528,"line":2035},[2008,4433,4434],{"class":2801},"    count",[2008,4436,181],{"class":2702},[2008,4438,3972],{"class":2801},[2008,4440,4441],{"class":2712},"++\n",[2008,4443,4444],{"class":2528,"line":3038},[2008,4445,4446],{"class":2702},"  }\n",[2008,4448,4449],{"class":2528,"line":3044},[2008,4450,2548],{"emptyLinePlaceholder":54},[2008,4452,4453,4455,4458],{"class":2528,"line":2380},[2008,4454,4423],{"class":2694},[2008,4456,4457],{"class":2760}," decrement",[2008,4459,4429],{"class":2702},[2008,4461,4462,4464,4466,4468],{"class":2528,"line":4107},[2008,4463,4434],{"class":2801},[2008,4465,181],{"class":2702},[2008,4467,3972],{"class":2801},[2008,4469,4470],{"class":2712},"--\n",[2008,4472,4473],{"class":2528,"line":64},[2008,4474,4446],{"class":2702},[2008,4476,4477],{"class":2528,"line":4120},[2008,4478,2548],{"emptyLinePlaceholder":54},[2008,4480,4481,4483,4486],{"class":2528,"line":4125},[2008,4482,4423],{"class":2694},[2008,4484,4485],{"class":2760}," reset",[2008,4487,4429],{"class":2702},[2008,4489,4490,4492,4494,4496,4498],{"class":2528,"line":4135},[2008,4491,4434],{"class":2801},[2008,4493,181],{"class":2702},[2008,4495,3972],{"class":2801},[2008,4497,3894],{"class":2712},[2008,4499,4500],{"class":3903}," 0\n",[2008,4502,4503],{"class":2528,"line":4145},[2008,4504,4446],{"class":2702},[2008,4506,4507],{"class":2528,"line":4169},[2008,4508,2548],{"emptyLinePlaceholder":54},[2008,4510,4511,4513],{"class":2528,"line":4192},[2008,4512,2790],{"class":2789},[2008,4514,2703],{"class":2702},[2008,4516,4517,4519],{"class":2528,"line":4229},[2008,4518,4434],{"class":2801},[2008,4520,4521],{"class":2702},",\n",[2008,4523,4524,4527],{"class":2528,"line":4239},[2008,4525,4526],{"class":2801},"    name",[2008,4528,4521],{"class":2702},[2008,4530,4532,4535],{"class":2528,"line":4531},29,[2008,4533,4534],{"class":2801},"    doubleCount",[2008,4536,4521],{"class":2702},[2008,4538,4540,4543],{"class":2528,"line":4539},30,[2008,4541,4542],{"class":2801},"    increment",[2008,4544,4521],{"class":2702},[2008,4546,4548,4551],{"class":2528,"line":4547},31,[2008,4549,4550],{"class":2801},"    decrement",[2008,4552,4521],{"class":2702},[2008,4554,4556],{"class":2528,"line":4555},32,[2008,4557,4558],{"class":2801},"    reset\n",[2008,4560,4562],{"class":2528,"line":4561},33,[2008,4563,4446],{"class":2702},[2008,4565,4567],{"class":2528,"line":4566},34,[2008,4568,4569],{"class":2702},"})\n",[209,4571,4573],{"id":4572},"استخدام-المخزن-في-المكونات","استخدام المخزن في المكونات",[577,4575,4577],{"className":3808,"code":4576,"language":3810,"meta":42,"style":42},"\u003Cscript setup lang=\"ts\">\nimport { useCounterStore } from '@/stores/counter'\n\nconst counterStore = useCounterStore()\n\u003C/script>\n\n\u003Ctemplate>\n  \u003Cdiv>\n    \u003Cp>Count: {{ counterStore.count }}\u003C/p>\n    \u003Cp>Double: {{ counterStore.doubleCount }}\u003C/p>\n    \u003Cbutton @click=\"counterStore.increment\">+\u003C/button>\n    \u003Cbutton @click=\"counterStore.decrement\">-\u003C/button>\n    \u003Cbutton @click=\"counterStore.reset\">Reset\u003C/button>\n  \u003C/div>\n\u003C/template>\n",[584,4578,4579,4595,4611,4615,4629,4637,4641,4649,4657,4682,4708,4742,4776,4810,4818],{"__ignoreMap":42},[2008,4580,4581,4583,4585,4587,4589,4591,4593],{"class":2528,"line":2529},[2008,4582,3818],{"class":3817},[2008,4584,3822],{"class":3821},[2008,4586,3826],{"class":3825},[2008,4588,3829],{"class":3825},[2008,4590,2808],{"class":2702},[2008,4592,3834],{"class":2811},[2008,4594,2815],{"class":3817},[2008,4596,4597,4599,4601,4604,4606,4608],{"class":2528,"line":46},[2008,4598,3841],{"class":2789},[2008,4600,2775],{"class":2702},[2008,4602,4603],{"class":2801},"useCounterStore",[2008,4605,3865],{"class":2702},[2008,4607,3868],{"class":2789},[2008,4609,4610],{"class":2811}," '@/stores/counter'\n",[2008,4612,4613],{"class":2528,"line":43},[2008,4614,2548],{"emptyLinePlaceholder":54},[2008,4616,4617,4619,4622,4624,4626],{"class":2528,"line":2545},[2008,4618,3887],{"class":2694},[2008,4620,4621],{"class":3890}," counterStore",[2008,4623,3894],{"class":2712},[2008,4625,4316],{"class":2760},[2008,4627,4628],{"class":2702},"()\n",[2008,4630,4631,4633,4635],{"class":2528,"line":2551},[2008,4632,2835],{"class":3817},[2008,4634,3822],{"class":3821},[2008,4636,2815],{"class":3817},[2008,4638,4639],{"class":2528,"line":2557},[2008,4640,2548],{"emptyLinePlaceholder":54},[2008,4642,4643,4645,4647],{"class":2528,"line":2563},[2008,4644,3818],{"class":3817},[2008,4646,4130],{"class":3821},[2008,4648,2815],{"class":3817},[2008,4650,4651,4653,4655],{"class":2528,"line":2568},[2008,4652,4138],{"class":3817},[2008,4654,2802],{"class":3821},[2008,4656,2815],{"class":3817},[2008,4658,4659,4661,4663,4665,4667,4670,4672,4674,4676,4678,4680],{"class":2528,"line":2574},[2008,4660,2798],{"class":3817},[2008,4662,12],{"class":3821},[2008,4664,4152],{"class":3817},[2008,4666,4155],{"class":2702},[2008,4668,4669],{"class":2801},"counterStore",[2008,4671,181],{"class":2702},[2008,4673,2013],{"class":2801},[2008,4675,4160],{"class":2702},[2008,4677,2835],{"class":3817},[2008,4679,12],{"class":3821},[2008,4681,2815],{"class":3817},[2008,4683,4684,4686,4688,4690,4693,4695,4697,4700,4702,4704,4706],{"class":2528,"line":1467},[2008,4685,2798],{"class":3817},[2008,4687,12],{"class":3821},[2008,4689,4152],{"class":3817},[2008,4691,4692],{"class":2702},"Double: {{ ",[2008,4694,4669],{"class":2801},[2008,4696,181],{"class":2702},[2008,4698,4699],{"class":2801},"doubleCount",[2008,4701,4160],{"class":2702},[2008,4703,2835],{"class":3817},[2008,4705,12],{"class":3821},[2008,4707,2815],{"class":3817},[2008,4709,4710,4712,4714,4716,4718,4720,4722,4724,4726,4729,4731,4733,4736,4738,4740],{"class":2528,"line":2818},[2008,4711,2798],{"class":3817},[2008,4713,4197],{"class":3821},[2008,4715,4200],{"class":2702},[2008,4717,4203],{"class":3825},[2008,4719,2808],{"class":2702},[2008,4721,4208],{"class":4096},[2008,4723,4669],{"class":2801},[2008,4725,181],{"class":2702},[2008,4727,4728],{"class":2801},"increment",[2008,4730,4208],{"class":4096},[2008,4732,4152],{"class":3817},[2008,4734,4735],{"class":2702},"+",[2008,4737,2835],{"class":3817},[2008,4739,4197],{"class":3821},[2008,4741,2815],{"class":3817},[2008,4743,4744,4746,4748,4750,4752,4754,4756,4758,4760,4763,4765,4767,4770,4772,4774],{"class":2528,"line":2842},[2008,4745,2798],{"class":3817},[2008,4747,4197],{"class":3821},[2008,4749,4200],{"class":2702},[2008,4751,4203],{"class":3825},[2008,4753,2808],{"class":2702},[2008,4755,4208],{"class":4096},[2008,4757,4669],{"class":2801},[2008,4759,181],{"class":2702},[2008,4761,4762],{"class":2801},"decrement",[2008,4764,4208],{"class":4096},[2008,4766,4152],{"class":3817},[2008,4768,4769],{"class":2702},"-",[2008,4771,2835],{"class":3817},[2008,4773,4197],{"class":3821},[2008,4775,2815],{"class":3817},[2008,4777,4778,4780,4782,4784,4786,4788,4790,4792,4794,4797,4799,4801,4804,4806,4808],{"class":2528,"line":2862},[2008,4779,2798],{"class":3817},[2008,4781,4197],{"class":3821},[2008,4783,4200],{"class":2702},[2008,4785,4203],{"class":3825},[2008,4787,2808],{"class":2702},[2008,4789,4208],{"class":4096},[2008,4791,4669],{"class":2801},[2008,4793,181],{"class":2702},[2008,4795,4796],{"class":2801},"reset",[2008,4798,4208],{"class":4096},[2008,4800,4152],{"class":3817},[2008,4802,4803],{"class":2702},"Reset",[2008,4805,2835],{"class":3817},[2008,4807,4197],{"class":3821},[2008,4809,2815],{"class":3817},[2008,4811,4812,4814,4816],{"class":2528,"line":2119},[2008,4813,4232],{"class":3817},[2008,4815,2802],{"class":3821},[2008,4817,2815],{"class":3817},[2008,4819,4820,4822,4824],{"class":2528,"line":2035},[2008,4821,2835],{"class":3817},[2008,4823,4130],{"class":3821},[2008,4825,2815],{"class":3817},[16,4827,4829],{"id":4828},"_3-أنماط-المكونات-المتقدمة","3. أنماط المكونات المتقدمة",[209,4831,4833],{"id":4832},"نمط-المكونات-المركبة-composite-components","نمط المكونات المركبة (Composite Components)",[577,4835,4837],{"className":3808,"code":4836,"language":3810,"meta":42,"style":42},"\u003C!-- components/FormField.vue -->\n\u003Cscript setup lang=\"ts\">\nimport { computed } from 'vue'\n\ninterface Props {\n  label: string\n  modelValue: string\n  error?: string\n}\n\nconst props = defineProps\u003CProps>()\nconst emit = defineEmits\u003C{\n  'update:modelValue': [value: string]\n}>()\n\nconst inputClasses = computed(() => ({\n  'border-red-500': !!props.error,\n  'border-gray-300': !props.error\n}))\n\u003C/script>\n\n\u003Ctemplate>\n  \u003Cdiv class=\"form-field\">\n    \u003Clabel class=\"block text-sm font-medium text-gray-700\">\n      {{ label }}\n    \u003C/label>\n    \u003Cinput\n      :value=\"modelValue\"\n      @input=\"$emit('update:modelValue', $event.target.value)\"\n      :class=\"inputClasses\"\n      class=\"mt-1 block w-full rounded-md border px-3 py-2 shadow-sm focus:border-indigo-500 focus:outline-none focus:ring-indigo-500\"\n    />\n    \u003Cp v-if=\"error\" class=\"mt-1 text-sm text-red-600\">\n      {{ error }}\n    \u003C/p>\n  \u003C/div>\n\u003C/template>\n",[584,4838,4839,4844,4860,4874,4878,4887,4897,4906,4916,4920,4924,4944,4959,4981,4986,4990,5008,5028,5045,5050,5058,5062,5070,5086,5102,5112,5120,5127,5144,5182,5198,5208,5213,5239,5247,5256,5265],{"__ignoreMap":42},[2008,4840,4841],{"class":2528,"line":2529},[2008,4842,4843],{"class":2688},"\u003C!-- components/FormField.vue -->\n",[2008,4845,4846,4848,4850,4852,4854,4856,4858],{"class":2528,"line":46},[2008,4847,3818],{"class":3817},[2008,4849,3822],{"class":3821},[2008,4851,3826],{"class":3825},[2008,4853,3829],{"class":3825},[2008,4855,2808],{"class":2702},[2008,4857,3834],{"class":2811},[2008,4859,2815],{"class":3817},[2008,4861,4862,4864,4866,4868,4870,4872],{"class":2528,"line":43},[2008,4863,3841],{"class":2789},[2008,4865,2775],{"class":2702},[2008,4867,3777],{"class":2801},[2008,4869,3865],{"class":2702},[2008,4871,3868],{"class":2789},[2008,4873,4301],{"class":2811},[2008,4875,4876],{"class":2528,"line":2545},[2008,4877,2548],{"emptyLinePlaceholder":54},[2008,4879,4880,4882,4885],{"class":2528,"line":2551},[2008,4881,2695],{"class":2694},[2008,4883,4884],{"class":2698}," Props",[2008,4886,2703],{"class":2702},[2008,4888,4889,4892,4894],{"class":2528,"line":2557},[2008,4890,4891],{"class":2708},"  label",[2008,4893,2713],{"class":2712},[2008,4895,4896],{"class":2716}," string\n",[2008,4898,4899,4902,4904],{"class":2528,"line":2563},[2008,4900,4901],{"class":2708},"  modelValue",[2008,4903,2713],{"class":2712},[2008,4905,4896],{"class":2716},[2008,4907,4908,4911,4914],{"class":2528,"line":2568},[2008,4909,4910],{"class":2708},"  error",[2008,4912,4913],{"class":2712},"?:",[2008,4915,4896],{"class":2716},[2008,4917,4918],{"class":2528,"line":2574},[2008,4919,2748],{"class":2702},[2008,4921,4922],{"class":2528,"line":1467},[2008,4923,2548],{"emptyLinePlaceholder":54},[2008,4925,4926,4928,4931,4933,4936,4938,4941],{"class":2528,"line":2818},[2008,4927,3887],{"class":2694},[2008,4929,4930],{"class":3890}," props",[2008,4932,3894],{"class":2712},[2008,4934,4935],{"class":2760}," defineProps",[2008,4937,3818],{"class":2702},[2008,4939,4940],{"class":2698},"Props",[2008,4942,4943],{"class":2702},">()\n",[2008,4945,4946,4948,4951,4953,4956],{"class":2528,"line":2842},[2008,4947,3887],{"class":2694},[2008,4949,4950],{"class":3890}," emit",[2008,4952,3894],{"class":2712},[2008,4954,4955],{"class":2760}," defineEmits",[2008,4957,4958],{"class":2702},"\u003C{\n",[2008,4960,4961,4964,4966,4969,4972,4975,4978],{"class":2528,"line":2862},[2008,4962,4963],{"class":2811},"  'update:modelValue'",[2008,4965,2713],{"class":2712},[2008,4967,4968],{"class":2702}," [",[2008,4970,3972],{"class":4971},"sGRYn",[2008,4973,4974],{"class":2702},": ",[2008,4976,4977],{"class":2716},"string",[2008,4979,4980],{"class":2702},"]\n",[2008,4982,4983],{"class":2528,"line":2119},[2008,4984,4985],{"class":2702},"}>()\n",[2008,4987,4988],{"class":2528,"line":2035},[2008,4989,2548],{"emptyLinePlaceholder":54},[2008,4991,4992,4994,4997,4999,5001,5003,5005],{"class":2528,"line":3038},[2008,4993,3887],{"class":2694},[2008,4995,4996],{"class":3890}," inputClasses",[2008,4998,3894],{"class":2712},[2008,5000,3959],{"class":2760},[2008,5002,3962],{"class":2702},[2008,5004,3965],{"class":2694},[2008,5006,5007],{"class":2702}," ({\n",[2008,5009,5010,5013,5015,5018,5021,5023,5026],{"class":2528,"line":3044},[2008,5011,5012],{"class":2811},"  'border-red-500'",[2008,5014,2713],{"class":2801},[2008,5016,5017],{"class":2712}," !!",[2008,5019,5020],{"class":2801},"props",[2008,5022,181],{"class":2702},[2008,5024,5025],{"class":2801},"error",[2008,5027,4521],{"class":2702},[2008,5029,5030,5033,5035,5038,5040,5042],{"class":2528,"line":2380},[2008,5031,5032],{"class":2811},"  'border-gray-300'",[2008,5034,2713],{"class":2801},[2008,5036,5037],{"class":2712}," !",[2008,5039,5020],{"class":2801},[2008,5041,181],{"class":2702},[2008,5043,5044],{"class":2801},"error\n",[2008,5046,5047],{"class":2528,"line":4107},[2008,5048,5049],{"class":2702},"}))\n",[2008,5051,5052,5054,5056],{"class":2528,"line":64},[2008,5053,2835],{"class":3817},[2008,5055,3822],{"class":3821},[2008,5057,2815],{"class":3817},[2008,5059,5060],{"class":2528,"line":4120},[2008,5061,2548],{"emptyLinePlaceholder":54},[2008,5063,5064,5066,5068],{"class":2528,"line":4125},[2008,5065,3818],{"class":3817},[2008,5067,4130],{"class":3821},[2008,5069,2815],{"class":3817},[2008,5071,5072,5074,5076,5079,5081,5084],{"class":2528,"line":4135},[2008,5073,4138],{"class":3817},[2008,5075,2802],{"class":3821},[2008,5077,5078],{"class":3825}," class",[2008,5080,2808],{"class":2702},[2008,5082,5083],{"class":2811},"\"form-field\"",[2008,5085,2815],{"class":3817},[2008,5087,5088,5090,5093,5095,5097,5100],{"class":2528,"line":4145},[2008,5089,2798],{"class":3817},[2008,5091,5092],{"class":3821},"label",[2008,5094,5078],{"class":3825},[2008,5096,2808],{"class":2702},[2008,5098,5099],{"class":2811},"\"block text-sm font-medium text-gray-700\"",[2008,5101,2815],{"class":3817},[2008,5103,5104,5107,5109],{"class":2528,"line":4169},[2008,5105,5106],{"class":2702},"      {{ ",[2008,5108,5092],{"class":2801},[2008,5110,5111],{"class":2702}," }}\n",[2008,5113,5114,5116,5118],{"class":2528,"line":4192},[2008,5115,2865],{"class":3817},[2008,5117,5092],{"class":3821},[2008,5119,2815],{"class":3817},[2008,5121,5122,5124],{"class":2528,"line":4229},[2008,5123,2798],{"class":3817},[2008,5125,5126],{"class":3821},"input\n",[2008,5128,5129,5132,5134,5136,5138,5141],{"class":2528,"line":4239},[2008,5130,5131],{"class":2702},"      :",[2008,5133,3972],{"class":3825},[2008,5135,2808],{"class":2702},[2008,5137,4208],{"class":4096},[2008,5139,5140],{"class":2801},"modelValue",[2008,5142,5143],{"class":4096},"\"\n",[2008,5145,5146,5149,5152,5154,5156,5159,5161,5164,5166,5169,5171,5174,5176,5178,5180],{"class":2528,"line":4531},[2008,5147,5148],{"class":2702},"      @",[2008,5150,5151],{"class":3825},"input",[2008,5153,2808],{"class":2702},[2008,5155,4208],{"class":4096},[2008,5157,5158],{"class":2760},"$emit",[2008,5160,3900],{"class":2702},[2008,5162,5163],{"class":2811},"'update:modelValue'",[2008,5165,3848],{"class":2702},[2008,5167,5168],{"class":2801},"$event",[2008,5170,181],{"class":2702},[2008,5172,5173],{"class":2801},"target",[2008,5175,181],{"class":2702},[2008,5177,3972],{"class":2801},[2008,5179,3778],{"class":2702},[2008,5181,5143],{"class":4096},[2008,5183,5184,5186,5189,5191,5193,5196],{"class":2528,"line":4539},[2008,5185,5131],{"class":2702},[2008,5187,5188],{"class":3825},"class",[2008,5190,2808],{"class":2702},[2008,5192,4208],{"class":4096},[2008,5194,5195],{"class":2801},"inputClasses",[2008,5197,5143],{"class":4096},[2008,5199,5200,5203,5205],{"class":2528,"line":4547},[2008,5201,5202],{"class":3825},"      class",[2008,5204,2808],{"class":2702},[2008,5206,5207],{"class":2811},"\"mt-1 block w-full rounded-md border px-3 py-2 shadow-sm focus:border-indigo-500 focus:outline-none focus:ring-indigo-500\"\n",[2008,5209,5210],{"class":2528,"line":4555},[2008,5211,5212],{"class":3817},"    />\n",[2008,5214,5215,5217,5219,5222,5224,5226,5228,5230,5232,5234,5237],{"class":2528,"line":4561},[2008,5216,2798],{"class":3817},[2008,5218,12],{"class":3821},[2008,5220,5221],{"class":2789}," v-if",[2008,5223,2808],{"class":2702},[2008,5225,4208],{"class":4096},[2008,5227,5025],{"class":2801},[2008,5229,4208],{"class":4096},[2008,5231,5078],{"class":3825},[2008,5233,2808],{"class":2702},[2008,5235,5236],{"class":2811},"\"mt-1 text-sm text-red-600\"",[2008,5238,2815],{"class":3817},[2008,5240,5241,5243,5245],{"class":2528,"line":4566},[2008,5242,5106],{"class":2702},[2008,5244,5025],{"class":2801},[2008,5246,5111],{"class":2702},[2008,5248,5250,5252,5254],{"class":2528,"line":5249},35,[2008,5251,2865],{"class":3817},[2008,5253,12],{"class":3821},[2008,5255,2815],{"class":3817},[2008,5257,5259,5261,5263],{"class":2528,"line":5258},36,[2008,5260,4232],{"class":3817},[2008,5262,2802],{"class":3821},[2008,5264,2815],{"class":3817},[2008,5266,5268,5270,5272],{"class":2528,"line":5267},37,[2008,5269,2835],{"class":3817},[2008,5271,4130],{"class":3821},[2008,5273,2815],{"class":3817},[209,5275,5277],{"id":5276},"نمط-renderless-components","نمط Renderless Components",[577,5279,5281],{"className":3808,"code":5280,"language":3810,"meta":42,"style":42},"\u003C!-- components/MouseTracker.vue -->\n\u003Cscript setup lang=\"ts\">\nimport { ref, onMounted, onUnmounted } from 'vue'\n\nconst x = ref(0)\nconst y = ref(0)\n\nconst updateMouse = (event: MouseEvent) => {\n  x.value = event.clientX\n  y.value = event.clientY\n}\n\nonMounted(() => {\n  document.addEventListener('mousemove', updateMouse)\n})\n\nonUnmounted(() => {\n  document.removeEventListener('mousemove', updateMouse)\n})\n\u003C/script>\n\n\u003Ctemplate>\n  \u003Cslot :x=\"x\" :y=\"y\" />\n\u003C/template>\n",[584,5282,5283,5288,5304,5328,5332,5349,5366,5370,5396,5415,5433,5437,5441,5451,5473,5477,5481,5491,5510,5514,5522,5526,5534,5574],{"__ignoreMap":42},[2008,5284,5285],{"class":2528,"line":2529},[2008,5286,5287],{"class":2688},"\u003C!-- components/MouseTracker.vue -->\n",[2008,5289,5290,5292,5294,5296,5298,5300,5302],{"class":2528,"line":46},[2008,5291,3818],{"class":3817},[2008,5293,3822],{"class":3821},[2008,5295,3826],{"class":3825},[2008,5297,3829],{"class":3825},[2008,5299,2808],{"class":2702},[2008,5301,3834],{"class":2811},[2008,5303,2815],{"class":3817},[2008,5305,5306,5308,5310,5312,5314,5317,5319,5322,5324,5326],{"class":2528,"line":43},[2008,5307,3841],{"class":2789},[2008,5309,2775],{"class":2702},[2008,5311,3751],{"class":2801},[2008,5313,3848],{"class":2702},[2008,5315,5316],{"class":2801},"onMounted",[2008,5318,3848],{"class":2702},[2008,5320,5321],{"class":2801},"onUnmounted",[2008,5323,3865],{"class":2702},[2008,5325,3868],{"class":2789},[2008,5327,4301],{"class":2811},[2008,5329,5330],{"class":2528,"line":2545},[2008,5331,2548],{"emptyLinePlaceholder":54},[2008,5333,5334,5336,5339,5341,5343,5345,5347],{"class":2528,"line":2551},[2008,5335,3887],{"class":2694},[2008,5337,5338],{"class":3890}," x",[2008,5340,3894],{"class":2712},[2008,5342,3897],{"class":2760},[2008,5344,3900],{"class":2702},[2008,5346,3904],{"class":3903},[2008,5348,3160],{"class":2702},[2008,5350,5351,5353,5356,5358,5360,5362,5364],{"class":2528,"line":2557},[2008,5352,3887],{"class":2694},[2008,5354,5355],{"class":3890}," y",[2008,5357,3894],{"class":2712},[2008,5359,3897],{"class":2760},[2008,5361,3900],{"class":2702},[2008,5363,3904],{"class":3903},[2008,5365,3160],{"class":2702},[2008,5367,5368],{"class":2528,"line":2563},[2008,5369,2548],{"emptyLinePlaceholder":54},[2008,5371,5372,5374,5377,5379,5382,5385,5387,5390,5392,5394],{"class":2528,"line":2568},[2008,5373,3887],{"class":2694},[2008,5375,5376],{"class":2760}," updateMouse",[2008,5378,3894],{"class":2712},[2008,5380,5381],{"class":2702}," (",[2008,5383,5384],{"class":2708},"event",[2008,5386,2713],{"class":2712},[2008,5388,5389],{"class":2698}," MouseEvent",[2008,5391,4011],{"class":2702},[2008,5393,3965],{"class":2694},[2008,5395,2703],{"class":2702},[2008,5397,5398,5401,5403,5405,5407,5410,5412],{"class":2528,"line":2574},[2008,5399,5400],{"class":2801},"  x",[2008,5402,181],{"class":2702},[2008,5404,3972],{"class":2801},[2008,5406,3894],{"class":2712},[2008,5408,5409],{"class":2801}," event",[2008,5411,181],{"class":2702},[2008,5413,5414],{"class":2801},"clientX\n",[2008,5416,5417,5420,5422,5424,5426,5428,5430],{"class":2528,"line":1467},[2008,5418,5419],{"class":2801},"  y",[2008,5421,181],{"class":2702},[2008,5423,3972],{"class":2801},[2008,5425,3894],{"class":2712},[2008,5427,5409],{"class":2801},[2008,5429,181],{"class":2702},[2008,5431,5432],{"class":2801},"clientY\n",[2008,5434,5435],{"class":2528,"line":2818},[2008,5436,2748],{"class":2702},[2008,5438,5439],{"class":2528,"line":2842},[2008,5440,2548],{"emptyLinePlaceholder":54},[2008,5442,5443,5445,5447,5449],{"class":2528,"line":2862},[2008,5444,5316],{"class":2760},[2008,5446,3962],{"class":2702},[2008,5448,3965],{"class":2694},[2008,5450,2703],{"class":2702},[2008,5452,5453,5456,5458,5461,5463,5466,5468,5471],{"class":2528,"line":2119},[2008,5454,5455],{"class":2801},"  document",[2008,5457,181],{"class":2702},[2008,5459,5460],{"class":2760},"addEventListener",[2008,5462,3900],{"class":2702},[2008,5464,5465],{"class":2811},"'mousemove'",[2008,5467,3848],{"class":2702},[2008,5469,5470],{"class":2801},"updateMouse",[2008,5472,3160],{"class":2702},[2008,5474,5475],{"class":2528,"line":2035},[2008,5476,4569],{"class":2702},[2008,5478,5479],{"class":2528,"line":3038},[2008,5480,2548],{"emptyLinePlaceholder":54},[2008,5482,5483,5485,5487,5489],{"class":2528,"line":3044},[2008,5484,5321],{"class":2760},[2008,5486,3962],{"class":2702},[2008,5488,3965],{"class":2694},[2008,5490,2703],{"class":2702},[2008,5492,5493,5495,5497,5500,5502,5504,5506,5508],{"class":2528,"line":2380},[2008,5494,5455],{"class":2801},[2008,5496,181],{"class":2702},[2008,5498,5499],{"class":2760},"removeEventListener",[2008,5501,3900],{"class":2702},[2008,5503,5465],{"class":2811},[2008,5505,3848],{"class":2702},[2008,5507,5470],{"class":2801},[2008,5509,3160],{"class":2702},[2008,5511,5512],{"class":2528,"line":4107},[2008,5513,4569],{"class":2702},[2008,5515,5516,5518,5520],{"class":2528,"line":64},[2008,5517,2835],{"class":3817},[2008,5519,3822],{"class":3821},[2008,5521,2815],{"class":3817},[2008,5523,5524],{"class":2528,"line":4120},[2008,5525,2548],{"emptyLinePlaceholder":54},[2008,5527,5528,5530,5532],{"class":2528,"line":4125},[2008,5529,3818],{"class":3817},[2008,5531,4130],{"class":3821},[2008,5533,2815],{"class":3817},[2008,5535,5536,5538,5541,5544,5547,5549,5551,5553,5555,5557,5560,5562,5564,5566,5568,5572],{"class":2528,"line":4135},[2008,5537,4138],{"class":3817},[2008,5539,5540],{"class":3821},"slot",[2008,5542,5543],{"class":2702}," :",[2008,5545,5546],{"class":3825},"x",[2008,5548,2808],{"class":2702},[2008,5550,4208],{"class":4096},[2008,5552,5546],{"class":2801},[2008,5554,4208],{"class":4096},[2008,5556,5543],{"class":2702},[2008,5558,5559],{"class":3825},"y",[2008,5561,2808],{"class":2702},[2008,5563,4208],{"class":4096},[2008,5565,5559],{"class":2801},[2008,5567,4208],{"class":4096},[2008,5569,5571],{"class":5570},"sUwQ0"," /",[2008,5573,2815],{"class":3817},[2008,5575,5576,5578,5580],{"class":2528,"line":4145},[2008,5577,2835],{"class":3817},[2008,5579,4130],{"class":3821},[2008,5581,2815],{"class":3817},[16,5583,5585],{"id":5584},"_4-إدارة-دورة-الحياة-المتقدمة","4. إدارة دورة الحياة المتقدمة",[209,5587,5589],{"id":5588},"استخدام-composition-functions","استخدام Composition Functions",[577,5591,5593],{"className":2679,"code":5592,"language":2681,"meta":42,"style":42},"// composables/useLocalStorage.ts\nimport { ref, watch } from 'vue'\n\nexport function useLocalStorage\u003CT>(key: string, defaultValue: T) {\n  const value = ref\u003CT>(defaultValue)\n\n  // تحميل من localStorage\n  const stored = localStorage.getItem(key)\n  if (stored) {\n    try {\n      value.value = JSON.parse(stored)\n    } catch {\n      value.value = defaultValue\n    }\n  }\n\n  // حفظ في localStorage\n  watch(value, (newValue) => {\n    localStorage.setItem(key, JSON.stringify(newValue))\n  }, { deep: true })\n\n  return value\n}\n",[584,5594,5595,5600,5618,5622,5660,5681,5685,5690,5713,5725,5732,5757,5767,5780,5784,5788,5792,5797,5817,5848,5863,5867,5874],{"__ignoreMap":42},[2008,5596,5597],{"class":2528,"line":2529},[2008,5598,5599],{"class":2688},"// composables/useLocalStorage.ts\n",[2008,5601,5602,5604,5606,5608,5610,5612,5614,5616],{"class":2528,"line":46},[2008,5603,3841],{"class":2789},[2008,5605,2775],{"class":2702},[2008,5607,3751],{"class":2801},[2008,5609,3848],{"class":2702},[2008,5611,3787],{"class":2801},[2008,5613,3865],{"class":2702},[2008,5615,3868],{"class":2789},[2008,5617,4301],{"class":2811},[2008,5619,5620],{"class":2528,"line":43},[2008,5621,2548],{"emptyLinePlaceholder":54},[2008,5623,5624,5626,5629,5632,5634,5637,5640,5643,5645,5647,5649,5652,5654,5657],{"class":2528,"line":2545},[2008,5625,4310],{"class":2789},[2008,5627,5628],{"class":2694}," function",[2008,5630,5631],{"class":2760}," useLocalStorage",[2008,5633,3818],{"class":2702},[2008,5635,5636],{"class":2698},"T",[2008,5638,5639],{"class":2702},">(",[2008,5641,5642],{"class":2708},"key",[2008,5644,2713],{"class":2712},[2008,5646,2730],{"class":2716},[2008,5648,3848],{"class":2702},[2008,5650,5651],{"class":2708},"defaultValue",[2008,5653,2713],{"class":2712},[2008,5655,5656],{"class":2698}," T",[2008,5658,5659],{"class":2702},") {\n",[2008,5661,5662,5664,5667,5669,5671,5673,5675,5677,5679],{"class":2528,"line":2551},[2008,5663,4343],{"class":2694},[2008,5665,5666],{"class":3890}," value",[2008,5668,3894],{"class":2712},[2008,5670,3897],{"class":2760},[2008,5672,3818],{"class":2702},[2008,5674,5636],{"class":2698},[2008,5676,5639],{"class":2702},[2008,5678,5651],{"class":2801},[2008,5680,3160],{"class":2702},[2008,5682,5683],{"class":2528,"line":2557},[2008,5684,2548],{"emptyLinePlaceholder":54},[2008,5686,5687],{"class":2528,"line":2563},[2008,5688,5689],{"class":2688},"  // تحميل من localStorage\n",[2008,5691,5692,5694,5697,5699,5702,5704,5707,5709,5711],{"class":2528,"line":2568},[2008,5693,4343],{"class":2694},[2008,5695,5696],{"class":3890}," stored",[2008,5698,3894],{"class":2712},[2008,5700,5701],{"class":2801}," localStorage",[2008,5703,181],{"class":2702},[2008,5705,5706],{"class":2760},"getItem",[2008,5708,3900],{"class":2702},[2008,5710,5642],{"class":2801},[2008,5712,3160],{"class":2702},[2008,5714,5715,5718,5720,5723],{"class":2528,"line":2574},[2008,5716,5717],{"class":2789},"  if",[2008,5719,5381],{"class":2702},[2008,5721,5722],{"class":2801},"stored",[2008,5724,5659],{"class":2702},[2008,5726,5727,5730],{"class":2528,"line":1467},[2008,5728,5729],{"class":2789},"    try",[2008,5731,2703],{"class":2702},[2008,5733,5734,5737,5739,5741,5743,5746,5748,5751,5753,5755],{"class":2528,"line":2818},[2008,5735,5736],{"class":2801},"      value",[2008,5738,181],{"class":2702},[2008,5740,3972],{"class":2801},[2008,5742,3894],{"class":2712},[2008,5744,5745],{"class":3890}," JSON",[2008,5747,181],{"class":2702},[2008,5749,5750],{"class":2760},"parse",[2008,5752,3900],{"class":2702},[2008,5754,5722],{"class":2801},[2008,5756,3160],{"class":2702},[2008,5758,5759,5762,5765],{"class":2528,"line":2842},[2008,5760,5761],{"class":2702},"    } ",[2008,5763,5764],{"class":2789},"catch",[2008,5766,2703],{"class":2702},[2008,5768,5769,5771,5773,5775,5777],{"class":2528,"line":2862},[2008,5770,5736],{"class":2801},[2008,5772,181],{"class":2702},[2008,5774,3972],{"class":2801},[2008,5776,3894],{"class":2712},[2008,5778,5779],{"class":2801}," defaultValue\n",[2008,5781,5782],{"class":2528,"line":2119},[2008,5783,3047],{"class":2702},[2008,5785,5786],{"class":2528,"line":2035},[2008,5787,4446],{"class":2702},[2008,5789,5790],{"class":2528,"line":3038},[2008,5791,2548],{"emptyLinePlaceholder":54},[2008,5793,5794],{"class":2528,"line":3044},[2008,5795,5796],{"class":2688},"  // حفظ في localStorage\n",[2008,5798,5799,5802,5804,5806,5808,5811,5813,5815],{"class":2528,"line":2380},[2008,5800,5801],{"class":2760},"  watch",[2008,5803,3900],{"class":2702},[2008,5805,3972],{"class":2801},[2008,5807,4000],{"class":2702},[2008,5809,5810],{"class":2708},"newValue",[2008,5812,4011],{"class":2702},[2008,5814,3965],{"class":2694},[2008,5816,2703],{"class":2702},[2008,5818,5819,5822,5824,5827,5829,5831,5833,5836,5838,5841,5843,5845],{"class":2528,"line":4107},[2008,5820,5821],{"class":2801},"    localStorage",[2008,5823,181],{"class":2702},[2008,5825,5826],{"class":2760},"setItem",[2008,5828,3900],{"class":2702},[2008,5830,5642],{"class":2801},[2008,5832,3848],{"class":2702},[2008,5834,5835],{"class":3890},"JSON",[2008,5837,181],{"class":2702},[2008,5839,5840],{"class":2760},"stringify",[2008,5842,3900],{"class":2702},[2008,5844,5810],{"class":2801},[2008,5846,5847],{"class":2702},"))\n",[2008,5849,5850,5853,5856,5860],{"class":2528,"line":64},[2008,5851,5852],{"class":2702},"  }, { ",[2008,5854,5855],{"class":2801},"deep:",[2008,5857,5859],{"class":5858},"s7v1m"," true",[2008,5861,5862],{"class":2702}," })\n",[2008,5864,5865],{"class":2528,"line":4120},[2008,5866,2548],{"emptyLinePlaceholder":54},[2008,5868,5869,5871],{"class":2528,"line":4125},[2008,5870,2790],{"class":2789},[2008,5872,5873],{"class":2801}," value\n",[2008,5875,5876],{"class":2528,"line":4135},[2008,5877,2748],{"class":2702},[209,5879,5881],{"id":5880},"إدارة-الذاكرة-والتنظيف","إدارة الذاكرة والتنظيف",[577,5883,5885],{"className":2679,"code":5884,"language":2681,"meta":42,"style":42},"// composables/useEventListener.ts\nimport { onMounted, onUnmounted } from 'vue'\n\nexport function useEventListener(\n  target: EventTarget,\n  event: string,\n  callback: EventListener\n) {\n  onMounted(() => {\n    target.addEventListener(event, callback)\n  })\n\n  onUnmounted(() => {\n    target.removeEventListener(event, callback)\n  })\n}\n",[584,5886,5887,5892,5910,5914,5926,5938,5949,5959,5963,5974,5994,5999,6003,6014,6032,6036],{"__ignoreMap":42},[2008,5888,5889],{"class":2528,"line":2529},[2008,5890,5891],{"class":2688},"// composables/useEventListener.ts\n",[2008,5893,5894,5896,5898,5900,5902,5904,5906,5908],{"class":2528,"line":46},[2008,5895,3841],{"class":2789},[2008,5897,2775],{"class":2702},[2008,5899,5316],{"class":2801},[2008,5901,3848],{"class":2702},[2008,5903,5321],{"class":2801},[2008,5905,3865],{"class":2702},[2008,5907,3868],{"class":2789},[2008,5909,4301],{"class":2811},[2008,5911,5912],{"class":2528,"line":43},[2008,5913,2548],{"emptyLinePlaceholder":54},[2008,5915,5916,5918,5920,5923],{"class":2528,"line":2545},[2008,5917,4310],{"class":2789},[2008,5919,5628],{"class":2694},[2008,5921,5922],{"class":2760}," useEventListener",[2008,5924,5925],{"class":2702},"(\n",[2008,5927,5928,5931,5933,5936],{"class":2528,"line":2551},[2008,5929,5930],{"class":2708},"  target",[2008,5932,2713],{"class":2712},[2008,5934,5935],{"class":2698}," EventTarget",[2008,5937,4521],{"class":2702},[2008,5939,5940,5943,5945,5947],{"class":2528,"line":2557},[2008,5941,5942],{"class":2708},"  event",[2008,5944,2713],{"class":2712},[2008,5946,2730],{"class":2716},[2008,5948,4521],{"class":2702},[2008,5950,5951,5954,5956],{"class":2528,"line":2563},[2008,5952,5953],{"class":2708},"  callback",[2008,5955,2713],{"class":2712},[2008,5957,5958],{"class":2698}," EventListener\n",[2008,5960,5961],{"class":2528,"line":2568},[2008,5962,5659],{"class":2702},[2008,5964,5965,5968,5970,5972],{"class":2528,"line":2574},[2008,5966,5967],{"class":2760},"  onMounted",[2008,5969,3962],{"class":2702},[2008,5971,3965],{"class":2694},[2008,5973,2703],{"class":2702},[2008,5975,5976,5979,5981,5983,5985,5987,5989,5992],{"class":2528,"line":1467},[2008,5977,5978],{"class":2801},"    target",[2008,5980,181],{"class":2702},[2008,5982,5460],{"class":2760},[2008,5984,3900],{"class":2702},[2008,5986,5384],{"class":2801},[2008,5988,3848],{"class":2702},[2008,5990,5991],{"class":2801},"callback",[2008,5993,3160],{"class":2702},[2008,5995,5996],{"class":2528,"line":2818},[2008,5997,5998],{"class":2702},"  })\n",[2008,6000,6001],{"class":2528,"line":2842},[2008,6002,2548],{"emptyLinePlaceholder":54},[2008,6004,6005,6008,6010,6012],{"class":2528,"line":2862},[2008,6006,6007],{"class":2760},"  onUnmounted",[2008,6009,3962],{"class":2702},[2008,6011,3965],{"class":2694},[2008,6013,2703],{"class":2702},[2008,6015,6016,6018,6020,6022,6024,6026,6028,6030],{"class":2528,"line":2119},[2008,6017,5978],{"class":2801},[2008,6019,181],{"class":2702},[2008,6021,5499],{"class":2760},[2008,6023,3900],{"class":2702},[2008,6025,5384],{"class":2801},[2008,6027,3848],{"class":2702},[2008,6029,5991],{"class":2801},[2008,6031,3160],{"class":2702},[2008,6033,6034],{"class":2528,"line":2035},[2008,6035,5998],{"class":2702},[2008,6037,6038],{"class":2528,"line":3038},[2008,6039,2748],{"class":2702},[16,6041,6043],{"id":6042},"_5-تحسين-الأداء","5. تحسين الأداء",[209,6045,6047,6048,3752,6051],{"id":6046},"استخدام-shallowref-و-shallowreactive","استخدام ",[584,6049,6050],{},"shallowRef",[584,6052,6053],{},"shallowReactive",[577,6055,6057],{"className":2679,"code":6056,"language":2681,"meta":42,"style":42},"import { shallowRef, shallowReactive } from 'vue'\n\n// للكائنات الكبيرة التي لا تحتاج تفاعل عميق\nconst largeObject = shallowReactive({ /* ... */ })\n\n// للمراجع التي تحتوي على كائنات\nconst data = shallowRef({ /* ... */ })\n",[584,6058,6059,6077,6081,6086,6105,6109,6114],{"__ignoreMap":42},[2008,6060,6061,6063,6065,6067,6069,6071,6073,6075],{"class":2528,"line":2529},[2008,6062,3841],{"class":2789},[2008,6064,2775],{"class":2702},[2008,6066,6050],{"class":2801},[2008,6068,3848],{"class":2702},[2008,6070,6053],{"class":2801},[2008,6072,3865],{"class":2702},[2008,6074,3868],{"class":2789},[2008,6076,4301],{"class":2811},[2008,6078,6079],{"class":2528,"line":46},[2008,6080,2548],{"emptyLinePlaceholder":54},[2008,6082,6083],{"class":2528,"line":43},[2008,6084,6085],{"class":2688},"// للكائنات الكبيرة التي لا تحتاج تفاعل عميق\n",[2008,6087,6088,6090,6093,6095,6098,6100,6103],{"class":2528,"line":2545},[2008,6089,3887],{"class":2694},[2008,6091,6092],{"class":3890}," largeObject",[2008,6094,3894],{"class":2712},[2008,6096,6097],{"class":2760}," shallowReactive",[2008,6099,2764],{"class":2702},[2008,6101,6102],{"class":2688},"/* ... */",[2008,6104,5862],{"class":2702},[2008,6106,6107],{"class":2528,"line":2551},[2008,6108,2548],{"emptyLinePlaceholder":54},[2008,6110,6111],{"class":2528,"line":2557},[2008,6112,6113],{"class":2688},"// للمراجع التي تحتوي على كائنات\n",[2008,6115,6116,6118,6121,6123,6126,6128,6130],{"class":2528,"line":2563},[2008,6117,3887],{"class":2694},[2008,6119,6120],{"class":3890}," data",[2008,6122,3894],{"class":2712},[2008,6124,6125],{"class":2760}," shallowRef",[2008,6127,2764],{"class":2702},[2008,6129,6102],{"class":2688},[2008,6131,5862],{"class":2702},[209,6133,6135,6136],{"id":6134},"تحسين-العرض-مع-v-memo","تحسين العرض مع ",[584,6137,6138],{},"v-memo",[577,6140,6142],{"className":3808,"code":6141,"language":3810,"meta":42,"style":42},"\u003Ctemplate>\n  \u003Cdiv v-for=\"item in items\" :key=\"item.id\" v-memo=\"[item.id, item.updatedAt]\">\n    \u003C!-- محتوى المكون -->\n  \u003C/div>\n\u003C/template>\n",[584,6143,6144,6152,6225,6230,6238],{"__ignoreMap":42},[2008,6145,6146,6148,6150],{"class":2528,"line":2529},[2008,6147,3818],{"class":3817},[2008,6149,4130],{"class":3821},[2008,6151,2815],{"class":3817},[2008,6153,6154,6156,6158,6161,6163,6165,6168,6171,6174,6176,6178,6180,6182,6184,6186,6188,6191,6193,6196,6198,6200,6203,6205,6207,6209,6211,6213,6215,6218,6221,6223],{"class":2528,"line":46},[2008,6155,4138],{"class":3817},[2008,6157,2802],{"class":3821},[2008,6159,6160],{"class":2789}," v-for",[2008,6162,2808],{"class":2702},[2008,6164,4208],{"class":4096},[2008,6166,6167],{"class":2801},"item",[2008,6169,6170],{"class":2694}," in",[2008,6172,6173],{"class":2801}," items",[2008,6175,4208],{"class":4096},[2008,6177,5543],{"class":2702},[2008,6179,5642],{"class":3825},[2008,6181,2808],{"class":2702},[2008,6183,4208],{"class":4096},[2008,6185,6167],{"class":2801},[2008,6187,181],{"class":2702},[2008,6189,6190],{"class":2801},"id",[2008,6192,4208],{"class":4096},[2008,6194,6195],{"class":3825}," v-memo",[2008,6197,2808],{"class":2702},[2008,6199,4208],{"class":4096},[2008,6201,6202],{"class":2702},"[",[2008,6204,6167],{"class":2801},[2008,6206,181],{"class":2702},[2008,6208,6190],{"class":2801},[2008,6210,3848],{"class":2702},[2008,6212,6167],{"class":2801},[2008,6214,181],{"class":2702},[2008,6216,6217],{"class":2801},"updatedAt",[2008,6219,6220],{"class":2702},"]",[2008,6222,4208],{"class":4096},[2008,6224,2815],{"class":3817},[2008,6226,6227],{"class":2528,"line":43},[2008,6228,6229],{"class":2688},"    \u003C!-- محتوى المكون -->\n",[2008,6231,6232,6234,6236],{"class":2528,"line":2545},[2008,6233,4232],{"class":3817},[2008,6235,2802],{"class":3821},[2008,6237,2815],{"class":3817},[2008,6239,6240,6242,6244],{"class":2528,"line":2551},[2008,6241,2835],{"class":3817},[2008,6243,4130],{"class":3821},[2008,6245,2815],{"class":3817},[209,6247,6047,6249,6252],{"id":6248},"استخدام-nexttick-بحكمة",[584,6250,6251],{},"nextTick"," بحكمة",[577,6254,6256],{"className":2679,"code":6255,"language":2681,"meta":42,"style":42},"import { nextTick } from 'vue'\n\nconst updateUI = async () => {\n  // تحديث البيانات\n  data.value = newData\n\n  // انتظار العرض\n  await nextTick()\n\n  // الآن يمكن الوصول إلى DOM المحدث\n  scrollToElement()\n}\n",[584,6257,6258,6272,6276,6295,6300,6314,6318,6323,6333,6337,6342,6349],{"__ignoreMap":42},[2008,6259,6260,6262,6264,6266,6268,6270],{"class":2528,"line":2529},[2008,6261,3841],{"class":2789},[2008,6263,2775],{"class":2702},[2008,6265,6251],{"class":2801},[2008,6267,3865],{"class":2702},[2008,6269,3868],{"class":2789},[2008,6271,4301],{"class":2811},[2008,6273,6274],{"class":2528,"line":46},[2008,6275,2548],{"emptyLinePlaceholder":54},[2008,6277,6278,6280,6283,6285,6288,6291,6293],{"class":2528,"line":43},[2008,6279,3887],{"class":2694},[2008,6281,6282],{"class":2760}," updateUI",[2008,6284,3894],{"class":2712},[2008,6286,6287],{"class":2694}," async",[2008,6289,6290],{"class":2702}," () ",[2008,6292,3965],{"class":2694},[2008,6294,2703],{"class":2702},[2008,6296,6297],{"class":2528,"line":2545},[2008,6298,6299],{"class":2688},"  // تحديث البيانات\n",[2008,6301,6302,6305,6307,6309,6311],{"class":2528,"line":2551},[2008,6303,6304],{"class":2801},"  data",[2008,6306,181],{"class":2702},[2008,6308,3972],{"class":2801},[2008,6310,3894],{"class":2712},[2008,6312,6313],{"class":2801}," newData\n",[2008,6315,6316],{"class":2528,"line":2557},[2008,6317,2548],{"emptyLinePlaceholder":54},[2008,6319,6320],{"class":2528,"line":2563},[2008,6321,6322],{"class":2688},"  // انتظار العرض\n",[2008,6324,6325,6328,6331],{"class":2528,"line":2568},[2008,6326,6327],{"class":2789},"  await",[2008,6329,6330],{"class":2760}," nextTick",[2008,6332,4628],{"class":2702},[2008,6334,6335],{"class":2528,"line":2574},[2008,6336,2548],{"emptyLinePlaceholder":54},[2008,6338,6339],{"class":2528,"line":1467},[2008,6340,6341],{"class":2688},"  // الآن يمكن الوصول إلى DOM المحدث\n",[2008,6343,6344,6347],{"class":2528,"line":2818},[2008,6345,6346],{"class":2760},"  scrollToElement",[2008,6348,4628],{"class":2702},[2008,6350,6351],{"class":2528,"line":2842},[2008,6352,2748],{"class":2702},[16,6354,6356],{"id":6355},"_6-تكامل-typescript-المتقدم","6. تكامل TypeScript المتقدم",[209,6358,6360],{"id":6359},"واجهات-المكونات-المكتوبة","واجهات المكونات المكتوبة",[577,6362,6364],{"className":3808,"code":6363,"language":3810,"meta":42,"style":42},"\u003Cscript setup lang=\"ts\">\ninterface User {\n  id: number\n  name: string\n  email: string\n}\n\ninterface Props {\n  user: User\n  loading?: boolean\n}\n\ninterface Emits {\n  (e: 'update', user: User): void\n  (e: 'delete', id: number): void\n}\n\nconst props = defineProps\u003CProps>()\nconst emit = defineEmits\u003CEmits>()\n\u003C/script>\n",[584,6365,6366,6382,6390,6399,6407,6415,6419,6423,6431,6441,6451,6455,6459,6468,6496,6521,6525,6529,6545,6562],{"__ignoreMap":42},[2008,6367,6368,6370,6372,6374,6376,6378,6380],{"class":2528,"line":2529},[2008,6369,3818],{"class":3817},[2008,6371,3822],{"class":3821},[2008,6373,3826],{"class":3825},[2008,6375,3829],{"class":3825},[2008,6377,2808],{"class":2702},[2008,6379,3834],{"class":2811},[2008,6381,2815],{"class":3817},[2008,6383,6384,6386,6388],{"class":2528,"line":46},[2008,6385,2695],{"class":2694},[2008,6387,2699],{"class":2698},[2008,6389,2703],{"class":2702},[2008,6391,6392,6394,6396],{"class":2528,"line":43},[2008,6393,2709],{"class":2708},[2008,6395,2713],{"class":2712},[2008,6397,6398],{"class":2716}," number\n",[2008,6400,6401,6403,6405],{"class":2528,"line":2545},[2008,6402,2725],{"class":2708},[2008,6404,2713],{"class":2712},[2008,6406,4896],{"class":2716},[2008,6408,6409,6411,6413],{"class":2528,"line":2551},[2008,6410,2737],{"class":2708},[2008,6412,2713],{"class":2712},[2008,6414,4896],{"class":2716},[2008,6416,6417],{"class":2528,"line":2557},[2008,6418,2748],{"class":2702},[2008,6420,6421],{"class":2528,"line":2563},[2008,6422,2548],{"emptyLinePlaceholder":54},[2008,6424,6425,6427,6429],{"class":2528,"line":2568},[2008,6426,2695],{"class":2694},[2008,6428,4884],{"class":2698},[2008,6430,2703],{"class":2702},[2008,6432,6433,6436,6438],{"class":2528,"line":2574},[2008,6434,6435],{"class":2708},"  user",[2008,6437,2713],{"class":2712},[2008,6439,6440],{"class":2698}," User\n",[2008,6442,6443,6446,6448],{"class":2528,"line":1467},[2008,6444,6445],{"class":2708},"  loading",[2008,6447,4913],{"class":2712},[2008,6449,6450],{"class":2716}," boolean\n",[2008,6452,6453],{"class":2528,"line":2818},[2008,6454,2748],{"class":2702},[2008,6456,6457],{"class":2528,"line":2842},[2008,6458,2548],{"emptyLinePlaceholder":54},[2008,6460,6461,6463,6466],{"class":2528,"line":2862},[2008,6462,2695],{"class":2694},[2008,6464,6465],{"class":2698}," Emits",[2008,6467,2703],{"class":2702},[2008,6469,6470,6473,6476,6478,6481,6483,6485,6487,6489,6491,6493],{"class":2528,"line":2119},[2008,6471,6472],{"class":2702},"  (",[2008,6474,6475],{"class":2708},"e",[2008,6477,2713],{"class":2712},[2008,6479,6480],{"class":2811}," 'update'",[2008,6482,3848],{"class":2702},[2008,6484,2767],{"class":2708},[2008,6486,2713],{"class":2712},[2008,6488,2699],{"class":2698},[2008,6490,3778],{"class":2702},[2008,6492,2713],{"class":2712},[2008,6494,6495],{"class":2716}," void\n",[2008,6497,6498,6500,6502,6504,6507,6509,6511,6513,6515,6517,6519],{"class":2528,"line":2035},[2008,6499,6472],{"class":2702},[2008,6501,6475],{"class":2708},[2008,6503,2713],{"class":2712},[2008,6505,6506],{"class":2811}," 'delete'",[2008,6508,3848],{"class":2702},[2008,6510,6190],{"class":2708},[2008,6512,2713],{"class":2712},[2008,6514,2717],{"class":2716},[2008,6516,3778],{"class":2702},[2008,6518,2713],{"class":2712},[2008,6520,6495],{"class":2716},[2008,6522,6523],{"class":2528,"line":3038},[2008,6524,2748],{"class":2702},[2008,6526,6527],{"class":2528,"line":3044},[2008,6528,2548],{"emptyLinePlaceholder":54},[2008,6530,6531,6533,6535,6537,6539,6541,6543],{"class":2528,"line":2380},[2008,6532,3887],{"class":2694},[2008,6534,4930],{"class":3890},[2008,6536,3894],{"class":2712},[2008,6538,4935],{"class":2760},[2008,6540,3818],{"class":2702},[2008,6542,4940],{"class":2698},[2008,6544,4943],{"class":2702},[2008,6546,6547,6549,6551,6553,6555,6557,6560],{"class":2528,"line":4107},[2008,6548,3887],{"class":2694},[2008,6550,4950],{"class":3890},[2008,6552,3894],{"class":2712},[2008,6554,4955],{"class":2760},[2008,6556,3818],{"class":2702},[2008,6558,6559],{"class":2698},"Emits",[2008,6561,4943],{"class":2702},[2008,6563,6564,6566,6568],{"class":2528,"line":64},[2008,6565,2835],{"class":3817},[2008,6567,3822],{"class":3821},[2008,6569,2815],{"class":3817},[209,6571,6573],{"id":6572},"أنواع-pinia-المكتوبة","أنواع Pinia المكتوبة",[577,6575,6577],{"className":2679,"code":6576,"language":2681,"meta":42,"style":42},"// stores/user.ts\nimport { defineStore } from 'pinia'\nimport { ref } from 'vue'\n\ninterface User {\n  id: number\n  name: string\n  email: string\n}\n\nexport const useUserStore = defineStore('user', () => {\n  const currentUser = ref\u003CUser | null>(null)\n  const users = ref\u003CUser[]>([])\n\n  const setCurrentUser = (user: User) => {\n    currentUser.value = user\n  }\n\n  const addUser = (user: User) => {\n    users.value.push(user)\n  }\n\n  return {\n    currentUser,\n    users,\n    setCurrentUser,\n    addUser\n  }\n})\n",[584,6578,6579,6584,6598,6612,6616,6624,6632,6640,6648,6652,6656,6680,6709,6727,6731,6754,6768,6772,6776,6799,6819,6823,6827,6833,6839,6845,6852,6857,6861],{"__ignoreMap":42},[2008,6580,6581],{"class":2528,"line":2529},[2008,6582,6583],{"class":2688},"// stores/user.ts\n",[2008,6585,6586,6588,6590,6592,6594,6596],{"class":2528,"line":46},[2008,6587,3841],{"class":2789},[2008,6589,2775],{"class":2702},[2008,6591,4275],{"class":2801},[2008,6593,3865],{"class":2702},[2008,6595,3868],{"class":2789},[2008,6597,4282],{"class":2811},[2008,6599,6600,6602,6604,6606,6608,6610],{"class":2528,"line":43},[2008,6601,3841],{"class":2789},[2008,6603,2775],{"class":2702},[2008,6605,3751],{"class":2801},[2008,6607,3865],{"class":2702},[2008,6609,3868],{"class":2789},[2008,6611,4301],{"class":2811},[2008,6613,6614],{"class":2528,"line":2545},[2008,6615,2548],{"emptyLinePlaceholder":54},[2008,6617,6618,6620,6622],{"class":2528,"line":2551},[2008,6619,2695],{"class":2694},[2008,6621,2699],{"class":2698},[2008,6623,2703],{"class":2702},[2008,6625,6626,6628,6630],{"class":2528,"line":2557},[2008,6627,2709],{"class":2708},[2008,6629,2713],{"class":2712},[2008,6631,6398],{"class":2716},[2008,6633,6634,6636,6638],{"class":2528,"line":2563},[2008,6635,2725],{"class":2708},[2008,6637,2713],{"class":2712},[2008,6639,4896],{"class":2716},[2008,6641,6642,6644,6646],{"class":2528,"line":2568},[2008,6643,2737],{"class":2708},[2008,6645,2713],{"class":2712},[2008,6647,4896],{"class":2716},[2008,6649,6650],{"class":2528,"line":2574},[2008,6651,2748],{"class":2702},[2008,6653,6654],{"class":2528,"line":1467},[2008,6655,2548],{"emptyLinePlaceholder":54},[2008,6657,6658,6660,6662,6665,6667,6669,6671,6674,6676,6678],{"class":2528,"line":2818},[2008,6659,4310],{"class":2789},[2008,6661,4313],{"class":2694},[2008,6663,6664],{"class":3890}," useUserStore",[2008,6666,3894],{"class":2712},[2008,6668,4321],{"class":2760},[2008,6670,3900],{"class":2702},[2008,6672,6673],{"class":2811},"'user'",[2008,6675,4329],{"class":2702},[2008,6677,3965],{"class":2694},[2008,6679,2703],{"class":2702},[2008,6681,6682,6684,6687,6689,6691,6693,6696,6699,6702,6704,6707],{"class":2528,"line":2842},[2008,6683,4343],{"class":2694},[2008,6685,6686],{"class":3890}," currentUser",[2008,6688,3894],{"class":2712},[2008,6690,3897],{"class":2760},[2008,6692,3818],{"class":2702},[2008,6694,6695],{"class":2698},"User",[2008,6697,6698],{"class":2712}," |",[2008,6700,6701],{"class":2716}," null",[2008,6703,5639],{"class":2702},[2008,6705,6706],{"class":5858},"null",[2008,6708,3160],{"class":2702},[2008,6710,6711,6713,6716,6718,6720,6722,6724],{"class":2528,"line":2862},[2008,6712,4343],{"class":2694},[2008,6714,6715],{"class":3890}," users",[2008,6717,3894],{"class":2712},[2008,6719,3897],{"class":2760},[2008,6721,3818],{"class":2702},[2008,6723,6695],{"class":2698},[2008,6725,6726],{"class":2702},"[]>([])\n",[2008,6728,6729],{"class":2528,"line":2119},[2008,6730,2548],{"emptyLinePlaceholder":54},[2008,6732,6733,6735,6738,6740,6742,6744,6746,6748,6750,6752],{"class":2528,"line":2035},[2008,6734,4343],{"class":2694},[2008,6736,6737],{"class":2760}," setCurrentUser",[2008,6739,3894],{"class":2712},[2008,6741,5381],{"class":2702},[2008,6743,2767],{"class":2708},[2008,6745,2713],{"class":2712},[2008,6747,2699],{"class":2698},[2008,6749,4011],{"class":2702},[2008,6751,3965],{"class":2694},[2008,6753,2703],{"class":2702},[2008,6755,6756,6759,6761,6763,6765],{"class":2528,"line":3038},[2008,6757,6758],{"class":2801},"    currentUser",[2008,6760,181],{"class":2702},[2008,6762,3972],{"class":2801},[2008,6764,3894],{"class":2712},[2008,6766,6767],{"class":2801}," user\n",[2008,6769,6770],{"class":2528,"line":3044},[2008,6771,4446],{"class":2702},[2008,6773,6774],{"class":2528,"line":2380},[2008,6775,2548],{"emptyLinePlaceholder":54},[2008,6777,6778,6780,6783,6785,6787,6789,6791,6793,6795,6797],{"class":2528,"line":4107},[2008,6779,4343],{"class":2694},[2008,6781,6782],{"class":2760}," addUser",[2008,6784,3894],{"class":2712},[2008,6786,5381],{"class":2702},[2008,6788,2767],{"class":2708},[2008,6790,2713],{"class":2712},[2008,6792,2699],{"class":2698},[2008,6794,4011],{"class":2702},[2008,6796,3965],{"class":2694},[2008,6798,2703],{"class":2702},[2008,6800,6801,6804,6806,6808,6810,6813,6815,6817],{"class":2528,"line":64},[2008,6802,6803],{"class":2801},"    users",[2008,6805,181],{"class":2702},[2008,6807,3972],{"class":2801},[2008,6809,181],{"class":2702},[2008,6811,6812],{"class":2760},"push",[2008,6814,3900],{"class":2702},[2008,6816,2767],{"class":2801},[2008,6818,3160],{"class":2702},[2008,6820,6821],{"class":2528,"line":4120},[2008,6822,4446],{"class":2702},[2008,6824,6825],{"class":2528,"line":4125},[2008,6826,2548],{"emptyLinePlaceholder":54},[2008,6828,6829,6831],{"class":2528,"line":4135},[2008,6830,2790],{"class":2789},[2008,6832,2703],{"class":2702},[2008,6834,6835,6837],{"class":2528,"line":4145},[2008,6836,6758],{"class":2801},[2008,6838,4521],{"class":2702},[2008,6840,6841,6843],{"class":2528,"line":4169},[2008,6842,6803],{"class":2801},[2008,6844,4521],{"class":2702},[2008,6846,6847,6850],{"class":2528,"line":4192},[2008,6848,6849],{"class":2801},"    setCurrentUser",[2008,6851,4521],{"class":2702},[2008,6853,6854],{"class":2528,"line":4229},[2008,6855,6856],{"class":2801},"    addUser\n",[2008,6858,6859],{"class":2528,"line":4239},[2008,6860,4446],{"class":2702},[2008,6862,6863],{"class":2528,"line":4531},[2008,6864,4569],{"class":2702},[16,6866,6868],{"id":6867},"_7-أنماط-الاختبار","7. أنماط الاختبار",[209,6870,6872],{"id":6871},"اختبار-المكونات-مع-vue-test-utils","اختبار المكونات مع Vue Test Utils",[577,6874,6876],{"className":2679,"code":6875,"language":2681,"meta":42,"style":42},"// tests/components/Counter.test.ts\nimport { describe, it, expect } from 'vitest'\nimport { mount } from '@vue/test-utils'\nimport Counter from '@/components/Counter.vue'\n\ndescribe('Counter', () => {\n  it('increments count when button is clicked', async () => {\n    const wrapper = mount(Counter)\n    const button = wrapper.find('button')\n\n    await button.trigger('click')\n\n    expect(wrapper.text()).toContain('1')\n  })\n})\n",[584,6877,6878,6883,6909,6925,6938,6942,6956,6977,6997,7020,7024,7043,7047,7074,7078],{"__ignoreMap":42},[2008,6879,6880],{"class":2528,"line":2529},[2008,6881,6882],{"class":2688},"// tests/components/Counter.test.ts\n",[2008,6884,6885,6887,6889,6892,6894,6897,6899,6902,6904,6906],{"class":2528,"line":46},[2008,6886,3841],{"class":2789},[2008,6888,2775],{"class":2702},[2008,6890,6891],{"class":2801},"describe",[2008,6893,3848],{"class":2702},[2008,6895,6896],{"class":2801},"it",[2008,6898,3848],{"class":2702},[2008,6900,6901],{"class":2801},"expect",[2008,6903,3865],{"class":2702},[2008,6905,3868],{"class":2789},[2008,6907,6908],{"class":2811}," 'vitest'\n",[2008,6910,6911,6913,6915,6918,6920,6922],{"class":2528,"line":43},[2008,6912,3841],{"class":2789},[2008,6914,2775],{"class":2702},[2008,6916,6917],{"class":2801},"mount",[2008,6919,3865],{"class":2702},[2008,6921,3868],{"class":2789},[2008,6923,6924],{"class":2811}," '@vue/test-utils'\n",[2008,6926,6927,6929,6932,6935],{"class":2528,"line":2545},[2008,6928,3841],{"class":2789},[2008,6930,6931],{"class":2801}," Counter",[2008,6933,6934],{"class":2789}," from",[2008,6936,6937],{"class":2811}," '@/components/Counter.vue'\n",[2008,6939,6940],{"class":2528,"line":2551},[2008,6941,2548],{"emptyLinePlaceholder":54},[2008,6943,6944,6946,6948,6950,6952,6954],{"class":2528,"line":2557},[2008,6945,6891],{"class":2760},[2008,6947,3900],{"class":2702},[2008,6949,4371],{"class":2811},[2008,6951,4329],{"class":2702},[2008,6953,3965],{"class":2694},[2008,6955,2703],{"class":2702},[2008,6957,6958,6961,6963,6966,6968,6971,6973,6975],{"class":2528,"line":2563},[2008,6959,6960],{"class":2760},"  it",[2008,6962,3900],{"class":2702},[2008,6964,6965],{"class":2811},"'increments count when button is clicked'",[2008,6967,3848],{"class":2702},[2008,6969,6970],{"class":2694},"async",[2008,6972,6290],{"class":2702},[2008,6974,3965],{"class":2694},[2008,6976,2703],{"class":2702},[2008,6978,6979,6982,6985,6987,6990,6992,6995],{"class":2528,"line":2568},[2008,6980,6981],{"class":2694},"    const",[2008,6983,6984],{"class":3890}," wrapper",[2008,6986,3894],{"class":2712},[2008,6988,6989],{"class":2760}," mount",[2008,6991,3900],{"class":2702},[2008,6993,6994],{"class":2801},"Counter",[2008,6996,3160],{"class":2702},[2008,6998,6999,7001,7004,7006,7008,7010,7013,7015,7018],{"class":2528,"line":2574},[2008,7000,6981],{"class":2694},[2008,7002,7003],{"class":3890}," button",[2008,7005,3894],{"class":2712},[2008,7007,6984],{"class":2801},[2008,7009,181],{"class":2702},[2008,7011,7012],{"class":2760},"find",[2008,7014,3900],{"class":2702},[2008,7016,7017],{"class":2811},"'button'",[2008,7019,3160],{"class":2702},[2008,7021,7022],{"class":2528,"line":1467},[2008,7023,2548],{"emptyLinePlaceholder":54},[2008,7025,7026,7029,7031,7033,7036,7038,7041],{"class":2528,"line":2818},[2008,7027,7028],{"class":2789},"    await",[2008,7030,7003],{"class":2801},[2008,7032,181],{"class":2702},[2008,7034,7035],{"class":2760},"trigger",[2008,7037,3900],{"class":2702},[2008,7039,7040],{"class":2811},"'click'",[2008,7042,3160],{"class":2702},[2008,7044,7045],{"class":2528,"line":2842},[2008,7046,2548],{"emptyLinePlaceholder":54},[2008,7048,7049,7052,7054,7057,7059,7061,7064,7067,7069,7072],{"class":2528,"line":2862},[2008,7050,7051],{"class":2760},"    expect",[2008,7053,3900],{"class":2702},[2008,7055,7056],{"class":2801},"wrapper",[2008,7058,181],{"class":2702},[2008,7060,582],{"class":2760},[2008,7062,7063],{"class":2702},"()).",[2008,7065,7066],{"class":2760},"toContain",[2008,7068,3900],{"class":2702},[2008,7070,7071],{"class":2811},"'1'",[2008,7073,3160],{"class":2702},[2008,7075,7076],{"class":2528,"line":2119},[2008,7077,5998],{"class":2702},[2008,7079,7080],{"class":2528,"line":2035},[2008,7081,4569],{"class":2702},[209,7083,7085],{"id":7084},"اختبار-composables","اختبار Composables",[577,7087,7089],{"className":2679,"code":7088,"language":2681,"meta":42,"style":42},"// tests/composables/useCounter.test.ts\nimport { describe, it, expect } from 'vitest'\nimport { useCounter } from '@/composables/useCounter'\n\ndescribe('useCounter', () => {\n  it('increments count', () => {\n    const { count, increment } = useCounter()\n\n    increment()\n\n    expect(count.value).toBe(1)\n  })\n})\n",[584,7090,7091,7096,7118,7134,7138,7153,7168,7189,7193,7199,7203,7228,7232],{"__ignoreMap":42},[2008,7092,7093],{"class":2528,"line":2529},[2008,7094,7095],{"class":2688},"// tests/composables/useCounter.test.ts\n",[2008,7097,7098,7100,7102,7104,7106,7108,7110,7112,7114,7116],{"class":2528,"line":46},[2008,7099,3841],{"class":2789},[2008,7101,2775],{"class":2702},[2008,7103,6891],{"class":2801},[2008,7105,3848],{"class":2702},[2008,7107,6896],{"class":2801},[2008,7109,3848],{"class":2702},[2008,7111,6901],{"class":2801},[2008,7113,3865],{"class":2702},[2008,7115,3868],{"class":2789},[2008,7117,6908],{"class":2811},[2008,7119,7120,7122,7124,7127,7129,7131],{"class":2528,"line":43},[2008,7121,3841],{"class":2789},[2008,7123,2775],{"class":2702},[2008,7125,7126],{"class":2801},"useCounter",[2008,7128,3865],{"class":2702},[2008,7130,3868],{"class":2789},[2008,7132,7133],{"class":2811}," '@/composables/useCounter'\n",[2008,7135,7136],{"class":2528,"line":2545},[2008,7137,2548],{"emptyLinePlaceholder":54},[2008,7139,7140,7142,7144,7147,7149,7151],{"class":2528,"line":2551},[2008,7141,6891],{"class":2760},[2008,7143,3900],{"class":2702},[2008,7145,7146],{"class":2811},"'useCounter'",[2008,7148,4329],{"class":2702},[2008,7150,3965],{"class":2694},[2008,7152,2703],{"class":2702},[2008,7154,7155,7157,7159,7162,7164,7166],{"class":2528,"line":2557},[2008,7156,6960],{"class":2760},[2008,7158,3900],{"class":2702},[2008,7160,7161],{"class":2811},"'increments count'",[2008,7163,4329],{"class":2702},[2008,7165,3965],{"class":2694},[2008,7167,2703],{"class":2702},[2008,7169,7170,7172,7174,7176,7178,7180,7182,7184,7187],{"class":2528,"line":2563},[2008,7171,6981],{"class":2694},[2008,7173,2775],{"class":2702},[2008,7175,2013],{"class":3890},[2008,7177,3848],{"class":2702},[2008,7179,4728],{"class":3890},[2008,7181,3865],{"class":2702},[2008,7183,2808],{"class":2712},[2008,7185,7186],{"class":2760}," useCounter",[2008,7188,4628],{"class":2702},[2008,7190,7191],{"class":2528,"line":2568},[2008,7192,2548],{"emptyLinePlaceholder":54},[2008,7194,7195,7197],{"class":2528,"line":2574},[2008,7196,4542],{"class":2760},[2008,7198,4628],{"class":2702},[2008,7200,7201],{"class":2528,"line":1467},[2008,7202,2548],{"emptyLinePlaceholder":54},[2008,7204,7205,7207,7209,7211,7213,7215,7218,7221,7223,7226],{"class":2528,"line":2818},[2008,7206,7051],{"class":2760},[2008,7208,3900],{"class":2702},[2008,7210,2013],{"class":2801},[2008,7212,181],{"class":2702},[2008,7214,3972],{"class":2801},[2008,7216,7217],{"class":2702},").",[2008,7219,7220],{"class":2760},"toBe",[2008,7222,3900],{"class":2702},[2008,7224,7225],{"class":3903},"1",[2008,7227,3160],{"class":2702},[2008,7229,7230],{"class":2528,"line":2842},[2008,7231,5998],{"class":2702},[2008,7233,7234],{"class":2528,"line":2862},[2008,7235,4569],{"class":2702},[16,7237,7239],{"id":7238},"_8-أنماط-الهيكلة","8. أنماط الهيكلة",[209,7241,7243],{"id":7242},"هيكل-المشروع-الموصى-به","هيكل المشروع الموصى به",[577,7245,7248],{"className":7246,"code":7247,"language":582},[580],"src/\n├── components/\n│   ├── ui/           # مكونات UI الأساسية\n│   ├── forms/        # مكونات النماذج\n│   └── layouts/      # مكونات التخطيط\n├── composables/      # دوال التكوين\n├── stores/          # مخازن Pinia\n├── types/           # أنواع TypeScript\n├── utils/           # دوال المساعدة\n└── views/           # صفحات التطبيق\n",[584,7249,7247],{"__ignoreMap":42},[209,7251,7253],{"id":7252},"نمط-الميزات-feature-based-structure","نمط الميزات (Feature-based structure)",[577,7255,7258],{"className":7256,"code":7257,"language":582},[580],"src/\n├── features/\n│   ├── auth/\n│   │   ├── components/\n│   │   ├── composables/\n│   │   ├── stores/\n│   │   └── types/\n│   └── dashboard/\n│       ├── components/\n│       ├── composables/\n│       ├── stores/\n│       └── types/\n",[584,7259,7257],{"__ignoreMap":42},[16,7261,7263],{"id":7262},"_9-معالجة-الأخطاء-والاستثناءات","9. معالجة الأخطاء والاستثناءات",[209,7265,7267],{"id":7266},"استخدام-error-boundaries","استخدام Error Boundaries",[577,7269,7271],{"className":3808,"code":7270,"language":3810,"meta":42,"style":42},"\u003C!-- components/ErrorBoundary.vue -->\n\u003Cscript setup lang=\"ts\">\nimport { ref } from 'vue'\n\nconst error = ref\u003CError | null>(null)\n\nconst handleError = (err: Error) => {\n  error.value = err\n  // تسجيل الخطأ أو إرساله إلى خدمة التتبع\n}\n\u003C/script>\n\n\u003Ctemplate>\n  \u003Cdiv v-if=\"error\" class=\"error-boundary\">\n    \u003Ch2>حدث خطأ غير متوقع\u003C/h2>\n    \u003Cp>{{ error.message }}\u003C/p>\n    \u003Cbutton @click=\"error = null\">إعادة المحاولة\u003C/button>\n  \u003C/div>\n  \u003Cslot v-else />\n\u003C/template>\n",[584,7272,7273,7278,7294,7308,7312,7338,7342,7367,7380,7385,7389,7397,7401,7409,7434,7451,7477,7510,7518,7531],{"__ignoreMap":42},[2008,7274,7275],{"class":2528,"line":2529},[2008,7276,7277],{"class":2688},"\u003C!-- components/ErrorBoundary.vue -->\n",[2008,7279,7280,7282,7284,7286,7288,7290,7292],{"class":2528,"line":46},[2008,7281,3818],{"class":3817},[2008,7283,3822],{"class":3821},[2008,7285,3826],{"class":3825},[2008,7287,3829],{"class":3825},[2008,7289,2808],{"class":2702},[2008,7291,3834],{"class":2811},[2008,7293,2815],{"class":3817},[2008,7295,7296,7298,7300,7302,7304,7306],{"class":2528,"line":43},[2008,7297,3841],{"class":2789},[2008,7299,2775],{"class":2702},[2008,7301,3751],{"class":2801},[2008,7303,3865],{"class":2702},[2008,7305,3868],{"class":2789},[2008,7307,4301],{"class":2811},[2008,7309,7310],{"class":2528,"line":2545},[2008,7311,2548],{"emptyLinePlaceholder":54},[2008,7313,7314,7316,7319,7321,7323,7325,7328,7330,7332,7334,7336],{"class":2528,"line":2551},[2008,7315,3887],{"class":2694},[2008,7317,7318],{"class":3890}," error",[2008,7320,3894],{"class":2712},[2008,7322,3897],{"class":2760},[2008,7324,3818],{"class":2702},[2008,7326,7327],{"class":2698},"Error",[2008,7329,6698],{"class":2712},[2008,7331,6701],{"class":2716},[2008,7333,5639],{"class":2702},[2008,7335,6706],{"class":5858},[2008,7337,3160],{"class":2702},[2008,7339,7340],{"class":2528,"line":2557},[2008,7341,2548],{"emptyLinePlaceholder":54},[2008,7343,7344,7346,7349,7351,7353,7356,7358,7361,7363,7365],{"class":2528,"line":2563},[2008,7345,3887],{"class":2694},[2008,7347,7348],{"class":2760}," handleError",[2008,7350,3894],{"class":2712},[2008,7352,5381],{"class":2702},[2008,7354,7355],{"class":2708},"err",[2008,7357,2713],{"class":2712},[2008,7359,7360],{"class":2698}," Error",[2008,7362,4011],{"class":2702},[2008,7364,3965],{"class":2694},[2008,7366,2703],{"class":2702},[2008,7368,7369,7371,7373,7375,7377],{"class":2528,"line":2568},[2008,7370,4910],{"class":2801},[2008,7372,181],{"class":2702},[2008,7374,3972],{"class":2801},[2008,7376,3894],{"class":2712},[2008,7378,7379],{"class":2801}," err\n",[2008,7381,7382],{"class":2528,"line":2574},[2008,7383,7384],{"class":2688},"  // تسجيل الخطأ أو إرساله إلى خدمة التتبع\n",[2008,7386,7387],{"class":2528,"line":1467},[2008,7388,2748],{"class":2702},[2008,7390,7391,7393,7395],{"class":2528,"line":2818},[2008,7392,2835],{"class":3817},[2008,7394,3822],{"class":3821},[2008,7396,2815],{"class":3817},[2008,7398,7399],{"class":2528,"line":2842},[2008,7400,2548],{"emptyLinePlaceholder":54},[2008,7402,7403,7405,7407],{"class":2528,"line":2862},[2008,7404,3818],{"class":3817},[2008,7406,4130],{"class":3821},[2008,7408,2815],{"class":3817},[2008,7410,7411,7413,7415,7417,7419,7421,7423,7425,7427,7429,7432],{"class":2528,"line":2119},[2008,7412,4138],{"class":3817},[2008,7414,2802],{"class":3821},[2008,7416,5221],{"class":2789},[2008,7418,2808],{"class":2702},[2008,7420,4208],{"class":4096},[2008,7422,5025],{"class":2801},[2008,7424,4208],{"class":4096},[2008,7426,5078],{"class":3825},[2008,7428,2808],{"class":2702},[2008,7430,7431],{"class":2811},"\"error-boundary\"",[2008,7433,2815],{"class":3817},[2008,7435,7436,7438,7440,7442,7445,7447,7449],{"class":2528,"line":2035},[2008,7437,2798],{"class":3817},[2008,7439,16],{"class":3821},[2008,7441,4152],{"class":3817},[2008,7443,7444],{"class":2702},"حدث خطأ غير متوقع",[2008,7446,2835],{"class":3817},[2008,7448,16],{"class":3821},[2008,7450,2815],{"class":3817},[2008,7452,7453,7455,7457,7459,7462,7464,7466,7469,7471,7473,7475],{"class":2528,"line":3038},[2008,7454,2798],{"class":3817},[2008,7456,12],{"class":3821},[2008,7458,4152],{"class":3817},[2008,7460,7461],{"class":2702},"{{ ",[2008,7463,5025],{"class":2801},[2008,7465,181],{"class":2702},[2008,7467,7468],{"class":2801},"message",[2008,7470,4160],{"class":2702},[2008,7472,2835],{"class":3817},[2008,7474,12],{"class":3821},[2008,7476,2815],{"class":3817},[2008,7478,7479,7481,7483,7485,7487,7489,7491,7493,7495,7497,7499,7501,7504,7506,7508],{"class":2528,"line":3044},[2008,7480,2798],{"class":3817},[2008,7482,4197],{"class":3821},[2008,7484,4200],{"class":2702},[2008,7486,4203],{"class":3825},[2008,7488,2808],{"class":2702},[2008,7490,4208],{"class":4096},[2008,7492,5025],{"class":2801},[2008,7494,3894],{"class":2712},[2008,7496,6701],{"class":5858},[2008,7498,4208],{"class":4096},[2008,7500,4152],{"class":3817},[2008,7502,7503],{"class":2702},"إعادة المحاولة",[2008,7505,2835],{"class":3817},[2008,7507,4197],{"class":3821},[2008,7509,2815],{"class":3817},[2008,7511,7512,7514,7516],{"class":2528,"line":2380},[2008,7513,4232],{"class":3817},[2008,7515,2802],{"class":3821},[2008,7517,2815],{"class":3817},[2008,7519,7520,7522,7524,7527,7529],{"class":2528,"line":4107},[2008,7521,4138],{"class":3817},[2008,7523,5540],{"class":3821},[2008,7525,7526],{"class":2789}," v-else",[2008,7528,5571],{"class":5570},[2008,7530,2815],{"class":3817},[2008,7532,7533,7535,7537],{"class":2528,"line":64},[2008,7534,2835],{"class":3817},[2008,7536,4130],{"class":3821},[2008,7538,2815],{"class":3817},[209,7540,7542],{"id":7541},"معالجة-الأخطاء-في-composables","معالجة الأخطاء في Composables",[577,7544,7546],{"className":2679,"code":7545,"language":2681,"meta":42,"style":42},"// composables/useAsyncData.ts\nimport { ref, computed } from 'vue'\n\nexport function useAsyncData\u003CT>(fetcher: () => Promise\u003CT>) {\n  const data = ref\u003CT | null>(null)\n  const loading = ref(false)\n  const error = ref\u003Cstring | null>(null)\n\n  const execute = async () => {\n    loading.value = true\n    error.value = null\n\n    try {\n      data.value = await fetcher()\n    } catch (err) {\n      error.value = err instanceof Error ? err.message : 'حدث خطأ غير معروف'\n    } finally {\n      loading.value = false\n    }\n  }\n\n  return {\n    data: computed(() => data.value),\n    loading: computed(() => loading.value),\n    error: computed(() => error.value),\n    execute\n  }\n}\n",[584,7547,7548,7553,7571,7575,7609,7633,7651,7675,7679,7696,7710,7724,7728,7734,7753,7765,7798,7807,7821,7825,7829,7833,7839,7859,7878,7897,7902,7906],{"__ignoreMap":42},[2008,7549,7550],{"class":2528,"line":2529},[2008,7551,7552],{"class":2688},"// composables/useAsyncData.ts\n",[2008,7554,7555,7557,7559,7561,7563,7565,7567,7569],{"class":2528,"line":46},[2008,7556,3841],{"class":2789},[2008,7558,2775],{"class":2702},[2008,7560,3751],{"class":2801},[2008,7562,3848],{"class":2702},[2008,7564,3777],{"class":2801},[2008,7566,3865],{"class":2702},[2008,7568,3868],{"class":2789},[2008,7570,4301],{"class":2811},[2008,7572,7573],{"class":2528,"line":43},[2008,7574,2548],{"emptyLinePlaceholder":54},[2008,7576,7577,7579,7581,7584,7586,7588,7590,7593,7595,7597,7599,7602,7604,7606],{"class":2528,"line":2545},[2008,7578,4310],{"class":2789},[2008,7580,5628],{"class":2694},[2008,7582,7583],{"class":2760}," useAsyncData",[2008,7585,3818],{"class":2702},[2008,7587,5636],{"class":2698},[2008,7589,5639],{"class":2702},[2008,7591,7592],{"class":2760},"fetcher",[2008,7594,2713],{"class":2712},[2008,7596,6290],{"class":2702},[2008,7598,3965],{"class":2694},[2008,7600,7601],{"class":2698}," Promise",[2008,7603,3818],{"class":2702},[2008,7605,5636],{"class":2698},[2008,7607,7608],{"class":2702},">) {\n",[2008,7610,7611,7613,7615,7617,7619,7621,7623,7625,7627,7629,7631],{"class":2528,"line":2551},[2008,7612,4343],{"class":2694},[2008,7614,6120],{"class":3890},[2008,7616,3894],{"class":2712},[2008,7618,3897],{"class":2760},[2008,7620,3818],{"class":2702},[2008,7622,5636],{"class":2698},[2008,7624,6698],{"class":2712},[2008,7626,6701],{"class":2716},[2008,7628,5639],{"class":2702},[2008,7630,6706],{"class":5858},[2008,7632,3160],{"class":2702},[2008,7634,7635,7637,7640,7642,7644,7646,7649],{"class":2528,"line":2557},[2008,7636,4343],{"class":2694},[2008,7638,7639],{"class":3890}," loading",[2008,7641,3894],{"class":2712},[2008,7643,3897],{"class":2760},[2008,7645,3900],{"class":2702},[2008,7647,7648],{"class":5858},"false",[2008,7650,3160],{"class":2702},[2008,7652,7653,7655,7657,7659,7661,7663,7665,7667,7669,7671,7673],{"class":2528,"line":2563},[2008,7654,4343],{"class":2694},[2008,7656,7318],{"class":3890},[2008,7658,3894],{"class":2712},[2008,7660,3897],{"class":2760},[2008,7662,3818],{"class":2702},[2008,7664,4977],{"class":2716},[2008,7666,6698],{"class":2712},[2008,7668,6701],{"class":2716},[2008,7670,5639],{"class":2702},[2008,7672,6706],{"class":5858},[2008,7674,3160],{"class":2702},[2008,7676,7677],{"class":2528,"line":2568},[2008,7678,2548],{"emptyLinePlaceholder":54},[2008,7680,7681,7683,7686,7688,7690,7692,7694],{"class":2528,"line":2574},[2008,7682,4343],{"class":2694},[2008,7684,7685],{"class":2760}," execute",[2008,7687,3894],{"class":2712},[2008,7689,6287],{"class":2694},[2008,7691,6290],{"class":2702},[2008,7693,3965],{"class":2694},[2008,7695,2703],{"class":2702},[2008,7697,7698,7701,7703,7705,7707],{"class":2528,"line":1467},[2008,7699,7700],{"class":2801},"    loading",[2008,7702,181],{"class":2702},[2008,7704,3972],{"class":2801},[2008,7706,3894],{"class":2712},[2008,7708,7709],{"class":5858}," true\n",[2008,7711,7712,7715,7717,7719,7721],{"class":2528,"line":2818},[2008,7713,7714],{"class":2801},"    error",[2008,7716,181],{"class":2702},[2008,7718,3972],{"class":2801},[2008,7720,3894],{"class":2712},[2008,7722,7723],{"class":5858}," null\n",[2008,7725,7726],{"class":2528,"line":2842},[2008,7727,2548],{"emptyLinePlaceholder":54},[2008,7729,7730,7732],{"class":2528,"line":2862},[2008,7731,5729],{"class":2789},[2008,7733,2703],{"class":2702},[2008,7735,7736,7739,7741,7743,7745,7748,7751],{"class":2528,"line":2119},[2008,7737,7738],{"class":2801},"      data",[2008,7740,181],{"class":2702},[2008,7742,3972],{"class":2801},[2008,7744,3894],{"class":2712},[2008,7746,7747],{"class":2789}," await",[2008,7749,7750],{"class":2760}," fetcher",[2008,7752,4628],{"class":2702},[2008,7754,7755,7757,7759,7761,7763],{"class":2528,"line":2035},[2008,7756,5761],{"class":2702},[2008,7758,5764],{"class":2789},[2008,7760,5381],{"class":2702},[2008,7762,7355],{"class":2801},[2008,7764,5659],{"class":2702},[2008,7766,7767,7770,7772,7774,7776,7779,7782,7784,7787,7789,7791,7793,7795],{"class":2528,"line":3038},[2008,7768,7769],{"class":2801},"      error",[2008,7771,181],{"class":2702},[2008,7773,3972],{"class":2801},[2008,7775,3894],{"class":2712},[2008,7777,7778],{"class":2801}," err",[2008,7780,7781],{"class":2694}," instanceof",[2008,7783,7360],{"class":2698},[2008,7785,7786],{"class":2712}," ?",[2008,7788,7778],{"class":2801},[2008,7790,181],{"class":2702},[2008,7792,7468],{"class":2801},[2008,7794,5543],{"class":2712},[2008,7796,7797],{"class":2811}," 'حدث خطأ غير معروف'\n",[2008,7799,7800,7802,7805],{"class":2528,"line":3044},[2008,7801,5761],{"class":2702},[2008,7803,7804],{"class":2789},"finally",[2008,7806,2703],{"class":2702},[2008,7808,7809,7812,7814,7816,7818],{"class":2528,"line":2380},[2008,7810,7811],{"class":2801},"      loading",[2008,7813,181],{"class":2702},[2008,7815,3972],{"class":2801},[2008,7817,3894],{"class":2712},[2008,7819,7820],{"class":5858}," false\n",[2008,7822,7823],{"class":2528,"line":4107},[2008,7824,3047],{"class":2702},[2008,7826,7827],{"class":2528,"line":64},[2008,7828,4446],{"class":2702},[2008,7830,7831],{"class":2528,"line":4120},[2008,7832,2548],{"emptyLinePlaceholder":54},[2008,7834,7835,7837],{"class":2528,"line":4125},[2008,7836,2790],{"class":2789},[2008,7838,2703],{"class":2702},[2008,7840,7841,7844,7846,7848,7850,7852,7854,7856],{"class":2528,"line":4135},[2008,7842,7843],{"class":2801},"    data:",[2008,7845,3959],{"class":2760},[2008,7847,3962],{"class":2702},[2008,7849,3965],{"class":2694},[2008,7851,6120],{"class":2801},[2008,7853,181],{"class":2702},[2008,7855,3972],{"class":2801},[2008,7857,7858],{"class":2702},"),\n",[2008,7860,7861,7864,7866,7868,7870,7872,7874,7876],{"class":2528,"line":4145},[2008,7862,7863],{"class":2801},"    loading:",[2008,7865,3959],{"class":2760},[2008,7867,3962],{"class":2702},[2008,7869,3965],{"class":2694},[2008,7871,7639],{"class":2801},[2008,7873,181],{"class":2702},[2008,7875,3972],{"class":2801},[2008,7877,7858],{"class":2702},[2008,7879,7880,7883,7885,7887,7889,7891,7893,7895],{"class":2528,"line":4169},[2008,7881,7882],{"class":2801},"    error:",[2008,7884,3959],{"class":2760},[2008,7886,3962],{"class":2702},[2008,7888,3965],{"class":2694},[2008,7890,7318],{"class":2801},[2008,7892,181],{"class":2702},[2008,7894,3972],{"class":2801},[2008,7896,7858],{"class":2702},[2008,7898,7899],{"class":2528,"line":4192},[2008,7900,7901],{"class":2801},"    execute\n",[2008,7903,7904],{"class":2528,"line":4229},[2008,7905,4446],{"class":2702},[2008,7907,7908],{"class":2528,"line":4239},[2008,7909,2748],{"class":2702},[16,7911,7913],{"id":7912},"_10-تحسين-تجربة-المطور","10. تحسين تجربة المطور",[209,7915,7917],{"id":7916},"استخدام-vue-devtools","استخدام Vue DevTools",[12,7919,7920],{},"Vue DevTools هو أداة أساسية لتصحيح أخطاء تطبيقات Vue 3:",[186,7922,7923,7926,7929,7932],{},[189,7924,7925],{},"فحص شجرة المكونات",[189,7927,7928],{},"مراقبة الحالة التفاعلية",[189,7930,7931],{},"تتبع أحداث المكونات",[189,7933,7934],{},"تحليل أداء العرض",[209,7936,7938],{"id":7937},"إعداد-التطوير-الفعال","إعداد التطوير الفعال",[577,7940,7942],{"className":2679,"code":7941,"language":2681,"meta":42,"style":42},"// vite.config.ts\nimport { defineConfig } from 'vite'\nimport vue from '@vitejs/plugin-vue'\n\nexport default defineConfig({\n  plugins: [vue()],\n  server: {\n    hmr: true\n  },\n  build: {\n    sourcemap: true\n  }\n})\n",[584,7943,7944,7949,7965,7977,7981,7994,8006,8013,8020,8025,8032,8039,8043],{"__ignoreMap":42},[2008,7945,7946],{"class":2528,"line":2529},[2008,7947,7948],{"class":2688},"// vite.config.ts\n",[2008,7950,7951,7953,7955,7958,7960,7962],{"class":2528,"line":46},[2008,7952,3841],{"class":2789},[2008,7954,2775],{"class":2702},[2008,7956,7957],{"class":2801},"defineConfig",[2008,7959,3865],{"class":2702},[2008,7961,3868],{"class":2789},[2008,7963,7964],{"class":2811}," 'vite'\n",[2008,7966,7967,7969,7972,7974],{"class":2528,"line":43},[2008,7968,3841],{"class":2789},[2008,7970,7971],{"class":2801}," vue",[2008,7973,6934],{"class":2789},[2008,7975,7976],{"class":2811}," '@vitejs/plugin-vue'\n",[2008,7978,7979],{"class":2528,"line":2545},[2008,7980,2548],{"emptyLinePlaceholder":54},[2008,7982,7983,7985,7988,7991],{"class":2528,"line":2551},[2008,7984,4310],{"class":2789},[2008,7986,7987],{"class":2789}," default",[2008,7989,7990],{"class":2760}," defineConfig",[2008,7992,7993],{"class":2702},"({\n",[2008,7995,7996,7999,8001,8003],{"class":2528,"line":2557},[2008,7997,7998],{"class":2801},"  plugins:",[2008,8000,4968],{"class":2702},[2008,8002,3810],{"class":2760},[2008,8004,8005],{"class":2702},"()],\n",[2008,8007,8008,8011],{"class":2528,"line":2563},[2008,8009,8010],{"class":2801},"  server:",[2008,8012,2703],{"class":2702},[2008,8014,8015,8018],{"class":2528,"line":2568},[2008,8016,8017],{"class":2801},"    hmr:",[2008,8019,7709],{"class":5858},[2008,8021,8022],{"class":2528,"line":2574},[2008,8023,8024],{"class":2702},"  },\n",[2008,8026,8027,8030],{"class":2528,"line":1467},[2008,8028,8029],{"class":2801},"  build:",[2008,8031,2703],{"class":2702},[2008,8033,8034,8037],{"class":2528,"line":2818},[2008,8035,8036],{"class":2801},"    sourcemap:",[2008,8038,7709],{"class":5858},[2008,8040,8041],{"class":2528,"line":2842},[2008,8042,4446],{"class":2702},[2008,8044,8045],{"class":2528,"line":2862},[2008,8046,4569],{"class":2702},[16,8048,8049],{"id":8049},"الخاتمة",[12,8051,8052],{},"Vue 3 يوفر مجموعة قوية من الأدوات والأنماط لبناء تطبيقات ويب حديثة وقابلة للتوسع. من خلال إتقان Composition API، Pinia لإدارة الحالة، والأنماط المتقدمة، يمكنك بناء تطبيقات أكثر صيانة، أداءً، وتجربة مطور أفضل.",[12,8054,8055],{},"تذكر أن أفضل الممارسات تتطور مع الإطار. ابق على اطلاع دائم بأحدث التطورات في مجتمع Vue، وطبق هذه الأنماط تدريجياً في مشاريعك. التوازن بين الكود النظيف، الأداء، وقابلية الصيانة هو مفتاح بناء تطبيقات Vue 3 ناجحة في 2025. 🚀",[3587,8057,8058],{},"html pre.shiki code .sffyN, html code.shiki .sffyN{--shiki-light:#24292E;--shiki-default:#808080;--shiki-dark:#808080}html pre.shiki code .ssFZ1, html code.shiki .ssFZ1{--shiki-light:#22863A;--shiki-default:#569CD6;--shiki-dark:#569CD6}html pre.shiki code .sFcZJ, html code.shiki .sFcZJ{--shiki-light:#6F42C1;--shiki-default:#9CDCFE;--shiki-dark:#9CDCFE}html pre.shiki code .sG4b4, html code.shiki .sG4b4{--shiki-light:#24292E;--shiki-default:#D4D4D4;--shiki-dark:#D4D4D4}html pre.shiki code .sGDl4, html code.shiki .sGDl4{--shiki-light:#032F62;--shiki-default:#CE9178;--shiki-dark:#CE9178}html pre.shiki code .sEkCa, html code.shiki .sEkCa{--shiki-light:#D73A49;--shiki-default:#C586C0;--shiki-dark:#C586C0}html pre.shiki code .sZiGn, html code.shiki .sZiGn{--shiki-light:#24292E;--shiki-default:#9CDCFE;--shiki-dark:#9CDCFE}html pre.shiki code .s56mj, html code.shiki .s56mj{--shiki-light:#6A737D;--shiki-default:#6A9955;--shiki-dark:#6A9955}html pre.shiki code .s5uUr, html code.shiki .s5uUr{--shiki-light:#D73A49;--shiki-default:#569CD6;--shiki-dark:#569CD6}html pre.shiki code .sToQf, html code.shiki .sToQf{--shiki-light:#005CC5;--shiki-default:#4FC1FF;--shiki-dark:#4FC1FF}html pre.shiki code .s1p9p, html code.shiki .s1p9p{--shiki-light:#D73A49;--shiki-default:#D4D4D4;--shiki-dark:#D4D4D4}html pre.shiki code .svuFb, html code.shiki .svuFb{--shiki-light:#6F42C1;--shiki-default:#DCDCAA;--shiki-dark:#DCDCAA}html pre.shiki code .seC34, html code.shiki .seC34{--shiki-light:#005CC5;--shiki-default:#B5CEA8;--shiki-dark:#B5CEA8}html pre.shiki code .s9TRk, html code.shiki .s9TRk{--shiki-light:#E36209;--shiki-default:#9CDCFE;--shiki-dark:#9CDCFE}html pre.shiki code .se2iQ, html code.shiki .se2iQ{--shiki-light:#032F62;--shiki-default:#569CD6;--shiki-dark:#569CD6}html pre.shiki code .s5T4v, html code.shiki .s5T4v{--shiki-light:#032F62;--shiki-default:#D4D4D4;--shiki-dark:#D4D4D4}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .su_XB, html code.shiki .su_XB{--shiki-light:#6F42C1;--shiki-default:#4EC9B0;--shiki-dark:#4EC9B0}html pre.shiki code .s6-XD, html code.shiki .s6-XD{--shiki-light:#005CC5;--shiki-default:#4EC9B0;--shiki-dark:#4EC9B0}html pre.shiki code .sGRYn, html code.shiki .sGRYn{--shiki-light:#6F42C1;--shiki-default:#C8C8C8;--shiki-dark:#C8C8C8}html pre.shiki code .sUwQ0, html code.shiki .sUwQ0{--shiki-light:#B31D28;--shiki-light-font-style:italic;--shiki-default:#F44747;--shiki-default-font-style:inherit;--shiki-dark:#F44747;--shiki-dark-font-style:inherit}html pre.shiki code .s7v1m, html code.shiki .s7v1m{--shiki-light:#005CC5;--shiki-default:#569CD6;--shiki-dark:#569CD6}",{"title":42,"searchDepth":43,"depth":43,"links":8060},[8061,8062,8066,8070,8074,8082,8086,8090,8094,8098,8102],{"id":3728,"depth":46,"text":3729},{"id":4248,"depth":46,"text":4249,"children":8063},[8064,8065],{"id":4255,"depth":43,"text":4256},{"id":4572,"depth":43,"text":4573},{"id":4828,"depth":46,"text":4829,"children":8067},[8068,8069],{"id":4832,"depth":43,"text":4833},{"id":5276,"depth":43,"text":5277},{"id":5584,"depth":46,"text":5585,"children":8071},[8072,8073],{"id":5588,"depth":43,"text":5589},{"id":5880,"depth":43,"text":5881},{"id":6042,"depth":46,"text":6043,"children":8075},[8076,8078,8080],{"id":6046,"depth":43,"text":8077},"استخدام shallowRef و shallowReactive",{"id":6134,"depth":43,"text":8079},"تحسين العرض مع v-memo",{"id":6248,"depth":43,"text":8081},"استخدام nextTick بحكمة",{"id":6355,"depth":46,"text":6356,"children":8083},[8084,8085],{"id":6359,"depth":43,"text":6360},{"id":6572,"depth":43,"text":6573},{"id":6867,"depth":46,"text":6868,"children":8087},[8088,8089],{"id":6871,"depth":43,"text":6872},{"id":7084,"depth":43,"text":7085},{"id":7238,"depth":46,"text":7239,"children":8091},[8092,8093],{"id":7242,"depth":43,"text":7243},{"id":7252,"depth":43,"text":7253},{"id":7262,"depth":46,"text":7263,"children":8095},[8096,8097],{"id":7266,"depth":43,"text":7267},{"id":7541,"depth":43,"text":7542},{"id":7912,"depth":46,"text":7913,"children":8099},[8100,8101],{"id":7916,"depth":43,"text":7917},{"id":7937,"depth":43,"text":7938},{"id":8049,"depth":46,"text":8049},"إتقان Composition API في Vue 3، إدارة الحالة مع Pinia، والأنماط المتقدمة لبناء تطبيقات جاهزة للإنتاج. يشمل أمثلة حقيقية، تكامل TypeScript، وتقنيات تحسين الأداء.","https://images.unsplash.com/photo-1563986768494-4dee2763ff3f?auto=format&fit=crop&w=1200&q=80",{"excerpt":8106},{"type":9,"value":8107},[8108],[12,8109,3725],{},"/anmat-vue3-asasyh-2025",{"title":3720,"description":8103},"أنماط-vue3-أساسية-2025",[8114,8115,8116,3626,2681,8117,8118,8119,8120],"vue3","patterns","best-practices","frontend","architecture","composition-api","pinia","tht73YaMWIQMMjZltncrGUeZ_DggZpgiRrEcko0BOC4",{"id":8123,"title":8124,"author":7,"body":8125,"category":8137,"description":8138,"extension":52,"image":8139,"isDraft":54,"isFeatured":55,"locale":56,"meta":8140,"navigation":54,"path":8145,"publishedAt":8146,"readingTime":2574,"seo":8147,"stem":8148,"tags":8149,"updatedAt":8146,"__hash__":8152},"articles_ar/أهمية-التحليل-التنافسي-في-تطوير-المنتجات.md","أهمية التحليل التنافسي في تطوير المنتجات",{"type":9,"value":8126,"toc":8134},[8127,8130,8132],[12,8128,8129],{},"التحليل التنافسي يساعدك على فهم موقعك في السوق وتحديد الفرص.",[16,8131,2102],{"id":2101},[12,8133,2105],{},{"title":42,"searchDepth":43,"depth":43,"links":8135},[8136],{"id":2101,"depth":46,"text":2102},"إدارة-المنتجات","دليل شامل عن تطوير المنتجات لرواد الأعمال العرب","https://images.unsplash.com/photo-1551836022-d5d88e9218df?q=80&w=1200&auto=format&fit=crop",{"excerpt":8141},{"type":9,"value":8142},[8143],[12,8144,8129],{},"/ahmyh-althlyl-altnafsy-fy-ttwyr-almntjat","2025-02-25",{"title":8124,"description":8138},"أهمية-التحليل-التنافسي-في-تطوير-المنتجات",[69,8137,8150,8151],"التحليل-التنافسي","الاستراتيجية","ub56LJMKYlw2wpC6wtrSU6q1oty3QiV7We28GC-OB6E",{"id":8154,"title":8155,"author":7,"body":8156,"category":2123,"description":2110,"extension":52,"image":8168,"isDraft":54,"isFeatured":55,"locale":56,"meta":8169,"navigation":54,"path":8174,"publishedAt":8175,"readingTime":2862,"seo":8176,"stem":8177,"tags":8178,"updatedAt":8175,"__hash__":8182},"articles_ar/إدارة-التحكم-في-الإصدار-مع-git.md","إدارة التحكم في الإصدار مع Git",{"type":9,"value":8157,"toc":8165},[8158,8161,8163],[12,8159,8160],{},"إتقان Git ضروري لأي مطور محترف في العصر الحديث.",[16,8162,2102],{"id":2101},[12,8164,2105],{},{"title":42,"searchDepth":43,"depth":43,"links":8166},[8167],{"id":2101,"depth":46,"text":2102},"https://images.unsplash.com/photo-1556075798-4825dfaaf498?q=80&w=1200&auto=format&fit=crop",{"excerpt":8170},{"type":9,"value":8171},[8172],[12,8173,8160],{},"/idarh-althkm-fy-alisdar-ma-git","2025-05-06",{"title":8155,"description":2110},"إدارة-التحكم-في-الإصدار-مع-git",[2123,8179,8180,8181],"Git","Version-Control","GitHub","9p0fupmAbXmZzK0ugintgDM0R7yXrHVTFE1_-bdZ_-Y",{"id":8184,"title":8185,"author":7,"body":8186,"category":3658,"description":8198,"extension":52,"image":8139,"isDraft":54,"isFeatured":55,"locale":56,"meta":8199,"navigation":54,"path":8204,"publishedAt":8205,"readingTime":3044,"seo":8206,"stem":8207,"tags":8208,"updatedAt":8205,"__hash__":8211},"articles_ar/إدارة-المخاطر-في-ريادة-الأعمال.md","إدارة المخاطر في ريادة الأعمال",{"type":9,"value":8187,"toc":8195},[8188,8191,8193],[12,8189,8190],{},"إدارة المخاطر بفعالية تحمي شركتك الناشئة من المفاجآت غير السارة.",[16,8192,2102],{"id":2101},[12,8194,2105],{},{"title":42,"searchDepth":43,"depth":43,"links":8196},[8197],{"id":2101,"depth":46,"text":2102},"دليل شامل عن نصائح الشركات الناشئة لرواد الأعمال العرب",{"excerpt":8200},{"type":9,"value":8201},[8202],[12,8203,8190],{},"/idarh-almkhatr-fy-ryadh-alaamal","2025-06-24",{"title":8185,"description":8198},"إدارة-المخاطر-في-ريادة-الأعمال",[3658,8209,8210,8151],"ريادة-الأعمال","إدارة-المخاطر","NpnCKbzFVHfJ5dRzqqMZraxeD_LRvkOXHEyOGU95e7Y",{"id":8213,"title":8214,"author":7,"body":8215,"category":8137,"description":8138,"extension":52,"image":8227,"isDraft":54,"isFeatured":55,"locale":56,"meta":8228,"navigation":54,"path":8233,"publishedAt":8234,"readingTime":2842,"seo":8235,"stem":8236,"tags":8237,"updatedAt":8234,"__hash__":8239},"articles_ar/إدارة-المنتجات-المتعددة-في-شركة-واحدة.md","إدارة المنتجات المتعددة في شركة واحدة",{"type":9,"value":8216,"toc":8224},[8217,8220,8222],[12,8218,8219],{},"إدارة منتجات متعددة تتطلب تنسيقاً وتخطيطاً استراتيجياً محكماً.",[16,8221,2102],{"id":2101},[12,8223,2105],{},{"title":42,"searchDepth":43,"depth":43,"links":8225},[8226],{"id":2101,"depth":46,"text":2102},"https://images.unsplash.com/photo-1553877522-43269d4ea984?q=80&w=1200&auto=format&fit=crop",{"excerpt":8229},{"type":9,"value":8230},[8231],[12,8232,8219],{},"/idarh-almntjat-almtaddh-fy-shrkh-wahdh","2025-03-04",{"title":8214,"description":8138},"إدارة-المنتجات-المتعددة-في-شركة-واحدة",[69,8137,8238,8151],"التنظيم","BbVSyLvfDQSavvMUnb4-cqDXr0Jb0104kNXt82yF350",{"id":8241,"title":8242,"author":7,"body":8243,"category":2371,"description":9303,"extension":52,"image":2373,"isDraft":55,"isFeatured":54,"locale":56,"meta":9304,"navigation":54,"path":9315,"publishedAt":2034,"readingTime":2380,"seo":9316,"stem":9317,"tags":9318,"updatedAt":1476,"__hash__":9324},"articles_ar/إدارة-المنتجات-للمطورين.md","إدارة المنتجات للمطورين: سد الفجوة لبناء منتجات أفضل في 2025",{"type":9,"value":8244,"toc":9263},[8245,8257,8260,8264,8268,8271,8297,8301,8304,8309,8323,8328,8342,8348,8352,8355,8359,8364,8395,8400,8411,8416,8427,8431,8436,8607,8611,8614,8618,8624,8628,8633,8659,8664,8678,8682,8685,8689,8694,8708,8713,8727,8731,8736,8756,8761,8781,8785,8788,8792,8798,8803,8814,8819,8830,8834,8839,8859,8864,8884,8888,8891,8895,8915,8919,8924,8935,8940,8951,8955,8958,8962,8967,8985,8990,9010,9015,9035,9039,9044,9058,9063,9077,9081,9084,9088,9093,9104,9109,9120,9125,9136,9140,9145,9156,9161,9172,9176,9180,9186,9190,9195,9199,9204,9208,9211,9216,9233,9238,9252,9255,9260],[12,8246,8247,8248,8252,8253,8256],{},"في العديد من المنظمات التقنية، يعمل المطورون ومديرو المنتجات جنباً إلى جنب، ومع ذلك غالباً ما يكون هناك فجوة وظيفية أو تواصل بين هذين الدورين الحاسمين. بينما يركز المطورون على ",[8249,8250,8251],"em",{},"كيفية"," بناء المنتج، يركز مديرو المنتجات على ",[8249,8254,8255],{},"ماذا"," و_لماذا_. عندما يكتسب المطورون فهماً أعمق لمبادئ إدارة المنتجات، فإنه لا يسد هذه الفجوة فحسب، بل يمكنهم أيضاً من المساهمة بفعالية أكبر، وبناء منتجات أفضل، وحتى فتح مسارات مهنية جديدة.",[12,8258,8259],{},"يستكشف هذا المقال كيف يمكن للمطورين الاستفادة من تبني mindset موجه للمنتج في المشهد المدفوع بالذكاء الاصطناعي لعام 2025.",[16,8261,8263],{"id":8262},"فجوة-المطور-مدير-المنتج-لماذا-تهم-في-2025","فجوة المطور-مدير المنتج: لماذا تهم في 2025",[209,8265,8267],{"id":8266},"تكلفة-عدم-التوافق","تكلفة عدم التوافق",[12,8269,8270],{},"في 2025، مع أدوات الذكاء الاصطناعي التي تسرع دورات التطوير والمنافسة في السوق أشرس من أي وقت مضى، يمكن أن تكون الفجوة بين فرق التطوير وفرق المنتج مكلفة:",[186,8272,8273,8279,8285,8291],{},[189,8274,8275,8278],{},[174,8276,8277],{},"تأخير الإصدارات:"," الميزات المبنية بدون رؤية واضحة للمنتج غالباً ما تتطلب إعادة كتابة باهظة التكلفة",[189,8280,8281,8284],{},[174,8282,8283],{},"تبني مستخدم ضعيف:"," حلول تقنية لا تحل مشكلات مستخدم حقيقية",[189,8286,8287,8290],{},[174,8288,8289],{},"احتكاك الفريق:"," سوء الفهم يؤدي إلى الإحباط ودورة الموظفين",[189,8292,8293,8296],{},[174,8294,8295],{},"فرص ضائعة:"," استجابة بطيئة لتغييرات السوق وتعليقات المستخدمين",[209,8298,8300],{"id":8299},"عامل-الذكاء-الاصطناعي","عامل الذكاء الاصطناعي",[12,8302,8303],{},"غيرت أدوات الذكاء الاصطناعي كلاً من التطوير وإدارة المنتجات:",[12,8305,8306],{},[174,8307,8308],{},"لمديري المنتجات:",[186,8310,8311,8314,8317,8320],{},[189,8312,8313],{},"بحث مستخدم وتحليلات مدعومة بالذكاء الاصطناعي",[189,8315,8316],{},"اختبار A/B وتجربة مؤتمتة",[189,8318,8319],{},"نمذجة سلوك المستخدم التنبؤية",[189,8321,8322],{},"تخطيط خارطة طريق مساعد بالذكاء الاصطناعي",[12,8324,8325],{},[174,8326,8327],{},"للمطورين:",[186,8329,8330,8333,8336,8339],{},[189,8331,8332],{},"إنشاء ومراجعة كود بالذكاء الاصطناعي",[189,8334,8335],{},"اختبار ونشر مؤتمت",[189,8337,8338],{},"تصحيح أخطاء وتحسين مدعوم بالذكاء الاصطناعي",[189,8340,8341],{},"صيانة تنبؤية ومراقبة",[12,8343,8344,8347],{},[174,8345,8346],{},"الفرصة:"," المطورون الذين يفهمون مبادئ المنتج يمكنهم الاستفادة بشكل أفضل من أدوات الذكاء الاصطناعي لإنشاء حلول تركز على المستخدم.",[16,8349,8351],{"id":8350},"_1-فهم-المستخدم-جوهر-التفكير-في-المنتج","1. فهم المستخدم: جوهر التفكير في المنتج",[12,8353,8354],{},"تبدأ وتنتهي إدارة المنتج مع المستخدم. المطورون الذين يحتضنون التعاطف مع مستخدميهم ويفهمون نقاط الألم لديهم أفضل تجهيزاً لبناء ميزات تتردد صداها حقاً.",[209,8356,8358],{"id":8357},"تقنيات-بحث-المستخدم-للمطورين","تقنيات بحث المستخدم للمطورين",[12,8360,8361],{},[174,8362,8363],{},"المشاركة في مقابلات المستخدمين:",[577,8365,8368],{"className":8366,"code":8367,"language":3626,"meta":42,"style":42},"language-javascript shiki shiki-themes github-light dark-plus dark-plus","// مثال: مطور يراقب مقابلة مستخدم\n// بدلاً من مجرد بناء ميزات، فهم \"لماذا\"\nالمستخدم: \"أقضي 30 دقيقة كل يوم في نسخ البيانات بين الأنظمة\"\nالمطور: \"لماذا لا نؤتمت هذا؟\" ← \"لأن الأنظمة لا تتحدث مع بعضها\"\nالنتيجة: بناء تكامل بدلاً من مجرد نموذج إدخال بيانات آخر\n",[584,8369,8370,8375,8380,8385,8390],{"__ignoreMap":42},[2008,8371,8372],{"class":2528,"line":2529},[2008,8373,8374],{},"// مثال: مطور يراقب مقابلة مستخدم\n",[2008,8376,8377],{"class":2528,"line":46},[2008,8378,8379],{},"// بدلاً من مجرد بناء ميزات، فهم \"لماذا\"\n",[2008,8381,8382],{"class":2528,"line":43},[2008,8383,8384],{},"المستخدم: \"أقضي 30 دقيقة كل يوم في نسخ البيانات بين الأنظمة\"\n",[2008,8386,8387],{"class":2528,"line":2545},[2008,8388,8389],{},"المطور: \"لماذا لا نؤتمت هذا؟\" ← \"لأن الأنظمة لا تتحدث مع بعضها\"\n",[2008,8391,8392],{"class":2528,"line":2551},[2008,8393,8394],{},"النتيجة: بناء تكامل بدلاً من مجرد نموذج إدخال بيانات آخر\n",[12,8396,8397],{},[174,8398,8399],{},"إنشاء خرائط رحلة المستخدم:",[186,8401,8402,8405,8408],{},[189,8403,8404],{},"رسم تجربة المستخدم الكاملة",[189,8406,8407],{},"تحديد نقاط الألم والفرص",[189,8409,8410],{},"التحقق من الافتراضات التقنية مقابل واقع المستخدم",[12,8412,8413],{},[174,8414,8415],{},"استخدام أدوات التحليلات:",[186,8417,8418,8421,8424],{},[189,8419,8420],{},"Mixpanel، Amplitude، أو PostHog لتتبع سلوك المستخدم",[189,8422,8423],{},"فهم تدفقات المستخدم، نقاط الانسحاب، واستخدام الميزات",[189,8425,8426],{},"اتخاذ قرارات تقنية مدفوعة بالبيانات",[209,8428,8430],{"id":8429},"التعاطف-في-الكود","التعاطف في الكود",[12,8432,8433],{},[174,8434,8435],{},"كتابة كود يركز على المستخدم:",[577,8437,8439],{"className":2679,"code":8438,"language":2681,"meta":42,"style":42},"// سيء: يركز على التقنية\nfunction processUserData(data: any) {\n  return data.filter(item => item.status === 'active')\n}\n\n// جيد: يركز على المستخدم\nfunction getActiveUserAccounts(allAccounts: UserAccount[]) {\n  // تصفية الحسابات التي يمكن للمستخدمين الوصول إليها واستخدامها فعلياً\n  return allAccounts.filter(account => \n    account.isActive && \n    account.hasValidSubscription && \n    !account.isSuspended\n  )\n}\n",[584,8440,8441,8446,8465,8499,8503,8507,8512,8532,8537,8558,8573,8586,8598,8603],{"__ignoreMap":42},[2008,8442,8443],{"class":2528,"line":2529},[2008,8444,8445],{"class":2688},"// سيء: يركز على التقنية\n",[2008,8447,8448,8450,8453,8455,8458,8460,8463],{"class":2528,"line":46},[2008,8449,2757],{"class":2694},[2008,8451,8452],{"class":2760}," processUserData",[2008,8454,3900],{"class":2702},[2008,8456,8457],{"class":2708},"data",[2008,8459,2713],{"class":2712},[2008,8461,8462],{"class":2716}," any",[2008,8464,5659],{"class":2702},[2008,8466,8467,8469,8471,8473,8476,8478,8480,8483,8486,8488,8491,8494,8497],{"class":2528,"line":43},[2008,8468,2790],{"class":2789},[2008,8470,6120],{"class":2801},[2008,8472,181],{"class":2702},[2008,8474,8475],{"class":2760},"filter",[2008,8477,3900],{"class":2702},[2008,8479,6167],{"class":2708},[2008,8481,8482],{"class":2694}," =>",[2008,8484,8485],{"class":2801}," item",[2008,8487,181],{"class":2702},[2008,8489,8490],{"class":2801},"status",[2008,8492,8493],{"class":2712}," ===",[2008,8495,8496],{"class":2811}," 'active'",[2008,8498,3160],{"class":2702},[2008,8500,8501],{"class":2528,"line":2545},[2008,8502,2748],{"class":2702},[2008,8504,8505],{"class":2528,"line":2551},[2008,8506,2548],{"emptyLinePlaceholder":54},[2008,8508,8509],{"class":2528,"line":2557},[2008,8510,8511],{"class":2688},"// جيد: يركز على المستخدم\n",[2008,8513,8514,8516,8519,8521,8524,8526,8529],{"class":2528,"line":2563},[2008,8515,2757],{"class":2694},[2008,8517,8518],{"class":2760}," getActiveUserAccounts",[2008,8520,3900],{"class":2702},[2008,8522,8523],{"class":2708},"allAccounts",[2008,8525,2713],{"class":2712},[2008,8527,8528],{"class":2698}," UserAccount",[2008,8530,8531],{"class":2702},"[]) {\n",[2008,8533,8534],{"class":2528,"line":2568},[2008,8535,8536],{"class":2688},"  // تصفية الحسابات التي يمكن للمستخدمين الوصول إليها واستخدامها فعلياً\n",[2008,8538,8539,8541,8544,8546,8548,8550,8553,8555],{"class":2528,"line":2574},[2008,8540,2790],{"class":2789},[2008,8542,8543],{"class":2801}," allAccounts",[2008,8545,181],{"class":2702},[2008,8547,8475],{"class":2760},[2008,8549,3900],{"class":2702},[2008,8551,8552],{"class":2708},"account",[2008,8554,8482],{"class":2694},[2008,8556,8557],{"class":2702}," \n",[2008,8559,8560,8563,8565,8568,8571],{"class":2528,"line":1467},[2008,8561,8562],{"class":2801},"    account",[2008,8564,181],{"class":2702},[2008,8566,8567],{"class":2801},"isActive",[2008,8569,8570],{"class":2712}," &&",[2008,8572,8557],{"class":2702},[2008,8574,8575,8577,8579,8582,8584],{"class":2528,"line":2818},[2008,8576,8562],{"class":2801},[2008,8578,181],{"class":2702},[2008,8580,8581],{"class":2801},"hasValidSubscription",[2008,8583,8570],{"class":2712},[2008,8585,8557],{"class":2702},[2008,8587,8588,8591,8593,8595],{"class":2528,"line":2842},[2008,8589,8590],{"class":2712},"    !",[2008,8592,8552],{"class":2801},[2008,8594,181],{"class":2702},[2008,8596,8597],{"class":2801},"isSuspended\n",[2008,8599,8600],{"class":2528,"line":2862},[2008,8601,8602],{"class":2702},"  )\n",[2008,8604,8605],{"class":2528,"line":2119},[2008,8606,2748],{"class":2702},[16,8608,8610],{"id":8609},"_2-تحديد-الأولويات-فن-اتخاذ-القرارات-الصعبة","2. تحديد الأولويات: فن اتخاذ القرارات الصعبة",[12,8612,8613],{},"في بيئة الموارد المحدودة، يجب على المطورين فهم كيفية تحديد أولويات العمل لتحقيق أقصى تأثير.",[209,8615,8617],{"id":8616},"إطار-عمل-rice-للتحديد-الأولويات","إطار عمل RICE للتحديد الأولويات",[577,8619,8622],{"className":8620,"code":8621,"language":582},[580],"RICE = (الوصول × التأثير × الثقة) ÷ الجهد\n\nمثال ميزة: \"وضع مظلم\"\n- الوصول: 40% من المستخدمين (400 مستخدم)\n- التأثير: عالي (3.0 - يحسن تجربة المستخدم بشكل كبير)\n- الثقة: 80% (0.8 - بناءً على تعليقات المستخدمين)\n- الجهد: 2 أسابيع (أسبوعان شخص)\n\nنتيجة RICE: (400 × 3.0 × 0.8) ÷ 2 = 480\n",[584,8623,8621],{"__ignoreMap":42},[209,8625,8627],{"id":8626},"تحديد-الأولويات-اليومية-للمطورين","تحديد الأولويات اليومية للمطورين",[12,8629,8630],{},[174,8631,8632],{},"تقنية MoSCoW:",[186,8634,8635,8641,8647,8653],{},[189,8636,8637,8640],{},[174,8638,8639],{},"Must have:"," لا يمكن للمنتج العمل بدونه",[189,8642,8643,8646],{},[174,8644,8645],{},"Should have:"," مهم لكن ليس حاسماً",[189,8648,8649,8652],{},[174,8650,8651],{},"Could have:"," مفيد لكن يمكن تأجيله",[189,8654,8655,8658],{},[174,8656,8657],{},"Won't have:"," خارج النطاق الحالي",[12,8660,8661],{},[174,8662,8663],{},"مصفوفة Eisenhower للمهام اليومية:",[186,8665,8666,8669,8672,8675],{},[189,8667,8668],{},"عاجل ومهم: افعل الآن",[189,8670,8671],{},"مهم لكن غير عاجل: حدد موعداً",[189,8673,8674],{},"عاجل لكن غير مهم: فوض",[189,8676,8677],{},"غير عاجل وغير مهم: احذف",[16,8679,8681],{"id":8680},"_3-التفكير-في-البيانات-اتخاذ-قرارات-مدعومة-بالأدلة","3. التفكير في البيانات: اتخاذ قرارات مدعومة بالأدلة",[12,8683,8684],{},"في 2025، يمكن للمطورين الوصول إلى بيانات غنية لاتخاذ قرارات أفضل.",[209,8686,8688],{"id":8687},"مقاييس-المنتج-الأساسية-للمطورين","مقاييس المنتج الأساسية للمطورين",[12,8690,8691],{},[174,8692,8693],{},"مقاييس الجودة:",[186,8695,8696,8699,8702,8705],{},[189,8697,8698],{},"معدل الأخطاء (Error Rate)",[189,8700,8701],{},"وقت استجابة API",[189,8703,8704],{},"معدل تعطل التطبيق (Crash Rate)",[189,8706,8707],{},"أداء التحميل (Load Performance)",[12,8709,8710],{},[174,8711,8712],{},"مقاييس المستخدم:",[186,8714,8715,8718,8721,8724],{},[189,8716,8717],{},"معدل الاحتفاظ (Retention Rate)",[189,8719,8720],{},"معدل الإكمال (Completion Rate)",[189,8722,8723],{},"Net Promoter Score (NPS)",[189,8725,8726],{},"معدل الاستخدام (Usage Rate)",[209,8728,8730],{"id":8729},"أدوات-التحليلات-الحديثة","أدوات التحليلات الحديثة",[12,8732,8733],{},[174,8734,8735],{},"للتطوير:",[186,8737,8738,8744,8750],{},[189,8739,8740,8743],{},[174,8741,8742],{},"DataDog:"," مراقبة الأداء والأخطاء",[189,8745,8746,8749],{},[174,8747,8748],{},"Sentry:"," تتبع الأخطاء وإصلاحها",[189,8751,8752,8755],{},[174,8753,8754],{},"New Relic:"," مراقبة التطبيقات والأداء",[12,8757,8758],{},[174,8759,8760],{},"للمنتج:",[186,8762,8763,8769,8775],{},[189,8764,8765,8768],{},[174,8766,8767],{},"Mixpanel:"," تتبع سلوك المستخدم",[189,8770,8771,8774],{},[174,8772,8773],{},"Amplitude:"," تحليل المنتج المتقدم",[189,8776,8777,8780],{},[174,8778,8779],{},"PostHog:"," تحليلات المنتج مفتوحة المصدر",[16,8782,8784],{"id":8783},"_4-التواصل-الفعال-جسر-الفجوة-بين-الفرق","4. التواصل الفعال: جسر الفجوة بين الفرق",[12,8786,8787],{},"يجب على المطورين تعلم كيفية التواصل مع أصحاب المصلحة المختلفين.",[209,8789,8791],{"id":8790},"تقنيات-التواصل-للمطورين","تقنيات التواصل للمطورين",[12,8793,8794,8797],{},[174,8795,8796],{},"BLUF (Bottom Line Up Front):","\nابدأ دائماً بالخلاصة، ثم التفاصيل.",[12,8799,8800],{},[174,8801,8802],{},"Situation-Complication-Resolution:",[186,8804,8805,8808,8811],{},[189,8806,8807],{},"الموقف: ما هو الحال",[189,8809,8810],{},"المضاعفة: ما المشكلة",[189,8812,8813],{},"الحل: ما سنفعله",[12,8815,8816],{},[174,8817,8818],{},"Data-Insight-Action:",[186,8820,8821,8824,8827],{},[189,8822,8823],{},"البيانات: الحقائق",[189,8825,8826],{},"الرؤية: ما تعنيه",[189,8828,8829],{},"الإجراء: ما سنفعله",[209,8831,8833],{"id":8832},"أدوات-التعاون-الحديثة","أدوات التعاون الحديثة",[12,8835,8836],{},[174,8837,8838],{},"للتواصل اليومي:",[186,8840,8841,8847,8853],{},[189,8842,8843,8846],{},[174,8844,8845],{},"Slack/Teams:"," دردشة فورية",[189,8848,8849,8852],{},[174,8850,8851],{},"Notion:"," وثائق حية",[189,8854,8855,8858],{},[174,8856,8857],{},"Linear/Jira:"," تتبع المهام",[12,8860,8861],{},[174,8862,8863],{},"للعروض:",[186,8865,8866,8872,8878],{},[189,8867,8868,8871],{},[174,8869,8870],{},"Figma:"," نماذج تفاعلية",[189,8873,8874,8877],{},[174,8875,8876],{},"Loom:"," تسجيلات فيديو",[189,8879,8880,8883],{},[174,8881,8882],{},"Miro:"," لوحات تعاونية",[16,8885,8887],{"id":8886},"_5-التجريب-والتعلم-ثقافة-الابتكار","5. التجريب والتعلم: ثقافة الابتكار",[12,8889,8890],{},"المطورون الذين يفهمون مبادئ المنتج يصبحون أفضل في التجريب.",[209,8892,8894],{"id":8893},"إطار-عمل-build-measure-learn","إطار عمل Build-Measure-Learn",[1049,8896,8897,8903,8909],{},[189,8898,8899,8902],{},[174,8900,8901],{},"Build:"," أنشئ نسخة بسيطة",[189,8904,8905,8908],{},[174,8906,8907],{},"Measure:"," قيس النتائج",[189,8910,8911,8914],{},[174,8912,8913],{},"Learn:"," تعلم وكرر",[209,8916,8918],{"id":8917},"أنواع-التجارب-للمطورين","أنواع التجارب للمطورين",[12,8920,8921],{},[174,8922,8923],{},"تجارب المنتج:",[186,8925,8926,8929,8932],{},[189,8927,8928],{},"اختبار A/B للميزات الجديدة",[189,8930,8931],{},"اختبار أزرار وهمية للاهتمام",[189,8933,8934],{},"إصدارات متدرجة (Canary releases)",[12,8936,8937],{},[174,8938,8939],{},"تجارب التقنية:",[186,8941,8942,8945,8948],{},[189,8943,8944],{},"اختبار أدوات جديدة",[189,8946,8947],{},"مقارنة أداء الحلول",[189,8949,8950],{},"اختبار قابلية التوسع",[16,8952,8954],{"id":8953},"_6-دمج-الذكاء-الاصطناعي-في-عملية-التطوير","6. دمج الذكاء الاصطناعي في عملية التطوير",[12,8956,8957],{},"في 2025، يجب على المطورين فهم كيفية استخدام الذكاء الاصطناعي لتعزيز عملهم.",[209,8959,8961],{"id":8960},"أدوات-الذكاء-الاصطناعي-للمطورين","أدوات الذكاء الاصطناعي للمطورين",[12,8963,8964],{},[174,8965,8966],{},"إنتاجية الكود:",[186,8968,8969,8974,8979],{},[189,8970,8971,8973],{},[174,8972,1765],{}," اقتراحات كود ذكية",[189,8975,8976,8978],{},[174,8977,1779],{}," إكمال كود متقدم",[189,8980,8981,8984],{},[174,8982,8983],{},"Replit Ghostwriter:"," مساعد كتابة كود",[12,8986,8987],{},[174,8988,8989],{},"مراجعة الكود:",[186,8991,8992,8998,9004],{},[189,8993,8994,8997],{},[174,8995,8996],{},"CodeWhisperer:"," مراجعة أمان الكود",[189,8999,9000,9003],{},[174,9001,9002],{},"DeepCode/Snyk:"," تحليل الثغرات الأمنية",[189,9005,9006,9009],{},[174,9007,9008],{},"CodeStream:"," مراجعة كود تعاونية",[12,9011,9012],{},[174,9013,9014],{},"الاختبار والتصحيح:",[186,9016,9017,9023,9029],{},[189,9018,9019,9022],{},[174,9020,9021],{},"Appium AI:"," اختبار تطبيقات جوال",[189,9024,9025,9028],{},[174,9026,9027],{},"Mabl:"," اختبار تلقائي ذكي",[189,9030,9031,9034],{},[174,9032,9033],{},"Raygun:"," مراقبة الأخطاء وتحليلها",[209,9036,9038],{"id":9037},"أفضل-الممارسات-للذكاء-الاصطناعي","أفضل الممارسات للذكاء الاصطناعي",[12,9040,9041],{},[174,9042,9043],{},"استخدم الذكاء الاصطناعي ل:",[186,9045,9046,9049,9052,9055],{},[189,9047,9048],{},"إنشاء كود أولي",[189,9050,9051],{},"تحليل الأخطاء",[189,9053,9054],{},"اقتراح تحسينات",[189,9056,9057],{},"أتمتة المهام المتكررة",[12,9059,9060],{},[174,9061,9062],{},"لا تستخدم الذكاء الاصطناعي ل:",[186,9064,9065,9068,9071,9074],{},[189,9066,9067],{},"اتخاذ قرارات أخلاقية",[189,9069,9070],{},"فهم تعقيدات الأعمال",[189,9072,9073],{},"استبدال التفكير النقدي",[189,9075,9076],{},"تجاهل أفضل الممارسات الأمنية",[16,9078,9080],{"id":9079},"_7-النمو-المهني-من-مطور-إلى-قائد-منتج","7. النمو المهني: من مطور إلى قائد منتج",[12,9082,9083],{},"فهم مبادئ المنتج يفتح أبواباً مهنية جديدة.",[209,9085,9087],{"id":9086},"المسارات-المهنية-المتاحة","المسارات المهنية المتاحة",[12,9089,9090],{},[174,9091,9092],{},"مهندس منتج (Product Engineer):",[186,9094,9095,9098,9101],{},[189,9096,9097],{},"يجمع بين المهارات التقنية ورؤية المنتج",[189,9099,9100],{},"يبني ويختبر الميزات بشكل مستقل",[189,9102,9103],{},"متوسط الراتب: 120,000-180,000 دولار",[12,9105,9106],{},[174,9107,9108],{},"مدير منتج فني (Technical Product Manager):",[186,9110,9111,9114,9117],{},[189,9112,9113],{},"يدير المنتجات مع خلفية تقنية قوية",[189,9115,9116],{},"يجسر الفجوة بين التطوير والأعمال",[189,9118,9119],{},"متوسط الراتب: 130,000-200,000 دولار",[12,9121,9122],{},[174,9123,9124],{},"مؤسس تقني (Technical Founder):",[186,9126,9127,9130,9133],{},[189,9128,9129],{},"يبني المنتجات مع رؤية أعمال",[189,9131,9132],{},"يفهم كلاً من التطوير والسوق",[189,9134,9135],{},"إمكانية غير محدودة",[209,9137,9139],{"id":9138},"المهارات-المطلوبة-للانتقال","المهارات المطلوبة للانتقال",[12,9141,9142],{},[174,9143,9144],{},"مهارات تقنية إضافية:",[186,9146,9147,9150,9153],{},[189,9148,9149],{},"أساسيات تحليل البيانات",[189,9151,9152],{},"أدوات إدارة المنتجات",[189,9154,9155],{},"أساسيات التسويق الرقمي",[12,9157,9158],{},[174,9159,9160],{},"مهارات ناعمة:",[186,9162,9163,9166,9169],{},[189,9164,9165],{},"التفكير الاستراتيجي",[189,9167,9168],{},"إدارة المشاريع",[189,9170,9171],{},"التواصل مع أصحاب المصلحة",[16,9173,9175],{"id":9174},"_8-التحديات-الشائعة-وحلولها","8. التحديات الشائعة وحلولها",[209,9177,9179],{"id":9178},"تحدي-المنتج-يريد-كل-شيء","تحدي: \"المنتج يريد كل شيء\"",[12,9181,9182,9185],{},[174,9183,9184],{},"الحل:"," تعلم قول \"لا\" بلباقة مع شرح التكلفة والأولويات",[209,9187,9189],{"id":9188},"تحدي-المتطلبات-تتغير-دائماً","تحدي: \"المتطلبات تتغير دائماً\"",[12,9191,9192,9194],{},[174,9193,9184],{}," فهم أن التغيير هو الطبيعي، وركز على بناء أنظمة قابلة للتكيف",[209,9196,9198],{"id":9197},"تحدي-لا-أفهم-لماذا-نبني-هذا","تحدي: \"لا أفهم لماذا نبني هذا\"",[12,9200,9201,9203],{},[174,9202,9184],{}," اطلب سياق الأعمال وكيف يساهم العمل في أهداف الشركة",[16,9205,9207],{"id":9206},"الخاتمة-الجسر-بين-التطوير-والمنتج","الخاتمة: الجسر بين التطوير والمنتج",[12,9209,9210],{},"في 2025، لم يعد فهم مبادئ إدارة المنتجات رفاهية – إنه ضرورة للمطورين الذين يريدون بناء منتجات تؤثر ومهن ناجحة.",[12,9212,9213],{},[174,9214,9215],{},"المطورون الذين يعتنقون mindset المنتج:",[186,9217,9218,9221,9224,9227,9230],{},[189,9219,9220],{},"يبنون ميزات تحل مشكلات حقيقية",[189,9222,9223],{},"يتعاونون بشكل أفضل مع الفرق الأخرى",[189,9225,9226],{},"يتخذون قرارات مدفوعة بالبيانات",[189,9228,9229],{},"يصبحون أكثر قيمة للشركات",[189,9231,9232],{},"يفتحون مسارات مهنية جديدة",[12,9234,9235],{},[174,9236,9237],{},"ابدأ رحلتك اليوم:",[1049,9239,9240,9243,9246,9249],{},[189,9241,9242],{},"اقرأ كتاب \"Inspired\" لـ Marty Cagan",[189,9244,9245],{},"تعلم أداة تحليلات واحدة",[189,9247,9248],{},"شارك في مقابلة مستخدم واحدة هذا الأسبوع",[189,9250,9251],{},"جرب إطار عمل تحديد أولويات واحد",[12,9253,9254],{},"تذكر: أنت لست مجرد مكتب كود – أنت بناء منتجات تغير حياة الناس. مع فهم مبادئ المنتج، يمكنك أن تصبح أكثر من مجرد مطور – يمكنك أن تصبح صانع منتجات.",[12,9256,9257,1392],{},[174,9258,9259],{},"ما هي خطوتك التالية في رحلة المنتج؟",[3587,9261,9262],{},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .s56mj, html code.shiki .s56mj{--shiki-light:#6A737D;--shiki-default:#6A9955;--shiki-dark:#6A9955}html pre.shiki code .s5uUr, html code.shiki .s5uUr{--shiki-light:#D73A49;--shiki-default:#569CD6;--shiki-dark:#569CD6}html pre.shiki code .svuFb, html code.shiki .svuFb{--shiki-light:#6F42C1;--shiki-default:#DCDCAA;--shiki-dark:#DCDCAA}html pre.shiki code .sG4b4, html code.shiki .sG4b4{--shiki-light:#24292E;--shiki-default:#D4D4D4;--shiki-dark:#D4D4D4}html pre.shiki code .s9TRk, html code.shiki .s9TRk{--shiki-light:#E36209;--shiki-default:#9CDCFE;--shiki-dark:#9CDCFE}html pre.shiki code .s1p9p, html code.shiki .s1p9p{--shiki-light:#D73A49;--shiki-default:#D4D4D4;--shiki-dark:#D4D4D4}html pre.shiki code .s6-XD, html code.shiki .s6-XD{--shiki-light:#005CC5;--shiki-default:#4EC9B0;--shiki-dark:#4EC9B0}html pre.shiki code .sEkCa, html code.shiki .sEkCa{--shiki-light:#D73A49;--shiki-default:#C586C0;--shiki-dark:#C586C0}html pre.shiki code .sZiGn, html code.shiki .sZiGn{--shiki-light:#24292E;--shiki-default:#9CDCFE;--shiki-dark:#9CDCFE}html pre.shiki code .sGDl4, html code.shiki .sGDl4{--shiki-light:#032F62;--shiki-default:#CE9178;--shiki-dark:#CE9178}html pre.shiki code .su_XB, html code.shiki .su_XB{--shiki-light:#6F42C1;--shiki-default:#4EC9B0;--shiki-dark:#4EC9B0}",{"title":42,"searchDepth":43,"depth":43,"links":9264},[9265,9269,9273,9277,9281,9285,9289,9293,9297,9302],{"id":8262,"depth":46,"text":8263,"children":9266},[9267,9268],{"id":8266,"depth":43,"text":8267},{"id":8299,"depth":43,"text":8300},{"id":8350,"depth":46,"text":8351,"children":9270},[9271,9272],{"id":8357,"depth":43,"text":8358},{"id":8429,"depth":43,"text":8430},{"id":8609,"depth":46,"text":8610,"children":9274},[9275,9276],{"id":8616,"depth":43,"text":8617},{"id":8626,"depth":43,"text":8627},{"id":8680,"depth":46,"text":8681,"children":9278},[9279,9280],{"id":8687,"depth":43,"text":8688},{"id":8729,"depth":43,"text":8730},{"id":8783,"depth":46,"text":8784,"children":9282},[9283,9284],{"id":8790,"depth":43,"text":8791},{"id":8832,"depth":43,"text":8833},{"id":8886,"depth":46,"text":8887,"children":9286},[9287,9288],{"id":8893,"depth":43,"text":8894},{"id":8917,"depth":43,"text":8918},{"id":8953,"depth":46,"text":8954,"children":9290},[9291,9292],{"id":8960,"depth":43,"text":8961},{"id":9037,"depth":43,"text":9038},{"id":9079,"depth":46,"text":9080,"children":9294},[9295,9296],{"id":9086,"depth":43,"text":9087},{"id":9138,"depth":43,"text":9139},{"id":9174,"depth":46,"text":9175,"children":9298},[9299,9300,9301],{"id":9178,"depth":43,"text":9179},{"id":9188,"depth":43,"text":9189},{"id":9197,"depth":43,"text":9198},{"id":9206,"depth":46,"text":9207},"دليل شامل لمطوري البرمجيات حول كيفية فهم مبادئ إدارة المنتجات يمكن أن يعزز التعاون، يحسن نتائج المنتجات، ويسرع النمو المهني. يشمل أدوات حديثة، دمج الذكاء الاصطناعي، ورؤى سوق 2025.",{"excerpt":9305},{"type":9,"value":9306},[9307,9313],[12,9308,8247,9309,8252,9311,8256],{},[8249,9310,8251],{},[8249,9312,8255],{},[12,9314,8259],{},"/idarh-almntjat-llmtwryn",{"title":8242,"description":9303},"إدارة-المنتجات-للمطورين",[2371,1437,9319,9320,9321,9322,2044,9323],"collaboration","skills","software-engineering","career-growth","data-driven","9xIuNEAPMibDlsRVKs2RBLxnER-RwDCh8JrJ6ImD11E",{"id":9326,"title":9327,"author":7,"body":9328,"category":2123,"description":2110,"extension":52,"image":9340,"isDraft":54,"isFeatured":55,"locale":56,"meta":9341,"navigation":54,"path":9346,"publishedAt":9347,"readingTime":2119,"seo":9348,"stem":9349,"tags":9350,"updatedAt":9347,"__hash__":9354},"articles_ar/إدارة-قواعد-البيانات-للمشاريع-الكبيرة.md","إدارة قواعد البيانات للمشاريع الكبيرة",{"type":9,"value":9329,"toc":9337},[9330,9333,9335],[12,9331,9332],{},"إدارة قواعد البيانات بكفاءة أساسية لنجاح المشاريع الكبيرة.",[16,9334,2102],{"id":2101},[12,9336,2105],{},{"title":42,"searchDepth":43,"depth":43,"links":9338},[9339],{"id":2101,"depth":46,"text":2102},"https://images.unsplash.com/photo-1544383835-bda2bc66a55d?q=80&w=1200&auto=format&fit=crop",{"excerpt":9342},{"type":9,"value":9343},[9344],[12,9345,9332],{},"/idarh-qwaad-albyanat-llmsharya-alkbyrh","2025-04-15",{"title":9327,"description":2110},"إدارة-قواعد-البيانات-للمشاريع-الكبيرة",[2123,9351,9352,9353],"قواعد-البيانات","SQL","NoSQL","aneLZYy86Bd325z3CXL1c-q5il1hM43jH1LccQDi6oc",{"id":9356,"title":9357,"author":7,"body":9358,"category":50,"description":9385,"extension":52,"image":9386,"isDraft":54,"isFeatured":55,"locale":56,"meta":9387,"navigation":54,"path":9392,"publishedAt":63,"readingTime":64,"seo":9393,"stem":9394,"tags":9395,"updatedAt":63,"__hash__":9396},"articles_ar/إقرأ-منصة-تعليم-اللغة-العربية-دراسة-حالة.md","إقرأ: بناء منصة لتعليم اللغة العربية",{"type":9,"value":9359,"toc":9379},[9360,9363,9365,9367,9369,9371,9373,9375,9377],[12,9361,9362],{},"دراسة حالة متعمقة تستكشف الرحلة الكاملة لبناء منصة إقرأ المصممة لتعليم اللغة العربية.",[16,9364,19],{"id":18},[12,9366,22],{},[16,9368,26],{"id":25},[12,9370,22],{},[16,9372,32],{"id":31},[12,9374,22],{},[16,9376,38],{"id":37},[12,9378,22],{},{"title":42,"searchDepth":43,"depth":43,"links":9380},[9381,9382,9383,9384],{"id":18,"depth":46,"text":19},{"id":25,"depth":46,"text":26},{"id":31,"depth":46,"text":32},{"id":37,"depth":46,"text":38},"دراسة حالة شاملة لتطوير منصة إقرأ المخصصة لتعليم اللغة العربية من اكتشاف المشكلة إلى النمو.","https://images.unsplash.com/photo-1546410531-bb4caa6b424d?q=80&w=1200&auto=format&fit=crop",{"excerpt":9388},{"type":9,"value":9389},[9390],[12,9391,9362],{},"/iqra-mnsh-talym-allghh-alarbyh-drash-halh",{"title":9357,"description":9385},"إقرأ-منصة-تعليم-اللغة-العربية-دراسة-حالة",[68,69,1653,2089],"pkR3cqB0S-OV2pata9BKaUHc5ExIVrmRAr4x_b4RWSI",{"id":9398,"title":9399,"author":7,"body":9400,"category":1437,"description":10352,"extension":52,"image":10353,"isDraft":55,"isFeatured":54,"locale":56,"meta":10354,"navigation":54,"path":10361,"publishedAt":10362,"readingTime":64,"seo":10363,"stem":10364,"tags":10365,"updatedAt":1476,"__hash__":10372},"articles_ar/إنتاجية-المطور-2025.md","الدليل الشامل لإنتاجية المطور في 2025: الأدوات والتقنيات والعادات",{"type":9,"value":9401,"toc":10314},[9402,9405,9408,9412,9416,9421,9424,9464,9469,9563,9567,9572,9592,9597,9617,9621,9626,9646,9651,9671,9675,9679,9685,9690,9701,9706,9717,9721,9726,9758,9763,9783,9787,9792,9806,9811,9831,9835,9839,9844,9855,9860,9871,9876,9887,9891,9896,9907,9912,9938,9942,9947,9961,9966,9980,9984,9988,10008,10012,10020,10024,10044,10048,10059,10063,10067,10072,10092,10097,10108,10112,10117,10137,10142,10153,10157,10161,10170,10174,10182,10186,10194,10198,10206,10210,10214,10219,10229,10233,10244,10249,10260,10264,10269,10287,10292,10303,10305,10308,10311],[12,9403,9404],{},"في عالم تطوير البرمجيات السريع التطور، الإنتاجية ليست مجرد العمل ساعات أطول - بل العمل بذكاء أكبر باستخدام الأدوات المناسبة، التقنيات، والعادات. كمطورين في 2025، لدينا إمكانية الوصول إلى مساعدين مدعومين بالذكاء الاصطناعي، أدوات الأتمتة المتقدمة، والمنهجيات المثبتة التي يمكن أن تحول سير عملنا.",[12,9406,9407],{},"يغطي هذا الدليل الشامل كل ما تحتاجه لتعظيم إنتاجيتك: من أدوات التطوير الحديثة إلى تقنيات العمل العميق، من مساعدي الذكاء الاصطناعي إلى عادات الصحة. سواء كنت مطوراً مبتدئاً أو مهندساً محترفاً، ستجد استراتيجيات قابلة للتنفيذ تعمل فعلاً.",[16,9409,9411],{"id":9410},"مجموعة-أدوات-المطور-الحديث-2025","مجموعة أدوات المطور الحديث (2025)",[209,9413,9415],{"id":9414},"الأدوات-الأساسية-للتطوير","الأدوات الأساسية للتطوير",[12,9417,9418],{},[174,9419,9420],{},"محررات الكود والبيئات التطويرية",[12,9422,9423],{},"يمكن للمحرر المناسب أن يحدث فرقاً هائلاً في سير عملك اليومي:",[186,9425,9426,9452,9458],{},[189,9427,9428,9431,9432],{},[174,9429,9430],{},"Visual Studio Code"," (مجاني) - ما زال الملك في 2025. الإضافات الأساسية:",[186,9433,9434,9437,9440,9443,9446,9449],{},[189,9435,9436],{},"GitHub Copilot (10 دولار/شهر) - مبرمج زوج مدعوم بالذكاء الاصطناعي",[189,9438,9439],{},"Prettier - تنسيق الكود",[189,9441,9442],{},"ESLint - فحص الكود وجودته",[189,9444,9445],{},"GitLens - تصور محسن لـ Git",[189,9447,9448],{},"Thunder Client - اختبار REST API",[189,9450,9451],{},"Error Lens - تمييز الأخطاء المضمنة",[189,9453,9454,9457],{},[174,9455,9456],{},"Cursor"," (20 دولار/شهر) - نسخة من VS Code مع دردشة ذكاء اصطناعي مدمجة وفهم قاعدة الكود. الأفضل للتطوير المعتمد على الذكاء الاصطناعي.",[189,9459,9460,9463],{},[174,9461,9462],{},"JetBrains IDEs"," (149 دولار/سنة) - IntelliJ IDEA، WebStorm، PyCharm. أدوات إعادة هيكلة وتصحيح أفضل.",[12,9465,9466],{},[174,9467,9468],{},"اختصارات المفاتيح الأساسية لإتقانها (VS Code)",[643,9470,9471,9481],{},[646,9472,9473],{},[649,9474,9475,9478],{},[652,9476,9477],{},"الاختصار",[652,9479,9480],{},"الوظيفة",[659,9482,9483,9493,9503,9513,9523,9533,9543,9553],{},[649,9484,9485,9490],{},[664,9486,9487],{},[584,9488,9489],{},"Ctrl+Shift+P",[664,9491,9492],{},"لوحة الأوامر",[649,9494,9495,9500],{},[664,9496,9497],{},[584,9498,9499],{},"Ctrl+P",[664,9501,9502],{},"البحث السريع في الملفات",[649,9504,9505,9510],{},[664,9506,9507],{},[584,9508,9509],{},"Ctrl+Shift+F",[664,9511,9512],{},"البحث في المشروع",[649,9514,9515,9520],{},[664,9516,9517],{},[584,9518,9519],{},"Ctrl+D",[664,9521,9522],{},"تحديد التكرار التالي",[649,9524,9525,9530],{},[664,9526,9527],{},[584,9528,9529],{},"Alt+Shift+أسفل",[664,9531,9532],{},"نسخ السطر",[649,9534,9535,9540],{},[664,9536,9537],{},[584,9538,9539],{},"Ctrl+Shift+K",[664,9541,9542],{},"حذف السطر",[649,9544,9545,9550],{},[664,9546,9547],{},[584,9548,9549],{},"Ctrl+Shift+\\",[664,9551,9552],{},"الانتقال إلى القوس المقابل",[649,9554,9555,9560],{},[664,9556,9557],{},[584,9558,9559],{},"Ctrl+K Ctrl+C",[664,9561,9562],{},"تعطيل السطر",[209,9564,9566],{"id":9565},"أدوات-الإنتاجية-المدعومة-بالذكاء-الاصطناعي","أدوات الإنتاجية المدعومة بالذكاء الاصطناعي",[12,9568,9569],{},[174,9570,9571],{},"مساعدو البرمجة:",[186,9573,9574,9580,9586],{},[189,9575,9576,9579],{},[174,9577,9578],{},"GitHub Copilot"," - يكتب الكود، يقترح الإكمال، يولد الاختبارات",[189,9581,9582,9585],{},[174,9583,9584],{},"CodeWhisperer"," (أمازون) - مجاني، يدعم 15 لغة",[189,9587,9588,9591],{},[174,9589,9590],{},"Tabnine"," - يتعلم من قاعدة كودك الخاصة",[12,9593,9594],{},[174,9595,9596],{},"أدوات الأتمتة:",[186,9598,9599,9605,9611],{},[189,9600,9601,9604],{},[174,9602,9603],{},"Zapier"," - ربط التطبيقات بدون كود",[189,9606,9607,9610],{},[174,9608,9609],{},"Make (Integromat)"," - سير العمل المعقد",[189,9612,9613,9616],{},[174,9614,9615],{},"Hugging Face"," - نماذج الذكاء الاصطناعي المفتوحة المصدر",[209,9618,9620],{"id":9619},"أدوات-إدارة-المهام-والوقت","أدوات إدارة المهام والوقت",[12,9622,9623],{},[174,9624,9625],{},"مديري المهام:",[186,9627,9628,9634,9640],{},[189,9629,9630,9633],{},[174,9631,9632],{},"Linear"," - للفرق التقنية، سريع ومركز",[189,9635,9636,9639],{},[174,9637,9638],{},"Notion"," - مرن، يمكن تخصيصه لأي سير عمل",[189,9641,9642,9645],{},[174,9643,9644],{},"Todoist"," - بسيط وفعال",[12,9647,9648],{},[174,9649,9650],{},"تتبع الوقت:",[186,9652,9653,9659,9665],{},[189,9654,9655,9658],{},[174,9656,9657],{},"Toggl Track"," - تتبع الوقت الدقيق",[189,9660,9661,9664],{},[174,9662,9663],{},"RescueTime"," - تحليل كيفية قضاء وقتك",[189,9666,9667,9670],{},[174,9668,9669],{},"Timely"," - تتبع تلقائي للوقت",[16,9672,9674],{"id":9673},"تقنيات-العمل-الفعالة","تقنيات العمل الفعالة",[209,9676,9678],{"id":9677},"تقنية-pomodoro-المحسنة","تقنية Pomodoro المحسنة",[12,9680,9681,9684],{},[174,9682,9683],{},"الطريقة التقليدية:"," 25 دقيقة عمل، 5 دقائق استراحة",[12,9686,9687],{},[174,9688,9689],{},"الإصدار 2025:",[186,9691,9692,9695,9698],{},[189,9693,9694],{},"50 دقيقة عميقة + 10 دقائق استراحة نشطة",[189,9696,9697],{},"استخدم تطبيقات مثل Focus Booster أو Forest",[189,9699,9700],{},"قم بجدولة الاجتماعات في أوقات الاستراحة",[12,9702,9703],{},[174,9704,9705],{},"نصائح للتنفيذ:",[186,9707,9708,9711,9714],{},[189,9709,9710],{},"حدد المهام مسبقاً لكل جلسة",[189,9712,9713],{},"استخدم وضع \"لا إزعاج\" على هاتفك",[189,9715,9716],{},"راقب تقدمك وعدل حسب الحاجة",[209,9718,9720],{"id":9719},"تقنية-getting-things-done-gtd","تقنية Getting Things Done (GTD)",[12,9722,9723],{},[174,9724,9725],{},"الخطوات الأساسية:",[1049,9727,9728,9734,9740,9746,9752],{},[189,9729,9730,9733],{},[174,9731,9732],{},"التقاط"," - جميع الأفكار والمهام في نظام واحد",[189,9735,9736,9739],{},[174,9737,9738],{},"توضيح"," - حدد ما إذا كانت قابلة للتنفيذ",[189,9741,9742,9745],{},[174,9743,9744],{},"تنظيم"," - ضعها في فئات مناسبة",[189,9747,9748,9751],{},[174,9749,9750],{},"عكس"," - راجع بانتظام",[189,9753,9754,9757],{},[174,9755,9756],{},"القيام"," - نفذ المهام",[12,9759,9760],{},[174,9761,9762],{},"أدوات GTD في 2025:",[186,9764,9765,9771,9777],{},[189,9766,9767,9770],{},[174,9768,9769],{},"Obsidian"," - للملاحظات والمعرفة",[189,9772,9773,9776],{},[174,9774,9775],{},"Roam Research"," - قواعد بيانات مترابطة",[189,9778,9779,9782],{},[174,9780,9781],{},"Things 3"," - تنفيذ GTD النقي",[209,9784,9786],{"id":9785},"تقنية-deep-work","تقنية Deep Work",[12,9788,9789],{},[174,9790,9791],{},"مبادئ كاله نيوبرت:",[186,9793,9794,9797,9800,9803],{},[189,9795,9796],{},"جدولة وقت العمل العميق مسبقاً",[189,9798,9799],{},"إزالة المشتتات (إشعارات، وسائل التواصل الاجتماعي)",[189,9801,9802],{},"العمل على مهمة واحدة في كل مرة",[189,9804,9805],{},"تحديد جلسات 90 دقيقة",[12,9807,9808],{},[174,9809,9810],{},"أدوات التركيز:",[186,9812,9813,9819,9825],{},[189,9814,9815,9818],{},[174,9816,9817],{},"Freedom"," - حظر المواقع المشتتة",[189,9820,9821,9824],{},[174,9822,9823],{},"Cold Turkey"," - قفل التطبيقات",[189,9826,9827,9830],{},[174,9828,9829],{},"Brain.fm"," - موسيقى للتركيز",[16,9832,9834],{"id":9833},"عادات-المطور-الناجح","عادات المطور الناجح",[209,9836,9838],{"id":9837},"إدارة-الطاقة-والصحة","إدارة الطاقة والصحة",[12,9840,9841],{},[174,9842,9843],{},"النوم:",[186,9845,9846,9849,9852],{},[189,9847,9848],{},"7-9 ساعات يومياً",[189,9850,9851],{},"جدولة ثابتة للنوم والاستيقاظ",[189,9853,9854],{},"تجنب الشاشات قبل النوم بساعة",[12,9856,9857],{},[174,9858,9859],{},"التمارين:",[186,9861,9862,9865,9868],{},[189,9863,9864],{},"30 دقيقة يومياً من التمارين الهوائية",[189,9866,9867],{},"تمارين القوة 3 مرات أسبوعياً",[189,9869,9870],{},"المشي أثناء التفكير في المشاكل المعقدة",[12,9872,9873],{},[174,9874,9875],{},"التغذية:",[186,9877,9878,9881,9884],{},[189,9879,9880],{},"وجبات متوازنة مع بروتين عالي",[189,9882,9883],{},"هيدرات كافية (3-4 لتر ماء يومياً)",[189,9885,9886],{},"وجبات خفيفة صحية للحفاظ على الطاقة",[209,9888,9890],{"id":9889},"التعلم-المستمر","التعلم المستمر",[12,9892,9893],{},[174,9894,9895],{},"الطريقة الفعالة:",[186,9897,9898,9901,9904],{},[189,9899,9900],{},"تخصيص ساعة يومياً للتعلم",[189,9902,9903],{},"التركيز على مهارة واحدة في كل مرة",[189,9905,9906],{},"تطبيق ما تعلمته فوراً في مشاريع حقيقية",[12,9908,9909],{},[174,9910,9911],{},"موارد التعلم في 2025:",[186,9913,9914,9920,9926,9932],{},[189,9915,9916,9919],{},[174,9917,9918],{},"Exercism"," - تمارين برمجة تفاعلية",[189,9921,9922,9925],{},[174,9923,9924],{},"LeetCode"," - تحضير المقابلات التقنية",[189,9927,9928,9931],{},[174,9929,9930],{},"Frontend Masters"," - دورات متقدمة",[189,9933,9934,9937],{},[174,9935,9936],{},"Egghead"," - دروس قصيرة عملية",[209,9939,9941],{"id":9940},"إدارة-التوتر-والاحتراق","إدارة التوتر والاحتراق",[12,9943,9944],{},[174,9945,9946],{},"علامات الاحتراق:",[186,9948,9949,9952,9955,9958],{},[189,9950,9951],{},"إرهاق مستمر",[189,9953,9954],{},"نقص الإنتاجية",[189,9956,9957],{},"فقدان الاهتمام بالعمل",[189,9959,9960],{},"مشاكل النوم",[12,9962,9963],{},[174,9964,9965],{},"استراتيجيات الوقاية:",[186,9967,9968,9971,9974,9977],{},[189,9969,9970],{},"أخذ إجازات منتظمة",[189,9972,9973],{},"تحديد حدود واضحة بين العمل والحياة الشخصية",[189,9975,9976],{},"ممارسة التأمل أو اليوغا",[189,9978,9979],{},"بناء شبكة دعم من الزملاء",[16,9981,9983],{"id":9982},"سير-العمل-اليومي-المثالي","سير العمل اليومي المثالي",[209,9985,9987],{"id":9986},"الصباح-800-1200","الصباح (8:00 - 12:00)",[186,9989,9990,9996,10002],{},[189,9991,9992,9995],{},[174,9993,9994],{},"8:00-9:00",": مراجعة المهام والتخطيط",[189,9997,9998,10001],{},[174,9999,10000],{},"9:00-11:00",": جلسة عمل عميق أولى (Pomodoro)",[189,10003,10004,10007],{},[174,10005,10006],{},"11:00-12:00",": مراجعة التقدم وتعديل الخطة",[209,10009,10011],{"id":10010},"الظهر-1200-1300","الظهر (12:00 - 13:00)",[186,10013,10014,10017],{},[189,10015,10016],{},"وجبة صحية ومشي قصير",[189,10018,10019],{},"استراحة ذهنية (تأمل أو قراءة)",[209,10021,10023],{"id":10022},"بعد-الظهر-1300-1700","بعد الظهر (13:00 - 17:00)",[186,10025,10026,10032,10038],{},[189,10027,10028,10031],{},[174,10029,10030],{},"13:00-15:00",": جلسة عمل عميق ثانية",[189,10033,10034,10037],{},[174,10035,10036],{},"15:00-16:00",": اجتماعات وتواصل",[189,10039,10040,10043],{},[174,10041,10042],{},"16:00-17:00",": مهام إدارية ومتابعة",[209,10045,10047],{"id":10046},"المساء-1700-2200","المساء (17:00 - 22:00)",[186,10049,10050,10053,10056],{},[189,10051,10052],{},"مراجعة اليوم وتخطيط الغد",[189,10054,10055],{},"وقت عائلي وهوايات",[189,10057,10058],{},"وقت مبكر للنوم",[16,10060,10062],{"id":10061},"الأدوات-المتقدمة-للإنتاجية","الأدوات المتقدمة للإنتاجية",[209,10064,10066],{"id":10065},"أتمتة-سير-العمل","أتمتة سير العمل",[12,10068,10069],{},[174,10070,10071],{},"أدوات الأتمتة الشائعة:",[186,10073,10074,10080,10086],{},[189,10075,10076,10079],{},[174,10077,10078],{},"Alfred"," (Mac) - مشغل التطبيقات والاختصارات",[189,10081,10082,10085],{},[174,10083,10084],{},"AutoHotkey"," (Windows) - سكريبتات الأتمتة",[189,10087,10088,10091],{},[174,10089,10090],{},"Keyboard Maestro"," (Mac) - أتمتة معقدة",[12,10093,10094],{},[174,10095,10096],{},"أمثلة على الأتمتة:",[186,10098,10099,10102,10105],{},[189,10100,10101],{},"إنشاء مشاريع جديدة بأمر واحد",[189,10103,10104],{},"نشر الكود إلى الإنتاج تلقائياً",[189,10106,10107],{},"إنشاء تقارير يومية",[209,10109,10111],{"id":10110},"مراقبة-الإنتاجية","مراقبة الإنتاجية",[12,10113,10114],{},[174,10115,10116],{},"أدوات التتبع:",[186,10118,10119,10125,10131],{},[189,10120,10121,10124],{},[174,10122,10123],{},"Wakatime"," - تتبع الوقت المقضي في الكود",[189,10126,10127,10130],{},[174,10128,10129],{},"GitHub Insights"," - تحليل نشاط Git",[189,10132,10133,10136],{},[174,10134,10135],{},"CodeStream"," - تعليقات الكود ومراجعات",[12,10138,10139],{},[174,10140,10141],{},"المقاييس المهمة:",[186,10143,10144,10147,10150],{},[189,10145,10146],{},"ساعات الترميز الفعالة",[189,10148,10149],{},"عدد الالتزامات اليومية",[189,10151,10152],{},"جودة الكود (تغطية الاختبارات، الأخطاء)",[16,10154,10156],{"id":10155},"تجنب-الفخاخ-الشائعة","تجنب الفخاخ الشائعة",[209,10158,10160],{"id":10159},"الفخ-1-التبديل-المتعدد-للمهام","الفخ 1: التبديل المتعدد للمهام",[12,10162,10163,10166,10167,10169],{},[174,10164,10165],{},"المشكلة:"," يقلل من الإنتاجية بنسبة 40%\n",[174,10168,9184],{}," ركز على مهمة واحدة في كل مرة",[209,10171,10173],{"id":10172},"الفخ-2-الإشعارات-المستمرة","الفخ 2: الإشعارات المستمرة",[12,10175,10176,10178,10179,10181],{},[174,10177,10165],{}," يقاطع التدفق\n",[174,10180,9184],{}," وضع \"لا إزعاج\" أثناء العمل العميق",[209,10183,10185],{"id":10184},"الفخ-3-عدم-وجود-حدود","الفخ 3: عدم وجود حدود",[12,10187,10188,10190,10191,10193],{},[174,10189,10165],{}," يؤدي إلى الاحتراق\n",[174,10192,9184],{}," حدد أوقات نهاية العمل بوضوح",[209,10195,10197],{"id":10196},"الفخ-4-عدم-التعلم-المستمر","الفخ 4: عدم التعلم المستمر",[12,10199,10200,10202,10203,10205],{},[174,10201,10165],{}," التخلف عن التقنيات الجديدة\n",[174,10204,9184],{}," خصص وقتاً يومياً للتعلم",[16,10207,10209],{"id":10208},"قياس-وتحسين-الإنتاجية","قياس وتحسين الإنتاجية",[209,10211,10213],{"id":10212},"المقاييس-الرئيسية","المقاييس الرئيسية",[12,10215,10216],{},[174,10217,10218],{},"مقاييس الكمية:",[186,10220,10221,10223,10226],{},[189,10222,10149],{},[189,10224,10225],{},"عدد المهام المكتملة",[189,10227,10228],{},"وقت الاستجابة للطلبات",[12,10230,10231],{},[174,10232,8693],{},[186,10234,10235,10238,10241],{},[189,10236,10237],{},"تغطية الاختبارات",[189,10239,10240],{},"عدد الأخطاء في الإنتاج",[189,10242,10243],{},"رضا العملاء",[12,10245,10246],{},[174,10247,10248],{},"مقاييس الرضا:",[186,10250,10251,10254,10257],{},[189,10252,10253],{},"مستوى التوتر",[189,10255,10256],{},"الرضا الوظيفي",[189,10258,10259],{},"التوازن بين العمل والحياة",[209,10261,10263],{"id":10262},"أدوات-القياس","أدوات القياس",[12,10265,10266],{},[174,10267,10268],{},"تطبيقات التتبع:",[186,10270,10271,10276,10281],{},[189,10272,10273,10275],{},[174,10274,9669],{}," - تتبع تلقائي",[189,10277,10278,10280],{},[174,10279,9663],{}," - تحليل مفصل",[189,10282,10283,10286],{},[174,10284,10285],{},"Trello/Jira"," - تتبع المهام",[12,10288,10289],{},[174,10290,10291],{},"المراجعة الأسبوعية:",[186,10293,10294,10297,10300],{},[189,10295,10296],{},"ما الذي سار جيداً؟",[189,10298,10299],{},"ما الذي يمكن تحسينه؟",[189,10301,10302],{},"أهداف الأسبوع القادم",[16,10304,8049],{"id":8049},[12,10306,10307],{},"الإنتاجية في التطوير ليست عن العمل الأكثر، بل العمل الأذكى. في 2025، لدينا أدوات مذهلة - من مساعدي الذكاء الاصطناعي إلى أدوات الأتمتة - لكن النجاح يعتمد على بناء عادات مستدامة وتقنيات عمل فعالة.",[12,10309,10310],{},"ابدأ بتطبيق تغيير واحد اليوم. سواء كان إعداد جدول زمني أفضل، أو تعلم اختصار جديد، أو تجربة تقنية جديدة - كل خطوة صغيرة تؤدي إلى تحسن كبير في إنتاجيتك.",[12,10312,10313],{},"تذكر: المطور الأكثر إنتاجية ليس الذي يعمل أكثر، بل الذي يعمل بذكاء أكبر مع الطاقة والإبداع المناسبين. 🚀",{"title":42,"searchDepth":43,"depth":43,"links":10315},[10316,10321,10326,10331,10337,10341,10347,10351],{"id":9410,"depth":46,"text":9411,"children":10317},[10318,10319,10320],{"id":9414,"depth":43,"text":9415},{"id":9565,"depth":43,"text":9566},{"id":9619,"depth":43,"text":9620},{"id":9673,"depth":46,"text":9674,"children":10322},[10323,10324,10325],{"id":9677,"depth":43,"text":9678},{"id":9719,"depth":43,"text":9720},{"id":9785,"depth":43,"text":9786},{"id":9833,"depth":46,"text":9834,"children":10327},[10328,10329,10330],{"id":9837,"depth":43,"text":9838},{"id":9889,"depth":43,"text":9890},{"id":9940,"depth":43,"text":9941},{"id":9982,"depth":46,"text":9983,"children":10332},[10333,10334,10335,10336],{"id":9986,"depth":43,"text":9987},{"id":10010,"depth":43,"text":10011},{"id":10022,"depth":43,"text":10023},{"id":10046,"depth":43,"text":10047},{"id":10061,"depth":46,"text":10062,"children":10338},[10339,10340],{"id":10065,"depth":43,"text":10066},{"id":10110,"depth":43,"text":10111},{"id":10155,"depth":46,"text":10156,"children":10342},[10343,10344,10345,10346],{"id":10159,"depth":43,"text":10160},{"id":10172,"depth":43,"text":10173},{"id":10184,"depth":43,"text":10185},{"id":10196,"depth":43,"text":10197},{"id":10208,"depth":46,"text":10209,"children":10348},[10349,10350],{"id":10212,"depth":43,"text":10213},{"id":10262,"depth":43,"text":10263},{"id":8049,"depth":46,"text":8049},"دليل شامل لتعظيم إنتاجيتك كمطور في 2025 باستخدام الأدوات الحديثة، التقنيات المثبتة، والعادات المستدامة التي تعمل فعلاً.","https://images.unsplash.com/photo-1552664730-d307ca884978?q=80&w=1200",{"excerpt":10355},{"type":9,"value":10356},[10357,10359],[12,10358,9404],{},[12,10360,9407],{},"/intajyh-almtwr-2025","2025-05-05",{"title":9399,"description":10352},"إنتاجية-المطور-2025",[1437,10366,10367,10368,10369,2044,10370,10371],"productivity","workflow","efficiency","developer-tips","vscode","automation","jNsksv11xbOme2hvbqvBB41-nRoLwXfr0b12-NI26C0",{"id":10374,"title":10375,"author":7,"body":10376,"category":69,"description":8138,"extension":52,"image":10388,"isDraft":54,"isFeatured":55,"locale":56,"meta":10389,"navigation":54,"path":10394,"publishedAt":10395,"readingTime":2842,"seo":10396,"stem":10397,"tags":10398,"updatedAt":10395,"__hash__":10401},"articles_ar/استراتيجيات-الاحتفاظ-بالمستخدمين.md","استراتيجيات الاحتفاظ بالمستخدمين",{"type":9,"value":10377,"toc":10385},[10378,10381,10383],[12,10379,10380],{},"الاحتفاظ بالمستخدمين أهم من اكتساب مستخدمين جدد.",[16,10382,2102],{"id":2101},[12,10384,2105],{},{"title":42,"searchDepth":43,"depth":43,"links":10386},[10387],{"id":2101,"depth":46,"text":2102},"https://images.unsplash.com/photo-1600880292203-757bb62b4baf?q=80&w=1200&auto=format&fit=crop",{"excerpt":10390},{"type":9,"value":10391},[10392],[12,10393,10380],{},"/astratyjyat-alahtfaz-balmstkhdmyn","2025-02-11",{"title":10375,"description":8138},"استراتيجيات-الاحتفاظ-بالمستخدمين",[69,10399,10400],"التسويق","نمو-المستخدمين","SwBXjr3oJIHqvCbfUXswqlMlM6AN8Srfe4pzwfPAb5E",{"id":10403,"title":10404,"author":7,"body":10405,"category":8137,"description":8138,"extension":52,"image":10417,"isDraft":54,"isFeatured":55,"locale":56,"meta":10418,"navigation":54,"path":10423,"publishedAt":10424,"readingTime":1467,"seo":10425,"stem":10426,"tags":10427,"updatedAt":10424,"__hash__":10429},"articles_ar/استراتيجيات-التسعير-للمنتجات-الرقمية.md","استراتيجيات التسعير للمنتجات الرقمية",{"type":9,"value":10406,"toc":10414},[10407,10410,10412],[12,10408,10409],{},"استراتيجية التسعير الصحيحة تحدد نجاح منتجك الرقمي في السوق.",[16,10411,2102],{"id":2101},[12,10413,2105],{},{"title":42,"searchDepth":43,"depth":43,"links":10415},[10416],{"id":2101,"depth":46,"text":2102},"https://images.unsplash.com/photo-1554224155-8d04cb21cd6c?q=80&w=1200&auto=format&fit=crop",{"excerpt":10419},{"type":9,"value":10420},[10421],[12,10422,10409],{},"/astratyjyat-altsayr-llmntjat-alrqmyh","2025-03-11",{"title":10404,"description":8138},"استراتيجيات-التسعير-للمنتجات-الرقمية",[69,8137,10428,8151],"التسعير","pMUQhrVj9xW8ndaxwd_WKeGYYyyI_ImBRKMxDHJlXUw",{"id":10431,"title":10432,"author":7,"body":10433,"category":3658,"description":8198,"extension":52,"image":10445,"isDraft":54,"isFeatured":55,"locale":56,"meta":10446,"navigation":54,"path":10451,"publishedAt":10452,"readingTime":1467,"seo":10453,"stem":10454,"tags":10455,"updatedAt":10452,"__hash__":10458},"articles_ar/استراتيجيات-التوسع-للأسواق-الجديدة.md","استراتيجيات التوسع للأسواق الجديدة",{"type":9,"value":10434,"toc":10442},[10435,10438,10440],[12,10436,10437],{},"التوسع إلى أسواق جديدة يتطلب تخطيطاً استراتيجياً دقيقاً.",[16,10439,2102],{"id":2101},[12,10441,2105],{},{"title":42,"searchDepth":43,"depth":43,"links":10443},[10444],{"id":2101,"depth":46,"text":2102},"https://images.unsplash.com/photo-1526304640581-d334cdbbf45e?q=80&w=1200&auto=format&fit=crop",{"excerpt":10447},{"type":9,"value":10448},[10449],[12,10450,10437],{},"/astratyjyat-altwsa-llaswaq-aljdydh","2025-06-17",{"title":10432,"description":8198},"استراتيجيات-التوسع-للأسواق-الجديدة",[3658,8209,10456,10457],"التوسع","النمو","3_pB00Tinh1-QS74GpLxTaIw-lXkv-aUepPyGn6vhmE",{"id":10460,"title":10461,"author":7,"body":10462,"category":3658,"description":8198,"extension":52,"image":10474,"isDraft":54,"isFeatured":55,"locale":56,"meta":10475,"navigation":54,"path":10480,"publishedAt":10481,"readingTime":2818,"seo":10482,"stem":10483,"tags":10484,"updatedAt":10481,"__hash__":10487},"articles_ar/استراتيجيات-جمع-التمويل-للشركات-الناشئة.md","استراتيجيات جمع التمويل للشركات الناشئة",{"type":9,"value":10463,"toc":10471},[10464,10467,10469],[12,10465,10466],{},"تعرف على استراتيجيات جمع التمويل المختلفة وكيفية اختيار الأنسب لشركتك.",[16,10468,2102],{"id":2101},[12,10470,2105],{},{"title":42,"searchDepth":43,"depth":43,"links":10472},[10473],{"id":2101,"depth":46,"text":2102},"https://images.unsplash.com/photo-1579621970563-ebec7560ff3e?q=80&w=1200&auto=format&fit=crop",{"excerpt":10476},{"type":9,"value":10477},[10478],[12,10479,10466],{},"/astratyjyat-jma-altmwyl-llshrkat-alnasheh","2025-06-03",{"title":10461,"description":8198},"استراتيجيات-جمع-التمويل-للشركات-الناشئة",[3658,8209,10485,10486],"التمويل","الاستثمار","hDsrrXvgrnSlzyvHXPEtilcyr46_fIj66H5g6yRziJI",{"id":10489,"title":10490,"author":7,"body":10491,"category":69,"description":8138,"extension":52,"image":10503,"isDraft":54,"isFeatured":55,"locale":56,"meta":10504,"navigation":54,"path":10509,"publishedAt":10510,"readingTime":3044,"seo":10511,"stem":10512,"tags":10513,"updatedAt":10510,"__hash__":10516},"articles_ar/استراتيجيات-قياس-نجاح-المنتج-الرقمي.md","استراتيجيات قياس نجاح المنتج الرقمي",{"type":9,"value":10492,"toc":10500},[10493,10496,10498],[12,10494,10495],{},"قياس نجاح منتجك الرقمي يتطلب فهماً عميقاً للمقاييس الصحيحة.",[16,10497,2102],{"id":2101},[12,10499,2105],{},{"title":42,"searchDepth":43,"depth":43,"links":10501},[10502],{"id":2101,"depth":46,"text":2102},"https://images.unsplash.com/photo-1551288049-bebda4e38f71?q=80&w=1200&auto=format&fit=crop",{"excerpt":10505},{"type":9,"value":10506},[10507],[12,10508,10495],{},"/astratyjyat-qyas-njah-almntj-alrqmy","2025-01-28",{"title":10490,"description":8138},"استراتيجيات-قياس-نجاح-المنتج-الرقمي",[69,10514,10515],"التحليلات","قياس-الأداء","3EiteGJJUDiW6xoadCU94AC7FCKN1uZYc3tm6C0t1xY",{"id":10518,"title":10519,"author":7,"body":10520,"category":1437,"description":14217,"extension":52,"image":14218,"isDraft":55,"isFeatured":54,"locale":56,"meta":14219,"navigation":54,"path":14230,"publishedAt":14231,"readingTime":2035,"seo":14232,"stem":14233,"tags":14234,"updatedAt":1476,"__hash__":14237},"articles_ar/البدء-مع-nuxt.md","البدء مع Nuxt: دليل شامل لتطوير الويب الحديث",{"type":9,"value":10521,"toc":14172},[10522,10525,10528,10532,10535,10539,10545,10556,10566,10572,10578,10644,10649,10676,10682,10696,10700,10704,10707,10722,10726,10729,10748,10751,10759,10762,10793,10800,10804,10807,10813,10817,10821,10826,10831,10944,10949,10952,10961,11154,11158,11161,11166,11390,11393,11434,11438,11445,11450,11658,11661,11709,11713,11716,11721,11962,11967,12088,12093,12147,12151,12157,12162,12225,12228,12318,12323,12331,12427,12431,12434,12439,12601,12604,12769,12773,12776,12780,12795,12800,12832,12836,12850,12853,12970,12974,12988,12991,13045,13049,13051,13064,13068,13082,13088,13092,13106,13110,13113,13127,13131,13134,13139,13157,13162,13196,13205,13210,13230,13233,13237,13240,13291,13295,13306,13310,13313,13318,13531,13535,13542,13612,13616,13636,13640,13643,13846,13850,13944,13947,13988,13992,13997,14020,14025,14049,14054,14071,14075,14078,14095,14098,14102,14105,14159,14161,14164,14167,14169],[12,10523,10524],{},"أصبح Nuxt أحد أكثر الأطر شيوعاً لبناء تطبيقات الويب الحديثة مع Vue.js. سواء كنت تقوم بإنشاء مدونة، موقع تجارة إلكترونية، أو تطبيق ويب معقد، يوفر Nuxt الأدوات والهيكل الذي تحتاجه لبناء مشاريع سريعة ومتوافقة مع SEO وسهلة الصيانة.",[12,10526,10527],{},"سيأخذك هذا الدليل الشامل من الصفر إلى الإنتاجية مع Nuxt، تغطية كل شيء من الإعداد الأساسي إلى الميزات المتقدمة وأفضل الممارسات.",[16,10529,10531],{"id":10530},"ما-هو-nuxt-ولماذا-يجب-استخدامه","ما هو Nuxt ولماذا يجب استخدامه؟",[12,10533,10534],{},"Nuxt هو إطار عمل مبني على Vue.js يضيف ميزات قوية للتطبيقات الجاهزة للإنتاج. فكر فيه كـ Vue.js مع قوى خارقة لبناء تطبيقات الويب الكاملة.",[209,10536,10538],{"id":10537},"الفوائد-الرئيسية","الفوائد الرئيسية",[12,10540,10541,10544],{},[174,10542,10543],{},"1. الرسم من جانب الخادم (SSR) جاهز","\nعلى عكس تطبيقات Vue التقليدية التي ترسم على العميل، يمكن لـ Nuxt رسم صفحاتك على الخادم، تسليم HTML مكتمل للمتصفح. هذا يعني:",[186,10546,10547,10550,10553],{},[189,10548,10549],{},"SEO أفضل (محركات البحث ترى محتواك الكامل فوراً)",[189,10551,10552],{},"تحميل صفحات أولي أسرع",[189,10554,10555],{},"أداء أفضل على الأجهزة البطيئة",[12,10557,10558,10561,10562,10565],{},[174,10559,10560],{},"2. التوجيه المبني على الملفات","\nلا حاجة لتكوين المسارات يدوياً. أنشئ ملف في مجلد ",[584,10563,10564],{},"pages","، وNuxt ينشئ مسار له تلقائياً:",[577,10567,10570],{"className":10568,"code":10569,"language":582},[580],"pages/\n  index.vue          → /\n  about.vue          → /about\n  blog/\n    index.vue        → /blog\n    [slug].vue       → /blog/:slug\n",[584,10571,10569],{"__ignoreMap":42},[12,10573,10574,10577],{},[174,10575,10576],{},"3. الاستيراد التلقائي","\nيستورد Nuxt تلقائياً المكونات والوظائف والأدوات. اكتب كود أقل:",[577,10579,10581],{"className":3808,"code":10580,"language":3810,"meta":42,"style":42},"\u003C!-- لا حاجة للاستيراد! -->\n\u003Cscript setup>\nconst count = ref(0)  // ref مستورد تلقائياً\nconst route = useRoute()  // useRoute مستورد تلقائياً\n\u003C/script>\n",[584,10582,10583,10588,10598,10618,10636],{"__ignoreMap":42},[2008,10584,10585],{"class":2528,"line":2529},[2008,10586,10587],{"class":2688},"\u003C!-- لا حاجة للاستيراد! -->\n",[2008,10589,10590,10592,10594,10596],{"class":2528,"line":46},[2008,10591,3818],{"class":3817},[2008,10593,3822],{"class":3821},[2008,10595,3826],{"class":3825},[2008,10597,2815],{"class":3817},[2008,10599,10600,10602,10604,10606,10608,10610,10612,10615],{"class":2528,"line":43},[2008,10601,3887],{"class":2694},[2008,10603,3891],{"class":3890},[2008,10605,3894],{"class":2712},[2008,10607,3897],{"class":2760},[2008,10609,3900],{"class":2702},[2008,10611,3904],{"class":3903},[2008,10613,10614],{"class":2702},")  ",[2008,10616,10617],{"class":2688},"// ref مستورد تلقائياً\n",[2008,10619,10620,10622,10625,10627,10630,10633],{"class":2528,"line":2545},[2008,10621,3887],{"class":2694},[2008,10623,10624],{"class":3890}," route",[2008,10626,3894],{"class":2712},[2008,10628,10629],{"class":2760}," useRoute",[2008,10631,10632],{"class":2702},"()  ",[2008,10634,10635],{"class":2688},"// useRoute مستورد تلقائياً\n",[2008,10637,10638,10640,10642],{"class":2528,"line":2551},[2008,10639,2835],{"class":3817},[2008,10641,3822],{"class":3821},[2008,10643,2815],{"class":3817},[12,10645,10646],{},[174,10647,10648],{},"4. مبني على أدوات حديثة",[186,10650,10651,10657,10663,10670],{},[189,10652,10653,10656],{},[174,10654,10655],{},"Vite"," للتطوير السريع وإعادة التحميل الساخن (HMR)",[189,10658,10659,10662],{},[174,10660,10661],{},"Nitro"," لمحرك خادم قوي ومحمول",[189,10664,10665,10666,10669],{},"دعم ",[174,10667,10668],{},"TypeScript"," جاهز",[189,10671,10672,10675],{},[174,10673,10674],{},"Vue 3"," مع Composition API",[12,10677,10678,10681],{},[174,10679,10680],{},"5. أوضاع رسم مرنة","\nاختر النهج الأفضل لكل صفحة:",[186,10683,10684,10687,10690,10693],{},[189,10685,10686],{},"SSR (الرسم من جانب الخادم)",[189,10688,10689],{},"SPA (تطبيق صفحة واحدة)",[189,10691,10692],{},"SSG (توليد الموقع الثابت)",[189,10694,10695],{},"ISR (التجديد الثابت التدريجي)",[16,10697,10699],{"id":10698},"تثبيت-nuxt","تثبيت Nuxt",[209,10701,10703],{"id":10702},"المتطلبات-الأساسية","المتطلبات الأساسية",[12,10705,10706],{},"تأكد من تثبيت Node.js (الإصدار 18.0.0 أو أعلى). تحقق من إصدارك:",[577,10708,10712],{"className":10709,"code":10710,"language":10711,"meta":42,"style":42},"language-bash shiki shiki-themes github-light dark-plus dark-plus","node --version\n","bash",[584,10713,10714],{"__ignoreMap":42},[2008,10715,10716,10719],{"class":2528,"line":2529},[2008,10717,10718],{"class":2760},"node",[2008,10720,10721],{"class":5858}," --version\n",[209,10723,10725],{"id":10724},"إنشاء-مشروعك-الأول","إنشاء مشروعك الأول",[12,10727,10728],{},"افتح الطرفية وشغل:",[577,10730,10732],{"className":10709,"code":10731,"language":10711,"meta":42,"style":42},"npx nuxi@latest init my-app\n",[584,10733,10734],{"__ignoreMap":42},[2008,10735,10736,10739,10742,10745],{"class":2528,"line":2529},[2008,10737,10738],{"class":2760},"npx",[2008,10740,10741],{"class":2811}," nuxi@latest",[2008,10743,10744],{"class":2811}," init",[2008,10746,10747],{"class":2811}," my-app\n",[12,10749,10750],{},"سيتم سؤالك عن بعض الأسئلة:",[186,10752,10753,10756],{},[189,10754,10755],{},"مدير الحزم: اختر npm، yarn، pnpm، أو bun",[189,10757,10758],{},"تهيئة مستودع git: نعم/لا",[12,10760,10761],{},"بعد الإنشاء، انتقل إلى مشروعك وابدأ خادم التطوير:",[577,10763,10765],{"className":10709,"code":10764,"language":10711,"meta":42,"style":42},"cd my-app\nnpm install\nnpm run dev\n",[584,10766,10767,10775,10783],{"__ignoreMap":42},[2008,10768,10769,10773],{"class":2528,"line":2529},[2008,10770,10772],{"class":10771},"sNX3-","cd",[2008,10774,10747],{"class":2811},[2008,10776,10777,10780],{"class":2528,"line":46},[2008,10778,10779],{"class":2760},"npm",[2008,10781,10782],{"class":2811}," install\n",[2008,10784,10785,10787,10790],{"class":2528,"line":43},[2008,10786,10779],{"class":2760},[2008,10788,10789],{"class":2811}," run",[2008,10791,10792],{"class":2811}," dev\n",[12,10794,10795,10796,10799],{},"افتح متصفحك على ",[584,10797,10798],{},"http://localhost:3000"," وسترى تطبيق Nuxt الجديد!",[209,10801,10803],{"id":10802},"هيكل-المشروع","هيكل المشروع",[12,10805,10806],{},"إليك ما ينشئه Nuxt لك:",[577,10808,10811],{"className":10809,"code":10810,"language":582},[580],"my-app/\n├── .nuxt/              # الملفات المولدة (لا تحرر)\n├── node_modules/       # التبعيات\n├── pages/              # صفحات التطبيق\n│   └── index.vue       # الصفحة الرئيسية (/)\n├── public/             # الملفات الثابتة\n├── server/             # مسارات API الخلفية\n├── app.vue             # المكون الجذر\n├── nuxt.config.ts      # تكوين Nuxt\n└── package.json        # بيانات المشروع\n",[584,10812,10810],{"__ignoreMap":42},[16,10814,10816],{"id":10815},"المفاهيم-الأساسية","المفاهيم الأساسية",[209,10818,10820],{"id":10819},"_1-الصفحات-والتوجيه","1. الصفحات والتوجيه",[12,10822,10823,10824,2713],{},"أنشئ ملف جديد في مجلد ",[584,10825,10564],{},[12,10827,10828],{},[174,10829,10830],{},"pages/about.vue",[577,10832,10834],{"className":3808,"code":10833,"language":3810,"meta":42,"style":42},"\u003Cscript setup>\ndefinePageMeta({\n  title: 'من نحن'\n})\n\u003C/script>\n\n\u003Ctemplate>\n  \u003Cdiv>\n    \u003Ch1>عن شركتنا\u003C/h1>\n    \u003Cp>نبني منتجات رائعة...\u003C/p>\n  \u003C/div>\n\u003C/template>\n",[584,10835,10836,10846,10853,10861,10865,10873,10877,10885,10893,10911,10928,10936],{"__ignoreMap":42},[2008,10837,10838,10840,10842,10844],{"class":2528,"line":2529},[2008,10839,3818],{"class":3817},[2008,10841,3822],{"class":3821},[2008,10843,3826],{"class":3825},[2008,10845,2815],{"class":3817},[2008,10847,10848,10851],{"class":2528,"line":46},[2008,10849,10850],{"class":2760},"definePageMeta",[2008,10852,7993],{"class":2702},[2008,10854,10855,10858],{"class":2528,"line":43},[2008,10856,10857],{"class":2801},"  title:",[2008,10859,10860],{"class":2811}," 'من نحن'\n",[2008,10862,10863],{"class":2528,"line":2545},[2008,10864,4569],{"class":2702},[2008,10866,10867,10869,10871],{"class":2528,"line":2551},[2008,10868,2835],{"class":3817},[2008,10870,3822],{"class":3821},[2008,10872,2815],{"class":3817},[2008,10874,10875],{"class":2528,"line":2557},[2008,10876,2548],{"emptyLinePlaceholder":54},[2008,10878,10879,10881,10883],{"class":2528,"line":2563},[2008,10880,3818],{"class":3817},[2008,10882,4130],{"class":3821},[2008,10884,2815],{"class":3817},[2008,10886,10887,10889,10891],{"class":2528,"line":2568},[2008,10888,4138],{"class":3817},[2008,10890,2802],{"class":3821},[2008,10892,2815],{"class":3817},[2008,10894,10895,10897,10900,10902,10905,10907,10909],{"class":2528,"line":2574},[2008,10896,2798],{"class":3817},[2008,10898,10899],{"class":3821},"h1",[2008,10901,4152],{"class":3817},[2008,10903,10904],{"class":2702},"عن شركتنا",[2008,10906,2835],{"class":3817},[2008,10908,10899],{"class":3821},[2008,10910,2815],{"class":3817},[2008,10912,10913,10915,10917,10919,10922,10924,10926],{"class":2528,"line":1467},[2008,10914,2798],{"class":3817},[2008,10916,12],{"class":3821},[2008,10918,4152],{"class":3817},[2008,10920,10921],{"class":2702},"نبني منتجات رائعة...",[2008,10923,2835],{"class":3817},[2008,10925,12],{"class":3821},[2008,10927,2815],{"class":3817},[2008,10929,10930,10932,10934],{"class":2528,"line":2818},[2008,10931,4232],{"class":3817},[2008,10933,2802],{"class":3821},[2008,10935,2815],{"class":3817},[2008,10937,10938,10940,10942],{"class":2528,"line":2842},[2008,10939,2835],{"class":3817},[2008,10941,4130],{"class":3821},[2008,10943,2815],{"class":3817},[12,10945,10946],{},[174,10947,10948],{},"المسارات الديناميكية:",[12,10950,10951],{},"أنشئ ملف مع أقواس للأجزاء الديناميكية:",[12,10953,10954],{},[174,10955,10956,10957,10960],{},"pages/blog/",[2008,10958,10959],{},"slug",".vue",[577,10962,10964],{"className":3808,"code":10963,"language":3810,"meta":42,"style":42},"\u003Cscript setup>\nconst route = useRoute()\nconst slug = route.params.slug\n\n// جلب منشور المدونة بناءً على slug\nconst { data: post } = await useFetch(`/api/posts/${slug}`)\n\u003C/script>\n\n\u003Ctemplate>\n  \u003Carticle>\n    \u003Ch1>{{ post.title }}\u003C/h1>\n    \u003Cdiv v-html=\"post.content\">\u003C/div>\n  \u003C/article>\n\u003C/template>\n",[584,10965,10966,10976,10988,11009,11013,11018,11055,11063,11067,11075,11084,11109,11138,11146],{"__ignoreMap":42},[2008,10967,10968,10970,10972,10974],{"class":2528,"line":2529},[2008,10969,3818],{"class":3817},[2008,10971,3822],{"class":3821},[2008,10973,3826],{"class":3825},[2008,10975,2815],{"class":3817},[2008,10977,10978,10980,10982,10984,10986],{"class":2528,"line":46},[2008,10979,3887],{"class":2694},[2008,10981,10624],{"class":3890},[2008,10983,3894],{"class":2712},[2008,10985,10629],{"class":2760},[2008,10987,4628],{"class":2702},[2008,10989,10990,10992,10995,10997,10999,11001,11004,11006],{"class":2528,"line":43},[2008,10991,3887],{"class":2694},[2008,10993,10994],{"class":3890}," slug",[2008,10996,3894],{"class":2712},[2008,10998,10624],{"class":2801},[2008,11000,181],{"class":2702},[2008,11002,11003],{"class":2801},"params",[2008,11005,181],{"class":2702},[2008,11007,11008],{"class":2801},"slug\n",[2008,11010,11011],{"class":2528,"line":2545},[2008,11012,2548],{"emptyLinePlaceholder":54},[2008,11014,11015],{"class":2528,"line":2551},[2008,11016,11017],{"class":2688},"// جلب منشور المدونة بناءً على slug\n",[2008,11019,11020,11022,11024,11026,11028,11031,11033,11035,11037,11040,11042,11045,11047,11049,11051,11053],{"class":2528,"line":2557},[2008,11021,3887],{"class":2694},[2008,11023,2775],{"class":2702},[2008,11025,8457],{"class":2708},[2008,11027,4974],{"class":2702},[2008,11029,11030],{"class":3890},"post",[2008,11032,3865],{"class":2702},[2008,11034,2808],{"class":2712},[2008,11036,7747],{"class":2789},[2008,11038,11039],{"class":2760}," useFetch",[2008,11041,3900],{"class":2702},[2008,11043,11044],{"class":2811},"`/api/posts/",[2008,11046,4034],{"class":4033},[2008,11048,10959],{"class":2801},[2008,11050,2832],{"class":4033},[2008,11052,4050],{"class":2811},[2008,11054,3160],{"class":2702},[2008,11056,11057,11059,11061],{"class":2528,"line":2563},[2008,11058,2835],{"class":3817},[2008,11060,3822],{"class":3821},[2008,11062,2815],{"class":3817},[2008,11064,11065],{"class":2528,"line":2568},[2008,11066,2548],{"emptyLinePlaceholder":54},[2008,11068,11069,11071,11073],{"class":2528,"line":2574},[2008,11070,3818],{"class":3817},[2008,11072,4130],{"class":3821},[2008,11074,2815],{"class":3817},[2008,11076,11077,11079,11082],{"class":2528,"line":1467},[2008,11078,4138],{"class":3817},[2008,11080,11081],{"class":3821},"article",[2008,11083,2815],{"class":3817},[2008,11085,11086,11088,11090,11092,11094,11096,11098,11101,11103,11105,11107],{"class":2528,"line":2818},[2008,11087,2798],{"class":3817},[2008,11089,10899],{"class":3821},[2008,11091,4152],{"class":3817},[2008,11093,7461],{"class":2702},[2008,11095,11030],{"class":2801},[2008,11097,181],{"class":2702},[2008,11099,11100],{"class":2801},"title",[2008,11102,4160],{"class":2702},[2008,11104,2835],{"class":3817},[2008,11106,10899],{"class":3821},[2008,11108,2815],{"class":3817},[2008,11110,11111,11113,11115,11118,11120,11122,11124,11126,11129,11131,11134,11136],{"class":2528,"line":2842},[2008,11112,2798],{"class":3817},[2008,11114,2802],{"class":3821},[2008,11116,11117],{"class":3825}," v-html",[2008,11119,2808],{"class":2702},[2008,11121,4208],{"class":4096},[2008,11123,11030],{"class":2801},[2008,11125,181],{"class":2702},[2008,11127,11128],{"class":2801},"content",[2008,11130,4208],{"class":4096},[2008,11132,11133],{"class":3817},">\u003C/",[2008,11135,2802],{"class":3821},[2008,11137,2815],{"class":3817},[2008,11139,11140,11142,11144],{"class":2528,"line":2862},[2008,11141,4232],{"class":3817},[2008,11143,11081],{"class":3821},[2008,11145,2815],{"class":3817},[2008,11147,11148,11150,11152],{"class":2528,"line":2119},[2008,11149,2835],{"class":3817},[2008,11151,4130],{"class":3821},[2008,11153,2815],{"class":3817},[209,11155,11157],{"id":11156},"_2-التخطيطات","2. التخطيطات",[12,11159,11160],{},"التخطيطات تغلف صفحاتك بهيكل مشترك (الرأس، التذييل، إلخ).",[12,11162,11163],{},[174,11164,11165],{},"layouts/default.vue",[577,11167,11169],{"className":3808,"code":11168,"language":3810,"meta":42,"style":42},"\u003Ctemplate>\n  \u003Cdiv>\n    \u003Cheader>\n      \u003Cnav>\n        \u003CNuxtLink to=\"/\">الرئيسية\u003C/NuxtLink>\n        \u003CNuxtLink to=\"/about\">من نحن\u003C/NuxtLink>\n        \u003CNuxtLink to=\"/blog\">المدونة\u003C/NuxtLink>\n      \u003C/nav>\n    \u003C/header>\n    \n    \u003Cmain>\n      \u003C!-- محتوى صفحتك يأتي هنا -->\n      \u003Cslot />\n    \u003C/main>\n    \n    \u003Cfooter>\n      \u003Cp>&copy; 2025 تطبيقي\u003C/p>\n    \u003C/footer>\n  \u003C/div>\n\u003C/template>\n",[584,11170,11171,11179,11187,11196,11205,11232,11256,11280,11289,11297,11301,11310,11315,11325,11333,11337,11346,11366,11374,11382],{"__ignoreMap":42},[2008,11172,11173,11175,11177],{"class":2528,"line":2529},[2008,11174,3818],{"class":3817},[2008,11176,4130],{"class":3821},[2008,11178,2815],{"class":3817},[2008,11180,11181,11183,11185],{"class":2528,"line":46},[2008,11182,4138],{"class":3817},[2008,11184,2802],{"class":3821},[2008,11186,2815],{"class":3817},[2008,11188,11189,11191,11194],{"class":2528,"line":43},[2008,11190,2798],{"class":3817},[2008,11192,11193],{"class":3821},"header",[2008,11195,2815],{"class":3817},[2008,11197,11198,11200,11203],{"class":2528,"line":2545},[2008,11199,2821],{"class":3817},[2008,11201,11202],{"class":3821},"nav",[2008,11204,2815],{"class":3817},[2008,11206,11207,11210,11213,11216,11218,11221,11223,11226,11228,11230],{"class":2528,"line":2551},[2008,11208,11209],{"class":3817},"        \u003C",[2008,11211,11212],{"class":3821},"NuxtLink",[2008,11214,11215],{"class":3825}," to",[2008,11217,2808],{"class":2702},[2008,11219,11220],{"class":2811},"\"/\"",[2008,11222,4152],{"class":3817},[2008,11224,11225],{"class":2702},"الرئيسية",[2008,11227,2835],{"class":3817},[2008,11229,11212],{"class":3821},[2008,11231,2815],{"class":3817},[2008,11233,11234,11236,11238,11240,11242,11245,11247,11250,11252,11254],{"class":2528,"line":2557},[2008,11235,11209],{"class":3817},[2008,11237,11212],{"class":3821},[2008,11239,11215],{"class":3825},[2008,11241,2808],{"class":2702},[2008,11243,11244],{"class":2811},"\"/about\"",[2008,11246,4152],{"class":3817},[2008,11248,11249],{"class":2702},"من نحن",[2008,11251,2835],{"class":3817},[2008,11253,11212],{"class":3821},[2008,11255,2815],{"class":3817},[2008,11257,11258,11260,11262,11264,11266,11269,11271,11274,11276,11278],{"class":2528,"line":2563},[2008,11259,11209],{"class":3817},[2008,11261,11212],{"class":3821},[2008,11263,11215],{"class":3825},[2008,11265,2808],{"class":2702},[2008,11267,11268],{"class":2811},"\"/blog\"",[2008,11270,4152],{"class":3817},[2008,11272,11273],{"class":2702},"المدونة",[2008,11275,2835],{"class":3817},[2008,11277,11212],{"class":3821},[2008,11279,2815],{"class":3817},[2008,11281,11282,11285,11287],{"class":2528,"line":2568},[2008,11283,11284],{"class":3817},"      \u003C/",[2008,11286,11202],{"class":3821},[2008,11288,2815],{"class":3817},[2008,11290,11291,11293,11295],{"class":2528,"line":2574},[2008,11292,2865],{"class":3817},[2008,11294,11193],{"class":3821},[2008,11296,2815],{"class":3817},[2008,11298,11299],{"class":2528,"line":1467},[2008,11300,2991],{"class":2702},[2008,11302,11303,11305,11308],{"class":2528,"line":2818},[2008,11304,2798],{"class":3817},[2008,11306,11307],{"class":3821},"main",[2008,11309,2815],{"class":3817},[2008,11311,11312],{"class":2528,"line":2842},[2008,11313,11314],{"class":2688},"      \u003C!-- محتوى صفحتك يأتي هنا -->\n",[2008,11316,11317,11319,11321,11323],{"class":2528,"line":2862},[2008,11318,2821],{"class":3817},[2008,11320,5540],{"class":3821},[2008,11322,5571],{"class":5570},[2008,11324,2815],{"class":3817},[2008,11326,11327,11329,11331],{"class":2528,"line":2119},[2008,11328,2865],{"class":3817},[2008,11330,11307],{"class":3821},[2008,11332,2815],{"class":3817},[2008,11334,11335],{"class":2528,"line":2035},[2008,11336,2991],{"class":2702},[2008,11338,11339,11341,11344],{"class":2528,"line":3038},[2008,11340,2798],{"class":3817},[2008,11342,11343],{"class":3821},"footer",[2008,11345,2815],{"class":3817},[2008,11347,11348,11350,11352,11354,11357,11360,11362,11364],{"class":2528,"line":3044},[2008,11349,2821],{"class":3817},[2008,11351,12],{"class":3821},[2008,11353,4152],{"class":3817},[2008,11355,11356],{"class":5858},"&copy;",[2008,11358,11359],{"class":2702}," 2025 تطبيقي",[2008,11361,2835],{"class":3817},[2008,11363,12],{"class":3821},[2008,11365,2815],{"class":3817},[2008,11367,11368,11370,11372],{"class":2528,"line":2380},[2008,11369,2865],{"class":3817},[2008,11371,11343],{"class":3821},[2008,11373,2815],{"class":3817},[2008,11375,11376,11378,11380],{"class":2528,"line":4107},[2008,11377,4232],{"class":3817},[2008,11379,2802],{"class":3821},[2008,11381,2815],{"class":3817},[2008,11383,11384,11386,11388],{"class":2528,"line":64},[2008,11385,2835],{"class":3817},[2008,11387,4130],{"class":3821},[2008,11389,2815],{"class":3817},[12,11391,11392],{},"استخدمه في صفحة:",[577,11394,11396],{"className":3808,"code":11395,"language":3810,"meta":42,"style":42},"\u003Cscript setup>\ndefinePageMeta({\n  layout: 'default'\n})\n\u003C/script>\n",[584,11397,11398,11408,11414,11422,11426],{"__ignoreMap":42},[2008,11399,11400,11402,11404,11406],{"class":2528,"line":2529},[2008,11401,3818],{"class":3817},[2008,11403,3822],{"class":3821},[2008,11405,3826],{"class":3825},[2008,11407,2815],{"class":3817},[2008,11409,11410,11412],{"class":2528,"line":46},[2008,11411,10850],{"class":2760},[2008,11413,7993],{"class":2702},[2008,11415,11416,11419],{"class":2528,"line":43},[2008,11417,11418],{"class":2801},"  layout:",[2008,11420,11421],{"class":2811}," 'default'\n",[2008,11423,11424],{"class":2528,"line":2545},[2008,11425,4569],{"class":2702},[2008,11427,11428,11430,11432],{"class":2528,"line":2551},[2008,11429,2835],{"class":3817},[2008,11431,3822],{"class":3821},[2008,11433,2815],{"class":3817},[209,11435,11437],{"id":11436},"_3-المكونات","3. المكونات",[12,11439,11440,11441,11444],{},"المكونات في مجلد ",[584,11442,11443],{},"components"," مستوردة تلقائياً:",[12,11446,11447],{},[174,11448,11449],{},"components/Button.vue",[577,11451,11453],{"className":3808,"code":11452,"language":3810,"meta":42,"style":42},"\u003Cscript setup>\ndefineProps\u003C{\n  label: string\n  variant?: 'primary' | 'secondary'\n}>()\n\u003C/script>\n\n\u003Ctemplate>\n  \u003Cbutton :class=\"variant\">\n    {{ label }}\n  \u003C/button>\n\u003C/template>\n\n\u003Cstyle scoped>\n.primary {\n  background: #f97216;\n  color: white;\n}\n.secondary {\n  background: #6b7280;\n  color: white;\n}\n\u003C/style>\n",[584,11454,11455,11465,11472,11480,11495,11499,11507,11511,11519,11540,11549,11557,11565,11569,11580,11588,11602,11614,11618,11625,11636,11646,11650],{"__ignoreMap":42},[2008,11456,11457,11459,11461,11463],{"class":2528,"line":2529},[2008,11458,3818],{"class":3817},[2008,11460,3822],{"class":3821},[2008,11462,3826],{"class":3825},[2008,11464,2815],{"class":3817},[2008,11466,11467,11470],{"class":2528,"line":46},[2008,11468,11469],{"class":2760},"defineProps",[2008,11471,4958],{"class":2702},[2008,11473,11474,11476,11478],{"class":2528,"line":43},[2008,11475,4891],{"class":2708},[2008,11477,2713],{"class":2712},[2008,11479,4896],{"class":2716},[2008,11481,11482,11485,11487,11490,11492],{"class":2528,"line":2545},[2008,11483,11484],{"class":2708},"  variant",[2008,11486,4913],{"class":2712},[2008,11488,11489],{"class":2811}," 'primary'",[2008,11491,6698],{"class":2712},[2008,11493,11494],{"class":2811}," 'secondary'\n",[2008,11496,11497],{"class":2528,"line":2551},[2008,11498,4985],{"class":2702},[2008,11500,11501,11503,11505],{"class":2528,"line":2557},[2008,11502,2835],{"class":3817},[2008,11504,3822],{"class":3821},[2008,11506,2815],{"class":3817},[2008,11508,11509],{"class":2528,"line":2563},[2008,11510,2548],{"emptyLinePlaceholder":54},[2008,11512,11513,11515,11517],{"class":2528,"line":2568},[2008,11514,3818],{"class":3817},[2008,11516,4130],{"class":3821},[2008,11518,2815],{"class":3817},[2008,11520,11521,11523,11525,11527,11529,11531,11533,11536,11538],{"class":2528,"line":2574},[2008,11522,4138],{"class":3817},[2008,11524,4197],{"class":3821},[2008,11526,5543],{"class":2702},[2008,11528,5188],{"class":3825},[2008,11530,2808],{"class":2702},[2008,11532,4208],{"class":4096},[2008,11534,11535],{"class":2801},"variant",[2008,11537,4208],{"class":4096},[2008,11539,2815],{"class":3817},[2008,11541,11542,11545,11547],{"class":2528,"line":1467},[2008,11543,11544],{"class":2702},"    {{ ",[2008,11546,5092],{"class":2801},[2008,11548,5111],{"class":2702},[2008,11550,11551,11553,11555],{"class":2528,"line":2818},[2008,11552,4232],{"class":3817},[2008,11554,4197],{"class":3821},[2008,11556,2815],{"class":3817},[2008,11558,11559,11561,11563],{"class":2528,"line":2842},[2008,11560,2835],{"class":3817},[2008,11562,4130],{"class":3821},[2008,11564,2815],{"class":3817},[2008,11566,11567],{"class":2528,"line":2862},[2008,11568,2548],{"emptyLinePlaceholder":54},[2008,11570,11571,11573,11575,11578],{"class":2528,"line":2119},[2008,11572,3818],{"class":3817},[2008,11574,3587],{"class":3821},[2008,11576,11577],{"class":3825}," scoped",[2008,11579,2815],{"class":3817},[2008,11581,11582,11586],{"class":2528,"line":2035},[2008,11583,11585],{"class":11584},"sO3gw",".primary",[2008,11587,2703],{"class":2702},[2008,11589,11590,11594,11596,11600],{"class":2528,"line":3038},[2008,11591,11593],{"class":11592},"sps74","  background",[2008,11595,4974],{"class":2702},[2008,11597,11599],{"class":11598},"sqBZk","#f97216",[2008,11601,2720],{"class":2702},[2008,11603,11604,11607,11609,11612],{"class":2528,"line":3044},[2008,11605,11606],{"class":11592},"  color",[2008,11608,4974],{"class":2702},[2008,11610,11611],{"class":11598},"white",[2008,11613,2720],{"class":2702},[2008,11615,11616],{"class":2528,"line":2380},[2008,11617,2748],{"class":2702},[2008,11619,11620,11623],{"class":2528,"line":4107},[2008,11621,11622],{"class":11584},".secondary",[2008,11624,2703],{"class":2702},[2008,11626,11627,11629,11631,11634],{"class":2528,"line":64},[2008,11628,11593],{"class":11592},[2008,11630,4974],{"class":2702},[2008,11632,11633],{"class":11598},"#6b7280",[2008,11635,2720],{"class":2702},[2008,11637,11638,11640,11642,11644],{"class":2528,"line":4120},[2008,11639,11606],{"class":11592},[2008,11641,4974],{"class":2702},[2008,11643,11611],{"class":11598},[2008,11645,2720],{"class":2702},[2008,11647,11648],{"class":2528,"line":4125},[2008,11649,2748],{"class":2702},[2008,11651,11652,11654,11656],{"class":2528,"line":4135},[2008,11653,2835],{"class":3817},[2008,11655,3587],{"class":3821},[2008,11657,2815],{"class":3817},[12,11659,11660],{},"استخدمه في أي مكان بدون استيراد:",[577,11662,11664],{"className":3808,"code":11663,"language":3810,"meta":42,"style":42},"\u003Ctemplate>\n  \u003CButton label=\"اضغطني\" variant=\"primary\" />\n\u003C/template>\n",[584,11665,11666,11674,11701],{"__ignoreMap":42},[2008,11667,11668,11670,11672],{"class":2528,"line":2529},[2008,11669,3818],{"class":3817},[2008,11671,4130],{"class":3821},[2008,11673,2815],{"class":3817},[2008,11675,11676,11678,11681,11684,11686,11689,11692,11694,11697,11699],{"class":2528,"line":46},[2008,11677,4138],{"class":3817},[2008,11679,11680],{"class":3821},"Button",[2008,11682,11683],{"class":3825}," label",[2008,11685,2808],{"class":2702},[2008,11687,11688],{"class":2811},"\"اضغطني\"",[2008,11690,11691],{"class":3825}," variant",[2008,11693,2808],{"class":2702},[2008,11695,11696],{"class":2811},"\"primary\"",[2008,11698,5571],{"class":5570},[2008,11700,2815],{"class":3817},[2008,11702,11703,11705,11707],{"class":2528,"line":43},[2008,11704,2835],{"class":3817},[2008,11706,4130],{"class":3821},[2008,11708,2815],{"class":3817},[209,11710,11712],{"id":11711},"_4-جلب-البيانات","4. جلب البيانات",[12,11714,11715],{},"يوفر Nuxt وظائف قوية لجلب البيانات:",[12,11717,11718],{},[174,11719,11720],{},"useFetch - للـ APIs الخارجية",[577,11722,11724],{"className":3808,"code":11723,"language":3810,"meta":42,"style":42},"\u003Cscript setup>\n// يجلب تلقائياً على الخادم والعميل\nconst { data: users, pending, error } = await useFetch('https://api.example.com/users')\n\u003C/script>\n\n\u003Ctemplate>\n  \u003Cdiv>\n    \u003Cp v-if=\"pending\">جاري التحميل...\u003C/p>\n    \u003Cp v-else-if=\"error\">خطأ: {{ error.message }}\u003C/p>\n    \u003Cul v-else>\n      \u003Cli v-for=\"user in users\" :key=\"user.id\">\n        {{ user.name }}\n      \u003C/li>\n    \u003C/ul>\n  \u003C/div>\n\u003C/template>\n",[584,11725,11726,11736,11741,11778,11786,11790,11798,11806,11833,11869,11879,11917,11930,11938,11946,11954],{"__ignoreMap":42},[2008,11727,11728,11730,11732,11734],{"class":2528,"line":2529},[2008,11729,3818],{"class":3817},[2008,11731,3822],{"class":3821},[2008,11733,3826],{"class":3825},[2008,11735,2815],{"class":3817},[2008,11737,11738],{"class":2528,"line":46},[2008,11739,11740],{"class":2688},"// يجلب تلقائياً على الخادم والعميل\n",[2008,11742,11743,11745,11747,11749,11751,11754,11756,11759,11761,11763,11765,11767,11769,11771,11773,11776],{"class":2528,"line":43},[2008,11744,3887],{"class":2694},[2008,11746,2775],{"class":2702},[2008,11748,8457],{"class":2708},[2008,11750,4974],{"class":2702},[2008,11752,11753],{"class":3890},"users",[2008,11755,3848],{"class":2702},[2008,11757,11758],{"class":3890},"pending",[2008,11760,3848],{"class":2702},[2008,11762,5025],{"class":3890},[2008,11764,3865],{"class":2702},[2008,11766,2808],{"class":2712},[2008,11768,7747],{"class":2789},[2008,11770,11039],{"class":2760},[2008,11772,3900],{"class":2702},[2008,11774,11775],{"class":2811},"'https://api.example.com/users'",[2008,11777,3160],{"class":2702},[2008,11779,11780,11782,11784],{"class":2528,"line":2545},[2008,11781,2835],{"class":3817},[2008,11783,3822],{"class":3821},[2008,11785,2815],{"class":3817},[2008,11787,11788],{"class":2528,"line":2551},[2008,11789,2548],{"emptyLinePlaceholder":54},[2008,11791,11792,11794,11796],{"class":2528,"line":2557},[2008,11793,3818],{"class":3817},[2008,11795,4130],{"class":3821},[2008,11797,2815],{"class":3817},[2008,11799,11800,11802,11804],{"class":2528,"line":2563},[2008,11801,4138],{"class":3817},[2008,11803,2802],{"class":3821},[2008,11805,2815],{"class":3817},[2008,11807,11808,11810,11812,11814,11816,11818,11820,11822,11824,11827,11829,11831],{"class":2528,"line":2568},[2008,11809,2798],{"class":3817},[2008,11811,12],{"class":3821},[2008,11813,5221],{"class":2789},[2008,11815,2808],{"class":2702},[2008,11817,4208],{"class":4096},[2008,11819,11758],{"class":2801},[2008,11821,4208],{"class":4096},[2008,11823,4152],{"class":3817},[2008,11825,11826],{"class":2702},"جاري التحميل...",[2008,11828,2835],{"class":3817},[2008,11830,12],{"class":3821},[2008,11832,2815],{"class":3817},[2008,11834,11835,11837,11839,11842,11844,11846,11848,11850,11852,11855,11857,11859,11861,11863,11865,11867],{"class":2528,"line":2574},[2008,11836,2798],{"class":3817},[2008,11838,12],{"class":3821},[2008,11840,11841],{"class":2789}," v-else-if",[2008,11843,2808],{"class":2702},[2008,11845,4208],{"class":4096},[2008,11847,5025],{"class":2801},[2008,11849,4208],{"class":4096},[2008,11851,4152],{"class":3817},[2008,11853,11854],{"class":2702},"خطأ: {{ ",[2008,11856,5025],{"class":2801},[2008,11858,181],{"class":2702},[2008,11860,7468],{"class":2801},[2008,11862,4160],{"class":2702},[2008,11864,2835],{"class":3817},[2008,11866,12],{"class":3821},[2008,11868,2815],{"class":3817},[2008,11870,11871,11873,11875,11877],{"class":2528,"line":1467},[2008,11872,2798],{"class":3817},[2008,11874,186],{"class":3821},[2008,11876,7526],{"class":2789},[2008,11878,2815],{"class":3817},[2008,11880,11881,11883,11885,11887,11889,11891,11893,11895,11897,11899,11901,11903,11905,11907,11909,11911,11913,11915],{"class":2528,"line":2818},[2008,11882,2821],{"class":3817},[2008,11884,189],{"class":3821},[2008,11886,6160],{"class":2789},[2008,11888,2808],{"class":2702},[2008,11890,4208],{"class":4096},[2008,11892,2767],{"class":2801},[2008,11894,6170],{"class":2694},[2008,11896,6715],{"class":2801},[2008,11898,4208],{"class":4096},[2008,11900,5543],{"class":2702},[2008,11902,5642],{"class":3825},[2008,11904,2808],{"class":2702},[2008,11906,4208],{"class":4096},[2008,11908,2767],{"class":2801},[2008,11910,181],{"class":2702},[2008,11912,6190],{"class":2801},[2008,11914,4208],{"class":4096},[2008,11916,2815],{"class":3817},[2008,11918,11919,11922,11924,11926,11928],{"class":2528,"line":2842},[2008,11920,11921],{"class":2702},"        {{ ",[2008,11923,2767],{"class":2801},[2008,11925,181],{"class":2702},[2008,11927,2829],{"class":2801},[2008,11929,5111],{"class":2702},[2008,11931,11932,11934,11936],{"class":2528,"line":2862},[2008,11933,11284],{"class":3817},[2008,11935,189],{"class":3821},[2008,11937,2815],{"class":3817},[2008,11939,11940,11942,11944],{"class":2528,"line":2119},[2008,11941,2865],{"class":3817},[2008,11943,186],{"class":3821},[2008,11945,2815],{"class":3817},[2008,11947,11948,11950,11952],{"class":2528,"line":2035},[2008,11949,4232],{"class":3817},[2008,11951,2802],{"class":3821},[2008,11953,2815],{"class":3817},[2008,11955,11956,11958,11960],{"class":2528,"line":3038},[2008,11957,2835],{"class":3817},[2008,11959,4130],{"class":3821},[2008,11961,2815],{"class":3817},[12,11963,11964],{},[174,11965,11966],{},"useAsyncData - للمزيد من التحكم",[577,11968,11970],{"className":3808,"code":11969,"language":3810,"meta":42,"style":42},"\u003Cscript setup>\nconst { data: products } = await useAsyncData('products', async () => {\n  // منطق جلب مخصص\n  const response = await $fetch('/api/products', {\n    params: { category: 'electronics' }\n  })\n  return response.data\n})\n\u003C/script>\n",[584,11971,11972,11982,12018,12023,12045,12061,12065,12076,12080],{"__ignoreMap":42},[2008,11973,11974,11976,11978,11980],{"class":2528,"line":2529},[2008,11975,3818],{"class":3817},[2008,11977,3822],{"class":3821},[2008,11979,3826],{"class":3825},[2008,11981,2815],{"class":3817},[2008,11983,11984,11986,11988,11990,11992,11995,11997,11999,12001,12003,12005,12008,12010,12012,12014,12016],{"class":2528,"line":46},[2008,11985,3887],{"class":2694},[2008,11987,2775],{"class":2702},[2008,11989,8457],{"class":2708},[2008,11991,4974],{"class":2702},[2008,11993,11994],{"class":3890},"products",[2008,11996,3865],{"class":2702},[2008,11998,2808],{"class":2712},[2008,12000,7747],{"class":2789},[2008,12002,7583],{"class":2760},[2008,12004,3900],{"class":2702},[2008,12006,12007],{"class":2811},"'products'",[2008,12009,3848],{"class":2702},[2008,12011,6970],{"class":2694},[2008,12013,6290],{"class":2702},[2008,12015,3965],{"class":2694},[2008,12017,2703],{"class":2702},[2008,12019,12020],{"class":2528,"line":43},[2008,12021,12022],{"class":2688},"  // منطق جلب مخصص\n",[2008,12024,12025,12027,12030,12032,12034,12037,12039,12042],{"class":2528,"line":2545},[2008,12026,4343],{"class":2694},[2008,12028,12029],{"class":3890}," response",[2008,12031,3894],{"class":2712},[2008,12033,7747],{"class":2789},[2008,12035,12036],{"class":2760}," $fetch",[2008,12038,3900],{"class":2702},[2008,12040,12041],{"class":2811},"'/api/products'",[2008,12043,12044],{"class":2702},", {\n",[2008,12046,12047,12050,12052,12055,12058],{"class":2528,"line":2551},[2008,12048,12049],{"class":2801},"    params:",[2008,12051,2775],{"class":2702},[2008,12053,12054],{"class":2801},"category:",[2008,12056,12057],{"class":2811}," 'electronics'",[2008,12059,12060],{"class":2702}," }\n",[2008,12062,12063],{"class":2528,"line":2557},[2008,12064,5998],{"class":2702},[2008,12066,12067,12069,12071,12073],{"class":2528,"line":2563},[2008,12068,2790],{"class":2789},[2008,12070,12029],{"class":2801},[2008,12072,181],{"class":2702},[2008,12074,12075],{"class":2801},"data\n",[2008,12077,12078],{"class":2528,"line":2568},[2008,12079,4569],{"class":2702},[2008,12081,12082,12084,12086],{"class":2528,"line":2574},[2008,12083,2835],{"class":3817},[2008,12085,3822],{"class":3821},[2008,12087,2815],{"class":3817},[12,12089,12090],{},[174,12091,12092],{},"useLazyFetch - للتحميل من جانب العميل",[577,12094,12096],{"className":3808,"code":12095,"language":3810,"meta":42,"style":42},"\u003Cscript setup>\n// لا يحجب رسم الصفحة\nconst { data, pending } = useLazyFetch('/api/heavy-data')\n\u003C/script>\n",[584,12097,12098,12108,12113,12139],{"__ignoreMap":42},[2008,12099,12100,12102,12104,12106],{"class":2528,"line":2529},[2008,12101,3818],{"class":3817},[2008,12103,3822],{"class":3821},[2008,12105,3826],{"class":3825},[2008,12107,2815],{"class":3817},[2008,12109,12110],{"class":2528,"line":46},[2008,12111,12112],{"class":2688},"// لا يحجب رسم الصفحة\n",[2008,12114,12115,12117,12119,12121,12123,12125,12127,12129,12132,12134,12137],{"class":2528,"line":43},[2008,12116,3887],{"class":2694},[2008,12118,2775],{"class":2702},[2008,12120,8457],{"class":3890},[2008,12122,3848],{"class":2702},[2008,12124,11758],{"class":3890},[2008,12126,3865],{"class":2702},[2008,12128,2808],{"class":2712},[2008,12130,12131],{"class":2760}," useLazyFetch",[2008,12133,3900],{"class":2702},[2008,12135,12136],{"class":2811},"'/api/heavy-data'",[2008,12138,3160],{"class":2702},[2008,12140,12141,12143,12145],{"class":2528,"line":2545},[2008,12142,2835],{"class":3817},[2008,12144,3822],{"class":3821},[2008,12146,2815],{"class":3817},[209,12148,12150],{"id":12149},"_5-مسارات-الخادم-api","5. مسارات الخادم (API)",[12,12152,12153,12154,2713],{},"أنشئ نقاط نهاية خلفية في مجلد ",[584,12155,12156],{},"server/api",[12,12158,12159],{},[174,12160,12161],{},"server/api/hello.ts",[577,12163,12165],{"className":2679,"code":12164,"language":2681,"meta":42,"style":42},"export default defineEventHandler(() => {\n  return {\n    message: 'مرحباً من الخادم!',\n    timestamp: new Date().toISOString()\n  }\n})\n",[584,12166,12167,12182,12188,12198,12217,12221],{"__ignoreMap":42},[2008,12168,12169,12171,12173,12176,12178,12180],{"class":2528,"line":2529},[2008,12170,4310],{"class":2789},[2008,12172,7987],{"class":2789},[2008,12174,12175],{"class":2760}," defineEventHandler",[2008,12177,3962],{"class":2702},[2008,12179,3965],{"class":2694},[2008,12181,2703],{"class":2702},[2008,12183,12184,12186],{"class":2528,"line":46},[2008,12185,2790],{"class":2789},[2008,12187,2703],{"class":2702},[2008,12189,12190,12193,12196],{"class":2528,"line":43},[2008,12191,12192],{"class":2801},"    message:",[2008,12194,12195],{"class":2811}," 'مرحباً من الخادم!'",[2008,12197,4521],{"class":2702},[2008,12199,12200,12203,12206,12209,12212,12215],{"class":2528,"line":2545},[2008,12201,12202],{"class":2801},"    timestamp:",[2008,12204,12205],{"class":2694}," new",[2008,12207,12208],{"class":2760}," Date",[2008,12210,12211],{"class":2702},"().",[2008,12213,12214],{"class":2760},"toISOString",[2008,12216,4628],{"class":2702},[2008,12218,12219],{"class":2528,"line":2551},[2008,12220,4446],{"class":2702},[2008,12222,12223],{"class":2528,"line":2557},[2008,12224,4569],{"class":2702},[12,12226,12227],{},"وصولها من الواجهة الأمامية:",[577,12229,12231],{"className":3808,"code":12230,"language":3810,"meta":42,"style":42},"\u003Cscript setup>\nconst { data } = await useFetch('/api/hello')\n\u003C/script>\n\n\u003Ctemplate>\n  \u003Cp>{{ data.message }}\u003C/p>\n\u003C/template>\n",[584,12232,12233,12243,12266,12274,12278,12286,12310],{"__ignoreMap":42},[2008,12234,12235,12237,12239,12241],{"class":2528,"line":2529},[2008,12236,3818],{"class":3817},[2008,12238,3822],{"class":3821},[2008,12240,3826],{"class":3825},[2008,12242,2815],{"class":3817},[2008,12244,12245,12247,12249,12251,12253,12255,12257,12259,12261,12264],{"class":2528,"line":46},[2008,12246,3887],{"class":2694},[2008,12248,2775],{"class":2702},[2008,12250,8457],{"class":3890},[2008,12252,3865],{"class":2702},[2008,12254,2808],{"class":2712},[2008,12256,7747],{"class":2789},[2008,12258,11039],{"class":2760},[2008,12260,3900],{"class":2702},[2008,12262,12263],{"class":2811},"'/api/hello'",[2008,12265,3160],{"class":2702},[2008,12267,12268,12270,12272],{"class":2528,"line":43},[2008,12269,2835],{"class":3817},[2008,12271,3822],{"class":3821},[2008,12273,2815],{"class":3817},[2008,12275,12276],{"class":2528,"line":2545},[2008,12277,2548],{"emptyLinePlaceholder":54},[2008,12279,12280,12282,12284],{"class":2528,"line":2551},[2008,12281,3818],{"class":3817},[2008,12283,4130],{"class":3821},[2008,12285,2815],{"class":3817},[2008,12287,12288,12290,12292,12294,12296,12298,12300,12302,12304,12306,12308],{"class":2528,"line":2557},[2008,12289,4138],{"class":3817},[2008,12291,12],{"class":3821},[2008,12293,4152],{"class":3817},[2008,12295,7461],{"class":2702},[2008,12297,8457],{"class":2801},[2008,12299,181],{"class":2702},[2008,12301,7468],{"class":2801},[2008,12303,4160],{"class":2702},[2008,12305,2835],{"class":3817},[2008,12307,12],{"class":3821},[2008,12309,2815],{"class":3817},[2008,12311,12312,12314,12316],{"class":2528,"line":2563},[2008,12313,2835],{"class":3817},[2008,12315,4130],{"class":3821},[2008,12317,2815],{"class":3817},[12,12319,12320],{},[174,12321,12322],{},"مع المعاملات:",[12,12324,12325],{},[174,12326,12327,12328,12330],{},"server/api/users/",[2008,12329,6190],{},".ts",[577,12332,12334],{"className":2679,"code":12333,"language":2681,"meta":42,"style":42},"export default defineEventHandler((event) => {\n  const id = getRouterParam(event, 'id')\n  \n  // جلب المستخدم من قاعدة البيانات\n  return {\n    id,\n    name: 'John Doe',\n    email: 'john@example.com'\n  }\n})\n",[584,12335,12336,12355,12378,12383,12388,12394,12401,12411,12419,12423],{"__ignoreMap":42},[2008,12337,12338,12340,12342,12344,12347,12349,12351,12353],{"class":2528,"line":2529},[2008,12339,4310],{"class":2789},[2008,12341,7987],{"class":2789},[2008,12343,12175],{"class":2760},[2008,12345,12346],{"class":2702},"((",[2008,12348,5384],{"class":2708},[2008,12350,4011],{"class":2702},[2008,12352,3965],{"class":2694},[2008,12354,2703],{"class":2702},[2008,12356,12357,12359,12362,12364,12367,12369,12371,12373,12376],{"class":2528,"line":46},[2008,12358,4343],{"class":2694},[2008,12360,12361],{"class":3890}," id",[2008,12363,3894],{"class":2712},[2008,12365,12366],{"class":2760}," getRouterParam",[2008,12368,3900],{"class":2702},[2008,12370,5384],{"class":2801},[2008,12372,3848],{"class":2702},[2008,12374,12375],{"class":2811},"'id'",[2008,12377,3160],{"class":2702},[2008,12379,12380],{"class":2528,"line":43},[2008,12381,12382],{"class":2702},"  \n",[2008,12384,12385],{"class":2528,"line":2545},[2008,12386,12387],{"class":2688},"  // جلب المستخدم من قاعدة البيانات\n",[2008,12389,12390,12392],{"class":2528,"line":2551},[2008,12391,2790],{"class":2789},[2008,12393,2703],{"class":2702},[2008,12395,12396,12399],{"class":2528,"line":2557},[2008,12397,12398],{"class":2801},"    id",[2008,12400,4521],{"class":2702},[2008,12402,12403,12406,12409],{"class":2528,"line":2563},[2008,12404,12405],{"class":2801},"    name:",[2008,12407,12408],{"class":2811}," 'John Doe'",[2008,12410,4521],{"class":2702},[2008,12412,12413,12416],{"class":2528,"line":2568},[2008,12414,12415],{"class":2801},"    email:",[2008,12417,12418],{"class":2811}," 'john@example.com'\n",[2008,12420,12421],{"class":2528,"line":2574},[2008,12422,4446],{"class":2702},[2008,12424,12425],{"class":2528,"line":1467},[2008,12426,4569],{"class":2702},[209,12428,12430],{"id":12429},"_6-الوظائف","6. الوظائف",[12,12432,12433],{},"الوظائف هي وظائف قابلة لإعادة الاستخدام تغلف منطق تفاعلي:",[12,12435,12436],{},[174,12437,12438],{},"composables/useCounter.ts",[577,12440,12442],{"className":2679,"code":12441,"language":2681,"meta":42,"style":42},"export const useCounter = (initialValue = 0) => {\n  const count = ref(initialValue)\n  \n  const increment = () => count.value++\n  const decrement = () => count.value--\n  const reset = () => count.value = initialValue\n  \n  return {\n    count: readonly(count),\n    increment,\n    decrement,\n    reset\n  }\n}\n",[584,12443,12444,12470,12486,12490,12510,12530,12553,12557,12563,12577,12583,12589,12593,12597],{"__ignoreMap":42},[2008,12445,12446,12448,12450,12452,12454,12456,12459,12461,12464,12466,12468],{"class":2528,"line":2529},[2008,12447,4310],{"class":2789},[2008,12449,4313],{"class":2694},[2008,12451,7186],{"class":2760},[2008,12453,3894],{"class":2712},[2008,12455,5381],{"class":2702},[2008,12457,12458],{"class":2708},"initialValue",[2008,12460,3894],{"class":2712},[2008,12462,12463],{"class":3903}," 0",[2008,12465,4011],{"class":2702},[2008,12467,3965],{"class":2694},[2008,12469,2703],{"class":2702},[2008,12471,12472,12474,12476,12478,12480,12482,12484],{"class":2528,"line":46},[2008,12473,4343],{"class":2694},[2008,12475,3891],{"class":3890},[2008,12477,3894],{"class":2712},[2008,12479,3897],{"class":2760},[2008,12481,3900],{"class":2702},[2008,12483,12458],{"class":2801},[2008,12485,3160],{"class":2702},[2008,12487,12488],{"class":2528,"line":43},[2008,12489,12382],{"class":2702},[2008,12491,12492,12494,12496,12498,12500,12502,12504,12506,12508],{"class":2528,"line":2545},[2008,12493,4343],{"class":2694},[2008,12495,4426],{"class":2760},[2008,12497,3894],{"class":2712},[2008,12499,6290],{"class":2702},[2008,12501,3965],{"class":2694},[2008,12503,3891],{"class":2801},[2008,12505,181],{"class":2702},[2008,12507,3972],{"class":2801},[2008,12509,4441],{"class":2712},[2008,12511,12512,12514,12516,12518,12520,12522,12524,12526,12528],{"class":2528,"line":2551},[2008,12513,4343],{"class":2694},[2008,12515,4457],{"class":2760},[2008,12517,3894],{"class":2712},[2008,12519,6290],{"class":2702},[2008,12521,3965],{"class":2694},[2008,12523,3891],{"class":2801},[2008,12525,181],{"class":2702},[2008,12527,3972],{"class":2801},[2008,12529,4470],{"class":2712},[2008,12531,12532,12534,12536,12538,12540,12542,12544,12546,12548,12550],{"class":2528,"line":2557},[2008,12533,4343],{"class":2694},[2008,12535,4485],{"class":2760},[2008,12537,3894],{"class":2712},[2008,12539,6290],{"class":2702},[2008,12541,3965],{"class":2694},[2008,12543,3891],{"class":2801},[2008,12545,181],{"class":2702},[2008,12547,3972],{"class":2801},[2008,12549,3894],{"class":2712},[2008,12551,12552],{"class":2801}," initialValue\n",[2008,12554,12555],{"class":2528,"line":2563},[2008,12556,12382],{"class":2702},[2008,12558,12559,12561],{"class":2528,"line":2568},[2008,12560,2790],{"class":2789},[2008,12562,2703],{"class":2702},[2008,12564,12565,12568,12571,12573,12575],{"class":2528,"line":2574},[2008,12566,12567],{"class":2801},"    count:",[2008,12569,12570],{"class":2760}," readonly",[2008,12572,3900],{"class":2702},[2008,12574,2013],{"class":2801},[2008,12576,7858],{"class":2702},[2008,12578,12579,12581],{"class":2528,"line":1467},[2008,12580,4542],{"class":2801},[2008,12582,4521],{"class":2702},[2008,12584,12585,12587],{"class":2528,"line":2818},[2008,12586,4550],{"class":2801},[2008,12588,4521],{"class":2702},[2008,12590,12591],{"class":2528,"line":2842},[2008,12592,4558],{"class":2801},[2008,12594,12595],{"class":2528,"line":2862},[2008,12596,4446],{"class":2702},[2008,12598,12599],{"class":2528,"line":2119},[2008,12600,2748],{"class":2702},[12,12602,12603],{},"استخدمها في أي مكان:",[577,12605,12607],{"className":3808,"code":12606,"language":3810,"meta":42,"style":42},"\u003Cscript setup>\nconst { count, increment, decrement } = useCounter(10)\n\u003C/script>\n\n\u003Ctemplate>\n  \u003Cdiv>\n    \u003Cp>العدد: {{ count }}\u003C/p>\n    \u003Cbutton @click=\"increment\">+\u003C/button>\n    \u003Cbutton @click=\"decrement\">-\u003C/button>\n  \u003C/div>\n\u003C/template>\n",[584,12608,12609,12619,12648,12656,12660,12668,12676,12697,12725,12753,12761],{"__ignoreMap":42},[2008,12610,12611,12613,12615,12617],{"class":2528,"line":2529},[2008,12612,3818],{"class":3817},[2008,12614,3822],{"class":3821},[2008,12616,3826],{"class":3825},[2008,12618,2815],{"class":3817},[2008,12620,12621,12623,12625,12627,12629,12631,12633,12635,12637,12639,12641,12643,12646],{"class":2528,"line":46},[2008,12622,3887],{"class":2694},[2008,12624,2775],{"class":2702},[2008,12626,2013],{"class":3890},[2008,12628,3848],{"class":2702},[2008,12630,4728],{"class":3890},[2008,12632,3848],{"class":2702},[2008,12634,4762],{"class":3890},[2008,12636,3865],{"class":2702},[2008,12638,2808],{"class":2712},[2008,12640,7186],{"class":2760},[2008,12642,3900],{"class":2702},[2008,12644,12645],{"class":3903},"10",[2008,12647,3160],{"class":2702},[2008,12649,12650,12652,12654],{"class":2528,"line":43},[2008,12651,2835],{"class":3817},[2008,12653,3822],{"class":3821},[2008,12655,2815],{"class":3817},[2008,12657,12658],{"class":2528,"line":2545},[2008,12659,2548],{"emptyLinePlaceholder":54},[2008,12661,12662,12664,12666],{"class":2528,"line":2551},[2008,12663,3818],{"class":3817},[2008,12665,4130],{"class":3821},[2008,12667,2815],{"class":3817},[2008,12669,12670,12672,12674],{"class":2528,"line":2557},[2008,12671,4138],{"class":3817},[2008,12673,2802],{"class":3821},[2008,12675,2815],{"class":3817},[2008,12677,12678,12680,12682,12684,12687,12689,12691,12693,12695],{"class":2528,"line":2563},[2008,12679,2798],{"class":3817},[2008,12681,12],{"class":3821},[2008,12683,4152],{"class":3817},[2008,12685,12686],{"class":2702},"العدد: {{ ",[2008,12688,2013],{"class":2801},[2008,12690,4160],{"class":2702},[2008,12692,2835],{"class":3817},[2008,12694,12],{"class":3821},[2008,12696,2815],{"class":3817},[2008,12698,12699,12701,12703,12705,12707,12709,12711,12713,12715,12717,12719,12721,12723],{"class":2528,"line":2568},[2008,12700,2798],{"class":3817},[2008,12702,4197],{"class":3821},[2008,12704,4200],{"class":2702},[2008,12706,4203],{"class":3825},[2008,12708,2808],{"class":2702},[2008,12710,4208],{"class":4096},[2008,12712,4728],{"class":2801},[2008,12714,4208],{"class":4096},[2008,12716,4152],{"class":3817},[2008,12718,4735],{"class":2702},[2008,12720,2835],{"class":3817},[2008,12722,4197],{"class":3821},[2008,12724,2815],{"class":3817},[2008,12726,12727,12729,12731,12733,12735,12737,12739,12741,12743,12745,12747,12749,12751],{"class":2528,"line":2574},[2008,12728,2798],{"class":3817},[2008,12730,4197],{"class":3821},[2008,12732,4200],{"class":2702},[2008,12734,4203],{"class":3825},[2008,12736,2808],{"class":2702},[2008,12738,4208],{"class":4096},[2008,12740,4762],{"class":2801},[2008,12742,4208],{"class":4096},[2008,12744,4152],{"class":3817},[2008,12746,4769],{"class":2702},[2008,12748,2835],{"class":3817},[2008,12750,4197],{"class":3821},[2008,12752,2815],{"class":3817},[2008,12754,12755,12757,12759],{"class":2528,"line":1467},[2008,12756,4232],{"class":3817},[2008,12758,2802],{"class":3821},[2008,12760,2815],{"class":3817},[2008,12762,12763,12765,12767],{"class":2528,"line":2818},[2008,12764,2835],{"class":3817},[2008,12766,4130],{"class":3821},[2008,12768,2815],{"class":3817},[16,12770,12772],{"id":12771},"وحدات-nuxt-الأساسية","وحدات Nuxt الأساسية",[12,12774,12775],{},"وسع Nuxt بوحدات رسمية ومجتمعية:",[209,12777,12779],{"id":12778},"tailwind-css","Tailwind CSS",[577,12781,12783],{"className":10709,"code":12782,"language":10711,"meta":42,"style":42},"npm install @nuxtjs/tailwindcss\n",[584,12784,12785],{"__ignoreMap":42},[2008,12786,12787,12789,12792],{"class":2528,"line":2529},[2008,12788,10779],{"class":2760},[2008,12790,12791],{"class":2811}," install",[2008,12793,12794],{"class":2811}," @nuxtjs/tailwindcss\n",[12,12796,12797],{},[174,12798,12799],{},"nuxt.config.ts",[577,12801,12803],{"className":2679,"code":12802,"language":2681,"meta":42,"style":42},"export default defineNuxtConfig({\n  modules: ['@nuxtjs/tailwindcss']\n})\n",[584,12804,12805,12816,12828],{"__ignoreMap":42},[2008,12806,12807,12809,12811,12814],{"class":2528,"line":2529},[2008,12808,4310],{"class":2789},[2008,12810,7987],{"class":2789},[2008,12812,12813],{"class":2760}," defineNuxtConfig",[2008,12815,7993],{"class":2702},[2008,12817,12818,12821,12823,12826],{"class":2528,"line":46},[2008,12819,12820],{"class":2801},"  modules:",[2008,12822,4968],{"class":2702},[2008,12824,12825],{"class":2811},"'@nuxtjs/tailwindcss'",[2008,12827,4980],{"class":2702},[2008,12829,12830],{"class":2528,"line":43},[2008,12831,4569],{"class":2702},[209,12833,12835],{"id":12834},"nuxt-content-للمدوناتالوثائق","Nuxt Content (للمدونات/الوثائق)",[577,12837,12839],{"className":10709,"code":12838,"language":10711,"meta":42,"style":42},"npm install @nuxt/content\n",[584,12840,12841],{"__ignoreMap":42},[2008,12842,12843,12845,12847],{"class":2528,"line":2529},[2008,12844,10779],{"class":2760},[2008,12846,12791],{"class":2811},[2008,12848,12849],{"class":2811}," @nuxt/content\n",[12,12851,12852],{},"رائع للمحتوى المبني على markdown:",[577,12854,12856],{"className":3808,"code":12855,"language":3810,"meta":42,"style":42},"\u003Cscript setup>\nconst { data: article } = await useAsyncData('article', () => \n  queryContent('/blog/my-post').findOne()\n)\n\u003C/script>\n\n\u003Ctemplate>\n  \u003CContentDoc :value=\"article\" />\n\u003C/template>\n",[584,12857,12858,12868,12899,12916,12920,12928,12932,12940,12962],{"__ignoreMap":42},[2008,12859,12860,12862,12864,12866],{"class":2528,"line":2529},[2008,12861,3818],{"class":3817},[2008,12863,3822],{"class":3821},[2008,12865,3826],{"class":3825},[2008,12867,2815],{"class":3817},[2008,12869,12870,12872,12874,12876,12878,12880,12882,12884,12886,12888,12890,12893,12895,12897],{"class":2528,"line":46},[2008,12871,3887],{"class":2694},[2008,12873,2775],{"class":2702},[2008,12875,8457],{"class":2708},[2008,12877,4974],{"class":2702},[2008,12879,11081],{"class":3890},[2008,12881,3865],{"class":2702},[2008,12883,2808],{"class":2712},[2008,12885,7747],{"class":2789},[2008,12887,7583],{"class":2760},[2008,12889,3900],{"class":2702},[2008,12891,12892],{"class":2811},"'article'",[2008,12894,4329],{"class":2702},[2008,12896,3965],{"class":2694},[2008,12898,8557],{"class":2702},[2008,12900,12901,12904,12906,12909,12911,12914],{"class":2528,"line":43},[2008,12902,12903],{"class":2760},"  queryContent",[2008,12905,3900],{"class":2702},[2008,12907,12908],{"class":2811},"'/blog/my-post'",[2008,12910,7217],{"class":2702},[2008,12912,12913],{"class":2760},"findOne",[2008,12915,4628],{"class":2702},[2008,12917,12918],{"class":2528,"line":2545},[2008,12919,3160],{"class":2702},[2008,12921,12922,12924,12926],{"class":2528,"line":2551},[2008,12923,2835],{"class":3817},[2008,12925,3822],{"class":3821},[2008,12927,2815],{"class":3817},[2008,12929,12930],{"class":2528,"line":2557},[2008,12931,2548],{"emptyLinePlaceholder":54},[2008,12933,12934,12936,12938],{"class":2528,"line":2563},[2008,12935,3818],{"class":3817},[2008,12937,4130],{"class":3821},[2008,12939,2815],{"class":3817},[2008,12941,12942,12944,12947,12949,12951,12953,12955,12957,12959],{"class":2528,"line":2568},[2008,12943,4138],{"class":3817},[2008,12945,12946],{"class":3821},"ContentDoc",[2008,12948,5543],{"class":2702},[2008,12950,3972],{"class":3825},[2008,12952,2808],{"class":2702},[2008,12954,4208],{"class":4096},[2008,12956,11081],{"class":2801},[2008,12958,4208],{"class":4096},[2008,12960,12961],{"class":3817}," />\n",[2008,12963,12964,12966,12968],{"class":2528,"line":2574},[2008,12965,2835],{"class":3817},[2008,12967,4130],{"class":3821},[2008,12969,2815],{"class":3817},[209,12971,12973],{"id":12972},"nuxt-image","Nuxt Image",[577,12975,12977],{"className":10709,"code":12976,"language":10711,"meta":42,"style":42},"npm install @nuxt/image\n",[584,12978,12979],{"__ignoreMap":42},[2008,12980,12981,12983,12985],{"class":2528,"line":2529},[2008,12982,10779],{"class":2760},[2008,12984,12791],{"class":2811},[2008,12986,12987],{"class":2811}," @nuxt/image\n",[12,12989,12990],{},"تحسين الصور التلقائي:",[577,12992,12994],{"className":3808,"code":12993,"language":3810,"meta":42,"style":42},"\u003Ctemplate>\n  \u003CNuxtImg src=\"/photo.jpg\" width=\"400\" height=\"300\" />\n\u003C/template>\n",[584,12995,12996,13004,13037],{"__ignoreMap":42},[2008,12997,12998,13000,13002],{"class":2528,"line":2529},[2008,12999,3818],{"class":3817},[2008,13001,4130],{"class":3821},[2008,13003,2815],{"class":3817},[2008,13005,13006,13008,13011,13014,13016,13019,13022,13024,13027,13030,13032,13035],{"class":2528,"line":46},[2008,13007,4138],{"class":3817},[2008,13009,13010],{"class":3821},"NuxtImg",[2008,13012,13013],{"class":3825}," src",[2008,13015,2808],{"class":2702},[2008,13017,13018],{"class":2811},"\"/photo.jpg\"",[2008,13020,13021],{"class":3825}," width",[2008,13023,2808],{"class":2702},[2008,13025,13026],{"class":2811},"\"400\"",[2008,13028,13029],{"class":3825}," height",[2008,13031,2808],{"class":2702},[2008,13033,13034],{"class":2811},"\"300\"",[2008,13036,12961],{"class":3817},[2008,13038,13039,13041,13043],{"class":2528,"line":43},[2008,13040,2835],{"class":3817},[2008,13042,4130],{"class":3821},[2008,13044,2815],{"class":3817},[16,13046,13048],{"id":13047},"البناء-والنشر","البناء والنشر",[209,13050,2123],{"id":2123},[577,13052,13054],{"className":10709,"code":13053,"language":10711,"meta":42,"style":42},"npm run dev\n",[584,13055,13056],{"__ignoreMap":42},[2008,13057,13058,13060,13062],{"class":2528,"line":2529},[2008,13059,10779],{"class":2760},[2008,13061,10789],{"class":2811},[2008,13063,10792],{"class":2811},[209,13065,13067],{"id":13066},"بناء-الإنتاج","بناء الإنتاج",[577,13069,13071],{"className":10709,"code":13070,"language":10711,"meta":42,"style":42},"npm run build\n",[584,13072,13073],{"__ignoreMap":42},[2008,13074,13075,13077,13079],{"class":2528,"line":2529},[2008,13076,10779],{"class":2760},[2008,13078,10789],{"class":2811},[2008,13080,13081],{"class":2811}," build\n",[12,13083,13084,13085],{},"ينشئ بناء محسن في ",[584,13086,13087],{},".output",[209,13089,13091],{"id":13090},"معاينة-بناء-الإنتاج","معاينة بناء الإنتاج",[577,13093,13095],{"className":10709,"code":13094,"language":10711,"meta":42,"style":42},"npm run preview\n",[584,13096,13097],{"__ignoreMap":42},[2008,13098,13099,13101,13103],{"class":2528,"line":2529},[2008,13100,10779],{"class":2760},[2008,13102,10789],{"class":2811},[2008,13104,13105],{"class":2811}," preview\n",[209,13107,13109],{"id":13108},"التوليد-الثابت","التوليد الثابت",[12,13111,13112],{},"للمواقع الثابتة تماماً:",[577,13114,13116],{"className":10709,"code":13115,"language":10711,"meta":42,"style":42},"npm run generate\n",[584,13117,13118],{"__ignoreMap":42},[2008,13119,13120,13122,13124],{"class":2528,"line":2529},[2008,13121,10779],{"class":2760},[2008,13123,10789],{"class":2811},[2008,13125,13126],{"class":2811}," generate\n",[209,13128,13130],{"id":13129},"منصات-النشر","منصات النشر",[12,13132,13133],{},"يعمل Nuxt في كل مكان:",[12,13135,13136],{},[174,13137,13138],{},"Vercel:",[577,13140,13142],{"className":10709,"code":13141,"language":10711,"meta":42,"style":42},"npm run build\n# نشر مع Vercel CLI أو ربط مستودع git\n",[584,13143,13144,13152],{"__ignoreMap":42},[2008,13145,13146,13148,13150],{"class":2528,"line":2529},[2008,13147,10779],{"class":2760},[2008,13149,10789],{"class":2811},[2008,13151,13081],{"class":2811},[2008,13153,13154],{"class":2528,"line":46},[2008,13155,13156],{"class":2688},"# نشر مع Vercel CLI أو ربط مستودع git\n",[12,13158,13159],{},[174,13160,13161],{},"Netlify:",[577,13163,13165],{"className":10709,"code":13164,"language":10711,"meta":42,"style":42},"npm run generate  # للثابت\n# أو\nnpm run build     # للـ SSR\n",[584,13166,13167,13179,13184],{"__ignoreMap":42},[2008,13168,13169,13171,13173,13176],{"class":2528,"line":2529},[2008,13170,10779],{"class":2760},[2008,13172,10789],{"class":2811},[2008,13174,13175],{"class":2811}," generate",[2008,13177,13178],{"class":2688},"  # للثابت\n",[2008,13180,13181],{"class":2528,"line":46},[2008,13182,13183],{"class":2688},"# أو\n",[2008,13185,13186,13188,13190,13193],{"class":2528,"line":43},[2008,13187,10779],{"class":2760},[2008,13189,10789],{"class":2811},[2008,13191,13192],{"class":2811}," build",[2008,13194,13195],{"class":2688},"     # للـ SSR\n",[12,13197,13198,13201,13202],{},[174,13199,13200],{},"Cloudflare Pages:","\nنشر تلقائي من git مع أمر البناء: ",[584,13203,13204],{},"npm run build",[12,13206,13207],{},[174,13208,13209],{},"خادمك الخاص:",[577,13211,13213],{"className":10709,"code":13212,"language":10711,"meta":42,"style":42},"npm run build\nnode .output/server/index.mjs\n",[584,13214,13215,13223],{"__ignoreMap":42},[2008,13216,13217,13219,13221],{"class":2528,"line":2529},[2008,13218,10779],{"class":2760},[2008,13220,10789],{"class":2811},[2008,13222,13081],{"class":2811},[2008,13224,13225,13227],{"class":2528,"line":46},[2008,13226,10718],{"class":2760},[2008,13228,13229],{"class":2811}," .output/server/index.mjs\n",[16,13231,13232],{"id":3688},"أفضل الممارسات",[209,13234,13236],{"id":13235},"_1-استخدم-typescript","1. استخدم TypeScript",[12,13238,13239],{},"فعل الوضع الصارم لأمان نوع أفضل:",[577,13241,13243],{"className":2679,"code":13242,"language":2681,"meta":42,"style":42},"// nuxt.config.ts\nexport default defineNuxtConfig({\n  typescript: {\n    strict: true,\n    typeCheck: true\n  }\n})\n",[584,13244,13245,13250,13260,13267,13276,13283,13287],{"__ignoreMap":42},[2008,13246,13247],{"class":2528,"line":2529},[2008,13248,13249],{"class":2688},"// nuxt.config.ts\n",[2008,13251,13252,13254,13256,13258],{"class":2528,"line":46},[2008,13253,4310],{"class":2789},[2008,13255,7987],{"class":2789},[2008,13257,12813],{"class":2760},[2008,13259,7993],{"class":2702},[2008,13261,13262,13265],{"class":2528,"line":43},[2008,13263,13264],{"class":2801},"  typescript:",[2008,13266,2703],{"class":2702},[2008,13268,13269,13272,13274],{"class":2528,"line":2545},[2008,13270,13271],{"class":2801},"    strict:",[2008,13273,5859],{"class":5858},[2008,13275,4521],{"class":2702},[2008,13277,13278,13281],{"class":2528,"line":2551},[2008,13279,13280],{"class":2801},"    typeCheck:",[2008,13282,7709],{"class":5858},[2008,13284,13285],{"class":2528,"line":2557},[2008,13286,4446],{"class":2702},[2008,13288,13289],{"class":2528,"line":2563},[2008,13290,4569],{"class":2702},[209,13292,13294],{"id":13293},"_2-حسين-الصور","2. حسين الصور",[12,13296,13297,13298,13301,13302,13305],{},"استخدم دائماً ",[584,13299,13300],{},"\u003CNuxtImg>"," أو ",[584,13303,13304],{},"\u003CNuxtPicture>"," للتحسين التلقائي.",[209,13307,13309],{"id":13308},"_3-معالجة-الأخطاء","3. معالجة الأخطاء",[12,13311,13312],{},"أنشئ صفحة خطأ مخصصة:",[12,13314,13315],{},[174,13316,13317],{},"error.vue",[577,13319,13321],{"className":3808,"code":13320,"language":3810,"meta":42,"style":42},"\u003Cscript setup>\nconst props = defineProps\u003C{\n  error: {\n    statusCode: number\n    message: string\n  }\n}>()\n\nconst handleError = () => clearError({ redirect: '/' })\n\u003C/script>\n\n\u003Ctemplate>\n  \u003Cdiv>\n    \u003Ch1>{{ error.statusCode }}\u003C/h1>\n    \u003Cp>{{ error.message }}\u003C/p>\n    \u003Cbutton @click=\"handleError\">العودة للرئيسية\u003C/button>\n  \u003C/div>\n\u003C/template>\n",[584,13322,13323,13333,13345,13353,13362,13371,13375,13379,13383,13408,13416,13420,13428,13436,13461,13485,13515,13523],{"__ignoreMap":42},[2008,13324,13325,13327,13329,13331],{"class":2528,"line":2529},[2008,13326,3818],{"class":3817},[2008,13328,3822],{"class":3821},[2008,13330,3826],{"class":3825},[2008,13332,2815],{"class":3817},[2008,13334,13335,13337,13339,13341,13343],{"class":2528,"line":46},[2008,13336,3887],{"class":2694},[2008,13338,4930],{"class":3890},[2008,13340,3894],{"class":2712},[2008,13342,4935],{"class":2760},[2008,13344,4958],{"class":2702},[2008,13346,13347,13349,13351],{"class":2528,"line":43},[2008,13348,4910],{"class":2708},[2008,13350,2713],{"class":2712},[2008,13352,2703],{"class":2702},[2008,13354,13355,13358,13360],{"class":2528,"line":2545},[2008,13356,13357],{"class":2708},"    statusCode",[2008,13359,2713],{"class":2712},[2008,13361,6398],{"class":2716},[2008,13363,13364,13367,13369],{"class":2528,"line":2551},[2008,13365,13366],{"class":2708},"    message",[2008,13368,2713],{"class":2712},[2008,13370,4896],{"class":2716},[2008,13372,13373],{"class":2528,"line":2557},[2008,13374,4446],{"class":2702},[2008,13376,13377],{"class":2528,"line":2563},[2008,13378,4985],{"class":2702},[2008,13380,13381],{"class":2528,"line":2568},[2008,13382,2548],{"emptyLinePlaceholder":54},[2008,13384,13385,13387,13389,13391,13393,13395,13398,13400,13403,13406],{"class":2528,"line":2574},[2008,13386,3887],{"class":2694},[2008,13388,7348],{"class":2760},[2008,13390,3894],{"class":2712},[2008,13392,6290],{"class":2702},[2008,13394,3965],{"class":2694},[2008,13396,13397],{"class":2760}," clearError",[2008,13399,2764],{"class":2702},[2008,13401,13402],{"class":2801},"redirect:",[2008,13404,13405],{"class":2811}," '/'",[2008,13407,5862],{"class":2702},[2008,13409,13410,13412,13414],{"class":2528,"line":1467},[2008,13411,2835],{"class":3817},[2008,13413,3822],{"class":3821},[2008,13415,2815],{"class":3817},[2008,13417,13418],{"class":2528,"line":2818},[2008,13419,2548],{"emptyLinePlaceholder":54},[2008,13421,13422,13424,13426],{"class":2528,"line":2842},[2008,13423,3818],{"class":3817},[2008,13425,4130],{"class":3821},[2008,13427,2815],{"class":3817},[2008,13429,13430,13432,13434],{"class":2528,"line":2862},[2008,13431,4138],{"class":3817},[2008,13433,2802],{"class":3821},[2008,13435,2815],{"class":3817},[2008,13437,13438,13440,13442,13444,13446,13448,13450,13453,13455,13457,13459],{"class":2528,"line":2119},[2008,13439,2798],{"class":3817},[2008,13441,10899],{"class":3821},[2008,13443,4152],{"class":3817},[2008,13445,7461],{"class":2702},[2008,13447,5025],{"class":2801},[2008,13449,181],{"class":2702},[2008,13451,13452],{"class":2801},"statusCode",[2008,13454,4160],{"class":2702},[2008,13456,2835],{"class":3817},[2008,13458,10899],{"class":3821},[2008,13460,2815],{"class":3817},[2008,13462,13463,13465,13467,13469,13471,13473,13475,13477,13479,13481,13483],{"class":2528,"line":2035},[2008,13464,2798],{"class":3817},[2008,13466,12],{"class":3821},[2008,13468,4152],{"class":3817},[2008,13470,7461],{"class":2702},[2008,13472,5025],{"class":2801},[2008,13474,181],{"class":2702},[2008,13476,7468],{"class":2801},[2008,13478,4160],{"class":2702},[2008,13480,2835],{"class":3817},[2008,13482,12],{"class":3821},[2008,13484,2815],{"class":3817},[2008,13486,13487,13489,13491,13493,13495,13497,13499,13502,13504,13506,13509,13511,13513],{"class":2528,"line":3038},[2008,13488,2798],{"class":3817},[2008,13490,4197],{"class":3821},[2008,13492,4200],{"class":2702},[2008,13494,4203],{"class":3825},[2008,13496,2808],{"class":2702},[2008,13498,4208],{"class":4096},[2008,13500,13501],{"class":2801},"handleError",[2008,13503,4208],{"class":4096},[2008,13505,4152],{"class":3817},[2008,13507,13508],{"class":2702},"العودة للرئيسية",[2008,13510,2835],{"class":3817},[2008,13512,4197],{"class":3821},[2008,13514,2815],{"class":3817},[2008,13516,13517,13519,13521],{"class":2528,"line":3044},[2008,13518,4232],{"class":3817},[2008,13520,2802],{"class":3821},[2008,13522,2815],{"class":3817},[2008,13524,13525,13527,13529],{"class":2528,"line":2380},[2008,13526,2835],{"class":3817},[2008,13528,4130],{"class":3821},[2008,13530,2815],{"class":3817},[209,13532,13534],{"id":13533},"_4-تحسين-seo","4. تحسين SEO",[12,13536,13537,13538,13541],{},"استخدم ",[584,13539,13540],{},"useSeoMeta"," لـ SEO أفضل:",[577,13543,13545],{"className":3808,"code":13544,"language":3810,"meta":42,"style":42},"\u003Cscript setup>\nuseSeoMeta({\n  title: 'صفحتي الرائعة',\n  description: 'هذه الصفحة رائعة',\n  ogImage: 'https://example.com/image.jpg',\n  twitterCard: 'summary_large_image'\n})\n\u003C/script>\n",[584,13546,13547,13557,13563,13572,13582,13592,13600,13604],{"__ignoreMap":42},[2008,13548,13549,13551,13553,13555],{"class":2528,"line":2529},[2008,13550,3818],{"class":3817},[2008,13552,3822],{"class":3821},[2008,13554,3826],{"class":3825},[2008,13556,2815],{"class":3817},[2008,13558,13559,13561],{"class":2528,"line":46},[2008,13560,13540],{"class":2760},[2008,13562,7993],{"class":2702},[2008,13564,13565,13567,13570],{"class":2528,"line":43},[2008,13566,10857],{"class":2801},[2008,13568,13569],{"class":2811}," 'صفحتي الرائعة'",[2008,13571,4521],{"class":2702},[2008,13573,13574,13577,13580],{"class":2528,"line":2545},[2008,13575,13576],{"class":2801},"  description:",[2008,13578,13579],{"class":2811}," 'هذه الصفحة رائعة'",[2008,13581,4521],{"class":2702},[2008,13583,13584,13587,13590],{"class":2528,"line":2551},[2008,13585,13586],{"class":2801},"  ogImage:",[2008,13588,13589],{"class":2811}," 'https://example.com/image.jpg'",[2008,13591,4521],{"class":2702},[2008,13593,13594,13597],{"class":2528,"line":2557},[2008,13595,13596],{"class":2801},"  twitterCard:",[2008,13598,13599],{"class":2811}," 'summary_large_image'\n",[2008,13601,13602],{"class":2528,"line":2563},[2008,13603,4569],{"class":2702},[2008,13605,13606,13608,13610],{"class":2528,"line":2568},[2008,13607,2835],{"class":3817},[2008,13609,3822],{"class":3821},[2008,13611,2815],{"class":3817},[209,13613,13615],{"id":13614},"_5-الأداء","5. الأداء",[186,13617,13618,13624,13627,13633],{},[189,13619,13537,13620,13623],{},[584,13621,13622],{},"useLazyFetch"," للبيانات غير الحساسة",[189,13625,13626],{},"طبق ترقيم الصفحات لمجموعات البيانات الكبيرة",[189,13628,13537,13629,13632],{},[584,13630,13631],{},"\u003CClientOnly>"," للمكونات التي لا تحتاج SSR",[189,13634,13635],{},"قم بتحميل الصور والمكونات الثقيلة بطريقة lazy",[16,13637,13639],{"id":13638},"الأنماط-الشائعة","الأنماط الشائعة",[209,13641,13642],{"id":13642},"المصادقة",[577,13644,13646],{"className":2679,"code":13645,"language":2681,"meta":42,"style":42},"// composables/useAuth.ts\nexport const useAuth = () => {\n  const user = useState('user', () => null)\n  \n  const login = async (credentials) => {\n    const data = await $fetch('/api/auth/login', {\n      method: 'POST',\n      body: credentials\n    })\n    user.value = data.user\n  }\n  \n  const logout = () => {\n    user.value = null\n  }\n  \n  return { user, login, logout }\n}\n",[584,13647,13648,13653,13670,13693,13697,13719,13738,13748,13756,13761,13779,13783,13787,13802,13814,13818,13822,13842],{"__ignoreMap":42},[2008,13649,13650],{"class":2528,"line":2529},[2008,13651,13652],{"class":2688},"// composables/useAuth.ts\n",[2008,13654,13655,13657,13659,13662,13664,13666,13668],{"class":2528,"line":46},[2008,13656,4310],{"class":2789},[2008,13658,4313],{"class":2694},[2008,13660,13661],{"class":2760}," useAuth",[2008,13663,3894],{"class":2712},[2008,13665,6290],{"class":2702},[2008,13667,3965],{"class":2694},[2008,13669,2703],{"class":2702},[2008,13671,13672,13674,13676,13678,13681,13683,13685,13687,13689,13691],{"class":2528,"line":43},[2008,13673,4343],{"class":2694},[2008,13675,3914],{"class":3890},[2008,13677,3894],{"class":2712},[2008,13679,13680],{"class":2760}," useState",[2008,13682,3900],{"class":2702},[2008,13684,6673],{"class":2811},[2008,13686,4329],{"class":2702},[2008,13688,3965],{"class":2694},[2008,13690,6701],{"class":5858},[2008,13692,3160],{"class":2702},[2008,13694,13695],{"class":2528,"line":2545},[2008,13696,12382],{"class":2702},[2008,13698,13699,13701,13704,13706,13708,13710,13713,13715,13717],{"class":2528,"line":2551},[2008,13700,4343],{"class":2694},[2008,13702,13703],{"class":2760}," login",[2008,13705,3894],{"class":2712},[2008,13707,6287],{"class":2694},[2008,13709,5381],{"class":2702},[2008,13711,13712],{"class":2708},"credentials",[2008,13714,4011],{"class":2702},[2008,13716,3965],{"class":2694},[2008,13718,2703],{"class":2702},[2008,13720,13721,13723,13725,13727,13729,13731,13733,13736],{"class":2528,"line":2557},[2008,13722,6981],{"class":2694},[2008,13724,6120],{"class":3890},[2008,13726,3894],{"class":2712},[2008,13728,7747],{"class":2789},[2008,13730,12036],{"class":2760},[2008,13732,3900],{"class":2702},[2008,13734,13735],{"class":2811},"'/api/auth/login'",[2008,13737,12044],{"class":2702},[2008,13739,13740,13743,13746],{"class":2528,"line":2563},[2008,13741,13742],{"class":2801},"      method:",[2008,13744,13745],{"class":2811}," 'POST'",[2008,13747,4521],{"class":2702},[2008,13749,13750,13753],{"class":2528,"line":2568},[2008,13751,13752],{"class":2801},"      body:",[2008,13754,13755],{"class":2801}," credentials\n",[2008,13757,13758],{"class":2528,"line":2574},[2008,13759,13760],{"class":2702},"    })\n",[2008,13762,13763,13766,13768,13770,13772,13774,13776],{"class":2528,"line":1467},[2008,13764,13765],{"class":2801},"    user",[2008,13767,181],{"class":2702},[2008,13769,3972],{"class":2801},[2008,13771,3894],{"class":2712},[2008,13773,6120],{"class":2801},[2008,13775,181],{"class":2702},[2008,13777,13778],{"class":2801},"user\n",[2008,13780,13781],{"class":2528,"line":2818},[2008,13782,4446],{"class":2702},[2008,13784,13785],{"class":2528,"line":2842},[2008,13786,12382],{"class":2702},[2008,13788,13789,13791,13794,13796,13798,13800],{"class":2528,"line":2862},[2008,13790,4343],{"class":2694},[2008,13792,13793],{"class":2760}," logout",[2008,13795,3894],{"class":2712},[2008,13797,6290],{"class":2702},[2008,13799,3965],{"class":2694},[2008,13801,2703],{"class":2702},[2008,13803,13804,13806,13808,13810,13812],{"class":2528,"line":2119},[2008,13805,13765],{"class":2801},[2008,13807,181],{"class":2702},[2008,13809,3972],{"class":2801},[2008,13811,3894],{"class":2712},[2008,13813,7723],{"class":5858},[2008,13815,13816],{"class":2528,"line":2035},[2008,13817,4446],{"class":2702},[2008,13819,13820],{"class":2528,"line":3038},[2008,13821,12382],{"class":2702},[2008,13823,13824,13826,13828,13830,13832,13835,13837,13840],{"class":2528,"line":3044},[2008,13825,2790],{"class":2789},[2008,13827,2775],{"class":2702},[2008,13829,2767],{"class":2801},[2008,13831,3848],{"class":2702},[2008,13833,13834],{"class":2801},"login",[2008,13836,3848],{"class":2702},[2008,13838,13839],{"class":2801},"logout",[2008,13841,12060],{"class":2702},[2008,13843,13844],{"class":2528,"line":2380},[2008,13845,2748],{"class":2702},[209,13847,13849],{"id":13848},"المسارات-المحمية","المسارات المحمية",[577,13851,13853],{"className":2679,"code":13852,"language":2681,"meta":42,"style":42},"// middleware/auth.ts\nexport default defineNuxtRouteMiddleware((to, from) => {\n  const { user } = useAuth()\n  \n  if (!user.value) {\n    return navigateTo('/login')\n  }\n})\n",[584,13854,13855,13860,13884,13900,13904,13921,13936,13940],{"__ignoreMap":42},[2008,13856,13857],{"class":2528,"line":2529},[2008,13858,13859],{"class":2688},"// middleware/auth.ts\n",[2008,13861,13862,13864,13866,13869,13871,13874,13876,13878,13880,13882],{"class":2528,"line":46},[2008,13863,4310],{"class":2789},[2008,13865,7987],{"class":2789},[2008,13867,13868],{"class":2760}," defineNuxtRouteMiddleware",[2008,13870,12346],{"class":2702},[2008,13872,13873],{"class":2708},"to",[2008,13875,3848],{"class":2702},[2008,13877,3868],{"class":2708},[2008,13879,4011],{"class":2702},[2008,13881,3965],{"class":2694},[2008,13883,2703],{"class":2702},[2008,13885,13886,13888,13890,13892,13894,13896,13898],{"class":2528,"line":43},[2008,13887,4343],{"class":2694},[2008,13889,2775],{"class":2702},[2008,13891,2767],{"class":3890},[2008,13893,3865],{"class":2702},[2008,13895,2808],{"class":2712},[2008,13897,13661],{"class":2760},[2008,13899,4628],{"class":2702},[2008,13901,13902],{"class":2528,"line":2545},[2008,13903,12382],{"class":2702},[2008,13905,13906,13908,13910,13913,13915,13917,13919],{"class":2528,"line":2551},[2008,13907,5717],{"class":2789},[2008,13909,5381],{"class":2702},[2008,13911,13912],{"class":2712},"!",[2008,13914,2767],{"class":2801},[2008,13916,181],{"class":2702},[2008,13918,3972],{"class":2801},[2008,13920,5659],{"class":2702},[2008,13922,13923,13926,13929,13931,13934],{"class":2528,"line":2557},[2008,13924,13925],{"class":2789},"    return",[2008,13927,13928],{"class":2760}," navigateTo",[2008,13930,3900],{"class":2702},[2008,13932,13933],{"class":2811},"'/login'",[2008,13935,3160],{"class":2702},[2008,13937,13938],{"class":2528,"line":2563},[2008,13939,4446],{"class":2702},[2008,13941,13942],{"class":2528,"line":2568},[2008,13943,4569],{"class":2702},[12,13945,13946],{},"استخدم في صفحة:",[577,13948,13950],{"className":3808,"code":13949,"language":3810,"meta":42,"style":42},"\u003Cscript setup>\ndefinePageMeta({\n  middleware: 'auth'\n})\n\u003C/script>\n",[584,13951,13952,13962,13968,13976,13980],{"__ignoreMap":42},[2008,13953,13954,13956,13958,13960],{"class":2528,"line":2529},[2008,13955,3818],{"class":3817},[2008,13957,3822],{"class":3821},[2008,13959,3826],{"class":3825},[2008,13961,2815],{"class":3817},[2008,13963,13964,13966],{"class":2528,"line":46},[2008,13965,10850],{"class":2760},[2008,13967,7993],{"class":2702},[2008,13969,13970,13973],{"class":2528,"line":43},[2008,13971,13972],{"class":2801},"  middleware:",[2008,13974,13975],{"class":2811}," 'auth'\n",[2008,13977,13978],{"class":2528,"line":2545},[2008,13979,4569],{"class":2702},[2008,13981,13982,13984,13986],{"class":2528,"line":2551},[2008,13983,2835],{"class":3817},[2008,13985,3822],{"class":3821},[2008,13987,2815],{"class":3817},[16,13989,13991],{"id":13990},"استكشاف-الأخطاء","استكشاف الأخطاء",[12,13993,13994],{},[174,13995,13996],{},"المنفذ مستخدم بالفعل:",[577,13998,14000],{"className":10709,"code":13999,"language":10711,"meta":42,"style":42},"npm run dev -- --port 3001\n",[584,14001,14002],{"__ignoreMap":42},[2008,14003,14004,14006,14008,14011,14014,14017],{"class":2528,"line":2529},[2008,14005,10779],{"class":2760},[2008,14007,10789],{"class":2811},[2008,14009,14010],{"class":2811}," dev",[2008,14012,14013],{"class":5858}," --",[2008,14015,14016],{"class":5858}," --port",[2008,14018,14019],{"class":3903}," 3001\n",[12,14021,14022],{},[174,14023,14024],{},"مسح ذاكرة Nuxt المؤقتة:",[577,14026,14028],{"className":10709,"code":14027,"language":10711,"meta":42,"style":42},"rm -rf .nuxt\nnpm run dev\n",[584,14029,14030,14041],{"__ignoreMap":42},[2008,14031,14032,14035,14038],{"class":2528,"line":2529},[2008,14033,14034],{"class":2760},"rm",[2008,14036,14037],{"class":5858}," -rf",[2008,14039,14040],{"class":2811}," .nuxt\n",[2008,14042,14043,14045,14047],{"class":2528,"line":46},[2008,14044,10779],{"class":2760},[2008,14046,10789],{"class":2811},[2008,14048,10792],{"class":2811},[12,14050,14051],{},[174,14052,14053],{},"أخطاء TypeScript:",[577,14055,14057],{"className":10709,"code":14056,"language":10711,"meta":42,"style":42},"npm run postinstall  # إعادة توليد الأنواع\n",[584,14058,14059],{"__ignoreMap":42},[2008,14060,14061,14063,14065,14068],{"class":2528,"line":2529},[2008,14062,10779],{"class":2760},[2008,14064,10789],{"class":2811},[2008,14066,14067],{"class":2811}," postinstall",[2008,14069,14070],{"class":2688},"  # إعادة توليد الأنواع\n",[16,14072,14074],{"id":14073},"ما-الجديد-في-nuxt-4","ما الجديد في Nuxt 4؟",[12,14076,14077],{},"Nuxt 4 (قيد التطوير حالياً) يجلب تحسينات مثيرة:",[186,14079,14080,14083,14086,14089,14092],{},[189,14081,14082],{},"أداء أفضل مع رسم خادم محسن",[189,14084,14085],{},"دعم TypeScript محسن",[189,14087,14088],{},"تجربة مطور محسنة",[189,14090,14091],{},"أحجام حزم أصغر",[189,14093,14094],{},"توافق أفضل مع أحدث ميزات Vue",[12,14096,14097],{},"للتحضير لـ Nuxt 4، حافظ على تحديث مشاريع Nuxt 3 الخاصة بك واتبع دليل الترحيل عند إصدار Nuxt 4.",[16,14099,14101],{"id":14100},"الخطوات-التالية","الخطوات التالية",[12,14103,14104],{},"الآن بعد فهم الأساسيات:",[1049,14106,14107,14113,14126,14137,14153],{},[189,14108,14109,14112],{},[174,14110,14111],{},"بنِ مشروعاً",": ابدأ بمدونة أو معرض أعمال بسيط",[189,14114,14115,14118,14119],{},[174,14116,14117],{},"استكشف الوحدات",": تحقق من دليل ",[14120,14121,14125],"a",{"href":14122,"rel":14123},"https://nuxt.com/modules",[14124],"nofollow","وحدات Nuxt",[189,14127,14128,4974,14131,14136],{},[174,14129,14130],{},"اقرأ الوثائق",[14120,14132,14135],{"href":14133,"rel":14134},"https://nuxt.com",[14124],"الوثائق الرسمية"," ممتازة",[189,14138,14139,4974,14142,14147,14148],{},[174,14140,14141],{},"انضم للمجتمع",[14120,14143,14146],{"href":14144,"rel":14145},"https://discord.com/invite/nuxt",[14124],"Discord","، ",[14120,14149,14152],{"href":14150,"rel":14151},"https://github.com/nuxt/nuxt/discussions",[14124],"مناقشات GitHub",[189,14154,14155,14158],{},[174,14156,14157],{},"شاهد الدروس",": العديد من الدروس المرئية الرائعة متوفرة",[16,14160,8049],{"id":8049},[12,14162,14163],{},"يجعل Nuxt بناء تطبيقات الويب الحديثة ممتعاً ومنتجاً. هيكله الرأيي، ميزاته القوية، وتجربة المطور الممتازة تجعله خياراً أعلى لمطوري Vue.",[12,14165,14166],{},"ابدأ صغيراً، جرب الميزات، وتدريجياً بنِ تطبيقات أكثر تعقيداً. أفضل طريقة لتعلم Nuxt هي البناء به!",[12,14168,3585],{},[3587,14170,14171],{},"html pre.shiki code .s56mj, html code.shiki .s56mj{--shiki-light:#6A737D;--shiki-default:#6A9955;--shiki-dark:#6A9955}html pre.shiki code .sffyN, html code.shiki .sffyN{--shiki-light:#24292E;--shiki-default:#808080;--shiki-dark:#808080}html pre.shiki code .ssFZ1, html code.shiki .ssFZ1{--shiki-light:#22863A;--shiki-default:#569CD6;--shiki-dark:#569CD6}html pre.shiki code .sFcZJ, html code.shiki .sFcZJ{--shiki-light:#6F42C1;--shiki-default:#9CDCFE;--shiki-dark:#9CDCFE}html pre.shiki code .s5uUr, html code.shiki .s5uUr{--shiki-light:#D73A49;--shiki-default:#569CD6;--shiki-dark:#569CD6}html pre.shiki code .sToQf, html code.shiki .sToQf{--shiki-light:#005CC5;--shiki-default:#4FC1FF;--shiki-dark:#4FC1FF}html pre.shiki code .s1p9p, html code.shiki .s1p9p{--shiki-light:#D73A49;--shiki-default:#D4D4D4;--shiki-dark:#D4D4D4}html pre.shiki code .svuFb, html code.shiki .svuFb{--shiki-light:#6F42C1;--shiki-default:#DCDCAA;--shiki-dark:#DCDCAA}html pre.shiki code .sG4b4, html code.shiki .sG4b4{--shiki-light:#24292E;--shiki-default:#D4D4D4;--shiki-dark:#D4D4D4}html pre.shiki code .seC34, html code.shiki .seC34{--shiki-light:#005CC5;--shiki-default:#B5CEA8;--shiki-dark:#B5CEA8}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sZiGn, html code.shiki .sZiGn{--shiki-light:#24292E;--shiki-default:#9CDCFE;--shiki-dark:#9CDCFE}html pre.shiki code .sGDl4, html code.shiki .sGDl4{--shiki-light:#032F62;--shiki-default:#CE9178;--shiki-dark:#CE9178}html pre.shiki code .s9TRk, html code.shiki .s9TRk{--shiki-light:#E36209;--shiki-default:#9CDCFE;--shiki-dark:#9CDCFE}html pre.shiki code .sEkCa, html code.shiki .sEkCa{--shiki-light:#D73A49;--shiki-default:#C586C0;--shiki-dark:#C586C0}html pre.shiki code .se2iQ, html code.shiki .se2iQ{--shiki-light:#032F62;--shiki-default:#569CD6;--shiki-dark:#569CD6}html pre.shiki code .s5T4v, html code.shiki .s5T4v{--shiki-light:#032F62;--shiki-default:#D4D4D4;--shiki-dark:#D4D4D4}html pre.shiki code .sUwQ0, html code.shiki .sUwQ0{--shiki-light:#B31D28;--shiki-light-font-style:italic;--shiki-default:#F44747;--shiki-default-font-style:inherit;--shiki-dark:#F44747;--shiki-dark-font-style:inherit}html pre.shiki code .s7v1m, html code.shiki .s7v1m{--shiki-light:#005CC5;--shiki-default:#569CD6;--shiki-dark:#569CD6}html pre.shiki code .s6-XD, html code.shiki .s6-XD{--shiki-light:#005CC5;--shiki-default:#4EC9B0;--shiki-dark:#4EC9B0}html pre.shiki code .sO3gw, html code.shiki .sO3gw{--shiki-light:#6F42C1;--shiki-default:#D7BA7D;--shiki-dark:#D7BA7D}html pre.shiki code .sps74, html code.shiki .sps74{--shiki-light:#005CC5;--shiki-default:#9CDCFE;--shiki-dark:#9CDCFE}html pre.shiki code .sqBZk, html code.shiki .sqBZk{--shiki-light:#005CC5;--shiki-default:#CE9178;--shiki-dark:#CE9178}html pre.shiki code .sNX3-, html code.shiki .sNX3-{--shiki-light:#005CC5;--shiki-default:#DCDCAA;--shiki-dark:#DCDCAA}",{"title":42,"searchDepth":43,"depth":43,"links":14173},[14174,14177,14182,14190,14195,14202,14209,14213,14214,14215,14216],{"id":10530,"depth":46,"text":10531,"children":14175},[14176],{"id":10537,"depth":43,"text":10538},{"id":10698,"depth":46,"text":10699,"children":14178},[14179,14180,14181],{"id":10702,"depth":43,"text":10703},{"id":10724,"depth":43,"text":10725},{"id":10802,"depth":43,"text":10803},{"id":10815,"depth":46,"text":10816,"children":14183},[14184,14185,14186,14187,14188,14189],{"id":10819,"depth":43,"text":10820},{"id":11156,"depth":43,"text":11157},{"id":11436,"depth":43,"text":11437},{"id":11711,"depth":43,"text":11712},{"id":12149,"depth":43,"text":12150},{"id":12429,"depth":43,"text":12430},{"id":12771,"depth":46,"text":12772,"children":14191},[14192,14193,14194],{"id":12778,"depth":43,"text":12779},{"id":12834,"depth":43,"text":12835},{"id":12972,"depth":43,"text":12973},{"id":13047,"depth":46,"text":13048,"children":14196},[14197,14198,14199,14200,14201],{"id":2123,"depth":43,"text":2123},{"id":13066,"depth":43,"text":13067},{"id":13090,"depth":43,"text":13091},{"id":13108,"depth":43,"text":13109},{"id":13129,"depth":43,"text":13130},{"id":3688,"depth":46,"text":13232,"children":14203},[14204,14205,14206,14207,14208],{"id":13235,"depth":43,"text":13236},{"id":13293,"depth":43,"text":13294},{"id":13308,"depth":43,"text":13309},{"id":13533,"depth":43,"text":13534},{"id":13614,"depth":43,"text":13615},{"id":13638,"depth":46,"text":13639,"children":14210},[14211,14212],{"id":13642,"depth":43,"text":13642},{"id":13848,"depth":43,"text":13849},{"id":13990,"depth":46,"text":13991},{"id":14073,"depth":46,"text":14074},{"id":14100,"depth":46,"text":14101},{"id":8049,"depth":46,"text":8049},"تعلم كيفية بناء تطبيقات ويب سريعة وحديثة مع Nuxt 3 وNuxt 4. دليل شامل يغطي الإعداد، الميزات الرئيسية، أفضل الممارسات، وأمثلة واقعية.","https://images.unsplash.com/photo-1559028012-481c04fa702d?q=80&w=1200",{"excerpt":14220},{"type":9,"value":14221},[14222,14224,14226,14228],[12,14223,10524],{},[12,14225,10527],{},[16,14227,10531],{"id":10530},[12,14229,10534],{},"/albda-ma-nuxt","2024-05-01",{"title":10519,"description":14217},"البدء-مع-nuxt",[14235,3810,3626,2681,3627,14236],"nuxt","ssr","Lw9VBxaxsneCZCZ4osRPhVZMzK0OzHDoWrQpq-Rsa4U",{"id":14239,"title":14240,"author":7,"body":14241,"category":15722,"description":15723,"extension":52,"image":15724,"isDraft":55,"isFeatured":55,"locale":56,"meta":15725,"navigation":54,"path":15740,"publishedAt":15741,"readingTime":2035,"seo":15742,"stem":15743,"tags":15744,"updatedAt":1476,"__hash__":15749},"articles_ar/العثور-على-فكرة-شركة-ناشئة-2025.md","كيفية العثور على فكرة شركتك الناشئة التالية في 2025: طرق اكتشاف مدعومة بالذكاء الاصطناعي",{"type":9,"value":14242,"toc":15686},[14243,14246,14252,14258,14261,14265,14268,14273,14284,14289,14303,14309,14313,14317,14322,14325,14330,14344,14349,14369,14373,14378,14384,14389,14395,14400,14406,14410,14415,14420,14426,14437,14442,14453,14458,14469,14474,14485,14490,14504,14510,14514,14519,14524,14595,14600,14614,14619,14625,14629,14634,14639,14645,14656,14662,14673,14679,14690,14695,14706,14711,14722,14726,14732,14737,14754,14758,14762,14767,14774,14782,14787,14795,14800,14805,14810,14821,14827,14833,14837,14842,14848,14853,14859,14863,14868,14874,14879,14890,14895,14900,14906,14911,14925,14929,14934,14939,14953,14958,14964,14970,14984,14988,14993,14998,15012,15017,15023,15027,15032,15038,15052,15056,15070,15074,15079,15084,15098,15102,15113,15117,15121,15127,15132,15153,15158,15172,15177,15188,15192,15198,15202,15213,15218,15229,15233,15238,15243,15257,15262,15276,15282,15296,15300,15305,15311,15316,15327,15332,15343,15347,15352,15449,15453,15457,15467,15471,15479,15483,15491,15495,15503,15507,15518,15522,15527,15551,15556,15577,15582,15603,15608,15629,15631,15634,15639,15656,15659,15664,15678,15681],[12,14244,14245],{},"العثور على فكرة شركة ناشئة مربحة في 2025 أسهل وأصعب من أي وقت مضى. أسهل لأن أدوات الذكاء الاصطناعي يمكن أن تساعدك في اكتشاف وتحقق الفرص بسرعة غير مسبوقة. أصعب لأن مع إطلاق 5 ملايين منتج SaaS جديد كل عام، المنافسة شرسة.",[12,14247,14248,14251],{},[174,14249,14250],{},"الخبر السار",": 90% من المؤسسين ما زالوا يبحثون في الأماكن الخاطئة. بينما يطاردون مغلفات الذكاء الاصطناعي الرائجة ومشاريع العملات المشفرة، الفرص الحقيقية تختبئ في مشاكل مملة غير جذابة تؤثر على آلاف الأشخاص يومياً.",[12,14253,14254,14257],{},[174,14255,14256],{},"الصيغة بسيطة",": العثور على مشكلة مؤلمة → التحقق من أن الناس سيدفعون → بناء حل أدنى → التكرار بناءً على التغذية الراجعة.",[12,14259,14260],{},"يوضح لك هذا الدليل بالضبط كيفية القيام بذلك باستخدام أفضل الأدوات والأطر المثبتة في 2025.",[16,14262,14264],{"id":14263},"واقع-2025-الذكاء-الاصطناعي-غير-كل-شيء-لكن-ليس-كما-تظن","واقع 2025: الذكاء الاصطناعي غير كل شيء (لكن ليس كما تظن)",[12,14266,14267],{},"في 2025، لم يقتل الذكاء الاصطناعي فرص الشركات الناشئة - لقد خلق المزيد. لكن اللعبة تغيرت:",[12,14269,14270],{},[174,14271,14272],{},"الكتيب القديم (قبل 2023):",[186,14274,14275,14278,14281],{},[189,14276,14277],{},"العثور على سوق متخصص",[189,14279,14280],{},"بناء حل مخصص من الصفر",[189,14282,14283],{},"6-12 شهر للـ MVP",[12,14285,14286],{},[174,14287,14288],{},"الكتيب الجديد (2025):",[186,14290,14291,14294,14297,14300],{},[189,14292,14293],{},"العثور على عدم كفاءة في سير العمل",[189,14295,14296],{},"دمج APIs الذكاء الاصطناعي الموجودة",[189,14298,14299],{},"2-4 أسابيع للـ MVP",[189,14301,14302],{},"التركيز على UX والتوزيع",[12,14304,14305,14308],{},[174,14306,14307],{},"الفرصة",": بينما الجميع يبني مغلفات الذكاء الاصطناعي، المشاكل الحقيقية ما زالت موجودة في الصناعات المملة: إدارة الرعاية الصحية، إدارة البناء، معالجة الوثائق القانونية، عمليات الأعمال الصغيرة.",[16,14310,14312],{"id":14311},"الجزء-1-طرق-الاكتشاف-التقليدية-مدعومة-بالذكاء-الاصطناعي","الجزء 1: طرق الاكتشاف (التقليدية + مدعومة بالذكاء الاصطناعي)",[209,14314,14316],{"id":14315},"الطريقة-1-استخراج-المشاكل-الشخصية","الطريقة 1: استخراج المشاكل الشخصية",[12,14318,14319,14321],{},[174,14320,8151],{},": أفضل الأفكار تحل مشاكل تعاني منها شخصياً.",[12,14323,14324],{},"المؤسسون لديهم فهم عميق للمشكلة، لذا يمكنك التركيز على المشاكل اليومية التي واجهتها شخصياً. ابدأ بطرح هذه الأسئلة:",[12,14326,14327],{},[174,14328,14329],{},"أسئلة الاكتشاف (إصدار 2025):",[186,14331,14332,14335,14338,14341],{},[189,14333,14334],{},"أي مهمة استغرقت منك أكثر من 30 دقيقة اليوم وشعرت أنها غير فعالة؟",[189,14336,14337],{},"أي أدوات تستخدمها تشعر أنها قديمة أو معقدة؟",[189,14339,14340],{},"ما الذي تحله حالياً بجدول بيانات يجب أن يكون تطبيقاً؟",[189,14342,14343],{},"ما الذي يجعلك تقول \"يجب أن يكون هناك طريقة أفضل\"؟",[12,14345,14346],{},[174,14347,14348],{},"أمثلة حقيقية في 2025:",[186,14350,14351,14357,14363],{},[189,14352,14353,14356],{},[174,14354,14355],{},"محبط من",": ملاحظات الاجتماعات مبعثرة عبر الأدوات → بنى ملخص اجتماعات بالذكاء الاصطناعي (10k دولار MRR)",[189,14358,14359,14362],{},[174,14360,14361],{},"منزعج من",": التبديل بين 5 علامات تبويب لنشر وسائل التواصل الاجتماعي → بنى مجدول موحد (25k دولار MRR)",[189,14364,14365,14368],{},[174,14366,14367],{},"إهدار وقت",": تتبع المصروفات يدوياً → بنى ماسح إيصالات + مصنف (8k دولار MRR)",[209,14370,14372],{"id":14371},"الطريقة-2-اكتشاف-المشاكل-مدعوم-بالذكاء-الاصطناعي","الطريقة 2: اكتشاف المشاكل مدعوم بالذكاء الاصطناعي",[12,14374,14375],{},[174,14376,14377],{},"استخدم ChatGPT/Claude لتحليل الاتجاهات:",[577,14379,14382],{"className":14380,"code":14381,"language":582},[580],"السؤال: \"حلل أعلى 10 نقاط ألم مذكورة في \nr/smallbusiness في آخر 6 أشهر. رتب حسب التكرار \nوالإلحاح. أدرج حجم السوق التقريبي.\"\n",[584,14383,14381],{"__ignoreMap":42},[12,14385,14386],{},[174,14387,14388],{},"استخدم ChatGPT للبحث في السوق:",[577,14390,14393],{"className":14391,"code":14392,"language":582},[580],"السؤال: \"أنا [دورك]. ما هي 10 إحباطات متكررة \nفي يومي يمكن حلها بالبرمجيات؟ قيم كل واحدة بـ: \nالوقت الموفر، الاستعداد للدفع، \nمستوى المنافسة.\"\n",[584,14394,14392],{"__ignoreMap":42},[12,14396,14397],{},[174,14398,14399],{},"Perplexity AI للبحث العميق:",[577,14401,14404],{"className":14402,"code":14403,"language":582},[580],"البحث: \"ما هي أكبر المشاكل غير المحلولة في \n[الصناعة] التي تكلف الشركات المال في 2025؟\"\n",[584,14405,14403],{"__ignoreMap":42},[209,14407,14409],{"id":14408},"الطريقة-3-الاستماع-لمشاكل-الآخرين","الطريقة 3: الاستماع لمشاكل الآخرين",[12,14411,14412,14414],{},[174,14413,8151],{},": المشاكل التي يشكو منها الناس بشكل متكرر هي فرص.",[12,14416,14417],{},[174,14418,14419],{},"أين تستمع في 2025:",[12,14421,14422,14425],{},[174,14423,14424],{},"1. مجتمعات Reddit"," (منجم ذهب)",[186,14427,14428,14431,14434],{},[189,14429,14430],{},"r/Entrepreneur (180k شكوى/شهر)",[189,14432,14433],{},"subs محددة للصناعات (r/realestate، r/teachers، r/freelance)",[189,14435,14436],{},"ابحث عن: \"frustrated\"، \"waste time\"، \"wish there was\"",[12,14438,14439],{},[174,14440,14441],{},"2. منشورات LinkedIn",[186,14443,14444,14447,14450],{},[189,14445,14446],{},"تابع قادة الصناعة",[189,14448,14449],{},"لاحظ الشكاوى المتكررة في التعليقات",[189,14451,14452],{},"نقاط الألم المهنية = فرص B2B",[12,14454,14455],{},[174,14456,14457],{},"3. تعليقات Product Hunt",[186,14459,14460,14463,14466],{},[189,14461,14462],{},"رؤية ما يتمنى الناس أن تكون موجوداً في المنتجات الموجودة",[189,14464,14465],{},"العثور على فجوات الميزات في الأدوات الشائعة",[189,14467,14468],{},"تحديد حالات الاستخدام غير المخدومة",[12,14470,14471],{},[174,14472,14473],{},"4. مجتمعات Discord/Slack",[186,14475,14476,14479,14482],{},[189,14477,14478],{},"انضم لخوادم محددة للصناعات",[189,14480,14481],{},"راقب الإحباطات اليومية",[189,14483,14484],{},"اكتشاف المشاكل في الوقت الفعلي",[12,14486,14487],{},[174,14488,14489],{},"إطار المقابلة (15 دقيقة):",[1049,14491,14492,14495,14498,14501],{},[189,14493,14494],{},"ما هو أكبر إهدار وقتك في العمل؟",[189,14496,14497],{},"أي أدوات تزعجك أكثر؟",[189,14499,14500],{},"إذا كان لديك عصا سحرية، ماذا ستؤتمت؟",[189,14502,14503],{},"كم ستوفر/تكسب حل هذا؟",[12,14505,14506,14509],{},[174,14507,14508],{},"المفتاح",": اسأل عن السلوك الماضي، لا الافتراضيات. \"أخبرني عن آخر مرة...\" يفوز على \"هل ستستخدم...\"",[209,14511,14513],{"id":14512},"الطريقة-4-إعادة-صياغة-المشاكل-الموجودة-بالذكاء-الاصطناعي","الطريقة 4: إعادة صياغة المشاكل الموجودة بالذكاء الاصطناعي",[12,14515,14516,14518],{},[174,14517,8151],{},": خذ الحلول القديمة وأضف الذكاء الاصطناعي، UX حديث، أو توزيع أفضل.",[12,14520,14521],{},[174,14522,14523],{},"أمثلة ناجحة لإعادة الصياغة في 2025:",[643,14525,14526,14539],{},[646,14527,14528],{},[649,14529,14530,14533,14536],{},[652,14531,14532],{},"الحل القديم",[652,14534,14535],{},"إعادة الصياغة الجديدة",[652,14537,14538],{},"النتيجة",[659,14540,14541,14552,14563,14573,14584],{},[649,14542,14543,14546,14549],{},[664,14544,14545],{},"رسائل بريد إلكتروني",[664,14547,14548],{},"ملخصات مخصصة بالذكاء الاصطناعي",[664,14550,14551],{},"50k دولار MRR",[649,14553,14554,14557,14560],{},[664,14555,14556],{},"برمجيات CRM",[664,14558,14559],{},"CRM صوتي أولاً للمبيعات",[664,14561,14562],{},"100k دولار MRR",[649,14564,14565,14567,14570],{},[664,14566,9168],{},[664,14568,14569],{},"مدير مشاريع بالذكاء الاصطناعي",[664,14571,14572],{},"200k دولار MRR",[649,14574,14575,14578,14581],{},[664,14576,14577],{},"بناة السير الذاتية",[664,14579,14580],{},"LinkedIn → سيرة ذاتية في 30 ثانية",[664,14582,14583],{},"30k دولار MRR",[649,14585,14586,14589,14592],{},[664,14587,14588],{},"تتبع المصروفات",[664,14590,14591],{},"صورة إيصال → تصنيف تلقائي",[664,14593,14594],{},"75k دولار MRR",[12,14596,14597],{},[174,14598,14599],{},"أسئلة إعادة الصياغة:",[186,14601,14602,14605,14608,14611],{},[189,14603,14604],{},"ماذا لو كان هذا أسرع 10x بالذكاء الاصطناعي؟",[189,14606,14607],{},"ماذا لو كان هذا للهاتف أولاً بدلاً من سطح المكتب؟",[189,14609,14610],{},"ماذا لو كان هذا غير متزامن بدلاً من فوري؟",[189,14612,14613],{},"ماذا لو كان هذا مجاني مع إعلانات بدلاً من مدفوع؟",[12,14615,14616],{},[174,14617,14618],{},"استخدم الذكاء الاصطناعي للعثور على فرص إعادة الصياغة:",[577,14620,14623],{"className":14621,"code":14622,"language":582},[580],"سؤال ChatGPT: \"سرد 20 أداة SaaS من 2015-2020 \nالتي ما زالت شائعة لكن لديها UX قديم. لكل واحدة، \nاقترح بديلاً حديثاً مدعوماً بالذكاء الاصطناعي.\"\n",[584,14624,14622],{"__ignoreMap":42},[209,14626,14628],{"id":14627},"الطريقة-5-التفكير-العكسي-للمستقبل","الطريقة 5: التفكير العكسي للمستقبل",[12,14630,14631,14633],{},[174,14632,8151],{},": ما سيكون طبيعياً في 2030؟ بنِ ذلك الآن.",[12,14635,14636],{},[174,14637,14638],{},"الاتجاهات المستقبلية التي تخلق فرص:",[12,14640,14641,14644],{},[174,14642,14643],{},"1. وكلاء الذكاء الاصطناعي"," (2026-2027)",[186,14646,14647,14650,14653],{},[189,14648,14649],{},"مساعدون شخصيون بالذكاء الاصطناعي يتخذون إجراءات",[189,14651,14652],{},"الفرصة: أدوات لإدارة/تدريب الوكلاء الشخصيين",[189,14654,14655],{},"الفرصة: بروتوكولات اتصال وكيل-لوكيل",[12,14657,14658,14661],{},[174,14659,14660],{},"2. الحوسبة الصوتية أولاً"," (2025-2026)",[186,14663,14664,14667,14670],{},[189,14665,14666],{},"انخفاض وقت الشاشة",[189,14668,14669],{},"الفرصة: أدوات أعمال متحكم بها صوتياً",[189,14671,14672],{},"الفرصة: منصات اجتماعية صوتية أولاً",[12,14674,14675,14678],{},[174,14676,14677],{},"3. العمل اللامركزي"," (يحدث بالفعل)",[186,14680,14681,14684,14687],{},[189,14682,14683],{},"العمل عن بعد الدائم",[189,14685,14686],{},"الفرصة: أدوات للتعاون غير المتزامن",[189,14688,14689],{},"الفرصة: تجارب مكتب افتراضي",[12,14691,14692,14661],{},[174,14693,14694],{},"4. التحقق من المحتوى المولد بالذكاء الاصطناعي",[186,14696,14697,14700,14703],{},[189,14698,14699],{},"أزمة المصداقية",[189,14701,14702],{},"الفرصة: أدوات العلامات المائية/التحقق",[189,14704,14705],{},"الفرصة: شهادة المحتوى المُنشأ بواسطة البشر",[12,14707,14708],{},[174,14709,14710],{},"الموارد:",[186,14712,14713,14716,14719],{},[189,14714,14715],{},"تابع @sama، @levelsio، @thisiskp_ على Twitter",[189,14717,14718],{},"اقرأ \"The Techno-Optimist Manifesto\"",[189,14720,14721],{},"شاهد YCombinator's RFS (Request for Startups)",[209,14723,14725],{"id":14724},"الطريقة-6-توسيع-سطح-مشكلتك","الطريقة 6: توسيع سطح مشكلتك",[12,14727,14728,14731],{},[174,14729,14730],{},"استراتيجية",": المزيد من التعرض = المزيد من المشاكل المكتشفة",[12,14733,14734],{},[174,14735,14736],{},"التكتيكات:",[186,14738,14739,14742,14745,14748,14751],{},[189,14740,14741],{},"انضم لـ 3 مجتمعات عبر الإنترنت جديدة",[189,14743,14744],{},"تعلم مهارة جديدة (تعرضك لإحباطات المبتدئين)",[189,14746,14747],{},"قابل 10 أشخاص في صناعات مختلفة",[189,14749,14750],{},"اعمل freelancer في مجال جديد",[189,14752,14753],{},"سافر لمدن/دول مختلفة",[16,14755,14757],{"id":14756},"الجزء-2-طرق-التحقق-إصدار-2025","الجزء 2: طرق التحقق (إصدار 2025)",[209,14759,14761],{"id":14760},"الأداة-1-google-trends-ما-زال-ذا-صلة","الأداة 1: Google Trends (ما زال ذا صلة)",[12,14763,14764],{},[174,14765,14766],{},"ما تبحث عنه:",[12,14768,14769,14770,14773],{},"✅ ",[174,14771,14772],{},"الاتجاهات الصاعدة"," (لم تصل ذروتها بعد)",[186,14775,14776,14779],{},[189,14777,14778],{},"مثال: \"AI workflow automation\" (نامي)",[189,14780,14781],{},"❌ مثال: \"NFT marketplace\" (منخفض)",[12,14783,14769,14784],{},[174,14785,14786],{},"الفرص الجغرافية",[186,14788,14789,14792],{},[189,14790,14791],{},"شائع في الولايات المتحدة لكن ليس في أوروبا؟ محلل",[189,14793,14794],{},"شائع في الدول المتقدمة؟ قد يصل للدول النامية التالية",[12,14796,14769,14797],{},[174,14798,14799],{},"الاستعلامات ذات الصلة",[186,14801,14802],{},[189,14803,14804],{},"\"AI for lawyers\" يظهر أيضاً \"legal document automation\"، \"contract review AI\"",[12,14806,14807],{},[174,14808,14809],{},"علامات التحذير:",[186,14811,14812,14815,14818],{},[189,14813,14814],{},"انخفاض الاهتمام على مدى 12 شهر",[189,14816,14817],{},"ارتفاعات موسمية فقط (ليس اهتمام مستدام)",[189,14819,14820],{},"متخصص جداً (حجم بحث منخفض باستمرار)",[12,14822,14823,14826],{},[174,14824,14825],{},"نصيحة احترافية 2025:"," قارن فكرتك بالمنافسين المؤسسين",[577,14828,14831],{"className":14829,"code":14830,"language":582},[580],"البحث: \"[فكرتك] vs [المنافس]\" \nإذا رأيت اهتمام صاعد في استعلامات \"vs\"، السوق نشط\n",[584,14832,14830],{"__ignoreMap":42},[209,14834,14836],{"id":14835},"الأداة-2-تحليل-الاتجاهات-مدعوم-بالذكاء-الاصطناعي","الأداة 2: تحليل الاتجاهات مدعوم بالذكاء الاصطناعي",[12,14838,14839],{},[174,14840,14841],{},"استخدم Perplexity AI:",[577,14843,14846],{"className":14844,"code":14845,"language":582},[580],"الاستعلام: \"ما هي أسرع فئات SaaS نمواً \nفي 2025؟ أظهر بيانات نمو ARR، التمويل، و \nعدد الشركات الناشئة الجديدة.\"\n",[584,14847,14845],{"__ignoreMap":42},[12,14849,14850],{},[174,14851,14852],{},"استخدم ChatGPT لتحليل البيانات:",[577,14854,14857],{"className":14855,"code":14856,"language":582},[580],"رفع: تصدير من Google Trends\nالسؤال: \"حلل بيانات الاتجاه هذه. حدد الموسمية، \nمعدل النمو، وتوقع الأشهر الـ 6 التالية.\"\n",[584,14858,14856],{"__ignoreMap":42},[209,14860,14862],{"id":14861},"الأداة-3-البحث-المتقدم-على-twitterx","الأداة 3: البحث المتقدم على Twitter/X",[12,14864,14865],{},[174,14866,14867],{},"أفضل استعلامات البحث (2025):",[577,14869,14872],{"className":14870,"code":14871,"language":582},[580],"\"I wish there was a tool\" -filter:replies\n\"why is there no app for\" min_faves:10\n\"frustrated with [industry]\" min_faves:5\n\"[your idea] is so expensive\" since:2024-01-01\n",[584,14873,14871],{"__ignoreMap":42},[12,14875,14876],{},[174,14877,14878],{},"إعداد التنبيهات:",[186,14880,14881,14884,14887],{},[189,14882,14883],{},"استخدم TweetDeck/Typefully لمراقبة الكلمات المفتاحية",[189,14885,14886],{},"تتبع هاشتاجات الصناعة (#SaaS، #ProductHunt، #IndieHackers)",[189,14888,14889],{},"تابع مجمعي نقاط الألم (@startupideas، @problemreport)",[12,14891,14892],{},[174,14893,14894],{},"Quora في 2025:",[12,14896,14897],{},[174,14898,14899],{},"ما زال قيماً، لكن استخدم الذكاء الاصطناعي للتوسع:",[577,14901,14904],{"className":14902,"code":14903,"language":582},[580],"سؤال ChatGPT: \"استخرج أعلى 100 سؤال Quora في \n[التخصص]. رتب حسب: تكرار المشكلة، الإلحاح، \nالاستعداد للدفع. حدد أعلى 5 فرص.\"\n",[584,14905,14903],{"__ignoreMap":42},[12,14907,14908],{},[174,14909,14910],{},"البحث اليدوي على Quora:",[1049,14912,14913,14916,14919,14922],{},[189,14914,14915],{},"تابع المواضيع في صناعتك المستهدفة",[189,14917,14918],{},"رتب حسب \"الأكثر مشاهدة\" و\"الأكثر تصويت\"",[189,14920,14921],{},"ابحث عن أسئلة بـ 10k+ مشاهدة لكن إجابات جيدة قليلة",[189,14923,14924],{},"إذا استمر الناس في السؤال = فرصة",[209,14926,14928],{"id":14927},"الأداة-4-الغوص-العميق-في-reddit","الأداة 4: الغوص العميق في Reddit",[12,14930,14931],{},[174,14932,14933],{},"البحث المتقدم على Reddit (2025):",[12,14935,14936],{},[174,14937,14938],{},"أفضل subs للأفكار:",[186,14940,14941,14944,14947,14950],{},[189,14942,14943],{},"r/SaaS - مناقشات SaaS مباشرة",[189,14945,14946],{},"r/Entrepreneur - نقاط ألم الأعمال",[189,14948,14949],{},"r/freelance - إحباطات المستقلين",[189,14951,14952],{},"subs محددة للصناعات (r/realestate، r/marketing، r/teachers)",[12,14954,14955],{},[174,14956,14957],{},"مشغلات البحث:",[577,14959,14962],{"className":14960,"code":14961,"language":582},[580],"site:reddit.com \"[industry]\" \"I hate that\"\nsite:reddit.com \"why is there no tool for\"\nsite:reddit.com \"looking for software to\"\n",[584,14963,14961],{"__ignoreMap":42},[12,14965,14966,14969],{},[174,14967,14968],{},"الأداة: GummySearch"," (49 دولار/شهر)",[186,14971,14972,14975,14978,14981],{},[189,14973,14974],{},"يراقب Reddit للكلمات المفتاحية",[189,14976,14977],{},"يحدد نقاط الألم الرائجة",[189,14979,14980],{},"يظهر مقاييس التفاعل",[189,14982,14983],{},"ينبه للفرص الجديدة",[209,14985,14987],{"id":14986},"الأداة-5-تحليل-product-hunt","الأداة 5: تحليل Product Hunt",[12,14989,14990,14992],{},[174,14991,8151],{},": رؤية ما يحصل على جذب، تحديد الفجوات",[12,14994,14995],{},[174,14996,14997],{},"ما تحلله:",[1049,14999,15000,15003,15006,15009],{},[189,15001,15002],{},"أعلى المنتجات بالتصويت هذا الشهر",[189,15004,15005],{},"اقرأ جميع التعليقات (نقاط الألم + طلبات الميزات)",[189,15007,15008],{},"تحقق من \"القادم\" للاحتياجات غير الملباة",[189,15010,15011],{},"ملاحظة: تصويت عالي لكن إيرادات منخفضة = الوعي، لا الطلب",[12,15013,15014],{},[174,15015,15016],{},"استخدم الذكاء الاصطناعي للتحليل:",[577,15018,15021],{"className":15019,"code":15020,"language":582},[580],"سؤال ChatGPT: \"إليك أعلى 20 إطلاق Product Hunt \nهذا الشهر [لصق العناوين/الأوصاف]. \nما الأنماط التي تراها؟ ما المفقود؟ \nما المشاكل غير المخدومة؟\"\n",[584,15022,15020],{"__ignoreMap":42},[209,15024,15026],{"id":15025},"الأداة-6-تقارير-إيرادات-indie-hackers","الأداة 6: تقارير إيرادات Indie Hackers",[12,15028,15029,15031],{},[174,15030,8151],{},": رؤية ما يجني المال (ليس مجرد الضجيج)",[12,15033,15034,15037],{},[174,15035,15036],{},"اذهب إلى",": IndieHackers.com/products",[186,15039,15040,15043,15046,15049],{},[189,15041,15042],{},"تصفية حسب: الإيراد الشهري",[189,15044,15045],{},"اقرأ المقابلات مع المؤسسين",[189,15047,15048],{},"لاحظ قنوات التوزيع الخاصة بهم",[189,15050,15051],{},"سرق (قانونياً) كتيبهم",[12,15053,15054],{},[174,15055,14766],{},[186,15057,15058,15061,15064,15067],{},[189,15059,15060],{},"مؤسسون فرديون يجنون 5k-50k MRR",[189,15062,15063],{},"منتجات بسيطة (1-2 ميزات جيدة)",[189,15065,15066],{},"تركيز B2B (استعداد أعلى للدفع)",[189,15068,15069],{},"جماهير متخصصة (أسهل للوصول)",[209,15071,15073],{"id":15072},"الأداة-7-لوحات-الوظائف-كمدققي-المشاكل","الأداة 7: لوحات الوظائف كمدققي المشاكل",[12,15075,15076,15078],{},[174,15077,8151],{},": إعلانات الوظائف تكشف نقاط ألم الشركات",[12,15080,15081],{},[174,15082,15083],{},"الطريقة:",[1049,15085,15086,15089,15092,15095],{},[189,15087,15088],{},"اذهب إلى AngelList، LinkedIn Jobs، أو YC Work at a Startup",[189,15090,15091],{},"ابحث عن أدوار مثل \"Operations Manager\"، \"Executive Assistant\"",[189,15093,15094],{},"اقرأ أوصاف الوظائف للمهام اليدوية",[189,15096,15097],{},"أتمت تلك المهام = شركتك الناشئة",[12,15099,15100],{},[174,15101,787],{},[186,15103,15104,15107,15110],{},[189,15105,15106],{},"إعلانات وظائف \"Social Media Manager\" → بنِ أداة جدولة",[189,15108,15109],{},"إعلانات وظائف \"Data Entry Clerk\" → بنِ أداة أتمتة",[189,15111,15112],{},"إعلانات وظائف \"Customer Support\" → بنِ منصة chatbot",[16,15114,15116],{"id":15115},"الجزء-3-إطار-التحقق-السريع-2025","الجزء 3: إطار التحقق السريع (2025)",[209,15118,15120],{"id":15119},"الخطوة-1-اختبار-صفحة-الهبوط-لـ-10-دقائق","الخطوة 1: اختبار صفحة الهبوط لـ 10 دقائق",[12,15122,15123,15126],{},[174,15124,15125],{},"الأدوات",": Carrd (19 دولار/سنة)، Typedream (مجاني)، أو v0.dev (مولد بالذكاء الاصطناعي)",[12,15128,15129],{},[174,15130,15131],{},"ما تشمله:",[186,15133,15134,15144,15147,15150],{},[189,15135,15136,15137,15140,15141,4208],{},"عنوان واضح: \"نحل ",[2008,15138,15139],{},"المشكلة"," لـ ",[2008,15142,15143],{},"الجمهور",[189,15145,15146],{},"3 فوائد رئيسية",[189,15148,15149],{},"تسجيل بريد إلكتروني أو \"انضم لقائمة الانتظار\"",[189,15151,15152],{},"التسعير (حتى لو لم تكن جاهزاً للشحن)",[12,15154,15155],{},[174,15156,15157],{},"مصادر الزيارات:",[186,15159,15160,15163,15166,15169],{},[189,15161,15162],{},"نشر على Reddit (مع السياق، لا السبام)",[189,15164,15165],{},"مشاركة على Twitter مع الهاشتاجات",[189,15167,15168],{},"تقديم إلى BetaList",[189,15170,15171],{},"نشر في Discord/Slack ذات الصلة",[12,15173,15174],{},[174,15175,15176],{},"مقاييس النجاح:",[186,15178,15179,15182,15185],{},[189,15180,15181],{},"100 زائر → 10+ بريد إلكتروني = تحقق جيد",[189,15183,15184],{},"100 زائر → 1-2 بريد إلكتروني = تحقق ضعيف",[189,15186,15187],{},"100 زائر → 0 بريد إلكتروني = انتقل",[209,15189,15191],{"id":15190},"الخطوة-2-اختبار-البيع-المسبق","الخطوة 2: اختبار البيع المسبق",[12,15193,15194,15197],{},[174,15195,15196],{},"أفضل تحقق",": هل سيدفعون؟",[12,15199,15200],{},[174,15201,15083],{},[1049,15203,15204,15207,15210],{},[189,15205,15206],{},"بنِ صفحة هبوط مع زر \"اشترِ الآن\"",[189,15208,15209],{},"الزر يؤدي إلى: \"شكراً! لسنا جاهزين تماماً. انضم لقائمة الانتظار لخصم 50%\"",[189,15211,15212],{},"تتبع معدل النقر عبر",[12,15214,15215],{},[174,15216,15217],{},"النجاح:",[186,15219,15220,15223,15226],{},[189,15221,15222],{},"5-10% ينقرون \"اشترِ الآن\" = تحقق قوي",[189,15224,15225],{},"تابع مع من نقر",[189,15227,15228],{},"عرض بناء MVP مخصص لهم",[209,15230,15232],{"id":15231},"الخطوة-3-mvp-اليدوي","الخطوة 3: MVP اليدوي",[12,15234,15235],{},[174,15236,15237],{},"لا تبنِ برمجيات بعد!",[12,15239,15240],{},[174,15241,15242],{},"بدلاً من ذلك:",[186,15244,15245,15248,15251,15254],{},[189,15246,15247],{},"قدم الخدمة يدوياً",[189,15249,15250],{},"استخدم أدوات no-code (Airtable، Zapier، Make)",[189,15252,15253],{},"جداول بيانات + فيديوهات Loom",[189,15255,15256],{},"شحن أموال حقيقية (50-500 دولار/شهر)",[12,15258,15259],{},[174,15260,15261],{},"الفوائد:",[186,15263,15264,15267,15270,15273],{},[189,15265,15266],{},"تعلم بالضبط ما يحتاجه العملاء",[189,15268,15269],{},"تحصل على أجر أثناء التعلم",[189,15271,15272],{},"بنِ منتج أفضل لاحقاً",[189,15274,15275],{},"تحقق قبل الاستثمار 6 أشهر",[12,15277,15278,15281],{},[174,15279,15280],{},"مثال",": بدلاً من بناء مولد تقارير بالذكاء الاصطناعي:",[1049,15283,15284,15287,15290,15293],{},[189,15285,15286],{},"جمع بيانات العميل يدوياً",[189,15288,15289],{},"توليد تقارير بـ ChatGPT + قوالب",[189,15291,15292],{},"إرسال عبر البريد الإلكتروني",[189,15294,15295],{},"الأتمتة فقط عندما يكون لديك 10 عملاء دافعين",[209,15297,15299],{"id":15298},"الخطوة-4-اختبار-المنافسة","الخطوة 4: اختبار المنافسة",[12,15301,15302],{},[174,15303,15304],{},"استخدم الذكاء الاصطناعي للتحليل التنافسي:",[577,15306,15309],{"className":15307,"code":15308,"language":582},[580],"سؤال ChatGPT: \"ابحث عن المنافسين لـ [فكرتك]. \nسرد: اسم الشركة، التسعير، الميزات الرئيسية، \nالضعف، تقدير الإيرادات. أدرج المنافسين المباشرين \nوغير المباشرين.\"\n",[584,15310,15308],{"__ignoreMap":42},[12,15312,15313],{},[174,15314,15315],{},"علامات جيدة:",[186,15317,15318,15321,15324],{},[189,15319,15320],{},"2-5 منافسين (يؤكد السوق)",[189,15322,15323],{},"المنافسون لديهم مراجعات ضعيفة (فرصة للقيام بأفضل)",[189,15325,15326],{},"المنافسون غالون (مساحة للبديل الميسور)",[12,15328,15329],{},[174,15330,15331],{},"علامات سيئة:",[186,15333,15334,15337,15340],{},[189,15335,15336],{},"0 منافسين (ربما لا سوق)",[189,15338,15339],{},"50+ منافس (مزدحم جداً)",[189,15341,15342],{},"الزعيم في السوق لديه >80% حصة (صعب المنافسة)",[16,15344,15346],{"id":15345},"فرص-micro-saas-قائمة-ساخنة-2025","فرص Micro-SaaS (قائمة ساخنة 2025)",[12,15348,15349],{},[174,15350,15351],{},"ما يعمل الآن:",[1049,15353,15354,15368,15381,15394,15407,15423,15436],{},[189,15355,15356,15359,15360],{},[174,15357,15358],{},"أدوات المحتوى بالذكاء الاصطناعي"," (ليس chatbots!)",[186,15361,15362,15365],{},[189,15363,15364],{},"مولدات محتوى محددة للصناعات",[189,15366,15367],{},"مثال: \"محتوى ذكاء اصطناعي للسباكين\" (8k دولار MRR)",[189,15369,15370,15373],{},[174,15371,15372],{},"موصلات الأتمتة No-Code",[186,15374,15375,15378],{},[189,15376,15377],{},"ربط الأداة أ بالأداة ب",[189,15379,15380],{},"مثال: \"مزامنة Notion إلى Shopify\" (15k دولار MRR)",[189,15382,15383,15386],{},[174,15384,15385],{},"إضافات Chrome",[186,15387,15388,15391],{},[189,15389,15390],{},"تعزيز الأدوات الموجودة",[189,15392,15393],{},"مثال: \"LinkedIn inbox أفضل\" (25k دولار MRR)",[189,15395,15396,15399],{},[174,15397,15398],{},"بوتات Slack/Discord",[186,15400,15401,15404],{},[189,15402,15403],{},"الإنتاجية للفرق",[189,15405,15406],{},"مثال: \"بوت standup\" (12k دولار MRR)",[189,15408,15409,15412],{},[174,15410,15411],{},"CRMs محددة للصناعات",[186,15413,15414,15420],{},[189,15415,15416,15417,4208],{},"\"CRM لـ ",[2008,15418,15419],{},"التخصص",[189,15421,15422],{},"مثال: \"CRM لمصففي الحدائق\" (40k دولار MRR)",[189,15424,15425,15428],{},[174,15426,15427],{},"أدوات سير العمل",[186,15429,15430,15433],{},[189,15431,15432],{},"استبدال جداول البيانات",[189,15434,15435],{},"مثال: \"تقويم محتوى للوكالات\" (30k دولار MRR)",[189,15437,15438,15441],{},[174,15439,15440],{},"APIs إثراء البيانات",[186,15442,15443,15446],{},[189,15444,15445],{},"إضافة بيانات لقواعد البيانات الموجودة",[189,15447,15448],{},"مثال: \"API التحقق من البريد الإلكتروني\" (20k دولار MRR)",[16,15450,15452],{"id":15451},"الأخطاء-الشائعة-التي-يجب-تجنبها","الأخطاء الشائعة التي يجب تجنبها",[209,15454,15456],{"id":15455},"الخطأ-1-الوقوع-في-حب-الحل","❌ الخطأ 1: الوقوع في حب الحل",[12,15458,15459,15462,15463,15466],{},[174,15460,15461],{},"خطأ",": \"أريد بناء ذكاء اصطناعي لـ X\"\n",[174,15464,15465],{},"صحيح",": \"الناس في صناعة X لديهم مشكلة Y\"",[209,15468,15470],{"id":15469},"الخطأ-2-البناء-للجميع","❌ الخطأ 2: البناء للجميع",[12,15472,15473,15475,15476,15478],{},[174,15474,15461],{},": \"أداة إنتاجية لأي شخص\"\n",[174,15477,15465],{},": \"مدير مهام للوكلاء العقاريين\"",[209,15480,15482],{"id":15481},"الخطأ-3-تخطي-التحقق","❌ الخطأ 3: تخطي التحقق",[12,15484,15485,15487,15488,15490],{},[174,15486,15461],{},": بنِ لـ 6 أشهر → أطلق → صمت\n",[174,15489,15465],{},": تحقق في أسبوع → بنِ MVP في 4 أسابيع → كرر",[209,15492,15494],{"id":15493},"الخطأ-4-حل-المشاكل-الخيالية","❌ الخطأ 4: حل المشاكل الخيالية",[12,15496,15497,15499,15500,15502],{},[174,15498,15461],{},": \"يجب أن يريد الناس هذا\"\n",[174,15501,15465],{},": \"10 أشخاص أخبروني أنهم يدفعون لهذا\"",[209,15504,15506],{"id":15505},"الخطأ-5-نسخ-الأدوات-الموجودة","❌ الخطأ 5: نسخ الأدوات الموجودة",[12,15508,15509,15511,15512,15514,15515,15517],{},[174,15510,15461],{},": \"Notion لكن لـ ",[2008,15513,15419],{},"\" (فقط استخدم Notion!)\n",[174,15516,15465],{},": \"سير العمل هذا الذي يفعله الناس يدوياً\"",[16,15519,15521],{"id":15520},"خطة-عملك-هذا-الأسبوع","خطة عملك (هذا الأسبوع)",[12,15523,15524],{},[174,15525,15526],{},"الأيام 1-2: اكتشاف المشاكل",[186,15528,15531,15539,15545],{"className":15529},[15530],"contains-task-list",[189,15532,15535,15538],{"className":15533},[15534],"task-list-item",[5151,15536],{"disabled":54,"type":15537},"checkbox"," سرد 10 إحباطات شخصية",[189,15540,15542,15544],{"className":15541},[15534],[5151,15543],{"disabled":54,"type":15537}," بحث Reddit لـ 3 subs صناعية، لاحظ 5 شكاوى لكل",[189,15546,15548,15550],{"className":15547},[15534],[5151,15549],{"disabled":54,"type":15537}," مقابلة 3 أشخاص عن سير عملهم",[12,15552,15553],{},[174,15554,15555],{},"الأيام 3-4: البحث بالذكاء الاصطناعي",[186,15557,15559,15565,15571],{"className":15558},[15530],[189,15560,15562,15564],{"className":15561},[15534],[5151,15563],{"disabled":54,"type":15537}," استخدم ChatGPT لتحليل الاتجاهات",[189,15566,15568,15570],{"className":15567},[15534],[5151,15569],{"disabled":54,"type":15537}," تحقق Google Trends للتحقق",[189,15572,15574,15576],{"className":15573},[15534],[5151,15575],{"disabled":54,"type":15537}," بحث المنافسين",[12,15578,15579],{},[174,15580,15581],{},"اليوم 5: التحقق السريع",[186,15583,15585,15591,15597],{"className":15584},[15530],[189,15586,15588,15590],{"className":15587},[15534],[5151,15589],{"disabled":54,"type":15537}," بنِ صفحة هبوط (ساعات كحد أقصى)",[189,15592,15594,15596],{"className":15593},[15534],[5151,15595],{"disabled":54,"type":15537}," نشر في 3 مجتمعات",[189,15598,15600,15602],{"className":15599},[15534],[5151,15601],{"disabled":54,"type":15537}," جمع البريد الإلكتروني",[12,15604,15605],{},[174,15606,15607],{},"الأيام 6-7: الخطوات التالية",[186,15609,15611,15617,15623],{"className":15610},[15530],[189,15612,15614,15616],{"className":15613},[15534],[5151,15615],{"disabled":54,"type":15537}," إذا 10+ بريد إلكتروني: بنِ MVP يدوي",[189,15618,15620,15622],{"className":15619},[15534],[5151,15621],{"disabled":54,"type":15537}," إذا \u003C10 بريد إلكتروني: جرب الفكرة التالية",[189,15624,15626,15628],{"className":15625},[15534],[5151,15627],{"disabled":54,"type":15537}," كرر حتى التحقق",[16,15630,8049],{"id":8049},[12,15632,15633],{},"العثور على فكرة شركة ناشئة في 2025 أقل عن الإلهام الذكي وأكثر عن اكتشاف المشاكل المنهجي والتحقق. استخدم الذكاء الاصطناعي لتسريع البحث، لكن تحقق مع البشر الحقيقيين ومحافظهم.",[12,15635,15636],{},[174,15637,15638],{},"الصيغة الفائزة:",[1049,15640,15641,15644,15647,15650,15653],{},[189,15642,15643],{},"العثور على مشكلة مؤلمة (الخبرة الشخصية أو البحث)",[189,15645,15646],{},"التحقق من أن الناس سيدفعون (صفحة هبوط + محادثات)",[189,15648,15649],{},"حلها يدوياً أولاً (لا كود لأشهر)",[189,15651,15652],{},"بناء البرمجيات فقط عند التحقق",[189,15654,15655],{},"التركيز على التوزيع من اليوم الأول",[12,15657,15658],{},"معظم المؤسسين يقضون 6 أشهر في بناء الشيء الخطأ. كن الذي يقضي أسبوع في التحقق، ثم 6 أشهر في بناء الشيء الصحيح.",[12,15660,15661],{},[174,15662,15663],{},"عميلك الأول ينتظر في:",[186,15665,15666,15669,15672,15675],{},[189,15667,15668],{},"شكوى Reddit من الأمس",[189,15670,15671],{},"غضب Twitter مررت به",[189,15673,15674],{},"إحباط عمل صديق",[189,15676,15677],{},"إزعاجك اليومي الخاص",[12,15679,15680],{},"ابدأ البحث. ابدأ السؤال. ابدأ البناء.",[12,15682,15683,1392],{},[174,15684,15685],{},"عميلك الأول موجود هناك، محبط، الآن، ينتظر حلك.",{"title":42,"searchDepth":43,"depth":43,"links":15687},[15688,15689,15697,15706,15712,15713,15720,15721],{"id":14263,"depth":46,"text":14264},{"id":14311,"depth":46,"text":14312,"children":15690},[15691,15692,15693,15694,15695,15696],{"id":14315,"depth":43,"text":14316},{"id":14371,"depth":43,"text":14372},{"id":14408,"depth":43,"text":14409},{"id":14512,"depth":43,"text":14513},{"id":14627,"depth":43,"text":14628},{"id":14724,"depth":43,"text":14725},{"id":14756,"depth":46,"text":14757,"children":15698},[15699,15700,15701,15702,15703,15704,15705],{"id":14760,"depth":43,"text":14761},{"id":14835,"depth":43,"text":14836},{"id":14861,"depth":43,"text":14862},{"id":14927,"depth":43,"text":14928},{"id":14986,"depth":43,"text":14987},{"id":15025,"depth":43,"text":15026},{"id":15072,"depth":43,"text":15073},{"id":15115,"depth":46,"text":15116,"children":15707},[15708,15709,15710,15711],{"id":15119,"depth":43,"text":15120},{"id":15190,"depth":43,"text":15191},{"id":15231,"depth":43,"text":15232},{"id":15298,"depth":43,"text":15299},{"id":15345,"depth":46,"text":15346},{"id":15451,"depth":46,"text":15452,"children":15714},[15715,15716,15717,15718,15719],{"id":15455,"depth":43,"text":15456},{"id":15469,"depth":43,"text":15470},{"id":15481,"depth":43,"text":15482},{"id":15493,"depth":43,"text":15494},{"id":15505,"depth":43,"text":15506},{"id":15520,"depth":46,"text":15521},{"id":8049,"depth":46,"text":8049},"startups","اكتشف طرق مثبتة للعثور على أفكار شركات ناشئة مربحة في 2025 باستخدام أدوات الذكاء الاصطناعي، أطر التحقق من المشاكل، وتقنيات البحث الحديثة. من تحليل اتجاهات ChatGPT إلى فرص micro-SaaS.","https://images.unsplash.com/photo-1577401159468-3bbc7ee440b5?q=80&w=1200",{"excerpt":15726},{"type":9,"value":15727},[15728,15730,15734,15738],[12,15729,14245],{},[12,15731,15732,14251],{},[174,15733,14250],{},[12,15735,15736,14257],{},[174,15737,14256],{},[12,15739,14260],{},"/alathwr-ala-fkrh-shrkh-nasheh-2025","2023-02-13",{"title":14240,"description":15723},"العثور-على-فكرة-شركة-ناشئة-2025",[15722,15745,15746,2044,15747,15748],"entrepreneurship","idea-validation","micro-saas","problem-discovery","9XdTGjTbnHdGRLET5nILR83hBtCjUWuqwxhVip3kVWo",{"id":15751,"title":15752,"author":7,"body":15753,"category":2123,"description":2110,"extension":52,"image":15765,"isDraft":54,"isFeatured":55,"locale":56,"meta":15766,"navigation":54,"path":15771,"publishedAt":15772,"readingTime":2842,"seo":15773,"stem":15774,"tags":15775,"updatedAt":15772,"__hash__":15777},"articles_ar/بناء-api-قوي-ومرن-دليل-شامل-بالعربية.md","بناء API قوي ومرن: دليل شامل بالعربية",{"type":9,"value":15754,"toc":15762},[15755,15758,15760],[12,15756,15757],{},"بناء API قوي ومرن هو أساس أي تطبيق حديث.",[16,15759,2102],{"id":2101},[12,15761,2105],{},{"title":42,"searchDepth":43,"depth":43,"links":15763},[15764],{"id":2101,"depth":46,"text":2102},"https://images.unsplash.com/photo-1555066931-4365d14bab8c?q=80&w=1200&auto=format&fit=crop",{"excerpt":15767},{"type":9,"value":15768},[15769],[12,15770,15757],{},"/bnaa-api-qwy-wmrn-dlyl-shaml-balarbyh","2025-03-18",{"title":15752,"description":2110},"بناء-api-قوي-ومرن-دليل-شامل-بالعربية",[2123,15776,2125,3659],"API","Dv6zkGrIGYWnjudqQuHp-_TXvvzs7t1tHjfxoh9iOwc",{"id":15779,"title":15780,"author":7,"body":15781,"category":3658,"description":8198,"extension":52,"image":15793,"isDraft":54,"isFeatured":55,"locale":56,"meta":15794,"navigation":54,"path":15799,"publishedAt":15800,"readingTime":2574,"seo":15801,"stem":15802,"tags":15803,"updatedAt":15800,"__hash__":15806},"articles_ar/بناء-شبكة-علاقات-قوية-في-مجال-الأعمال.md","بناء شبكة علاقات قوية في مجال الأعمال",{"type":9,"value":15782,"toc":15790},[15783,15786,15788],[12,15784,15785],{},"شبكة العلاقات القوية تفتح أبواباً جديدة لنمو شركتك.",[16,15787,2102],{"id":2101},[12,15789,2105],{},{"title":42,"searchDepth":43,"depth":43,"links":15791},[15792],{"id":2101,"depth":46,"text":2102},"https://images.unsplash.com/photo-1521737711867-e3b97375f902?q=80&w=1200&auto=format&fit=crop",{"excerpt":15795},{"type":9,"value":15796},[15797],[12,15798,15785],{},"/bnaa-shbkh-alaqat-qwyh-fy-mjal-alaamal","2025-07-08",{"title":15780,"description":8198},"بناء-شبكة-علاقات-قوية-في-مجال-الأعمال",[3658,8209,15804,15805],"التواصل","العلاقات","WsSyBOeNZ8eGcLSIWoKrJatTivnXyKZqTTZ6qRi5_Qc",{"id":15808,"title":15809,"author":7,"body":15810,"category":1437,"description":20523,"extension":52,"image":8104,"isDraft":55,"isFeatured":54,"locale":56,"meta":20524,"navigation":54,"path":20529,"publishedAt":63,"readingTime":4169,"seo":20530,"stem":20531,"tags":20532,"updatedAt":63,"__hash__":20537},"articles_ar/بناء-مدونة-متعددة-اللغات-باستخدام-nuxt-content.md","بناء مدونة احترافية متعددة اللغات باستخدام Nuxt Content و Nuxt i18n",{"type":9,"value":15811,"toc":20491},[15812,15815,15819,15822,15848,15852,15855,15872,15876,15879,15907,15910,15938,15942,15947,16259,16263,16266,16272,16278,16363,16369,16443,16447,16454,17057,17061,17066,17736,17740,17746,18286,18290,18296,18597,18601,18604,18609,18891,18894,19009,19015,19397,19401,19408,19640,19644,19649,19745,19751,19828,19833,19927,19931,19935,19938,19952,19956,19959,19978,19982,19988,20062,20066,20069,20090,20094,20097,20190,20194,20198,20204,20244,20248,20258,20278,20282,20293,20332,20336,20340,20346,20401,20405,20408,20412,20419,20458,20460,20463,20480,20483,20486,20488],[12,15813,15814],{},"هذا الدليل سيرشدك خطوة بخطوة لبناء نظام مدونة متعدد اللغات متكامل باستخدام Nuxt 3 و Nuxt Content و Nuxt i18n. أنت تقرأ الآن مدونة مبنية بالضبط بهذه التقنيات! سأشارك معك تفاصيل التطبيق الحقيقي والكود والممارسات الأفضل التي استخدمتها.",[16,15816,15818],{"id":15817},"لماذا-بناء-مدونة-متعددة-اللغات","لماذا بناء مدونة متعددة اللغات؟",[12,15820,15821],{},"قبل الخوض في التفاصيل التقنية، دعنا نفهم الفوائد:",[186,15823,15824,15830,15836,15842],{},[189,15825,15826,15829],{},[174,15827,15828],{},"وصول أوسع",": الوصول إلى جماهير عالمية بلغاتهم الأم",[189,15831,15832,15835],{},[174,15833,15834],{},"تحسين محركات البحث",": الظهور في نتائج البحث عبر مناطق لغوية مختلفة",[189,15837,15838,15841],{},[174,15839,15840],{},"تجربة مستخدم أفضل",": المستخدمون يتفاعلون أكثر مع المحتوى بلغتهم المفضلة",[189,15843,15844,15847],{},[174,15845,15846],{},"صورة احترافية",": تظهر الالتزام بخدمة جماهير متنوعة",[16,15849,15851],{"id":15850},"نظرة-عامة-على-المشروع","نظرة عامة على المشروع",[12,15853,15854],{},"تدعم هذه المدونة كلاً من الإنجليزية والعربية (مع دعم RTL)، وتتضمن:",[186,15856,15857,15860,15863,15866,15869],{},[189,15858,15859],{},"تنظيم المحتوى حسب اللغة",[189,15861,15862],{},"توطين ديناميكي للفئات والكتّاب",[189,15864,15865],{},"تحسين SEO مع علامات hreflang",[189,15867,15868],{},"مبدّل اللغات",[189,15870,15871],{},"تصميم متجاوب مع دعم RTL/LTR",[16,15873,15875],{"id":15874},"الخطوة-1-إعداد-المشروع","الخطوة 1: إعداد المشروع",[12,15877,15878],{},"أولاً، أنشئ مشروع Nuxt 3 جديد:",[577,15880,15882],{"className":10709,"code":15881,"language":10711,"meta":42,"style":42},"npx nuxi@latest init my-multilingual-blog\ncd my-multilingual-blog\nnpm install\n",[584,15883,15884,15895,15901],{"__ignoreMap":42},[2008,15885,15886,15888,15890,15892],{"class":2528,"line":2529},[2008,15887,10738],{"class":2760},[2008,15889,10741],{"class":2811},[2008,15891,10744],{"class":2811},[2008,15893,15894],{"class":2811}," my-multilingual-blog\n",[2008,15896,15897,15899],{"class":2528,"line":46},[2008,15898,10772],{"class":10771},[2008,15900,15894],{"class":2811},[2008,15902,15903,15905],{"class":2528,"line":43},[2008,15904,10779],{"class":2760},[2008,15906,10782],{"class":2811},[12,15908,15909],{},"ثبّت المكتبات المطلوبة:",[577,15911,15913],{"className":10709,"code":15912,"language":10711,"meta":42,"style":42},"npm install @nuxt/content @nuxtjs/i18n @nuxtjs/tailwindcss\nnpm install dayjs\n",[584,15914,15915,15929],{"__ignoreMap":42},[2008,15916,15917,15919,15921,15924,15927],{"class":2528,"line":2529},[2008,15918,10779],{"class":2760},[2008,15920,12791],{"class":2811},[2008,15922,15923],{"class":2811}," @nuxt/content",[2008,15925,15926],{"class":2811}," @nuxtjs/i18n",[2008,15928,12794],{"class":2811},[2008,15930,15931,15933,15935],{"class":2528,"line":46},[2008,15932,10779],{"class":2760},[2008,15934,12791],{"class":2811},[2008,15936,15937],{"class":2811}," dayjs\n",[16,15939,15941],{"id":15940},"الخطوة-2-تكوين-وحدات-nuxt","الخطوة 2: تكوين وحدات Nuxt",[12,15943,15944,15945,2713],{},"حدّث ملف ",[584,15946,12799],{},[577,15948,15950],{"className":2679,"code":15949,"language":2681,"meta":42,"style":42},"// nuxt.config.ts\nexport default defineNuxtConfig({\n  modules: [\n    \"@nuxt/content\",\n    \"@nuxtjs/i18n\",\n    \"@nuxtjs/tailwindcss\"\n  ],\n  \n  i18n: {\n    locales: [\n      {\n        code: \"en\",\n        iso: \"en-US\",\n        name: \"English\",\n        file: \"en.json\",\n        dir: \"ltr\"\n      },\n      {\n        code: \"ar\",\n        iso: \"ar-SA\",\n        name: \"العربية\",\n        file: \"ar.json\",\n        dir: \"rtl\" // مهم للغة العربية\n      }\n    ],\n    defaultLocale: \"en\",\n    strategy: \"prefix_except_default\", // روابط: /blog, /ar/blog\n    lazy: true,\n    langDir: \"i18n/locales/\",\n    detectBrowserLanguage: {\n      useCookie: true,\n      cookieKey: \"i18n_redirected\",\n      redirectOn: \"root\"\n    }\n  },\n\n  content: {\n    highlight: {\n      theme: \"github-dark\"\n    }\n  }\n});\n",[584,15951,15952,15956,15966,15973,15980,15987,15992,15997,16001,16008,16015,16020,16030,16040,16050,16060,16068,16073,16077,16086,16095,16104,16113,16123,16128,16133,16142,16155,16164,16174,16181,16190,16200,16208,16212,16216,16220,16227,16235,16244,16249,16254],{"__ignoreMap":42},[2008,15953,15954],{"class":2528,"line":2529},[2008,15955,13249],{"class":2688},[2008,15957,15958,15960,15962,15964],{"class":2528,"line":46},[2008,15959,4310],{"class":2789},[2008,15961,7987],{"class":2789},[2008,15963,12813],{"class":2760},[2008,15965,7993],{"class":2702},[2008,15967,15968,15970],{"class":2528,"line":43},[2008,15969,12820],{"class":2801},[2008,15971,15972],{"class":2702}," [\n",[2008,15974,15975,15978],{"class":2528,"line":2545},[2008,15976,15977],{"class":2811},"    \"@nuxt/content\"",[2008,15979,4521],{"class":2702},[2008,15981,15982,15985],{"class":2528,"line":2551},[2008,15983,15984],{"class":2811},"    \"@nuxtjs/i18n\"",[2008,15986,4521],{"class":2702},[2008,15988,15989],{"class":2528,"line":2557},[2008,15990,15991],{"class":2811},"    \"@nuxtjs/tailwindcss\"\n",[2008,15993,15994],{"class":2528,"line":2563},[2008,15995,15996],{"class":2702},"  ],\n",[2008,15998,15999],{"class":2528,"line":2568},[2008,16000,12382],{"class":2702},[2008,16002,16003,16006],{"class":2528,"line":2574},[2008,16004,16005],{"class":2801},"  i18n:",[2008,16007,2703],{"class":2702},[2008,16009,16010,16013],{"class":2528,"line":1467},[2008,16011,16012],{"class":2801},"    locales:",[2008,16014,15972],{"class":2702},[2008,16016,16017],{"class":2528,"line":2818},[2008,16018,16019],{"class":2702},"      {\n",[2008,16021,16022,16025,16028],{"class":2528,"line":2842},[2008,16023,16024],{"class":2801},"        code:",[2008,16026,16027],{"class":2811}," \"en\"",[2008,16029,4521],{"class":2702},[2008,16031,16032,16035,16038],{"class":2528,"line":2862},[2008,16033,16034],{"class":2801},"        iso:",[2008,16036,16037],{"class":2811}," \"en-US\"",[2008,16039,4521],{"class":2702},[2008,16041,16042,16045,16048],{"class":2528,"line":2119},[2008,16043,16044],{"class":2801},"        name:",[2008,16046,16047],{"class":2811}," \"English\"",[2008,16049,4521],{"class":2702},[2008,16051,16052,16055,16058],{"class":2528,"line":2035},[2008,16053,16054],{"class":2801},"        file:",[2008,16056,16057],{"class":2811}," \"en.json\"",[2008,16059,4521],{"class":2702},[2008,16061,16062,16065],{"class":2528,"line":3038},[2008,16063,16064],{"class":2801},"        dir:",[2008,16066,16067],{"class":2811}," \"ltr\"\n",[2008,16069,16070],{"class":2528,"line":3044},[2008,16071,16072],{"class":2702},"      },\n",[2008,16074,16075],{"class":2528,"line":2380},[2008,16076,16019],{"class":2702},[2008,16078,16079,16081,16084],{"class":2528,"line":4107},[2008,16080,16024],{"class":2801},[2008,16082,16083],{"class":2811}," \"ar\"",[2008,16085,4521],{"class":2702},[2008,16087,16088,16090,16093],{"class":2528,"line":64},[2008,16089,16034],{"class":2801},[2008,16091,16092],{"class":2811}," \"ar-SA\"",[2008,16094,4521],{"class":2702},[2008,16096,16097,16099,16102],{"class":2528,"line":4120},[2008,16098,16044],{"class":2801},[2008,16100,16101],{"class":2811}," \"العربية\"",[2008,16103,4521],{"class":2702},[2008,16105,16106,16108,16111],{"class":2528,"line":4125},[2008,16107,16054],{"class":2801},[2008,16109,16110],{"class":2811}," \"ar.json\"",[2008,16112,4521],{"class":2702},[2008,16114,16115,16117,16120],{"class":2528,"line":4135},[2008,16116,16064],{"class":2801},[2008,16118,16119],{"class":2811}," \"rtl\"",[2008,16121,16122],{"class":2688}," // مهم للغة العربية\n",[2008,16124,16125],{"class":2528,"line":4145},[2008,16126,16127],{"class":2702},"      }\n",[2008,16129,16130],{"class":2528,"line":4169},[2008,16131,16132],{"class":2702},"    ],\n",[2008,16134,16135,16138,16140],{"class":2528,"line":4192},[2008,16136,16137],{"class":2801},"    defaultLocale:",[2008,16139,16027],{"class":2811},[2008,16141,4521],{"class":2702},[2008,16143,16144,16147,16150,16152],{"class":2528,"line":4229},[2008,16145,16146],{"class":2801},"    strategy:",[2008,16148,16149],{"class":2811}," \"prefix_except_default\"",[2008,16151,3848],{"class":2702},[2008,16153,16154],{"class":2688},"// روابط: /blog, /ar/blog\n",[2008,16156,16157,16160,16162],{"class":2528,"line":4239},[2008,16158,16159],{"class":2801},"    lazy:",[2008,16161,5859],{"class":5858},[2008,16163,4521],{"class":2702},[2008,16165,16166,16169,16172],{"class":2528,"line":4531},[2008,16167,16168],{"class":2801},"    langDir:",[2008,16170,16171],{"class":2811}," \"i18n/locales/\"",[2008,16173,4521],{"class":2702},[2008,16175,16176,16179],{"class":2528,"line":4539},[2008,16177,16178],{"class":2801},"    detectBrowserLanguage:",[2008,16180,2703],{"class":2702},[2008,16182,16183,16186,16188],{"class":2528,"line":4547},[2008,16184,16185],{"class":2801},"      useCookie:",[2008,16187,5859],{"class":5858},[2008,16189,4521],{"class":2702},[2008,16191,16192,16195,16198],{"class":2528,"line":4555},[2008,16193,16194],{"class":2801},"      cookieKey:",[2008,16196,16197],{"class":2811}," \"i18n_redirected\"",[2008,16199,4521],{"class":2702},[2008,16201,16202,16205],{"class":2528,"line":4561},[2008,16203,16204],{"class":2801},"      redirectOn:",[2008,16206,16207],{"class":2811}," \"root\"\n",[2008,16209,16210],{"class":2528,"line":4566},[2008,16211,3047],{"class":2702},[2008,16213,16214],{"class":2528,"line":5249},[2008,16215,8024],{"class":2702},[2008,16217,16218],{"class":2528,"line":5258},[2008,16219,2548],{"emptyLinePlaceholder":54},[2008,16221,16222,16225],{"class":2528,"line":5267},[2008,16223,16224],{"class":2801},"  content:",[2008,16226,2703],{"class":2702},[2008,16228,16230,16233],{"class":2528,"line":16229},38,[2008,16231,16232],{"class":2801},"    highlight:",[2008,16234,2703],{"class":2702},[2008,16236,16238,16241],{"class":2528,"line":16237},39,[2008,16239,16240],{"class":2801},"      theme:",[2008,16242,16243],{"class":2811}," \"github-dark\"\n",[2008,16245,16247],{"class":2528,"line":16246},40,[2008,16248,3047],{"class":2702},[2008,16250,16252],{"class":2528,"line":16251},41,[2008,16253,4446],{"class":2702},[2008,16255,16257],{"class":2528,"line":16256},42,[2008,16258,4057],{"class":2702},[16,16260,16262],{"id":16261},"الخطوة-3-إنشاء-هيكل-المحتوى","الخطوة 3: إنشاء هيكل المحتوى",[12,16264,16265],{},"نظّم محتواك حسب اللغة:",[577,16267,16270],{"className":16268,"code":16269,"language":582},[580],"content/\n├── en/\n│   ├── articles/\n│   │   ├── my-first-post.md\n│   │   └── another-post.md\n│   ├── authors/\n│   │   └── raed-bahri.md\n│   └── categories/\n│       └── development.md\n├── ar/\n│   ├── articles/\n│   │   ├── my-first-post.md\n│   │   └── another-post.md\n│   ├── authors/\n│   │   └── رائد-البحري.md\n│   └── categories/\n│       └── التطوير.md\n",[584,16271,16269],{"__ignoreMap":42},[12,16273,16274,16275,2713],{},"مثال على مقال إنجليزي في ",[584,16276,16277],{},"content/en/articles/my-first-post.md",[577,16279,16283],{"className":16280,"code":16281,"language":16282,"meta":42,"style":42},"language-markdown shiki shiki-themes github-light dark-plus dark-plus","---\ntitle: \"My First Blog Post\"\ndescription: \"Introduction to my multilingual blog\"\npublishedAt: \"2025-01-10\"\nauthor: \"رائد-البحري\"\ncategory: \"development\"\ntags:\n  - nuxt\n  - tutorial\nimage: \"/images/blog/post-1.jpg\"\nisFeatured: true\nreadingTime: 5\nlocale: \"en\"\n---\n\nYour content here...\n","markdown",[584,16284,16285,16290,16295,16300,16305,16310,16315,16320,16325,16330,16335,16340,16345,16350,16354,16358],{"__ignoreMap":42},[2008,16286,16287],{"class":2528,"line":2529},[2008,16288,16289],{},"---\n",[2008,16291,16292],{"class":2528,"line":46},[2008,16293,16294],{},"title: \"My First Blog Post\"\n",[2008,16296,16297],{"class":2528,"line":43},[2008,16298,16299],{},"description: \"Introduction to my multilingual blog\"\n",[2008,16301,16302],{"class":2528,"line":2545},[2008,16303,16304],{},"publishedAt: \"2025-01-10\"\n",[2008,16306,16307],{"class":2528,"line":2551},[2008,16308,16309],{},"author: \"رائد-البحري\"\n",[2008,16311,16312],{"class":2528,"line":2557},[2008,16313,16314],{},"category: \"development\"\n",[2008,16316,16317],{"class":2528,"line":2563},[2008,16318,16319],{},"tags:\n",[2008,16321,16322],{"class":2528,"line":2568},[2008,16323,16324],{},"  - nuxt\n",[2008,16326,16327],{"class":2528,"line":2574},[2008,16328,16329],{},"  - tutorial\n",[2008,16331,16332],{"class":2528,"line":1467},[2008,16333,16334],{},"image: \"/images/blog/post-1.jpg\"\n",[2008,16336,16337],{"class":2528,"line":2818},[2008,16338,16339],{},"isFeatured: true\n",[2008,16341,16342],{"class":2528,"line":2842},[2008,16343,16344],{},"readingTime: 5\n",[2008,16346,16347],{"class":2528,"line":2862},[2008,16348,16349],{},"locale: \"en\"\n",[2008,16351,16352],{"class":2528,"line":2119},[2008,16353,16289],{},[2008,16355,16356],{"class":2528,"line":2035},[2008,16357,2548],{"emptyLinePlaceholder":54},[2008,16359,16360],{"class":2528,"line":3038},[2008,16361,16362],{},"Your content here...\n",[12,16364,16365,16366,2713],{},"مثال على مقال عربي في ",[584,16367,16368],{},"content/ar/articles/my-first-post.md",[577,16370,16372],{"className":16280,"code":16371,"language":16282,"meta":42,"style":42},"---\ntitle: \"مقالتي الأولى\"\ndescription: \"مقدمة إلى مدونتي متعددة اللغات\"\npublishedAt: \"2025-01-10\"\nauthor: \"رائد-البحري\"\ncategory: \"development\"\ntags:\n  - nuxt\n  - تعليم\nimage: \"/images/blog/post-1.jpg\"\nisFeatured: true\nreadingTime: 5\nlocale: \"ar\"\n---\n\nالمحتوى هنا...\n",[584,16373,16374,16378,16383,16388,16392,16396,16400,16404,16408,16413,16417,16421,16425,16430,16434,16438],{"__ignoreMap":42},[2008,16375,16376],{"class":2528,"line":2529},[2008,16377,16289],{},[2008,16379,16380],{"class":2528,"line":46},[2008,16381,16382],{},"title: \"مقالتي الأولى\"\n",[2008,16384,16385],{"class":2528,"line":43},[2008,16386,16387],{},"description: \"مقدمة إلى مدونتي متعددة اللغات\"\n",[2008,16389,16390],{"class":2528,"line":2545},[2008,16391,16304],{},[2008,16393,16394],{"class":2528,"line":2551},[2008,16395,16309],{},[2008,16397,16398],{"class":2528,"line":2557},[2008,16399,16314],{},[2008,16401,16402],{"class":2528,"line":2563},[2008,16403,16319],{},[2008,16405,16406],{"class":2528,"line":2568},[2008,16407,16324],{},[2008,16409,16410],{"class":2528,"line":2574},[2008,16411,16412],{},"  - تعليم\n",[2008,16414,16415],{"class":2528,"line":1467},[2008,16416,16334],{},[2008,16418,16419],{"class":2528,"line":2818},[2008,16420,16339],{},[2008,16422,16423],{"class":2528,"line":2842},[2008,16424,16344],{},[2008,16426,16427],{"class":2528,"line":2862},[2008,16428,16429],{},"locale: \"ar\"\n",[2008,16431,16432],{"class":2528,"line":2119},[2008,16433,16289],{},[2008,16435,16436],{"class":2528,"line":2035},[2008,16437,2548],{"emptyLinePlaceholder":54},[2008,16439,16440],{"class":2528,"line":3038},[2008,16441,16442],{},"المحتوى هنا...\n",[16,16444,16446],{"id":16445},"الخطوة-4-إنشاء-تعريفات-الأنواع","الخطوة 4: إنشاء تعريفات الأنواع",[12,16448,16449,16450,16453],{},"أنشئ ملف ",[584,16451,16452],{},"types/content.ts"," لدعم TypeScript:",[577,16455,16457],{"className":2679,"code":16456,"language":2681,"meta":42,"style":42},"// types/content.ts\nimport { z } from \"zod\";\n\nexport const ArticleSchema = z.object({\n  title: z.string(),\n  description: z.string(),\n  publishedAt: z.string(),\n  author: z.string(),\n  category: z.string(),\n  tags: z.array(z.string()).optional(),\n  image: z.string().optional(),\n  isFeatured: z.boolean().optional(),\n  readingTime: z.number().optional(),\n  locale: z.string(),\n});\n\nexport type Article = z.infer\u003Ctypeof ArticleSchema> & {\n  path: string;\n  _path: string;\n};\n\nexport type Category = {\n  title: string;\n  description: string;\n  slug: string;\n  image?: string;\n  locale: string;\n  _path: string;\n};\n\nexport type Author = {\n  name: string;\n  slug: string;\n  bio: string;\n  avatar: string;\n  locale: string;\n};\n\n// دوال مساعدة للحصول على المجموعات\nexport const getArticlesCollection = (locale: string) => {\n  return `${locale}/articles`;\n};\n\nexport const getCategoriesCollection = (locale: string) => {\n  return `${locale}/categories`;\n};\n\nexport const getAuthorsCollection = (locale: string) => {\n  return `${locale}/authors`;\n};\n",[584,16458,16459,16464,16482,16486,16507,16520,16532,16545,16558,16571,16598,16615,16633,16651,16664,16668,16672,16706,16717,16728,16733,16737,16750,16761,16772,16783,16794,16805,16815,16819,16823,16836,16846,16856,16867,16878,16888,16892,16896,16901,16927,16945,16949,16954,16980,16998,17003,17008,17034,17052],{"__ignoreMap":42},[2008,16460,16461],{"class":2528,"line":2529},[2008,16462,16463],{"class":2688},"// types/content.ts\n",[2008,16465,16466,16468,16470,16473,16475,16477,16480],{"class":2528,"line":46},[2008,16467,3841],{"class":2789},[2008,16469,2775],{"class":2702},[2008,16471,16472],{"class":2801},"z",[2008,16474,3865],{"class":2702},[2008,16476,3868],{"class":2789},[2008,16478,16479],{"class":2811}," \"zod\"",[2008,16481,2720],{"class":2702},[2008,16483,16484],{"class":2528,"line":43},[2008,16485,2548],{"emptyLinePlaceholder":54},[2008,16487,16488,16490,16492,16495,16497,16500,16502,16505],{"class":2528,"line":2545},[2008,16489,4310],{"class":2789},[2008,16491,4313],{"class":2694},[2008,16493,16494],{"class":3890}," ArticleSchema",[2008,16496,3894],{"class":2712},[2008,16498,16499],{"class":2801}," z",[2008,16501,181],{"class":2702},[2008,16503,16504],{"class":2760},"object",[2008,16506,7993],{"class":2702},[2008,16508,16509,16511,16513,16515,16517],{"class":2528,"line":2551},[2008,16510,10857],{"class":2801},[2008,16512,16499],{"class":2801},[2008,16514,181],{"class":2702},[2008,16516,4977],{"class":2760},[2008,16518,16519],{"class":2702},"(),\n",[2008,16521,16522,16524,16526,16528,16530],{"class":2528,"line":2557},[2008,16523,13576],{"class":2801},[2008,16525,16499],{"class":2801},[2008,16527,181],{"class":2702},[2008,16529,4977],{"class":2760},[2008,16531,16519],{"class":2702},[2008,16533,16534,16537,16539,16541,16543],{"class":2528,"line":2563},[2008,16535,16536],{"class":2801},"  publishedAt:",[2008,16538,16499],{"class":2801},[2008,16540,181],{"class":2702},[2008,16542,4977],{"class":2760},[2008,16544,16519],{"class":2702},[2008,16546,16547,16550,16552,16554,16556],{"class":2528,"line":2568},[2008,16548,16549],{"class":2801},"  author:",[2008,16551,16499],{"class":2801},[2008,16553,181],{"class":2702},[2008,16555,4977],{"class":2760},[2008,16557,16519],{"class":2702},[2008,16559,16560,16563,16565,16567,16569],{"class":2528,"line":2574},[2008,16561,16562],{"class":2801},"  category:",[2008,16564,16499],{"class":2801},[2008,16566,181],{"class":2702},[2008,16568,4977],{"class":2760},[2008,16570,16519],{"class":2702},[2008,16572,16573,16576,16578,16580,16583,16585,16587,16589,16591,16593,16596],{"class":2528,"line":1467},[2008,16574,16575],{"class":2801},"  tags:",[2008,16577,16499],{"class":2801},[2008,16579,181],{"class":2702},[2008,16581,16582],{"class":2760},"array",[2008,16584,3900],{"class":2702},[2008,16586,16472],{"class":2801},[2008,16588,181],{"class":2702},[2008,16590,4977],{"class":2760},[2008,16592,7063],{"class":2702},[2008,16594,16595],{"class":2760},"optional",[2008,16597,16519],{"class":2702},[2008,16599,16600,16603,16605,16607,16609,16611,16613],{"class":2528,"line":2818},[2008,16601,16602],{"class":2801},"  image:",[2008,16604,16499],{"class":2801},[2008,16606,181],{"class":2702},[2008,16608,4977],{"class":2760},[2008,16610,12211],{"class":2702},[2008,16612,16595],{"class":2760},[2008,16614,16519],{"class":2702},[2008,16616,16617,16620,16622,16624,16627,16629,16631],{"class":2528,"line":2842},[2008,16618,16619],{"class":2801},"  isFeatured:",[2008,16621,16499],{"class":2801},[2008,16623,181],{"class":2702},[2008,16625,16626],{"class":2760},"boolean",[2008,16628,12211],{"class":2702},[2008,16630,16595],{"class":2760},[2008,16632,16519],{"class":2702},[2008,16634,16635,16638,16640,16642,16645,16647,16649],{"class":2528,"line":2862},[2008,16636,16637],{"class":2801},"  readingTime:",[2008,16639,16499],{"class":2801},[2008,16641,181],{"class":2702},[2008,16643,16644],{"class":2760},"number",[2008,16646,12211],{"class":2702},[2008,16648,16595],{"class":2760},[2008,16650,16519],{"class":2702},[2008,16652,16653,16656,16658,16660,16662],{"class":2528,"line":2119},[2008,16654,16655],{"class":2801},"  locale:",[2008,16657,16499],{"class":2801},[2008,16659,181],{"class":2702},[2008,16661,4977],{"class":2760},[2008,16663,16519],{"class":2702},[2008,16665,16666],{"class":2528,"line":2035},[2008,16667,4057],{"class":2702},[2008,16669,16670],{"class":2528,"line":3038},[2008,16671,2548],{"emptyLinePlaceholder":54},[2008,16673,16674,16676,16679,16682,16684,16686,16688,16691,16693,16696,16698,16701,16704],{"class":2528,"line":3044},[2008,16675,4310],{"class":2789},[2008,16677,16678],{"class":2694}," type",[2008,16680,16681],{"class":2698}," Article",[2008,16683,3894],{"class":2712},[2008,16685,16499],{"class":2698},[2008,16687,181],{"class":2702},[2008,16689,16690],{"class":2698},"infer",[2008,16692,3818],{"class":2702},[2008,16694,16695],{"class":2694},"typeof",[2008,16697,16494],{"class":2801},[2008,16699,16700],{"class":2702},"> ",[2008,16702,16703],{"class":2712},"&",[2008,16705,2703],{"class":2702},[2008,16707,16708,16711,16713,16715],{"class":2528,"line":2380},[2008,16709,16710],{"class":2708},"  path",[2008,16712,2713],{"class":2712},[2008,16714,2730],{"class":2716},[2008,16716,2720],{"class":2702},[2008,16718,16719,16722,16724,16726],{"class":2528,"line":4107},[2008,16720,16721],{"class":2708},"  _path",[2008,16723,2713],{"class":2712},[2008,16725,2730],{"class":2716},[2008,16727,2720],{"class":2702},[2008,16729,16730],{"class":2528,"line":64},[2008,16731,16732],{"class":2702},"};\n",[2008,16734,16735],{"class":2528,"line":4120},[2008,16736,2548],{"emptyLinePlaceholder":54},[2008,16738,16739,16741,16743,16746,16748],{"class":2528,"line":4125},[2008,16740,4310],{"class":2789},[2008,16742,16678],{"class":2694},[2008,16744,16745],{"class":2698}," Category",[2008,16747,3894],{"class":2712},[2008,16749,2703],{"class":2702},[2008,16751,16752,16755,16757,16759],{"class":2528,"line":4135},[2008,16753,16754],{"class":2708},"  title",[2008,16756,2713],{"class":2712},[2008,16758,2730],{"class":2716},[2008,16760,2720],{"class":2702},[2008,16762,16763,16766,16768,16770],{"class":2528,"line":4145},[2008,16764,16765],{"class":2708},"  description",[2008,16767,2713],{"class":2712},[2008,16769,2730],{"class":2716},[2008,16771,2720],{"class":2702},[2008,16773,16774,16777,16779,16781],{"class":2528,"line":4169},[2008,16775,16776],{"class":2708},"  slug",[2008,16778,2713],{"class":2712},[2008,16780,2730],{"class":2716},[2008,16782,2720],{"class":2702},[2008,16784,16785,16788,16790,16792],{"class":2528,"line":4192},[2008,16786,16787],{"class":2708},"  image",[2008,16789,4913],{"class":2712},[2008,16791,2730],{"class":2716},[2008,16793,2720],{"class":2702},[2008,16795,16796,16799,16801,16803],{"class":2528,"line":4229},[2008,16797,16798],{"class":2708},"  locale",[2008,16800,2713],{"class":2712},[2008,16802,2730],{"class":2716},[2008,16804,2720],{"class":2702},[2008,16806,16807,16809,16811,16813],{"class":2528,"line":4239},[2008,16808,16721],{"class":2708},[2008,16810,2713],{"class":2712},[2008,16812,2730],{"class":2716},[2008,16814,2720],{"class":2702},[2008,16816,16817],{"class":2528,"line":4531},[2008,16818,16732],{"class":2702},[2008,16820,16821],{"class":2528,"line":4539},[2008,16822,2548],{"emptyLinePlaceholder":54},[2008,16824,16825,16827,16829,16832,16834],{"class":2528,"line":4547},[2008,16826,4310],{"class":2789},[2008,16828,16678],{"class":2694},[2008,16830,16831],{"class":2698}," Author",[2008,16833,3894],{"class":2712},[2008,16835,2703],{"class":2702},[2008,16837,16838,16840,16842,16844],{"class":2528,"line":4555},[2008,16839,2725],{"class":2708},[2008,16841,2713],{"class":2712},[2008,16843,2730],{"class":2716},[2008,16845,2720],{"class":2702},[2008,16847,16848,16850,16852,16854],{"class":2528,"line":4561},[2008,16849,16776],{"class":2708},[2008,16851,2713],{"class":2712},[2008,16853,2730],{"class":2716},[2008,16855,2720],{"class":2702},[2008,16857,16858,16861,16863,16865],{"class":2528,"line":4566},[2008,16859,16860],{"class":2708},"  bio",[2008,16862,2713],{"class":2712},[2008,16864,2730],{"class":2716},[2008,16866,2720],{"class":2702},[2008,16868,16869,16872,16874,16876],{"class":2528,"line":5249},[2008,16870,16871],{"class":2708},"  avatar",[2008,16873,2713],{"class":2712},[2008,16875,2730],{"class":2716},[2008,16877,2720],{"class":2702},[2008,16879,16880,16882,16884,16886],{"class":2528,"line":5258},[2008,16881,16798],{"class":2708},[2008,16883,2713],{"class":2712},[2008,16885,2730],{"class":2716},[2008,16887,2720],{"class":2702},[2008,16889,16890],{"class":2528,"line":5267},[2008,16891,16732],{"class":2702},[2008,16893,16894],{"class":2528,"line":16229},[2008,16895,2548],{"emptyLinePlaceholder":54},[2008,16897,16898],{"class":2528,"line":16237},[2008,16899,16900],{"class":2688},"// دوال مساعدة للحصول على المجموعات\n",[2008,16902,16903,16905,16907,16910,16912,16914,16917,16919,16921,16923,16925],{"class":2528,"line":16246},[2008,16904,4310],{"class":2789},[2008,16906,4313],{"class":2694},[2008,16908,16909],{"class":2760}," getArticlesCollection",[2008,16911,3894],{"class":2712},[2008,16913,5381],{"class":2702},[2008,16915,16916],{"class":2708},"locale",[2008,16918,2713],{"class":2712},[2008,16920,2730],{"class":2716},[2008,16922,4011],{"class":2702},[2008,16924,3965],{"class":2694},[2008,16926,2703],{"class":2702},[2008,16928,16929,16931,16934,16936,16938,16940,16943],{"class":2528,"line":16251},[2008,16930,2790],{"class":2789},[2008,16932,16933],{"class":2811}," `",[2008,16935,4034],{"class":4033},[2008,16937,16916],{"class":2801},[2008,16939,2832],{"class":4033},[2008,16941,16942],{"class":2811},"/articles`",[2008,16944,2720],{"class":2702},[2008,16946,16947],{"class":2528,"line":16256},[2008,16948,16732],{"class":2702},[2008,16950,16952],{"class":2528,"line":16951},43,[2008,16953,2548],{"emptyLinePlaceholder":54},[2008,16955,16957,16959,16961,16964,16966,16968,16970,16972,16974,16976,16978],{"class":2528,"line":16956},44,[2008,16958,4310],{"class":2789},[2008,16960,4313],{"class":2694},[2008,16962,16963],{"class":2760}," getCategoriesCollection",[2008,16965,3894],{"class":2712},[2008,16967,5381],{"class":2702},[2008,16969,16916],{"class":2708},[2008,16971,2713],{"class":2712},[2008,16973,2730],{"class":2716},[2008,16975,4011],{"class":2702},[2008,16977,3965],{"class":2694},[2008,16979,2703],{"class":2702},[2008,16981,16983,16985,16987,16989,16991,16993,16996],{"class":2528,"line":16982},45,[2008,16984,2790],{"class":2789},[2008,16986,16933],{"class":2811},[2008,16988,4034],{"class":4033},[2008,16990,16916],{"class":2801},[2008,16992,2832],{"class":4033},[2008,16994,16995],{"class":2811},"/categories`",[2008,16997,2720],{"class":2702},[2008,16999,17001],{"class":2528,"line":17000},46,[2008,17002,16732],{"class":2702},[2008,17004,17006],{"class":2528,"line":17005},47,[2008,17007,2548],{"emptyLinePlaceholder":54},[2008,17009,17011,17013,17015,17018,17020,17022,17024,17026,17028,17030,17032],{"class":2528,"line":17010},48,[2008,17012,4310],{"class":2789},[2008,17014,4313],{"class":2694},[2008,17016,17017],{"class":2760}," getAuthorsCollection",[2008,17019,3894],{"class":2712},[2008,17021,5381],{"class":2702},[2008,17023,16916],{"class":2708},[2008,17025,2713],{"class":2712},[2008,17027,2730],{"class":2716},[2008,17029,4011],{"class":2702},[2008,17031,3965],{"class":2694},[2008,17033,2703],{"class":2702},[2008,17035,17037,17039,17041,17043,17045,17047,17050],{"class":2528,"line":17036},49,[2008,17038,2790],{"class":2789},[2008,17040,16933],{"class":2811},[2008,17042,4034],{"class":4033},[2008,17044,16916],{"class":2801},[2008,17046,2832],{"class":4033},[2008,17048,17049],{"class":2811},"/authors`",[2008,17051,2720],{"class":2702},[2008,17053,17055],{"class":2528,"line":17054},50,[2008,17056,16732],{"class":2702},[16,17058,17060],{"id":17059},"الخطوة-5-بناء-صفحة-فهرس-المدونة","الخطوة 5: بناء صفحة فهرس المدونة",[12,17062,16449,17063,2713],{},[584,17064,17065],{},"app/pages/index.vue",[577,17067,17069],{"className":3808,"code":17068,"language":3810,"meta":42,"style":42},"\u003Cscript setup lang=\"ts\">\nimport { getArticlesCollection, type Article } from \"@@/types/content\";\n\nconst { locale } = useI18n();\nconst localePath = useLocalePath();\n\n// جلب المقالات للغة الحالية\nconst { data: posts } = await useAsyncData\u003CArticle[]>(\n  `articles-${locale.value}`,\n  async () => {\n    const collection = getArticlesCollection(locale.value);\n    return queryCollection(collection).all();\n  },\n  { watch: [locale] } // مهم: مراقبة تغييرات اللغة\n);\n\n// الحصول على المقالات المميزة\nconst featuredPosts = computed(() => \n  posts.value?.filter(post => post.isFeatured) || []\n);\n\u003C/script>\n\n\u003Ctemplate>\n  \u003Cmain>\n    \u003Csection class=\"container py-12\">\n      \u003Ch1 class=\"text-4xl font-bold mb-8\">\n        {{ $t('blog.title') }}\n      \u003C/h1>\n      \n      \u003C!-- شبكة المقالات المميزة -->\n      \u003Cdiv class=\"grid md:grid-cols-2 lg:grid-cols-3 gap-6\">\n        \u003CNuxtLink\n          v-for=\"post in featuredPosts\"\n          :key=\"post.path\"\n          :to=\"localePath(post.path)\"\n          class=\"border rounded-lg overflow-hidden hover:shadow-lg transition\"\n        >\n          \u003Cimg \n            :src=\"post.image\" \n            :alt=\"post.title\"\n            class=\"w-full h-48 object-cover\"\n          />\n          \u003Cdiv class=\"p-4\">\n            \u003Ch2 class=\"text-xl font-bold mb-2\">{{ post.title }}\u003C/h2>\n            \u003Cp class=\"text-gray-600\">{{ post.description }}\u003C/p>\n          \u003C/div>\n        \u003C/NuxtLink>\n      \u003C/div>\n    \u003C/section>\n  \u003C/main>\n\u003C/template>\n",[584,17070,17071,17087,17112,17116,17134,17148,17152,17157,17186,17205,17216,17237,17256,17260,17278,17282,17286,17291,17308,17344,17348,17356,17360,17368,17376,17392,17407,17422,17430,17435,17440,17455,17462,17479,17499,17524,17534,17539,17549,17572,17591,17601,17606,17621,17653,17685,17694,17703,17711,17719,17727],{"__ignoreMap":42},[2008,17072,17073,17075,17077,17079,17081,17083,17085],{"class":2528,"line":2529},[2008,17074,3818],{"class":3817},[2008,17076,3822],{"class":3821},[2008,17078,3826],{"class":3825},[2008,17080,3829],{"class":3825},[2008,17082,2808],{"class":2702},[2008,17084,3834],{"class":2811},[2008,17086,2815],{"class":3817},[2008,17088,17089,17091,17093,17096,17098,17101,17103,17105,17107,17110],{"class":2528,"line":46},[2008,17090,3841],{"class":2789},[2008,17092,2775],{"class":2702},[2008,17094,17095],{"class":2801},"getArticlesCollection",[2008,17097,3848],{"class":2702},[2008,17099,17100],{"class":2789},"type",[2008,17102,16681],{"class":2801},[2008,17104,3865],{"class":2702},[2008,17106,3868],{"class":2789},[2008,17108,17109],{"class":2811}," \"@@/types/content\"",[2008,17111,2720],{"class":2702},[2008,17113,17114],{"class":2528,"line":43},[2008,17115,2548],{"emptyLinePlaceholder":54},[2008,17117,17118,17120,17122,17124,17126,17128,17131],{"class":2528,"line":2545},[2008,17119,3887],{"class":2694},[2008,17121,2775],{"class":2702},[2008,17123,16916],{"class":3890},[2008,17125,3865],{"class":2702},[2008,17127,2808],{"class":2712},[2008,17129,17130],{"class":2760}," useI18n",[2008,17132,17133],{"class":2702},"();\n",[2008,17135,17136,17138,17141,17143,17146],{"class":2528,"line":2551},[2008,17137,3887],{"class":2694},[2008,17139,17140],{"class":3890}," localePath",[2008,17142,3894],{"class":2712},[2008,17144,17145],{"class":2760}," useLocalePath",[2008,17147,17133],{"class":2702},[2008,17149,17150],{"class":2528,"line":2557},[2008,17151,2548],{"emptyLinePlaceholder":54},[2008,17153,17154],{"class":2528,"line":2563},[2008,17155,17156],{"class":2688},"// جلب المقالات للغة الحالية\n",[2008,17158,17159,17161,17163,17165,17167,17170,17172,17174,17176,17178,17180,17183],{"class":2528,"line":2568},[2008,17160,3887],{"class":2694},[2008,17162,2775],{"class":2702},[2008,17164,8457],{"class":2708},[2008,17166,4974],{"class":2702},[2008,17168,17169],{"class":3890},"posts",[2008,17171,3865],{"class":2702},[2008,17173,2808],{"class":2712},[2008,17175,7747],{"class":2789},[2008,17177,7583],{"class":2760},[2008,17179,3818],{"class":2702},[2008,17181,17182],{"class":2698},"Article",[2008,17184,17185],{"class":2702},"[]>(\n",[2008,17187,17188,17191,17193,17195,17197,17199,17201,17203],{"class":2528,"line":2574},[2008,17189,17190],{"class":2811},"  `articles-",[2008,17192,4034],{"class":4033},[2008,17194,16916],{"class":2801},[2008,17196,181],{"class":4096},[2008,17198,3972],{"class":2801},[2008,17200,2832],{"class":4033},[2008,17202,4050],{"class":2811},[2008,17204,4521],{"class":2702},[2008,17206,17207,17210,17212,17214],{"class":2528,"line":1467},[2008,17208,17209],{"class":2694},"  async",[2008,17211,6290],{"class":2702},[2008,17213,3965],{"class":2694},[2008,17215,2703],{"class":2702},[2008,17217,17218,17220,17223,17225,17227,17229,17231,17233,17235],{"class":2528,"line":2818},[2008,17219,6981],{"class":2694},[2008,17221,17222],{"class":3890}," collection",[2008,17224,3894],{"class":2712},[2008,17226,16909],{"class":2760},[2008,17228,3900],{"class":2702},[2008,17230,16916],{"class":2801},[2008,17232,181],{"class":2702},[2008,17234,3972],{"class":2801},[2008,17236,3907],{"class":2702},[2008,17238,17239,17241,17244,17246,17249,17251,17254],{"class":2528,"line":2842},[2008,17240,13925],{"class":2789},[2008,17242,17243],{"class":2760}," queryCollection",[2008,17245,3900],{"class":2702},[2008,17247,17248],{"class":2801},"collection",[2008,17250,7217],{"class":2702},[2008,17252,17253],{"class":2760},"all",[2008,17255,17133],{"class":2702},[2008,17257,17258],{"class":2528,"line":2862},[2008,17259,8024],{"class":2702},[2008,17261,17262,17265,17268,17270,17272,17275],{"class":2528,"line":2119},[2008,17263,17264],{"class":2702},"  { ",[2008,17266,17267],{"class":2801},"watch:",[2008,17269,4968],{"class":2702},[2008,17271,16916],{"class":2801},[2008,17273,17274],{"class":2702},"] } ",[2008,17276,17277],{"class":2688},"// مهم: مراقبة تغييرات اللغة\n",[2008,17279,17280],{"class":2528,"line":2035},[2008,17281,3907],{"class":2702},[2008,17283,17284],{"class":2528,"line":3038},[2008,17285,2548],{"emptyLinePlaceholder":54},[2008,17287,17288],{"class":2528,"line":3044},[2008,17289,17290],{"class":2688},"// الحصول على المقالات المميزة\n",[2008,17292,17293,17295,17298,17300,17302,17304,17306],{"class":2528,"line":2380},[2008,17294,3887],{"class":2694},[2008,17296,17297],{"class":3890}," featuredPosts",[2008,17299,3894],{"class":2712},[2008,17301,3959],{"class":2760},[2008,17303,3962],{"class":2702},[2008,17305,3965],{"class":2694},[2008,17307,8557],{"class":2702},[2008,17309,17310,17313,17315,17317,17320,17322,17324,17326,17328,17331,17333,17336,17338,17341],{"class":2528,"line":4107},[2008,17311,17312],{"class":2801},"  posts",[2008,17314,181],{"class":2702},[2008,17316,3972],{"class":2801},[2008,17318,17319],{"class":2702},"?.",[2008,17321,8475],{"class":2760},[2008,17323,3900],{"class":2702},[2008,17325,11030],{"class":2708},[2008,17327,8482],{"class":2694},[2008,17329,17330],{"class":2801}," post",[2008,17332,181],{"class":2702},[2008,17334,17335],{"class":2801},"isFeatured",[2008,17337,4011],{"class":2702},[2008,17339,17340],{"class":2712},"||",[2008,17342,17343],{"class":2702}," []\n",[2008,17345,17346],{"class":2528,"line":64},[2008,17347,3907],{"class":2702},[2008,17349,17350,17352,17354],{"class":2528,"line":4120},[2008,17351,2835],{"class":3817},[2008,17353,3822],{"class":3821},[2008,17355,2815],{"class":3817},[2008,17357,17358],{"class":2528,"line":4125},[2008,17359,2548],{"emptyLinePlaceholder":54},[2008,17361,17362,17364,17366],{"class":2528,"line":4135},[2008,17363,3818],{"class":3817},[2008,17365,4130],{"class":3821},[2008,17367,2815],{"class":3817},[2008,17369,17370,17372,17374],{"class":2528,"line":4145},[2008,17371,4138],{"class":3817},[2008,17373,11307],{"class":3821},[2008,17375,2815],{"class":3817},[2008,17377,17378,17380,17383,17385,17387,17390],{"class":2528,"line":4169},[2008,17379,2798],{"class":3817},[2008,17381,17382],{"class":3821},"section",[2008,17384,5078],{"class":3825},[2008,17386,2808],{"class":2702},[2008,17388,17389],{"class":2811},"\"container py-12\"",[2008,17391,2815],{"class":3817},[2008,17393,17394,17396,17398,17400,17402,17405],{"class":2528,"line":4192},[2008,17395,2821],{"class":3817},[2008,17397,10899],{"class":3821},[2008,17399,5078],{"class":3825},[2008,17401,2808],{"class":2702},[2008,17403,17404],{"class":2811},"\"text-4xl font-bold mb-8\"",[2008,17406,2815],{"class":3817},[2008,17408,17409,17411,17414,17416,17419],{"class":2528,"line":4229},[2008,17410,11921],{"class":2702},[2008,17412,17413],{"class":2760},"$t",[2008,17415,3900],{"class":2702},[2008,17417,17418],{"class":2811},"'blog.title'",[2008,17420,17421],{"class":2702},") }}\n",[2008,17423,17424,17426,17428],{"class":2528,"line":4239},[2008,17425,11284],{"class":3817},[2008,17427,10899],{"class":3821},[2008,17429,2815],{"class":3817},[2008,17431,17432],{"class":2528,"line":4531},[2008,17433,17434],{"class":2702},"      \n",[2008,17436,17437],{"class":2528,"line":4539},[2008,17438,17439],{"class":2688},"      \u003C!-- شبكة المقالات المميزة -->\n",[2008,17441,17442,17444,17446,17448,17450,17453],{"class":2528,"line":4547},[2008,17443,2821],{"class":3817},[2008,17445,2802],{"class":3821},[2008,17447,5078],{"class":3825},[2008,17449,2808],{"class":2702},[2008,17451,17452],{"class":2811},"\"grid md:grid-cols-2 lg:grid-cols-3 gap-6\"",[2008,17454,2815],{"class":3817},[2008,17456,17457,17459],{"class":2528,"line":4555},[2008,17458,11209],{"class":3817},[2008,17460,17461],{"class":3821},"NuxtLink\n",[2008,17463,17464,17467,17469,17471,17473,17475,17477],{"class":2528,"line":4561},[2008,17465,17466],{"class":2789},"          v-for",[2008,17468,2808],{"class":2702},[2008,17470,4208],{"class":4096},[2008,17472,11030],{"class":2801},[2008,17474,6170],{"class":2694},[2008,17476,17297],{"class":2801},[2008,17478,5143],{"class":4096},[2008,17480,17481,17484,17486,17488,17490,17492,17494,17497],{"class":2528,"line":4566},[2008,17482,17483],{"class":2702},"          :",[2008,17485,5642],{"class":3825},[2008,17487,2808],{"class":2702},[2008,17489,4208],{"class":4096},[2008,17491,11030],{"class":2801},[2008,17493,181],{"class":2702},[2008,17495,17496],{"class":2801},"path",[2008,17498,5143],{"class":4096},[2008,17500,17501,17503,17505,17507,17509,17512,17514,17516,17518,17520,17522],{"class":2528,"line":5249},[2008,17502,17483],{"class":2702},[2008,17504,13873],{"class":3825},[2008,17506,2808],{"class":2702},[2008,17508,4208],{"class":4096},[2008,17510,17511],{"class":2760},"localePath",[2008,17513,3900],{"class":2702},[2008,17515,11030],{"class":2801},[2008,17517,181],{"class":2702},[2008,17519,17496],{"class":2801},[2008,17521,3778],{"class":2702},[2008,17523,5143],{"class":4096},[2008,17525,17526,17529,17531],{"class":2528,"line":5258},[2008,17527,17528],{"class":3825},"          class",[2008,17530,2808],{"class":2702},[2008,17532,17533],{"class":2811},"\"border rounded-lg overflow-hidden hover:shadow-lg transition\"\n",[2008,17535,17536],{"class":2528,"line":5267},[2008,17537,17538],{"class":3817},"        >\n",[2008,17540,17541,17544,17547],{"class":2528,"line":16229},[2008,17542,17543],{"class":3817},"          \u003C",[2008,17545,17546],{"class":3821},"img",[2008,17548,8557],{"class":2702},[2008,17550,17551,17554,17557,17559,17561,17563,17565,17568,17570],{"class":2528,"line":16237},[2008,17552,17553],{"class":2702},"            :",[2008,17555,17556],{"class":3825},"src",[2008,17558,2808],{"class":2702},[2008,17560,4208],{"class":4096},[2008,17562,11030],{"class":2801},[2008,17564,181],{"class":2702},[2008,17566,17567],{"class":2801},"image",[2008,17569,4208],{"class":4096},[2008,17571,8557],{"class":2702},[2008,17573,17574,17576,17579,17581,17583,17585,17587,17589],{"class":2528,"line":16246},[2008,17575,17553],{"class":2702},[2008,17577,17578],{"class":3825},"alt",[2008,17580,2808],{"class":2702},[2008,17582,4208],{"class":4096},[2008,17584,11030],{"class":2801},[2008,17586,181],{"class":2702},[2008,17588,11100],{"class":2801},[2008,17590,5143],{"class":4096},[2008,17592,17593,17596,17598],{"class":2528,"line":16251},[2008,17594,17595],{"class":3825},"            class",[2008,17597,2808],{"class":2702},[2008,17599,17600],{"class":2811},"\"w-full h-48 object-cover\"\n",[2008,17602,17603],{"class":2528,"line":16256},[2008,17604,17605],{"class":3817},"          />\n",[2008,17607,17608,17610,17612,17614,17616,17619],{"class":2528,"line":16951},[2008,17609,17543],{"class":3817},[2008,17611,2802],{"class":3821},[2008,17613,5078],{"class":3825},[2008,17615,2808],{"class":2702},[2008,17617,17618],{"class":2811},"\"p-4\"",[2008,17620,2815],{"class":3817},[2008,17622,17623,17626,17628,17630,17632,17635,17637,17639,17641,17643,17645,17647,17649,17651],{"class":2528,"line":16956},[2008,17624,17625],{"class":3817},"            \u003C",[2008,17627,16],{"class":3821},[2008,17629,5078],{"class":3825},[2008,17631,2808],{"class":2702},[2008,17633,17634],{"class":2811},"\"text-xl font-bold mb-2\"",[2008,17636,4152],{"class":3817},[2008,17638,7461],{"class":2702},[2008,17640,11030],{"class":2801},[2008,17642,181],{"class":2702},[2008,17644,11100],{"class":2801},[2008,17646,4160],{"class":2702},[2008,17648,2835],{"class":3817},[2008,17650,16],{"class":3821},[2008,17652,2815],{"class":3817},[2008,17654,17655,17657,17659,17661,17663,17666,17668,17670,17672,17674,17677,17679,17681,17683],{"class":2528,"line":16982},[2008,17656,17625],{"class":3817},[2008,17658,12],{"class":3821},[2008,17660,5078],{"class":3825},[2008,17662,2808],{"class":2702},[2008,17664,17665],{"class":2811},"\"text-gray-600\"",[2008,17667,4152],{"class":3817},[2008,17669,7461],{"class":2702},[2008,17671,11030],{"class":2801},[2008,17673,181],{"class":2702},[2008,17675,17676],{"class":2801},"description",[2008,17678,4160],{"class":2702},[2008,17680,2835],{"class":3817},[2008,17682,12],{"class":3821},[2008,17684,2815],{"class":3817},[2008,17686,17687,17690,17692],{"class":2528,"line":17000},[2008,17688,17689],{"class":3817},"          \u003C/",[2008,17691,2802],{"class":3821},[2008,17693,2815],{"class":3817},[2008,17695,17696,17699,17701],{"class":2528,"line":17005},[2008,17697,17698],{"class":3817},"        \u003C/",[2008,17700,11212],{"class":3821},[2008,17702,2815],{"class":3817},[2008,17704,17705,17707,17709],{"class":2528,"line":17010},[2008,17706,11284],{"class":3817},[2008,17708,2802],{"class":3821},[2008,17710,2815],{"class":3817},[2008,17712,17713,17715,17717],{"class":2528,"line":17036},[2008,17714,2865],{"class":3817},[2008,17716,17382],{"class":3821},[2008,17718,2815],{"class":3817},[2008,17720,17721,17723,17725],{"class":2528,"line":17054},[2008,17722,4232],{"class":3817},[2008,17724,11307],{"class":3821},[2008,17726,2815],{"class":3817},[2008,17728,17730,17732,17734],{"class":2528,"line":17729},51,[2008,17731,2835],{"class":3817},[2008,17733,4130],{"class":3821},[2008,17735,2815],{"class":3817},[16,17737,17739],{"id":17738},"الخطوة-6-إنشاء-صفحة-تفاصيل-المقال","الخطوة 6: إنشاء صفحة تفاصيل المقال",[12,17741,16449,17742,17745],{},[584,17743,17744],{},"app/pages/[...slug].vue"," لعرض المقالات الديناميكية:",[577,17747,17749],{"className":3808,"code":17748,"language":3810,"meta":42,"style":42},"\u003Cscript setup lang=\"ts\">\nconst { locale } = useI18n();\nconst route = useRoute();\n\n// إنشاء المسار الكامل مع اللغة\nconst path = `/${locale.value}/articles/${route.params.slug}`;\n\nconst { data: article } = await useAsyncData(`article-${path}`, () =>\n  queryContent()\n    .where({ _path: path })\n    .findOne()\n);\n\nif (!article.value) {\n  throw createError({ \n    statusCode: 404, \n    statusMessage: \"المقال غير موجود\" \n  });\n}\n\n// تعيين meta tags لتحسين SEO\nuseHead({\n  title: article.value.title,\n  meta: [\n    { name: \"description\", content: article.value.description },\n    { property: \"og:title\", content: article.value.title },\n    { property: \"og:description\", content: article.value.description },\n    { property: \"og:image\", content: article.value.image },\n  ],\n});\n\u003C/script>\n\n\u003Ctemplate>\n  \u003Carticle class=\"container prose prose-lg mx-auto py-12\">\n    \u003Ch1>{{ article.title }}\u003C/h1>\n    \u003Cdiv class=\"text-gray-600 mb-8\">\n      {{ article.publishedAt }} • {{ article.readingTime }} دقيقة قراءة\n    \u003C/div>\n    \n    \u003CContentRenderer :value=\"article\" />\n  \u003C/article>\n\u003C/template>\n",[584,17750,17751,17767,17783,17795,17799,17804,17848,17852,17890,17896,17913,17921,17925,17929,17946,17957,17968,17978,17983,17987,17991,17996,18003,18020,18027,18055,18081,18106,18131,18135,18139,18147,18151,18159,18174,18198,18213,18237,18245,18249,18270,18278],{"__ignoreMap":42},[2008,17752,17753,17755,17757,17759,17761,17763,17765],{"class":2528,"line":2529},[2008,17754,3818],{"class":3817},[2008,17756,3822],{"class":3821},[2008,17758,3826],{"class":3825},[2008,17760,3829],{"class":3825},[2008,17762,2808],{"class":2702},[2008,17764,3834],{"class":2811},[2008,17766,2815],{"class":3817},[2008,17768,17769,17771,17773,17775,17777,17779,17781],{"class":2528,"line":46},[2008,17770,3887],{"class":2694},[2008,17772,2775],{"class":2702},[2008,17774,16916],{"class":3890},[2008,17776,3865],{"class":2702},[2008,17778,2808],{"class":2712},[2008,17780,17130],{"class":2760},[2008,17782,17133],{"class":2702},[2008,17784,17785,17787,17789,17791,17793],{"class":2528,"line":43},[2008,17786,3887],{"class":2694},[2008,17788,10624],{"class":3890},[2008,17790,3894],{"class":2712},[2008,17792,10629],{"class":2760},[2008,17794,17133],{"class":2702},[2008,17796,17797],{"class":2528,"line":2545},[2008,17798,2548],{"emptyLinePlaceholder":54},[2008,17800,17801],{"class":2528,"line":2551},[2008,17802,17803],{"class":2688},"// إنشاء المسار الكامل مع اللغة\n",[2008,17805,17806,17808,17811,17813,17816,17818,17820,17822,17824,17826,17829,17831,17834,17836,17838,17840,17842,17844,17846],{"class":2528,"line":2557},[2008,17807,3887],{"class":2694},[2008,17809,17810],{"class":3890}," path",[2008,17812,3894],{"class":2712},[2008,17814,17815],{"class":2811}," `/",[2008,17817,4034],{"class":4033},[2008,17819,16916],{"class":2801},[2008,17821,181],{"class":4096},[2008,17823,3972],{"class":2801},[2008,17825,2832],{"class":4033},[2008,17827,17828],{"class":2811},"/articles/",[2008,17830,4034],{"class":4033},[2008,17832,17833],{"class":2801},"route",[2008,17835,181],{"class":4096},[2008,17837,11003],{"class":2801},[2008,17839,181],{"class":4096},[2008,17841,10959],{"class":2801},[2008,17843,2832],{"class":4033},[2008,17845,4050],{"class":2811},[2008,17847,2720],{"class":2702},[2008,17849,17850],{"class":2528,"line":2563},[2008,17851,2548],{"emptyLinePlaceholder":54},[2008,17853,17854,17856,17858,17860,17862,17864,17866,17868,17870,17872,17874,17877,17879,17881,17883,17885,17887],{"class":2528,"line":2568},[2008,17855,3887],{"class":2694},[2008,17857,2775],{"class":2702},[2008,17859,8457],{"class":2708},[2008,17861,4974],{"class":2702},[2008,17863,11081],{"class":3890},[2008,17865,3865],{"class":2702},[2008,17867,2808],{"class":2712},[2008,17869,7747],{"class":2789},[2008,17871,7583],{"class":2760},[2008,17873,3900],{"class":2702},[2008,17875,17876],{"class":2811},"`article-",[2008,17878,4034],{"class":4033},[2008,17880,17496],{"class":2801},[2008,17882,2832],{"class":4033},[2008,17884,4050],{"class":2811},[2008,17886,4329],{"class":2702},[2008,17888,17889],{"class":2694},"=>\n",[2008,17891,17892,17894],{"class":2528,"line":2574},[2008,17893,12903],{"class":2760},[2008,17895,4628],{"class":2702},[2008,17897,17898,17901,17904,17906,17909,17911],{"class":2528,"line":1467},[2008,17899,17900],{"class":2702},"    .",[2008,17902,17903],{"class":2760},"where",[2008,17905,2764],{"class":2702},[2008,17907,17908],{"class":2801},"_path:",[2008,17910,17810],{"class":2801},[2008,17912,5862],{"class":2702},[2008,17914,17915,17917,17919],{"class":2528,"line":2818},[2008,17916,17900],{"class":2702},[2008,17918,12913],{"class":2760},[2008,17920,4628],{"class":2702},[2008,17922,17923],{"class":2528,"line":2842},[2008,17924,3907],{"class":2702},[2008,17926,17927],{"class":2528,"line":2862},[2008,17928,2548],{"emptyLinePlaceholder":54},[2008,17930,17931,17934,17936,17938,17940,17942,17944],{"class":2528,"line":2119},[2008,17932,17933],{"class":2789},"if",[2008,17935,5381],{"class":2702},[2008,17937,13912],{"class":2712},[2008,17939,11081],{"class":2801},[2008,17941,181],{"class":2702},[2008,17943,3972],{"class":2801},[2008,17945,5659],{"class":2702},[2008,17947,17948,17951,17954],{"class":2528,"line":2035},[2008,17949,17950],{"class":2789},"  throw",[2008,17952,17953],{"class":2760}," createError",[2008,17955,17956],{"class":2702},"({ \n",[2008,17958,17959,17962,17965],{"class":2528,"line":3038},[2008,17960,17961],{"class":2801},"    statusCode:",[2008,17963,17964],{"class":3903}," 404",[2008,17966,17967],{"class":2702},", \n",[2008,17969,17970,17973,17976],{"class":2528,"line":3044},[2008,17971,17972],{"class":2801},"    statusMessage:",[2008,17974,17975],{"class":2811}," \"المقال غير موجود\"",[2008,17977,8557],{"class":2702},[2008,17979,17980],{"class":2528,"line":2380},[2008,17981,17982],{"class":2702},"  });\n",[2008,17984,17985],{"class":2528,"line":4107},[2008,17986,2748],{"class":2702},[2008,17988,17989],{"class":2528,"line":64},[2008,17990,2548],{"emptyLinePlaceholder":54},[2008,17992,17993],{"class":2528,"line":4120},[2008,17994,17995],{"class":2688},"// تعيين meta tags لتحسين SEO\n",[2008,17997,17998,18001],{"class":2528,"line":4125},[2008,17999,18000],{"class":2760},"useHead",[2008,18002,7993],{"class":2702},[2008,18004,18005,18007,18010,18012,18014,18016,18018],{"class":2528,"line":4135},[2008,18006,10857],{"class":2801},[2008,18008,18009],{"class":2801}," article",[2008,18011,181],{"class":2702},[2008,18013,3972],{"class":2801},[2008,18015,181],{"class":2702},[2008,18017,11100],{"class":2801},[2008,18019,4521],{"class":2702},[2008,18021,18022,18025],{"class":2528,"line":4145},[2008,18023,18024],{"class":2801},"  meta:",[2008,18026,15972],{"class":2702},[2008,18028,18029,18032,18034,18037,18039,18042,18044,18046,18048,18050,18052],{"class":2528,"line":4169},[2008,18030,18031],{"class":2702},"    { ",[2008,18033,3924],{"class":2801},[2008,18035,18036],{"class":2811}," \"description\"",[2008,18038,3848],{"class":2702},[2008,18040,18041],{"class":2801},"content:",[2008,18043,18009],{"class":2801},[2008,18045,181],{"class":2702},[2008,18047,3972],{"class":2801},[2008,18049,181],{"class":2702},[2008,18051,17676],{"class":2801},[2008,18053,18054],{"class":2702}," },\n",[2008,18056,18057,18059,18062,18065,18067,18069,18071,18073,18075,18077,18079],{"class":2528,"line":4192},[2008,18058,18031],{"class":2702},[2008,18060,18061],{"class":2801},"property:",[2008,18063,18064],{"class":2811}," \"og:title\"",[2008,18066,3848],{"class":2702},[2008,18068,18041],{"class":2801},[2008,18070,18009],{"class":2801},[2008,18072,181],{"class":2702},[2008,18074,3972],{"class":2801},[2008,18076,181],{"class":2702},[2008,18078,11100],{"class":2801},[2008,18080,18054],{"class":2702},[2008,18082,18083,18085,18087,18090,18092,18094,18096,18098,18100,18102,18104],{"class":2528,"line":4229},[2008,18084,18031],{"class":2702},[2008,18086,18061],{"class":2801},[2008,18088,18089],{"class":2811}," \"og:description\"",[2008,18091,3848],{"class":2702},[2008,18093,18041],{"class":2801},[2008,18095,18009],{"class":2801},[2008,18097,181],{"class":2702},[2008,18099,3972],{"class":2801},[2008,18101,181],{"class":2702},[2008,18103,17676],{"class":2801},[2008,18105,18054],{"class":2702},[2008,18107,18108,18110,18112,18115,18117,18119,18121,18123,18125,18127,18129],{"class":2528,"line":4239},[2008,18109,18031],{"class":2702},[2008,18111,18061],{"class":2801},[2008,18113,18114],{"class":2811}," \"og:image\"",[2008,18116,3848],{"class":2702},[2008,18118,18041],{"class":2801},[2008,18120,18009],{"class":2801},[2008,18122,181],{"class":2702},[2008,18124,3972],{"class":2801},[2008,18126,181],{"class":2702},[2008,18128,17567],{"class":2801},[2008,18130,18054],{"class":2702},[2008,18132,18133],{"class":2528,"line":4531},[2008,18134,15996],{"class":2702},[2008,18136,18137],{"class":2528,"line":4539},[2008,18138,4057],{"class":2702},[2008,18140,18141,18143,18145],{"class":2528,"line":4547},[2008,18142,2835],{"class":3817},[2008,18144,3822],{"class":3821},[2008,18146,2815],{"class":3817},[2008,18148,18149],{"class":2528,"line":4555},[2008,18150,2548],{"emptyLinePlaceholder":54},[2008,18152,18153,18155,18157],{"class":2528,"line":4561},[2008,18154,3818],{"class":3817},[2008,18156,4130],{"class":3821},[2008,18158,2815],{"class":3817},[2008,18160,18161,18163,18165,18167,18169,18172],{"class":2528,"line":4566},[2008,18162,4138],{"class":3817},[2008,18164,11081],{"class":3821},[2008,18166,5078],{"class":3825},[2008,18168,2808],{"class":2702},[2008,18170,18171],{"class":2811},"\"container prose prose-lg mx-auto py-12\"",[2008,18173,2815],{"class":3817},[2008,18175,18176,18178,18180,18182,18184,18186,18188,18190,18192,18194,18196],{"class":2528,"line":5249},[2008,18177,2798],{"class":3817},[2008,18179,10899],{"class":3821},[2008,18181,4152],{"class":3817},[2008,18183,7461],{"class":2702},[2008,18185,11081],{"class":2801},[2008,18187,181],{"class":2702},[2008,18189,11100],{"class":2801},[2008,18191,4160],{"class":2702},[2008,18193,2835],{"class":3817},[2008,18195,10899],{"class":3821},[2008,18197,2815],{"class":3817},[2008,18199,18200,18202,18204,18206,18208,18211],{"class":2528,"line":5258},[2008,18201,2798],{"class":3817},[2008,18203,2802],{"class":3821},[2008,18205,5078],{"class":3825},[2008,18207,2808],{"class":2702},[2008,18209,18210],{"class":2811},"\"text-gray-600 mb-8\"",[2008,18212,2815],{"class":3817},[2008,18214,18215,18217,18219,18221,18224,18227,18229,18231,18234],{"class":2528,"line":5267},[2008,18216,5106],{"class":2702},[2008,18218,11081],{"class":2801},[2008,18220,181],{"class":2702},[2008,18222,18223],{"class":2801},"publishedAt",[2008,18225,18226],{"class":2702}," }} • {{ ",[2008,18228,11081],{"class":2801},[2008,18230,181],{"class":2702},[2008,18232,18233],{"class":2801},"readingTime",[2008,18235,18236],{"class":2702}," }} دقيقة قراءة\n",[2008,18238,18239,18241,18243],{"class":2528,"line":16229},[2008,18240,2865],{"class":3817},[2008,18242,2802],{"class":3821},[2008,18244,2815],{"class":3817},[2008,18246,18247],{"class":2528,"line":16237},[2008,18248,2991],{"class":2702},[2008,18250,18251,18253,18256,18258,18260,18262,18264,18266,18268],{"class":2528,"line":16246},[2008,18252,2798],{"class":3817},[2008,18254,18255],{"class":3821},"ContentRenderer",[2008,18257,5543],{"class":2702},[2008,18259,3972],{"class":3825},[2008,18261,2808],{"class":2702},[2008,18263,4208],{"class":4096},[2008,18265,11081],{"class":2801},[2008,18267,4208],{"class":4096},[2008,18269,12961],{"class":3817},[2008,18271,18272,18274,18276],{"class":2528,"line":16251},[2008,18273,4232],{"class":3817},[2008,18275,11081],{"class":3821},[2008,18277,2815],{"class":3817},[2008,18279,18280,18282,18284],{"class":2528,"line":16256},[2008,18281,2835],{"class":3817},[2008,18283,4130],{"class":3821},[2008,18285,2815],{"class":3817},[16,18287,18289],{"id":18288},"الخطوة-7-تنفيذ-مبدّل-اللغات","الخطوة 7: تنفيذ مبدّل اللغات",[12,18291,18292,18293,2713],{},"أنشئ مكون ",[584,18294,18295],{},"app/components/LanguageSwitcher.vue",[577,18297,18299],{"className":3808,"code":18298,"language":3810,"meta":42,"style":42},"\u003Cscript setup lang=\"ts\">\nconst { locale, locales } = useI18n();\nconst switchLocalePath = useSwitchLocalePath();\n\nconst availableLocales = computed(() => \n  (locales.value as Array\u003C{code: string, name: string}>)\n    .filter(l => l.code !== locale.value)\n);\n\u003C/script>\n\n\u003Ctemplate>\n  \u003Cdiv class=\"flex gap-2\">\n    \u003CNuxtLink\n      v-for=\"loc in availableLocales\"\n      :key=\"loc.code\"\n      :to=\"switchLocalePath(loc.code)\"\n      class=\"px-3 py-1 rounded border hover:bg-gray-100\"\n    >\n      {{ loc.name }}\n    \u003C/NuxtLink>\n  \u003C/div>\n\u003C/template>\n",[584,18300,18301,18317,18338,18352,18356,18373,18409,18441,18445,18453,18457,18465,18480,18486,18504,18522,18547,18556,18561,18573,18581,18589],{"__ignoreMap":42},[2008,18302,18303,18305,18307,18309,18311,18313,18315],{"class":2528,"line":2529},[2008,18304,3818],{"class":3817},[2008,18306,3822],{"class":3821},[2008,18308,3826],{"class":3825},[2008,18310,3829],{"class":3825},[2008,18312,2808],{"class":2702},[2008,18314,3834],{"class":2811},[2008,18316,2815],{"class":3817},[2008,18318,18319,18321,18323,18325,18327,18330,18332,18334,18336],{"class":2528,"line":46},[2008,18320,3887],{"class":2694},[2008,18322,2775],{"class":2702},[2008,18324,16916],{"class":3890},[2008,18326,3848],{"class":2702},[2008,18328,18329],{"class":3890},"locales",[2008,18331,3865],{"class":2702},[2008,18333,2808],{"class":2712},[2008,18335,17130],{"class":2760},[2008,18337,17133],{"class":2702},[2008,18339,18340,18342,18345,18347,18350],{"class":2528,"line":43},[2008,18341,3887],{"class":2694},[2008,18343,18344],{"class":3890}," switchLocalePath",[2008,18346,3894],{"class":2712},[2008,18348,18349],{"class":2760}," useSwitchLocalePath",[2008,18351,17133],{"class":2702},[2008,18353,18354],{"class":2528,"line":2545},[2008,18355,2548],{"emptyLinePlaceholder":54},[2008,18357,18358,18360,18363,18365,18367,18369,18371],{"class":2528,"line":2551},[2008,18359,3887],{"class":2694},[2008,18361,18362],{"class":3890}," availableLocales",[2008,18364,3894],{"class":2712},[2008,18366,3959],{"class":2760},[2008,18368,3962],{"class":2702},[2008,18370,3965],{"class":2694},[2008,18372,8557],{"class":2702},[2008,18374,18375,18377,18379,18381,18383,18386,18389,18392,18394,18396,18398,18400,18402,18404,18406],{"class":2528,"line":2557},[2008,18376,6472],{"class":2702},[2008,18378,18329],{"class":2801},[2008,18380,181],{"class":2702},[2008,18382,3972],{"class":2801},[2008,18384,18385],{"class":2789}," as",[2008,18387,18388],{"class":2698}," Array",[2008,18390,18391],{"class":2702},"\u003C{",[2008,18393,584],{"class":2708},[2008,18395,2713],{"class":2712},[2008,18397,2730],{"class":2716},[2008,18399,3848],{"class":2702},[2008,18401,2829],{"class":2708},[2008,18403,2713],{"class":2712},[2008,18405,2730],{"class":2716},[2008,18407,18408],{"class":2702},"}>)\n",[2008,18410,18411,18413,18415,18417,18420,18422,18425,18427,18429,18432,18435,18437,18439],{"class":2528,"line":2563},[2008,18412,17900],{"class":2702},[2008,18414,8475],{"class":2760},[2008,18416,3900],{"class":2702},[2008,18418,18419],{"class":2708},"l",[2008,18421,8482],{"class":2694},[2008,18423,18424],{"class":2801}," l",[2008,18426,181],{"class":2702},[2008,18428,584],{"class":2801},[2008,18430,18431],{"class":2712}," !==",[2008,18433,18434],{"class":2801}," locale",[2008,18436,181],{"class":2702},[2008,18438,3972],{"class":2801},[2008,18440,3160],{"class":2702},[2008,18442,18443],{"class":2528,"line":2568},[2008,18444,3907],{"class":2702},[2008,18446,18447,18449,18451],{"class":2528,"line":2574},[2008,18448,2835],{"class":3817},[2008,18450,3822],{"class":3821},[2008,18452,2815],{"class":3817},[2008,18454,18455],{"class":2528,"line":1467},[2008,18456,2548],{"emptyLinePlaceholder":54},[2008,18458,18459,18461,18463],{"class":2528,"line":2818},[2008,18460,3818],{"class":3817},[2008,18462,4130],{"class":3821},[2008,18464,2815],{"class":3817},[2008,18466,18467,18469,18471,18473,18475,18478],{"class":2528,"line":2842},[2008,18468,4138],{"class":3817},[2008,18470,2802],{"class":3821},[2008,18472,5078],{"class":3825},[2008,18474,2808],{"class":2702},[2008,18476,18477],{"class":2811},"\"flex gap-2\"",[2008,18479,2815],{"class":3817},[2008,18481,18482,18484],{"class":2528,"line":2862},[2008,18483,2798],{"class":3817},[2008,18485,17461],{"class":3821},[2008,18487,18488,18491,18493,18495,18498,18500,18502],{"class":2528,"line":2119},[2008,18489,18490],{"class":2789},"      v-for",[2008,18492,2808],{"class":2702},[2008,18494,4208],{"class":4096},[2008,18496,18497],{"class":2801},"loc",[2008,18499,6170],{"class":2694},[2008,18501,18362],{"class":2801},[2008,18503,5143],{"class":4096},[2008,18505,18506,18508,18510,18512,18514,18516,18518,18520],{"class":2528,"line":2035},[2008,18507,5131],{"class":2702},[2008,18509,5642],{"class":3825},[2008,18511,2808],{"class":2702},[2008,18513,4208],{"class":4096},[2008,18515,18497],{"class":2801},[2008,18517,181],{"class":2702},[2008,18519,584],{"class":2801},[2008,18521,5143],{"class":4096},[2008,18523,18524,18526,18528,18530,18532,18535,18537,18539,18541,18543,18545],{"class":2528,"line":3038},[2008,18525,5131],{"class":2702},[2008,18527,13873],{"class":3825},[2008,18529,2808],{"class":2702},[2008,18531,4208],{"class":4096},[2008,18533,18534],{"class":2760},"switchLocalePath",[2008,18536,3900],{"class":2702},[2008,18538,18497],{"class":2801},[2008,18540,181],{"class":2702},[2008,18542,584],{"class":2801},[2008,18544,3778],{"class":2702},[2008,18546,5143],{"class":4096},[2008,18548,18549,18551,18553],{"class":2528,"line":3044},[2008,18550,5202],{"class":3825},[2008,18552,2808],{"class":2702},[2008,18554,18555],{"class":2811},"\"px-3 py-1 rounded border hover:bg-gray-100\"\n",[2008,18557,18558],{"class":2528,"line":2380},[2008,18559,18560],{"class":3817},"    >\n",[2008,18562,18563,18565,18567,18569,18571],{"class":2528,"line":4107},[2008,18564,5106],{"class":2702},[2008,18566,18497],{"class":2801},[2008,18568,181],{"class":2702},[2008,18570,2829],{"class":2801},[2008,18572,5111],{"class":2702},[2008,18574,18575,18577,18579],{"class":2528,"line":64},[2008,18576,2865],{"class":3817},[2008,18578,11212],{"class":3821},[2008,18580,2815],{"class":3817},[2008,18582,18583,18585,18587],{"class":2528,"line":4120},[2008,18584,4232],{"class":3817},[2008,18586,2802],{"class":3821},[2008,18588,2815],{"class":3817},[2008,18590,18591,18593,18595],{"class":2528,"line":4125},[2008,18592,2835],{"class":3817},[2008,18594,4130],{"class":3821},[2008,18596,2815],{"class":3817},[16,18598,18600],{"id":18599},"الخطوة-8-عرض-الفئات-الموطّنة","الخطوة 8: عرض الفئات الموطّنة",[12,18602,18603],{},"أنشئ composable للحصول على عناوين الفئات باللغة الحالية.",[12,18605,16449,18606,2713],{},[584,18607,18608],{},"app/composables/useCategoryTitle.ts",[577,18610,18612],{"className":2679,"code":18611,"language":2681,"meta":42,"style":42},"import { getCategoriesCollection, type Category } from \"@@/types/content\";\n\nexport const useCategoryTitle = async (categorySlug: string) => {\n  const { locale } = useI18n();\n  \n  const { data: category } = await useAsyncData\u003CCategory | null>(\n    `category-${locale.value}-${categorySlug}`,\n    async () => {\n      const collection = getCategoriesCollection(locale.value);\n      const foundCategory = await queryCollection(collection)\n        .where(\"slug\", \"=\", categorySlug)\n        .first();\n      return foundCategory ?? null;\n    }\n  );\n\n  return computed(() => category.value?.title || categorySlug);\n};\n",[584,18613,18614,18637,18641,18669,18685,18689,18722,18749,18760,18781,18800,18823,18832,18846,18850,18854,18858,18887],{"__ignoreMap":42},[2008,18615,18616,18618,18620,18623,18625,18627,18629,18631,18633,18635],{"class":2528,"line":2529},[2008,18617,3841],{"class":2789},[2008,18619,2775],{"class":2702},[2008,18621,18622],{"class":2801},"getCategoriesCollection",[2008,18624,3848],{"class":2702},[2008,18626,17100],{"class":2789},[2008,18628,16745],{"class":2801},[2008,18630,3865],{"class":2702},[2008,18632,3868],{"class":2789},[2008,18634,17109],{"class":2811},[2008,18636,2720],{"class":2702},[2008,18638,18639],{"class":2528,"line":46},[2008,18640,2548],{"emptyLinePlaceholder":54},[2008,18642,18643,18645,18647,18650,18652,18654,18656,18659,18661,18663,18665,18667],{"class":2528,"line":43},[2008,18644,4310],{"class":2789},[2008,18646,4313],{"class":2694},[2008,18648,18649],{"class":2760}," useCategoryTitle",[2008,18651,3894],{"class":2712},[2008,18653,6287],{"class":2694},[2008,18655,5381],{"class":2702},[2008,18657,18658],{"class":2708},"categorySlug",[2008,18660,2713],{"class":2712},[2008,18662,2730],{"class":2716},[2008,18664,4011],{"class":2702},[2008,18666,3965],{"class":2694},[2008,18668,2703],{"class":2702},[2008,18670,18671,18673,18675,18677,18679,18681,18683],{"class":2528,"line":2545},[2008,18672,4343],{"class":2694},[2008,18674,2775],{"class":2702},[2008,18676,16916],{"class":3890},[2008,18678,3865],{"class":2702},[2008,18680,2808],{"class":2712},[2008,18682,17130],{"class":2760},[2008,18684,17133],{"class":2702},[2008,18686,18687],{"class":2528,"line":2551},[2008,18688,12382],{"class":2702},[2008,18690,18691,18693,18695,18697,18699,18702,18704,18706,18708,18710,18712,18715,18717,18719],{"class":2528,"line":2557},[2008,18692,4343],{"class":2694},[2008,18694,2775],{"class":2702},[2008,18696,8457],{"class":2708},[2008,18698,4974],{"class":2702},[2008,18700,18701],{"class":3890},"category",[2008,18703,3865],{"class":2702},[2008,18705,2808],{"class":2712},[2008,18707,7747],{"class":2789},[2008,18709,7583],{"class":2760},[2008,18711,3818],{"class":2702},[2008,18713,18714],{"class":2698},"Category",[2008,18716,6698],{"class":2712},[2008,18718,6701],{"class":2716},[2008,18720,18721],{"class":2702},">(\n",[2008,18723,18724,18727,18729,18731,18733,18735,18737,18739,18741,18743,18745,18747],{"class":2528,"line":2563},[2008,18725,18726],{"class":2811},"    `category-",[2008,18728,4034],{"class":4033},[2008,18730,16916],{"class":2801},[2008,18732,181],{"class":4096},[2008,18734,3972],{"class":2801},[2008,18736,2832],{"class":4033},[2008,18738,4769],{"class":2811},[2008,18740,4034],{"class":4033},[2008,18742,18658],{"class":2801},[2008,18744,2832],{"class":4033},[2008,18746,4050],{"class":2811},[2008,18748,4521],{"class":2702},[2008,18750,18751,18754,18756,18758],{"class":2528,"line":2568},[2008,18752,18753],{"class":2694},"    async",[2008,18755,6290],{"class":2702},[2008,18757,3965],{"class":2694},[2008,18759,2703],{"class":2702},[2008,18761,18762,18765,18767,18769,18771,18773,18775,18777,18779],{"class":2528,"line":2574},[2008,18763,18764],{"class":2694},"      const",[2008,18766,17222],{"class":3890},[2008,18768,3894],{"class":2712},[2008,18770,16963],{"class":2760},[2008,18772,3900],{"class":2702},[2008,18774,16916],{"class":2801},[2008,18776,181],{"class":2702},[2008,18778,3972],{"class":2801},[2008,18780,3907],{"class":2702},[2008,18782,18783,18785,18788,18790,18792,18794,18796,18798],{"class":2528,"line":1467},[2008,18784,18764],{"class":2694},[2008,18786,18787],{"class":3890}," foundCategory",[2008,18789,3894],{"class":2712},[2008,18791,7747],{"class":2789},[2008,18793,17243],{"class":2760},[2008,18795,3900],{"class":2702},[2008,18797,17248],{"class":2801},[2008,18799,3160],{"class":2702},[2008,18801,18802,18805,18807,18809,18812,18814,18817,18819,18821],{"class":2528,"line":2818},[2008,18803,18804],{"class":2702},"        .",[2008,18806,17903],{"class":2760},[2008,18808,3900],{"class":2702},[2008,18810,18811],{"class":2811},"\"slug\"",[2008,18813,3848],{"class":2702},[2008,18815,18816],{"class":2811},"\"=\"",[2008,18818,3848],{"class":2702},[2008,18820,18658],{"class":2801},[2008,18822,3160],{"class":2702},[2008,18824,18825,18827,18830],{"class":2528,"line":2842},[2008,18826,18804],{"class":2702},[2008,18828,18829],{"class":2760},"first",[2008,18831,17133],{"class":2702},[2008,18833,18834,18837,18839,18842,18844],{"class":2528,"line":2862},[2008,18835,18836],{"class":2789},"      return",[2008,18838,18787],{"class":2801},[2008,18840,18841],{"class":2712}," ??",[2008,18843,6701],{"class":5858},[2008,18845,2720],{"class":2702},[2008,18847,18848],{"class":2528,"line":2119},[2008,18849,3047],{"class":2702},[2008,18851,18852],{"class":2528,"line":2035},[2008,18853,2874],{"class":2702},[2008,18855,18856],{"class":2528,"line":3038},[2008,18857,2548],{"emptyLinePlaceholder":54},[2008,18859,18860,18862,18864,18866,18868,18871,18873,18875,18877,18879,18882,18885],{"class":2528,"line":3044},[2008,18861,2790],{"class":2789},[2008,18863,3959],{"class":2760},[2008,18865,3962],{"class":2702},[2008,18867,3965],{"class":2694},[2008,18869,18870],{"class":2801}," category",[2008,18872,181],{"class":2702},[2008,18874,3972],{"class":2801},[2008,18876,17319],{"class":2702},[2008,18878,11100],{"class":2801},[2008,18880,18881],{"class":2712}," ||",[2008,18883,18884],{"class":2801}," categorySlug",[2008,18886,3907],{"class":2702},[2008,18888,18889],{"class":2528,"line":2380},[2008,18890,16732],{"class":2702},[12,18892,18893],{},"استخدمه في مكوناتك:",[577,18895,18897],{"className":3808,"code":18896,"language":3810,"meta":42,"style":42},"\u003Cscript setup lang=\"ts\">\nconst props = defineProps\u003C{ categorySlug: string }>();\nconst categoryTitle = await useCategoryTitle(props.categorySlug);\n\u003C/script>\n\n\u003Ctemplate>\n  \u003Cspan>{{ categoryTitle }}\u003C/span>\n\u003C/template>\n",[584,18898,18899,18915,18937,18960,18968,18972,18980,19001],{"__ignoreMap":42},[2008,18900,18901,18903,18905,18907,18909,18911,18913],{"class":2528,"line":2529},[2008,18902,3818],{"class":3817},[2008,18904,3822],{"class":3821},[2008,18906,3826],{"class":3825},[2008,18908,3829],{"class":3825},[2008,18910,2808],{"class":2702},[2008,18912,3834],{"class":2811},[2008,18914,2815],{"class":3817},[2008,18916,18917,18919,18921,18923,18925,18928,18930,18932,18934],{"class":2528,"line":46},[2008,18918,3887],{"class":2694},[2008,18920,4930],{"class":3890},[2008,18922,3894],{"class":2712},[2008,18924,4935],{"class":2760},[2008,18926,18927],{"class":2702},"\u003C{ ",[2008,18929,18658],{"class":2708},[2008,18931,2713],{"class":2712},[2008,18933,2730],{"class":2716},[2008,18935,18936],{"class":2702}," }>();\n",[2008,18938,18939,18941,18944,18946,18948,18950,18952,18954,18956,18958],{"class":2528,"line":43},[2008,18940,3887],{"class":2694},[2008,18942,18943],{"class":3890}," categoryTitle",[2008,18945,3894],{"class":2712},[2008,18947,7747],{"class":2789},[2008,18949,18649],{"class":2760},[2008,18951,3900],{"class":2702},[2008,18953,5020],{"class":2801},[2008,18955,181],{"class":2702},[2008,18957,18658],{"class":2801},[2008,18959,3907],{"class":2702},[2008,18961,18962,18964,18966],{"class":2528,"line":2545},[2008,18963,2835],{"class":3817},[2008,18965,3822],{"class":3821},[2008,18967,2815],{"class":3817},[2008,18969,18970],{"class":2528,"line":2551},[2008,18971,2548],{"emptyLinePlaceholder":54},[2008,18973,18974,18976,18978],{"class":2528,"line":2557},[2008,18975,3818],{"class":3817},[2008,18977,4130],{"class":3821},[2008,18979,2815],{"class":3817},[2008,18981,18982,18984,18986,18988,18990,18993,18995,18997,18999],{"class":2528,"line":2563},[2008,18983,4138],{"class":3817},[2008,18985,2008],{"class":3821},[2008,18987,4152],{"class":3817},[2008,18989,7461],{"class":2702},[2008,18991,18992],{"class":2801},"categoryTitle",[2008,18994,4160],{"class":2702},[2008,18996,2835],{"class":3817},[2008,18998,2008],{"class":3821},[2008,19000,2815],{"class":3817},[2008,19002,19003,19005,19007],{"class":2528,"line":2568},[2008,19004,2835],{"class":3817},[2008,19006,4130],{"class":3821},[2008,19008,2815],{"class":3817},[12,19010,19011,19012,2713],{},"مثال في ",[584,19013,19014],{},"app/components/blog/BlogPostCard.vue",[577,19016,19018],{"className":3808,"code":19017,"language":3810,"meta":42,"style":42},"\u003Cscript setup lang=\"ts\">\nimport { getCategoriesCollection, type Category } from \"@@/types/content\";\n\nconst props = defineProps\u003C{ post: Article }>();\nconst { locale } = useI18n();\n\n// الحصول على عنوان الفئة باللغة الحالية\nconst { data: category } = await useAsyncData\u003CCategory | null>(\n  `category-${locale.value}-${props.post.category}`,\n  async () => {\n    const collection = getCategoriesCollection(locale.value);\n    const foundCategory = await queryCollection(collection)\n      .where(\"slug\", \"=\", props.post.category)\n      .first();\n    return foundCategory ?? null;\n  }\n);\n\nconst categoryTitle = computed(() => \n  category.value?.title || props.post.category\n);\n\u003C/script>\n\n\u003Ctemplate>\n  \u003Cdiv>\n    \u003C!-- سيظهر \"التطوير\" بدلاً من \"development\" في النسخة العربية -->\n    \u003CBadge>{{ categoryTitle }}\u003C/Badge>\n  \u003C/div>\n\u003C/template>\n",[584,19019,19020,19036,19058,19062,19082,19098,19102,19107,19137,19172,19182,19202,19220,19249,19257,19269,19273,19277,19281,19297,19323,19327,19335,19339,19347,19355,19360,19381,19389],{"__ignoreMap":42},[2008,19021,19022,19024,19026,19028,19030,19032,19034],{"class":2528,"line":2529},[2008,19023,3818],{"class":3817},[2008,19025,3822],{"class":3821},[2008,19027,3826],{"class":3825},[2008,19029,3829],{"class":3825},[2008,19031,2808],{"class":2702},[2008,19033,3834],{"class":2811},[2008,19035,2815],{"class":3817},[2008,19037,19038,19040,19042,19044,19046,19048,19050,19052,19054,19056],{"class":2528,"line":46},[2008,19039,3841],{"class":2789},[2008,19041,2775],{"class":2702},[2008,19043,18622],{"class":2801},[2008,19045,3848],{"class":2702},[2008,19047,17100],{"class":2789},[2008,19049,16745],{"class":2801},[2008,19051,3865],{"class":2702},[2008,19053,3868],{"class":2789},[2008,19055,17109],{"class":2811},[2008,19057,2720],{"class":2702},[2008,19059,19060],{"class":2528,"line":43},[2008,19061,2548],{"emptyLinePlaceholder":54},[2008,19063,19064,19066,19068,19070,19072,19074,19076,19078,19080],{"class":2528,"line":2545},[2008,19065,3887],{"class":2694},[2008,19067,4930],{"class":3890},[2008,19069,3894],{"class":2712},[2008,19071,4935],{"class":2760},[2008,19073,18927],{"class":2702},[2008,19075,11030],{"class":2708},[2008,19077,2713],{"class":2712},[2008,19079,16681],{"class":2698},[2008,19081,18936],{"class":2702},[2008,19083,19084,19086,19088,19090,19092,19094,19096],{"class":2528,"line":2551},[2008,19085,3887],{"class":2694},[2008,19087,2775],{"class":2702},[2008,19089,16916],{"class":3890},[2008,19091,3865],{"class":2702},[2008,19093,2808],{"class":2712},[2008,19095,17130],{"class":2760},[2008,19097,17133],{"class":2702},[2008,19099,19100],{"class":2528,"line":2557},[2008,19101,2548],{"emptyLinePlaceholder":54},[2008,19103,19104],{"class":2528,"line":2563},[2008,19105,19106],{"class":2688},"// الحصول على عنوان الفئة باللغة الحالية\n",[2008,19108,19109,19111,19113,19115,19117,19119,19121,19123,19125,19127,19129,19131,19133,19135],{"class":2528,"line":2568},[2008,19110,3887],{"class":2694},[2008,19112,2775],{"class":2702},[2008,19114,8457],{"class":2708},[2008,19116,4974],{"class":2702},[2008,19118,18701],{"class":3890},[2008,19120,3865],{"class":2702},[2008,19122,2808],{"class":2712},[2008,19124,7747],{"class":2789},[2008,19126,7583],{"class":2760},[2008,19128,3818],{"class":2702},[2008,19130,18714],{"class":2698},[2008,19132,6698],{"class":2712},[2008,19134,6701],{"class":2716},[2008,19136,18721],{"class":2702},[2008,19138,19139,19142,19144,19146,19148,19150,19152,19154,19156,19158,19160,19162,19164,19166,19168,19170],{"class":2528,"line":2574},[2008,19140,19141],{"class":2811},"  `category-",[2008,19143,4034],{"class":4033},[2008,19145,16916],{"class":2801},[2008,19147,181],{"class":4096},[2008,19149,3972],{"class":2801},[2008,19151,2832],{"class":4033},[2008,19153,4769],{"class":2811},[2008,19155,4034],{"class":4033},[2008,19157,5020],{"class":2801},[2008,19159,181],{"class":4096},[2008,19161,11030],{"class":2801},[2008,19163,181],{"class":4096},[2008,19165,18701],{"class":2801},[2008,19167,2832],{"class":4033},[2008,19169,4050],{"class":2811},[2008,19171,4521],{"class":2702},[2008,19173,19174,19176,19178,19180],{"class":2528,"line":1467},[2008,19175,17209],{"class":2694},[2008,19177,6290],{"class":2702},[2008,19179,3965],{"class":2694},[2008,19181,2703],{"class":2702},[2008,19183,19184,19186,19188,19190,19192,19194,19196,19198,19200],{"class":2528,"line":2818},[2008,19185,6981],{"class":2694},[2008,19187,17222],{"class":3890},[2008,19189,3894],{"class":2712},[2008,19191,16963],{"class":2760},[2008,19193,3900],{"class":2702},[2008,19195,16916],{"class":2801},[2008,19197,181],{"class":2702},[2008,19199,3972],{"class":2801},[2008,19201,3907],{"class":2702},[2008,19203,19204,19206,19208,19210,19212,19214,19216,19218],{"class":2528,"line":2842},[2008,19205,6981],{"class":2694},[2008,19207,18787],{"class":3890},[2008,19209,3894],{"class":2712},[2008,19211,7747],{"class":2789},[2008,19213,17243],{"class":2760},[2008,19215,3900],{"class":2702},[2008,19217,17248],{"class":2801},[2008,19219,3160],{"class":2702},[2008,19221,19222,19225,19227,19229,19231,19233,19235,19237,19239,19241,19243,19245,19247],{"class":2528,"line":2862},[2008,19223,19224],{"class":2702},"      .",[2008,19226,17903],{"class":2760},[2008,19228,3900],{"class":2702},[2008,19230,18811],{"class":2811},[2008,19232,3848],{"class":2702},[2008,19234,18816],{"class":2811},[2008,19236,3848],{"class":2702},[2008,19238,5020],{"class":2801},[2008,19240,181],{"class":2702},[2008,19242,11030],{"class":2801},[2008,19244,181],{"class":2702},[2008,19246,18701],{"class":2801},[2008,19248,3160],{"class":2702},[2008,19250,19251,19253,19255],{"class":2528,"line":2119},[2008,19252,19224],{"class":2702},[2008,19254,18829],{"class":2760},[2008,19256,17133],{"class":2702},[2008,19258,19259,19261,19263,19265,19267],{"class":2528,"line":2035},[2008,19260,13925],{"class":2789},[2008,19262,18787],{"class":2801},[2008,19264,18841],{"class":2712},[2008,19266,6701],{"class":5858},[2008,19268,2720],{"class":2702},[2008,19270,19271],{"class":2528,"line":3038},[2008,19272,4446],{"class":2702},[2008,19274,19275],{"class":2528,"line":3044},[2008,19276,3907],{"class":2702},[2008,19278,19279],{"class":2528,"line":2380},[2008,19280,2548],{"emptyLinePlaceholder":54},[2008,19282,19283,19285,19287,19289,19291,19293,19295],{"class":2528,"line":4107},[2008,19284,3887],{"class":2694},[2008,19286,18943],{"class":3890},[2008,19288,3894],{"class":2712},[2008,19290,3959],{"class":2760},[2008,19292,3962],{"class":2702},[2008,19294,3965],{"class":2694},[2008,19296,8557],{"class":2702},[2008,19298,19299,19302,19304,19306,19308,19310,19312,19314,19316,19318,19320],{"class":2528,"line":64},[2008,19300,19301],{"class":2801},"  category",[2008,19303,181],{"class":2702},[2008,19305,3972],{"class":2801},[2008,19307,17319],{"class":2702},[2008,19309,11100],{"class":2801},[2008,19311,18881],{"class":2712},[2008,19313,4930],{"class":2801},[2008,19315,181],{"class":2702},[2008,19317,11030],{"class":2801},[2008,19319,181],{"class":2702},[2008,19321,19322],{"class":2801},"category\n",[2008,19324,19325],{"class":2528,"line":4120},[2008,19326,3907],{"class":2702},[2008,19328,19329,19331,19333],{"class":2528,"line":4125},[2008,19330,2835],{"class":3817},[2008,19332,3822],{"class":3821},[2008,19334,2815],{"class":3817},[2008,19336,19337],{"class":2528,"line":4135},[2008,19338,2548],{"emptyLinePlaceholder":54},[2008,19340,19341,19343,19345],{"class":2528,"line":4145},[2008,19342,3818],{"class":3817},[2008,19344,4130],{"class":3821},[2008,19346,2815],{"class":3817},[2008,19348,19349,19351,19353],{"class":2528,"line":4169},[2008,19350,4138],{"class":3817},[2008,19352,2802],{"class":3821},[2008,19354,2815],{"class":3817},[2008,19356,19357],{"class":2528,"line":4192},[2008,19358,19359],{"class":2688},"    \u003C!-- سيظهر \"التطوير\" بدلاً من \"development\" في النسخة العربية -->\n",[2008,19361,19362,19364,19367,19369,19371,19373,19375,19377,19379],{"class":2528,"line":4229},[2008,19363,2798],{"class":3817},[2008,19365,19366],{"class":3821},"Badge",[2008,19368,4152],{"class":3817},[2008,19370,7461],{"class":2702},[2008,19372,18992],{"class":2801},[2008,19374,4160],{"class":2702},[2008,19376,2835],{"class":3817},[2008,19378,19366],{"class":3821},[2008,19380,2815],{"class":3817},[2008,19382,19383,19385,19387],{"class":2528,"line":4239},[2008,19384,4232],{"class":3817},[2008,19386,2802],{"class":3821},[2008,19388,2815],{"class":3817},[2008,19390,19391,19393,19395],{"class":2528,"line":4531},[2008,19392,2835],{"class":3817},[2008,19394,4130],{"class":3821},[2008,19396,2815],{"class":3817},[16,19398,19400],{"id":19399},"الخطوة-9-تحسين-محركات-البحث-seo","الخطوة 9: تحسين محركات البحث (SEO)",[12,19402,19403,19404,19407],{},"أضف علامات hreflang في التخطيطات (",[584,19405,19406],{},"app/layouts/default.vue","):",[577,19409,19411],{"className":3808,"code":19410,"language":3810,"meta":42,"style":42},"\u003Cscript setup lang=\"ts\">\nconst { locale } = useI18n();\n\nconst i18nHead = useLocaleHead({\n  addDirAttribute: true,\n  identifierAttribute: \"id\",\n  addSeoAttributes: true,\n});\n\nuseHead(() => ({\n  htmlAttrs: {\n    lang: i18nHead.value.htmlAttrs!.lang,\n    dir: locale.value === 'ar' ? 'rtl' : 'ltr',\n  },\n  link: [...(i18nHead.value.link || [])],\n  meta: [...(i18nHead.value.meta || [])],\n}));\n\u003C/script>\n",[584,19412,19413,19429,19445,19449,19463,19472,19482,19491,19495,19499,19509,19516,19541,19569,19573,19602,19627,19632],{"__ignoreMap":42},[2008,19414,19415,19417,19419,19421,19423,19425,19427],{"class":2528,"line":2529},[2008,19416,3818],{"class":3817},[2008,19418,3822],{"class":3821},[2008,19420,3826],{"class":3825},[2008,19422,3829],{"class":3825},[2008,19424,2808],{"class":2702},[2008,19426,3834],{"class":2811},[2008,19428,2815],{"class":3817},[2008,19430,19431,19433,19435,19437,19439,19441,19443],{"class":2528,"line":46},[2008,19432,3887],{"class":2694},[2008,19434,2775],{"class":2702},[2008,19436,16916],{"class":3890},[2008,19438,3865],{"class":2702},[2008,19440,2808],{"class":2712},[2008,19442,17130],{"class":2760},[2008,19444,17133],{"class":2702},[2008,19446,19447],{"class":2528,"line":43},[2008,19448,2548],{"emptyLinePlaceholder":54},[2008,19450,19451,19453,19456,19458,19461],{"class":2528,"line":2545},[2008,19452,3887],{"class":2694},[2008,19454,19455],{"class":3890}," i18nHead",[2008,19457,3894],{"class":2712},[2008,19459,19460],{"class":2760}," useLocaleHead",[2008,19462,7993],{"class":2702},[2008,19464,19465,19468,19470],{"class":2528,"line":2551},[2008,19466,19467],{"class":2801},"  addDirAttribute:",[2008,19469,5859],{"class":5858},[2008,19471,4521],{"class":2702},[2008,19473,19474,19477,19480],{"class":2528,"line":2557},[2008,19475,19476],{"class":2801},"  identifierAttribute:",[2008,19478,19479],{"class":2811}," \"id\"",[2008,19481,4521],{"class":2702},[2008,19483,19484,19487,19489],{"class":2528,"line":2563},[2008,19485,19486],{"class":2801},"  addSeoAttributes:",[2008,19488,5859],{"class":5858},[2008,19490,4521],{"class":2702},[2008,19492,19493],{"class":2528,"line":2568},[2008,19494,4057],{"class":2702},[2008,19496,19497],{"class":2528,"line":2574},[2008,19498,2548],{"emptyLinePlaceholder":54},[2008,19500,19501,19503,19505,19507],{"class":2528,"line":1467},[2008,19502,18000],{"class":2760},[2008,19504,3962],{"class":2702},[2008,19506,3965],{"class":2694},[2008,19508,5007],{"class":2702},[2008,19510,19511,19514],{"class":2528,"line":2818},[2008,19512,19513],{"class":2801},"  htmlAttrs:",[2008,19515,2703],{"class":2702},[2008,19517,19518,19521,19523,19525,19527,19529,19532,19534,19536,19539],{"class":2528,"line":2842},[2008,19519,19520],{"class":2801},"    lang:",[2008,19522,19455],{"class":2801},[2008,19524,181],{"class":2702},[2008,19526,3972],{"class":2801},[2008,19528,181],{"class":2702},[2008,19530,19531],{"class":2801},"htmlAttrs",[2008,19533,13912],{"class":2712},[2008,19535,181],{"class":2702},[2008,19537,19538],{"class":2801},"lang",[2008,19540,4521],{"class":2702},[2008,19542,19543,19546,19548,19550,19552,19554,19557,19559,19562,19564,19567],{"class":2528,"line":2862},[2008,19544,19545],{"class":2801},"    dir:",[2008,19547,18434],{"class":2801},[2008,19549,181],{"class":2702},[2008,19551,3972],{"class":2801},[2008,19553,8493],{"class":2712},[2008,19555,19556],{"class":2811}," 'ar'",[2008,19558,7786],{"class":2712},[2008,19560,19561],{"class":2811}," 'rtl'",[2008,19563,5543],{"class":2712},[2008,19565,19566],{"class":2811}," 'ltr'",[2008,19568,4521],{"class":2702},[2008,19570,19571],{"class":2528,"line":2119},[2008,19572,8024],{"class":2702},[2008,19574,19575,19578,19580,19583,19585,19588,19590,19592,19594,19597,19599],{"class":2528,"line":2035},[2008,19576,19577],{"class":2801},"  link:",[2008,19579,4968],{"class":2702},[2008,19581,19582],{"class":2712},"...",[2008,19584,3900],{"class":2702},[2008,19586,19587],{"class":2801},"i18nHead",[2008,19589,181],{"class":2702},[2008,19591,3972],{"class":2801},[2008,19593,181],{"class":2702},[2008,19595,19596],{"class":2801},"link",[2008,19598,18881],{"class":2712},[2008,19600,19601],{"class":2702}," [])],\n",[2008,19603,19604,19606,19608,19610,19612,19614,19616,19618,19620,19623,19625],{"class":2528,"line":3038},[2008,19605,18024],{"class":2801},[2008,19607,4968],{"class":2702},[2008,19609,19582],{"class":2712},[2008,19611,3900],{"class":2702},[2008,19613,19587],{"class":2801},[2008,19615,181],{"class":2702},[2008,19617,3972],{"class":2801},[2008,19619,181],{"class":2702},[2008,19621,19622],{"class":2801},"meta",[2008,19624,18881],{"class":2712},[2008,19626,19601],{"class":2702},[2008,19628,19629],{"class":2528,"line":3044},[2008,19630,19631],{"class":2702},"}));\n",[2008,19633,19634,19636,19638],{"class":2528,"line":2380},[2008,19635,2835],{"class":3817},[2008,19637,3822],{"class":3821},[2008,19639,2815],{"class":3817},[16,19641,19643],{"id":19642},"الخطوة-10-دعم-rtl-مع-tailwind","الخطوة 10: دعم RTL مع Tailwind",[12,19645,15944,19646,2713],{},[584,19647,19648],{},"tailwind.config.ts",[577,19650,19652],{"className":2679,"code":19651,"language":2681,"meta":42,"style":42},"export default {\n  content: [\n    \"./components/**/*.{js,vue,ts}\",\n    \"./layouts/**/*.vue\",\n    \"./pages/**/*.vue\",\n    \"./app.vue\",\n  ],\n  theme: {\n    extend: {},\n  },\n  plugins: [\n    require(\"@tailwindcss/typography\"),\n  ],\n};\n",[584,19653,19654,19662,19668,19675,19682,19689,19696,19700,19707,19715,19719,19725,19737,19741],{"__ignoreMap":42},[2008,19655,19656,19658,19660],{"class":2528,"line":2529},[2008,19657,4310],{"class":2789},[2008,19659,7987],{"class":2789},[2008,19661,2703],{"class":2702},[2008,19663,19664,19666],{"class":2528,"line":46},[2008,19665,16224],{"class":2801},[2008,19667,15972],{"class":2702},[2008,19669,19670,19673],{"class":2528,"line":43},[2008,19671,19672],{"class":2811},"    \"./components/**/*.{js,vue,ts}\"",[2008,19674,4521],{"class":2702},[2008,19676,19677,19680],{"class":2528,"line":2545},[2008,19678,19679],{"class":2811},"    \"./layouts/**/*.vue\"",[2008,19681,4521],{"class":2702},[2008,19683,19684,19687],{"class":2528,"line":2551},[2008,19685,19686],{"class":2811},"    \"./pages/**/*.vue\"",[2008,19688,4521],{"class":2702},[2008,19690,19691,19694],{"class":2528,"line":2557},[2008,19692,19693],{"class":2811},"    \"./app.vue\"",[2008,19695,4521],{"class":2702},[2008,19697,19698],{"class":2528,"line":2563},[2008,19699,15996],{"class":2702},[2008,19701,19702,19705],{"class":2528,"line":2568},[2008,19703,19704],{"class":2801},"  theme:",[2008,19706,2703],{"class":2702},[2008,19708,19709,19712],{"class":2528,"line":2574},[2008,19710,19711],{"class":2801},"    extend:",[2008,19713,19714],{"class":2702}," {},\n",[2008,19716,19717],{"class":2528,"line":1467},[2008,19718,8024],{"class":2702},[2008,19720,19721,19723],{"class":2528,"line":2818},[2008,19722,7998],{"class":2801},[2008,19724,15972],{"class":2702},[2008,19726,19727,19730,19732,19735],{"class":2528,"line":2842},[2008,19728,19729],{"class":2760},"    require",[2008,19731,3900],{"class":2702},[2008,19733,19734],{"class":2811},"\"@tailwindcss/typography\"",[2008,19736,7858],{"class":2702},[2008,19738,19739],{"class":2528,"line":2862},[2008,19740,15996],{"class":2702},[2008,19742,19743],{"class":2528,"line":2119},[2008,19744,16732],{"class":2702},[12,19746,19747,19748,2713],{},"أضف فئات الأدوات لـ RTL في ",[584,19749,19750],{},"app/assets/css/tailwind.css",[577,19752,19756],{"className":19753,"code":19754,"language":19755,"meta":42,"style":42},"language-css shiki shiki-themes github-light dark-plus dark-plus","@tailwind base;\n@tailwind components;\n@tailwind utilities;\n\n@layer base {\n  * {\n    @apply rtl:font-arabic ltr:font-latin;\n  }\n}\n","css",[584,19757,19758,19766,19773,19780,19784,19792,19799,19820,19824],{"__ignoreMap":42},[2008,19759,19760,19763],{"class":2528,"line":2529},[2008,19761,19762],{"class":2789},"@tailwind",[2008,19764,19765],{"class":2702}," base;\n",[2008,19767,19768,19770],{"class":2528,"line":46},[2008,19769,19762],{"class":2789},[2008,19771,19772],{"class":2702}," components;\n",[2008,19774,19775,19777],{"class":2528,"line":43},[2008,19776,19762],{"class":2789},[2008,19778,19779],{"class":2702}," utilities;\n",[2008,19781,19782],{"class":2528,"line":2545},[2008,19783,2548],{"emptyLinePlaceholder":54},[2008,19785,19786,19789],{"class":2528,"line":2551},[2008,19787,19788],{"class":2789},"@layer",[2008,19790,19791],{"class":2702}," base {\n",[2008,19793,19794,19797],{"class":2528,"line":2557},[2008,19795,19796],{"class":3821},"  *",[2008,19798,2703],{"class":2702},[2008,19800,19801,19804,19808,19811,19814,19817],{"class":2528,"line":2563},[2008,19802,19803],{"class":2702},"    @",[2008,19805,19807],{"class":19806},"se0Tf","apply",[2008,19809,19810],{"class":19806}," rtl",[2008,19812,19813],{"class":2702},":font-arabic ",[2008,19815,19816],{"class":11598},"ltr",[2008,19818,19819],{"class":2702},":font-latin;\n",[2008,19821,19822],{"class":2528,"line":2568},[2008,19823,4446],{"class":2702},[2008,19825,19826],{"class":2528,"line":2574},[2008,19827,2748],{"class":2702},[12,19829,19830,19831,2713],{},"كوّن الخطوط في ",[584,19832,12799],{},[577,19834,19836],{"className":2679,"code":19835,"language":2681,"meta":42,"style":42},"app: {\n  head: {\n    link: [\n      {\n        rel: 'stylesheet',\n        href: 'https://fonts.googleapis.com/css2?family=Almarai:wght@300;400;700&display=swap',\n      },\n      {\n        rel: 'stylesheet',\n        href: 'https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600;700&display=swap',\n      },\n    ],\n  },\n},\n",[584,19837,19838,19846,19853,19861,19865,19875,19885,19889,19893,19901,19910,19914,19918,19922],{"__ignoreMap":42},[2008,19839,19840,19843],{"class":2528,"line":2529},[2008,19841,19842],{"class":4971},"app",[2008,19844,19845],{"class":2702},": {\n",[2008,19847,19848,19851],{"class":2528,"line":46},[2008,19849,19850],{"class":4971},"  head",[2008,19852,19845],{"class":2702},[2008,19854,19855,19858],{"class":2528,"line":43},[2008,19856,19857],{"class":4971},"    link",[2008,19859,19860],{"class":2702},": [\n",[2008,19862,19863],{"class":2528,"line":2545},[2008,19864,16019],{"class":2702},[2008,19866,19867,19870,19873],{"class":2528,"line":2551},[2008,19868,19869],{"class":2801},"        rel:",[2008,19871,19872],{"class":2811}," 'stylesheet'",[2008,19874,4521],{"class":2702},[2008,19876,19877,19880,19883],{"class":2528,"line":2557},[2008,19878,19879],{"class":2801},"        href:",[2008,19881,19882],{"class":2811}," 'https://fonts.googleapis.com/css2?family=Almarai:wght@300;400;700&display=swap'",[2008,19884,4521],{"class":2702},[2008,19886,19887],{"class":2528,"line":2563},[2008,19888,16072],{"class":2702},[2008,19890,19891],{"class":2528,"line":2568},[2008,19892,16019],{"class":2702},[2008,19894,19895,19897,19899],{"class":2528,"line":2574},[2008,19896,19869],{"class":2801},[2008,19898,19872],{"class":2811},[2008,19900,4521],{"class":2702},[2008,19902,19903,19905,19908],{"class":2528,"line":1467},[2008,19904,19879],{"class":2801},[2008,19906,19907],{"class":2811}," 'https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600;700&display=swap'",[2008,19909,4521],{"class":2702},[2008,19911,19912],{"class":2528,"line":2818},[2008,19913,16072],{"class":2702},[2008,19915,19916],{"class":2528,"line":2842},[2008,19917,16132],{"class":2702},[2008,19919,19920],{"class":2528,"line":2862},[2008,19921,8024],{"class":2702},[2008,19923,19924],{"class":2528,"line":2119},[2008,19925,19926],{"class":2702},"},\n",[16,19928,19930],{"id":19929},"أفضل-الممارسات-والنصائح","أفضل الممارسات والنصائح",[209,19932,19934],{"id":19933},"_1-استخدم-slugs-متسقة","1. استخدم slugs متسقة",[12,19936,19937],{},"احتفظ بنفس الـ slug عبر اللغات لسهولة الربط المتبادل:",[186,19939,19940,19946],{},[189,19941,19942,19943],{},"EN: ",[584,19944,19945],{},"content/en/articles/my-post.md",[189,19947,19948,19949],{},"AR: ",[584,19950,19951],{},"content/ar/articles/my-post.md",[209,19953,19955],{"id":19954},"_2-نفّذ-محتوى-احتياطي","2. نفّذ محتوى احتياطي",[12,19957,19958],{},"قدّم دائماً قيماً احتياطية عندما قد يكون المحتوى مفقوداً:",[577,19960,19962],{"className":3808,"code":19961,"language":3810,"meta":42,"style":42},"const categoryTitle = computed(() => \n  category.value?.title || post.category || 'غير مصنف'\n);\n",[584,19963,19964,19969,19974],{"__ignoreMap":42},[2008,19965,19966],{"class":2528,"line":2529},[2008,19967,19968],{"class":2702},"const categoryTitle = computed(() => \n",[2008,19970,19971],{"class":2528,"line":46},[2008,19972,19973],{"class":2702},"  category.value?.title || post.category || 'غير مصنف'\n",[2008,19975,19976],{"class":2528,"line":43},[2008,19977,3907],{"class":2702},[209,19979,19981],{"id":19980},"_3-راقب-تغييرات-اللغة","3. راقب تغييرات اللغة",[12,19983,19984,19985,2713],{},"تأكد من مراقبة تغييرات اللغة في ",[584,19986,19987],{},"useAsyncData",[577,19989,19991],{"className":2679,"code":19990,"language":2681,"meta":42,"style":42},"const { data } = await useAsyncData(\n  `key-${locale.value}`,\n  () => fetchData(),\n  { watch: [locale] }  // مهم!\n);\n",[584,19992,19993,20011,20030,20042,20058],{"__ignoreMap":42},[2008,19994,19995,19997,19999,20001,20003,20005,20007,20009],{"class":2528,"line":2529},[2008,19996,3887],{"class":2694},[2008,19998,2775],{"class":2702},[2008,20000,8457],{"class":3890},[2008,20002,3865],{"class":2702},[2008,20004,2808],{"class":2712},[2008,20006,7747],{"class":2789},[2008,20008,7583],{"class":2760},[2008,20010,5925],{"class":2702},[2008,20012,20013,20016,20018,20020,20022,20024,20026,20028],{"class":2528,"line":46},[2008,20014,20015],{"class":2811},"  `key-",[2008,20017,4034],{"class":4033},[2008,20019,16916],{"class":2801},[2008,20021,181],{"class":4096},[2008,20023,3972],{"class":2801},[2008,20025,2832],{"class":4033},[2008,20027,4050],{"class":2811},[2008,20029,4521],{"class":2702},[2008,20031,20032,20035,20037,20040],{"class":2528,"line":43},[2008,20033,20034],{"class":2702},"  () ",[2008,20036,3965],{"class":2694},[2008,20038,20039],{"class":2760}," fetchData",[2008,20041,16519],{"class":2702},[2008,20043,20044,20046,20048,20050,20052,20055],{"class":2528,"line":2545},[2008,20045,17264],{"class":2702},[2008,20047,17267],{"class":2801},[2008,20049,4968],{"class":2702},[2008,20051,16916],{"class":2801},[2008,20053,20054],{"class":2702},"] }  ",[2008,20056,20057],{"class":2688},"// مهم!\n",[2008,20059,20060],{"class":2528,"line":2551},[2008,20061,3907],{"class":2702},[209,20063,20065],{"id":20064},"_4-اختبر-كل-من-ltr-و-rtl","4. اختبر كل من LTR و RTL",[12,20067,20068],{},"اختبر دائماً تخطيطاتك في كلا الاتجاهين:",[186,20070,20071,20081,20084,20087],{},[189,20072,20073,20074,20077,20078,3778],{},"تحقق من الهوامش والحشوات (",[584,20075,20076],{},"ms-4"," بدلاً من ",[584,20079,20080],{},"ml-4",[189,20082,20083],{},"تحقق من مواضع الأيقونات",[189,20085,20086],{},"اختبر تخطيطات النماذج",[189,20088,20089],{},"تحقق من قوائم التنقل",[209,20091,20093],{"id":20092},"_5-حسّن-الصور","5. حسّن الصور",[12,20095,20096],{},"استخدم Nuxt Image للتحسين التلقائي:",[577,20098,20100],{"className":3808,"code":20099,"language":3810,"meta":42,"style":42},"\u003CNuxtImg\n  :src=\"post.image\"\n  :alt=\"post.title\"\n  width=\"800\"\n  height=\"400\"\n  format=\"webp\"\n  loading=\"lazy\"\n/>\n",[584,20101,20102,20109,20128,20146,20156,20166,20176,20185],{"__ignoreMap":42},[2008,20103,20104,20106],{"class":2528,"line":2529},[2008,20105,3818],{"class":3817},[2008,20107,20108],{"class":3821},"NuxtImg\n",[2008,20110,20111,20114,20116,20118,20120,20122,20124,20126],{"class":2528,"line":46},[2008,20112,20113],{"class":2702},"  :",[2008,20115,17556],{"class":3825},[2008,20117,2808],{"class":2702},[2008,20119,4208],{"class":4096},[2008,20121,11030],{"class":2801},[2008,20123,181],{"class":2702},[2008,20125,17567],{"class":2801},[2008,20127,5143],{"class":4096},[2008,20129,20130,20132,20134,20136,20138,20140,20142,20144],{"class":2528,"line":43},[2008,20131,20113],{"class":2702},[2008,20133,17578],{"class":3825},[2008,20135,2808],{"class":2702},[2008,20137,4208],{"class":4096},[2008,20139,11030],{"class":2801},[2008,20141,181],{"class":2702},[2008,20143,11100],{"class":2801},[2008,20145,5143],{"class":4096},[2008,20147,20148,20151,20153],{"class":2528,"line":2545},[2008,20149,20150],{"class":3825},"  width",[2008,20152,2808],{"class":2702},[2008,20154,20155],{"class":2811},"\"800\"\n",[2008,20157,20158,20161,20163],{"class":2528,"line":2551},[2008,20159,20160],{"class":3825},"  height",[2008,20162,2808],{"class":2702},[2008,20164,20165],{"class":2811},"\"400\"\n",[2008,20167,20168,20171,20173],{"class":2528,"line":2557},[2008,20169,20170],{"class":3825},"  format",[2008,20172,2808],{"class":2702},[2008,20174,20175],{"class":2811},"\"webp\"\n",[2008,20177,20178,20180,20182],{"class":2528,"line":2563},[2008,20179,6445],{"class":3825},[2008,20181,2808],{"class":2702},[2008,20183,20184],{"class":2811},"\"lazy\"\n",[2008,20186,20187],{"class":2528,"line":2568},[2008,20188,20189],{"class":2702},"/>\n",[16,20191,20193],{"id":20192},"المشاكل-الشائعة-والحلول","المشاكل الشائعة والحلول",[209,20195,20197],{"id":20196},"المشكلة-اللغة-لا-تستمر","المشكلة: اللغة لا تستمر",[12,20199,20200,20203],{},[174,20201,20202],{},"الحل",": تأكد من تفعيل الكشف عن ملفات تعريف الارتباط في تكوين i18n:",[577,20205,20207],{"className":2679,"code":20206,"language":2681,"meta":42,"style":42},"detectBrowserLanguage: {\n  useCookie: true,\n  cookieKey: \"i18n_redirected\",\n}\n",[584,20208,20209,20216,20228,20240],{"__ignoreMap":42},[2008,20210,20211,20214],{"class":2528,"line":2529},[2008,20212,20213],{"class":4971},"detectBrowserLanguage",[2008,20215,19845],{"class":2702},[2008,20217,20218,20221,20223,20226],{"class":2528,"line":46},[2008,20219,20220],{"class":4971},"  useCookie",[2008,20222,4974],{"class":2702},[2008,20224,20225],{"class":5858},"true",[2008,20227,4521],{"class":2702},[2008,20229,20230,20233,20235,20238],{"class":2528,"line":43},[2008,20231,20232],{"class":4971},"  cookieKey",[2008,20234,4974],{"class":2702},[2008,20236,20237],{"class":2811},"\"i18n_redirected\"",[2008,20239,4521],{"class":2702},[2008,20241,20242],{"class":2528,"line":2545},[2008,20243,2748],{"class":2702},[209,20245,20247],{"id":20246},"المشكلة-المحتوى-لا-يتحدث-عند-تبديل-اللغة","المشكلة: المحتوى لا يتحدث عند تبديل اللغة",[12,20249,20250,20252,20253,20255,20256,2713],{},[174,20251,20202],{},": استخدم خيار ",[584,20254,3787],{}," في ",[584,20257,19987],{},[577,20259,20261],{"className":2679,"code":20260,"language":2681,"meta":42,"style":42},"{ watch: [locale] }\n",[584,20262,20263],{"__ignoreMap":42},[2008,20264,20265,20268,20270,20273,20275],{"class":2528,"line":2529},[2008,20266,20267],{"class":2702},"{ ",[2008,20269,3787],{"class":4971},[2008,20271,20272],{"class":2702},": [",[2008,20274,16916],{"class":2801},[2008,20276,20277],{"class":2702},"] }\n",[209,20279,20281],{"id":20280},"المشكلة-تخطيط-rtl-ينكسر","المشكلة: تخطيط RTL ينكسر",[12,20283,20284,20286,20287,20077,20290,19407],{},[174,20285,20202],{},": استخدم الخصائص المنطقية (",[584,20288,20289],{},"start/end",[584,20291,20292],{},"left/right",[577,20294,20296],{"className":3808,"code":20295,"language":3810,"meta":42,"style":42},"\u003C!-- سيء -->\n\u003Cdiv class=\"ml-4\">\n\n\u003C!-- جيد -->\n\u003Cdiv class=\"ms-4\">\n",[584,20297,20298,20303,20318,20322,20327],{"__ignoreMap":42},[2008,20299,20300],{"class":2528,"line":2529},[2008,20301,20302],{"class":2688},"\u003C!-- سيء -->\n",[2008,20304,20305,20307,20309,20311,20313,20316],{"class":2528,"line":46},[2008,20306,3818],{"class":3817},[2008,20308,2802],{"class":3821},[2008,20310,5078],{"class":3825},[2008,20312,2808],{"class":2702},[2008,20314,20315],{"class":2811},"\"ml-4\"",[2008,20317,2815],{"class":3817},[2008,20319,20320],{"class":2528,"line":43},[2008,20321,2548],{"emptyLinePlaceholder":54},[2008,20323,20324],{"class":2528,"line":2545},[2008,20325,20326],{"class":2702},"\u003C!-- جيد -->\n",[2008,20328,20329],{"class":2528,"line":2551},[2008,20330,20331],{"class":2702},"\u003Cdiv class=\"ms-4\">\n",[16,20333,20335],{"id":20334},"اعتبارات-النشر","اعتبارات النشر",[209,20337,20339],{"id":20338},"_1-توليد-المسارات-الثابتة","1. توليد المسارات الثابتة",[12,20341,20342,20343,20345],{},"أضف هذا إلى ",[584,20344,12799],{}," للتوليد الثابت:",[577,20347,20349],{"className":2679,"code":20348,"language":2681,"meta":42,"style":42},"nitro: {\n  prerender: {\n    routes: [\"/\", \"/ar\"],\n    crawlLinks: true,\n  },\n},\n",[584,20350,20351,20358,20365,20382,20393,20397],{"__ignoreMap":42},[2008,20352,20353,20356],{"class":2528,"line":2529},[2008,20354,20355],{"class":4971},"nitro",[2008,20357,19845],{"class":2702},[2008,20359,20360,20363],{"class":2528,"line":46},[2008,20361,20362],{"class":4971},"  prerender",[2008,20364,19845],{"class":2702},[2008,20366,20367,20370,20372,20374,20376,20379],{"class":2528,"line":43},[2008,20368,20369],{"class":4971},"    routes",[2008,20371,20272],{"class":2702},[2008,20373,11220],{"class":2811},[2008,20375,3848],{"class":2702},[2008,20377,20378],{"class":2811},"\"/ar\"",[2008,20380,20381],{"class":2702},"],\n",[2008,20383,20384,20387,20389,20391],{"class":2528,"line":2545},[2008,20385,20386],{"class":4971},"    crawlLinks",[2008,20388,4974],{"class":2702},[2008,20390,20225],{"class":5858},[2008,20392,4521],{"class":2702},[2008,20394,20395],{"class":2528,"line":2551},[2008,20396,8024],{"class":2702},[2008,20398,20399],{"class":2528,"line":2557},[2008,20400,19926],{"class":2702},[209,20402,20404],{"id":20403},"_2-كوّن-مسارات-الخادم","2. كوّن مسارات الخادم",[12,20406,20407],{},"تأكد من أن خادمك يتعامل مع بادئات اللغة بشكل صحيح.",[209,20409,20411],{"id":20410},"_3-أضف-خريطة-الموقع","3. أضف خريطة الموقع",[12,20413,20414,20415,20418],{},"ثبّت ",[584,20416,20417],{},"@nuxtjs/sitemap"," وكوّنها للغات متعددة:",[577,20420,20422],{"className":2679,"code":20421,"language":2681,"meta":42,"style":42},"sitemap: {\n  hostname: 'https://yourdomain.com',\n  i18n: true,\n}\n",[584,20423,20424,20431,20443,20454],{"__ignoreMap":42},[2008,20425,20426,20429],{"class":2528,"line":2529},[2008,20427,20428],{"class":4971},"sitemap",[2008,20430,19845],{"class":2702},[2008,20432,20433,20436,20438,20441],{"class":2528,"line":46},[2008,20434,20435],{"class":4971},"  hostname",[2008,20437,4974],{"class":2702},[2008,20439,20440],{"class":2811},"'https://yourdomain.com'",[2008,20442,4521],{"class":2702},[2008,20444,20445,20448,20450,20452],{"class":2528,"line":43},[2008,20446,20447],{"class":4971},"  i18n",[2008,20449,4974],{"class":2702},[2008,20451,20225],{"class":5858},[2008,20453,4521],{"class":2702},[2008,20455,20456],{"class":2528,"line":2545},[2008,20457,2748],{"class":2702},[16,20459,2000],{"id":2000},[12,20461,20462],{},"بناء مدونة متعددة اللغات مع Nuxt 3 و Nuxt Content و Nuxt i18n أمر مباشر بمجرد فهم المفاهيم الأساسية. المفتاح هو:",[1049,20464,20465,20468,20471,20474,20477],{},[189,20466,20467],{},"نظّم المحتوى حسب اللغة من البداية",[189,20469,20470],{},"استخدم تعريفات الأنواع المناسبة لتجربة تطوير أفضل",[189,20472,20473],{},"نفّذ composables متسقة للمهام الشائعة",[189,20475,20476],{},"اختبر بدقة في جميع اللغات المدعومة",[189,20478,20479],{},"حسّن لمحركات البحث مع علامات meta و hreflang المناسبة",[12,20481,20482],{},"هذا النهج يتوسع بشكل جيد - يمكنك إضافة لغات جديدة ببساطة عن طريق إنشاء مجلدات محتوى جديدة وتحديث تكوين i18n الخاص بك.",[12,20484,20485],{},"المدونة التي تقرأها الآن تستخدم هذه البنية بالضبط، وتتعامل مع الإنجليزية والعربية مع دعم RTL الكامل، وفئات موطّنة، وتحسين SEO. يمكنك استكشاف الكود المصدري وتكييفه لمشاريعك الخاصة.",[12,20487,3585],{},[3587,20489,20490],{},"html pre.shiki code .s56mj, html code.shiki .s56mj{--shiki-light:#6A737D;--shiki-default:#6A9955;--shiki-dark:#6A9955}html pre.shiki code .sEkCa, html code.shiki .sEkCa{--shiki-light:#D73A49;--shiki-default:#C586C0;--shiki-dark:#C586C0}html pre.shiki code .svuFb, html code.shiki .svuFb{--shiki-light:#6F42C1;--shiki-default:#DCDCAA;--shiki-dark:#DCDCAA}html pre.shiki code .sG4b4, html code.shiki .sG4b4{--shiki-light:#24292E;--shiki-default:#D4D4D4;--shiki-dark:#D4D4D4}html pre.shiki code .sZiGn, html code.shiki .sZiGn{--shiki-light:#24292E;--shiki-default:#9CDCFE;--shiki-dark:#9CDCFE}html pre.shiki code .sGDl4, html code.shiki .sGDl4{--shiki-light:#032F62;--shiki-default:#CE9178;--shiki-dark:#CE9178}html pre.shiki code .s7v1m, html code.shiki .s7v1m{--shiki-light:#005CC5;--shiki-default:#569CD6;--shiki-dark:#569CD6}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .s5uUr, html code.shiki .s5uUr{--shiki-light:#D73A49;--shiki-default:#569CD6;--shiki-dark:#569CD6}html pre.shiki code .sToQf, html code.shiki .sToQf{--shiki-light:#005CC5;--shiki-default:#4FC1FF;--shiki-dark:#4FC1FF}html pre.shiki code .s1p9p, html code.shiki .s1p9p{--shiki-light:#D73A49;--shiki-default:#D4D4D4;--shiki-dark:#D4D4D4}html pre.shiki code .su_XB, html code.shiki .su_XB{--shiki-light:#6F42C1;--shiki-default:#4EC9B0;--shiki-dark:#4EC9B0}html pre.shiki code .s9TRk, html code.shiki .s9TRk{--shiki-light:#E36209;--shiki-default:#9CDCFE;--shiki-dark:#9CDCFE}html pre.shiki code .s6-XD, html code.shiki .s6-XD{--shiki-light:#005CC5;--shiki-default:#4EC9B0;--shiki-dark:#4EC9B0}html pre.shiki code .se2iQ, html code.shiki .se2iQ{--shiki-light:#032F62;--shiki-default:#569CD6;--shiki-dark:#569CD6}html pre.shiki code .sffyN, html code.shiki .sffyN{--shiki-light:#24292E;--shiki-default:#808080;--shiki-dark:#808080}html pre.shiki code .ssFZ1, html code.shiki .ssFZ1{--shiki-light:#22863A;--shiki-default:#569CD6;--shiki-dark:#569CD6}html pre.shiki code .sFcZJ, html code.shiki .sFcZJ{--shiki-light:#6F42C1;--shiki-default:#9CDCFE;--shiki-dark:#9CDCFE}html pre.shiki code .s5T4v, html code.shiki .s5T4v{--shiki-light:#032F62;--shiki-default:#D4D4D4;--shiki-dark:#D4D4D4}html pre.shiki code .seC34, html code.shiki .seC34{--shiki-light:#005CC5;--shiki-default:#B5CEA8;--shiki-dark:#B5CEA8}html pre.shiki code .se0Tf, html code.shiki .se0Tf{--shiki-light:#005CC5;--shiki-default:#D4D4D4;--shiki-dark:#D4D4D4}html pre.shiki code .sqBZk, html code.shiki .sqBZk{--shiki-light:#005CC5;--shiki-default:#CE9178;--shiki-dark:#CE9178}html pre.shiki code .sGRYn, html code.shiki .sGRYn{--shiki-light:#6F42C1;--shiki-default:#C8C8C8;--shiki-dark:#C8C8C8}html pre.shiki code .sNX3-, html code.shiki .sNX3-{--shiki-light:#005CC5;--shiki-default:#DCDCAA;--shiki-dark:#DCDCAA}",{"title":42,"searchDepth":43,"depth":43,"links":20492},[20493,20494,20495,20496,20497,20498,20499,20500,20501,20502,20503,20504,20505,20512,20517,20522],{"id":15817,"depth":46,"text":15818},{"id":15850,"depth":46,"text":15851},{"id":15874,"depth":46,"text":15875},{"id":15940,"depth":46,"text":15941},{"id":16261,"depth":46,"text":16262},{"id":16445,"depth":46,"text":16446},{"id":17059,"depth":46,"text":17060},{"id":17738,"depth":46,"text":17739},{"id":18288,"depth":46,"text":18289},{"id":18599,"depth":46,"text":18600},{"id":19399,"depth":46,"text":19400},{"id":19642,"depth":46,"text":19643},{"id":19929,"depth":46,"text":19930,"children":20506},[20507,20508,20509,20510,20511],{"id":19933,"depth":43,"text":19934},{"id":19954,"depth":43,"text":19955},{"id":19980,"depth":43,"text":19981},{"id":20064,"depth":43,"text":20065},{"id":20092,"depth":43,"text":20093},{"id":20192,"depth":46,"text":20193,"children":20513},[20514,20515,20516],{"id":20196,"depth":43,"text":20197},{"id":20246,"depth":43,"text":20247},{"id":20280,"depth":43,"text":20281},{"id":20334,"depth":46,"text":20335,"children":20518},[20519,20520,20521],{"id":20338,"depth":43,"text":20339},{"id":20403,"depth":43,"text":20404},{"id":20410,"depth":43,"text":20411},{"id":2000,"depth":46,"text":2000},"دليل شامل خطوة بخطوة لبناء مدونة متعددة اللغات كاملة باستخدام Nuxt 3 و Nuxt Content و Nuxt i18n، مع أمثلة حقيقية من هذه المدونة",{"excerpt":20525},{"type":9,"value":20526},[20527],[12,20528,15814],{},"/bnaa-mdwnh-mtaddh-allghat-bastkhdam-nuxt-content",{"title":15809,"description":20523},"بناء-مدونة-متعددة-اللغات-باستخدام-nuxt-content",[14235,20533,20534,20535,20536,3810,2681,1654],"nuxt-content","nuxt-i18n","تدويل","مدونة","kY_s-YgyPmMc_Q89VXFiB9zpzwrZIDK6lGrl4EKnDz0",{"id":20539,"title":20540,"author":7,"body":20541,"category":8137,"description":8138,"extension":52,"image":20553,"isDraft":54,"isFeatured":55,"locale":56,"meta":20554,"navigation":54,"path":20559,"publishedAt":20560,"readingTime":2862,"seo":20561,"stem":20562,"tags":20563,"updatedAt":20560,"__hash__":20565},"articles_ar/بناء-نظام-تقييم-المنتجات-الداخلي.md","بناء نظام تقييم المنتجات الداخلي",{"type":9,"value":20542,"toc":20550},[20543,20546,20548],[12,20544,20545],{},"نظام تقييم المنتجات الداخلي يساعد على اتخاذ قرارات مبنية على البيانات.",[16,20547,2102],{"id":2101},[12,20549,2105],{},{"title":42,"searchDepth":43,"depth":43,"links":20551},[20552],{"id":2101,"depth":46,"text":2102},"https://images.unsplash.com/photo-1460925895917-afdab827c52f?q=80&w=1200&auto=format&fit=crop",{"excerpt":20555},{"type":9,"value":20556},[20557],[12,20558,20545],{},"/bnaa-nzam-tqyym-almntjat-aldakhly","2025-02-18",{"title":20540,"description":8138},"بناء-نظام-تقييم-المنتجات-الداخلي",[69,8137,20564],"التقييم","yguT2i8Wijnl3Mrjb98g3CJQaykzeOpKeRHekcWe_84",{"id":20567,"title":20568,"author":7,"body":20569,"category":3658,"description":8198,"extension":52,"image":20581,"isDraft":54,"isFeatured":55,"locale":56,"meta":20582,"navigation":54,"path":20587,"publishedAt":20588,"readingTime":3044,"seo":20589,"stem":20590,"tags":20591,"updatedAt":20588,"__hash__":20593},"articles_ar/بناء-نموذج-عمل-مستدام-ومربح.md","بناء نموذج عمل مستدام ومربح",{"type":9,"value":20570,"toc":20578},[20571,20574,20576],[12,20572,20573],{},"نموذج العمل المستدام هو أساس نجاح أي شركة ناشئة على المدى الطويل.",[16,20575,2102],{"id":2101},[12,20577,2105],{},{"title":42,"searchDepth":43,"depth":43,"links":20579},[20580],{"id":2101,"depth":46,"text":2102},"https://images.unsplash.com/photo-1553729459-efe14ef6055d?q=80&w=1200&auto=format&fit=crop",{"excerpt":20583},{"type":9,"value":20584},[20585],[12,20586,20573],{},"/bnaa-nmwthj-aml-mstdam-wmrbh","2025-06-10",{"title":20568,"description":8198},"بناء-نموذج-عمل-مستدام-ومربح",[3658,8209,20592,8151],"نموذج-العمل","ykxWORGskHcFung1T6Dcw0dOAnAgG6r-aFlmO_XSgjU",{"id":20595,"title":20596,"author":7,"body":20597,"category":2123,"description":2110,"extension":52,"image":15765,"isDraft":54,"isFeatured":55,"locale":56,"meta":20609,"navigation":54,"path":20614,"publishedAt":20615,"readingTime":2862,"seo":20616,"stem":20617,"tags":20618,"updatedAt":20615,"__hash__":20619},"articles_ar/بناء-واجهات-برمجة-آمنة-وموثوقة.md","بناء واجهات برمجة آمنة وموثوقة",{"type":9,"value":20598,"toc":20606},[20599,20602,20604],[12,20600,20601],{},"بناء واجهات برمجة آمنة يحمي تطبيقك وبيانات مستخدميك.",[16,20603,2102],{"id":2101},[12,20605,2105],{},{"title":42,"searchDepth":43,"depth":43,"links":20607},[20608],{"id":2101,"depth":46,"text":2102},{"excerpt":20610},{"type":9,"value":20611},[20612],[12,20613,20601],{},"/bnaa-wajhat-brmjh-aamnh-wmwthwqh","2025-05-13",{"title":20596,"description":2110},"بناء-واجهات-برمجة-آمنة-وموثوقة",[2123,15776,3716,3688],"rdH7XYn7GH8N5yzXzwpc4p64JGndRko7F4YqJd1evRo",{"id":20621,"title":20622,"author":7,"body":20623,"category":1437,"description":22780,"extension":52,"image":22781,"isDraft":55,"isFeatured":55,"locale":56,"meta":22782,"navigation":54,"path":22789,"publishedAt":22790,"readingTime":2035,"seo":22791,"stem":22792,"tags":22793,"updatedAt":1476,"__hash__":22795},"articles_ar/تحسين-مهارات-تطوير-الويب-2025.md","كيفية تحسين مهارات تطوير الويب في 2025: دليل شامل",{"type":9,"value":20624,"toc":22725},[20625,20628,20631,20635,20639,20642,20646,20651,20677,20682,20708,20713,20739,20743,20749,20754,20779,20785,20805,20810,20824,20828,20831,20835,20840,20863,20868,20902,20907,20939,20943,20946,20972,20974,20988,20992,20995,20999,21004,21018,21023,21040,21044,21049,21063,21067,21084,21088,21093,21107,21111,21116,21124,21129,21137,21142,21153,21158,21169,21173,21177,21180,21185,21199,21203,21217,21221,21226,21237,21242,21253,21259,21273,21277,21280,21284,21289,21303,21308,21319,21324,21335,21339,21377,21381,21384,21388,21393,21407,21412,21426,21431,21442,21447,21458,21462,21467,21478,21483,21494,21499,21510,21514,21518,21523,21534,21539,21550,21555,21566,21571,21582,21587,21598,21603,21614,21618,21623,21637,21642,21656,21661,21675,21680,21694,21698,21701,21704,21730,21734,21739,21897,21902,22027,22032,22124,22129,22143,22147,22150,22154,22159,22189,22194,22211,22215,22220,22237,22239,22244,22258,22263,22280,22285,22299,22303,22306,22309,22314,22324,22329,22343,22348,22362,22367,22381,22384,22401,22405,22408,22412,22417,22428,22433,22444,22449,22460,22465,22476,22480,22485,22496,22501,22512,22517,22528,22533,22544,22548,22551,22555,22560,22571,22576,22587,22592,22605,22610,22624,22628,22633,22647,22652,22666,22671,22685,22690,22707,22711,22714,22717,22720,22722],[12,20626,20627],{},"تطور تطوير الويب أسرع من أي مجال آخر في التكنولوجيا. الأطر، الأدوات، وأفضل الممارسات منذ عامين فقط قد تكون قديمة بالفعل. سواء كنت مبتدئاً تبحث عن الدخول في المجال أو مطوراً ذا خبرة يريد البقاء تنافسياً، التعلم المستمر أمر أساسي.",[12,20629,20630],{},"يوفر هذا الدليل استراتيجيات عملية لتحسين مهارات تطوير الويب الخاصة بك، البقاء محدثاً مع الصناعة، وبناء مهنة تزدهر في مشهد متغير باستمرار.",[16,20632,20634],{"id":20633},"_1-بنِ-مشاريع-حقيقية-ليس-مجرد-دروس","1. بنِ مشاريع حقيقية (ليس مجرد دروس)",[209,20636,20638],{"id":20637},"فخ-الدروس","فخ الدروس",[12,20640,20641],{},"يعلق العديد من المطورين في \"جحيم الدروس\" - استهلاك الدروس بلا نهاية بدون بناء أي شيء أصلي. بينما الدروس قيمة لتعلم الصيغة والمفاهيم، النمو الحقيقي يحدث عندما تبني مشاريع بشكل مستقل.",[209,20643,20645],{"id":20644},"أفكار-مشاريع-لمستويات-مهارات-مختلفة","أفكار مشاريع لمستويات مهارات مختلفة",[12,20647,20648],{},[174,20649,20650],{},"مشاريع مبتدئة:",[186,20652,20653,20659,20665,20671],{},[189,20654,20655,20658],{},[174,20656,20657],{},"محفظة شخصية",": عرض عملك بـ HTML، CSS، وJavaScript نقي",[189,20660,20661,20664],{},[174,20662,20663],{},"تطبيق مهام",": تعلم إدارة الحالة وعمليات CRUD",[189,20666,20667,20670],{},[174,20668,20669],{},"تطبيق طقس",": تدريب العمل مع APIs",[189,20672,20673,20676],{},[174,20674,20675],{},"آلة حاسبة",": إتقان منطق JavaScript ومعالجة DOM",[12,20678,20679],{},[174,20680,20681],{},"مشاريع متوسطة:",[186,20683,20684,20690,20696,20702],{},[189,20685,20686,20689],{},[174,20687,20688],{},"منصة مدونة",": استخدم إطار عمل (React، Vue، Nuxt) مع دعم markdown",[189,20691,20692,20695],{},[174,20693,20694],{},"متجر تجارة إلكترونية",": تنفيذ وظيفة سلة التسوق، تدفق الدفع، وتكامل الدفع",[189,20697,20698,20701],{},[174,20699,20700],{},"نسخة وسائل تواصل اجتماعي",": بنِ مصادقة المستخدمين، المنشورات، التعليقات، والإعجابات",[189,20703,20704,20707],{},[174,20705,20706],{},"لوحة تحكم",": إنشاء تصورات بيانات مع رسوم بيانية وتحديثات فورية",[12,20709,20710],{},[174,20711,20712],{},"مشاريع متقدمة:",[186,20714,20715,20721,20727,20733],{},[189,20716,20717,20720],{},[174,20718,20719],{},"تطبيق SaaS",": معمارية متعددة المستأجرين، فوترة الاشتراكات، التحليلات",[189,20722,20723,20726],{},[174,20724,20725],{},"أداة تعاون فورية",": WebSockets، حل النزاعات، تحويلات تشغيلية",[189,20728,20729,20732],{},[174,20730,20731],{},"منصة بث فيديو",": ترميز الفيديو، بث معدل بت تكيفي، تكامل CDN",[189,20734,20735,20738],{},[174,20736,20737],{},"أداة بناء أو إطار عمل",": أنشئ أداة CLI الخاصة بك، مكون حزم، أو إطار عمل مصغر",[209,20740,20742],{"id":20741},"أفضل-الممارسات-للتعلم-المبني-على-المشاريع","أفضل الممارسات للتعلم المبني على المشاريع",[12,20744,20745,20748],{},[174,20746,20747],{},"1. ابدأ صغيراً، ثم توسع","\nابدأ بإصدار قابل للعيش الأدنى، ثم أضف ميزات تدريجياً.",[12,20750,20751],{},[174,20752,20753],{},"2. استخدم أدوات حديثة",[186,20755,20756,20762,20768,20774],{},[189,20757,20758,20761],{},[174,20759,20760],{},"مراقبة الإصدارات",": Git وGitHub من اليوم الأول",[189,20763,20764,20767],{},[174,20765,20766],{},"مديرو الحزم",": npm، pnpm، أو bun",[189,20769,20770,20773],{},[174,20771,20772],{},"أدوات البناء",": Vite، Next.js، أو Nuxt",[189,20775,20776,20778],{},[174,20777,10668],{},": أضف أمان الأنواع لالتقاط الأخطاء مبكراً",[12,20780,20781,20784],{},[174,20782,20783],{},"3. نشر مشاريعك","\nلا تدع المشاريع تجلس على جهازك:",[186,20786,20787,20793,20799],{},[189,20788,20789,20792],{},[174,20790,20791],{},"استضافة مجانية",": Vercel، Netlify، Cloudflare Pages، GitHub Pages",[189,20794,20795,20798],{},[174,20796,20797],{},"أسماء النطاقات",": احصل على نطاق مخصص لمحفظتك",[189,20800,20801,20804],{},[174,20802,20803],{},"CI/CD",": أعد إعداد النشر التلقائي عند git push",[12,20806,20807],{},[174,20808,20809],{},"4. وثق عملك",[186,20811,20812,20815,20818,20821],{},[189,20813,20814],{},"اكتب README يشرح المشروع",[189,20816,20817],{},"أضف تعليقات للكود المعقد",[189,20819,20820],{},"أنشئ عرض مشروع في محفظتك",[189,20822,20823],{},"اكتب منشور مدونة عن ما تعلمته",[16,20825,20827],{"id":20826},"_2-إتقان-الأساسيات","2. إتقان الأساسيات",[12,20829,20830],{},"قبل القفز لأحدث إطار عمل، تأكد من وجود أساس متين:",[209,20832,20834],{"id":20833},"التقنيات-الأساسية-للويب","التقنيات الأساسية للويب",[12,20836,20837],{},[174,20838,20839],{},"HTML5:",[186,20841,20842,20854,20857,20860],{},[189,20843,20844,20845,14147,20848,14147,20851,3778],{},"ترميز دلالي (",[584,20846,20847],{},"\u003Carticle>",[584,20849,20850],{},"\u003Csection>",[584,20852,20853],{},"\u003Cnav>",[189,20855,20856],{},"سمات إمكانية الوصول (ARIA، نص بديل، تنقل لوحة المفاتيح)",[189,20858,20859],{},"النماذج والتحقق",[189,20861,20862],{},"أفضل ممارسات SEO",[12,20864,20865],{},[174,20866,20867],{},"CSS:",[186,20869,20870,20876,20884,20890,20896],{},[189,20871,20872,20875],{},[174,20873,20874],{},"التخطيط",": إتقان Flexbox وGrid",[189,20877,20878,20881,20882],{},[174,20879,20880],{},"CSS الحديث",": خصائص مخصصة (متغيرات CSS)، استعلامات الحاوي، ",[584,20883,19788],{},[189,20885,20886,20889],{},[174,20887,20888],{},"التصميم المتجاوب",": نهج الهاتف أولاً، استعلامات الوسائط",[189,20891,20892,20895],{},[174,20893,20894],{},"الرسوم المتحركة",": الانتقالات، الإطارات الرئيسية، انتقالات العرض",[189,20897,20898,20901],{},[174,20899,20900],{},"معمارية CSS",": BEM، أول الأدوات (Tailwind)، وحدات CSS",[12,20903,20904],{},[174,20905,20906],{},"JavaScript (ES6+):",[186,20908,20909,20915,20921,20927,20933],{},[189,20910,20911,20914],{},[174,20912,20913],{},"الصيغة الحديثة",": تفكيك، عوامل الانتشار/الباقي، القوالب الحرفية",[189,20916,20917,20920],{},[174,20918,20919],{},"البرمجة غير المتزامنة",": Promises، async/await، معالجة الأخطاء",[189,20922,20923,20926],{},[174,20924,20925],{},"طرق المصفوفات",": map، filter، reduce، find، some، every",[189,20928,20929,20932],{},[174,20930,20931],{},"الوحدات",": import/export، imports ديناميكية",[189,20934,20935,20938],{},[174,20936,20937],{},"معالجة DOM",": محددات الاستعلام، معالجة الأحداث، محتوى ديناميكي",[209,20940,20942],{"id":20941},"أساسيات-علوم-الحاسوب","أساسيات علوم الحاسوب",[12,20944,20945],{},"فهم هذه المفاهيم سيجعلك مطوراً أفضل:",[186,20947,20948,20954,20960,20966],{},[189,20949,20950,20953],{},[174,20951,20952],{},"هياكل البيانات",": المصفوفات، الكائنات، الخرائط، المجموعات، الأشجار",[189,20955,20956,20959],{},[174,20957,20958],{},"الخوارزميات",": الترتيب، البحث، التكرار، البرمجة الديناميكية",[189,20961,20962,20965],{},[174,20963,20964],{},"تدوين Big O",": فهم تعقيد الوقت والمساحة",[189,20967,20968,20971],{},[174,20969,20970],{},"أنماط التصميم",": Singleton، factory، observer، أنماط الوحدة",[12,20973,14710],{},[186,20975,20976,20982],{},[189,20977,20978,20981],{},[174,20979,20980],{},"مجاني",": قسم الخوارزميات في FreeCodeCamp، مشاكل LeetCode السهلة",[189,20983,20984,20987],{},[174,20985,20986],{},"مدفوع",": Frontend Masters، دورات Udemy حول الخوارزميات لـ JS",[16,20989,20991],{"id":20990},"_3-تعلم-إطار-عمل-حديث-وتعلمه-جيداً","3. تعلم إطار عمل حديث (وتعلمه جيداً)",[12,20993,20994],{},"لا تقفز بين الأطر. اختر واحداً وأتقنه:",[209,20996,20998],{"id":20997},"react-الأكثر-شعبية","React (الأكثر شعبية)",[12,21000,21001],{},[174,21002,21003],{},"لماذا React:",[186,21005,21006,21009,21012,21015],{},[189,21007,21008],{},"أكبر سوق وظائف",[189,21010,21011],{},"نظام بيئي ومجتمع هائل",[189,21013,21014],{},"مدعوم من Meta",[189,21016,21017],{},"يدير Instagram، Facebook، Netflix",[12,21019,21020],{},[174,21021,21022],{},"ما ستتعلمه:",[186,21024,21025,21028,21031,21034,21037],{},[189,21026,21027],{},"Hooks (useState، useEffect، useContext، useReducer، hooks مخصصة)",[189,21029,21030],{},"أنماط المكونات (التكوين، render props، HOCs)",[189,21032,21033],{},"إدارة الحالة (Context API، Zustand، Redux Toolkit)",[189,21035,21036],{},"Next.js للتطبيقات الإنتاجية (App Router، Server Components)",[189,21038,21039],{},"React Query لجلب البيانات",[209,21041,21043],{"id":21042},"vuenuxt-ودود-للمطورين","Vue/Nuxt (ودود للمطورين)",[12,21045,21046],{},[174,21047,21048],{},"لماذا Vue:",[186,21050,21051,21054,21057,21060],{},[189,21052,21053],{},"منحنى تعلم أسهل من React",[189,21055,21056],{},"توثيق رائع",[189,21058,21059],{},"مميز كاملاً خارج الصندوق",[189,21061,21062],{},"Nuxt لـ SSR/SSG",[12,21064,21065],{},[174,21066,21022],{},[186,21068,21069,21072,21075,21078,21081],{},[189,21070,21071],{},"Composition API",[189,21073,21074],{},"نظام التفاعل",[189,21076,21077],{},"Composables والأدوات",[189,21079,21080],{},"وحدات ومكونات Nuxt",[189,21082,21083],{},"Nuxt Content للمواقع المبنية على المحتوى",[209,21085,21087],{"id":21086},"svelte-الأداء-أولاً","Svelte (الأداء أولاً)",[12,21089,21090],{},[174,21091,21092],{},"لماذا Svelte:",[186,21094,21095,21098,21101,21104],{},[189,21096,21097],{},"يترجم لـ JS نقي (لا runtime)",[189,21099,21100],{},"أبسط صيغة",[189,21102,21103],{},"تفاعل مدمج",[189,21105,21106],{},"SvelteKit للتطبيقات الكاملة الواجهات",[209,21108,21110],{"id":21109},"استراتيجية-التعلم","استراتيجية التعلم",[12,21112,21113],{},[174,21114,21115],{},"المرحلة 1 (الأسابيع 1-2): الأساسيات",[186,21117,21118,21121],{},[189,21119,21120],{},"الدرس الرسمي والتوثيق",[189,21122,21123],{},"بنِ 2-3 مكونات صغيرة",[12,21125,21126],{},[174,21127,21128],{},"المرحلة 2 (الأسابيع 3-4): متوسط",[186,21130,21131,21134],{},[189,21132,21133],{},"تعلم التوجيه وإدارة الحالة",[189,21135,21136],{},"بنِ تطبيق متعدد الصفحات",[12,21138,21139],{},[174,21140,21141],{},"المرحلة 3 (الأسابيع 5-8): متقدم",[186,21143,21144,21147,21150],{},[189,21145,21146],{},"تحسين الأداء",[189,21148,21149],{},"الاختبار (Vitest، React Testing Library)",[189,21151,21152],{},"النشر الإنتاجي",[12,21154,21155],{},[174,21156,21157],{},"المرحلة 4 (مستمر): الإتقان",[186,21159,21160,21163,21166],{},[189,21161,21162],{},"المساهمة في المصدر المفتوح",[189,21164,21165],{},"بناء تطبيقات إنتاجية",[189,21167,21168],{},"تدريب الآخرين",[16,21170,21172],{"id":21171},"_4-تطوير-روتين-برمجة-متسق","4. تطوير روتين برمجة متسق",[209,21174,21176],{"id":21175},"تحدي-100-يوم-من-الكود","تحدي 100 يوم من الكود",[12,21178,21179],{},"التزم بالبرمجة لمدة ساعة على الأقل كل يوم لـ 100 يوم:",[12,21181,21182],{},[174,21183,21184],{},"القواعد:",[1049,21186,21187,21190,21193,21196],{},[189,21188,21189],{},"برمجة كل يوم",[189,21191,21192],{},"نشر تقدمك مع #100DaysOfCode",[189,21194,21195],{},"تشجيع الآخرين في المجتمع",[189,21197,21198],{},"تتبع تقدمك في مذكرة",[12,21200,21201],{},[174,21202,15261],{},[186,21204,21205,21208,21211,21214],{},[189,21206,21207],{},"بناء عادة",[189,21209,21210],{},"إنشاء مساءلة",[189,21212,21213],{},"توليد محفظة عمل",[189,21215,21216],{},"ربطك بمطورين آخرين",[209,21218,21220],{"id":21219},"استراتيجيات-إدارة-الوقت","استراتيجيات إدارة الوقت",[12,21222,21223],{},[174,21224,21225],{},"تقنية Pomodoro:",[186,21227,21228,21231,21234],{},[189,21229,21230],{},"25 دقيقة من البرمجة المركزة",[189,21232,21233],{},"استراحة 5 دقائق",[189,21235,21236],{},"تكرار 4 مرات، ثم استراحة أطول",[12,21238,21239],{},[174,21240,21241],{},"حجب الوقت:",[186,21243,21244,21247,21250],{},[189,21245,21246],{},"الصباح: عمل عميق على الميزات المعقدة",[189,21248,21249],{},"الظهيرة: اجتماعات، مراجعات الكود، التعلم",[189,21251,21252],{},"المساء: مشاريع شخصية، القراءة",[12,21254,21255,21258],{},[174,21256,21257],{},"التدريب المتعمد:","\nركز على مهارة محددة واحدة في كل مرة:",[186,21260,21261,21264,21267,21270],{},[189,21262,21263],{},"الأسبوع 1: إتقان CSS Grid",[189,21265,21266],{},"الأسبوع 2: تعلم React hooks بعمق",[189,21268,21269],{},"الأسبوع 3: تدريب مشاكل الخوارزميات",[189,21271,21272],{},"الأسبوع 4: بناء ميزة بمهارة جديدة",[16,21274,21276],{"id":21275},"_5-اقرأ-الكود-كثيراً","5. اقرأ الكود (كثيراً)",[12,21278,21279],{},"قراءة الكود مهمة مثل كتابته.",[209,21281,21283],{"id":21282},"أين-تجد-كود-جيد","أين تجد كود جيد",[12,21285,21286],{},[174,21287,21288],{},"مشاريع المصدر المفتوح:",[186,21290,21291,21294,21297,21300],{},[189,21292,21293],{},"React: facebook/react",[189,21295,21296],{},"Vue: vuejs/core",[189,21298,21299],{},"Next.js: vercel/next.js",[189,21301,21302],{},"Tailwind CSS: tailwindlabs/tailwindcss",[12,21304,21305],{},[174,21306,21307],{},"استكشاف GitHub:",[186,21309,21310,21313,21316],{},[189,21311,21312],{},"ابحث عن تسميات \"good first issue\"",[189,21314,21315],{},"تصفح المستودعات الرائجة",[189,21317,21318],{},"تصفية بلغتك المفضلة",[12,21320,21321],{},[174,21322,21323],{},"منصات مراجعة الكود:",[186,21325,21326,21329,21332],{},[189,21327,21328],{},"CodeReview Stack Exchange",[189,21330,21331],{},"مراجعات pull request على GitHub",[189,21333,21334],{},"طلبات مراجعة الكود على Dev.to",[209,21336,21338],{"id":21337},"كيفية-قراءة-الكود-بفعالية","كيفية قراءة الكود بفعالية",[1049,21340,21341,21347,21353,21359,21365,21371],{},[189,21342,21343,21346],{},[174,21344,21345],{},"ابدأ بـ README",": فهم غرض المشروع",[189,21348,21349,21352],{},[174,21350,21351],{},"استكشف هيكل الملفات",": رؤية كيفية تنظيم الكود",[189,21354,21355,21358],{},[174,21356,21357],{},"اقرأ الاختبارات",": تفسر السلوك المتوقع",[189,21360,21361,21364],{},[174,21362,21363],{},"اتبع تدفق البيانات",": تتبع كيف تتحرك البيانات عبر التطبيق",[189,21366,21367,21370],{},[174,21368,21369],{},"دراسة الأنماط",": لاحظ القرارات المعمارية المتكررة",[189,21372,21373,21376],{},[174,21374,21375],{},"اطرح أسئلة",": علق على الكود الذي لا تفهمه",[16,21378,21380],{"id":21379},"_6-انضم-لمجتمعات-المطورين","6. انضم لمجتمعات المطورين",[12,21382,21383],{},"التعلم وحده صعب. توفر المجتمعات الدعم، الدافع، والفرص.",[209,21385,21387],{"id":21386},"المجتمعات-عبر-الإنترنت","المجتمعات عبر الإنترنت",[12,21389,21390],{},[174,21391,21392],{},"خوادم Discord:",[186,21394,21395,21398,21401,21404],{},[189,21396,21397],{},"Reactiflux (مطورو React)",[189,21399,21400],{},"Vue Land (مطورو Vue)",[189,21402,21403],{},"The Odin Project",[189,21405,21406],{},"FreeCodeCamp",[12,21408,21409],{},[174,21410,21411],{},"Reddit:",[186,21413,21414,21417,21420,21423],{},[189,21415,21416],{},"r/webdev",[189,21418,21419],{},"r/learnprogramming",[189,21421,21422],{},"r/javascript",[189,21424,21425],{},"r/Frontend",[12,21427,21428],{},[174,21429,21430],{},"Twitter/X:",[186,21432,21433,21436,21439],{},[189,21434,21435],{},"تابع المطورين الذين تعجبهم",[189,21437,21438],{},"شارك رحلة تعلمك",[189,21440,21441],{},"تفاعل مع #DevCommunity",[12,21443,21444],{},[174,21445,21446],{},"Dev.to وHashnode:",[186,21448,21449,21452,21455],{},[189,21450,21451],{},"اكتب منشورات مدونة عن ما تتعلمه",[189,21453,21454],{},"اقرأ وعلق على منشورات الآخرين",[189,21456,21457],{},"بنِ حضورك عبر الإنترنت",[209,21459,21461],{"id":21460},"المجتمعات-المحلية","المجتمعات المحلية",[12,21463,21464],{},[174,21465,21466],{},"اللقاءات:",[186,21468,21469,21472,21475],{},[189,21470,21471],{},"ابحث Meetup.com عن مجموعات dev محلية",[189,21473,21474],{},"احضر المحادثات وفعاليات التواصل",[189,21476,21477],{},"قدم مشاريعك الخاصة",[12,21479,21480],{},[174,21481,21482],{},"هاكاثونات:",[186,21484,21485,21488,21491],{},[189,21486,21487],{},"بنِ مشاريع في 24-48 ساعة",[189,21489,21490],{},"تواصل مع مطورين آخرين",[189,21492,21493],{},"فز بجوائز واحصل على خبرة",[12,21495,21496],{},[174,21497,21498],{},"المؤتمرات:",[186,21500,21501,21504,21507],{},[189,21502,21503],{},"React Summit، Vue Conf، JSNation",[189,21505,21506],{},"احضر ورش العمل والمحادثات",[189,21508,21509],{},"قابل قادة الصناعة",[16,21511,21513],{"id":21512},"_7-ابق-محدثاً-بالأدوات-والممارسات-الحديثة","7. ابق محدثاً بالأدوات والممارسات الحديثة",[209,21515,21517],{"id":21516},"أدوات-التطوير-الأساسية-لعام-2025","أدوات التطوير الأساسية لعام 2025",[12,21519,21520],{},[174,21521,21522],{},"محررات الكود:",[186,21524,21525,21528,21531],{},[189,21526,21527],{},"VS Code (الأكثر شعبية)",[189,21529,21530],{},"Cursor (برمجة بالذكاء الاصطناعي)",[189,21532,21533],{},"WebStorm (IDE مميز كاملاً)",[12,21535,21536],{},[174,21537,21538],{},"أدوات المتصفح DevTools:",[186,21540,21541,21544,21547],{},[189,21542,21543],{},"Chrome DevTools: تحليل الأداء، تصحيح الأخطاء",[189,21545,21546],{},"React DevTools: فحص المكونات",[189,21548,21549],{},"Vue DevTools: تصحيح إدارة الحالة",[12,21551,21552],{},[174,21553,21554],{},"مراقبة الإصدارات:",[186,21556,21557,21560,21563],{},[189,21558,21559],{},"Git: التفريع، الدمج، إعادة التأسيس",[189,21561,21562],{},"GitHub Actions: أتمتة CI/CD",[189,21564,21565],{},"Conventional Commits: رسائل commit منظمة",[12,21567,21568],{},[174,21569,21570],{},"الاختبار:",[186,21572,21573,21576,21579],{},[189,21574,21575],{},"Vitest: اختبار وحدة سريع",[189,21577,21578],{},"Playwright: اختبار شامل",[189,21580,21581],{},"Testing Library: اختبار المكونات",[12,21583,21584],{},[174,21585,21586],{},"أدوات البناء:",[186,21588,21589,21592,21595],{},[189,21590,21591],{},"Vite: بناء سريع كالبرق",[189,21593,21594],{},"Turbopack: حزم الجيل التالي",[189,21596,21597],{},"esbuild: حزم سريع للغاية",[12,21599,21600],{},[174,21601,21602],{},"مساعدي البرمجة بالذكاء الاصطناعي:",[186,21604,21605,21608,21611],{},[189,21606,21607],{},"GitHub Copilot: إكمال الكود",[189,21609,21610],{},"Cursor: برمجة زوجية بالذكاء الاصطناعي",[189,21612,21613],{},"ChatGPT: تصحيح الأخطاء والتعلم",[209,21615,21617],{"id":21616},"أفضل-الممارسات-الحديثة","أفضل الممارسات الحديثة",[12,21619,21620],{},[174,21621,21622],{},"الأداء:",[186,21624,21625,21628,21631,21634],{},[189,21626,21627],{},"Core Web Vitals (LCP، FID، CLS)",[189,21629,21630],{},"تقسيم الكود والتحميل الكسول",[189,21632,21633],{},"تحسين الصور (WebP، AVIF)",[189,21635,21636],{},"استخدام CDN",[12,21638,21639],{},[174,21640,21641],{},"إمكانية الوصول:",[186,21643,21644,21647,21650,21653],{},[189,21645,21646],{},"تنقل لوحة المفاتيح",[189,21648,21649],{},"دعم قارئ الشاشة",[189,21651,21652],{},"سمات ARIA",[189,21654,21655],{},"نسب تباين الألوان",[12,21657,21658],{},[174,21659,21660],{},"SEO:",[186,21662,21663,21666,21669,21672],{},[189,21664,21665],{},"HTML دلالي",[189,21667,21668],{},"Meta tags وOpen Graph",[189,21670,21671],{},"بيانات منظمة (JSON-LD)",[189,21673,21674],{},"تحسين سرعة الموقع",[12,21676,21677],{},[174,21678,21679],{},"الأمان:",[186,21681,21682,21685,21688,21691],{},[189,21683,21684],{},"التحقق من صحة الإدخال وتعقيمه",[189,21686,21687],{},"HTTPS في كل مكان",[189,21689,21690],{},"سياسة أمان المحتوى (CSP)",[189,21692,21693],{},"أفضل ممارسات المصادقة",[16,21695,21697],{"id":21696},"_8-تعلم-typescript","8. تعلم TypeScript",[12,21699,21700],{},"أصبح TypeScript معيار الصناعة للتطبيقات واسعة النطاق.",[209,21702,2620],{"id":21703},"لماذا-typescript",[186,21705,21706,21712,21718,21724],{},[189,21707,21708,21711],{},[174,21709,21710],{},"التقاط الأخطاء مبكراً",": أخطاء الأنواع ملتقطة أثناء التطوير",[189,21713,21714,21717],{},[174,21715,21716],{},"دعم IDE أفضل",": الإكمال التلقائي، إعادة التصميم، التنقل",[189,21719,21720,21723],{},[174,21721,21722],{},"توثيق محسن",": الأنواع تعمل كتوثيق",[189,21725,21726,21729],{},[174,21727,21728],{},"معيار الصناعة",": معظم المشاريع الجديدة تستخدم TypeScript",[209,21731,21733],{"id":21732},"مسار-التعلم","مسار التعلم",[12,21735,21736],{},[174,21737,21738],{},"الأسبوع 1: الأساسيات",[577,21740,21742],{"className":2679,"code":21741,"language":2681,"meta":42,"style":42},"// الأنواع الأساسية\nlet name: string = \"John\";\nlet age: number = 30;\nlet isActive: boolean = true;\n\n// المصفوفات والكائنات\nlet numbers: number[] = [1, 2, 3];\nlet user: { name: string; age: number } = {\n  name: \"John\",\n  age: 30\n};\n",[584,21743,21744,21749,21767,21784,21802,21806,21811,21844,21876,21885,21893],{"__ignoreMap":42},[2008,21745,21746],{"class":2528,"line":2529},[2008,21747,21748],{"class":2688},"// الأنواع الأساسية\n",[2008,21750,21751,21754,21756,21758,21760,21762,21765],{"class":2528,"line":46},[2008,21752,21753],{"class":2694},"let",[2008,21755,4362],{"class":2801},[2008,21757,2713],{"class":2712},[2008,21759,2730],{"class":2716},[2008,21761,3894],{"class":2712},[2008,21763,21764],{"class":2811}," \"John\"",[2008,21766,2720],{"class":2702},[2008,21768,21769,21771,21774,21776,21778,21780,21782],{"class":2528,"line":43},[2008,21770,21753],{"class":2694},[2008,21772,21773],{"class":2801}," age",[2008,21775,2713],{"class":2712},[2008,21777,2717],{"class":2716},[2008,21779,3894],{"class":2712},[2008,21781,3935],{"class":3903},[2008,21783,2720],{"class":2702},[2008,21785,21786,21788,21791,21793,21796,21798,21800],{"class":2528,"line":2545},[2008,21787,21753],{"class":2694},[2008,21789,21790],{"class":2801}," isActive",[2008,21792,2713],{"class":2712},[2008,21794,21795],{"class":2716}," boolean",[2008,21797,3894],{"class":2712},[2008,21799,5859],{"class":5858},[2008,21801,2720],{"class":2702},[2008,21803,21804],{"class":2528,"line":2551},[2008,21805,2548],{"emptyLinePlaceholder":54},[2008,21807,21808],{"class":2528,"line":2557},[2008,21809,21810],{"class":2688},"// المصفوفات والكائنات\n",[2008,21812,21813,21815,21818,21820,21822,21825,21827,21829,21831,21833,21836,21838,21841],{"class":2528,"line":2563},[2008,21814,21753],{"class":2694},[2008,21816,21817],{"class":2801}," numbers",[2008,21819,2713],{"class":2712},[2008,21821,2717],{"class":2716},[2008,21823,21824],{"class":2702},"[] ",[2008,21826,2808],{"class":2712},[2008,21828,4968],{"class":2702},[2008,21830,7225],{"class":3903},[2008,21832,3848],{"class":2702},[2008,21834,21835],{"class":3903},"2",[2008,21837,3848],{"class":2702},[2008,21839,21840],{"class":3903},"3",[2008,21842,21843],{"class":2702},"];\n",[2008,21845,21846,21848,21850,21852,21854,21856,21858,21860,21863,21866,21868,21870,21872,21874],{"class":2528,"line":2568},[2008,21847,21753],{"class":2694},[2008,21849,3914],{"class":2801},[2008,21851,2713],{"class":2712},[2008,21853,2775],{"class":2702},[2008,21855,2829],{"class":2708},[2008,21857,2713],{"class":2712},[2008,21859,2730],{"class":2716},[2008,21861,21862],{"class":2702},"; ",[2008,21864,21865],{"class":2708},"age",[2008,21867,2713],{"class":2712},[2008,21869,2717],{"class":2716},[2008,21871,3865],{"class":2702},[2008,21873,2808],{"class":2712},[2008,21875,2703],{"class":2702},[2008,21877,21878,21881,21883],{"class":2528,"line":2574},[2008,21879,21880],{"class":2801},"  name:",[2008,21882,21764],{"class":2811},[2008,21884,4521],{"class":2702},[2008,21886,21887,21890],{"class":2528,"line":1467},[2008,21888,21889],{"class":2801},"  age:",[2008,21891,21892],{"class":3903}," 30\n",[2008,21894,21895],{"class":2528,"line":2818},[2008,21896,16732],{"class":2702},[12,21898,21899],{},[174,21900,21901],{},"الأسبوع 2: الواجهات والأنواع",[577,21903,21905],{"className":2679,"code":21904,"language":2681,"meta":42,"style":42},"interface User {\n  id: number;\n  name: string;\n  email: string;\n  isAdmin?: boolean; // اختياري\n}\n\ntype Status = \"active\" | \"inactive\" | \"pending\";\n\nfunction getUser(id: number): User {\n  // ...\n}\n",[584,21906,21907,21915,21925,21935,21945,21959,21963,21967,21991,21995,22018,22023],{"__ignoreMap":42},[2008,21908,21909,21911,21913],{"class":2528,"line":2529},[2008,21910,2695],{"class":2694},[2008,21912,2699],{"class":2698},[2008,21914,2703],{"class":2702},[2008,21916,21917,21919,21921,21923],{"class":2528,"line":46},[2008,21918,2709],{"class":2708},[2008,21920,2713],{"class":2712},[2008,21922,2717],{"class":2716},[2008,21924,2720],{"class":2702},[2008,21926,21927,21929,21931,21933],{"class":2528,"line":43},[2008,21928,2725],{"class":2708},[2008,21930,2713],{"class":2712},[2008,21932,2730],{"class":2716},[2008,21934,2720],{"class":2702},[2008,21936,21937,21939,21941,21943],{"class":2528,"line":2545},[2008,21938,2737],{"class":2708},[2008,21940,2713],{"class":2712},[2008,21942,2730],{"class":2716},[2008,21944,2720],{"class":2702},[2008,21946,21947,21950,21952,21954,21956],{"class":2528,"line":2551},[2008,21948,21949],{"class":2708},"  isAdmin",[2008,21951,4913],{"class":2712},[2008,21953,21795],{"class":2716},[2008,21955,21862],{"class":2702},[2008,21957,21958],{"class":2688},"// اختياري\n",[2008,21960,21961],{"class":2528,"line":2557},[2008,21962,2748],{"class":2702},[2008,21964,21965],{"class":2528,"line":2563},[2008,21966,2548],{"emptyLinePlaceholder":54},[2008,21968,21969,21971,21974,21976,21979,21981,21984,21986,21989],{"class":2528,"line":2568},[2008,21970,17100],{"class":2694},[2008,21972,21973],{"class":2698}," Status",[2008,21975,3894],{"class":2712},[2008,21977,21978],{"class":2811}," \"active\"",[2008,21980,6698],{"class":2712},[2008,21982,21983],{"class":2811}," \"inactive\"",[2008,21985,6698],{"class":2712},[2008,21987,21988],{"class":2811}," \"pending\"",[2008,21990,2720],{"class":2702},[2008,21992,21993],{"class":2528,"line":2574},[2008,21994,2548],{"emptyLinePlaceholder":54},[2008,21996,21997,21999,22002,22004,22006,22008,22010,22012,22014,22016],{"class":2528,"line":1467},[2008,21998,2757],{"class":2694},[2008,22000,22001],{"class":2760}," getUser",[2008,22003,3900],{"class":2702},[2008,22005,6190],{"class":2708},[2008,22007,2713],{"class":2712},[2008,22009,2717],{"class":2716},[2008,22011,3778],{"class":2702},[2008,22013,2713],{"class":2712},[2008,22015,2699],{"class":2698},[2008,22017,2703],{"class":2702},[2008,22019,22020],{"class":2528,"line":2818},[2008,22021,22022],{"class":2688},"  // ...\n",[2008,22024,22025],{"class":2528,"line":2842},[2008,22026,2748],{"class":2702},[12,22028,22029],{},[174,22030,22031],{},"الأسبوع 3: Generics",[577,22033,22035],{"className":2679,"code":22034,"language":2681,"meta":42,"style":42},"function wrapInArray\u003CT>(value: T): T[] {\n  return [value];\n}\n\nconst numbers = wrapInArray(1); // number[]\nconst strings = wrapInArray(\"hello\"); // string[]\n",[584,22036,22037,22065,22075,22079,22083,22103],{"__ignoreMap":42},[2008,22038,22039,22041,22044,22046,22048,22050,22052,22054,22056,22058,22060,22062],{"class":2528,"line":2529},[2008,22040,2757],{"class":2694},[2008,22042,22043],{"class":2760}," wrapInArray",[2008,22045,3818],{"class":2702},[2008,22047,5636],{"class":2698},[2008,22049,5639],{"class":2702},[2008,22051,3972],{"class":2708},[2008,22053,2713],{"class":2712},[2008,22055,5656],{"class":2698},[2008,22057,3778],{"class":2702},[2008,22059,2713],{"class":2712},[2008,22061,5656],{"class":2698},[2008,22063,22064],{"class":2702},"[] {\n",[2008,22066,22067,22069,22071,22073],{"class":2528,"line":46},[2008,22068,2790],{"class":2789},[2008,22070,4968],{"class":2702},[2008,22072,3972],{"class":2801},[2008,22074,21843],{"class":2702},[2008,22076,22077],{"class":2528,"line":43},[2008,22078,2748],{"class":2702},[2008,22080,22081],{"class":2528,"line":2545},[2008,22082,2548],{"emptyLinePlaceholder":54},[2008,22084,22085,22087,22089,22091,22093,22095,22097,22100],{"class":2528,"line":2551},[2008,22086,3887],{"class":2694},[2008,22088,21817],{"class":3890},[2008,22090,3894],{"class":2712},[2008,22092,22043],{"class":2760},[2008,22094,3900],{"class":2702},[2008,22096,7225],{"class":3903},[2008,22098,22099],{"class":2702},"); ",[2008,22101,22102],{"class":2688},"// number[]\n",[2008,22104,22105,22107,22110,22112,22114,22116,22119,22121],{"class":2528,"line":2557},[2008,22106,3887],{"class":2694},[2008,22108,22109],{"class":3890}," strings",[2008,22111,3894],{"class":2712},[2008,22113,22043],{"class":2760},[2008,22115,3900],{"class":2702},[2008,22117,22118],{"class":2811},"\"hello\"",[2008,22120,22099],{"class":2702},[2008,22122,22123],{"class":2688},"// string[]\n",[12,22125,22126],{},[174,22127,22128],{},"الأسبوع 4: الأنماط المتقدمة",[186,22130,22131,22134,22137,22140],{},[189,22132,22133],{},"أنواع الأدوات (Partial، Required، Pick، Omit)",[189,22135,22136],{},"حارسات الأنواع وضيق النطاق",[189,22138,22139],{},"الاتحادات المميزة",[189,22141,22142],{},"الأنواع الشرطية",[16,22144,22146],{"id":22145},"_9-بنِ-حضوراً-قوياً-عبر-الإنترنت","9. بنِ حضوراً قوياً عبر الإنترنت",[12,22148,22149],{},"حضورك عبر الإنترنت هو سيرتك الذاتية الحديثة.",[209,22151,22153],{"id":22152},"موقع-المحفظة","موقع المحفظة",[12,22155,22156],{},[174,22157,22158],{},"الأقسام الواجبة:",[186,22160,22161,22167,22173,22179,22184],{},[189,22162,22163,22166],{},[174,22164,22165],{},"البطل",": الاسم، اللقب، مقدمة مختصرة",[189,22168,22169,22172],{},[174,22170,22171],{},"المشاريع",": 4-6 مشاريع أفضل مع أوصاف",[189,22174,22175,22178],{},[174,22176,22177],{},"المهارات",": التقنيات التي تعرفها",[189,22180,22181,22183],{},[174,22182,11249],{},": قصتك وخلفيتك",[189,22185,22186,22188],{},[174,22187,15804],{},": البريد الإلكتروني، LinkedIn، GitHub",[12,22190,22191],{},[174,22192,22193],{},"الاعتبارات التقنية:",[186,22195,22196,22199,22202,22205,22208],{},[189,22197,22198],{},"سرعة تحميل سريعة",[189,22200,22201],{},"متجاوب للهاتف",[189,22203,22204],{},"تصميم نظيف ومهني",[189,22206,22207],{},"محسن لـ SEO",[189,22209,22210],{},"نطاق مخصص",[209,22212,22214],{"id":22213},"ملف-github","ملف GitHub",[12,22216,22217],{},[174,22218,22219],{},"اجعله مميزاً:",[186,22221,22222,22225,22228,22231,22234],{},[189,22223,22224],{},"README مهني مع إحصائيات وشارات",[189,22226,22227],{},"تثبيت أفضل المستودعات",[189,22229,22230],{},"المساهمة بانتظام (المربعات الخضراء مهمة)",[189,22232,22233],{},"كتابة ملفات README واضحة للمشاريع",[189,22235,22236],{},"تضمين عروض حية ولقطات شاشة",[209,22238,11273],{"id":11273},[12,22240,22241],{},[174,22242,22243],{},"لماذا المدونة:",[186,22245,22246,22249,22252,22255],{},[189,22247,22248],{},"تعزيز تعلمك",[189,22250,22251],{},"بناء علامتك الشخصية",[189,22253,22254],{},"تحسين مهارات الكتابة",[189,22256,22257],{},"مساعدة الآخرين والعطاء",[12,22259,22260],{},[174,22261,22262],{},"ما تكتبه:",[186,22264,22265,22268,22271,22274,22277],{},[189,22266,22267],{},"حلول للمشاكل التي حللتها",[189,22269,22270],{},"درس لمفهوم تعلمته",[189,22272,22273],{},"مقارنة أدوات أو أطر عمل",[189,22275,22276],{},"رحلة تعلمك",[189,22278,22279],{},"تحديات الكود التي أكملتها",[12,22281,22282],{},[174,22283,22284],{},"أين تنشر:",[186,22286,22287,22290,22293,22296],{},[189,22288,22289],{},"موقعك الخاص (أفضل لـ SEO)",[189,22291,22292],{},"Dev.to (مجتمع رائع)",[189,22294,22295],{},"Hashnode (مركز على المطورين)",[189,22297,22298],{},"Medium (جمهور أكبر)",[16,22300,22302],{"id":22301},"_10-ساهم-في-المصدر-المفتوح","10. ساهم في المصدر المفتوح",[12,22304,22305],{},"مساهمات المصدر المفتوح تبدو رائعة على السير الذاتية وتعلمك مهارات العالم الحقيقي.",[209,22307,22308],{"id":22308},"البدء",[12,22310,22311],{},[174,22312,22313],{},"الخطوة 1: العثور على مشروع",[186,22315,22316,22318,22321],{},[189,22317,21312],{},[189,22319,22320],{},"اختر مشاريع تستخدمها فعلياً",[189,22322,22323],{},"ابدأ بتحسينات التوثيق",[12,22325,22326],{},[174,22327,22328],{},"الخطوة 2: فهم قاعدة الكود",[186,22330,22331,22334,22337,22340],{},[189,22332,22333],{},"اقرأ CONTRIBUTING.md",[189,22335,22336],{},"دراسة هيكل الكود",[189,22338,22339],{},"شغل المشروع محلياً",[189,22341,22342],{},"اقرأ المشاكل والـ PRs الموجودة",[12,22344,22345],{},[174,22346,22347],{},"الخطوة 3: أول مساهمة لك",[186,22349,22350,22353,22356,22359],{},[189,22351,22352],{},"إصلاح خطأ إملائي في التوثيق",[189,22354,22355],{},"تحسين رسائل الخطأ",[189,22357,22358],{},"إضافة اختبارات للكود الموجود",[189,22360,22361],{},"إصلاح خطأ صغير",[12,22363,22364],{},[174,22365,22366],{},"الخطوة 4: نمو تأثيرك",[186,22368,22369,22372,22375,22378],{},[189,22370,22371],{},"معالجة مشاكل أكبر",[189,22373,22374],{},"اقتراح ميزات جديدة",[189,22376,22377],{},"مساعدة مراجعة PRs أخرى",[189,22379,22380],{},"أصبح maintainer",[209,22382,22383],{"id":22383},"الفوائد",[186,22385,22386,22389,22392,22395,22398],{},[189,22387,22388],{},"تعلم من مطورين ذوي خبرة",[189,22390,22391],{},"بناء محفظة عامة",[189,22393,22394],{},"التواصل مع المجتمع",[189,22396,22397],{},"العطاء للأدوات التي تستخدمها",[189,22399,22400],{},"فرص وظائف محتملة",[16,22402,22404],{"id":22403},"_11-تدريب-حل-المشاكل","11. تدريب حل المشاكل",[12,22406,22407],{},"تركز مقابلات البرمجة غالباً على الخوارزميات وهياكل البيانات.",[209,22409,22411],{"id":22410},"منصات-التدريب","منصات التدريب",[12,22413,22414],{},[174,22415,22416],{},"LeetCode:",[186,22418,22419,22422,22425],{},[189,22420,22421],{},"ابدأ بمشاكل سهلة",[189,22423,22424],{},"ركز على الأنماط، لا الحفظ",[189,22426,22427],{},"افعل 1-2 مشكلة يومياً",[12,22429,22430],{},[174,22431,22432],{},"CodeWars:",[186,22434,22435,22438,22441],{},[189,22436,22437],{},"تحديات ممتعة ومغامرة",[189,22439,22440],{},"مستويات صعوبة متعددة",[189,22442,22443],{},"تعلم نهج مختلفة",[12,22445,22446],{},[174,22447,22448],{},"Frontend Mentor:",[186,22450,22451,22454,22457],{},[189,22452,22453],{},"تحديات UI واقعية",[189,22455,22456],{},"ملفات التصميم متوفرة",[189,22458,22459],{},"تدريب HTML، CSS، JS",[12,22461,22462],{},[174,22463,22464],{},"HackerRank:",[186,22466,22467,22470,22473],{},[189,22468,22469],{},"التحضير للمقابلات التقنية",[189,22471,22472],{},"شهادات لإكمال المسارات",[189,22474,22475],{},"تحديات محددة للشركات",[209,22477,22479],{"id":22478},"خطة-الدراسة","خطة الدراسة",[12,22481,22482],{},[174,22483,22484],{},"الأسبوع 1-2: المصفوفات والسلاسل",[186,22486,22487,22490,22493],{},[189,22488,22489],{},"تقنية المؤشرين",[189,22491,22492],{},"النافذة المنزلقة",[189,22494,22495],{},"معالجة السلاسل الأساسية",[12,22497,22498],{},[174,22499,22500],{},"الأسبوع 3-4: خرائط Hash والمجموعات",[186,22502,22503,22506,22509],{},[189,22504,22505],{},"عد التكرار",[189,22507,22508],{},"نمط مجموعتين",[189,22510,22511],{},"مشاكل التجميع",[12,22513,22514],{},[174,22515,22516],{},"الأسبوع 5-6: التكرار والعودية",[186,22518,22519,22522,22525],{},[189,22520,22521],{},"تحديد الحالة الأساسية",[189,22523,22524],{},"عبور الشجرة",[189,22526,22527],{},"مشاكل التركيبة",[12,22529,22530],{},[174,22531,22532],{},"الأسبوع 7-8: البرمجة الديناميكية",[186,22534,22535,22538,22541],{},[189,22536,22537],{},"التذكر",[189,22539,22540],{},"الجدولة",[189,22542,22543],{},"مشاكل DP الكلاسيكية",[16,22545,22547],{"id":22546},"_12-تعلم-أساسيات-الخلفية","12. تعلم أساسيات الخلفية",[12,22549,22550],{},"كونك مطوراً كامل الواجهات يزيد من قيمتك.",[209,22552,22554],{"id":22553},"تقنيات-الخلفية-للتعلم","تقنيات الخلفية للتعلم",[12,22556,22557],{},[174,22558,22559],{},"Node.js:",[186,22561,22562,22565,22568],{},[189,22563,22564],{},"Express.js أو Fastify للـ APIs",[189,22566,22567],{},"المصادقة (JWT، sessions)",[189,22569,22570],{},"تكامل قاعدة البيانات",[12,22572,22573],{},[174,22574,22575],{},"قواعد البيانات:",[186,22577,22578,22581,22584],{},[189,22579,22580],{},"SQL: PostgreSQL، MySQL",[189,22582,22583],{},"NoSQL: MongoDB، Firebase",[189,22585,22586],{},"ORMs: Prisma، Drizzle",[12,22588,22589],{},[174,22590,22591],{},"تصميم API:",[186,22593,22594,22597,22600,22603],{},[189,22595,22596],{},"مبادئ RESTful",[189,22598,22599],{},"أساسيات GraphQL",[189,22601,22602],{},"نسخ API",[189,22604,3568],{},[12,22606,22607],{},[174,22608,22609],{},"النشر:",[186,22611,22612,22615,22618,22621],{},[189,22613,22614],{},"حاويات Docker",[189,22616,22617],{},"خطوط أنابيب CI/CD",[189,22619,22620],{},"متغيرات البيئة",[189,22622,22623],{},"المراقبة والتسجيل",[16,22625,22627],{"id":22626},"الخاتمة-خطة-عملك-لـ-90-يوم","الخاتمة: خطة عملك لـ 90 يوم",[12,22629,22630],{},[174,22631,22632],{},"الأيام 1-30: الأساس",[186,22634,22635,22638,22641,22644],{},[189,22636,22637],{},"أكمل درساً شاملاً واحداً في إطار عملك المختار",[189,22639,22640],{},"بنِ 3 مشاريع صغيرة من الصفر",[189,22642,22643],{},"انضم لـ 2-3 مجتمعات مطورين",[189,22645,22646],{},"ابدأ مذكرة برمجة",[12,22648,22649],{},[174,22650,22651],{},"الأيام 31-60: العمق",[186,22653,22654,22657,22660,22663],{},[189,22655,22656],{},"بنِ مشروع كبير واحد (انشره!)",[189,22658,22659],{},"حل 30 مشكلة خوارزمية (واحدة يومياً)",[189,22661,22662],{},"اكتب 3 منشورات مدونة عن ما تعلمته",[189,22664,22665],{},"ساهم في مشروع مصدر مفتوح واحد",[12,22667,22668],{},[174,22669,22670],{},"الأيام 61-90: الإتقان",[186,22672,22673,22676,22679,22682],{},[189,22674,22675],{},"أعد بناء أحد مشاريعك بأفضل الممارسات",[189,22677,22678],{},"أنشئ موقع محفظتك",[189,22680,22681],{},"تقدم لـ 5 وظائف أو فرص freelance",[189,22683,22684],{},"ابدأ مساعدة الآخرين في المجتمعات",[12,22686,22687],{},[174,22688,22689],{},"مستمر: النمو",[186,22691,22692,22695,22698,22701,22704],{},[189,22693,22694],{},"برمجة يومية (حتى لو 30 دقيقة فقط)",[189,22696,22697],{},"تعلم شيء جديد أسبوعياً",[189,22699,22700],{},"شارك معرفتك من خلال المدونة أو التدريب",[189,22702,22703],{},"بنِ مشاريع تحل مشاكل حقيقية",[189,22705,22706],{},"ابق فضولياً ولا تتوقف عن التعلم",[16,22708,22710],{"id":22709},"الأفكار-النهائية","الأفكار النهائية",[12,22712,22713],{},"تحسين مهارات تطوير الويب الخاصة بك سباق ماراثون، ليس سباق قصير. ركز على التدريب المتسق والمتعمد على التلقين. بنِ مشاريع تهمك، تواصل مع مطورين آخرين، واستمر دائماً في التعلم.",[12,22715,22716],{},"سيستمر مشهد تطوير الويب في التغيير، لكن الأساسيات - حل المشاكل، الكود النظيف، والتعلم المستمر - ستظل دائماً قيمة.",[12,22718,22719],{},"ابدأ اليوم. اختر استراتيجية واحدة من هذا الدليل وتلتزم بها للأيام الـ 30 القادمة. نفسك المستقبلي سيشكرك.",[12,22721,3585],{},[3587,22723,22724],{},"html pre.shiki code .s56mj, html code.shiki .s56mj{--shiki-light:#6A737D;--shiki-default:#6A9955;--shiki-dark:#6A9955}html pre.shiki code .s5uUr, html code.shiki .s5uUr{--shiki-light:#D73A49;--shiki-default:#569CD6;--shiki-dark:#569CD6}html pre.shiki code .sZiGn, html code.shiki .sZiGn{--shiki-light:#24292E;--shiki-default:#9CDCFE;--shiki-dark:#9CDCFE}html pre.shiki code .s1p9p, html code.shiki .s1p9p{--shiki-light:#D73A49;--shiki-default:#D4D4D4;--shiki-dark:#D4D4D4}html pre.shiki code .s6-XD, html code.shiki .s6-XD{--shiki-light:#005CC5;--shiki-default:#4EC9B0;--shiki-dark:#4EC9B0}html pre.shiki code .sGDl4, html code.shiki .sGDl4{--shiki-light:#032F62;--shiki-default:#CE9178;--shiki-dark:#CE9178}html pre.shiki code .sG4b4, html code.shiki .sG4b4{--shiki-light:#24292E;--shiki-default:#D4D4D4;--shiki-dark:#D4D4D4}html pre.shiki code .seC34, html code.shiki .seC34{--shiki-light:#005CC5;--shiki-default:#B5CEA8;--shiki-dark:#B5CEA8}html pre.shiki code .s7v1m, html code.shiki .s7v1m{--shiki-light:#005CC5;--shiki-default:#569CD6;--shiki-dark:#569CD6}html pre.shiki code .s9TRk, html code.shiki .s9TRk{--shiki-light:#E36209;--shiki-default:#9CDCFE;--shiki-dark:#9CDCFE}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .su_XB, html code.shiki .su_XB{--shiki-light:#6F42C1;--shiki-default:#4EC9B0;--shiki-dark:#4EC9B0}html pre.shiki code .svuFb, html code.shiki .svuFb{--shiki-light:#6F42C1;--shiki-default:#DCDCAA;--shiki-dark:#DCDCAA}html pre.shiki code .sEkCa, html code.shiki .sEkCa{--shiki-light:#D73A49;--shiki-default:#C586C0;--shiki-dark:#C586C0}html pre.shiki code .sToQf, html code.shiki .sToQf{--shiki-light:#005CC5;--shiki-default:#4FC1FF;--shiki-dark:#4FC1FF}",{"title":42,"searchDepth":43,"depth":43,"links":22726},[22727,22732,22736,22742,22746,22750,22754,22758,22762,22767,22771,22775,22778,22779],{"id":20633,"depth":46,"text":20634,"children":22728},[22729,22730,22731],{"id":20637,"depth":43,"text":20638},{"id":20644,"depth":43,"text":20645},{"id":20741,"depth":43,"text":20742},{"id":20826,"depth":46,"text":20827,"children":22733},[22734,22735],{"id":20833,"depth":43,"text":20834},{"id":20941,"depth":43,"text":20942},{"id":20990,"depth":46,"text":20991,"children":22737},[22738,22739,22740,22741],{"id":20997,"depth":43,"text":20998},{"id":21042,"depth":43,"text":21043},{"id":21086,"depth":43,"text":21087},{"id":21109,"depth":43,"text":21110},{"id":21171,"depth":46,"text":21172,"children":22743},[22744,22745],{"id":21175,"depth":43,"text":21176},{"id":21219,"depth":43,"text":21220},{"id":21275,"depth":46,"text":21276,"children":22747},[22748,22749],{"id":21282,"depth":43,"text":21283},{"id":21337,"depth":43,"text":21338},{"id":21379,"depth":46,"text":21380,"children":22751},[22752,22753],{"id":21386,"depth":43,"text":21387},{"id":21460,"depth":43,"text":21461},{"id":21512,"depth":46,"text":21513,"children":22755},[22756,22757],{"id":21516,"depth":43,"text":21517},{"id":21616,"depth":43,"text":21617},{"id":21696,"depth":46,"text":21697,"children":22759},[22760,22761],{"id":21703,"depth":43,"text":2620},{"id":21732,"depth":43,"text":21733},{"id":22145,"depth":46,"text":22146,"children":22763},[22764,22765,22766],{"id":22152,"depth":43,"text":22153},{"id":22213,"depth":43,"text":22214},{"id":11273,"depth":43,"text":11273},{"id":22301,"depth":46,"text":22302,"children":22768},[22769,22770],{"id":22308,"depth":43,"text":22308},{"id":22383,"depth":43,"text":22383},{"id":22403,"depth":46,"text":22404,"children":22772},[22773,22774],{"id":22410,"depth":43,"text":22411},{"id":22478,"depth":43,"text":22479},{"id":22546,"depth":46,"text":22547,"children":22776},[22777],{"id":22553,"depth":43,"text":22554},{"id":22626,"depth":46,"text":22627},{"id":22709,"depth":46,"text":22710},"دليل شامل لرفع مستوى مهارات تطوير الويب الخاصة بك مع استراتيجيات عملية، أدوات حديثة، وطرق تعلم مثبتة لعام 2025 وما بعده.","https://images.unsplash.com/photo-1518818608552-195ed130cdf4?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=MnwxMTc3M3wwfDF8c2VhcmNofDI1fHxwcm9ncmFtbWluZyUyMGxhbmd1YWdlfGVufDB8fHx8MTY3MTE1NDE5OQ&ixlib=rb-4.0.3&q=80&w=2000",{"excerpt":22783},{"type":9,"value":22784},[22785,22787],[12,22786,20627],{},[12,22788,20630],{},"/thsyn-mharat-ttwyr-alwyb-2025","2022-12-16T09:53:38.000Z",{"title":20622,"description":22780},"تحسين-مهارات-تطوير-الويب-2025",[3627,1471,1472,3626,2681,22794,8116,10366],"react","JyCS14DBRQxKXTZfV6HbRgeTXhY6Vm_4sjreUGJlOo4",{"id":22797,"title":22798,"author":7,"body":22799,"category":69,"description":8138,"extension":52,"image":22811,"isDraft":54,"isFeatured":55,"locale":56,"meta":22812,"navigation":54,"path":22817,"publishedAt":22818,"readingTime":2818,"seo":22819,"stem":22820,"tags":22821,"updatedAt":22818,"__hash__":22825},"articles_ar/تصميم-تجربة-المستخدم-للمنتجات-العربية.md","تصميم تجربة المستخدم للمنتجات العربية",{"type":9,"value":22800,"toc":22808},[22801,22804,22806],[12,22802,22803],{},"تصميم تجربة المستخدم للمنتجات العربية يتطلب فهماً للخصوصيات الثقافية واللغوية.",[16,22805,2102],{"id":2101},[12,22807,2105],{},{"title":42,"searchDepth":43,"depth":43,"links":22809},[22810],{"id":2101,"depth":46,"text":2102},"https://images.unsplash.com/photo-1561070791-2526d30994b5?q=80&w=1200&auto=format&fit=crop",{"excerpt":22813},{"type":9,"value":22814},[22815],[12,22816,22803],{},"/tsmym-tjrbh-almstkhdm-llmntjat-alarbyh","2025-02-04",{"title":22798,"description":8138},"تصميم-تجربة-المستخدم-للمنتجات-العربية",[69,22822,22823,22824],"تجربة-المستخدم","التصميم","UI-UX","xPXLm-4RB9fxqZ8-9fzwNk7ckRn_DxVxF7oLn69M7g0",{"id":22827,"title":22828,"author":7,"body":22829,"category":1437,"description":26825,"extension":52,"image":26826,"isDraft":55,"isFeatured":55,"locale":56,"meta":26827,"navigation":54,"path":26848,"publishedAt":26849,"readingTime":2842,"seo":26850,"stem":26851,"tags":26852,"updatedAt":1476,"__hash__":26855},"articles_ar/توليد-سلاسل-نصية-عشوائية-javascript-2025.md","الدليل الشامل لتوليد السلاسل النصية العشوائية في JavaScript (2025)",{"type":9,"value":22830,"toc":26787},[22831,22834,22839,22856,22860,22863,22869,22901,22907,22933,22937,23060,23064,23068,23071,23213,23219,23224,23235,23240,23248,23252,23255,23372,23377,23381,23392,23396,23399,23676,23681,23685,23696,23700,23703,23765,23770,23774,23785,23789,23797,23801,23805,23808,23963,23968,23972,23982,23986,24146,24150,24344,24348,24351,24503,24512,24516,24520,24534,24684,24689,24709,24713,24717,25184,25188,25453,25457,25620,25624,25850,25854,25857,26235,26239,26243,26345,26349,26463,26467,26471,26532,26536,26575,26579,26599,26603,26673,26677,26728,26730,26733,26773,26781,26784],[12,22832,22833],{},"توليد السلاسل النصية العشوائية مهمة شائعة في تطوير الويب - سواء كنت تقوم بإنشاء معرفات فريدة، رموز مميزة آمنة، كلمات مرور، أو معرفات جلسات. في هذا الدليل الشامل، سنستكشف جميع الطرق الحديثة لتوليد السلاسل النصية العشوائية في JavaScript، سواء على جانب العميل أو الخادم، مع التركيز على الأمان والأداء.",[12,22835,22836],{},[174,22837,22838],{},"ستتعلم:",[186,22840,22841,22844,22847,22850,22853],{},[189,22842,22843],{},"طرق آمنة مشفرة (لكلمات المرور، الرموز المميزة)",[189,22845,22846],{},"طرق سريعة (لحالات الاستخدام غير الحساسة أمنياً)",[189,22848,22849],{},"تقنيات ES6+ حديثة",[189,22851,22852],{},"مقارنات الأداء",[189,22854,22855],{},"حالات الاستخدام الواقعية وأفضل الممارسات",[16,22857,22859],{"id":22858},"متى-تحتاج-سلاسل-نصية-عشوائية","متى تحتاج سلاسل نصية عشوائية؟",[12,22861,22862],{},"قبل الغوص في الكود، دعنا نفهم حالات الاستخدام الشائعة:",[12,22864,22865,22868],{},[174,22866,22867],{},"حساسة أمنياً"," (استخدم طرق آمنة مشفرة):",[186,22870,22871,22877,22883,22889,22895],{},[189,22872,22873,22876],{},[174,22874,22875],{},"توليد كلمات المرور"," - كلمات مرور أولية للمستخدمين",[189,22878,22879,22882],{},[174,22880,22881],{},"رموز API"," - رموز المصادقة التي تدوم أسابيع/أشهر",[189,22884,22885,22888],{},[174,22886,22887],{},"معرفات الجلسات"," - معرفات فريدة لجلسات المستخدم",[189,22890,22891,22894],{},[174,22892,22893],{},"رموز إعادة تعيين كلمة المرور"," - رموز محدودة زمنياً ترسل عبر البريد الإلكتروني",[189,22896,22897,22900],{},[174,22898,22899],{},"رموز CSRF"," - حماية من تزوير الطلبات عبر المواقع",[12,22902,22903,22906],{},[174,22904,22905],{},"غير حساسة أمنياً"," (Math.random() مناسب):",[186,22908,22909,22915,22921,22927],{},[189,22910,22911,22914],{},[174,22912,22913],{},"معرفات العناصر الفريدة"," - مفاتيح React، معرفات عناصر DOM",[189,22916,22917,22920],{},[174,22918,22919],{},"كسر الذاكرة المؤقتة"," - معاملات استعلام عشوائية للموارد",[189,22922,22923,22926],{},[174,22924,22925],{},"أسماء الملفات المؤقتة"," - رفع الملفات قبل المعالجة",[189,22928,22929,22932],{},[174,22930,22931],{},"بيانات الاختبار"," - توليد بيانات وهمية للاختبار",[16,22934,22936],{"id":22935},"جدول-مقارنة-سريع","جدول مقارنة سريع",[643,22938,22939,22960],{},[646,22940,22941],{},[649,22942,22943,22946,22949,22951,22954,22957],{},[652,22944,22945],{},"الطريقة",[652,22947,22948],{},"حالة الاستخدام",[652,22950,3353],{},[652,22952,22953],{},"السرعة",[652,22955,22956],{},"المتصفح",[652,22958,22959],{},"Node.js",[659,22961,22962,22983,23001,23022,23041],{},[649,22963,22964,22969,22972,22975,22977,22980],{},[664,22965,22966],{},[584,22967,22968],{},"crypto.randomBytes()",[664,22970,22971],{},"رموز API، كلمات المرور",[664,22973,22974],{},"✅ عالي",[664,22976,3082],{},[664,22978,22979],{},"❌",[664,22981,22982],{},"✅",[649,22984,22985,22990,22993,22995,22997,22999],{},[664,22986,22987],{},[584,22988,22989],{},"crypto.getRandomValues()",[664,22991,22992],{},"رموز جانب العميل",[664,22994,22974],{},[664,22996,3082],{},[664,22998,22982],{},[664,23000,22979],{},[649,23002,23003,23008,23011,23013,23016,23019],{},[664,23004,23005],{},[584,23006,23007],{},"crypto.randomUUID()",[664,23009,23010],{},"معرفات فريدة",[664,23012,22974],{},[664,23014,23015],{},"أسرع",[664,23017,23018],{},"✅ (>15)",[664,23020,23021],{},"✅ (>14)",[649,23023,23024,23029,23032,23035,23037,23039],{},[664,23025,23026],{},[584,23027,23028],{},"Math.random()",[664,23030,23031],{},"غير أمني",[664,23033,23034],{},"❌ منخفض",[664,23036,23015],{},[664,23038,22982],{},[664,23040,22982],{},[649,23042,23043,23048,23051,23053,23056,23058],{},[664,23044,23045],{},[584,23046,23047],{},"nanoid",[664,23049,23050],{},"معرفات فريدة قصيرة",[664,23052,22974],{},[664,23054,23055],{},"سريع جداً",[664,23057,22982],{},[664,23059,22982],{},[16,23061,23063],{"id":23062},"طرق-nodejs-جانب-الخادم","طرق Node.js (جانب الخادم)",[209,23065,23067],{"id":23066},"_1-سلسلة-hex-آمنة-مشفرة","1. سلسلة hex آمنة مشفرة",[12,23069,23070],{},"مثالية لرموز API ومعرفات الجلسات:",[577,23072,23074],{"className":8366,"code":23073,"language":3626,"meta":42,"style":42},"import crypto from 'crypto';\n\nfunction generateToken(length = 32) {\n  return crypto\n    .randomBytes(Math.ceil(length / 2))\n    .toString('hex')\n    .slice(0, length);\n}\n\nconsole.log(generateToken(32));\n// الناتج: \"a7f5c3e9d2b1a4f6c8e0d9b2a5f7c3e1\"\n",[584,23075,23076,23090,23094,23113,23120,23147,23161,23178,23182,23186,23208],{"__ignoreMap":42},[2008,23077,23078,23080,23083,23085,23088],{"class":2528,"line":2529},[2008,23079,3841],{"class":2789},[2008,23081,23082],{"class":2801}," crypto",[2008,23084,6934],{"class":2789},[2008,23086,23087],{"class":2811}," 'crypto'",[2008,23089,2720],{"class":2702},[2008,23091,23092],{"class":2528,"line":46},[2008,23093,2548],{"emptyLinePlaceholder":54},[2008,23095,23096,23098,23101,23103,23106,23108,23111],{"class":2528,"line":43},[2008,23097,2757],{"class":2694},[2008,23099,23100],{"class":2760}," generateToken",[2008,23102,3900],{"class":2702},[2008,23104,23105],{"class":2708},"length",[2008,23107,3894],{"class":2712},[2008,23109,23110],{"class":3903}," 32",[2008,23112,5659],{"class":2702},[2008,23114,23115,23117],{"class":2528,"line":2545},[2008,23116,2790],{"class":2789},[2008,23118,23119],{"class":2801}," crypto\n",[2008,23121,23122,23124,23127,23129,23132,23134,23137,23139,23141,23143,23145],{"class":2528,"line":2551},[2008,23123,17900],{"class":2702},[2008,23125,23126],{"class":2760},"randomBytes",[2008,23128,3900],{"class":2702},[2008,23130,23131],{"class":2801},"Math",[2008,23133,181],{"class":2702},[2008,23135,23136],{"class":2760},"ceil",[2008,23138,3900],{"class":2702},[2008,23140,23105],{"class":2801},[2008,23142,5571],{"class":2712},[2008,23144,3978],{"class":3903},[2008,23146,5847],{"class":2702},[2008,23148,23149,23151,23154,23156,23159],{"class":2528,"line":2557},[2008,23150,17900],{"class":2702},[2008,23152,23153],{"class":2760},"toString",[2008,23155,3900],{"class":2702},[2008,23157,23158],{"class":2811},"'hex'",[2008,23160,3160],{"class":2702},[2008,23162,23163,23165,23168,23170,23172,23174,23176],{"class":2528,"line":2563},[2008,23164,17900],{"class":2702},[2008,23166,23167],{"class":2760},"slice",[2008,23169,3900],{"class":2702},[2008,23171,3904],{"class":3903},[2008,23173,3848],{"class":2702},[2008,23175,23105],{"class":2801},[2008,23177,3907],{"class":2702},[2008,23179,23180],{"class":2528,"line":2568},[2008,23181,2748],{"class":2702},[2008,23183,23184],{"class":2528,"line":2574},[2008,23185,2548],{"emptyLinePlaceholder":54},[2008,23187,23188,23191,23193,23195,23197,23200,23202,23205],{"class":2528,"line":1467},[2008,23189,23190],{"class":2801},"console",[2008,23192,181],{"class":2702},[2008,23194,4025],{"class":2760},[2008,23196,3900],{"class":2702},[2008,23198,23199],{"class":2760},"generateToken",[2008,23201,3900],{"class":2702},[2008,23203,23204],{"class":3903},"32",[2008,23206,23207],{"class":2702},"));\n",[2008,23209,23210],{"class":2528,"line":2818},[2008,23211,23212],{"class":2688},"// الناتج: \"a7f5c3e9d2b1a4f6c8e0d9b2a5f7c3e1\"\n",[12,23214,23215,23218],{},[174,23216,23217],{},"متى تستخدم:"," رموز API، معرفات الجلسات، معرفات قاعدة البيانات",[12,23220,23221],{},[174,23222,23223],{},"المزايا:",[186,23225,23226,23229,23232],{},[189,23227,23228],{},"آمنة مشفرة",[189,23230,23231],{},"لا تبعيات خارجية",[189,23233,23234],{},"أداء سريع",[12,23236,23237],{},[174,23238,23239],{},"العيوب:",[186,23241,23242,23245],{},[189,23243,23244],{},"تعمل فقط في Node.js",[189,23246,23247],{},"محدودة بحروف hex (0-9، a-f)",[209,23249,23251],{"id":23250},"_2-سلسلة-base64-آمنة-مشفرة","2. سلسلة Base64 آمنة مشفرة",[12,23253,23254],{},"أكثر إحكاماً من hex، جيد للروابط:",[577,23256,23258],{"className":8366,"code":23257,"language":3626,"meta":42,"style":42},"import crypto from 'crypto';\n\nfunction generateUrlSafeToken(length = 32) {\n  return crypto\n    .randomBytes(length)\n    .toString('base64url')\n    .slice(0, length);\n}\n\nconsole.log(generateUrlSafeToken(32));\n// الناتج: \"K7xP-zQ2mR8vN5tL3wY6jF9cH4dS1aE0\"\n",[584,23259,23260,23272,23276,23293,23299,23311,23324,23340,23344,23348,23367],{"__ignoreMap":42},[2008,23261,23262,23264,23266,23268,23270],{"class":2528,"line":2529},[2008,23263,3841],{"class":2789},[2008,23265,23082],{"class":2801},[2008,23267,6934],{"class":2789},[2008,23269,23087],{"class":2811},[2008,23271,2720],{"class":2702},[2008,23273,23274],{"class":2528,"line":46},[2008,23275,2548],{"emptyLinePlaceholder":54},[2008,23277,23278,23280,23283,23285,23287,23289,23291],{"class":2528,"line":43},[2008,23279,2757],{"class":2694},[2008,23281,23282],{"class":2760}," generateUrlSafeToken",[2008,23284,3900],{"class":2702},[2008,23286,23105],{"class":2708},[2008,23288,3894],{"class":2712},[2008,23290,23110],{"class":3903},[2008,23292,5659],{"class":2702},[2008,23294,23295,23297],{"class":2528,"line":2545},[2008,23296,2790],{"class":2789},[2008,23298,23119],{"class":2801},[2008,23300,23301,23303,23305,23307,23309],{"class":2528,"line":2551},[2008,23302,17900],{"class":2702},[2008,23304,23126],{"class":2760},[2008,23306,3900],{"class":2702},[2008,23308,23105],{"class":2801},[2008,23310,3160],{"class":2702},[2008,23312,23313,23315,23317,23319,23322],{"class":2528,"line":2557},[2008,23314,17900],{"class":2702},[2008,23316,23153],{"class":2760},[2008,23318,3900],{"class":2702},[2008,23320,23321],{"class":2811},"'base64url'",[2008,23323,3160],{"class":2702},[2008,23325,23326,23328,23330,23332,23334,23336,23338],{"class":2528,"line":2563},[2008,23327,17900],{"class":2702},[2008,23329,23167],{"class":2760},[2008,23331,3900],{"class":2702},[2008,23333,3904],{"class":3903},[2008,23335,3848],{"class":2702},[2008,23337,23105],{"class":2801},[2008,23339,3907],{"class":2702},[2008,23341,23342],{"class":2528,"line":2568},[2008,23343,2748],{"class":2702},[2008,23345,23346],{"class":2528,"line":2574},[2008,23347,2548],{"emptyLinePlaceholder":54},[2008,23349,23350,23352,23354,23356,23358,23361,23363,23365],{"class":2528,"line":1467},[2008,23351,23190],{"class":2801},[2008,23353,181],{"class":2702},[2008,23355,4025],{"class":2760},[2008,23357,3900],{"class":2702},[2008,23359,23360],{"class":2760},"generateUrlSafeToken",[2008,23362,3900],{"class":2702},[2008,23364,23204],{"class":3903},[2008,23366,23207],{"class":2702},[2008,23368,23369],{"class":2528,"line":2818},[2008,23370,23371],{"class":2688},"// الناتج: \"K7xP-zQ2mR8vN5tL3wY6jF9cH4dS1aE0\"\n",[12,23373,23374,23376],{},[174,23375,23217],{}," رموز آمنة للروابط، رموز التحقق من البريد الإلكتروني",[12,23378,23379],{},[174,23380,23223],{},[186,23382,23383,23386,23389],{},[189,23384,23385],{},"آمن للروابط (لا يحتاج ترميز خاص)",[189,23387,23388],{},"أكثر إحكاماً من hex",[189,23390,23391],{},"آمن مشفرة",[209,23393,23395],{"id":23394},"_3-مجموعة-أحرف-مخصصة","3. مجموعة أحرف مخصصة",[12,23397,23398],{},"لكلمات المرور أو المتطلبات المحددة:",[577,23400,23402],{"className":8366,"code":23401,"language":3626,"meta":42,"style":42},"import crypto from 'crypto';\n\nfunction generatePassword(\n  length = 16,\n  charset = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()'\n) {\n  const randomBytes = crypto.randomBytes(length);\n  const result = [];\n  \n  for (let i = 0; i \u003C length; i++) {\n    const randomIndex = randomBytes[i] % charset.length;\n    result.push(charset[randomIndex]);\n  }\n  \n  return result.join('');\n}\n\nconsole.log(generatePassword(16));\n// الناتج: \"X7$mK#9pL2@vR5tQ\"\n\n// أبجدي رقمي فقط\nconsole.log(generatePassword(12, 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'));\n// الناتج: \"K7xPzQ2mR8vN\"\n",[584,23403,23404,23416,23420,23429,23441,23451,23455,23476,23488,23492,23527,23557,23579,23583,23587,23605,23609,23613,23633,23638,23642,23647,23671],{"__ignoreMap":42},[2008,23405,23406,23408,23410,23412,23414],{"class":2528,"line":2529},[2008,23407,3841],{"class":2789},[2008,23409,23082],{"class":2801},[2008,23411,6934],{"class":2789},[2008,23413,23087],{"class":2811},[2008,23415,2720],{"class":2702},[2008,23417,23418],{"class":2528,"line":46},[2008,23419,2548],{"emptyLinePlaceholder":54},[2008,23421,23422,23424,23427],{"class":2528,"line":43},[2008,23423,2757],{"class":2694},[2008,23425,23426],{"class":2760}," generatePassword",[2008,23428,5925],{"class":2702},[2008,23430,23431,23434,23436,23439],{"class":2528,"line":2545},[2008,23432,23433],{"class":2708},"  length",[2008,23435,3894],{"class":2712},[2008,23437,23438],{"class":3903}," 16",[2008,23440,4521],{"class":2702},[2008,23442,23443,23446,23448],{"class":2528,"line":2551},[2008,23444,23445],{"class":2708},"  charset",[2008,23447,3894],{"class":2712},[2008,23449,23450],{"class":2811}," 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()'\n",[2008,23452,23453],{"class":2528,"line":2557},[2008,23454,5659],{"class":2702},[2008,23456,23457,23459,23462,23464,23466,23468,23470,23472,23474],{"class":2528,"line":2563},[2008,23458,4343],{"class":2694},[2008,23460,23461],{"class":3890}," randomBytes",[2008,23463,3894],{"class":2712},[2008,23465,23082],{"class":2801},[2008,23467,181],{"class":2702},[2008,23469,23126],{"class":2760},[2008,23471,3900],{"class":2702},[2008,23473,23105],{"class":2801},[2008,23475,3907],{"class":2702},[2008,23477,23478,23480,23483,23485],{"class":2528,"line":2568},[2008,23479,4343],{"class":2694},[2008,23481,23482],{"class":3890}," result",[2008,23484,3894],{"class":2712},[2008,23486,23487],{"class":2702}," [];\n",[2008,23489,23490],{"class":2528,"line":2574},[2008,23491,12382],{"class":2702},[2008,23493,23494,23497,23499,23501,23504,23506,23508,23510,23513,23516,23519,23521,23523,23525],{"class":2528,"line":1467},[2008,23495,23496],{"class":2789},"  for",[2008,23498,5381],{"class":2702},[2008,23500,21753],{"class":2694},[2008,23502,23503],{"class":2801}," i",[2008,23505,3894],{"class":2712},[2008,23507,12463],{"class":3903},[2008,23509,21862],{"class":2702},[2008,23511,23512],{"class":2801},"i",[2008,23514,23515],{"class":2712}," \u003C",[2008,23517,23518],{"class":2801}," length",[2008,23520,21862],{"class":2702},[2008,23522,23512],{"class":2801},[2008,23524,4213],{"class":2712},[2008,23526,5659],{"class":2702},[2008,23528,23529,23531,23534,23536,23538,23540,23542,23545,23548,23551,23553,23555],{"class":2528,"line":2818},[2008,23530,6981],{"class":2694},[2008,23532,23533],{"class":3890}," randomIndex",[2008,23535,3894],{"class":2712},[2008,23537,23461],{"class":2801},[2008,23539,6202],{"class":2702},[2008,23541,23512],{"class":2801},[2008,23543,23544],{"class":2702},"] ",[2008,23546,23547],{"class":2712},"%",[2008,23549,23550],{"class":2801}," charset",[2008,23552,181],{"class":2702},[2008,23554,23105],{"class":11592},[2008,23556,2720],{"class":2702},[2008,23558,23559,23562,23564,23566,23568,23571,23573,23576],{"class":2528,"line":2842},[2008,23560,23561],{"class":2801},"    result",[2008,23563,181],{"class":2702},[2008,23565,6812],{"class":2760},[2008,23567,3900],{"class":2702},[2008,23569,23570],{"class":2801},"charset",[2008,23572,6202],{"class":2702},[2008,23574,23575],{"class":2801},"randomIndex",[2008,23577,23578],{"class":2702},"]);\n",[2008,23580,23581],{"class":2528,"line":2862},[2008,23582,4446],{"class":2702},[2008,23584,23585],{"class":2528,"line":2119},[2008,23586,12382],{"class":2702},[2008,23588,23589,23591,23593,23595,23598,23600,23603],{"class":2528,"line":2035},[2008,23590,2790],{"class":2789},[2008,23592,23482],{"class":2801},[2008,23594,181],{"class":2702},[2008,23596,23597],{"class":2760},"join",[2008,23599,3900],{"class":2702},[2008,23601,23602],{"class":2811},"''",[2008,23604,3907],{"class":2702},[2008,23606,23607],{"class":2528,"line":3038},[2008,23608,2748],{"class":2702},[2008,23610,23611],{"class":2528,"line":3044},[2008,23612,2548],{"emptyLinePlaceholder":54},[2008,23614,23615,23617,23619,23621,23623,23626,23628,23631],{"class":2528,"line":2380},[2008,23616,23190],{"class":2801},[2008,23618,181],{"class":2702},[2008,23620,4025],{"class":2760},[2008,23622,3900],{"class":2702},[2008,23624,23625],{"class":2760},"generatePassword",[2008,23627,3900],{"class":2702},[2008,23629,23630],{"class":3903},"16",[2008,23632,23207],{"class":2702},[2008,23634,23635],{"class":2528,"line":4107},[2008,23636,23637],{"class":2688},"// الناتج: \"X7$mK#9pL2@vR5tQ\"\n",[2008,23639,23640],{"class":2528,"line":64},[2008,23641,2548],{"emptyLinePlaceholder":54},[2008,23643,23644],{"class":2528,"line":4120},[2008,23645,23646],{"class":2688},"// أبجدي رقمي فقط\n",[2008,23648,23649,23651,23653,23655,23657,23659,23661,23664,23666,23669],{"class":2528,"line":4125},[2008,23650,23190],{"class":2801},[2008,23652,181],{"class":2702},[2008,23654,4025],{"class":2760},[2008,23656,3900],{"class":2702},[2008,23658,23625],{"class":2760},[2008,23660,3900],{"class":2702},[2008,23662,23663],{"class":3903},"12",[2008,23665,3848],{"class":2702},[2008,23667,23668],{"class":2811},"'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'",[2008,23670,23207],{"class":2702},[2008,23672,23673],{"class":2528,"line":4135},[2008,23674,23675],{"class":2688},"// الناتج: \"K7xPzQ2mR8vN\"\n",[12,23677,23678,23680],{},[174,23679,23217],{}," توليد كلمات المرور، رموز بتنسيق مخصص",[12,23682,23683],{},[174,23684,23223],{},[186,23686,23687,23690,23693],{},[189,23688,23689],{},"تحكم كامل في مجموعة الأحرف",[189,23691,23692],{},"عشوائية آمنة",[189,23694,23695],{},"مرن لأي حالة استخدام",[209,23697,23699],{"id":23698},"_4-uuid-v4-معرف-فريد-عالمياً","4. UUID v4 (معرف فريد عالمياً)",[12,23701,23702],{},"المتصفحات الحديثة وNode.js تدعم هذا محلياً الآن:",[577,23704,23706],{"className":8366,"code":23705,"language":3626,"meta":42,"style":42},"import crypto from 'crypto';\n\n// طريقة crypto محلية (Node.js 14.17+)\nconst id = crypto.randomUUID();\nconsole.log(id);\n// الناتج: \"9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d\"\n",[584,23707,23708,23720,23724,23729,23746,23760],{"__ignoreMap":42},[2008,23709,23710,23712,23714,23716,23718],{"class":2528,"line":2529},[2008,23711,3841],{"class":2789},[2008,23713,23082],{"class":2801},[2008,23715,6934],{"class":2789},[2008,23717,23087],{"class":2811},[2008,23719,2720],{"class":2702},[2008,23721,23722],{"class":2528,"line":46},[2008,23723,2548],{"emptyLinePlaceholder":54},[2008,23725,23726],{"class":2528,"line":43},[2008,23727,23728],{"class":2688},"// طريقة crypto محلية (Node.js 14.17+)\n",[2008,23730,23731,23733,23735,23737,23739,23741,23744],{"class":2528,"line":2545},[2008,23732,3887],{"class":2694},[2008,23734,12361],{"class":3890},[2008,23736,3894],{"class":2712},[2008,23738,23082],{"class":2801},[2008,23740,181],{"class":2702},[2008,23742,23743],{"class":2760},"randomUUID",[2008,23745,17133],{"class":2702},[2008,23747,23748,23750,23752,23754,23756,23758],{"class":2528,"line":2551},[2008,23749,23190],{"class":2801},[2008,23751,181],{"class":2702},[2008,23753,4025],{"class":2760},[2008,23755,3900],{"class":2702},[2008,23757,6190],{"class":2801},[2008,23759,3907],{"class":2702},[2008,23761,23762],{"class":2528,"line":2557},[2008,23763,23764],{"class":2688},"// الناتج: \"9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d\"\n",[12,23766,23767,23769],{},[174,23768,23217],{}," مفاتيح أساسية لقاعدة البيانات، معرفات فريدة",[12,23771,23772],{},[174,23773,23223],{},[186,23775,23776,23779,23782],{},[189,23777,23778],{},"تنسيق قياسي (RFC 4122)",[189,23780,23781],{},"فريد عالمياً",[189,23783,23784],{},"دعم محلي (لا حاجة لحزم)",[12,23786,23787],{},[174,23788,23239],{},[186,23790,23791,23794],{},[189,23792,23793],{},"تنسيق ثابت (36 حرف مع شرطات)",[189,23795,23796],{},"غير قابل للتخصيص",[16,23798,23800],{"id":23799},"طرق-المتصفح-جانب-العميل","طرق المتصفح (جانب العميل)",[209,23802,23804],{"id":23803},"_1-سلسلة-عشوائية-آمنة-مشفرة","1. سلسلة عشوائية آمنة مشفرة",[12,23806,23807],{},"باستخدام Web Crypto API (متوفر في جميع المتصفحات الحديثة):",[577,23809,23811],{"className":8366,"code":23810,"language":3626,"meta":42,"style":42},"function generateSecureToken(length = 32) {\n  const array = new Uint8Array(length / 2);\n  crypto.getRandomValues(array);\n  \n  return Array.from(array, byte => byte.toString(16).padStart(2, '0')).join('');\n}\n\nconsole.log(generateSecureToken(32));\n// الناتج: \"7a3f9e2d8c1b6a4f7e0d9c2b5a8f3e1c\"\n",[584,23812,23813,23830,23854,23870,23874,23931,23935,23939,23958],{"__ignoreMap":42},[2008,23814,23815,23817,23820,23822,23824,23826,23828],{"class":2528,"line":2529},[2008,23816,2757],{"class":2694},[2008,23818,23819],{"class":2760}," generateSecureToken",[2008,23821,3900],{"class":2702},[2008,23823,23105],{"class":2708},[2008,23825,3894],{"class":2712},[2008,23827,23110],{"class":3903},[2008,23829,5659],{"class":2702},[2008,23831,23832,23834,23837,23839,23841,23844,23846,23848,23850,23852],{"class":2528,"line":46},[2008,23833,4343],{"class":2694},[2008,23835,23836],{"class":3890}," array",[2008,23838,3894],{"class":2712},[2008,23840,12205],{"class":2694},[2008,23842,23843],{"class":2760}," Uint8Array",[2008,23845,3900],{"class":2702},[2008,23847,23105],{"class":2801},[2008,23849,5571],{"class":2712},[2008,23851,3978],{"class":3903},[2008,23853,3907],{"class":2702},[2008,23855,23856,23859,23861,23864,23866,23868],{"class":2528,"line":43},[2008,23857,23858],{"class":2801},"  crypto",[2008,23860,181],{"class":2702},[2008,23862,23863],{"class":2760},"getRandomValues",[2008,23865,3900],{"class":2702},[2008,23867,16582],{"class":2801},[2008,23869,3907],{"class":2702},[2008,23871,23872],{"class":2528,"line":2545},[2008,23873,12382],{"class":2702},[2008,23875,23876,23878,23880,23882,23884,23886,23888,23890,23893,23895,23898,23900,23902,23904,23906,23908,23911,23913,23915,23917,23920,23923,23925,23927,23929],{"class":2528,"line":2551},[2008,23877,2790],{"class":2789},[2008,23879,18388],{"class":2801},[2008,23881,181],{"class":2702},[2008,23883,3868],{"class":2760},[2008,23885,3900],{"class":2702},[2008,23887,16582],{"class":2801},[2008,23889,3848],{"class":2702},[2008,23891,23892],{"class":2708},"byte",[2008,23894,8482],{"class":2694},[2008,23896,23897],{"class":2801}," byte",[2008,23899,181],{"class":2702},[2008,23901,23153],{"class":2760},[2008,23903,3900],{"class":2702},[2008,23905,23630],{"class":3903},[2008,23907,7217],{"class":2702},[2008,23909,23910],{"class":2760},"padStart",[2008,23912,3900],{"class":2702},[2008,23914,21835],{"class":3903},[2008,23916,3848],{"class":2702},[2008,23918,23919],{"class":2811},"'0'",[2008,23921,23922],{"class":2702},")).",[2008,23924,23597],{"class":2760},[2008,23926,3900],{"class":2702},[2008,23928,23602],{"class":2811},[2008,23930,3907],{"class":2702},[2008,23932,23933],{"class":2528,"line":2557},[2008,23934,2748],{"class":2702},[2008,23936,23937],{"class":2528,"line":2563},[2008,23938,2548],{"emptyLinePlaceholder":54},[2008,23940,23941,23943,23945,23947,23949,23952,23954,23956],{"class":2528,"line":2568},[2008,23942,23190],{"class":2801},[2008,23944,181],{"class":2702},[2008,23946,4025],{"class":2760},[2008,23948,3900],{"class":2702},[2008,23950,23951],{"class":2760},"generateSecureToken",[2008,23953,3900],{"class":2702},[2008,23955,23204],{"class":3903},[2008,23957,23207],{"class":2702},[2008,23959,23960],{"class":2528,"line":2574},[2008,23961,23962],{"class":2688},"// الناتج: \"7a3f9e2d8c1b6a4f7e0d9c2b5a8f3e1c\"\n",[12,23964,23965,23967],{},[174,23966,23217],{}," رموز جانب العميل، معرفات جلسات مؤقتة",[12,23969,23970],{},[174,23971,23223],{},[186,23973,23974,23977,23979],{},[189,23975,23976],{},"تعمل في جميع المتصفحات الحديثة",[189,23978,23228],{},[189,23980,23981],{},"لا تبعيات",[209,23983,23985],{"id":23984},"_2-مجموعة-أحرف-مخصصة-المتصفح","2. مجموعة أحرف مخصصة (المتصفح)",[577,23987,23989],{"className":8366,"code":23988,"language":3626,"meta":42,"style":42},"function generateRandomString(length, charset) {\n  const array = new Uint8Array(length);\n  crypto.getRandomValues(array);\n  \n  return Array.from(array, byte => charset[byte % charset.length]).join('');\n}\n\n// الاستخدام\nconst alphanumeric = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\nconsole.log(generateRandomString(16, alphanumeric));\n// الناتج: \"K7xPzQ2mR8vNtL3w\"\n",[584,23990,23991,24008,24026,24040,24044,24090,24094,24098,24103,24117,24141],{"__ignoreMap":42},[2008,23992,23993,23995,23998,24000,24002,24004,24006],{"class":2528,"line":2529},[2008,23994,2757],{"class":2694},[2008,23996,23997],{"class":2760}," generateRandomString",[2008,23999,3900],{"class":2702},[2008,24001,23105],{"class":2708},[2008,24003,3848],{"class":2702},[2008,24005,23570],{"class":2708},[2008,24007,5659],{"class":2702},[2008,24009,24010,24012,24014,24016,24018,24020,24022,24024],{"class":2528,"line":46},[2008,24011,4343],{"class":2694},[2008,24013,23836],{"class":3890},[2008,24015,3894],{"class":2712},[2008,24017,12205],{"class":2694},[2008,24019,23843],{"class":2760},[2008,24021,3900],{"class":2702},[2008,24023,23105],{"class":2801},[2008,24025,3907],{"class":2702},[2008,24027,24028,24030,24032,24034,24036,24038],{"class":2528,"line":43},[2008,24029,23858],{"class":2801},[2008,24031,181],{"class":2702},[2008,24033,23863],{"class":2760},[2008,24035,3900],{"class":2702},[2008,24037,16582],{"class":2801},[2008,24039,3907],{"class":2702},[2008,24041,24042],{"class":2528,"line":2545},[2008,24043,12382],{"class":2702},[2008,24045,24046,24048,24050,24052,24054,24056,24058,24060,24062,24064,24066,24068,24070,24073,24075,24077,24079,24082,24084,24086,24088],{"class":2528,"line":2551},[2008,24047,2790],{"class":2789},[2008,24049,18388],{"class":2801},[2008,24051,181],{"class":2702},[2008,24053,3868],{"class":2760},[2008,24055,3900],{"class":2702},[2008,24057,16582],{"class":2801},[2008,24059,3848],{"class":2702},[2008,24061,23892],{"class":2708},[2008,24063,8482],{"class":2694},[2008,24065,23550],{"class":2801},[2008,24067,6202],{"class":2702},[2008,24069,23892],{"class":2801},[2008,24071,24072],{"class":2712}," %",[2008,24074,23550],{"class":2801},[2008,24076,181],{"class":2702},[2008,24078,23105],{"class":11592},[2008,24080,24081],{"class":2702},"]).",[2008,24083,23597],{"class":2760},[2008,24085,3900],{"class":2702},[2008,24087,23602],{"class":2811},[2008,24089,3907],{"class":2702},[2008,24091,24092],{"class":2528,"line":2557},[2008,24093,2748],{"class":2702},[2008,24095,24096],{"class":2528,"line":2563},[2008,24097,2548],{"emptyLinePlaceholder":54},[2008,24099,24100],{"class":2528,"line":2568},[2008,24101,24102],{"class":2688},"// الاستخدام\n",[2008,24104,24105,24107,24110,24112,24115],{"class":2528,"line":2574},[2008,24106,3887],{"class":2694},[2008,24108,24109],{"class":3890}," alphanumeric",[2008,24111,3894],{"class":2712},[2008,24113,24114],{"class":2811}," 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'",[2008,24116,2720],{"class":2702},[2008,24118,24119,24121,24123,24125,24127,24130,24132,24134,24136,24139],{"class":2528,"line":1467},[2008,24120,23190],{"class":2801},[2008,24122,181],{"class":2702},[2008,24124,4025],{"class":2760},[2008,24126,3900],{"class":2702},[2008,24128,24129],{"class":2760},"generateRandomString",[2008,24131,3900],{"class":2702},[2008,24133,23630],{"class":3903},[2008,24135,3848],{"class":2702},[2008,24137,24138],{"class":2801},"alphanumeric",[2008,24140,23207],{"class":2702},[2008,24142,24143],{"class":2528,"line":2818},[2008,24144,24145],{"class":2688},"// الناتج: \"K7xPzQ2mR8vNtL3w\"\n",[209,24147,24149],{"id":24148},"_3-uuid-في-المتصفح","3. UUID في المتصفح",[577,24151,24153],{"className":8366,"code":24152,"language":3626,"meta":42,"style":42},"// طريقة محلية (Chrome 92+، Firefox 95+، Safari 15.4+)\nconst id = crypto.randomUUID();\nconsole.log(id);\n// الناتج: \"9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d\"\n\n// Polyfill للمتصفحات القديمة\nfunction generateUUID() {\n  return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\n    const r = (crypto.getRandomValues(new Uint8Array(1))[0] & 0x0f) | (c === 'x' ? 0 : 0x08);\n    return r.toString(16);\n  });\n}\n",[584,24154,24155,24160,24176,24190,24194,24198,24203,24212,24254,24320,24336,24340],{"__ignoreMap":42},[2008,24156,24157],{"class":2528,"line":2529},[2008,24158,24159],{"class":2688},"// طريقة محلية (Chrome 92+، Firefox 95+، Safari 15.4+)\n",[2008,24161,24162,24164,24166,24168,24170,24172,24174],{"class":2528,"line":46},[2008,24163,3887],{"class":2694},[2008,24165,12361],{"class":3890},[2008,24167,3894],{"class":2712},[2008,24169,23082],{"class":2801},[2008,24171,181],{"class":2702},[2008,24173,23743],{"class":2760},[2008,24175,17133],{"class":2702},[2008,24177,24178,24180,24182,24184,24186,24188],{"class":2528,"line":43},[2008,24179,23190],{"class":2801},[2008,24181,181],{"class":2702},[2008,24183,4025],{"class":2760},[2008,24185,3900],{"class":2702},[2008,24187,6190],{"class":2801},[2008,24189,3907],{"class":2702},[2008,24191,24192],{"class":2528,"line":2545},[2008,24193,23764],{"class":2688},[2008,24195,24196],{"class":2528,"line":2551},[2008,24197,2548],{"emptyLinePlaceholder":54},[2008,24199,24200],{"class":2528,"line":2557},[2008,24201,24202],{"class":2688},"// Polyfill للمتصفحات القديمة\n",[2008,24204,24205,24207,24210],{"class":2528,"line":2563},[2008,24206,2757],{"class":2694},[2008,24208,24209],{"class":2760}," generateUUID",[2008,24211,4429],{"class":2702},[2008,24213,24214,24216,24219,24221,24224,24226,24230,24232,24236,24238,24240,24243,24245,24248,24250,24252],{"class":2528,"line":2568},[2008,24215,2790],{"class":2789},[2008,24217,24218],{"class":2811}," 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'",[2008,24220,181],{"class":2702},[2008,24222,24223],{"class":2760},"replace",[2008,24225,3900],{"class":2702},[2008,24227,24229],{"class":24228},"s4XyT","/",[2008,24231,6202],{"class":11598},[2008,24233,24235],{"class":24234},"suOk-","xy",[2008,24237,6220],{"class":11598},[2008,24239,24229],{"class":24228},[2008,24241,24242],{"class":2694},"g",[2008,24244,4000],{"class":2702},[2008,24246,24247],{"class":2708},"c",[2008,24249,4011],{"class":2702},[2008,24251,3965],{"class":2694},[2008,24253,2703],{"class":2702},[2008,24255,24256,24258,24261,24263,24265,24268,24270,24272,24274,24277,24279,24281,24283,24286,24288,24290,24292,24295,24297,24300,24302,24304,24306,24309,24311,24313,24315,24318],{"class":2528,"line":2574},[2008,24257,6981],{"class":2694},[2008,24259,24260],{"class":3890}," r",[2008,24262,3894],{"class":2712},[2008,24264,5381],{"class":2702},[2008,24266,24267],{"class":2801},"crypto",[2008,24269,181],{"class":2702},[2008,24271,23863],{"class":2760},[2008,24273,3900],{"class":2702},[2008,24275,24276],{"class":2694},"new",[2008,24278,23843],{"class":2760},[2008,24280,3900],{"class":2702},[2008,24282,7225],{"class":3903},[2008,24284,24285],{"class":2702},"))[",[2008,24287,3904],{"class":3903},[2008,24289,23544],{"class":2702},[2008,24291,16703],{"class":2712},[2008,24293,24294],{"class":3903}," 0x0f",[2008,24296,4011],{"class":2702},[2008,24298,24299],{"class":2712},"|",[2008,24301,5381],{"class":2702},[2008,24303,24247],{"class":2801},[2008,24305,8493],{"class":2712},[2008,24307,24308],{"class":2811}," 'x'",[2008,24310,7786],{"class":2712},[2008,24312,12463],{"class":3903},[2008,24314,5543],{"class":2712},[2008,24316,24317],{"class":3903}," 0x08",[2008,24319,3907],{"class":2702},[2008,24321,24322,24324,24326,24328,24330,24332,24334],{"class":2528,"line":1467},[2008,24323,13925],{"class":2789},[2008,24325,24260],{"class":2801},[2008,24327,181],{"class":2702},[2008,24329,23153],{"class":2760},[2008,24331,3900],{"class":2702},[2008,24333,23630],{"class":3903},[2008,24335,3907],{"class":2702},[2008,24337,24338],{"class":2528,"line":2818},[2008,24339,17982],{"class":2702},[2008,24341,24342],{"class":2528,"line":2842},[2008,24343,2748],{"class":2702},[209,24345,24347],{"id":24346},"_4-معرفات-سريعة-غير-آمنة-عناصر-dom-مفاتيح-react","4. معرفات سريعة غير آمنة (عناصر DOM، مفاتيح React)",[12,24349,24350],{},"عندما لا يهم الأمان:",[577,24352,24354],{"className":8366,"code":24353,"language":3626,"meta":42,"style":42},"// بسيط وسريع\nfunction generateId() {\n  return Date.now().toString(36) + Math.random().toString(36).substring(2);\n}\n\nconsole.log(generateId());\n// الناتج: \"ld3x7q9m5k2p8\"\n\n// أبسط لمفاتيح React\nconst key = `item-${Date.now()}-${Math.random()}`;\n",[584,24355,24356,24361,24370,24421,24425,24429,24445,24450,24454,24459],{"__ignoreMap":42},[2008,24357,24358],{"class":2528,"line":2529},[2008,24359,24360],{"class":2688},"// بسيط وسريع\n",[2008,24362,24363,24365,24368],{"class":2528,"line":46},[2008,24364,2757],{"class":2694},[2008,24366,24367],{"class":2760}," generateId",[2008,24369,4429],{"class":2702},[2008,24371,24372,24374,24376,24378,24381,24383,24385,24387,24390,24392,24394,24397,24399,24402,24404,24406,24408,24410,24412,24415,24417,24419],{"class":2528,"line":43},[2008,24373,2790],{"class":2789},[2008,24375,12208],{"class":2801},[2008,24377,181],{"class":2702},[2008,24379,24380],{"class":2760},"now",[2008,24382,12211],{"class":2702},[2008,24384,23153],{"class":2760},[2008,24386,3900],{"class":2702},[2008,24388,24389],{"class":3903},"36",[2008,24391,4011],{"class":2702},[2008,24393,4735],{"class":2712},[2008,24395,24396],{"class":2801}," Math",[2008,24398,181],{"class":2702},[2008,24400,24401],{"class":2760},"random",[2008,24403,12211],{"class":2702},[2008,24405,23153],{"class":2760},[2008,24407,3900],{"class":2702},[2008,24409,24389],{"class":3903},[2008,24411,7217],{"class":2702},[2008,24413,24414],{"class":2760},"substring",[2008,24416,3900],{"class":2702},[2008,24418,21835],{"class":3903},[2008,24420,3907],{"class":2702},[2008,24422,24423],{"class":2528,"line":2545},[2008,24424,2748],{"class":2702},[2008,24426,24427],{"class":2528,"line":2551},[2008,24428,2548],{"emptyLinePlaceholder":54},[2008,24430,24431,24433,24435,24437,24439,24442],{"class":2528,"line":2557},[2008,24432,23190],{"class":2801},[2008,24434,181],{"class":2702},[2008,24436,4025],{"class":2760},[2008,24438,3900],{"class":2702},[2008,24440,24441],{"class":2760},"generateId",[2008,24443,24444],{"class":2702},"());\n",[2008,24446,24447],{"class":2528,"line":2563},[2008,24448,24449],{"class":2688},"// الناتج: \"ld3x7q9m5k2p8\"\n",[2008,24451,24452],{"class":2528,"line":2568},[2008,24453,2548],{"emptyLinePlaceholder":54},[2008,24455,24456],{"class":2528,"line":2574},[2008,24457,24458],{"class":2688},"// أبسط لمفاتيح React\n",[2008,24460,24461,24463,24466,24468,24471,24473,24476,24478,24480,24483,24485,24487,24489,24491,24493,24495,24497,24499,24501],{"class":2528,"line":1467},[2008,24462,3887],{"class":2694},[2008,24464,24465],{"class":3890}," key",[2008,24467,3894],{"class":2712},[2008,24469,24470],{"class":2811}," `item-",[2008,24472,4034],{"class":4033},[2008,24474,24475],{"class":2801},"Date",[2008,24477,181],{"class":4096},[2008,24479,24380],{"class":2760},[2008,24481,24482],{"class":4096},"()",[2008,24484,2832],{"class":4033},[2008,24486,4769],{"class":2811},[2008,24488,4034],{"class":4033},[2008,24490,23131],{"class":2801},[2008,24492,181],{"class":4096},[2008,24494,24401],{"class":2760},[2008,24496,24482],{"class":4096},[2008,24498,2832],{"class":4033},[2008,24500,4050],{"class":2811},[2008,24502,2720],{"class":2702},[12,24504,24505,24508,24509,24511],{},[174,24506,24507],{},"⚠️ تحذير:"," لا تستخدم أبداً ",[584,24510,23028],{}," للتطبيقات الحساسة أمنياً!",[16,24513,24515],{"id":24514},"طرق-عالمية-تعمل-في-كل-مكان","طرق عالمية (تعمل في كل مكان)",[209,24517,24519],{"id":24518},"استخدام-nano-id-موصى-به-لمعظم-الحالات","استخدام Nano ID (موصى به لمعظم الحالات)",[577,24521,24523],{"className":10709,"code":24522,"language":10711,"meta":42,"style":42},"npm install nanoid\n",[584,24524,24525],{"__ignoreMap":42},[2008,24526,24527,24529,24531],{"class":2528,"line":2529},[2008,24528,10779],{"class":2760},[2008,24530,12791],{"class":2811},[2008,24532,24533],{"class":2811}," nanoid\n",[577,24535,24537],{"className":8366,"code":24536,"language":3626,"meta":42,"style":42},"import { nanoid } from 'nanoid';\n\n// افتراضي: 21 حرف، آمن للروابط\nconsole.log(nanoid());\n// الناتج: \"V1StGXR8_Z5jdHi6B-myT\"\n\n// طول مخصص\nconsole.log(nanoid(10));\n// الناتج: \"IRFa-VaY2b\"\n\n// أبجدية مخصصة\nimport { customAlphabet } from 'nanoid';\nconst nanoid = customAlphabet('0123456789abcdef', 16);\nconsole.log(nanoid());\n// الناتج: \"4f90d13a42\"\n",[584,24538,24539,24556,24560,24565,24579,24584,24588,24593,24611,24616,24620,24625,24642,24665,24679],{"__ignoreMap":42},[2008,24540,24541,24543,24545,24547,24549,24551,24554],{"class":2528,"line":2529},[2008,24542,3841],{"class":2789},[2008,24544,2775],{"class":2702},[2008,24546,23047],{"class":2801},[2008,24548,3865],{"class":2702},[2008,24550,3868],{"class":2789},[2008,24552,24553],{"class":2811}," 'nanoid'",[2008,24555,2720],{"class":2702},[2008,24557,24558],{"class":2528,"line":46},[2008,24559,2548],{"emptyLinePlaceholder":54},[2008,24561,24562],{"class":2528,"line":43},[2008,24563,24564],{"class":2688},"// افتراضي: 21 حرف، آمن للروابط\n",[2008,24566,24567,24569,24571,24573,24575,24577],{"class":2528,"line":2545},[2008,24568,23190],{"class":2801},[2008,24570,181],{"class":2702},[2008,24572,4025],{"class":2760},[2008,24574,3900],{"class":2702},[2008,24576,23047],{"class":2760},[2008,24578,24444],{"class":2702},[2008,24580,24581],{"class":2528,"line":2551},[2008,24582,24583],{"class":2688},"// الناتج: \"V1StGXR8_Z5jdHi6B-myT\"\n",[2008,24585,24586],{"class":2528,"line":2557},[2008,24587,2548],{"emptyLinePlaceholder":54},[2008,24589,24590],{"class":2528,"line":2563},[2008,24591,24592],{"class":2688},"// طول مخصص\n",[2008,24594,24595,24597,24599,24601,24603,24605,24607,24609],{"class":2528,"line":2568},[2008,24596,23190],{"class":2801},[2008,24598,181],{"class":2702},[2008,24600,4025],{"class":2760},[2008,24602,3900],{"class":2702},[2008,24604,23047],{"class":2760},[2008,24606,3900],{"class":2702},[2008,24608,12645],{"class":3903},[2008,24610,23207],{"class":2702},[2008,24612,24613],{"class":2528,"line":2574},[2008,24614,24615],{"class":2688},"// الناتج: \"IRFa-VaY2b\"\n",[2008,24617,24618],{"class":2528,"line":1467},[2008,24619,2548],{"emptyLinePlaceholder":54},[2008,24621,24622],{"class":2528,"line":2818},[2008,24623,24624],{"class":2688},"// أبجدية مخصصة\n",[2008,24626,24627,24629,24631,24634,24636,24638,24640],{"class":2528,"line":2842},[2008,24628,3841],{"class":2789},[2008,24630,2775],{"class":2702},[2008,24632,24633],{"class":2801},"customAlphabet",[2008,24635,3865],{"class":2702},[2008,24637,3868],{"class":2789},[2008,24639,24553],{"class":2811},[2008,24641,2720],{"class":2702},[2008,24643,24644,24646,24649,24651,24654,24656,24659,24661,24663],{"class":2528,"line":2862},[2008,24645,3887],{"class":2694},[2008,24647,24648],{"class":3890}," nanoid",[2008,24650,3894],{"class":2712},[2008,24652,24653],{"class":2760}," customAlphabet",[2008,24655,3900],{"class":2702},[2008,24657,24658],{"class":2811},"'0123456789abcdef'",[2008,24660,3848],{"class":2702},[2008,24662,23630],{"class":3903},[2008,24664,3907],{"class":2702},[2008,24666,24667,24669,24671,24673,24675,24677],{"class":2528,"line":2119},[2008,24668,23190],{"class":2801},[2008,24670,181],{"class":2702},[2008,24672,4025],{"class":2760},[2008,24674,3900],{"class":2702},[2008,24676,23047],{"class":2760},[2008,24678,24444],{"class":2702},[2008,24680,24681],{"class":2528,"line":2035},[2008,24682,24683],{"class":2688},"// الناتج: \"4f90d13a42\"\n",[12,24685,24686],{},[174,24687,24688],{},"لماذا Nano ID رائع:",[186,24690,24691,24694,24697,24700,24703,24706],{},[189,24692,24693],{},"✅ أصغر 60% من UUID",[189,24695,24696],{},"✅ أسرع 2x من UUID",[189,24698,24699],{},"✅ يعمل في المتصفح وNode.js",[189,24701,24702],{},"✅ آمن للروابط افتراضياً",[189,24704,24705],{},"✅ آمن مشفرة",[189,24707,24708],{},"✅ قابل للتخصيص",[16,24710,24712],{"id":24711},"أمثلة-واقعية","أمثلة واقعية",[209,24714,24716],{"id":24715},"مولد-كلمات-المرور","مولد كلمات المرور",[577,24718,24720],{"className":8366,"code":24719,"language":3626,"meta":42,"style":42},"import crypto from 'crypto';\n\nclass PasswordGenerator {\n  static generate(options = {}) {\n    const {\n      length = 16,\n      numbers = true,\n      symbols = true,\n      lowercase = true,\n      uppercase = true,\n      excludeSimilar = true // استثناء i, l, 1, L, o, 0, O\n    } = options;\n\n    let charset = '';\n    if (lowercase) charset += 'abcdefghijkmnpqrstuvwxyz';\n    if (uppercase) charset += 'ABCDEFGHJKLMNPQRSTUVWXYZ';\n    if (numbers) charset += excludeSimilar ? '23456789' : '0123456789';\n    if (symbols) charset += '!@#$%^&*()-_=+[]{}|;:,.\u003C>?';\n\n    if (charset.length === 0) {\n      throw new Error('يجب تحديد نوع حرف واحد على الأقل');\n    }\n\n    const password = [];\n    const randomBytes = crypto.randomBytes(length);\n\n    for (let i = 0; i \u003C length; i++) {\n      password.push(charset[randomBytes[i] % charset.length]);\n    }\n\n    return password.join('');\n  }\n}\n\n// الاستخدام\nconsole.log(PasswordGenerator.generate({ length: 20, symbols: true }));\n// الناتج: \"K7$mP#9L2@vR5tQ$X3nF\"\n",[584,24721,24722,24734,24738,24747,24764,24770,24781,24792,24803,24814,24825,24837,24848,24852,24866,24888,24908,24938,24958,24962,24980,24996,25000,25004,25015,25035,25039,25070,25103,25107,25111,25127,25131,25135,25139,25143,25179],{"__ignoreMap":42},[2008,24723,24724,24726,24728,24730,24732],{"class":2528,"line":2529},[2008,24725,3841],{"class":2789},[2008,24727,23082],{"class":2801},[2008,24729,6934],{"class":2789},[2008,24731,23087],{"class":2811},[2008,24733,2720],{"class":2702},[2008,24735,24736],{"class":2528,"line":46},[2008,24737,2548],{"emptyLinePlaceholder":54},[2008,24739,24740,24742,24745],{"class":2528,"line":43},[2008,24741,5188],{"class":2694},[2008,24743,24744],{"class":2698}," PasswordGenerator",[2008,24746,2703],{"class":2702},[2008,24748,24749,24752,24754,24756,24759,24761],{"class":2528,"line":2545},[2008,24750,24751],{"class":2694},"  static",[2008,24753,13175],{"class":2760},[2008,24755,3900],{"class":2702},[2008,24757,24758],{"class":2708},"options",[2008,24760,3894],{"class":2712},[2008,24762,24763],{"class":2702}," {}) {\n",[2008,24765,24766,24768],{"class":2528,"line":2551},[2008,24767,6981],{"class":2694},[2008,24769,2703],{"class":2702},[2008,24771,24772,24775,24777,24779],{"class":2528,"line":2557},[2008,24773,24774],{"class":3890},"      length",[2008,24776,3894],{"class":2712},[2008,24778,23438],{"class":3903},[2008,24780,4521],{"class":2702},[2008,24782,24783,24786,24788,24790],{"class":2528,"line":2563},[2008,24784,24785],{"class":3890},"      numbers",[2008,24787,3894],{"class":2712},[2008,24789,5859],{"class":5858},[2008,24791,4521],{"class":2702},[2008,24793,24794,24797,24799,24801],{"class":2528,"line":2568},[2008,24795,24796],{"class":3890},"      symbols",[2008,24798,3894],{"class":2712},[2008,24800,5859],{"class":5858},[2008,24802,4521],{"class":2702},[2008,24804,24805,24808,24810,24812],{"class":2528,"line":2574},[2008,24806,24807],{"class":3890},"      lowercase",[2008,24809,3894],{"class":2712},[2008,24811,5859],{"class":5858},[2008,24813,4521],{"class":2702},[2008,24815,24816,24819,24821,24823],{"class":2528,"line":1467},[2008,24817,24818],{"class":3890},"      uppercase",[2008,24820,3894],{"class":2712},[2008,24822,5859],{"class":5858},[2008,24824,4521],{"class":2702},[2008,24826,24827,24830,24832,24834],{"class":2528,"line":2818},[2008,24828,24829],{"class":3890},"      excludeSimilar",[2008,24831,3894],{"class":2712},[2008,24833,5859],{"class":5858},[2008,24835,24836],{"class":2688}," // استثناء i, l, 1, L, o, 0, O\n",[2008,24838,24839,24841,24843,24846],{"class":2528,"line":2842},[2008,24840,5761],{"class":2702},[2008,24842,2808],{"class":2712},[2008,24844,24845],{"class":2801}," options",[2008,24847,2720],{"class":2702},[2008,24849,24850],{"class":2528,"line":2862},[2008,24851,2548],{"emptyLinePlaceholder":54},[2008,24853,24854,24857,24859,24861,24864],{"class":2528,"line":2119},[2008,24855,24856],{"class":2694},"    let",[2008,24858,23550],{"class":2801},[2008,24860,3894],{"class":2712},[2008,24862,24863],{"class":2811}," ''",[2008,24865,2720],{"class":2702},[2008,24867,24868,24871,24873,24876,24878,24880,24883,24886],{"class":2528,"line":2035},[2008,24869,24870],{"class":2789},"    if",[2008,24872,5381],{"class":2702},[2008,24874,24875],{"class":2801},"lowercase",[2008,24877,4011],{"class":2702},[2008,24879,23570],{"class":2801},[2008,24881,24882],{"class":2712}," +=",[2008,24884,24885],{"class":2811}," 'abcdefghijkmnpqrstuvwxyz'",[2008,24887,2720],{"class":2702},[2008,24889,24890,24892,24894,24897,24899,24901,24903,24906],{"class":2528,"line":3038},[2008,24891,24870],{"class":2789},[2008,24893,5381],{"class":2702},[2008,24895,24896],{"class":2801},"uppercase",[2008,24898,4011],{"class":2702},[2008,24900,23570],{"class":2801},[2008,24902,24882],{"class":2712},[2008,24904,24905],{"class":2811}," 'ABCDEFGHJKLMNPQRSTUVWXYZ'",[2008,24907,2720],{"class":2702},[2008,24909,24910,24912,24914,24917,24919,24921,24923,24926,24928,24931,24933,24936],{"class":2528,"line":3044},[2008,24911,24870],{"class":2789},[2008,24913,5381],{"class":2702},[2008,24915,24916],{"class":2801},"numbers",[2008,24918,4011],{"class":2702},[2008,24920,23570],{"class":2801},[2008,24922,24882],{"class":2712},[2008,24924,24925],{"class":2801}," excludeSimilar",[2008,24927,7786],{"class":2712},[2008,24929,24930],{"class":2811}," '23456789'",[2008,24932,5543],{"class":2712},[2008,24934,24935],{"class":2811}," '0123456789'",[2008,24937,2720],{"class":2702},[2008,24939,24940,24942,24944,24947,24949,24951,24953,24956],{"class":2528,"line":2380},[2008,24941,24870],{"class":2789},[2008,24943,5381],{"class":2702},[2008,24945,24946],{"class":2801},"symbols",[2008,24948,4011],{"class":2702},[2008,24950,23570],{"class":2801},[2008,24952,24882],{"class":2712},[2008,24954,24955],{"class":2811}," '!@#$%^&*()-_=+[]{}|;:,.\u003C>?'",[2008,24957,2720],{"class":2702},[2008,24959,24960],{"class":2528,"line":4107},[2008,24961,2548],{"emptyLinePlaceholder":54},[2008,24963,24964,24966,24968,24970,24972,24974,24976,24978],{"class":2528,"line":64},[2008,24965,24870],{"class":2789},[2008,24967,5381],{"class":2702},[2008,24969,23570],{"class":2801},[2008,24971,181],{"class":2702},[2008,24973,23105],{"class":11592},[2008,24975,8493],{"class":2712},[2008,24977,12463],{"class":3903},[2008,24979,5659],{"class":2702},[2008,24981,24982,24985,24987,24989,24991,24994],{"class":2528,"line":4120},[2008,24983,24984],{"class":2789},"      throw",[2008,24986,12205],{"class":2694},[2008,24988,7360],{"class":2760},[2008,24990,3900],{"class":2702},[2008,24992,24993],{"class":2811},"'يجب تحديد نوع حرف واحد على الأقل'",[2008,24995,3907],{"class":2702},[2008,24997,24998],{"class":2528,"line":4125},[2008,24999,3047],{"class":2702},[2008,25001,25002],{"class":2528,"line":4135},[2008,25003,2548],{"emptyLinePlaceholder":54},[2008,25005,25006,25008,25011,25013],{"class":2528,"line":4145},[2008,25007,6981],{"class":2694},[2008,25009,25010],{"class":3890}," password",[2008,25012,3894],{"class":2712},[2008,25014,23487],{"class":2702},[2008,25016,25017,25019,25021,25023,25025,25027,25029,25031,25033],{"class":2528,"line":4169},[2008,25018,6981],{"class":2694},[2008,25020,23461],{"class":3890},[2008,25022,3894],{"class":2712},[2008,25024,23082],{"class":2801},[2008,25026,181],{"class":2702},[2008,25028,23126],{"class":2760},[2008,25030,3900],{"class":2702},[2008,25032,23105],{"class":2801},[2008,25034,3907],{"class":2702},[2008,25036,25037],{"class":2528,"line":4192},[2008,25038,2548],{"emptyLinePlaceholder":54},[2008,25040,25041,25044,25046,25048,25050,25052,25054,25056,25058,25060,25062,25064,25066,25068],{"class":2528,"line":4229},[2008,25042,25043],{"class":2789},"    for",[2008,25045,5381],{"class":2702},[2008,25047,21753],{"class":2694},[2008,25049,23503],{"class":2801},[2008,25051,3894],{"class":2712},[2008,25053,12463],{"class":3903},[2008,25055,21862],{"class":2702},[2008,25057,23512],{"class":2801},[2008,25059,23515],{"class":2712},[2008,25061,23518],{"class":2801},[2008,25063,21862],{"class":2702},[2008,25065,23512],{"class":2801},[2008,25067,4213],{"class":2712},[2008,25069,5659],{"class":2702},[2008,25071,25072,25075,25077,25079,25081,25083,25085,25087,25089,25091,25093,25095,25097,25099,25101],{"class":2528,"line":4239},[2008,25073,25074],{"class":2801},"      password",[2008,25076,181],{"class":2702},[2008,25078,6812],{"class":2760},[2008,25080,3900],{"class":2702},[2008,25082,23570],{"class":2801},[2008,25084,6202],{"class":2702},[2008,25086,23126],{"class":2801},[2008,25088,6202],{"class":2702},[2008,25090,23512],{"class":2801},[2008,25092,23544],{"class":2702},[2008,25094,23547],{"class":2712},[2008,25096,23550],{"class":2801},[2008,25098,181],{"class":2702},[2008,25100,23105],{"class":11592},[2008,25102,23578],{"class":2702},[2008,25104,25105],{"class":2528,"line":4531},[2008,25106,3047],{"class":2702},[2008,25108,25109],{"class":2528,"line":4539},[2008,25110,2548],{"emptyLinePlaceholder":54},[2008,25112,25113,25115,25117,25119,25121,25123,25125],{"class":2528,"line":4547},[2008,25114,13925],{"class":2789},[2008,25116,25010],{"class":2801},[2008,25118,181],{"class":2702},[2008,25120,23597],{"class":2760},[2008,25122,3900],{"class":2702},[2008,25124,23602],{"class":2811},[2008,25126,3907],{"class":2702},[2008,25128,25129],{"class":2528,"line":4555},[2008,25130,4446],{"class":2702},[2008,25132,25133],{"class":2528,"line":4561},[2008,25134,2748],{"class":2702},[2008,25136,25137],{"class":2528,"line":4566},[2008,25138,2548],{"emptyLinePlaceholder":54},[2008,25140,25141],{"class":2528,"line":5249},[2008,25142,24102],{"class":2688},[2008,25144,25145,25147,25149,25151,25153,25156,25158,25161,25163,25166,25169,25171,25174,25176],{"class":2528,"line":5258},[2008,25146,23190],{"class":2801},[2008,25148,181],{"class":2702},[2008,25150,4025],{"class":2760},[2008,25152,3900],{"class":2702},[2008,25154,25155],{"class":2801},"PasswordGenerator",[2008,25157,181],{"class":2702},[2008,25159,25160],{"class":2760},"generate",[2008,25162,2764],{"class":2702},[2008,25164,25165],{"class":2801},"length:",[2008,25167,25168],{"class":3903}," 20",[2008,25170,3848],{"class":2702},[2008,25172,25173],{"class":2801},"symbols:",[2008,25175,5859],{"class":5858},[2008,25177,25178],{"class":2702}," }));\n",[2008,25180,25181],{"class":2528,"line":5267},[2008,25182,25183],{"class":2688},"// الناتج: \"K7$mP#9L2@vR5tQ$X3nF\"\n",[209,25185,25187],{"id":25186},"مولد-رموز-api","مولد رموز API",[577,25189,25191],{"className":8366,"code":25190,"language":3626,"meta":42,"style":42},"import crypto from 'crypto';\n\nclass TokenGenerator {\n  static generateApiKey(prefix = 'sk') {\n    const token = crypto.randomBytes(32).toString('base64url');\n    return `${prefix}_${token}`;\n  }\n\n  static generateSessionId() {\n    return crypto.randomBytes(32).toString('hex');\n  }\n\n  static generateResetToken() {\n    // قصير الأمد، تنتهي صلاحيته بعد الاستخدام\n    return crypto.randomBytes(32).toString('hex');\n  }\n}\n\n// الاستخدام\nconsole.log(TokenGenerator.generateApiKey('pk'));\n// الناتج: \"pk_K7xP-zQ2mR8vN5tL3wY6jF9cH4dS1aE0K7xPzQ2m\"\n\nconsole.log(TokenGenerator.generateSessionId());\n// الناتج: \"a7f5c3e9d2b1a4f6c8e0d9b2a5f7c3e1a7f5c3e9d2b1a4f6c8e0d9b2a5f7c3e1\"\n",[584,25192,25193,25205,25209,25218,25237,25266,25292,25296,25300,25309,25333,25337,25341,25350,25355,25379,25383,25387,25391,25395,25420,25425,25429,25448],{"__ignoreMap":42},[2008,25194,25195,25197,25199,25201,25203],{"class":2528,"line":2529},[2008,25196,3841],{"class":2789},[2008,25198,23082],{"class":2801},[2008,25200,6934],{"class":2789},[2008,25202,23087],{"class":2811},[2008,25204,2720],{"class":2702},[2008,25206,25207],{"class":2528,"line":46},[2008,25208,2548],{"emptyLinePlaceholder":54},[2008,25210,25211,25213,25216],{"class":2528,"line":43},[2008,25212,5188],{"class":2694},[2008,25214,25215],{"class":2698}," TokenGenerator",[2008,25217,2703],{"class":2702},[2008,25219,25220,25222,25225,25227,25230,25232,25235],{"class":2528,"line":2545},[2008,25221,24751],{"class":2694},[2008,25223,25224],{"class":2760}," generateApiKey",[2008,25226,3900],{"class":2702},[2008,25228,25229],{"class":2708},"prefix",[2008,25231,3894],{"class":2712},[2008,25233,25234],{"class":2811}," 'sk'",[2008,25236,5659],{"class":2702},[2008,25238,25239,25241,25244,25246,25248,25250,25252,25254,25256,25258,25260,25262,25264],{"class":2528,"line":2551},[2008,25240,6981],{"class":2694},[2008,25242,25243],{"class":3890}," token",[2008,25245,3894],{"class":2712},[2008,25247,23082],{"class":2801},[2008,25249,181],{"class":2702},[2008,25251,23126],{"class":2760},[2008,25253,3900],{"class":2702},[2008,25255,23204],{"class":3903},[2008,25257,7217],{"class":2702},[2008,25259,23153],{"class":2760},[2008,25261,3900],{"class":2702},[2008,25263,23321],{"class":2811},[2008,25265,3907],{"class":2702},[2008,25267,25268,25270,25272,25274,25276,25278,25281,25283,25286,25288,25290],{"class":2528,"line":2557},[2008,25269,13925],{"class":2789},[2008,25271,16933],{"class":2811},[2008,25273,4034],{"class":4033},[2008,25275,25229],{"class":2801},[2008,25277,2832],{"class":4033},[2008,25279,25280],{"class":2811},"_",[2008,25282,4034],{"class":4033},[2008,25284,25285],{"class":2801},"token",[2008,25287,2832],{"class":4033},[2008,25289,4050],{"class":2811},[2008,25291,2720],{"class":2702},[2008,25293,25294],{"class":2528,"line":2563},[2008,25295,4446],{"class":2702},[2008,25297,25298],{"class":2528,"line":2568},[2008,25299,2548],{"emptyLinePlaceholder":54},[2008,25301,25302,25304,25307],{"class":2528,"line":2574},[2008,25303,24751],{"class":2694},[2008,25305,25306],{"class":2760}," generateSessionId",[2008,25308,4429],{"class":2702},[2008,25310,25311,25313,25315,25317,25319,25321,25323,25325,25327,25329,25331],{"class":2528,"line":1467},[2008,25312,13925],{"class":2789},[2008,25314,23082],{"class":2801},[2008,25316,181],{"class":2702},[2008,25318,23126],{"class":2760},[2008,25320,3900],{"class":2702},[2008,25322,23204],{"class":3903},[2008,25324,7217],{"class":2702},[2008,25326,23153],{"class":2760},[2008,25328,3900],{"class":2702},[2008,25330,23158],{"class":2811},[2008,25332,3907],{"class":2702},[2008,25334,25335],{"class":2528,"line":2818},[2008,25336,4446],{"class":2702},[2008,25338,25339],{"class":2528,"line":2842},[2008,25340,2548],{"emptyLinePlaceholder":54},[2008,25342,25343,25345,25348],{"class":2528,"line":2862},[2008,25344,24751],{"class":2694},[2008,25346,25347],{"class":2760}," generateResetToken",[2008,25349,4429],{"class":2702},[2008,25351,25352],{"class":2528,"line":2119},[2008,25353,25354],{"class":2688},"    // قصير الأمد، تنتهي صلاحيته بعد الاستخدام\n",[2008,25356,25357,25359,25361,25363,25365,25367,25369,25371,25373,25375,25377],{"class":2528,"line":2035},[2008,25358,13925],{"class":2789},[2008,25360,23082],{"class":2801},[2008,25362,181],{"class":2702},[2008,25364,23126],{"class":2760},[2008,25366,3900],{"class":2702},[2008,25368,23204],{"class":3903},[2008,25370,7217],{"class":2702},[2008,25372,23153],{"class":2760},[2008,25374,3900],{"class":2702},[2008,25376,23158],{"class":2811},[2008,25378,3907],{"class":2702},[2008,25380,25381],{"class":2528,"line":3038},[2008,25382,4446],{"class":2702},[2008,25384,25385],{"class":2528,"line":3044},[2008,25386,2748],{"class":2702},[2008,25388,25389],{"class":2528,"line":2380},[2008,25390,2548],{"emptyLinePlaceholder":54},[2008,25392,25393],{"class":2528,"line":4107},[2008,25394,24102],{"class":2688},[2008,25396,25397,25399,25401,25403,25405,25408,25410,25413,25415,25418],{"class":2528,"line":64},[2008,25398,23190],{"class":2801},[2008,25400,181],{"class":2702},[2008,25402,4025],{"class":2760},[2008,25404,3900],{"class":2702},[2008,25406,25407],{"class":2801},"TokenGenerator",[2008,25409,181],{"class":2702},[2008,25411,25412],{"class":2760},"generateApiKey",[2008,25414,3900],{"class":2702},[2008,25416,25417],{"class":2811},"'pk'",[2008,25419,23207],{"class":2702},[2008,25421,25422],{"class":2528,"line":4120},[2008,25423,25424],{"class":2688},"// الناتج: \"pk_K7xP-zQ2mR8vN5tL3wY6jF9cH4dS1aE0K7xPzQ2m\"\n",[2008,25426,25427],{"class":2528,"line":4125},[2008,25428,2548],{"emptyLinePlaceholder":54},[2008,25430,25431,25433,25435,25437,25439,25441,25443,25446],{"class":2528,"line":4135},[2008,25432,23190],{"class":2801},[2008,25434,181],{"class":2702},[2008,25436,4025],{"class":2760},[2008,25438,3900],{"class":2702},[2008,25440,25407],{"class":2801},[2008,25442,181],{"class":2702},[2008,25444,25445],{"class":2760},"generateSessionId",[2008,25447,24444],{"class":2702},[2008,25449,25450],{"class":2528,"line":4145},[2008,25451,25452],{"class":2688},"// الناتج: \"a7f5c3e9d2b1a4f6c8e0d9b2a5f7c3e1a7f5c3e9d2b1a4f6c8e0d9b2a5f7c3e1\"\n",[209,25454,25456],{"id":25455},"مولد-روابط-قصيرة","مولد روابط قصيرة",[577,25458,25460],{"className":8366,"code":25459,"language":3626,"meta":42,"style":42},"import { customAlphabet } from 'nanoid';\n\n// استخدم فقط أحرف آمنة للروابط، استثنِ المربكة\nconst generateShortId = customAlphabet(\n  'abcdefghijkmnpqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ23456789',\n  8\n);\n\nfunction createShortUrl(longUrl) {\n  const shortId = generateShortId();\n  const shortUrl = `https://myapp.com/${shortId}`;\n  \n  // احفظ في قاعدة البيانات: { shortId, longUrl }\n  return shortUrl;\n}\n\nconsole.log(createShortUrl('https://example.com/very/long/url'));\n// الناتج: \"https://myapp.com/K7xPzQ2m\"\n",[584,25461,25462,25478,25482,25487,25500,25507,25512,25516,25520,25534,25547,25570,25574,25579,25587,25591,25595,25615],{"__ignoreMap":42},[2008,25463,25464,25466,25468,25470,25472,25474,25476],{"class":2528,"line":2529},[2008,25465,3841],{"class":2789},[2008,25467,2775],{"class":2702},[2008,25469,24633],{"class":2801},[2008,25471,3865],{"class":2702},[2008,25473,3868],{"class":2789},[2008,25475,24553],{"class":2811},[2008,25477,2720],{"class":2702},[2008,25479,25480],{"class":2528,"line":46},[2008,25481,2548],{"emptyLinePlaceholder":54},[2008,25483,25484],{"class":2528,"line":43},[2008,25485,25486],{"class":2688},"// استخدم فقط أحرف آمنة للروابط، استثنِ المربكة\n",[2008,25488,25489,25491,25494,25496,25498],{"class":2528,"line":2545},[2008,25490,3887],{"class":2694},[2008,25492,25493],{"class":3890}," generateShortId",[2008,25495,3894],{"class":2712},[2008,25497,24653],{"class":2760},[2008,25499,5925],{"class":2702},[2008,25501,25502,25505],{"class":2528,"line":2551},[2008,25503,25504],{"class":2811},"  'abcdefghijkmnpqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ23456789'",[2008,25506,4521],{"class":2702},[2008,25508,25509],{"class":2528,"line":2557},[2008,25510,25511],{"class":3903},"  8\n",[2008,25513,25514],{"class":2528,"line":2563},[2008,25515,3907],{"class":2702},[2008,25517,25518],{"class":2528,"line":2568},[2008,25519,2548],{"emptyLinePlaceholder":54},[2008,25521,25522,25524,25527,25529,25532],{"class":2528,"line":2574},[2008,25523,2757],{"class":2694},[2008,25525,25526],{"class":2760}," createShortUrl",[2008,25528,3900],{"class":2702},[2008,25530,25531],{"class":2708},"longUrl",[2008,25533,5659],{"class":2702},[2008,25535,25536,25538,25541,25543,25545],{"class":2528,"line":1467},[2008,25537,4343],{"class":2694},[2008,25539,25540],{"class":3890}," shortId",[2008,25542,3894],{"class":2712},[2008,25544,25493],{"class":2760},[2008,25546,17133],{"class":2702},[2008,25548,25549,25551,25554,25556,25559,25561,25564,25566,25568],{"class":2528,"line":2818},[2008,25550,4343],{"class":2694},[2008,25552,25553],{"class":3890}," shortUrl",[2008,25555,3894],{"class":2712},[2008,25557,25558],{"class":2811}," `https://myapp.com/",[2008,25560,4034],{"class":4033},[2008,25562,25563],{"class":2801},"shortId",[2008,25565,2832],{"class":4033},[2008,25567,4050],{"class":2811},[2008,25569,2720],{"class":2702},[2008,25571,25572],{"class":2528,"line":2842},[2008,25573,12382],{"class":2702},[2008,25575,25576],{"class":2528,"line":2862},[2008,25577,25578],{"class":2688},"  // احفظ في قاعدة البيانات: { shortId, longUrl }\n",[2008,25580,25581,25583,25585],{"class":2528,"line":2119},[2008,25582,2790],{"class":2789},[2008,25584,25553],{"class":2801},[2008,25586,2720],{"class":2702},[2008,25588,25589],{"class":2528,"line":2035},[2008,25590,2748],{"class":2702},[2008,25592,25593],{"class":2528,"line":3038},[2008,25594,2548],{"emptyLinePlaceholder":54},[2008,25596,25597,25599,25601,25603,25605,25608,25610,25613],{"class":2528,"line":3044},[2008,25598,23190],{"class":2801},[2008,25600,181],{"class":2702},[2008,25602,4025],{"class":2760},[2008,25604,3900],{"class":2702},[2008,25606,25607],{"class":2760},"createShortUrl",[2008,25609,3900],{"class":2702},[2008,25611,25612],{"class":2811},"'https://example.com/very/long/url'",[2008,25614,23207],{"class":2702},[2008,25616,25617],{"class":2528,"line":2380},[2008,25618,25619],{"class":2688},"// الناتج: \"https://myapp.com/K7xPzQ2m\"\n",[209,25621,25623],{"id":25622},"أسماء-ملفات-فريدة-للرفع","أسماء ملفات فريدة للرفع",[577,25625,25627],{"className":8366,"code":25626,"language":3626,"meta":42,"style":42},"import crypto from 'crypto';\nimport path from 'path';\n\nfunction generateUniqueFilename(originalFilename) {\n  const timestamp = Date.now();\n  const randomString = crypto.randomBytes(8).toString('hex');\n  const extension = path.extname(originalFilename);\n  const nameWithoutExt = path.basename(originalFilename, extension);\n  \n  // التنسيق: originalname_timestamp_random.ext\n  return `${nameWithoutExt}_${timestamp}_${randomString}${extension}`;\n}\n\nconsole.log(generateUniqueFilename('photo.jpg'));\n// الناتج: \"photo_1704931200000_a7f5c3e9d2b1.jpg\"\n",[584,25628,25629,25641,25654,25658,25672,25689,25719,25741,25768,25772,25777,25817,25821,25825,25845],{"__ignoreMap":42},[2008,25630,25631,25633,25635,25637,25639],{"class":2528,"line":2529},[2008,25632,3841],{"class":2789},[2008,25634,23082],{"class":2801},[2008,25636,6934],{"class":2789},[2008,25638,23087],{"class":2811},[2008,25640,2720],{"class":2702},[2008,25642,25643,25645,25647,25649,25652],{"class":2528,"line":46},[2008,25644,3841],{"class":2789},[2008,25646,17810],{"class":2801},[2008,25648,6934],{"class":2789},[2008,25650,25651],{"class":2811}," 'path'",[2008,25653,2720],{"class":2702},[2008,25655,25656],{"class":2528,"line":43},[2008,25657,2548],{"emptyLinePlaceholder":54},[2008,25659,25660,25662,25665,25667,25670],{"class":2528,"line":2545},[2008,25661,2757],{"class":2694},[2008,25663,25664],{"class":2760}," generateUniqueFilename",[2008,25666,3900],{"class":2702},[2008,25668,25669],{"class":2708},"originalFilename",[2008,25671,5659],{"class":2702},[2008,25673,25674,25676,25679,25681,25683,25685,25687],{"class":2528,"line":2551},[2008,25675,4343],{"class":2694},[2008,25677,25678],{"class":3890}," timestamp",[2008,25680,3894],{"class":2712},[2008,25682,12208],{"class":2801},[2008,25684,181],{"class":2702},[2008,25686,24380],{"class":2760},[2008,25688,17133],{"class":2702},[2008,25690,25691,25693,25696,25698,25700,25702,25704,25706,25709,25711,25713,25715,25717],{"class":2528,"line":2557},[2008,25692,4343],{"class":2694},[2008,25694,25695],{"class":3890}," randomString",[2008,25697,3894],{"class":2712},[2008,25699,23082],{"class":2801},[2008,25701,181],{"class":2702},[2008,25703,23126],{"class":2760},[2008,25705,3900],{"class":2702},[2008,25707,25708],{"class":3903},"8",[2008,25710,7217],{"class":2702},[2008,25712,23153],{"class":2760},[2008,25714,3900],{"class":2702},[2008,25716,23158],{"class":2811},[2008,25718,3907],{"class":2702},[2008,25720,25721,25723,25726,25728,25730,25732,25735,25737,25739],{"class":2528,"line":2563},[2008,25722,4343],{"class":2694},[2008,25724,25725],{"class":3890}," extension",[2008,25727,3894],{"class":2712},[2008,25729,17810],{"class":2801},[2008,25731,181],{"class":2702},[2008,25733,25734],{"class":2760},"extname",[2008,25736,3900],{"class":2702},[2008,25738,25669],{"class":2801},[2008,25740,3907],{"class":2702},[2008,25742,25743,25745,25748,25750,25752,25754,25757,25759,25761,25763,25766],{"class":2528,"line":2568},[2008,25744,4343],{"class":2694},[2008,25746,25747],{"class":3890}," nameWithoutExt",[2008,25749,3894],{"class":2712},[2008,25751,17810],{"class":2801},[2008,25753,181],{"class":2702},[2008,25755,25756],{"class":2760},"basename",[2008,25758,3900],{"class":2702},[2008,25760,25669],{"class":2801},[2008,25762,3848],{"class":2702},[2008,25764,25765],{"class":2801},"extension",[2008,25767,3907],{"class":2702},[2008,25769,25770],{"class":2528,"line":2574},[2008,25771,12382],{"class":2702},[2008,25773,25774],{"class":2528,"line":1467},[2008,25775,25776],{"class":2688},"  // التنسيق: originalname_timestamp_random.ext\n",[2008,25778,25779,25781,25783,25785,25788,25790,25792,25794,25797,25799,25801,25803,25806,25809,25811,25813,25815],{"class":2528,"line":2818},[2008,25780,2790],{"class":2789},[2008,25782,16933],{"class":2811},[2008,25784,4034],{"class":4033},[2008,25786,25787],{"class":2801},"nameWithoutExt",[2008,25789,2832],{"class":4033},[2008,25791,25280],{"class":2811},[2008,25793,4034],{"class":4033},[2008,25795,25796],{"class":2801},"timestamp",[2008,25798,2832],{"class":4033},[2008,25800,25280],{"class":2811},[2008,25802,4034],{"class":4033},[2008,25804,25805],{"class":2801},"randomString",[2008,25807,25808],{"class":4033},"}${",[2008,25810,25765],{"class":2801},[2008,25812,2832],{"class":4033},[2008,25814,4050],{"class":2811},[2008,25816,2720],{"class":2702},[2008,25818,25819],{"class":2528,"line":2842},[2008,25820,2748],{"class":2702},[2008,25822,25823],{"class":2528,"line":2862},[2008,25824,2548],{"emptyLinePlaceholder":54},[2008,25826,25827,25829,25831,25833,25835,25838,25840,25843],{"class":2528,"line":2119},[2008,25828,23190],{"class":2801},[2008,25830,181],{"class":2702},[2008,25832,4025],{"class":2760},[2008,25834,3900],{"class":2702},[2008,25836,25837],{"class":2760},"generateUniqueFilename",[2008,25839,3900],{"class":2702},[2008,25841,25842],{"class":2811},"'photo.jpg'",[2008,25844,23207],{"class":2702},[2008,25846,25847],{"class":2528,"line":2035},[2008,25848,25849],{"class":2688},"// الناتج: \"photo_1704931200000_a7f5c3e9d2b1.jpg\"\n",[16,25851,25853],{"id":25852},"مقارنة-الأداء","مقارنة الأداء",[12,25855,25856],{},"إليك معيار للطرق المختلفة (100,000 تكرار):",[577,25858,25860],{"className":8366,"code":25859,"language":3626,"meta":42,"style":42},"import crypto from 'crypto';\nimport { nanoid } from 'nanoid';\n\nfunction benchmark(fn, iterations = 100000) {\n  const start = performance.now();\n  for (let i = 0; i \u003C iterations; i++) {\n    fn();\n  }\n  const end = performance.now();\n  return `${(end - start).toFixed(2)}ms`;\n}\n\nconsole.log('crypto.randomUUID():', benchmark(() => crypto.randomUUID()));\n// الناتج: ~45ms (أسرع!)\n\nconsole.log('crypto.randomBytes(16).toString(\"hex\"):', benchmark(() => \n  crypto.randomBytes(16).toString('hex')\n));\n// الناتج: ~60ms\n\nconsole.log('nanoid():', benchmark(() => nanoid()));\n// الناتج: ~75ms\n\nconsole.log('Math.random() (غير آمن!):', benchmark(() => \n  Math.random().toString(36).substring(2, 15)\n));\n// الناتج: ~25ms (أسرع لكن غير آمن!)\n",[584,25861,25862,25874,25890,25894,25918,25936,25967,25974,25978,25995,26031,26035,26039,26070,26075,26079,26102,26124,26128,26133,26137,26162,26167,26171,26194,26226,26230],{"__ignoreMap":42},[2008,25863,25864,25866,25868,25870,25872],{"class":2528,"line":2529},[2008,25865,3841],{"class":2789},[2008,25867,23082],{"class":2801},[2008,25869,6934],{"class":2789},[2008,25871,23087],{"class":2811},[2008,25873,2720],{"class":2702},[2008,25875,25876,25878,25880,25882,25884,25886,25888],{"class":2528,"line":46},[2008,25877,3841],{"class":2789},[2008,25879,2775],{"class":2702},[2008,25881,23047],{"class":2801},[2008,25883,3865],{"class":2702},[2008,25885,3868],{"class":2789},[2008,25887,24553],{"class":2811},[2008,25889,2720],{"class":2702},[2008,25891,25892],{"class":2528,"line":43},[2008,25893,2548],{"emptyLinePlaceholder":54},[2008,25895,25896,25898,25901,25903,25906,25908,25911,25913,25916],{"class":2528,"line":2545},[2008,25897,2757],{"class":2694},[2008,25899,25900],{"class":2760}," benchmark",[2008,25902,3900],{"class":2702},[2008,25904,25905],{"class":2708},"fn",[2008,25907,3848],{"class":2702},[2008,25909,25910],{"class":2708},"iterations",[2008,25912,3894],{"class":2712},[2008,25914,25915],{"class":3903}," 100000",[2008,25917,5659],{"class":2702},[2008,25919,25920,25922,25925,25927,25930,25932,25934],{"class":2528,"line":2551},[2008,25921,4343],{"class":2694},[2008,25923,25924],{"class":3890}," start",[2008,25926,3894],{"class":2712},[2008,25928,25929],{"class":2801}," performance",[2008,25931,181],{"class":2702},[2008,25933,24380],{"class":2760},[2008,25935,17133],{"class":2702},[2008,25937,25938,25940,25942,25944,25946,25948,25950,25952,25954,25956,25959,25961,25963,25965],{"class":2528,"line":2557},[2008,25939,23496],{"class":2789},[2008,25941,5381],{"class":2702},[2008,25943,21753],{"class":2694},[2008,25945,23503],{"class":2801},[2008,25947,3894],{"class":2712},[2008,25949,12463],{"class":3903},[2008,25951,21862],{"class":2702},[2008,25953,23512],{"class":2801},[2008,25955,23515],{"class":2712},[2008,25957,25958],{"class":2801}," iterations",[2008,25960,21862],{"class":2702},[2008,25962,23512],{"class":2801},[2008,25964,4213],{"class":2712},[2008,25966,5659],{"class":2702},[2008,25968,25969,25972],{"class":2528,"line":2563},[2008,25970,25971],{"class":2760},"    fn",[2008,25973,17133],{"class":2702},[2008,25975,25976],{"class":2528,"line":2568},[2008,25977,4446],{"class":2702},[2008,25979,25980,25982,25985,25987,25989,25991,25993],{"class":2528,"line":2574},[2008,25981,4343],{"class":2694},[2008,25983,25984],{"class":3890}," end",[2008,25986,3894],{"class":2712},[2008,25988,25929],{"class":2801},[2008,25990,181],{"class":2702},[2008,25992,24380],{"class":2760},[2008,25994,17133],{"class":2702},[2008,25996,25997,25999,26001,26003,26005,26008,26011,26013,26015,26018,26020,26022,26024,26026,26029],{"class":2528,"line":1467},[2008,25998,2790],{"class":2789},[2008,26000,16933],{"class":2811},[2008,26002,4034],{"class":4033},[2008,26004,3900],{"class":4096},[2008,26006,26007],{"class":2801},"end",[2008,26009,26010],{"class":2712}," -",[2008,26012,25924],{"class":2801},[2008,26014,7217],{"class":4096},[2008,26016,26017],{"class":2760},"toFixed",[2008,26019,3900],{"class":4096},[2008,26021,21835],{"class":3903},[2008,26023,3778],{"class":4096},[2008,26025,2832],{"class":4033},[2008,26027,26028],{"class":2811},"ms`",[2008,26030,2720],{"class":2702},[2008,26032,26033],{"class":2528,"line":2818},[2008,26034,2748],{"class":2702},[2008,26036,26037],{"class":2528,"line":2842},[2008,26038,2548],{"emptyLinePlaceholder":54},[2008,26040,26041,26043,26045,26047,26049,26052,26054,26057,26059,26061,26063,26065,26067],{"class":2528,"line":2862},[2008,26042,23190],{"class":2801},[2008,26044,181],{"class":2702},[2008,26046,4025],{"class":2760},[2008,26048,3900],{"class":2702},[2008,26050,26051],{"class":2811},"'crypto.randomUUID():'",[2008,26053,3848],{"class":2702},[2008,26055,26056],{"class":2760},"benchmark",[2008,26058,3962],{"class":2702},[2008,26060,3965],{"class":2694},[2008,26062,23082],{"class":2801},[2008,26064,181],{"class":2702},[2008,26066,23743],{"class":2760},[2008,26068,26069],{"class":2702},"()));\n",[2008,26071,26072],{"class":2528,"line":2119},[2008,26073,26074],{"class":2688},"// الناتج: ~45ms (أسرع!)\n",[2008,26076,26077],{"class":2528,"line":2035},[2008,26078,2548],{"emptyLinePlaceholder":54},[2008,26080,26081,26083,26085,26087,26089,26092,26094,26096,26098,26100],{"class":2528,"line":3038},[2008,26082,23190],{"class":2801},[2008,26084,181],{"class":2702},[2008,26086,4025],{"class":2760},[2008,26088,3900],{"class":2702},[2008,26090,26091],{"class":2811},"'crypto.randomBytes(16).toString(\"hex\"):'",[2008,26093,3848],{"class":2702},[2008,26095,26056],{"class":2760},[2008,26097,3962],{"class":2702},[2008,26099,3965],{"class":2694},[2008,26101,8557],{"class":2702},[2008,26103,26104,26106,26108,26110,26112,26114,26116,26118,26120,26122],{"class":2528,"line":3044},[2008,26105,23858],{"class":2801},[2008,26107,181],{"class":2702},[2008,26109,23126],{"class":2760},[2008,26111,3900],{"class":2702},[2008,26113,23630],{"class":3903},[2008,26115,7217],{"class":2702},[2008,26117,23153],{"class":2760},[2008,26119,3900],{"class":2702},[2008,26121,23158],{"class":2811},[2008,26123,3160],{"class":2702},[2008,26125,26126],{"class":2528,"line":2380},[2008,26127,23207],{"class":2702},[2008,26129,26130],{"class":2528,"line":4107},[2008,26131,26132],{"class":2688},"// الناتج: ~60ms\n",[2008,26134,26135],{"class":2528,"line":64},[2008,26136,2548],{"emptyLinePlaceholder":54},[2008,26138,26139,26141,26143,26145,26147,26150,26152,26154,26156,26158,26160],{"class":2528,"line":4120},[2008,26140,23190],{"class":2801},[2008,26142,181],{"class":2702},[2008,26144,4025],{"class":2760},[2008,26146,3900],{"class":2702},[2008,26148,26149],{"class":2811},"'nanoid():'",[2008,26151,3848],{"class":2702},[2008,26153,26056],{"class":2760},[2008,26155,3962],{"class":2702},[2008,26157,3965],{"class":2694},[2008,26159,24648],{"class":2760},[2008,26161,26069],{"class":2702},[2008,26163,26164],{"class":2528,"line":4125},[2008,26165,26166],{"class":2688},"// الناتج: ~75ms\n",[2008,26168,26169],{"class":2528,"line":4135},[2008,26170,2548],{"emptyLinePlaceholder":54},[2008,26172,26173,26175,26177,26179,26181,26184,26186,26188,26190,26192],{"class":2528,"line":4145},[2008,26174,23190],{"class":2801},[2008,26176,181],{"class":2702},[2008,26178,4025],{"class":2760},[2008,26180,3900],{"class":2702},[2008,26182,26183],{"class":2811},"'Math.random() (غير آمن!):'",[2008,26185,3848],{"class":2702},[2008,26187,26056],{"class":2760},[2008,26189,3962],{"class":2702},[2008,26191,3965],{"class":2694},[2008,26193,8557],{"class":2702},[2008,26195,26196,26199,26201,26203,26205,26207,26209,26211,26213,26215,26217,26219,26221,26224],{"class":2528,"line":4169},[2008,26197,26198],{"class":2801},"  Math",[2008,26200,181],{"class":2702},[2008,26202,24401],{"class":2760},[2008,26204,12211],{"class":2702},[2008,26206,23153],{"class":2760},[2008,26208,3900],{"class":2702},[2008,26210,24389],{"class":3903},[2008,26212,7217],{"class":2702},[2008,26214,24414],{"class":2760},[2008,26216,3900],{"class":2702},[2008,26218,21835],{"class":3903},[2008,26220,3848],{"class":2702},[2008,26222,26223],{"class":3903},"15",[2008,26225,3160],{"class":2702},[2008,26227,26228],{"class":2528,"line":4192},[2008,26229,23207],{"class":2702},[2008,26231,26232],{"class":2528,"line":4229},[2008,26233,26234],{"class":2688},"// الناتج: ~25ms (أسرع لكن غير آمن!)\n",[16,26236,26238],{"id":26237},"أفضل-ممارسات-الأمان","أفضل ممارسات الأمان",[209,26240,26242],{"id":26241},"افعل","✅ افعل:",[577,26244,26246],{"className":8366,"code":26245,"language":3626,"meta":42,"style":42},"// استخدم طرق آمنة مشفرة للرموز\nconst token = crypto.randomBytes(32).toString('hex');\n\n// استخدم طول كافي (32 حرف كحد أدنى للرموز)\nconst sessionId = nanoid(32);\n\n// استخدم base64url للرموز الآمنة للروابط\nconst resetToken = crypto.randomBytes(32).toString('base64url');\n",[584,26247,26248,26253,26281,26285,26290,26307,26311,26316],{"__ignoreMap":42},[2008,26249,26250],{"class":2528,"line":2529},[2008,26251,26252],{"class":2688},"// استخدم طرق آمنة مشفرة للرموز\n",[2008,26254,26255,26257,26259,26261,26263,26265,26267,26269,26271,26273,26275,26277,26279],{"class":2528,"line":46},[2008,26256,3887],{"class":2694},[2008,26258,25243],{"class":3890},[2008,26260,3894],{"class":2712},[2008,26262,23082],{"class":2801},[2008,26264,181],{"class":2702},[2008,26266,23126],{"class":2760},[2008,26268,3900],{"class":2702},[2008,26270,23204],{"class":3903},[2008,26272,7217],{"class":2702},[2008,26274,23153],{"class":2760},[2008,26276,3900],{"class":2702},[2008,26278,23158],{"class":2811},[2008,26280,3907],{"class":2702},[2008,26282,26283],{"class":2528,"line":43},[2008,26284,2548],{"emptyLinePlaceholder":54},[2008,26286,26287],{"class":2528,"line":2545},[2008,26288,26289],{"class":2688},"// استخدم طول كافي (32 حرف كحد أدنى للرموز)\n",[2008,26291,26292,26294,26297,26299,26301,26303,26305],{"class":2528,"line":2551},[2008,26293,3887],{"class":2694},[2008,26295,26296],{"class":3890}," sessionId",[2008,26298,3894],{"class":2712},[2008,26300,24648],{"class":2760},[2008,26302,3900],{"class":2702},[2008,26304,23204],{"class":3903},[2008,26306,3907],{"class":2702},[2008,26308,26309],{"class":2528,"line":2557},[2008,26310,2548],{"emptyLinePlaceholder":54},[2008,26312,26313],{"class":2528,"line":2563},[2008,26314,26315],{"class":2688},"// استخدم base64url للرموز الآمنة للروابط\n",[2008,26317,26318,26320,26323,26325,26327,26329,26331,26333,26335,26337,26339,26341,26343],{"class":2528,"line":2568},[2008,26319,3887],{"class":2694},[2008,26321,26322],{"class":3890}," resetToken",[2008,26324,3894],{"class":2712},[2008,26326,23082],{"class":2801},[2008,26328,181],{"class":2702},[2008,26330,23126],{"class":2760},[2008,26332,3900],{"class":2702},[2008,26334,23204],{"class":3903},[2008,26336,7217],{"class":2702},[2008,26338,23153],{"class":2760},[2008,26340,3900],{"class":2702},[2008,26342,23321],{"class":2811},[2008,26344,3907],{"class":2702},[209,26346,26348],{"id":26347},"لا-تفعل","❌ لا تفعل:",[577,26350,26352],{"className":8366,"code":26351,"language":3626,"meta":42,"style":42},"// لا تستخدم Math.random() للأمان\nconst insecureToken = Math.random().toString(36); // ⚠️ أبداً!\n\n// لا تستخدم أطوال قصيرة للرموز الأمنية\nconst weakToken = crypto.randomBytes(4).toString('hex'); // ⚠️ قصير جداً!\n\n// لا تستخدم Date.now() وحده للفرادة\nconst notUnique = Date.now().toString(); // ⚠️ تصادمات ممكنة!\n",[584,26353,26354,26359,26387,26391,26396,26429,26433,26438],{"__ignoreMap":42},[2008,26355,26356],{"class":2528,"line":2529},[2008,26357,26358],{"class":2688},"// لا تستخدم Math.random() للأمان\n",[2008,26360,26361,26363,26366,26368,26370,26372,26374,26376,26378,26380,26382,26384],{"class":2528,"line":46},[2008,26362,3887],{"class":2694},[2008,26364,26365],{"class":3890}," insecureToken",[2008,26367,3894],{"class":2712},[2008,26369,24396],{"class":2801},[2008,26371,181],{"class":2702},[2008,26373,24401],{"class":2760},[2008,26375,12211],{"class":2702},[2008,26377,23153],{"class":2760},[2008,26379,3900],{"class":2702},[2008,26381,24389],{"class":3903},[2008,26383,22099],{"class":2702},[2008,26385,26386],{"class":2688},"// ⚠️ أبداً!\n",[2008,26388,26389],{"class":2528,"line":43},[2008,26390,2548],{"emptyLinePlaceholder":54},[2008,26392,26393],{"class":2528,"line":2545},[2008,26394,26395],{"class":2688},"// لا تستخدم أطوال قصيرة للرموز الأمنية\n",[2008,26397,26398,26400,26403,26405,26407,26409,26411,26413,26416,26418,26420,26422,26424,26426],{"class":2528,"line":2551},[2008,26399,3887],{"class":2694},[2008,26401,26402],{"class":3890}," weakToken",[2008,26404,3894],{"class":2712},[2008,26406,23082],{"class":2801},[2008,26408,181],{"class":2702},[2008,26410,23126],{"class":2760},[2008,26412,3900],{"class":2702},[2008,26414,26415],{"class":3903},"4",[2008,26417,7217],{"class":2702},[2008,26419,23153],{"class":2760},[2008,26421,3900],{"class":2702},[2008,26423,23158],{"class":2811},[2008,26425,22099],{"class":2702},[2008,26427,26428],{"class":2688},"// ⚠️ قصير جداً!\n",[2008,26430,26431],{"class":2528,"line":2557},[2008,26432,2548],{"emptyLinePlaceholder":54},[2008,26434,26435],{"class":2528,"line":2563},[2008,26436,26437],{"class":2688},"// لا تستخدم Date.now() وحده للفرادة\n",[2008,26439,26440,26442,26445,26447,26449,26451,26453,26455,26457,26460],{"class":2528,"line":2568},[2008,26441,3887],{"class":2694},[2008,26443,26444],{"class":3890}," notUnique",[2008,26446,3894],{"class":2712},[2008,26448,12208],{"class":2801},[2008,26450,181],{"class":2702},[2008,26452,24380],{"class":2760},[2008,26454,12211],{"class":2702},[2008,26456,23153],{"class":2760},[2008,26458,26459],{"class":2702},"(); ",[2008,26461,26462],{"class":2688},"// ⚠️ تصادمات ممكنة!\n",[16,26464,26466],{"id":26465},"أي-طريقة-يجب-أن-تستخدمها","أي طريقة يجب أن تستخدمها؟",[209,26468,26470],{"id":26469},"لرموز-api-معرفات-الجلسات","لرموز API / معرفات الجلسات:",[577,26472,26474],{"className":8366,"code":26473,"language":3626,"meta":42,"style":42},"// Node.js\ncrypto.randomBytes(32).toString('hex')\n\n// المتصفح\ncrypto.getRandomValues(new Uint8Array(32))\n",[584,26475,26476,26481,26503,26507,26512],{"__ignoreMap":42},[2008,26477,26478],{"class":2528,"line":2529},[2008,26479,26480],{"class":2688},"// Node.js\n",[2008,26482,26483,26485,26487,26489,26491,26493,26495,26497,26499,26501],{"class":2528,"line":46},[2008,26484,24267],{"class":2801},[2008,26486,181],{"class":2702},[2008,26488,23126],{"class":2760},[2008,26490,3900],{"class":2702},[2008,26492,23204],{"class":3903},[2008,26494,7217],{"class":2702},[2008,26496,23153],{"class":2760},[2008,26498,3900],{"class":2702},[2008,26500,23158],{"class":2811},[2008,26502,3160],{"class":2702},[2008,26504,26505],{"class":2528,"line":43},[2008,26506,2548],{"emptyLinePlaceholder":54},[2008,26508,26509],{"class":2528,"line":2545},[2008,26510,26511],{"class":2688},"// المتصفح\n",[2008,26513,26514,26516,26518,26520,26522,26524,26526,26528,26530],{"class":2528,"line":2551},[2008,26515,24267],{"class":2801},[2008,26517,181],{"class":2702},[2008,26519,23863],{"class":2760},[2008,26521,3900],{"class":2702},[2008,26523,24276],{"class":2694},[2008,26525,23843],{"class":2760},[2008,26527,3900],{"class":2702},[2008,26529,23204],{"class":3903},[2008,26531,5847],{"class":2702},[209,26533,26535],{"id":26534},"لمعرفات-قاعدة-البيانات-روابط-قصيرة","لمعرفات قاعدة البيانات / روابط قصيرة:",[577,26537,26539],{"className":8366,"code":26538,"language":3626,"meta":42,"style":42},"// عالمي (Node.js + المتصفح)\nimport { nanoid } from 'nanoid';\nnanoid(10); // سريع، قصير، آمن\n",[584,26540,26541,26546,26562],{"__ignoreMap":42},[2008,26542,26543],{"class":2528,"line":2529},[2008,26544,26545],{"class":2688},"// عالمي (Node.js + المتصفح)\n",[2008,26547,26548,26550,26552,26554,26556,26558,26560],{"class":2528,"line":46},[2008,26549,3841],{"class":2789},[2008,26551,2775],{"class":2702},[2008,26553,23047],{"class":2801},[2008,26555,3865],{"class":2702},[2008,26557,3868],{"class":2789},[2008,26559,24553],{"class":2811},[2008,26561,2720],{"class":2702},[2008,26563,26564,26566,26568,26570,26572],{"class":2528,"line":43},[2008,26565,23047],{"class":2760},[2008,26567,3900],{"class":2702},[2008,26569,12645],{"class":3903},[2008,26571,22099],{"class":2702},[2008,26573,26574],{"class":2688},"// سريع، قصير، آمن\n",[209,26576,26578],{"id":26577},"للـ-uuid-المفاتيح-الأساسية","للـ UUID (المفاتيح الأساسية):",[577,26580,26582],{"className":8366,"code":26581,"language":3626,"meta":42,"style":42},"// Node.js حديث (14.17+) / المتصفح (Chrome 92+)\ncrypto.randomUUID()\n",[584,26583,26584,26589],{"__ignoreMap":42},[2008,26585,26586],{"class":2528,"line":2529},[2008,26587,26588],{"class":2688},"// Node.js حديث (14.17+) / المتصفح (Chrome 92+)\n",[2008,26590,26591,26593,26595,26597],{"class":2528,"line":46},[2008,26592,24267],{"class":2801},[2008,26594,181],{"class":2702},[2008,26596,23743],{"class":2760},[2008,26598,4628],{"class":2702},[209,26600,26602],{"id":26601},"لكلمات-المرور","لكلمات المرور:",[577,26604,26606],{"className":8366,"code":26605,"language":3626,"meta":42,"style":42},"// مجموعة أحرف مخصصة مع crypto\nconst charset = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()';\ncrypto.randomBytes(16).map(byte => charset[byte % charset.length]).join('');\n",[584,26607,26608,26613,26626],{"__ignoreMap":42},[2008,26609,26610],{"class":2528,"line":2529},[2008,26611,26612],{"class":2688},"// مجموعة أحرف مخصصة مع crypto\n",[2008,26614,26615,26617,26619,26621,26624],{"class":2528,"line":46},[2008,26616,3887],{"class":2694},[2008,26618,23550],{"class":3890},[2008,26620,3894],{"class":2712},[2008,26622,26623],{"class":2811}," 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()'",[2008,26625,2720],{"class":2702},[2008,26627,26628,26630,26632,26634,26636,26638,26640,26643,26645,26647,26649,26651,26653,26655,26657,26659,26661,26663,26665,26667,26669,26671],{"class":2528,"line":43},[2008,26629,24267],{"class":2801},[2008,26631,181],{"class":2702},[2008,26633,23126],{"class":2760},[2008,26635,3900],{"class":2702},[2008,26637,23630],{"class":3903},[2008,26639,7217],{"class":2702},[2008,26641,26642],{"class":2760},"map",[2008,26644,3900],{"class":2702},[2008,26646,23892],{"class":2708},[2008,26648,8482],{"class":2694},[2008,26650,23550],{"class":2801},[2008,26652,6202],{"class":2702},[2008,26654,23892],{"class":2801},[2008,26656,24072],{"class":2712},[2008,26658,23550],{"class":2801},[2008,26660,181],{"class":2702},[2008,26662,23105],{"class":11592},[2008,26664,24081],{"class":2702},[2008,26666,23597],{"class":2760},[2008,26668,3900],{"class":2702},[2008,26670,23602],{"class":2811},[2008,26672,3907],{"class":2702},[209,26674,26676],{"id":26675},"لغير-الأمني-مفاتيح-react-معرفات-مؤقتة","لغير الأمني (مفاتيح React، معرفات مؤقتة):",[577,26678,26680],{"className":8366,"code":26679,"language":3626,"meta":42,"style":42},"// سريع وبسيط\n`${Date.now()}-${Math.random().toString(36)}`\n",[584,26681,26682,26687],{"__ignoreMap":42},[2008,26683,26684],{"class":2528,"line":2529},[2008,26685,26686],{"class":2688},"// سريع وبسيط\n",[2008,26688,26689,26691,26693,26695,26697,26699,26701,26703,26705,26707,26709,26711,26713,26715,26717,26719,26721,26723,26725],{"class":2528,"line":46},[2008,26690,4050],{"class":2811},[2008,26692,4034],{"class":4033},[2008,26694,24475],{"class":2801},[2008,26696,181],{"class":4096},[2008,26698,24380],{"class":2760},[2008,26700,24482],{"class":4096},[2008,26702,2832],{"class":4033},[2008,26704,4769],{"class":2811},[2008,26706,4034],{"class":4033},[2008,26708,23131],{"class":2801},[2008,26710,181],{"class":4096},[2008,26712,24401],{"class":2760},[2008,26714,12211],{"class":4096},[2008,26716,23153],{"class":2760},[2008,26718,3900],{"class":4096},[2008,26720,24389],{"class":3903},[2008,26722,3778],{"class":4096},[2008,26724,2832],{"class":4033},[2008,26726,26727],{"class":2811},"`\n",[16,26729,8049],{"id":8049},[12,26731,26732],{},"توليد السلاسل النصية العشوائية في JavaScript أمر مباشر عندما تفهم المقايضات:",[186,26734,26735,26747,26756,26764],{},[189,26736,26737,26740,26741,26743,26744,26746],{},[174,26738,26739],{},"للأمان:"," استخدم دائماً ",[584,26742,24267],{}," (Node.js) أو ",[584,26745,22989],{}," (المتصفح)",[189,26748,26749,26752,26753,26755],{},[174,26750,26751],{},"للراحة:"," استخدم ",[584,26754,23047],{}," - سريع، آمن، ويعمل في كل مكان",[189,26757,26758,26752,26761,26763],{},[174,26759,26760],{},"للمعايير:",[584,26762,23007],{}," لمعرفات قاعدة البيانات",[189,26765,26766,26769,26770,26772],{},[174,26767,26768],{},"للسرعة (غير أمني):"," ",[584,26771,23028],{}," مناسب لمفاتيح React والمعرفات المؤقتة",[12,26774,26775],{},[174,26776,26777,26778,26780],{},"لا تستخدم أبداً ",[584,26779,23028],{}," لكلمات المرور، الرموز المميزة، أو أي تطبيق حساس أمنياً!",[12,26782,26783],{},"نظام JavaScript الحديث يمنحك أدوات قوية لتوليد السلاسل النصية العشوائية. اختر الأداة المناسبة لحالة الاستخدام الخاصة بك، ودائماً أولوية الأمان عندما يهم الأمر.",[3587,26785,26786],{},"html pre.shiki code .sEkCa, html code.shiki .sEkCa{--shiki-light:#D73A49;--shiki-default:#C586C0;--shiki-dark:#C586C0}html pre.shiki code .sZiGn, html code.shiki .sZiGn{--shiki-light:#24292E;--shiki-default:#9CDCFE;--shiki-dark:#9CDCFE}html pre.shiki code .sGDl4, html code.shiki .sGDl4{--shiki-light:#032F62;--shiki-default:#CE9178;--shiki-dark:#CE9178}html pre.shiki code .sG4b4, html code.shiki .sG4b4{--shiki-light:#24292E;--shiki-default:#D4D4D4;--shiki-dark:#D4D4D4}html pre.shiki code .s5uUr, html code.shiki .s5uUr{--shiki-light:#D73A49;--shiki-default:#569CD6;--shiki-dark:#569CD6}html pre.shiki code .svuFb, html code.shiki .svuFb{--shiki-light:#6F42C1;--shiki-default:#DCDCAA;--shiki-dark:#DCDCAA}html pre.shiki code .s9TRk, html code.shiki .s9TRk{--shiki-light:#E36209;--shiki-default:#9CDCFE;--shiki-dark:#9CDCFE}html pre.shiki code .s1p9p, html code.shiki .s1p9p{--shiki-light:#D73A49;--shiki-default:#D4D4D4;--shiki-dark:#D4D4D4}html pre.shiki code .seC34, html code.shiki .seC34{--shiki-light:#005CC5;--shiki-default:#B5CEA8;--shiki-dark:#B5CEA8}html pre.shiki code .s56mj, html code.shiki .s56mj{--shiki-light:#6A737D;--shiki-default:#6A9955;--shiki-dark:#6A9955}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sToQf, html code.shiki .sToQf{--shiki-light:#005CC5;--shiki-default:#4FC1FF;--shiki-dark:#4FC1FF}html pre.shiki code .sps74, html code.shiki .sps74{--shiki-light:#005CC5;--shiki-default:#9CDCFE;--shiki-dark:#9CDCFE}html pre.shiki code .s4XyT, html code.shiki .s4XyT{--shiki-light:#032F62;--shiki-default:#D16969;--shiki-dark:#D16969}html pre.shiki code .sqBZk, html code.shiki .sqBZk{--shiki-light:#005CC5;--shiki-default:#CE9178;--shiki-dark:#CE9178}html pre.shiki code .suOk-, html code.shiki .suOk-{--shiki-light:#005CC5;--shiki-default:#D16969;--shiki-dark:#D16969}html pre.shiki code .se2iQ, html code.shiki .se2iQ{--shiki-light:#032F62;--shiki-default:#569CD6;--shiki-dark:#569CD6}html pre.shiki code .s5T4v, html code.shiki .s5T4v{--shiki-light:#032F62;--shiki-default:#D4D4D4;--shiki-dark:#D4D4D4}html pre.shiki code .su_XB, html code.shiki .su_XB{--shiki-light:#6F42C1;--shiki-default:#4EC9B0;--shiki-dark:#4EC9B0}html pre.shiki code .s7v1m, html code.shiki .s7v1m{--shiki-light:#005CC5;--shiki-default:#569CD6;--shiki-dark:#569CD6}",{"title":42,"searchDepth":43,"depth":43,"links":26788},[26789,26790,26791,26797,26803,26806,26812,26813,26817,26824],{"id":22858,"depth":46,"text":22859},{"id":22935,"depth":46,"text":22936},{"id":23062,"depth":46,"text":23063,"children":26792},[26793,26794,26795,26796],{"id":23066,"depth":43,"text":23067},{"id":23250,"depth":43,"text":23251},{"id":23394,"depth":43,"text":23395},{"id":23698,"depth":43,"text":23699},{"id":23799,"depth":46,"text":23800,"children":26798},[26799,26800,26801,26802],{"id":23803,"depth":43,"text":23804},{"id":23984,"depth":43,"text":23985},{"id":24148,"depth":43,"text":24149},{"id":24346,"depth":43,"text":24347},{"id":24514,"depth":46,"text":24515,"children":26804},[26805],{"id":24518,"depth":43,"text":24519},{"id":24711,"depth":46,"text":24712,"children":26807},[26808,26809,26810,26811],{"id":24715,"depth":43,"text":24716},{"id":25186,"depth":43,"text":25187},{"id":25455,"depth":43,"text":25456},{"id":25622,"depth":43,"text":25623},{"id":25852,"depth":46,"text":25853},{"id":26237,"depth":46,"text":26238,"children":26814},[26815,26816],{"id":26241,"depth":43,"text":26242},{"id":26347,"depth":43,"text":26348},{"id":26465,"depth":46,"text":26466,"children":26818},[26819,26820,26821,26822,26823],{"id":26469,"depth":43,"text":26470},{"id":26534,"depth":43,"text":26535},{"id":26577,"depth":43,"text":26578},{"id":26601,"depth":43,"text":26602},{"id":26675,"depth":43,"text":26676},{"id":8049,"depth":46,"text":8049},"تعلم جميع الطرق الحديثة لتوليد السلاسل النصية العشوائية في JavaScript لكلمات المرور، الرموز المميزة، المعرفات، والمزيد. يشمل طرق آمنة مشفرة، مقارنات الأداء، وحالات الاستخدام الواقعية.","https://images.unsplash.com/photo-1555949963-aa79dcee981c?q=80&w=1200",{"excerpt":26828},{"type":9,"value":26829},[26830,26832,26836],[12,26831,22833],{},[12,26833,26834],{},[174,26835,22838],{},[186,26837,26838,26840,26842,26844,26846],{},[189,26839,22843],{},[189,26841,22846],{},[189,26843,22849],{},[189,26845,22852],{},[189,26847,22855],{},"/twlyd-slasl-nsyh-ashwaeyh-javascript-2025","2023-01-19",{"title":22828,"description":26825},"توليد-سلاسل-نصية-عشوائية-javascript-2025",[3626,26853,26854,3627,24267],"nodejs","security","cCWhU6u7yy5u97EVAL7aIWH1_ctAqhKIZEhRDdlUOcM",{"id":26857,"title":26858,"author":7,"body":26859,"category":3658,"description":8198,"extension":52,"image":26871,"isDraft":54,"isFeatured":55,"locale":56,"meta":26872,"navigation":54,"path":26877,"publishedAt":26878,"readingTime":2119,"seo":26879,"stem":26880,"tags":26881,"updatedAt":26878,"__hash__":26884},"articles_ar/خطوات-تأسيس-الشركة-الناشئة-في-الدول-العربية.md","خطوات تأسيس الشركة الناشئة في الدول العربية",{"type":9,"value":26860,"toc":26868},[26861,26864,26866],[12,26862,26863],{},"تعرف على الخطوات القانونية والإدارية لتأسيس شركتك الناشئة في العالم العربي.",[16,26865,2102],{"id":2101},[12,26867,2105],{},{"title":42,"searchDepth":43,"depth":43,"links":26869},[26870],{"id":2101,"depth":46,"text":2102},"https://images.unsplash.com/photo-1450101499163-c8848c66ca85?q=80&w=1200&auto=format&fit=crop",{"excerpt":26873},{"type":9,"value":26874},[26875],[12,26876,26863],{},"/khtwat-tasys-alshrkh-alnasheh-fy-aldwl-alarbyh","2025-05-27",{"title":26858,"description":8198},"خطوات-تأسيس-الشركة-الناشئة-في-الدول-العربية",[3658,8209,26882,26883],"القانون","التأسيس","bFYd8xuDUC80Pa3CDkPpd_-ghC90BiGHV2n9SPSerxI",{"id":26886,"title":26887,"author":7,"body":26888,"category":15722,"description":28080,"extension":52,"image":53,"isDraft":55,"isFeatured":54,"locale":56,"meta":28081,"navigation":54,"path":28088,"publishedAt":10362,"readingTime":64,"seo":28089,"stem":28090,"tags":28091,"updatedAt":1476,"__hash__":28097},"articles_ar/دروس-بناء-الشركات-الناشئة.md","دروس حاسمة تعلمتها من رحلتي الملحمية في بناء شركة ناشئة (نسخة 2025)",{"type":9,"value":26889,"toc":28046},[26890,26893,26896,26900,26903,26907,26912,26923,26928,26948,26953,26973,26978,26998,27004,27008,27011,27015,27020,27040,27045,27065,27070,27090,27095,27121,27126,27152,27156,27159,27163,27168,27188,27193,27213,27218,27238,27243,27263,27268,27288,27292,27295,27299,27304,27324,27329,27349,27354,27374,27379,27399,27403,27406,27410,27415,27435,27440,27460,27465,27485,27489,27494,27514,27519,27539,27543,27546,27550,27555,27575,27580,27600,27605,27625,27630,27650,27654,27657,27661,27666,27686,27691,27710,27715,27735,27739,27742,27746,27751,27771,27776,27796,27801,27820,27824,27827,27831,27836,27856,27861,27881,27886,27906,27910,27913,27917,27922,27942,27947,27966,27971,27991,27995,27998,28001,28006,28038,28041],[12,26891,26892],{},"بناء شركة ناشئة في 2025 هو رحلة أفعوانية أكثر كثافة مما كانت عليه قبل عقد من الزمان. التطور السريع للذكاء الاصطناعي، التحول إلى ثقافات العمل عن بعد أولاً، تعقيد الأسواق العالمية، والتأكيد المتزايد على الاستدامة قد غيرت المشهد الريادي. رحلتي كمؤسس كانت دروساً رئيسية في التكيف، الصلابة، والتعلم المستمر.",[12,26894,26895],{},"مستمداً من تجربتي ومراقبتي لآلاف الشركات الناشئة، جمعت هذه الدروس الحاسمة التي تدمج الأدوات الحديثة، المنهجيات، وواقع بناء في 2025. هذه ليست مفاهيم نظرية – إنها رؤى مجربة في المعارك.",[16,26897,26899],{"id":26898},"_1-تحقق-من-فكرتك-بلا-هوادة-الآن-مع-قوى-الذكاء-الاصطناعي","1. تحقق من فكرتك بلا هوادة (الآن مع قوى الذكاء الاصطناعي)",[12,26901,26902],{},"الشغف بفكرة يظل أمراً أساسياً، لكن في 2025، لديك أدوات غير مسبوقة للتحقق بشكل أسرع وأدق من أي وقت مضى. تكلفة الافتراض لم تكن أعلى من أي وقت مضى.",[209,26904,26906],{"id":26905},"تقنيات-التحقق-المدعومة-بالذكاء-الاصطناعي","تقنيات التحقق المدعومة بالذكاء الاصطناعي",[12,26908,26909],{},[174,26910,26911],{},"البحث في السوق الآلي:",[186,26913,26914,26917,26920],{},[189,26915,26916],{},"استخدم أدوات مثل Crayon أو Klue للذكاء التنافسي",[189,26918,26919],{},"استفد من ChatGPT وClaude لتحليل السوق وتحديد الاتجاهات",[189,26921,26922],{},"طبق أدوات الاستطلاعات المدعومة بالذكاء الاصطناعي (Typeform AI، SurveyMonkey Genius) لجمع التعليقات السريع",[12,26924,26925],{},[174,26926,26927],{},"التحقق من المشكلة المدفوع بالبيانات:",[186,26929,26930,26936,26942],{},[189,26931,26932,26935],{},[174,26933,26934],{},"تجارب صفحات الهبوط:"," أنشئ صفحات هبوط مولدة بالذكاء الاصطناعي (باستخدام أدوات مثل Durable أو Copy.ai) واختبر معدلات التحويل",[189,26937,26938,26941],{},[174,26939,26940],{},"اختبار الباب المزيف:"," استخدم أدوات بدون كود مثل Bubble أو Adalo لبناء نماذج أولية قابلة للنقر",[189,26943,26944,26947],{},[174,26945,26946],{},"قوائم الانتظار قبل الإطلاق:"," أدوات مثل LaunchPass أو Product Hunt للتحقق من الاهتمام المبكر",[12,26949,26950],{},[174,26951,26952],{},"نهج MVP الحديثة:",[186,26954,26955,26961,26967],{},[189,26956,26957,26960],{},[174,26958,26959],{},"MVPs بدون كود:"," بنِ نماذج أولية وظيفية مع Bubble، Glide، أو Softr في أيام، لا أشهر",[189,26962,26963,26966],{},[174,26964,26965],{},"التطوير المساعد بالذكاء الاصطناعي:"," استخدم GitHub Copilot أو Replit للنمذجة السريعة",[189,26968,26969,26972],{},[174,26970,26971],{},"MVPs Concierge:"," قدم الخدمة يدوياً للعملاء الأوائل أثناء بناء الأتمتة",[12,26974,26975],{},[174,26976,26977],{},"مقاييس التحقق الكمية:",[186,26979,26980,26986,26992],{},[189,26981,26982,26985],{},[174,26983,26984],{},"ملاءمة المشكلة-الحل:"," هدف لـ 40%+ من المستخدمين المستطلعين يقولون إنهم \"بالتأكيد\" سيستخدمون الحل",[189,26987,26988,26991],{},[174,26989,26990],{},"التحقق من حجم السوق:"," استخدم أدوات مثل SimilarWeb أو BuiltWith للتحجيم الواقعي للسوق",[189,26993,26994,26997],{},[174,26995,26996],{},"التحليل التنافسي:"," أدوات الذكاء الاصطناعي يمكنها تحليل آلاف المنافسين في دقائق",[12,26999,27000,27003],{},[174,27001,27002],{},"نصيحة احترافية:"," أنشئ \"بطاقة تسجيل التحقق\" مع مقاييس مرجحة لقرارات المتابعة/التوقف.",[16,27005,27007],{"id":27006},"_2-بناء-فرق-تكميلية-في-عالم-الفرق-عن-بعد-أولاً","2. بناء فرق تكميلية في عالم الفرق عن بعد أولاً",[12,27009,27010],{},"الجائحة سرعت العمل عن بعد، وفي 2025، الفرق الموزعة هي القاعدة. بناء فرق مترابطة وعالية الأداء عبر المناطق الزمنية يتطلب استراتيجيات جديدة.",[209,27012,27014],{"id":27013},"بناء-الفريق-عن-بعد-أولاً","بناء الفريق عن بعد أولاً",[12,27016,27017],{},[174,27018,27019],{},"التوظيف في العصر الموزع:",[186,27021,27022,27028,27034],{},[189,27023,27024,27027],{},[174,27025,27026],{},"التواصل الأولي غير المتزامن:"," افتراضياً للتواصل المكتوب (Notion، Slack، Linear)",[189,27029,27030,27033],{},[174,27031,27032],{},"الفيديو كتعزيز:"," استخدم Loom للشرحات المعقدة، لا الاجتماعات اليومية",[189,27035,27036,27039],{},[174,27037,27038],{},"مجموعة المواهب العالمية:"," وظف لتداخل المناطق الزمنية، لا القرب الجغرافي",[12,27041,27042],{},[174,27043,27044],{},"الأساس الثقافي:",[186,27046,27047,27053,27059],{},[189,27048,27049,27052],{},[174,27050,27051],{},"التوظيف المبني على القيم:"," استخدم أدوات مثل Culture Amp لتقييم التوافق الثقافي",[189,27054,27055,27058],{},[174,27056,27057],{},"السلامة النفسية:"," طبق أنظمة التعليقات المجهولة من اليوم الأول",[189,27060,27061,27064],{},[174,27062,27063],{},"الممارسات الشاملة:"," صمم للتنوع العصبي وأساليب العمل المختلفة",[12,27066,27067],{},[174,27068,27069],{},"هياكل الفريق الحديثة:",[186,27071,27072,27078,27084],{},[189,27073,27074,27077],{},[174,27075,27076],{},"المهارات على شكل T:"," وظف متخصصين هم عموميون في المناطق ذات الصلة",[189,27079,27080,27083],{},[174,27081,27082],{},"الأدوار السائلة:"," صمم أدواراً يمكن أن تتطور مع نمو الشركة",[189,27085,27086,27089],{},[174,27087,27088],{},"الفرق الوظيفية المشتركة:"," فرق صغيرة مستقلة تمتلك ميزات كاملة",[12,27091,27092],{},[174,27093,27094],{},"أدوات النجاح الموزع:",[186,27096,27097,27103,27109,27115],{},[189,27098,27099,27102],{},[174,27100,27101],{},"التعاون:"," Notion، Figma، Miro للتعاون غير المتزامن",[189,27104,27105,27108],{},[174,27106,27107],{},"التواصل:"," Slack، Discord، أو Microsoft Teams مع قواعد واضحة",[189,27110,27111,27114],{},[174,27112,27113],{},"إدارة المشاريع:"," Linear، Jira، أو Asana مع الأتمتة",[189,27116,27117,27120],{},[174,27118,27119],{},"صحة الفريق:"," Officevibe أو Culture Amp للفحوصات النبضية المنتظمة",[12,27122,27123],{},[174,27124,27125],{},"بناء الثقة عن بعد:",[186,27127,27128,27134,27140,27146],{},[189,27129,27130,27133],{},[174,27131,27132],{},"التواصل المفرط:"," شارك السياق بكثرة",[189,27135,27136,27139],{},[174,27137,27138],{},"اجتماعات 1:1 منتظمة:"," مكالمات فيديو أسبوعية لبناء العلاقات",[189,27141,27142,27145],{},[174,27143,27144],{},"بناء الفريق الافتراضي:"," استخدم أدوات مثل Donut للاتصالات العشوائية",[189,27147,27148,27151],{},[174,27149,27150],{},"وجهاً لوجه عند الإمكان:"," ميزانية للتراجعات الربع سنوية للشركة",[16,27153,27155],{"id":27154},"_3-انشغل-بالعملاء-الآن-مع-رؤى-الذكاء-الاصطناعي","3. انشغل بالعملاء (الآن مع رؤى الذكاء الاصطناعي)",[12,27157,27158],{},"عملاؤك هم أغلى أصولك، وفي 2025، لديك أدوات ذكاء اصطناعي لفهمهم بشكل أفضل من أي وقت مضى.",[209,27160,27162],{"id":27161},"فهم-العملاء-المعزز-بالذكاء-الاصطناعي","فهم العملاء المعزز بالذكاء الاصطناعي",[12,27164,27165],{},[174,27166,27167],{},"التحليلات المتقدمة:",[186,27169,27170,27176,27182],{},[189,27171,27172,27175],{},[174,27173,27174],{},"تحليلات المنتج:"," Mixpanel، Amplitude، أو PostHog لرؤى سلوك المستخدم",[189,27177,27178,27181],{},[174,27179,27180],{},"منصات نجاح العملاء:"," ChurnZero أو Gainsight للمشاركة الاستباقية",[189,27183,27184,27187],{},[174,27185,27186],{},"الدعم المدعوم بالذكاء الاصطناعي:"," Intercom، Zendesk مع روبوتات الدردشة للفرز الأولي",[12,27189,27190],{},[174,27191,27192],{},"حلقات التعليقات المستمرة:",[186,27194,27195,27201,27207],{},[189,27196,27197,27200],{},[174,27198,27199],{},"الاستطلاعات داخل التطبيق:"," أدوات مثل Delighted أو Hotjar للتعليقات السياقية",[189,27202,27203,27206],{},[174,27204,27205],{},"مقابلات المستخدمين:"," Calendly للجدولة، Otter.ai للنسخ والتحليل",[189,27208,27209,27212],{},[174,27210,27211],{},"الاستماع الاجتماعي:"," Brandwatch أو Hootsuite لمراقبة المشاعر العلامية",[12,27214,27215],{},[174,27216,27217],{},"مقاييس نجاح العملاء:",[186,27219,27220,27226,27232],{},[189,27221,27222,27225],{},[174,27223,27224],{},"نقاط الصحة:"," التحليلات التنبؤية لتحديد العملاء المعرضين للخطر",[189,27227,27228,27231],{},[174,27229,27230],{},"إيرادات التوسع:"," تتبع ترقيات البيع المتقاطع والإضافي",[189,27233,27234,27237],{},[174,27235,27236],{},"Net Promoter Score (NPS):"," استطلاعات نبض منتظمة مع متابعات مدفوعة بالذكاء الاصطناعي",[12,27239,27240],{},[174,27241,27242],{},"التخصيص على نطاق واسع:",[186,27244,27245,27251,27257],{},[189,27246,27247,27250],{},[174,27248,27249],{},"البريد السلوكي:"," Klaviyo أو Mailchimp مع تجزئة الذكاء الاصطناعي",[189,27252,27253,27256],{},[174,27254,27255],{},"التسعير الديناميكي:"," تحسين التسعير المدفوع بالذكاء الاصطناعي",[189,27258,27259,27262],{},[174,27260,27261],{},"توصيات المنتج:"," التعلم الآلي لاقتراحات الميزات",[12,27264,27265],{},[174,27266,27267],{},"الثقافة المركزة على العملاء:",[186,27269,27270,27276,27282],{},[189,27271,27272,27275],{},[174,27273,27274],{},"برامج صوت العميل:"," أدوار مخصصة لرؤى العملاء",[189,27277,27278,27281],{},[174,27279,27280],{},"مجالس مستشاري العملاء:"," برامج الوصول المبكر للمستخدمين الرئيسيين",[189,27283,27284,27287],{},[174,27285,27286],{},"الشفافية:"," شارك خرائط طريق المنتج واتخاذ القرارات",[16,27289,27291],{"id":27290},"_4-احتضن-الفشل-كوقود-مع-إطارات-التعلم-الحديثة","4. احتضن الفشل كوقود (مع إطارات التعلم الحديثة)",[12,27293,27294],{},"الفشل أمر لا مفر منه، لكن في 2025، يمكنك التعلم منه بشكل أسرع وأكثر منهجية من أي وقت مضى.",[209,27296,27298],{"id":27297},"التعلم-المنظم-من-الفشل","التعلم المنظم من الفشل",[12,27300,27301],{},[174,27302,27303],{},"إطارات الفشل السريع:",[186,27305,27306,27312,27318],{},[189,27307,27308,27311],{},[174,27309,27310],{},"حلقات Build-Measure-Learn:"," تجارب أسبوعية بدلاً من إصدارات ربع سنوية",[189,27313,27314,27317],{},[174,27315,27316],{},"التطوير المدفوع بالفرضيات:"," افتراضات واضحة قابلة للاختبار لكل ميزة",[189,27319,27320,27323],{},[174,27321,27322],{},"معايير القتل:"," شروط محددة مسبقاً لإيقاف المبادرات ذات الأداء الضعيف",[12,27325,27326],{},[174,27327,27328],{},"Post-Mortem 2.0:",[186,27330,27331,27337,27343],{},[189,27332,27333,27336],{},[174,27334,27335],{},"التحليل بدون لوم:"," ركز على الأنظمة، لا الأفراد",[189,27338,27339,27342],{},[174,27340,27341],{},"تقنية الخمسة لماذا:"," تحليل الجذر للفشل المعقد",[189,27344,27345,27348],{},[174,27346,27347],{},"التقييم الكمي:"," قيس التكلفة والتأثير لكل فشل",[12,27350,27351],{},[174,27352,27353],{},"الصلابة النفسية:",[186,27355,27356,27362,27368],{},[189,27357,27358,27361],{},[174,27359,27360],{},"تدريب mindset النمو:"," ورش عمل منتظمة حول احتضان التحديات",[189,27363,27364,27367],{},[174,27365,27366],{},"سيرة الفشل:"," وثق واحتفل بالدروس المستفادة",[189,27369,27370,27373],{},[174,27371,27372],{},"دعم الصحة النفسية:"," الوصول إلى الاستشارات وبرامج الرعاية",[12,27375,27376],{},[174,27377,27378],{},"الابتكار من خلال التجريب:",[186,27380,27381,27387,27393],{},[189,27382,27383,27386],{},[174,27384,27385],{},"وقت 20%:"," وقت مخصص لاستكشاف الأفكار الجديدة",[189,27388,27389,27392],{},[174,27390,27391],{},"مختبرات الابتكار:"," فرق منفصلة للمشاريع عالية المخاطر وعالية المكافآت",[189,27394,27395,27398],{},[174,27396,27397],{},"نظم الشراكات:"," تعاون مع شركات ناشئة أخرى للتعلم المشترك",[16,27400,27402],{"id":27401},"_5-ركز-على-صحة-المؤسس-والاستدامة","5. ركز على صحة المؤسس والاستدامة",[12,27404,27405],{},"الاحتراق هو القاتل الصامت للشركات الناشئة. في 2025، يعامل المؤسسون الناجحون صحتهم بجدية مثل مقاييس أعمالهم.",[209,27407,27409],{"id":27408},"الصحة-النفسية-أولاً","الصحة النفسية أولاً",[12,27411,27412],{},[174,27413,27414],{},"دمج العمل-الحياة:",[186,27416,27417,27423,27429],{},[189,27418,27419,27422],{},[174,27420,27421],{},"الحدود:"," ساعات \"التركيز\" و\"وقت العائلة\" المخصصة",[189,27424,27425,27428],{},[174,27426,27427],{},"إدارة الطاقة:"," تتبع وتحسين مستويات الطاقة، لا الوقت فقط",[189,27430,27431,27434],{},[174,27432,27433],{},"التفويض المبكر:"," وظف لضعفك، لا قوتك فقط",[12,27436,27437],{},[174,27438,27439],{},"الممارسات الصحية:",[186,27441,27442,27448,27454],{},[189,27443,27444,27447],{},[174,27445,27446],{},"التمارين المنتظمة:"," عضويات الجيم المدعومة من الشركة أو اللياقة البدنية الافتراضية",[189,27449,27450,27453],{},[174,27451,27452],{},"تحسين النوم:"," أدوات مثل Whoop أو Oura Ring لتتبع النوم",[189,27455,27456,27459],{},[174,27457,27458],{},"التأمل/اليقظة الذهنية:"," تطبيقات مثل Headspace مع جلسات تأمل جماعية للفريق",[12,27461,27462],{},[174,27463,27464],{},"أنظمة الدعم:",[186,27466,27467,27473,27479],{},[189,27468,27469,27472],{},[174,27470,27471],{},"معالجو المؤسسين:"," التدريب المتخصص للتحديات الريادية",[189,27474,27475,27478],{},[174,27476,27477],{},"الشبكات الند للند:"," مجموعات الماجستير ومجتمعات المؤسسين",[189,27480,27481,27484],{},[174,27482,27483],{},"التدريب التنفيذي:"," جلسات منتظمة مع المرشدين ذوي الخبرة",[209,27486,27488],{"id":27487},"الممارسات-التجارية-المستدامة","الممارسات التجارية المستدامة",[12,27490,27491],{},[174,27492,27493],{},"دمج ESG:",[186,27495,27496,27502,27508],{},[189,27497,27498,27501],{},[174,27499,27500],{},"التأثير البيئي:"," تتبع بصمة الكربون وأهداف التقليل",[189,27503,27504,27507],{},[174,27505,27506],{},"المسؤولية الاجتماعية:"," أهداف التوظيف التنوعي والمشاركة المجتمعية",[189,27509,27510,27513],{},[174,27511,27512],{},"الحوكمة:"," اتخاذ القرارات الشفاف والاستخدام الأخلاقي للذكاء الاصطناعي",[12,27515,27516],{},[174,27517,27518],{},"التفكير طويل الأجل:",[186,27520,27521,27527,27533],{},[189,27522,27523,27526],{},[174,27524,27525],{},"النمو المستدام:"," ركز على الاقتصاد الوحدي المربح على مقاييس التباهي",[189,27528,27529,27532],{},[174,27530,27531],{},"رأسمالية المساهمين:"," موازنة مصالح العملاء والموظفين والمستثمرين",[189,27534,27535,27538],{},[174,27536,27537],{},"الأعمال التجديدية:"," خلق تأثير إيجابي يتجاوز الربح",[16,27540,27542],{"id":27541},"_6-إتقان-التمويل-والإدارة-الموارد-الحديثة","6. إتقان التمويل والإدارة الموارد الحديثة",[12,27544,27545],{},"المنظر التمويلي قد تغير بشكل كبير، مع مصادر وإستراتيجيات جديدة متاحة.",[209,27547,27549],{"id":27548},"إستراتيجيات-التمويل-لعام-2025","إستراتيجيات التمويل لعام 2025",[12,27551,27552],{},[174,27553,27554],{},"التمويل الذاتي 2.0:",[186,27556,27557,27563,27569],{},[189,27558,27559,27562],{},[174,27560,27561],{},"الإيرادات أولاً:"," حقق ملاءمة المنتج-السوق قبل البحث عن تمويل خارجي",[189,27564,27565,27568],{},[174,27566,27567],{},"العمليات الخفيفة:"," استخدم أدوات بدون كود والأتمتة لتقليل النفقات العامة",[189,27570,27571,27574],{},[174,27572,27573],{},"النمو المدفوع بالعملاء:"," قوائم الانتظار والاشتراكات لتمويل التطوير",[12,27576,27577],{},[174,27578,27579],{},"تطور رأس المال المغامر:",[186,27581,27582,27588,27594],{},[189,27583,27584,27587],{},[174,27585,27586],{},"المستثمرون المرتبطون بالمهمة:"," ابحث عن مستثمرين يشاركون قيمك ورؤيتك",[189,27589,27590,27593],{},[174,27591,27592],{},"مصادر التمويل المتنوعة:"," فكر في التجميع الجماعي والمنح والشراكات الإستراتيجية",[189,27595,27596,27599],{},[174,27597,27598],{},"وعي الجولات السفلية:"," خطط للدورات الاقتصادية وتحديات التمويل",[12,27601,27602],{},[174,27603,27604],{},"التمويل البديل:",[186,27606,27607,27613,27619],{},[189,27608,27609,27612],{},[174,27610,27611],{},"التمويل المبني على الإيرادات:"," أدوات مثل Lighter Capital للتمويل غير المخفف",[189,27614,27615,27618],{},[174,27616,27617],{},"الشراكات الإستراتيجية:"," المشاريع المشتركة والتطوير المشترك",[189,27620,27621,27624],{},[174,27622,27623],{},"المنح الحكومية:"," برامج للابتكار والتنوع والاستدامة",[12,27626,27627],{},[174,27628,27629],{},"تحسين الموارد:",[186,27631,27632,27638,27644],{},[189,27633,27634,27637],{},[174,27635,27636],{},"الاستعانة بمصادر خارجية:"," استخدم منصات مثل Upwork أو Toptal للمهارات المتخصصة",[189,27639,27640,27643],{},[174,27641,27642],{},"الأتمتة أولاً:"," طبق أدوات الذكاء الاصطناعي قبل التوظيف للمهام المتكررة",[189,27645,27646,27649],{},[174,27647,27648],{},"التوظيف المرن:"," المتعاقدون والخبراء بدوام جزئي للاحتياجات المتغيرة",[16,27651,27653],{"id":27652},"_7-اعتمد-التنوع-والإنصاف-والشمول-dei-كميزة-تنافسية","7. اعتمد التنوع والإنصاف والشمول (DEI) كميزة تنافسية",[12,27655,27656],{},"الفرق المتنوعة تتفوق على الفرق المتجانسة، وفي 2025، DEI أخلاقياً صحيح وتجارياً ذكي.",[209,27658,27660],{"id":27659},"بناء-ثقافات-شاملة","بناء ثقافات شاملة",[12,27662,27663],{},[174,27664,27665],{},"ممارسات التوظيف المتنوعة:",[186,27667,27668,27674,27680],{},[189,27669,27670,27673],{},[174,27671,27672],{},"تخفيف التحيز:"," أدوات الذكاء الاصطناعي مثل Applied أو Pymetrics للفحص الأكثر عدلاً",[189,27675,27676,27679],{},[174,27677,27678],{},"أوصاف الوظائف الشاملة:"," لغة محايدة جنسياً وجاذبية واسعة",[189,27681,27682,27685],{},[174,27683,27684],{},"إحالات الموظفين:"," برامج منظمة لتقليل التحيز غير الواعي",[12,27687,27688],{},[174,27689,27690],{},"تصميم مكان العمل الشامل:",[186,27692,27693,27699,27704],{},[189,27694,27695,27698],{},[174,27696,27697],{},"العمل المرن:"," سياسات العمل عن بعد أولاً والتواصل غير المتزامن",[189,27700,27701,27703],{},[174,27702,27372],{}," مزايا شاملة ومحادثات مفتوحة",[189,27705,27706,27709],{},[174,27707,27708],{},"التطوير المهني:"," فرص متساوية للنمو والتقدم",[12,27711,27712],{},[174,27713,27714],{},"قياس نجاح DEI:",[186,27716,27717,27723,27729],{},[189,27718,27719,27722],{},[174,27720,27721],{},"مقاييس التمثيل:"," تتبع التنوع عبر جميع المستويات",[189,27724,27725,27728],{},[174,27726,27727],{},"استطلاعات الشمول:"," فحوصات نبض منتظمة للانتماء والعدالة",[189,27730,27731,27734],{},[174,27732,27733],{},"التأثير على الأداء:"," اربط مقاييس DEI بنتائج الأعمال",[16,27736,27738],{"id":27737},"_8-كن-ذكياً-تقنياً-في-عالم-مدفوع-بالذكاء-الاصطناعي","8. كن ذكياً تقنياً في عالم مدفوع بالذكاء الاصطناعي",[12,27740,27741],{},"كمؤسس، لا تحتاج للبرمجة، لكنك تحتاج لفهم التكنولوجيا بعمق، خاصة الذكاء الاصطناعي.",[209,27743,27745],{"id":27744},"الإلمام-التقني-للمؤسسين","الإلمام التقني للمؤسسين",[12,27747,27748],{},[174,27749,27750],{},"إستراتيجية الذكاء الاصطناعي:",[186,27752,27753,27759,27765],{},[189,27754,27755,27758],{},[174,27756,27757],{},"mindset AI-First:"," فكر في تطبيقات الذكاء الاصطناعي في كل قرار أعمال",[189,27760,27761,27764],{},[174,27762,27763],{},"الذكاء الاصطناعي الأخلاقي:"," ضمن التطوير والنشر المسؤول",[189,27766,27767,27770],{},[174,27768,27769],{},"حوكمة الذكاء الاصطناعي:"," سياسات لخصوصية البيانات والإنصاف الخوارزمي",[12,27772,27773],{},[174,27774,27775],{},"اتجاهات التكنولوجيا:",[186,27777,27778,27784,27790],{},[189,27779,27780,27783],{},[174,27781,27782],{},"دمج Web3:"," فهم البلوكشين والتطبيقات اللامركزية",[189,27785,27786,27789],{},[174,27787,27788],{},"الحوسبة المتطورة:"," المعالجة في الوقت الفعلي وتقليل الوقت",[189,27791,27792,27795],{},[174,27793,27794],{},"التكنولوجيا المستدامة:"," الحوسبة الفعالة من حيث الطاقة والاستضافة الخضراء",[12,27797,27798],{},[174,27799,27800],{},"حزمة الأدوات الرئيسية:",[186,27802,27803,27809,27815],{},[189,27804,27805,27808],{},[174,27806,27807],{},"الإنتاجية:"," GitHub Copilot، Notion AI، Zapier للأتمتة",[189,27810,27811,27814],{},[174,27812,27813],{},"التحليلات:"," أدوات BI حديثة مع رؤى مدفوعة بالذكاء الاصطناعي",[189,27816,27817,27819],{},[174,27818,27107],{}," منصات التعاون المعززة بالذكاء الاصطناعي",[16,27821,27823],{"id":27822},"_9-بنِ-للتوسع-من-اليوم-الأول-لكن-لا-تفرط-في-التصميم","9. بنِ للتوسع من اليوم الأول (لكن لا تفرط في التصميم)",[12,27825,27826],{},"تخطيط التوسع قد تغير مع الهياكل السحابية الأصلية والأتمتة بالذكاء الاصطناعي.",[209,27828,27830],{"id":27829},"مبادئ-الهندسة-المعمارية-القابلة-للتوسع","مبادئ الهندسة المعمارية القابلة للتوسع",[12,27832,27833],{},[174,27834,27835],{},"التصميم السحابي الأصلي:",[186,27837,27838,27844,27850],{},[189,27839,27840,27843],{},[174,27841,27842],{},"الخدمات المصغرة:"," هندسة معيارية للقياس المستقل",[189,27845,27846,27849],{},[174,27847,27848],{},"الخادمية:"," الحوسبة المدفوعة بالاستخدام مع القياس التلقائي",[189,27851,27852,27855],{},[174,27853,27854],{},"AI-Ops:"," المراقبة والاستجابة التلقائية للحوادث",[12,27857,27858],{},[174,27859,27860],{},"إستراتيجية البيانات:",[186,27862,27863,27869,27875],{},[189,27864,27865,27868],{},[174,27866,27867],{},"حزمة البيانات الحديثة:"," أدوات مثل Snowflake، dbt، وLooker",[189,27870,27871,27874],{},[174,27872,27873],{},"التحليلات في الوقت الفعلي:"," تدفق البيانات للرؤى الفورية",[189,27876,27877,27880],{},[174,27878,27879],{},"الخصوصية أولاً:"," الامتثال لـ GDPR وCCPA منذ البداية",[12,27882,27883],{},[174,27884,27885],{},"قابلية التوسع العملية:",[186,27887,27888,27894,27900],{},[189,27889,27890,27893],{},[174,27891,27892],{},"الأتمتة:"," RPA والذكاء الاصطناعي للعمليات التجارية المتكررة",[189,27895,27896,27899],{},[174,27897,27898],{},"الخدمة الذاتية:"," تمكين العملاء والموظفين من خدمة أنفسهم",[189,27901,27902,27905],{},[174,27903,27904],{},"API-First:"," التصميم للتكامل وبناء النظام البيئي",[16,27907,27909],{"id":27908},"_10-طور-منظمة-تعلم","10. طور منظمة تعلم",[12,27911,27912],{},"في عالم التغيير السريع، قدرة شركتك على التعلم والتكيف هي أكبر ميزة تنافسية لديها.",[209,27914,27916],{"id":27915},"ثقافة-التعلم-المستمر","ثقافة التعلم المستمر",[12,27918,27919],{},[174,27920,27921],{},"إدارة المعرفة:",[186,27923,27924,27930,27936],{},[189,27925,27926,27929],{},[174,27927,27928],{},"التوثيق:"," قواعد معرفة حية مع بحث مدعوم بالذكاء الاصطناعي",[189,27931,27932,27935],{},[174,27933,27934],{},"ميزانيات التعلم:"," تخصيص وقت ومال لتطوير المهارات",[189,27937,27938,27941],{},[174,27939,27940],{},"التلاقح:"," مشاركة المعرفة المنتظمة عبر الفرق",[12,27943,27944],{},[174,27945,27946],{},"ممارسات الابتكار:",[186,27948,27949,27954,27960],{},[189,27950,27951,27953],{},[174,27952,21482],{}," سبرنتات الابتكار الربع سنوية",[189,27955,27956,27959],{},[174,27957,27958],{},"الابتكار المفتوح:"," التعاون مع الخبراء والعلماء الخارجيين",[189,27961,27962,27965],{},[174,27963,27964],{},"مراقبة الاتجاهات:"," أدوات الذكاء الاصطناعي لاتجاهات الصناعة والتكنولوجيا",[12,27967,27968],{},[174,27969,27970],{},"إطارات التكيف:",[186,27972,27973,27979,27985],{},[189,27974,27975,27978],{},[174,27976,27977],{},"التخطيط السيناريوهي:"," تمارين منتظمة لحالات مستقبلية مختلفة",[189,27980,27981,27984],{},[174,27982,27983],{},"مسرحيات المحور:"," عمليات منظمة للتحولات الإستراتيجية",[189,27986,27987,27990],{},[174,27988,27989],{},"إدارة المخاطر:"," تحديد وتخفيف التهديدات بشكل استباقي",[16,27992,27994],{"id":27993},"الخاتمة-mindset-المؤسس-في-2025","الخاتمة: mindset المؤسس في 2025",[12,27996,27997],{},"بناء شركة ناشئة في 2025 يتطلب مزيجاً من الحكم الريادية الخالدة وأدوات وإستراتيجيات الجيل التالي. الأساسيات تبقى: التحقق بلا هوادة، بناء فرق رائعة، الانشغال بالعملاء، التعلم من الفشل، والثبات من خلال التحديات.",[12,27999,28000],{},"لكن الأدوات والتقنيات والسياق قد تغيرت بشكل كبير. الذكاء الاصطناعي ليس أداة – إنه تحول أساسي في كيفية عملنا وتعلم وإنشاء القيمة. العمل عن بعد ليس مؤقتاً – إنه الوضع الطبيعي الجديد. الاستدامة ليست اختيارية – إنها ضرورية للنجاح طويل الأجل.",[12,28002,28003],{},[174,28004,28005],{},"أكثر المؤسسين نجاحاً في 2025 هم أولئك الذين:",[186,28007,28008,28014,28020,28026,28032],{},[189,28009,28010,28013],{},[174,28011,28012],{},"يعتمدون التكنولوجيا"," مع الحفاظ على القيم المركزة على الإنسان",[189,28015,28016,28019],{},[174,28017,28018],{},"يبنون أنظمة مرنة"," يمكنها التكيف مع التغيير المستمر",[189,28021,28022,28025],{},[174,28023,28024],{},"يركزون على الرعاية"," بقدر تركيزهم على مقاييس النمو",[189,28027,28028,28031],{},[174,28029,28030],{},"يطورون ثقافات شاملة"," تستفيد من وجهات نظر متنوعة",[189,28033,28034,28037],{},[174,28035,28036],{},"يتعلمون باستمرار"," ويشاركون المعرفة بسخاء",[12,28039,28040],{},"تذكر: رحلة شركتك الناشئة ليست مجرد بناء شركة – إنها خلق تأثير إيجابي في عالم متزايد التعقيد. كن فضولياً، كن قابلاً للتكيف، ولا تتوقف أبداً عن التعلم. الرحلة الأفعوانية تستمر، لكن مع mindset والأدوات المناسبة، يمكنك ليس فقط البقاء على قيد الحياة من الرحلة بل الاستمتاع بها أيضاً.",[12,28042,28043,1392],{},[174,28044,28045],{},"ما هو درس شركتك الناشئة التالي؟ الرحلة تنتظر.",{"title":42,"searchDepth":43,"depth":43,"links":28047},[28048,28051,28054,28057,28060,28064,28067,28070,28073,28076,28079],{"id":26898,"depth":46,"text":26899,"children":28049},[28050],{"id":26905,"depth":43,"text":26906},{"id":27006,"depth":46,"text":27007,"children":28052},[28053],{"id":27013,"depth":43,"text":27014},{"id":27154,"depth":46,"text":27155,"children":28055},[28056],{"id":27161,"depth":43,"text":27162},{"id":27290,"depth":46,"text":27291,"children":28058},[28059],{"id":27297,"depth":43,"text":27298},{"id":27401,"depth":46,"text":27402,"children":28061},[28062,28063],{"id":27408,"depth":43,"text":27409},{"id":27487,"depth":43,"text":27488},{"id":27541,"depth":46,"text":27542,"children":28065},[28066],{"id":27548,"depth":43,"text":27549},{"id":27652,"depth":46,"text":27653,"children":28068},[28069],{"id":27659,"depth":43,"text":27660},{"id":27737,"depth":46,"text":27738,"children":28071},[28072],{"id":27744,"depth":43,"text":27745},{"id":27822,"depth":46,"text":27823,"children":28074},[28075],{"id":27829,"depth":43,"text":27830},{"id":27908,"depth":46,"text":27909,"children":28077},[28078],{"id":27915,"depth":43,"text":27916},{"id":27993,"depth":46,"text":27994},"رؤى صادقة ودروس مكتسبة بشق الأنفس من رحلة مؤسس: من التحقق المدعوم بالذكاء الاصطناعي والفرق عن بعد إلى التركيز على العملاء، احتضان الفشل، الصحة النفسية، والنمو المستدام في مشهد الشركات الناشئة الحديث.",{"excerpt":28082},{"type":9,"value":28083},[28084,28086],[12,28085,26892],{},[12,28087,26895],{},"/drws-bnaa-alshrkat-alnasheh",{"title":26887,"description":28080},"دروس-بناء-الشركات-الناشئة",[15722,15745,28092,28093,28094,2044,28095,28096],"founder-journey","startup-lessons","business-growth","remote-work","mental-health","OUuGUq5-m3nIH-TowNtHkWW1FxUOEZrB12pTFrVNFWM",{"id":28099,"title":28100,"author":7,"body":28101,"category":15722,"description":28353,"extension":52,"image":28354,"isDraft":55,"isFeatured":54,"locale":56,"meta":28355,"navigation":54,"path":28390,"publishedAt":28391,"readingTime":2119,"seo":28392,"stem":28393,"tags":28394,"updatedAt":1476,"__hash__":28399},"articles_ar/دليل-خطوة-بخطوة-لإنشاء-علامة-saas-بصفر-دولار.md","أنشئ علامتك التجارية لـ SaaS بـ 0 دولار في 2025: دليل مدعوم بالذكاء الاصطناعي",{"type":9,"value":28102,"toc":28335},[28103,28106,28115,28118,28123,28143,28149,28153,28156,28160,28163,28166,28169,28172,28175,28179,28182,28186,28189,28192,28195,28199,28202,28206,28209,28212,28220,28224,28227,28230,28259,28262,28274,28277,28280,28283,28286,28294,28312,28315,28330,28332],[12,28104,28105],{},"في عام 2025، إنشاء علامة تجارية احترافية لـ SaaS يكلف بالضبط 0 دولار - إذا كنت تعرف أدوات الذكاء الاصطناعي المناسبة. انتهت أيام توظيف المصممين مقابل 5,000 دولار+ أو قضاء أسابيع في تعلم برامج التصميم.",[12,28107,28108,28111,28112],{},[174,28109,28110],{},"واقع 2025",": يمكن للذكاء الاصطناعي إنشاء شعارك في 30 ثانية، إنشاء موقعك الإلكتروني بالكامل في 5 دقائق، وتصميم إرشادات علامتك التجارية في 10 دقائق. لكن هناك مشكلة: ",[174,28113,28114],{},"99% من العلامات التجارية المولدة بالذكاء الاصطناعي تبدو متشابهة.",[12,28116,28117],{},"يظهر لك هذا الدليل كيفية إنشاء علامة تجارية فريدة واحترافية باستخدام أدوات الذكاء الاصطناعي المجانية مع تجنب مظهر \"شركة الذكاء الاصطناعي العامة\".",[12,28119,28120,2713],{},[174,28121,28122],{},"ما ستنشئه (في ~6 ساعات)",[186,28124,28125,28128,28131,28134,28137,28140],{},[189,28126,28127],{},"✅ اسم علامة تجارية لا يُنسى",[189,28129,28130],{},"✅ شعار احترافي (متغيرات متعددة)",[189,28132,28133],{},"✅ لوحة ألوان كاملة",[189,28135,28136],{},"✅ نظام خطوط",[189,28138,28139],{},"✅ صفحة هبوط (مصممة + مبرمجة)",[189,28141,28142],{},"✅ وثيقة إرشادات العلامة التجارية",[12,28144,28145,28148],{},[174,28146,28147],{},"التكلفة الإجمالية",": 0 دولار (اختياري: 12 دولار/سنة للنطاق المخصص)",[16,28150,28152],{"id":28151},"لماذا-يهم-العلامات-التجارية-حتى-للـ-mvps","لماذا يهم العلامات التجارية (حتى للـ MVPs)",[12,28154,28155],{},"تصميم موقع إلكتروني جيد المظهر هو أحد أكثر الأجزاء تعقيداً في إنشاء منتج. واجهة جيدة المظهر مع تجربة مستخدم رائعة هي أحد أهم الأشياء في الموقع. المواقع الجميلة لها معدل تحويل أفضل، لكن ماذا أقصد بالمواقع الجميلة؟",[16,28157,28159],{"id":28158},"مفاتيح-المواقع-الجميلة","مفاتيح المواقع الجميلة",[12,28161,28162],{},"بعد تحليل أكثر من 100 موقع إلكتروني للشركات الناشئة الأكثر نجاحاً، خلصت إلى أن معظم المواقع لديها هذه المفاتيح التي تجعل مواقعها تبرز في الحشود.",[209,28164,28165],{"id":28165},"الألوان",[12,28167,28168],{},"تلعب الألوان دوراً مهماً في أي موقع إلكتروني. يمكنها نقل مشاعر ونغمات مختلفة، مخاطبة جماهير مختلفة، والتواصل مع الإجراءات. يجب أن يكون اللون مناسباً للمنتج الذي أبرزه. من الضروري للعلامة التجارية أن تبرز اختيار لونها بحكمة، لتثبيت معناها في اللاوعي لدى العميل.",[209,28170,28171],{"id":28171},"الخطوط",[12,28173,28174],{},"حوالي 90% من محتوى الموقع مصنوع من الخطوط. الخطوط الجيدة ستنشئ تسلسلاً هرمياً بصرياً قوياً، توفر توازناً رسومياً، وتحدد النغمة العامة للمنتج. يمكنني إضافة لمسة خاصة للمنتج من خلال نوع الخط، المحاذاة، حجم النص، والوزن.",[209,28176,28178],{"id":28177},"دعوة-للعمل","دعوة للعمل",[12,28180,28181],{},"امتلاك أزرار دعوة للعمل مثيرة يجعل الموقع يبدو أكثر إعجاباً ويزيد من معدل النقر. يخبرون المستخدم ما يجب فعله بعد ذلك، مثل التسجيل في النشرة الإخبارية أو شراء منتج. الأزرار بدون دعوة واضحة للعمل، من المحتمل أن يغادر المستخدمون الموقع دون إنجاز مهامهم.",[209,28183,28185],{"id":28184},"الرسوم-التوضيحية","الرسوم التوضيحية",[12,28187,28188],{},"سواء استخدمت رسومات جذابة أو تصاميم متجهة، تساعد هذه الرسوم التوضيحية في إنشاء موقع لا يُنسى. الحفاظ عليها معلوماتية وبسيطة، يمكن أن تضيف فرادة، شخصية، وشعوراً بالدفء للموقع.",[209,28190,20894],{"id":28191},"الرسوم-المتحركة",[12,28193,28194],{},"الرسوم المتحركة ليست للكرتون فقط بعد الآن. من الصور المتحركة على الشاشة الكاملة إلى تأثيرات التمرير البسيطة، تظهر لمسات الرسوم المتحركة في كل مكان. الرسوم المتحركة عصرية، ممتعة، وسهلة الاستخدام.",[209,28196,28198],{"id":28197},"العروض-التوضيحية","العروض التوضيحية",[12,28200,28201],{},"العروض التوضيحية هي معاينات حية لما يمكنني فعله بهذا المنتج. بدلاً من إنشاء حساب مجاني لاختبار الميزات فقط وقرر ما إذا كنت أجد هذا المنتج المفيداً أم لا، يمكنني تضمين عروضاً قصيرة للمنتج على صفحة الهبوط. يميل المستخدمون إلى المشاركة عندما يعجبهم ما يرونه.",[16,28203,28205],{"id":28204},"العلامة-التجارية","العلامة التجارية",[12,28207,28208],{},"العلامات التجارية جانب حاسم من أي SaaS، والهوية القوية ضرورية. تساعد الهوية المتسقة العملاء على التعرف على علامتك التجارية بسهولة وتذكرها، وتحدد النغمة لأعمالك. دعونا نتعمق في الأدوات التي ستساعدنا في إنشاء علامة تجارية صلبة.",[209,28210,28211],{"id":28211},"الاسم",[12,28213,28214,28215],{},"أحد الخطوات الأولى في إنشاء هوية علامة تجارية قوية هو اختيار اسم مناسب ولا يُنسى. يجب أن يعكس هذا الاسم بدقة المنتجات أو الخدمات التي تقدمها، ويكون سهل التذكر والنطق للعملاء. أوصي بالحصول على الإلهام من ",[14120,28216,28219],{"href":28217,"rel":28218},"https://namelix.com/",[14124],"namelix.com",[209,28221,28223],{"id":28222},"الخطوط-والألوان","الخطوط والألوان",[12,28225,28226],{},"أحد المكونات الرئيسية لهوية علامة تجارية قوية هو اختيار الخطوط واللوحة اللونية المناسبة. يجب أن تكون عناصر التصميم هذه متسقة مع النغمة والجمالية العامة لعلامتك التجارية، ويجب استخدامها باستمرار في جميع مواد التسويق الخاصة بك. هذا يساعد في إنشاء مظهر متماسك واحترافي لموقعك ومواد التسويق الأخرى.",[12,28228,28229],{},"هذه أدواتي الثلاث المفضلة للقيام بذلك:",[186,28231,28232,28240,28248,28256],{},[189,28233,28234,28239],{},[14120,28235,28238],{"href":28236,"rel":28237},"https://coolors.co",[14124],"Coolors",": يسمونها مولد لوحات الألوان السريع جداً. أنشئ لوحات ألوان جميلة فوراً يمكنك تعديلها وصقلها، ثم تصديرها واستخدامها في مشروعك الجانبي.",[189,28241,28242,28247],{},[14120,28243,28246],{"href":28244,"rel":28245},"https://colorhunt.co/",[14124],"Color Hunt",": مجموعة من مئات لوحات الألوان، تم إنشاؤها والتصويت عليها من قبل المستخدمين. اختر المفضل لديك وابدأ استخدامه!",[189,28249,28250,28255],{},[14120,28251,28254],{"href":28252,"rel":28253},"https://colors.eva.design/",[14124],"Eva Design System",": مولد ألوان التعلم العميق. صدقني، لن تفسدها بعد استخدامها.",[189,28257,28258],{},"خطوط Google: مجموعة من الخطوط المجانية للاستخدام.",[209,28260,28261],{"id":28261},"الشعار",[12,28263,28264,28265,28268,28273],{},"يجب أن يكون شعارك فريداً، لا يُنسى، وسهل التعرف. يجب أن يمثل جوهر علامتك التجارية بدقة ويكون قابلاً للاستخدام عبر مجموعة متنوعة من الوسائط المختلفة. يمكنك استخدام هذه الأدوات للإلهام:",[28266,28267],"br",{},[14120,28269,28272],{"href":28270,"rel":28271},"https://logopond.com/",[14124],"Logopond",": موقع إلهامي يعرض أعمال الشعارات من مصممين بقدرات متفاوتة في جميع أنحاء العالم.",[209,28275,28276],{"id":28276},"الموقع",[12,28278,28279],{},"تصميم موقع إلكتروني مهمة صعبة. لكنني قد حللت بالفعل لكنني سأساعدك على التركيز على هذه وستنشئ واحداً جذاباً:",[12,28281,28282],{},"ألوان رائعة: يمكنك الحصول عليها بالأدوات المعطاة أعلاه. وتذكر أن التدرجات خيار آمن دائماً.",[12,28284,28285],{},"خطوط واضحة: العديد من خطوط Google جيدة. أنا معجب بعائلة Sans serif تبدو دائماً جيدة - Poppins، Lato، Noto...)",[12,28287,28288,28289,181],{},"دعوة مثيرة للعمل: أضف أزراراً مثيرة تجذب المستخدمين! يمكنك العثور على بعض الإلهام ",[14120,28290,28293],{"href":28291,"rel":28292},"https://blog.hubspot.com/marketing/call-to-action-examples",[14124],"هنا",[12,28295,28296,28297,14147,28302,14147,28307],{},"رسوم توضيحية رائعة: إنشاء رسوم توضيحية رائعة مهمة معقدة. يمكنك العثور على رسوم توضيحية رائعة في ",[14120,28298,28301],{"href":28299,"rel":28300},"https://undraw.co/",[14124],"Undraw",[14120,28303,28306],{"href":28304,"rel":28305},"https://www.freepik.com/",[14124],"Freepik",[14120,28308,28311],{"href":28309,"rel":28310},"https://pixabay.com/illustrations/",[14124],"Pixabay",[12,28313,28314],{},"رسوم متحركة رائعة: اجعل موقعك تفاعلياً.",[12,28316,28317,28318,28323,28324,28329],{},"يمكنك استخدام ",[14120,28319,28322],{"href":28320,"rel":28321},"https://www.figma.com",[14124],"Figma","، و",[14120,28325,28328],{"href":28326,"rel":28327},"https://www.adobe.com/products/xd.html",[14124],"AdobeXD"," لصنع تصميمك الخاص.",[16,28331,8049],{"id":8049},[12,28333,28334],{},"في الختام، يتطلب تصميم موقع جميل وفعال مراعاة عناصر رئيسية مثل الألوان، الخطوط، أزرار الدعوة للعمل، الرسوم التوضيحية، الرسوم المتحركة، والعروض التوضيحية. بالإضافة إلى ذلك، الهوية القوية للعلامة التجارية، بما في ذلك اسم مناسب ولا يُنسى، خطوط ولوحة ألوان مناسبة، وشعار مصمم جيداً، ضرورية لموقع ناجح. من خلال مراعاة عناصر التصميم هذه وإنشاء هوية علامة تجارية متماسكة، يمكنك إنشاء موقع يبرز في الحشود ويوفر تجربة مستخدم رائعة لعملائك.",{"title":42,"searchDepth":43,"depth":43,"links":28336},[28337,28338,28346,28352],{"id":28151,"depth":46,"text":28152},{"id":28158,"depth":46,"text":28159,"children":28339},[28340,28341,28342,28343,28344,28345],{"id":28165,"depth":43,"text":28165},{"id":28171,"depth":43,"text":28171},{"id":28177,"depth":43,"text":28178},{"id":28184,"depth":43,"text":28185},{"id":28191,"depth":43,"text":20894},{"id":28197,"depth":43,"text":28198},{"id":28204,"depth":46,"text":28205,"children":28347},[28348,28349,28350,28351],{"id":28211,"depth":43,"text":28211},{"id":28222,"depth":43,"text":28223},{"id":28261,"depth":43,"text":28261},{"id":28276,"depth":43,"text":28276},{"id":8049,"depth":46,"text":8049},"بنِ علامة تجارية احترافية لـ SaaS دون إنفاق المال باستخدام أدوات الذكاء الاصطناعي مثل v0.dev وFigma وChatGPT. دليل شامل يغطي الاسم والشعار والألوان والخطوط وتصميم الموقع بأدوات ومسارات عمل حديثة لعام 2025.","https://images.unsplash.com/photo-1649015931204-15a3c789e6ea?q=80&w=1200",{"excerpt":28356},{"type":9,"value":28357},[28358,28360,28366,28368,28372,28386],[12,28359,28105],{},[12,28361,28362,28111,28364],{},[174,28363,28110],{},[174,28365,28114],{},[12,28367,28117],{},[12,28369,28370,2713],{},[174,28371,28122],{},[186,28373,28374,28376,28378,28380,28382,28384],{},[189,28375,28127],{},[189,28377,28130],{},[189,28379,28133],{},[189,28381,28136],{},[189,28383,28139],{},[189,28385,28142],{},[12,28387,28388,28148],{},[174,28389,28147],{},"/dlyl-khtwh-bkhtwh-linshaa-alamh-saas-bsfr-dwlar","2022-12-14",{"title":28100,"description":28353},"دليل-خطوة-بخطوة-لإنشاء-علامة-saas-بصفر-دولار",[15722,28395,28396,2044,28397,28398,15747],"branding","ui-ux","design","figma","jibgfEKxAlai84S1y7nSSBKNCVYTu_If6Kqvwo1Xf5w",{"id":28401,"title":28402,"author":7,"body":28403,"category":69,"description":8138,"extension":52,"image":28422,"isDraft":54,"isFeatured":55,"locale":56,"meta":28423,"navigation":54,"path":28428,"publishedAt":28429,"readingTime":2842,"seo":28430,"stem":28431,"tags":28432,"updatedAt":28429,"__hash__":28434},"articles_ar/دليل-شامل-لاختبار-السوق-قبل-إطلاق-المنتج.md","دليل شامل لاختبار السوق قبل إطلاق المنتج",{"type":9,"value":28404,"toc":28418},[28405,28408,28411,28414,28416],[12,28406,28407],{},"اختبار السوق قبل الإطلاق يوفر عليك الكثير من الوقت والمال والجهد.",[16,28409,28410],{"id":28410},"مقدمة",[12,28412,28413],{},"التحقق من السوق هو خطوة حاسمة قبل استثمار مواردك في تطوير المنتج بالكامل.",[16,28415,2102],{"id":2101},[12,28417,2105],{},{"title":42,"searchDepth":43,"depth":43,"links":28419},[28420,28421],{"id":28410,"depth":46,"text":28410},{"id":2101,"depth":46,"text":2102},"https://images.unsplash.com/photo-1542744173-8e7e53415bb0?q=80&w=1200&auto=format&fit=crop",{"excerpt":28424},{"type":9,"value":28425},[28426],[12,28427,28407],{},"/dlyl-shaml-lakhtbar-alswq-qbl-itlaq-almntj","2025-01-21",{"title":28402,"description":8138},"دليل-شامل-لاختبار-السوق-قبل-إطلاق-المنتج",[69,3658,28433],"استراتيجية-السوق","gdjSYiLoseiHexcrNhWdyrhZ2Fma3h0chopE0nBC08w",{"id":28436,"title":28437,"author":7,"body":28438,"category":1437,"description":29347,"extension":52,"image":29348,"isDraft":55,"isFeatured":55,"locale":56,"meta":29349,"navigation":54,"path":29360,"publishedAt":29361,"readingTime":2842,"seo":29362,"stem":29363,"tags":29364,"updatedAt":1476,"__hash__":29370},"articles_ar/ذكاء-اصطناعي-إبداع-تطوير-ألعاب-2025.md","هل سيقضي الذكاء الاصطناعي على الإبداع في تطوير الألعاب؟ واقع 2025",{"type":9,"value":28439,"toc":29320},[28440,28446,28449,28452,28456,28460,28467,28470,28475,28486,28491,28505,28510,28515,28519,28523,28529,28533,28538,28558,28563,28583,28588,28608,28612,28617,28622,28633,28638,28649,28654,28665,28670,28675,28700,28705,28724,28728,28733,28738,28749,28754,28765,28770,28781,28786,28791,28802,28807,28818,28822,28826,28831,28842,28847,28858,28863,28874,28878,28883,28894,28899,28910,28915,28926,28930,28934,28939,28945,28949,28954,28968,28973,28987,28992,29006,29010,29015,29026,29031,29042,29047,29058,29062,29066,29071,29082,29087,29098,29103,29114,29118,29123,29134,29139,29150,29155,29166,29170,29174,29179,29190,29195,29206,29211,29222,29226,29231,29242,29247,29258,29263,29274,29279,29290,29292,29295,29298,29312,29315],[12,28441,28442,28443],{},"سيطر السؤال \"هل سيقضي الذكاء الاصطناعي على الإبداع في تطوير الألعاب؟\" على منتديات الألعاب في 2023. الآن في 2025، لدينا إجابتنا: ",[174,28444,28445],{},"لم يقتل الذكاء الاصطناعي الإبداع - بل ديمقرطّه.",[12,28447,28448],{},"من مطوري الألعاب المستقلين الذين يستخدمون الذكاء الاصطناعي لإنشاء أصول بجودة AAA إلى الاستوديوهات الكبرى التي تنشر NPCs بالذكاء الاصطناعي مع سلوكيات ناشئة، تغير مشهد الألعاب. لكن هل كان ذلك على حساب الإبداع البشري، أم أنه أطلق إمكانيات جديدة؟",[12,28450,28451],{},"يستكشف هذا المقال الحالة الحالية للذكاء الاصطناعي في تطوير الألعاب، أمثلة حقيقية من 2025، والطرق المفاجئة التي يهدد بها الذكاء الاصطناعي ويعزز التعبير الإبداعي.",[16,28453,28455],{"id":28454},"حالة-تطوير-الألعاب-في-2025","حالة تطوير الألعاب في 2025",[209,28457,28459],{"id":28458},"نمو-الصناعة-والتحديات","نمو الصناعة والتحديات",[12,28461,28462,28463,28466],{},"وصلت صناعة الألعاب المرئية إلى ",[174,28464,28465],{},"227 مليار دولار عالمياً في 2025"," (مقارنة بـ 159 مليار دولار في 2020). يمثل الألعاب المحمولة وحدها 135 مليار دولار، بينما تواصل أسواق الحواسيب والكونسول نمواً قوياً.",[12,28468,28469],{},"ومع ذلك، يأتي هذا النمو مع ضغط غير مسبوق:",[12,28471,28472],{},[174,28473,28474],{},"ارتفاع تكاليف التطوير:",[186,28476,28477,28480,28483],{},[189,28478,28479],{},"تكلف ألعاب AAA الآن 100-300 مليون دولار للإنتاج",[189,28481,28482],{},"تمتد دورات التطوير 4-7 سنوات",[189,28484,28485],{},"يتجاوز حجم الفرق 500+ شخص للألعاب الكبرى",[12,28487,28488],{},[174,28489,28490],{},"أزمة ثقافة العمل الإضافي:",[186,28492,28493,28496,28499,28502],{},[189,28494,28495],{},"72% من مطوري الألعاب يبلغون عن العمل الإضافي",[189,28497,28498],{},"31% يعملون 60+ ساعة أسبوعياً أثناء فترات العمل الإضافي",[189,28500,28501],{},"معدلات الاحتراق في أعلى مستوياتها",[189,28503,28504],{},"جهود التنظيم النقابي تكتسب زخماً",[12,28506,28507],{},[174,28508,28509],{},"معضلة الجودة مقابل السرعة:",[186,28511,28512],{},[189,28513,28514],{},"يتوقع اللاعبون رسومات واقعية فوتوغرافية",[16,28516,28518],{"id":28517},"كيف-يغير-الذكاء-الاصطناعي-تطوير-الألعاب","كيف يغير الذكاء الاصطناعي تطوير الألعاب",[209,28520,28522],{"id":28521},"التوليد-الإجرائي-للمحتوى","التوليد الإجرائي للمحتوى",[12,28524,28525,28528],{},[174,28526,28527],{},"ما هو التوليد الإجرائي؟","\nهو استخدام خوارزميات لإنشاء محتوى لعبة عشوائي أو شبه عشوائي. في 2025، أصبح أكثر تطوراً مع الذكاء الاصطناعي.",[12,28530,28531],{},[174,28532,14348],{},[12,28534,28535],{},[174,28536,28537],{},"1. إنشاء المستويات:",[186,28539,28540,28546,28552],{},[189,28541,28542,28545],{},[174,28543,28544],{},"No Man's Sky 2"," (2024): يولد كواكب فريدة باستخدام الذكاء الاصطناعي",[189,28547,28548,28551],{},[174,28549,28550],{},"Minecraft Legends",": يستخدم الذكاء الاصطناعي لإنشاء خرائط متنوعة",[189,28553,28554,28557],{},[174,28555,28556],{},"Hades 2",": يولد غرفاً إجرائية مع قصص متماسكة",[12,28559,28560],{},[174,28561,28562],{},"2. إنشاء الشخصيات:",[186,28564,28565,28571,28577],{},[189,28566,28567,28570],{},[174,28568,28569],{},"Cyberpunk 2077: Phantom Liberty",": يولد NPCs فريدين مع خلفيات ودوافع",[189,28572,28573,28576],{},[174,28574,28575],{},"Baldur's Gate 3 AI Mods",": ينشئ شخصيات مصاحبة ذكية",[189,28578,28579,28582],{},[174,28580,28581],{},"The Sims 5",": يولد سلوكيات واقعية للشخصيات",[12,28584,28585],{},[174,28586,28587],{},"3. إنشاء القصص:",[186,28589,28590,28596,28602],{},[189,28591,28592,28595],{},[174,28593,28594],{},"AI Dungeon 3",": يولد قصصاً تفاعلية",[189,28597,28598,28601],{},[174,28599,28600],{},"Choice of Games AI",": ينشئ روايات فرعية",[189,28603,28604,28607],{},[174,28605,28606],{},"Detroit: Become Human 2",": يولد خيارات حوار ديناميكية",[209,28609,28611],{"id":28610},"الفن-والأصول-المساعدة-بالذكاء-الاصطناعي","الفن والأصول المساعدة بالذكاء الاصطناعي",[12,28613,28614],{},[174,28615,28616],{},"أدوات الفن الرئيسية في 2025:",[12,28618,28619],{},[174,28620,28621],{},"1. Midjourney v6 & DALL-E 4:",[186,28623,28624,28627,28630],{},[189,28625,28626],{},"إنشاء فن تصوري بجودة AAA",[189,28628,28629],{},"توليد أسلوب فني متسق للألعاب",[189,28631,28632],{},"إنشاء أفكار مرئية سريعة",[12,28634,28635],{},[174,28636,28637],{},"2. Stable Diffusion Fine-tuned:",[186,28639,28640,28643,28646],{},[189,28641,28642],{},"نماذج مخصصة لألعاب محددة",[189,28644,28645],{},"توليد أصول متناسقة",[189,28647,28648],{},"تحويل النصوص إلى فن",[12,28650,28651],{},[174,28652,28653],{},"3. Artbreeder & Runway ML:",[186,28655,28656,28659,28662],{},[189,28657,28658],{},"مزج الأساليب الفنية",[189,28660,28661],{},"تحرير الفيديو بالذكاء الاصطناعي",[189,28663,28664],{},"إنشاء رسوم متحركة",[12,28666,28667],{},[174,28668,28669],{},"قصص نجاح حقيقية:",[12,28671,28672],{},[174,28673,28674],{},"استوديو صغير يبني لعبة AAA:",[186,28676,28677,28683,28689,28694],{},[189,28678,28679,28682],{},[174,28680,28681],{},"فريق:"," 5 أشخاص",[189,28684,28685,28688],{},[174,28686,28687],{},"الأدوات:"," Midjourney + Blender + Unreal Engine",[189,28690,28691,28693],{},[174,28692,1136],{}," لعبة بصرياً مذهلة، جمعت 2 مليون دولار على Kickstarter",[189,28695,28696,28699],{},[174,28697,28698],{},"الوقت الموفر:"," 80% من وقت إنشاء الأصول",[12,28701,28702],{},[174,28703,28704],{},"مطور مستقل ينشئ أصولاً احترافية:",[186,28706,28707,28712,28718],{},[189,28708,28709,28711],{},[174,28710,28687],{}," Stable Diffusion + ControlNet",[189,28713,28714,28717],{},[174,28715,28716],{},"الإنتاج:"," 100+ أصل فريد يومياً",[189,28719,28720,28723],{},[174,28721,28722],{},"الجودة:"," قابلة للمنافسة مع الأصول المصنوعة يدوياً",[209,28725,28727],{"id":28726},"الذكاء-الاصطناعي-في-البرمجة-والتصميم","الذكاء الاصطناعي في البرمجة والتصميم",[12,28729,28730],{},[174,28731,28732],{},"أدوات البرمجة:",[12,28734,28735],{},[174,28736,28737],{},"1. GitHub Copilot & Cursor:",[186,28739,28740,28743,28746],{},[189,28741,28742],{},"يكتب كود الألعاب تلقائياً",[189,28744,28745],{},"يولد خوارزميات ذكاء اصطناعي للألعاب",[189,28747,28748],{},"يصحح أخطاء البرمجة",[12,28750,28751],{},[174,28752,28753],{},"2. Unity AI Assistant:",[186,28755,28756,28759,28762],{},[189,28757,28758],{},"يولد سكريبتات C# لـ Unity",[189,28760,28761],{},"يحسن أداء اللعبة",[189,28763,28764],{},"يقترح تحسينات",[12,28766,28767],{},[174,28768,28769],{},"3. Unreal Engine AI Tools:",[186,28771,28772,28775,28778],{},[189,28773,28774],{},"يولد Blueprints بصرية",[189,28776,28777],{},"يحسن الإضاءة والتظليل",[189,28779,28780],{},"يحسن فيزياء اللعبة",[12,28782,28783],{},[174,28784,28785],{},"أمثلة التصميم بالذكاء الاصطناعي:",[12,28787,28788],{},[174,28789,28790],{},"تصميم المستويات:",[186,28792,28793,28796,28799],{},[189,28794,28795],{},"يولد تخطيطات مستويات متوازنة",[189,28797,28798],{},"يحلل ميكانيكا اللعب",[189,28800,28801],{},"يقترح تحسينات التوازن",[12,28803,28804],{},[174,28805,28806],{},"تصميم السلوك:",[186,28808,28809,28812,28815],{},[189,28810,28811],{},"يولد سلوكيات NPC ذكية",[189,28813,28814],{},"يحسن خوارزميات البحث عن المسار",[189,28816,28817],{},"ينشئ أعداء ديناميكيين",[16,28819,28821],{"id":28820},"هل-يقتل-الذكاء-الاصطناعي-الإبداع","هل يقتل الذكاء الاصطناعي الإبداع؟",[209,28823,28825],{"id":28824},"الحجج-المؤيدة-للتهديد","الحجج المؤيدة للتهديد",[12,28827,28828],{},[174,28829,28830],{},"1. فقدان المهارات التقليدية:",[186,28832,28833,28836,28839],{},[189,28834,28835],{},"الفنانون يفقدون مهارات الرسم التقليدية",[189,28837,28838],{},"المطورون يعتمدون على الأدوات التلقائية",[189,28840,28841],{},"التركيز على الإخراج بدلاً من العملية الإبداعية",[12,28843,28844],{},[174,28845,28846],{},"2. التجانس:",[186,28848,28849,28852,28855],{},[189,28850,28851],{},"الألعاب تبدو متشابهة",[189,28853,28854],{},"أنماط توليد متكررة",[189,28856,28857],{},"فقدان الهوية الفنية الفريدة",[12,28859,28860],{},[174,28861,28862],{},"3. الاعتماد على التكنولوجيا:",[186,28864,28865,28868,28871],{},[189,28866,28867],{},"الشركات تقلل من حجم الفرق",[189,28869,28870],{},"الوظائف تختفي",[189,28872,28873],{},"الإبداع يصبح صناعياً",[209,28875,28877],{"id":28876},"الحجج-المؤيدة-للتحسين","الحجج المؤيدة للتحسين",[12,28879,28880],{},[174,28881,28882],{},"1. ديمقرطة الإبداع:",[186,28884,28885,28888,28891],{},[189,28886,28887],{},"المطورون المستقلون يمكنهم إنشاء ألعاب AAA",[189,28889,28890],{},"تقليل الحواجز أمام الدخول",[189,28892,28893],{},"تنويع الأفكار والمنظورات",[12,28895,28896],{},[174,28897,28898],{},"2. توسيع الإمكانيات:",[186,28900,28901,28904,28907],{},[189,28902,28903],{},"أفكار مستحيلة سابقاً تصبح ممكنة",[189,28905,28906],{},"توليد أفكار إبداعية جديدة",[189,28908,28909],{},"دمج الذكاء الاصطناعي مع الإبداع البشري",[12,28911,28912],{},[174,28913,28914],{},"3. التركيز على الابتكار:",[186,28916,28917,28920,28923],{},[189,28918,28919],{},"المطورون يركزون على التصميم والقصة",[189,28921,28922],{},"الذكاء الاصطناعي يتعامل مع المهام المتكررة",[189,28924,28925],{},"زيادة الإنتاجية والتجريب",[16,28927,28929],{"id":28928},"الواقع-في-2025-الإبداع-المعزز-بالذكاء-الاصطناعي","الواقع في 2025: الإبداع المعزز بالذكاء الاصطناعي",[209,28931,28933],{"id":28932},"كيف-يعمل-التعاون-بين-البشر-والذكاء-الاصطناعي","كيف يعمل التعاون بين البشر والذكاء الاصطناعي",[12,28935,28936],{},[174,28937,28938],{},"نموذج الإبداع المعزز:",[577,28940,28943],{"className":28941,"code":28942,"language":582},[580],"الفكرة البشرية → الذكاء الاصطناعي يولد المتغيرات → \nالبشر يختارون ويحسنون → الذكاء الاصطناعي يصقل → \nالنتيجة النهائية\n",[584,28944,28942],{"__ignoreMap":42},[12,28946,28947],{},[174,28948,449],{},[12,28950,28951],{},[174,28952,28953],{},"في الفن:",[186,28955,28956,28959,28962,28965],{},[189,28957,28958],{},"فنان يرسم مخططاً أساسياً",[189,28960,28961],{},"الذكاء الاصطناعي يولد 50 متغيراً",[189,28963,28964],{},"الفنان يختار الأفضل ويحسنه",[189,28966,28967],{},"النتيجة: فن أفضل مما كان ممكناً وحده",[12,28969,28970],{},[174,28971,28972],{},"في البرمجة:",[186,28974,28975,28978,28981,28984],{},[189,28976,28977],{},"مطور يكتب منطق أساسي",[189,28979,28980],{},"الذكاء الاصطناعي يولد تحسينات",[189,28982,28983],{},"المطور يختبر ويعدل",[189,28985,28986],{},"النتيجة: كود أكثر كفاءة وأماناً",[12,28988,28989],{},[174,28990,28991],{},"في التصميم:",[186,28993,28994,28997,29000,29003],{},[189,28995,28996],{},"مصمم يحدد الميكانيكا",[189,28998,28999],{},"الذكاء الاصطناعي يولد مستويات",[189,29001,29002],{},"المصمم يعدل التوازن",[189,29004,29005],{},"النتيجة: تجارب لعب أكثر تنوعاً",[209,29007,29009],{"id":29008},"الوظائف-الجديدة-التي-خلقها-الذكاء-الاصطناعي","الوظائف الجديدة التي خلقها الذكاء الاصطناعي",[12,29011,29012],{},[174,29013,29014],{},"مهندسو الذكاء الاصطناعي للألعاب:",[186,29016,29017,29020,29023],{},[189,29018,29019],{},"تدريب النماذج على أسلوب اللعبة",[189,29021,29022],{},"تحسين خوارزميات التوليد",[189,29024,29025],{},"ضمان الجودة والتناسق",[12,29027,29028],{},[174,29029,29030],{},"محررو الذكاء الاصطناعي:",[186,29032,29033,29036,29039],{},[189,29034,29035],{},"تحرير مخرجات الذكاء الاصطناعي",[189,29037,29038],{},"دمج المحتوى المولد مع المحتوى البشري",[189,29040,29041],{},"الحفاظ على الرؤية الفنية",[12,29043,29044],{},[174,29045,29046],{},"مدربو النماذج:",[186,29048,29049,29052,29055],{},[189,29050,29051],{},"تدريب نماذج مخصصة للألعاب",[189,29053,29054],{},"تحسين دقة التوليد",[189,29056,29057],{},"تطوير أدوات جديدة",[16,29059,29061],{"id":29060},"التحديات-والمخاطر","التحديات والمخاطر",[209,29063,29065],{"id":29064},"المخاطر-الأخلاقية","المخاطر الأخلاقية",[12,29067,29068],{},[174,29069,29070],{},"1. حقوق الملكية الفكرية:",[186,29072,29073,29076,29079],{},[189,29074,29075],{},"من يملك المحتوى المولد بالذكاء الاصطناعي؟",[189,29077,29078],{},"هل يمكن سرقة أسلوب الفنانين؟",[189,29080,29081],{},"كيف نحمي الإبداع الأصلي؟",[12,29083,29084],{},[174,29085,29086],{},"2. التحيزات والتمييز:",[186,29088,29089,29092,29095],{},[189,29090,29091],{},"الذكاء الاصطناعي يعكس التحيزات في بيانات التدريب",[189,29093,29094],{},"تمثيل غير عادل للثقافات المختلفة",[189,29096,29097],{},"قضايا التنوع والشمولية",[12,29099,29100],{},[174,29101,29102],{},"3. التأثير على الوظائف:",[186,29104,29105,29108,29111],{},[189,29106,29107],{},"فقدان الوظائف التقليدية",[189,29109,29110],{},"الحاجة لمهارات جديدة",[189,29112,29113],{},"الفجوة الرقمية تتسع",[209,29115,29117],{"id":29116},"التحديات-الفنية","التحديات الفنية",[12,29119,29120],{},[174,29121,29122],{},"1. الجودة والتناسق:",[186,29124,29125,29128,29131],{},[189,29126,29127],{},"صعوبة الحفاظ على الجودة عبر المحتوى المولد",[189,29129,29130],{},"مشاكل التناسق في العوالم الكبيرة",[189,29132,29133],{},"الحاجة للإشراف البشري",[12,29135,29136],{},[174,29137,29138],{},"2. الأداء والتحسين:",[186,29140,29141,29144,29147],{},[189,29142,29143],{},"تكاليف الحوسبة للذكاء الاصطناعي",[189,29145,29146],{},"تأخير في التوليد",[189,29148,29149],{},"قيود الذاكرة والمعالجة",[12,29151,29152],{},[174,29153,29154],{},"3. الإدمان على الأدوات:",[186,29156,29157,29160,29163],{},[189,29158,29159],{},"الاعتماد المفرط على الذكاء الاصطناعي",[189,29161,29162],{},"فقدان المهارات الأساسية",[189,29164,29165],{},"صعوبة العمل بدون الأدوات",[16,29167,29169],{"id":29168},"المستقبل-الإبداع-المعزز-بالذكاء-الاصطناعي","المستقبل: الإبداع المعزز بالذكاء الاصطناعي",[209,29171,29173],{"id":29172},"الاتجاهات-الناشئة-لعام-2026","الاتجاهات الناشئة لعام 2026+",[12,29175,29176],{},[174,29177,29178],{},"1. الذكاء الاصطناعي التوليدي المتقدم:",[186,29180,29181,29184,29187],{},[189,29182,29183],{},"نماذج أكثر دقة وتحكماً",[189,29185,29186],{},"توليد محتوى ثلاثي الأبعاد",[189,29188,29189],{},"إنشاء قصص ديناميكية",[12,29191,29192],{},[174,29193,29194],{},"2. التعاون بين البشر والآلات:",[186,29196,29197,29200,29203],{},[189,29198,29199],{},"أدوات تصميم مشتركة",[189,29201,29202],{},"عمليات إبداعية هجينة",[189,29204,29205],{},"تعزيز المهارات البشرية",[12,29207,29208],{},[174,29209,29210],{},"3. ديمقرطة تطوير الألعاب:",[186,29212,29213,29216,29219],{},[189,29214,29215],{},"أدوات أكثر سهولة للمبتدئين",[189,29217,29218],{},"تقليل تكاليف التطوير",[189,29220,29221],{},"زيادة تنوع الألعاب",[209,29223,29225],{"id":29224},"نصائح-للمطورين-في-2025","نصائح للمطورين في 2025",[12,29227,29228],{},[174,29229,29230],{},"1. تعلم أدوات الذكاء الاصطناعي:",[186,29232,29233,29236,29239],{},[189,29234,29235],{},"Midjourney للفن",[189,29237,29238],{},"Stable Diffusion للأصول",[189,29240,29241],{},"Unity AI للبرمجة",[12,29243,29244],{},[174,29245,29246],{},"2. الحفاظ على المهارات البشرية:",[186,29248,29249,29252,29255],{},[189,29250,29251],{},"الاستمرار في ممارسة المهارات التقليدية",[189,29253,29254],{},"فهم أساسيات التصميم والفن",[189,29256,29257],{},"تطوير الحس الفني",[12,29259,29260],{},[174,29261,29262],{},"3. التركيز على الإبداع العالي المستوى:",[186,29264,29265,29268,29271],{},[189,29266,29267],{},"التصميم والقصة والتجربة",[189,29269,29270],{},"الابتكار في الميكانيكا",[189,29272,29273],{},"فهم احتياجات اللاعبين",[12,29275,29276],{},[174,29277,29278],{},"4. البقاء أخلاقياً:",[186,29280,29281,29284,29287],{},[189,29282,29283],{},"استخدام الذكاء الاصطناعي كأداة، لا بديلاً",[189,29285,29286],{},"الحفاظ على التنوع والشمولية",[189,29288,29289],{},"احترام حقوق الملكية الفكرية",[16,29291,8049],{"id":8049},[12,29293,29294],{},"في 2025، لم يقتل الذكاء الاصطناعي الإبداع في تطوير الألعاب - بل أعاد تعريفه. أصبح الإبداع أكثر سهولة وديمقراطية، لكنه يتطلب مهارات جديدة وفهماً أعمق للتكنولوجيا.",[12,29296,29297],{},"المطورون الناجحون في 2025 هم الذين:",[186,29299,29300,29303,29306,29309],{},[189,29301,29302],{},"يتقنون أدوات الذكاء الاصطناعي",[189,29304,29305],{},"يحافظون على مهاراتهم البشرية",[189,29307,29308],{},"يركزون على الإبداع العالي المستوى",[189,29310,29311],{},"يستخدمون الذكاء الاصطناعي لتعزيز رؤيتهم، لا استبدالها",[12,29313,29314],{},"المستقبل مشرق للإبداع في الألعاب. مع التقدم في الذكاء الاصطناعي، سنرى ألعاباً أكثر تنوعاً، إبداعاً، وإمكانية وصول. الذكاء الاصطناعي ليس نهاية الإبداع - بل بداية فصل جديد مثير.",[12,29316,29317,1392],{},[174,29318,29319],{},"الإبداع البشري + قوة الذكاء الاصطناعي = مستقبل لا حدود له.",{"title":42,"searchDepth":43,"depth":43,"links":29321},[29322,29325,29330,29334,29338,29342,29346],{"id":28454,"depth":46,"text":28455,"children":29323},[29324],{"id":28458,"depth":43,"text":28459},{"id":28517,"depth":46,"text":28518,"children":29326},[29327,29328,29329],{"id":28521,"depth":43,"text":28522},{"id":28610,"depth":43,"text":28611},{"id":28726,"depth":43,"text":28727},{"id":28820,"depth":46,"text":28821,"children":29331},[29332,29333],{"id":28824,"depth":43,"text":28825},{"id":28876,"depth":43,"text":28877},{"id":28928,"depth":46,"text":28929,"children":29335},[29336,29337],{"id":28932,"depth":43,"text":28933},{"id":29008,"depth":43,"text":29009},{"id":29060,"depth":46,"text":29061,"children":29339},[29340,29341],{"id":29064,"depth":43,"text":29065},{"id":29116,"depth":43,"text":29117},{"id":29168,"depth":46,"text":29169,"children":29343},[29344,29345],{"id":29172,"depth":43,"text":29173},{"id":29224,"depth":43,"text":29225},{"id":8049,"depth":46,"text":8049},"استكشاف كيفية تحويل أدوات الذكاء الاصطناعي لتطوير الألعاب في 2025. من التوليد الإجرائي إلى الفن المساعد بالذكاء الاصطناعي، اكتشف ما إذا كان الذكاء الاصطناعي يعزز أو يهدد الإبداع في صناعة الألعاب.","https://images.unsplash.com/photo-1552820728-8b83bb6b773f?q=80&w=1200",{"excerpt":29350},{"type":9,"value":29351},[29352,29356,29358],[12,29353,28442,29354],{},[174,29355,28445],{},[12,29357,28448],{},[12,29359,28451],{},"/thkaa-astnaay-ibdaa-ttwyr-alaab-2025","2023-01-23",{"title":28437,"description":29347},"ذكاء-اصطناعي-إبداع-تطوير-ألعاب-2025",[3628,29365,29366,29367,29368,29369],"game-development","creativity","unity","unreal-engine","midjourney","6lHNLw5enn3h0WPzdASi8PJO5vO8VL8BPMpi_14BQHs",{"id":29372,"title":29373,"author":7,"body":29374,"category":1437,"description":29538,"extension":52,"image":10353,"isDraft":55,"isFeatured":54,"locale":56,"meta":29539,"navigation":54,"path":29545,"publishedAt":29546,"readingTime":2842,"seo":29547,"stem":29548,"tags":29549,"updatedAt":2034,"__hash__":29553},"articles_ar/رحلة-مطور-عربي-مستقل-التحديات-والفرص.md","رحلة مطور عربي مستقل: التحديات والفرص",{"type":9,"value":29375,"toc":29531},[29376,29379,29383,29386,29390,29428,29432,29435,29467,29471,29521,29525,29528],[12,29377,29378],{},"في هذا المقال، أشارككم تجربتي كمطور مستقل في العالم العربي، وأبرز التحديات التي واجهتها، بالإضافة إلى نصائح عملية للنجاح في هذا المجال المليء بالفرص.",[16,29380,29382],{"id":29381},"بداية-الرحلة-من-الوظيفة-إلى-الاستقلالية","بداية الرحلة: من الوظيفة إلى الاستقلالية",[12,29384,29385],{},"كان قرار ترك الوظيفة التقليدية والانطلاق في عالم العمل الحر بمثابة قفزة كبيرة. كان الدافع الأساسي هو الرغبة في بناء مشاريع خاصة، التحكم في وقتي، واختيار المشاريع التي أؤمن بها. لكن الطريق لم يكن مفروشًا بالورود.",[16,29387,29389],{"id":29388},"أبرز-التحديات-التي-تواجه-المطور-المستقل-العربي","أبرز التحديات التي تواجه المطور المستقل العربي",[1049,29391,29392,29398,29404,29410,29416,29422],{},[189,29393,29394,29397],{},[174,29395,29396],{},"إيجاد العملاء والمشاريع:"," في البداية، كان الحصول على مشاريع مستمرة هو التحدي الأكبر. يتطلب الأمر بناء شبكة علاقات قوية وتسويق فعال للذات.",[189,29399,29400,29403],{},[174,29401,29402],{},"التعامل مع الجوانب المالية:"," إدارة الدخل، تحديد الأسعار، وإصدار الفواتير كانت مهام جديدة تحتاج إلى تعلم.",[189,29405,29406,29409],{},[174,29407,29408],{},"العزلة ونقص الدعم:"," العمل منفرداً قد يؤدي إلى الشعور بالعزلة. من المهم بناء مجتمع داعم من المطورين الآخرين.",[189,29411,29412,29415],{},[174,29413,29414],{},"التسويف وإدارة الوقت:"," بدون مدير مباشر، الانضباط الذاتي وإدارة الوقت يصبحان عاملين حاسمين للإنتاجية.",[189,29417,29418,29421],{},[174,29419,29420],{},"التطور المستمر للمهارات:"," سوق التكنولوجيا متغير باستمرار، ويجب على المطور المستقل أن يظل على اطلاع دائم بأحدث التقنيات.",[189,29423,29424,29427],{},[174,29425,29426],{},"الاختلافات الثقافية واللغوية:"," عند التعامل مع عملاء من ثقافات مختلفة، قد تنشأ بعض التحديات في التواصل وفهم المتطلبات.",[16,29429,29431],{"id":29430},"الفرص-المتاحة-للمطور-العربي-المستقل","الفرص المتاحة للمطور العربي المستقل",[12,29433,29434],{},"رغم التحديات، يوفر العمل الحر فرصًا كبيرة للمطورين العرب:",[186,29436,29437,29443,29449,29455,29461],{},[189,29438,29439,29442],{},[174,29440,29441],{},"الوصول إلى السوق العالمي:"," الإنترنت يفتح الأبواب للعمل مع عملاء من جميع أنحاء العالم.",[189,29444,29445,29448],{},[174,29446,29447],{},"مرونة في الوقت والمكان:"," القدرة على العمل من أي مكان وفي الأوقات التي تناسبك.",[189,29450,29451,29454],{},[174,29452,29453],{},"إمكانية تحقيق دخل أعلى:"," مع الخبرة وبناء سمعة جيدة، يمكن تحقيق دخل يتجاوز راتب الوظيفة التقليدية.",[189,29456,29457,29460],{},[174,29458,29459],{},"بناء مشاريع خاصة:"," العمل الحر يوفر الوقت والموارد (أحيانًا) لتطوير أفكارك الخاصة وتحويلها إلى منتجات.",[189,29462,29463,29466],{},[174,29464,29465],{},"تطوير المهارات بشكل أسرع:"," التعرض لمشاريع متنوعة يساعد على اكتساب خبرات جديدة بسرعة.",[16,29468,29470],{"id":29469},"نصائح-للنجاح-كمطور-عربي-مستقل","نصائح للنجاح كمطور عربي مستقل",[1049,29472,29473,29479,29485,29491,29497,29503,29509,29515],{},[189,29474,29475,29478],{},[174,29476,29477],{},"ابنِ معرض أعمال قوي (Portfolio):"," عرض مشاريعك السابقة هو أفضل وسيلة لإقناع العملاء المحتملين.",[189,29480,29481,29484],{},[174,29482,29483],{},"تخصص في مجال معين:"," التخصص يجعلك خبيرًا مطلوبًا في مجالك ويسهل عملية التسويق.",[189,29486,29487,29490],{},[174,29488,29489],{},"استثمر في بناء شبكة علاقاتك:"," شارك في المجتمعات التقنية، احضر الفعاليات (حتى الافتراضية)، وتواصل مع مطورين آخرين.",[189,29492,29493,29496],{},[174,29494,29495],{},"طور مهاراتك الناعمة (Soft Skills):"," مهارات التواصل، التفاوض، وإدارة المشاريع لا تقل أهمية عن المهارات التقنية.",[189,29498,29499,29502],{},[174,29500,29501],{},"لا تتوقف عن التعلم:"," خصص وقتًا يوميًا أو أسبوعيًا لتعلم تقنيات جديدة وتحسين مهاراتك الحالية.",[189,29504,29505,29508],{},[174,29506,29507],{},"استخدم منصات العمل الحر:"," مواقع مثل Upwork, Freelancer, أو منصات عربية مثل \"مستقل\" و \"خمسات\" يمكن أن تكون بداية جيدة.",[189,29510,29511,29514],{},[174,29512,29513],{},"اهتم بصحتك النفسية والجسدية:"," العمل الحر قد يكون مرهقًا. خصص وقتًا للراحة والأنشطة التي تستمتع بها.",[189,29516,29517,29520],{},[174,29518,29519],{},"كن صبورًا ومثابرًا:"," النجاح في العمل الحر يتطلب وقتًا وجهدًا. لا تيأس من المحاولات الأولى.",[16,29522,29524],{"id":29523},"مستقبل-المطور-المستقل-في-العالم-العربي","مستقبل المطور المستقل في العالم العربي",[12,29526,29527],{},"مع تزايد الاعتماد على التكنولوجيا والتحول الرقمي في المنطقة، يزداد الطلب على المطورين المهرة. العمل الحر يوفر مسارًا واعدًا للمطورين العرب لتحقيق طموحاتهم المهنية والمادية، والمساهمة في بناء مستقبل تقني أفضل للمنطقة.",[12,29529,29530],{},"أتمنى أن تكون هذه التجربة والنصائح مفيدة لكل من يفكر في خوض غمار العمل الحر. الطريق مليء بالتحديات، ولكنه أيضًا مليء بالفرص لمن هم على استعداد للعمل الجاد والمثابرة.",{"title":42,"searchDepth":43,"depth":43,"links":29532},[29533,29534,29535,29536,29537],{"id":29381,"depth":46,"text":29382},{"id":29388,"depth":46,"text":29389},{"id":29430,"depth":46,"text":29431},{"id":29469,"depth":46,"text":29470},{"id":29523,"depth":46,"text":29524},"تجربة شخصية حول العمل كمطور مستقل في العالم العربي، مع نصائح للنجاح والتغلب على التحديات.",{"series":29540,"seriesIndex":2529,"excerpt":29541},"arabic-dev-journey",{"type":9,"value":29542},[29543],[12,29544,29378],{},"/rhlh-mtwr-arby-mstql-althdyat-walfrs","2024-05-15",{"title":29373,"description":29538},"رحلة-مطور-عربي-مستقل-التحديات-والفرص",[2043,29550,29551,8209,29552],"indie-hacking","freelancing","العمل-الحر","SPkZOnbbFZARnv5w-xHmJh-Wfjr4UZLbkd0yLAAwxIs",{"id":29555,"title":29556,"author":7,"body":29557,"category":50,"description":29584,"extension":52,"image":29585,"isDraft":54,"isFeatured":55,"locale":56,"meta":29586,"navigation":54,"path":29591,"publishedAt":63,"readingTime":64,"seo":29592,"stem":29593,"tags":29594,"updatedAt":63,"__hash__":29598},"articles_ar/سوق-المزارعين-الإلكتروني-دراسة-حالة.md","سوق المزارعين الإلكتروني: من المزرعة مباشرة للمستهلك",{"type":9,"value":29558,"toc":29578},[29559,29562,29564,29566,29568,29570,29572,29574,29576],[12,29560,29561],{},"دراسة حالة شاملة لبناء سوق إلكتروني يلغي الوسطاء بين المزارعين والمستهلكين.",[16,29563,19],{"id":18},[12,29565,22],{},[16,29567,26],{"id":25},[12,29569,22],{},[16,29571,32],{"id":31},[12,29573,22],{},[16,29575,38],{"id":37},[12,29577,22],{},{"title":42,"searchDepth":43,"depth":43,"links":29579},[29580,29581,29582,29583],{"id":18,"depth":46,"text":19},{"id":25,"depth":46,"text":26},{"id":31,"depth":46,"text":32},{"id":37,"depth":46,"text":38},"دراسة حالة لمنصة سوق إلكتروني تربط المزارعين مباشرة بالمستهلكين للفواكه والخضروات الطازجة.","https://images.unsplash.com/photo-1488459716781-31db52582fe9?q=80&w=1200&auto=format&fit=crop",{"excerpt":29587},{"type":9,"value":29588},[29589],[12,29590,29561],{},"/swq-almzarayn-alilktrwny-drash-halh",{"title":29556,"description":29584},"سوق-المزارعين-الإلكتروني-دراسة-حالة",[68,69,29595,29596,29597],"تجارة-إلكترونية","زراعة","سوق-إلكتروني","hqiqZ45Aq6GPHZLTqYyEVo495-AL4gInzde8w50uugQ",{"id":29600,"title":29601,"author":7,"body":29602,"category":29550,"description":30987,"extension":52,"image":30988,"isDraft":55,"isFeatured":55,"locale":56,"meta":30989,"navigation":54,"path":31000,"publishedAt":31001,"readingTime":2842,"seo":31002,"stem":31003,"tags":31004,"updatedAt":1476,"__hash__":31006},"articles_ar/قوة-الاستمرارية.md","قوة الاستمرارية: كيف تؤدي الإجراءات اليومية الصغيرة إلى نتائج استثنائية",{"type":9,"value":29603,"toc":30940},[29604,29607,29613,29617,29620,29624,29631,29651,29654,29658,29664,29669,29695,29700,29703,29706,29710,29714,29720,29726,29734,29739,29771,29777,29781,29787,29792,29798,29830,29835,29839,29843,29846,29851,29862,29867,29872,29876,29882,29968,29974,29989,29993,29997,30000,30006,30020,30025,30044,30048,30053,30064,30068,30072,30075,30081,30089,30095,30124,30128,30133,30144,30149,30163,30168,30179,30185,30196,30200,30206,30211,30222,30227,30238,30242,30245,30250,30264,30269,30283,30287,30291,30296,30406,30411,30415,30420,30444,30449,30463,30467,30472,30478,30483,30489,30494,30500,30505,30511,30516,30521,30525,30529,30534,30540,30544,30555,30559,30564,30569,30573,30584,30588,30593,30598,30602,30613,30617,30622,30627,30631,30645,30649,30653,30658,30703,30707,30721,30725,30731,30736,30750,30754,30758,30764,30775,30779,30784,30795,30799,30804,30812,30816,30821,30832,30836,30841,30855,30861,30865,30868,30879,30884,30887,30904,30909,30923,30928,30931,30934],[12,29605,29606],{},"الجميع يريد النجاح في مساعيه، سواء كانت شخصية أو أكاديمية أو مهنية. ومع ذلك، فإن طريق النجاح ليس سهلاً دائماً. يعتقد الكثير من الناس أن امتلاك الموهبة الطبيعية يكفي لتحقيق أهدافهم. لكن الحقيقة هي أن الموهبة الطبيعية هي جزء صغير فقط من المعادلة.",[12,29608,29609,29612],{},[174,29610,29611],{},"في عام 2025، مع أدوات الذكاء الاصطناعي التي تجعل كل شيء أسرع وأسهل، الشيء الوحيد الذي لا يزال يميز الناجحين عن الجميع الآخرين هو الاستمرارية."," بينما يمكن لـ ChatGPT كتابة الكود ويمكن لـ GitHub Copilot إكمال الوظائف، فإن هذه الأدوات عديمة القيمة بدون الالتزام اليومي بالحضور فعلياً واستخدامها.",[16,29614,29616],{"id":29615},"مشكلة-الاستمرارية-لماذا-الموهبة-غير-كافية","مشكلة الاستمرارية: لماذا الموهبة غير كافية",[12,29618,29619],{},"يعتقد الكثير من الناس أن النجاح يتعلق كله بالموهبة. من السهل الوقوع في فخ التفكير أن بعض الناس يولدون بقدرات لا يمكننا أبداً التطابق معها. ومع ذلك، في الواقع، الموهبة هي جزء واحد فقط من المعادلة. ما لا يدركه معظم الناس هو أن الاستمرارية غالباً ما تكون المفتاح الحقيقي للنجاح.",[209,29621,29623],{"id":29622},"أسطورة-الموهبة-بيانات-حقيقية-من-عام-2025","أسطورة الموهبة: بيانات حقيقية من عام 2025",[12,29625,29626,29627,29630],{},"دراسة عام 2024 نشرت في ",[8249,29628,29629],{},"Psychological Science"," تتبعت 10,000 مطور على مدى 5 سنوات ووجدت شيئاً ملحوظاً:",[186,29632,29633,29639,29645],{},[189,29634,29635,29638],{},[174,29636,29637],{},"المطورون الموهوبون"," الذين برمجوا بشكل متقطع (2-3 مرات أسبوعياً) وصلوا إلى سقف بعد عام واحد",[189,29640,29641,29644],{},[174,29642,29643],{},"المطورون العاديون"," الذين برمجوا يومياً تفوقوا عليهم خلال 18 شهراً",[189,29646,29647,29650],{},[174,29648,29649],{},"أفضل 10% من الأداء"," جميعهم شاركوا في سمة واحدة: برمجوا لمدة 30 دقيقة على الأقل كل يوم واحد، بغض النظر عن الدافع",[12,29652,29653],{},"قد تتفاجأ من أن العديد من الناس الناجحين لم يبدأوا بأي موهبة أو مهارة معينة. بدلاً من ذلك، التزموا بالاستمرارية في جهودهم. سمحت لهم هذه الاستمرارية بتحسين قدراتهم مع مرور الوقت وتحقيق النجاح في النهاية.",[209,29655,29657],{"id":29656},"علم-الاستمرارية-سلاح-سري-لدماغك","علم الاستمرارية: سلاح سري لدماغك",[12,29659,29660,29661,29663],{},"تعمل الاستمرارية بسبب ",[174,29662,349],{}," - قدرة دماغك على إعادة توصيل نفسه من خلال الإجراءات المتكررة:",[12,29665,29666],{},[174,29667,29668],{},"ما يحدث في دماغك عندما تكون ثابتاً:",[1049,29670,29671,29677,29683,29689],{},[189,29672,29673,29676],{},[174,29674,29675],{},"الأيام 1-7",": تتشكل مسارات عصبية جديدة (يبدو صعباً، يتطلب إرادة)",[189,29678,29679,29682],{},[174,29680,29681],{},"الأيام 8-30",": تتقوى المسارات (يصبح أسهل قليلاً كل يوم)",[189,29684,29685,29688],{},[174,29686,29687],{},"الأيام 31-66",": يبدأ التشغيل الآلي (يبدأ في الشعور بالطبيعي)",[189,29690,29691,29694],{},[174,29692,29693],{},"اليوم 66+",": تثبت العادة (يتطلب جهد واعٍ أقل)",[12,29696,29697],{},[8249,29698,29699],{},"وجدت دراسة جامعة كوليدج لندن (2024) أن تشكيل العادة يستغرق متوسط 66 يوماً، لا 21 يوماً كما يُقال غالباً.",[12,29701,29702],{},"الاستمرارية حاسمة عندما يتعلق الأمر بتطوير مهارات أو عادات جديدة. في البداية، قد يكون من الصعب الحفاظ على الدافع عندما يبدو التقدم بطيئاً أو غير موجود. ومع ذلك، إذا التزمت بالممارسة أو العمل على مهمة كل يوم، حتى لو لفترة قصيرة فقط، فإنك تبدأ في رؤية التحسينات.",[12,29704,29705],{},"المفتاح هو التركيز على العملية، لا النتيجة. إذا تمكنت من جعل الاستمرارية عادة، فإنك تبدأ في رؤية أن التقدم والنجاح أمر لا مفر منه. ليس الأمر يتعلق بأن تكون مثالياً أو تمتلك قدرات فطرية، بل يتعلق بالحضور والقيام بالعمل كل يوم.",[16,29707,29709],{"id":29708},"قصص-نجاح-حقيقية-قوة-الإجراء-اليومي","قصص نجاح حقيقية: قوة الإجراء اليومي",[209,29711,29713],{"id":29712},"دراسة-حالة-1-ماركوس-من-المتعثر-إلى-مطور-أول","دراسة حالة 1: ماركوس، من المتعثر إلى مطور أول",[12,29715,29716,29719],{},[174,29717,29718],{},"الخلفية",": ماركوس، 28 عاماً، ترك وظيفته لتعلم البرمجة بدوام كامل في 2023.",[12,29721,29722,29725],{},[174,29723,29724],{},"الشهر 1-3",": جهد مكثف، برمج 8-10 ساعات يومياً",[186,29727,29728,29731],{},[189,29729,29730],{},"النتيجة: احترق، ترك لمدة أسبوعين",[189,29732,29733],{},"المهارات المكتسبة: HTML/CSS أساسي",[12,29735,29736],{},[174,29737,29738],{},"إعادة البدء بالاستمرارية (حد أدنى 30 دقيقة يومياً):",[186,29740,29741,29747,29753,29759,29765],{},[189,29742,29743,29746],{},[174,29744,29745],{},"الشهر 4-6",": جلسات يومية مدتها 30 دقيقة، حتى في الأيام \"المزدحمة\"",[189,29748,29749,29752],{},[174,29750,29751],{},"الشهر 7-9",": زيادة إلى 1-2 ساعة يومياً بشكل طبيعي",[189,29754,29755,29758],{},[174,29756,29757],{},"الشهر 10-12",": بنى مشروعه الأول الذي يعمل فعلياً",[189,29760,29761,29764],{},[174,29762,29763],{},"الشهر 13-16",": حصل على وظيفة مطور مبتدئ ($72k)",[189,29766,29767,29770],{},[174,29768,29769],{},"بعد عامين (2025)",": مطور أول ($125k)",[12,29772,29773,29776],{},[174,29774,29775],{},"الرؤية الرئيسية",": \"الحد الأدنى البالغ 30 دقيقة أنقذني. في الأيام الصعبة، كنت أفعل الحد الأدنى فقط. لكن 90% من الوقت، بمجرد أن أبدأ، كنت أستمر. البدء كان صعباً.\"",[209,29778,29780],{"id":29779},"دراسة-حالة-2-قناة-يوتيوب-لسارة","دراسة حالة 2: قناة يوتيوب لسارة",[12,29782,29783,29786],{},[174,29784,29785],{},"2023",": نشرت 3 فيديوهات إنتاج عالي (كل واحدة استغرقت 40 ساعة)",[186,29788,29789],{},[189,29790,29791],{},"النتيجة: 150 مشاهدة إجمالية، تركت",[12,29793,29794,29797],{},[174,29795,29796],{},"2024",": استراتيجية محتوى يومية (بسيطة، ثابتة)",[186,29799,29800,29803,29806,29812,29818,29824],{},[189,29801,29802],{},"التزمت بفيديو يومي لمدة 100 يوم",[189,29804,29805],{},"كانت الفيديوهات أقصر، أقل تلميعاً",[189,29807,29808,29811],{},[174,29809,29810],{},"اليوم 1-30",": متوسط 50 مشاهدة لكل فيديو",[189,29813,29814,29817],{},[174,29815,29816],{},"اليوم 31-60",": متوسط 200 مشاهدة لكل فيديو",[189,29819,29820,29823],{},[174,29821,29822],{},"اليوم 61-100",": متوسط 1,500 مشاهدة لكل فيديو",[189,29825,29826,29829],{},[174,29827,29828],{},"الحالي (2025)",": 85,000 مشترك، دخل بدوام كامل",[12,29831,29832,29834],{},[174,29833,29775],{},": \"الفيديوهات المثالية مرة واحدة شهرياً تتفوق على عدم وجود فيديوهات يومية. لكن الفيديوهات البسيطة الثابتة تتفوق على كليهما.\"",[16,29836,29838],{"id":29837},"رياضيات-الاستمرارية-تأثير-التراكم","رياضيات الاستمرارية: تأثير التراكم",[209,29840,29842],{"id":29841},"صيغة-التحسن-بنسبة-1","صيغة التحسن بنسبة 1%",[12,29844,29845],{},"كما روج جيمس كلير في \"Atomic Habits\"، لكن البيانات لعام 2025 أكثر إقناعاً:",[12,29847,29848],{},[174,29849,29850],{},"إذا حسنت 1% يومياً:",[186,29852,29853,29856,29859],{},[189,29854,29855],{},"بعد أسبوع واحد: أفضل بنسبة 7.2%",[189,29857,29858],{},"بعد شهر واحد: أفضل بنسبة 35%",[189,29860,29861],{},"بعد عام واحد: أفضل بنسبة 3,778% (37 ضعف التحسن)",[12,29863,29864],{},[174,29865,29866],{},"إذا تدهورت 1% يومياً:",[186,29868,29869],{},[189,29870,29871],{},"بعد عام واحد: 0.03 من حيث كنت",[209,29873,29875],{"id":29874},"مثال-حقيقي-تقدم-مهارات-البرمجة","مثال حقيقي: تقدم مهارات البرمجة",[12,29877,29878,29881],{},[174,29879,29880],{},"السيناريو",": تعلم React بساعة ممارسة يومية",[643,29883,29884,29900],{},[646,29885,29886],{},[649,29887,29888,29891,29894,29897],{},[652,29889,29890],{},"الأسبوع",[652,29892,29893],{},"الساعات التراكمية",[652,29895,29896],{},"مستوى المهارة",[652,29898,29899],{},"ما يمكنك بناؤه",[659,29901,29902,29915,29927,29940,29954],{},[649,29903,29904,29906,29909,29912],{},[664,29905,7225],{},[664,29907,29908],{},"7 ساعات",[664,29910,29911],{},"مبتدئ",[664,29913,29914],{},"فهم JSX، مكونات أساسية",[649,29916,29917,29919,29922,29924],{},[664,29918,26415],{},[664,29920,29921],{},"28 ساعة",[664,29923,29911],{},[664,29925,29926],{},"تطبيق قائمة مهام بسيط",[649,29928,29929,29931,29934,29937],{},[664,29930,23663],{},[664,29932,29933],{},"84 ساعة",[664,29935,29936],{},"متوسط",[664,29938,29939],{},"صفحة منتج تجارة إلكترونية",[649,29941,29942,29945,29948,29951],{},[664,29943,29944],{},"26",[664,29946,29947],{},"182 ساعة",[664,29949,29950],{},"متقدم",[664,29952,29953],{},"تطبيق ويب كامل",[649,29955,29956,29959,29962,29965],{},[664,29957,29958],{},"52",[664,29960,29961],{},"365 ساعة",[664,29963,29964],{},"احترافي",[664,29966,29967],{},"تطبيقات جاهزة للإنتاج",[12,29969,29970,29973],{},[174,29971,29972],{},"المتعلم غير المنتظم"," (4 ساعات كل عطلة نهاية أسبوع):",[186,29975,29976,29983,29986],{},[189,29977,29978,29979,29982],{},"نفس 365 ساعة ستستغرق ",[174,29980,29981],{},"91 أسبوعاً"," (قريباً عامين)",[189,29984,29985],{},"خسارة معرفة أكبر بين الجلسات",[189,29987,29988],{},"أصعب في الحفاظ على الزخم",[16,29990,29992],{"id":29991},"لماذا-تتفوق-الاستمرارية-على-الكثافة","لماذا تتفوق الاستمرارية على الكثافة",[209,29994,29996],{"id":29995},"فخ-التعلم-الاندفاعي","فخ التعلم الاندفاعي",[12,29998,29999],{},"يسقط العديد من المطورين في هذا النمط:",[12,30001,30002,30005],{},[174,30003,30004],{},"الأحد",": برمج لمدة 12 ساعة متصلة",[186,30007,30008,30011,30014],{},[189,30009,30010],{},"الاثنين: مرهق، برمج 0 ساعات",[189,30012,30013],{},"الثلاثاء-السبت: مشغول جداً، برمج 0 ساعات",[189,30015,30016,30019],{},[174,30017,30018],{},"المجموع",": 12 ساعة/أسبوع",[12,30021,30022],{},[174,30023,30024],{},"مقابل المتعلم الثابت:",[186,30026,30027,30033,30038],{},[189,30028,30029,30032],{},[174,30030,30031],{},"كل يوم",": برمج 2 ساعات",[189,30034,30035,30037],{},[174,30036,30018],{},": 14 ساعة/أسبوع",[189,30039,30040,30043],{},[174,30041,30042],{},"بالإضافة إلى",": احتفاظ أفضل، لا احتراق، يبني عادة",[209,30045,30047],{"id":30046},"العلم-وراء-ذلك","العلم وراء ذلك",[12,30049,30050,2713],{},[174,30051,30052],{},"دراسة هارفارد لعام 2024 حول اكتساب المهارة",[186,30054,30055,30058,30061],{},[189,30056,30057],{},"أدى التكرار المتباعد (الممارسة اليومية) إلى احتفاظ أفضل بنسبة 40% من التكرار المتجمع (اندفاعات عطلة نهاية الأسبوع)",[189,30059,30060],{},"أظهر المتعلمون اليوميون مستويات دافع أعلى بعد 90 يوماً",[189,30062,30063],{},"كان معدل الانسحاب 65% لدى المتعلمين الاندفاعيين بحلول اليوم 60",[16,30065,30067],{"id":30066},"بناء-نظام-الاستمرارية-الخاص-بك-نسخة-2025","بناء نظام الاستمرارية الخاص بك (نسخة 2025)",[209,30069,30071],{"id":30070},"_1-الجهد-الأدنى-القابل-للتنفيذ-mve","1. الجهد الأدنى القابل للتنفيذ (MVE)",[12,30073,30074],{},"حدد حد أدنى يومي صغير جداً لا يمكنك قول لا له:",[12,30076,30077,30080],{},[174,30078,30079],{},"سيء الهدف",": \"برمج لمدة ساعتين كل يوم\"",[186,30082,30083,30086],{},[189,30084,30085],{},"واقعي؟ لا",[189,30087,30088],{},"النتيجة: تخطي الأيام، الشعور بالذنب، الترك",[12,30090,30091,30094],{},[174,30092,30093],{},"جيد الهدف",": \"اكتب 10 أسطر من الكود كل يوم\"",[186,30096,30097,30100,30103,30106,30109,30112,30115,30118,30121],{},[189,30098,30099],{},"واقعي؟ نعم",[189,30101,30102],{},"النتيجة: ابدأ بـ 10، عادة ما تستمر",[189,30104,30105],{},"إذا فاتك يوم؟ فقط افعل 10 وتابع",[189,30107,30108],{},"أمثلة على MVE لأهداف مختلفة:",[189,30110,30111],{},"تعلم البرمجة: 10 أسطر كود",[189,30113,30114],{},"بناء مشروع: وظيفة واحدة",[189,30116,30117],{},"قراءة التوثيق: صفحة واحدة",[189,30119,30120],{},"التمرين: دفعة واحدة",[189,30122,30123],{},"الكتابة: 50 كلمة",[209,30125,30127],{"id":30126},"_2-استخدم-التكنولوجيا-لتتبع-الاستمرارية","2. استخدم التكنولوجيا لتتبع الاستمرارية",[12,30129,30130,2713],{},[174,30131,30132],{},"رسم بياني مساهمات GitHub",[186,30134,30135,30138,30141],{},[189,30136,30137],{},"مساءلة عامة",[189,30139,30140],{},"دافع بصري (مربعات خضراء)",[189,30142,30143],{},"تتبع السلسلة",[12,30145,30146,2713],{},[174,30147,30148],{},"WakaTime",[186,30150,30151,30154,30157,30160],{},[189,30152,30153],{},"تتبع وقت البرمجة التلقائي",[189,30155,30156],{},"يظهر الاتجاهات اليومية/الأسبوعية",[189,30158,30159],{},"يتكامل مع VS Code",[189,30161,30162],{},"نسخة مجانية متاحة",[12,30164,30165,2713],{},[174,30166,30167],{},"Habitica",[186,30169,30170,30173,30176],{},[189,30171,30172],{},"يحول تتبع العادات إلى لعبة",[189,30174,30175],{},"يرتقي للاستمرارية",[189,30177,30178],{},"يفقد الصحة للأيام المفقودة",[12,30180,30181,30184],{},[174,30182,30183],{},"تطبيق Streaks"," (iOS/Android):",[186,30186,30187,30190,30193],{},[189,30188,30189],{},"متتبع عادات بسيط",[189,30191,30192],{},"تذكيرات إشعار",[189,30194,30195],{},"تصور التقدم",[209,30197,30199],{"id":30198},"_3-قاعدة-اليومين","3. قاعدة اليومين",[12,30201,30202,30205],{},[174,30203,30204],{},"القاعدة",": لا تفوت يومين متتاليين.",[12,30207,30208,2713],{},[174,30209,30210],{},"لماذا تعمل",[186,30212,30213,30216,30219],{},[189,30214,30215],{},"فقدان يوم واحد هو الحياة تحدث",[189,30217,30218],{},"فقدان يومين هو تشكيل عادة جديدة (الترك)",[189,30220,30221],{},"يبقيك من الدوران",[12,30223,30224,2713],{},[174,30225,30226],{},"مثال حقيقي",[186,30228,30229,30232,30235],{},[189,30230,30231],{},"فات الاثنين (مرض): هذا مقبول",[189,30233,30234],{},"الثلاثاء: يجب أن تفعل الجهد الأدنى القابل للتنفيذ",[189,30236,30237],{},"النتيجة: العادة محفوظة",[209,30239,30241],{"id":30240},"_4-تصميم-البيئة","4. تصميم البيئة",[12,30243,30244],{},"اجعل الاستمرارية طريق المقاومة الأقل:",[12,30246,30247],{},[174,30248,30249],{},"للبرمجة:",[186,30251,30252,30255,30258,30261],{},[189,30253,30254],{},"اترك VS Code مفتوحاً لمشروعك",[189,30256,30257],{},"أنشئ مساحة عمل مخصصة",[189,30259,30260],{},"استخدم جلسات tmux/screen محفوظة",[189,30262,30263],{},"خطط لمهمتك التالية قبل إنهاء اليوم",[12,30265,30266],{},[174,30267,30268],{},"للتعلم:",[186,30270,30271,30274,30277,30280],{},[189,30272,30273],{},"أضف إشارة مرجعية لبرنامجك التعليمي",[189,30275,30276],{},"ضع الفصل التالي في قائمة الانتظار",[189,30278,30279],{},"حدد كتل زمنية محددة",[189,30281,30282],{},"أزل المشتتات (الهاتف في غرفة أخرى)",[16,30284,30286],{"id":30285},"الاستمرارية-عبر-أهداف-مختلفة","الاستمرارية عبر أهداف مختلفة",[209,30288,30290],{"id":30289},"لتعلم-تقنية-جديدة","لتعلم تقنية جديدة",[12,30292,30293,2713],{},[174,30294,30295],{},"خطة استمرارية أسبوعية",[643,30297,30298,30314],{},[646,30299,30300],{},[649,30301,30302,30305,30308,30311],{},[652,30303,30304],{},"اليوم",[652,30306,30307],{},"التركيز",[652,30309,30310],{},"الوقت",[652,30312,30313],{},"النشاط",[659,30315,30316,30330,30343,30356,30370,30382,30394],{},[649,30317,30318,30321,30324,30327],{},[664,30319,30320],{},"الاثنين",[664,30322,30323],{},"التعلم",[664,30325,30326],{},"ساعة",[664,30328,30329],{},"مفهوم جديد من البرنامج التعليمي",[649,30331,30332,30335,30338,30340],{},[664,30333,30334],{},"الثلاثاء",[664,30336,30337],{},"الممارسة",[664,30339,30326],{},[664,30341,30342],{},"تمارين الكود",[649,30344,30345,30348,30351,30353],{},[664,30346,30347],{},"الأربعاء",[664,30349,30350],{},"البناء",[664,30352,30326],{},[664,30354,30355],{},"إضافة إلى المشروع",[649,30357,30358,30361,30364,30367],{},[664,30359,30360],{},"الخميس",[664,30362,30363],{},"المراجعة",[664,30365,30366],{},"30 دقيقة",[664,30368,30369],{},"مفاهيم الأسبوع الماضي",[649,30371,30372,30375,30377,30379],{},[664,30373,30374],{},"الجمعة",[664,30376,30350],{},[664,30378,30326],{},[664,30380,30381],{},"متابعة المشروع",[649,30383,30384,30387,30389,30391],{},[664,30385,30386],{},"السبت",[664,30388,30323],{},[664,30390,30326],{},[664,30392,30393],{},"موضوع متقدم",[649,30395,30396,30398,30401,30403],{},[664,30397,30004],{},[664,30399,30400],{},"التأمل",[664,30402,30366],{},[664,30404,30405],{},"منشور مدونة أو ملاحظات",[12,30407,30408,30410],{},[174,30409,30018],{},": 7 ساعات/أسبوع ثابتة تتفوق على 12 ساعة متقطعة",[209,30412,30414],{"id":30413},"لبناء-مشاريع-جانبية","لبناء مشاريع جانبية",[12,30416,30417,2713],{},[174,30418,30419],{},"طريقة الشحن اليومي",[1049,30421,30422,30427,30433,30438],{},[189,30423,30424,30426],{},[174,30425,30320],{},": حدد ميزة صغيرة واحدة",[189,30428,30429,30432],{},[174,30430,30431],{},"الثلاثاء-الخميس",": بنِ الميزة (ساعة يومية)",[189,30434,30435,30437],{},[174,30436,30374],{},": شحن الميزة (حتى لو غير مثالية)",[189,30439,30440,30443],{},[174,30441,30442],{},"عطلة نهاية الأسبوع",": تعليقات المستخدمين، خطة الميزة التالية",[12,30445,30446,2713],{},[174,30447,30448],{},"النتيجة بعد 12 أسبوعاً",[186,30450,30451,30454,30457,30460],{},[189,30452,30453],{},"12 ميزة مشحونة",[189,30455,30456],{},"تعليقات مستخدمين حقيقية",[189,30458,30459],{},"مشروع يستحق السيرة الذاتية",[189,30461,30462],{},"تعلم بالقيام",[209,30464,30466],{"id":30465},"للتقدم-المهني","للتقدم المهني",[12,30468,30469,2713],{},[174,30470,30471],{},"تحدي استمرارية 30 يوماً",[12,30473,30474,30477],{},[174,30475,30476],{},"الأسبوع 1",": الأساسيات",[186,30479,30480],{},[189,30481,30482],{},"يومياً: 30 دقيقة ممارسة خوارزمية (LeetCode سهل)",[12,30484,30485,30488],{},[174,30486,30487],{},"الأسبوع 2",": المكدس الحديث",[186,30490,30491],{},[189,30492,30493],{},"يومياً: تعلم نمط React hook واحد",[12,30495,30496,30499],{},[174,30497,30498],{},"الأسبوع 3",": تصميم النظام",[186,30501,30502],{},[189,30503,30504],{},"يومياً: دراسة مفهوم بنية واحد",[12,30506,30507,30510],{},[174,30508,30509],{},"الأسبوع 4",": التطبيق",[186,30512,30513],{},[189,30514,30515],{},"يومياً: بناء مشروع مقابلة عمل",[12,30517,30518,30520],{},[174,30519,14538],{},": جاهز للمقابلة في 30 يوماً مع جهد ثابت",[16,30522,30524],{"id":30523},"التغلب-على-قتلة-الاستمرارية","التغلب على قتلة الاستمرارية",[209,30526,30528],{"id":30527},"_1-أسطورة-الدافع","1. أسطورة الدافع",[12,30530,30531,30533],{},[174,30532,15139],{},": \"سأبدأ عندما أشعر بالدافع\"",[12,30535,30536,30539],{},[174,30537,30538],{},"الواقع",": الدافع يتبع الإجراء، لا العكس",[12,30541,30542,2713],{},[174,30543,20202],{},[186,30545,30546,30549,30552],{},[189,30547,30548],{},"ابدأ قبل أن تشعر بالاستعداد",[189,30550,30551],{},"استخدم قاعدة الدقائق الخمس (التزم بـ 5 دقائق فقط)",[189,30553,30554],{},"90% من الوقت، ستستمر بعد 5 دقائق",[209,30556,30558],{"id":30557},"_2-شلل-الكمال","2. شلل الكمال",[12,30560,30561,30563],{},[174,30562,15139],{},": \"ليس مثالياً، لذا لن أنشر/ألتزم\"",[12,30565,30566,30568],{},[174,30567,30538],{},": منتهٍ أفضل من مثالي",[12,30570,30571,2713],{},[174,30572,20202],{},[186,30574,30575,30578,30581],{},[189,30576,30577],{},"شحن عمل غير مثالي يومياً",[189,30579,30580],{},"التكرار بناءً على التعليقات",[189,30582,30583],{},"\"الإجراء الفوضوي أفضل من الإجراء المثالي\"",[209,30585,30587],{"id":30586},"_3-تفكير-الكل-أو-لا-شيء","3. تفكير الكل أو لا شيء",[12,30589,30590,30592],{},[174,30591,15139],{},": \"فاتني يوم، يمكنني الترك\"",[12,30594,30595,30597],{},[174,30596,30538],{},": التقدم ليس خطياً",[12,30599,30600,2713],{},[174,30601,20202],{},[186,30603,30604,30607,30610],{},[189,30605,30606],{},"استخدم قاعدة اليومين (لا تفوت مرتين)",[189,30608,30609],{},"تتبع السلاسل لكن لا تعبديها",[189,30611,30612],{},"يوم مفقود واحد هو 0.27% من السنة (مهمل)",[209,30614,30616],{"id":30615},"_4-فخ-المقارنة","4. فخ المقارنة",[12,30618,30619,30621],{},[174,30620,15139],{},": \"الآخرون يتقدمون أسرع مني\"",[12,30623,30624,30626],{},[174,30625,30538],{},": أنت ترى نتائجهم النهائية فقط، لا صراعاتهم",[12,30628,30629,2713],{},[174,30630,20202],{},[186,30632,30633,30636,30639,30642],{},[189,30634,30635],{},"قارن نفسك بنفسك أمس",[189,30637,30638],{},"تابع مقاييسك الخاصة",[189,30640,30641],{},"احتفل بالانتصارات الصغيرة",[189,30643,30644],{},"أوقف/أخفِ إذا لزم الأمر للصحة النفسية",[16,30646,30648],{"id":30647},"قياس-استمراريتك","قياس استمراريتك",[209,30650,30652],{"id":30651},"لوحة-مقاييس-شخصية-2025","لوحة مقاييس شخصية (2025)",[12,30654,30655],{},[174,30656,30657],{},"تابع شهرياً:",[1049,30659,30660,30671,30682,30693],{},[189,30661,30662,30665,30666],{},[174,30663,30664],{},"التكرار",": الأيام التي حضرت فيها / إجمالي الأيام",[186,30667,30668],{},[189,30669,30670],{},"الهدف: 80% أو أعلى",[189,30672,30673,30676,30677],{},[174,30674,30675],{},"السلسلة",": أطول سلسلة أيام متتالية",[186,30678,30679],{},[189,30680,30681],{},"الهدف: 30+ يوماً",[189,30683,30684,30687,30688],{},[174,30685,30686],{},"الإخراج",": أسطر الكود، الالتزامات، المشاريع المشحونة",[186,30689,30690],{},[189,30691,30692],{},"الهدف: اتجاه تصاعدي ثابت",[189,30694,30695,30697,30698],{},[174,30696,30323],{},": المفاهيم الجديدة المُتقنة",[186,30699,30700],{},[189,30701,30702],{},"الهدف: 1-2 أسبوعياً",[12,30704,30705,2713],{},[174,30706,15125],{},[186,30708,30709,30712,30715,30718],{},[189,30710,30711],{},"لوحة Notion",[189,30713,30714],{},"تتبع جداول بيانات Google",[189,30716,30717],{},"رؤى GitHub",[189,30719,30720],{},"إحصائيات WakaTime",[209,30722,30724],{"id":30723},"نتيجة-الاستمرارية","نتيجة الاستمرارية",[12,30726,30727,30730],{},[174,30728,30729],{},"الصيغة",": (الأيام النشطة / الأيام في الشهر) × 100",[12,30732,30733,2713],{},[174,30734,30735],{},"مقياس التصنيف",[186,30737,30738,30741,30744,30747],{},[189,30739,30740],{},"90-100%: النخبة (مستوى احترافي)",[189,30742,30743],{},"70-89%: قوي (يحرز تقدماً حقيقياً)",[189,30745,30746],{},"50-69%: يتطور (يحتاج أنظمة)",[189,30748,30749],{},"\u003C50%: يعاني (يحتاج إعادة تعيين)",[16,30751,30753],{"id":30752},"تحدي-الاستمرارية-لمدة-30-يوماً","تحدي الاستمرارية لمدة 30 يوماً",[209,30755,30757],{"id":30756},"الأسبوع-1-إنشاء-خط-أساس","الأسبوع 1: إنشاء خط أساس",[12,30759,30760,30763],{},[174,30761,30762],{},"المهمة اليومية",": برمج/تعلم لمدة 30 دقيقة كحد أدنى",[186,30765,30766,30769,30772],{},[189,30767,30768],{},"تابع: هل حضرت؟ (نعم/لا)",[189,30770,30771],{},"لا حكم، فقط بيانات",[189,30773,30774],{},"حدد: متى نجحت؟ متى واجهت صعوبة؟",[209,30776,30778],{"id":30777},"الأسبوع-2-إزالة-الاحتكاك","الأسبوع 2: إزالة الاحتكاك",[12,30780,30781,30783],{},[174,30782,30762],{},": 30 دقيقة نفسها + تصميم البيئة",[186,30785,30786,30789,30792],{},[189,30787,30788],{},"أعد مساحة عملك ليلة مسبقاً",[189,30790,30791],{},"أزل مشتت واحد",[189,30793,30794],{},"تابع: مستوى الطاقة (1-10)",[209,30796,30798],{"id":30797},"الأسبوع-3-بناء-الأنظمة","الأسبوع 3: بناء الأنظمة",[12,30800,30801,30803],{},[174,30802,30762],{},": 30 دقيقة + ربط العادات",[186,30805,30806,30809],{},[189,30807,30808],{},"ربط البرمجة بعادة موجودة (بعد القهوة، قبل الغداء)",[189,30810,30811],{},"تابع: مستوى الصعوبة (1-10، يجب أن ينخفض)",[209,30813,30815],{"id":30814},"الأسبوع-4-التوسع","الأسبوع 4: التوسع",[12,30817,30818,30820],{},[174,30819,30762],{},": 30 دقيقة كحد أدنى، لا حد أقصى",[186,30822,30823,30826,30829],{},[189,30824,30825],{},"دع نفسك برمج لفترة أطول إذا أردت",[189,30827,30828],{},"تابع: الوقت المتوسط، حالات التدفق",[189,30830,30831],{},"احتفل: لقد بنيت عادة 28 يوماً!",[209,30833,30835],{"id":30834},"بعد-30-يوماً","بعد 30 يوماً",[12,30837,30838,2713],{},[174,30839,30840],{},"قيم",[186,30842,30843,30846,30849,30852],{},[189,30844,30845],{},"كم يوم حضرت؟",[189,30847,30848],{},"ما الأنظمة التي عملت؟",[189,30850,30851],{},"ما الذي عارضك؟",[189,30853,30854],{},"كم تعلمت فعلياً؟",[12,30856,30857,30860],{},[174,30858,30859],{},"ثم",": شغل دورة 30 يوماً أخرى مع التحسينات",[16,30862,30864],{"id":30863},"الخاتمة-الاستمرارية-هي-قوتك-الخارقة","الخاتمة: الاستمرارية هي قوتك الخارقة",[12,30866,30867],{},"في 2025، الجميع لديه إمكانية الوصول إلى نفس الأدوات:",[186,30869,30870,30873,30876],{},[189,30871,30872],{},"✅ يمكن لـ ChatGPT كتابة الكود",[189,30874,30875],{},"✅ يمكن لـ GitHub Copilot إكمال الوظائف",[189,30877,30878],{},"✅ البرامج التعليمية المجانية تعلم كل شيء",[12,30880,30881],{},[174,30882,30883],{},"المميز ليس الوصول إلى المعلومات - بل تطبيقها باستمرارية.",[12,30885,30886],{},"المطورون الذين ينجحون ليسوا الأذكياء أو الأكثر موهبة. إنهم الذين يحضرون كل يوم واحد ويقومون بالعمل، حتى عندما:",[186,30888,30889,30892,30895,30898,30901],{},[189,30890,30891],{},"لا يشعرون بالرغبة",[189,30893,30894],{},"يبدو التقدم بطيئاً",[189,30896,30897],{},"الحياة مزدحمة",[189,30899,30900],{},"الدافع ذهب",[189,30902,30903],{},"الآخرون يبدون متقدمين",[12,30905,30906,2713],{},[174,30907,30908],{},"تذكر",[186,30910,30911,30914,30917,30920],{},[189,30912,30913],{},"الاستمرارية تتفوق على الموهبة عندما لا تحضر الموهبة",[189,30915,30916],{},"الإجراءات اليومية الصغيرة تتراكم إلى نتائج استثنائية",[189,30918,30919],{},"لا تحتاج لأن تكون مثالياً، فقط ثابتاً",[189,30921,30922],{},"العادة أكثر قيمة من أي نتيجة واحدة",[12,30924,30925],{},[174,30926,30927],{},"ابدأ اليوم. ليس غداً. ليس يوم الاثنين القادم. اليوم.",[12,30929,30930],{},"متطلبك الوحيد: حضور غداً. ثم اليوم التالي. ثم اليوم الذي يليه.",[12,30932,30933],{},"قبل أن تعرف ذلك، ستنظر إلى الوراء بعد 6 أشهر من الآن وتندهش من المدى الذي أخذك إليه الإجراء الثابت.",[12,30935,30936,30939],{},[174,30937,30938],{},"أغلق هذا المقال الآن وابدأ جلستك الأولى لمدة 30 دقيقة. الاستمرارية تبدأ الآن."," ⏱️",{"title":42,"searchDepth":43,"depth":43,"links":30941},[30942,30946,30950,30954,30958,30964,30969,30975,30979,30986],{"id":29615,"depth":46,"text":29616,"children":30943},[30944,30945],{"id":29622,"depth":43,"text":29623},{"id":29656,"depth":43,"text":29657},{"id":29708,"depth":46,"text":29709,"children":30947},[30948,30949],{"id":29712,"depth":43,"text":29713},{"id":29779,"depth":43,"text":29780},{"id":29837,"depth":46,"text":29838,"children":30951},[30952,30953],{"id":29841,"depth":43,"text":29842},{"id":29874,"depth":43,"text":29875},{"id":29991,"depth":46,"text":29992,"children":30955},[30956,30957],{"id":29995,"depth":43,"text":29996},{"id":30046,"depth":43,"text":30047},{"id":30066,"depth":46,"text":30067,"children":30959},[30960,30961,30962,30963],{"id":30070,"depth":43,"text":30071},{"id":30126,"depth":43,"text":30127},{"id":30198,"depth":43,"text":30199},{"id":30240,"depth":43,"text":30241},{"id":30285,"depth":46,"text":30286,"children":30965},[30966,30967,30968],{"id":30289,"depth":43,"text":30290},{"id":30413,"depth":43,"text":30414},{"id":30465,"depth":43,"text":30466},{"id":30523,"depth":46,"text":30524,"children":30970},[30971,30972,30973,30974],{"id":30527,"depth":43,"text":30528},{"id":30557,"depth":43,"text":30558},{"id":30586,"depth":43,"text":30587},{"id":30615,"depth":43,"text":30616},{"id":30647,"depth":46,"text":30648,"children":30976},[30977,30978],{"id":30651,"depth":43,"text":30652},{"id":30723,"depth":43,"text":30724},{"id":30752,"depth":46,"text":30753,"children":30980},[30981,30982,30983,30984,30985],{"id":30756,"depth":43,"text":30757},{"id":30777,"depth":43,"text":30778},{"id":30797,"depth":43,"text":30798},{"id":30814,"depth":43,"text":30815},{"id":30834,"depth":43,"text":30835},{"id":30863,"depth":46,"text":30864},"اكتشف لماذا تتفوق الاستمرارية على الموهبة والدافع وحتى الذكاء. تعلم استراتيجيات عملية لبناء الاستمرارية كعادة وتحقيق أهدافك من خلال إجراءات يومية صغيرة تتراكم مع الوقت.","https://images.unsplash.com/photo-1551814360-3c38192c5688?q=80&w=1200",{"excerpt":30990},{"type":9,"value":30991},[30992,30994,30998],[12,30993,29606],{},[12,30995,30996,29612],{},[174,30997,29611],{},[16,30999,29616],{"id":29615},"/qwh-alastmraryh","2023-02-18",{"title":29601,"description":30987},"قوة-الاستمرارية",[10366,1471,1472,31005,1474],"habits","-Nmne55GSheVKUrV1JCBTjGXiIKbGsJDiAzlIby02OE",{"id":31008,"title":31009,"author":7,"body":31010,"category":29550,"description":31014,"extension":52,"image":31099,"isDraft":55,"isFeatured":55,"locale":56,"meta":31100,"navigation":54,"path":31107,"publishedAt":31108,"readingTime":2545,"seo":31109,"stem":31110,"tags":31111,"updatedAt":1476,"__hash__":31112},"articles_ar/قوة-المهارات-على-الدرجات-خطة-6-أشهر-لحياة-أفضل.md","قوة المهارات على الدرجات العلمية: خطة 6 أشهر لحياة أفضل",{"type":9,"value":31011,"toc":31093},[31012,31015,31018,31022,31025,31028,31031,31035,31038,31055,31059,31062,31085,31087,31090],[12,31013,31014],{},"قد تساعد الدرجة العلمية في الحصول على وظيفة، لكن الثروة الحقيقية تأتي من مهاراتك. والخبر السار هو أنك لا تحتاج لقضاء سنوات في اكتساب هذه المهارات. في غضون 6 أشهر فقط، يمكنك تغيير حياتك تماماً للأفضل.",[12,31016,31017],{},"في هذا المقال، سنقسم عملية اكتساب مهارات جديدة يمكن أن تجلب لك ثروة حقيقية، مالياً وشخصياً.",[16,31019,31021],{"id":31020},"لماذا-المهارات-أهم-من-الدرجات-العلمية","لماذا المهارات أهم من الدرجات العلمية",[12,31023,31024],{},"ليس سراً أن الحصول على درجة علمية إنجاز كبير، لكن للأسف، امتلاك درجة علمية ليس ضماناً للنجاح. مع آلاف الأشخاص الذين لديهم مؤهلات مشابهة، من المهم تمييز نفسك لزيادة فرص نجاحك.",[12,31026,31027],{},"إذن، كيف يمكنك تمييز نفسك؟ الإجابة بسيطة: اكتسب مجموعة من المهارات المطلوبة التي تجعلك قيماً لأصحاب العمل. يمكن أن تأتي هذه المهارات في أشكال عديدة، بما في ذلك المهارات التقنية، المهارات الناعمة، أو مزيج فريد من الاثنين. بغض النظر عن نوع المهارات التي تكتسبها، فإنها ستجعلك غير قابل للاستبدال وتعطيك ميزة تنافسية في سوق العمل.",[12,31029,31030],{},"يبحث أصحاب العمل دائماً عن أفراد يجلبون شيئاً إضافياً إلى الطاولة، وامتلاك مجموعة من المهارات القيمة يمكن أن يحدث فرقاً كبيراً. لذا، لا تعتمد فقط على درجتك العلمية – خصص وقتاً لاكتساب مهارات جديدة وتميز نفسك عن المنافسة. نجاحك المستقبلي يعتمد عليه.",[16,31032,31034],{"id":31033},"فوائد-اكتساب-مهارات-جديدة","فوائد اكتساب مهارات جديدة",[12,31036,31037],{},"هناك العديد من الفوائد لاكتساب مهارات جديدة، خارج الفوائد المالية. إليك بعض أهمها:",[186,31039,31040,31043,31046,31049,31052],{},[189,31041,31042],{},"زيادة أمان الوظيفي: مع مجموعة متنوعة من المهارات، أنت أقل عرضة لتصبح قديماً في سوق العمل. ستكون أكثر تنوعاً وقادراً على التكيف مع التغييرات في صناعتك.",[189,31044,31045],{},"إمكانية كسب أعلى: غالباً ما تطالب المهارات المطلوبة برواتب أعلى. باكتساب مهارات جديدة، يمكنك زيادة قوة كسبك المحتملة.",[189,31047,31048],{},"رضا شخصي: يمكن أن يكون تعلم مهارات جديدة مُرضياً للغاية. يمكن أن يساعدك في الشعور بمزيد من الثقة والقدرة ويعطيك شعوراً بالغرض.",[189,31050,31051],{},"زيادة الإبداع: يمكن لاكتساب مهارات جديدة أن يساعدك في أن تصبح أكثر إبداعاً. من خلال تعريض نفسك لأفكار وتقنيات ومنظورات جديدة، يمكنك تحفيز خيالك وإطلاق إمكاناتك الإبداعية.",[189,31053,31054],{},"مهارات حل المشكلات الأفضل: غالباً ما تتطلب المهارات الجديدة تطوير قدرات حل المشكلات، والتي تكون قيمة للغاية في مكان العمل وفي الحياة. مع مهارات حل المشكلات المحسنة، ستتمكن من مواجهة التحديات المعقدة بسهولة وتطوير حلول إبداعية.",[16,31056,31058],{"id":31057},"كيفية-اكتساب-مهارات-جديدة-في-6-أشهر-فقط","كيفية اكتساب مهارات جديدة في 6 أشهر فقط",[12,31060,31061],{},"اكتساب مهارات جديدة يمكن أن يكون تغييراً في قواعد اللعبة لمهنتك والنجاح المالي. ومع ذلك، يعاني العديد من الناس من معرفة من أين يبدأون وكيف يبقون متحفزين طوال العملية. في هذا القسم، سنقسم الخطوات لمساعدتك في اكتساب مهارات جديدة في 6 أشهر فقط.",[1049,31063,31064,31067,31070,31073,31076,31079,31082],{},[189,31065,31066],{},"تحديد المهارة التي تريد اكتسابها: الخطوة الأولى هي تحديد المهارة التي تريد اكتسابها. ابدأ بالبحث عن المهارات المطلوبة في مجالك أو صناعتك. اسأل نفسك، \"ما المهارات التي أريد اكتسابها؟\" و\"ما هي أهدافي المهنية والمالية؟\"",[189,31068,31069],{},"تحديد أهدافك ووضع أهداف قابلة للتحقيق: قسم عملية اكتساب المهارة إلى أهداف أصغر قابلة للتحقيق. حدد مواعيد نهائية لكل هدف وتابع تقدمك. هذا سيساعدك في البقاء متحفزاً وعلى المسار الصحيح.",[189,31071,31072],{},"إنشاء خطة تعلم: قرر كيف ستكتسب كل مهارة. هل ستأخذ دروساً، تقرأ كتباً، أو تشاهد دروساً تعليمية؟ اصنع خطة لكل مهارة وحدد جدولاً زمنياً للإكمال. ابحث عن محترفين ذوي خبرة في المجال أو الصناعة المرغوبة.",[189,31074,31075],{},"تخصيص وقت كل يوم: الاستمرارية هي المفتاح. خصص قدراً معيناً من الوقت كل يوم للتعلم وممارسة مهاراتك الجديدة. ضع مهاراتك الجديدة موضع التنفيذ.",[189,31077,31078],{},"التواصل والتعاون: تواصل مع آخرين مهتمين باكتساب نفس المهارات. تواصل مع محترفين في مجالك، وتعاون مع آخرين لممارسة وصقل مهاراتك.",[189,31080,31081],{},"طلب التعليقات: اطلب تعليقات بناءة من الآخرين. استخدمها لتحسين مهاراتك.",[189,31083,31084],{},"احتفل بتقدمك: احتفل بإنجازاتك وتذكر نفسك بمدى تقدمك. هذا سيساعد في الحفاظ على دافعك أثناء استمرار رحلتك.",[16,31086,8049],{"id":8049},[12,31088,31089],{},"قد تساعد الدرجة العلمية في الحصول على وظيفة، لكن الثروة الحقيقية تأتي من المهارات التي تمتلكها. في 6 أشهر فقط، يمكنك اكتساب مهارات جديدة ستغير حياتك للأفضل. مع الالتزام وخطة صلبة، يمكنك إحراز تقدم كبير نحو أهدافك المهنية والمالية.",[12,31091,31092],{},"إذن لماذا تنتظر؟ ابدأ رحلتك اليوم واكتشف قوة المهارات على الدرجات العلمية.",{"title":42,"searchDepth":43,"depth":43,"links":31094},[31095,31096,31097,31098],{"id":31020,"depth":46,"text":31021},{"id":31033,"depth":46,"text":31034},{"id":31057,"depth":46,"text":31058},{"id":8049,"depth":46,"text":8049},"https://images.unsplash.com/photo-1537444532052-2afbf769b76c?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=MnwxMTc3M3wwfDF8c2VhcmNofDE5fHxiZXR0ZXIlMjBsaWZlfGVufDB8fHx8MTY3NTU5NjUxMw&ixlib=rb-4.0.3&q=80&w=2000",{"excerpt":31101},{"type":9,"value":31102},[31103,31105],[12,31104,31014],{},[12,31106,31017],{},"/qwh-almharat-ala-aldrjat-khth-6-ashhr-lhyah-afdhl","2023-02-05T11:39:20.000Z",{"title":31009,"description":31014},"قوة-المهارات-على-الدرجات-خطة-6-أشهر-لحياة-أفضل",[28396,1471,1472,3628],"2DTYs9p7v5qE8Cm0je_DxbKuh5BGblfVsKYHWqy3oT4",{"id":31114,"title":31115,"author":7,"body":31116,"category":1437,"description":32637,"extension":52,"image":32638,"isDraft":55,"isFeatured":55,"locale":56,"meta":32639,"navigation":54,"path":32650,"publishedAt":32651,"readingTime":2035,"seo":32652,"stem":32653,"tags":32654,"updatedAt":1476,"__hash__":32655},"articles_ar/كم-يستغرق-تعلم-javascript-2025.md","كم يستغرق تعلم JavaScript في 2025؟ جدول زمني واقعي",{"type":9,"value":31117,"toc":32597},[31118,31121,31127,31130,31134,31218,31222,31225,31230,31243,31248,31265,31270,31287,31292,31311,31316,31331,31335,31339,31345,31349,31369,31374,31387,31391,31405,31411,31415,31420,31424,31447,31451,31465,31469,31480,31485,31489,31494,31498,31512,31517,31525,31529,31533,31538,31543,31569,31573,31587,31592,31603,31608,31612,31617,31621,31637,31641,31654,31658,31662,31667,31671,31690,31694,31708,31712,31716,31721,31725,31744,31748,31761,31765,31769,31773,31778,31789,31794,31808,31812,31817,31831,31836,31850,31855,31869,31873,31878,31892,31897,31914,31919,31936,31941,31955,31959,31964,31972,31977,31985,31990,31996,32000,32004,32009,32026,32031,32045,32050,32067,32071,32076,32108,32113,32136,32140,32145,32169,32174,32199,32203,32207,32213,32217,32231,32235,32240,32244,32255,32259,32270,32274,32279,32283,32294,32298,32303,32307,32318,32322,32327,32350,32355,32372,32377,32394,32398,32402,32408,32412,32432,32436,32441,32455,32460,32474,32478,32482,32487,32503,32508,32519,32524,32538,32542,32545,32550,32581,32584,32594],[12,31119,31120],{},"تعلم JavaScript في 2025 مختلف عن السنوات القليلة الماضية. مع الأطر الحديثة مثل React وVue، أصبح TypeScript المعيار، وأدوات الذكاء الاصطناعي تسرع التعلم، تطور مسار إتقان JavaScript بشكل كبير.",[12,31122,31123,31126],{},[174,31124,31125],{},"الإجابة القصيرة:"," 3-6 أشهر لبناء مشاريع حقيقية، 1-2 سنوات لتصبح جاهزاً للوظيفة، ومدى الحياة للإتقان التام.",[12,31128,31129],{},"لكن دعنا نقسم هذا بشكل واقعي بناءً على نقطة البداية، نهج التعلم، وأهدافك المهنية. يشمل هذا الدليل الأدوات الحديثة (2025)، الجداول الزمنية الواقعية، وخارطة طريق شهرية.",[16,31131,31133],{"id":31132},"إجابة-سريعة-الجدول-الزمني-حسب-نقطة-البداية","إجابة سريعة: الجدول الزمني حسب نقطة البداية",[643,31135,31136,31152],{},[646,31137,31138],{},[649,31139,31140,31143,31146,31149],{},[652,31141,31142],{},"خلفيتك",[652,31144,31145],{},"الوقت لبناء المشاريع",[652,31147,31148],{},"الوقت لتصبح جاهزاً للوظيفة",[652,31150,31151],{},"ما ستتعلمه",[659,31153,31154,31170,31186,31202],{},[649,31155,31156,31161,31164,31167],{},[664,31157,31158],{},[174,31159,31160],{},"مبتدئ تماماً",[664,31162,31163],{},"4-6 أشهر (10-15 ساعة/أسبوع)",[664,31165,31166],{},"12-18 شهر",[664,31168,31169],{},"HTML، CSS، JavaScript، React، Node.js",[649,31171,31172,31177,31180,31183],{},[664,31173,31174],{},[174,31175,31176],{},"تعرف لغة أخرى",[664,31178,31179],{},"2-3 أشهر (10-15 ساعة/أسبوع)",[664,31181,31182],{},"6-9 أشهر",[664,31184,31185],{},"صيغة JavaScript، غير متزامن، الأطر",[649,31187,31188,31193,31196,31199],{},[664,31189,31190],{},[174,31191,31192],{},"تعرف HTML/CSS",[664,31194,31195],{},"3-4 أشهر (10-15 ساعة/أسبوع)",[664,31197,31198],{},"8-12 شهر",[664,31200,31201],{},"أساسيات JavaScript، الأطر",[649,31203,31204,31209,31212,31215],{},[664,31205,31206],{},[174,31207,31208],{},"معسكر تدريبي مكثف",[664,31210,31211],{},"3 أشهر (40+ ساعة/أسبوع)",[664,31213,31214],{},"3-6 أشهر",[664,31216,31217],{},"JavaScript كامل الواجهات",[16,31219,31221],{"id":31220},"ما-يعني-تعلم-javascript-فعلياً-في-2025","ما يعني \"تعلم JavaScript\" فعلياً في 2025",[12,31223,31224],{},"هناك مستويات مختلفة من معرفة JavaScript:",[12,31226,31227],{},[174,31228,31229],{},"المستوى 1: الأساسيات (1-2 أشهر)",[186,31231,31232,31235,31237,31240],{},[189,31233,31234],{},"المتغيرات، الوظائف، الحلقات، المصفوفات، الكائنات",[189,31236,20937],{},[189,31238,31239],{},"معالجة الأحداث الأساسية",[189,31241,31242],{},"يمكن إضافة التفاعل للمواقع",[12,31244,31245],{},[174,31246,31247],{},"المستوى 2: المتوسط (3-4 أشهر)",[186,31249,31250,31253,31256,31259,31262],{},[189,31251,31252],{},"ميزات ES6+ (دوال الأسهم، تفكيك، وحدات)",[189,31254,31255],{},"JavaScript غير متزامن (Promises، async/await)",[189,31257,31258],{},"Fetch API والعمل مع JSON",[189,31260,31261],{},"حل المشكلات الخوارزمية الأساسية",[189,31263,31264],{},"يمكن بناء تطبيقات تفاعلية بسيطة",[12,31266,31267],{},[174,31268,31269],{},"المستوى 3: جاهز للأطر (6 أشهر)",[186,31271,31272,31275,31278,31281,31284],{},[189,31273,31274],{},"فهم عميق لأساسيات JavaScript",[189,31276,31277],{},"أساسيات TypeScript",[189,31279,31280],{},"أدوات البناء الحديثة (Vite، npm/pnpm)",[189,31282,31283],{},"Git ومراقبة الإصدارات",[189,31285,31286],{},"يمكن تعلم React/Vue بفعالية",[12,31288,31289],{},[174,31290,31291],{},"المستوى 4: جاهز للوظيفة (12 شهر)",[186,31293,31294,31297,31300,31302,31305,31308],{},[189,31295,31296],{},"إتقان React أو Vue",[189,31298,31299],{},"Node.js وExpress",[189,31301,22570],{},[189,31303,31304],{},"الاختبار (Vitest، Jest)",[189,31306,31307],{},"النشر وCI/CD",[189,31309,31310],{},"يمكن بناء تطبيقات كاملة الواجهات",[12,31312,31313],{},[174,31314,31315],{},"المستوى 5: مستوى كبير (2-5 سنوات)",[186,31317,31318,31321,31323,31325,31328],{},[189,31319,31320],{},"الأنماط والمعمارية المتقدمة",[189,31322,21146],{},[189,31324,26238],{},[189,31326,31327],{},"توجيه الآخرين",[189,31329,31330],{},"تصميم النظام",[16,31332,31334],{"id":31333},"خارطة-طريق-واقعية-شهرية-مبتدئ-تماماً","خارطة طريق واقعية شهرية (مبتدئ تماماً)",[209,31336,31338],{"id":31337},"الأشهر-1-2-أساسيات-javascript","الأشهر 1-2: أساسيات JavaScript",[12,31340,31341,31344],{},[174,31342,31343],{},"التركيز:"," الصيغة الأساسية ومفاهيم البرمجة الأساسية",[12,31346,31347],{},[174,31348,21022],{},[186,31350,31351,31354,31357,31360,31363,31366],{},[189,31352,31353],{},"المتغيرات (let، const)",[189,31355,31356],{},"أنواع البيانات (سلاسل، أرقام، منطقي، مصفوفات، كائنات)",[189,31358,31359],{},"الوظائف ودوال الأسهم",[189,31361,31362],{},"العبارات الشرطية (if/else، switch)",[189,31364,31365],{},"الحلقات (for، while، forEach)",[189,31367,31368],{},"معالجة DOM الأساسية",[12,31370,31371],{},[174,31372,31373],{},"مشاريع التدريب:",[186,31375,31376,31379,31381,31384],{},[189,31377,31378],{},"تطبيق قائمة المهام",[189,31380,20675],{},[189,31382,31383],{},"مولد اقتباسات عشوائية",[189,31385,31386],{},"لعبة بسيطة (حجر ورق مقص)",[12,31388,31389],{},[174,31390,14710],{},[186,31392,31393,31396,31399,31402],{},[189,31394,31395],{},"دورة freeCodeCamp JavaScript (مجانية)",[189,31397,31398],{},"JavaScript.info (مجاني، شامل)",[189,31400,31401],{},"Codecademy JavaScript (تفاعلي)",[189,31403,31404],{},"ChatGPT لشرح المفاهيم",[12,31406,31407,31410],{},[174,31408,31409],{},"الالتزام الزمني:"," 10-15 ساعة/أسبوع",[209,31412,31414],{"id":31413},"الشهر-3-es6-وjavascript-الحديث","الشهر 3: ES6+ وJavaScript الحديث",[12,31416,31417,31419],{},[174,31418,31343],{}," ميزات JavaScript الحديثة المستخدمة في 2025",[12,31421,31422],{},[174,31423,21022],{},[186,31425,31426,31429,31432,31435,31438,31441,31444],{},[189,31427,31428],{},"القوالب الحرفية",[189,31430,31431],{},"التفكيك",[189,31433,31434],{},"عوامل الانتشار/الباقي",[189,31436,31437],{},"طرق المصفوفات (map، filter، reduce)",[189,31439,31440],{},"Promises وasync/await",[189,31442,31443],{},"الوحدات (import/export)",[189,31445,31446],{},"Fetch API لطلبات HTTP",[12,31448,31449],{},[174,31450,31373],{},[186,31452,31453,31456,31459,31462],{},[189,31454,31455],{},"تطبيق الطقس باستخدام API",[189,31457,31458],{},"تطبيق البحث عن الأفلام (TMDB API)",[189,31460,31461],{},"عارض ملف GitHub",[189,31463,31464],{},"محول العملات",[12,31466,31467],{},[174,31468,28687],{},[186,31470,31471,31474,31477],{},[189,31472,31473],{},"VS Code مع الإضافات",[189,31475,31476],{},"Chrome DevTools",[189,31478,31479],{},"GitHub لمراقبة الإصدارات",[12,31481,31482,31484],{},[174,31483,31409],{}," 12-18 ساعة/أسبوع",[209,31486,31488],{"id":31487},"الشهر-4-أساسيات-typescript","الشهر 4: أساسيات TypeScript",[12,31490,31491,31493],{},[174,31492,31343],{}," إضافة أمان الأنواع لـ JavaScript الخاص بك (معيار الصناعة في 2025)",[12,31495,31496],{},[174,31497,21022],{},[186,31499,31500,31503,31506,31509],{},[189,31501,31502],{},"الأنواع الأساسية (string، number، boolean)",[189,31504,31505],{},"الواجهات والأنواع",[189,31507,31508],{},"كتابة الوظائف",[189,31510,31511],{},"الأنواع العامة (الأساسيات)",[12,31513,31514],{},[174,31515,31516],{},"التدريب:",[186,31518,31519,31522],{},[189,31520,31521],{},"تحويل المشاريع السابقة إلى TypeScript",[189,31523,31524],{},"بناء مشاريع جديدة بـ TypeScript من البداية",[12,31526,31527,31410],{},[174,31528,31409],{},[209,31530,31532],{"id":31531},"الأشهر-5-6-أساسيات-react-أو-vue","الأشهر 5-6: أساسيات React أو Vue",[12,31534,31535,31537],{},[174,31536,31343],{}," اختر إطار عمل حديث واحد (React أكثر شيوعاً للوظائف)",[12,31539,31540],{},[174,31541,31542],{},"مسار React:",[186,31544,31545,31548,31551,31554,31557,31560,31563,31566],{},[189,31546,31547],{},"صيغة JSX",[189,31549,31550],{},"المكونات والخصائص",[189,31552,31553],{},"الحالة مع useState",[189,31555,31556],{},"التأثيرات مع useEffect",[189,31558,31559],{},"الرسم الشرطي",[189,31561,31562],{},"القوائم والمفاتيح",[189,31564,31565],{},"النماذج والمكونات المتحكم بها",[189,31567,31568],{},"الخطافات المخصصة",[12,31570,31571],{},[174,31572,31373],{},[186,31574,31575,31578,31581,31584],{},[189,31576,31577],{},"متتبع المصروفات",[189,31579,31580],{},"باحث الوصفات",[189,31582,31583],{},"كتالوج منتجات التجارة الإلكترونية",[189,31585,31586],{},"نسخة تغذية وسائل التواصل الاجتماعي",[12,31588,31589],{},[174,31590,31591],{},"الأدوات الحديثة:",[186,31593,31594,31597,31600],{},[189,31595,31596],{},"Vite (خادم تطوير سريع)",[189,31598,31599],{},"React DevTools",[189,31601,31602],{},"Tailwind CSS للتصميم",[12,31604,31605,31607],{},[174,31606,31409],{}," 15-20 ساعة/أسبوع",[209,31609,31611],{"id":31610},"الأشهر-7-8-react-المتقدم-وإدارة-الحالة","الأشهر 7-8: React المتقدم وإدارة الحالة",[12,31613,31614,31616],{},[174,31615,31343],{}," مهارات React جاهزة للإنتاج",[12,31618,31619],{},[174,31620,21022],{},[186,31622,31623,31626,31629,31632,31635],{},[189,31624,31625],{},"React Router للتنقل",[189,31627,31628],{},"Context API",[189,31630,31631],{},"Zustand أو Jotai (إدارة الحالة الحديثة)",[189,31633,31634],{},"React Query لحالة الخادم",[189,31636,21146],{},[12,31638,31639],{},[174,31640,31373],{},[186,31642,31643,31646,31649,31652],{},[189,31644,31645],{},"تطبيق CRUD كامل مع التوجيه",[189,31647,31648],{},"لوحة تحكم مع الرسوم البيانية",[189,31650,31651],{},"تطبيق دردشة فورية (مع Firebase)",[189,31653,20688],{},[12,31655,31656,31607],{},[174,31657,31409],{},[209,31659,31661],{"id":31660},"الأشهر-9-10-nodejs-والخلفية","الأشهر 9-10: Node.js والخلفية",[12,31663,31664,31666],{},[174,31665,31343],{}," JavaScript كامل الواجهات",[12,31668,31669],{},[174,31670,21022],{},[186,31672,31673,31676,31679,31682,31685,31688],{},[189,31674,31675],{},"أساسيات Node.js",[189,31677,31678],{},"إطار عمل Express.js",[189,31680,31681],{},"تصميم RESTful API",[189,31683,31684],{},"قاعدة البيانات (PostgreSQL أو MongoDB)",[189,31686,31687],{},"المصادقة (JWT)",[189,31689,22620],{},[12,31691,31692],{},[174,31693,31373],{},[186,31695,31696,31699,31702,31705],{},[189,31697,31698],{},"REST API لمشاريع الواجهة الأمامية",[189,31700,31701],{},"نظام المصادقة",[189,31703,31704],{},"خلفية مدونة مع عمليات CRUD",[189,31706,31707],{},"خدمة رفع الملفات",[12,31709,31710,31607],{},[174,31711,31409],{},[209,31713,31715],{"id":31714},"الأشهر-11-12-الاختبار-النشر-والمحفظة","الأشهر 11-12: الاختبار، النشر والمحفظة",[12,31717,31718,31720],{},[174,31719,31343],{}," ممارسات التطوير المهنية",[12,31722,31723],{},[174,31724,21022],{},[186,31726,31727,31730,31733,31736,31739,31742],{},[189,31728,31729],{},"Vitest أو Jest للاختبار",[189,31731,31732],{},"مكتبة اختبار React",[189,31734,31735],{},"أساسيات Docker",[189,31737,31738],{},"CI/CD مع GitHub Actions",[189,31740,31741],{},"النشر (Vercel، Netlify، Railway)",[189,31743,22153],{},[12,31745,31746],{},[174,31747,31373],{},[186,31749,31750,31753,31756,31759],{},[189,31751,31752],{},"إضافة اختبارات للمشاريع الموجودة",[189,31754,31755],{},"نشر جميع المشاريع",[189,31757,31758],{},"بناء محفظة مثيرة للإعجاب",[189,31760,21162],{},[12,31762,31763,31607],{},[174,31764,31409],{},[16,31766,31768],{"id":31767},"العوامل-التي-تؤثر-على-سرعة-التعلم","العوامل التي تؤثر على سرعة التعلم",[209,31770,31772],{"id":31771},"_1-الخبرة-البرمجية-السابقة","1. الخبرة البرمجية السابقة",[12,31774,31775],{},[174,31776,31777],{},"لا خبرة برمجية:",[186,31779,31780,31783,31786],{},[189,31781,31782],{},"الجدول الزمني: 12-18 شهر لتصبح جاهزاً للوظيفة",[189,31784,31785],{},"ستحتاج لتعلم مفاهيم البرمجة وصيغة JavaScript",[189,31787,31788],{},"توقع الكثير من لحظات \"أها!\" عندما تفهم المفاهيم",[12,31790,31791],{},[174,31792,31793],{},"لديك خبرة برمجية:",[186,31795,31796,31799,31802,31805],{},[189,31797,31798],{},"الجدول الزمني: 6-9 أشهر لتصبح جاهزاً للوظيفة",[189,31800,31801],{},"اختلافات الصيغة سهلة التعلم",[189,31803,31804],{},"التركيز على ميزات JavaScript المحددة (prototypes، async، DOM)",[189,31806,31807],{},"TypeScript سيشعر طبيعياً إذا كنت تعرف اللغات المكتوبة",[209,31809,31811],{"id":31810},"_2-الالتزام-الزمني","2. الالتزام الزمني",[12,31813,31814],{},[174,31815,31816],{},"دوام جزئي (10-15 ساعة/أسبوع):",[186,31818,31819,31822,31825,31828],{},[189,31820,31821],{},"12-18 شهر لتصبح جاهزاً للوظيفة",[189,31823,31824],{},"مستدام طويل الأمد",[189,31826,31827],{},"جيد للمحترفين العاملين",[189,31829,31830],{},"خطر التقدم البطيء ونسيان المفاهيم",[12,31832,31833],{},[174,31834,31835],{},"دوام كامل (40+ ساعة/أسبوع - نمط المعسكر التدريبي):",[186,31837,31838,31841,31844,31847],{},[189,31839,31840],{},"3-6 أشهر لتصبح جاهزاً للوظيفة",[189,31842,31843],{},"مكثف لكنه فعال",[189,31845,31846],{},"يتطلب التزام كامل",[189,31848,31849],{},"يمكن أن يؤدي للإرهاق إذا لم تكن حذراً",[12,31851,31852],{},[174,31853,31854],{},"الأمثل (15-25 ساعة/أسبوع):",[186,31856,31857,31860,31863,31866],{},[189,31858,31859],{},"8-12 شهر لتصبح جاهزاً للوظيفة",[189,31861,31862],{},"توازن بين السرعة والاحتفاظ",[189,31864,31865],{},"وقت للتدريب والمراجعة",[189,31867,31868],{},"النهج الأكثر توصية",[209,31870,31872],{"id":31871},"_3-أسلوب-التعلم-والموارد","3. أسلوب التعلم والموارد",[12,31874,31875],{},[174,31876,31877],{},"التعلم الذاتي (باستخدام الموارد المجانية):",[186,31879,31880,31883,31886,31889],{},[189,31881,31882],{},"المزايا: مجاني، جدول زمني مرن، ذاتي السرعة",[189,31884,31885],{},"العيوب: يتطلب الانضباط، لا منهج منظم",[189,31887,31888],{},"الأفضل لـ: المتعلمين ذوي الدوافع الذاتية",[189,31890,31891],{},"التكلفة: 0-100 دولار (كتب/دورات اختيارية)",[12,31893,31894],{},[174,31895,31896],{},"الدورات عبر الإنترنت:",[186,31898,31899,31902,31905,31908,31911],{},[189,31900,31901],{},"المزايا: منظم، ميسور التكلفة، شامل",[189,31903,31904],{},"العيوب: مساءلة أقل، لا توجيه",[189,31906,31907],{},"الأفضل لـ: معظم الناس",[189,31909,31910],{},"التكلفة: 20-200 دولار/شهر",[189,31912,31913],{},"أمثلة: Frontend Masters، Zero to Mastery، Scrimba",[12,31915,31916],{},[174,31917,31918],{},"المعسكرات التدريبية:",[186,31920,31921,31924,31927,31930,31933],{},[189,31922,31923],{},"المزايا: مكثف، منظم، مساعدة في توظيف",[189,31925,31926],{},"العيوب: مكلف، مكثف جداً",[189,31928,31929],{},"الأفضل لـ: مغيري المهنة مع المدخرات",[189,31931,31932],{},"التكلفة: 7,000-20,000 دولار",[189,31934,31935],{},"أمثلة: Hack Reactor، App Academy، Fullstack Academy",[12,31937,31938],{},[174,31939,31940],{},"درجة جامعية في علوم الحاسوب:",[186,31942,31943,31946,31949,31952],{},[189,31944,31945],{},"المزايا: أساسيات عميقة، مصداقية",[189,31947,31948],{},"العيوب: بطيء، مكلف، غير مركز على JavaScript",[189,31950,31951],{},"الأفضل لـ: استثمار طويل الأمد في علوم الحاسوب",[189,31953,31954],{},"التكلفة: 40,000-200,000 دولار",[209,31956,31958],{"id":31957},"_4-جودة-التدريب","4. جودة التدريب",[12,31960,31961],{},[174,31962,31963],{},"التعلم السلبي (مشاهدة الدروس):",[186,31965,31966,31969],{},[189,31967,31968],{},"التقدم: بطيء، احتفاظ ضعيف",[189,31970,31971],{},"تشعر أنك تتعلم لكن لا يمكنك بناء أي شيء",[12,31973,31974],{},[174,31975,31976],{},"التعلم النشط (بناء المشاريع):",[186,31978,31979,31982],{},[189,31980,31981],{},"التقدم: سريع، فهم عميق",[189,31983,31984],{},"يعزز المفاهيم من خلال التطبيق",[12,31986,31987],{},[174,31988,31989],{},"النهج الأفضل:",[577,31991,31994],{"className":31992,"code":31993,"language":582},[580],"1. شاهد/اقرأ المفهوم (20% من الوقت)\n2. بنِ مثال صغير (30% من الوقت)\n3. بنِ مشروع باستخدام المفهوم (50% من الوقت)\n",[584,31995,31993],{"__ignoreMap":42},[16,31997,31999],{"id":31998},"الأدوات-الحديثة-التي-تسرع-التعلم-2025","الأدوات الحديثة التي تسرع التعلم (2025)",[209,32001,32003],{"id":32002},"مساعدي-البرمجة-بالذكاء-الاصطناعي","مساعدي البرمجة بالذكاء الاصطناعي",[12,32005,32006,32008],{},[174,32007,9578],{}," (10 دولار/شهر)",[186,32010,32011,32014,32017,32020],{},[189,32012,32013],{},"يكمل الكود أثناء الكتابة",[189,32015,32016],{},"يشرح مقتطفات الكود",[189,32018,32019],{},"يولد كود boilerplate",[189,32021,32022,32025],{},[174,32023,32024],{},"تحذير:"," لا تعتمد عليه كثيراً مبكراً (تعلم الأساسيات أولاً)",[12,32027,32028],{},[174,32029,32030],{},"ChatGPT/Claude",[186,32032,32033,32036,32039,32042],{},[189,32034,32035],{},"يشرح المفاهيم بمصطلحات بسيطة",[189,32037,32038],{},"يصحح الأخطاء",[189,32040,32041],{},"يوفر أمثلة كود",[189,32043,32044],{},"يجيب على أسئلة \"لماذا\"",[12,32046,32047],{},[174,32048,32049],{},"استخدم الذكاء الاصطناعي بحكمة:",[186,32051,32052,32055,32058,32061,32064],{},[189,32053,32054],{},"✅ اسأل عن الشرح",[189,32056,32057],{},"✅ احصل على المساعدة عند تصحيح الأخطاء",[189,32059,32060],{},"✅ تعلم النهج البديلة",[189,32062,32063],{},"❌ نسخ ولصق بدون فهم",[189,32065,32066],{},"❌ تخطي تعلم الأساسيات",[209,32068,32070],{"id":32069},"منصات-التعلم-الحديثة-2025","منصات التعلم الحديثة (2025)",[12,32072,32073],{},[174,32074,32075],{},"مجاني:",[186,32077,32078,32084,32090,32096,32102],{},[189,32079,32080,32083],{},[174,32081,32082],{},"freeCodeCamp"," - شامل، مبني على المشاريع",[189,32085,32086,32089],{},[174,32087,32088],{},"JavaScript.info"," - أفضل مرجع JavaScript",[189,32091,32092,32095],{},[174,32093,32094],{},"Scrimba"," - screencasts تفاعلية (طبقة مجانية)",[189,32097,32098,32101],{},[174,32099,32100],{},"MDN Web Docs"," - المرجع الرسمي",[189,32103,32104,32107],{},[174,32105,32106],{},"YouTube"," - Fireship، Web Dev Simplified، Traversy Media",[12,32109,32110],{},[174,32111,32112],{},"مدفوع (يستحق العناء):",[186,32114,32115,32120,32125,32131],{},[189,32116,32117,32119],{},[174,32118,9930],{}," (39 دولار/شهر) - دورات عميقة، خبراء الصناعة",[189,32121,32122,32124],{},[174,32123,32094],{}," (20 دولار/شهر) - تعلم تفاعلي",[189,32126,32127,32130],{},[174,32128,32129],{},"Zero to Mastery"," (39 دولار/شهر) - مسارات مهنية كاملة",[189,32132,32133,32135],{},[174,32134,9918],{}," (مجاني + توجيه) - تدريب مع تغذية راجعة",[209,32137,32139],{"id":32138},"أدوات-التطوير","أدوات التطوير",[12,32141,32142],{},[174,32143,32144],{},"أساسي:",[186,32146,32147,32153,32158,32164],{},[189,32148,32149,32152],{},[174,32150,32151],{},"VS Code"," - محرر النصوص المعياري في الصناعة",[189,32154,32155,32157],{},[174,32156,31476],{}," - تصحيح الأخطاء",[189,32159,32160,32163],{},[174,32161,32162],{},"Git/GitHub"," - مراقبة الإصدارات",[189,32165,32166,32168],{},[174,32167,22959],{}," - تشغيل JavaScript في كل مكان",[12,32170,32171],{},[174,32172,32173],{},"مفيد:",[186,32175,32176,32181,32187,32193],{},[189,32177,32178,32180],{},[174,32179,10655],{}," - خادم تطوير سريع",[189,32182,32183,32186],{},[174,32184,32185],{},"Thunder Client"," - اختبار API في VS Code",[189,32188,32189,32192],{},[174,32190,32191],{},"Prettier"," - تنسيق الكود",[189,32194,32195,32198],{},[174,32196,32197],{},"ESLint"," - جودة الكود",[16,32200,32202],{"id":32201},"الفخاخ-الشائعة-وكيفية-تجنبها","الفخاخ الشائعة وكيفية تجنبها",[209,32204,32206],{"id":32205},"جحيم-الدروس","جحيم الدروس",[12,32208,32209,32212],{},[174,32210,32211],{},"العرض:"," مشاهدة درس بعد درس لكن لا يمكن بناء أي شيء بشكل مستقل",[12,32214,32215],{},[174,32216,9184],{},[186,32218,32219,32222,32225,32228],{},[189,32220,32221],{},"بنِ مشاريع بدون دروس",[189,32223,32224],{},"استخدم الدروس للمفاهيم، ثم بنِ نسختك الخاصة",[189,32226,32227],{},"أجبر نفسك على حل المشكلات بشكل مستقل",[189,32229,32230],{},"حد أقصى 2 ساعات من الدروس لكل 8 ساعات برمجة",[209,32232,32234],{"id":32233},"متلازمة-المحتال","متلازمة المحتال",[12,32236,32237,32239],{},[174,32238,32211],{}," الشعور أنك لن تكون جيداً بما يكفي",[12,32241,32242],{},[174,32243,423],{},[186,32245,32246,32249,32252],{},[189,32247,32248],{},"الجميع يشعر بهذا",[189,32250,32251],{},"حتى المطورون الكبار يبحثون عن الصيغة الأساسية",[189,32253,32254],{},"المقارنة هي لص الفرح",[12,32256,32257],{},[174,32258,9184],{},[186,32260,32261,32264,32267],{},[189,32262,32263],{},"تتبع تقدمك (سجل تعلماتك)",[189,32265,32266],{},"قارن نفسك بما كنت عليه الشهر الماضي",[189,32268,32269],{},"انضم لمجتمعات داعمة",[209,32271,32273],{"id":32272},"القفز-بين-الأطر","القفز بين الأطر",[12,32275,32276,32278],{},[174,32277,32211],{}," التبديل من React إلى Vue إلى Angular بدون إتقان أي منها",[12,32280,32281],{},[174,32282,9184],{},[186,32284,32285,32288,32291],{},[189,32286,32287],{},"اختر إطار عمل واحد (React للوظائف، Vue للمتعة)",[189,32289,32290],{},"التزم به لمدة 3 أشهر على الأقل",[189,32292,32293],{},"تعلمه بعمق قبل استكشاف الآخرين",[209,32295,32297],{"id":32296},"إهمال-الأساسيات","إهمال الأساسيات",[12,32299,32300,32302],{},[174,32301,32211],{}," القفز للأطر قبل فهم vanilla JavaScript",[12,32304,32305],{},[174,32306,9184],{},[186,32308,32309,32312,32315],{},[189,32310,32311],{},"اقضِ 3 أشهر على الأقل على vanilla JS",[189,32313,32314],{},"فهم closures، prototypes، async قبل الأطر",[189,32316,32317],{},"الأطر تذهب وتأتي، الأساسيات تبقى",[16,32319,32321],{"id":32320},"علامات-أنك-جاهز-لوظيفة-javascript","علامات أنك جاهز لوظيفة JavaScript",[12,32323,14769,32324],{},[174,32325,32326],{},"المهارات التقنية:",[186,32328,32329,32332,32335,32338,32341,32344,32347],{},[189,32330,32331],{},"بنِ تطبيقات كاملة الواجهات بشكل مستقل",[189,32333,32334],{},"فهم JavaScript غير متزامن بعمق",[189,32336,32337],{},"مرتاح مع React/Vue",[189,32339,32340],{},"يمكن استخدام Git بثقة",[189,32342,32343],{},"اكتب كود نظيف وقابل للقراءة",[189,32345,32346],{},"صحح الأخطاء بشكل منهجي",[189,32348,32349],{},"معرفة الاختبار الأساسية",[12,32351,14769,32352],{},[174,32353,32354],{},"المشاريع:",[186,32356,32357,32360,32363,32366,32369],{},[189,32358,32359],{},"3-5 مشاريع مصقولة على GitHub",[189,32361,32362],{},"مشروع واحد على الأقل كامل الواجهات",[189,32364,32365],{},"منشور ويمكن الوصول إليه عبر الإنترنت",[189,32367,32368],{},"README نظيف مع لقطات شاشة",[189,32370,32371],{},"يظهر مهارات مختلفة",[12,32373,14769,32374],{},[174,32375,32376],{},"المهارات الناعمة:",[186,32378,32379,32382,32385,32388,32391],{},[189,32380,32381],{},"يمكن شرح كودك",[189,32383,32384],{},"قراءة وفهم كود الآخرين",[189,32386,32387],{},"طرح أسئلة جيدة",[189,32389,32390],{},"البحث عن الحلول بشكل مستقل",[189,32392,32393],{},"التعاون على GitHub",[16,32395,32397],{"id":32396},"تسريع-التعلم","تسريع التعلم",[209,32399,32401],{"id":32400},"العادات-اليومية-التي-تعمل","العادات اليومية التي تعمل",[577,32403,32406],{"className":32404,"code":32405,"language":582},[580],"الصباح (ساعة واحدة):\n- مراجعة مفاهيم الأمس\n- قراءة مقال/وثائق JavaScript\n\nالظهيرة/المساء (2-3 ساعات):\n- جلسة برمجة نشطة\n- بناء أو توسيع مشروع\n- تدريب على Codewars/LeetCode (30 دقيقة)\n\nنهاية الأسبوع:\n- مشاريع أطول\n- استكشاف مفاهيم جديدة\n- مراجعة تقدم الأسبوع\n",[584,32407,32405],{"__ignoreMap":42},[209,32409,32411],{"id":32410},"الأهداف-الأسبوعية","الأهداف الأسبوعية",[186,32413,32414,32420,32426],{},[189,32415,32416,32419],{},[174,32417,32418],{},"الأسبوع 1-4:"," أكمل مفهوم رئيسي واحد + مشروعين صغيرين",[189,32421,32422,32425],{},[174,32423,32424],{},"الشهر 3+:"," بنِ مشروع كامل شهرياً",[189,32427,32428,32431],{},[174,32429,32430],{},"الشهر 6+:"," ساهم في مشروع مصدر مفتوح واحد",[209,32433,32435],{"id":32434},"تقنيات-التعلم","تقنيات التعلم",[12,32437,32438],{},[174,32439,32440],{},"تقنية Feynman:",[1049,32442,32443,32446,32449,32452],{},[189,32444,32445],{},"تعلم المفهوم",[189,32447,32448],{},"شرحها بمصطلحات بسيطة (منشور مدونة، فيديو، صديق)",[189,32450,32451],{},"تحديد الفجوات في الفهم",[189,32453,32454],{},"مراجعة وتبسيط أكثر",[12,32456,32457],{},[174,32458,32459],{},"البناء علناً:",[186,32461,32462,32465,32468,32471],{},[189,32463,32464],{},"مشاركة التقدم على Twitter/LinkedIn",[189,32466,32467],{},"الحصول على تغذية راجعة من المجتمع",[189,32469,32470],{},"البقاء مسؤولاً",[189,32472,32473],{},"التواصل مع المتعلمين الآخرين",[16,32475,32477],{"id":32476},"توقعات-سوق-العمل-الواقعية-2025","توقعات سوق العمل الواقعية (2025)",[209,32479,32481],{"id":32480},"مطور-javascript-مبتدئ","مطور JavaScript مبتدئ",[12,32483,32484],{},[174,32485,32486],{},"المتطلبات:",[186,32488,32489,32492,32495,32497,32500],{},[189,32490,32491],{},"6-12 شهر تعلم",[189,32493,32494],{},"محفظة مع 3-5 مشاريع",[189,32496,31296],{},[189,32498,32499],{},"معرفة Node.js الأساسية",[189,32501,32502],{},"مهارات Git/GitHub",[12,32504,32505],{},[174,32506,32507],{},"نطاقات الراتب (الولايات المتحدة):",[186,32509,32510,32513,32516],{},[189,32511,32512],{},"مبتدئ: 60,000 - 85,000 دولار",[189,32514,32515],{},"متوسط (2-4 سنوات): 85,000 - 120,000 دولار",[189,32517,32518],{},"كبير (5+ سنوات): 120,000 - 180,000 دولار",[12,32520,32521],{},[174,32522,32523],{},"الفرص عن بعد:",[186,32525,32526,32529,32532,32535],{},[189,32527,32528],{},"العديد من الشركات تعمل عن بعد بالكامل",[189,32530,32531],{},"المنافسة عالمية",[189,32533,32534],{},"التركيز على مهارات التواصل",[189,32536,32537],{},"المحفظة حاسمة",[16,32539,32541],{"id":32540},"الخاتمة-الرحلة-ليس-الوجهة","الخاتمة: الرحلة، ليس الوجهة",[12,32543,32544],{},"تعلم JavaScript سباق ماراثون، ليس سباق قصير. في 2025، مع أدوات الذكاء الاصطناعي، الأطر الحديثة، والموارد الوفيرة، لديك كل ما تحتاجه للنجاح.",[12,32546,32547],{},[174,32548,32549],{},"النقاط الرئيسية:",[1049,32551,32552,32557,32563,32569,32575],{},[189,32553,32554,32556],{},[174,32555,31214],{}," لبناء مشاريع حقيقية",[189,32558,32559,32562],{},[174,32560,32561],{},"6-12 شهر"," لتصبح جاهزاً للوظيفة (مع جهد مخصص)",[189,32564,32565,32568],{},[174,32566,32567],{},"الأساسيات أولاً","، الأطر ثانياً",[189,32570,32571,32574],{},[174,32572,32573],{},"بنِ مشاريع"," باستمرار",[189,32576,32577,32580],{},[174,32578,32579],{},"استخدم الذكاء الاصطناعي بحكمة"," كأداة تعلم، ليس عكازة",[12,32582,32583],{},"نظام JavaScript يتطور بسرعة، لكن اللغة الأساسية تبقى مستقرة. ركز على الأساسيات، تدرب باستمرار، وابنِ مشاريع حقيقية. ستندهش مما يمكنك إنشاؤه في بضعة أشهر فقط.",[12,32585,32586,32589,32590,32593],{},[174,32587,32588],{},"خطوتك التالية:"," ابدأ اليوم. اختر مورد واحد، اكتب ",[584,32591,32592],{},"console.log(\"Hello, World!\")"," الأول، وتلتزم بالحضور كل يوم. أنت المستقبلي سيشكرك الحاضر على البدء.",[12,32595,32596],{},"حظاً موفقاً في رحلة JavaScript! 🚀",{"title":42,"searchDepth":43,"depth":43,"links":32598},[32599,32600,32601,32610,32616,32621,32627,32628,32633,32636],{"id":31132,"depth":46,"text":31133},{"id":31220,"depth":46,"text":31221},{"id":31333,"depth":46,"text":31334,"children":32602},[32603,32604,32605,32606,32607,32608,32609],{"id":31337,"depth":43,"text":31338},{"id":31413,"depth":43,"text":31414},{"id":31487,"depth":43,"text":31488},{"id":31531,"depth":43,"text":31532},{"id":31610,"depth":43,"text":31611},{"id":31660,"depth":43,"text":31661},{"id":31714,"depth":43,"text":31715},{"id":31767,"depth":46,"text":31768,"children":32611},[32612,32613,32614,32615],{"id":31771,"depth":43,"text":31772},{"id":31810,"depth":43,"text":31811},{"id":31871,"depth":43,"text":31872},{"id":31957,"depth":43,"text":31958},{"id":31998,"depth":46,"text":31999,"children":32617},[32618,32619,32620],{"id":32002,"depth":43,"text":32003},{"id":32069,"depth":43,"text":32070},{"id":32138,"depth":43,"text":32139},{"id":32201,"depth":46,"text":32202,"children":32622},[32623,32624,32625,32626],{"id":32205,"depth":43,"text":32206},{"id":32233,"depth":43,"text":32234},{"id":32272,"depth":43,"text":32273},{"id":32296,"depth":43,"text":32297},{"id":32320,"depth":46,"text":32321},{"id":32396,"depth":46,"text":32397,"children":32629},[32630,32631,32632],{"id":32400,"depth":43,"text":32401},{"id":32410,"depth":43,"text":32411},{"id":32434,"depth":43,"text":32435},{"id":32476,"depth":46,"text":32477,"children":32634},[32635],{"id":32480,"depth":43,"text":32481},{"id":32540,"depth":46,"text":32541},"تتساءل كم يستغرق تعلم JavaScript؟ احصل على جدول زمني واقعي بناءً على مستوى خبرتك، مسار التعلم، وأهدافك. يشمل الأطر الحديثة، أدوات الذكاء الاصطناعي، وخارطة طريق شهرية.","https://images.unsplash.com/photo-1550063873-ab792950096b?q=80&w=1200",{"excerpt":32640},{"type":9,"value":32641},[32642,32644,32648],[12,32643,31120],{},[12,32645,32646,31126],{},[174,32647,31125],{},[12,32649,31129],{},"/km-ystghrq-talm-javascript-2025","2022-12-18",{"title":31115,"description":32637},"كم-يستغرق-تعلم-javascript-2025",[3626,2681,22794,26853,1471,3627,1472],"uFBoZzrfI2D-kkbqxAE4cAKSXqHdnBL-CShyflKJktM",{"id":32657,"title":32658,"author":7,"body":32659,"category":1437,"description":35172,"extension":52,"image":35173,"isDraft":55,"isFeatured":55,"locale":56,"meta":35174,"navigation":54,"path":35185,"publishedAt":35186,"readingTime":2119,"seo":35187,"stem":35188,"tags":35189,"updatedAt":1476,"__hash__":35194},"articles_ar/كم-يستغرق-تعلم-python-2025.md","كم يستغرق تعلم Python في 2025؟ خارطة طريق كاملة للذكاء الاصطناعي وعلم البيانات",{"type":9,"value":32660,"toc":35130},[32661,32664,32670,32673,32677,32785,32789,32792,32797,32814,32819,32836,32841,32846,32863,32868,32885,32890,32906,32911,32928,32932,32936,32941,32945,33046,33050,33066,33070,33096,33101,33105,33110,33114,33200,33204,33218,33222,33226,33233,33238,33305,33309,33323,33328,33396,33400,33411,33416,33473,33477,33488,33494,33499,33562,33566,33580,33585,33662,33666,33677,33682,33730,33734,33748,33754,33759,33821,33825,33836,33841,33899,33903,33914,33919,33973,33977,33988,33992,33997,34002,34007,34021,34026,34040,34045,34059,34064,34068,34072,34076,34087,34092,34098,34102,34107,34132,34137,34227,34232,34290,34294,34299,34313,34318,34331,34336,34350,34354,34368,34372,34374,34379,34389,34394,34404,34409,34471,34475,34480,34491,34496,34506,34511,34522,34526,34531,34539,34544,34555,34560,34569,34571,34575,34580,34584,34590,34594,34599,34603,34614,34618,34623,34627,34638,34642,34647,34651,34662,34666,34670,34690,34695,34709,34714,34732,34736,34749,34753,34757,34763,34774,34779,34790,34795,34806,34812,34823,34827,34832,34846,34851,34865,34869,34873,34878,34894,34899,34903,34909,34913,34917,34947,34951,34977,34982,34996,35000,35005,35019,35024,35038,35043,35057,35062,35075,35077,35080,35084,35114,35117,35127],[12,32662,32663],{},"Python هي اللغة رقم 1 للذكاء الاصطناعي، علم البيانات، والأتمتة في 2025. مع انفجار ChatGPT، تعلم الآلة، وأدوات الذكاء الاصطناعي، تعلم Python لم يكن أكثر قيمة - أو أكثر سهولة.",[12,32665,32666,32669],{},[174,32667,32668],{},"الإجابة الواقعية:"," 2-3 أشهر لكتابة سكريبتات مفيدة، 6-9 أشهر لبناء مشاريع الذكاء الاصطناعي/تعلم الآلة، 12-18 شهر لتصبح جاهزاً للوظيفة في علم البيانات أو تطوير الخلفية.",[12,32671,32672],{},"يغطي هذا الدليل مسارات تعلم Python الحديثة لعام 2025، بما في ذلك الذكاء الاصطناعي/تعلم الآلة، علم البيانات، تطوير الويب، والأتمتة. ستحصل على جداول زمنية واقعية، أدوات حديثة، وخارطة طريق عملية.",[16,32674,32676],{"id":32675},"جدول-زمني-سريع-حسب-مسار-المهنة","جدول زمني سريع حسب مسار المهنة",[643,32678,32679,32694],{},[646,32680,32681],{},[649,32682,32683,32686,32689,32691],{},[652,32684,32685],{},"مسار المهنة",[652,32687,32688],{},"الوقت للمشاريع الأولى",[652,32690,31148],{},[652,32692,32693],{},"متوسط راتب البداية (الولايات المتحدة)",[659,32695,32696,32711,32725,32740,32756,32771],{},[649,32697,32698,32703,32706,32708],{},[664,32699,32700],{},[174,32701,32702],{},"محلل البيانات",[664,32704,32705],{},"3-4 أشهر",[664,32707,31182],{},[664,32709,32710],{},"65,000 - 85,000 دولار",[649,32712,32713,32718,32720,32722],{},[664,32714,32715],{},[174,32716,32717],{},"عالم البيانات",[664,32719,31182],{},[664,32721,31166],{},[664,32723,32724],{},"95,000 - 120,000 دولار",[649,32726,32727,32732,32734,32737],{},[664,32728,32729],{},[174,32730,32731],{},"مهندس تعلم الآلة",[664,32733,31198],{},[664,32735,32736],{},"18-24 شهر",[664,32738,32739],{},"110,000 - 150,000 دولار",[649,32741,32742,32747,32750,32753],{},[664,32743,32744],{},[174,32745,32746],{},"مطور خلفية",[664,32748,32749],{},"4-6 أشهر",[664,32751,32752],{},"9-12 شهر",[664,32754,32755],{},"75,000 - 100,000 دولار",[649,32757,32758,32763,32766,32768],{},[664,32759,32760],{},[174,32761,32762],{},"DevOps/الأتمتة",[664,32764,32765],{},"3-5 أشهر",[664,32767,31198],{},[664,32769,32770],{},"80,000 - 110,000 دولار",[649,32772,32773,32778,32780,32782],{},[664,32774,32775],{},[174,32776,32777],{},"عام Python",[664,32779,32705],{},[664,32781,31182],{},[664,32783,32784],{},"70,000 - 90,000 دولار",[16,32786,32788],{"id":32787},"ما-يعني-تعلم-python-في-2025","ما يعني \"تعلم Python\" في 2025",[12,32790,32791],{},"Python لديها مستويات مهارات مختلفة حسب أهدافك:",[12,32793,32794],{},[174,32795,32796],{},"المستوى 1: أساسيات Python (4-6 أسابيع)",[186,32798,32799,32802,32805,32808,32811],{},[189,32800,32801],{},"المتغيرات، أنواع البيانات، الشروط",[189,32803,32804],{},"الحلقات والوظائف",[189,32806,32807],{},"القوائم، القواميس، المجموعات",[189,32809,32810],{},"معالجة الملفات",[189,32812,32813],{},"يمكن كتابة سكريبتات أتمتة بسيطة",[12,32815,32816],{},[174,32817,32818],{},"المستوى 2: Python المتوسط (3 أشهر)",[186,32820,32821,32824,32827,32830,32833],{},[189,32822,32823],{},"البرمجة كائنية التوجه (الفئات، الوراثة)",[189,32825,32826],{},"معالجة الأخطاء وتصحيح الأخطاء",[189,32828,32829],{},"العمل مع المكتبات (requests، أساسيات pandas)",[189,32831,32832],{},"البيئات الافتراضية (venv، pip)",[189,32834,32835],{},"يمكن بناء أدوات وأسكريبت مفيدة",[12,32837,32838],{},[174,32839,32840],{},"المستوى 3: مسار متخصص (6-9 أشهر)",[12,32842,32843],{},[174,32844,32845],{},"مسار علم البيانات:",[186,32847,32848,32851,32854,32857,32860],{},[189,32849,32850],{},"NumPy، Pandas (معالجة البيانات)",[189,32852,32853],{},"Matplotlib، Seaborn (التصور)",[189,32855,32856],{},"Jupyter Notebooks",[189,32858,32859],{},"SQL لقواعد البيانات",[189,32861,32862],{},"التحليل الإحصائي",[12,32864,32865],{},[174,32866,32867],{},"مسار الذكاء الاصطناعي/تعلم الآلة:",[186,32869,32870,32873,32876,32879,32882],{},[189,32871,32872],{},"scikit-learn (تعلم الآلة التقليدي)",[189,32874,32875],{},"TensorFlow أو PyTorch (تعلم الآلة العميق)",[189,32877,32878],{},"Hugging Face Transformers (نماذج اللغة الكبيرة)",[189,32880,32881],{},"قواعد البيانات المتجهة",[189,32883,32884],{},"نشر النماذج",[12,32886,32887],{},[174,32888,32889],{},"مسار تطوير الويب:",[186,32891,32892,32895,32898,32901,32903],{},[189,32893,32894],{},"FastAPI أو Django",[189,32896,32897],{},"RESTful APIs",[189,32899,32900],{},"تكامل قواعد البيانات (PostgreSQL)",[189,32902,13642],{},[189,32904,32905],{},"نشر Docker",[12,32907,32908],{},[174,32909,32910],{},"المستوى 4: جاهز للوظيفة (12-18 شهر)",[186,32912,32913,32916,32919,32922,32925],{},[189,32914,32915],{},"محفظة من 3-5 مشاريع",[189,32917,32918],{},"مراقبة الإصدارات (Git/GitHub)",[189,32920,32921],{},"الاختبار (pytest)",[189,32923,32924],{},"النشر السحابي (AWS، Google Cloud)",[189,32926,32927],{},"الخبرة المجالية (المالية، الرعاية الصحية، إلخ)",[16,32929,32931],{"id":32930},"خارطة-طريق-التعلم-شهرية","خارطة طريق التعلم شهرية",[209,32933,32935],{"id":32934},"الأشهر-1-2-أساسيات-python","الأشهر 1-2: أساسيات Python",[12,32937,32938,32940],{},[174,32939,31343],{}," صيغة Python الأساسية ومفاهيم البرمجة",[12,32942,32943],{},[174,32944,21022],{},[577,32946,32948],{"className":2521,"code":32947,"language":2523,"meta":42,"style":42},"# المتغيرات وأنواع البيانات\nname = \"Alice\"\nage = 25\nis_student = True\n\n# القوائم والقواميس\nskills = [\"Python\", \"SQL\", \"ML\"]\nperson = {\"name\": \"Alice\", \"age\": 25}\n\n# الوظائف\ndef greet(name):\n    return f\"Hello, {name}!\"\n\n# الحلقات\nfor skill in skills:\n    print(skill)\n\n# الشروط\nif age >= 18:\n    print(\"Adult\")\n",[584,32949,32950,32955,32960,32965,32970,32974,32979,32984,32989,32993,32998,33003,33008,33012,33017,33022,33027,33031,33036,33041],{"__ignoreMap":42},[2008,32951,32952],{"class":2528,"line":2529},[2008,32953,32954],{},"# المتغيرات وأنواع البيانات\n",[2008,32956,32957],{"class":2528,"line":46},[2008,32958,32959],{},"name = \"Alice\"\n",[2008,32961,32962],{"class":2528,"line":43},[2008,32963,32964],{},"age = 25\n",[2008,32966,32967],{"class":2528,"line":2545},[2008,32968,32969],{},"is_student = True\n",[2008,32971,32972],{"class":2528,"line":2551},[2008,32973,2548],{"emptyLinePlaceholder":54},[2008,32975,32976],{"class":2528,"line":2557},[2008,32977,32978],{},"# القوائم والقواميس\n",[2008,32980,32981],{"class":2528,"line":2563},[2008,32982,32983],{},"skills = [\"Python\", \"SQL\", \"ML\"]\n",[2008,32985,32986],{"class":2528,"line":2568},[2008,32987,32988],{},"person = {\"name\": \"Alice\", \"age\": 25}\n",[2008,32990,32991],{"class":2528,"line":2574},[2008,32992,2548],{"emptyLinePlaceholder":54},[2008,32994,32995],{"class":2528,"line":1467},[2008,32996,32997],{},"# الوظائف\n",[2008,32999,33000],{"class":2528,"line":2818},[2008,33001,33002],{},"def greet(name):\n",[2008,33004,33005],{"class":2528,"line":2842},[2008,33006,33007],{},"    return f\"Hello, {name}!\"\n",[2008,33009,33010],{"class":2528,"line":2862},[2008,33011,2548],{"emptyLinePlaceholder":54},[2008,33013,33014],{"class":2528,"line":2119},[2008,33015,33016],{},"# الحلقات\n",[2008,33018,33019],{"class":2528,"line":2035},[2008,33020,33021],{},"for skill in skills:\n",[2008,33023,33024],{"class":2528,"line":3038},[2008,33025,33026],{},"    print(skill)\n",[2008,33028,33029],{"class":2528,"line":3044},[2008,33030,2548],{"emptyLinePlaceholder":54},[2008,33032,33033],{"class":2528,"line":2380},[2008,33034,33035],{},"# الشروط\n",[2008,33037,33038],{"class":2528,"line":4107},[2008,33039,33040],{},"if age >= 18:\n",[2008,33042,33043],{"class":2528,"line":64},[2008,33044,33045],{},"    print(\"Adult\")\n",[12,33047,33048],{},[174,33049,31373],{},[186,33051,33052,33054,33057,33060,33063],{},[189,33053,20675],{},[189,33055,33056],{},"مولد كلمات مرور",[189,33058,33059],{},"قائمة مهام (سطر الأوامر)",[189,33061,33062],{},"لعبة تخمين بسيطة",[189,33064,33065],{},"محلل ملف CSV",[12,33067,33068],{},[174,33069,14710],{},[186,33071,33072,33078,33084,33090],{},[189,33073,33074,33077],{},[174,33075,33076],{},"دورة Python.org"," (مجانية، رسمية)",[189,33079,33080,33083],{},[174,33081,33082],{},"أتمتة الأمور المملة"," (كتاب مجاني)",[189,33085,33086,33089],{},[174,33087,33088],{},"دورة freeCodeCamp Python"," (مجانية، 4 ساعات)",[189,33091,33092,33095],{},[174,33093,33094],{},"Codecademy Python"," (تفاعلية)",[12,33097,33098,31410],{},[174,33099,33100],{},"الوقت:",[209,33102,33104],{"id":33103},"الشهر-3-البرمجة-كائنية-التوجه-والمكتبات","الشهر 3: البرمجة كائنية التوجه والمكتبات",[12,33106,33107,33109],{},[174,33108,31343],{}," الفئات والعمل مع المكتبات الخارجية",[12,33111,33112],{},[174,33113,21022],{},[577,33115,33117],{"className":2521,"code":33116,"language":2523,"meta":42,"style":42},"# الفئات\nclass User:\n    def __init__(self, name, email):\n        self.name = name\n        self.email = email\n    \n    def send_email(self):\n        print(f\"Email sent to {self.email}\")\n\n# العمل مع المكتبات\nimport requests\nresponse = requests.get(\"https://api.github.com/users/octocat\")\ndata = response.json()\n\n# معالجة الملفات\nwith open(\"data.txt\", \"r\") as file:\n    content = file.read()\n",[584,33118,33119,33124,33129,33134,33139,33144,33148,33153,33158,33162,33167,33171,33176,33181,33185,33190,33195],{"__ignoreMap":42},[2008,33120,33121],{"class":2528,"line":2529},[2008,33122,33123],{},"# الفئات\n",[2008,33125,33126],{"class":2528,"line":46},[2008,33127,33128],{},"class User:\n",[2008,33130,33131],{"class":2528,"line":43},[2008,33132,33133],{},"    def __init__(self, name, email):\n",[2008,33135,33136],{"class":2528,"line":2545},[2008,33137,33138],{},"        self.name = name\n",[2008,33140,33141],{"class":2528,"line":2551},[2008,33142,33143],{},"        self.email = email\n",[2008,33145,33146],{"class":2528,"line":2557},[2008,33147,2991],{},[2008,33149,33150],{"class":2528,"line":2563},[2008,33151,33152],{},"    def send_email(self):\n",[2008,33154,33155],{"class":2528,"line":2568},[2008,33156,33157],{},"        print(f\"Email sent to {self.email}\")\n",[2008,33159,33160],{"class":2528,"line":2574},[2008,33161,2548],{"emptyLinePlaceholder":54},[2008,33163,33164],{"class":2528,"line":1467},[2008,33165,33166],{},"# العمل مع المكتبات\n",[2008,33168,33169],{"class":2528,"line":2818},[2008,33170,2542],{},[2008,33172,33173],{"class":2528,"line":2842},[2008,33174,33175],{},"response = requests.get(\"https://api.github.com/users/octocat\")\n",[2008,33177,33178],{"class":2528,"line":2862},[2008,33179,33180],{},"data = response.json()\n",[2008,33182,33183],{"class":2528,"line":2119},[2008,33184,2548],{"emptyLinePlaceholder":54},[2008,33186,33187],{"class":2528,"line":2035},[2008,33188,33189],{},"# معالجة الملفات\n",[2008,33191,33192],{"class":2528,"line":3038},[2008,33193,33194],{},"with open(\"data.txt\", \"r\") as file:\n",[2008,33196,33197],{"class":2528,"line":3044},[2008,33198,33199],{},"    content = file.read()\n",[12,33201,33202],{},[174,33203,31373],{},[186,33205,33206,33209,33212,33215],{},[189,33207,33208],{},"تطبيق طقس باستخدام OpenWeather API",[189,33210,33211],{},"مكشط ويب مع BeautifulSoup",[189,33213,33214],{},"سكريبت أتمتة البريد الإلكتروني",[189,33216,33217],{},"أداة CLI مع argparse",[12,33219,33220,31484],{},[174,33221,33100],{},[209,33223,33225],{"id":33224},"الأشهر-4-6-اختر-مسارك","الأشهر 4-6: اختر مسارك",[33227,33228,33230],"h4",{"id":33229},"المسار-أ-علم-البيانات-والتحليلات",[174,33231,33232],{},"المسار أ: علم البيانات والتحليلات",[12,33234,33235],{},[174,33236,33237],{},"الشهر 4: Pandas وNumPy",[577,33239,33241],{"className":2521,"code":33240,"language":2523,"meta":42,"style":42},"import pandas as pd\nimport numpy as np\n\n# تحميل وتحليل البيانات\ndf = pd.read_csv(\"sales_data.csv\")\nprint(df.describe())\n\n# التجميع والتجميع\nmonthly_sales = df.groupby(\"month\")[\"revenue\"].sum()\n\n# تنظيف البيانات\ndf = df.dropna()\ndf[\"date\"] = pd.to_datetime(df[\"date\"])\n",[584,33242,33243,33248,33253,33257,33262,33267,33272,33276,33281,33286,33290,33295,33300],{"__ignoreMap":42},[2008,33244,33245],{"class":2528,"line":2529},[2008,33246,33247],{},"import pandas as pd\n",[2008,33249,33250],{"class":2528,"line":46},[2008,33251,33252],{},"import numpy as np\n",[2008,33254,33255],{"class":2528,"line":43},[2008,33256,2548],{"emptyLinePlaceholder":54},[2008,33258,33259],{"class":2528,"line":2545},[2008,33260,33261],{},"# تحميل وتحليل البيانات\n",[2008,33263,33264],{"class":2528,"line":2551},[2008,33265,33266],{},"df = pd.read_csv(\"sales_data.csv\")\n",[2008,33268,33269],{"class":2528,"line":2557},[2008,33270,33271],{},"print(df.describe())\n",[2008,33273,33274],{"class":2528,"line":2563},[2008,33275,2548],{"emptyLinePlaceholder":54},[2008,33277,33278],{"class":2528,"line":2568},[2008,33279,33280],{},"# التجميع والتجميع\n",[2008,33282,33283],{"class":2528,"line":2574},[2008,33284,33285],{},"monthly_sales = df.groupby(\"month\")[\"revenue\"].sum()\n",[2008,33287,33288],{"class":2528,"line":1467},[2008,33289,2548],{"emptyLinePlaceholder":54},[2008,33291,33292],{"class":2528,"line":2818},[2008,33293,33294],{},"# تنظيف البيانات\n",[2008,33296,33297],{"class":2528,"line":2842},[2008,33298,33299],{},"df = df.dropna()\n",[2008,33301,33302],{"class":2528,"line":2862},[2008,33303,33304],{},"df[\"date\"] = pd.to_datetime(df[\"date\"])\n",[12,33306,33307],{},[174,33308,32354],{},[186,33310,33311,33314,33317,33320],{},[189,33312,33313],{},"تحليل بيانات المبيعات",[189,33315,33316],{},"تصور بيانات COVID-19",[189,33318,33319],{},"محلل درجات الطلاب",[189,33321,33322],{},"تحليل أسعار الأسهم",[12,33324,33325],{},[174,33326,33327],{},"الشهر 5: تصور البيانات",[577,33329,33331],{"className":2521,"code":33330,"language":2523,"meta":42,"style":42},"import matplotlib.pyplot as plt\nimport seaborn as sns\n\n# إنشاء التصورات\nplt.figure(figsize=(10, 6))\nsns.barplot(x=\"month\", y=\"sales\", data=df)\nplt.title(\"Monthly Sales\")\nplt.show()\n\n# لوحات تحكم تفاعلية مع Streamlit\nimport streamlit as st\nst.title(\"Sales Dashboard\")\nst.line_chart(df[\"sales\"])\n",[584,33332,33333,33338,33343,33347,33352,33357,33362,33367,33372,33376,33381,33386,33391],{"__ignoreMap":42},[2008,33334,33335],{"class":2528,"line":2529},[2008,33336,33337],{},"import matplotlib.pyplot as plt\n",[2008,33339,33340],{"class":2528,"line":46},[2008,33341,33342],{},"import seaborn as sns\n",[2008,33344,33345],{"class":2528,"line":43},[2008,33346,2548],{"emptyLinePlaceholder":54},[2008,33348,33349],{"class":2528,"line":2545},[2008,33350,33351],{},"# إنشاء التصورات\n",[2008,33353,33354],{"class":2528,"line":2551},[2008,33355,33356],{},"plt.figure(figsize=(10, 6))\n",[2008,33358,33359],{"class":2528,"line":2557},[2008,33360,33361],{},"sns.barplot(x=\"month\", y=\"sales\", data=df)\n",[2008,33363,33364],{"class":2528,"line":2563},[2008,33365,33366],{},"plt.title(\"Monthly Sales\")\n",[2008,33368,33369],{"class":2528,"line":2568},[2008,33370,33371],{},"plt.show()\n",[2008,33373,33374],{"class":2528,"line":2574},[2008,33375,2548],{"emptyLinePlaceholder":54},[2008,33377,33378],{"class":2528,"line":1467},[2008,33379,33380],{},"# لوحات تحكم تفاعلية مع Streamlit\n",[2008,33382,33383],{"class":2528,"line":2818},[2008,33384,33385],{},"import streamlit as st\n",[2008,33387,33388],{"class":2528,"line":2842},[2008,33389,33390],{},"st.title(\"Sales Dashboard\")\n",[2008,33392,33393],{"class":2528,"line":2862},[2008,33394,33395],{},"st.line_chart(df[\"sales\"])\n",[12,33397,33398],{},[174,33399,32354],{},[186,33401,33402,33405,33408],{},[189,33403,33404],{},"لوحة تحكم تفاعلية مع Streamlit",[189,33406,33407],{},"دفتر Jupyter لاستكشاف البيانات",[189,33409,33410],{},"تقرير تحليلات الأعمال",[12,33412,33413],{},[174,33414,33415],{},"الشهر 6: SQL وقواعد البيانات",[577,33417,33419],{"className":2521,"code":33418,"language":2523,"meta":42,"style":42},"import sqlite3\nimport pandas as pd\n\n# عمليات قاعدة البيانات\nconn = sqlite3.connect(\"company.db\")\ndf = pd.read_sql_query(\"SELECT * FROM employees\", conn)\n\n# استخدام SQLAlchemy\nfrom sqlalchemy import create_engine\nengine = create_engine(\"postgresql://user:pass@localhost/db\")\ndf.to_sql(\"table_name\", engine)\n",[584,33420,33421,33426,33430,33434,33439,33444,33449,33453,33458,33463,33468],{"__ignoreMap":42},[2008,33422,33423],{"class":2528,"line":2529},[2008,33424,33425],{},"import sqlite3\n",[2008,33427,33428],{"class":2528,"line":46},[2008,33429,33247],{},[2008,33431,33432],{"class":2528,"line":43},[2008,33433,2548],{"emptyLinePlaceholder":54},[2008,33435,33436],{"class":2528,"line":2545},[2008,33437,33438],{},"# عمليات قاعدة البيانات\n",[2008,33440,33441],{"class":2528,"line":2551},[2008,33442,33443],{},"conn = sqlite3.connect(\"company.db\")\n",[2008,33445,33446],{"class":2528,"line":2557},[2008,33447,33448],{},"df = pd.read_sql_query(\"SELECT * FROM employees\", conn)\n",[2008,33450,33451],{"class":2528,"line":2563},[2008,33452,2548],{"emptyLinePlaceholder":54},[2008,33454,33455],{"class":2528,"line":2568},[2008,33456,33457],{},"# استخدام SQLAlchemy\n",[2008,33459,33460],{"class":2528,"line":2574},[2008,33461,33462],{},"from sqlalchemy import create_engine\n",[2008,33464,33465],{"class":2528,"line":1467},[2008,33466,33467],{},"engine = create_engine(\"postgresql://user:pass@localhost/db\")\n",[2008,33469,33470],{"class":2528,"line":2818},[2008,33471,33472],{},"df.to_sql(\"table_name\", engine)\n",[12,33474,33475],{},[174,33476,32354],{},[186,33478,33479,33482,33485],{},[189,33480,33481],{},"محلل قاعدة بيانات العملاء",[189,33483,33484],{},"منصة تحليلات التجارة الإلكترونية",[189,33486,33487],{},"مولد التقارير المالية",[33227,33489,33491],{"id":33490},"المسار-ب-الذكاء-الاصطناعيتعلم-الآلة",[174,33492,33493],{},"المسار ب: الذكاء الاصطناعي/تعلم الآلة",[12,33495,33496],{},[174,33497,33498],{},"الشهر 4: أساسيات تعلم الآلة",[577,33500,33502],{"className":2521,"code":33501,"language":2523,"meta":42,"style":42},"from sklearn.model_selection import train_test_split\nfrom sklearn.linear_model import LinearRegression\nfrom sklearn.metrics import mean_squared_error\n\n# تدريب نموذج\nX_train, X_test, y_train, y_test = train_test_split(X, y)\nmodel = LinearRegression()\nmodel.fit(X_train, y_train)\n\n# إجراء التنبؤات\npredictions = model.predict(X_test)\nmse = mean_squared_error(y_test, predictions)\n",[584,33503,33504,33509,33514,33519,33523,33528,33533,33538,33543,33547,33552,33557],{"__ignoreMap":42},[2008,33505,33506],{"class":2528,"line":2529},[2008,33507,33508],{},"from sklearn.model_selection import train_test_split\n",[2008,33510,33511],{"class":2528,"line":46},[2008,33512,33513],{},"from sklearn.linear_model import LinearRegression\n",[2008,33515,33516],{"class":2528,"line":43},[2008,33517,33518],{},"from sklearn.metrics import mean_squared_error\n",[2008,33520,33521],{"class":2528,"line":2545},[2008,33522,2548],{"emptyLinePlaceholder":54},[2008,33524,33525],{"class":2528,"line":2551},[2008,33526,33527],{},"# تدريب نموذج\n",[2008,33529,33530],{"class":2528,"line":2557},[2008,33531,33532],{},"X_train, X_test, y_train, y_test = train_test_split(X, y)\n",[2008,33534,33535],{"class":2528,"line":2563},[2008,33536,33537],{},"model = LinearRegression()\n",[2008,33539,33540],{"class":2528,"line":2568},[2008,33541,33542],{},"model.fit(X_train, y_train)\n",[2008,33544,33545],{"class":2528,"line":2574},[2008,33546,2548],{"emptyLinePlaceholder":54},[2008,33548,33549],{"class":2528,"line":1467},[2008,33550,33551],{},"# إجراء التنبؤات\n",[2008,33553,33554],{"class":2528,"line":2818},[2008,33555,33556],{},"predictions = model.predict(X_test)\n",[2008,33558,33559],{"class":2528,"line":2842},[2008,33560,33561],{},"mse = mean_squared_error(y_test, predictions)\n",[12,33563,33564],{},[174,33565,32354],{},[186,33567,33568,33571,33574,33577],{},[189,33569,33570],{},"متوقع أسعار المنازل",[189,33572,33573],{},"مصنف رسائل البريد المزعج",[189,33575,33576],{},"تنبؤ ترك العملاء",[189,33578,33579],{},"تصنيف زهرة Iris",[12,33581,33582],{},[174,33583,33584],{},"الشهر 5: تعلم الآلة العميق مع PyTorch",[577,33586,33588],{"className":2521,"code":33587,"language":2523,"meta":42,"style":42},"import torch\nimport torch.nn as nn\n\n# شبكة عصبية بسيطة\nclass NeuralNet(nn.Module):\n    def __init__(self):\n        super().__init__()\n        self.layer1 = nn.Linear(10, 64)\n        self.layer2 = nn.Linear(64, 1)\n    \n    def forward(self, x):\n        x = torch.relu(self.layer1(x))\n        return self.layer2(x)\n\nmodel = NeuralNet()\n",[584,33589,33590,33595,33600,33604,33609,33614,33619,33624,33629,33634,33638,33643,33648,33653,33657],{"__ignoreMap":42},[2008,33591,33592],{"class":2528,"line":2529},[2008,33593,33594],{},"import torch\n",[2008,33596,33597],{"class":2528,"line":46},[2008,33598,33599],{},"import torch.nn as nn\n",[2008,33601,33602],{"class":2528,"line":43},[2008,33603,2548],{"emptyLinePlaceholder":54},[2008,33605,33606],{"class":2528,"line":2545},[2008,33607,33608],{},"# شبكة عصبية بسيطة\n",[2008,33610,33611],{"class":2528,"line":2551},[2008,33612,33613],{},"class NeuralNet(nn.Module):\n",[2008,33615,33616],{"class":2528,"line":2557},[2008,33617,33618],{},"    def __init__(self):\n",[2008,33620,33621],{"class":2528,"line":2563},[2008,33622,33623],{},"        super().__init__()\n",[2008,33625,33626],{"class":2528,"line":2568},[2008,33627,33628],{},"        self.layer1 = nn.Linear(10, 64)\n",[2008,33630,33631],{"class":2528,"line":2574},[2008,33632,33633],{},"        self.layer2 = nn.Linear(64, 1)\n",[2008,33635,33636],{"class":2528,"line":1467},[2008,33637,2991],{},[2008,33639,33640],{"class":2528,"line":2818},[2008,33641,33642],{},"    def forward(self, x):\n",[2008,33644,33645],{"class":2528,"line":2842},[2008,33646,33647],{},"        x = torch.relu(self.layer1(x))\n",[2008,33649,33650],{"class":2528,"line":2862},[2008,33651,33652],{},"        return self.layer2(x)\n",[2008,33654,33655],{"class":2528,"line":2119},[2008,33656,2548],{"emptyLinePlaceholder":54},[2008,33658,33659],{"class":2528,"line":2035},[2008,33660,33661],{},"model = NeuralNet()\n",[12,33663,33664],{},[174,33665,32354],{},[186,33667,33668,33671,33674],{},[189,33669,33670],{},"مصنف الصور (MNIST)",[189,33672,33673],{},"تحليل المشاعر",[189,33675,33676],{},"نظام التوصيات",[12,33678,33679],{},[174,33680,33681],{},"الشهر 6: نماذج اللغة الكبيرة وHugging Face",[577,33683,33685],{"className":2521,"code":33684,"language":2523,"meta":42,"style":42},"from transformers import pipeline\n\n# استخدام النماذج المدربة مسبقاً\nsentiment = pipeline(\"sentiment-analysis\")\nresult = sentiment(\"I love Python!\")\n\n# توليد النص\ngenerator = pipeline(\"text-generation\", model=\"gpt2\")\noutput = generator(\"Once upon a time\")\n",[584,33686,33687,33692,33696,33701,33706,33711,33715,33720,33725],{"__ignoreMap":42},[2008,33688,33689],{"class":2528,"line":2529},[2008,33690,33691],{},"from transformers import pipeline\n",[2008,33693,33694],{"class":2528,"line":46},[2008,33695,2548],{"emptyLinePlaceholder":54},[2008,33697,33698],{"class":2528,"line":43},[2008,33699,33700],{},"# استخدام النماذج المدربة مسبقاً\n",[2008,33702,33703],{"class":2528,"line":2545},[2008,33704,33705],{},"sentiment = pipeline(\"sentiment-analysis\")\n",[2008,33707,33708],{"class":2528,"line":2551},[2008,33709,33710],{},"result = sentiment(\"I love Python!\")\n",[2008,33712,33713],{"class":2528,"line":2557},[2008,33714,2548],{"emptyLinePlaceholder":54},[2008,33716,33717],{"class":2528,"line":2563},[2008,33718,33719],{},"# توليد النص\n",[2008,33721,33722],{"class":2528,"line":2568},[2008,33723,33724],{},"generator = pipeline(\"text-generation\", model=\"gpt2\")\n",[2008,33726,33727],{"class":2528,"line":2574},[2008,33728,33729],{},"output = generator(\"Once upon a time\")\n",[12,33731,33732],{},[174,33733,32354],{},[186,33735,33736,33739,33742,33745],{},[189,33737,33738],{},"chatbot مع Hugging Face",[189,33740,33741],{},"ملخص النصوص",[189,33743,33744],{},"مساعد كتابة بالذكاء الاصطناعي",[189,33746,33747],{},"مولد تعليقات الصور",[33227,33749,33751],{"id":33750},"المسار-ج-تطوير-الويب-الخلفي",[174,33752,33753],{},"المسار ج: تطوير الويب الخلفي",[12,33755,33756],{},[174,33757,33758],{},"الشهر 4: أساسيات FastAPI",[577,33760,33762],{"className":2521,"code":33761,"language":2523,"meta":42,"style":42},"from fastapi import FastAPI\n\napp = FastAPI()\n\n@app.get(\"/\")\nasync def root():\n    return {\"message\": \"Hello World\"}\n\n@app.post(\"/users/\")\nasync def create_user(name: str, email: str):\n    # حفظ في قاعدة البيانات\n    return {\"name\": name, \"email\": email}\n",[584,33763,33764,33769,33773,33778,33782,33787,33792,33797,33801,33806,33811,33816],{"__ignoreMap":42},[2008,33765,33766],{"class":2528,"line":2529},[2008,33767,33768],{},"from fastapi import FastAPI\n",[2008,33770,33771],{"class":2528,"line":46},[2008,33772,2548],{"emptyLinePlaceholder":54},[2008,33774,33775],{"class":2528,"line":43},[2008,33776,33777],{},"app = FastAPI()\n",[2008,33779,33780],{"class":2528,"line":2545},[2008,33781,2548],{"emptyLinePlaceholder":54},[2008,33783,33784],{"class":2528,"line":2551},[2008,33785,33786],{},"@app.get(\"/\")\n",[2008,33788,33789],{"class":2528,"line":2557},[2008,33790,33791],{},"async def root():\n",[2008,33793,33794],{"class":2528,"line":2563},[2008,33795,33796],{},"    return {\"message\": \"Hello World\"}\n",[2008,33798,33799],{"class":2528,"line":2568},[2008,33800,2548],{"emptyLinePlaceholder":54},[2008,33802,33803],{"class":2528,"line":2574},[2008,33804,33805],{},"@app.post(\"/users/\")\n",[2008,33807,33808],{"class":2528,"line":1467},[2008,33809,33810],{},"async def create_user(name: str, email: str):\n",[2008,33812,33813],{"class":2528,"line":2818},[2008,33814,33815],{},"    # حفظ في قاعدة البيانات\n",[2008,33817,33818],{"class":2528,"line":2842},[2008,33819,33820],{},"    return {\"name\": name, \"email\": email}\n",[12,33822,33823],{},[174,33824,32354],{},[186,33826,33827,33830,33833],{},[189,33828,33829],{},"REST API لتطبيق المهام",[189,33831,33832],{},"API مدونة مع عمليات CRUD",[189,33834,33835],{},"نظام مصادقة المستخدمين",[12,33837,33838],{},[174,33839,33840],{},"الشهر 5: تكامل قاعدة البيانات",[577,33842,33844],{"className":2521,"code":33843,"language":2523,"meta":42,"style":42},"from sqlalchemy import create_engine, Column, Integer, String\nfrom sqlalchemy.ext.declarative import declarative_base\nfrom sqlalchemy.orm import sessionmaker\n\nBase = declarative_base()\n\nclass User(Base):\n    __tablename__ = \"users\"\n    id = Column(Integer, primary_key=True)\n    email = Column(String, unique=True)\n    name = Column(String)\n",[584,33845,33846,33851,33856,33861,33865,33870,33874,33879,33884,33889,33894],{"__ignoreMap":42},[2008,33847,33848],{"class":2528,"line":2529},[2008,33849,33850],{},"from sqlalchemy import create_engine, Column, Integer, String\n",[2008,33852,33853],{"class":2528,"line":46},[2008,33854,33855],{},"from sqlalchemy.ext.declarative import declarative_base\n",[2008,33857,33858],{"class":2528,"line":43},[2008,33859,33860],{},"from sqlalchemy.orm import sessionmaker\n",[2008,33862,33863],{"class":2528,"line":2545},[2008,33864,2548],{"emptyLinePlaceholder":54},[2008,33866,33867],{"class":2528,"line":2551},[2008,33868,33869],{},"Base = declarative_base()\n",[2008,33871,33872],{"class":2528,"line":2557},[2008,33873,2548],{"emptyLinePlaceholder":54},[2008,33875,33876],{"class":2528,"line":2563},[2008,33877,33878],{},"class User(Base):\n",[2008,33880,33881],{"class":2528,"line":2568},[2008,33882,33883],{},"    __tablename__ = \"users\"\n",[2008,33885,33886],{"class":2528,"line":2574},[2008,33887,33888],{},"    id = Column(Integer, primary_key=True)\n",[2008,33890,33891],{"class":2528,"line":1467},[2008,33892,33893],{},"    email = Column(String, unique=True)\n",[2008,33895,33896],{"class":2528,"line":2818},[2008,33897,33898],{},"    name = Column(String)\n",[12,33900,33901],{},[174,33902,32354],{},[186,33904,33905,33908,33911],{},[189,33906,33907],{},"مدونة كاملة الواجهات مع قاعدة بيانات",[189,33909,33910],{},"API التجارة الإلكترونية",[189,33912,33913],{},"API وسائل التواصل الاجتماعي",[12,33915,33916],{},[174,33917,33918],{},"الشهر 6: الاختبار والنشر",[577,33920,33922],{"className":2521,"code":33921,"language":2523,"meta":42,"style":42},"# الاختبار مع pytest\ndef test_create_user():\n    response = client.post(\"/users/\", json={\"name\": \"Alice\"})\n    assert response.status_code == 200\n\n# نشر Docker\nFROM python:3.11\nCOPY requirements.txt .\nRUN pip install -r requirements.txt\nCMD [\"uvicorn\", \"main:app\"]\n",[584,33923,33924,33929,33934,33939,33944,33948,33953,33958,33963,33968],{"__ignoreMap":42},[2008,33925,33926],{"class":2528,"line":2529},[2008,33927,33928],{},"# الاختبار مع pytest\n",[2008,33930,33931],{"class":2528,"line":46},[2008,33932,33933],{},"def test_create_user():\n",[2008,33935,33936],{"class":2528,"line":43},[2008,33937,33938],{},"    response = client.post(\"/users/\", json={\"name\": \"Alice\"})\n",[2008,33940,33941],{"class":2528,"line":2545},[2008,33942,33943],{},"    assert response.status_code == 200\n",[2008,33945,33946],{"class":2528,"line":2551},[2008,33947,2548],{"emptyLinePlaceholder":54},[2008,33949,33950],{"class":2528,"line":2557},[2008,33951,33952],{},"# نشر Docker\n",[2008,33954,33955],{"class":2528,"line":2563},[2008,33956,33957],{},"FROM python:3.11\n",[2008,33959,33960],{"class":2528,"line":2568},[2008,33961,33962],{},"COPY requirements.txt .\n",[2008,33964,33965],{"class":2528,"line":2574},[2008,33966,33967],{},"RUN pip install -r requirements.txt\n",[2008,33969,33970],{"class":2528,"line":1467},[2008,33971,33972],{},"CMD [\"uvicorn\", \"main:app\"]\n",[12,33974,33975],{},[174,33976,32354],{},[186,33978,33979,33982,33985],{},[189,33980,33981],{},"API منشور على AWS/Railway",[189,33983,33984],{},"خط أنابيب CI/CD مع GitHub Actions",[189,33986,33987],{},"خدمات مصغرة محولة لـ Docker",[209,33989,33991],{"id":33990},"الأشهر-7-12-التخصص-والمحفظة","الأشهر 7-12: التخصص والمحفظة",[12,33993,33994,33996],{},[174,33995,31343],{}," بناء مشاريع جاهزة للإنتاج، المساهمة في المصدر المفتوح، التحضير للمقابلات",[12,33998,33999],{},[174,34000,34001],{},"ما يجب بناؤه:",[12,34003,34004],{},[174,34005,34006],{},"محفظة علم البيانات:",[186,34008,34009,34012,34015,34018],{},[189,34010,34011],{},"مشروع تحليل بيانات شامل مع رؤى",[189,34013,34014],{},"لوحة تحكم تفاعلية منشورة على Streamlit Cloud",[189,34016,34017],{},"دخول مسابقة Kaggle (أعلى 50%)",[189,34019,34020],{},"مدونة تقنية تفسر تحليلك",[12,34022,34023],{},[174,34024,34025],{},"محفظة ML/AI:",[186,34027,34028,34031,34034,34037],{},[189,34029,34030],{},"نموذج ML مخصص بدقة 85%+",[189,34032,34033],{},"نموذج لغة كبير محسن لمهمة محددة",[189,34035,34036],{},"تطبيق ذكاء اصطناعي مع واجهة Gradio",[189,34038,34039],{},"تنفيذ ورقة بحث",[12,34041,34042],{},[174,34043,34044],{},"محفظة الخلفية:",[186,34046,34047,34050,34053,34056],{},[189,34048,34049],{},"API مميز كامل مع وثائق",[189,34051,34052],{},"معمارية خدمات مصغرة",[189,34054,34055],{},"ميزات فورية (WebSockets)",[189,34057,34058],{},"تطبيق إنتاج منشور",[12,34060,34061,34063],{},[174,34062,33100],{}," 15-25 ساعة/أسبوع",[16,34065,34067],{"id":34066},"أدوات-python-الحديثة-والنظام-البيئي-2025","أدوات Python الحديثة والنظام البيئي (2025)",[209,34069,34071],{"id":34070},"التعلم-بالذكاء-الاصطناعي","التعلم بالذكاء الاصطناعي",[12,34073,34074,32008],{},[174,34075,9578],{},[186,34077,34078,34081,34084],{},[189,34079,34080],{},"يكمل كود Python تلقائياً",[189,34082,34083],{},"يولد docstrings والاختبارات",[189,34085,34086],{},"مفيد لكود boilerplate",[12,34088,34089],{},[174,34090,34091],{},"ChatGPT/Claude لـ Python:",[577,34093,34096],{"className":34094,"code":34095,"language":582},[580],"الأسئلة الفعالة:\n- \"شرح هذا الكود Python: [لصق الكود]\"\n- \"تصحيح هذا الخطأ: [رسالة الخطأ]\"\n- \"ما الطريقة Pythonic لـ [المهمة]؟\"\n- \"تحسين هذه الوظيفة: [الكود]\"\n",[584,34097,34095],{"__ignoreMap":42},[209,34099,34101],{"id":34100},"أدوات-python-الأساسية","أدوات Python الأساسية",[12,34103,34104],{},[174,34105,34106],{},"بيئة التطوير:",[186,34108,34109,34114,34120,34126],{},[189,34110,34111,34113],{},[174,34112,32151],{}," مع إضافة Python",[189,34115,34116,34119],{},[174,34117,34118],{},"PyCharm"," (إصدار المجتمع المجاني)",[189,34121,34122,34125],{},[174,34123,34124],{},"Jupyter Lab"," لعلم البيانات",[189,34127,34128,34131],{},[174,34129,34130],{},"Google Colab"," للـ ML (GPU مجاني)",[12,34133,34134],{},[174,34135,34136],{},"إدارة الحزم:",[577,34138,34140],{"className":10709,"code":34139,"language":10711,"meta":42,"style":42},"# البيئات الافتراضية\npython -m venv venv\nsource venv/bin/activate  # Mac/Linux\nvenv\\Scripts\\activate     # Windows\n\n# مدير حزم حديث\npip install uv  # بديل pip فائق السرعة\n\n# إدارة التبعيات\npip install poetry\npoetry init\n",[584,34141,34142,34147,34160,34171,34179,34183,34188,34201,34205,34210,34219],{"__ignoreMap":42},[2008,34143,34144],{"class":2528,"line":2529},[2008,34145,34146],{"class":2688},"# البيئات الافتراضية\n",[2008,34148,34149,34151,34154,34157],{"class":2528,"line":46},[2008,34150,2523],{"class":2760},[2008,34152,34153],{"class":5858}," -m",[2008,34155,34156],{"class":2811}," venv",[2008,34158,34159],{"class":2811}," venv\n",[2008,34161,34162,34165,34168],{"class":2528,"line":43},[2008,34163,34164],{"class":10771},"source",[2008,34166,34167],{"class":2811}," venv/bin/activate",[2008,34169,34170],{"class":2688},"  # Mac/Linux\n",[2008,34172,34173,34176],{"class":2528,"line":2545},[2008,34174,34175],{"class":2760},"venv\\Scripts\\activate",[2008,34177,34178],{"class":2688},"     # Windows\n",[2008,34180,34181],{"class":2528,"line":2551},[2008,34182,2548],{"emptyLinePlaceholder":54},[2008,34184,34185],{"class":2528,"line":2557},[2008,34186,34187],{"class":2688},"# مدير حزم حديث\n",[2008,34189,34190,34193,34195,34198],{"class":2528,"line":2563},[2008,34191,34192],{"class":2760},"pip",[2008,34194,12791],{"class":2811},[2008,34196,34197],{"class":2811}," uv",[2008,34199,34200],{"class":2688},"  # بديل pip فائق السرعة\n",[2008,34202,34203],{"class":2528,"line":2568},[2008,34204,2548],{"emptyLinePlaceholder":54},[2008,34206,34207],{"class":2528,"line":2574},[2008,34208,34209],{"class":2688},"# إدارة التبعيات\n",[2008,34211,34212,34214,34216],{"class":2528,"line":1467},[2008,34213,34192],{"class":2760},[2008,34215,12791],{"class":2811},[2008,34217,34218],{"class":2811}," poetry\n",[2008,34220,34221,34224],{"class":2528,"line":2818},[2008,34222,34223],{"class":2760},"poetry",[2008,34225,34226],{"class":2811}," init\n",[12,34228,34229],{},[174,34230,34231],{},"الاختبار والجودة:",[577,34233,34235],{"className":10709,"code":34234,"language":10711,"meta":42,"style":42},"# الاختبار\npip install pytest\n\n# تنسيق الكود\npip install black ruff\n\n# فحص الأنواع\npip install mypy\n",[584,34236,34237,34242,34251,34255,34260,34272,34276,34281],{"__ignoreMap":42},[2008,34238,34239],{"class":2528,"line":2529},[2008,34240,34241],{"class":2688},"# الاختبار\n",[2008,34243,34244,34246,34248],{"class":2528,"line":46},[2008,34245,34192],{"class":2760},[2008,34247,12791],{"class":2811},[2008,34249,34250],{"class":2811}," pytest\n",[2008,34252,34253],{"class":2528,"line":43},[2008,34254,2548],{"emptyLinePlaceholder":54},[2008,34256,34257],{"class":2528,"line":2545},[2008,34258,34259],{"class":2688},"# تنسيق الكود\n",[2008,34261,34262,34264,34266,34269],{"class":2528,"line":2551},[2008,34263,34192],{"class":2760},[2008,34265,12791],{"class":2811},[2008,34267,34268],{"class":2811}," black",[2008,34270,34271],{"class":2811}," ruff\n",[2008,34273,34274],{"class":2528,"line":2557},[2008,34275,2548],{"emptyLinePlaceholder":54},[2008,34277,34278],{"class":2528,"line":2563},[2008,34279,34280],{"class":2688},"# فحص الأنواع\n",[2008,34282,34283,34285,34287],{"class":2528,"line":2568},[2008,34284,34192],{"class":2760},[2008,34286,12791],{"class":2811},[2008,34288,34289],{"class":2811}," mypy\n",[209,34291,34293],{"id":34292},"المكتبات-الواجب-معرفتها-حسب-المجال","المكتبات الواجب معرفتها حسب المجال",[12,34295,34296],{},[174,34297,34298],{},"علم البيانات:",[186,34300,34301,34304,34307,34310],{},[189,34302,34303],{},"pandas، NumPy (معالجة البيانات)",[189,34305,34306],{},"Matplotlib، Seaborn، Plotly (التصور)",[189,34308,34309],{},"scikit-learn (تعلم الآلة)",[189,34311,34312],{},"Jupyter (دفاتر العمل)",[12,34314,34315],{},[174,34316,34317],{},"AI/ML:",[186,34319,34320,34323,34325,34328],{},[189,34321,34322],{},"PyTorch أو TensorFlow (تعلم الآلة العميق)",[189,34324,32878],{},[189,34326,34327],{},"LangChain (تطبيقات LLM)",[189,34329,34330],{},"OpenAI API (تكامل GPT)",[12,34332,34333],{},[174,34334,34335],{},"تطوير الويب:",[186,34337,34338,34341,34344,34347],{},[189,34339,34340],{},"FastAPI (إطار عمل API حديث)",[189,34342,34343],{},"Django (إطار عمل مميز)",[189,34345,34346],{},"SQLAlchemy (ORM قاعدة البيانات)",[189,34348,34349],{},"Pydantic (التحقق من البيانات)",[12,34351,34352],{},[174,34353,27892],{},[186,34355,34356,34359,34362,34365],{},[189,34357,34358],{},"requests (HTTP)",[189,34360,34361],{},"BeautifulSoup (مكشط الويب)",[189,34363,34364],{},"schedule (جدولة المهام)",[189,34366,34367],{},"selenium (أتمتة المتصفح)",[16,34369,34371],{"id":34370},"العوامل-المؤثرة-على-سرعة-التعلم","العوامل المؤثرة على سرعة التعلم",[209,34373,31772],{"id":31771},[12,34375,34376],{},[174,34377,34378],{},"لا خلفية برمجية:",[186,34380,34381,34383,34386],{},[189,34382,31782],{},[189,34384,34385],{},"تحتاج لتعلم مفاهيم البرمجة + Python",[189,34387,34388],{},"ابدأ بالأساسيات، لا تستعجل",[12,34390,34391],{},[174,34392,34393],{},"تعرف لغة أخرى:",[186,34395,34396,34398,34401],{},[189,34397,31798],{},[189,34399,34400],{},"صيغة Python أنظف وأبسط",[189,34402,34403],{},"ركز على ميزات Python المحددة (فهم القوائم، المولدات)",[12,34405,34406],{},[174,34407,34408],{},"Python قادم من JavaScript:",[577,34410,34412],{"className":2521,"code":34411,"language":2523,"meta":42,"style":42},"# عادات JavaScript التي يجب التخلص منها:\n# 1. استخدم snake_case، لا camelCase\nuser_name = \"Alice\"  # ✅\nuserName = \"Alice\"   # ❌\n\n# 2. المسافة البادئة مهمة (لا أقواس)\nif condition:\n    do_something()  # ✅\n    \n# 3. تنسيق سلاسل مختلف\nname = \"Alice\"\ngreeting = f\"Hello, {name}\"  # ✅ (f-strings)\n",[584,34413,34414,34419,34424,34429,34434,34438,34443,34448,34453,34457,34462,34466],{"__ignoreMap":42},[2008,34415,34416],{"class":2528,"line":2529},[2008,34417,34418],{},"# عادات JavaScript التي يجب التخلص منها:\n",[2008,34420,34421],{"class":2528,"line":46},[2008,34422,34423],{},"# 1. استخدم snake_case، لا camelCase\n",[2008,34425,34426],{"class":2528,"line":43},[2008,34427,34428],{},"user_name = \"Alice\"  # ✅\n",[2008,34430,34431],{"class":2528,"line":2545},[2008,34432,34433],{},"userName = \"Alice\"   # ❌\n",[2008,34435,34436],{"class":2528,"line":2551},[2008,34437,2548],{"emptyLinePlaceholder":54},[2008,34439,34440],{"class":2528,"line":2557},[2008,34441,34442],{},"# 2. المسافة البادئة مهمة (لا أقواس)\n",[2008,34444,34445],{"class":2528,"line":2563},[2008,34446,34447],{},"if condition:\n",[2008,34449,34450],{"class":2528,"line":2568},[2008,34451,34452],{},"    do_something()  # ✅\n",[2008,34454,34455],{"class":2528,"line":2574},[2008,34456,2991],{},[2008,34458,34459],{"class":2528,"line":1467},[2008,34460,34461],{},"# 3. تنسيق سلاسل مختلف\n",[2008,34463,34464],{"class":2528,"line":2818},[2008,34465,32959],{},[2008,34467,34468],{"class":2528,"line":2842},[2008,34469,34470],{},"greeting = f\"Hello, {name}\"  # ✅ (f-strings)\n",[209,34472,34474],{"id":34473},"_2-مسار-التعلم-المختار","2. مسار التعلم المختار",[12,34476,34477],{},[174,34478,34479],{},"الأقصر للوظيفة (6-9 أشهر):",[186,34481,34482,34485,34488],{},[189,34483,34484],{},"محلل البيانات أو مطور الخلفية",[189,34486,34487],{},"مسار تعلم واضح",[189,34489,34490],{},"وظائف مبتدئة كثيرة",[12,34492,34493],{},[174,34494,34495],{},"متوسط (9-12 شهر):",[186,34497,34498,34500,34503],{},[189,34499,32717],{},[189,34501,34502],{},"مهندس الأتمتة",[189,34504,34505],{},"يتطلب معرفة مجال + Python",[12,34507,34508],{},[174,34509,34510],{},"الأطول (12-24 شهر):",[186,34512,34513,34516,34519],{},[189,34514,34515],{},"مهندس ML أو باحث AI",[189,34517,34518],{},"يتطلب رياضيات، إحصاء، ML متقدم",[189,34520,34521],{},"مجال تنافسي للغاية",[209,34523,34525],{"id":34524},"_3-الالتزام-الزمني","3. الالتزام الزمني",[12,34527,34528],{},[174,34529,34530],{},"10-15 ساعة/أسبوع (دوام جزئي):",[186,34532,34533,34535,34537],{},[189,34534,31821],{},[189,34536,31827],{},[189,34538,31824],{},[12,34540,34541],{},[174,34542,34543],{},"25-35 ساعة/أسبوع (جاد):",[186,34545,34546,34549,34552],{},[189,34547,34548],{},"6-9 أشهر لتصبح جاهزاً للوظيفة",[189,34550,34551],{},"توازن مثالي",[189,34553,34554],{},"وقت كافي لبناء المشاريع",[12,34556,34557],{},[174,34558,34559],{},"40+ ساعة/أسبوع (معسكر تدريبي):",[186,34561,34562,34564,34566],{},[189,34563,31840],{},[189,34565,31843],{},[189,34567,34568],{},"خطر الإرهاق",[16,34570,15452],{"id":15451},[209,34572,34574],{"id":34573},"_1-جحيم-الدروس","1. جحيم الدروس",[12,34576,34577,34579],{},[174,34578,10165],{}," مشاهدة الدورات بدون بناء",[12,34581,34582],{},[174,34583,9184],{},[577,34585,34588],{"className":34586,"code":34587,"language":582},[580],"لكل ساعة درس:\n- البرمجة معاً: 0.5 ساعات\n- بناء نسختك: 1 ساعة\n- توسيع المشروع: 0.5 ساعات\n",[584,34589,34587],{"__ignoreMap":42},[209,34591,34593],{"id":34592},"_2-تخطي-الأساسيات","2. تخطي الأساسيات",[12,34595,34596,34598],{},[174,34597,10165],{}," القفز للـ ML/AI بسرعة كبيرة",[12,34600,34601],{},[174,34602,9184],{},[186,34604,34605,34608,34611],{},[189,34606,34607],{},"إتقان أساسيات Python أولاً (2-3 أشهر)",[189,34609,34610],{},"فهم هياكل البيانات بعمق",[189,34612,34613],{},"ثم التخصص",[209,34615,34617],{"id":34616},"_3-عدم-بناء-المشاريع","3. عدم بناء المشاريع",[12,34619,34620,34622],{},[174,34621,10165],{}," القيام بالتمارين فقط",[12,34624,34625],{},[174,34626,9184],{},[186,34628,34629,34632,34635],{},[189,34630,34631],{},"بنِ مشروع واحد شهرياً كحد أدنى",[189,34633,34634],{},"يجب أن تحل المشاريع مشاكل حقيقية",[189,34636,34637],{},"الجودة على الكمية",[209,34639,34641],{"id":34640},"_4-تجاهل-الرياضيات-لعلم-البياناتml","4. تجاهل الرياضيات (لعلم البيانات/ML)",[12,34643,34644,34646],{},[174,34645,10165],{}," محاولة ML بدون أساس رياضي",[12,34648,34649],{},[174,34650,9184],{},[186,34652,34653,34656,34659],{},[189,34654,34655],{},"تعلم أساسيات الجبر الخطي",[189,34657,34658],{},"فهم أساسيات الإحصاء",[189,34660,34661],{},"Khan Academy للمراجعة",[16,34663,34665],{"id":34664},"علامات-أنك-جاهز-لوظيفة","علامات أنك جاهز لوظيفة",[12,34667,14769,34668],{},[174,34669,32326],{},[186,34671,34672,34675,34678,34681,34684,34687],{},[189,34673,34674],{},"اكتب كود Python نظيف وPythonic",[189,34676,34677],{},"مرتاح بالتخصص المختار (علم البيانات، الويب، ML)",[189,34679,34680],{},"استخدم Git بثقة",[189,34682,34683],{},"تصحيح منهجي",[189,34685,34686],{},"اكتب الاختبارات",[189,34688,34689],{},"نشر المشاريع",[12,34691,14769,34692],{},[174,34693,34694],{},"المحفظة:",[186,34696,34697,34700,34703,34706],{},[189,34698,34699],{},"3-5 مشاريع كاملة على GitHub",[189,34701,34702],{},"مشروع واحد منشور على الأقل",[189,34704,34705],{},"README واضح مع التوثيق",[189,34707,34708],{},"يظهر الخبرة في مجالك",[12,34710,14769,34711],{},[174,34712,34713],{},"المعرفة المجالية:",[186,34715,34716,34721,34727],{},[189,34717,34718,34720],{},[174,34719,34298],{}," الإحصاء، تنظيف البيانات، التصور",[189,34722,34723,34726],{},[174,34724,34725],{},"ML:"," اختيار النموذج، التقييم، النشر",[189,34728,34729,34731],{},[174,34730,1099],{}," تصميم API، قواعد البيانات، المصادقة",[12,34733,14769,34734],{},[174,34735,32376],{},[186,34737,34738,34741,34744,34747],{},[189,34739,34740],{},"شرح المفاهيم التقنية بوضوح",[189,34742,34743],{},"قراءة التوثيق بفعالية",[189,34745,34746],{},"طرح أسئلة جيدة على Stack Overflow",[189,34748,32393],{},[16,34750,34752],{"id":34751},"واقع-سوق-العمل-2025","واقع سوق العمل (2025)",[209,34754,34756],{"id":34755},"أكثر-أدوار-python-طلباً","أكثر أدوار Python طلباً",[12,34758,34759,34762],{},[174,34760,34761],{},"1. محلل البيانات"," (الأسهل للدخول)",[186,34764,34765,34768,34771],{},[189,34766,34767],{},"مطلوب: Python، Pandas، SQL، التصور",[189,34769,34770],{},"الجدول الزمني: 6-9 أشهر",[189,34772,34773],{},"الراتب: 65k-85k بداية",[12,34775,34776],{},[174,34777,34778],{},"2. مطور الخلفية",[186,34780,34781,34784,34787],{},[189,34782,34783],{},"مطلوب: FastAPI/Django، قواعد البيانات، APIs",[189,34785,34786],{},"الجدول الزمني: 9-12 شهر",[189,34788,34789],{},"الراتب: 75k-100k بداية",[12,34791,34792],{},[174,34793,34794],{},"3. عالم البيانات",[186,34796,34797,34800,34803],{},[189,34798,34799],{},"مطلوب: ML، الإحصاء، Python، SQL",[189,34801,34802],{},"الجدول الزمني: 12-18 شهر",[189,34804,34805],{},"الراتب: 95k-120k بداية",[12,34807,34808,34811],{},[174,34809,34810],{},"4. مهندس ML"," (الأكثر تنافسية)",[186,34813,34814,34817,34820],{},[189,34815,34816],{},"مطلوب: تعلم الآلة العميق، النشر، MLOps",[189,34818,34819],{},"الجدول الزمني: 18-24 شهر",[189,34821,34822],{},"الراتب: 110k-150k بداية",[209,34824,34826],{"id":34825},"ما-يبحث-عنه-أصحاب-العمل","ما يبحث عنه أصحاب العمل",[12,34828,34829],{},[174,34830,34831],{},"يجب أن يكون:",[186,34833,34834,34837,34840,34843],{},[189,34835,34836],{},"ملف GitHub نظيف مع مشاريع",[189,34838,34839],{},"مشاريع منشورة (ليس محلية فقط)",[189,34841,34842],{},"الاختبار والتوثيق",[189,34844,34845],{},"فهم أفضل الممارسات",[12,34847,34848],{},[174,34849,34850],{},"جيد أن يكون:",[186,34852,34853,34856,34859,34862],{},[189,34854,34855],{},"مساهمات في المصدر المفتوح",[189,34857,34858],{},"مدونة تقنية أو دروس",[189,34860,34861],{},"مسابقات Kaggle",[189,34863,34864],{},"الشهادات (AWS، Google Cloud)",[16,34866,34868],{"id":34867},"استراتيجيات-التعلم-المعجلة","استراتيجيات التعلم المعجلة",[209,34870,34872],{"id":34871},"قاعدة-8020-لـ-python","قاعدة 80/20 لـ Python",[12,34874,34875],{},[174,34876,34877],{},"20% من المفاهيم ستستخدمها 80% من الوقت:",[186,34879,34880,34883,34886,34889,34891],{},[189,34881,34882],{},"المتغيرات، الوظائف، الشروط، الحلقات",[189,34884,34885],{},"القوائم، القواميس",[189,34887,34888],{},"فهم القوائم",[189,34890,32810],{},[189,34892,34893],{},"المكتبات الرئيسية لمجالك (pandas، requests، FastAPI)",[12,34895,34896],{},[174,34897,34898],{},"ركز هنا أولاً!",[209,34900,34902],{"id":34901},"روتين-التعلم-اليومي","روتين التعلم اليومي",[577,34904,34907],{"className":34905,"code":34906,"language":582},[580],"مبتدئ (2-3 أشهر):\n- 1 ساعة: درس/قراءة\n- 1 ساعة: تمارين برمجة\n- 30 دقيقة: مراجعة وملاحظات\n\nمتوسط (4-8 أشهر):\n- 30 دقيقة: تعلم مفهوم جديد\n- 2 ساعات: بناء مشاريع\n- 30 دقيقة: مراجعة الكود/إعادة التصميم\n\nمتقدم (9+ أشهر):\n- 1 ساعة: موضوع متقدم\n- 3 ساعات: مشروع محفظة\n- 1 ساعة: مصدر مفتوح/مدونة\n",[584,34908,34906],{"__ignoreMap":42},[209,34910,34912],{"id":34911},"أفضل-موارد-التعلم-2025","أفضل موارد التعلم (2025)",[12,34914,34915],{},[174,34916,32075],{},[186,34918,34919,34924,34929,34935,34941],{},[189,34920,34921,34923],{},[174,34922,33076],{}," - رسمية، شاملة",[189,34925,34926,34928],{},[174,34927,32082],{}," - تفاعلية، مبنية على المشاريع",[189,34930,34931,34934],{},[174,34932,34933],{},"Real Python"," - مقالات عميقة",[189,34936,34937,34940],{},[174,34938,34939],{},"Kaggle Learn"," - مركز على علم البيانات",[189,34942,34943,34946],{},[174,34944,34945],{},"دورة FastAPI"," - APIs ويب حديثة",[12,34948,34949],{},[174,34950,32112],{},[186,34952,34953,34959,34965,34971],{},[189,34954,34955,34958],{},[174,34956,34957],{},"DataCamp"," (25 دولار/شهر) - مركز على علم البيانات",[189,34960,34961,34964],{},[174,34962,34963],{},"Coursera"," - دورات جامعية (كثير مجاني)",[189,34966,34967,34970],{},[174,34968,34969],{},"Fast.ai"," (مجاني) - تعلم الآلة العميق العملي",[189,34972,34973,34976],{},[174,34974,34975],{},"PyImageSearch"," - رؤية الحاسوب",[12,34978,34979],{},[174,34980,34981],{},"الكتب:",[186,34983,34984,34987,34990,34993],{},[189,34985,34986],{},"\"Automate the Boring Stuff\" (مجاني عبر الإنترنت)",[189,34988,34989],{},"\"Python Crash Course\" - أفضل كتاب مبتدئ",[189,34991,34992],{},"\"Fluent Python\" - Python متقدم",[189,34994,34995],{},"\"Hands-On Machine Learning\" - كتاب ML مقدس",[16,34997,34999],{"id":34998},"خطواتك-التالية","خطواتك التالية",[12,35001,35002],{},[174,35003,35004],{},"هذا الأسبوع:",[1049,35006,35007,35010,35013,35016],{},[189,35008,35009],{},"ثبت Python 3.11+ وVS Code",[189,35011,35012],{},"أكمل الدرس الأول (المتغيرات، الوظائف)",[189,35014,35015],{},"اكتب سكريبتك الأول (آلة حاسبة أو لعبة)",[189,35017,35018],{},"انضم لمجتمع Python (r/learnpython، Discord)",[12,35020,35021],{},[174,35022,35023],{},"هذا الشهر:",[1049,35025,35026,35029,35032,35035],{},[189,35027,35028],{},"أكمل أساسيات Python",[189,35030,35031],{},"بنِ 2-3 مشاريع صغيرة",[189,35033,35034],{},"أعد إعداد حساب GitHub",[189,35036,35037],{},"اختر مسار التخصص",[12,35039,35040],{},[174,35041,35042],{},"الأشهر الثلاثة التالية:",[1049,35044,35045,35048,35051,35054],{},[189,35046,35047],{},"غوص عميق في المسار المختار",[189,35049,35050],{},"بنِ مشروع جوهري واحد",[189,35052,35053],{},"ابدأ تعلم المهارات الداعمة (SQL، Git)",[189,35055,35056],{},"انضم للمجتمعات عبر الإنترنت",[12,35058,35059],{},[174,35060,35061],{},"الأشهر 6-12 التالية:",[1049,35063,35064,35067,35070,35072],{},[189,35065,35066],{},"بنِ محفظة (3-5 مشاريع)",[189,35068,35069],{},"نشر المشاريع عبر الإنترنت",[189,35071,21162],{},[189,35073,35074],{},"التواصل والتقدم للوظائف",[16,35076,8049],{"id":8049},[12,35078,35079],{},"Python واحدة من أفضل اللغات للتعلم في 2025، خاصة مع الذكاء الاصطناعي، علم البيانات، والأتمتة التي تهيمن على المشهد التقني. الرحلة من مبتدئ إلى جاهز للوظيفة تستغرق 6-18 شهر حسب مسارك، لكن صيغة Python النظيفة ونظامها البيئي الواسع يجعلها لغة قابلة للوصول ومجزية للتعلم.",[12,35081,35082],{},[174,35083,32549],{},[186,35085,35086,35092,35097,35102,35108],{},[189,35087,35088,35091],{},[174,35089,35090],{},"2-3 أشهر"," للأساسيات والسكريبتات البسيطة",[189,35093,35094,35096],{},[174,35095,31182],{}," لتصبح جاهزاً للوظيفة (محلل بيانات، مطور خلفية)",[189,35098,35099,35101],{},[174,35100,31166],{}," للأدوار المتقدمة (عالم بيانات، مهندس ML)",[189,35103,35104,35107],{},[174,35105,35106],{},"بنِ مشاريع باستمرار"," - هذا غير قابل للتفاوض",[189,35109,35110,35113],{},[174,35111,35112],{},"اختر مسار واحد"," وتعمق قبل استكشاف الآخرين",[12,35115,35116],{},"مستقبل Python مشرق مع نمو الذكاء الاصطناعي/ML، الأتمتة، وعلم البيانات بشكل كبير. ابدأ اليوم، كن ثابتاً، وابنِ مشاريع حقيقية. في عام، ستندهش مما يمكنك إنشاؤه.",[12,35118,35119,35126],{},[174,35120,35121,35122,35125],{},"جاهز لبدء رحلة Python الخاصة بك؟ ",[584,35123,35124],{},"print(\"Hello, World!\")"," الأول ينتظرك!"," 🐍",[3587,35128,35129],{},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .s56mj, html code.shiki .s56mj{--shiki-light:#6A737D;--shiki-default:#6A9955;--shiki-dark:#6A9955}html pre.shiki code .svuFb, html code.shiki .svuFb{--shiki-light:#6F42C1;--shiki-default:#DCDCAA;--shiki-dark:#DCDCAA}html pre.shiki code .s7v1m, html code.shiki .s7v1m{--shiki-light:#005CC5;--shiki-default:#569CD6;--shiki-dark:#569CD6}html pre.shiki code .sGDl4, html code.shiki .sGDl4{--shiki-light:#032F62;--shiki-default:#CE9178;--shiki-dark:#CE9178}html pre.shiki code .sNX3-, html code.shiki .sNX3-{--shiki-light:#005CC5;--shiki-default:#DCDCAA;--shiki-dark:#DCDCAA}",{"title":42,"searchDepth":43,"depth":43,"links":35131},[35132,35133,35134,35144,35149,35154,35160,35161,35165,35170,35171],{"id":32675,"depth":46,"text":32676},{"id":32787,"depth":46,"text":32788},{"id":32930,"depth":46,"text":32931,"children":35135},[35136,35137,35138,35143],{"id":32934,"depth":43,"text":32935},{"id":33103,"depth":43,"text":33104},{"id":33224,"depth":43,"text":33225,"children":35139},[35140,35141,35142],{"id":33229,"depth":2545,"text":33232},{"id":33490,"depth":2545,"text":33493},{"id":33750,"depth":2545,"text":33753},{"id":33990,"depth":43,"text":33991},{"id":34066,"depth":46,"text":34067,"children":35145},[35146,35147,35148],{"id":34070,"depth":43,"text":34071},{"id":34100,"depth":43,"text":34101},{"id":34292,"depth":43,"text":34293},{"id":34370,"depth":46,"text":34371,"children":35150},[35151,35152,35153],{"id":31771,"depth":43,"text":31772},{"id":34473,"depth":43,"text":34474},{"id":34524,"depth":43,"text":34525},{"id":15451,"depth":46,"text":15452,"children":35155},[35156,35157,35158,35159],{"id":34573,"depth":43,"text":34574},{"id":34592,"depth":43,"text":34593},{"id":34616,"depth":43,"text":34617},{"id":34640,"depth":43,"text":34641},{"id":34664,"depth":46,"text":34665},{"id":34751,"depth":46,"text":34752,"children":35162},[35163,35164],{"id":34755,"depth":43,"text":34756},{"id":34825,"depth":43,"text":34826},{"id":34867,"depth":46,"text":34868,"children":35166},[35167,35168,35169],{"id":34871,"depth":43,"text":34872},{"id":34901,"depth":43,"text":34902},{"id":34911,"depth":43,"text":34912},{"id":34998,"depth":46,"text":34999},{"id":8049,"depth":46,"text":8049},"اكتشف كم يستغرق فعلياً تعلم Python في 2025، من الأساسيات إلى إتقان الذكاء الاصطناعي/تعلم الآلة. يشمل جداول زمنية واقعية، مسارات تعلم لعلم البيانات، تطوير الويب، والأتمتة، بالإضافة إلى الأدوات الحديثة والموارد.","https://images.unsplash.com/photo-1515879218367-8466d910aaa4?q=80&w=1200",{"excerpt":35175},{"type":9,"value":35176},[35177,35179,35183],[12,35178,32663],{},[12,35180,35181,32669],{},[174,35182,32668],{},[12,35184,32672],{},"/km-ystghrq-talm-python-2025","2022-12-17",{"title":32658,"description":35172},"كم-يستغرق-تعلم-python-2025",[2523,3628,35190,35191,1471,35192,35193],"machine-learning","data-science","django","fastapi","mxnCjsirKAM10wItrMySBriP2qMzwxm3teGA_yFuFVM",{"id":35196,"title":35197,"author":7,"body":35198,"category":1437,"description":39663,"extension":52,"image":39664,"isDraft":55,"isFeatured":55,"locale":56,"meta":39665,"navigation":54,"path":39670,"publishedAt":39671,"readingTime":4125,"seo":39672,"stem":39673,"tags":39674,"updatedAt":1476,"__hash__":39677},"articles_ar/كود-قابل-لإعادة-الاستخدام-وقابل-للتوسع-في-unity.md","بناء كود قابل لإعادة الاستخدام وقابل للتوسع في Unity: دليل كامل لعام 2025",{"type":9,"value":35199,"toc":39637},[35200,35203,35207,35211,35216,35227,35232,35246,35251,35265,35270,35274,35306,35310,35313,35317,35425,35429,35434,35556,35560,35564,35773,35777,36059,36063,36067,36072,36147,36152,36330,36334,36339,36513,36517,36912,36916,37503,37507,37956,37960,38302,38306,38696,38700,39166,39170,39588,39592,39595,39601,39607,39613,39619,39625,39628,39634],[12,35201,35202],{},"إنشاء كود معياري وقابل لإعادة الاستخدام في Unity هو مفهوم مهم لتطوير الألعاب بكفاءة. في 2025، مع استمرار تطور Unity وزيادة تعقيد مشاريع الألعاب، أصبح إتقان الهندسة المعمارية القابلة للتوسع أكثر أهمية من أي وقت مضى. يغطي هذا الدليل الشامل كل شيء من الأنماط الأساسية إلى المفاهيم المعمارية المتقدمة التي ستساعدك على بناء ألعاب يمكن أن تنمو من نماذج indie إلى عناوين AAA.",[16,35204,35206],{"id":35205},"لماذا-يهم-الكود-القابل-للتوسع-في-unity","لماذا يهم الكود القابل للتوسع في Unity",[209,35208,35210],{"id":35209},"تكلفة-الهندسة-المعمارية-السيئة","تكلفة الهندسة المعمارية السيئة",[12,35212,35213],{},[174,35214,35215],{},"تطوير اللعبة المبكر (الأشهر 1-3):",[186,35217,35218,35221,35224],{},[189,35219,35220],{},"كل شيء يعمل بشكل مثالي",[189,35222,35223],{},"الكود بسيط ومباشر",[189,35225,35226],{},"التغييرات سهلة الإجراء",[12,35228,35229],{},[174,35230,35231],{},"تطوير اللعبة المتوسط (الأشهر 4-12):",[186,35233,35234,35237,35240,35243],{},[189,35235,35236],{},"قاعدة الكود تنمو إلى 10,000+ سطر",[189,35238,35239],{},"الميزات تصبح مترابطة",[189,35241,35242],{},"التغييرات البسيطة تكسر أنظمة متعددة",[189,35244,35245],{},"سرعة التطوير تبطئ إلى سحب",[12,35247,35248],{},[174,35249,35250],{},"تطوير اللعبة المتأخر (الأشهر 13+):",[186,35252,35253,35256,35259,35262],{},[189,35254,35255],{},"حجم الفريق ينمو إلى 5-20+ شخص",[189,35257,35258],{},"ميزات متعددة في التطوير المتوازي",[189,35260,35261],{},"الديون التقنية تسبب أخطاء مستمرة",[189,35263,35264],{},"الإصدارات تتأخر بسبب قضايا معمارية",[12,35266,35267,35269],{},[174,35268,423],{}," 70% من مشاريع تطوير الألعاب تفشل بسبب قضايا تقنية، مع كون الهندسة المعمارية السيئة سبباً رئيسياً.",[209,35271,35273],{"id":35272},"فوائد-الهندسة-المعمارية-القابلة-للتوسع","فوائد الهندسة المعمارية القابلة للتوسع",[186,35275,35276,35282,35288,35294,35300],{},[189,35277,35278,35281],{},[174,35279,35280],{},"تطوير أسرع:"," الميزات الجديدة تأخذ أياماً، لا أسابيع",[189,35283,35284,35287],{},[174,35285,35286],{},"صيانة أسهل:"," الأخطاء معزولة وقابلة للإصلاح",[189,35289,35290,35293],{},[174,35291,35292],{},"تعاون الفريق:"," مطورون متعددون يمكنهم العمل بدون تعارضات",[189,35295,35296,35299],{},[174,35297,35298],{},"مستقبل آمن:"," سهل إضافة ميزات ومنصات جديدة",[189,35301,35302,35305],{},[174,35303,35304],{},"أداء:"," تحسين وإدارة ذاكرة أفضل",[16,35307,35309],{"id":35308},"_1-scriptableobjects-تصميم-اللعبة-المدفوع-بالبيانات","1. ScriptableObjects: تصميم اللعبة المدفوع بالبيانات",[12,35311,35312],{},"ScriptableObjects هي أقوى ميزة Unity وأقل استخداماً. تفصل البيانات عن المنطق، مما يتيح تصميم لعبة مدفوع بالبيانات حقيقي.",[209,35314,35316],{"id":35315},"إعداد-scriptableobject-الأساسي","إعداد ScriptableObject الأساسي",[577,35318,35322],{"className":35319,"code":35320,"language":35321,"meta":42,"style":42},"language-csharp shiki shiki-themes github-light dark-plus dark-plus","using UnityEngine;\n\n[CreateAssetMenu(fileName = \"NewWeaponData\", menuName = \"Game/Weapon Data\")]\npublic class WeaponData : ScriptableObject\n{\n    [Header(\"Basic Info\")]\n    public string weaponName;\n    public Sprite icon;\n    public GameObject prefab;\n    \n    [Header(\"Stats\")]\n    public float damage = 10f;\n    public float fireRate = 1f;\n    public int maxAmmo = 30;\n    public float range = 50f;\n    \n    [Header(\"Visual Effects\")]\n    public ParticleSystem muzzleFlash;\n    public AudioClip fireSound;\n    public TrailRenderer bulletTrail;\n}\n","csharp",[584,35323,35324,35329,35333,35338,35343,35348,35353,35358,35363,35368,35372,35377,35382,35387,35392,35397,35401,35406,35411,35416,35421],{"__ignoreMap":42},[2008,35325,35326],{"class":2528,"line":2529},[2008,35327,35328],{},"using UnityEngine;\n",[2008,35330,35331],{"class":2528,"line":46},[2008,35332,2548],{"emptyLinePlaceholder":54},[2008,35334,35335],{"class":2528,"line":43},[2008,35336,35337],{},"[CreateAssetMenu(fileName = \"NewWeaponData\", menuName = \"Game/Weapon Data\")]\n",[2008,35339,35340],{"class":2528,"line":2545},[2008,35341,35342],{},"public class WeaponData : ScriptableObject\n",[2008,35344,35345],{"class":2528,"line":2551},[2008,35346,35347],{},"{\n",[2008,35349,35350],{"class":2528,"line":2557},[2008,35351,35352],{},"    [Header(\"Basic Info\")]\n",[2008,35354,35355],{"class":2528,"line":2563},[2008,35356,35357],{},"    public string weaponName;\n",[2008,35359,35360],{"class":2528,"line":2568},[2008,35361,35362],{},"    public Sprite icon;\n",[2008,35364,35365],{"class":2528,"line":2574},[2008,35366,35367],{},"    public GameObject prefab;\n",[2008,35369,35370],{"class":2528,"line":1467},[2008,35371,2991],{},[2008,35373,35374],{"class":2528,"line":2818},[2008,35375,35376],{},"    [Header(\"Stats\")]\n",[2008,35378,35379],{"class":2528,"line":2842},[2008,35380,35381],{},"    public float damage = 10f;\n",[2008,35383,35384],{"class":2528,"line":2862},[2008,35385,35386],{},"    public float fireRate = 1f;\n",[2008,35388,35389],{"class":2528,"line":2119},[2008,35390,35391],{},"    public int maxAmmo = 30;\n",[2008,35393,35394],{"class":2528,"line":2035},[2008,35395,35396],{},"    public float range = 50f;\n",[2008,35398,35399],{"class":2528,"line":3038},[2008,35400,2991],{},[2008,35402,35403],{"class":2528,"line":3044},[2008,35404,35405],{},"    [Header(\"Visual Effects\")]\n",[2008,35407,35408],{"class":2528,"line":2380},[2008,35409,35410],{},"    public ParticleSystem muzzleFlash;\n",[2008,35412,35413],{"class":2528,"line":4107},[2008,35414,35415],{},"    public AudioClip fireSound;\n",[2008,35417,35418],{"class":2528,"line":64},[2008,35419,35420],{},"    public TrailRenderer bulletTrail;\n",[2008,35422,35423],{"class":2528,"line":4120},[2008,35424,2748],{},[209,35426,35428],{"id":35427},"scriptableobjects-المدفوعة-بالأحداث","ScriptableObjects المدفوعة بالأحداث",[12,35430,35431],{},[174,35432,35433],{},"نظام GameEvent:",[577,35435,35437],{"className":35319,"code":35436,"language":35321,"meta":42,"style":42},"using UnityEngine;\nusing UnityEngine.Events;\n\n[CreateAssetMenu(fileName = \"NewGameEvent\", menuName = \"Game/Game Event\")]\npublic class GameEvent : ScriptableObject\n{\n    [TextArea(3, 10)]\n    public string description;\n    \n    private UnityEvent onRaised = new UnityEvent();\n    \n    public void Raise()\n    {\n        onRaised.Invoke();\n    }\n    \n    public void RegisterListener(UnityAction listener)\n    {\n        onRaised.AddListener(listener);\n    }\n    \n    public void UnregisterListener(UnityAction listener)\n    {\n        onRaised.RemoveListener(listener);\n    }\n}\n",[584,35438,35439,35443,35448,35452,35457,35462,35466,35471,35476,35480,35485,35489,35494,35499,35504,35508,35512,35517,35521,35526,35530,35534,35539,35543,35548,35552],{"__ignoreMap":42},[2008,35440,35441],{"class":2528,"line":2529},[2008,35442,35328],{},[2008,35444,35445],{"class":2528,"line":46},[2008,35446,35447],{},"using UnityEngine.Events;\n",[2008,35449,35450],{"class":2528,"line":43},[2008,35451,2548],{"emptyLinePlaceholder":54},[2008,35453,35454],{"class":2528,"line":2545},[2008,35455,35456],{},"[CreateAssetMenu(fileName = \"NewGameEvent\", menuName = \"Game/Game Event\")]\n",[2008,35458,35459],{"class":2528,"line":2551},[2008,35460,35461],{},"public class GameEvent : ScriptableObject\n",[2008,35463,35464],{"class":2528,"line":2557},[2008,35465,35347],{},[2008,35467,35468],{"class":2528,"line":2563},[2008,35469,35470],{},"    [TextArea(3, 10)]\n",[2008,35472,35473],{"class":2528,"line":2568},[2008,35474,35475],{},"    public string description;\n",[2008,35477,35478],{"class":2528,"line":2574},[2008,35479,2991],{},[2008,35481,35482],{"class":2528,"line":1467},[2008,35483,35484],{},"    private UnityEvent onRaised = new UnityEvent();\n",[2008,35486,35487],{"class":2528,"line":2818},[2008,35488,2991],{},[2008,35490,35491],{"class":2528,"line":2842},[2008,35492,35493],{},"    public void Raise()\n",[2008,35495,35496],{"class":2528,"line":2862},[2008,35497,35498],{},"    {\n",[2008,35500,35501],{"class":2528,"line":2119},[2008,35502,35503],{},"        onRaised.Invoke();\n",[2008,35505,35506],{"class":2528,"line":2035},[2008,35507,3047],{},[2008,35509,35510],{"class":2528,"line":3038},[2008,35511,2991],{},[2008,35513,35514],{"class":2528,"line":3044},[2008,35515,35516],{},"    public void RegisterListener(UnityAction listener)\n",[2008,35518,35519],{"class":2528,"line":2380},[2008,35520,35498],{},[2008,35522,35523],{"class":2528,"line":4107},[2008,35524,35525],{},"        onRaised.AddListener(listener);\n",[2008,35527,35528],{"class":2528,"line":64},[2008,35529,3047],{},[2008,35531,35532],{"class":2528,"line":4120},[2008,35533,2991],{},[2008,35535,35536],{"class":2528,"line":4125},[2008,35537,35538],{},"    public void UnregisterListener(UnityAction listener)\n",[2008,35540,35541],{"class":2528,"line":4135},[2008,35542,35498],{},[2008,35544,35545],{"class":2528,"line":4145},[2008,35546,35547],{},"        onRaised.RemoveListener(listener);\n",[2008,35549,35550],{"class":2528,"line":4169},[2008,35551,3047],{},[2008,35553,35554],{"class":2528,"line":4192},[2008,35555,2748],{},[16,35557,35559],{"id":35558},"_2-أنماط-التصميم-الأساسية-للألعاب","2. أنماط التصميم الأساسية للألعاب",[209,35561,35563],{"id":35562},"نمط-singleton-للمديرين-العامين","نمط Singleton للمديرين العامين",[577,35565,35567],{"className":35319,"code":35566,"language":35321,"meta":42,"style":42},"using UnityEngine;\n\npublic class GameManager : MonoBehaviour\n{\n    private static GameManager instance;\n    public static GameManager Instance\n    {\n        get\n        {\n            if (instance == null)\n            {\n                instance = FindObjectOfType\u003CGameManager>();\n                if (instance == null)\n                {\n                    GameObject obj = new GameObject(\"GameManager\");\n                    instance = obj.AddComponent\u003CGameManager>();\n                }\n            }\n            return instance;\n        }\n    }\n    \n    private void Awake()\n    {\n        if (instance != null && instance != this)\n        {\n            Destroy(gameObject);\n            return;\n        }\n        \n        instance = this;\n        DontDestroyOnLoad(gameObject);\n    }\n    \n    // Game state management\n    public int score = 0;\n    public bool isPaused = false;\n    \n    public void AddScore(int points)\n    {\n        score += points;\n        // Trigger score update events\n    }\n}\n",[584,35568,35569,35573,35577,35582,35586,35591,35596,35600,35605,35610,35615,35620,35625,35630,35635,35640,35645,35650,35655,35660,35664,35668,35672,35677,35681,35686,35690,35695,35700,35704,35709,35714,35719,35723,35727,35732,35737,35742,35746,35751,35755,35760,35765,35769],{"__ignoreMap":42},[2008,35570,35571],{"class":2528,"line":2529},[2008,35572,35328],{},[2008,35574,35575],{"class":2528,"line":46},[2008,35576,2548],{"emptyLinePlaceholder":54},[2008,35578,35579],{"class":2528,"line":43},[2008,35580,35581],{},"public class GameManager : MonoBehaviour\n",[2008,35583,35584],{"class":2528,"line":2545},[2008,35585,35347],{},[2008,35587,35588],{"class":2528,"line":2551},[2008,35589,35590],{},"    private static GameManager instance;\n",[2008,35592,35593],{"class":2528,"line":2557},[2008,35594,35595],{},"    public static GameManager Instance\n",[2008,35597,35598],{"class":2528,"line":2563},[2008,35599,35498],{},[2008,35601,35602],{"class":2528,"line":2568},[2008,35603,35604],{},"        get\n",[2008,35606,35607],{"class":2528,"line":2574},[2008,35608,35609],{},"        {\n",[2008,35611,35612],{"class":2528,"line":1467},[2008,35613,35614],{},"            if (instance == null)\n",[2008,35616,35617],{"class":2528,"line":2818},[2008,35618,35619],{},"            {\n",[2008,35621,35622],{"class":2528,"line":2842},[2008,35623,35624],{},"                instance = FindObjectOfType\u003CGameManager>();\n",[2008,35626,35627],{"class":2528,"line":2862},[2008,35628,35629],{},"                if (instance == null)\n",[2008,35631,35632],{"class":2528,"line":2119},[2008,35633,35634],{},"                {\n",[2008,35636,35637],{"class":2528,"line":2035},[2008,35638,35639],{},"                    GameObject obj = new GameObject(\"GameManager\");\n",[2008,35641,35642],{"class":2528,"line":3038},[2008,35643,35644],{},"                    instance = obj.AddComponent\u003CGameManager>();\n",[2008,35646,35647],{"class":2528,"line":3044},[2008,35648,35649],{},"                }\n",[2008,35651,35652],{"class":2528,"line":2380},[2008,35653,35654],{},"            }\n",[2008,35656,35657],{"class":2528,"line":4107},[2008,35658,35659],{},"            return instance;\n",[2008,35661,35662],{"class":2528,"line":64},[2008,35663,3321],{},[2008,35665,35666],{"class":2528,"line":4120},[2008,35667,3047],{},[2008,35669,35670],{"class":2528,"line":4125},[2008,35671,2991],{},[2008,35673,35674],{"class":2528,"line":4135},[2008,35675,35676],{},"    private void Awake()\n",[2008,35678,35679],{"class":2528,"line":4145},[2008,35680,35498],{},[2008,35682,35683],{"class":2528,"line":4169},[2008,35684,35685],{},"        if (instance != null && instance != this)\n",[2008,35687,35688],{"class":2528,"line":4192},[2008,35689,35609],{},[2008,35691,35692],{"class":2528,"line":4229},[2008,35693,35694],{},"            Destroy(gameObject);\n",[2008,35696,35697],{"class":2528,"line":4239},[2008,35698,35699],{},"            return;\n",[2008,35701,35702],{"class":2528,"line":4531},[2008,35703,3321],{},[2008,35705,35706],{"class":2528,"line":4539},[2008,35707,35708],{},"        \n",[2008,35710,35711],{"class":2528,"line":4547},[2008,35712,35713],{},"        instance = this;\n",[2008,35715,35716],{"class":2528,"line":4555},[2008,35717,35718],{},"        DontDestroyOnLoad(gameObject);\n",[2008,35720,35721],{"class":2528,"line":4561},[2008,35722,3047],{},[2008,35724,35725],{"class":2528,"line":4566},[2008,35726,2991],{},[2008,35728,35729],{"class":2528,"line":5249},[2008,35730,35731],{},"    // Game state management\n",[2008,35733,35734],{"class":2528,"line":5258},[2008,35735,35736],{},"    public int score = 0;\n",[2008,35738,35739],{"class":2528,"line":5267},[2008,35740,35741],{},"    public bool isPaused = false;\n",[2008,35743,35744],{"class":2528,"line":16229},[2008,35745,2991],{},[2008,35747,35748],{"class":2528,"line":16237},[2008,35749,35750],{},"    public void AddScore(int points)\n",[2008,35752,35753],{"class":2528,"line":16246},[2008,35754,35498],{},[2008,35756,35757],{"class":2528,"line":16251},[2008,35758,35759],{},"        score += points;\n",[2008,35761,35762],{"class":2528,"line":16256},[2008,35763,35764],{},"        // Trigger score update events\n",[2008,35766,35767],{"class":2528,"line":16951},[2008,35768,3047],{},[2008,35770,35771],{"class":2528,"line":16956},[2008,35772,2748],{},[209,35774,35776],{"id":35775},"نمط-object-pool-لتحسين-الأداء","نمط Object Pool لتحسين الأداء",[577,35778,35780],{"className":35319,"code":35779,"language":35321,"meta":42,"style":42},"using System.Collections.Generic;\nusing UnityEngine;\n\npublic class ObjectPool\u003CT> : MonoBehaviour where T : Component\n{\n    [SerializeField] private T prefab;\n    [SerializeField] private int initialSize = 10;\n    \n    private Queue\u003CT> pool = new Queue\u003CT>();\n    private List\u003CT> activeObjects = new List\u003CT>();\n    \n    private void Awake()\n    {\n        InitializePool();\n    }\n    \n    private void InitializePool()\n    {\n        for (int i = 0; i \u003C initialSize; i++)\n        {\n            CreateNewObject();\n        }\n    }\n    \n    private T CreateNewObject()\n    {\n        T newObj = Instantiate(prefab, transform);\n        newObj.gameObject.SetActive(false);\n        pool.Enqueue(newObj);\n        return newObj;\n    }\n    \n    public T GetObject()\n    {\n        if (pool.Count == 0)\n        {\n            CreateNewObject();\n        }\n        \n        T obj = pool.Dequeue();\n        obj.gameObject.SetActive(true);\n        activeObjects.Add(obj);\n        return obj;\n    }\n    \n    public void ReturnObject(T obj)\n    {\n        obj.gameObject.SetActive(false);\n        activeObjects.Remove(obj);\n        pool.Enqueue(obj);\n    }\n    \n    public void ReturnAllObjects()\n    {\n        foreach (T obj in activeObjects.ToArray())\n        {\n            ReturnObject(obj);\n        }\n    }\n}\n",[584,35781,35782,35787,35791,35795,35800,35804,35809,35814,35818,35823,35828,35832,35836,35840,35845,35849,35853,35858,35862,35867,35871,35876,35880,35884,35888,35893,35897,35902,35907,35912,35917,35921,35925,35930,35934,35939,35943,35947,35951,35955,35960,35965,35970,35975,35979,35983,35988,35992,35997,36002,36007,36011,36016,36022,36027,36033,36038,36044,36049,36054],{"__ignoreMap":42},[2008,35783,35784],{"class":2528,"line":2529},[2008,35785,35786],{},"using System.Collections.Generic;\n",[2008,35788,35789],{"class":2528,"line":46},[2008,35790,35328],{},[2008,35792,35793],{"class":2528,"line":43},[2008,35794,2548],{"emptyLinePlaceholder":54},[2008,35796,35797],{"class":2528,"line":2545},[2008,35798,35799],{},"public class ObjectPool\u003CT> : MonoBehaviour where T : Component\n",[2008,35801,35802],{"class":2528,"line":2551},[2008,35803,35347],{},[2008,35805,35806],{"class":2528,"line":2557},[2008,35807,35808],{},"    [SerializeField] private T prefab;\n",[2008,35810,35811],{"class":2528,"line":2563},[2008,35812,35813],{},"    [SerializeField] private int initialSize = 10;\n",[2008,35815,35816],{"class":2528,"line":2568},[2008,35817,2991],{},[2008,35819,35820],{"class":2528,"line":2574},[2008,35821,35822],{},"    private Queue\u003CT> pool = new Queue\u003CT>();\n",[2008,35824,35825],{"class":2528,"line":1467},[2008,35826,35827],{},"    private List\u003CT> activeObjects = new List\u003CT>();\n",[2008,35829,35830],{"class":2528,"line":2818},[2008,35831,2991],{},[2008,35833,35834],{"class":2528,"line":2842},[2008,35835,35676],{},[2008,35837,35838],{"class":2528,"line":2862},[2008,35839,35498],{},[2008,35841,35842],{"class":2528,"line":2119},[2008,35843,35844],{},"        InitializePool();\n",[2008,35846,35847],{"class":2528,"line":2035},[2008,35848,3047],{},[2008,35850,35851],{"class":2528,"line":3038},[2008,35852,2991],{},[2008,35854,35855],{"class":2528,"line":3044},[2008,35856,35857],{},"    private void InitializePool()\n",[2008,35859,35860],{"class":2528,"line":2380},[2008,35861,35498],{},[2008,35863,35864],{"class":2528,"line":4107},[2008,35865,35866],{},"        for (int i = 0; i \u003C initialSize; i++)\n",[2008,35868,35869],{"class":2528,"line":64},[2008,35870,35609],{},[2008,35872,35873],{"class":2528,"line":4120},[2008,35874,35875],{},"            CreateNewObject();\n",[2008,35877,35878],{"class":2528,"line":4125},[2008,35879,3321],{},[2008,35881,35882],{"class":2528,"line":4135},[2008,35883,3047],{},[2008,35885,35886],{"class":2528,"line":4145},[2008,35887,2991],{},[2008,35889,35890],{"class":2528,"line":4169},[2008,35891,35892],{},"    private T CreateNewObject()\n",[2008,35894,35895],{"class":2528,"line":4192},[2008,35896,35498],{},[2008,35898,35899],{"class":2528,"line":4229},[2008,35900,35901],{},"        T newObj = Instantiate(prefab, transform);\n",[2008,35903,35904],{"class":2528,"line":4239},[2008,35905,35906],{},"        newObj.gameObject.SetActive(false);\n",[2008,35908,35909],{"class":2528,"line":4531},[2008,35910,35911],{},"        pool.Enqueue(newObj);\n",[2008,35913,35914],{"class":2528,"line":4539},[2008,35915,35916],{},"        return newObj;\n",[2008,35918,35919],{"class":2528,"line":4547},[2008,35920,3047],{},[2008,35922,35923],{"class":2528,"line":4555},[2008,35924,2991],{},[2008,35926,35927],{"class":2528,"line":4561},[2008,35928,35929],{},"    public T GetObject()\n",[2008,35931,35932],{"class":2528,"line":4566},[2008,35933,35498],{},[2008,35935,35936],{"class":2528,"line":5249},[2008,35937,35938],{},"        if (pool.Count == 0)\n",[2008,35940,35941],{"class":2528,"line":5258},[2008,35942,35609],{},[2008,35944,35945],{"class":2528,"line":5267},[2008,35946,35875],{},[2008,35948,35949],{"class":2528,"line":16229},[2008,35950,3321],{},[2008,35952,35953],{"class":2528,"line":16237},[2008,35954,35708],{},[2008,35956,35957],{"class":2528,"line":16246},[2008,35958,35959],{},"        T obj = pool.Dequeue();\n",[2008,35961,35962],{"class":2528,"line":16251},[2008,35963,35964],{},"        obj.gameObject.SetActive(true);\n",[2008,35966,35967],{"class":2528,"line":16256},[2008,35968,35969],{},"        activeObjects.Add(obj);\n",[2008,35971,35972],{"class":2528,"line":16951},[2008,35973,35974],{},"        return obj;\n",[2008,35976,35977],{"class":2528,"line":16956},[2008,35978,3047],{},[2008,35980,35981],{"class":2528,"line":16982},[2008,35982,2991],{},[2008,35984,35985],{"class":2528,"line":17000},[2008,35986,35987],{},"    public void ReturnObject(T obj)\n",[2008,35989,35990],{"class":2528,"line":17005},[2008,35991,35498],{},[2008,35993,35994],{"class":2528,"line":17010},[2008,35995,35996],{},"        obj.gameObject.SetActive(false);\n",[2008,35998,35999],{"class":2528,"line":17036},[2008,36000,36001],{},"        activeObjects.Remove(obj);\n",[2008,36003,36004],{"class":2528,"line":17054},[2008,36005,36006],{},"        pool.Enqueue(obj);\n",[2008,36008,36009],{"class":2528,"line":17729},[2008,36010,3047],{},[2008,36012,36014],{"class":2528,"line":36013},52,[2008,36015,2991],{},[2008,36017,36019],{"class":2528,"line":36018},53,[2008,36020,36021],{},"    public void ReturnAllObjects()\n",[2008,36023,36025],{"class":2528,"line":36024},54,[2008,36026,35498],{},[2008,36028,36030],{"class":2528,"line":36029},55,[2008,36031,36032],{},"        foreach (T obj in activeObjects.ToArray())\n",[2008,36034,36036],{"class":2528,"line":36035},56,[2008,36037,35609],{},[2008,36039,36041],{"class":2528,"line":36040},57,[2008,36042,36043],{},"            ReturnObject(obj);\n",[2008,36045,36047],{"class":2528,"line":36046},58,[2008,36048,3321],{},[2008,36050,36052],{"class":2528,"line":36051},59,[2008,36053,3047],{},[2008,36055,36057],{"class":2528,"line":36056},60,[2008,36058,2748],{},[16,36060,36062],{"id":36061},"_3-مبادئ-solid-في-unity","3. مبادئ SOLID في Unity",[209,36064,36066],{"id":36065},"single-responsibility-principle-srp","Single Responsibility Principle (SRP)",[12,36068,36069],{},[174,36070,36071],{},"سيء - فئة تفعل الكثير:",[577,36073,36075],{"className":35319,"code":36074,"language":35321,"meta":42,"style":42},"public class Player : MonoBehaviour\n{\n    // Movement\n    public float speed = 5f;\n    private Rigidbody rb;\n    \n    // Health\n    public int maxHealth = 100;\n    private int currentHealth;\n    \n    // Animation\n    private Animator animator;\n    \n    // Input handling, collision detection, UI updates...\n}\n",[584,36076,36077,36082,36086,36091,36096,36101,36105,36110,36115,36120,36124,36129,36134,36138,36143],{"__ignoreMap":42},[2008,36078,36079],{"class":2528,"line":2529},[2008,36080,36081],{},"public class Player : MonoBehaviour\n",[2008,36083,36084],{"class":2528,"line":46},[2008,36085,35347],{},[2008,36087,36088],{"class":2528,"line":43},[2008,36089,36090],{},"    // Movement\n",[2008,36092,36093],{"class":2528,"line":2545},[2008,36094,36095],{},"    public float speed = 5f;\n",[2008,36097,36098],{"class":2528,"line":2551},[2008,36099,36100],{},"    private Rigidbody rb;\n",[2008,36102,36103],{"class":2528,"line":2557},[2008,36104,2991],{},[2008,36106,36107],{"class":2528,"line":2563},[2008,36108,36109],{},"    // Health\n",[2008,36111,36112],{"class":2528,"line":2568},[2008,36113,36114],{},"    public int maxHealth = 100;\n",[2008,36116,36117],{"class":2528,"line":2574},[2008,36118,36119],{},"    private int currentHealth;\n",[2008,36121,36122],{"class":2528,"line":1467},[2008,36123,2991],{},[2008,36125,36126],{"class":2528,"line":2818},[2008,36127,36128],{},"    // Animation\n",[2008,36130,36131],{"class":2528,"line":2842},[2008,36132,36133],{},"    private Animator animator;\n",[2008,36135,36136],{"class":2528,"line":2862},[2008,36137,2991],{},[2008,36139,36140],{"class":2528,"line":2119},[2008,36141,36142],{},"    // Input handling, collision detection, UI updates...\n",[2008,36144,36145],{"class":2528,"line":2035},[2008,36146,2748],{},[12,36148,36149],{},[174,36150,36151],{},"جيد - فصل المسؤوليات:",[577,36153,36155],{"className":35319,"code":36154,"language":35321,"meta":42,"style":42},"public class PlayerMovement : MonoBehaviour\n{\n    [SerializeField] private float speed = 5f;\n    private Rigidbody rb;\n    \n    private void FixedUpdate()\n    {\n        float horizontal = Input.GetAxis(\"Horizontal\");\n        float vertical = Input.GetAxis(\"Vertical\");\n        \n        Vector3 movement = new Vector3(horizontal, 0f, vertical) * speed;\n        rb.AddForce(movement);\n    }\n}\n\npublic class PlayerHealth : MonoBehaviour\n{\n    [SerializeField] private int maxHealth = 100;\n    private int currentHealth;\n    \n    public event Action\u003Cint> OnHealthChanged;\n    public event Action OnDeath;\n    \n    private void Awake()\n    {\n        currentHealth = maxHealth;\n    }\n    \n    public void TakeDamage(int damage)\n    {\n        currentHealth -= damage;\n        OnHealthChanged?.Invoke(currentHealth);\n        \n        if (currentHealth \u003C= 0)\n        {\n            OnDeath?.Invoke();\n        }\n    }\n}\n",[584,36156,36157,36162,36166,36171,36175,36179,36184,36188,36193,36198,36202,36207,36212,36216,36220,36224,36229,36233,36238,36242,36246,36251,36256,36260,36264,36268,36273,36277,36281,36286,36290,36295,36300,36304,36309,36313,36318,36322,36326],{"__ignoreMap":42},[2008,36158,36159],{"class":2528,"line":2529},[2008,36160,36161],{},"public class PlayerMovement : MonoBehaviour\n",[2008,36163,36164],{"class":2528,"line":46},[2008,36165,35347],{},[2008,36167,36168],{"class":2528,"line":43},[2008,36169,36170],{},"    [SerializeField] private float speed = 5f;\n",[2008,36172,36173],{"class":2528,"line":2545},[2008,36174,36100],{},[2008,36176,36177],{"class":2528,"line":2551},[2008,36178,2991],{},[2008,36180,36181],{"class":2528,"line":2557},[2008,36182,36183],{},"    private void FixedUpdate()\n",[2008,36185,36186],{"class":2528,"line":2563},[2008,36187,35498],{},[2008,36189,36190],{"class":2528,"line":2568},[2008,36191,36192],{},"        float horizontal = Input.GetAxis(\"Horizontal\");\n",[2008,36194,36195],{"class":2528,"line":2574},[2008,36196,36197],{},"        float vertical = Input.GetAxis(\"Vertical\");\n",[2008,36199,36200],{"class":2528,"line":1467},[2008,36201,35708],{},[2008,36203,36204],{"class":2528,"line":2818},[2008,36205,36206],{},"        Vector3 movement = new Vector3(horizontal, 0f, vertical) * speed;\n",[2008,36208,36209],{"class":2528,"line":2842},[2008,36210,36211],{},"        rb.AddForce(movement);\n",[2008,36213,36214],{"class":2528,"line":2862},[2008,36215,3047],{},[2008,36217,36218],{"class":2528,"line":2119},[2008,36219,2748],{},[2008,36221,36222],{"class":2528,"line":2035},[2008,36223,2548],{"emptyLinePlaceholder":54},[2008,36225,36226],{"class":2528,"line":3038},[2008,36227,36228],{},"public class PlayerHealth : MonoBehaviour\n",[2008,36230,36231],{"class":2528,"line":3044},[2008,36232,35347],{},[2008,36234,36235],{"class":2528,"line":2380},[2008,36236,36237],{},"    [SerializeField] private int maxHealth = 100;\n",[2008,36239,36240],{"class":2528,"line":4107},[2008,36241,36119],{},[2008,36243,36244],{"class":2528,"line":64},[2008,36245,2991],{},[2008,36247,36248],{"class":2528,"line":4120},[2008,36249,36250],{},"    public event Action\u003Cint> OnHealthChanged;\n",[2008,36252,36253],{"class":2528,"line":4125},[2008,36254,36255],{},"    public event Action OnDeath;\n",[2008,36257,36258],{"class":2528,"line":4135},[2008,36259,2991],{},[2008,36261,36262],{"class":2528,"line":4145},[2008,36263,35676],{},[2008,36265,36266],{"class":2528,"line":4169},[2008,36267,35498],{},[2008,36269,36270],{"class":2528,"line":4192},[2008,36271,36272],{},"        currentHealth = maxHealth;\n",[2008,36274,36275],{"class":2528,"line":4229},[2008,36276,3047],{},[2008,36278,36279],{"class":2528,"line":4239},[2008,36280,2991],{},[2008,36282,36283],{"class":2528,"line":4531},[2008,36284,36285],{},"    public void TakeDamage(int damage)\n",[2008,36287,36288],{"class":2528,"line":4539},[2008,36289,35498],{},[2008,36291,36292],{"class":2528,"line":4547},[2008,36293,36294],{},"        currentHealth -= damage;\n",[2008,36296,36297],{"class":2528,"line":4555},[2008,36298,36299],{},"        OnHealthChanged?.Invoke(currentHealth);\n",[2008,36301,36302],{"class":2528,"line":4561},[2008,36303,35708],{},[2008,36305,36306],{"class":2528,"line":4566},[2008,36307,36308],{},"        if (currentHealth \u003C= 0)\n",[2008,36310,36311],{"class":2528,"line":5249},[2008,36312,35609],{},[2008,36314,36315],{"class":2528,"line":5258},[2008,36316,36317],{},"            OnDeath?.Invoke();\n",[2008,36319,36320],{"class":2528,"line":5267},[2008,36321,3321],{},[2008,36323,36324],{"class":2528,"line":16229},[2008,36325,3047],{},[2008,36327,36328],{"class":2528,"line":16237},[2008,36329,2748],{},[209,36331,36333],{"id":36332},"dependency-inversion-principle-dip","Dependency Inversion Principle (DIP)",[12,36335,36336],{},[174,36337,36338],{},"استخدم الواجهات للتبعيات:",[577,36340,36342],{"className":35319,"code":36341,"language":35321,"meta":42,"style":42},"public interface IDamageable\n{\n    void TakeDamage(int damage);\n    bool IsAlive { get; }\n}\n\npublic interface IInteractable\n{\n    void Interact(GameObject interactor);\n    string InteractionPrompt { get; }\n}\n\npublic class Enemy : MonoBehaviour, IDamageable\n{\n    [SerializeField] private int maxHealth = 50;\n    private int currentHealth;\n    \n    public bool IsAlive => currentHealth > 0;\n    \n    private void Awake()\n    {\n        currentHealth = maxHealth;\n    }\n    \n    public void TakeDamage(int damage)\n    {\n        currentHealth -= damage;\n        if (currentHealth \u003C= 0)\n        {\n            Die();\n        }\n    }\n    \n    private void Die()\n    {\n        // Death logic\n        Destroy(gameObject);\n    }\n}\n",[584,36343,36344,36349,36353,36358,36363,36367,36371,36376,36380,36385,36390,36394,36398,36403,36407,36412,36416,36420,36425,36429,36433,36437,36441,36445,36449,36453,36457,36461,36465,36469,36474,36478,36482,36486,36491,36495,36500,36505,36509],{"__ignoreMap":42},[2008,36345,36346],{"class":2528,"line":2529},[2008,36347,36348],{},"public interface IDamageable\n",[2008,36350,36351],{"class":2528,"line":46},[2008,36352,35347],{},[2008,36354,36355],{"class":2528,"line":43},[2008,36356,36357],{},"    void TakeDamage(int damage);\n",[2008,36359,36360],{"class":2528,"line":2545},[2008,36361,36362],{},"    bool IsAlive { get; }\n",[2008,36364,36365],{"class":2528,"line":2551},[2008,36366,2748],{},[2008,36368,36369],{"class":2528,"line":2557},[2008,36370,2548],{"emptyLinePlaceholder":54},[2008,36372,36373],{"class":2528,"line":2563},[2008,36374,36375],{},"public interface IInteractable\n",[2008,36377,36378],{"class":2528,"line":2568},[2008,36379,35347],{},[2008,36381,36382],{"class":2528,"line":2574},[2008,36383,36384],{},"    void Interact(GameObject interactor);\n",[2008,36386,36387],{"class":2528,"line":1467},[2008,36388,36389],{},"    string InteractionPrompt { get; }\n",[2008,36391,36392],{"class":2528,"line":2818},[2008,36393,2748],{},[2008,36395,36396],{"class":2528,"line":2842},[2008,36397,2548],{"emptyLinePlaceholder":54},[2008,36399,36400],{"class":2528,"line":2862},[2008,36401,36402],{},"public class Enemy : MonoBehaviour, IDamageable\n",[2008,36404,36405],{"class":2528,"line":2119},[2008,36406,35347],{},[2008,36408,36409],{"class":2528,"line":2035},[2008,36410,36411],{},"    [SerializeField] private int maxHealth = 50;\n",[2008,36413,36414],{"class":2528,"line":3038},[2008,36415,36119],{},[2008,36417,36418],{"class":2528,"line":3044},[2008,36419,2991],{},[2008,36421,36422],{"class":2528,"line":2380},[2008,36423,36424],{},"    public bool IsAlive => currentHealth > 0;\n",[2008,36426,36427],{"class":2528,"line":4107},[2008,36428,2991],{},[2008,36430,36431],{"class":2528,"line":64},[2008,36432,35676],{},[2008,36434,36435],{"class":2528,"line":4120},[2008,36436,35498],{},[2008,36438,36439],{"class":2528,"line":4125},[2008,36440,36272],{},[2008,36442,36443],{"class":2528,"line":4135},[2008,36444,3047],{},[2008,36446,36447],{"class":2528,"line":4145},[2008,36448,2991],{},[2008,36450,36451],{"class":2528,"line":4169},[2008,36452,36285],{},[2008,36454,36455],{"class":2528,"line":4192},[2008,36456,35498],{},[2008,36458,36459],{"class":2528,"line":4229},[2008,36460,36294],{},[2008,36462,36463],{"class":2528,"line":4239},[2008,36464,36308],{},[2008,36466,36467],{"class":2528,"line":4531},[2008,36468,35609],{},[2008,36470,36471],{"class":2528,"line":4539},[2008,36472,36473],{},"            Die();\n",[2008,36475,36476],{"class":2528,"line":4547},[2008,36477,3321],{},[2008,36479,36480],{"class":2528,"line":4555},[2008,36481,3047],{},[2008,36483,36484],{"class":2528,"line":4561},[2008,36485,2991],{},[2008,36487,36488],{"class":2528,"line":4566},[2008,36489,36490],{},"    private void Die()\n",[2008,36492,36493],{"class":2528,"line":5249},[2008,36494,35498],{},[2008,36496,36497],{"class":2528,"line":5258},[2008,36498,36499],{},"        // Death logic\n",[2008,36501,36502],{"class":2528,"line":5267},[2008,36503,36504],{},"        Destroy(gameObject);\n",[2008,36506,36507],{"class":2528,"line":16229},[2008,36508,3047],{},[2008,36510,36511],{"class":2528,"line":16237},[2008,36512,2748],{},[16,36514,36516],{"id":36515},"_4-نظام-service-locator","4. نظام Service Locator",[577,36518,36520],{"className":35319,"code":36519,"language":35321,"meta":42,"style":42},"using System;\nusing System.Collections.Generic;\nusing UnityEngine;\n\npublic class ServiceLocator : MonoBehaviour\n{\n    private static ServiceLocator instance;\n    public static ServiceLocator Instance => instance;\n    \n    private readonly Dictionary\u003CType, object> services = new Dictionary\u003CType, object>();\n    \n    private void Awake()\n    {\n        if (instance != null && instance != this)\n        {\n            Destroy(gameObject);\n            return;\n        }\n        \n        instance = this;\n        DontDestroyOnLoad(gameObject);\n    }\n    \n    public void RegisterService\u003CT>(T service)\n    {\n        services[typeof(T)] = service;\n    }\n    \n    public void UnregisterService\u003CT>()\n    {\n        services.Remove(typeof(T));\n    }\n    \n    public T GetService\u003CT>()\n    {\n        if (services.TryGetValue(typeof(T), out object service))\n        {\n            return (T)service;\n        }\n        \n        throw new Exception($\"Service {typeof(T)} not registered!\");\n    }\n    \n    public bool TryGetService\u003CT>(out T service)\n    {\n        if (services.TryGetValue(typeof(T), out object obj))\n        {\n            service = (T)obj;\n            return true;\n        }\n        \n        service = default;\n        return false;\n    }\n}\n\n// Usage\npublic class AudioManager : MonoBehaviour\n{\n    private void Awake()\n    {\n        ServiceLocator.Instance.RegisterService\u003CAudioManager>(this);\n    }\n    \n    public void PlaySound(AudioClip clip)\n    {\n        // Play sound logic\n    }\n}\n\npublic class PlayerController : MonoBehaviour\n{\n    private AudioManager audioManager;\n    \n    private void Start()\n    {\n        audioManager = ServiceLocator.Instance.GetService\u003CAudioManager>();\n    }\n    \n    private void OnJump()\n    {\n        audioManager.PlaySound(jumpSound);\n    }\n}\n",[584,36521,36522,36527,36531,36535,36539,36544,36548,36553,36558,36562,36567,36571,36575,36579,36583,36587,36591,36595,36599,36603,36607,36611,36615,36619,36624,36628,36633,36637,36641,36646,36650,36655,36659,36663,36668,36672,36677,36681,36686,36690,36694,36699,36703,36707,36712,36716,36721,36725,36730,36735,36739,36743,36748,36753,36757,36761,36765,36770,36775,36779,36783,36788,36794,36799,36804,36810,36815,36821,36826,36831,36836,36842,36847,36853,36858,36864,36869,36875,36880,36885,36891,36896,36902,36907],{"__ignoreMap":42},[2008,36523,36524],{"class":2528,"line":2529},[2008,36525,36526],{},"using System;\n",[2008,36528,36529],{"class":2528,"line":46},[2008,36530,35786],{},[2008,36532,36533],{"class":2528,"line":43},[2008,36534,35328],{},[2008,36536,36537],{"class":2528,"line":2545},[2008,36538,2548],{"emptyLinePlaceholder":54},[2008,36540,36541],{"class":2528,"line":2551},[2008,36542,36543],{},"public class ServiceLocator : MonoBehaviour\n",[2008,36545,36546],{"class":2528,"line":2557},[2008,36547,35347],{},[2008,36549,36550],{"class":2528,"line":2563},[2008,36551,36552],{},"    private static ServiceLocator instance;\n",[2008,36554,36555],{"class":2528,"line":2568},[2008,36556,36557],{},"    public static ServiceLocator Instance => instance;\n",[2008,36559,36560],{"class":2528,"line":2574},[2008,36561,2991],{},[2008,36563,36564],{"class":2528,"line":1467},[2008,36565,36566],{},"    private readonly Dictionary\u003CType, object> services = new Dictionary\u003CType, object>();\n",[2008,36568,36569],{"class":2528,"line":2818},[2008,36570,2991],{},[2008,36572,36573],{"class":2528,"line":2842},[2008,36574,35676],{},[2008,36576,36577],{"class":2528,"line":2862},[2008,36578,35498],{},[2008,36580,36581],{"class":2528,"line":2119},[2008,36582,35685],{},[2008,36584,36585],{"class":2528,"line":2035},[2008,36586,35609],{},[2008,36588,36589],{"class":2528,"line":3038},[2008,36590,35694],{},[2008,36592,36593],{"class":2528,"line":3044},[2008,36594,35699],{},[2008,36596,36597],{"class":2528,"line":2380},[2008,36598,3321],{},[2008,36600,36601],{"class":2528,"line":4107},[2008,36602,35708],{},[2008,36604,36605],{"class":2528,"line":64},[2008,36606,35713],{},[2008,36608,36609],{"class":2528,"line":4120},[2008,36610,35718],{},[2008,36612,36613],{"class":2528,"line":4125},[2008,36614,3047],{},[2008,36616,36617],{"class":2528,"line":4135},[2008,36618,2991],{},[2008,36620,36621],{"class":2528,"line":4145},[2008,36622,36623],{},"    public void RegisterService\u003CT>(T service)\n",[2008,36625,36626],{"class":2528,"line":4169},[2008,36627,35498],{},[2008,36629,36630],{"class":2528,"line":4192},[2008,36631,36632],{},"        services[typeof(T)] = service;\n",[2008,36634,36635],{"class":2528,"line":4229},[2008,36636,3047],{},[2008,36638,36639],{"class":2528,"line":4239},[2008,36640,2991],{},[2008,36642,36643],{"class":2528,"line":4531},[2008,36644,36645],{},"    public void UnregisterService\u003CT>()\n",[2008,36647,36648],{"class":2528,"line":4539},[2008,36649,35498],{},[2008,36651,36652],{"class":2528,"line":4547},[2008,36653,36654],{},"        services.Remove(typeof(T));\n",[2008,36656,36657],{"class":2528,"line":4555},[2008,36658,3047],{},[2008,36660,36661],{"class":2528,"line":4561},[2008,36662,2991],{},[2008,36664,36665],{"class":2528,"line":4566},[2008,36666,36667],{},"    public T GetService\u003CT>()\n",[2008,36669,36670],{"class":2528,"line":5249},[2008,36671,35498],{},[2008,36673,36674],{"class":2528,"line":5258},[2008,36675,36676],{},"        if (services.TryGetValue(typeof(T), out object service))\n",[2008,36678,36679],{"class":2528,"line":5267},[2008,36680,35609],{},[2008,36682,36683],{"class":2528,"line":16229},[2008,36684,36685],{},"            return (T)service;\n",[2008,36687,36688],{"class":2528,"line":16237},[2008,36689,3321],{},[2008,36691,36692],{"class":2528,"line":16246},[2008,36693,35708],{},[2008,36695,36696],{"class":2528,"line":16251},[2008,36697,36698],{},"        throw new Exception($\"Service {typeof(T)} not registered!\");\n",[2008,36700,36701],{"class":2528,"line":16256},[2008,36702,3047],{},[2008,36704,36705],{"class":2528,"line":16951},[2008,36706,2991],{},[2008,36708,36709],{"class":2528,"line":16956},[2008,36710,36711],{},"    public bool TryGetService\u003CT>(out T service)\n",[2008,36713,36714],{"class":2528,"line":16982},[2008,36715,35498],{},[2008,36717,36718],{"class":2528,"line":17000},[2008,36719,36720],{},"        if (services.TryGetValue(typeof(T), out object obj))\n",[2008,36722,36723],{"class":2528,"line":17005},[2008,36724,35609],{},[2008,36726,36727],{"class":2528,"line":17010},[2008,36728,36729],{},"            service = (T)obj;\n",[2008,36731,36732],{"class":2528,"line":17036},[2008,36733,36734],{},"            return true;\n",[2008,36736,36737],{"class":2528,"line":17054},[2008,36738,3321],{},[2008,36740,36741],{"class":2528,"line":17729},[2008,36742,35708],{},[2008,36744,36745],{"class":2528,"line":36013},[2008,36746,36747],{},"        service = default;\n",[2008,36749,36750],{"class":2528,"line":36018},[2008,36751,36752],{},"        return false;\n",[2008,36754,36755],{"class":2528,"line":36024},[2008,36756,3047],{},[2008,36758,36759],{"class":2528,"line":36029},[2008,36760,2748],{},[2008,36762,36763],{"class":2528,"line":36035},[2008,36764,2548],{"emptyLinePlaceholder":54},[2008,36766,36767],{"class":2528,"line":36040},[2008,36768,36769],{},"// Usage\n",[2008,36771,36772],{"class":2528,"line":36046},[2008,36773,36774],{},"public class AudioManager : MonoBehaviour\n",[2008,36776,36777],{"class":2528,"line":36051},[2008,36778,35347],{},[2008,36780,36781],{"class":2528,"line":36056},[2008,36782,35676],{},[2008,36784,36786],{"class":2528,"line":36785},61,[2008,36787,35498],{},[2008,36789,36791],{"class":2528,"line":36790},62,[2008,36792,36793],{},"        ServiceLocator.Instance.RegisterService\u003CAudioManager>(this);\n",[2008,36795,36797],{"class":2528,"line":36796},63,[2008,36798,3047],{},[2008,36800,36802],{"class":2528,"line":36801},64,[2008,36803,2991],{},[2008,36805,36807],{"class":2528,"line":36806},65,[2008,36808,36809],{},"    public void PlaySound(AudioClip clip)\n",[2008,36811,36813],{"class":2528,"line":36812},66,[2008,36814,35498],{},[2008,36816,36818],{"class":2528,"line":36817},67,[2008,36819,36820],{},"        // Play sound logic\n",[2008,36822,36824],{"class":2528,"line":36823},68,[2008,36825,3047],{},[2008,36827,36829],{"class":2528,"line":36828},69,[2008,36830,2748],{},[2008,36832,36834],{"class":2528,"line":36833},70,[2008,36835,2548],{"emptyLinePlaceholder":54},[2008,36837,36839],{"class":2528,"line":36838},71,[2008,36840,36841],{},"public class PlayerController : MonoBehaviour\n",[2008,36843,36845],{"class":2528,"line":36844},72,[2008,36846,35347],{},[2008,36848,36850],{"class":2528,"line":36849},73,[2008,36851,36852],{},"    private AudioManager audioManager;\n",[2008,36854,36856],{"class":2528,"line":36855},74,[2008,36857,2991],{},[2008,36859,36861],{"class":2528,"line":36860},75,[2008,36862,36863],{},"    private void Start()\n",[2008,36865,36867],{"class":2528,"line":36866},76,[2008,36868,35498],{},[2008,36870,36872],{"class":2528,"line":36871},77,[2008,36873,36874],{},"        audioManager = ServiceLocator.Instance.GetService\u003CAudioManager>();\n",[2008,36876,36878],{"class":2528,"line":36877},78,[2008,36879,3047],{},[2008,36881,36883],{"class":2528,"line":36882},79,[2008,36884,2991],{},[2008,36886,36888],{"class":2528,"line":36887},80,[2008,36889,36890],{},"    private void OnJump()\n",[2008,36892,36894],{"class":2528,"line":36893},81,[2008,36895,35498],{},[2008,36897,36899],{"class":2528,"line":36898},82,[2008,36900,36901],{},"        audioManager.PlaySound(jumpSound);\n",[2008,36903,36905],{"class":2528,"line":36904},83,[2008,36906,3047],{},[2008,36908,36910],{"class":2528,"line":36909},84,[2008,36911,2748],{},[16,36913,36915],{"id":36914},"_5-أنماط-state-للأعداء-واللاعبين","5. أنماط State للأعداء واللاعبين",[577,36917,36919],{"className":35319,"code":36918,"language":35321,"meta":42,"style":42},"using UnityEngine;\n\npublic abstract class State\n{\n    protected Enemy enemy;\n    \n    public State(Enemy enemy)\n    {\n        this.enemy = enemy;\n    }\n    \n    public abstract void Enter();\n    public abstract void Update();\n    public abstract void Exit();\n}\n\npublic class Enemy : MonoBehaviour\n{\n    [SerializeField] private float patrolSpeed = 2f;\n    [SerializeField] private float chaseSpeed = 4f;\n    [SerializeField] private float detectionRange = 10f;\n    \n    private State currentState;\n    \n    public Transform Player { get; set; }\n    public float Speed { get; set; } = 2f;\n    \n    private void Start()\n    {\n        Player = GameObject.FindGameObjectWithTag(\"Player\").transform;\n        ChangeState(new PatrolState(this));\n    }\n    \n    private void Update()\n    {\n        currentState?.Update();\n    }\n    \n    public void ChangeState(State newState)\n    {\n        currentState?.Exit();\n        currentState = newState;\n        currentState.Enter();\n    }\n    \n    public bool CanSeePlayer()\n    {\n        return Vector3.Distance(transform.position, Player.position) \u003C= detectionRange;\n    }\n}\n\npublic class PatrolState : State\n{\n    private Vector3 patrolPoint;\n    private float patrolTimer;\n    \n    public PatrolState(Enemy enemy) : base(enemy) { }\n    \n    public override void Enter()\n    {\n        enemy.Speed = enemy.patrolSpeed;\n        SetNewPatrolPoint();\n    }\n    \n    public override void Update()\n    {\n        patrolTimer -= Time.deltaTime;\n        \n        if (patrolTimer \u003C= 0)\n        {\n            SetNewPatrolPoint();\n        }\n        \n        // Move towards patrol point\n        enemy.transform.position = Vector3.MoveTowards(\n            enemy.transform.position, \n            patrolPoint, \n            enemy.Speed * Time.deltaTime\n        );\n        \n        if (enemy.CanSeePlayer())\n        {\n            enemy.ChangeState(new ChaseState(enemy));\n        }\n    }\n    \n    public override void Exit() { }\n    \n    private void SetNewPatrolPoint()\n    {\n        patrolTimer = Random.Range(3f, 8f);\n        patrolPoint = enemy.transform.position + \n            new Vector3(Random.Range(-5f, 5f), 0f, Random.Range(-5f, 5f));\n    }\n}\n\npublic class ChaseState : State\n{\n    public ChaseState(Enemy enemy) : base(enemy) { }\n    \n    public override void Enter()\n    {\n        enemy.Speed = enemy.chaseSpeed;\n    }\n    \n    public override void Update()\n    {\n        // Move towards player\n        enemy.transform.position = Vector3.MoveTowards(\n            enemy.transform.position,\n            enemy.Player.position,\n            enemy.Speed * Time.deltaTime\n        );\n        \n        if (!enemy.CanSeePlayer())\n        {\n            enemy.ChangeState(new PatrolState(enemy));\n        }\n    }\n    \n    public override void Exit() { }\n}\n",[584,36920,36921,36925,36929,36934,36938,36943,36947,36952,36956,36961,36965,36969,36974,36979,36984,36988,36992,36997,37001,37006,37011,37016,37020,37025,37029,37034,37039,37043,37047,37051,37056,37061,37065,37069,37074,37078,37083,37087,37091,37096,37100,37105,37110,37115,37119,37123,37128,37132,37137,37141,37145,37149,37154,37158,37163,37168,37172,37177,37181,37186,37190,37195,37200,37204,37208,37213,37217,37222,37226,37231,37235,37240,37244,37248,37253,37258,37263,37268,37273,37278,37282,37287,37291,37296,37300,37305,37310,37316,37321,37327,37332,37338,37344,37350,37355,37360,37365,37371,37376,37382,37387,37392,37397,37403,37408,37413,37418,37423,37429,37434,37440,37446,37451,37456,37461,37467,37472,37478,37483,37488,37493,37498],{"__ignoreMap":42},[2008,36922,36923],{"class":2528,"line":2529},[2008,36924,35328],{},[2008,36926,36927],{"class":2528,"line":46},[2008,36928,2548],{"emptyLinePlaceholder":54},[2008,36930,36931],{"class":2528,"line":43},[2008,36932,36933],{},"public abstract class State\n",[2008,36935,36936],{"class":2528,"line":2545},[2008,36937,35347],{},[2008,36939,36940],{"class":2528,"line":2551},[2008,36941,36942],{},"    protected Enemy enemy;\n",[2008,36944,36945],{"class":2528,"line":2557},[2008,36946,2991],{},[2008,36948,36949],{"class":2528,"line":2563},[2008,36950,36951],{},"    public State(Enemy enemy)\n",[2008,36953,36954],{"class":2528,"line":2568},[2008,36955,35498],{},[2008,36957,36958],{"class":2528,"line":2574},[2008,36959,36960],{},"        this.enemy = enemy;\n",[2008,36962,36963],{"class":2528,"line":1467},[2008,36964,3047],{},[2008,36966,36967],{"class":2528,"line":2818},[2008,36968,2991],{},[2008,36970,36971],{"class":2528,"line":2842},[2008,36972,36973],{},"    public abstract void Enter();\n",[2008,36975,36976],{"class":2528,"line":2862},[2008,36977,36978],{},"    public abstract void Update();\n",[2008,36980,36981],{"class":2528,"line":2119},[2008,36982,36983],{},"    public abstract void Exit();\n",[2008,36985,36986],{"class":2528,"line":2035},[2008,36987,2748],{},[2008,36989,36990],{"class":2528,"line":3038},[2008,36991,2548],{"emptyLinePlaceholder":54},[2008,36993,36994],{"class":2528,"line":3044},[2008,36995,36996],{},"public class Enemy : MonoBehaviour\n",[2008,36998,36999],{"class":2528,"line":2380},[2008,37000,35347],{},[2008,37002,37003],{"class":2528,"line":4107},[2008,37004,37005],{},"    [SerializeField] private float patrolSpeed = 2f;\n",[2008,37007,37008],{"class":2528,"line":64},[2008,37009,37010],{},"    [SerializeField] private float chaseSpeed = 4f;\n",[2008,37012,37013],{"class":2528,"line":4120},[2008,37014,37015],{},"    [SerializeField] private float detectionRange = 10f;\n",[2008,37017,37018],{"class":2528,"line":4125},[2008,37019,2991],{},[2008,37021,37022],{"class":2528,"line":4135},[2008,37023,37024],{},"    private State currentState;\n",[2008,37026,37027],{"class":2528,"line":4145},[2008,37028,2991],{},[2008,37030,37031],{"class":2528,"line":4169},[2008,37032,37033],{},"    public Transform Player { get; set; }\n",[2008,37035,37036],{"class":2528,"line":4192},[2008,37037,37038],{},"    public float Speed { get; set; } = 2f;\n",[2008,37040,37041],{"class":2528,"line":4229},[2008,37042,2991],{},[2008,37044,37045],{"class":2528,"line":4239},[2008,37046,36863],{},[2008,37048,37049],{"class":2528,"line":4531},[2008,37050,35498],{},[2008,37052,37053],{"class":2528,"line":4539},[2008,37054,37055],{},"        Player = GameObject.FindGameObjectWithTag(\"Player\").transform;\n",[2008,37057,37058],{"class":2528,"line":4547},[2008,37059,37060],{},"        ChangeState(new PatrolState(this));\n",[2008,37062,37063],{"class":2528,"line":4555},[2008,37064,3047],{},[2008,37066,37067],{"class":2528,"line":4561},[2008,37068,2991],{},[2008,37070,37071],{"class":2528,"line":4566},[2008,37072,37073],{},"    private void Update()\n",[2008,37075,37076],{"class":2528,"line":5249},[2008,37077,35498],{},[2008,37079,37080],{"class":2528,"line":5258},[2008,37081,37082],{},"        currentState?.Update();\n",[2008,37084,37085],{"class":2528,"line":5267},[2008,37086,3047],{},[2008,37088,37089],{"class":2528,"line":16229},[2008,37090,2991],{},[2008,37092,37093],{"class":2528,"line":16237},[2008,37094,37095],{},"    public void ChangeState(State newState)\n",[2008,37097,37098],{"class":2528,"line":16246},[2008,37099,35498],{},[2008,37101,37102],{"class":2528,"line":16251},[2008,37103,37104],{},"        currentState?.Exit();\n",[2008,37106,37107],{"class":2528,"line":16256},[2008,37108,37109],{},"        currentState = newState;\n",[2008,37111,37112],{"class":2528,"line":16951},[2008,37113,37114],{},"        currentState.Enter();\n",[2008,37116,37117],{"class":2528,"line":16956},[2008,37118,3047],{},[2008,37120,37121],{"class":2528,"line":16982},[2008,37122,2991],{},[2008,37124,37125],{"class":2528,"line":17000},[2008,37126,37127],{},"    public bool CanSeePlayer()\n",[2008,37129,37130],{"class":2528,"line":17005},[2008,37131,35498],{},[2008,37133,37134],{"class":2528,"line":17010},[2008,37135,37136],{},"        return Vector3.Distance(transform.position, Player.position) \u003C= detectionRange;\n",[2008,37138,37139],{"class":2528,"line":17036},[2008,37140,3047],{},[2008,37142,37143],{"class":2528,"line":17054},[2008,37144,2748],{},[2008,37146,37147],{"class":2528,"line":17729},[2008,37148,2548],{"emptyLinePlaceholder":54},[2008,37150,37151],{"class":2528,"line":36013},[2008,37152,37153],{},"public class PatrolState : State\n",[2008,37155,37156],{"class":2528,"line":36018},[2008,37157,35347],{},[2008,37159,37160],{"class":2528,"line":36024},[2008,37161,37162],{},"    private Vector3 patrolPoint;\n",[2008,37164,37165],{"class":2528,"line":36029},[2008,37166,37167],{},"    private float patrolTimer;\n",[2008,37169,37170],{"class":2528,"line":36035},[2008,37171,2991],{},[2008,37173,37174],{"class":2528,"line":36040},[2008,37175,37176],{},"    public PatrolState(Enemy enemy) : base(enemy) { }\n",[2008,37178,37179],{"class":2528,"line":36046},[2008,37180,2991],{},[2008,37182,37183],{"class":2528,"line":36051},[2008,37184,37185],{},"    public override void Enter()\n",[2008,37187,37188],{"class":2528,"line":36056},[2008,37189,35498],{},[2008,37191,37192],{"class":2528,"line":36785},[2008,37193,37194],{},"        enemy.Speed = enemy.patrolSpeed;\n",[2008,37196,37197],{"class":2528,"line":36790},[2008,37198,37199],{},"        SetNewPatrolPoint();\n",[2008,37201,37202],{"class":2528,"line":36796},[2008,37203,3047],{},[2008,37205,37206],{"class":2528,"line":36801},[2008,37207,2991],{},[2008,37209,37210],{"class":2528,"line":36806},[2008,37211,37212],{},"    public override void Update()\n",[2008,37214,37215],{"class":2528,"line":36812},[2008,37216,35498],{},[2008,37218,37219],{"class":2528,"line":36817},[2008,37220,37221],{},"        patrolTimer -= Time.deltaTime;\n",[2008,37223,37224],{"class":2528,"line":36823},[2008,37225,35708],{},[2008,37227,37228],{"class":2528,"line":36828},[2008,37229,37230],{},"        if (patrolTimer \u003C= 0)\n",[2008,37232,37233],{"class":2528,"line":36833},[2008,37234,35609],{},[2008,37236,37237],{"class":2528,"line":36838},[2008,37238,37239],{},"            SetNewPatrolPoint();\n",[2008,37241,37242],{"class":2528,"line":36844},[2008,37243,3321],{},[2008,37245,37246],{"class":2528,"line":36849},[2008,37247,35708],{},[2008,37249,37250],{"class":2528,"line":36855},[2008,37251,37252],{},"        // Move towards patrol point\n",[2008,37254,37255],{"class":2528,"line":36860},[2008,37256,37257],{},"        enemy.transform.position = Vector3.MoveTowards(\n",[2008,37259,37260],{"class":2528,"line":36866},[2008,37261,37262],{},"            enemy.transform.position, \n",[2008,37264,37265],{"class":2528,"line":36871},[2008,37266,37267],{},"            patrolPoint, \n",[2008,37269,37270],{"class":2528,"line":36877},[2008,37271,37272],{},"            enemy.Speed * Time.deltaTime\n",[2008,37274,37275],{"class":2528,"line":36882},[2008,37276,37277],{},"        );\n",[2008,37279,37280],{"class":2528,"line":36887},[2008,37281,35708],{},[2008,37283,37284],{"class":2528,"line":36893},[2008,37285,37286],{},"        if (enemy.CanSeePlayer())\n",[2008,37288,37289],{"class":2528,"line":36898},[2008,37290,35609],{},[2008,37292,37293],{"class":2528,"line":36904},[2008,37294,37295],{},"            enemy.ChangeState(new ChaseState(enemy));\n",[2008,37297,37298],{"class":2528,"line":36909},[2008,37299,3321],{},[2008,37301,37303],{"class":2528,"line":37302},85,[2008,37304,3047],{},[2008,37306,37308],{"class":2528,"line":37307},86,[2008,37309,2991],{},[2008,37311,37313],{"class":2528,"line":37312},87,[2008,37314,37315],{},"    public override void Exit() { }\n",[2008,37317,37319],{"class":2528,"line":37318},88,[2008,37320,2991],{},[2008,37322,37324],{"class":2528,"line":37323},89,[2008,37325,37326],{},"    private void SetNewPatrolPoint()\n",[2008,37328,37330],{"class":2528,"line":37329},90,[2008,37331,35498],{},[2008,37333,37335],{"class":2528,"line":37334},91,[2008,37336,37337],{},"        patrolTimer = Random.Range(3f, 8f);\n",[2008,37339,37341],{"class":2528,"line":37340},92,[2008,37342,37343],{},"        patrolPoint = enemy.transform.position + \n",[2008,37345,37347],{"class":2528,"line":37346},93,[2008,37348,37349],{},"            new Vector3(Random.Range(-5f, 5f), 0f, Random.Range(-5f, 5f));\n",[2008,37351,37353],{"class":2528,"line":37352},94,[2008,37354,3047],{},[2008,37356,37358],{"class":2528,"line":37357},95,[2008,37359,2748],{},[2008,37361,37363],{"class":2528,"line":37362},96,[2008,37364,2548],{"emptyLinePlaceholder":54},[2008,37366,37368],{"class":2528,"line":37367},97,[2008,37369,37370],{},"public class ChaseState : State\n",[2008,37372,37374],{"class":2528,"line":37373},98,[2008,37375,35347],{},[2008,37377,37379],{"class":2528,"line":37378},99,[2008,37380,37381],{},"    public ChaseState(Enemy enemy) : base(enemy) { }\n",[2008,37383,37385],{"class":2528,"line":37384},100,[2008,37386,2991],{},[2008,37388,37390],{"class":2528,"line":37389},101,[2008,37391,37185],{},[2008,37393,37395],{"class":2528,"line":37394},102,[2008,37396,35498],{},[2008,37398,37400],{"class":2528,"line":37399},103,[2008,37401,37402],{},"        enemy.Speed = enemy.chaseSpeed;\n",[2008,37404,37406],{"class":2528,"line":37405},104,[2008,37407,3047],{},[2008,37409,37411],{"class":2528,"line":37410},105,[2008,37412,2991],{},[2008,37414,37416],{"class":2528,"line":37415},106,[2008,37417,37212],{},[2008,37419,37421],{"class":2528,"line":37420},107,[2008,37422,35498],{},[2008,37424,37426],{"class":2528,"line":37425},108,[2008,37427,37428],{},"        // Move towards player\n",[2008,37430,37432],{"class":2528,"line":37431},109,[2008,37433,37257],{},[2008,37435,37437],{"class":2528,"line":37436},110,[2008,37438,37439],{},"            enemy.transform.position,\n",[2008,37441,37443],{"class":2528,"line":37442},111,[2008,37444,37445],{},"            enemy.Player.position,\n",[2008,37447,37449],{"class":2528,"line":37448},112,[2008,37450,37272],{},[2008,37452,37454],{"class":2528,"line":37453},113,[2008,37455,37277],{},[2008,37457,37459],{"class":2528,"line":37458},114,[2008,37460,35708],{},[2008,37462,37464],{"class":2528,"line":37463},115,[2008,37465,37466],{},"        if (!enemy.CanSeePlayer())\n",[2008,37468,37470],{"class":2528,"line":37469},116,[2008,37471,35609],{},[2008,37473,37475],{"class":2528,"line":37474},117,[2008,37476,37477],{},"            enemy.ChangeState(new PatrolState(enemy));\n",[2008,37479,37481],{"class":2528,"line":37480},118,[2008,37482,3321],{},[2008,37484,37486],{"class":2528,"line":37485},119,[2008,37487,3047],{},[2008,37489,37491],{"class":2528,"line":37490},120,[2008,37492,2991],{},[2008,37494,37496],{"class":2528,"line":37495},121,[2008,37497,37315],{},[2008,37499,37501],{"class":2528,"line":37500},122,[2008,37502,2748],{},[16,37504,37506],{"id":37505},"_6-نظام-saveload-قابل-للتوسع","6. نظام Save/Load قابل للتوسع",[577,37508,37510],{"className":35319,"code":37509,"language":35321,"meta":42,"style":42},"using System.IO;\nusing UnityEngine;\n\n[System.Serializable]\npublic class GameSaveData\n{\n    public int level;\n    public int score;\n    public Vector3 playerPosition;\n    public string[] inventory;\n    public bool[] completedLevels;\n}\n\npublic static class SaveLoadSystem\n{\n    private static readonly string saveFileName = \"gameSave.json\";\n    \n    public static void SaveGame(GameSaveData data)\n    {\n        string json = JsonUtility.ToJson(data, true);\n        string path = Path.Combine(Application.persistentDataPath, saveFileName);\n        File.WriteAllText(path, json);\n    }\n    \n    public static GameSaveData LoadGame()\n    {\n        string path = Path.Combine(Application.persistentDataPath, saveFileName);\n        \n        if (File.Exists(path))\n        {\n            string json = File.ReadAllText(path);\n            return JsonUtility.FromJson\u003CGameSaveData>(json);\n        }\n        \n        return new GameSaveData(); // Return default save\n    }\n    \n    public static bool HasSaveFile()\n    {\n        string path = Path.Combine(Application.persistentDataPath, saveFileName);\n        return File.Exists(path);\n    }\n    \n    public static void DeleteSaveFile()\n    {\n        string path = Path.Combine(Application.persistentDataPath, saveFileName);\n        if (File.Exists(path))\n        {\n            File.Delete(path);\n        }\n    }\n}\n\n// Usage\npublic class GameManager : MonoBehaviour\n{\n    public static GameManager Instance { get; private set; }\n    \n    public int currentLevel = 1;\n    public int score = 0;\n    public Vector3 playerPosition;\n    \n    private void Awake()\n    {\n        if (Instance == null)\n        {\n            Instance = this;\n            LoadGame();\n        }\n    }\n    \n    private void OnApplicationQuit()\n    {\n        SaveGame();\n    }\n    \n    public void SaveGame()\n    {\n        GameSaveData saveData = new GameSaveData\n        {\n            level = currentLevel,\n            score = score,\n            playerPosition = playerPosition,\n            // Add other save data\n        };\n        \n        SaveLoadSystem.SaveGame(saveData);\n    }\n    \n    public void LoadGame()\n    {\n        if (SaveLoadSystem.HasSaveFile())\n        {\n            GameSaveData saveData = SaveLoadSystem.LoadGame();\n            currentLevel = saveData.level;\n            score = saveData.score;\n            playerPosition = saveData.playerPosition;\n        }\n    }\n}\n",[584,37511,37512,37517,37521,37525,37530,37535,37539,37544,37549,37554,37559,37564,37568,37572,37577,37581,37586,37590,37595,37599,37604,37609,37614,37618,37622,37627,37631,37635,37639,37644,37648,37653,37658,37662,37666,37671,37675,37679,37684,37688,37692,37697,37701,37705,37710,37714,37718,37722,37726,37731,37735,37739,37743,37747,37751,37755,37759,37764,37768,37773,37777,37781,37785,37789,37793,37798,37802,37807,37812,37816,37820,37824,37829,37833,37838,37842,37846,37851,37855,37860,37864,37869,37874,37879,37884,37889,37893,37898,37902,37906,37911,37915,37920,37924,37929,37934,37939,37944,37948,37952],{"__ignoreMap":42},[2008,37513,37514],{"class":2528,"line":2529},[2008,37515,37516],{},"using System.IO;\n",[2008,37518,37519],{"class":2528,"line":46},[2008,37520,35328],{},[2008,37522,37523],{"class":2528,"line":43},[2008,37524,2548],{"emptyLinePlaceholder":54},[2008,37526,37527],{"class":2528,"line":2545},[2008,37528,37529],{},"[System.Serializable]\n",[2008,37531,37532],{"class":2528,"line":2551},[2008,37533,37534],{},"public class GameSaveData\n",[2008,37536,37537],{"class":2528,"line":2557},[2008,37538,35347],{},[2008,37540,37541],{"class":2528,"line":2563},[2008,37542,37543],{},"    public int level;\n",[2008,37545,37546],{"class":2528,"line":2568},[2008,37547,37548],{},"    public int score;\n",[2008,37550,37551],{"class":2528,"line":2574},[2008,37552,37553],{},"    public Vector3 playerPosition;\n",[2008,37555,37556],{"class":2528,"line":1467},[2008,37557,37558],{},"    public string[] inventory;\n",[2008,37560,37561],{"class":2528,"line":2818},[2008,37562,37563],{},"    public bool[] completedLevels;\n",[2008,37565,37566],{"class":2528,"line":2842},[2008,37567,2748],{},[2008,37569,37570],{"class":2528,"line":2862},[2008,37571,2548],{"emptyLinePlaceholder":54},[2008,37573,37574],{"class":2528,"line":2119},[2008,37575,37576],{},"public static class SaveLoadSystem\n",[2008,37578,37579],{"class":2528,"line":2035},[2008,37580,35347],{},[2008,37582,37583],{"class":2528,"line":3038},[2008,37584,37585],{},"    private static readonly string saveFileName = \"gameSave.json\";\n",[2008,37587,37588],{"class":2528,"line":3044},[2008,37589,2991],{},[2008,37591,37592],{"class":2528,"line":2380},[2008,37593,37594],{},"    public static void SaveGame(GameSaveData data)\n",[2008,37596,37597],{"class":2528,"line":4107},[2008,37598,35498],{},[2008,37600,37601],{"class":2528,"line":64},[2008,37602,37603],{},"        string json = JsonUtility.ToJson(data, true);\n",[2008,37605,37606],{"class":2528,"line":4120},[2008,37607,37608],{},"        string path = Path.Combine(Application.persistentDataPath, saveFileName);\n",[2008,37610,37611],{"class":2528,"line":4125},[2008,37612,37613],{},"        File.WriteAllText(path, json);\n",[2008,37615,37616],{"class":2528,"line":4135},[2008,37617,3047],{},[2008,37619,37620],{"class":2528,"line":4145},[2008,37621,2991],{},[2008,37623,37624],{"class":2528,"line":4169},[2008,37625,37626],{},"    public static GameSaveData LoadGame()\n",[2008,37628,37629],{"class":2528,"line":4192},[2008,37630,35498],{},[2008,37632,37633],{"class":2528,"line":4229},[2008,37634,37608],{},[2008,37636,37637],{"class":2528,"line":4239},[2008,37638,35708],{},[2008,37640,37641],{"class":2528,"line":4531},[2008,37642,37643],{},"        if (File.Exists(path))\n",[2008,37645,37646],{"class":2528,"line":4539},[2008,37647,35609],{},[2008,37649,37650],{"class":2528,"line":4547},[2008,37651,37652],{},"            string json = File.ReadAllText(path);\n",[2008,37654,37655],{"class":2528,"line":4555},[2008,37656,37657],{},"            return JsonUtility.FromJson\u003CGameSaveData>(json);\n",[2008,37659,37660],{"class":2528,"line":4561},[2008,37661,3321],{},[2008,37663,37664],{"class":2528,"line":4566},[2008,37665,35708],{},[2008,37667,37668],{"class":2528,"line":5249},[2008,37669,37670],{},"        return new GameSaveData(); // Return default save\n",[2008,37672,37673],{"class":2528,"line":5258},[2008,37674,3047],{},[2008,37676,37677],{"class":2528,"line":5267},[2008,37678,2991],{},[2008,37680,37681],{"class":2528,"line":16229},[2008,37682,37683],{},"    public static bool HasSaveFile()\n",[2008,37685,37686],{"class":2528,"line":16237},[2008,37687,35498],{},[2008,37689,37690],{"class":2528,"line":16246},[2008,37691,37608],{},[2008,37693,37694],{"class":2528,"line":16251},[2008,37695,37696],{},"        return File.Exists(path);\n",[2008,37698,37699],{"class":2528,"line":16256},[2008,37700,3047],{},[2008,37702,37703],{"class":2528,"line":16951},[2008,37704,2991],{},[2008,37706,37707],{"class":2528,"line":16956},[2008,37708,37709],{},"    public static void DeleteSaveFile()\n",[2008,37711,37712],{"class":2528,"line":16982},[2008,37713,35498],{},[2008,37715,37716],{"class":2528,"line":17000},[2008,37717,37608],{},[2008,37719,37720],{"class":2528,"line":17005},[2008,37721,37643],{},[2008,37723,37724],{"class":2528,"line":17010},[2008,37725,35609],{},[2008,37727,37728],{"class":2528,"line":17036},[2008,37729,37730],{},"            File.Delete(path);\n",[2008,37732,37733],{"class":2528,"line":17054},[2008,37734,3321],{},[2008,37736,37737],{"class":2528,"line":17729},[2008,37738,3047],{},[2008,37740,37741],{"class":2528,"line":36013},[2008,37742,2748],{},[2008,37744,37745],{"class":2528,"line":36018},[2008,37746,2548],{"emptyLinePlaceholder":54},[2008,37748,37749],{"class":2528,"line":36024},[2008,37750,36769],{},[2008,37752,37753],{"class":2528,"line":36029},[2008,37754,35581],{},[2008,37756,37757],{"class":2528,"line":36035},[2008,37758,35347],{},[2008,37760,37761],{"class":2528,"line":36040},[2008,37762,37763],{},"    public static GameManager Instance { get; private set; }\n",[2008,37765,37766],{"class":2528,"line":36046},[2008,37767,2991],{},[2008,37769,37770],{"class":2528,"line":36051},[2008,37771,37772],{},"    public int currentLevel = 1;\n",[2008,37774,37775],{"class":2528,"line":36056},[2008,37776,35736],{},[2008,37778,37779],{"class":2528,"line":36785},[2008,37780,37553],{},[2008,37782,37783],{"class":2528,"line":36790},[2008,37784,2991],{},[2008,37786,37787],{"class":2528,"line":36796},[2008,37788,35676],{},[2008,37790,37791],{"class":2528,"line":36801},[2008,37792,35498],{},[2008,37794,37795],{"class":2528,"line":36806},[2008,37796,37797],{},"        if (Instance == null)\n",[2008,37799,37800],{"class":2528,"line":36812},[2008,37801,35609],{},[2008,37803,37804],{"class":2528,"line":36817},[2008,37805,37806],{},"            Instance = this;\n",[2008,37808,37809],{"class":2528,"line":36823},[2008,37810,37811],{},"            LoadGame();\n",[2008,37813,37814],{"class":2528,"line":36828},[2008,37815,3321],{},[2008,37817,37818],{"class":2528,"line":36833},[2008,37819,3047],{},[2008,37821,37822],{"class":2528,"line":36838},[2008,37823,2991],{},[2008,37825,37826],{"class":2528,"line":36844},[2008,37827,37828],{},"    private void OnApplicationQuit()\n",[2008,37830,37831],{"class":2528,"line":36849},[2008,37832,35498],{},[2008,37834,37835],{"class":2528,"line":36855},[2008,37836,37837],{},"        SaveGame();\n",[2008,37839,37840],{"class":2528,"line":36860},[2008,37841,3047],{},[2008,37843,37844],{"class":2528,"line":36866},[2008,37845,2991],{},[2008,37847,37848],{"class":2528,"line":36871},[2008,37849,37850],{},"    public void SaveGame()\n",[2008,37852,37853],{"class":2528,"line":36877},[2008,37854,35498],{},[2008,37856,37857],{"class":2528,"line":36882},[2008,37858,37859],{},"        GameSaveData saveData = new GameSaveData\n",[2008,37861,37862],{"class":2528,"line":36887},[2008,37863,35609],{},[2008,37865,37866],{"class":2528,"line":36893},[2008,37867,37868],{},"            level = currentLevel,\n",[2008,37870,37871],{"class":2528,"line":36898},[2008,37872,37873],{},"            score = score,\n",[2008,37875,37876],{"class":2528,"line":36904},[2008,37877,37878],{},"            playerPosition = playerPosition,\n",[2008,37880,37881],{"class":2528,"line":36909},[2008,37882,37883],{},"            // Add other save data\n",[2008,37885,37886],{"class":2528,"line":37302},[2008,37887,37888],{},"        };\n",[2008,37890,37891],{"class":2528,"line":37307},[2008,37892,35708],{},[2008,37894,37895],{"class":2528,"line":37312},[2008,37896,37897],{},"        SaveLoadSystem.SaveGame(saveData);\n",[2008,37899,37900],{"class":2528,"line":37318},[2008,37901,3047],{},[2008,37903,37904],{"class":2528,"line":37323},[2008,37905,2991],{},[2008,37907,37908],{"class":2528,"line":37329},[2008,37909,37910],{},"    public void LoadGame()\n",[2008,37912,37913],{"class":2528,"line":37334},[2008,37914,35498],{},[2008,37916,37917],{"class":2528,"line":37340},[2008,37918,37919],{},"        if (SaveLoadSystem.HasSaveFile())\n",[2008,37921,37922],{"class":2528,"line":37346},[2008,37923,35609],{},[2008,37925,37926],{"class":2528,"line":37352},[2008,37927,37928],{},"            GameSaveData saveData = SaveLoadSystem.LoadGame();\n",[2008,37930,37931],{"class":2528,"line":37357},[2008,37932,37933],{},"            currentLevel = saveData.level;\n",[2008,37935,37936],{"class":2528,"line":37362},[2008,37937,37938],{},"            score = saveData.score;\n",[2008,37940,37941],{"class":2528,"line":37367},[2008,37942,37943],{},"            playerPosition = saveData.playerPosition;\n",[2008,37945,37946],{"class":2528,"line":37373},[2008,37947,3321],{},[2008,37949,37950],{"class":2528,"line":37378},[2008,37951,3047],{},[2008,37953,37954],{"class":2528,"line":37384},[2008,37955,2748],{},[16,37957,37959],{"id":37958},"_7-نظام-input-قابل-للتخصيص","7. نظام Input قابل للتخصيص",[577,37961,37963],{"className":35319,"code":37962,"language":35321,"meta":42,"style":42},"using System;\nusing UnityEngine;\n\n[Serializable]\npublic class InputBinding\n{\n    public string actionName;\n    public KeyCode primaryKey;\n    public KeyCode secondaryKey;\n    \n    public bool IsPressed()\n    {\n        return Input.GetKey(primaryKey) || Input.GetKey(secondaryKey);\n    }\n    \n    public bool IsDown()\n    {\n        return Input.GetKeyDown(primaryKey) || Input.GetKeyDown(secondaryKey);\n    }\n    \n    public bool IsUp()\n    {\n        return Input.GetKeyUp(primaryKey) || Input.GetKeyUp(secondaryKey);\n    }\n}\n\npublic class InputManager : MonoBehaviour\n{\n    public static InputManager Instance { get; private set; }\n    \n    [Header(\"Movement\")]\n    public InputBinding moveUp = new InputBinding { actionName = \"Move Up\", primaryKey = KeyCode.W };\n    public InputBinding moveDown = new InputBinding { actionName = \"Move Down\", primaryKey = KeyCode.S };\n    public InputBinding moveLeft = new InputBinding { actionName = \"Move Left\", primaryKey = KeyCode.A };\n    public InputBinding moveRight = new InputBinding { actionName = \"Move Right\", primaryKey = KeyCode.D };\n    \n    [Header(\"Actions\")]\n    public InputBinding jump = new InputBinding { actionName = \"Jump\", primaryKey = KeyCode.Space };\n    public InputBinding interact = new InputBinding { actionName = \"Interact\", primaryKey = KeyCode.E };\n    \n    private void Awake()\n    {\n        if (Instance == null)\n        {\n            Instance = this;\n            DontDestroyOnLoad(gameObject);\n            LoadInputBindings();\n        }\n        else\n        {\n            Destroy(gameObject);\n        }\n    }\n    \n    // Public methods for checking input\n    public bool IsMovingUp() => moveUp.IsPressed();\n    public bool IsMovingDown() => moveDown.IsPressed();\n    public bool IsMovingLeft() => moveLeft.IsPressed();\n    public bool IsMovingRight() => moveRight.IsPressed();\n    \n    public bool JumpPressed() => jump.IsDown();\n    public bool InteractPressed() => interact.IsDown();\n    \n    // Save/Load input bindings\n    private void LoadInputBindings()\n    {\n        // Load from PlayerPrefs or file\n        // Implementation depends on your save system\n    }\n    \n    public void ResetToDefaults()\n    {\n        // Reset all bindings to default values\n    }\n}\n",[584,37964,37965,37969,37973,37977,37982,37987,37991,37996,38001,38006,38010,38015,38019,38024,38028,38032,38037,38041,38046,38050,38054,38059,38063,38068,38072,38076,38080,38085,38089,38094,38098,38103,38108,38113,38118,38123,38127,38132,38137,38142,38146,38150,38154,38158,38162,38166,38171,38176,38180,38185,38189,38193,38197,38201,38205,38210,38215,38220,38225,38230,38234,38239,38244,38248,38253,38258,38262,38267,38272,38276,38280,38285,38289,38294,38298],{"__ignoreMap":42},[2008,37966,37967],{"class":2528,"line":2529},[2008,37968,36526],{},[2008,37970,37971],{"class":2528,"line":46},[2008,37972,35328],{},[2008,37974,37975],{"class":2528,"line":43},[2008,37976,2548],{"emptyLinePlaceholder":54},[2008,37978,37979],{"class":2528,"line":2545},[2008,37980,37981],{},"[Serializable]\n",[2008,37983,37984],{"class":2528,"line":2551},[2008,37985,37986],{},"public class InputBinding\n",[2008,37988,37989],{"class":2528,"line":2557},[2008,37990,35347],{},[2008,37992,37993],{"class":2528,"line":2563},[2008,37994,37995],{},"    public string actionName;\n",[2008,37997,37998],{"class":2528,"line":2568},[2008,37999,38000],{},"    public KeyCode primaryKey;\n",[2008,38002,38003],{"class":2528,"line":2574},[2008,38004,38005],{},"    public KeyCode secondaryKey;\n",[2008,38007,38008],{"class":2528,"line":1467},[2008,38009,2991],{},[2008,38011,38012],{"class":2528,"line":2818},[2008,38013,38014],{},"    public bool IsPressed()\n",[2008,38016,38017],{"class":2528,"line":2842},[2008,38018,35498],{},[2008,38020,38021],{"class":2528,"line":2862},[2008,38022,38023],{},"        return Input.GetKey(primaryKey) || Input.GetKey(secondaryKey);\n",[2008,38025,38026],{"class":2528,"line":2119},[2008,38027,3047],{},[2008,38029,38030],{"class":2528,"line":2035},[2008,38031,2991],{},[2008,38033,38034],{"class":2528,"line":3038},[2008,38035,38036],{},"    public bool IsDown()\n",[2008,38038,38039],{"class":2528,"line":3044},[2008,38040,35498],{},[2008,38042,38043],{"class":2528,"line":2380},[2008,38044,38045],{},"        return Input.GetKeyDown(primaryKey) || Input.GetKeyDown(secondaryKey);\n",[2008,38047,38048],{"class":2528,"line":4107},[2008,38049,3047],{},[2008,38051,38052],{"class":2528,"line":64},[2008,38053,2991],{},[2008,38055,38056],{"class":2528,"line":4120},[2008,38057,38058],{},"    public bool IsUp()\n",[2008,38060,38061],{"class":2528,"line":4125},[2008,38062,35498],{},[2008,38064,38065],{"class":2528,"line":4135},[2008,38066,38067],{},"        return Input.GetKeyUp(primaryKey) || Input.GetKeyUp(secondaryKey);\n",[2008,38069,38070],{"class":2528,"line":4145},[2008,38071,3047],{},[2008,38073,38074],{"class":2528,"line":4169},[2008,38075,2748],{},[2008,38077,38078],{"class":2528,"line":4192},[2008,38079,2548],{"emptyLinePlaceholder":54},[2008,38081,38082],{"class":2528,"line":4229},[2008,38083,38084],{},"public class InputManager : MonoBehaviour\n",[2008,38086,38087],{"class":2528,"line":4239},[2008,38088,35347],{},[2008,38090,38091],{"class":2528,"line":4531},[2008,38092,38093],{},"    public static InputManager Instance { get; private set; }\n",[2008,38095,38096],{"class":2528,"line":4539},[2008,38097,2991],{},[2008,38099,38100],{"class":2528,"line":4547},[2008,38101,38102],{},"    [Header(\"Movement\")]\n",[2008,38104,38105],{"class":2528,"line":4555},[2008,38106,38107],{},"    public InputBinding moveUp = new InputBinding { actionName = \"Move Up\", primaryKey = KeyCode.W };\n",[2008,38109,38110],{"class":2528,"line":4561},[2008,38111,38112],{},"    public InputBinding moveDown = new InputBinding { actionName = \"Move Down\", primaryKey = KeyCode.S };\n",[2008,38114,38115],{"class":2528,"line":4566},[2008,38116,38117],{},"    public InputBinding moveLeft = new InputBinding { actionName = \"Move Left\", primaryKey = KeyCode.A };\n",[2008,38119,38120],{"class":2528,"line":5249},[2008,38121,38122],{},"    public InputBinding moveRight = new InputBinding { actionName = \"Move Right\", primaryKey = KeyCode.D };\n",[2008,38124,38125],{"class":2528,"line":5258},[2008,38126,2991],{},[2008,38128,38129],{"class":2528,"line":5267},[2008,38130,38131],{},"    [Header(\"Actions\")]\n",[2008,38133,38134],{"class":2528,"line":16229},[2008,38135,38136],{},"    public InputBinding jump = new InputBinding { actionName = \"Jump\", primaryKey = KeyCode.Space };\n",[2008,38138,38139],{"class":2528,"line":16237},[2008,38140,38141],{},"    public InputBinding interact = new InputBinding { actionName = \"Interact\", primaryKey = KeyCode.E };\n",[2008,38143,38144],{"class":2528,"line":16246},[2008,38145,2991],{},[2008,38147,38148],{"class":2528,"line":16251},[2008,38149,35676],{},[2008,38151,38152],{"class":2528,"line":16256},[2008,38153,35498],{},[2008,38155,38156],{"class":2528,"line":16951},[2008,38157,37797],{},[2008,38159,38160],{"class":2528,"line":16956},[2008,38161,35609],{},[2008,38163,38164],{"class":2528,"line":16982},[2008,38165,37806],{},[2008,38167,38168],{"class":2528,"line":17000},[2008,38169,38170],{},"            DontDestroyOnLoad(gameObject);\n",[2008,38172,38173],{"class":2528,"line":17005},[2008,38174,38175],{},"            LoadInputBindings();\n",[2008,38177,38178],{"class":2528,"line":17010},[2008,38179,3321],{},[2008,38181,38182],{"class":2528,"line":17036},[2008,38183,38184],{},"        else\n",[2008,38186,38187],{"class":2528,"line":17054},[2008,38188,35609],{},[2008,38190,38191],{"class":2528,"line":17729},[2008,38192,35694],{},[2008,38194,38195],{"class":2528,"line":36013},[2008,38196,3321],{},[2008,38198,38199],{"class":2528,"line":36018},[2008,38200,3047],{},[2008,38202,38203],{"class":2528,"line":36024},[2008,38204,2991],{},[2008,38206,38207],{"class":2528,"line":36029},[2008,38208,38209],{},"    // Public methods for checking input\n",[2008,38211,38212],{"class":2528,"line":36035},[2008,38213,38214],{},"    public bool IsMovingUp() => moveUp.IsPressed();\n",[2008,38216,38217],{"class":2528,"line":36040},[2008,38218,38219],{},"    public bool IsMovingDown() => moveDown.IsPressed();\n",[2008,38221,38222],{"class":2528,"line":36046},[2008,38223,38224],{},"    public bool IsMovingLeft() => moveLeft.IsPressed();\n",[2008,38226,38227],{"class":2528,"line":36051},[2008,38228,38229],{},"    public bool IsMovingRight() => moveRight.IsPressed();\n",[2008,38231,38232],{"class":2528,"line":36056},[2008,38233,2991],{},[2008,38235,38236],{"class":2528,"line":36785},[2008,38237,38238],{},"    public bool JumpPressed() => jump.IsDown();\n",[2008,38240,38241],{"class":2528,"line":36790},[2008,38242,38243],{},"    public bool InteractPressed() => interact.IsDown();\n",[2008,38245,38246],{"class":2528,"line":36796},[2008,38247,2991],{},[2008,38249,38250],{"class":2528,"line":36801},[2008,38251,38252],{},"    // Save/Load input bindings\n",[2008,38254,38255],{"class":2528,"line":36806},[2008,38256,38257],{},"    private void LoadInputBindings()\n",[2008,38259,38260],{"class":2528,"line":36812},[2008,38261,35498],{},[2008,38263,38264],{"class":2528,"line":36817},[2008,38265,38266],{},"        // Load from PlayerPrefs or file\n",[2008,38268,38269],{"class":2528,"line":36823},[2008,38270,38271],{},"        // Implementation depends on your save system\n",[2008,38273,38274],{"class":2528,"line":36828},[2008,38275,3047],{},[2008,38277,38278],{"class":2528,"line":36833},[2008,38279,2991],{},[2008,38281,38282],{"class":2528,"line":36838},[2008,38283,38284],{},"    public void ResetToDefaults()\n",[2008,38286,38287],{"class":2528,"line":36844},[2008,38288,35498],{},[2008,38290,38291],{"class":2528,"line":36849},[2008,38292,38293],{},"        // Reset all bindings to default values\n",[2008,38295,38296],{"class":2528,"line":36855},[2008,38297,3047],{},[2008,38299,38300],{"class":2528,"line":36860},[2008,38301,2748],{},[16,38303,38305],{"id":38304},"_8-نظام-ui-قابل-للتوسع","8. نظام UI قابل للتوسع",[577,38307,38309],{"className":35319,"code":38308,"language":35321,"meta":42,"style":42},"using UnityEngine;\nusing UnityEngine.UI;\nusing TMPro;\n\npublic abstract class UIManager : MonoBehaviour\n{\n    protected Canvas canvas;\n    protected GraphicRaycaster raycaster;\n    \n    protected virtual void Awake()\n    {\n        canvas = GetComponent\u003CCanvas>();\n        raycaster = GetComponent\u003CGraphicRaycaster>();\n    }\n    \n    public virtual void Show()\n    {\n        canvas.enabled = true;\n    }\n    \n    public virtual void Hide()\n    {\n        canvas.enabled = false;\n    }\n    \n    public virtual void Toggle()\n    {\n        canvas.enabled = !canvas.enabled;\n    }\n}\n\npublic class HUDManager : UIManager\n{\n    [SerializeField] private TextMeshProUGUI scoreText;\n    [SerializeField] private TextMeshProUGUI healthText;\n    [SerializeField] private Slider healthBar;\n    \n    private void Start()\n    {\n        UpdateScore(0);\n        UpdateHealth(100, 100);\n    }\n    \n    public void UpdateScore(int score)\n    {\n        scoreText.text = $\"Score: {score}\";\n    }\n    \n    public void UpdateHealth(int current, int max)\n    {\n        healthText.text = $\"{current}/{max}\";\n        healthBar.value = (float)current / max;\n    }\n}\n\npublic class PauseMenuManager : UIManager\n{\n    [SerializeField] private Button resumeButton;\n    [SerializeField] private Button settingsButton;\n    [SerializeField] private Button quitButton;\n    \n    protected override void Awake()\n    {\n        base.Awake();\n        \n        resumeButton.onClick.AddListener(ResumeGame);\n        settingsButton.onClick.AddListener(OpenSettings);\n        quitButton.onClick.AddListener(QuitGame);\n    }\n    \n    private void ResumeGame()\n    {\n        Time.timeScale = 1f;\n        Hide();\n    }\n    \n    private void OpenSettings()\n    {\n        // Open settings menu\n    }\n    \n    private void QuitGame()\n    {\n        Application.Quit();\n    }\n}\n",[584,38310,38311,38315,38320,38325,38329,38334,38338,38343,38348,38352,38357,38361,38366,38371,38375,38379,38384,38388,38393,38397,38401,38406,38410,38415,38419,38423,38428,38432,38437,38441,38445,38449,38454,38458,38463,38468,38473,38477,38481,38485,38490,38495,38499,38503,38508,38512,38517,38521,38525,38530,38534,38539,38544,38548,38552,38556,38561,38565,38570,38575,38580,38584,38589,38593,38598,38602,38607,38612,38617,38621,38625,38630,38634,38639,38644,38648,38652,38657,38661,38666,38670,38674,38679,38683,38688,38692],{"__ignoreMap":42},[2008,38312,38313],{"class":2528,"line":2529},[2008,38314,35328],{},[2008,38316,38317],{"class":2528,"line":46},[2008,38318,38319],{},"using UnityEngine.UI;\n",[2008,38321,38322],{"class":2528,"line":43},[2008,38323,38324],{},"using TMPro;\n",[2008,38326,38327],{"class":2528,"line":2545},[2008,38328,2548],{"emptyLinePlaceholder":54},[2008,38330,38331],{"class":2528,"line":2551},[2008,38332,38333],{},"public abstract class UIManager : MonoBehaviour\n",[2008,38335,38336],{"class":2528,"line":2557},[2008,38337,35347],{},[2008,38339,38340],{"class":2528,"line":2563},[2008,38341,38342],{},"    protected Canvas canvas;\n",[2008,38344,38345],{"class":2528,"line":2568},[2008,38346,38347],{},"    protected GraphicRaycaster raycaster;\n",[2008,38349,38350],{"class":2528,"line":2574},[2008,38351,2991],{},[2008,38353,38354],{"class":2528,"line":1467},[2008,38355,38356],{},"    protected virtual void Awake()\n",[2008,38358,38359],{"class":2528,"line":2818},[2008,38360,35498],{},[2008,38362,38363],{"class":2528,"line":2842},[2008,38364,38365],{},"        canvas = GetComponent\u003CCanvas>();\n",[2008,38367,38368],{"class":2528,"line":2862},[2008,38369,38370],{},"        raycaster = GetComponent\u003CGraphicRaycaster>();\n",[2008,38372,38373],{"class":2528,"line":2119},[2008,38374,3047],{},[2008,38376,38377],{"class":2528,"line":2035},[2008,38378,2991],{},[2008,38380,38381],{"class":2528,"line":3038},[2008,38382,38383],{},"    public virtual void Show()\n",[2008,38385,38386],{"class":2528,"line":3044},[2008,38387,35498],{},[2008,38389,38390],{"class":2528,"line":2380},[2008,38391,38392],{},"        canvas.enabled = true;\n",[2008,38394,38395],{"class":2528,"line":4107},[2008,38396,3047],{},[2008,38398,38399],{"class":2528,"line":64},[2008,38400,2991],{},[2008,38402,38403],{"class":2528,"line":4120},[2008,38404,38405],{},"    public virtual void Hide()\n",[2008,38407,38408],{"class":2528,"line":4125},[2008,38409,35498],{},[2008,38411,38412],{"class":2528,"line":4135},[2008,38413,38414],{},"        canvas.enabled = false;\n",[2008,38416,38417],{"class":2528,"line":4145},[2008,38418,3047],{},[2008,38420,38421],{"class":2528,"line":4169},[2008,38422,2991],{},[2008,38424,38425],{"class":2528,"line":4192},[2008,38426,38427],{},"    public virtual void Toggle()\n",[2008,38429,38430],{"class":2528,"line":4229},[2008,38431,35498],{},[2008,38433,38434],{"class":2528,"line":4239},[2008,38435,38436],{},"        canvas.enabled = !canvas.enabled;\n",[2008,38438,38439],{"class":2528,"line":4531},[2008,38440,3047],{},[2008,38442,38443],{"class":2528,"line":4539},[2008,38444,2748],{},[2008,38446,38447],{"class":2528,"line":4547},[2008,38448,2548],{"emptyLinePlaceholder":54},[2008,38450,38451],{"class":2528,"line":4555},[2008,38452,38453],{},"public class HUDManager : UIManager\n",[2008,38455,38456],{"class":2528,"line":4561},[2008,38457,35347],{},[2008,38459,38460],{"class":2528,"line":4566},[2008,38461,38462],{},"    [SerializeField] private TextMeshProUGUI scoreText;\n",[2008,38464,38465],{"class":2528,"line":5249},[2008,38466,38467],{},"    [SerializeField] private TextMeshProUGUI healthText;\n",[2008,38469,38470],{"class":2528,"line":5258},[2008,38471,38472],{},"    [SerializeField] private Slider healthBar;\n",[2008,38474,38475],{"class":2528,"line":5267},[2008,38476,2991],{},[2008,38478,38479],{"class":2528,"line":16229},[2008,38480,36863],{},[2008,38482,38483],{"class":2528,"line":16237},[2008,38484,35498],{},[2008,38486,38487],{"class":2528,"line":16246},[2008,38488,38489],{},"        UpdateScore(0);\n",[2008,38491,38492],{"class":2528,"line":16251},[2008,38493,38494],{},"        UpdateHealth(100, 100);\n",[2008,38496,38497],{"class":2528,"line":16256},[2008,38498,3047],{},[2008,38500,38501],{"class":2528,"line":16951},[2008,38502,2991],{},[2008,38504,38505],{"class":2528,"line":16956},[2008,38506,38507],{},"    public void UpdateScore(int score)\n",[2008,38509,38510],{"class":2528,"line":16982},[2008,38511,35498],{},[2008,38513,38514],{"class":2528,"line":17000},[2008,38515,38516],{},"        scoreText.text = $\"Score: {score}\";\n",[2008,38518,38519],{"class":2528,"line":17005},[2008,38520,3047],{},[2008,38522,38523],{"class":2528,"line":17010},[2008,38524,2991],{},[2008,38526,38527],{"class":2528,"line":17036},[2008,38528,38529],{},"    public void UpdateHealth(int current, int max)\n",[2008,38531,38532],{"class":2528,"line":17054},[2008,38533,35498],{},[2008,38535,38536],{"class":2528,"line":17729},[2008,38537,38538],{},"        healthText.text = $\"{current}/{max}\";\n",[2008,38540,38541],{"class":2528,"line":36013},[2008,38542,38543],{},"        healthBar.value = (float)current / max;\n",[2008,38545,38546],{"class":2528,"line":36018},[2008,38547,3047],{},[2008,38549,38550],{"class":2528,"line":36024},[2008,38551,2748],{},[2008,38553,38554],{"class":2528,"line":36029},[2008,38555,2548],{"emptyLinePlaceholder":54},[2008,38557,38558],{"class":2528,"line":36035},[2008,38559,38560],{},"public class PauseMenuManager : UIManager\n",[2008,38562,38563],{"class":2528,"line":36040},[2008,38564,35347],{},[2008,38566,38567],{"class":2528,"line":36046},[2008,38568,38569],{},"    [SerializeField] private Button resumeButton;\n",[2008,38571,38572],{"class":2528,"line":36051},[2008,38573,38574],{},"    [SerializeField] private Button settingsButton;\n",[2008,38576,38577],{"class":2528,"line":36056},[2008,38578,38579],{},"    [SerializeField] private Button quitButton;\n",[2008,38581,38582],{"class":2528,"line":36785},[2008,38583,2991],{},[2008,38585,38586],{"class":2528,"line":36790},[2008,38587,38588],{},"    protected override void Awake()\n",[2008,38590,38591],{"class":2528,"line":36796},[2008,38592,35498],{},[2008,38594,38595],{"class":2528,"line":36801},[2008,38596,38597],{},"        base.Awake();\n",[2008,38599,38600],{"class":2528,"line":36806},[2008,38601,35708],{},[2008,38603,38604],{"class":2528,"line":36812},[2008,38605,38606],{},"        resumeButton.onClick.AddListener(ResumeGame);\n",[2008,38608,38609],{"class":2528,"line":36817},[2008,38610,38611],{},"        settingsButton.onClick.AddListener(OpenSettings);\n",[2008,38613,38614],{"class":2528,"line":36823},[2008,38615,38616],{},"        quitButton.onClick.AddListener(QuitGame);\n",[2008,38618,38619],{"class":2528,"line":36828},[2008,38620,3047],{},[2008,38622,38623],{"class":2528,"line":36833},[2008,38624,2991],{},[2008,38626,38627],{"class":2528,"line":36838},[2008,38628,38629],{},"    private void ResumeGame()\n",[2008,38631,38632],{"class":2528,"line":36844},[2008,38633,35498],{},[2008,38635,38636],{"class":2528,"line":36849},[2008,38637,38638],{},"        Time.timeScale = 1f;\n",[2008,38640,38641],{"class":2528,"line":36855},[2008,38642,38643],{},"        Hide();\n",[2008,38645,38646],{"class":2528,"line":36860},[2008,38647,3047],{},[2008,38649,38650],{"class":2528,"line":36866},[2008,38651,2991],{},[2008,38653,38654],{"class":2528,"line":36871},[2008,38655,38656],{},"    private void OpenSettings()\n",[2008,38658,38659],{"class":2528,"line":36877},[2008,38660,35498],{},[2008,38662,38663],{"class":2528,"line":36882},[2008,38664,38665],{},"        // Open settings menu\n",[2008,38667,38668],{"class":2528,"line":36887},[2008,38669,3047],{},[2008,38671,38672],{"class":2528,"line":36893},[2008,38673,2991],{},[2008,38675,38676],{"class":2528,"line":36898},[2008,38677,38678],{},"    private void QuitGame()\n",[2008,38680,38681],{"class":2528,"line":36904},[2008,38682,35498],{},[2008,38684,38685],{"class":2528,"line":36909},[2008,38686,38687],{},"        Application.Quit();\n",[2008,38689,38690],{"class":2528,"line":37302},[2008,38691,3047],{},[2008,38693,38694],{"class":2528,"line":37307},[2008,38695,2748],{},[16,38697,38699],{"id":38698},"_9-نظام-audio-قابل-للإدارة","9. نظام Audio قابل للإدارة",[577,38701,38703],{"className":35319,"code":38702,"language":35321,"meta":42,"style":42},"using System.Collections.Generic;\nusing UnityEngine;\n\n[System.Serializable]\npublic class Sound\n{\n    public string name;\n    public AudioClip clip;\n    \n    [Range(0f, 1f)]\n    public float volume = 1f;\n    \n    [Range(0.1f, 3f)]\n    public float pitch = 1f;\n    \n    public bool loop = false;\n    \n    [HideInInspector]\n    public AudioSource source;\n}\n\npublic class AudioManager : MonoBehaviour\n{\n    public static AudioManager Instance { get; private set; }\n    \n    [SerializeField] private Sound[] sounds;\n    [SerializeField] private AudioSource musicSource;\n    [SerializeField] private AudioSource sfxSource;\n    \n    private Dictionary\u003Cstring, Sound> soundDictionary;\n    \n    private void Awake()\n    {\n        if (Instance == null)\n        {\n            Instance = this;\n            DontDestroyOnLoad(gameObject);\n            InitializeAudio();\n        }\n        else\n        {\n            Destroy(gameObject);\n        }\n    }\n    \n    private void InitializeAudio()\n    {\n        soundDictionary = new Dictionary\u003Cstring, Sound>();\n        \n        foreach (Sound sound in sounds)\n        {\n            sound.source = gameObject.AddComponent\u003CAudioSource>();\n            sound.source.clip = sound.clip;\n            sound.source.volume = sound.volume;\n            sound.source.pitch = sound.pitch;\n            sound.source.loop = sound.loop;\n            \n            soundDictionary[sound.name] = sound;\n        }\n    }\n    \n    public void Play(string soundName)\n    {\n        if (soundDictionary.TryGetValue(soundName, out Sound sound))\n        {\n            sound.source.Play();\n        }\n        else\n        {\n            Debug.LogWarning($\"Sound {soundName} not found!\");\n        }\n    }\n    \n    public void Stop(string soundName)\n    {\n        if (soundDictionary.TryGetValue(soundName, out Sound sound))\n        {\n            sound.source.Stop();\n        }\n    }\n    \n    public void SetVolume(string soundName, float volume)\n    {\n        if (soundDictionary.TryGetValue(soundName, out Sound sound))\n        {\n            sound.source.volume = volume;\n        }\n    }\n    \n    public void PlayMusic(AudioClip musicClip)\n    {\n        musicSource.clip = musicClip;\n        musicSource.Play();\n    }\n    \n    public void StopMusic()\n    {\n        musicSource.Stop();\n    }\n    \n    public void SetMusicVolume(float volume)\n    {\n        musicSource.volume = volume;\n    }\n}\n",[584,38704,38705,38709,38713,38717,38721,38726,38730,38735,38740,38744,38749,38754,38758,38763,38768,38772,38777,38781,38786,38791,38795,38799,38803,38807,38812,38816,38821,38826,38831,38835,38840,38844,38848,38852,38856,38860,38864,38868,38873,38877,38881,38885,38889,38893,38897,38901,38906,38910,38915,38919,38924,38928,38933,38938,38943,38948,38953,38958,38963,38967,38971,38975,38980,38984,38989,38993,38998,39002,39006,39010,39015,39019,39023,39027,39032,39036,39040,39044,39049,39053,39057,39061,39066,39070,39074,39078,39083,39087,39091,39095,39100,39104,39109,39114,39118,39122,39127,39131,39136,39140,39144,39149,39153,39158,39162],{"__ignoreMap":42},[2008,38706,38707],{"class":2528,"line":2529},[2008,38708,35786],{},[2008,38710,38711],{"class":2528,"line":46},[2008,38712,35328],{},[2008,38714,38715],{"class":2528,"line":43},[2008,38716,2548],{"emptyLinePlaceholder":54},[2008,38718,38719],{"class":2528,"line":2545},[2008,38720,37529],{},[2008,38722,38723],{"class":2528,"line":2551},[2008,38724,38725],{},"public class Sound\n",[2008,38727,38728],{"class":2528,"line":2557},[2008,38729,35347],{},[2008,38731,38732],{"class":2528,"line":2563},[2008,38733,38734],{},"    public string name;\n",[2008,38736,38737],{"class":2528,"line":2568},[2008,38738,38739],{},"    public AudioClip clip;\n",[2008,38741,38742],{"class":2528,"line":2574},[2008,38743,2991],{},[2008,38745,38746],{"class":2528,"line":1467},[2008,38747,38748],{},"    [Range(0f, 1f)]\n",[2008,38750,38751],{"class":2528,"line":2818},[2008,38752,38753],{},"    public float volume = 1f;\n",[2008,38755,38756],{"class":2528,"line":2842},[2008,38757,2991],{},[2008,38759,38760],{"class":2528,"line":2862},[2008,38761,38762],{},"    [Range(0.1f, 3f)]\n",[2008,38764,38765],{"class":2528,"line":2119},[2008,38766,38767],{},"    public float pitch = 1f;\n",[2008,38769,38770],{"class":2528,"line":2035},[2008,38771,2991],{},[2008,38773,38774],{"class":2528,"line":3038},[2008,38775,38776],{},"    public bool loop = false;\n",[2008,38778,38779],{"class":2528,"line":3044},[2008,38780,2991],{},[2008,38782,38783],{"class":2528,"line":2380},[2008,38784,38785],{},"    [HideInInspector]\n",[2008,38787,38788],{"class":2528,"line":4107},[2008,38789,38790],{},"    public AudioSource source;\n",[2008,38792,38793],{"class":2528,"line":64},[2008,38794,2748],{},[2008,38796,38797],{"class":2528,"line":4120},[2008,38798,2548],{"emptyLinePlaceholder":54},[2008,38800,38801],{"class":2528,"line":4125},[2008,38802,36774],{},[2008,38804,38805],{"class":2528,"line":4135},[2008,38806,35347],{},[2008,38808,38809],{"class":2528,"line":4145},[2008,38810,38811],{},"    public static AudioManager Instance { get; private set; }\n",[2008,38813,38814],{"class":2528,"line":4169},[2008,38815,2991],{},[2008,38817,38818],{"class":2528,"line":4192},[2008,38819,38820],{},"    [SerializeField] private Sound[] sounds;\n",[2008,38822,38823],{"class":2528,"line":4229},[2008,38824,38825],{},"    [SerializeField] private AudioSource musicSource;\n",[2008,38827,38828],{"class":2528,"line":4239},[2008,38829,38830],{},"    [SerializeField] private AudioSource sfxSource;\n",[2008,38832,38833],{"class":2528,"line":4531},[2008,38834,2991],{},[2008,38836,38837],{"class":2528,"line":4539},[2008,38838,38839],{},"    private Dictionary\u003Cstring, Sound> soundDictionary;\n",[2008,38841,38842],{"class":2528,"line":4547},[2008,38843,2991],{},[2008,38845,38846],{"class":2528,"line":4555},[2008,38847,35676],{},[2008,38849,38850],{"class":2528,"line":4561},[2008,38851,35498],{},[2008,38853,38854],{"class":2528,"line":4566},[2008,38855,37797],{},[2008,38857,38858],{"class":2528,"line":5249},[2008,38859,35609],{},[2008,38861,38862],{"class":2528,"line":5258},[2008,38863,37806],{},[2008,38865,38866],{"class":2528,"line":5267},[2008,38867,38170],{},[2008,38869,38870],{"class":2528,"line":16229},[2008,38871,38872],{},"            InitializeAudio();\n",[2008,38874,38875],{"class":2528,"line":16237},[2008,38876,3321],{},[2008,38878,38879],{"class":2528,"line":16246},[2008,38880,38184],{},[2008,38882,38883],{"class":2528,"line":16251},[2008,38884,35609],{},[2008,38886,38887],{"class":2528,"line":16256},[2008,38888,35694],{},[2008,38890,38891],{"class":2528,"line":16951},[2008,38892,3321],{},[2008,38894,38895],{"class":2528,"line":16956},[2008,38896,3047],{},[2008,38898,38899],{"class":2528,"line":16982},[2008,38900,2991],{},[2008,38902,38903],{"class":2528,"line":17000},[2008,38904,38905],{},"    private void InitializeAudio()\n",[2008,38907,38908],{"class":2528,"line":17005},[2008,38909,35498],{},[2008,38911,38912],{"class":2528,"line":17010},[2008,38913,38914],{},"        soundDictionary = new Dictionary\u003Cstring, Sound>();\n",[2008,38916,38917],{"class":2528,"line":17036},[2008,38918,35708],{},[2008,38920,38921],{"class":2528,"line":17054},[2008,38922,38923],{},"        foreach (Sound sound in sounds)\n",[2008,38925,38926],{"class":2528,"line":17729},[2008,38927,35609],{},[2008,38929,38930],{"class":2528,"line":36013},[2008,38931,38932],{},"            sound.source = gameObject.AddComponent\u003CAudioSource>();\n",[2008,38934,38935],{"class":2528,"line":36018},[2008,38936,38937],{},"            sound.source.clip = sound.clip;\n",[2008,38939,38940],{"class":2528,"line":36024},[2008,38941,38942],{},"            sound.source.volume = sound.volume;\n",[2008,38944,38945],{"class":2528,"line":36029},[2008,38946,38947],{},"            sound.source.pitch = sound.pitch;\n",[2008,38949,38950],{"class":2528,"line":36035},[2008,38951,38952],{},"            sound.source.loop = sound.loop;\n",[2008,38954,38955],{"class":2528,"line":36040},[2008,38956,38957],{},"            \n",[2008,38959,38960],{"class":2528,"line":36046},[2008,38961,38962],{},"            soundDictionary[sound.name] = sound;\n",[2008,38964,38965],{"class":2528,"line":36051},[2008,38966,3321],{},[2008,38968,38969],{"class":2528,"line":36056},[2008,38970,3047],{},[2008,38972,38973],{"class":2528,"line":36785},[2008,38974,2991],{},[2008,38976,38977],{"class":2528,"line":36790},[2008,38978,38979],{},"    public void Play(string soundName)\n",[2008,38981,38982],{"class":2528,"line":36796},[2008,38983,35498],{},[2008,38985,38986],{"class":2528,"line":36801},[2008,38987,38988],{},"        if (soundDictionary.TryGetValue(soundName, out Sound sound))\n",[2008,38990,38991],{"class":2528,"line":36806},[2008,38992,35609],{},[2008,38994,38995],{"class":2528,"line":36812},[2008,38996,38997],{},"            sound.source.Play();\n",[2008,38999,39000],{"class":2528,"line":36817},[2008,39001,3321],{},[2008,39003,39004],{"class":2528,"line":36823},[2008,39005,38184],{},[2008,39007,39008],{"class":2528,"line":36828},[2008,39009,35609],{},[2008,39011,39012],{"class":2528,"line":36833},[2008,39013,39014],{},"            Debug.LogWarning($\"Sound {soundName} not found!\");\n",[2008,39016,39017],{"class":2528,"line":36838},[2008,39018,3321],{},[2008,39020,39021],{"class":2528,"line":36844},[2008,39022,3047],{},[2008,39024,39025],{"class":2528,"line":36849},[2008,39026,2991],{},[2008,39028,39029],{"class":2528,"line":36855},[2008,39030,39031],{},"    public void Stop(string soundName)\n",[2008,39033,39034],{"class":2528,"line":36860},[2008,39035,35498],{},[2008,39037,39038],{"class":2528,"line":36866},[2008,39039,38988],{},[2008,39041,39042],{"class":2528,"line":36871},[2008,39043,35609],{},[2008,39045,39046],{"class":2528,"line":36877},[2008,39047,39048],{},"            sound.source.Stop();\n",[2008,39050,39051],{"class":2528,"line":36882},[2008,39052,3321],{},[2008,39054,39055],{"class":2528,"line":36887},[2008,39056,3047],{},[2008,39058,39059],{"class":2528,"line":36893},[2008,39060,2991],{},[2008,39062,39063],{"class":2528,"line":36898},[2008,39064,39065],{},"    public void SetVolume(string soundName, float volume)\n",[2008,39067,39068],{"class":2528,"line":36904},[2008,39069,35498],{},[2008,39071,39072],{"class":2528,"line":36909},[2008,39073,38988],{},[2008,39075,39076],{"class":2528,"line":37302},[2008,39077,35609],{},[2008,39079,39080],{"class":2528,"line":37307},[2008,39081,39082],{},"            sound.source.volume = volume;\n",[2008,39084,39085],{"class":2528,"line":37312},[2008,39086,3321],{},[2008,39088,39089],{"class":2528,"line":37318},[2008,39090,3047],{},[2008,39092,39093],{"class":2528,"line":37323},[2008,39094,2991],{},[2008,39096,39097],{"class":2528,"line":37329},[2008,39098,39099],{},"    public void PlayMusic(AudioClip musicClip)\n",[2008,39101,39102],{"class":2528,"line":37334},[2008,39103,35498],{},[2008,39105,39106],{"class":2528,"line":37340},[2008,39107,39108],{},"        musicSource.clip = musicClip;\n",[2008,39110,39111],{"class":2528,"line":37346},[2008,39112,39113],{},"        musicSource.Play();\n",[2008,39115,39116],{"class":2528,"line":37352},[2008,39117,3047],{},[2008,39119,39120],{"class":2528,"line":37357},[2008,39121,2991],{},[2008,39123,39124],{"class":2528,"line":37362},[2008,39125,39126],{},"    public void StopMusic()\n",[2008,39128,39129],{"class":2528,"line":37367},[2008,39130,35498],{},[2008,39132,39133],{"class":2528,"line":37373},[2008,39134,39135],{},"        musicSource.Stop();\n",[2008,39137,39138],{"class":2528,"line":37378},[2008,39139,3047],{},[2008,39141,39142],{"class":2528,"line":37384},[2008,39143,2991],{},[2008,39145,39146],{"class":2528,"line":37389},[2008,39147,39148],{},"    public void SetMusicVolume(float volume)\n",[2008,39150,39151],{"class":2528,"line":37394},[2008,39152,35498],{},[2008,39154,39155],{"class":2528,"line":37399},[2008,39156,39157],{},"        musicSource.volume = volume;\n",[2008,39159,39160],{"class":2528,"line":37405},[2008,39161,3047],{},[2008,39163,39164],{"class":2528,"line":37410},[2008,39165,2748],{},[16,39167,39169],{"id":39168},"_10-نظام-physics-محسن-للأداء","10. نظام Physics محسن للأداء",[577,39171,39173],{"className":35319,"code":39172,"language":35321,"meta":42,"style":42},"using UnityEngine;\n\npublic class OptimizedPhysics : MonoBehaviour\n{\n    [Header(\"Physics Settings\")]\n    [SerializeField] private float fixedTimeStep = 0.02f;\n    [SerializeField] private int maximumAllowedTimestep = 1;\n    [SerializeField] private int solverIterations = 6;\n    [SerializeField] private int solverVelocityIterations = 1;\n    \n    [Header(\"Layer Collision Matrix\")]\n    [SerializeField] private LayerMask playerLayer;\n    [SerializeField] private LayerMask enemyLayer;\n    [SerializeField] private LayerMask projectileLayer;\n    [SerializeField] private LayerMask environmentLayer;\n    \n    private void Awake()\n    {\n        ConfigurePhysics();\n        SetupCollisionMatrix();\n    }\n    \n    private void ConfigurePhysics()\n    {\n        Time.fixedDeltaTime = fixedTimeStep;\n        Physics.defaultMaxAngularSpeed = maximumAllowedTimestep;\n        \n        // Configure solver iterations for better performance\n        Physics.defaultSolverIterations = solverIterations;\n        Physics.defaultSolverVelocityIterations = solverVelocityIterations;\n        \n        // Enable auto-simulation if needed\n        Physics.autoSimulation = true;\n        \n        // Configure physics gravity if needed\n        Physics.gravity = new Vector3(0, -9.81f, 0);\n    }\n    \n    private void SetupCollisionMatrix()\n    {\n        // Disable unnecessary collisions for performance\n        // Players don't collide with other players\n        Physics.IgnoreLayerCollision(playerLayer, playerLayer, true);\n        \n        // Projectiles don't collide with other projectiles\n        Physics.IgnoreLayerCollision(projectileLayer, projectileLayer, true);\n        \n        // Enemies don't collide with other enemies (use custom collision detection)\n        Physics.IgnoreLayerCollision(enemyLayer, enemyLayer, true);\n    }\n    \n    // Performance monitoring\n    private void Update()\n    {\n        // Monitor physics performance\n        if (Time.frameCount % 60 == 0) // Every second at 60 FPS\n        {\n            MonitorPhysicsPerformance();\n        }\n    }\n    \n    private void MonitorPhysicsPerformance()\n    {\n        int activeBodies = Physics.Bodies.Count;\n        int activeColliders = FindObjectsOfType\u003CCollider>().Length;\n        \n        // Log or send to analytics if performance is degrading\n        if (activeBodies > 1000 || activeColliders > 5000)\n        {\n            Debug.LogWarning($\"High physics load: {activeBodies} bodies, {activeColliders} colliders\");\n        }\n    }\n    \n    // Public methods for runtime physics control\n    public void PausePhysics()\n    {\n        Physics.autoSimulation = false;\n    }\n    \n    public void ResumePhysics()\n    {\n        Physics.autoSimulation = true;\n        Physics.Simulate(Time.fixedDeltaTime);\n    }\n    \n    public void SetTimeScale(float timeScale)\n    {\n        Time.timeScale = timeScale;\n        Time.fixedDeltaTime = fixedTimeStep * timeScale;\n    }\n}\n",[584,39174,39175,39179,39183,39188,39192,39197,39202,39207,39212,39217,39221,39226,39231,39236,39241,39246,39250,39254,39258,39263,39268,39272,39276,39281,39285,39290,39295,39299,39304,39309,39314,39318,39323,39328,39332,39337,39342,39346,39350,39355,39359,39364,39369,39374,39378,39383,39388,39392,39397,39402,39406,39410,39415,39419,39423,39428,39433,39437,39442,39446,39450,39454,39459,39463,39468,39473,39477,39482,39487,39491,39496,39500,39504,39508,39513,39518,39522,39527,39531,39535,39540,39544,39548,39553,39557,39561,39566,39570,39575,39580,39584],{"__ignoreMap":42},[2008,39176,39177],{"class":2528,"line":2529},[2008,39178,35328],{},[2008,39180,39181],{"class":2528,"line":46},[2008,39182,2548],{"emptyLinePlaceholder":54},[2008,39184,39185],{"class":2528,"line":43},[2008,39186,39187],{},"public class OptimizedPhysics : MonoBehaviour\n",[2008,39189,39190],{"class":2528,"line":2545},[2008,39191,35347],{},[2008,39193,39194],{"class":2528,"line":2551},[2008,39195,39196],{},"    [Header(\"Physics Settings\")]\n",[2008,39198,39199],{"class":2528,"line":2557},[2008,39200,39201],{},"    [SerializeField] private float fixedTimeStep = 0.02f;\n",[2008,39203,39204],{"class":2528,"line":2563},[2008,39205,39206],{},"    [SerializeField] private int maximumAllowedTimestep = 1;\n",[2008,39208,39209],{"class":2528,"line":2568},[2008,39210,39211],{},"    [SerializeField] private int solverIterations = 6;\n",[2008,39213,39214],{"class":2528,"line":2574},[2008,39215,39216],{},"    [SerializeField] private int solverVelocityIterations = 1;\n",[2008,39218,39219],{"class":2528,"line":1467},[2008,39220,2991],{},[2008,39222,39223],{"class":2528,"line":2818},[2008,39224,39225],{},"    [Header(\"Layer Collision Matrix\")]\n",[2008,39227,39228],{"class":2528,"line":2842},[2008,39229,39230],{},"    [SerializeField] private LayerMask playerLayer;\n",[2008,39232,39233],{"class":2528,"line":2862},[2008,39234,39235],{},"    [SerializeField] private LayerMask enemyLayer;\n",[2008,39237,39238],{"class":2528,"line":2119},[2008,39239,39240],{},"    [SerializeField] private LayerMask projectileLayer;\n",[2008,39242,39243],{"class":2528,"line":2035},[2008,39244,39245],{},"    [SerializeField] private LayerMask environmentLayer;\n",[2008,39247,39248],{"class":2528,"line":3038},[2008,39249,2991],{},[2008,39251,39252],{"class":2528,"line":3044},[2008,39253,35676],{},[2008,39255,39256],{"class":2528,"line":2380},[2008,39257,35498],{},[2008,39259,39260],{"class":2528,"line":4107},[2008,39261,39262],{},"        ConfigurePhysics();\n",[2008,39264,39265],{"class":2528,"line":64},[2008,39266,39267],{},"        SetupCollisionMatrix();\n",[2008,39269,39270],{"class":2528,"line":4120},[2008,39271,3047],{},[2008,39273,39274],{"class":2528,"line":4125},[2008,39275,2991],{},[2008,39277,39278],{"class":2528,"line":4135},[2008,39279,39280],{},"    private void ConfigurePhysics()\n",[2008,39282,39283],{"class":2528,"line":4145},[2008,39284,35498],{},[2008,39286,39287],{"class":2528,"line":4169},[2008,39288,39289],{},"        Time.fixedDeltaTime = fixedTimeStep;\n",[2008,39291,39292],{"class":2528,"line":4192},[2008,39293,39294],{},"        Physics.defaultMaxAngularSpeed = maximumAllowedTimestep;\n",[2008,39296,39297],{"class":2528,"line":4229},[2008,39298,35708],{},[2008,39300,39301],{"class":2528,"line":4239},[2008,39302,39303],{},"        // Configure solver iterations for better performance\n",[2008,39305,39306],{"class":2528,"line":4531},[2008,39307,39308],{},"        Physics.defaultSolverIterations = solverIterations;\n",[2008,39310,39311],{"class":2528,"line":4539},[2008,39312,39313],{},"        Physics.defaultSolverVelocityIterations = solverVelocityIterations;\n",[2008,39315,39316],{"class":2528,"line":4547},[2008,39317,35708],{},[2008,39319,39320],{"class":2528,"line":4555},[2008,39321,39322],{},"        // Enable auto-simulation if needed\n",[2008,39324,39325],{"class":2528,"line":4561},[2008,39326,39327],{},"        Physics.autoSimulation = true;\n",[2008,39329,39330],{"class":2528,"line":4566},[2008,39331,35708],{},[2008,39333,39334],{"class":2528,"line":5249},[2008,39335,39336],{},"        // Configure physics gravity if needed\n",[2008,39338,39339],{"class":2528,"line":5258},[2008,39340,39341],{},"        Physics.gravity = new Vector3(0, -9.81f, 0);\n",[2008,39343,39344],{"class":2528,"line":5267},[2008,39345,3047],{},[2008,39347,39348],{"class":2528,"line":16229},[2008,39349,2991],{},[2008,39351,39352],{"class":2528,"line":16237},[2008,39353,39354],{},"    private void SetupCollisionMatrix()\n",[2008,39356,39357],{"class":2528,"line":16246},[2008,39358,35498],{},[2008,39360,39361],{"class":2528,"line":16251},[2008,39362,39363],{},"        // Disable unnecessary collisions for performance\n",[2008,39365,39366],{"class":2528,"line":16256},[2008,39367,39368],{},"        // Players don't collide with other players\n",[2008,39370,39371],{"class":2528,"line":16951},[2008,39372,39373],{},"        Physics.IgnoreLayerCollision(playerLayer, playerLayer, true);\n",[2008,39375,39376],{"class":2528,"line":16956},[2008,39377,35708],{},[2008,39379,39380],{"class":2528,"line":16982},[2008,39381,39382],{},"        // Projectiles don't collide with other projectiles\n",[2008,39384,39385],{"class":2528,"line":17000},[2008,39386,39387],{},"        Physics.IgnoreLayerCollision(projectileLayer, projectileLayer, true);\n",[2008,39389,39390],{"class":2528,"line":17005},[2008,39391,35708],{},[2008,39393,39394],{"class":2528,"line":17010},[2008,39395,39396],{},"        // Enemies don't collide with other enemies (use custom collision detection)\n",[2008,39398,39399],{"class":2528,"line":17036},[2008,39400,39401],{},"        Physics.IgnoreLayerCollision(enemyLayer, enemyLayer, true);\n",[2008,39403,39404],{"class":2528,"line":17054},[2008,39405,3047],{},[2008,39407,39408],{"class":2528,"line":17729},[2008,39409,2991],{},[2008,39411,39412],{"class":2528,"line":36013},[2008,39413,39414],{},"    // Performance monitoring\n",[2008,39416,39417],{"class":2528,"line":36018},[2008,39418,37073],{},[2008,39420,39421],{"class":2528,"line":36024},[2008,39422,35498],{},[2008,39424,39425],{"class":2528,"line":36029},[2008,39426,39427],{},"        // Monitor physics performance\n",[2008,39429,39430],{"class":2528,"line":36035},[2008,39431,39432],{},"        if (Time.frameCount % 60 == 0) // Every second at 60 FPS\n",[2008,39434,39435],{"class":2528,"line":36040},[2008,39436,35609],{},[2008,39438,39439],{"class":2528,"line":36046},[2008,39440,39441],{},"            MonitorPhysicsPerformance();\n",[2008,39443,39444],{"class":2528,"line":36051},[2008,39445,3321],{},[2008,39447,39448],{"class":2528,"line":36056},[2008,39449,3047],{},[2008,39451,39452],{"class":2528,"line":36785},[2008,39453,2991],{},[2008,39455,39456],{"class":2528,"line":36790},[2008,39457,39458],{},"    private void MonitorPhysicsPerformance()\n",[2008,39460,39461],{"class":2528,"line":36796},[2008,39462,35498],{},[2008,39464,39465],{"class":2528,"line":36801},[2008,39466,39467],{},"        int activeBodies = Physics.Bodies.Count;\n",[2008,39469,39470],{"class":2528,"line":36806},[2008,39471,39472],{},"        int activeColliders = FindObjectsOfType\u003CCollider>().Length;\n",[2008,39474,39475],{"class":2528,"line":36812},[2008,39476,35708],{},[2008,39478,39479],{"class":2528,"line":36817},[2008,39480,39481],{},"        // Log or send to analytics if performance is degrading\n",[2008,39483,39484],{"class":2528,"line":36823},[2008,39485,39486],{},"        if (activeBodies > 1000 || activeColliders > 5000)\n",[2008,39488,39489],{"class":2528,"line":36828},[2008,39490,35609],{},[2008,39492,39493],{"class":2528,"line":36833},[2008,39494,39495],{},"            Debug.LogWarning($\"High physics load: {activeBodies} bodies, {activeColliders} colliders\");\n",[2008,39497,39498],{"class":2528,"line":36838},[2008,39499,3321],{},[2008,39501,39502],{"class":2528,"line":36844},[2008,39503,3047],{},[2008,39505,39506],{"class":2528,"line":36849},[2008,39507,2991],{},[2008,39509,39510],{"class":2528,"line":36855},[2008,39511,39512],{},"    // Public methods for runtime physics control\n",[2008,39514,39515],{"class":2528,"line":36860},[2008,39516,39517],{},"    public void PausePhysics()\n",[2008,39519,39520],{"class":2528,"line":36866},[2008,39521,35498],{},[2008,39523,39524],{"class":2528,"line":36871},[2008,39525,39526],{},"        Physics.autoSimulation = false;\n",[2008,39528,39529],{"class":2528,"line":36877},[2008,39530,3047],{},[2008,39532,39533],{"class":2528,"line":36882},[2008,39534,2991],{},[2008,39536,39537],{"class":2528,"line":36887},[2008,39538,39539],{},"    public void ResumePhysics()\n",[2008,39541,39542],{"class":2528,"line":36893},[2008,39543,35498],{},[2008,39545,39546],{"class":2528,"line":36898},[2008,39547,39327],{},[2008,39549,39550],{"class":2528,"line":36904},[2008,39551,39552],{},"        Physics.Simulate(Time.fixedDeltaTime);\n",[2008,39554,39555],{"class":2528,"line":36909},[2008,39556,3047],{},[2008,39558,39559],{"class":2528,"line":37302},[2008,39560,2991],{},[2008,39562,39563],{"class":2528,"line":37307},[2008,39564,39565],{},"    public void SetTimeScale(float timeScale)\n",[2008,39567,39568],{"class":2528,"line":37312},[2008,39569,35498],{},[2008,39571,39572],{"class":2528,"line":37318},[2008,39573,39574],{},"        Time.timeScale = timeScale;\n",[2008,39576,39577],{"class":2528,"line":37323},[2008,39578,39579],{},"        Time.fixedDeltaTime = fixedTimeStep * timeScale;\n",[2008,39581,39582],{"class":2528,"line":37329},[2008,39583,3047],{},[2008,39585,39586],{"class":2528,"line":37334},[2008,39587,2748],{},[16,39589,39591],{"id":39590},"الخاتمة-رحلة-مستمرة-للتحسين","الخاتمة: رحلة مستمرة للتحسين",[12,39593,39594],{},"بناء كود قابل للتوسع في Unity ليس وجهة – إنه رحلة مستمرة من التعلم والتحسين. تذكر هذه النقاط الأساسية:",[12,39596,39597,39600],{},[174,39598,39599],{},"ابدأ صغيراً:"," لا تحاول بناء الهندسة المعمارية المثالية من البداية. ابدأ بأنماط بسيطة وقم بتحسينها تدريجياً.",[12,39602,39603,39606],{},[174,39604,39605],{},"اختبر دائماً:"," قم بتشغيل اختبارات الأداء بانتظام وتأكد من أن التغييرات الخاصة بك لا تكسر الأداء.",[12,39608,39609,39612],{},[174,39610,39611],{},"وثق كودك:"," اكتب تعليقات واضحة ووثائق لأنظمة معقدة.",[12,39614,39615,39618],{},[174,39616,39617],{},"تعلم من الأخطاء:"," كل مشروع يعلمك شيئاً جديداً عن كتابة كود أفضل.",[12,39620,39621,39624],{},[174,39622,39623],{},"كن مرناً:"," الهندسة المعمارية الجيدة تتكيف مع تغييرات المتطلبات.",[12,39626,39627],{},"مع هذه الأنماط والتقنيات، ستكون مجهزاً لبناء ألعاب Unity يمكن أن تنمو من أفكار بسيطة إلى تجارب AAA مذهلة. تذكر: الكود القابل للتوسع ليس مجرد ممارسة جيدة – إنه مفتاح نجاح مشاريع الألعاب الكبيرة.",[12,39629,39630,39633],{},[174,39631,39632],{},"ما هي خطوتك التالية في رحلة تطوير الألعاب؟"," 🎮",[3587,39635,39636],{},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":42,"searchDepth":43,"depth":43,"links":39638},[39639,39643,39647,39651,39655,39656,39657,39658,39659,39660,39661,39662],{"id":35205,"depth":46,"text":35206,"children":39640},[39641,39642],{"id":35209,"depth":43,"text":35210},{"id":35272,"depth":43,"text":35273},{"id":35308,"depth":46,"text":35309,"children":39644},[39645,39646],{"id":35315,"depth":43,"text":35316},{"id":35427,"depth":43,"text":35428},{"id":35558,"depth":46,"text":35559,"children":39648},[39649,39650],{"id":35562,"depth":43,"text":35563},{"id":35775,"depth":43,"text":35776},{"id":36061,"depth":46,"text":36062,"children":39652},[39653,39654],{"id":36065,"depth":43,"text":36066},{"id":36332,"depth":43,"text":36333},{"id":36515,"depth":46,"text":36516},{"id":36914,"depth":46,"text":36915},{"id":37505,"depth":46,"text":37506},{"id":37958,"depth":46,"text":37959},{"id":38304,"depth":46,"text":38305},{"id":38698,"depth":46,"text":38699},{"id":39168,"depth":46,"text":39169},{"id":39590,"depth":46,"text":39591},"إتقان فن كتابة كود نظيف، معياري، وقابل للتوسع في Unity. تعلم أفضل الممارسات، أنماط التصميم، والتقنيات الحديثة لبناء ألعاب قابلة للصيانة يمكن أن تنمو مع طموحاتك.","https://images.unsplash.com/photo-1550745165-9bc0b252726f?q=80&w=1200&auto=format&fit=crop",{"excerpt":39666},{"type":9,"value":39667},[39668],[12,39669,35202],{},"/kwd-qabl-liaadh-alastkhdam-wqabl-lltwsa-fy-unity","2023-01-29T13:12:14.000Z",{"title":35197,"description":39663},"كود-قابل-لإعادة-الاستخدام-وقابل-للتوسع-في-unity",[29367,29365,39675,39676,8118,8116],"c-sharp","design-patterns","-dWrD0Vh2mjU5AAGyXjkbMg-VXAV7M94mXCvDk-PTNE",{"id":39679,"title":39680,"author":7,"body":39681,"category":15722,"description":40215,"extension":52,"image":40216,"isDraft":55,"isFeatured":54,"locale":56,"meta":40217,"navigation":54,"path":40222,"publishedAt":2034,"readingTime":2380,"seo":40223,"stem":40224,"tags":40225,"updatedAt":2034,"__hash__":40229},"articles_ar/كيف-تبدأ-مشروعك-الناشئ-في-العالم-العربي.md","دليلك الشامل لبدء مشروعك الناشئ الناجح في العالم العربي: من الفكرة إلى التنفيذ",{"type":9,"value":39682,"toc":40162},[39683,39686,39690,39693,39697,39717,39721,39724,39744,39748,39751,39755,39758,39762,39765,39768,39818,39822,39825,39829,39832,39852,39856,39859,39863,39866,39870,39873,39893,39897,39900,39904,39908,39911,39915,39918,39922,39925,39929,39932,39936,39939,39943,39946,39950,39953,39957,39960,39964,39967,39971,39974,39980,39984,39987,39991,39994,39998,40001,40005,40037,40041,40044,40048,40051,40055,40059,40062,40066,40069,40073,40076,40080,40083,40087,40090,40094,40097,40101,40105,40108,40112,40115,40119,40122,40126,40152,40154,40157],[12,39684,39685],{},"في عصر التحول الرقمي والابتكار التقني، أصبحت ريادة الأعمال وبناء المشاريع الناشئة خياراً جذاباً للعديد من الطموحين في العالم العربي. السوق العربي، بتنوعه الثقافي والاقتصادي وإمكانياته الهائلة، يوفر فرصاً واعدة لرواد الأعمال الذين يمتلكون الأفكار المبتكرة والعزيمة القوية. لكن النجاح في هذه الرحلة يتطلب أكثر من مجرد فكرة جيدة؛ يحتاج إلى تخطيط استراتيجي، فهم عميق للسوق، وقدرة على التكيف مع التحديات الفريدة للمنطقة. هذا الدليل الشامل سيرافقك خطوة بخطوة في رحلة بناء مشروعك الناشئ الناجح في العالم العربي.",[16,39687,39689],{"id":39688},"١-من-الإلهام-إلى-الفكرة-القابلة-للتنفيذ-تحديد-الفرصة","١. من الإلهام إلى الفكرة القابلة للتنفيذ: تحديد الفرصة",[12,39691,39692],{},"كل مشروع ناجح يبدأ بفكرة تحل مشكلة حقيقية أو تلبي حاجة ملحة. في السياق العربي، من المهم أن تكون فكرتك متوافقة مع السوق المحلي.",[209,39694,39696],{"id":39695},"أ-استكشاف-المشاكل-والاحتياجات","أ. استكشاف المشاكل والاحتياجات",[186,39698,39699,39705,39711],{},[189,39700,39701,39704],{},[174,39702,39703],{},"الملاحظة اليومية:"," انتبه للتحديات التي تواجهك أنت والأشخاص من حولك في حياتهم اليومية. هل هناك خدمة غير متوفرة؟ عملية معقدة يمكن تبسيطها؟",[189,39706,39707,39710],{},[174,39708,39709],{},"البحث في الاتجاهات السوقية:"," ادرس التقارير السوقية، المنشورات الصناعية، ووسائل التواصل الاجتماعي لفهم الاتجاهات الناشئة والاحتياجات غير الملباة في السوق العربي. مجالات مثل التكنولوجيا المالية (Fintech)، التعليم الإلكتروني، التجارة الإلكترونية، والخدمات اللوجستية تشهد نمواً كبيراً.",[189,39712,39713,39716],{},[174,39714,39715],{},"الاستماع للجمهور:"," تحدث مع العملاء المحتملين. أجرِ مقابلات، استطلاعات رأي، وجلسات عصف ذهني لفهم نقاط الألم (Pain Points) التي يواجهونها.",[209,39718,39720],{"id":39719},"ب-التحقق-من-صحة-الفكرة-idea-validation","ب. التحقق من صحة الفكرة (Idea Validation)",[12,39722,39723],{},"قبل أن تستثمر وقتاً ومالاً كبيرين، تأكد من أن فكرتك لها جدوى.",[186,39725,39726,39732,39738],{},[189,39727,39728,39731],{},[174,39729,39730],{},"الحد الأدنى من المنتج القابل للتطبيق (MVP):"," طور نموذجاً أولياً بسيطاً جداً (MVP) يحتوي على الوظائف الأساسية فقط. قد يكون هذا صفحة هبوط (Landing Page) تشرح فكرتك، نموذجاً قابلاً للنقر (Clickable Prototype)، أو حتى خدمة يدوية.",[189,39733,39734,39737],{},[174,39735,39736],{},"الاختبار المبكر:"," اعرض الـ MVP على مجموعة صغيرة من المستخدمين المستهدفين واجمع ملاحظاتهم. هل يجدون قيمة في حلك؟ هل هم مستعدون لدفع المال مقابله؟",[189,39739,39740,39743],{},[174,39741,39742],{},"تحليل المنافسة:"," من هم منافسوك المباشرون وغير المباشرين؟ ما الذي يميز حلك عنهم؟ لا تخف من المنافسة؛ وجودها غالباً ما يعني وجود سوق.",[209,39745,39747],{"id":39746},"ج-صياغة-عرض-القيمة-الفريد-unique-value-proposition-uvp","ج. صياغة عرض القيمة الفريد (Unique Value Proposition - UVP)",[12,39749,39750],{},"اشرح بوضوح لماذا يجب على العملاء اختيار منتجك أو خدمتك بدلاً من البدائل. ما هي الفائدة الأساسية التي تقدمها؟",[16,39752,39754],{"id":39753},"٢-التخطيط-الاستراتيجي-خارطة-الطريق-للنجاح","٢. التخطيط الاستراتيجي: خارطة الطريق للنجاح",[12,39756,39757],{},"التخطيط الجيد يضع أساساً متيناً لمشروعك ويساعدك على التنقل في التحديات.",[209,39759,39761],{"id":39760},"أ-خطة-العمل-business-plan","أ. خطة العمل (Business Plan)",[12,39763,39764],{},"على الرغم من أن خطط الأعمال التقليدية قد تبدو طويلة، إلا أن صياغة وثيقة واضحة تحدد رؤيتك واستراتيجيتك أمر ضروري. يمكنك استخدام نموذج Lean Canvas أو Business Model Canvas كبدائل أكثر مرونة.",[12,39766,39767],{},"يجب أن تتضمن خطتك:",[186,39769,39770,39776,39782,39788,39794,39800,39806,39812],{},[189,39771,39772,39775],{},[174,39773,39774],{},"الملخص التنفيذي:"," نظرة عامة موجزة عن المشروع.",[189,39777,39778,39781],{},[174,39779,39780],{},"وصف الشركة:"," طبيعة عملك، المنتجات/الخدمات، السوق المستهدف.",[189,39783,39784,39787],{},[174,39785,39786],{},"تحليل السوق:"," حجم السوق، الاتجاهات، التقسيم، المنافسون.",[189,39789,39790,39793],{},[174,39791,39792],{},"التنظيم والإدارة:"," هيكل الفريق، الأدوار، الخبرات.",[189,39795,39796,39799],{},[174,39797,39798],{},"المنتجات والخدمات:"," تفاصيل ما تقدمه.",[189,39801,39802,39805],{},[174,39803,39804],{},"الاستراتيجية التسويقية والمبيعات:"," كيف ستصل إلى عملائك وتحقق المبيعات.",[189,39807,39808,39811],{},[174,39809,39810],{},"التوقعات المالية:"," الإيرادات المتوقعة، النفقات، نقطة التعادل، احتياجات التمويل.",[189,39813,39814,39817],{},[174,39815,39816],{},"طلب التمويل (إذا لزم الأمر):"," المبلغ المطلوب، كيف سيتم استخدامه، العائد المتوقع للمستثمرين.",[209,39819,39821],{"id":39820},"ب-دراسة-الجدوى-المالية","ب. دراسة الجدوى المالية",[12,39823,39824],{},"كن واقعياً بشأن تكاليف البدء، نفقات التشغيل، ومصادر الإيرادات المحتملة. احسب كم من الوقت يستغرق مشروعك للوصول إلى نقطة التعادل (Breakeven) والربحية.",[209,39826,39828],{"id":39827},"ج-الإطار-القانوني-والتنظيمي","ج. الإطار القانوني والتنظيمي",[12,39830,39831],{},"تختلف متطلبات تسجيل الأعمال، التراخيص، والضرائب من بلد عربي لآخر. استشر محامياً متخصصاً في الأعمال أو محاسباً لفهم الالتزامات القانونية والتنظيمية في بلدك.",[186,39833,39834,39840,39846],{},[189,39835,39836,39839],{},[174,39837,39838],{},"اختيار الشكل القانوني:"," (مؤسسة فردية، شركة ذات مسؤولية محدودة LLC، شركة مساهمة، إلخ).",[189,39841,39842,39845],{},[174,39843,39844],{},"تسجيل العلامة التجارية:"," احمِ اسم شركتك وشعارها.",[189,39847,39848,39851],{},[174,39849,39850],{},"الملكية الفكرية:"," إذا كان لديك ابتكار تقني، فكر في براءات الاختراع أو حماية البرمجيات.",[16,39853,39855],{"id":39854},"٣-بناء-الفريق-المناسب-العنصر-البشري-للنجاح","٣. بناء الفريق المناسب: العنصر البشري للنجاح",[12,39857,39858],{},"نادراً ما ينجح مؤسس واحد بمفرده. بناء فريق قوي ومتكامل هو أحد أهم عوامل النجاح.",[209,39860,39862],{"id":39861},"أ-تحديد-المهارات-المطلوبة","أ. تحديد المهارات المطلوبة",[12,39864,39865],{},"فكر في المهارات الأساسية التي يحتاجها مشروعك: التقنية (التطوير، التصميم)، التجارية (التسويق، المبيعات، التمويل)، التشغيلية. ما هي المهارات التي تمتلكها أنت؟ ما هي التي تحتاج إلى شركاء أو موظفين لتغطيتها؟",[209,39867,39869],{"id":39868},"ب-اختيار-المؤسسين-المشاركين-أو-الشركاء","ب. اختيار المؤسسين المشاركين أو الشركاء",[12,39871,39872],{},"إذا كنت تبحث عن مؤسسين مشاركين:",[186,39874,39875,39881,39887],{},[189,39876,39877,39880],{},[174,39878,39879],{},"التكامل وليس التطابق:"," ابحث عن أشخاص تكمل مهاراتهم وخبراتهم مهاراتك، بدلاً من أن يكونوا نسخة منك.",[189,39882,39883,39886],{},[174,39884,39885],{},"الرؤية والقيم المشتركة:"," من الضروري أن يكون لديكم نفس الرؤية للمشروع والتزام مماثل.",[189,39888,39889,39892],{},[174,39890,39891],{},"اتفاقية واضحة:"," ناقشوا وتوافقوا كتابياً (عبر عقد شراكة) على توزيع الأسهم، الأدوار، صنع القرار، وكيفية حل الخلافات.",[209,39894,39896],{"id":39895},"ج-التوظيف-المبكر","ج. التوظيف المبكر",[12,39898,39899],{},"في المراحل الأولى، ركز على توظيف الأشخاص الموهوبين والمتحمسين الذين يؤمنون برؤيتك، حتى لو كانت الموارد محدودة. الثقافة التي تبنيها مبكراً ستشكل مستقبل شركتك.",[16,39901,39903],{"id":39902},"٤-تطوير-المنتج-أو-الخدمة-من-الفكرة-إلى-الواقع","٤. تطوير المنتج أو الخدمة: من الفكرة إلى الواقع",[209,39905,39907],{"id":39906},"أ-المنهجية-الرشيقة-agile-development","أ. المنهجية الرشيقة (Agile Development)",[12,39909,39910],{},"اعتمد نهج التطوير المتكرر (Iterative Development). أطلق، تعلم، وحسّن بسرعة بناءً على ملاحظات المستخدمين.",[209,39912,39914],{"id":39913},"ب-التركيز-على-تجربة-المستخدم-ux","ب. التركيز على تجربة المستخدم (UX)",[12,39916,39917],{},"المنتج الرائع لا يكفي إذا كان صعب الاستخدام. استثمر في تصميم واجهة مستخدم (UI) بديهية وتجربة مستخدم (UX) سلسة، خاصة إذا كان جمهورك يشمل مستخدمين بمستويات متفاوتة من الإلمام التقني.",[209,39919,39921],{"id":39920},"ج-الجودة-والموثوقية","ج. الجودة والموثوقية",[12,39923,39924],{},"تأكد من أن منتجك أو خدمتك تعمل بشكل موثوق وتفي بما تعد به. السمعة السيئة تنتشر بسرعة.",[16,39926,39928],{"id":39927},"٥-التمويل-تأمين-الموارد-المالية","٥. التمويل: تأمين الموارد المالية",[12,39930,39931],{},"تمويل المشاريع الناشئة هو أحد أكبر التحديات. في العالم العربي، هناك عدة خيارات:",[209,39933,39935],{"id":39934},"أ-التمويل-الذاتي-bootstrapping","أ. التمويل الذاتي (Bootstrapping)",[12,39937,39938],{},"استخدام أموالك الشخصية، أو أموال الأصدقاء والعائلة. يعطيك السيطرة الكاملة لكن يحمل مخاطر شخصية.",[209,39940,39942],{"id":39941},"ب-المستثمرون-الملائكة-angel-investors","ب. المستثمرون الملائكة (Angel Investors)",[12,39944,39945],{},"أفراد أثرياء يستثمرون في المراحل المبكرة للشركات الناشئة مقابل حصة من الأسهم. يمكنهم تقديم الإرشاد أيضاً.",[209,39947,39949],{"id":39948},"ج-شركات-رأس-المال-المغامر-venture-capital-vc","ج. شركات رأس المال المغامر (Venture Capital - VC)",[12,39951,39952],{},"شركات استثمارية تستثمر مبالغ أكبر في الشركات الناشئة ذات النمو السريع. عادة ما يكون لها متطلبات صارمة ويتطلب الحصول على تمويلها أداءً قوياً وإمكانية نمو هائلة.",[209,39954,39956],{"id":39955},"د-حاضنات-ومسرعات-الأعمال","د. حاضنات ومسرعات الأعمال",[12,39958,39959],{},"برامج تقدم التمويل الأولي، المساحة المكتبية، الإرشاد، والشبكات مقابل حصة صغيرة من الأسهم أو رسوم. أمثلة: Flat6Labs, 500 Startups MENA, Oasis500, وغيرها في مختلف الدول العربية.",[209,39961,39963],{"id":39962},"هـ-التمويل-الجماعي-crowdfunding","هـ. التمويل الجماعي (Crowdfunding)",[12,39965,39966],{},"منصات مثل Zoomaal (عربية) أو منصات عالمية مثل Kickstarter و Indiegogo يمكن أن تساعدك في جمع التمويل من الجمهور.",[209,39968,39970],{"id":39969},"و-المنح-والدعم-الحكومي","و. المنح والدعم الحكومي",[12,39972,39973],{},"بعض الحكومات العربية تقدم برامج دعم ومنحاً لرواد الأعمال والشركات الناشئة. ابحث عن الفرص المتاحة في بلدك.",[12,39975,39976,39979],{},[174,39977,39978],{},"نصيحة:"," حضّر عرضاً تقديمياً (Pitch Deck) احترافياً وواضحاً يلخص مشروعك، المشكلة، الحل، السوق، الفريق، التوقعات المالية، وطلب التمويل.",[16,39981,39983],{"id":39982},"٦-التسويق-وبناء-العلامة-التجارية-الوصول-إلى-جمهورك","٦. التسويق وبناء العلامة التجارية: الوصول إلى جمهورك",[12,39985,39986],{},"أفضل منتج لن يبيع نفسه. تحتاج إلى استراتيجية تسويقية فعالة.",[209,39988,39990],{"id":39989},"أ-فهم-جمهورك-المستهدف-بعمق","أ. فهم جمهورك المستهدف بعمق",[12,39992,39993],{},"من هم؟ أين يتواجدون (على الإنترنت وخارجها)؟ ما هي احتياجاتهم ونقاط ألمهم؟ كيف يتخذون قرارات الشراء؟",[209,39995,39997],{"id":39996},"ب-بناء-هوية-علامة-تجارية-قوية","ب. بناء هوية علامة تجارية قوية",[12,39999,40000],{},"اسم مميز، شعار احترافي، رسالة واضحة، ونبرة صوت (Tone of Voice) متسقة عبر جميع قنوات التواصل.",[209,40002,40004],{"id":40003},"ج-التسويق-الرقمي-digital-marketing","ج. التسويق الرقمي (Digital Marketing)",[186,40006,40007,40013,40019,40025,40031],{},[189,40008,40009,40012],{},[174,40010,40011],{},"وسائل التواصل الاجتماعي:"," منصات مثل Facebook, Instagram, Twitter (X), LinkedIn, TikTok شائعة في العالم العربي. اختر المنصات المناسبة لجمهورك وكن نشطاً عليها.",[189,40014,40015,40018],{},[174,40016,40017],{},"تسويق المحتوى (Content Marketing):"," أنشئ محتوى قيماً (مقالات، مدونات، فيديوهات، انفوجرافيك) يجذب جمهورك ويبني الثقة.",[189,40020,40021,40024],{},[174,40022,40023],{},"تحسين محركات البحث (SEO):"," حسّن موقعك الإلكتروني ليظهر في نتائج البحث الأولى على Google.",[189,40026,40027,40030],{},[174,40028,40029],{},"الإعلانات المدفوعة (Paid Advertising):"," Google Ads, Facebook Ads, Instagram Ads للوصول السريع إلى جمهور واسع.",[189,40032,40033,40036],{},[174,40034,40035],{},"التسويق عبر البريد الإلكتروني:"," بناء قائمة بريدية والتواصل المباشر مع العملاء المحتملين.",[209,40038,40040],{"id":40039},"د-التسويق-بالمحتوى-المؤثر-influencer-marketing","د. التسويق بالمحتوى المؤثر (Influencer Marketing)",[12,40042,40043],{},"التعاون مع المؤثرين ذوي الصلة بمجالك يمكن أن يزيد من الوعي بعلامتك التجارية بسرعة.",[209,40045,40047],{"id":40046},"هـ-العلاقات-العامة-pr","هـ. العلاقات العامة (PR)",[12,40049,40050],{},"التواصل مع وسائل الإعلام، المدونين التقنيين، والمنشورات ذات الصلة لتغطية مشروعك.",[16,40052,40054],{"id":40053},"٧-المبيعات-واكتساب-العملاء-تحويل-الاهتمام-إلى-إيرادات","٧. المبيعات واكتساب العملاء: تحويل الاهتمام إلى إيرادات",[209,40056,40058],{"id":40057},"أ-استراتيجية-المبيعات","أ. استراتيجية المبيعات",[12,40060,40061],{},"كيف ستبيع منتجك أو خدمتك؟ مباشرة للمستهلكين (B2C)، أم للشركات (B2B)؟ عبر الإنترنت، أم من خلال موزعين؟",[209,40063,40065],{"id":40064},"ب-عملية-المبيعات","ب. عملية المبيعات",[12,40067,40068],{},"حدد خطوات واضحة تقود العميل المحتمل من الاهتمام الأولي إلى إتمام الصفقة.",[209,40070,40072],{"id":40071},"ج-خدمة-العملاء-الممتازة","ج. خدمة العملاء الممتازة",[12,40074,40075],{},"العملاء السعداء هم أفضل مسوقين لك. استثمر في تقديم دعم ممتاز وحل مشاكل العملاء بسرعة.",[16,40077,40079],{"id":40078},"٨-القياس-والتحليل-اتخاذ-قرارات-مبنية-على-البيانات","٨. القياس والتحليل: اتخاذ قرارات مبنية على البيانات",[12,40081,40082],{},"راقب الأداء باستمرار وحلل البيانات لفهم ما ينجح وما يحتاج إلى تحسين.",[209,40084,40086],{"id":40085},"أ-مؤشرات-الأداء-الرئيسية-kpis","أ. مؤشرات الأداء الرئيسية (KPIs)",[12,40088,40089],{},"حدد KPIs المناسبة لمشروعك (مثل عدد المستخدمين، معدل التحويل، تكلفة اكتساب العميل CAC، قيمة العميل مدى الحياة LTV، معدل الاحتفاظ، الإيرادات).",[209,40091,40093],{"id":40092},"ب-أدوات-التحليل","ب. أدوات التحليل",[12,40095,40096],{},"استخدم أدوات مثل Google Analytics، Mixpanel، Hotjar لتتبع سلوك المستخدمين وأداء الموقع/التطبيق.",[16,40098,40100],{"id":40099},"٩-التكيف-والنمو-رحلة-مستمرة","٩. التكيف والنمو: رحلة مستمرة",[209,40102,40104],{"id":40103},"أ-الاستعداد-للمحور-pivot","أ. الاستعداد للمحور (Pivot)",[12,40106,40107],{},"إذا أظهرت البيانات والتجربة أن استراتيجيتك الحالية لا تعمل، كن مستعداً لتغيير الاتجاه (Pivot). العديد من الشركات الناجحة غيرت نموذج عملها في مراحل مبكرة.",[209,40109,40111],{"id":40110},"ب-التوسع-scaling","ب. التوسع (Scaling)",[12,40113,40114],{},"بمجرد أن تحقق ملاءمة المنتج للسوق (Product-Market Fit) وتحقق نمواً مستداماً، خطط للتوسع. قد يشمل ذلك التوسع الجغرافي، إضافة خطوط منتجات جديدة، أو زيادة الطاقة الإنتاجية.",[209,40116,40118],{"id":40117},"ج-التعلم-المستمر","ج. التعلم المستمر",[12,40120,40121],{},"مجال ريادة الأعمال يتطور بسرعة. استمر في التعلم، حضور الفعاليات، التواصل مع رواد أعمال آخرين، وقراءة الكتب والمقالات ذات الصلة.",[16,40123,40125],{"id":40124},"١٠-التحديات-الخاصة-بالعالم-العربي-وكيفية-التغلب-عليها","١٠. التحديات الخاصة بالعالم العربي وكيفية التغلب عليها",[186,40127,40128,40134,40140,40146],{},[189,40129,40130,40133],{},[174,40131,40132],{},"البيروقراطية:"," الإجراءات الحكومية قد تكون معقدة وطويلة في بعض البلدان. اطلب المساعدة من مستشارين محليين.",[189,40135,40136,40139],{},[174,40137,40138],{},"الوصول إلى التمويل:"," قد يكون التمويل أقل توفراً مقارنة بأسواق أخرى. كن مثابراً وفكر بشكل إبداعي في مصادر التمويل.",[189,40141,40142,40145],{},[174,40143,40144],{},"تباين السوق:"," السوق العربي ليس موحداً. كل بلد له خصائصه الثقافية، الاقتصادية، والتنظيمية. خصص استراتيجيتك لكل سوق.",[189,40147,40148,40151],{},[174,40149,40150],{},"المواهب:"," قد يكون العثور على المواهب التقنية والمتخصصة تحدياً في بعض المناطق. استخدم منصات العمل عن بُعد أو فكر في بناء فريق موزع.",[16,40153,2000],{"id":2000},[12,40155,40156],{},"بدء مشروع ناشئ ناجح في العالم العربي هو رحلة مليئة بالتحديات والفرص. يتطلب الأمر شغفاً، عزيمة، تخطيطاً استراتيجياً، وقدرة على التعلم والتكيف المستمر. لا يوجد طريق واحد مضمون للنجاح، ولكن باتباع هذه الخطوات، وفهم السياق المحلي، والبقاء ملتزماً برؤيتك، يمكنك زيادة فرص بناء مشروع مؤثر ومربح.",[12,40158,40159,40161],{},[174,40160,537],{}," الفشل جزء طبيعي من رحلة ريادة الأعمال. تعلم من أخطائك، ولا تستسلم، واستمر في المضي قدماً. المنطقة العربية مليئة بالإمكانيات، والعالم بحاجة إلى أفكارك المبتكرة. ابدأ اليوم، واجعل رؤيتك حقيقة!",{"title":42,"searchDepth":43,"depth":43,"links":40163},[40164,40169,40174,40179,40184,40192,40199,40204,40208,40213,40214],{"id":39688,"depth":46,"text":39689,"children":40165},[40166,40167,40168],{"id":39695,"depth":43,"text":39696},{"id":39719,"depth":43,"text":39720},{"id":39746,"depth":43,"text":39747},{"id":39753,"depth":46,"text":39754,"children":40170},[40171,40172,40173],{"id":39760,"depth":43,"text":39761},{"id":39820,"depth":43,"text":39821},{"id":39827,"depth":43,"text":39828},{"id":39854,"depth":46,"text":39855,"children":40175},[40176,40177,40178],{"id":39861,"depth":43,"text":39862},{"id":39868,"depth":43,"text":39869},{"id":39895,"depth":43,"text":39896},{"id":39902,"depth":46,"text":39903,"children":40180},[40181,40182,40183],{"id":39906,"depth":43,"text":39907},{"id":39913,"depth":43,"text":39914},{"id":39920,"depth":43,"text":39921},{"id":39927,"depth":46,"text":39928,"children":40185},[40186,40187,40188,40189,40190,40191],{"id":39934,"depth":43,"text":39935},{"id":39941,"depth":43,"text":39942},{"id":39948,"depth":43,"text":39949},{"id":39955,"depth":43,"text":39956},{"id":39962,"depth":43,"text":39963},{"id":39969,"depth":43,"text":39970},{"id":39982,"depth":46,"text":39983,"children":40193},[40194,40195,40196,40197,40198],{"id":39989,"depth":43,"text":39990},{"id":39996,"depth":43,"text":39997},{"id":40003,"depth":43,"text":40004},{"id":40039,"depth":43,"text":40040},{"id":40046,"depth":43,"text":40047},{"id":40053,"depth":46,"text":40054,"children":40200},[40201,40202,40203],{"id":40057,"depth":43,"text":40058},{"id":40064,"depth":43,"text":40065},{"id":40071,"depth":43,"text":40072},{"id":40078,"depth":46,"text":40079,"children":40205},[40206,40207],{"id":40085,"depth":43,"text":40086},{"id":40092,"depth":43,"text":40093},{"id":40099,"depth":46,"text":40100,"children":40209},[40210,40211,40212],{"id":40103,"depth":43,"text":40104},{"id":40110,"depth":43,"text":40111},{"id":40117,"depth":43,"text":40118},{"id":40124,"depth":46,"text":40125},{"id":2000,"depth":46,"text":2000},"دليل عملي متكامل لرواد الأعمال العرب يغطي كل مراحل بناء شركة ناشئة ناجحة في المنطقة العربية، من التخطيط والتمويل إلى التسويق والنمو، مع نصائح مخصصة للسوق المحلي.","https://images.unsplash.com/photo-1519389950473-47ba0277781c?q=80&w=1200&auto=format&fit=crop",{"excerpt":40218},{"type":9,"value":40219},[40220],[12,40221,39685],{},"/kyf-tbda-mshrwak-alnashe-fy-alaalm-alarby",{"title":39680,"description":40215},"كيف-تبدأ-مشروعك-الناشئ-في-العالم-العربي",[3658,8209,40226,10485,40227,40228,15722,15745,2043],"المشاريع-التقنية","استراتيجية-الأعمال","السوق-العربي","SCOCpC-RA-JoZUfMHryGRu4f9RssAVPt7b-pPGiV8sc",{"id":40231,"title":40232,"author":7,"body":40233,"category":2371,"description":40615,"extension":52,"image":40616,"isDraft":55,"isFeatured":55,"locale":56,"meta":40617,"navigation":54,"path":40618,"publishedAt":40619,"readingTime":2551,"seo":40620,"stem":40621,"tags":40622,"updatedAt":40623,"__hash__":40624},"articles_ar/كيف-تصبح-مدير-منتجات-منهجيات-دورات.md","كيف تصبح مديراً للمنتجات: المنهجيات والدورات التدريبية",{"type":9,"value":40234,"toc":40582},[40235,40239,40242,40246,40250,40261,40265,40276,40280,40291,40295,40306,40310,40323,40327,40331,40342,40346,40357,40361,40372,40376,40387,40391,40395,40415,40419,40437,40441,40461,40465,40469,40480,40484,40495,40499,40510,40514,40518,40529,40533,40544,40548,40559,40563,40574,40576,40579],[16,40236,40238],{"id":40237},"ما-هي-إدارة-المنتجات","ما هي إدارة المنتجات؟",[12,40240,40241],{},"إدارة المنتجات هي عملية تطوير وإطلاق منتج في السوق. يشمل ذلك فهم احتياجات العملاء، تحديد أولويات الميزات، والعمل مع الفرق التقنية والتسويقية لإنشاء منتجات ناجحة.",[16,40243,40245],{"id":40244},"المهارات-الأساسية-لمدير-المنتجات","المهارات الأساسية لمدير المنتجات",[209,40247,40249],{"id":40248},"_1-فهم-السوق-والعملاء","1. فهم السوق والعملاء",[186,40251,40252,40255,40258],{},[189,40253,40254],{},"أبحاث السوق",[189,40256,40257],{},"مقابلات المستخدمين",[189,40259,40260],{},"تحليل المنافسة",[209,40262,40264],{"id":40263},"_2-التخطيط-الاستراتيجي","2. التخطيط الاستراتيجي",[186,40266,40267,40270,40273],{},[189,40268,40269],{},"تحديد رؤية المنتج",[189,40271,40272],{},"وضع خريطة طريق",[189,40274,40275],{},"تحديد مؤشرات الأداء الرئيسية (KPIs)",[209,40277,40279],{"id":40278},"_3-إدارة-المنتج","3. إدارة المنتج",[186,40281,40282,40285,40288],{},[189,40283,40284],{},"إدارة المتطلبات",[189,40286,40287],{},"تحديد الأولويات",[189,40289,40290],{},"إدارة الإصدارات",[209,40292,40294],{"id":40293},"_4-المهارات-التقنية","4. المهارات التقنية",[186,40296,40297,40300,40303],{},[189,40298,40299],{},"فهم أساسيات التطوير",[189,40301,40302],{},"معرفة بأدوات التطوير",[189,40304,40305],{},"فهم دورة حياة البرمجيات",[209,40307,40309],{"id":40308},"_5-المهارات-الناعمة","5. المهارات الناعمة",[186,40311,40312,40314,40317,40320],{},[189,40313,15804],{},[189,40315,40316],{},"حل المشكلات",[189,40318,40319],{},"اتخاذ القرارات",[189,40321,40322],{},"إدارة الفرق",[16,40324,40326],{"id":40325},"المنهجيات-الشائعة-في-إدارة-المنتجات","المنهجيات الشائعة في إدارة المنتجات",[209,40328,40330],{"id":40329},"_1-agile","1. Agile",[186,40332,40333,40336,40339],{},[189,40334,40335],{},"تطوير تكراري",[189,40337,40338],{},"تسليم سريع للقيمة",[189,40340,40341],{},"تعاون مستمر مع الفرق",[209,40343,40345],{"id":40344},"_2-scrum","2. Scrum",[186,40347,40348,40351,40354],{},[189,40349,40350],{},"دورات زمنية ثابتة (Sprints)",[189,40352,40353],{},"اجتماعات يومية",[189,40355,40356],{},"مراجعات منتظمة",[209,40358,40360],{"id":40359},"_3-kanban","3. Kanban",[186,40362,40363,40366,40369],{},[189,40364,40365],{},"تدفق عمل مرئي",[189,40367,40368],{},"تحديد الحدود (WIP Limits)",[189,40370,40371],{},"تحسين مستمر للعملية",[209,40373,40375],{"id":40374},"_4-lean-startup","4. Lean Startup",[186,40377,40378,40381,40384],{},[189,40379,40380],{},"بناء-قياس-تعلم",[189,40382,40383],{},"التحقق من الافتراضات",[189,40385,40386],{},"تقليل الهدر",[16,40388,40390],{"id":40389},"الدورات-التدريبية-الموصى-بها","الدورات التدريبية الموصى بها",[209,40392,40394],{"id":40393},"دورات-أساسية","دورات أساسية",[186,40396,40397,40403,40409],{},[189,40398,40399,40402],{},[174,40400,40401],{},"Google Product Management Certificate"," - دورة مجانية على Coursera",[189,40404,40405,40408],{},[174,40406,40407],{},"Product Management Fundamentals"," - على Udacity",[189,40410,40411,40414],{},[174,40412,40413],{},"Become a Product Manager"," - على Udemy",[209,40416,40418],{"id":40417},"دورات-متقدمة","دورات متقدمة",[186,40420,40421,40426,40432],{},[189,40422,40423,40408],{},[174,40424,40425],{},"Product Management Nano-Degree",[189,40427,40428,40431],{},[174,40429,40430],{},"Reforge Product Management Program"," - برنامج شامل",[189,40433,40434],{},[174,40435,40436],{},"Pragmatic Institute Product Management Training",[209,40438,40440],{"id":40439},"دورات-متخصصة","دورات متخصصة",[186,40442,40443,40449,40455],{},[189,40444,40445,40448],{},[174,40446,40447],{},"AI Product Management"," - للمنتجات الذكية",[189,40450,40451,40454],{},[174,40452,40453],{},"SaaS Product Management"," - للبرمجيات كخدمة",[189,40456,40457,40460],{},[174,40458,40459],{},"Mobile Product Management"," - للتطبيقات المحمولة",[16,40462,40464],{"id":40463},"مسارات-التعلم","مسارات التعلم",[209,40466,40468],{"id":40467},"المسار-الأساسي-3-6-أشهر","المسار الأساسي (3-6 أشهر)",[1049,40470,40471,40474,40477],{},[189,40472,40473],{},"أساسيات إدارة المنتجات",[189,40475,40476],{},"أدوات ومنهجيات",[189,40478,40479],{},"مشاريع عملية",[209,40481,40483],{"id":40482},"المسار-المتقدم-6-12-شهر","المسار المتقدم (6-12 شهر)",[1049,40485,40486,40489,40492],{},[189,40487,40488],{},"تخصص في مجال محدد",[189,40490,40491],{},"بناء محفظة أعمال",[189,40493,40494],{},"التحضير للمقابلات",[209,40496,40498],{"id":40497},"المسار-المهني","المسار المهني",[1049,40500,40501,40504,40507],{},[189,40502,40503],{},"بدء كمطور أو مصمم",[189,40505,40506],{},"الانتقال لدور إدارة المنتجات",[189,40508,40509],{},"الحصول على شهادات مهنية",[16,40511,40513],{"id":40512},"نصائح-للنجاح","نصائح للنجاح",[209,40515,40517],{"id":40516},"_1-بناء-الخبرة-العملية","1. بناء الخبرة العملية",[186,40519,40520,40523,40526],{},[189,40521,40522],{},"العمل على مشاريع شخصية",[189,40524,40525],{},"المشاركة في مجتمعات المنتج",[189,40527,40528],{},"التطوع لإدارة منتجات مفتوحة المصدر",[209,40530,40532],{"id":40531},"_2-تطوير-الشبكة-المهنية","2. تطوير الشبكة المهنية",[186,40534,40535,40538,40541],{},[189,40536,40537],{},"حضور المؤتمرات",[189,40539,40540],{},"الانضمام لمجموعات LinkedIn",[189,40542,40543],{},"التواصل مع مديري المنتجات",[209,40545,40547],{"id":40546},"_3-التعلم-المستمر","3. التعلم المستمر",[186,40549,40550,40553,40556],{},[189,40551,40552],{},"متابعة اتجاهات الصناعة",[189,40554,40555],{},"قراءة الكتب والمقالات",[189,40557,40558],{},"حضور الدورات التدريبية",[209,40560,40562],{"id":40561},"_4-تطوير-المهارات-الناعمة","4. تطوير المهارات الناعمة",[186,40564,40565,40568,40571],{},[189,40566,40567],{},"تحسين مهارات التواصل",[189,40569,40570],{},"تعلم التفاوض",[189,40572,40573],{},"تطوير التفكير النقدي",[16,40575,8049],{"id":8049},[12,40577,40578],{},"يصبح مدير المنتجات مهنة جذابة تتطلب مزيجاً من المهارات التقنية والأعمال والإنسانية. مع النمو السريع للاقتصاد الرقمي، يزداد الطلب على مديري المنتجات الماهرين.",[12,40580,40581],{},"ابدأ رحلتك اليوم من خلال تعلم الأساسيات وبناء الخبرة العملية. مع الالتزام والتعلم المستمر، يمكنك بناء مسيرة مهنية ناجحة في إدارة المنتجات.",{"title":42,"searchDepth":43,"depth":43,"links":40583},[40584,40585,40592,40598,40603,40608,40614],{"id":40237,"depth":46,"text":40238},{"id":40244,"depth":46,"text":40245,"children":40586},[40587,40588,40589,40590,40591],{"id":40248,"depth":43,"text":40249},{"id":40263,"depth":43,"text":40264},{"id":40278,"depth":43,"text":40279},{"id":40293,"depth":43,"text":40294},{"id":40308,"depth":43,"text":40309},{"id":40325,"depth":46,"text":40326,"children":40593},[40594,40595,40596,40597],{"id":40329,"depth":43,"text":40330},{"id":40344,"depth":43,"text":40345},{"id":40359,"depth":43,"text":40360},{"id":40374,"depth":43,"text":40375},{"id":40389,"depth":46,"text":40390,"children":40599},[40600,40601,40602],{"id":40393,"depth":43,"text":40394},{"id":40417,"depth":43,"text":40418},{"id":40439,"depth":43,"text":40440},{"id":40463,"depth":46,"text":40464,"children":40604},[40605,40606,40607],{"id":40467,"depth":43,"text":40468},{"id":40482,"depth":43,"text":40483},{"id":40497,"depth":43,"text":40498},{"id":40512,"depth":46,"text":40513,"children":40609},[40610,40611,40612,40613],{"id":40516,"depth":43,"text":40517},{"id":40531,"depth":43,"text":40532},{"id":40546,"depth":43,"text":40547},{"id":40561,"depth":43,"text":40562},{"id":8049,"depth":46,"text":8049},"إدارة المنتجات هي عملية تطوير وإطلاق منتج في السوق.","https://images.unsplash.com/photo-1542626991-cbc4e32524cc?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=MnwxMTc3M3wwfDF8c2VhcmNofDJ8fG1hbmFnZW1lbnR8ZW58MHx8fHwxNjc0ODYwODMx&ixlib=rb-4.0.3&q=80&w=2000",{},"/kyf-tsbh-mdyr-mntjat-mnhjyat-dwrat","2023-01-27T23:07:02.000Z",{"title":40232,"description":40615},"كيف-تصبح-مدير-منتجات-منهجيات-دورات",[28396,1471,2371,3628],"2023-01-27T23:07:18.000Z","yYTu5ihIu0aPoy5iaOMN5t81Z1eArUNsk5laP3QPpHo",{"id":40626,"title":40627,"author":7,"body":40628,"category":69,"description":8138,"extension":52,"image":40646,"isDraft":54,"isFeatured":55,"locale":56,"meta":40647,"navigation":54,"path":40652,"publishedAt":40653,"readingTime":2818,"seo":40654,"stem":40655,"tags":40656,"updatedAt":40653,"__hash__":40658},"articles_ar/كيفية-إجراء-بحوث-المستخدمين-في-الثقافة-العربية.md","كيفية إجراء بحوث المستخدمين في الثقافة العربية",{"type":9,"value":40629,"toc":40642},[40630,40633,40635,40638,40640],[12,40631,40632],{},"فهم المستخدمين العرب يتطلب نهجاً خاصاً يأخذ في الاعتبار الخصوصيات الثقافية.",[16,40634,28410],{"id":28410},[12,40636,40637],{},"بحوث المستخدمين هي حجر الأساس لبناء منتجات ناجحة.",[16,40639,2102],{"id":2101},[12,40641,2105],{},{"title":42,"searchDepth":43,"depth":43,"links":40643},[40644,40645],{"id":28410,"depth":46,"text":28410},{"id":2101,"depth":46,"text":2102},"https://images.unsplash.com/photo-1552664730-d307ca884978?q=80&w=1200&auto=format&fit=crop",{"excerpt":40648},{"type":9,"value":40649},[40650],[12,40651,40632],{},"/kyfyh-ijraa-bhwth-almstkhdmyn-fy-althqafh-alarbyh","2025-01-14",{"title":40627,"description":8138},"كيفية-إجراء-بحوث-المستخدمين-في-الثقافة-العربية",[69,3658,40657,22823],"بحوث-المستخدمين","xuKGG4SyK7V4g-ja278YRhmBMjY3BdZmyXhz2hQUQxc",{"id":40660,"title":40661,"author":7,"body":40662,"category":2123,"description":2110,"extension":52,"image":40674,"isDraft":54,"isFeatured":55,"locale":56,"meta":40675,"navigation":54,"path":40680,"publishedAt":3683,"readingTime":2818,"seo":40681,"stem":40682,"tags":40683,"updatedAt":3683,"__hash__":40686},"articles_ar/كيفية-إجراء-مراجعة-الكود-الفعالة.md","كيفية إجراء مراجعة الكود الفعالة",{"type":9,"value":40663,"toc":40671},[40664,40667,40669],[12,40665,40666],{},"مراجعة الكود الفعالة تحسّن جودة المشروع وتطوّر مهارات الفريق.",[16,40668,2102],{"id":2101},[12,40670,2105],{},{"title":42,"searchDepth":43,"depth":43,"links":40672},[40673],{"id":2101,"depth":46,"text":2102},"https://images.unsplash.com/photo-1516321497487-e288fb19713f?q=80&w=1200&auto=format&fit=crop",{"excerpt":40676},{"type":9,"value":40677},[40678],[12,40679,40666],{},"/kyfyh-ijraa-mrajah-alkwd-alfaalh",{"title":40661,"description":2110},"كيفية-إجراء-مراجعة-الكود-الفعالة",[2123,40684,3688,40685],"Code-Review","الفريق","FAbJc5BdKXqa4qte1lVUNX9F7qsLD-dYDhk4ECI71eM",{"id":40688,"title":40689,"author":7,"body":40690,"category":3658,"description":8198,"extension":52,"image":10417,"isDraft":54,"isFeatured":55,"locale":56,"meta":40702,"navigation":54,"path":40707,"publishedAt":20588,"readingTime":1467,"seo":40708,"stem":40709,"tags":40710,"updatedAt":20588,"__hash__":40712},"articles_ar/كيفية-إدارة-النقد-في-الشركات-الناشئة.md","كيفية إدارة النقد في الشركات الناشئة",{"type":9,"value":40691,"toc":40699},[40692,40695,40697],[12,40693,40694],{},"إدارة النقد الفعالة تعني الفرق بين النجاح والفشل للشركات الناشئة.",[16,40696,2102],{"id":2101},[12,40698,2105],{},{"title":42,"searchDepth":43,"depth":43,"links":40700},[40701],{"id":2101,"depth":46,"text":2102},{"excerpt":40703},{"type":9,"value":40704},[40705],[12,40706,40694],{},"/kyfyh-idarh-alnqd-fy-alshrkat-alnasheh",{"title":40689,"description":8198},"كيفية-إدارة-النقد-في-الشركات-الناشئة",[3658,8209,10485,40711],"الإدارة-المالية","tappb-5tJQMU8ElntIcs9ifr1Z2Sa_kVMLzcI3xDImI",{"id":40714,"title":40715,"author":7,"body":40716,"category":69,"description":8138,"extension":52,"image":40728,"isDraft":54,"isFeatured":55,"locale":56,"meta":40729,"navigation":54,"path":40734,"publishedAt":10510,"readingTime":2574,"seo":40735,"stem":40736,"tags":40737,"updatedAt":10510,"__hash__":40738},"articles_ar/كيفية-إدارة-دورة-حياة-المنتج-بفعالية.md","كيفية إدارة دورة حياة المنتج بفعالية",{"type":9,"value":40717,"toc":40725},[40718,40721,40723],[12,40719,40720],{},"إدارة دورة حياة المنتج من التصميم إلى التقاعد تتطلب تخطيطاً استراتيجياً.",[16,40722,2102],{"id":2101},[12,40724,2105],{},{"title":42,"searchDepth":43,"depth":43,"links":40726},[40727],{"id":2101,"depth":46,"text":2102},"https://images.unsplash.com/photo-1454165205744-3b78555e5572?q=80&w=1200&auto=format&fit=crop",{"excerpt":40730},{"type":9,"value":40731},[40732],[12,40733,40720],{},"/kyfyh-idarh-dwrh-hyah-almntj-bfaalyh",{"title":40715,"description":8138},"كيفية-إدارة-دورة-حياة-المنتج-بفعالية",[69,8137,14730],"MGVbvnl_0NVjFDDMWlo_-JbJ5mPdhRwHZmiC6Qe1jgs",{"id":40740,"title":40741,"author":7,"body":40742,"category":8137,"description":8138,"extension":52,"image":40216,"isDraft":54,"isFeatured":55,"locale":56,"meta":40754,"navigation":54,"path":40759,"publishedAt":20560,"readingTime":2842,"seo":40760,"stem":40761,"tags":40762,"updatedAt":20560,"__hash__":40764},"articles_ar/كيفية-إطلاق-منتج-جديد-في-السوق-العربي.md","كيفية إطلاق منتج جديد في السوق العربي",{"type":9,"value":40743,"toc":40751},[40744,40747,40749],[12,40745,40746],{},"إطلاق منتج جديد في السوق العربي يتطلب فهماً عميقاً للسوق المحلي.",[16,40748,2102],{"id":2101},[12,40750,2105],{},{"title":42,"searchDepth":43,"depth":43,"links":40752},[40753],{"id":2101,"depth":46,"text":2102},{"excerpt":40755},{"type":9,"value":40756},[40757],[12,40758,40746],{},"/kyfyh-itlaq-mntj-jdyd-fy-alswq-alarby",{"title":40741,"description":8138},"كيفية-إطلاق-منتج-جديد-في-السوق-العربي",[69,8137,40763,10399],"الإطلاق","Apv0pS97oQva6RrJHA2S_MUnODgPx1rIeDa2WjJuJCQ",{"id":40766,"title":40767,"author":7,"body":40768,"category":2123,"description":2110,"extension":52,"image":40780,"isDraft":54,"isFeatured":55,"locale":56,"meta":40781,"navigation":54,"path":40786,"publishedAt":3712,"readingTime":2574,"seo":40787,"stem":40788,"tags":40789,"updatedAt":3712,"__hash__":40791},"articles_ar/كيفية-إعداد-بنية-تحتية-قابلة-للتطوير.md","كيفية إعداد بنية تحتية قابلة للتطوير",{"type":9,"value":40769,"toc":40777},[40770,40773,40775],[12,40771,40772],{},"البنية التحتية القابلة للتطوير تضمن نمو تطبيقك دون مشاكل.",[16,40774,2102],{"id":2101},[12,40776,2105],{},{"title":42,"searchDepth":43,"depth":43,"links":40778},[40779],{"id":2101,"depth":46,"text":2102},"https://images.unsplash.com/photo-1558494949-ef010cbdcc31?q=80&w=1200&auto=format&fit=crop",{"excerpt":40782},{"type":9,"value":40783},[40784],[12,40785,40772],{},"/kyfyh-iadad-bnyh-thtyh-qablh-llttwyr",{"title":40767,"description":2110},"كيفية-إعداد-بنية-تحتية-قابلة-للتطوير",[2123,3659,3657,40790],"Cloud","2hgxCpjvS9ratXQi-go1L-LfbbKg6PHh6EuejE-KoyQ",{"id":40793,"title":40794,"author":7,"body":40795,"category":2123,"description":2110,"extension":52,"image":40674,"isDraft":54,"isFeatured":55,"locale":56,"meta":40807,"navigation":54,"path":40812,"publishedAt":8175,"readingTime":2119,"seo":40813,"stem":40814,"tags":40815,"updatedAt":8175,"__hash__":40818},"articles_ar/كيفية-اختبار-التطبيقات-بشكل-شامل.md","كيفية اختبار التطبيقات بشكل شامل",{"type":9,"value":40796,"toc":40804},[40797,40800,40802],[12,40798,40799],{},"الاختبار الشامل يضمن جودة التطبيق ويقلل من الأخطاء البرمجية.",[16,40801,2102],{"id":2101},[12,40803,2105],{},{"title":42,"searchDepth":43,"depth":43,"links":40805},[40806],{"id":2101,"depth":46,"text":2102},{"excerpt":40808},{"type":9,"value":40809},[40810],[12,40811,40799],{},"/kyfyh-akhtbar-alttbyqat-bshkl-shaml",{"title":40794,"description":2110},"كيفية-اختبار-التطبيقات-بشكل-شامل",[2123,40816,40817,3688],"Testing","QA","BKPYqG48CbVkTiIerp0C3G8CehluilkdJZ4mt_fcYCY",{"id":40820,"title":40821,"author":7,"body":40822,"category":2123,"description":2110,"extension":52,"image":40834,"isDraft":54,"isFeatured":55,"locale":56,"meta":40835,"navigation":54,"path":40840,"publishedAt":15772,"readingTime":2818,"seo":40841,"stem":40842,"tags":40843,"updatedAt":15772,"__hash__":40845},"articles_ar/كيفية-اختيار-التقنيات-المناسبة-لمشروعك-الناشئ.md","كيفية اختيار التقنيات المناسبة لمشروعك الناشئ",{"type":9,"value":40823,"toc":40831},[40824,40827,40829],[12,40825,40826],{},"اختيار التقنيات المناسبة في البداية يوفر عليك الكثير من المشاكل لاحقاً.",[16,40828,2102],{"id":2101},[12,40830,2105],{},{"title":42,"searchDepth":43,"depth":43,"links":40832},[40833],{"id":2101,"depth":46,"text":2102},"https://images.unsplash.com/photo-1498050108023-c5249f4df085?q=80&w=1200&auto=format&fit=crop",{"excerpt":40836},{"type":9,"value":40837},[40838],[12,40839,40826],{},"/kyfyh-akhtyar-altqnyat-almnasbh-lmshrwak-alnashe",{"title":40821,"description":2110},"كيفية-اختيار-التقنيات-المناسبة-لمشروعك-الناشئ",[2123,3658,40844,2125],"التقنية","6S4wCZtEwiV3GPWXeJo-WLYDA7eEcu3QluSpBjRjg44",{"id":40847,"title":40848,"author":7,"body":40849,"category":3658,"description":8198,"extension":52,"image":15793,"isDraft":54,"isFeatured":55,"locale":56,"meta":40861,"navigation":54,"path":40866,"publishedAt":26878,"readingTime":2574,"seo":40867,"stem":40868,"tags":40869,"updatedAt":26878,"__hash__":40871},"articles_ar/كيفية-اختيار-الشريك-المؤسس-المناسب.md","كيفية اختيار الشريك المؤسس المناسب",{"type":9,"value":40850,"toc":40858},[40851,40854,40856],[12,40852,40853],{},"اختيار الشريك المؤسس المناسب قد يكون أهم قرار تتخذه في رحلتك الريادية.",[16,40855,2102],{"id":2101},[12,40857,2105],{},{"title":42,"searchDepth":43,"depth":43,"links":40859},[40860],{"id":2101,"depth":46,"text":2102},{"excerpt":40862},{"type":9,"value":40863},[40864],[12,40865,40853],{},"/kyfyh-akhtyar-alshryk-almuss-almnasb",{"title":40848,"description":8198},"كيفية-اختيار-الشريك-المؤسس-المناسب",[3658,8209,40870,40685],"الشراكة","6Xogf7UvDnuFIJ7uL-vti5OyPuFYw8Rnnq0-8OFTaRw",{"id":40873,"title":40874,"author":7,"body":40875,"category":15722,"description":42223,"extension":52,"image":42224,"isDraft":55,"isFeatured":54,"locale":56,"meta":42225,"navigation":54,"path":42230,"publishedAt":2034,"readingTime":3038,"seo":42231,"stem":42232,"tags":42233,"updatedAt":2034,"__hash__":42238},"articles_ar/كيفية-استخدام-أدوات-الذكاء-الاصطناعي-لتسريع-شركتك-الناشئة-في-2025.md","كيفية استخدام أدوات الذكاء الاصطناعي لتسريع شركتك الناشئة في 2025: دليل شامل",{"type":9,"value":40876,"toc":42176},[40877,40880,40884,40887,40919,40923,40926,40930,40935,40965,40971,40976,40980,40985,40998,41003,41015,41020,41033,41038,41051,41055,41060,41088,41093,41118,41122,41125,41129,41134,41160,41165,41179,41183,41188,41214,41219,41233,41237,41242,41269,41275,41289,41293,41296,41300,41305,41328,41333,41347,41353,41357,41362,41387,41392,41404,41408,41413,41438,41443,41469,41473,41476,41480,41485,41510,41515,41529,41533,41538,41564,41569,41583,41587,41592,41618,41623,41637,41641,41646,41672,41676,41693,41697,41702,41728,41732,41746,41750,41755,41781,41785,41799,41803,41808,41834,41839,41853,41857,41861,41875,41879,41893,41897,41911,41915,41929,41933,41937,41948,41952,41966,41970,41984,41988,42002,42006,42020,42024,42028,42054,42058,42083,42087,42125,42129,42132,42163,42165,42168,42173],[12,40878,40879],{},"الذكاء الاصطناعي (AI) لم يعد كلمة طنانة مستقبلية؛ إنه قوة تحويلية تغير كيفية عمل الشركات الناشئة، الابتكار، والتوسع. في 2025، يمكن أن يكون الاستفادة الفعالة من أدوات الذكاء الاصطناعي التمييز الحاسم بين شركة ناشئة تكافح وقائد سوق مزدهر. يستكشف هذا الدليل الشامل طرقاً عملية لدمج الذكاء الاصطناعي في DNA شركتك الناشئة للنمو المعجل، القرارات المدفوعة بالبيانات، والعروض المنتجية المتفوقة.",[16,40881,40883],{"id":40882},"لماذا-يهم-الذكاء-الاصطناعي-للشركات-الناشئة-الآن-أكثر-من-أي-وقت-مضى","لماذا يهم الذكاء الاصطناعي للشركات الناشئة الآن أكثر من أي وقت مضى",[12,40885,40886],{},"تغير مشهد الشركات الناشئة بشكل أساسي. مع ديمقراطية الذكاء الاصطناعي، يمكن حتى للشركات الناشئة ذات التمويل الذاتي الوصول إلى أدوات كانت متاحة سابقاً فقط للمؤسسات ذات التمويل الجيد. تشمل المزايا الرئيسية:",[186,40888,40889,40895,40901,40907,40913],{},[189,40890,40891,40894],{},[174,40892,40893],{},"الكفاءة في التكلفة:"," أتمتة المهام التي ستتطلب توظيف أعضاء فريق إضافيين",[189,40896,40897,40900],{},[174,40898,40899],{},"السرعة إلى السوق:"," تسريع تطوير المنتج ودورات التكرار",[189,40902,40903,40906],{},[174,40904,40905],{},"الرؤى المدفوعة بالبيانات:"," اتخاذ قرارات مستنيرة بناءً على التحليلات في الوقت الفعلي",[189,40908,40909,40912],{},[174,40910,40911],{},"الميزة التنافسية:"," تقديم تجارب مخصصة على نطاق واسع",[189,40914,40915,40918],{},[174,40916,40917],{},"العمليات على مدار 24/7:"," تقديم خدمة على مدار الساعة دون تدخل بشري",[16,40920,40922],{"id":40921},"_1-أتمتة-العمل-الروتيني-وزيادة-الكفاءة","1. أتمتة العمل الروتيني وزيادة الكفاءة",[12,40924,40925],{},"يمكن للمهام المتكررة والمستهلكة للوقت أن تستنزف الموارد القيمة من فريقك الأساسي. يمكن للأتمتة المدعومة بالذكاء الاصطناعي تولي هذه المسؤوليات، مما يحرر مواهبك للتركيز على المبادرات الإستراتيجية.",[209,40927,40929],{"id":40928},"أ-دعم-العملاء-والمشاركة","أ. دعم العملاء والمشاركة",[12,40931,40932],{},[174,40933,40934],{},"روبوتات الدردشة والمساعدين الافتراضيين للذكاء الاصطناعي:",[186,40936,40937,40942],{},[189,40938,40939,40941],{},[174,40940,28687],{}," Intercom، Drift، ChatBot، Dialogflow، Rasa (مفتوح المصدر)",[189,40943,40944,40947,40948],{},[174,40945,40946],{},"التطبيق:"," نشر الذكاء الاصطناعي المحادثي الذي يمكنه:\n",[186,40949,40950,40953,40956,40959,40962],{},[189,40951,40952],{},"الإجابة على الأسئلة الشائعة فوراً",[189,40954,40955],{},"تأهيل العملاء المحتملين قبل وصولهم إلى فريق المبيعات",[189,40957,40958],{},"تقديم توصيات المنتجات",[189,40960,40961],{},"جدولة الاجتماعات والعروض التوضيحية",[189,40963,40964],{},"تصعيد المشكلات المعقدة إلى الوكلاء البشريين",[12,40966,40967,40970],{},[174,40968,40969],{},"التأثير في العالم الحقيقي:"," تبلغ الشركات الناشئة عن انخفاض بنسبة 40-60% في حجم تذاكر الدعم وزيادة بنسبة 70% في أوقات الاستجابة باستخدام روبوتات الدردشة المدعومة بالذكاء الاصطناعي.",[12,40972,40973,40975],{},[174,40974,27002],{}," درب روبوت الدردشة الخاص بك على المحادثات الفعلية للعملاء وحدثه بانتظام بناءً على الاستعلامات الجديدة.",[209,40977,40979],{"id":40978},"ب-المهام-الإدارية-والتشغيلية","ب. المهام الإدارية والتشغيلية",[12,40981,40982],{},[174,40983,40984],{},"الجدولة الذكية:",[186,40986,40987,40992],{},[189,40988,40989,40991],{},[174,40990,28687],{}," Calendly AI، Motion، Reclaim.ai",[189,40993,40994,40997],{},[174,40995,40996],{},"حالات الاستخدام:"," العثور تلقائياً على أوقات الاجتماعات المثالية، إدارة تقاويم الفريق، حظر وقت التركيز",[12,40999,41000],{},[174,41001,41002],{},"إدارة البريد الإلكتروني:",[186,41004,41005,41010],{},[189,41006,41007,41009],{},[174,41008,28687],{}," SaneBox، Superhuman، Shortwave",[189,41011,41012,41014],{},[174,41013,15261],{}," تصنيف البريد الإلكتروني تلقائياً، اقتراح الردود، تحديد الرسائل ذات الأولوية",[12,41016,41017],{},[174,41018,41019],{},"معالجة المستندات:",[186,41021,41022,41027],{},[189,41023,41024,41026],{},[174,41025,28687],{}," Nanonets، Rossum، Abbyy",[189,41028,41029,41032],{},[174,41030,41031],{},"التطبيقات:"," استخراج البيانات من الفواتير، الإيصالات، العقود، والنماذج بدقة 95%+",[12,41034,41035],{},[174,41036,41037],{},"ذكاء الاجتماعات:",[186,41039,41040,41045],{},[189,41041,41042,41044],{},[174,41043,28687],{}," Otter.ai، Fireflies.ai، Grain",[189,41046,41047,41050],{},[174,41048,41049],{},"القيمة:"," النسخ التلقائي، استخراج عناصر العمل، ملخصات الاجتماعات",[209,41052,41054],{"id":41053},"ج-إنشاء-المحتوى-وإدارته","ج. إنشاء المحتوى وإدارته",[12,41056,41057],{},[174,41058,41059],{},"مساعدة الكتابة:",[186,41061,41062,41067],{},[189,41063,41064,41066],{},[174,41065,28687],{}," Jasper، Copy.ai، Writesonic، ChatGPT",[189,41068,41069,41071],{},[174,41070,40996],{},[186,41072,41073,41076,41079,41082,41085],{},[189,41074,41075],{},"منشورات المدونة والمقالات",[189,41077,41078],{},"محتوى وسائل التواصل الاجتماعي",[189,41080,41081],{},"حملات البريد الإلكتروني",[189,41083,41084],{},"وصف المنتجات",[189,41086,41087],{},"نسخ الإعلانات",[12,41089,41090],{},[174,41091,41092],{},"التصميم والمحتوى البصري:",[186,41094,41095,41100],{},[189,41096,41097,41099],{},[174,41098,28687],{}," Canva AI، Midjourney، DALL-E 3، Stable Diffusion",[189,41101,41102,41104],{},[174,41103,41031],{},[186,41105,41106,41109,41112,41115],{},[189,41107,41108],{},"مواد التسويق",[189,41110,41111],{},"رسومات وسائل التواصل الاجتماعي",[189,41113,41114],{},"نماذج المنتجات",[189,41116,41117],{},"شرائح العروض التقديمية",[16,41119,41121],{"id":41120},"_2-تعزيز-اتخاذ-القرارات-بتحليلات-الذكاء-الاصطناعي","2. تعزيز اتخاذ القرارات بتحليلات الذكاء الاصطناعي",[12,41123,41124],{},"البيانات هي دم شركة ناشئة. يمكن للتحليلات المدفوعة بالذكاء الاصطناعي كشف الأنماط المخفية، التنبؤ بالاتجاهات المستقبلية، وتمكينك من اتخاذ قرارات إستراتيجية مستنيرة.",[209,41126,41128],{"id":41127},"أ-الذكاء-التجاري-والتقارير","أ. الذكاء التجاري والتقارير",[12,41130,41131],{},[174,41132,41133],{},"منصات BI الحديثة:",[186,41135,41136,41141],{},[189,41137,41138,41140],{},[174,41139,28687],{}," Tableau مع AI، Power BI، Looker، Mixpanel",[189,41142,41143,41146],{},[174,41144,41145],{},"القدرات:",[186,41147,41148,41151,41154,41157],{},[189,41149,41150],{},"استفسارات اللغة الطبيعية (\"أظهر لي اتجاه المبيعات للربع الماضي\")",[189,41152,41153],{},"كشف الشذوذ التلقائي",[189,41155,41156],{},"التنبؤ التنبؤي",[189,41158,41159],{},"لوحات التحكم التفاعلية",[12,41161,41162],{},[174,41163,41164],{},"استراتيجية التطبيق:",[1049,41166,41167,41170,41173,41176],{},[189,41168,41169],{},"ربط جميع مصادر البيانات الخاصة بك (CRM، التحليلات، المالية)",[189,41171,41172],{},"تحديد مقاييسك الرئيسية (المقياس النجمي الشمالي، KPIs)",[189,41174,41175],{},"إعداد تنبيهات تلقائية للتغييرات الكبيرة",[189,41177,41178],{},"إنشاء لوحات تحكم محددة بالدور لأعضاء الفريق المختلفين",[209,41180,41182],{"id":41181},"ب-أبحاث-السوق-والذكاء-التنافسي","ب. أبحاث السوق والذكاء التنافسي",[12,41184,41185],{},[174,41186,41187],{},"أدوات البحث المدعومة بالذكاء الاصطناعي:",[186,41189,41190,41195],{},[189,41191,41192,41194],{},[174,41193,28687],{}," Brandwatch، Talkwalker، Crayon، Kompyte",[189,41196,41197,41200],{},[174,41198,41199],{},"الرؤى المكتسبة:",[186,41201,41202,41205,41208,41211],{},[189,41203,41204],{},"إطلاق منتجات المنافسين وتغييرات التسعير",[189,41206,41207],{},"تحليل المشاعر السوقية",[189,41209,41210],{},"الاتجاهات الناشئة في صناعتك",[189,41212,41213],{},"نقاط الألم والرغبات لدى العملاء",[12,41215,41216],{},[174,41217,41218],{},"التطبيق العملي:",[186,41220,41221,41224,41227,41230],{},[189,41222,41223],{},"مراقبة مواقع المنافسين، وسائل التواصل الاجتماعي، والأخبار",[189,41225,41226],{},"تحليل مراجعات العملاء للمنتجات المنافسة",[189,41228,41229],{},"تحديد فجوات السوق والفرص",[189,41231,41232],{},"تتبع مؤثري الصناعة وقادة الفكر",[209,41234,41236],{"id":41235},"ج-التحليلات-التنبؤية-للنمو","ج. التحليلات التنبؤية للنمو",[12,41238,41239],{},[174,41240,41241],{},"التنبؤ والتنبؤ:",[186,41243,41244,41249],{},[189,41245,41246,41248],{},[174,41247,28687],{}," Prophet (بواسطة Facebook)، DataRobot، H2O.ai",[189,41250,41251,41253],{},[174,41252,40996],{},[186,41254,41255,41258,41260,41263,41266],{},[189,41256,41257],{},"تنبؤ المبيعات",[189,41259,33576],{},[189,41261,41262],{},"تحسين المخزون",[189,41264,41265],{},"تخطيط الطلب",[189,41267,41268],{},"إسقاط التدفق النقدي",[12,41270,41271,41274],{},[174,41272,41273],{},"نماذج التعلم الآلي:","\nبناء نماذج ML مخصصة لـ:",[186,41276,41277,41280,41283,41286],{},[189,41278,41279],{},"تنبؤ قيمة عمر العميل (LTV)",[189,41281,41282],{},"تسجيل العملاء المحتملين وتأهيلهم",[189,41284,41285],{},"تحسين التسعير",[189,41287,41288],{},"التوصيات المخصصة",[16,41290,41292],{"id":41291},"_3-تعزيز-تطوير-المنتج-والابتكار","3. تعزيز تطوير المنتج والابتكار",[12,41294,41295],{},"يمكن للذكاء الاصطناعي تسريع دورة حياة تطوير منتجك بشكل كبير، من التفكير إلى النشر والتكرار.",[209,41297,41299],{"id":41298},"أ-إنشاء-الكود-وتسريع-التطوير","أ. إنشاء الكود وتسريع التطوير",[12,41301,41302],{},[174,41303,41304],{},"مساعدو البرمجة المدعومون بالذكاء الاصطناعي:",[186,41306,41307,41312,41317,41322],{},[189,41308,41309,41311],{},[174,41310,1765],{}," يقترح وظائف كاملة، يكتب كود القوالب، يساعد في التوثيق",[189,41313,41314,41316],{},[174,41315,1779],{}," إكمال الكود المدرك للسياق عبر اللغات",[189,41318,41319,41321],{},[174,41320,1785],{}," اقتراحات الكود المركزة على الأمان",[189,41323,41324,41327],{},[174,41325,41326],{},"Cursor IDE:"," محرر كود أول الذكاء الاصطناعي مع قدرات تحرير متقدمة",[12,41329,41330],{},[174,41331,41332],{},"أفضل الممارسات:",[186,41334,41335,41338,41341,41344],{},[189,41336,41337],{},"استخدم الذكاء الاصطناعي للمهام البرمجية المتكررة والقوالب",[189,41339,41340],{},"راجع جميع الكود المولد بالذكاء الاصطناعي للأمان والكفاءة",[189,41342,41343],{},"الاستفادة من الذكاء الاصطناعي للتوثيق والتعليقات",[189,41345,41346],{},"دمج الإبداع البشري مع سرعة الذكاء الاصطناعي",[12,41348,41349,41352],{},[174,41350,41351],{},"النتائج الحقيقية:"," يبلغ المطورون عن زيادة إنتاجية بنسبة 30-50% باستخدام مساعدي البرمجة المدعومين بالذكاء الاصطناعي.",[209,41354,41356],{"id":41355},"ب-ضمان-الجودة-والاختبار","ب. ضمان الجودة والاختبار",[12,41358,41359],{},[174,41360,41361],{},"الاختبار المعزز بالذكاء الاصطناعي:",[186,41363,41364,41369],{},[189,41365,41366,41368],{},[174,41367,28687],{}," Testim، Mabl، Applitools، Functionize",[189,41370,41371,41373],{},[174,41372,41145],{},[186,41374,41375,41378,41381,41384],{},[189,41376,41377],{},"إنشاء حالات الاختبار تلقائياً",[189,41379,41380],{},"اختبار الانحدار البصري",[189,41382,41383],{},"الاختبارات الشفائية الذاتية (تتكيف مع تغييرات واجهة المستخدم)",[189,41385,41386],{},"اختبار الأداء على نطاق واسع",[12,41388,41389],{},[174,41390,41391],{},"مراجعة الكود والأمان:",[186,41393,41394,41399],{},[189,41395,41396,41398],{},[174,41397,28687],{}," Snyk، SonarQube، DeepCode",[189,41400,41401,41403],{},[174,41402,15261],{}," تحديد الثغرات، اقتراح الإصلاحات، فرض معايير البرمجة",[209,41405,41407],{"id":41406},"ج-أبحاث-المستخدمين-وتحليل-التعليقات","ج. أبحاث المستخدمين وتحليل التعليقات",[12,41409,41410],{},[174,41411,41412],{},"تحليل المشاعر ومعالجة اللغة الطبيعية:",[186,41414,41415,41420],{},[189,41416,41417,41419],{},[174,41418,28687],{}," MonkeyLearn، Lexalytics، IBM Watson",[189,41421,41422,41424],{},[174,41423,41031],{},[186,41425,41426,41429,41432,41435],{},[189,41427,41428],{},"تحليل تذاكر دعم العملاء",[189,41430,41431],{},"معالجة ردود الاستطلاعات",[189,41433,41434],{},"مراقبة مراجعات متاجر التطبيقات",[189,41436,41437],{},"فهم المشاعر على وسائل التواصل الاجتماعي",[12,41439,41440],{},[174,41441,41442],{},"تحليلات سلوك المستخدم:",[186,41444,41445,41450],{},[189,41446,41447,41449],{},[174,41448,28687],{}," Hotjar، FullStory، Heap",[189,41451,41452,41455],{},[174,41453,41454],{},"الرؤى:",[186,41456,41457,41460,41463,41466],{},[189,41458,41459],{},"تسجيلات الجلسات مع تمييزات الذكاء الاصطناعي",[189,41461,41462],{},"تحليل القمع التلقائي",[189,41464,41465],{},"رسم خرائط رحلة المستخدم",[189,41467,41468],{},"كشف الإحباط",[16,41470,41472],{"id":41471},"_4-ثورة-التسويق-والتخصيص","4. ثورة التسويق والتخصيص",[12,41474,41475],{},"يمكن للذكاء الاصطناعي تمكين حملات التسويق المخصصة للغاية وتجارب العملاء، مما يؤدي إلى معدلات مشاركة وتحويل أعلى.",[209,41477,41479],{"id":41478},"أ-استراتيجية-المحتوى-وإنشاؤه","أ. استراتيجية المحتوى وإنشاؤه",[12,41481,41482],{},[174,41483,41484],{},"أدوات المحتوى المدعومة بالذكاء الاصطناعي:",[186,41486,41487,41493,41498,41504],{},[189,41488,41489,41492],{},[174,41490,41491],{},"المدونة والأشكال الطويلة:"," Jasper، Copy.ai، Writesonic",[189,41494,41495,41497],{},[174,41496,40011],{}," Buffer AI، Hootsuite Insights، Lately",[189,41499,41500,41503],{},[174,41501,41502],{},"الفيديو:"," Synthesia، D-ID، Pictory",[189,41505,41506,41509],{},[174,41507,41508],{},"الصوت:"," Descript، Murf.ai",[12,41511,41512],{},[174,41513,41514],{},"أتمتة تقويم المحتوى:",[186,41516,41517,41520,41523,41526],{},[189,41518,41519],{},"استخدم الذكاء الاصطناعي لتحليل المواضيع الرائجة",[189,41521,41522],{},"إنشاء أفكار المحتوى بناءً على بيانات البحث",[189,41524,41525],{},"تحسين أوقات النشر للحد الأقصى من المشاركة",[189,41527,41528],{},"اختبار A/B للعناوين والتنسيقات",[209,41530,41532],{"id":41531},"ب-الإعلانات-المستهدفة-وتحسين-الحملات","ب. الإعلانات المستهدفة وتحسين الحملات",[12,41534,41535],{},[174,41536,41537],{},"منصات الإعلانات المدعومة بالذكاء الاصطناعي:",[186,41539,41540,41546,41552,41558],{},[189,41541,41542,41545],{},[174,41543,41544],{},"Google Ads Smart Bidding:"," استراتيجيات عروض أسعار تلقائية باستخدام التعلم الآلي",[189,41547,41548,41551],{},[174,41549,41550],{},"Facebook Ads Advantage+:"," إنشاء وتحسين الحملات المدعوم بالذكاء الاصطناعي",[189,41553,41554,41557],{},[174,41555,41556],{},"Madgicx:"," تحليلات وأتمتة الإعلانات المدعومة بالذكاء الاصطناعي",[189,41559,41560,41563],{},[174,41561,41562],{},"AdCreative.ai:"," إنشاء إبداعات إعلانية عالية التحويل",[12,41565,41566],{},[174,41567,41568],{},"استراتيجيات التحسين:",[186,41570,41571,41574,41577,41580],{},[189,41572,41573],{},"دع الذكاء الاصطناعي يتعامل مع تعديلات العروض بناءً على احتمالية التحويل",[189,41575,41576],{},"اختبار متغيرات إعلانية متعددة في وقت واحد",[189,41578,41579],{},"استهداف جماهير مشابهة باستخدام مطابقة الذكاء الاصطناعي",[189,41581,41582],{},"تخصيص التوزيع التلقائي للميزانية عبر الحملات",[209,41584,41586],{"id":41585},"ج-التسويق-عبر-البريد-الإلكتروني-والتخصيص","ج. التسويق عبر البريد الإلكتروني والتخصيص",[12,41588,41589],{},[174,41590,41591],{},"أدوات البريد الإلكتروني المدعومة بالذكاء الاصطناعي:",[186,41593,41594,41600,41606,41612],{},[189,41595,41596,41599],{},[174,41597,41598],{},"Mailchimp مع AI:"," اقتراحات سطور الموضوع، تحسين وقت الإرسال",[189,41601,41602,41605],{},[174,41603,41604],{},"Phrasee:"," إنشاء نسخ البريد الإلكتروني المدعوم بالذكاء الاصطناعي",[189,41607,41608,41611],{},[174,41609,41610],{},"Seventh Sense:"," تنبؤ وقت الإرسال المثالي",[189,41613,41614,41617],{},[174,41615,41616],{},"Rasa.io:"," تنظيم النشرة الإخبارية المخصصة",[12,41619,41620],{},[174,41621,41622],{},"التكتيكات المتقدمة:",[186,41624,41625,41628,41631,41634],{},[189,41626,41627],{},"رسائل بريد إلكتروني محفزة سلوكية بناءً على إجراءات المستخدم",[189,41629,41630],{},"كتل محتوى ديناميكية تتكيف مع المستلم",[189,41632,41633],{},"إرسال تنبؤي بناءً على احتمالية الفتح",[189,41635,41636],{},"حملات إعادة المشاركة التلقائية",[209,41638,41640],{"id":41639},"د-تحسين-محركات-البحث-والظهور-في-البحث","د. تحسين محركات البحث والظهور في البحث",[12,41642,41643],{},[174,41644,41645],{},"أدوات SEO المدعومة بالذكاء الاصطناعي:",[186,41647,41648,41654,41660,41666],{},[189,41649,41650,41653],{},[174,41651,41652],{},"SurferSEO:"," تحسين المحتوى بناءً على الصفحات الأعلى تصنيفاً",[189,41655,41656,41659],{},[174,41657,41658],{},"MarketMuse:"," تخطيط المحتوى وتحليل الفجوات",[189,41661,41662,41665],{},[174,41663,41664],{},"Frase:"," بحث الذكاء الاصطناعي وموجزات المحتوى",[189,41667,41668,41671],{},[174,41669,41670],{},"Clearscope:"," توصيات تحسين المحتوى",[12,41673,41674],{},[174,41675,40946],{},[1049,41677,41678,41681,41684,41687,41690],{},[189,41679,41680],{},"البحث عن الكلمات المفتاحية باستخدام أدوات مدعومة بالذكاء الاصطناعي",[189,41682,41683],{},"تحليل هيكل محتوى المنافسين",[189,41685,41686],{},"إنشاء مخططات المحتوى",[189,41688,41689],{},"تحسين المحتوى الموجود",[189,41691,41692],{},"مراقبة التصنيفات والتعديل",[16,41694,41696],{"id":41695},"_5-الإدارة-المالية-والتخطيط","5. الإدارة المالية والتخطيط",[12,41698,41699],{},[174,41700,41701],{},"أدوات المالية المدعومة بالذكاء الاصطناعي:",[186,41703,41704,41710,41716,41722],{},[189,41705,41706,41709],{},[174,41707,41708],{},"التنبؤ:"," Jirav، Causal، Finmark",[189,41711,41712,41715],{},[174,41713,41714],{},"إدارة المصروفات:"," Expensify، Ramp",[189,41717,41718,41721],{},[174,41719,41720],{},"المحاسبة:"," QuickBooks AI، Xero",[189,41723,41724,41727],{},[174,41725,41726],{},"كشف الاحتيال:"," Sift، Forter",[12,41729,41730],{},[174,41731,40996],{},[186,41733,41734,41737,41740,41743],{},[189,41735,41736],{},"تصنيف المصروفات التلقائي",[189,41738,41739],{},"تنبؤ التدفق النقدي",[189,41741,41742],{},"كشف الشذوذ في المعاملات",[189,41744,41745],{},"معالجة الفواتير وتذكيرات الدفع",[16,41747,41749],{"id":41748},"_6-التوظيف-وإدارة-المواهب","6. التوظيف وإدارة المواهب",[12,41751,41752],{},[174,41753,41754],{},"أدوات التوظيف المدعومة بالذكاء الاصطناعي:",[186,41756,41757,41763,41769,41775],{},[189,41758,41759,41762],{},[174,41760,41761],{},"الفرز:"," HireVue، Pymetrics",[189,41764,41765,41768],{},[174,41766,41767],{},"البحث:"," SeekOut، Findem",[189,41770,41771,41774],{},[174,41772,41773],{},"الجدولة:"," Calendly، GoodTime",[189,41776,41777,41780],{},[174,41778,41779],{},"التقييم:"," Codility (للمطورين)، TestGorilla",[12,41782,41783],{},[174,41784,15261],{},[186,41786,41787,41790,41793,41796],{},[189,41788,41789],{},"تقليل وقت التوظيف بنسبة 50%",[189,41791,41792],{},"القضاء على التحيز غير الواعي",[189,41794,41795],{},"تحسين مطابقة المرشحين",[189,41797,41798],{},"أتمتة الفرز الأولي",[16,41800,41802],{"id":41801},"_7-نجاح-العملاء-والاحتفاظ","7. نجاح العملاء والاحتفاظ",[12,41804,41805],{},[174,41806,41807],{},"الذكاء الاصطناعي لنجاح العملاء:",[186,41809,41810,41816,41822,41828],{},[189,41811,41812,41815],{},[174,41813,41814],{},"تسجيل الصحة:"," Gainsight، ChurnZero",[189,41817,41818,41821],{},[174,41819,41820],{},"التواصل الاستباقي:"," تنبيهات تلقائية للمخاطر",[189,41823,41824,41827],{},[174,41825,41826],{},"تحليلات الاستخدام:"," تحديد المستخدمين القويين والمعارضين",[189,41829,41830,41833],{},[174,41831,41832],{},"الإعداد المخصص:"," مسارات التعلم التكيفية",[12,41835,41836],{},[174,41837,41838],{},"استراتيجيات الاحتفاظ:",[186,41840,41841,41844,41847,41850],{},[189,41842,41843],{},"التنبؤ بالترك قبل حدوثه",[189,41845,41846],{},"أتمتة التحققات مع العملاء المعرضين للخطر",[189,41848,41849],{},"تخصيص توصيات الترقية",[189,41851,41852],{},"تحديد فرص التوسع",[16,41854,41856],{"id":41855},"خريطة-طريق-التطبيق-البدء-مع-الذكاء-الاصطناعي","خريطة طريق التطبيق: البدء مع الذكاء الاصطناعي",[209,41858,41860],{"id":41859},"المرحلة-1-الانتصارات-السريعة-الشهر-1-2","المرحلة 1: الانتصارات السريعة (الشهر 1-2)",[1049,41862,41863,41866,41869,41872],{},[189,41864,41865],{},"تنفيذ روبوت دردشة مدعوم بالذكاء الاصطناعي لدعم العملاء",[189,41867,41868],{},"إضافة مساعد كتابة مدعوم بالذكاء الاصطناعي لإنشاء المحتوى",[189,41870,41871],{},"إعداد أدوات التسويق عبر البريد الإلكتروني المدعومة بالذكاء الاصطناعي",[189,41873,41874],{},"نشر إكمال الكود المدعوم بالذكاء الاصطناعي لفريق التطوير",[209,41876,41878],{"id":41877},"المرحلة-2-الكفاءة-التشغيلية-الشهر-3-4","المرحلة 2: الكفاءة التشغيلية (الشهر 3-4)",[1049,41880,41881,41884,41887,41890],{"start":2551},[189,41882,41883],{},"دمج أدوات BI مع تحليلات الذكاء الاصطناعي",[189,41885,41886],{},"إعداد أطر الاختبار التلقائية",[189,41888,41889],{},"تنفيذ معالجة المستندات المدعومة بالذكاء الاصطناعي",[189,41891,41892],{},"إضافة نسخ الاجتماعات وتلخيصها",[209,41894,41896],{"id":41895},"المرحلة-3-التكامل-الإستراتيجي-الشهر-5-6","المرحلة 3: التكامل الإستراتيجي (الشهر 5-6)",[1049,41898,41899,41902,41905,41908],{"start":2574},[189,41900,41901],{},"بناء نماذج تنبؤية للمبيعات والترك",[189,41903,41904],{},"نشر محرك التخصيص",[189,41906,41907],{},"تنفيذ تحسين الإعلانات المدعوم بالذكاء الاصطناعي",[189,41909,41910],{},"إعداد التنبؤ المالي التلقائي",[209,41912,41914],{"id":41913},"المرحلة-4-القدرات-المتقدمة-الشهر-7","المرحلة 4: القدرات المتقدمة (الشهر 7+)",[1049,41916,41917,41920,41923,41926],{"start":2862},[189,41918,41919],{},"نماذج ML مخصصة لاحتياجاتك المحددة",[189,41921,41922],{},"سير العمل التلقائية المتقدمة",[189,41924,41925],{},"ميزات المنتج المدفوعة بالذكاء الاصطناعي",[189,41927,41928],{},"التحسين والصقل المستمر",[16,41930,41932],{"id":41931},"أفضل-الممارسات-لاعتماد-الذكاء-الاصطناعي","أفضل الممارسات لاعتماد الذكاء الاصطناعي",[209,41934,41936],{"id":41935},"_1-ابدأ-صغيراً-فكر-كبيراً","1. ابدأ صغيراً، فكر كبيراً",[186,41938,41939,41942,41945],{},[189,41940,41941],{},"ابدأ بأداة واحدة أو حالة استخدام واحدة",[189,41943,41944],{},"قيس النتائج وعائد الاستثمار",[189,41946,41947],{},"توسع تدريجياً بناءً على النجاح",[209,41949,41951],{"id":41950},"_2-استثمر-في-تدريب-الفريق","2. استثمر في تدريب الفريق",[186,41953,41954,41957,41960,41963],{},[189,41955,41956],{},"علم الفريق قدرات الذكاء الاصطناعي",[189,41958,41959],{},"قدم تدريباً عملياً",[189,41961,41962],{},"شجع على التجربة",[189,41964,41965],{},"شارك قصص النجاح داخلياً",[209,41967,41969],{"id":41968},"_3-البيانات-هي-كل-شيء","3. البيانات هي كل شيء",[186,41971,41972,41975,41978,41981],{},[189,41973,41974],{},"ضمن جودة البيانات واتساقها",[189,41976,41977],{},"أعد إعداد خطوط أنابيب البيانات المناسبة",[189,41979,41980],{},"طبق التتبع من اليوم الأول",[189,41982,41983],{},"احترم الخصوصية والامتثال (GDPR، إلخ)",[209,41985,41987],{"id":41986},"_4-التعاون-بين-الإنسان-والذكاء-الاصطناعي","4. التعاون بين الإنسان والذكاء الاصطناعي",[186,41989,41990,41993,41996,41999],{},[189,41991,41992],{},"الذكاء الاصطناعي يعزز، لا يحل محل البشر",[189,41994,41995],{},"احتفظ بالبشر في الحلقة للقرارات الحرجة",[189,41997,41998],{},"استخدم الذكاء الاصطناعي للرؤى، البشر للاستراتيجية",[189,42000,42001],{},"دمج الإبداع مع الأتمتة",[209,42003,42005],{"id":42004},"_5-راقب-وحسن","5. راقب وحسن",[186,42007,42008,42011,42014,42017],{},[189,42009,42010],{},"تابع أداء أدوات الذكاء الاصطناعي",[189,42012,42013],{},"اختبر A/B النهج المدعوم بالذكاء الاصطناعي مقابل غير المدعوم",[189,42015,42016],{},"حدث وصقل النماذج بانتظام",[189,42018,42019],{},"ابق على اطلاع بتطورات الذكاء الاصطناعي الجديدة",[16,42021,42023],{"id":42022},"الاعتبارات-التكلفية-وعائد-الاستثمار","الاعتبارات التكلفية وعائد الاستثمار",[209,42025,42027],{"id":42026},"تخصيص-الميزانية","تخصيص الميزانية",[186,42029,42030,42036,42042,42048],{},[189,42031,42032,42035],{},[174,42033,42034],{},"الأدوات المجانية:"," ابدأ بالمستويات المجانية (ChatGPT، Canva)",[189,42037,42038,42041],{},[174,42039,42040],{},"الأدوات الأساسية:"," 50-200 دولار/شهر (Jasper، Otter.ai)",[189,42043,42044,42047],{},[174,42045,42046],{},"الأدوات المهنية:"," 200-1000 دولار/شهر (Salesforce Einstein، HubSpot AI)",[189,42049,42050,42053],{},[174,42051,42052],{},"أدوات المؤسسات:"," 1000 دولار+/شهر (ML مخصص، تحليلات متقدمة)",[209,42055,42057],{"id":42056},"عائد-الاستثمار-المتوقع","عائد الاستثمار المتوقع",[186,42059,42060,42066,42072,42078],{},[189,42061,42062,42065],{},[174,42063,42064],{},"توفير الوقت:"," 10-40 ساعة/أسبوع لكل عضو فريق",[189,42067,42068,42071],{},[174,42069,42070],{},"تقليل التكلفة:"," 30-50% في المصروفات التشغيلية",[189,42073,42074,42077],{},[174,42075,42076],{},"التأثير على الإيرادات:"," زيادة بنسبة 15-30% في معدلات التحويل",[189,42079,42080,42082],{},[174,42081,40899],{}," تكرار المنتج 2-3x أسرع",[16,42084,42086],{"id":42085},"الفخاخ-الشائعة-لتجنبها","الفخاخ الشائعة لتجنبها",[1049,42088,42089,42095,42101,42107,42113,42119],{},[189,42090,42091,42094],{},[174,42092,42093],{},"الإفراط في الأدوات:"," لا تعتمد كل أداة ذكاء اصطناعي؛ اختر استراتيجياً",[189,42096,42097,42100],{},[174,42098,42099],{},"إهمال جودة البيانات:"," قمامة داخل، قمامة خارج",[189,42102,42103,42106],{},[174,42104,42105],{},"الإفراط في الأتمتة:"," بعض المهام لا تزال تحتاج لمسة بشرية",[189,42108,42109,42112],{},[174,42110,42111],{},"تجاهل الأخلاقيات:"," ضع في اعتبارك التحيز، الخصوصية، والشفافية",[189,42114,42115,42118],{},[174,42116,42117],{},"عدم وجود مقاييس واضحة:"," حدد معايير النجاح مسبقاً",[189,42120,42121,42124],{},[174,42122,42123],{},"تخطي التدريب:"," اعتماد الفريق أمر حاسم للنجاح",[16,42126,42128],{"id":42127},"مستقبل-الذكاء-الاصطناعي-في-الشركات-الناشئة","مستقبل الذكاء الاصطناعي في الشركات الناشئة",[12,42130,42131],{},"بالنظر إلى الأمام، ستصبح الذكاء الاصطناعي أكثر تكاملاً:",[186,42133,42134,42140,42146,42151,42157],{},[189,42135,42136,42139],{},[174,42137,42138],{},"الوكلاء المستقلون:"," الذكاء الاصطناعي الذي يمكنه تنفيذ مهام متعددة الخطوات معقدة",[189,42141,42142,42145],{},[174,42143,42144],{},"الذكاء الاصطناعي متعدد الوسائط:"," الأنظمة التي تفهم النص، الصور، الفيديو، والصوت",[189,42147,42148,42150],{},[174,42149,27242],{}," تجارب العملاء حقاً 1:1",[189,42152,42153,42156],{},[174,42154,42155],{},"المنتجات أول الذكاء الاصطناعي:"," المنتجات المبنية مع الذكاء الاصطناعي كوظيفة أساسية",[189,42158,42159,42162],{},[174,42160,42161],{},"التنبؤ بكل شيء:"," من التوظيف إلى اتجاهات السوق",[16,42164,8049],{"id":8049},[12,42166,42167],{},"من خلال دمج الذكاء الاصطناعي استراتيجياً في كل جانب من جوانب شركتك الناشئة، يمكنك إطلاق مستويات غير مسبوقة من الكفاءة، الابتكار، والنمو. الشركات الناشئة التي ستزدهر في 2025 وما بعده هي تلك التي ترى الذكاء الاصطناعي ليس كأداة، بل كميزة تنافسية أساسية وجزء أساسي من DNAها.",[12,42169,42170,42172],{},[174,42171,537],{}," أفضل وقت لبدء اعتماد الذكاء الاصطناعي كان بالأمس. ثاني أفضل وقت هو اليوم. ابدأ رحلة الذكاء الاصطناعي الخاصة بك الآن، ابدأ صغيراً، تعلم بسرعة، وقم بتوسيع ما يعمل. المستقبل ينتمي للشركات الناشئة التي تعتمد قوة الذكاء الاصطناعي مع الحفاظ على الإبداع البشري، التعاطف، والرؤية التي تجعل الشركات العظيمة استثنائية حقاً.",[12,42174,42175],{},"رحلة شركتك الناشئة المعجلة بالذكاء الاصطناعي تبدأ الآن. أي أداة ستطبقها أولاً؟",{"title":42,"searchDepth":43,"depth":43,"links":42177},[42178,42179,42184,42189,42194,42200,42201,42202,42203,42209,42216,42220,42221,42222],{"id":40882,"depth":46,"text":40883},{"id":40921,"depth":46,"text":40922,"children":42180},[42181,42182,42183],{"id":40928,"depth":43,"text":40929},{"id":40978,"depth":43,"text":40979},{"id":41053,"depth":43,"text":41054},{"id":41120,"depth":46,"text":41121,"children":42185},[42186,42187,42188],{"id":41127,"depth":43,"text":41128},{"id":41181,"depth":43,"text":41182},{"id":41235,"depth":43,"text":41236},{"id":41291,"depth":46,"text":41292,"children":42190},[42191,42192,42193],{"id":41298,"depth":43,"text":41299},{"id":41355,"depth":43,"text":41356},{"id":41406,"depth":43,"text":41407},{"id":41471,"depth":46,"text":41472,"children":42195},[42196,42197,42198,42199],{"id":41478,"depth":43,"text":41479},{"id":41531,"depth":43,"text":41532},{"id":41585,"depth":43,"text":41586},{"id":41639,"depth":43,"text":41640},{"id":41695,"depth":46,"text":41696},{"id":41748,"depth":46,"text":41749},{"id":41801,"depth":46,"text":41802},{"id":41855,"depth":46,"text":41856,"children":42204},[42205,42206,42207,42208],{"id":41859,"depth":43,"text":41860},{"id":41877,"depth":43,"text":41878},{"id":41895,"depth":43,"text":41896},{"id":41913,"depth":43,"text":41914},{"id":41931,"depth":46,"text":41932,"children":42210},[42211,42212,42213,42214,42215],{"id":41935,"depth":43,"text":41936},{"id":41950,"depth":43,"text":41951},{"id":41968,"depth":43,"text":41969},{"id":41986,"depth":43,"text":41987},{"id":42004,"depth":43,"text":42005},{"id":42022,"depth":46,"text":42023,"children":42217},[42218,42219],{"id":42026,"depth":43,"text":42027},{"id":42056,"depth":43,"text":42057},{"id":42085,"depth":46,"text":42086},{"id":42127,"depth":46,"text":42128},{"id":8049,"depth":46,"text":8049},"دليل شامل وعملي للاستفادة من أدوات الذكاء الاصطناعي المتطورة للنمو الأسرع، القرارات الأذكى، والمنتجات المبتكرة في شركتك الناشئة. تعلم أدوات الاستخدام، متى تستخدمها، وكيفية تعظيم تأثيرها.","https://images.unsplash.com/photo-1591696331111-ef9586a5b17a?q=80&w=1200&auto=format&fit=crop",{"excerpt":42226},{"type":9,"value":42227},[42228],[12,42229,40879],{},"/kyfyh-astkhdam-adwat-althkaa-alastnaay-ltsrya-shrktk-alnasheh-fy-2025",{"title":40874,"description":42223},"كيفية-استخدام-أدوات-الذكاء-الاصطناعي-لتسريع-شركتك-الناشئة-في-2025",[3628,42234,42235,10371,42236,42237,35190,10366,15745],"startup","tools","growth","innovation","nemtZn2Y4wVKxZOWyoDvDtPrz8CXCLDbLSiZWM_Q9NA",{"id":42240,"title":42241,"author":7,"body":42242,"category":3658,"description":8198,"extension":52,"image":8227,"isDraft":54,"isFeatured":55,"locale":56,"meta":42254,"navigation":54,"path":42259,"publishedAt":42260,"readingTime":2574,"seo":42261,"stem":42262,"tags":42263,"updatedAt":42260,"__hash__":42265},"articles_ar/كيفية-التعامل-مع-المنافسة-الشديدة.md","كيفية التعامل مع المنافسة الشديدة",{"type":9,"value":42243,"toc":42251},[42244,42247,42249],[12,42245,42246],{},"المنافسة الشديدة فرصة للابتكار والتميز.",[16,42248,2102],{"id":2101},[12,42250,2105],{},{"title":42,"searchDepth":43,"depth":43,"links":42252},[42253],{"id":2101,"depth":46,"text":2102},{"excerpt":42255},{"type":9,"value":42256},[42257],[12,42258,42246],{},"/kyfyh-altaaml-ma-almnafsh-alshdydh","2025-07-01",{"title":42241,"description":8198},"كيفية-التعامل-مع-المنافسة-الشديدة",[3658,8209,42264,8151],"المنافسة","Va4mhcX2GQ1UC2EC9gGvEIhS6eV5aOtUoNFJ-T4BId4",{"id":42267,"title":42268,"author":7,"body":42269,"category":69,"description":8138,"extension":52,"image":42281,"isDraft":54,"isFeatured":55,"locale":56,"meta":42282,"navigation":54,"path":42287,"publishedAt":10395,"readingTime":2574,"seo":42288,"stem":42289,"tags":42290,"updatedAt":10395,"__hash__":42292},"articles_ar/كيفية-التعامل-مع-تعليقات-المستخدمين-السلبية.md","كيفية التعامل مع تعليقات المستخدمين السلبية",{"type":9,"value":42270,"toc":42278},[42271,42274,42276],[12,42272,42273],{},"تعليقات المستخدمين السلبية فرصة ذهبية لتحسين منتجك.",[16,42275,2102],{"id":2101},[12,42277,2105],{},{"title":42,"searchDepth":43,"depth":43,"links":42279},[42280],{"id":2101,"depth":46,"text":2102},"https://images.unsplash.com/photo-1556761175-b413da4baf72?q=80&w=1200&auto=format&fit=crop",{"excerpt":42283},{"type":9,"value":42284},[42285],[12,42286,42273],{},"/kyfyh-altaaml-ma-talyqat-almstkhdmyn-alslbyh",{"title":42268,"description":8138},"كيفية-التعامل-مع-تعليقات-المستخدمين-السلبية",[69,42291,8137],"خدمة-العملاء","HTppp6fLOCLikNxMTcy-BYeoWJgJ6Q1pmnCXxpDnvQU",{"id":42294,"title":42295,"author":7,"body":42296,"category":3658,"description":8198,"extension":52,"image":8139,"isDraft":54,"isFeatured":55,"locale":56,"meta":42308,"navigation":54,"path":42313,"publishedAt":10481,"readingTime":2842,"seo":42314,"stem":42315,"tags":42316,"updatedAt":10481,"__hash__":42318},"articles_ar/كيفية-التعامل-مع-رفض-المستثمرين.md","كيفية التعامل مع رفض المستثمرين",{"type":9,"value":42297,"toc":42305},[42298,42301,42303],[12,42299,42300],{},"رفض المستثمرين ليس نهاية الطريق، بل فرصة للتعلم والتحسين.",[16,42302,2102],{"id":2101},[12,42304,2105],{},{"title":42,"searchDepth":43,"depth":43,"links":42306},[42307],{"id":2101,"depth":46,"text":2102},{"excerpt":42309},{"type":9,"value":42310},[42311],[12,42312,42300],{},"/kyfyh-altaaml-ma-rfdh-almstthmryn",{"title":42295,"description":8198},"كيفية-التعامل-مع-رفض-المستثمرين",[3658,8209,10485,42317],"النمو-الشخصي","oaTuKvThRMIVMVS7HKWnUCscfLgsre1zEteZZDvEHoU",{"id":42320,"title":42321,"author":7,"body":42322,"category":8137,"description":8138,"extension":52,"image":40646,"isDraft":54,"isFeatured":55,"locale":56,"meta":42334,"navigation":54,"path":42339,"publishedAt":8146,"readingTime":2842,"seo":42340,"stem":42341,"tags":42342,"updatedAt":8146,"__hash__":42343},"articles_ar/كيفية-بناء-استراتيجية-المنتج-طويلة-المدى.md","كيفية بناء استراتيجية المنتج طويلة المدى",{"type":9,"value":42323,"toc":42331},[42324,42327,42329],[12,42325,42326],{},"استراتيجية المنتج طويلة المدى توجه قراراتك نحو النجاح المستدام.",[16,42328,2102],{"id":2101},[12,42330,2105],{},{"title":42,"searchDepth":43,"depth":43,"links":42332},[42333],{"id":2101,"depth":46,"text":2102},{"excerpt":42335},{"type":9,"value":42336},[42337],[12,42338,42326],{},"/kyfyh-bnaa-astratyjyh-almntj-twylh-almda",{"title":42321,"description":8138},"كيفية-بناء-استراتيجية-المنتج-طويلة-المدى",[69,8137,8151,20874],"5AW18-7nBOnHtwnxr8J-AYC4p0A2USTjHNCevRAgFz4",{"id":42345,"title":42346,"author":7,"body":42347,"category":3658,"description":8198,"extension":52,"image":28422,"isDraft":54,"isFeatured":55,"locale":56,"meta":42359,"navigation":54,"path":42364,"publishedAt":10452,"readingTime":3038,"seo":42365,"stem":42366,"tags":42367,"updatedAt":10452,"__hash__":42368},"articles_ar/كيفية-بناء-العلامة-التجارية-للشركة-الناشئة.md","كيفية بناء العلامة التجارية للشركة الناشئة",{"type":9,"value":42348,"toc":42356},[42349,42352,42354],[12,42350,42351],{},"العلامة التجارية القوية تميز شركتك الناشئة عن المنافسين.",[16,42353,2102],{"id":2101},[12,42355,2105],{},{"title":42,"searchDepth":43,"depth":43,"links":42357},[42358],{"id":2101,"depth":46,"text":2102},{"excerpt":42360},{"type":9,"value":42361},[42362],[12,42363,42351],{},"/kyfyh-bnaa-alalamh-altjaryh-llshrkh-alnasheh",{"title":42346,"description":8198},"كيفية-بناء-العلامة-التجارية-للشركة-الناشئة",[3658,8209,28204,10399],"VdDNkrWKwykqdpS6dVXCgtKKkc8osr3jxMcI4g4z-mE",{"id":42370,"title":42371,"author":7,"body":42372,"category":2123,"description":2110,"extension":52,"image":42384,"isDraft":54,"isFeatured":55,"locale":56,"meta":42385,"navigation":54,"path":42390,"publishedAt":42391,"readingTime":2842,"seo":42392,"stem":42393,"tags":42394,"updatedAt":42391,"__hash__":42397},"articles_ar/كيفية-بناء-تطبيق-جوال-ناجح.md","كيفية بناء تطبيق جوال ناجح",{"type":9,"value":42373,"toc":42381},[42374,42377,42379],[12,42375,42376],{},"تطوير تطبيقات الجوال يتطلب فهماً للاختلافات بين المنصات.",[16,42378,2102],{"id":2101},[12,42380,2105],{},{"title":42,"searchDepth":43,"depth":43,"links":42382},[42383],{"id":2101,"depth":46,"text":2102},"https://images.unsplash.com/photo-1512941937669-90a1b58e7e9c?q=80&w=1200&auto=format&fit=crop",{"excerpt":42386},{"type":9,"value":42387},[42388],[12,42389,42376],{},"/kyfyh-bnaa-ttbyq-jwal-najh","2025-04-08",{"title":42371,"description":2110},"كيفية-بناء-تطبيق-جوال-ناجح",[2123,2088,42395,42396],"React-Native","Flutter","VyXmq9ZWf4pjSw9LPwriecmN-n_QzP_lgxDIMz6o5Gc",{"id":42399,"title":42400,"author":7,"body":42401,"category":69,"description":8138,"extension":52,"image":20553,"isDraft":54,"isFeatured":55,"locale":56,"meta":42419,"navigation":54,"path":42424,"publishedAt":42425,"readingTime":2035,"seo":42426,"stem":42427,"tags":42428,"updatedAt":42425,"__hash__":42429},"articles_ar/كيفية-بناء-منتج-رقمي-من-الصفر-دليل-شامل-للمبتدئين.md","كيفية بناء منتج رقمي من الصفر: دليل شامل للمبتدئين",{"type":9,"value":42402,"toc":42415},[42403,42406,42408,42411,42413],[12,42404,42405],{},"بناء منتج رقمي من الصفر يتطلب تخطيطاً دقيقاً وفهماً عميقاً لاحتياجات السوق.",[16,42407,28410],{"id":28410},[12,42409,42410],{},"في هذا الدليل الشامل، سنستعرض الخطوات الأساسية لبناء منتج رقمي ناجح من الصفر.",[16,42412,2102],{"id":2101},[12,42414,2105],{},{"title":42,"searchDepth":43,"depth":43,"links":42416},[42417,42418],{"id":28410,"depth":46,"text":28410},{"id":2101,"depth":46,"text":2102},{"excerpt":42420},{"type":9,"value":42421},[42422],[12,42423,42405],{},"/kyfyh-bnaa-mntj-rqmy-mn-alsfr-dlyl-shaml-llmbtdeyn","2025-01-07",{"title":42400,"description":8138},"كيفية-بناء-منتج-رقمي-من-الصفر-دليل-شامل-للمبتدئين",[69,3658,2125],"CfvzD191gyvA8MkuVS3Q63d1iqiGqNf2NDN7UIA-3aQ",{"id":42431,"title":42432,"author":7,"body":42433,"category":69,"description":8138,"extension":52,"image":1643,"isDraft":54,"isFeatured":55,"locale":56,"meta":42445,"navigation":54,"path":42450,"publishedAt":22818,"readingTime":2862,"seo":42451,"stem":42452,"tags":42453,"updatedAt":22818,"__hash__":42454},"articles_ar/كيفية-بناء-منتج-قابل-للتطوير-منذ-البداية.md","كيفية بناء منتج قابل للتطوير منذ البداية",{"type":9,"value":42434,"toc":42442},[42435,42438,42440],[12,42436,42437],{},"بناء منتج قابل للتطوير من البداية يوفر عليك الكثير من المشاكل المستقبلية.",[16,42439,2102],{"id":2101},[12,42441,2105],{},{"title":42,"searchDepth":43,"depth":43,"links":42443},[42444],{"id":2101,"depth":46,"text":2102},{"excerpt":42446},{"type":9,"value":42447},[42448],[12,42449,42437],{},"/kyfyh-bnaa-mntj-qabl-llttwyr-mnth-albdayh",{"title":42432,"description":8138},"كيفية-بناء-منتج-قابل-للتطوير-منذ-البداية",[69,3659,2123,3658],"X39ftNQet1hJkv7uwJN9lfw8VoWpre2G9_bStuwBL-E",{"id":42456,"title":42457,"author":7,"body":42458,"category":69,"description":8138,"extension":52,"image":8227,"isDraft":54,"isFeatured":55,"locale":56,"meta":42470,"navigation":54,"path":42475,"publishedAt":28429,"readingTime":2862,"seo":42476,"stem":42477,"tags":42478,"updatedAt":28429,"__hash__":42479},"articles_ar/كيفية-تحديد-أولويات-الميزات-في-منتجك.md","كيفية تحديد أولويات الميزات في منتجك",{"type":9,"value":42459,"toc":42467},[42460,42463,42465],[12,42461,42462],{},"تحديد أولويات الميزات بشكل صحيح يضمن تركيز فريقك على ما يهم حقاً.",[16,42464,2102],{"id":2101},[12,42466,2105],{},{"title":42,"searchDepth":43,"depth":43,"links":42468},[42469],{"id":2101,"depth":46,"text":2102},{"excerpt":42471},{"type":9,"value":42472},[42473],[12,42474,42462],{},"/kyfyh-thdyd-awlwyat-almyzat-fy-mntjk",{"title":42457,"description":8138},"كيفية-تحديد-أولويات-الميزات-في-منتجك",[69,8137,3658],"aAZY454cUd5-3mA0uhd67pMs8UIWvMfLE9mtnUn3AiI",{"id":42481,"title":42482,"author":7,"body":42483,"category":2123,"description":2110,"extension":52,"image":20553,"isDraft":54,"isFeatured":55,"locale":56,"meta":42495,"navigation":54,"path":42500,"publishedAt":3653,"readingTime":2818,"seo":42501,"stem":42502,"tags":42503,"updatedAt":3653,"__hash__":42505},"articles_ar/كيفية-تحسين-أداء-التطبيقات-الويب.md","كيفية تحسين أداء التطبيقات الويب",{"type":9,"value":42484,"toc":42492},[42485,42488,42490],[12,42486,42487],{},"الأداء العالي للتطبيق يعني تجربة مستخدم أفضل ومعدل تحويل أعلى.",[16,42489,2102],{"id":2101},[12,42491,2105],{},{"title":42,"searchDepth":43,"depth":43,"links":42493},[42494],{"id":2101,"depth":46,"text":2102},{"excerpt":42496},{"type":9,"value":42497},[42498],[12,42499,42487],{},"/kyfyh-thsyn-adaa-alttbyqat-alwyb",{"title":42482,"description":2110},"كيفية-تحسين-أداء-التطبيقات-الويب",[2123,2903,42504,3688],"تطوير-الويب","oINLUI2MSiOx0og2_vqYbOERo3psbwZGZ_2KhK8S1sI",{"id":42507,"title":42508,"author":7,"body":42509,"category":69,"description":8138,"extension":52,"image":53,"isDraft":54,"isFeatured":55,"locale":56,"meta":42521,"navigation":54,"path":42526,"publishedAt":8234,"readingTime":2574,"seo":42527,"stem":42528,"tags":42529,"updatedAt":8234,"__hash__":42532},"articles_ar/كيفية-تطوير-منتج-بموارد-محدودة.md","كيفية تطوير منتج بموارد محدودة",{"type":9,"value":42510,"toc":42518},[42511,42514,42516],[12,42512,42513],{},"الموارد المحدودة ليست عائقاً إذا كنت تعرف كيف تستغلها بذكاء.",[16,42515,2102],{"id":2101},[12,42517,2105],{},{"title":42,"searchDepth":43,"depth":43,"links":42519},[42520],{"id":2101,"depth":46,"text":2102},{"excerpt":42522},{"type":9,"value":42523},[42524],[12,42525,42513],{},"/kyfyh-ttwyr-mntj-bmward-mhdwdh",{"title":42508,"description":8138},"كيفية-تطوير-منتج-بموارد-محدودة",[69,3658,42530,42531],"الموارد","الكفاءة","GG-wreM15nR7-9xgY1w98NkPnWhZ4wjGCcXy4q5HIlY",{"id":42534,"title":42535,"author":7,"body":42536,"category":2123,"description":2110,"extension":52,"image":42548,"isDraft":54,"isFeatured":55,"locale":56,"meta":42549,"navigation":54,"path":42554,"publishedAt":9347,"readingTime":2119,"seo":42555,"stem":42556,"tags":42557,"updatedAt":9347,"__hash__":42560},"articles_ar/كيفية-تنفيذ-التكامل-المستمر-والنشر-المستمر.md","كيفية تنفيذ التكامل المستمر والنشر المستمر",{"type":9,"value":42537,"toc":42545},[42538,42541,42543],[12,42539,42540],{},"CI/CD يسرّع عملية التطوير ويحسّن جودة المنتج.",[16,42542,2102],{"id":2101},[12,42544,2105],{},{"title":42,"searchDepth":43,"depth":43,"links":42546},[42547],{"id":2101,"depth":46,"text":2102},"https://images.unsplash.com/photo-1667372393119-3d4c48d07fc9?q=80&w=1200&auto=format&fit=crop",{"excerpt":42550},{"type":9,"value":42551},[42552],[12,42553,42540],{},"/kyfyh-tnfyth-altkaml-almstmr-walnshr-almstmr",{"title":42535,"description":2110},"كيفية-تنفيذ-التكامل-المستمر-والنشر-المستمر",[2123,3657,42558,42559],"CI-CD","الأتمتة","8OWlUKOTJbLwQgw5xBqpTT9Z25f7LQQvIsw4gFnzfs4",{"id":42562,"title":42563,"author":7,"body":42564,"category":8137,"description":8138,"extension":52,"image":10388,"isDraft":54,"isFeatured":55,"locale":56,"meta":42576,"navigation":54,"path":42581,"publishedAt":10424,"readingTime":2842,"seo":42582,"stem":42583,"tags":42584,"updatedAt":10424,"__hash__":42586},"articles_ar/كيفية-قياس-رضا-العملاء-عن-المنتج.md","كيفية قياس رضا العملاء عن المنتج",{"type":9,"value":42565,"toc":42573},[42566,42569,42571],[12,42567,42568],{},"قياس رضا العملاء ضروري لتحسين منتجك باستمرار.",[16,42570,2102],{"id":2101},[12,42572,2105],{},{"title":42,"searchDepth":43,"depth":43,"links":42574},[42575],{"id":2101,"depth":46,"text":2102},{"excerpt":42577},{"type":9,"value":42578},[42579],[12,42580,42568],{},"/kyfyh-qyas-rdha-alamlaa-an-almntj",{"title":42563,"description":8138},"كيفية-قياس-رضا-العملاء-عن-المنتج",[69,8137,42585,10514],"رضا-العملاء","JUebs6dkBUdc2Y3hm1GuM3fQZTzBH9L8_yRhhtlfpeg",{"id":42588,"title":42589,"author":7,"body":42590,"category":3658,"description":8198,"extension":52,"image":10503,"isDraft":54,"isFeatured":55,"locale":56,"meta":42602,"navigation":54,"path":42607,"publishedAt":8205,"readingTime":1467,"seo":42608,"stem":42609,"tags":42610,"updatedAt":8205,"__hash__":42613},"articles_ar/كيفية-قياس-نجاح-الشركة-الناشئة.md","كيفية قياس نجاح الشركة الناشئة",{"type":9,"value":42591,"toc":42599},[42592,42595,42597],[12,42593,42594],{},"قياس النجاح بالمقاييس الصحيحة يوجه قراراتك الاستراتيجية.",[16,42596,2102],{"id":2101},[12,42598,2105],{},{"title":42,"searchDepth":43,"depth":43,"links":42600},[42601],{"id":2101,"depth":46,"text":2102},{"excerpt":42603},{"type":9,"value":42604},[42605],[12,42606,42594],{},"/kyfyh-qyas-njah-alshrkh-alnasheh",{"title":42589,"description":8198},"كيفية-قياس-نجاح-الشركة-الناشئة",[3658,8209,42611,42612],"المقاييس","KPIs","nC9VDzi11FuRTtrbLjFKtci6rXh17ucRTkCHzTK3weY",{"id":42615,"title":42616,"author":7,"body":42617,"category":3658,"description":8198,"extension":52,"image":28422,"isDraft":54,"isFeatured":55,"locale":56,"meta":42629,"navigation":54,"path":42634,"publishedAt":42635,"readingTime":3038,"seo":42636,"stem":42637,"tags":42638,"updatedAt":42635,"__hash__":42640},"articles_ar/كيفية-كتابة-خطة-عمل-مقنعة-للمستثمرين-العرب.md","كيفية كتابة خطة عمل مقنعة للمستثمرين العرب",{"type":9,"value":42618,"toc":42626},[42619,42622,42624],[12,42620,42621],{},"خطة العمل المقنعة هي مفتاحك للحصول على التمويل من المستثمرين.",[16,42623,2102],{"id":2101},[12,42625,2105],{},{"title":42,"searchDepth":43,"depth":43,"links":42627},[42628],{"id":2101,"depth":46,"text":2102},{"excerpt":42630},{"type":9,"value":42631},[42632],[12,42633,42621],{},"/kyfyh-ktabh-khth-aml-mqnah-llmstthmryn-alarb","2025-05-20",{"title":42616,"description":8198},"كيفية-كتابة-خطة-عمل-مقنعة-للمستثمرين-العرب",[3658,8209,10485,42639],"خطة-العمل","j8ZVG-IihZlv_8vW58Jo6Y2Kki7fJRPaCTC-SaCHL4k",{"id":42642,"title":42643,"author":7,"body":42644,"category":2123,"description":2110,"extension":52,"image":42656,"isDraft":54,"isFeatured":55,"locale":56,"meta":42657,"navigation":54,"path":42662,"publishedAt":42391,"readingTime":2119,"seo":42663,"stem":42664,"tags":42665,"updatedAt":42391,"__hash__":42668},"articles_ar/مقدمة-شاملة-في-التطوير-السحابي.md","مقدمة شاملة في التطوير السحابي",{"type":9,"value":42645,"toc":42653},[42646,42649,42651],[12,42647,42648],{},"التطوير السحابي أصبح المعيار الجديد لبناء التطبيقات الحديثة.",[16,42650,2102],{"id":2101},[12,42652,2105],{},{"title":42,"searchDepth":43,"depth":43,"links":42654},[42655],{"id":2101,"depth":46,"text":2102},"https://images.unsplash.com/photo-1451187580459-43490279c0fa?q=80&w=1200&auto=format&fit=crop",{"excerpt":42658},{"type":9,"value":42659},[42660],[12,42661,42648],{},"/mqdmh-shamlh-fy-alttwyr-alshaby",{"title":42643,"description":2110},"مقدمة-شاملة-في-التطوير-السحابي",[2123,40790,3659,42666,42667],"AWS","Azure","Fs30QV1QsQJXpbsX-vEZx6zZbM52SroNponzinj843g",{"id":42670,"title":42671,"author":7,"body":42672,"category":69,"description":8138,"extension":52,"image":42690,"isDraft":54,"isFeatured":55,"locale":56,"meta":42691,"navigation":54,"path":42696,"publishedAt":40653,"readingTime":2574,"seo":42697,"stem":42698,"tags":42699,"updatedAt":40653,"__hash__":42701},"articles_ar/من-الفكرة-إلى-النموذج-الأولي-في-١٤-يوماً.md","من الفكرة إلى النموذج الأولي في ١٤ يوماً",{"type":9,"value":42673,"toc":42686},[42674,42677,42679,42682,42684],[12,42675,42676],{},"كيف تحول فكرتك إلى نموذج أولي قابل للاختبار في أسبوعين فقط.",[16,42678,28410],{"id":28410},[12,42680,42681],{},"سرعة التنفيذ هي مفتاح النجاح في عالم الشركات الناشئة.",[16,42683,2102],{"id":2101},[12,42685,2105],{},{"title":42,"searchDepth":43,"depth":43,"links":42687},[42688,42689],{"id":28410,"depth":46,"text":28410},{"id":2101,"depth":46,"text":2102},"https://images.unsplash.com/photo-1507238691740-187a5b1d37b8?q=80&w=1200&auto=format&fit=crop",{"excerpt":42692},{"type":9,"value":42693},[42694],[12,42695,42676],{},"/mn-alfkrh-ila-alnmwthj-alawly-fy-14-ywmaan",{"title":42671,"description":8138},"من-الفكرة-إلى-النموذج-الأولي-في-١٤-يوماً",[69,3658,42700],"النموذج-الأولي","j4zbCfh4n47hd768LLL7mxln8hrLy0VzoInNo6W77kc",{"id":42703,"title":42704,"author":7,"body":42705,"category":50,"description":42732,"extension":52,"image":42733,"isDraft":54,"isFeatured":55,"locale":56,"meta":42734,"navigation":54,"path":42739,"publishedAt":63,"readingTime":64,"seo":42740,"stem":42741,"tags":42742,"updatedAt":63,"__hash__":42745},"articles_ar/منصة-بناء-البريد-الإلكتروني-دراسة-حالة.md","منصة بناء البريد الإلكتروني: إدارة الحملات بالسحب والإفلات",{"type":9,"value":42706,"toc":42726},[42707,42710,42712,42714,42716,42718,42720,42722,42724],[12,42708,42709],{},"دراسة حالة شاملة لبناء منصة بريد إلكتروني بالسحب والإفلات مع ميزات إدارة حملات متقدمة.",[16,42711,19],{"id":18},[12,42713,22],{},[16,42715,26],{"id":25},[12,42717,22],{},[16,42719,32],{"id":31},[12,42721,22],{},[16,42723,38],{"id":37},[12,42725,22],{},{"title":42,"searchDepth":43,"depth":43,"links":42727},[42728,42729,42730,42731],{"id":18,"depth":46,"text":19},{"id":25,"depth":46,"text":26},{"id":31,"depth":46,"text":32},{"id":37,"depth":46,"text":38},"دراسة حالة لمنصة بناء البريد الإلكتروني مع وظيفة السحب والإفلات لبناء رسائل البريد وإدارة الحملات.","https://images.unsplash.com/photo-1596526131083-e8c633c948d2?q=80&w=1200&auto=format&fit=crop",{"excerpt":42735},{"type":9,"value":42736},[42737],[12,42738,42709],{},"/mnsh-bnaa-albryd-alilktrwny-drash-halh",{"title":42704,"description":42732},"منصة-بناء-البريد-الإلكتروني-دراسة-حالة",[68,69,42743,71,42744],"تسويق-بريد-إلكتروني","أتمتة-تسويقية","cpso5sQAlQ2gB_6NomjgIdMRtiZT7kGbddfqRroC9-A",{"id":42747,"title":42748,"author":7,"body":42749,"category":50,"description":42776,"extension":52,"image":40646,"isDraft":54,"isFeatured":55,"locale":56,"meta":42777,"navigation":54,"path":42782,"publishedAt":63,"readingTime":64,"seo":42783,"stem":42784,"tags":42785,"updatedAt":63,"__hash__":42788},"articles_ar/منصة-تعليم-العملاء-b2b-دراسة-حالة.md","منصة تعليم العملاء: تعليم منتجات B2B",{"type":9,"value":42750,"toc":42770},[42751,42754,42756,42758,42760,42762,42764,42766,42768],[12,42752,42753],{},"استكشاف تطوير منصة تعليمية B2B مصممة لمساعدة الشركات على تعليم عملائها حول منتجاتها.",[16,42755,19],{"id":18},[12,42757,22],{},[16,42759,26],{"id":25},[12,42761,22],{},[16,42763,32],{"id":31},[12,42765,22],{},[16,42767,38],{"id":37},[12,42769,22],{},{"title":42,"searchDepth":43,"depth":43,"links":42771},[42772,42773,42774,42775],{"id":18,"depth":46,"text":19},{"id":25,"depth":46,"text":26},{"id":31,"depth":46,"text":32},{"id":37,"depth":46,"text":38},"دراسة حالة لمنصة تعليم العملاء B2B التي تمكن الشركات من إنشاء دورات حول منتجاتها لتعليم العملاء.",{"excerpt":42778},{"type":9,"value":42779},[42780],[12,42781,42753],{},"/mnsh-talym-alamlaa-b2b-drash-halh",{"title":42748,"description":42776},"منصة-تعليم-العملاء-b2b-دراسة-حالة",[68,69,42786,1653,42787],"أعمال-لأعمال","نجاح-العملاء","atj8zb_o5RS9b_cRQuaV-AWK2_PG_eS5qwMJrrIFyDI",{"id":42790,"title":42791,"author":7,"body":42792,"category":43571,"description":43572,"extension":52,"image":43573,"isDraft":55,"isFeatured":55,"locale":56,"meta":43574,"navigation":54,"path":43583,"publishedAt":43584,"readingTime":2380,"seo":43585,"stem":43586,"tags":43587,"updatedAt":1476,"__hash__":43588},"articles_ar/مهنة-تصميم-ui-ux-في-2025.md","مهنة تصميم UI/UX في 2025: الطلب في السوق وأدوات الذكاء الاصطناعي والبدء",{"type":9,"value":42793,"toc":43537},[42794,42799,42802,42805,42809,42812,42816,42819,42823,42826,42830,42833,42837,42840,42872,42875,42879,42883,42886,42891,42896,42910,42915,42926,42931,42945,42950,42961,42966,42977,42981,42985,43002,43007,43024,43029,43043,43047,43051,43054,43059,43085,43090,43116,43120,43125,43136,43141,43152,43157,43168,43173,43187,43191,43195,43200,43211,43216,43227,43231,43236,43250,43255,43266,43270,43275,43289,43294,43305,43309,43314,43328,43333,43344,43348,43353,43364,43369,43380,43385,43396,43400,43404,43430,43434,43460,43464,43468,43471,43475,43478,43482,43485,43489,43492,43496,43499,43503,43506,43511,43528,43531],[400,42795,42796],{},[12,42797,42798],{},"مصممو تجربة المستخدم (UX) وواجهة المستخدم (UI) مطلوبون بشدة لأنهم يلعبون دوراً حاسماً في كيفية تفاعل الناس مع التكنولوجيا. هم مسؤولون عن إنشاء تصاميم ليست جميلة بصرياً فحسب، بل سهلة الاستخدام والتنقل أيضاً.",[12,42800,42801],{},"في العصر الرقمي اليوم، لا يمكن المبالغة في أهمية تجربة المستخدم (UX) وتصميم واجهة المستخدم (UI). مع وجود العديد من الخيارات المتاحة، يتوقع المستخدمون تجارب سريعة وفعالة سهلة التنقل وجذابة بصرياً. هنا يأتي دور مصممي UI/UX – هم مسؤولون عن إنشاء واجهات وتجارب تلبي احتياجات وتوقعات المستخدمين.",[12,42803,42804],{},"إليك سبب كون مصممي UI/UX مطلوبين بشدة:",[16,42806,42808],{"id":42807},"أهمية-تجربة-المستخدم","أهمية تجربة المستخدم",[12,42810,42811],{},"تجربة المستخدم (UX) تتعلق بكيفية شعور الشخص عند التفاعل مع منتج أو نظام أو خدمة. تشمل جميع جوانب تفاعل المستخدم النهائي مع الشركة وخدماتها ومنتجاتها. يمكن لتجربة مستخدم جيدة أن تجعل المنتج أو الخدمة سهل الاستخدام وممتعاً وفعالاً، بينما يمكن لتجربة مستخدم سيئة أن تبعد المستخدمين.",[16,42813,42815],{"id":42814},"دور-تصميم-واجهة-المستخدم","دور تصميم واجهة المستخدم",[12,42817,42818],{},"تصميم واجهة المستخدم (UI) يتعلق بكيفية مظهر المنتج أو الخدمة وشعوره. يتضمن إنشاء العناصر البصرية وتخطيط المنتج أو الخدمة، بالإضافة إلى تحديد كيفية تفاعل المستخدمين معه. سيقوم مصمم UI جيد بإنشاء واجهات جذابة بصرياً وسهلة الاستخدام، مع مراعاة احتياجات وأهداف المستخدم.",[16,42820,42822],{"id":42821},"الطلب-على-مصممي-uiux-المهرة","الطلب على مصممي UI/UX المهرة",[12,42824,42825],{},"مع الزيادة في أهمية UX وUI، يرتفع الطلب على مصممين مهرة يمكنهم إنشاء تجارب جذابة وبديهية لمستخدميهم. هذا الطلب متوقع أن يزيد في السنوات القادمة، مما يجعله وقتاً رائعاً للتفكير في مهنة في تصميم UI/UX.",[16,42827,42829],{"id":42828},"الإمكانية-لمهنة-مربحة","الإمكانية لمهنة مربحة",[12,42831,42832],{},"بالإضافة إلى الطلب العالي على مصممي UI/UX، فإن الإمكانية لمهنة مربحة هي سبب آخر للنظر في هذا المجال. وفقاً لـ Glassdoor، متوسط راتب مصمم UI/UX في الولايات المتحدة هو 80,928 دولاراً سنوياً. مع المهارات والخبرة المناسبة، من الممكن كسب المزيد.",[16,42834,42836],{"id":42835},"كيف-تصبح-مصمم-uiux","كيف تصبح مصمم UI/UX",[12,42838,42839],{},"إذا كنت مهتماً بتصبح مصمم UI/UX، هناك بعض الخطوات الرئيسية التي يمكنك اتخاذها:",[1049,42841,42842,42848,42854,42860,42866],{},[189,42843,42844,42847],{},[174,42845,42846],{},"تعلم الأساسيات:"," تعرف على مبادئ تصميم UX وUI، بالإضافة إلى الأدوات والتقنيات المستخدمة في المجال.",[189,42849,42850,42853],{},[174,42851,42852],{},"بناء معرض أعمال:"," أنشئ معرض أعمال يعرض مهاراتك وقدراتك. يمكن أن يشمل مشاريع أكملتها كجزء من دراستك، بالإضافة إلى مشاريع شخصية.",[189,42855,42856,42859],{},[174,42857,42858],{},"الحصول على شهادة:"," فكر في الحصول على شهادة في تصميم UX أو UI. يمكن أن يساعدك ذلك في التميز في سوق العمل وإظهار معرفتك ومهاراتك لأصحاب العمل المحتملين.",[189,42861,42862,42865],{},[174,42863,42864],{},"بناء شبكتك:"," تواصل مع مصممين آخرين ومحترفين في المجال. يمكن القيام بذلك من خلال المجتمعات عبر الإنترنت واللقاءات وفعاليات التواصل.",[189,42867,42868,42871],{},[174,42869,42870],{},"العثور على وظيفة:"," بمجرد حصولك على المهارات والخبرة المطلوبة، ابدأ البحث عن فرص عمل في تصميم UI/UX. تأكد من تحسين سيرتك الذاتية ومعرض أعمالك لمحركات البحث لزيادة فرص العثور عليك من قبل أصحاب العمل المحتملين.",[12,42873,42874],{},"بشكل عام، تصميم UI/UX هو مجال مطلوب بشدة مع إمكانية كبيرة لمهنة مربحة. إذا كان لديك اهتمام في التصميم ورغبة في إنشاء تجارب جذابة وبديهية للمستخدمين، فمن المفيد التفكير في مهنة في تصميم UI/UX.",[16,42876,42878],{"id":42877},"تصميم-uiux-في-2025-ثورة-الذكاء-الاصطناعي","تصميم UI/UX في 2025: ثورة الذكاء الاصطناعي",[209,42880,42882],{"id":42881},"كيف-يغير-الذكاء-الاصطناعي-المهنة","كيف يغير الذكاء الاصطناعي المهنة",[12,42884,42885],{},"تغيرت خريطة تصميم UI/UX بشكل كبير مع ظهور أدوات الذكاء الاصطناعي. بينما خاف البعض من أن يحل الذكاء الاصطناعي محل المصممين، فإن الواقع أكثر تعقيداً – أصبح الذكاء الاصطناعي أداة أساسية تعزز الإنتاجية والإبداع.",[12,42887,42888],{},[174,42889,42890],{},"أدوات الذكاء الاصطناعي الحالية التي يجب على كل مصمم معرفتها:",[12,42892,42893],{},[174,42894,42895],{},"Figma AI (مدمج):",[186,42897,42898,42901,42904,42907],{},[189,42899,42900],{},"إنشاء تخطيطات من وصف نصي",[189,42902,42903],{},"اقتراحات التخطيط التلقائي",[189,42905,42906],{},"إنشاء متغيرات المكونات",[189,42908,42909],{},"إنشاء لوحات ألوان ذكية",[12,42911,42912],{},[174,42913,42914],{},"Uizard & TeleportHQ:",[186,42916,42917,42920,42923],{},[189,42918,42919],{},"تحويل الرسومات اليدوية إلى نماذج أولية عالية الدقة",[189,42921,42922],{},"إنشاء واجهة مستخدم كاملة من wireframes بسيطة",[189,42924,42925],{},"تصدير كود جاهز للإنتاج",[12,42927,42928],{},[174,42929,42930],{},"Anthropic Claude & ChatGPT:",[186,42932,42933,42936,42939,42942],{},[189,42934,42935],{},"توليد أفكار لحلول التصميم",[189,42937,42938],{},"إنشاء نصوص دقيقة وتدفقات مستخدم",[189,42940,42941],{},"إنشاء شخصيات مستخدم ورحلاتهم",[189,42943,42944],{},"تحليل تصاميم المنافسين",[12,42946,42947],{},[174,42948,42949],{},"Midjourney & DALL-E 3:",[186,42951,42952,42955,42958],{},[189,42953,42954],{},"إنشاء نماذج واجهة مستخدم ورسوم توضيحية",[189,42956,42957],{},"إنشاء مجموعات أيقونات مخصصة",[189,42959,42960],{},"تصميم لوحات مزاج ودليل أسلوب",[12,42962,42963],{},[174,42964,42965],{},"Relume & Framer AI:",[186,42967,42968,42971,42974],{},[189,42969,42970],{},"بناء مواقع ويب كاملة من الطلبات",[189,42972,42973],{},"إنشاء تخطيطات متجاوبة",[189,42975,42976],{},"إنشاء نماذج أولية تفاعلية",[209,42978,42980],{"id":42979},"مجموعة-المهارات-الجديدة-للمصمم-2025","مجموعة المهارات الجديدة للمصمم (2025)",[12,42982,42983],{},[174,42984,32326],{},[186,42986,42987,42990,42993,42996,42999],{},[189,42988,42989],{},"إتقان Figma (لا يزال المعيار الصناعي)",[189,42991,42992],{},"تطوير الواجهة الأمامية الأساسي (HTML/CSS/JavaScript)",[189,42994,42995],{},"أنظمة التصميم ومكتبات المكونات",[189,42997,42998],{},"معايير إمكانية الوصول (WCAG 2.1 AA)",[189,43000,43001],{},"تصميم الحركة والتفاعلات الدقيقة",[12,43003,43004],{},[174,43005,43006],{},"المهارات الإبداعية:",[186,43008,43009,43012,43015,43018,43021],{},[189,43010,43011],{},"حل المشكلات المعقدة",[189,43013,43014],{},"التفكير في التجربة الكاملة",[189,43016,43017],{},"فهم السلوك البشري والنفسي",[189,43019,43020],{},"سرد القصص من خلال التصميم",[189,43022,43023],{},"التكيف مع تغييرات المتطلبات",[12,43025,43026],{},[174,43027,43028],{},"المهارات الأخرى:",[186,43030,43031,43034,43037,43040],{},[189,43032,43033],{},"أساسيات البحث والاختبار",[189,43035,43036],{},"إدارة المشاريع والتعاون",[189,43038,43039],{},"فهم الأعمال والتسويق",[189,43041,43042],{},"التواصل والعرض",[16,43044,43046],{"id":43045},"سوق-العمل-لعام-2025-الواقع-والتوقعات","سوق العمل لعام 2025: الواقع والتوقعات",[209,43048,43050],{"id":43049},"الطلب-الحالي-والمستقبلي","الطلب الحالي والمستقبلي",[12,43052,43053],{},"شهد سوق تصميم UI/UX نمواً هائلاً في السنوات الأخيرة، ويتوقع أن يستمر هذا النمو في 2025 وما بعده.",[12,43055,43056],{},[174,43057,43058],{},"إحصائيات السوق الحالية:",[186,43060,43061,43067,43073,43079],{},[189,43062,43063,43066],{},[174,43064,43065],{},"متوسط الراتب العالمي:"," 75,000-120,000 دولار سنوياً",[189,43068,43069,43072],{},[174,43070,43071],{},"معدل النمو الوظيفي:"," 13% سنوياً (أسرع من المتوسط)",[189,43074,43075,43078],{},[174,43076,43077],{},"الشركات تبحث عن مصممين:"," 50,000+ فرصة عمل نشطة على LinkedIn",[189,43080,43081,43084],{},[174,43082,43083],{},"الأكثر طلباً:"," مصممي UX/UI، Product Designers، Design Systems Specialists",[12,43086,43087],{},[174,43088,43089],{},"القطاعات الأكثر نمواً:",[186,43091,43092,43098,43104,43110],{},[189,43093,43094,43097],{},[174,43095,43096],{},"التكنولوجيا المالية (FinTech):"," 85% من الشركات تحتاج مصممين متخصصين",[189,43099,43100,43103],{},[174,43101,43102],{},"الرعاية الصحية:"," نمو 65% في الطلب على تجارب المرضى الرقمية",[189,43105,43106,43109],{},[174,43107,43108],{},"التجارة الإلكترونية:"," 70% زيادة في الحاجة لتجارب التسوق المحسنة",[189,43111,43112,43115],{},[174,43113,43114],{},"التعليم عبر الإنترنت:"," 90% نمو في منصات التعلم التفاعلية",[209,43117,43119],{"id":43118},"الرواتب-حسب-المستوى-والموقع","الرواتب حسب المستوى والموقع",[12,43121,43122],{},[174,43123,43124],{},"المبتدئ (0-2 سنوات خبرة):",[186,43126,43127,43130,43133],{},[189,43128,43129],{},"الشرق الأوسط: 25,000-45,000 دولار",[189,43131,43132],{},"أوروبا: 35,000-55,000 دولار",[189,43134,43135],{},"أمريكا الشمالية: 60,000-85,000 دولار",[12,43137,43138],{},[174,43139,43140],{},"المتوسط (3-5 سنوات):",[186,43142,43143,43146,43149],{},[189,43144,43145],{},"الشرق الأوسط: 45,000-75,000 دولار",[189,43147,43148],{},"أوروبا: 55,000-85,000 دولار",[189,43150,43151],{},"أمريكا الشمالية: 85,000-120,000 دولار",[12,43153,43154],{},[174,43155,43156],{},"الخبير (5+ سنوات):",[186,43158,43159,43162,43165],{},[189,43160,43161],{},"الشرق الأوسط: 75,000-150,000 دولار",[189,43163,43164],{},"أوروبا: 85,000-140,000 دولار",[189,43166,43167],{},"أمريكا الشمالية: 120,000-200,000+ دولار",[12,43169,43170],{},[174,43171,43172],{},"العوامل المؤثرة على الراتب:",[186,43174,43175,43178,43181,43184],{},[189,43176,43177],{},"الخبرة في أدوات الذكاء الاصطناعي",[189,43179,43180],{},"المهارات في Design Systems",[189,43182,43183],{},"الخبرة في تطوير المنتجات",[189,43185,43186],{},"الشهادات والاعتمادات",[16,43188,43190],{"id":43189},"خارطة-طريق-لتصبح-مصمم-uiux-في-2025","خارطة طريق لتصبح مصمم UI/UX في 2025",[209,43192,43194],{"id":43193},"الشهر-1-2-بناء-الأساسيات","الشهر 1-2: بناء الأساسيات",[12,43196,43197],{},[174,43198,43199],{},"الأسبوع 1-2: تعلم أساسيات التصميم",[186,43201,43202,43205,43208],{},[189,43203,43204],{},"دورة \"The Non-Designer's Design Book\"",[189,43206,43207],{},"أساسيات اللون، التخطيط، والتايبوغرافيا",[189,43209,43210],{},"تمارين يومية على Dribbble",[12,43212,43213],{},[174,43214,43215],{},"الأسبوع 3-4: إتقان Figma",[186,43217,43218,43221,43224],{},[189,43219,43220],{},"جميع الدروس المجانية على Figma Learn",[189,43222,43223],{},"إعادة إنشاء تصاميم شهيرة",[189,43225,43226],{},"فهم Auto Layout وComponents",[209,43228,43230],{"id":43229},"الشهر-3-4-الغوص-في-ux","الشهر 3-4: الغوص في UX",[12,43232,43233],{},[174,43234,43235],{},"مبادئ UX الأساسية:",[186,43237,43238,43241,43244,43247],{},[189,43239,43240],{},"User Research وUser Personas",[189,43242,43243],{},"Wireframing وPrototyping",[189,43245,43246],{},"Usability Testing",[189,43248,43249],{},"Information Architecture",[12,43251,43252],{},[174,43253,43254],{},"أدوات التعلم:",[186,43256,43257,43260,43263],{},[189,43258,43259],{},"Coursera's Google UX Design Certificate (مجاني)",[189,43261,43262],{},"Nielsen Norman Group articles",[189,43264,43265],{},"UX Magazine",[209,43267,43269],{"id":43268},"الشهر-5-6-تخصص-في-ui","الشهر 5-6: تخصص في UI",[12,43271,43272],{},[174,43273,43274],{},"مهارات UI المتقدمة:",[186,43276,43277,43280,43283,43286],{},[189,43278,43279],{},"Design Systems وComponent Libraries",[189,43281,43282],{},"Micro-interactions وAnimations",[189,43284,43285],{},"Responsive Design",[189,43287,43288],{},"Accessibility Standards",[12,43290,43291],{},[174,43292,43293],{},"مشاريع عملية:",[186,43295,43296,43299,43302],{},[189,43297,43298],{},"إعادة تصميم موقع ويب شهير",[189,43300,43301],{},"إنشاء تطبيق جوال كامل",[189,43303,43304],{},"بناء نظام تصميم لشركة وهمية",[209,43306,43308],{"id":43307},"الشهر-7-8-دمج-الذكاء-الاصطناعي","الشهر 7-8: دمج الذكاء الاصطناعي",[12,43310,43311],{},[174,43312,43313],{},"أدوات AI الأساسية:",[186,43315,43316,43319,43322,43325],{},[189,43317,43318],{},"Midjourney للتصاميم البصرية",[189,43320,43321],{},"ChatGPT للبحث والكتابة",[189,43323,43324],{},"Uizard للنماذج السريعة",[189,43326,43327],{},"Figma AI للإنتاجية",[12,43329,43330],{},[174,43331,43332],{},"سير عمل AI-First:",[186,43334,43335,43338,43341],{},[189,43336,43337],{},"استخدام AI كمساعد، ليس بديلاً",[189,43339,43340],{},"التركيز على الإبداع البشري",[189,43342,43343],{},"دمج AI في عملية التصميم",[209,43345,43347],{"id":43346},"الشهر-9-12-بناء-الخبرة-والمعرض","الشهر 9-12: بناء الخبرة والمعرض",[12,43349,43350],{},[174,43351,43352],{},"بناء معرض أعمال قوي:",[186,43354,43355,43358,43361],{},[189,43356,43357],{},"5-8 مشاريع متنوعة",[189,43359,43360],{},"دراسات حالة مفصلة",[189,43362,43363],{},"عملاء حقيقيون أو مشاريع شخصية",[12,43365,43366],{},[174,43367,43368],{},"الحصول على خبرة:",[186,43370,43371,43374,43377],{},[189,43372,43373],{},"مشاريع مفتوحة المصدر",[189,43375,43376],{},"تصميم للجمعيات الخيرية",[189,43378,43379],{},"منصات مثل Upwork أو Fiverr",[12,43381,43382],{},[174,43383,43384],{},"التواصل والتعلم المستمر:",[186,43386,43387,43390,43393],{},[189,43388,43389],{},"حضور مؤتمرات التصميم",[189,43391,43392],{},"الانضمام إلى مجتمعات مثل Designer Hangout",[189,43394,43395],{},"متابعة قادة الرأي على Twitter/LinkedIn",[16,43397,43399],{"id":43398},"الاعتمادات-والشهادات-الموصى-بها","الاعتمادات والشهادات الموصى بها",[209,43401,43403],{"id":43402},"الشهادات-المعترف-بها-دولياً","الشهادات المعترف بها دولياً:",[186,43405,43406,43412,43418,43424],{},[189,43407,43408,43411],{},[174,43409,43410],{},"Google UX Design Certificate:"," شامل ومعترف به",[189,43413,43414,43417],{},[174,43415,43416],{},"Interaction Design Foundation:"," متخصص في UX",[189,43419,43420,43423],{},[174,43421,43422],{},"Adobe Certified Expert:"," لأدوات Adobe",[189,43425,43426,43429],{},[174,43427,43428],{},"Figma Professional Certification:"," لإتقان Figma",[209,43431,43433],{"id":43432},"الدورات-المتقدمة","الدورات المتقدمة:",[186,43435,43436,43442,43448,43454],{},[189,43437,43438,43441],{},[174,43439,43440],{},"Refactoring UI:"," لتحسين مهارات UI",[189,43443,43444,43447],{},[174,43445,43446],{},"Design Systems:"," للتصميم على نطاق واسع",[189,43449,43450,43453],{},[174,43451,43452],{},"UX Research:"," للبحث والاختبار",[189,43455,43456,43459],{},[174,43457,43458],{},"Design Leadership:"," للنمو المهني",[16,43461,43463],{"id":43462},"نصائح-للنجاح-في-2025","نصائح للنجاح في 2025",[209,43465,43467],{"id":43466},"_1-اعتمد-على-الذكاء-الاصطناعي-كأداة-لا-كبديل","1. اعتمد على الذكاء الاصطناعي كأداة، لا كبديل",[12,43469,43470],{},"الذكاء الاصطناعي يمكن أن يسرع عملك، لكنه لا يمكنه استبدال الإبداع البشري والتعاطف مع المستخدمين.",[209,43472,43474],{"id":43473},"_2-ركز-على-التجربة-الكاملة","2. ركز على التجربة الكاملة",[12,43476,43477],{},"لا تركز على التصميم البصري فقط – فكر في كيفية تفاعل المستخدم مع المنتج من البداية إلى النهاية.",[209,43479,43481],{"id":43480},"_3-تعلم-التطوير-الأساسي","3. تعلم التطوير الأساسي",[12,43483,43484],{},"معرفة HTML/CSS/JavaScript ستجعلك مصمماً أفضل وتفتح أبواباً أكثر.",[209,43486,43488],{"id":43487},"_4-ابن-شبكة-قوية","4. ابن شبكة قوية",[12,43490,43491],{},"المجتمع مهم جداً في مجال التصميم – تواصل مع مصممين آخرين وشارك أعمالك.",[209,43493,43495],{"id":43494},"_5-كن-مرناً-ومستعداً-للتعلم-المستمر","5. كن مرناً ومستعداً للتعلم المستمر",[12,43497,43498],{},"المجال يتغير بسرعة – كن مستعداً لتعلم أدوات وتقنيات جديدة بانتظام.",[16,43500,43502],{"id":43501},"الخاتمة-مستقبل-مشرق-لمصممي-uiux","الخاتمة: مستقبل مشرق لمصممي UI/UX",[12,43504,43505],{},"في 2025، أصبح تصميم UI/UX مهنة أكثر إثارة ومربحة من أي وقت مضى. مع دمج الذكاء الاصطناعي كأداة مساعدة بدلاً من تهديد، يمكن للمصممين التركيز على ما يجيدون فيه حقاً: حل المشكلات البشرية وإنشاء تجارب رائعة.",[12,43507,43508],{},[174,43509,43510],{},"المهارات الأساسية للنجاح:",[186,43512,43513,43516,43519,43522,43525],{},[189,43514,43515],{},"فهم عميق لاحتياجات المستخدمين",[189,43517,43518],{},"إتقان أدوات التصميم الحديثة",[189,43520,43521],{},"قدرة على العمل مع الذكاء الاصطناعي",[189,43523,43524],{},"مهارات التواصل والتعاون",[189,43526,43527],{},"التزام بالتعلم المستمر",[12,43529,43530],{},"إذا كنت تحب حل المشكلات وإنشاء تجارب جميلة ومفيدة، فإن مهنة تصميم UI/UX تنتظرك. مع الطلب المتزايد والرواتب المجزية والفرص الإبداعية، إنها واحدة من أفضل المهن في العصر الرقمي.",[12,43532,43533,43536],{},[174,43534,43535],{},"ابدأ رحلتك اليوم – المستقبل ينتظر تصاميمك!"," 🎨",{"title":42,"searchDepth":43,"depth":43,"links":43538},[43539,43540,43541,43542,43543,43544,43548,43552,43559,43563,43570],{"id":42807,"depth":46,"text":42808},{"id":42814,"depth":46,"text":42815},{"id":42821,"depth":46,"text":42822},{"id":42828,"depth":46,"text":42829},{"id":42835,"depth":46,"text":42836},{"id":42877,"depth":46,"text":42878,"children":43545},[43546,43547],{"id":42881,"depth":43,"text":42882},{"id":42979,"depth":43,"text":42980},{"id":43045,"depth":46,"text":43046,"children":43549},[43550,43551],{"id":43049,"depth":43,"text":43050},{"id":43118,"depth":43,"text":43119},{"id":43189,"depth":46,"text":43190,"children":43553},[43554,43555,43556,43557,43558],{"id":43193,"depth":43,"text":43194},{"id":43229,"depth":43,"text":43230},{"id":43268,"depth":43,"text":43269},{"id":43307,"depth":43,"text":43308},{"id":43346,"depth":43,"text":43347},{"id":43398,"depth":46,"text":43399,"children":43560},[43561,43562],{"id":43402,"depth":43,"text":43403},{"id":43432,"depth":43,"text":43433},{"id":43462,"depth":46,"text":43463,"children":43564},[43565,43566,43567,43568,43569],{"id":43466,"depth":43,"text":43467},{"id":43473,"depth":43,"text":43474},{"id":43480,"depth":43,"text":43481},{"id":43487,"depth":43,"text":43488},{"id":43494,"depth":43,"text":43495},{"id":43501,"depth":46,"text":43502},"product-development","هل لا يزال تصميم UI/UX مطلوباً في عصر الذكاء الاصطناعي؟ استكشف سوق العمل لعام 2025، نطاقات الرواتب، كيف تغيرت أدوات الذكاء الاصطناعي المهنة، وخارطة طريق عملية لتصبح مصمم UI/UX.","https://images.unsplash.com/photo-1531403009284-440f080d1e12?q=80&w=1200",{"excerpt":43575},{"type":9,"value":43576},[43577,43581],[400,43578,43579],{},[12,43580,42798],{},[12,43582,42801],{},"/mhnh-tsmym-ui-ux-fy-2025","2022-12-16",{"title":42791,"description":43572},"مهنة-تصميم-ui-ux-في-2025",[28396,1472,28397,28398,2044],"CkkFGUXojx3su61EPkecMZrfqwwc0-TRwIHjcwT8nQU",{"id":43590,"title":43591,"author":7,"body":43592,"category":2371,"description":44553,"extension":52,"image":2373,"isDraft":55,"isFeatured":54,"locale":56,"meta":44554,"navigation":54,"path":44561,"publishedAt":10362,"readingTime":2380,"seo":44562,"stem":44563,"tags":44564,"updatedAt":1476,"__hash__":44568},"articles_ar/نصائح-إدارة-المنتجات-للشركات-الناشئة.md","10 نصائح أساسية لإدارة المنتجات للازدهار في بيئة الشركات الناشئة (2025)",{"type":9,"value":43593,"toc":44515},[43594,43597,43600,43604,43607,43611,43616,43627,43632,43643,43648,43659,43664,43668,43671,43675,43680,43686,43691,43702,43707,43718,43722,43725,43729,43733,43744,43749,43760,43765,43776,43780,43783,43787,43792,43797,43808,43813,43824,43829,43840,43845,43870,43874,43879,43905,43910,43924,43928,43931,43935,43940,43954,43958,43969,43974,43984,43988,43991,43995,44009,44013,44018,44032,44037,44048,44052,44055,44059,44064,44102,44107,44133,44137,44142,44153,44158,44169,44173,44176,44180,44185,44196,44201,44212,44217,44231,44235,44238,44242,44247,44267,44272,44292,44297,44317,44319,44323,44337,44341,44355,44359,44362,44366,44371,44382,44387,44398,44403,44414,44418,44423,44449,44454,44468,44472,44475,44507,44510],[12,43595,43596],{},"إدارة المنتجات في شركة ناشئة هي وحش مختلف تماماً مقارنة بالشركات المؤسسة. الموارد نادرة، السرعة أمر بالغ الأهمية، والقدرة على التكيف مع المشهد المتغير بسرعة أمر حاسم. غالباً ما يرتدي مديرو المنتجات في الشركات الناشئة قبعات متعددة ويعملون بدرجة عالية من عدم اليقين. في 2025، مع أدوات الذكاء الاصطناعي التي تغير المشهد، تطورت الدور أكثر.",[12,43598,43599],{},"ليس فقط للبقاء بل للازدهار في هذه البيئة الديناميكية، إليك عشر نصائح أساسية تدمج الأدوات والمنهجيات الحديثة:",[16,43601,43603],{"id":43602},"_1-فهم-المستخدمين-بعمق-ومشكلاتهم-الأساسية","1. فهم المستخدمين بعمق ومشكلاتهم الأساسية",[12,43605,43606],{},"في شركة ناشئة، ليس لديك رفاهية تلبية سوق واسع في البداية. بقاؤك يعتمد على حل مشكلة مؤلمة محددة لقطاع محدد جيداً من المستخدمين الأوائل.",[209,43608,43610],{"id":43609},"تقنيات-بحث-المستخدم-الحديثة-2025","تقنيات بحث المستخدم الحديثة (2025)",[12,43612,43613],{},[174,43614,43615],{},"رؤى المستخدم المدعومة بالذكاء الاصطناعي:",[186,43617,43618,43621,43624],{},[189,43619,43620],{},"استخدم أدوات مثل UserTesting AI لاختبار قابلية الاستخدام الآلي",[189,43622,43623],{},"استفد من ChatGPT لتحليل نصوص مقابلات المستخدمين",[189,43625,43626],{},"طبق تحليل المشاعر الآلي على تذاكر الدعم",[12,43628,43629],{},[174,43630,43631],{},"الاكتشاف المستمر:",[186,43633,43634,43637,43640],{},[189,43635,43636],{},"أعد خطوط أنابيب مقابلات المستخدمين (هدف 2-3 مقابلات أسبوعياً)",[189,43638,43639],{},"أنشئ خرائط رحلة المستخدم مع بيانات سلوكية حقيقية",[189,43641,43642],{},"استخدم الخرائط الحرارية وتسجيلات الجلسات (Hotjar، FullStory) للرؤى الكمية",[12,43644,43645],{},[174,43646,43647],{},"التحقق الخفيف:",[186,43649,43650,43653,43656],{},[189,43651,43652],{},"تجارب أسبوع واحد بدلاً من مشاريع ثلاثة أشهر",[189,43654,43655],{},"اختبار الباب المزيف لاهتمام الميزات",[189,43657,43658],{},"اختبارات A/B لصفحات الهبوط للتحقق من ملاءمة المشكلة-الحل",[12,43660,43661,43663],{},[174,43662,27002],{}," أنشئ \"بنك قصص المستخدم\" - وثيقة حية لمشكلات المستخدمين المتحققة التي تصبح أساس خارطة طريق منتجك.",[16,43665,43667],{"id":43666},"_2-مارس-التحديد-الأولوي-الشرس-التركيز-هو-قوتك-الخارقة","2. مارس التحديد الأولوي الشرس: التركيز هو قوتك الخارقة",[12,43669,43670],{},"الشركات الناشئة دائماً مقيدة بالموارد (الوقت، المال، الأشخاص). محاولة فعل الكثير جداً مبكراً هو وصفة شائعة للفشل. التحديد الأولوي الفعال غير قابل للتفاوض.",[209,43672,43674],{"id":43673},"إطارات-التحديد-الأولوي-المتقدمة","إطارات التحديد الأولوي المتقدمة",[12,43676,43677],{},[174,43678,43679],{},"تسجيل RICE في الممارسة:",[577,43681,43684],{"className":43682,"code":43683,"language":582},[580],"RICE = (الوصول × التأثير × الثقة) ÷ الجهد\n\nمثال ميزة: \"الوضع المظلم\"\n- الوصول: 40% من المستخدمين (400 مستخدم)\n- التأثير: عالي (3.0 - يحسن تجربة المستخدم بشكل كبير)\n- الثقة: 80% (0.8 - بناءً على تعليقات المستخدمين)\n- الجهد: أسبوعان (أسبوعان شخص)\n\nنتيجة RICE: (400 × 3.0 × 0.8) ÷ 2 = 480\n",[584,43685,43683],{"__ignoreMap":42},[12,43687,43688],{},[174,43689,43690],{},"التفكير في تكلفة الفرصة:",[186,43692,43693,43696,43699],{},[189,43694,43695],{},"كل \"نعم\" لميزة هو \"لا\" لشيء آخر",[189,43697,43698],{},"احسب تكلفة التأخير للعناصر ذات الأولوية العالية",[189,43700,43701],{},"استخدم مصفوفة Eisenhower لإدارة المهام اليومية",[12,43703,43704],{},[174,43705,43706],{},"تركيز مقياس النجم الشمالي:",[186,43708,43709,43712,43715],{},[189,43710,43711],{},"اختر مقياساً واحداً يمثل نجاح المنتج",[189,43713,43714],{},"قم بمحاذاة جميع قرارات التحديد الأولوي مع هذا المقياس",[189,43716,43717],{},"مثال: لأداة B2B SaaS، قد يكون \"المستخدمون النشطون يومياً في مستخدمي الطاقة\"",[16,43719,43721],{"id":43720},"_3-تواصل-بفعالية-وتعزيز-التوافق","3. تواصل بفعالية وتعزيز التوافق",[12,43723,43724],{},"في بيئة الشركات الناشئة السريعة الوتيرة والتي غالباً ما تكون فوضوية، التواصل الواضح والمتسق والشفاف أمر حيوي للحفاظ على الجميع يجدف في نفس الاتجاه.",[209,43726,43728],{"id":43727},"أدوات-وتقنيات-التواصل-الحديثة","أدوات وتقنيات التواصل الحديثة",[12,43730,43731],{},[174,43732,27026],{},[186,43734,43735,43738,43741],{},[189,43736,43737],{},"استخدم Notion أو Coda لوثائق المنتج الحية",[189,43739,43740],{},"سجل فيديوهات Loom للشرحات المعقدة",[189,43742,43743],{},"طبق \"العمل للخلف\" من مستندات متطلبات المنتج (PRDs)",[12,43745,43746],{},[174,43747,43748],{},"إدارة أصحاب المصلحة:",[186,43750,43751,43754,43757],{},[189,43752,43753],{},"أنشئ نشرات تحديث المنتج (أسبوعية أو كل أسبوعين)",[189,43755,43756],{},"استخدم أدوات مثل Productboard لإدارة طلبات الميزات",[189,43758,43759],{},"طبق حلقات التعليقات مع فرق الهندسة والتصميم",[12,43761,43762],{},[174,43763,43764],{},"التوافق بين الوظائف:",[186,43766,43767,43770,43773],{},[189,43768,43769],{},"\"ساعات مكتب المنتج\" منتظمة للأسئلة العرضية",[189,43771,43772],{},"لوحات تحكم مشتركة تعرض مقاييس المنتج وتقدم الخارطة",[189,43774,43775],{},"\"مراجعات الجاهزية\" قبل بدء التطوير",[16,43777,43779],{"id":43778},"_4-قيس-ما-يهم-واتخذ-قرارات-مدعومة-بالبيانات","4. قيس ما يهم واتخذ قرارات مدعومة بالبيانات",[12,43781,43782],{},"بينما يلعب الحدس دوراً، فإن الاعتماد عليه وحده يمكن أن يكون خطيراً. تحتاج الشركات الناشئة إلى أن تكون مدفوعة بالبيانات للتعلم بسرعة والتكرار بفعالية.",[209,43784,43786],{"id":43785},"أدوات-ومقاييس-القياس-لعام-2025","أدوات ومقاييس القياس لعام 2025",[12,43788,43789],{},[174,43790,43791],{},"مقاييس أساسية حسب مراحل الشركة الناشئة:",[12,43793,43794],{},[174,43795,43796],{},"قبل المنتج (التحقق من المشكلة):",[186,43798,43799,43802,43805],{},[189,43800,43801],{},"التحقق من المشكلة: معدلات تحويل مقابلات المستخدمين",[189,43803,43804],{},"التحقق من الاهتمام: معدلات التسجيل في القوائم البريدية، نمو قائمة الانتظار",[189,43806,43807],{},"التحقق من السوق: تحليل المنافسين، تقديرات حجم السوق",[12,43809,43810],{},[174,43811,43812],{},"مرحة MVP:",[186,43814,43815,43818,43821],{},[189,43816,43817],{},"ملاءمة المنتج-السوق: منحنيات الاحتفاظ، معدلات استخدام التكرار",[189,43819,43820],{},"المشاركة: الوقت للقيمة الأولى، معدلات اعتماد الميزات",[189,43822,43823],{},"الجودة: معدلات الأعطال، حجم تذاكر الدعم",[12,43825,43826],{},[174,43827,43828],{},"مرحة النمو:",[186,43830,43831,43834,43837],{},[189,43832,43833],{},"المقاييس التجارية: قيمة العمر المتوقع للعميل، تكلفة اكتساب العميل",[189,43835,43836],{},"مقاييس المنتج: استخدام الميزات، تجزئة المستخدمين",[189,43838,43839],{},"التشغيلية: سرعة التطوير، تكرار النشر",[12,43841,43842],{},[174,43843,43844],{},"حزمة التحليلات الحديثة:",[186,43846,43847,43853,43858,43864],{},[189,43848,43849,43852],{},[174,43850,43851],{},"Amplitude/Mixpanel:"," تحليلات سلوك المستخدم",[189,43854,43855,43857],{},[174,43856,8779],{}," تحليلات المنتج مع اختبار A/B",[189,43859,43860,43863],{},[174,43861,43862],{},"Looker/Tableau:"," لوحات تحكم المعلومات التجارية",[189,43865,43866,43869],{},[174,43867,43868],{},"Google Analytics 4:"," تحليلات الويب مع تعزيز التجارة الإلكترونية",[209,43871,43873],{"id":43872},"أفضل-الممارسات-لاختبار-ab","أفضل الممارسات لاختبار A/B",[12,43875,43876],{},[174,43877,43878],{},"إطار الاختبار:",[1049,43880,43881,43887,43893,43899],{},[189,43882,43883,43886],{},[174,43884,43885],{},"الفرضية:"," \"إضافة مؤشر تقدم ستزيد من اكتمال النموذج بنسبة 15%\"",[189,43888,43889,43892],{},[174,43890,43891],{},"حجم العينة:"," احسب الدلالة الإحصائية (استخدم أدوات مثل Optimizely)",[189,43894,43895,43898],{},[174,43896,43897],{},"المدة:"," أسبوع إلى أسبوعين كحد أدنى، احسب للأنماط الأسبوعية",[189,43900,43901,43904],{},[174,43902,43903],{},"معايير النجاح:"," مقاييس محددة مسبقاً ومستويات الثقة",[12,43906,43907],{},[174,43908,43909],{},"الفخاخ الشائعة التي يجب تجنبها:",[186,43911,43912,43915,43918,43921],{},[189,43913,43914],{},"اختبار متغيرات كثيرة جداً في وقت واحد",[189,43916,43917],{},"عدم الوصول إلى الدلالة الإحصائية",[189,43919,43920],{},"تجاهل العوامل الخارجية (العطلات، الأخبار)",[189,43922,43923],{},"التحسين المفرط للمقاييس قصيرة الأجل",[16,43925,43927],{"id":43926},"_5-اعتمد-المرونة-وكن-مستعداً-للتكيف-بسرعة","5. اعتمد المرونة وكن مستعداً للتكيف (بسرعة!)",[12,43929,43930],{},"مشهد الشركات الناشئة معرف بالتغيير. يمكن لظروف السوق، تحركات المنافسين، وتعليقات المستخدمين أن تتطلب تغييرات سريعة في الاستراتيجية أو المنتج.",[209,43932,43934],{"id":43933},"ممارسات-agile-الحديثة","ممارسات Agile الحديثة",[12,43936,43937],{},[174,43938,43939],{},"منهجية Shape Up:",[186,43941,43942,43945,43948,43951],{},[189,43943,43944],{},"دورات 6 أسابيع بدلاً من سبرنتات أسبوعين",[189,43946,43947],{},"وقت ثابت، نطاق متغير",[189,43949,43950],{},"المراهنة على العمل الأكثر أهمية",[189,43952,43953],{},"تقلل من تبديل السياق وتحسن التركيز",[12,43955,43956],{},[174,43957,43631],{},[186,43959,43960,43963,43966],{},[189,43961,43962],{},"بحث المستخدم متكامل في كل سبرنت",[189,43964,43965],{},"أشجار حل الفرص لاستكشاف المشكلات",[189,43967,43968],{},"اختبار المعالجة السحرية للميزات المكلفة",[12,43970,43971],{},[174,43972,43973],{},"التجريب السريع:",[186,43975,43976,43979,43982],{},[189,43977,43978],{},"\"خدع حتى تصنع\" نمذجة أولية",[189,43980,43981],{},"اختبار concierge للتجارب الشخصية",[189,43983,8934],{},[16,43985,43987],{"id":43986},"_6-بناء-وصيانة-رؤية-المنتج","6. بناء وصيانة رؤية المنتج",[12,43989,43990],{},"في الفوضى التي تعيشها الشركات الناشئة، الحفاظ على رؤية واضحة للمنتج أمر حاسم لاتخاذ قرارات متسقة.",[209,43992,43994],{"id":43993},"الرؤية-مقابل-الخارطة","الرؤية مقابل الخارطة",[12,43996,43997,44000,44001,44004,44005,44008],{},[174,43998,43999],{},"رؤية المنتج:"," الوجهة النهائية (مثل: \"دمقرطة الذكاء الاصطناعي للشركات الصغيرة\")\n",[174,44002,44003],{},"استراتيجية المنتج:"," كيف سنصل إلى هناك (مثل: \"بناء أدوات ذكاء اصطناعي بدون كود\")\n",[174,44006,44007],{},"خارطة المنتج:"," المسار مع المعالم والجداول الزمنية",[209,44010,44012],{"id":44011},"تواصل-الرؤية","تواصل الرؤية",[12,44014,44015],{},[174,44016,44017],{},"وثائق الرؤية:",[186,44019,44020,44023,44026,44029],{},[189,44021,44022],{},"ملخص رؤية صفحة واحدة",[189,44024,44025],{},"ملفات تعريف المستخدمين المستهدفين",[189,44027,44028],{},"مقاييس النجاح الرئيسية",[189,44030,44031],{},"المشهد التنافسي",[12,44033,44034],{},[174,44035,44036],{},"مراجعات الرؤية المنتظمة:",[186,44038,44039,44042,44045],{},[189,44040,44041],{},"مراجعات رؤية شهرية مع الفريق",[189,44043,44044],{},"تحديثات رؤية ربع سنوية بناءً على التعلم",[189,44046,44047],{},"تحديث رؤية سنوي بناءً على تغييرات السوق",[16,44049,44051],{"id":44050},"_7-إتقان-إدارة-أصحاب-المصلحة","7. إتقان إدارة أصحاب المصلحة",[12,44053,44054],{},"لدى الشركات الناشئة العديد من أصحاب المصلحة ذوي الأولويات المتضاربة. الإدارة الفعالة مفتاح النجاح.",[209,44056,44058],{"id":44057},"رسم-خريطة-أصحاب-المصلحة","رسم خريطة أصحاب المصلحة",[12,44060,44061],{},[174,44062,44063],{},"تحديد أصحاب المصلحة الرئيسيين:",[186,44065,44066,44072,44078,44084,44090,44096],{},[189,44067,44068,44071],{},[174,44069,44070],{},"الفريق التنفيذي:"," التوافق الاستراتيجي، تخصيص الموارد",[189,44073,44074,44077],{},[174,44075,44076],{},"الهندسة:"," الجدوى التقنية، سرعة التطوير",[189,44079,44080,44083],{},[174,44081,44082],{},"التصميم:"," تجربة المستخدم، اتساق العلامة التجارية",[189,44085,44086,44089],{},[174,44087,44088],{},"التسويق:"," استراتيجية الذهاب إلى السوق، اكتساب المستخدمين",[189,44091,44092,44095],{},[174,44093,44094],{},"المبيعات/نجاح العملاء:"," احتياجات العملاء، الذكاء التنافسي",[189,44097,44098,44101],{},[174,44099,44100],{},"المستخدمون:"," التحقق من المنتج، طلبات الميزات",[12,44103,44104],{},[174,44105,44106],{},"وتيرة التواصل:",[186,44108,44109,44115,44121,44127],{},[189,44110,44111,44114],{},[174,44112,44113],{},"يومياً:"," سبرنتات الهندسة (إذا لزم الأمر)",[189,44116,44117,44120],{},[174,44118,44119],{},"أسبوعياً:"," مزامنة فريق المنتج، تحديثات أصحاب المصلحة",[189,44122,44123,44126],{},[174,44124,44125],{},"شهرياً:"," مراجعات تنفيذية، تخطيط الخارطة",[189,44128,44129,44132],{},[174,44130,44131],{},"ربع سنوياً:"," جلسات استراتيجية، تحديث الرؤية",[209,44134,44136],{"id":44135},"إدارة-التواصل-لأعلى-وللجانب","إدارة التواصل لأعلى وللجانب",[12,44138,44139],{},[174,44140,44141],{},"الإدارة التنفيذية:",[186,44143,44144,44147,44150],{},[189,44145,44146],{},"ركز على التأثير التجاري والتوافق الاستراتيجي",[189,44148,44149],{},"أعد ملخصات تنفيذية مع المقاييس الرئيسية",[189,44151,44152],{},"توقع الأسئلة وأعد إجابات مدعومة بالبيانات",[12,44154,44155],{},[174,44156,44157],{},"التعاون بين الوظائف:",[186,44159,44160,44163,44166],{},[189,44161,44162],{},"بنِ الثقة من خلال الشفافية والموثوقية",[189,44164,44165],{},"فهم قيود الفرق الأخرى وأولوياتها",[189,44167,44168],{},"ابحث عن حلول تفوز الجميع وتفيد جميع الأطراف",[16,44170,44172],{"id":44171},"_8-استثمر-في-تطوير-الفريق-والثقافة","8. استثمر في تطوير الفريق والثقافة",[12,44174,44175],{},"قدرات فريقك وثقافته تؤثر مباشرة على نجاح المنتج.",[209,44177,44179],{"id":44178},"بناء-فرق-موجهة-للمنتج","بناء فرق موجهة للمنتج",[12,44181,44182],{},[174,44183,44184],{},"التوظيف لإحساس المنتج:",[186,44186,44187,44190,44193],{},[189,44188,44189],{},"ابحث عن الفضول حول مشكلات المستخدم",[189,44191,44192],{},"قيس القدرة على اتخاذ قرارات التجارة",[189,44194,44195],{},"اختبر مهارات التواصل والتعاون",[12,44197,44198],{},[174,44199,44200],{},"تطوير الفريق:",[186,44202,44203,44206,44209],{},[189,44204,44205],{},"تدريب منتج منتظم وورش عمل",[189,44207,44208],{},"تدوير المشاريع بين الوظائف",[189,44210,44211],{},"برامج الإرشاد للأعضاء الجدد",[12,44213,44214],{},[174,44215,44216],{},"ثقافة المنتج:",[186,44218,44219,44222,44225,44228],{},[189,44220,44221],{},"شجع التعاطف مع العملاء والتركيز عليهم",[189,44223,44224],{},"احتفل بالتعلم من الأخطاء",[189,44226,44227],{},"كافئ اتخاذ القرارات المدعومة بالبيانات",[189,44229,44230],{},"عزز السلامة النفسية للتعليقات الصادقة",[16,44232,44234],{"id":44233},"_9-استفد-من-أدوات-الذكاء-الاصطناعي-للإنتاجية","9. استفد من أدوات الذكاء الاصطناعي للإنتاجية",[12,44236,44237],{},"الذكاء الاصطناعي يغير إدارة المنتجات في 2025، لكنه أداة، لا بديل.",[209,44239,44241],{"id":44240},"الذكاء-الاصطناعي-لمديري-المنتجات","الذكاء الاصطناعي لمديري المنتجات",[12,44243,44244],{},[174,44245,44246],{},"البحث والتحليل:",[186,44248,44249,44255,44261],{},[189,44250,44251,44254],{},[174,44252,44253],{},"ChatGPT/Claude:"," تحليل مقابلات المستخدمين، البحث التنافسي",[189,44256,44257,44260],{},[174,44258,44259],{},"Jasper/Copy.ai:"," رسائل المنتج وتوثيقه",[189,44262,44263,44266],{},[174,44264,44265],{},"Obviously.ai:"," رؤى اختبار A/B الآلي",[12,44268,44269],{},[174,44270,44271],{},"التخطيط والخرائط:",[186,44273,44274,44280,44286],{},[189,44275,44276,44279],{},[174,44277,44278],{},"Productboard AI:"," اقتراحات التحديد الأولوي الآلي",[189,44281,44282,44285],{},[174,44283,44284],{},"Aha! AI:"," تحسين الخارطة وتخطيط الموارد",[189,44287,44288,44291],{},[174,44289,44290],{},"Linear AI:"," تصنيف الإصدارات الذكي",[12,44293,44294],{},[174,44295,44296],{},"تجربة المستخدم:",[186,44298,44299,44305,44311],{},[189,44300,44301,44304],{},[174,44302,44303],{},"Maze AI:"," تحليل اختبار قابلية الاستخدام الآلي",[189,44306,44307,44310],{},[174,44308,44309],{},"UserTesting AI:"," رؤى تعليقات المستخدم المدعومة بالذكاء الاصطناعي",[189,44312,44313,44316],{},[174,44314,44315],{},"Hotjar AI:"," تحليل الخرائط الحرارية الآلي",[209,44318,9038],{"id":9037},[12,44320,44321],{},[174,44322,9043],{},[186,44324,44325,44328,44331,44334],{},[189,44326,44327],{},"المهام المتكررة (تحليل البيانات، إنشاء التقارير)",[189,44329,44330],{},"التعرف على الأنماط في بيانات المستخدم",[189,44332,44333],{},"مسودات التوثيق الأولية",[189,44335,44336],{},"البحث والجمع المعلوماتي",[12,44338,44339],{},[174,44340,9062],{},[186,44342,44343,44346,44349,44352],{},[189,44344,44345],{},"اتخاذ القرارات الاستراتيجية",[189,44347,44348],{},"التعاطف مع المستخدم والفهم",[189,44350,44351],{},"الرؤية الإبداعية واتجاه المنتج",[189,44353,44354],{},"التحقق النهائي من الأمور المهمة",[16,44356,44358],{"id":44357},"_10-ركز-على-النمو-المستدام","10. ركز على النمو المستدام",[12,44360,44361],{},"نجاح الشركات الناشئة ليس نمواً سريعاً فحسب – إنه نمو مستدام ومربح.",[209,44363,44365],{"id":44364},"نماذج-النمو-لعام-2025","نماذج النمو لعام 2025",[12,44367,44368],{},[174,44369,44370],{},"النمو المدفوع بالمنتج (PLG):",[186,44372,44373,44376,44379],{},[189,44374,44375],{},"يكتشف المستخدمون ويعتمدون المنتج عضوياً",[189,44377,44378],{},"نماذج freemium مع مسارات ترقية واضحة",[189,44380,44381],{},"تجربة العملاء الذاتية",[12,44383,44384],{},[174,44385,44386],{},"النمو المدفوع بالمبيعات (SLG):",[186,44388,44389,44392,44395],{},[189,44390,44391],{},"مبيعات مباشرة للحلول المعقدة عالية القيمة",[189,44393,44394],{},"استراتيجيات التسويق المبنية على الحسابات",[189,44396,44397],{},"دورات مبيعات طويلة مع لمس عالي",[12,44399,44400],{},[174,44401,44402],{},"النهج المختلطة:",[186,44404,44405,44408,44411],{},[189,44406,44407],{},"العملاء المؤهلون بالمنتج (PQLs) لاستهداف المبيعات",[189,44409,44410],{},"توسيع الحساب من خلال تحليلات استخدام المنتج",[189,44412,44413],{},"استراتيجيات النمو المدفوعة بالمجتمع",[209,44415,44417],{"id":44416},"المقاييس-المستدامة","المقاييس المستدامة",[12,44419,44420],{},[174,44421,44422],{},"خارج مقاييس التباهي:",[186,44424,44425,44431,44437,44443],{},[189,44426,44427,44430],{},[174,44428,44429],{},"تحليل التجميع:"," تتبع سلوك المستخدم مع مرور الوقت",[189,44432,44433,44436],{},[174,44434,44435],{},"الاقتصاد الوحدي:"," تكلفة اكتساب العميل مقابل قيمة العمر المتوقع",[189,44438,44439,44442],{},[174,44440,44441],{},"ملاءمة المنتج-السوق:"," قيس باستخدام اختبار شان إليس",[189,44444,44445,44448],{},[174,44446,44447],{},"تحليل الخسارة:"," فهم سبب مغادرة المستخدمين وكيفية منعهم",[12,44450,44451],{},[174,44452,44453],{},"مؤشرات الصحة طويلة الأجل:",[186,44455,44456,44459,44462,44465],{},[189,44457,44458],{},"سرعة التطوير وجودة الكود",[189,44460,44461],{},"رضا الفريق والاحتفاظ",[189,44463,44464],{},"رضا العملاء وNPS",[189,44466,44467],{},"الاستدامة المالية والمساحة",[16,44469,44471],{"id":44470},"الخاتمة-mindset-مدير-المنتج-في-الشركات-الناشئة","الخاتمة: mindset مدير المنتج في الشركات الناشئة",[12,44473,44474],{},"إدارة المنتجات في شركة ناشئة هي دور مثير ومؤثر عالي يجمع بين الاستراتيجية والتنفيذ والقيادة. في 2025، مع أدوات الذكاء الاصطناعي التي تعزز الإنتاجية والبيانات التي تدفع القرارات، أكثر مديري المنتجات نجاحاً هم أولئك الذين:",[186,44476,44477,44483,44489,44495,44501],{},[189,44478,44479,44482],{},[174,44480,44481],{},"يبقون مركزين على المستخدم"," مع الحفاظ على الذكاء التجاري",[189,44484,44485,44488],{},[174,44486,44487],{},"يتواصلون بوضوح"," عبر جميع مستويات المنظمة",[189,44490,44491,44494],{},[174,44492,44493],{},"يتخذون قرارات صعبة"," مع البيانات والتعاطف",[189,44496,44497,44500],{},[174,44498,44499],{},"يتكيفون بسرعة"," مع الظروف المتغيرة",[189,44502,44503,44506],{},[174,44504,44505],{},"يبنون فرقاً رائعة"," ويطورون ثقافات منتجة",[12,44508,44509],{},"تذكر: في شركة ناشئة، أنت لا تدير منتجاً فحسب – أنت تبني مستقبل الشركة. كل قرار تتخذه، كل ميزة تحدد أولويتها، وكل مشكلة مستخدم تحلها تساهم في هذه المهمة.",[12,44511,44512,1392],{},[174,44513,44514],{},"قرار منتجك التالي ينتظر. اجعله يعد!",{"title":42,"searchDepth":43,"depth":43,"links":44516},[44517,44520,44523,44526,44530,44533,44537,44541,44544,44548,44552],{"id":43602,"depth":46,"text":43603,"children":44518},[44519],{"id":43609,"depth":43,"text":43610},{"id":43666,"depth":46,"text":43667,"children":44521},[44522],{"id":43673,"depth":43,"text":43674},{"id":43720,"depth":46,"text":43721,"children":44524},[44525],{"id":43727,"depth":43,"text":43728},{"id":43778,"depth":46,"text":43779,"children":44527},[44528,44529],{"id":43785,"depth":43,"text":43786},{"id":43872,"depth":43,"text":43873},{"id":43926,"depth":46,"text":43927,"children":44531},[44532],{"id":43933,"depth":43,"text":43934},{"id":43986,"depth":46,"text":43987,"children":44534},[44535,44536],{"id":43993,"depth":43,"text":43994},{"id":44011,"depth":43,"text":44012},{"id":44050,"depth":46,"text":44051,"children":44538},[44539,44540],{"id":44057,"depth":43,"text":44058},{"id":44135,"depth":43,"text":44136},{"id":44171,"depth":46,"text":44172,"children":44542},[44543],{"id":44178,"depth":43,"text":44179},{"id":44233,"depth":46,"text":44234,"children":44545},[44546,44547],{"id":44240,"depth":43,"text":44241},{"id":9037,"depth":43,"text":9038},{"id":44357,"depth":46,"text":44358,"children":44549},[44550,44551],{"id":44364,"depth":43,"text":44365},{"id":44416,"depth":43,"text":44417},{"id":44470,"depth":46,"text":44471},"تنقل تحديات إدارة المنتجات الفريدة في الشركات الناشئة مع هذه الاستراتيجيات الرئيسية لفهم المستخدمين، التحديد الأولوي الشرس، التواصل الفعال، القرارات المدفوعة بالبيانات، والمرونة في عصر الذكاء الاصطناعي.",{"excerpt":44555},{"type":9,"value":44556},[44557,44559],[12,44558,43596],{},[12,44560,43599],{},"/nsaeh-idarh-almntjat-llshrkat-alnasheh",{"title":43591,"description":44553},"نصائح-إدارة-المنتجات-للشركات-الناشئة",[2371,15722,44565,44566,44567,2044,9323],"agile","lean-startup","product-strategy","0pYvxxAPekcCvvw-jLUD3qybH5AgvKW2JTRPypUL9Xo",{"id":44570,"title":44571,"author":7,"body":44572,"category":1437,"description":46201,"extension":52,"image":46202,"isDraft":55,"isFeatured":55,"locale":56,"meta":46203,"navigation":54,"path":46230,"publishedAt":46231,"readingTime":2842,"seo":46232,"stem":46233,"tags":46234,"updatedAt":46236,"__hash__":46237},"articles_ar/وحدات-css.md","فهم وحدات CSS: دليل شامل لاختيار القياسات المناسبة",{"type":9,"value":44573,"toc":46179},[44574,44577,44581,44584,44609,44613,44616,44620,44623,44627,44638,44642,44696,44702,44706,44709,44775,44779,44782,44786,44793,44797,44808,44812,44937,44943,44946,44949,44953,44964,44968,45058,45064,45068,45071,45075,45086,45090,45204,45210,45214,45217,45221,45235,45239,45250,45254,45334,45339,45382,45386,45400,45403,45447,45451,45458,45462,45470,45474,45506,45515,45519,45616,45620,45623,45875,45877,45919,45921,45926,46017,46022,46057,46062,46140,46142,46145,46170,46173,46176],[12,44575,44576],{},"عند بناء المواقع، يمكن أن يحدد اختيار وحدات CSS المناسبة الفرق بين تصميم يبدو مثالياً في كل مكان وآخر يتعطل على شاشات مختلفة. يوفر CSS العديد من أنواع الوحدات، ولكل منها نقاط قوتها وحالات استخدامها. سيساعدك هذا الدليل على فهم متى وكيفية استخدام كل نوع وحدة بفعالية.",[16,44578,44580],{"id":44579},"لماذا-تهم-وحدات-css","لماذا تهم وحدات CSS؟",[12,44582,44583],{},"تحدد وحدات CSS كيفية تحجيم العناصر على صفحة الويب الخاصة بك. يؤثر الاختيار الصحيح على:",[186,44585,44586,44592,44598,44604],{},[189,44587,44588,44591],{},[174,44589,44590],{},"الاستجابة",": كيف يتكيف تصميمك مع أحجام الشاشات المختلفة",[189,44593,44594,44597],{},[174,44595,44596],{},"إمكانية الوصول",": مدى سهولة تعديل المستخدمين لحجم النص",[189,44599,44600,44603],{},[174,44601,44602],{},"الاتساق",": مدى بقاء التباعد والتحجيم موحداً",[189,44605,44606,44608],{},[174,44607,2903],{},": مدى سلاسة عرض موقعك",[16,44610,44612],{"id":44611},"الوحدات-المطلقة-القياسات-الثابتة","الوحدات المطلقة: القياسات الثابتة",[12,44614,44615],{},"للوحدات المطلقة حجم ثابت لا يتغير بناءً على العناصر الأخرى أو العرض. بينما توفر الدقة، يمكن أن تجعل التصاميم أقل مرونة.",[209,44617,44619],{"id":44618},"البكسلات-px","البكسلات (px)",[12,44621,44622],{},"البكسلات هي الوحدة الأكثر شيوعاً في تصميم الويب. يساوي بكسل واحد نقطة واحدة على الشاشة.",[12,44624,44625],{},[174,44626,23217],{},[186,44628,44629,44632,44635],{},[189,44630,44631],{},"الحدود والتفاصيل الدقيقة (مثل حدود 1px)",[189,44633,44634],{},"الصور والأيقونات ذات الأبعاد المحددة",[189,44636,44637],{},"عندما تحتاج إلى تحكم دقيق",[12,44639,44640],{},[174,44641,787],{},[577,44643,44645],{"className":19753,"code":44644,"language":19755,"meta":42,"style":42},".button {\n  border: 2px solid #3498db;\n  padding: 10px 20px;\n}\n",[584,44646,44647,44654,44675,44692],{"__ignoreMap":42},[2008,44648,44649,44652],{"class":2528,"line":2529},[2008,44650,44651],{"class":11584},".button",[2008,44653,2703],{"class":2702},[2008,44655,44656,44659,44661,44663,44667,44670,44673],{"class":2528,"line":46},[2008,44657,44658],{"class":11592},"  border",[2008,44660,4974],{"class":2702},[2008,44662,21835],{"class":3903},[2008,44664,44666],{"class":44665},"sDy_c","px",[2008,44668,44669],{"class":11598}," solid",[2008,44671,44672],{"class":11598}," #3498db",[2008,44674,2720],{"class":2702},[2008,44676,44677,44680,44682,44684,44686,44688,44690],{"class":2528,"line":43},[2008,44678,44679],{"class":11592},"  padding",[2008,44681,4974],{"class":2702},[2008,44683,12645],{"class":3903},[2008,44685,44666],{"class":44665},[2008,44687,25168],{"class":3903},[2008,44689,44666],{"class":44665},[2008,44691,2720],{"class":2702},[2008,44693,44694],{"class":2528,"line":2545},[2008,44695,2748],{"class":2702},[12,44697,44698,44701],{},[174,44699,44700],{},"ملاحظة مهمة:"," بينما تبدو البكسلات بسيطة، لا تتوسع مع تفضيلات المستخدم لنص أكبر. يمكن أن يؤدي ذلك إلى مشاكل في إمكانية الوصول.",[209,44703,44705],{"id":44704},"وحدات-مطلقة-أخرى","وحدات مطلقة أخرى",[12,44707,44708],{},"توجد وحدات تقليدية مثل السنتيمترات (cm)، المليمترات (mm)، البوصات (in)، النقاط (pt)، والبايكات (pc) في CSS لكنها نادراً ما تكون مفيدة لتصميم الشاشات. هي أفضل لأوراق الأنماط المطبوعة.",[577,44710,44712],{"className":19753,"code":44711,"language":19755,"meta":42,"style":42},"@media print {\n  .document {\n    width: 8.5in;  /* عرض حجم الرسالة */\n    height: 11in;  /* ارتفاع حجم الرسالة */\n  }\n}\n",[584,44713,44714,44724,44731,44750,44767,44771],{"__ignoreMap":42},[2008,44715,44716,44719,44722],{"class":2528,"line":2529},[2008,44717,44718],{"class":2789},"@media",[2008,44720,44721],{"class":11598}," print",[2008,44723,2703],{"class":2702},[2008,44725,44726,44729],{"class":2528,"line":46},[2008,44727,44728],{"class":11584},"  .document",[2008,44730,2703],{"class":2702},[2008,44732,44733,44736,44738,44741,44744,44747],{"class":2528,"line":43},[2008,44734,44735],{"class":11592},"    width",[2008,44737,4974],{"class":2702},[2008,44739,44740],{"class":3903},"8.5",[2008,44742,44743],{"class":44665},"in",[2008,44745,44746],{"class":2702},";  ",[2008,44748,44749],{"class":2688},"/* عرض حجم الرسالة */\n",[2008,44751,44752,44755,44757,44760,44762,44764],{"class":2528,"line":2545},[2008,44753,44754],{"class":11592},"    height",[2008,44756,4974],{"class":2702},[2008,44758,44759],{"class":3903},"11",[2008,44761,44743],{"class":44665},[2008,44763,44746],{"class":2702},[2008,44765,44766],{"class":2688},"/* ارتفاع حجم الرسالة */\n",[2008,44768,44769],{"class":2528,"line":2551},[2008,44770,4446],{"class":2702},[2008,44772,44773],{"class":2528,"line":2557},[2008,44774,2748],{"class":2702},[16,44776,44778],{"id":44777},"الوحدات-النسبية-القياسات-المرنة","الوحدات النسبية: القياسات المرنة",[12,44780,44781],{},"تتوسع الوحدات النسبية بناءً على قيم أخرى، مما يجعلها مثالية للتصميم المتجاوب.",[209,44783,44785],{"id":44784},"rem-root-em","REM (Root EM)",[12,44787,44788,44789,44792],{},"تعتمد وحدات REM على حجم خط العنصر الجذر (عادة عنصر ",[584,44790,44791],{},"\u003Chtml>","). توفر اتساقاً عبر موقعك بالكامل.",[12,44794,44795],{},[174,44796,23217],{},[186,44798,44799,44802,44805],{},[189,44800,44801],{},"أحجام الخط عبر موقعك",[189,44803,44804],{},"التباعد الذي يجب أن يتوسع مع النص",[189,44806,44807],{},"إنشاء نظام تحجيم متسق",[12,44809,44810],{},[174,44811,787],{},[577,44813,44815],{"className":19753,"code":44814,"language":19755,"meta":42,"style":42},"html {\n  font-size: 16px;  /* الحجم الأساسي */\n}\n\nh1 {\n  font-size: 2rem;    /* 32px */\n  margin-bottom: 1rem; /* 16px */\n}\n\np {\n  font-size: 1rem;    /* 16px */\n  line-height: 1.5rem; /* 24px */\n}\n",[584,44816,44817,44825,44841,44845,44849,44855,44872,44888,44892,44896,44902,44916,44933],{"__ignoreMap":42},[2008,44818,44819,44823],{"class":2528,"line":2529},[2008,44820,44822],{"class":44821},"se49E","html",[2008,44824,2703],{"class":2702},[2008,44826,44827,44830,44832,44834,44836,44838],{"class":2528,"line":46},[2008,44828,44829],{"class":11592},"  font-size",[2008,44831,4974],{"class":2702},[2008,44833,23630],{"class":3903},[2008,44835,44666],{"class":44665},[2008,44837,44746],{"class":2702},[2008,44839,44840],{"class":2688},"/* الحجم الأساسي */\n",[2008,44842,44843],{"class":2528,"line":43},[2008,44844,2748],{"class":2702},[2008,44846,44847],{"class":2528,"line":2545},[2008,44848,2548],{"emptyLinePlaceholder":54},[2008,44850,44851,44853],{"class":2528,"line":2551},[2008,44852,10899],{"class":44821},[2008,44854,2703],{"class":2702},[2008,44856,44857,44859,44861,44863,44866,44869],{"class":2528,"line":2557},[2008,44858,44829],{"class":11592},[2008,44860,4974],{"class":2702},[2008,44862,21835],{"class":3903},[2008,44864,44865],{"class":44665},"rem",[2008,44867,44868],{"class":2702},";    ",[2008,44870,44871],{"class":2688},"/* 32px */\n",[2008,44873,44874,44877,44879,44881,44883,44885],{"class":2528,"line":2563},[2008,44875,44876],{"class":11592},"  margin-bottom",[2008,44878,4974],{"class":2702},[2008,44880,7225],{"class":3903},[2008,44882,44865],{"class":44665},[2008,44884,21862],{"class":2702},[2008,44886,44887],{"class":2688},"/* 16px */\n",[2008,44889,44890],{"class":2528,"line":2568},[2008,44891,2748],{"class":2702},[2008,44893,44894],{"class":2528,"line":2574},[2008,44895,2548],{"emptyLinePlaceholder":54},[2008,44897,44898,44900],{"class":2528,"line":1467},[2008,44899,12],{"class":44821},[2008,44901,2703],{"class":2702},[2008,44903,44904,44906,44908,44910,44912,44914],{"class":2528,"line":2818},[2008,44905,44829],{"class":11592},[2008,44907,4974],{"class":2702},[2008,44909,7225],{"class":3903},[2008,44911,44865],{"class":44665},[2008,44913,44868],{"class":2702},[2008,44915,44887],{"class":2688},[2008,44917,44918,44921,44923,44926,44928,44930],{"class":2528,"line":2842},[2008,44919,44920],{"class":11592},"  line-height",[2008,44922,4974],{"class":2702},[2008,44924,44925],{"class":3903},"1.5",[2008,44927,44865],{"class":44665},[2008,44929,21862],{"class":2702},[2008,44931,44932],{"class":2688},"/* 24px */\n",[2008,44934,44935],{"class":2528,"line":2862},[2008,44936,2748],{"class":2702},[12,44938,44939,44942],{},[174,44940,44941],{},"لماذا رائع:"," إذا زاد المستخدم حجم الخط الافتراضي في المتصفح لأغراض إمكانية الوصول، يتوسع كل شيء مقاس بـ rem بشكل متناسب.",[209,44944,44945],{"id":8249},"EM",[12,44947,44948],{},"وحدات EM نسبية لحجم خط العنصر الأب. يؤدي ذلك إلى تأثير متسلسل.",[12,44950,44951],{},[174,44952,23217],{},[186,44954,44955,44958,44961],{},[189,44956,44957],{},"الحشو والحواف النسبية لحجم النص",[189,44959,44960],{},"المكونات التي يجب أن تتوسع معاً",[189,44962,44963],{},"عندما تريد أن ترث العناصر الفرعية التوسع",[12,44965,44966],{},[174,44967,787],{},[577,44969,44971],{"className":19753,"code":44970,"language":19755,"meta":42,"style":42},".card {\n  font-size: 18px;\n}\n\n.card-title {\n  font-size: 1.5em;  /* 27px (1.5 × 18px) */\n}\n\n.card-text {\n  padding: 1em;      /* حشو 18px */\n}\n",[584,44972,44973,44980,44993,44997,45001,45008,45023,45027,45031,45038,45054],{"__ignoreMap":42},[2008,44974,44975,44978],{"class":2528,"line":2529},[2008,44976,44977],{"class":11584},".card",[2008,44979,2703],{"class":2702},[2008,44981,44982,44984,44986,44989,44991],{"class":2528,"line":46},[2008,44983,44829],{"class":11592},[2008,44985,4974],{"class":2702},[2008,44987,44988],{"class":3903},"18",[2008,44990,44666],{"class":44665},[2008,44992,2720],{"class":2702},[2008,44994,44995],{"class":2528,"line":43},[2008,44996,2748],{"class":2702},[2008,44998,44999],{"class":2528,"line":2545},[2008,45000,2548],{"emptyLinePlaceholder":54},[2008,45002,45003,45006],{"class":2528,"line":2551},[2008,45004,45005],{"class":11584},".card-title",[2008,45007,2703],{"class":2702},[2008,45009,45010,45012,45014,45016,45018,45020],{"class":2528,"line":2557},[2008,45011,44829],{"class":11592},[2008,45013,4974],{"class":2702},[2008,45015,44925],{"class":3903},[2008,45017,8249],{"class":44665},[2008,45019,44746],{"class":2702},[2008,45021,45022],{"class":2688},"/* 27px (1.5 × 18px) */\n",[2008,45024,45025],{"class":2528,"line":2563},[2008,45026,2748],{"class":2702},[2008,45028,45029],{"class":2528,"line":2568},[2008,45030,2548],{"emptyLinePlaceholder":54},[2008,45032,45033,45036],{"class":2528,"line":2574},[2008,45034,45035],{"class":11584},".card-text",[2008,45037,2703],{"class":2702},[2008,45039,45040,45042,45044,45046,45048,45051],{"class":2528,"line":1467},[2008,45041,44679],{"class":11592},[2008,45043,4974],{"class":2702},[2008,45045,7225],{"class":3903},[2008,45047,8249],{"class":44665},[2008,45049,45050],{"class":2702},";      ",[2008,45052,45053],{"class":2688},"/* حشو 18px */\n",[2008,45055,45056],{"class":2528,"line":2818},[2008,45057,2748],{"class":2702},[12,45059,45060,45063],{},[174,45061,45062],{},"احذر:"," تتضاعف وحدات EM. إذا قمت بتداخل العناصر ذات الأحجام المبنية على em، تتضاعف القيم، مما يؤدي إلى نتائج غير متوقعة.",[209,45065,45067],{"id":45066},"النسب-المئوية","النسب المئوية (%)",[12,45069,45070],{},"النسب المئوية نسبية لحجم العنصر الأب.",[12,45072,45073],{},[174,45074,23217],{},[186,45076,45077,45080,45083],{},[189,45078,45079],{},"إنشاء تخطيطات مرنة",[189,45081,45082],{},"الصور المتجاوبة",[189,45084,45085],{},"حاويات العرض السائل",[12,45087,45088],{},[174,45089,787],{},[577,45091,45093],{"className":19753,"code":45092,"language":19755,"meta":42,"style":42},".container {\n  width: 100%;         /* العرض الكامل للأب */\n  max-width: 1200px;   /* لكن ليس أوسع من 1200px */\n}\n\n.sidebar {\n  width: 30%;          /* يأخذ 30% من الحاوي */\n}\n\n.main-content {\n  width: 70%;          /* يأخذ 70% من الحاوي */\n}\n",[584,45094,45095,45102,45119,45137,45141,45145,45152,45169,45173,45177,45184,45200],{"__ignoreMap":42},[2008,45096,45097,45100],{"class":2528,"line":2529},[2008,45098,45099],{"class":11584},".container",[2008,45101,2703],{"class":2702},[2008,45103,45104,45106,45108,45111,45113,45116],{"class":2528,"line":46},[2008,45105,20150],{"class":11592},[2008,45107,4974],{"class":2702},[2008,45109,45110],{"class":3903},"100",[2008,45112,23547],{"class":44665},[2008,45114,45115],{"class":2702},";         ",[2008,45117,45118],{"class":2688},"/* العرض الكامل للأب */\n",[2008,45120,45121,45124,45126,45129,45131,45134],{"class":2528,"line":43},[2008,45122,45123],{"class":11592},"  max-width",[2008,45125,4974],{"class":2702},[2008,45127,45128],{"class":3903},"1200",[2008,45130,44666],{"class":44665},[2008,45132,45133],{"class":2702},";   ",[2008,45135,45136],{"class":2688},"/* لكن ليس أوسع من 1200px */\n",[2008,45138,45139],{"class":2528,"line":2545},[2008,45140,2748],{"class":2702},[2008,45142,45143],{"class":2528,"line":2551},[2008,45144,2548],{"emptyLinePlaceholder":54},[2008,45146,45147,45150],{"class":2528,"line":2557},[2008,45148,45149],{"class":11584},".sidebar",[2008,45151,2703],{"class":2702},[2008,45153,45154,45156,45158,45161,45163,45166],{"class":2528,"line":2563},[2008,45155,20150],{"class":11592},[2008,45157,4974],{"class":2702},[2008,45159,45160],{"class":3903},"30",[2008,45162,23547],{"class":44665},[2008,45164,45165],{"class":2702},";          ",[2008,45167,45168],{"class":2688},"/* يأخذ 30% من الحاوي */\n",[2008,45170,45171],{"class":2528,"line":2568},[2008,45172,2748],{"class":2702},[2008,45174,45175],{"class":2528,"line":2574},[2008,45176,2548],{"emptyLinePlaceholder":54},[2008,45178,45179,45182],{"class":2528,"line":1467},[2008,45180,45181],{"class":11584},".main-content",[2008,45183,2703],{"class":2702},[2008,45185,45186,45188,45190,45193,45195,45197],{"class":2528,"line":2818},[2008,45187,20150],{"class":11592},[2008,45189,4974],{"class":2702},[2008,45191,45192],{"class":3903},"70",[2008,45194,23547],{"class":44665},[2008,45196,45165],{"class":2702},[2008,45198,45199],{"class":2688},"/* يأخذ 70% من الحاوي */\n",[2008,45201,45202],{"class":2528,"line":2842},[2008,45203,2748],{"class":2702},[12,45205,45206,45209],{},[174,45207,45208],{},"مهم:"," يعمل ارتفاع النسبة المئوية فقط عندما يكون للأب ارتفاع صريح.",[16,45211,45213],{"id":45212},"وحدات-العرض-بناءً-على-نافذة-المتصفح","وحدات العرض: بناءً على نافذة المتصفح",[12,45215,45216],{},"ترتبط وحدات العرض بحجم نافذة المتصفح، مما يجعلها مثالية للأقسام الكاملة الشاشة والطباعة المتجاوبة.",[209,45218,45220],{"id":45219},"عرض-العرض-vw-وارتفاعه-vh","عرض العرض (vw) وارتفاعه (vh)",[186,45222,45223,45229],{},[189,45224,45225,45228],{},[584,45226,45227],{},"1vw"," = 1% من عرض العرض",[189,45230,45231,45234],{},[584,45232,45233],{},"1vh"," = 1% من ارتفاع العرض",[12,45236,45237],{},[174,45238,23217],{},[186,45240,45241,45244,45247],{},[189,45242,45243],{},"أقسام البطل التي تملأ الشاشة",[189,45245,45246],{},"الطباعة المتجاوبة",[189,45248,45249],{},"تراكبات النوافذ المنبثقة",[12,45251,45252],{},[174,45253,787],{},[577,45255,45257],{"className":19753,"code":45256,"language":19755,"meta":42,"style":42},".hero {\n  height: 100vh;        /* ارتفاع العرض الكامل */\n  width: 100vw;         /* عرض العرض الكامل */\n}\n\n.full-screen-section {\n  min-height: 100vh;    /* على الأقل شاشة كاملة */\n}\n",[584,45258,45259,45266,45283,45299,45303,45307,45314,45330],{"__ignoreMap":42},[2008,45260,45261,45264],{"class":2528,"line":2529},[2008,45262,45263],{"class":11584},".hero",[2008,45265,2703],{"class":2702},[2008,45267,45268,45270,45272,45274,45277,45280],{"class":2528,"line":46},[2008,45269,20160],{"class":11592},[2008,45271,4974],{"class":2702},[2008,45273,45110],{"class":3903},[2008,45275,45276],{"class":44665},"vh",[2008,45278,45279],{"class":2702},";        ",[2008,45281,45282],{"class":2688},"/* ارتفاع العرض الكامل */\n",[2008,45284,45285,45287,45289,45291,45294,45296],{"class":2528,"line":43},[2008,45286,20150],{"class":11592},[2008,45288,4974],{"class":2702},[2008,45290,45110],{"class":3903},[2008,45292,45293],{"class":44665},"vw",[2008,45295,45115],{"class":2702},[2008,45297,45298],{"class":2688},"/* عرض العرض الكامل */\n",[2008,45300,45301],{"class":2528,"line":2545},[2008,45302,2748],{"class":2702},[2008,45304,45305],{"class":2528,"line":2551},[2008,45306,2548],{"emptyLinePlaceholder":54},[2008,45308,45309,45312],{"class":2528,"line":2557},[2008,45310,45311],{"class":11584},".full-screen-section",[2008,45313,2703],{"class":2702},[2008,45315,45316,45319,45321,45323,45325,45327],{"class":2528,"line":2563},[2008,45317,45318],{"class":11592},"  min-height",[2008,45320,4974],{"class":2702},[2008,45322,45110],{"class":3903},[2008,45324,45276],{"class":44665},[2008,45326,44868],{"class":2702},[2008,45328,45329],{"class":2688},"/* على الأقل شاشة كاملة */\n",[2008,45331,45332],{"class":2528,"line":2568},[2008,45333,2748],{"class":2702},[12,45335,45336],{},[174,45337,45338],{},"طباعة متجاوبة:",[577,45340,45342],{"className":19753,"code":45341,"language":19755,"meta":42,"style":42},"h1 {\n  font-size: calc(2rem + 2vw);  /* يتوسع مع العرض */\n}\n",[584,45343,45344,45350,45378],{"__ignoreMap":42},[2008,45345,45346,45348],{"class":2528,"line":2529},[2008,45347,10899],{"class":44821},[2008,45349,2703],{"class":2702},[2008,45351,45352,45354,45356,45359,45361,45363,45365,45368,45370,45372,45375],{"class":2528,"line":46},[2008,45353,44829],{"class":11592},[2008,45355,4974],{"class":2702},[2008,45357,45358],{"class":10771},"calc",[2008,45360,3900],{"class":2702},[2008,45362,21835],{"class":3903},[2008,45364,44865],{"class":44665},[2008,45366,45367],{"class":2712}," +",[2008,45369,3978],{"class":3903},[2008,45371,45293],{"class":44665},[2008,45373,45374],{"class":2702},");  ",[2008,45376,45377],{"class":2688},"/* يتوسع مع العرض */\n",[2008,45379,45380],{"class":2528,"line":43},[2008,45381,2748],{"class":2702},[209,45383,45385],{"id":45384},"الحد-الأدنى-للعرض-vmin-والحد-الأقصى-vmax","الحد الأدنى للعرض (vmin) والحد الأقصى (vmax)",[186,45387,45388,45394],{},[189,45389,45390,45393],{},[584,45391,45392],{},"vmin"," = 1% من البعد الأصغر للعرض",[189,45395,45396,45399],{},[584,45397,45398],{},"vmax"," = 1% من البعد الأكبر للعرض",[12,45401,45402],{},"هذه مفيدة للحفاظ على النسب عبر الاتجاهات.",[577,45404,45406],{"className":19753,"code":45405,"language":19755,"meta":42,"style":42},".square-element {\n  width: 50vmin;   /* مربع دائماً، حتى عند تدوير الجهاز */\n  height: 50vmin;\n}\n",[584,45407,45408,45415,45431,45443],{"__ignoreMap":42},[2008,45409,45410,45413],{"class":2528,"line":2529},[2008,45411,45412],{"class":11584},".square-element",[2008,45414,2703],{"class":2702},[2008,45416,45417,45419,45421,45424,45426,45428],{"class":2528,"line":46},[2008,45418,20150],{"class":11592},[2008,45420,4974],{"class":2702},[2008,45422,45423],{"class":3903},"50",[2008,45425,45392],{"class":44665},[2008,45427,45133],{"class":2702},[2008,45429,45430],{"class":2688},"/* مربع دائماً، حتى عند تدوير الجهاز */\n",[2008,45432,45433,45435,45437,45439,45441],{"class":2528,"line":43},[2008,45434,20160],{"class":11592},[2008,45436,4974],{"class":2702},[2008,45438,45423],{"class":3903},[2008,45440,45392],{"class":44665},[2008,45442,2720],{"class":2702},[2008,45444,45445],{"class":2528,"line":2545},[2008,45446,2748],{"class":2702},[16,45448,45450],{"id":45449},"وحدة-الحرف-ch","وحدة الحرف (ch)",[12,45452,45453,45454,45457],{},"تساوي وحدة ",[584,45455,45456],{},"ch"," عرض حرف \"0\" في الخط الحالي. مفيدة بشكل خاص للتحكم في طول السطر.",[12,45459,45460],{},[174,45461,23217],{},[186,45463,45464,45467],{},[189,45465,45466],{},"تحديد عرض النص للقراءة",[189,45468,45469],{},"تخطيطات الخط ذات العرض الثابت",[12,45471,45472],{},[174,45473,787],{},[577,45475,45477],{"className":19753,"code":45476,"language":19755,"meta":42,"style":42},".readable-text {\n  max-width: 65ch;  /* عرض القراءة المثالي */\n}\n",[584,45478,45479,45486,45502],{"__ignoreMap":42},[2008,45480,45481,45484],{"class":2528,"line":2529},[2008,45482,45483],{"class":11584},".readable-text",[2008,45485,2703],{"class":2702},[2008,45487,45488,45490,45492,45495,45497,45499],{"class":2528,"line":46},[2008,45489,45123],{"class":11592},[2008,45491,4974],{"class":2702},[2008,45493,45494],{"class":3903},"65",[2008,45496,45456],{"class":44665},[2008,45498,44746],{"class":2702},[2008,45500,45501],{"class":2688},"/* عرض القراءة المثالي */\n",[2008,45503,45504],{"class":2528,"line":43},[2008,45505,2748],{"class":2702},[12,45507,45508,45511,45512,45514],{},[174,45509,45510],{},"ملاحظة:"," دعم المتصفحات لوحدة ",[584,45513,45456],{}," ممتاز في المتصفحات الحديثة، لكن قدم دائماً احتياطياً للمتصفحات القديمة.",[16,45516,45518],{"id":45517},"اختيار-الوحدة-المناسبة-مرجع-سريع","اختيار الوحدة المناسبة: مرجع سريع",[643,45520,45521,45533],{},[646,45522,45523],{},[649,45524,45525,45527,45530],{},[652,45526,22948],{},[652,45528,45529],{},"الوحدة الموصى بها",[652,45531,45532],{},"لماذا",[659,45534,45535,45545,45556,45567,45577,45586,45596,45606],{},[649,45536,45537,45540,45542],{},[664,45538,45539],{},"أحجام الخط",[664,45541,44865],{},[664,45543,45544],{},"تحترم تفضيلات المستخدم، متسقة",[649,45546,45547,45550,45553],{},[664,45548,45549],{},"التباعد (الحواف، الحشو)",[664,45551,45552],{},"rem أو em",[664,45554,45555],{},"يتوسع مع النص",[649,45557,45558,45561,45564],{},[664,45559,45560],{},"عرض الحاويات",[664,45562,45563],{},"% أو max-width في px",[664,45565,45566],{},"مرن لكن محدود",[649,45568,45569,45572,45574],{},[664,45570,45571],{},"الحدود",[664,45573,44666],{},[664,45575,45576],{},"يحتاج تحكم دقيق",[649,45578,45579,45582,45584],{},[664,45580,45581],{},"الظلال",[664,45583,44666],{},[664,45585,45576],{},[649,45587,45588,45591,45593],{},[664,45589,45590],{},"الأقسام ذات الارتفاع الكامل",[664,45592,45276],{},[664,45594,45595],{},"نسبي للعرض",[649,45597,45598,45600,45603],{},[664,45599,45246],{},[664,45601,45602],{},"calc(rem + vw)",[664,45604,45605],{},"سائل ويمكن الوصول إليه",[649,45607,45608,45611,45613],{},[664,45609,45610],{},"عرض حاوي النص",[664,45612,45456],{},[664,45614,45615],{},"قراءة مثالية",[16,45617,45619],{"id":45618},"مثال-عملي-مكون-بطاقة-متجاوب","مثال عملي: مكون بطاقة متجاوب",[12,45621,45622],{},"إليك كيف تعمل وحدات مختلفة معاً في مكون حقيقي:",[577,45624,45626],{"className":19753,"code":45625,"language":19755,"meta":42,"style":42},".card {\n  /* عرض مرن، محدود أقصى */\n  width: 100%;\n  max-width: 400px;\n  \n  /* تباعد يتوسع مع النص */\n  padding: 1.5rem;\n  margin-bottom: 2rem;\n  \n  /* حدود دقيقة */\n  border: 1px solid #e0e0e0;\n  border-radius: 8px;\n  \n  /* ظل متناسب */\n  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);\n}\n\n.card-title {\n  /* نص قابل للوصول، قابل للتوسع */\n  font-size: 1.5rem;\n  margin-bottom: 1rem;\n}\n\n.card-image {\n  /* صورة متجاوبة */\n  width: 100%;\n  height: auto;\n}\n",[584,45627,45628,45634,45639,45651,45664,45668,45673,45685,45697,45701,45706,45723,45736,45740,45745,45785,45789,45793,45799,45804,45816,45828,45832,45836,45843,45848,45860,45871],{"__ignoreMap":42},[2008,45629,45630,45632],{"class":2528,"line":2529},[2008,45631,44977],{"class":11584},[2008,45633,2703],{"class":2702},[2008,45635,45636],{"class":2528,"line":46},[2008,45637,45638],{"class":2688},"  /* عرض مرن، محدود أقصى */\n",[2008,45640,45641,45643,45645,45647,45649],{"class":2528,"line":43},[2008,45642,20150],{"class":11592},[2008,45644,4974],{"class":2702},[2008,45646,45110],{"class":3903},[2008,45648,23547],{"class":44665},[2008,45650,2720],{"class":2702},[2008,45652,45653,45655,45657,45660,45662],{"class":2528,"line":2545},[2008,45654,45123],{"class":11592},[2008,45656,4974],{"class":2702},[2008,45658,45659],{"class":3903},"400",[2008,45661,44666],{"class":44665},[2008,45663,2720],{"class":2702},[2008,45665,45666],{"class":2528,"line":2551},[2008,45667,12382],{"class":2702},[2008,45669,45670],{"class":2528,"line":2557},[2008,45671,45672],{"class":2688},"  /* تباعد يتوسع مع النص */\n",[2008,45674,45675,45677,45679,45681,45683],{"class":2528,"line":2563},[2008,45676,44679],{"class":11592},[2008,45678,4974],{"class":2702},[2008,45680,44925],{"class":3903},[2008,45682,44865],{"class":44665},[2008,45684,2720],{"class":2702},[2008,45686,45687,45689,45691,45693,45695],{"class":2528,"line":2568},[2008,45688,44876],{"class":11592},[2008,45690,4974],{"class":2702},[2008,45692,21835],{"class":3903},[2008,45694,44865],{"class":44665},[2008,45696,2720],{"class":2702},[2008,45698,45699],{"class":2528,"line":2574},[2008,45700,12382],{"class":2702},[2008,45702,45703],{"class":2528,"line":1467},[2008,45704,45705],{"class":2688},"  /* حدود دقيقة */\n",[2008,45707,45708,45710,45712,45714,45716,45718,45721],{"class":2528,"line":2818},[2008,45709,44658],{"class":11592},[2008,45711,4974],{"class":2702},[2008,45713,7225],{"class":3903},[2008,45715,44666],{"class":44665},[2008,45717,44669],{"class":11598},[2008,45719,45720],{"class":11598}," #e0e0e0",[2008,45722,2720],{"class":2702},[2008,45724,45725,45728,45730,45732,45734],{"class":2528,"line":2842},[2008,45726,45727],{"class":11592},"  border-radius",[2008,45729,4974],{"class":2702},[2008,45731,25708],{"class":3903},[2008,45733,44666],{"class":44665},[2008,45735,2720],{"class":2702},[2008,45737,45738],{"class":2528,"line":2862},[2008,45739,12382],{"class":2702},[2008,45741,45742],{"class":2528,"line":2119},[2008,45743,45744],{"class":2688},"  /* ظل متناسب */\n",[2008,45746,45747,45750,45752,45754,45756,45758,45761,45763,45766,45768,45770,45772,45774,45776,45778,45780,45783],{"class":2528,"line":2035},[2008,45748,45749],{"class":11592},"  box-shadow",[2008,45751,4974],{"class":2702},[2008,45753,3904],{"class":3903},[2008,45755,3978],{"class":3903},[2008,45757,44666],{"class":44665},[2008,45759,45760],{"class":3903}," 8",[2008,45762,44666],{"class":44665},[2008,45764,45765],{"class":10771}," rgba",[2008,45767,3900],{"class":2702},[2008,45769,3904],{"class":3903},[2008,45771,3848],{"class":2702},[2008,45773,3904],{"class":3903},[2008,45775,3848],{"class":2702},[2008,45777,3904],{"class":3903},[2008,45779,3848],{"class":2702},[2008,45781,45782],{"class":3903},"0.1",[2008,45784,3907],{"class":2702},[2008,45786,45787],{"class":2528,"line":3038},[2008,45788,2748],{"class":2702},[2008,45790,45791],{"class":2528,"line":3044},[2008,45792,2548],{"emptyLinePlaceholder":54},[2008,45794,45795,45797],{"class":2528,"line":2380},[2008,45796,45005],{"class":11584},[2008,45798,2703],{"class":2702},[2008,45800,45801],{"class":2528,"line":4107},[2008,45802,45803],{"class":2688},"  /* نص قابل للوصول، قابل للتوسع */\n",[2008,45805,45806,45808,45810,45812,45814],{"class":2528,"line":64},[2008,45807,44829],{"class":11592},[2008,45809,4974],{"class":2702},[2008,45811,44925],{"class":3903},[2008,45813,44865],{"class":44665},[2008,45815,2720],{"class":2702},[2008,45817,45818,45820,45822,45824,45826],{"class":2528,"line":4120},[2008,45819,44876],{"class":11592},[2008,45821,4974],{"class":2702},[2008,45823,7225],{"class":3903},[2008,45825,44865],{"class":44665},[2008,45827,2720],{"class":2702},[2008,45829,45830],{"class":2528,"line":4125},[2008,45831,2748],{"class":2702},[2008,45833,45834],{"class":2528,"line":4135},[2008,45835,2548],{"emptyLinePlaceholder":54},[2008,45837,45838,45841],{"class":2528,"line":4145},[2008,45839,45840],{"class":11584},".card-image",[2008,45842,2703],{"class":2702},[2008,45844,45845],{"class":2528,"line":4169},[2008,45846,45847],{"class":2688},"  /* صورة متجاوبة */\n",[2008,45849,45850,45852,45854,45856,45858],{"class":2528,"line":4192},[2008,45851,20150],{"class":11592},[2008,45853,4974],{"class":2702},[2008,45855,45110],{"class":3903},[2008,45857,23547],{"class":44665},[2008,45859,2720],{"class":2702},[2008,45861,45862,45864,45866,45869],{"class":2528,"line":4229},[2008,45863,20160],{"class":11592},[2008,45865,4974],{"class":2702},[2008,45867,45868],{"class":11598},"auto",[2008,45870,2720],{"class":2702},[2008,45872,45873],{"class":2528,"line":4239},[2008,45874,2748],{"class":2702},[16,45876,13232],{"id":3688},[1049,45878,45879,45885,45891,45897,45903,45909],{},[189,45880,45881,45884],{},[174,45882,45883],{},"استخدم rem لمعظم التحجيم",": يوفر أفضل توازن بين التحكم وإمكانية الوصول",[189,45886,45887,45890],{},[174,45888,45889],{},"استخدم النسب المئوية للتخطيطات",": تخلق هياكل مرنة ومتجاوبة",[189,45892,45893,45896],{},[174,45894,45895],{},"استخدم البكسلات باعتدال",": احتفظ بها للحدود والظلال والتفاصيل التي تحتاج دقة",[189,45898,45899,45902],{},[174,45900,45901],{},"تجنب em إلا إذا كنت بحاجة للتسلسل",": يمكن أن يكون غير متوقع عند التداخل",[189,45904,45905,45908],{},[174,45906,45907],{},"اختبر مع أحجام نص مختلفة",": تحقق دائماً كيف يبدو تصميمك عندما يزيد المستخدمون حجم النص",[189,45910,45911,45914,45915,45918],{},[174,45912,45913],{},"اجمع الوحدات بذكاء",": استخدم ",[584,45916,45917],{},"calc()"," لخلط أنواع وحدات مختلفة عند الحاجة",[16,45920,15452],{"id":15451},[12,45922,45923],{},[174,45924,45925],{},"استخدام البكسلات لكل شيء:",[577,45927,45929],{"className":19753,"code":45928,"language":19755,"meta":42,"style":42},"/* ❌ غير قابل للوصول */\n.text {\n  font-size: 16px;\n  margin: 20px;\n}\n\n/* ✅ أفضل */\n.text {\n  font-size: 1rem;\n  margin: 1.25rem;\n}\n",[584,45930,45931,45936,45943,45955,45969,45973,45977,45982,45988,46000,46013],{"__ignoreMap":42},[2008,45932,45933],{"class":2528,"line":2529},[2008,45934,45935],{"class":2688},"/* ❌ غير قابل للوصول */\n",[2008,45937,45938,45941],{"class":2528,"line":46},[2008,45939,45940],{"class":11584},".text",[2008,45942,2703],{"class":2702},[2008,45944,45945,45947,45949,45951,45953],{"class":2528,"line":43},[2008,45946,44829],{"class":11592},[2008,45948,4974],{"class":2702},[2008,45950,23630],{"class":3903},[2008,45952,44666],{"class":44665},[2008,45954,2720],{"class":2702},[2008,45956,45957,45960,45962,45965,45967],{"class":2528,"line":2545},[2008,45958,45959],{"class":11592},"  margin",[2008,45961,4974],{"class":2702},[2008,45963,45964],{"class":3903},"20",[2008,45966,44666],{"class":44665},[2008,45968,2720],{"class":2702},[2008,45970,45971],{"class":2528,"line":2551},[2008,45972,2748],{"class":2702},[2008,45974,45975],{"class":2528,"line":2557},[2008,45976,2548],{"emptyLinePlaceholder":54},[2008,45978,45979],{"class":2528,"line":2563},[2008,45980,45981],{"class":2688},"/* ✅ أفضل */\n",[2008,45983,45984,45986],{"class":2528,"line":2568},[2008,45985,45940],{"class":11584},[2008,45987,2703],{"class":2702},[2008,45989,45990,45992,45994,45996,45998],{"class":2528,"line":2574},[2008,45991,44829],{"class":11592},[2008,45993,4974],{"class":2702},[2008,45995,7225],{"class":3903},[2008,45997,44865],{"class":44665},[2008,45999,2720],{"class":2702},[2008,46001,46002,46004,46006,46009,46011],{"class":2528,"line":1467},[2008,46003,45959],{"class":11592},[2008,46005,4974],{"class":2702},[2008,46007,46008],{"class":3903},"1.25",[2008,46010,44865],{"class":44665},[2008,46012,2720],{"class":2702},[2008,46014,46015],{"class":2528,"line":2818},[2008,46016,2748],{"class":2702},[12,46018,46019],{},[174,46020,46021],{},"نسيان تعيين حجم خط أساسي:",[577,46023,46025],{"className":19753,"code":46024,"language":19755,"meta":42,"style":42},"/* ✅ حدد دائماً قاعدتك */\nhtml {\n  font-size: 16px;  /* أو 100% */\n}\n",[584,46026,46027,46032,46038,46053],{"__ignoreMap":42},[2008,46028,46029],{"class":2528,"line":2529},[2008,46030,46031],{"class":2688},"/* ✅ حدد دائماً قاعدتك */\n",[2008,46033,46034,46036],{"class":2528,"line":46},[2008,46035,44822],{"class":44821},[2008,46037,2703],{"class":2702},[2008,46039,46040,46042,46044,46046,46048,46050],{"class":2528,"line":43},[2008,46041,44829],{"class":11592},[2008,46043,4974],{"class":2702},[2008,46045,23630],{"class":3903},[2008,46047,44666],{"class":44665},[2008,46049,44746],{"class":2702},[2008,46051,46052],{"class":2688},"/* أو 100% */\n",[2008,46054,46055],{"class":2528,"line":2545},[2008,46056,2748],{"class":2702},[12,46058,46059],{},[174,46060,46061],{},"استخدام vh لكل شيء:",[577,46063,46065],{"className":19753,"code":46064,"language":19755,"meta":42,"style":42},"/* ❌ يمكن أن يسبب مشاكل على الهاتف مع أشرطة العناوين */\n.section {\n  height: 100vh;\n}\n\n/* ✅ أفضل لأقسام المحتوى */\n.section {\n  min-height: 100vh;\n  padding: 2rem 0;\n}\n",[584,46066,46067,46072,46079,46091,46095,46099,46104,46110,46122,46136],{"__ignoreMap":42},[2008,46068,46069],{"class":2528,"line":2529},[2008,46070,46071],{"class":2688},"/* ❌ يمكن أن يسبب مشاكل على الهاتف مع أشرطة العناوين */\n",[2008,46073,46074,46077],{"class":2528,"line":46},[2008,46075,46076],{"class":11584},".section",[2008,46078,2703],{"class":2702},[2008,46080,46081,46083,46085,46087,46089],{"class":2528,"line":43},[2008,46082,20160],{"class":11592},[2008,46084,4974],{"class":2702},[2008,46086,45110],{"class":3903},[2008,46088,45276],{"class":44665},[2008,46090,2720],{"class":2702},[2008,46092,46093],{"class":2528,"line":2545},[2008,46094,2748],{"class":2702},[2008,46096,46097],{"class":2528,"line":2551},[2008,46098,2548],{"emptyLinePlaceholder":54},[2008,46100,46101],{"class":2528,"line":2557},[2008,46102,46103],{"class":2688},"/* ✅ أفضل لأقسام المحتوى */\n",[2008,46105,46106,46108],{"class":2528,"line":2563},[2008,46107,46076],{"class":11584},[2008,46109,2703],{"class":2702},[2008,46111,46112,46114,46116,46118,46120],{"class":2528,"line":2568},[2008,46113,45318],{"class":11592},[2008,46115,4974],{"class":2702},[2008,46117,45110],{"class":3903},[2008,46119,45276],{"class":44665},[2008,46121,2720],{"class":2702},[2008,46123,46124,46126,46128,46130,46132,46134],{"class":2528,"line":2574},[2008,46125,44679],{"class":11592},[2008,46127,4974],{"class":2702},[2008,46129,21835],{"class":3903},[2008,46131,44865],{"class":44665},[2008,46133,12463],{"class":3903},[2008,46135,2720],{"class":2702},[2008,46137,46138],{"class":2528,"line":1467},[2008,46139,2748],{"class":2702},[16,46141,8049],{"id":8049},[12,46143,46144],{},"فهم وحدات CSS أساسي لإنشاء مواقع مرنة وقابلة للوصول وسهلة الصيانة. بينما قد يبدو تنوع الخيارات مربكاً في البداية، تذكر هذه النقاط الرئيسية:",[186,46146,46147,46152,46158,46164],{},[189,46148,46149,46151],{},[174,46150,44865],{}," هو خيارك الأساسي لمعظم احتياجات التحجيم",[189,46153,46154,46157],{},[174,46155,46156],{},"النسب المئوية"," تتفوق في التخطيطات المرنة",[189,46159,46160,46163],{},[174,46161,46162],{},"وحدات العرض"," مثالية للتصاميم الكاملة الشاشة",[189,46165,46166,46169],{},[174,46167,46168],{},"البكسلات"," يجب استخدامها باعتدال للتفاصيل الدقيقة",[12,46171,46172],{},"ابدأ باستخدام rem للنص والتباعد، والنسب المئوية للتخطيطات، وستنشئ تصاميم تعمل بشكل جميل عبر جميع الأجهزة وتحترم تفضيلات المستخدم. مع اكتساب الخبرة، ستطور حدساً لمتى تستخدم كل نوع وحدة.",[12,46174,46175],{},"الأهم من ذلك هو اختبار تصاميمك عبر أحجام شاشات مختلفة ومع تفضيلات أحجام نص مختلفة لضمان قدرة الجميع على استخدام موقعك بشكل مريح.",[3587,46177,46178],{},"html pre.shiki code .sO3gw, html code.shiki .sO3gw{--shiki-light:#6F42C1;--shiki-default:#D7BA7D;--shiki-dark:#D7BA7D}html pre.shiki code .sG4b4, html code.shiki .sG4b4{--shiki-light:#24292E;--shiki-default:#D4D4D4;--shiki-dark:#D4D4D4}html pre.shiki code .sps74, html code.shiki .sps74{--shiki-light:#005CC5;--shiki-default:#9CDCFE;--shiki-dark:#9CDCFE}html pre.shiki code .seC34, html code.shiki .seC34{--shiki-light:#005CC5;--shiki-default:#B5CEA8;--shiki-dark:#B5CEA8}html pre.shiki code .sDy_c, html code.shiki .sDy_c{--shiki-light:#D73A49;--shiki-default:#B5CEA8;--shiki-dark:#B5CEA8}html pre.shiki code .sqBZk, html code.shiki .sqBZk{--shiki-light:#005CC5;--shiki-default:#CE9178;--shiki-dark:#CE9178}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sEkCa, html code.shiki .sEkCa{--shiki-light:#D73A49;--shiki-default:#C586C0;--shiki-dark:#C586C0}html pre.shiki code .s56mj, html code.shiki .s56mj{--shiki-light:#6A737D;--shiki-default:#6A9955;--shiki-dark:#6A9955}html pre.shiki code .se49E, html code.shiki .se49E{--shiki-light:#22863A;--shiki-default:#D7BA7D;--shiki-dark:#D7BA7D}html pre.shiki code .sNX3-, html code.shiki .sNX3-{--shiki-light:#005CC5;--shiki-default:#DCDCAA;--shiki-dark:#DCDCAA}html pre.shiki code .s1p9p, html code.shiki .s1p9p{--shiki-light:#D73A49;--shiki-default:#D4D4D4;--shiki-dark:#D4D4D4}",{"title":42,"searchDepth":43,"depth":43,"links":46180},[46181,46182,46186,46191,46195,46196,46197,46198,46199,46200],{"id":44579,"depth":46,"text":44580},{"id":44611,"depth":46,"text":44612,"children":46183},[46184,46185],{"id":44618,"depth":43,"text":44619},{"id":44704,"depth":43,"text":44705},{"id":44777,"depth":46,"text":44778,"children":46187},[46188,46189,46190],{"id":44784,"depth":43,"text":44785},{"id":8249,"depth":43,"text":44945},{"id":45066,"depth":43,"text":45067},{"id":45212,"depth":46,"text":45213,"children":46192},[46193,46194],{"id":45219,"depth":43,"text":45220},{"id":45384,"depth":43,"text":45385},{"id":45449,"depth":46,"text":45450},{"id":45517,"depth":46,"text":45518},{"id":45618,"depth":46,"text":45619},{"id":3688,"depth":46,"text":13232},{"id":15451,"depth":46,"text":15452},{"id":8049,"depth":46,"text":8049},"تعلم كيفية اختيار وحدات CSS المناسبة لتصاميم الويب الخاصة بك. يغطي هذا الدليل الشامل البكسلات، rem، em، النسب المئوية، وحدات العرض، والمزيد مع أمثلة عملية.","https://images.unsplash.com/photo-1505685296765-3a2736de412f?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=MnwxMTc3M3wwfDF8c2VhcmNofDV8fGNzc3xlbnwwfHx8fDE2NzQxMzg3ODQ&ixlib=rb-4.0.3&q=80&w=2000",{"excerpt":46204},{"type":9,"value":46205},[46206,46208,46210,46212],[12,46207,44576],{},[16,46209,44580],{"id":44579},[12,46211,44583],{},[186,46213,46214,46218,46222,46226],{},[189,46215,46216,44591],{},[174,46217,44590],{},[189,46219,46220,44597],{},[174,46221,44596],{},[189,46223,46224,44603],{},[174,46225,44602],{},[189,46227,46228,44608],{},[174,46229,2903],{},"/whdat-css","2023-01-21T14:39:04.000Z",{"title":44571,"description":46201},"وحدات-css",[19755,3627,46235,8117],"responsive-design","2025-10-10T00:00:00.000Z","KTU9X6En_nSfmJL0-H5_yMHsa2DZS7g5JnqN2pEk9mg",{"id":46239,"title":46240,"author":7,"body":46241,"category":3658,"description":8198,"extension":52,"image":53,"isDraft":54,"isFeatured":55,"locale":56,"meta":46253,"navigation":54,"path":46258,"publishedAt":42635,"readingTime":2574,"seo":46259,"stem":46260,"tags":46261,"updatedAt":42635,"__hash__":46262},"articles_ar/١٠-أسئلة-حاسمة-قبل-بدء-أي-مشروع-تقني.md","١٠ أسئلة حاسمة قبل بدء أي مشروع تقني",{"type":9,"value":46242,"toc":46250},[46243,46246,46248],[12,46244,46245],{},"قبل أن تبدأ مشروعك التقني، تأكد من الإجابة على هذه الأسئلة الحاسمة.",[16,46247,2102],{"id":2101},[12,46249,2105],{},{"title":42,"searchDepth":43,"depth":43,"links":46251},[46252],{"id":2101,"depth":46,"text":2102},{"excerpt":46254},{"type":9,"value":46255},[46256],[12,46257,46245],{},"/10-aselh-hasmh-qbl-bda-ay-mshrwa-tqny",{"title":46240,"description":8198},"١٠-أسئلة-حاسمة-قبل-بدء-أي-مشروع-تقني",[3658,8209,20874],"pcbuhV8gyRpFuFmSk_FO9EDLl87Uf2pk1VXre-e2Rek",{"id":46264,"title":46265,"author":7,"body":46266,"category":69,"description":8138,"extension":52,"image":53,"isDraft":54,"isFeatured":55,"locale":56,"meta":46284,"navigation":54,"path":46289,"publishedAt":42425,"readingTime":2842,"seo":46290,"stem":46291,"tags":46292,"updatedAt":42425,"__hash__":46293},"articles_ar/٧-أخطاء-قاتلة-في-تطوير-المنتجات-يجب-تجنبها.md","7 أخطاء قاتلة في تطوير المنتجات يجب تجنبها",{"type":9,"value":46267,"toc":46280},[46268,46271,46273,46276,46278],[12,46269,46270],{},"تجنب هذه الأخطاء السبعة القاتلة في تطوير المنتجات لضمان نجاح مشروعك.",[16,46272,28410],{"id":28410},[12,46274,46275],{},"في عالم تطوير المنتجات، الأخطاء يمكن أن تكلف غالياً. دعونا نستكشف الأخطاء الأكثر شيوعاً.",[16,46277,2102],{"id":2101},[12,46279,2105],{},{"title":42,"searchDepth":43,"depth":43,"links":46281},[46282,46283],{"id":28410,"depth":46,"text":28410},{"id":2101,"depth":46,"text":2102},{"excerpt":46285},{"type":9,"value":46286},[46287],[12,46288,46270],{},"/7-akhtaa-qatlh-fy-ttwyr-almntjat-yjb-tjnbha",{"title":46265,"description":8138},"٧-أخطاء-قاتلة-في-تطوير-المنتجات-يجب-تجنبها",[69,3658,3688],"tb9QR0oU1Tfhh9hmX4oiaf1Nym5oYZu5Qdm9vHGPGKU",{"id":46295,"avatar":46296,"bio":46297,"extension":52,"github":46298,"linkedin":46299,"locale":56,"meta":46300,"name":46302,"role":46307,"slug":7,"stem":46308,"twitter":46309,"website":46310,"__hash__":46311},"authors_ar/ar/authors/رائد-البحري.md","/images/raed-bahri.avif","مدير منتجات ومطور متخصص في التطبيقات العربية أولاً","lord007tn","raed-bahri",{"path":46301,"title":46302,"description":42,"body":46303},"/ar/authors/raed-albhry","رائد البحري",{"type":9,"value":46304,"toc":46305},[],{"title":42,"searchDepth":43,"depth":43,"links":46306},[],"المؤسس و مطور منتجات","ar/authors/رائد-البحري","El_Raed_Bahri","https://raedbahri.com","pMOe7fRPZ-myQQEq3wdjao2Xvtyy74dyBfL4UTF1K2s",{"id":46313,"title":2123,"description":46314,"extension":52,"image":46315,"locale":56,"meta":46316,"slug":1437,"stem":46322,"__hash__":46323},"categories_ar/ar/categories/التطوير.md","مقالات ودروس تقنية للمطورين.","/images/development.avif",{"path":46317,"body":46318},"/ar/categories/alttwyr",{"type":9,"value":46319,"toc":46320},[],{"title":42,"searchDepth":43,"depth":43,"links":46321},[],"ar/categories/التطوير","iAFLGiYfzEgt9hcfsLTBp6qi9RJQEO5DYBkdozNtZGQ",1761775951287]