December 2008

جایگزینهایی برای phpMyAdmin

من همیشه از phpMyAdmin برای طراحی، گرفتن Query، نگهداری، Import و Export و کلا همه کارهای مورد نیازم با MySQL استفاده می‏کنم. phpMyAdmin به همراه XAMPP نصب می‏شود و همین طور روی سرور من که کنترل پانل آن CPanel است هم نصب شده است. بنابراین به phpMyAdmin خیلی زیاد خو گرفته‏ام و باهاش راحت هم هستم.

ولی با این حال، امروز برای این که تنوع شده باشد، MySQL Query Browser را گرفتم و نصب کردم. راستش محیط خیلی جالبی داشت؛ امکانات خوبی هم داشت. ولی خیلی به من نچسبید. انگار که phpMyAdmin برایم تبدیل به یک اصل و استاندارد شده باشد، با خودم گفتم، ای بدک نیست ولی خوب phpMyAdmin نمی‏شود. باز گشتم تا ببینم که ابزار Web Based دیگری هم برای MySQL هست یا نه و این گونه بود که با چهار تا برنامه دیگر آشنا شدم که هر چهار تا هم، متن باز یا همان Open Source هستند:


این جناب SQL Buddy نیازی به نصب ندارد و همین طور AJAXی است؛ بنابراین سریعتر کار می‏کند. بیشتر کارهایی که باید انجام بدهد را هم انجام می‏دهد؛ مانند Import و Export


بدک نیست ولی زیادی ساده است و فقط امکانات اولیه را دارد. این ابزار شاید برای ما که سرعتمان در ایران پایین‏تر است مناسب باشد، چون به همان اندازه‏ای که امکانات خاصی ندارد، سریع هم بالا می‏آید.


راستش از این زیاد خوشم نیامد، داونلودش هم نکردم، فقط Demo خودشان را دیدم که تازه برایم درست کار هم نکرد. یعنی با نام کاربری و رمزی که گذاشته بودند، دسترسی لازم برای ساخت Database نبود.


این یکی واقعا جالب است. به طور کامل با Flash طراحی شده است. اگر چه به نظر من آن چنان کاربردی و عملی نیست و من خیلی باهاش راحت نبودم ولی خیلی سریع کار می‏کند.

غیر از این چهار ابزار که Web Based هستند، شرکت EMS هم برنامه EMS SQL Manager for MySQL را دارد که آن هم برنامه خوبی است ولی به کار من نمی‏آید؛ چون هم پولی است (و من الان در این موردِ خاص، حس Open Source ام گرفته) و هم این که Web Based نیست. بنابراین اگر چه داونلودش کردم و تستش هم کردم و به نظرم جالب هم آمد ولی فکر نکنم در عمل زیاد ازش استفاده کنم.

خلاصه پس از این همه گشت و گذار به این نتیجه رسیدم که همان phpMyAdmin خودمان از همه بهتر است!

رفتن به البیک و پژوهش البیکی

تازه در این باره: نوشته دیگری درباره این نوشته و در ادامه آن را اینجا بخوانید.

