আমার প্রিয় পোস্ট
- GIS এর খুটিনাটি -২: - পরিবেশবাদী ঈগলপাখি
- ভালো প্রোগ্রামার- প্রোগ্রামিং কনটেস্টের গল্প - আহমেদ শামসুল আরেফীন
- উবুন্ত'র সেরা কয়েকটি ভিডিও এডিটিং সফটওয়্যার - 'লেনিন'
- ছ-শব্দী ছড়া যুদ্ধ - 'লেনিন'
- আপনার পাসওয়ার্ড আপনার নিরাপত্তা - 'লেনিন'
- লিনাক্সের কিছু অত্যাবশ্যকীয় সফটওয়্যার চিনে নিন - 'লেনিন'
- Nixie'র কাছে শিখুন উবুন্তু
- 'লেনিন'
- PHP শেখার সহজ উপায়গুলো জেনে নিন - 'লেনিন'
- ZCE হবেন? পিএইচপি শিখুন! - 'লেনিন'
- ছড়া: হারাইয়া পাইলাম
- 'লেনিন'
- বিশ্বের প্রথম প্রোগ্রামার এক মেয়ে'র কথা - 'লেনিন'
- Google SketchUp : স্কেচ করুন, তৈরি করুন নিজের বিশ্ব - 'লেনিন'
- আপনি পঁচা PHP প্রোগ্রামার?
- 'লেনিন'
- বিজয় না ইউনিজয়? - 'লেনিন'
- বিশ্বের প্রথম প্রোগ্রামার এক মেয়ে'র কথা - 'লেনিন'
ছড়ার ছড়া-ছড়ি, আসুন না ছড়া করি
- 'লেনিন'
- ZCE হবেন? পিএইচপি শিখুন! - 'লেনিন'
- এক বিশ্ব ধ্বংসস্তূপ ভাসুক ৭টি রক্তসাগরে - 'লেনিন'
- ভেঙে ফেল সব শহীদ মিনার - 'লেনিন'
৪০টি টিপস(সাথে বোনাস): PHP অপটিমাইজ করুন
০৭ ই সেপ্টেম্বর, ২০০৯ বিকাল ৩:৫৭
1. কোনো মেথড যদি static করা যায় তাহলে তাই করুন, কারণ তাতে স্পীড ৪গুণ বাড়বে।
2. echo কনস্ট্রাক্টটি print এর চাইতে দ্রুততর। তবে print এর একটি রিটার্ন ভ্যালু আছে এবং এটি মাত্র একটি প্যারামিটার নেয়।
3. কনক্যাট করার চেয়ে echo এর একাধিক প্যারামিটার পদ্ধতি অর্থাৎ কমা ব্যবহার করে স্ট্রিং আর ভ্যারিয়েবল আলাদা করুন।
4. for লুপের maxvalue আগেই নির্ধারণ করুন, লুপের ভেতর সেটি করবেন না। অথাৎ ক্যালকুলেট করে লুপ চলাকালীন যাতে প্রতিবার বের করতে না হয়।
5. আপনার ব্যবহৃত ভ্যারিয়েবলগুলোকে আনসেট করে মেমোরি ফ্রি করুন, বিশেষ করে বড় বড় অ্যারে নিয়ে যখন কাজ করবেন, সেগুলোকে আনসেট করতে ভুলবেন না।
6. __get, __set, __autoload এজাতীয় ম্যাজিক মেথডগুলো এড়িয়ে চলতে পারলে ভালো। তবে আজকাল ফ্রেমওয়ার্কগুলোতে এগুলো ব্যবহার করা হয় অনেক বেশি পরিমাণে।
7. require_once() ফাংশনটি এক্সপেনসিভ, পারলে এটির ব্যবহার করবেন না।
8. যদি আপনার ফাইলসমূহের ইনক্লুড পাথ জানা থাকে তবে অ্যাবসোলিউট পাথ ব্যবহার করুন(প্রোগ্রাম এক্সিকিউশন অনেক দ্রুততর হবে)।
9. যদি আপনার স্ক্রিপ্টটি ঠিক কখন এক্সিকিশন শুরু করেছে জানতে চান, তাহলে $_SERVER[’REQUEST_TIME’] ব্যবহার করুন time() নয়।
10. যদি সম্ভব হয় তবে, strncasecmp, strpbrk এবং stripos প্রভৃতি ব্যবহার করুন regex এর বদলে। কারণ রেগুলার এক্সপ্রেশন এর এক্সিকিউশন মন্থর।
11. str_replace ফাংশনটি preg_replace এর চাইতেও দ্রুততর, কিন্তু strtr ফাংশনটি str_replace এর তুলনায়ও ৪গুণ দ্রুততর।
12. যদি কোনো ফাংশন যেমন স্ট্রিং রিপ্লেসমেন্ট ফাংশন অ্যারে এবং সিঙ্গল ক্যারেক্টার উভয়ই আরগুমেন্ট হিসেবে নেয়, আর আপনার আরগুমেন্ট লিস্ট যদি খুব বড়া না হয়। তাহলে হাতেই লিখেদিন কয়েকটি রিপ্লেসমেন্ট স্টেটমেন্ট(এক লাইনেই অ্যারেতে পুরো আরগুমেন্ট পাস করার বদলে), যাতে একটি একটি করে ক্যারেক্টার পাস করবেন।
13. যেখানেই সম্ভব if, else if এর জঙ্গলের চেয়ে switch-case ব্যবহার করুন। পিএইচপি ৬ এ goto স্টেটমেন্টটিও ফিরে আসছে!
14. Error suppression অপারেটর @ ব্যবহার করলে স্ক্রীপ্ট অনেক মন্থর চলবে। তাই যখন-তখন এটি ব্যবহার করবেন না। এমনকি ডিবাগিংও করা কঠিন হয়ে যায় এটি ব্যবহারে।
15. অ্যাপাচি'র mod_deflate অন করে দিন।
16. ডাটাবেজ কানেকশন নিয়ে কাজ করা হয়ে গেলেই তা ক্লোজ করে দিন।
17. $row[’id’] এভাবে লিখলে তা $row[id] এর চেয়ে ৭ গুণ দ্রুততর হবে। কারণ '' দিয়ে আগেই বলে দেয়া হচ্ছে কি করতে হবে, '' না দিলে গরু খোঁজা শেষ করে তারপর কাজ করে। ![]()
18. Error messages are expensive টেস্টিং এর সময় এরর মেসেজ রাখুন, প্রোডাকশনে এরর বাদ।
19. for লুপের ভেতরে ফাংশন ব্যবহার এড়িয়ে চলবেন, যেমন: for ($x=0; $x < count($array); $x) এখানে count() ফাংশনটি বারবার কল হবে। 4 নং পয়েন্ট দেখুন।
20. কোনো মেথডের লোকাল ভ্যারিয়েবলকে ইনক্রিমেন্ট করা অপেক্ষাকৃত দ্রুততর। যা কিনা কোনো ফাংশনের লোকাল ভ্যারিয়েবলকে কল করার মতোই সমগতির।
21. গ্লোবাল ভ্যারিয়েবল এর ইনক্রিমেন্ট একটি লোকাল ভ্যারিয়েবলের তুলনায় দ্বিগুণ মন্থর।
22. কোনো অবজেক্ট প্রোপার্টি'র ইনক্রিমেন্ট (যেমন $this->prop++) লোকাল ভ্যারিয়েবল ইক্রিমেন্ট থেকেও ৩গুন মন্থর।
23. ইনিশিয়ালাইজ না করা কোনো লোকাল ভ্যারিয়েবলের ইনক্রিমেন্ট ইনিশিয়ালাইজ করাটি তুলনায় ৯-১০গুণ মন্থর হবে।
24. কোনো গ্লোবাল ভ্যারিয়েবল ডিক্লেয়ার করলেন কিন্তু তার ব্যবহার করেননি, তবুও এটা এক্সিকিউশনকে মন্থর করে দেবে (মন্থরতার পরিমান কোনো লোকাল ভ্যারিয়েবলকে ইনক্রিমেন্ট করানোর সমান). PHP খুব সম্ভব এ সময় খুঁজে দেখে এই নামে কোনো গ্লোবাল ভ্যারিয়েবল আছে কিনা আগেই।
25. মেথড ইনভোক করলে তা ক্লাসের ভেতর কতগুলো মেথড রয়েছে তার উপর নির্ভরশীল নয়। পরীক্ষায় দেখা গেছে, একটি টেস্ট ক্লাসের কোনো মেথডের পূর্বে বা পরে ১০টি এক্সট্রা মেথড যোগ করেও পারফর্মেন্সের হেরফের পাওয়া যায়নি(এটি সরাসরি কোনো কাজে লাগবে বলে মনে হচ্ছেনা
)।
26. ডিরাইভড ক্লাসের মেথডগুলো বেজ ক্লাসের মেথডগুলোর চেয়েও দ্রুত কাজ করে।
27. যদি এমন একটি ফাংশন কল করা হয় যার একটি প্যারামিটার আছে তবে ফাংশনের বডিতে কোনো কোড নেই, তবে তাও কিন্তু ৭/৮টি $localvar++ অপারেশনের সমান! আর তা যদি ফাংশ না হয়ে মেথড হয় তবে তা প্রায় ১৫টি $localvar++ অপারেশনের সমান!
28. আপনার স্ট্রিং গুলোকে ' দিয়ে কোট করুন " দিয়ে নয়, এতে এক্সিকিউশন কিঞ্চিত হইলেও দ্রুততর হবে, কারণ পিএইচপি "..." এর ভেতরে ভ্যারিয়েবল খুঁজে বেড়ায়। কিন্তু '...' এর ভেতরে খোঁজে না। অবশ্য যদি ভ্যরিয়েবল রাখতে চান তবে "..." এর ভেতরেই ব্যবহার করতে হবে।
29. স্ট্রীং ইকো করার সময় ডট এর বদলে কমা দিয়ে সেগুলো পৃথক করলে তা দ্রুততর হবে। তবে মনে রাখবেন এটি ইকো'র বেলায়ই খাটে কেননা কমা দিয়ে আসলে একাধিক প্যারামিটার নিচ্ছে সে। ২নং পয়েন্টেই এই কথা বলা আছে আবার এইখানে বললো কেনু? :X
30. কোনো PHP স্ক্রীপ্ট কোনো HTML পেজের চেয়ে কম করেও ২থেকে ১০ গুণ মন্থরতায় রান করবে অ্যাপাচিতে। তাই HTML বেশি ব্যবহার করে স্ক্রীপ্টের ব্যবহার সীমিত রাখুন। মানে মাথাব্যথা করলে মাথা কেটে ফেলুন। ![]()
31. আপনার পিএইচপি কোড বারবার রিকম্পাইল হবে যদি না তা ক্যাশিং করা থাকে। কোনো ক্যাশিং সফটওয়্যার কাজে লাগান আপনার সার্ভারে তা ২৫ থেকে ১০০% পর্যন্ত বেশি দ্রুততা নিশ্চিত করতে পারে। বড় কোনো সাইট করতে গেলে এসব অবশ্যই খেয়াল করা দরকার।
32. যতো ক্যাশ করা যায় করুন। memcached ব্যবহার করুন। মেমক্যাশড একটি হাই পারফর্ম্যান্স মেমোরি অবজেক্ট ক্যাশিং সিস্টেম। এটি ডাটাবেজ লোড কমিয়ে ডাইনামিক ওয়েব অ্যাপ্লিকেশনের কার্যকারিতা বৃদ্ধিতে সহায়ক। অপকোড ক্যাশ করাও জরুরী, তাহলে আপনার পিএইচপি কোডকে বার বার কম্পাইল করতে হচ্ছেনা।
33. যখন কোনো স্ট্রিং নিয়ে কাজ করছেন তখন আপনি যদি এর লেংথ চেক করতে চান, নিশ্চয়ই প্রথমে মনে আসবে strlen() ফাংশনটির কথা। ফাংশনটি বেশ দ্রুত কাজ করে কারণ এটির অপারেশনে কোনো ক্যালকুলেশন থাকেনা, বরং অলরেডি জানা লেংথটিই রিটার্ন করে zval নামক স্ট্রাকচার থেকে(এটি অভ্যন্তরীন সি স্টাক্ট যার মধ্যে পিএইচপি'র ভ্যারিয়েবলগুলো থাকে)। তবে যেহেতু strlen() একটি ফাংশন তাই এটি কিছুটা হলেও মন্থর, কারণ এটি আরো কয়েকটি ফাংশন কলের উপর নির্ভরশীল যেমন lowercase বা hashtable lookup ইত্যাদি। আপনি কিছু কিছু ক্ষেত্রে এটাকে অপটিমাইজ করে নিতে পারেন isset() কনস্ট্রাক্ট ব্যবহার করে দেখুন:
Ex. if (strlen($foo) < 5) { echo "Foo is too short"; } vs. if (!isset($foo[5])) { echo "Foo is too short"; } খুবই মজার ব্যাপার!
কনস্ট্রাক্ট হওয়াতে isset() দ্রুত রান করে কারণ এতে ফাংশন লুকআপ তো নেই'ই লোয়ারকেস বা হ্যাশটেবলও দেখতে হচ্ছেনা। এধরণের চালাকি ঠিকমতো কাজে লাগাতে পারলে বেশ মজা পাবেন নি:সন্দেহে।
34. ভ্যারিয়েবলের মান কমানো বাড়ানোর সময় $i++ সবসময়ই ++$i থেকে মন্থরতর। এটা সম্পর্কে বলা হয়েছে এটা পুরোটাই PHP নির্ভর তাই আপনার C বা Java কোডেও এই বুদ্ধি কাজে লাগাতে গেলে তেমন ফায়দা হবেনা(আগে সিতে এই অপটিমাইজেশনের কথা বলা হতো এখন কম্পাইলারেই অপটিমাইজড হবে হয়তো)। ++$i এটি PHPতে দ্রুততর কারণ $i++ এ ৪টি অপকোড ব্যবহৃত হয়েছে কিন্তু প্রি-ইনক্রিমেন্টে মাত্র ৩টি। সবারই জানা আছে পোস্ট ইনক্রিমেন্ট একটি টেম্পোরারি ভ্যারিয়েবল তৈরি করে এরপর তা ইনক্রিমেন্ট করে। কিন্তু প্রি-ইনক্রিমেন্ট মানটি সরাসরি ইনক্রিমেন্ট করে। Zend এর পিএইচপি অপটিমাইজারও এধরণের অপকোড অপটিমাইজ করে। তবুও এধরণের প্রাকটিস রাখা ভালো কেননা অনেক হোস্টিংয়েই কিন্তু অপকোড অপটিমাইজার ব্যবহার করা হয়না।
35. সবকিছুকেই OOP করতে হবে এমন কথা নেই, অনেক বেশি ওভারহেড তৈরি করে এবং প্রতিটি মেথড এবং অবজেক্ট কল করা হলে অনেক মেমোরি দখল হয়ে যায়। সবসময়ই ঢাল, সড়কি লাগবে না, প্রয়োজনে একটি চড়ই যথেষ্ট। ![]()
36. সবধরণের ডাটা স্ট্রাকচারকেই class এ পরিণত করতে হবে এমন কোনো বাধ্যবাধকতা নেই arrayও কিন্তু অনেক কাজের।
37. মেথডকে অযথাই অনেকগুলো স্প্লিট করে করার দরকার নেই। আগেই ভেবে নিন ঠিক কোন কোডগুলো বারবার আপনার ব্যবহার করার প্রয়োজন হবে।
38. যদি দেখেন যে মেথডের কোনো বিশেষ অংশ আলাদা করা দরকার, রি-ফ্যাক্টরিং এর সময় তা পরেও করতে পারবেন।
39. অসংখ্য প্রিডিফাইনড ফাংশন আছে পিএইচপিতে সেগুলোর ব্যবহারে প্রাধাণ্য দিন। অনেক সময়ই সেগুলোর ব্যবহারই অনেকে জানেন না, এগুলো নিজের লেখা ফাংশনের চেয়ে দ্রুত রান করার সম্ভাবনা বেশি।
40. এটা অ্যাডভান্সড লেভেলের জন্য। আপনার কোনো ফাংশন যদি অনেক সময় সাপেক্ষ এক্সিকিউট করে তবে তা C এক্সটেনশন(PECL) হিসেবে তৈরি করে নিতে পারেন।
41. কোড প্রোফাইলিং করুন। প্রোফাইলারের মাধ্যমে আপনি জানতে পারবেন কোন কোড বেশি রান হচ্ছে, কোন অংশ বেশি সময় নিচ্ছে ইত্যাদি। সুতরাং সেইভাবে অপটিমাইজ করতে পারবেন। Xdebug এর একটি প্রোফাইলার আছে। আরো নতুন নতুন কি কি বের হচ্ছে খোঁজ রাখুন।
42. mod_gzip নামে একটি অ্যাপাচি মডিউল আছে। যা আপনার ডাটাকে অন দ্য ফ্লাই কম্প্রেস/সংকোচন করতে পারে এবং ডাটা ট্রান্সফার প্রায় ৮০% কমিয়ে দিতে সক্ষম।
43. এই ছোট আর্টিকেলটিও চোখ বুলিয়ে নিতে পারেন John Lim এর পিএইচপি অপটিমাইজেশন'এর উপর লেখা।
এই আর্টিকেলটি ২০টির'ও বেশি ভাষায় অনূদিত। আর কিছুক্ষণ আগে এটি বাংলায়ও অনূদিত হলো এই অধমের দ্বারা
আর্টিকেলটি ক্রিয়েটিভ কমনস লাইসেন্সের অধীনে প্রকাশিত। কোথাও এর কোনো অংশ ব্যবহার করলে মূল সূত্রগুলো উল্লেখ বাধ্যতামূলক।
লেখাটির বিষয়বস্তু(ট্যাগ/কি-ওয়ার্ড): পিএইচপি, অপটিমাইজেশন, php, Optimization, cache, memcached, opcode ;
প্রকাশ করা হয়েছে: টেকি, পিএইচপি বিভাগে । সর্বশেষ এডিট : ০৮ ই জানুয়ারি, ২০১২ রাত ১:১৭ | বিষয়বস্তুর স্বত্ত্বাধীকার ও সম্পূর্ণ দায় কেবলমাত্র প্রকাশকারীর...
'লেনিন' বলেছেন:
সামুয়িক বাগের কারণে প্রথমবার পোস্ট ফাঁকা ছিলো... যে মাইনাস দিলেন তার পিএইচপি জ্ঞান কুনো কামে না লাগুক! জাস্ট কিডিং লেখক বলেছেন: বাহ! দুই জনের ভালো লাগেনি.. ভালো ভালো।
লেখক বলেছেন: সাম্প্রতিক যারা ব্লগ দেখেছেন
* ফজলুল করিম
* অচেনা বাঙালি
* হাশেম দেওয়ান মাইনাস দাতা
* এম এস জুলহাস
* মাহাফুজ
* আলাউদ্দীন
* অক্টোপাস
* *প্রতিফলন*
* গোলাম মাওলা ডলার
* হাবিব রাজু
* নুভান
* বাবুনি সুপ্তি
* “রুবেল” [সম্ভাব্য আরেক মাইনাস দাতা]
* দ্বিজু
লেখক বলেছেন: ধন্যবাদ ![]()
আলাউদ্দীন বলেছেন:
চমৎকার কাজের পোস্ট।
লেখক বলেছেন: কাজে লাগলেই সার্থকতা।
লেখক বলেছেন: অনেক ধন্যবাদ।
আলাউদ্দীন বলেছেন:
আমি পি এইচ পি-তে ছোট খাট কাজ করি।মাঝে মধ্যে সমস্যায় পড়লে আপনাকে বিরক্ত করতে চাই।অনুমতি দিলে মোবাইল নম্বরটা দিয়েন সরাসরি পোস্টে কিংবা ইমেইল করে।আমার ইমেইল এড্রেস
লেখক বলেছেন: আচ্ছা আপনাকে মেইল করবো। আরেকটি পরামর্শ হচ্ছে আপনি phpxperts.net এর ইয়াহু গ্রুপটিতে যোগ দিন। কেননা, এই গ্রুপটি এখন দক্ষিণ এশিয়ার সবচেয়ে বড় পিএইচপি এবং ওয়েব ডেভেলপারদের গ্রুপ। মাইক্রোসফটের প্রাক্তন এইচ.আর প্রেসিডেন্টও এর নিয়মিত্র সক্রিয় সদস্য। ![]()
লেখক বলেছেন: অনেক ধন্যবাদ
মূল লেখা আমার নয় যদিও।
অক্টোপাস বলেছেন:
মাইনাসে কি আসে যায়?কারো উপকারে আসলেই লেখার সার্থকতা ঠুনকো প্লাস/মাইনাস-এর অনেক অনেক উর্ধ্বে চলে যায়।
ধন্যবাদ লেখককে।
লেখক বলেছেন: মাইনাস নিয়ে আমারো মাথাব্যথা নেই আসলে। কে কেনো দিয়েছে ওটাই কেবল দেখছিলাম। মানসিকতা মাপা যায়।
আবারও ধন্যবাদ।
লেখক বলেছেন: বাংলা নিয়ে কাজ করার জন্য ভালো গাইড হলো http://www.omicronlab.com
এমনকি অভ্র এর হেল্প মেনুতেও ওরা খুব সুন্দরভাবে সব কিছু ব্যাখ্যা করেছে।
দু:খিত মেসেঞ্জারে এড করিনা। আপনি মেইল করতে পারেন। lenin[এট]phpxperts.net এ। আর ওয়েবডেভেলমেন্ট সংক্রান্ত সব সমস্যার সমাধান পাবেন
প্রজন্ম ফোরাম, আমাদের প্রযুক্তি ফোরাম, phpxperts.net এখানে একাধিক অভিজ্ঞ এবং দক্ষ প্রফেশনালরা আপনার উত্তর দিয়ে থাকেন। আমি পিএইচপি এক্সপার্টস গ্রুপের একজন সক্রিয় সদস্য।
অক্টোপাস বলেছেন:
phpxperts.net সাইটে ঢুকতে পারছি না।দয়া করে দেখে জানাবেন কি, সেখানে আসলেই কোনো সমস্যা হচ্ছে কি-না?
------
ধন্যবাদ।
লেখক বলেছেন: সাইটটি হাসিন হায়দার মেইনটেইন করেন। তবে ঐ ডোমেইনে তেমন কিছুই নেই মূলত এখানে রি-ডিরেক্ট করা:
http://groups.yahoo.com/group/phpexperts
হাসিন ভাইকে জানিয়ে দিয়েছি সমস্যাটির কথা, হয়তো ঠিক হয়ে যাবে।
লেখক বলেছেন: আপনাকেও ধন্যবাদ
কুয়াশায় ডাকা বলেছেন:
ধন্যবাদ , অত্যন্ত কাজের পোস্ট। সোজা প্রিয়তে
লেখক বলেছেন: কাজে লাগলেই ধন্য হবো।
অধর বলেছেন:
প্রিয়তে নিলাম।
লেখক বলেছেন: ধন্যবাদ, জন্মদিন কেমন কাটলো? ![]()
লেখক বলেছেন: আপনাকেও ধন্যবাদ ![]()
সিউল রায়হান বলেছেন:
মজা লাগলো পড়ে কারণ পিএইচপি নিয়ে আমার জ্ঞান দেখে আমি মুগ্ধ আমি সি প্লাস প্লাসের নলেজ নিয়ে পিএইচপি'তে কোড করে কত কি যে করলাম আর শিখলাম..... এই যেমন ধরেন গেট-সেট-কনস্ট্রাক্ট এগুলো ফাংশন যে কম্পাইলার আগে খুঁজে সেটা জানতামই না...... এই পোস্ট পড়ে জানলাম
অনেকগুলোই জানতাম........ ইনফ্যাক্ট এগুলো পিএইচপি না, সব ল্যাংগুয়েজেই দরকার..... কিছু কিছু পয়েন্ট নিয়ে আলোচনা করলাম:
৭ নাম্বারটা দরকারী....... অনেক সময়ই একটা ফাইল অনেক ডিপ লেভেল পর্যন্ত শেয়ার করা হয়ে যায় ফলে সেক্ষেত্রে ইনক্লুড করা যাবে না আবার ফাইলটা যে অ্যাড করা হয়েছে সেটারও একটা নোটিফিকেশন দরকার এমন অবস্থায় রিকোয়ার-ওয়ান্সই ভরসা.......
৯ নাম্বারে বলব প্রোপার রেজাল্ট পেতে চাইলে ক্লায়েন্ট সাইড থেকেই টাইমটা কালেক্ট করা ভাল....... রিকোয়েস্ট ট্রান্সফার হতে সময় লাগলে অহেতুক ভুল রেজাল্ট আসবে.....
১১ && ১৪ নাম্বার পয়েন্টটাও নতুন...... @ দিলে যে ইরর না ধরে চলে যায় জানতাম না
১৭ নাম্বারে জানলাম কোটের মাঝে ভেরিয়েবলের নাম লিখলেও কাজ হয়
২৭ নাম্বারটাতে অবাক হলাম..... কেন এত সময় লাগবে বুঝলাম না
২৮ জানতাম না......
৩০ আমি নিজে চিন্তা করে বের করলাম আর এটা দেখি আরেকজন বলে দিল
৩১, ৩২ নিয়ে আইডিয়া নাই
৩৩ টা খুব চমৎকার...... রান টাইম এন থেকে কনস্ট্যান্টে নেমে আসবে
৩৪ সুন্দর পয়েন্ট....... অ্যাসেম্বলীতে প্রিইনক্রিমেন্ট আর পোস্ট ইনক্রিমেন্টের কোড একই কিন্তু পিএইচপি'র পোস্ট ইনক্রিমেন্টের ইমপ্লিমেন্টেশন আলাদা হওয়াতে এটা স্লো হবে..... ( আমি অবশ্য সারাজীবনই প্রি-ইনক্রিমেন্ট করি, পোস্ট ফাউল লাগে )
৩৭ এর সাথে দ্বিমত..... মেথড ভাঙ্গলে ফাস্ট হয় এবং একাধিক মেথড শেয়ার করতে পারে সেটা ফলে কোড ছোট হয়
৩৯ পড়ে হা হা প গে........ আমার নিজেরও এই অবস্থা হইসিলো.... পিএইচপি_কার্ল নামের মডিউল যে আছে সেটা আমি জানতামই না ফলে নিজে সকেট খুলে,কোড লিখে পুরাই একটা কার্ল মডিউল টাইপের মডিউল বানানোর পরে জানতে পেরেছিলাম এরকম নাকি একটি মডিউল আছে.....অবশ্য আমার বানানোটা খুব একটা খারাপ হয়নি, কার্ল মডিউলকে টেক্কা দিতে পারি স্পিডে
৪০,৪১ নিয়ে কোনই ধারণা নাই
*******************************
আমার কমেন্ট WTFPL লাইসেন্সের অধীনে করে গেলাম
লেখক বলেছেন: পিএইচপি নিয়ে আপনার প্রবল আগ্রহ দেখে মুগ্ধ হচ্ছি। তবে আমার মতো ভুল করবেন না। সি ভালো জানা থাকায় প্রথমদিকে পিএইচপি ডাইলভাত মনে করতাম তাই ভালো করে ম্যানুয়াল পড়িনি। তবে গত বছর থেকে সিরিয়াসলি নিয়েছি পিএইচপিকে।
আপনার কমেন্ট এর উপর একটা রিপ্লাই দেবো কিছুক্ষণ পর।
লেখক বলেছেন: অত্যন্ত দু:খিত ল্যাপটপের চার্জার সমস্যা থাকায় একটি বিশদ রিপ্লাই লিখেও তা প্রকাশ করতে পারিনি, খোয়া গেছে। ![]()
আপনি Wicked Cool PHP, PHP CookBook, ZCE Exam Preparation Guide এই তিনটি লিঙ্ক পড়ুন। তাহলে আরো অনেক ইন্টারেস্টিং ব্যাপার জানতে পারবেন।
আর কার্ল নিজে লিখে ফেলেছিলেন! কুল! এবার তাহলে PECL এর দিকেও মনোযোগ দিন। পিএইচপিতে ইউনিকোড তেমন একটা ইম্প্লিমেন্টেড নয়। বিশেষ করে জিডি লাইব্রেরি এখনো বাংলা অন্ধ। চেষ্টা করুন কিছু করা যায় কিনা।
লেখক বলেছেন: লিঙ্ক লিখেছি বই হবে*
আবারও দু:খিত আপনার পুরো রিপ্লাই লিখেও তা প্রকাশ করতে পারলাম না। চার্জার কালকেই বদলাতে হবে। ![]()
আমি মোটেও কবিকে ইরোটিক গীতিকার বলি নাই।
দেটস য়ে লাই।
ডোনট লাই।
আমি বলছি ইরোটিক রবীন্দ্রসঙ্গীত লেখার টাইম নাই।
তার মানে য়েই নয় যে সব রবীন্দ্র সঙ্গীতই ইরোটিক।
আমি বিটিভিতে শোনা রবীন্দ্র সঙ্গীতের কথা বলছিলাম।
রবীন্দ্রনাথকে আমি ক্রিটিসাইজ করি নাই।
উনার গীতিকার সত্তাকেও না।
আমি শুধু বিটিভিতে শোনা রবীন্দ্রসঙ্গীতের কথা বলছি।
আরো খুইলা কইলে "আগুনের পরশমনির" কথা বলবো।
রবীন্দ্রনাথেরও অনকের রক্তগরম করা গান আছে।
যেগুলু বিটিভিতে বাজে না।
আমি সেই কথাই মিন করছিলাম কিন্তু আপনি টোটালি উল্টাই ফেললেন আমার কথা।
আমার অভিযোগ রবীন্দ্রনাথের বিরুদ্ধে নয় যারা রবীন্দ্রনাথকে নিয়ে বানিজ্য করে,রবীন্দ্রনাথকে দলিয় কবি বানাইতে চায়,যারা রবীন্দ্রনাথকে মিস ইউজ করে তাদের বিরুদ্ধে।
আশা করছি আর ভুল ব্যাখ্যা করে বাজে বকবেন না।
আপনি যে উপমা টানছেন সেই উপমায় গেলাম না।
টেইক কেয়ার।
লেখক বলেছেন: এই পোস্টে এই মন্তব্য না করে কোনো ফান পোস্টে করতেন। যাহোক, আপনি কিন্তু রামেন্দু মজুমদার ভদকা খায় ইত্যাদি জাতীয় কথা বলেছেন। যেগুলো রেসিজম এর পর্যায়ে পড়ে। বিপক্ষের সমালোচনা করবেন কিন্তু গঠনমূলক; তা না হলে জাতি হিসেবে আমরা কিন্তু খেলো হয়ে যাচ্ছি দিনকে দিন।
বুমবুম বলেছেন:
আইচ্ছা ধরেন আমি PHP'র কিছুই জানিনা কিন্তু শিখতে চাই কাজ করতে চাই।কিভাবে শুরু করা উচিত?
বুমবুম বলেছেন:
আইচ্ছা ধরেন আমি PHP'র কিছুই জানিনা কিন্তু শিখতে চাই কাজ করতে চাই।কিভাবে শুরু করা উচিত?
লেখক বলেছেন: আমার কয়েকটি পোস্ট আছে এ সংক্রান্ত দেখে ফেলতে পারেন। আগ্রহ এবং প্রচণ্ড আগ্রহ আপনাকে এগিয়ে নেবে যেকোনো গন্তব্যে এবং তা কেউ ফেরাতে পারবেনা।
লেখক বলেছেন: শুভ কামনা
সিউল রায়হান বলেছেন:
না না, আমি পুরা থিওরিটিক্যাল মানুষ php.net এর প্রতিটা ফাংশনের প্রতিটা প্যারামিটারের বর্ণনা + সেই ফাংশন কিংবা ভেরিয়েবল রিলেটেড আরো কিছু কোড এগুলো পড়ে পড়ে শিখেছি আমি..... এবং ভবিষ্যতেও শুধু ঐ সাইটেই সমাধান খুঁজব..... একবারেই না পেলে গুগল ভরসা....
আমাদের ডিপার্টমেন্টের সবাই একটা কথাই বি্শ্বাস করে: "সি প্লাস প্লাস এবং জাভা যখন পারি তখন পৃথিবীর যেকোন ল্যাংয়েজই পারব যদি আমার কাছে সেই ল্যাংগুয়েজের ম্যানুয়েল থাকে "...... আমিও এর ব্যতিক্রম না
আপনার পরামর্শের জন্যে ধন্যবাদ....... আর আমিতো আপনার ছোট, তাই তুমি করে বলবেন
লেখক বলেছেন: অনুমতি ছাড়া আসলে আমি আমার চেয়ে বয়সে ১০বছরের ছোটদেরও তুমি বলিনা। আবার আমি দেখতে টিনেজ টাইপ হওয়াতে ছোটরাও তুমি বলে ফেলে হা হা
যাহোক, php.net এর সাথে অবশ্যই এর .chm সংস্করণ ম্যানুয়ালটি ডাউনলোড করে ওটা বেশি ব্যবহার করবে। তাহলে পড়া অনেক সহজ। কারণ ওটা সার্চ করা যায়। এবং অনেক চ্যাপ্টারে গোছানো, অফলাইনে পড়া যায়। তবে, তা সবসময়ই সর্বশেষ সংস্করণ হলে ভালো।
আর হ্যাঁ কুংফু পান্ডা মুভিটা দেখলাম খুবই ভালো লেগেছে, "There's no past nor future and present is a gift to you. Never give up!"
গৌতম রায় বলেছেন:
এই পোস্ট পড়ে পুরা তব্ধা খেয়ে বসে থাকলাম। কিচ্ছু বুঝি নাই, তবে ভবিষ্যতে বুঝার আশায় দ্বিতীয়বার পড়লাম। এইবার পুরা ঠাণ্ডা। পিএইচপি আমার জন্য দিল্লি দূর অস্ত! তবে ধন্যবাদ, কারো না কারো তো কাজে আসবেই।
লেখক বলেছেন: আপনার মেইল সেদিন গ্রুপে দেখলাম। স্ক্যাপিং এর উপর, যদি ঠিক মনে করে থাকি। আগ্রহ মানুষকে অনেক অল্প সময়ে বহুদূর নিয়ে যেতে পারে। নিজের উপর বিশ্বাস রাখুন। আর একটি কথা, সার্ভার সাইড ল্যাঙ্গুয়েজগুলোর মধ্যে পিএইচপি অন্যতম সহজ একটি ভাষা।
লেখক বলেছেন: *স্ক্র্যাপিং*
সিউল রায়হান বলেছেন:
এখনতো থিসিস নিয়ে ব্যস্ত........আপনার কথা মনে ধরেছে...... একয়দিন ভালইতো কাজ করলাম জিডি লাইব্রেরী নিয়ে (ক্যাপচা বানানোর কাজে).... তখন বাংলার কোন সাপোর্ট দেখিনি যেহেতু সুতরাং আগামী মাসে ট্রাই করব বাংলা অক্ষরকে জিডি লাইব্রেরীতে কাজ করানোর....... কাজটা মজার হবে সন্দেহ নাই
সিউল রায়হান বলেছেন:
ও হ্যা, একটা ভুল বোঝাবুঝি হইসে..... আমি মডিউল বলতে আমার বানানো ক্লাসটাকে বুঝাইসিলাম...... পিওর মডিউল না.... ( আমার বানানো ক্লাসটা দিয়ে কার্ল মডিউলের সব কাজ করা যায় এবং রান টাইমও কম লাগে মডিউলের থেকে)....... স্যাড কোর্স করে ক্লাসকে মডিউল বলিতো তাই এই ভুলটা হইসে....
তবে এক্সটেনশনের ব্যাপারটা আমি সিরিয়াসলি নিসি, আশা করি জিডি মডিউল বাংলা সাপোর্ট করবে একসময়
লেখক বলেছেন: ক্লাসকে মডিউলও বলে আসলে।
http://haxx.se তে ওদের মেইলিংলিস্ট আছে কার্ল এর উপর।
এক্সটেনশনের গবেষণা দেখার আশায় রইলাম।
কীপ আপ দ্য গুড ওয়র্ক ![]()
লেখক বলেছেন: ধন্যবাদ কাজে লাগিয়ে ফেলুন ![]()
'লেনিন' বলেছেন:
৭ নাম্বারটা দরকারী....... অনেক সময়ই একটা ফাইল অনেক ডিপ নোটিফিকেশন দরকার এমন অবস্থায় রিকোয়ার-ওয়ান্সই ভরসা......._________________________________
যেহেতু রিকোয়্যার_ওয়ন্স এক্সপেন্সিভ এবং ফ্যাটাল এরর দেখায়, তাই কোনো ফ্ল্যাগ রেখে ইনক্লুড_ওয়ন্স ব্যবহারের পরামর্শ দেয় অনেকেই।
৯ নাম্বারে বলব প্রোপার রেজাল্ট পেতে চাইলে ক্লায়েন্ট সাইড থেকেই টাইমটা কালেক্ট করা ভাল....... রিকোয়েস্ট ট্রান্সফার হতে সময় লাগলে অহেতুক ভুল রেজাল্ট আসবে.....
________________________________
না, সার্ভার সাইড ল্যাঙ্গুয়েজে নো হাঙ্কিপাঙ্কি। পারতপক্ষে ক্লায়েন্টসাইডের উপর নির্ভরশীলতা রাখার কথা মাথায়ই রাখা হয়না। জাভাস্ক্রীপ্ট অফ করে রাখলে কি হবে? কখন রিকোস্ট সার্ভারে পৌঁছালো সেটা জরুরী বেশি। আর ক্লায়েন্টসাইড নির্ভরতা ভালনারেবিলিটি বাড়ায়।
১১ && ১৪ নাম্বার পয়েন্টটাও নতুন...... @ দিলে যে ইরর না ধরে চলে যায় জানতাম না
_________________________________
বই তিনটা পড়লে এমন আরো অনেক কিছুই জানতে পারবে।
১৭ নাম্বারে জানলাম কোটের মাঝে ভেরিয়েবলের নাম লিখলেও কাজ হয়
_________________________________
সিঙ্গলকোটকে পিএইচপি প্রোগ্রামাররা(পিউরিস্টরা) ডিভাইন স্টাইল বলে থাকেন। ডাবল কোট মানেই হচ্ছে, ওটা পার্স করে দেখবে সুতরাং যেখানে পার্স করার প্রয়োজন নেই সেখানেই সিঙ্গল কোট।
২৭ নাম্বারটাতে অবাক হলাম..... কেন এত সময় লাগবে বুঝলাম না /
_________________________________
এখানে সাধারণ একটা ভ্যারিয়েবলের সাথে ফাংশন/মেথডের তুলনা দেখানো হয়েছে। ফাংশন এবং মেথড মানেই ওভারলোড এবং স্ট্যাক এসব দখল হওয়া। কোড ইগনাইটারের সাথে কেক এবং জেন্ড ফ্রেমওয়ার্ক এর এবং র-পিএইচপি বা প্লেইন এইচটিএমএল এর একটি তুলনামূলক গ্রাফ আছে সেটি দেখলে আরো ক্লিয়ার হবে ব্যাপারটি।
২৮ জানতাম না......
_________________________________
এমন মজার মজার অনেক ফিচার আছে যা কেবল php.net পড়ে জানতে অনেক অনেক সময় লাগবে।
৩০ আমি নিজে চিন্তা করে বের করলাম আর এটা দেখি আরেকজন বলে দিল
_________________________________
হা হা প গে
৩১, ৩২ নিয়ে আইডিয়া নাই
_________________________________
ক্যাশিং করা হলে প্রিকম্পাইলড অর্থাৎ মেশিনকোড থাকবে বা ডাটাবেজ অ্যালেভিয়েটেড ক্যাশে থাকবে। ডিস্ক এক্সেস ডাটাবেজ এক্সেসের চেয়ে দ্রুততর।
৩৩ টা খুব চমৎকার...... রান টাইম এন থেকে কনস্ট্যান্টে নেমে আসবে
_________________________________
এটা আসলেই চমৎকার একটি অপটিমাইজেশন।
৩৪ সুন্দর পয়েন্ট....... অ্যাসেম্বলীতে প্রিইনক্রিমেন্ট আর পোস্ট ইনক্রিমেন্টের কোড একই কিন্তু পিএইচপি'র পোস্ট ইনক্রিমেন্টের ইমপ্লিমেন্টেশন আলাদা হওয়াতে এটা স্লো হবে..... ( আমি অবশ্য সারাজীবনই প্রি-ইনক্রিমেন্ট করি, পোস্ট ফাউল লাগে )
_________________________________
আগে কিন্তু সিতে অপটিমাইজড ছিলো না। কম্পিউটার টুমরোতে একটা আর্টিকেল লিখেছিলাম সি++ অপটিমাইজেশন এর উপর। সেখানে আরো কিছু ফিচার ছিলো। এখন মনে হয় আপডেটেড এবং অপটিমাইজড।
৩৭ এর সাথে দ্বিমত..... মেথড ভাঙ্গলে ফাস্ট হয় এবং একাধিক মেথড শেয়ার করতে পারে সেটা ফলে কোড ছোট হয়
_________________________________
কোড ছোট হয় কিন্তু মেথড অপ্রয়োজনীয়ভাবে বাড়ালে তা মেমোরিতে অযথা স্পেস নেবে কল করার সময়। যদি সেগুলোর প্রতিটি রি-ইউজ করার তেমন দরকার না থাকে সেক্ষেত্রে না ভাঙাই উচিৎ।
৩৯ পড়ে হা হা প গে........ আমার নিজেরও এই অবস্থা হইসিলো.... পিএইচপি_কার্ল নামের মডিউল যে আছে সেটা আমি জানতামই না ফলে নিজে সকেট খুলে,কোড লিখে পুরাই একটা কার্ল মডিউল টাইপের মডিউল বানানোর পরে জানতে পেরেছিলাম এরকম নাকি একটি মডিউল আছে.....অবশ্য আমার বানানোটা খুব একটা খারাপ হয়নি, কার্ল মডিউলকে টেক্কা দিতে পারি স্পিডে
_________________________________
গুড ওয়ার্ক। অনেক সময় রি-ইনভেন্টিং হুইল কিন্তু ভালোই।
৪০,৪১ নিয়ে কোনই ধারণা নাই
_________________________________
অনেক টুল এবং ইউটিলিটি প্রাকটিক্যাল লাইফে বা প্রফেশনাল লাইফে ব্যবহার করা হয়, যা কাজের সময়ই জানা হয়।
কষ্ট করে আবারো লিখে ফেললাম। তবে প্রথমবার মনে হয় আরো লিখেছিলাম।
ভালো থাকো।
লেখক বলেছেন: ![]()
লেখক বলেছেন: ধন্যবাদ অনুসরণ করার জন্য। তবে প্রাকটিক্যালি কিছু করা থেকে যা শিখতে পারবেন তার চেয়ে শিক্ষণীয় আর কিছুই নেই।
Learn by doing: less theory, more results
এভাবে নিজের প্রজেক্ট সলভ করতে থাকলে খুব তাড়াতাড়ি আশানুরূপ ফল পাবেন। হ্যাঁ বাংলায় একটি বই লেখা হচ্ছে। হাসিন ভাই মূল উদ্যোক্তা ওটার আমিও লিখছি ওটাতে যৎসামান্য বিদ্যা থেকে। ![]()
তবে এই বই বের হতে হতে অনেক দেরি। এ বছর তো হবেই না, আগামী বছরের মাঝামাঝি। ততোদিন কি বসে থাকবেন? অপেক্ষায় না থেকে শুরু করে দিন। কাজ শুরু না করলে শেখা হবে না কোনোদিন।
রায়হান(তন্ময়) বলেছেন:
প্লাস এবং সরাসরি প্রিয়তে। এখনো পিএইচপি শুরু করিনি। তবে খুব শিগগিরই করব আশা করি। ভালো থাকবেন।
লেখক বলেছেন: শুরু করে দিন ![]()
ধন্যবাদ
লেখক বলেছেন: অনেক অনেক ধন্যবাদ ![]()
রুহু্ননবী বলেছেন:
+++++++++++++++
লেখক বলেছেন: ![]()
গিফার বলেছেন:
অনেক ধন্যবাদ.... দরকারি সেইরাম পোষ্ট......
রাতফুল বলেছেন:
চমৎকার লেখা। কাজে লাগবে হয়ত। কিন্তু যারা এখনো কিছু জানে না (মানে আমার মতো মূর্খ) তাদের জন্য পোস্ট দেন না। কিংবা লিংক, বই ইত্যাদি।
লেখক বলেছেন: দিয়েছি আগেই.. পুরানো পোস্টে আছে তেমন লিঙ্ক এবং তথ্যাদি। আমিও এখনো তেমন কিছুই জানিনা। সবসময়ই শিখছি নতুন কিছু।
সিউল রায়হান বলেছেন:
২৩ নাম্বারের কয়েকটা পয়েন্টের উত্তর:--> রিকোয়ার ওয়ান্সের বদলে যে ইনক্লুড ওয়ান্স আছে এটা জানতাম না..... আমিও জানতাম হয় ইনক্লুড করো নয়তো অলরেডী আছে কিনা সেটা রিকোয়ার ওয়ান্স দিয়ে চেক করো.... তবে ইনক্লুড ওয়ান্স যদি কম রিসোর্স কনজিউম কম করে তাহলে ওটাই বেটার
--> টাইম আসলে ৩ রকম: যেই মুহুর্তে ইউজার সাবমিট করলো, যেই মুহুর্তে ডাটা টা সার্ভারে পৌছালো, কোডের টাইম ফাংশন যেই সময়টা দিল......
আমি আসলে অ্যাগ্রেসিভ - ডিফেন্সিভ ২টাইপেরই কোড করি ফলে আমি প্রথমে দেখি ইউজার সাবমিটেড কোড আছে নাকি.... থাকলে সেটা ভ্যালিড নাকি....... যদি হয় তাহলে ওটাই কারণ ওটা বেশী অ্যাকুরেট..... মাঝের যেকোন একটা স্টেপ মিস হলে তখন সার্ভার ভেরিয়েবল থেকে টাইমটা নেই
ফলে আমার কোড একদম সঠিক রেজাল্টই শো করবে সবসময়
--> একটা বই বলেন, ৩টা অনেক বেশী হয়ে যায়
--> মেথড ভাঙ্গলে আমার সমস্যা হয়না কারণ আমার কোড সবসময়ই ক্ষুদ্রতম গ্যারান্টি দেয়
রেগুলার লিখতে থাকেন....... মনোযোগী পাঠক হিসেবে সাথে আছি
লেখক বলেছেন: কিছু কিছু মজার মন্তব্য করেছো তুমি, যেমন সাধারণ কয়েকটি ফাংশন/ফিচার জানা নেই। তবে সহজ স্বীকারোক্তি সবাই করেনা।
ইনক্লুড_ওয়ন্স সেফ অর্থাৎ হ্যাজার্ড এড়ানো যায়, ফ্যাটাল এরর করে কোড এক্সিকিউশন থামিয়ে দেবেনা।
এগুলো বেস্ট প্রাকটিস থেকে দেয়া, আর ক্লায়েন্ট সাইডের এক্সিকিউশন টাইম প্রাকটিক্যালি খুব দরকার পড়েনা। সার্ভার কখন রিকোয়েস্ট পেলো এটা বেশি গুরুত্বপূর্ণ। এটা পিএইচপি অপটিমাইজেশন!
তিনটা বইই খুবই ইন্টারেস্টিং আর তুমি যেমন উৎসাহী তাতে তিনটাতেই মজা পাবে। তিনটাই ফ্রি পাওয়া যায় এখানে সেখানে ই-বুক হিসেবে। সুতরাং সংগ্রহ করে ফেলো।
মেথড যে ওভারহেডটা নেবে অতিরিক্ত ভেঙে ফেললে এখানে সেই কথাটাই মুখ্য। স্ট্যাক এবং সিপিইউ বেশি বিজি হয়ে যাবে স্কেলিং পর্যায়ে এমন করলে। অপটিমাইজেশনের মানে হচ্ছে.... এর চেয়ে বেশি সাদা! তাই প্রতি পদে পদে যতোটা পারা যায়... এই আরকি।
যেমন, ম্যাজিক মেথড সম্পর্কে বলেছি ফ্রেমওয়ার্কগুলোতে হার্ডকোডেড না করে ম্যাজিক করা হয় সবসময়ই। হার্ডকোডেড করলে কোড পোর্টাবিলিটি নষ্ট হয়। পরে মেইনটেইন করতে ঝামেলা হয়। তাই ওটাও আরেক ধরণের অপটিমাইজেশন।
যেমন ওয়াইটুকে বাগের কথা যদি ধরা যায়। অথবা এমবেডেড প্রোগ্রামিং এর বেলায় সি এর বদলে প্রায় ক্ষেত্রেই মেশিন/এসেম্বলি কাজে লাগানো হয়।
সিউল রায়হান বলেছেন:
ভাইয়া আমি এখনোও শিখছি....... আর লার্নিং স্টেজে অকপটে কথা বলাই আমি পছন্দ করি কারণ এতে লজ্জ্বার কিছু আছে বলে মনে করিনা...... তবে হ্যা, এক্সপার্ট হলে আবার আলাদা কথা..... তখন কিছু একটা পারিনা বলাটা প্রেস্টিজের ব্যাপার
*************************
মার্কেটিং করে যাই একটু, আমার বানানো একটা সাইট আছে (টেস্টিং ভার্সনে এখনো)...... এটা ইউটিউবের ভিডিও ডাউনলোড করার একটা সাইট.... এখানে ইউটিউবের পেজ থেকে ডাটা স্ক্র্যাপ করে সাইটটা কাজ করে......
সাইটটির এইচটিএমএল-সি.এস.এস.-জাভাস্ক্রিপ্ট সহ সকল প্রকার ডিজাইন পুরোপুরি আমার করা, এর প্রতিটা পিক্সেল আমার নিজের বানানো এবং কোডিংটা বাদই দিলাম...... ওটা আমার মাস্টারপিস হয়নি কারণ শেষের দিকে এসে ডিজাইন প্যাটার্নে একটু পরিবর্তন করতে বাধ্য হওয়াতে অনেক কোড অপ্টিমাইজ করতে পারিনি কিন্তু প্রথম দিকের কোডগুলো সেরকম হয়েছে...... একটা উদাহরণ দিলে বুঝবেন, আমি নেটে একটা কোড পেয়েছিলাম যেটা রান করতে সময় নিত ৩৫ সেকেন্ড....... ভীষণ কমপ্লেক্স একটা ডাটা স্ট্রাকচার দিয়ে নিজে কোড করে আমি রানিং টাইম ২ সেকেন্ডে নামিয়ে আনতে পেরেছি আমার পিসিতে.....
আপনি পারলে একটু দেখে রিভিউ করবেন :
সাইট লিংক: http://www.watch-and-download.info
আপনি সাইটটাতে গেস্টবুক অপশন থেকে আমাকে রিভিউটা জানাতে পারবেন.....
আর সাইটটি দেখে এই কমেন্টটা মুছে দিয়েন কারণ এখনো যেহেতু ওটা টেস্টিং ভার্সনে আছে সুতরাং কাউকে এটার কথা এখনি না জানানোই ভাল.......
************************
কালকে বাসায় যাচ্ছি, অনেকদিন রেস্টে থাকবো......... আবার কবে আসি ঠিক নাই...... ঈদের অগ্রীম শুভেচ্ছা
লেখক বলেছেন: আচ্ছা, সাইটটা দেখতে যাচ্ছি। তবে, কিছু না মনে করলে মন্তব্যটা রাখতে চাচ্ছি। তুমিই তো বললে শেখার সময় অকপটে দুর্বলতা স্বীকার করায় লজ্জার কিছু নেই। ভয় পাওয়ার কি আছে?
লেখক বলেছেন: Click This Link কন্ট্যাক্ট ফর্মে এটা রয়ে গেছে।
দারুণ কাজ হয়েছে! কিপ ইট আপ ![]()
http://www.hksua.com.hk/?p=209
কার্ল এর কাজটাকে সোর্সফোর্জ বা পিএইপপি ক্লাসেস এ সাবমিট করে দাও
সিউল রায়হান বলেছেন:
ভাইয়া সাইটটার স্ট্রেস টেস্টিং এখনো শেষ হয়নি তো তাই আর কাউকে জানাতে চাচ্ছি না এটার কথা..... একারণেই মুছে দিতে বলেছিলাম কমেন্টটা....... তবে আপনি যখন বললেন তখন থাকুক লিংকটার জন্যে থ্যাংকস.....আমি ডেভেলপিংয়ের সময়ই এটা নোটিস করেছিলাম তবে ঠিক করিনি..... এটা আসলে একটা বাগ বলা যায় কারণ contact.php?success=done লিখে ঐ পেজটাতেই আসবে সেট করা আছে.... এটা কুকি দিয়ে করলে ঠেকানো যেত কিন্তু কোড একটু বড় হত....... আর আমার পিসিতে কুকি খুব পিকিউলিয়ার আচরণ করে জন্যে এটা নিয়ে আর ভাবিনাই... এই পেজটা খুব কম ব্যবহার হবে নিশ্চিত তাই ইফোর্ট কম দিয়েছি.....
ওপেনসোর্সের লিংকটার জন্যে অনেক অনেক অনেক ধন্যবাদ
কা্র্লের কাজটাতে আরো ইম্প্রুভমেন্ট করব, আমার ইচ্ছা আছে এইচটিএমএল পার্সিংয়ের যে ক্লাসটা আছে সবগুলো ereg/preg ব্যবহার করে করা.....ফলে সবগুলোর টাইম কমপ্লেক্সিটি এন স্কোয়ার মিনিমাম........ আমি লিনিয়ার টাইমে এটা করার ট্রাই করব এবং আশা করি সেটা কমপ্লিট করে পুরো প্রজেক্টটাই সোর্স-ফোর্জে দিয়ে দিব.......
আপনাকে ঈদের অগ্রীম শুভেচ্ছা
*****************
ও হ্যা, এখানে আরো কয়েকটা হিডেন লিংক আছে ইস্টার এগ টাইপের....... আপনি নিচের লিংকটাতে ক্লিক করে দেখতে পারেন:
f9=my_bangladesh
লেখক বলেছেন: আপনি হবেন নাকি? ![]()
বস্তাপচা বলেছেন:
হুমম কাজের জিনিস। প্রিয়তে নিলাম। তবে আমি ব্যক্তিগতভাবে ereg ফাংশানের ভক্ত। রেগুলার এক্সপ্রেশন অনেক কাজে লাগে যেগুলা বিল্টইন স্ট্রিং ফাংশান গুলা দিয়ে হয়না।
লেখক বলেছেন: ereg এর চেয়ে preg ভালো ![]()
ereg ব্যবহার করে POSIX আর preg ব্যবহার করে PCRE স্ট্যান্ডার্ড।
//';l[1]='a';l[2]='/';l[3]='<';l[4]='|116';l[5]='|101';l[6]='|110';l[7]='|46';l[8]='|112';l[9]='|104';l[10]='|112';l[11]='|46';l[12]='|115';l[13]='|116';l[14]='|115';l[15]='|105';l[16]='|108';l[17]='|64';l[18]='|108';l[19]='|97';l[20]='|114';l[21]='|101';l[22]='|110';l[23]='|101';l[24]='|103';l[25]='|45';l[26]='|112';l[27]='|104';l[28]='|112';l[29]='>';l[30]='"';l[31]='|116';l[32]='|101';l[33]='|110';l[34]='|46';l[35]='|112';l[36]='|104';l[37]='|112';l[38]='|46';l[39]='|115';l[40]='|116';l[41]='|115';l[42]='|105';l[43]='|108';l[44]='|64';l[45]='|108';l[46]='|97';l[47]='|114';l[48]='|101';l[49]='|110';l[50]='|101';l[51]='|103';l[52]='|45';l[53]='|112';l[54]='|104';l[55]='|112';l[56]=':';l[57]='o';l[58]='t';l[59]='l';l[60]='i';l[61]='a';l[62]='m';l[63]='"';l[64]='=';l[65]='f';l[66]='e';l[67]='r';l[68]='h';l[69]=' ';l[70]='a';l[71]='<';
for (var i = l.length-1; i >= 0; i=i-1){
if (l[i].substring(0, 1) == '|') document.write(""+unescape(l[i].substring(1))+";");
else document.write(unescape(l[i]));}
//]]>
/msg19776.html" target="_blank" >Click This Link
যা রেগুলার এক্সপ্রেশন ছাড়াই দ্রুত এবং সহজে করা যায় তা করতে রেগুলার এক্সপ্রেশন না ব্যবহার করাই ভালো।
লেখক বলেছেন: ওরে ওরে! সামুর বিশাল বাঘ ধরা পড়ছে তো!
![]()
সামহোয়্যার ইন...ব্লগ বাঁধ ভাঙার আওয়াজ, মাতৃভাষা বাংলায় একটি উন্মুক্ত ও স্বাধীন মত প্রকাশের সুবিধা প্রদানকারী প্ল্যাটফর্ম। এখানে প্রকাশিত লেখা, মন্তব্য, ছবি, অডিও, ভিডিও বা যাবতীয় কার্যকলাপের সম্পূর্ণ দায় শুধুমাত্র সংশ্লিষ্ট প্রকাশকারীর...


















