Mar
11

पुस्तक समीक्षा: PHP jQuery Cookbook

PHP jQuery Cookbook

Language : English
Paperback : 332 pages [ 235mm x 191mm ]
Release Date : December 2010
ISBN : 1849512744
ISBN 13 : 978-1-84951-274-9
Author(s) : Vijay Joshi

पीएचपी जेक्वेरी कुकबुक पैक्ट (PACKT) प्रकाशन द्वारा कुछ ही समय पहले निकाली गई पुस्तक है। “कुकबुक” जैसा कि नाम से ही स्पष्ट है कि इसमें जेक्वेरी इवेंट्स, एजेक्स, एक्सएमएल, जेसन, फार्म, विशेष प्रभाव, नेविगेशन मेन्यू, डाटाबेस और प्लग इन विकसित करने से जुड़ी ६० विधियां एवं नुस्खे दिए गए हैं।

अच्छा

१. पूरा कोड पुस्तक में ही दिया गया है। आप मात्र कापी पेस्ट करके अध्ययन कर सकते हैं।

२. इस पुस्तक में किसी भी विधि को बिंदुओं के जरिए समझाने का तरीका मुझे बहुत पसंद आया। जैसे

  • सर्वप्रथम किसी समस्या तथा कार्य के विषय में संक्षिप्त परिचय दिया गया है
  • गेटिंग रेडी बिंदु के अंतर्गत उन चीजों के विषय में बताया जाता जिनकी आपको उस कार्य को करने में आवश्यकता होगी
  • हाऊ टु डू इट बिंदु के अंतर्गत पूरी विधि कोड के साथ बताई जाती है
  • हाऊ इट वर्क्स के अंतर्गत विधि को समझाया जाता है और यह बताया जाता है कि दिया गया कोड किस प्रकार कार्य कर रहा है
  • सी आल्सो बिंदु के अंतर्गत आपको उस नुस्खे से मिलते जुलते नुस्खों की सूची दे दी जाती है
  • देयर इज मोर बिंदु के अंतर्गत उस विधि से जुड़ी और अतिरिक्त जानकारी दी जाती है

३. हाऊ इट वर्क्स और देयर इस मोर बिंदुओं के अंतर्गत जो गहराई से अतिरिक्त जानकारी दी जाती है वह काफी काम की है। कई प्रकार की भ्रांतियां उससे समाप्त हो जाती हैं।

खराब

१. मुझे ऐसी कोई चीज नही मिली जो खराब या बुरी लगी हो। हां कुछ चीज़ें छूटी हुई जरूर लगती हैं जैसे कि जेक्वेरी यूआई। अब यदि पुस्तक के नाम में जेक्वेरी लिखा है तो मेरा विचार है कि जेक्वेरी यूआई को भी शामिल कर लेना था। जेक्वेरी टेम्प्लेट का जिक्र नही मिला।

२. पुस्तक किसी भारतीय लेखक के द्वारा लिखी गई है। किन्तु वह अंग्रेजी में है। यदि यह हिन्दी अथवा अन्य भारतीय भाषाओं में होती तो भारत के अधिक लोग पढ़ पाते।

कुल मिलाकर

पुस्तक बढ़िया है और सहेजकर रखने लायक है। यदि थोड़ा बहुत पीएचपी जेक्वेरी जानते हैं तो आपके काफी काम की हो सकती है।

मेरा मूल्यांकन

५ में से ४ सितारे

सुझाव: पैक्ट प्रकाशन को मेरा सुझाव है कि वो अपनी कुछ श्रेष्ठ पुस्तकें हिन्दी तथा अन्य भारतीय भाषाओं में भी निकाले।

खरीदने का पता है:

https://www.packtpub.com/php-jquery-cookbook-to-create-interactive-web-applications/book

इस पुस्तक से कुछ मुफ्त की सामग्री

https://www.packtpub.com/sites/default/files/2749OS-Chapter-5-Working-with-Forms.pdf

Mar
10

