یک وبلاگ دیگر از یک برنامه نویس دیگر
بایگانی برای می, 2010
یه کم درباره گذشته….
اردیبهشت ۲۶م
چند وقتی بود که درگیر بودم. یه سر رفتم نمایشگاه. این شد که نتونستم چیزی بنویسم.اول اینکه نمایشگاه امسال بیشتر نمایشگاه قران و کتب دینی بود تا نمایشگاه کتاب. به هر صورت طبق عادت ۱۰-۱۱ سال گذشته من همیشه نمایشگاه رو میرم،و کلا قرار هم نیست به این راحتی ها بیخیال این قضیه بشم.
نمایشگاه که رفتم متوجه شدم بیشتر از کارهای کودک و نوجوان خوشم میاد خصوصا سبک فانتزی. به این نتیجه رسیدم که هنوز درست و حسابی بزرگ نشدم و گویا قراره یه بار دیگه با بیتا بزگ بشم (نه اینکه دوران بچگیم نیمه تموم مونده باشه :) شاید چون زیادی طول کشیده درگیرش موندم) به هر حال اکثر کتابهایی که گرفتم تو همین مایه ها بودن. البته به جز یه کار از مانا نیستانی (کابوس – انتشارات روزنه ) که اونم باز برمیگرده به گذشته (یک سری کمیک استریپ دنباله دار که به علت توقیف مجله توانا در اون موقع،نیمه تموم موند و بعدها مانا اونها رو تکمیل کرد. من برای اولین بار دو سال پیش خریدمش، و ایندفعه چون خواهرم هم خواستش برای اون خریدمش.) و یه کتاب از امبرتو اکو، “بائودولینو” که آقای رضا علیزاده (مترجم بزرگ کارهای تالکین) ترجمه کرده. و یه خبر خوب هم شنیدم، که کتاب تام بامبادیل تالکین هم زیر چاپه (امیدوارم با تر جمه علیزاده باشه) باقی کتابها تو ژانر فانتزی نوجوانانه.
دوم اینکه دیگه کاملا Ubuntu 10.04 – Lucid واسم جا افتاده و گذشته از معدود مشکلاتی که داشتم ازش لذت میبرم. در حقیقت بیتا که خیلی خوشش اومده از Compiz و افکتهایی که پنجره هاش دارن. کلی میخنده با افکتهای پنجره ها و چیزهای دیگه. یکی دوتا بازی هم پیدا کردم که بیشتر به خاطر خاطراتی که از بازیهای مشابه دارم بدجوری درگیرشون شدم. اولیش Pingus که دوباره سازی بازی Lemmings هستش. کوچکترین زمانی که داشته باشم درگیرش میشم :). در حقیقت بازی Lemmings خیلی سال پیش، بازی مورد علاقه من بود. اون یه سری آدمک بود و این یه سری پنگوئن. بازی بیشتر حالت معما داره،و شما باید با کمک ابزارهایی که دارید، پنگوئن ها رو به خونه برسونید. نمیدونم پورت ویندوز هم هست یا نه، ولی از دستش ندید. بامزست.
دومین بازی SuperTux هستش که تو مایه های SuperMario (نسخه اولیه که تو میکرو :) بازی میکردیم. ) طراحی شده. فقط اینجا قهرمان بازم یه پنگوئنه و اون موجودات عجیب غریب بیشتر شبیه یخ و برف هستن :) این SuperMario یه قسمتی از بچگی من حساب میشه و چه روزهایی از بچگیم که صرف این بازی نشده :) کلا بازی قشنگیه به امتحانش میارزه. الهام (به سبک قدیمی ترها “مادر بیتا” ) هم خیلی خوشش اومده ازش،البته همیشه از این سبک خوشش میومد. به هر صورت نسخه ویندوز هم هست و میتونید تست کنید.
کل این نوشته که مربوط شد به گذشته!!!
گراواتار
اردیبهشت ۱۳م
گراواتار سیستمیه که همه ی کسانی که با WordPress سر و کار دارن میشناسنش. این سیستم به شما امکان میده یه آواتار رو ایجاد کنید، و از این آواتار در همه سیستمهایی که از گراواتار پشتیبانی میکنن استفاده کنید. اما گراواتار چطوری کار میکنه؟
خیلی ساده، شما اونجا یه اکانت میسازید و میتونید بیشتر از یک میل رو هم به یه اکانت نسبت بدید و هم میتونید که برای هر ایمیل خودتون یه آواتار جداگانه ایجاد کنید.
گراواتار یه سیستم خیلی ساده داره. شما آدرس ایمیل شخصی رو که میخواید تصویرشو بگیرید رو به حروف کوچک تبدیل میکنید، بعد آدرس ایمیل رو به صورت md5 درمیارید و همین. دیگه آدرس عکس رو دارید، در حقیقت لینک آدرس عکس رو توی PHP میتونید اینجوری بدست بیارید :
$email = "someone@somewhere.com"; $default = "http://www.somewhere.com/homestar.jpg"; $size = 40; $rate = 'g'; $grav_url = "http://www.gravatar.com/avatar/" . md5( strtolower( $email ) ) . "?default=" . urlencode( $default ) . "&size=" . $size . "&r=" . $rate; echo "<img src=\"$grav_url\" alt=\"\" />";
سه تا مقدار default (که آدرس عکس پیشفرضه شماست که اگه نبود اون عکس نمایش داده بشه) و size که اندازه عکس مورد نظر شماست (که اندازه یه ظلع مربع عکسه) که بیشتر از ۵۱۲ هم نمیتونه باشه. (باشه هم مهم نیست، 512 برمیگردونه) و rate (که میگه سایت شما جزو چه دسته ای هست، G ، PG ،R ،X ) که هر سه اختیاری هستن.
خوب، این روش کلی مزیت داره. مزیتاش یکی همین یه دست بودن آواتار کاربر همه جاست. از نظر ریاضیاتی میشه ثابت کرد تعداد کلماتی که md5 برابر داشته باشن بی نهایته :) – تعداد حالت های مختلف md5 ، محدوده. یعنی ۲ به توان ۱۲۸ حالت مختلف. ولی تعداد کلمات چند تاست؟ بی نهایت. خوب یعنی بی نهایت کلمه هست که md5 یکسان داشته باشه، ولی خوب چقدر احتمال داره که دو تا ایمیل یک md5 داشته باشن؟ به نظر من یه احتمال نزدیک به صفر – پس این زیاد مهم نیست. ولی با این روش،آدرس لینک نمیتونه ایمیل رو لو بده، و رباتهای مزاحم نمیتونن که از طریق عکسهای گراواتار، آدرس ایمیل رو بگیرن. کاربر هم میتونه یه جا عکس رو عوض کنه و کلی جای دیگه این عکس رو داشته باشه. این سیستم، جدیدا xmlrpc رو هم پیاده سازی کرده که امکانات بیشتری میتونه به شما بده (طراح های WordPress علاقه زیادی به xmlrpc دارن ولی من به شخصه json رو ترجیح میدم که از طریق javascript هم به راحتی قابل دسترسیه. نه این که xmlrpc نیست، ولی json خیلی راحت تره) کلاس PHP هم براش پیاده سازی کردن و توی این آدرس هست. فقط من که تا حالا نتونستم بفهمم API Key واسه این xmlrpc رو از کجا باید بگیرم!
یه میل زدم برای ساپورت درباره API Key و اونا گفتن که API Key همونه که توی WordPress.com به شما میدن. همونی که مثلا برای Akismet هم استفاده میشده. خوب مشکل حل شد :)
راستی اینم گراواتار من :
Lucid Lynx و من!
اردیبهشت ۹م
اول مهمترین کار برای تغییر سیستم عامل، هر چی که باشه، گرفتن پشتیبانه. امروز (دقیقا الان) هنوز اوبونتو ۱۰.۰۴ نیومده و من دارم تو فروم میچرخم. به این برخوردم :
Backups are overrated. There’s nothing like the adrenalin surge when you tell the partitioner not to format your 700GB /home and pray it obeys.
نمیدونم چرا، ولی کلی خندیدم، نه اینکه “چقدر خنده دار بود” یا اینکه “یه لبخند” یا نهایتا یه “خنده کوتاه” نه! یه خنده دقیقا ۵ دقیقه ای با صدای بلند، البته نسبتا! دقیقا مثل وقتی که چاپلین با پاهاش توی limelight بازی میکرد (تو آخرین نمایش، خصوصا اینکه میدونستم آخرش تلخه!) نمیدونم، شاید اینقدرها هم خنده دار نباشه ولی این منم. یعنی اگه میخواستم در مورد خودم و نظرم درباره پشتیبان گرفتن بنویسم از این بهتر نمیتونستم یه جمله بگم!
ادغام تصاویر در CSS
اردیبهشت ۸م
لینک صفحه مثال برای این نوشته : http://cyberrabbits.net/non/css/sprite1/
یکی از راههای بهینه سازی یک صفحه وب، کم کردن تعداد درخواستهای مربوط به صفحه است. یعنی تعداد فایل های جانبی کم باشد و برای نمایش صفحه،بروزر نیاز به دانلود فایلهای کمتری داشته باشد.
بعد از یک بررسی ساده به کمک فایرباگ میتونید ببینید که تقریبا بیشتر از ۷۰ درصد درخواستهای سایتها مربوط به عناصری غیر از صفحه اصلی است. خوب این یه کم در مورد CSS مشکل سازه. یعنی معمولا ما تعداد زیادی از عناصر رو داریم که از تصویر پسزمینه استفاده میکنن. حالا چطور میتونیم این مشکل رو مرتفع کنیم؟ یعنی هم عناصرمون تصویر پسزمینه داشته باشن و هم اینکه تعداد فایلهای درخواستی کم بشه؟
جوب توی روشهای قدیمی برنامه نویسی دو بعدی پیدا میشه. چیزی که الان هم توی برنامه نویسی موبایل کاربرد داره و اونهم ادغام تصاویر در یک تصویر و استفاده از اون تصویر تکی.
قبل از ادامه بگم،این روش برای عناصری جواب گو مبتونه باشه که اندازه مشخص دارن و تصویر پسزمینه به صورت no-repeat هست. (مثلا دکمه ها،منو ها و…)در مورد تصاویری که قراره repeat-x یا y یا اصولا repeat بشن کار خاصی نمیشه انجام داد (با یه حقه میشه repeat-x و y رو هم تو این روش جا داد ولی repeat راهی نداره)
برای نمونه این تصویر رو ببینید :
این تصویریه که گوگل توی صفحه جستجوش ازش استفاده کرده. میبینید که همه آیتمهای توی صفحه جستجو یکجا تو این تصویر هست.
اول از یه مثال ساده شروع میکنم. میخوام یه لینک رو تبدیل کنم به یه دکمه و برای سه حالتش (hover – active و حالت عادی)سه تصویر مختلف بذارم ولی از یه فایل استفاده کنم. قبل از اینکه شروع کنم این صفحه رو ببینید، سمت چپیه حالت عادیه و سمت راستیه حالتی که همه تصاویر با هم هستن. نشانگر ماوس رو روی هر کدوم ببرید، سمت چپیه در هر حالت بازم شروع میکنه به گرفتن تصویر جدید ولی راستیه درست کار میکنه.
تصویر مورد استفاده رو ببینید :
یادداشت : این تصویر رو همینجوری توی آرشیوم پیدا کردم نمیدونم از کجا اومده ولی کار من نیست.
ادامه مطلب
متفرقه-۲
اردیبهشت ۵م
اول اینکه بیتا چند روزی هست که مریضه و اصلا حس نوشتن ندارم. این بود که یه کم فاصله افتاد بین این نوشته و نوشته قبلی
دوم اینکه،منتظرم تا چند روز دیگه Ubuntu رو بگیرم، نسخه ۱۰.۰۴ که پنجشنبه میاد (۹ اردیبهشت)
سوم اینکه همین جوری رفتم برای گرفتن رفرنس CSS3 و دیدم که CSS2 هم بعد از ۱۰ سال یه اصلاحیه خورده (سپتامبر ۲۰۰۹ )اونم گرفتم، و بعد یه تبدیلش کردم به یه نسخه قابل استفاده در DevHelp (با ایجاد کردن یه فایل ایندکس و کلی دردسر، البته اگه RegEx در دسترس نبود :) ) این فایل رو که یه کم هم دستکاری شده همین جا میذارم تا کسانی که میخوان دانلود کنن، فقط یادتون باشه یه فایل CSS بود که از سایت W3C بارگزاری میشد که من اونو هم تو این اضافه کردم و فایلها رو دستکاری کردم که اون فایل CSS رو از لوکال باز کنن، که شاید بعضی ها دوست نداشته باشن. اگه مشکلی با این مساله داشتید خود فایل اصلی رو از W3C بگیرید و فقط یه فایل css21.devhelp تو این هست اونو توی فولدرش کپی کنید بعد کل فولدر رو توی
~/.local/share/devhelp/books
کپی کنید یا اینکه فولدر رو اونجا لینک کنید. فقط یادتون باشه اسم فولدر css21 باشه یا اینکه اسم فایل css21.devhelp رو عوض کنید با اسم پوشه ای که میسازید. همین و تمام.
طبیعیه که DevHelp باید نصب باشه.
همین :) فقط اینو نوشتم که یادم نره وبلاگ هم هست و گرنه مطلب اصلیمو چند وقته دارم آماده میکنم ولی هنوز تموم نشده با این مریضی بیتا :((








