بایگانی برای ‘متفرقه’ دسته

سر و کله زدن با دیتابیس‌های حجیم MySQL

پنجشنبه, 13 آبان 1389

توی پروژه های کوچیک و متوسط معمولا طراحی دیتابیس زیاد جدی گرفته نمیشه ولی توی پروژه های بزرگ با دیتابیس‌های حجیم دقت در جزئیات اهمیت زیادی داره و طراحی و نگهداری دیتابیس یک تخصص جداگانه محسوب میشه.

امروز قصد دارم اطلاعات و تجاربی رو که از سر و کله زدن با دیتابیس های حجیم بدست آوردم رو با شما سهیم بشم. بدست آوردن  بعضی از این تجربه ها  ممکنه واقعا گرون تموم بشه.

(دنباله…)

WebExtract

چهارشنبه, 21 مهر 1389

بعد از تحریم cpanel و جایگزینی اون با plesk یکی از گلایه های مشتری ها عدم امکان باز کردن فایلهای فشرده از طریق کنترل پنل بوده.

از اونجایی که این امکان، امکان پرطرفداری بود. تصمیم گرفتم که برنامه ای برای این کار بنویسم تا کور بشه چشم هر کی که بخواد ما رو تحریم کنه :D

این شد که دست به کار شدم و WebExtract رو با پایتون نوشتم. این برنامه یک Daemon هست که به صورت یک سرویس نصب میشه و روی پورت 2121 سرویس میده و از یوزر و پسورد های سیستم برای احراز هویت استفاده میکنه. به عبارتی بعد از نصب این برنامه کاربر با رفتن به آدرس سایت خودش روی پورت 2121 می‌تونه با وارد کردن نام کاربری و رمز ftp ، فایلها و فولدرهای خودش رو ببینه و فایل های فشرده رو آنلاین باز کنه.

در ادامه نحوه نصبش رو توضیح میدم.

(دنباله…)

مظلومیت اینترنت

چهارشنبه, 10 شهریور 1389

اینترنت در ایران واقعا مظلومه.

اینجا اینترنت به عنوان یک ابزار تفننی شناخته میشه و گاهی اوقات هم به عنوان یک معضل. و متاسفانه به نظر میرسه که هر روز این وضع داره بدتر میشه. یک دوستی می‌گفت وظیفه ماست که در این مورد اطلاع رسانی کنیم تا بلکه صدامون به گوش کسی برسه که دستش به جایی میرسه …

(دنباله…)

خطای دید

شنبه, 23 آذر 1387

در این تصویر دو مربع A و B همرنگ هستند. اگر باور نمی‌کنید از یک colorpicker استفاده کنید (برای دیدن تصویر بزرگتر روی عکس کلیک کنید).

این تصویر در سال 1995 توسط ادوارد ادلسون پروفسورای علوم بصری منتشر شد.

نکته جالب اینجاست که حتی بعد از اینکه می‌فهمی دو مربع یک رنگ هستند باز هم باور نمی‌کنی!

در واقع ما نمی‌بینیم، مغز ما می‌بینه و پردازش میکنه و ما حاصل پردازش رو درک می‌کنیم.

آپدیت:

حدود یک سال و نیم پیش آقای محمدی یک اسکریپت جالب برای تستش نوشتند که میتونید اینجا ببینید.

در ضمن توی این صفحه علت این خطای دید توضیح داده شده.
توی پاراگراف پایانی نوشته «این تصویر بر خلاف سایر حقه های تصویری به جای اینکه خطای سیستم بینایی رو ثابت کنه صحت عملکرد سیستم بینایی رو ثابت میکنه. سیستم بینایی نورسنج فیزیکی خوبی نیست اما هدف این نیست. وظیفه اصلیش اینه که اطلاعات تصویر رو تبدیل به اجزاء معنی دار کنه و بوسیله اونها ماهیت اشیایی رو که می‌بینه تشخیص بده»

منبع

Keyword Substitution

دوشنبه, 6 آبان 1387

در svn یک قابلیتی وجود داره که میتونه یکسری کلید واژه های خاص رو با متغییرهایی نظیر شماره revision و تاریخ ویرایش و … جایگزین کنه.