چند روز پیش با دوستم لیلا رفته بودیم به رستوران البیک یا مجتمع تفریحی رنگین‏کمان که یکی دو سالی است در قم راه افتاده است. البیک شعبه‏ای از یک رستوران عربستانی به همین نام است و جالب این جاست که در ایران تنها در دو شهر قم و تهران شعبه دارد. ظاهرا قمی‏ها و تهرانی‏ها استعداد خوبی در خوردن دارند (: غذاهای البیک بیشتر مرغ و بیشتر به صورت سرخ شده و سوخاری است. البته یکی دو تا غذای گوشت قرمز هم دارد. معمولا مجتمع رنگین‏کمان که در آن رستوران البیک هست، برای خانواده‏ها جای خوبی است چون می‏توانند در کنارش بچه‏هایشان را ببرند پارک بازی.

البیک در سال 1974 و به دست شکّور ابوغزاله در جده راه‏اندازی شده است و آنچنان که سایت‏شان می‏گوید وی درگذشته است و احتمالا هم الان فرزندانش این رستوران‏ها را اداره می‏کنند و باز این که در عربستان در شهرهای جده، مکه، مدینه و ینبع شعبه دارد.
نقشه هوایی البیک را اینجا ببینید.

خلاصه از این حرفها که بگذریم، چیزی که سبب شد من این نوشته را بنویسم، فاکتوری است که اینها با دستگاه‏های POS یا Point of Sale خود چاپ می‏کند. برابرنهاد فارسی POS، «پایانه فروش» است که به باورم برابرنهاد خیلی خوبی هم هست. خلاصه فاکتور عجیب و غریب البیک سبب شد تا حس کنجکاوی من تحریک بشود و فاکتورها را با خودم بیاورم خانه تا کمی دقیق‏تر نگاهشون کنم و ته و توی این فاکتور را در بیاورم. فاکتور را اسکن کردم تا شما هم ببینید. چیزی که در فاکتور برایم عجیب بود، عنوان و آدرسی است که در بالای فاکتور نوشته شده است:

Chat & Chew
1734 Elton Road Order 0714
Silver Spring
Tel. (301) 445-6100


مساله عجیب در این فاکتور این است که بالاش به جای اسم رستوران البیک نوشته شده است Chat & Chew که به فارسی می‏شود «گفتگو کنید و آدامس بجوید». در نگاه اول به یک شعار شبیه است ولی در واقع Chat & Chew اسم یک رستوران است به خاطر این که اگر به پایین فاکتور دقت کنید، نوشته شده است Thank you for visiting Chat & Chew و این نشان می‏دهد که باید اسم یک رستوران باشد.

باز این که در پایین این عنوان، آدرسی را نوشته که اصلا به یک آدرس در عربستان شبیه نیست و بیشتر به آدرسی در یک کشور آمریکای شمالی و یا اروپایی غربی می‏خورد. همین طور شماره تلفن این رستوران بیشتر به شماره تلفنهای کشور آمریکا می‏خورد. خلاصه همه این داده‏ها و کلیدواژه‏ها سبب شد تا موضوع برایم جالب بشود و جستجو کنم ببینم این پایانه‏های فروش از چه رستورانی و چگونه سر از البیک در آورده‏اند و این گونه بود که سایت رستوران Chat & Chew در ایالت مریلند آمریکا را پیدا کردم و راز عنوان، آدرس و تلفن عجیب و غریب موجود در فاکتور البیک حل شد.

ولی هنوز نمی‏دانم چرا رستوران البیک رفته است پایانه‏های فروش رستوران Chat & Chew در ایالت مریلند آمریکا را خریداری کرده است. در حالی که شرکتهایی مثل HP پایانه‏های فروش خیلی پیشرفته‏ای دارند، چرا باید پایانه‏های فروش این رستوران و احتمالا به صورت دست دوم خریداری بشود. یا حالا که این پایانه‏ها خریداری شده است، چرا برنداشته‏اند اسم و آدرس آنها را تغییر بدهند و اسم و آدرس خودشان را بنویسند. حتما این دستگاهها باید امکان تغییر دادن این متون ثابت را داشته باشند.

هر چه هست به احتمال زیاد همین پایانه‏های فروش با همین فاکتورها در عربستان هم در حال کار است و کسی اصلا به این موضوع اهمیت چندانی نمی‏دهد. ظاهرا چندان حفظ پرستیژ کاری برای این رستوران مهم نیست یا شاید هم آدمهای گیری مثل من زیاد نیستند و کسی به این موضوع اهمیتی چندانی نمی‏ده (:

تبریک کریسمس به شیوه گوگلی

خوب، کریسمس برای کسانی که آن را جشن می‏گیرند شروع شده و همه دارند به هر شیو‏ای که می‏توانند، کریسمس را به هم تبریک می‏گویند. مثلا اینجا را بخوانید که یک سری SMSهای تبریک کریسمس را جمع کرده است. حالا در این بین، گوگل کریسمس را به شیوه خاص خودش تبریک می‏گوید.

یک پیرمرد با نوه‏اش در کارگاه مشغول درست کردن ماشینی به نام گوگل هستند که با کمک آن بتوانند برای بقیه بچه‏ها اسباب‏بازی بسازند. واقعا ایده قشنگی است. من که از هر 5 نقاشی خیلی خوشم آمد. (روی نقاشی کلیک کنید تا بقیه نقاشی‎‏ها را که لوگوی گوگل هم شده بودند و هنوز هم هستند را ببینید)

مهمترین رخدادهای وب در سال 2008 - بخش نخست: سیستم عامل Android گوگل

بخش دوم: Mozilla Weave
سال 2008 به پایان رسید. در این سال به نظر من از تب و تاب درست کردن سایتهای وب2 که در سال 2007 خیلی شدت گرفته بود، به میزان زیادی کاسته شد. دیگر کمتر شاهد درست شدن سایتهای وب2 بودیم که مثل قارچ از این ور و آن ور یک هویی بیرون می‏آمدند و بعد از یک مدت کوتاه هم برشکسته می‏شدند و به لیست DeadPool یا پروژه‏های شکست خورده وارد می‏شدند.

اما با این حال در این سال رخدادهای وب2 و فن‏‏آوری اطلاعات مهمی رخ داده است که من می‏خواهم از این به بعد چند تا از این رخدادها را که به نظر خودم مهم بوده است را بنویسم.

Android: سیستم عامل باز گوگل برای موبایل

در میانه سال 2008، گوگل از سیستم عامل باز خودش برای موبایل پرده‏برداری کرد. سیستم عامل گوگل شاید مشابه به سیستم عامل بسته Apple بود. طبیعی است که برای مشهور و گسترده کردن این سیستم عامل، نیاز به نوشتن برنامه‏های جانبی زیادی بران ان هست. گوگل هم تلاش زیادی را برای تشویق برنامه‏نویسان برای نوشتن برنامه برای این سیستم عامل گذاشت.
جالب این جاست که گوگل حتی با گذاشتن جایزه نقدی برای نوشتن برنامه برای Android در واقع دارد تلاش می‏کند تا با استخدام غیرمستقیم برنامه‏نویسان سبب تولید برنامه‏های جانبی برای Android بشود.

سیستم عامل موبایل گوگل، یک سیستم عامل Multitasking است که اجازه می‏دهد چند برنامه به شکل موازی و در کنار هم اجرا بشوند. همین طور در این سیستم عامل کنترلی به نام WebView وجود دارد که اجازه می‏دهد محتویات Web مانند HTML، CSS و حتی JavaScript در آن نشان داده و اجرا بشود.

نخستن گوشی موبایل بر پایه این سیستم عامل، گوشی به نام Google G1 از شرکت T-Mobile است که در سپتامبر امسال تولید و ارائه شد. اگر چه هنوز استفاده از این سیستم عامل محدود است ولی توقع می‏رود که استفاده از این گوشی در سال 2009 به شدت گسترش پیدا کند و گوشی‏های خیلی زیادتری بر اساس این سیستم عامل تولید شوند.

جالب این جاست که بدونید Android در ابتدا «متن‏باز» یا OpenSource نبوده است و در ماه اکتوبر به صورت متن‏باز در آمد و به خاطر این ویژگی‏اش تفاوت جدی با سیستم عامل شرکت Apple کرد. برنامه‏های نوشته شده برای Android باید به زبان جاوا باشند. سورس برنامه Notepad را از اینجا بخوانید. البته توجه داشته باشید که متاسفانه بخش برنامه نویسی یا http://code.google.com گوگل به طور کلی برای ایران بسته شده است و اگر از داخل ایران بخواهید این صفحات را ببینید با پیغام دسترسی مجاز نیست برابر خواهید شد.

من برای نمونه، بخشی از کد پروژه Notepad را اینجا می‏آورم:

همین طور که می‏بینید کلاس تازه‏ای به نام LineEditText از کلاس EditText درست شده است. این کلاس تازه کلاس EditText را به شکلی توسعه داده تا زیر هر سطر، یک خط افقی رسم بشود. در Constructor داخل کلاس متغییرهای mRect و mPaint درست شده‏اندکه برای کشیدن یک خط افقی در زیر هر سطر استفاده می‏شود. تابع onDraw کلاس EditText هم Override شده و در آن با کمک تابع drawLine کلاس canvas زیر هر سطر یک خط کشیده شده است. در آخر هم با استفاده از super.onDraw(canvas) تابع onDraw کلاس بالایی صدا زده شده است تا توارث حفظ بشود.

اما یکی از انتقاداتی که به این سیستم عامل وارد شده، این است که Android از کنترلهای استاندارد Java ME یا Mobile Edition استفاده نمی‏کند و به همین دلیل برنامه‏نوهای نوشته شده با Android استاندارد نبوده و به طور عادی در بقیه گوشی‏هایی که Java را پشتیبانی می‏کنند اجرا نمی‏شود.
در هر حال، سال 2009 سال گوشی‏های Android خواهد بود و ما احتمالا در این سال شاهد به کارگیری زیاد این گوشی در موبایل‏ها و رقابت زیاد این سیستم عامل با سیستم عامل‏های دیگر خواهیم بود.

اندر ویژگی‏های شیخنا و مولانا PHP

راستی، هیچ می‏دونستید این سایتها با PHP درست شده‏اند:

  • Facebook
  • Yahoo!
  • Wikipedia
  • Wordpress
  • Tagged
  • Digg

برآورد می‏شود که نزدیک به 20 میلیون سایت با کمک PHP راه افتاده است. این را برای کسانی نوشتم که فکر می‏کنند PHP قدیمی شده است و مثلا ASP.NET بهتر است و دیگر با بودن dot Net زبانی مثل PHP کهنه و قدیمی است. افزون بر همه اینها، PHP بزرگترین گروه کاربران را دارد و بیشترین میزان کدهای موجود در وب با PHP نوشته شده است.

من تازگی‏ها دارم، بیشتر از دو Framework مشهور PHP به نامهای Symfony و CakePHP چیز می‏خوانم و باهاشون کار می‏کنم تا بیشتر باهاشون آشنا بشوم. همین طور که خواندنی‏هایم پیش می‏رود، اینجا خبرش را می‏نویسم.

مهمترین رخدادهای وب در سال 2008 - بخش دوم: Mozilla Weave

بخش پیشین: سیستم عامل Android گوگل
در سال 2008، بنیاد Mozilla، پلت‏فورم تازه‏ای به نام Weave را معرفی کرد که اطلاعات Browser کاربر را در یک مجموعه ذخیره می‏کند تا این اطلاعات همه جا قابل دسترسی باشد. در حقیقت Weave یک Framework یا یک چارچوب کاری برای ارائه خدمات این چنینی به کاربران است. بنیاد Mozilla بر این باور است که «با کمک Weave، کاربران راحت‏تر با مرورگر Firefox کار کرده و تجربه بهتری از آن خواهند داشت و کنترل کاربران بر اطلاعات شخصی آنها افزایش پیدا کرده و این پلت‏فورم فرصت‏های تازه‏ای را در اختیار برنامه‏نویسان می‏دهد تا بتوانند برنامه‏های خلاقانه آنلاین تازه‏ای را تولید کنند.»

به زبان خیلی ساده‎‏تر Weave این امکان را می‏دهد که اطلاعات Profile شما در Firefox (مانند Bookmarkها، سابقه گشت و گذار شما در اینترنت، RSS feedها، نامهای کاربری و رمزها، Add-onها) در داخل یک ابر اطلاعاتی در سرورهای Mozilla فرستاده شده و ذخیره بشود. این اطلاعات هر جای دیگری که به آن نیاز داشته باشید (مانند مدرسه، سر کار، منزل، در مسافرت، در هواپیما یا هر جای دیگری) در دسترس شما هست و افزون بر این شما می‏توانید اطلاعات شخصی خودتان را با کاربران دیگر ذخیره کنید. اگر چه هنوز دسترسی اصلی اطلاعات در اختیار شما هست و شما هر وقت که بخواهید می‏توانید اشتراک گذاشتن اطلاعات یا بخشی از آن را به یک فرد بدهید یا از یک فرد بگیرید.

این سرویس همین طور به برنامه‏نویسان اجازه می‏دهد تا با استفاده از Frameworkی که در Firefox قرار دارد، امکان ذخیره اطلاعات برنامه‏های خودشان را در این ابر اطلاعاتی که در سرور Mozilla هست، به کاربران بدهند.

در حال حاضر سیستم رقیبی برای Weave وجود ندارد. اگر چه با کمک ترکیب چند سیستم می‏شود می‏شود برخی از اطلاعات را با سایرین به اشتراک گذاشت. مثلا من در حال حاضر با کمک Google Reader، خوراک‏های RSSی که می‏خواهم را می‏خوانم و با بقیه به اشتراک می‏گذارم. (پیش از این همین کار را با Del.icio.us می‏کردم) و رمزهایی را که می‏خواهم با همکاران در آموزشگاه به اشتراک بگذارم در یک سند در Google Doc وارد کردم و این سند را با آنها به اشتراک گذاشتم.
ولی قطعا Weave سیستم جامعی است که مرورگر شما را دقیقا با همان تنظیماتی که در خانه دارید، در محل کار در اختیار شما قرار می‏دهد. باید منتظر ماند و این تجربه جالب را آزمایش کرد.