पुस्तक समीक्षा: CMS Design Using PHP and jQuery

CMS Design Using PHP and jQuery

Language : English
Paperback : 340 pages [ 235mm x 191mm ]
Release Date : December 2010
ISBN : 1849512523
ISBN 13 : 978-1-84951-252-7

सीएमएस डिजाइन यूजिंग पीएचपी एंड जेक्वेरी पैक्ट (PACKT) प्रकाशन के द्वारा कुछ ही समय पहले निकाली गई पुस्तक है। जैसा कि नाम से स्पष्ट है कि इस पुस्तक के माध्यम से आप एक संपूर्ण सामग्री प्रबंधन तंत्र को विकसित करना सीख पाएंगे। इस पुस्तक में बताया गया सामग्री प्रबंधन तंत्र वह सब कुछ अपने आप में समेटे हुए है जो कि एक सामग्री प्रबंधन तंत्र में होना चाहिए। जैसे पॄष्ठ बनाना, टेम्प्लेट तंत्र, प्लग इन तंत्र, विजेट तंत्र, इंस्टालर (स्थापना तंत्र).

इस पुस्तक में जिस सामग्री प्रबंधन तंत्र का उदाहरण लिया गया है वह वास्तविकता में उपलब्ध भी है। इसका नाम है वेब वर्क्स वेबएमई। इसे आप गूगल कोड की वेबसाइट से डाउनलोड भी कर सकते हैं।

http://code.google.com/p/webworks-webme/downloads/detail?name=webworks-webme-20090502-r95.tar.bz2&can=2&q=

अच्छा

पुस्तक की भाषा और प्रवाह एकदम सही है। यदि आप क्रम से सभी कोडों को “कॉपी-पेस्ट” करते जाएंगे तो आप आसानी से पूरा तंत्र विकसित कर लेंगे। हां, कोड में कहीं पर एकाध वर्णों की त्रुटि हो सकती है जिसकी वजह से प्रोग्राम न चले लेकिन यदि आप अच्छा आईडीई प्रयोग कर रहे हैं तो आप आसानी से उसे ठीक कर लेंगे।

बुरा

इस पुस्तक में कोड लिखने  के तौर तरीकों का कोई विशेष ध्यान नही रखा गया है इसके अलावा फार्म वैधीकरण इत्यादि के ऊपर भी कोई ध्यान नही दिया गया है। इस पुस्तक द्वारा विकसित सीएमएस जूमला जैसा कोई भारी भरकम सीएमएस नही है। अत: वह आशा आप मत कीजिएगा। यह एक बहुत ही छोटे स्तर का सीएमएस है जिसमें एक सामग्री प्रबंधन तंत्र के सभी आधारभूत गुण मौजूद हैं।

मेरा मूल्यांकन:

५ में से १.५

पुस्तक खरीदने के लिए यहां जाएं:

https://www.packtpub.com/cms-design-using-php-and-jquery/book

इस पुस्तक की कुछ मुफ्त सामग्री

https://www.packtpub.com/sites/default/files/2527OS-Chapter-7-Plugins.pdf

Feb
4

अपनी उबुन्टू डेस्कटॉप में लैम्प सर्वर स्थापित करें [एपाचे, माईएसक्यूएल, पीएचपी]

लैम्प सर्वर स्थापित करना

यदि आप उबुन्टू लिनक्स मशीन पर वेब विकास का कार्य आरंभ करना चाहते हैं या अपने पीसी को सर्वर की तरह उपयोग करना चाहते हैं तो आपको उसमें एपाचे, माईएसक्यूएल तथा पीएचपी स्थापित कर लेना चाहिए।

१) उबुन्टू में लैम्प सर्वर स्थापित करना बहुत ही आसान है। बस टर्मिनल के जरिए निम्नलिखित आदेश दीजिए:

sudo apt-get install lamp-server^