پرکاربردترین کلید واژه Id است که ترکیبی از سایر کلید واژه ها شامل نام فایل، شماره rev و تاریخ و مولف است.

برای مثال ممکن است قبلا چیزی شبیه خط زیر را در ابتدای فایلی دیده باشید :

$Id: calc.c 148 2006-07-28 21:30:43Z sally $

این همان قابلیت Keyword Substitution در svn است که عبارت $Id$ را با عبارت فوق جایگزین کرده است.

با استفاده از این قابلیت وقتی از پروژه export می گیرید در ابتدای هر فایل اطلاعات مولف ، تاریخ و شماره revision را دارید که ممکنه بعدها به دردتون بخوره.

و اما نحوه فعال کردن این قابلیت :

svn propset svn:keywords "Id" myfile.php

این دستور باعث میشه کلید واژه Id برای فایل myfile.php فعال بشه. و بنابراین هر جا در این فایل عبارت $Id$ قرار داشته باشه در هنگام کامیت با اطلاعات مربوطه جایگزین میشه و در کامیتهای بعدی هم به صورت خودکار آپدیت میشه.

در ضمن اگر از TortoiseSVN  استفاده می کنید از منوی TortoiseSVN قسمت properties می توانید از این قابلیت استفاده کنید.

اطلاعات بیشتر

آپدیت : برای فعال کردن این قابلیت روی تمام فایل های php موجود در یک شاخه (و زیر شاخه های آن) به مسیر مورد نظر رفته و دستور زیر را اجرا کنید:

find -type f -name "*.php" -exec svn propset svn:keywords "Id" {} \;

برای حذف این قابلیت از روی یک فایل دستور زیر را اجرا کنید:

svn propdel svn:keywords myfile.php

addon domain در plesk

سه شنبه, 2 مهر 1387

cpanel یک امکانی داره به نام addon domain که این امکان رو به شما میده که با یک اکانت هاستینگ چند تا هاست جداگانه راه بیاندازید. اخیرا به دلیل تحریم cpanel خیلی از هاست های ایرانی (از جمله ما) سوئیچ کردند به plesk که این امکان رو نداره. و باعث شده مشتری ها شاکی بشن.

برای رفع این معضل یک راه سرخ پوستی پیدا کردم با استفاده از htaccess و ماژول mod_rewrite :

  1. دامنه مورد نظر (مثلا addon.com) رو پارک می کنید روی هاست (توی plesk به جای پارک میگن domain alias)
  2. یک شاخه با نام addon.com توی فولدر httpdocs می سازید.
  3. یک فایل .htaccess در شاخه httpdocs با محتوای زیر ایجاد میکنید:
# addon.com addon domain.
RewriteEngine on
RewriteCond %{HTTP_HOST} ^addon\.com [OR]
RewriteCond %{HTTP_HOST} ^www\.addon\.com
RewriteCond %{REQUEST_URI} !^/addon\.com/
RewriteRule ^(.*) /addon.com/$1 [L]

مزایای سرور ایرانی

چهارشنبه, 20 شهریور 1387

خیلی وقت بود که چیزی ننوشته بودم. تغییر سرور سایت بهانه ای شد برای نوشتن.

اگر مطلع باشید مدتی است که شرکت ما یک  دیتاسنتر ایرانی راه اندازی کرده. تحریم cpanel سبب خیر شد و سایت من از سرور امریکا به یکی از سرورهای ایرانی خودمون منتقل شد. گرچه این سرور پهنای باندش یک دهم پهنای باند سرور قبلی هم نیست ولی به شکل محسوسی سرعت سایت بهتر شده، علی الخصوص در مورد قسمت های اجکسی.

با یک traceroute و ping گرفتن و مقایسه با سرور قبلی همه چیز روشن شد. نتیجه traceroute به سرور ایرانی فقط 5 تاhop بود در حالی که این تعداد برای سرور قبلی 22 تا بود و این یعنی کاهش تعداد روترهای بین من و سرور از 22 تا به 5 تا که باعث شده زمان ping از حدود 700 میلی ثانیه به 100 میلی ثانیه برسه.

