Difference between revisions of "Java-Business-Application/C2/Database-and-validation/Hindi"
From Script | Spoken-Tutorial
Shruti arya (Talk | contribs) (Created page with "{| border = 1 | Time | Narration |- | 00:01 | Database and validation के स्पोकन ट्यूटोरियल में आपका स्वागत...") |
Shruti arya (Talk | contribs) |
||
Line 21: | Line 21: | ||
|- | |- | ||
| 00:12 | | 00:12 | ||
− | | यहाँ मैं उपयोग कर | + | | यहाँ मैं उपयोग कर रहा हूँ |
|- | |- | ||
Line 85: | Line 85: | ||
|- | |- | ||
| 01:08 | | 01:08 | ||
− | | मैं अभी उन्हें | + | | मैं अभी उन्हें दर्शाउंगा। |
|- | |- | ||
Line 269: | Line 269: | ||
|- | |- | ||
| 04:47 | | 04:47 | ||
− | | अतः, मैं 'यूज़रनेम' में 'abc' और 'पासवर्ड' में 'abc123*' टाइप | + | | अतः, मैं 'यूज़रनेम' में 'abc' और 'पासवर्ड' में 'abc123*' टाइप करता हूँ। |
|- | |- | ||
Line 529: | Line 529: | ||
|- | |- | ||
| 10:24 | | 10:24 | ||
− | | कोड की इस लाइन को 'JSP | + | | कोड की इस लाइन को 'JSP इन directive' कहते हैं। |
|- | |- | ||
Line 573: | Line 573: | ||
|- | |- | ||
| 11:20 | | 11:20 | ||
− | | अतः, मैं दोबारा 'harshita' को जोड़ने की कोशिश | + | | अतः, मैं दोबारा 'harshita' को जोड़ने की कोशिश करुँगा। |
|- | |- | ||
Line 597: | Line 597: | ||
|- | |- | ||
| 11:48 | | 11:48 | ||
− | | अब, | + | | अब, 'Add User' पर क्लिक करें। |
|- | |- | ||
Line 669: | Line 669: | ||
|- | |- | ||
| 13:24 | | 13:24 | ||
− | | 'scriptlet tags' में हमने 'यूज़र' टाइप का 'ऑब्जेक्ट' बनाया | + | | 'scriptlet tags' में हमने 'यूज़र' टाइप का 'ऑब्जेक्ट' बनाया है। |
|- | |- | ||
Line 788: | Line 788: | ||
|- | |- | ||
| 16:02 | | 16:02 | ||
− | | | + | | मैं यश वोरा आपसे विदा लेता हूँ। |
हमसे जुड़ने के लिए धन्यवाद। | हमसे जुड़ने के लिए धन्यवाद। | ||
|} | |} |
Revision as of 20:21, 24 November 2014
Time | Narration | ||
00:01 | Database and validation के स्पोकन ट्यूटोरियल में आपका स्वागत है। | ||
00:06 | इस ट्यूटोरियल में निम्न सीखेंगे : | ||
00:08 | डेटाबेस के साथ इन्टरैक्ट करना | ||
00:10 | फ़ील्ड्स को वैलिडेट करना | ||
00:12 | यहाँ मैं उपयोग कर रहा हूँ | ||
00:13 | 'उबन्टु वर्जन 12.04' | ||
00:15 | 'नेटबीन्स IDE 7.3' | ||
00:19 | 'JDK 1.7' | ||
00:21 | 'फायरफॉक्स' वेब ब्राउज़र 21.0 | ||
00:24 | आप अपनी पसंद का कोई भी वेब ब्राउज़र उपयोग कर सकते हैं। | ||
00:28 | इस ट्यूटोरियल के अनुसरण के लिए आपको निम्न का ज्ञान होना ज़रूरी है | ||
00:31 | Java Servlets के बेसिक्स और JSPs | ||
00:35 | 'नेटबीन्स IDE' से 'MySQL डेटाबेस' को जोड़ना | ||
00:39 | 'डेटाबेस' और 'टेबल्स' बनाना। | ||
00:42 | यदि नहीं, तो सम्बंधित ट्यूटोरियल्स के लिए कृपया हमारी वेबसाइट पर जाएँ। | ||
00:47 | अब, 'नेटबीन्स IDE' पर जाते हैं। | ||
00:52 | मैंने 'MySQL सर्वर' शुरू कर दिया है। | ||
00:55 | मैंने इसमें 'लाइब्रेरी' नामक एक डेटाबेस बना लिया है। | ||
01:00 | मैंने इसमें 'यूज़र्स' नामक एक टेबल बना ली है। | ||
01:04 | मैंने पहले से ही इस टेबल में कुछ वैल्यूज डाल दीं हैं। | ||
01:08 | मैं अभी उन्हें दर्शाउंगा। | ||
01:10 | इसके लिए, 'यूज़र्स' पर राइट क्लिक करें और 'व्यू डेटा' पर क्लिक करें। | ||
01:15 | नीचे 'आउटपुट' बटन पर क्लिक करें। | ||
01:19 | हम देख सकते हैं कि यहाँ '15 यूज़र्स' हैं। | ||
01:23 | हम 'फर्स्टनेम', 'सरनेम', 'एज', 'जेंडर', ईमेल', 'यूज़रनेम' और 'पासवर्ड' देख सकते हैं। | ||
01:31 | अब, हम 'JDBC' ड्राइवर को लोड करते हैं जो 'Java Database Connectivity Driver' है। | ||
01:39 | इसके लिए, 'प्रोजेक्ट्स' टैब पर क्लिक करें। | ||
01:42 | 'लाइब्रेरीज़' पर राइट क्लिक करें और 'ऐड लाइब्रेरी' पर क्लिक करें। | ||
01:46 | फिर 'MySQL JDBC ड्राइवर' पर क्लिक करें। | ||
01:50 | और 'ऐड लाइब्रेरी' पर क्लिक करें। | ||
01:53 | यह उस 'JDBC ड्राइवर' को लोड करेगा। | ||
01:56 | अब 'प्रोजेक्ट' को रन करें जैसा हमने पहले किया था। | ||
02:00 | अब, 'यूज़रनेम' में टाइप करें 'arya' और 'पासवर्ड' मे टाइप करें 'arya123*' | ||
02:06 | फिर 'Sign In' क्लिक करें। | ||
02:08 | हम 'Success Greeting' पेज देख सकते हैं। | ||
02:12 | लॉगआउट करने के लिए 'here' पर क्लिक करें। | ||
02:15 | अब, वापस IDE पर जाते हैं। | ||
02:17 | हम 'Greeting servlet' डॉट 'java' पर जायेंगे। | ||
02:21 | 'doPost' मेथड पर आएं | ||
02:23 | पहले, हमें 'getParameter method' (ka)उपयोग करके 'request' से 'यूज़रनेम' और 'पासवर्ड' मिलता है। | ||
02:31 | आगे हम 'JDBC कनेक्शन' के लिए कोड देखेंगे। | ||
02:35 | हमने 'Connection object, PreparedStatement object' और 'Resultset object' को 'null' से इनिशिअलाइज़ किया। | ||
02:44 | फिर हम 'ड्राइवर' को अपने 'प्रोग्राम' में 'रजिस्टर' करते हैं। | ||
02:48 | फिर हम 'डेटाबेस' तक एक कनेक्शन बनाते हैं। | ||
02:52 | फिर, हम 'prepareStatement मेथड' को 'कनेक्शन ऑब्जेक्ट' पर निष्पादित करते हैं। | ||
02:58 | हम 'यूज़र्स टेबल' से 'यूज़र डिटेल्स' प्राप्त करने के लिए, पूछताछ करते हैं। | ||
03:03 | हम जांचते हैं कि 'यूज़रनेम' और 'पासवर्ड' वही हैं जिसे फॉर्म में प्रविष्ट किये गए हैं। | ||
03:09 | यहाँ, क्वेश्चन मार्क डेटाबेस में प्रत्येक फील्ड को दर्शाता है। | ||
03:15 | क्वेश्चन मार्क की जगह वैल्यू देने के लिए, हम 'setString मेथड' को निष्पादित करते हैं। | ||
03:22 | हम ऐसा 'PreparedStatement object' प्रयोग करके करते हैं। | ||
03:26 | फिर हम 'Prepared statement' ऑब्जेक्ट पर 'executeQuery मेथड' को निष्पादित करते हैं। | ||
03:33 | हम परिणाम को 'ResultSet' ऑब्जेक्ट में संचित करते हैं। | ||
03:37 | सफल login के लिए, हम 'successGreeting page' प्रदर्शित करते हैं। | ||
03:43 | इसके लिए, हम 'RequestDispatcher interface' प्रयोग करते हैं। | ||
03:48 | हम 'request' पर 'RequestDispatcher object' प्राप्त करने के लिए 'getRequestDispatcher method' प्रयोग करते हैं। | ||
03:56 | हम फिर 'RequestDispatcher' ऑब्जेक्ट पर 'forward method' उपयोग करते हैं। | ||
04:02 | इस तरह, हम 'successGreeting' डॉट jsp की ओर फॉरवर्ड करते हैं। | ||
04:07 | अब स्लाइड्स पर वापस आते हैं। | ||
04:10 | अब 'RequestDispatcher interface' के बारे में कुछ सीखते हैं। | ||
04:15 | यह इंटरफ़ेस 'request' को अन्य रिसोर्स पर प्रेषित करने के लिए सुविधा देता है। | ||
04:22 | यह रिसोर्स html, सर्वलेट या jsp हो सकता है। | ||
04:26 | अब वापस IDE पर आते हैं। | ||
04:29 | अब 'successGreeting' डॉट 'jsp' पर आते हैं। | ||
04:33 | यहाँ, हम सक्सेस मैसेज 'You have successfully logged in' प्रदर्शित कर रहे हैं। | ||
04:38 | अब, 'ब्राउज़र' पर वापस आते हैं। | ||
04:41 | 'यूज़रनेम' और 'पासवर्ड' टाइप करें जो हमने 'डेटाबेस' में सम्मिलित नहीं किया है। | ||
04:47 | अतः, मैं 'यूज़रनेम' में 'abc' और 'पासवर्ड' में 'abc123*' टाइप करता हूँ। | ||
04:56 | फिर 'Sign In' पर क्लिक करें। | ||
04:59 | हम दख सकते हैं कि हमें उसी पेज पर 'एरर मैसेज' प्राप्त होता है | ||
05:03 | 'Please correct the following error!!! Invalid username or password'। | ||
05:09 | अब, इसके लिए कोड देखते हैं। | ||
05:12 | अतः, 'IDE' पर वापस आते हैं। | ||
05:14 | 'GreetingServlet' डॉट 'java' पर जाते हैं। | ||
05:17 | अगर वैलडैशन असफल होता है, तो हमें 'एरर मैसेजेस' प्रदर्शित करने चाहिए। | ||
05:22 | पहले हमने एरर मैसेजेस की सूची को इनिशिअलाइज़ किया है। | ||
05:27 | हम 'setAttribute' मेथड उपयोग करके 'request scope' में वेरिएबल 'एरर मैसेजेस' सेट करते हैं | ||
05:35 | यहाँ, 'एरर मैसेजेस' 'attribute name' हैं। | ||
05:39 | हमने एक 'स्ट्रिंग वेरिएबल id' को 'null' से इनिशिअलाइज़ किया है। | ||
05:44 | फिर, अगर 'यूज़र' 'डेटाबेस' में रहता है तो हम जांचते हैं। | ||
05:48 | यदि हाँ, तो हम वैल्यू को वेरिएबल 'id' में संचित करते हैं। | ||
05:53 | नहीं तो, हम 'एरर Msgs' लिस्ट में एरर 'इनवैलिड' 'यूज़रनेम' या 'पासवर्ड' को जोड़ते हैं। | ||
06:00 | यदि 'एरर Msgs लिस्ट' खाली नहीं है, तो हम 'एरर मैसेज' को 'index' डॉट 'jsp' पर प्रदर्शित करते हैं। | ||
06:09 | अतः, हमें 'index' डॉट 'jsp' पर जाना है। | ||
06:13 | हमने पहले ही देखा है कि 'RequestDispatcher' को उपयोग करके अन्य पेज पर कैसे जाना हैं। | ||
06:20 | ध्यान दें कि 'एक्सेप्शन' के अवस्था का संचलन करने के लिए हमने इस कोड को 'try catch block' में सम्मिलित कर लिया है। | ||
06:27 | अब, हम देखेंगे कि 'एरर Msgs' वेरिएबल को 'index' डॉट 'jsp' में कैसे लाते हैं। | ||
06:34 | पहले, हम 'attribute errorMsgs' की वैल्यू प्राप्त करते हैं। | ||
06:38 | यह 'request' पर 'getAttribute method' उपयोग करके किया गया है। | ||
06:44 | ध्यान दें कि हमने 'Java code' को ओपनिंग टैग्स जो हैं 'लैस दैन साइन परसेंटेज साइन' और 'क्लोजिंग टैग परसेंटेज साइन और ग्रेटर दैन साइन' में सम्मिलित कर दिया है। ' | ||
06:57 | कोड के इस ब्लॉक को 'scriptlet' कहते हैं। | ||
07:02 | इसमें 'java code' है जो हर बार निष्पादित होता है जब 'JSP' का उपयोग किया जाता है। | ||
07:08 | अगर 'error Msgs' की वैल्यू null नहीं है तो हम यह मैसेज प्रदर्शित करते हैं | ||
07:15 | 'Please correct the following errors' | ||
07:18 | फिर हम 'एरर Msgs' की पूरी लिस्ट से होकर दोहराते हैं। | ||
07:23 | हम फिर 'एरर मैसेजेस' को 'लिस्ट' की तरह दर्शाते हैं। | ||
07:27 | इस प्रकार हम 'एरर मैसेजेस' को 'index डॉट jsp' पर प्रदर्शित करते हैं। | ||
07:32 | अब, देखें कि 'यूज़र' को 'डेटाबेस' में कैसे जोड़ते हैं। | ||
07:37 | 'डेटाबेस' में 'यूज़र' को जोड़ने से पहले, हमें 'यूज़र टेबल' के लिए एक 'model' बनाना पड़ता है। | ||
07:44 | अब, देखते हैं की 'model' क्या है ? | ||
07:48 | एक 'model' | ||
07:49 | 'सॉफ्टवेयर एप्लीकेशन' में अन्तर्निहित (underllying) डेटा के लॉजिकल स्ट्रक्चर को दर्शाता है। | ||
07:55 | एट्रिब्यूट्स के साथ एक 'java class' और उनके लिए 'setters' और ' getters' | ||
08:00 | इस प्रकार, हम 'model' को व्यक्तिगत विशेषता के बजाय सम्पूर्ण की तरह मानते हैं। | ||
08:07 | अब, 'नेटबीन्स IDE' पर वापस जाते हैं। | ||
08:11 | मैंने 'यूज़र डॉट java' मेथड पहले ही बना। | ||
08:16 | ध्यान दें, हमने यह 'Java क्लास' 'package org डॉट स्पोकनट्यूटोरियल डॉट मॉडल' में बनाया है। | ||
08:24 | हमारे पास निम्न ऐट्रिब्यूट्स 'firstName, surname, age, gender, email, username, password' हैं। | ||
08:33 | हमने उन्हें खाली वैल्यूज को इनिशिअलाइज़ किया है। | ||
08:37 | फिर हमारे पास 'parameterized constructor' है। | ||
08:41 | हमारे पास 'default constructor' भी है। | ||
08:44 | हम 'getFirstName method' को परिभाषित करते हैं। | ||
08:47 | हम 'setFirstName method' को भी परिभाषित करते हैं। | ||
08:51 | इसी प्रकार हम 'set' और 'get मेथड्स' को प्रत्येक ऐट्रिब्यूट्स पर परिभाषित करते हैं। | ||
08:57 | 'ब्राउज़र' पर वापस आते हैं। | ||
08:59 | अब, 'रजिस्टर' करने के लिए 'here link' पर क्लिक करें। | ||
09:03 | 'Registration पेज' में सारी फ़ील्ड्स टाइप करें। | ||
09:07 | फिर 'Add User' पर क्लिक करें। | ||
09:10 | हमे 'Add User Success Page' मिलता है। | ||
09:14 | हमें 'Your request to add harshita was successful' मैसेज मिलता है। | ||
09:20 | यहाँ 'harshita' 'username' था जो हमने दिया था। | ||
09:24 | अब, देखते हैं यह कैसे हुआ। | ||
09:28 | अतः 'IDE' पर वापस आते हैं। | ||
09:30 | 'AddUserServlet' 'डॉट' 'java' पर जाएँ। | ||
09:35 | स्टेप्स समान हैं जैसा हमने 'GreetingServlet' डॉट 'java' में पालन कीं थीं। | ||
09:40 | पहले हमें 'getParameter method' प्रयोग करके 'form parameters' प्राप्त होता है। | ||
09:46 | व्यक्तिगत ऐट्रिब्यूट्स के साथ 'User Model' के 'Instance' की तरह हम वेरिएबल 'यूजर' को इनिशिअलाइज़ करते हैं। | ||
09:53 | 'setAttribute method' प्रयोग करके 'request scope' में हम वेरिएबल 'यूज़र' को सेट करते हैं। | ||
10:01 | अगर 'फॉर्म' भरते समय कोई एरर नहीं है, तो यूज़र टेबल में वैल्यूज डालने के लिए हम प्रश्न को निष्पादित करते हैं। | ||
10:10 | फिर हम 'success user page' की तरह फॉरवर्ड होते हैं। | ||
10:15 | अब, 'successUser' डॉट 'jsp' पर आते हैं। | ||
10:19 | पहले, हमने 'User' डॉट 'java' को इम्पोर्ट किया है। | ||
10:24 | कोड की इस लाइन को 'JSP इन directive' कहते हैं। | ||
10:28 | 'JSP directive' 'ओपनिंग टैग लैस दैन साइन परसेंटेज साइन औए एट द रेट साइन' के साथ शुरू होता है और 'क्लोजिंग टैग परसेंटेज साइन औए ग्रेटर दैन साइन' के साथ समाप्त होता है। | ||
10:42 | यह वाला 'पेज directive' है। | ||
10:45 | 'पेज directive' सारे इम्पोर्ट किये हुए 'पैकेजेस' की सूची रखता है। | ||
10:50 | हमें एट्रिब्यूट 'यूज़र' की वैल्यू प्राप्त होती है और इसे 'User object' की तरह संचित करते हैं। | ||
10:57 | फिर, हमारे पास यहाँ 'success message' है। | ||
11:00 | यहाँ, हमने 'यूज़रनेम' पता लगा लिया है। | ||
11:04 | हमने 'request object' पर 'getUsername() method' उप्रयोग किया है। | ||
11:09 | 'scriptlet tags' प्रयोग करके हमने यह किया। | ||
11:12 | अब, ब्राउज़र पर वापस आते हैं। | ||
11:15 | पहले से ही डेटाबेस में उपस्थित 'यूज़र' को हम जोड़ने की कोशिश करेंगे। | ||
11:20 | अतः, मैं दोबारा 'harshita' को जोड़ने की कोशिश करुँगा। | ||
11:24 | हम देख सकते हैं कि हमें एक एरर मैसेज प्राप्त होता है 'Please correct the following errors!!1 Duplicate entry 'harshita' for key username. | ||
11:33 | अब, एक बार फिर यूज़र के लिए रजिस्टर करते हैं। | ||
11:37 | यहाँ, मैंने अभी एक फॉर्म भर दिया है। | ||
11:40 | मैंने 'Age' फील्ड में एक गलती उत्पन्न की है। | ||
11:44 | मैंने एक वैलिड नंबर के बजाय 'ab' टाइप किया है। | ||
11:48 | अब, 'Add User' पर क्लिक करें। | ||
11:51 | हम देखते हैं हमें एक एरर मैसेज मिलता है 'The age must be a positive integer'. | ||
11:57 | अब, देखते हैं कि यह कैसे हुआ ? | ||
12:00 | 'IDE' पर वापस आते हैं। | ||
12:03 | 'AddUserServlet' डॉट 'java' खोलें। | ||
12:08 | यहाँ भी हम 'एरर Msgs' की 'लिस्ट' देखेंगे। | ||
12:11 | फिर हम 'setAttribute method' प्रयोग करके 'request scope' में वेरिएबल 'एरर Msgs' सेट करते हैं। | ||
12:18 | फिर, हमने 'इंटीजर' टाइप का 'ageUser' घोषित किया और हमने इसे -1 से इनिशलाइज़ किया। | ||
12:26 | 'try catch block' के अंदर हमने 'parseInt method' प्रयोग किया। | ||
12:31 | यह इंटीजर देगा, जबकि नंबर का स्ट्रिंग प्रदर्शन इनपुट की तरह हो। | ||
12:37 | यहाँ हमने यह वैलिडेट किया कि 'age' फील्ड वैलिड पॉजिटिव इंटीजर रखता है। | ||
12:44 | अगर वैलडैशन असफल होता है, तो हम 'errorMsgs list' में एरर मैसेज जोड़ते हैं। | ||
12:51 | ऐज पॉजिटिव इंटीजर होनी चाहिए। | ||
12:54 | उसी प्रकार हमें यह वैलिडेट करना है कि अन्य सभी फ़ील्ड्स भी वैलिड डेटा रखती हैं। | ||
13:01 | अगर एररMsgs लिस्ट खाली नहीं है, तो हम 'addUser' डॉट 'jsp' पर (hi)'errorMsgs' प्रदर्शित करेंगे। | ||
13:09 | हमने यह भी देखा कि 'RequestDispatcher' प्रयोग करके यह कैसे होता है। | ||
13:15 | अब, 'addUser' डॉट 'jsp' पर आते हैं। | ||
13:19 | यहाँ भी, पहले हमने 'user डॉट java' इंपोर्ट किया। | ||
13:24 | 'scriptlet tags' में हमने 'यूज़र' टाइप का 'ऑब्जेक्ट' बनाया है। | ||
13:31 | फिर हमें 'getAttribute method' प्रयोग करके एट्रिब्यूट की वैल्यू 'errorMsgs' प्राप्त होती है। | ||
13:38 | हम जांचते हैं कि यह वैल्यू 'null' के बराबर है या नहीं। | ||
13:43 | यदि यह 'null' के बराबर नहीं है, तो हम एक एरर मैसेज, जैसा हमने 'index' डॉट 'jsp' के लिए किया था, प्रदर्शित करते हैं। | ||
13:51 | यदि नहीं, तो 'User model' प्रयोग करके हमें एट्रिब्यूट 'user from request' की वैल्यू प्राप्त होगी। | ||
13:59 | फिर हमारे पास 'फॉर्म' है। | ||
14:01 | 'फॉर्म टैग' 'AddUserServlet' की तरह 'action' और 'POST' की तरह 'method' रखती है। | ||
14:07 | पहली फील्ड 'text' की तरह 'इनपुट टाइप' का 'First Name' है , 'fiirstName' की तरह 'Name' और 'user' डॉट 'getFirstName' की तरह 'value' | ||
14:18 | यहाँ, हम 'fiirstName' की वैल्यू को खाली स्ट्रिंग से इनिशिअलाइज़ कर रहे हैं। | ||
14:24 | इसी प्रकार आपको अन्य फ़ील्ड्स के लिए करना है। | ||
14:28 | हमारे पास 'submit' बटन और 'Add User' की तरह वैल्यू भी है | ||
14:33 | इस प्रकार हम 'addUser.jsp' में फ़ील्ड्स को वैलिडेट करते हैं। | ||
14:38 | आप 'Add User page' पर भिन्न एरर्स को करके देख सकते हैं। | ||
14:42 | अब, देखते हैं कि यूज़र 'harshita' 'डेटाबेस' में जोड़ी गयी है। | ||
14:49 | यूज़र टेबल पर वापस आते हैं। हम देख सकते हैं कि 'harshita' 'डेटाबेस में जोड़ी जा चुकी है। | ||
14:56 | इस ट्यूटोरियल में हमने सीखा | ||
14:58 | 'डेटाबेस कनेक्टिविटी' और | ||
15:00 | 'फील्ड वैलडैशन' . | ||
15:02 | स्पोकन ट्यूटोरियल प्रोजेक्ट के बारे में अधिक जानने के लिए, निम्न लिंक पर उपलब्ध विडिओ देखें। | ||
15:07 | यह स्पोकन ट्यूटोरियल प्रोजेक्ट को सारांशित करता है। | ||
15:11 | अच्छी बैंडविड्थ न मिलने पर आप इसे डाउनलोड करके देख सकते हैं। | 15:15 | स्पोकन ट्यूटोरियल प्रोजेक्ट टीम |
15:17 | स्पोकन ट्यूटोरियल्स का उपयोग करके कार्यशालाएं चलाती है। | ||
15:20 | ऑनलाइन टेस्ट पास करने वालों को प्रमाणपत्र देते हैं। | ||
15:23 | अधिक जानकारी के लिए, कृपया contact at spoken hyphen tutorial dot org को लिखें। | ||
15:29 | स्पोकन ट्यूटोरियल प्रोजेक्ट टॉक-टू-अ टीचर प्रोजेक्ट का हिस्सा है। | ||
15:32 | यह भारत सरकार के एम एच आर डी के आई सी टी के माध्यम से राष्ट्रीय साक्षरता मिशन द्वारा समर्थित है। | ||
15:38 | इस मिशन पर अधिक जानकारी http://spoken-tutorial.org/NMEICT- Intro पर उपलब्ध है। | ||
15:48 | लाइब्रेरी मैनेजमेंट सिस्टम' अग्रणी सॉफ्टवेयर 'MNC' के 'कॉर्पोरेट सोशल रेस्पोंसिबिलिटी' कार्यक्रम के अंतर्गत योगदान दिया गया है। | ||
15:57 | इस स्पोकन ट्यूटोरियल के लिए उन्होंने इस विषय वस्तु की पुष्टि भी की है। | ||
16:02 | मैं यश वोरा आपसे विदा लेता हूँ।
हमसे जुड़ने के लिए धन्यवाद। |