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

لوحة المتصدرين

  1. أحمد عبد الله2

    أحمد عبد الله2

    الأعضاء


    • نقاط

      2

    • المساهمات

      170


  2. Abdu Mohamed

    Abdu Mohamed

    الأعضاء


    • نقاط

      2

    • المساهمات

      47


  3. Ahmed Yehia2

    Ahmed Yehia2

    الأعضاء


    • نقاط

      1

    • المساهمات

      36


  4. Wael Aljamal

    Wael Aljamal

    الأعضاء


    • نقاط

      1

    • المساهمات

      6975


المحتوى الأكثر حصولًا على سمعة جيدة

المحتوى الأعلى تقييمًا في 01/24/22 في كل الموقع

  1. عند اضافة قاعدة بيانات جديدة تظهر الرسالة المرفقة ولا يتم تنفيذ أوامر الادخال مع حذف القاعدة واعادة بناءها وتظهر الرسائل بشكل متكرر مع العلم انها اول قاعدة بيانات تم بناؤها Msg 1801, Level 16, State 3, Line 1 Database 'Organization_Manager' already exists. Choose a different database name. Msg 2714, Level 16, State 6, Line 3 There is already an object named 'User_TABLE' in the database.
    1 نقطة
  2. السلام عليكم ورحمه الله وبركاته انا مبتدا فى تعلم flutter واعمل على برنامج مشغل صوتيات مستخدم باكدج assets_audio_playe مستخدم local files واحتاج مساعدة فى null safety من فضلكم import 'package:assets_audio_player/assets_audio_player.dart'; import 'package:flutter/material.dart'; class Episode6PlaylistView extends StatefulWidget { @override _Episode6PlaylistViewState createState() => _Episode6PlaylistViewState(); } class _Episode6PlaylistViewState extends State<Episode6PlaylistView> { final AssetsAudioPlayer audioPlayer = AssetsAudioPlayer(); double screenHeight = 0; double screenWidth = 0; final Color mainColor = Color(0xff181c27); final Color inactiveColor = Color(0xff5d6169); List<Audio> audioList = [ Audio('assets/1.mp3', metas: Metas( title: 'ring1', artist: 'unknown', image: MetasImage.asset('assets/'))), Audio('assets/2.mp3', metas: Metas( title: 'ring2', artist: 'unknown', image: MetasImage.asset('assets/'))), Audio('assets/3.mp3', metas: Metas( title: 'ring3', artist: 'unknown', image: MetasImage.asset('assets/'))), Audio('assets/4.mp3', metas: Metas( title: 'ring4', artist: 'unknown', image: MetasImage.asset('assets/'))), Audio('assets/5.mp3', metas: Metas( title: 'ring5', artist: 'unknown', image: MetasImage.asset('assets/'))), Audio('assets/6.mp3', metas: Metas( title: 'ring6', artist: 'unknown', image: MetasImage.asset('assets/'))), ]; @override void initState() { super.initState(); setupPlaylist(); } void setupPlaylist() async { audioPlayer.open(Playlist(audios: audioList), autoStart: false, loopMode: LoopMode.playlist); } Widget playlistImage() { return Container( height: screenHeight * 0.25, width: screenHeight * 0.25, child: ClipRRect( borderRadius: BorderRadius.circular(20.0), child: Image.asset( 'assets/background_circular.jpg', fit: BoxFit.cover, ), ), ); } Widget playlistTitle() { return Text( 'Chill Playlist', style: TextStyle( fontFamily: 'Barlow', color: Colors.white, fontSize: 30, fontWeight: FontWeight.bold), ); } Widget playButton() { return Container( width: screenWidth * 0.25, child: TextButton( onPressed: () => audioPlayer.playlistPlayAtIndex(0), child: Row( mainAxisAlignment: MainAxisAlignment.center, children: [ Icon( Icons.play_circle_outline_rounded, color: mainColor, ), SizedBox(width: 5), Text( 'Play', style: TextStyle(color: mainColor), ), ], ), style: ButtonStyle( backgroundColor: MaterialStateColor.resolveWith((states) => Colors.white), shape: MaterialStateProperty.all<RoundedRectangleBorder>( RoundedRectangleBorder( borderRadius: BorderRadius.circular(10.0), )))), ); } Widget playlist(RealtimePlayingInfos realtimePlayingInfos) { return Container( height: screenHeight * 0.35, alignment: Alignment.bottomLeft, child: ListView.builder( shrinkWrap: true, itemCount: audioList.length, itemBuilder: (context, index) { return playlistItem(index); }), ); } Widget playlistItem(int index) { return InkWell( onTap: () => audioPlayer.playlistPlayAtIndex(index), splashColor: Colors.transparent, highlightColor: mainColor, child: Container( height: screenHeight * 0.07, child: Padding( padding: const EdgeInsets.only(left: 20, right: 20), child: Row( children: [ Text( '0${index + 1}', style: TextStyle( color: Colors.white, fontWeight: FontWeight.bold, fontFamily: 'Barlow'), ), SizedBox(width: screenWidth * 0.04), Expanded( child: Column( mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.start, children: [ Text( audioList[index].metas.title, style: TextStyle( fontSize: 15, color: Colors.white, fontWeight: FontWeight.bold, fontFamily: 'Barlow'), ), SizedBox(height: screenHeight * 0.005), Text( audioList[index].metas.artist, style: TextStyle( fontSize: 13, color: Color(0xff5d6169), fontFamily: 'Barlow'), ), ], ), ), Icon( Icons.menu_rounded, color: inactiveColor, ) ], ), ), ), ); } Widget bottomPlayContainer(RealtimePlayingInfos realtimePlayingInfos) { return Container( height: screenHeight * 0.1, decoration: BoxDecoration( color: Colors.white, borderRadius: BorderRadius.only( topLeft: Radius.circular(20.0), topRight: Radius.circular(20.0))), child: Padding( padding: const EdgeInsets.only(left: 8.0), child: Row( children: [ Container( height: screenHeight * 0.08, width: screenHeight * 0.08, child: ClipRRect( borderRadius: BorderRadius.circular(20.0), child: Image.asset( realtimePlayingInfos.current.audio.audio.metas.image.path, fit: BoxFit.cover, ), ), ), SizedBox(width: screenWidth * 0.03), Expanded( child: Column( mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.start, children: [ Text( realtimePlayingInfos.current.audio.audio.metas.title, style: TextStyle( fontSize: 15, color: mainColor, fontWeight: FontWeight.bold, fontFamily: 'Barlow'), ), SizedBox(height: screenHeight * 0.005), Text( realtimePlayingInfos.current.audio.audio.metas.artist, style: TextStyle( fontSize: 13, color: mainColor, fontFamily: 'Barlow'), ) ], ), ), Icon( Icons.favorite_outline_rounded, color: mainColor, ), SizedBox( width: screenWidth * 0.03, ), IconButton( icon: Icon(realtimePlayingInfos.isPlaying ? Icons.pause_circle_filled_rounded : Icons.play_circle_fill_rounded), iconSize: screenHeight * 0.07, splashColor: Colors.transparent, highlightColor: Colors.transparent, color: mainColor, onPressed: () => audioPlayer.playOrPause()) ], ), ), ); } /// List of placeholder icon buttons used for the bottom navigation bar Widget bottomNavigationBar() { return BottomNavigationBar( type: BottomNavigationBarType.fixed, backgroundColor: mainColor, selectedItemColor: Colors.white, unselectedItemColor: inactiveColor, iconSize: screenWidth*0.07, items: <BottomNavigationBarItem>[ BottomNavigationBarItem(icon: Icon(Icons.home), label: 'Home'), BottomNavigationBarItem(icon: Icon(Icons.search), label: 'Search'), BottomNavigationBarItem( icon: Icon(Icons.library_music_rounded), label: 'Library'), BottomNavigationBarItem( icon: Icon(Icons.local_fire_department_rounded), label: 'Hotlist') ], ); } @override Widget build(BuildContext context) { screenHeight = MediaQuery.of(context).size.height; screenWidth = MediaQuery.of(context).size.width; return Scaffold( backgroundColor: mainColor, bottomNavigationBar: Container( height: screenHeight * 0.1, color: Colors.white, child: ClipRRect( borderRadius: BorderRadius.only( topLeft: Radius.circular(20.0), topRight: Radius.circular(20.0), ), child: bottomNavigationBar(), ), ), body: audioPlayer.builderRealtimePlayingInfos( builder: (context, realtimePlayingInfos) { if (realtimePlayingInfos != null) { return Column( mainAxisAlignment: MainAxisAlignment.end, children: [ playlistImage(), SizedBox(height: screenHeight * 0.02), playlistTitle(), SizedBox(height: screenHeight * 0.02), playButton(), SizedBox(height: screenHeight * 0.02), playlist(realtimePlayingInfos), bottomPlayContainer(realtimePlayingInfos) ], ); } else { return Column(); } })); } }
    1 نقطة
  3. ان كنا سنقوم بتحويل الوصور الى base64 قبل ارسالها الى المستخدم فلماذا لا نخزنها من البداية في قاعدة البيانات على هيئة base64
    1 نقطة
  4. حسنا .. سوف اكتب اجابة الان لقد كانت المشكلة اننى نسيت ان اقوم برفع ال key الخاص ب apple وهو key يجب وضعه فى firebase ووضع معه team id و key id وكل هذه البيانات يمكن جلبها من موقع apple for developer لكن يجب عليك ان تملك حسابا عليه الطريقة مشروحة ومفصلة هنا https://rnfirebase.io/messaging/usage/ios-setup
    1 نقطة
  5. 1 نقطة
  6. ما الفرق بين useCallback والفرق بين useMemo?
    1 نقطة
  7. لنأخذ مثال حتى نفهم الأمر بشكلٍ جيد, سنضع تلك الشفرة البرمجية مثال لنا function Page() { const [a, setA] = useState(0); ... return ( ... <Button onChange={() => { doSomething(a); }} /> ); } عند حدوث أي تغيير في المكون page يسبب re-render كتغيير قيمة a على سبيل المثال سيتسبب هذا بعمل re-render أيضًا للمكون Button وذلك بسبب أن الدالة doSomething في كل مرة سيتم معاملتها على أنها قيمة جديدة وبالتالي يقوم المكون Button بإعتبار أن أحد props الخاصة به تغيرت وبالتالي يقوم بعمل re-render بينما إن قمنا بتعديل الشفرة لتصبح على النحو التالي function Page() { const [a, setA] = useState(0); const onButtonChange = useCallback(() => {doSomething(a);}, []); ... return ( ... <Button onChange={onButtonChange} /> ); } عندما يحدث re-render للمكون Page في كل مرة سيتم إعتبار أن الدالة onButtonChange لم تتغير وبالتالي لن يتم عمل re-render للمكون Button إلا في حالة تغير أحد الوسائط التي تم تمريرها في المصفوفة التي مُررت في المعامل الثاني للدالة useCallback بينما useMemo تقوم بتخزين ناتج إرجاع الدالة ونقوم بإستخدامها في حالة كان الدالة تقوم بعملية ثقيلة وتأخذ وقت أو تستهلك موارد وبالتالي في كل مرة نقوم بنداء الدالة لن يتم تنفيذها بل يتم إرجاع قيمة إرجاعها المخزنة بالفعل إلا في حالة تغير أحد المعاملات التي نقوم بوضعها في المصفوفة الممررة للمعامل الثاني للدالة useMemo , على سبيل المثال الشفرة التالية const doHeavyCalc = ()=>{//some calculations} في كل مرة نقوم بنداء تلك الدالة سيتم عمل عمليات ثقيلة بينما إن قمنا بكتابتها على النحو التالي const doHeavyCalc = useMemo(()=>{//some calculations} ,[a]) في تلك الحالة لن يتم مناداة الدالة doHeavyCalc إلا في حالة أن تغيرت أحد المعاملات الممررة لمصفوفة الuseMemo والتي في حالتنا هنا المتغير a, عدا ذلك سيتم إرجاع قيمة الدالة المُخزنة بالفعل
    1 نقطة
  8. الهدف منه أنه في كل مرة يتم فيها تنفيذ الكود نحصل على نفس النتائج، لأن تقسيم الداتاسيت يكون عشوائي وبذلك تكون قدد ضمنت أن تقسيم الداتاسيت سيكون نفسه، أي بمعنى آخر، ستحصل على نفس التقسيم للداتاسيت في كل مرة تقوم بها بتنفيذ الكود. هذا الأمر مهم جداً ولاسيما في الحالات التي تريد فيها مقارنة أداء عدة خوارزميات على نفس الداتاسيت أو حتى أثناء القيام بعملية ضبط المعاملات العليا للنموذج (Hyper-Parameters)، فعلى فرض تريد تجريب أداء خوارزمية SVM و LR على هذه البيانات فمن المفترض أن يتم القياس على أساس نفس الداتاسيت ونفس التقسيم، لأن اختلاف تقسيم البيانات يؤدي إلى نتائج مختلفة. نقول أن الهدف من ذلك هو Reliability أي الموثوقية. الموثوقية في الإحصاء والقياسات النفسية هي التطابق العام للقياس. يُقال إن المقياس يتمتع بموثوقية عالية في حال نتج عنه نتائج مماثلة في ظل ظروف ثابتة.
    1 نقطة
  9. لك مطلق الحرية في الوقت الذي تستغرقه لإنهاء أي دورة من دورات أكاديمية حسوب وسيكون لك وصول مدى الحياة للدورات التي إشتركت فيها حتى بعد التخرج منها، وعليك أن تقوم بإنهاء أربع مسارات على الأقل من الدورة لكي تتمكن من الحصول على الشهادة وكذلك عليك إجتياز الإختبار الأخير. مع العلم أنك أنت من يحدد متى تريد الخضوع للإختبار الأخير للحصول على الشهادة. يمكنك الإطلاع على أهم الأسئلة المماثلة من خلال صفحة الأسئلة الشائعة، أو إستخدام مركز المساعدة.
    1 نقطة
  10. هذه المشكلة بسبب إعداد DNS على الأغلب حيث لم يتم تحديثها، حاول إعادة تشغيل مخدم DNS لديك DNS service أو أن DNS Domain غير محدد بشكل صحيح.
    1 نقطة
×
×
  • أضف...