२) इस आदेश को देने के पश्चात लैम्प सर्वर के लिए आवश्यक कई पैकेज स्वत: ही चुन लिए जाते हैं और आपसे उन्हे डाउनलोड करने की अनुमति मांगी जाती है। इसमें Y लिखकर इंटर कुंजी दबा दें।

३) स्थापना प्रक्रिया के दौरान आपको माईएसक्यूएल सर्वर का कूटशब्द/पासवर्ड निर्धारित करने को कहा जाता है। उसे लिखें और आगे बढ़ें।

४) स्थापना प्रक्रिया के पूरे होने के पश्चात वेब ब्राउज़र खोलें और http://localhost/ पते को खोलें। यदि आपको कुछ ऐसा दिखाई देता है तो इसका मतलब है कि आपका सर्वर सफलतापूर्वक स्थापित कर दिया गया है।

यह पृष्ठ /var/www/ नामक डायरेक्ट्री में स्थित है। यही फोल्डर आपके सर्वर की मुख्य डायरेक्ट्री है।

पीएचपी माईएडमिन स्थापित करना:

माईएसक्यूएल डाटाबेसों में आसानी काम करने के लिए पीएचपीमाईएडमिन स्थापित कर लेना अधिक अच्छा रहता है।

१) पीएचपीमाईएडमिन स्थापित करने के लिए टर्मिनल से निम्नलिखित आदेश दें:

sudo apt-get install phpmyadmin

२) स्थापना प्रक्रिया के दौरान आपसे पूछा जाता है कि आप किस सर्वर पर पीएचपीमाईएडमिन स्थापित करना चाहेंगे। हमनें अभी हाल ही में एपाचे स्थापित किया है तो उसे चुनें और आगे बढ़ें।

३) स्वयं पीएचपीमाईएडमिन के पूरे अंगों के सही ढंग से काम करने के लिए एक डाटाबेस स्थापित करना आवश्यक होता है। इस चरण में आपसे पूछा जाता है कि क्या आप उसके लिए पीएचपीमाईएडमिन को कांफिगर करना चाहते हैं? यहां Yes चुनकर आगे बढ़ें।

४) अब डाटाबेस स्थापित करने के लिए आपसे माईएसक्यूएल के root उपयोगकर्ता का कूटशब्द/पासवर्ड मांगा जाता है। उसे भरें और आगे बढ़ें।

५) अब एक पासवर्ड निर्धारित करने को कहा जाता है जिससे पीएचपीमाईएडमिन डाटाबेस सर्वर के साथ रजिस्टर हो सके। इसे निर्धारित करें। और आगे बढ़ें।

५) पीएचपीमाईएडमिन की स्थापना प्रक्रिया पूरी होने के पश्चात ब्राउजर के जरिए इस पते को खोलें:

http://localhost/phpmyadmin

यदि आपको ऐसा कुछ दिखाई देता है तो इसका मतलब है कि पीएचपीमाईएडमिन सफलतापूर्वक स्थापित हो चुका है। अब आप इसमें अपने माईएसक्यूएल उपयोगकर्ता नाम तथा कूटशब्द को लिखकर सत्रारंभ कर सकते हैं।

इस प्रकार हमनें लिनक्स में लैम्प सर्वर तथा पीएचपी माईएडमिन स्थापित करना सीखा। किन्तु अभी भी एक दिक्कत है। यदि आप /var/www में कुछ डालने की कोशिश करेंगे तो वह नही होगा।

आपको यह त्रुटि संदेश मिलेगा:

Error moving file: Permission denied

इसे ठीक करने के लिए टर्मिनल से निम्नलिखित आदेश दें:

sudo chown ankur /var/www/

यहां ankur की जगह अपना उपयोगकर्ता नाम लिखें।

अब आप /var/www में फाइलें डाल सकेंगे।

Jan
2

फायरवर्क्स में मास्टर पेज

आइए जानें फायरवर्क्स में मास्टर पेजों की क्या भूमिका है

Dec
22

पीएचपी स्क्रिप्ट के जरिए किसी फाइल को उपलब्ध कराना