اینجاست که میشه به اهمیت اون جمله معروف پی برد که میگه :
“these days, bandwidth is cheap, latency expensive”

اکثر کشورهای خارجی به لحاظ پهنای باند مشکلی ندارند و مشکل اصلی اونها latency (تاخیر) هست . حالا ما که مشکل پهنای باند داریم و نمیتونیم بیشتر از 128Kb برای مصرف خانگی داشته باشیم لااقل میتونیم با انتقال سایت‌ها به سرورهای ایرانی زمان تاخیر(latency)  رو کم کنیم. اینکار چند تا فایده اخلاقی هم داره. یک اینکه وابستگی مون به خارج کم میشه. دو اینکه امکان تحریم سرورها دیگه وجود نداره. و سوم اینکه از خروج ارز جلوگیری میشه.

برنامه نویسی برای Android

دوشنبه, 19 آذر 1386

android_robot.gifحتما اسم android به گوشتون خورده، سیستم عامل گوگل برای تلفن همراه.

مثل همیشه گوگل با یک حرکت زیرکانه، اینبار قصد داره وارد بازار سیستم عامل تلفن های همراه بشه. گوگل کارش رو خوب بلده و میدونه چه جوری این بازار رو تسخیر کنه. یک سیستم عامل اوپن سورس که به لحاظ اقتصادی هم به نفع تولید کننده است و هم به نفع مصرف کننده و از همه مهمتر اینکه هر کسی میتونه توسعش بده و حتی برای توسعش 10 میلیون دلار جایزه اختصاص داده شده. و اینکه یکسال قبل از ورودش به بازار SDK اش ارائه شده.

من هم گرچه جاوا کار نیستم ولی تصمیم گرفتم امتحانش کنم. این شد که فایلهاش رو دانلود کردم و نصبش کردم. البته از اونجایی که گوگل ایران رو تحریم کرده برای دانلودش مجبور شدم از روش های سرخپوستی استفاده کنم.

فایل هاش رو گذاشتم رو هاستم تا اگر قصد امتحان کردنش رو داشتید برای دانلودش دچار درد سر نشید.

android_sdk_linux_m3-rc22a.zip

android_sdk_windows_m3-rc22a.zip

این هم پلاگینش برای eclipse

ADT-0.3.1.zip

راستی اگر android هم مثل بقیه کارهای گوگل همه گیر بشه دیگه جایی تو زندگی آدمها باقی نمی مونه که گوگل توش نباشه.

وای به روزی که گوگل بد بشه. شایدم هست !!

آپدیت(18-03-87): به دلیل کمبود جا فایل ها رو از رو هاستم پاک کردم.

یک گیگابایت 20 سال قبل و یک گیگابایت الان

سه شنبه, 3 مهر 1386

این تصویر رو ببینید.

واقعا جالبه !!!

این همه پیشرفت در عرض 20 سال.

معلوم نیست 20 سال دیگه چی بشه.

منبع: digg

پنل مانیتورینگ کره‌ی زمین

جمعه, 30 شهریور 1386

چند روز پیش یکی از دوستان ایمیلی برایم فرستاد با عنوان «ساعت جهانی» که لینک به یک فایل فلش بود که یکسری آمار کلی از کره‌ی زمین رو نمایش می‌داد که خیلی برام جالب بود. این هم لینکش:

http://www.poodwaddle.com/worldclock.swf

این جوری که من دیدم، اگر همینجوری ادامه پیدا کنه، بعید میدونم زمین بیشتر از 50 سال دیگه عمر کنه.

این آمار از طریق اطلاعات و آمار واقعی موجود محاسبه میشه، برای اطلاعات بیشتر در مورد این ساعت و منابع مورد استفاده‌ی اون، صفحه زیر رو ببینید :

http://www.poodwaddle.com/worldclock.htm

احتمالا اگر خدا سایت داشته باشه. سمت پنل مدیریت سایتش یه چیزی شبیه به این باید برای مانیتورینگ کره‌ی زمین داشته باشه. :)