किसी चित्र अथवा फाइल को पीएचपी स्क्रिप्ट के द्वारा उपलब्ध कराने की जरुरत कब पड़ती है?

मान लीजिए कि आप कुछ चित्रों अथवा फाइलों को कुछ विशेष उपयोगकर्ताओं को ही दिखाना चाहते हैं। आप चाहते हैं कि शेष लोग उस फाइल तक न पहुंच पाएं तो ऐसी स्थिति में उस फाइल को पीएचपी स्क्रिप्ट के जरिए उपलब्ध कराना अच्छा रहता है। यहां हम एक जेपीईजी चित्र फाइल का उदाहरण ले रहे हैं।

header(‘Content-type: image/jpeg’);
$file = “/path/to/file.jpg”;
if(file_exists($file)){
readfile($file);
}

उपरोक्त उदाहरण में header और readfile फंग्शन ही प्रमुख हैं। उपरोक्त कोड जिस पीएचपी फाइल में जाएगा वह पीएचपी फाइल एक चित्र वाली जेपीईजी फाइल की तरह से कार्य करेगी।

header फंग्शन यह निश्चित करता है कि जो आंकड़े ब्राउज़र को भेजे जा रहे हैं वे किस संरूप के हैं और उन्हे ब्राउज़र किस संरूप में समझे। ध्यान रहे कि इस फंग्शन के पहले किसी अक्षर को echo इत्यादि नही करना चाहिए अन्यथा त्रुटि मिलेगी।

readfile सीधे किसी फाइल को पढ़ता है। ध्यान रखें कि readfile में फाइल का पूरा पाथ बताना पड़ता है।

यह हेडर तो जेपीईजी फाइल के लिए था। अन्य कुछ प्रकारों के लिए इस प्रकार है:

Atom

header('Content-type: application/atom+xml');

CSS

header('Content-type: text/css');

Javascript

header('Content-type: text/javascript');

JPEG Image

header('Content-type: image/jpeg');

JSON

header('Content-type: application/json');

PDF

header('Content-type: application/pdf');

RSS

header('Content-Type: application/rss+xml; charset=ISO-8859-1');

Text (Plain)

header('Content-type: text/plain');

XML

header('Content-type: text/xml');
Dec
13

पीएचपी में दिनांकों के साथ एक गड़बड़

आज मैं पीएचपी DateTime क्लास का प्रयोग कर रहा था। तब उसमें(पीएचपी में) एक गड़बड़ी का पता चला।

मान लीजिए कि हम इस प्रकार का कोड लिखते हैं:

$date = new DateTime(’01 December, 1950′);
echo $date->format(‘Y-m-d’);

तो इसका परिणाम आएगा

2010-12-01

यानि कि हमने वर्ष भरा है १९५०, लेकिन परिणाम में वर्ष आ रहा है २०१०। यह गड़बड़ १९६० से पहले के वर्षों में होती है और उनका सही वर्ष नही आता है।

यदि हम इस दिनांक को इस प्रकार लिख दें

$date = new DateTime(‘December 01, 1950′);
echo $date->format(‘Y-m-d’);

तो परिणाम एकदम सही यानि कि 1950-12-01 आया।

संभवत: इसका कारण पीएचपी की कोई त्रुटि है। इसके विषय में मुझे स्टाक ओवर फ्लो में पता चला।

http://stackoverflow.com/questions/4430478/php-datetime-object-1960-year-limitation

यह गड़बड़ी मेरे पीएचपी के संस्करण 5.2.14 मे आई। संभवत: नए संस्करणों में ये समस्या नही आएगी।

यदि आपको भी इस समस्या का सामना करना पड़ा हो तो कृपया ऊपर वाला समधान उपयोग में लाकर देखें।

Nov
21

वेब ब्राउज़र कैसे काम करता है?

साभार : डिजिटल इंस्पाइरेशन

http://www.labnol.org/internet/comic-how-browser-works/18086/