روزنوشتهای من درباره اینترنت، کامپیوتر، سایبراسپیس و ...!

بازگشت به صفحه اصلی وبلاگ

 
 

مطالب منتشر شده در موضوع «کامپيوتر»

 
 
   

 

May 06, 2008

 
 
 

تغييرات جديد Google Reader

واقعا که کار اين گوگل درسته. انگار ذهن کاربران رو ميخونن. امروز که طبق معمول توي گوگل ريدر رفتم ديدم تغييراتي توش دادن. يکي از تغييراتي که فورا به چشمم اومد عنوان مطالب فارسي بود که راست به چپ شده.

تغيير ديگه اضافه شدن دکمه Share with note زير مطالب هست که با استفاده از اون ميشه علاوه بر شير کردن مطلب ياداشتي هم به اون اضافه کرد.

من چند روز بود با خودم فکر مي کردم کاش توي Google reader ميتونستم مطالب جالب سايتهايي که عضو فيدشون نيستيم رو هم Share کنم. توي تغييرات جديد اين امکان رو هم فراهم کردن. براي اين کار از منو سمت چپ زير Your stuff داخل بخش Notes بشيد و لينک Note in Reader رو داخل نوار ابزار مرورگر بکشيد.

(توي همه مرورگرها نوار ابزاري وجود داره که توي اون ميشه لينک سايتهاي مورد علاقه رو اضافه کرد. براي ديدن اين نوار توي فايرفاکس از منو گزينه View>Toolbars>Bookmarks Toolbar رو تيک بزنيد و توي IE روي يه جاي خالي نوار ابزار راست کليک کنيد و Links رو تيک بزنيد)

براي استفاده از لينک Note in Reader ميتونيد توي صفحه مورد نظرتون براي شير متني رو انتخاب کنيد و Note in Reader رو بزنيد. بعد ميتونيد خيلي ساده اگه خواستيد توضيحي بنويسيد و مطلب رو ارسال کنيد.

واقعا کار تميزي ارائه کردن.

[ 10:52 AM ]   .   [ Comments (1) ]

 

 

November 11, 2005

 
 
 

برنامه چت

چند وقت پيش يه مشتری واسمون پيدا شده بود که HTML سايت رو طراحی کرده بود ولی برای سايتش يه چت روم می‌خواست که با استفاده از اون بتونن مشتری‌ها رو بيشتر راهنمايی کنن. گويا به چند جا ديگه هم اين طرح رو ارائه داده بودن ولی کسی نتونسته بود واسشون درست کنه و به گذاشتن اون چت‌روم‌های آماده که هيچ سنخيتی با طراحی سايت نداشتن اکتفا می‌کردن.

اولش يه کم ترسيدم که از پسش برنيام واسه همين يه کم مهلت خواستم که ببينم می‌تونم انجامش بدم يا نه. اولش که توی گوگل دنبال برنامه‌های چت آماده گشتم هيچ چيز به درد بخوری پيدا نکردم و همه اونا به طرز مسخره‌ای برای نمايش چت صفحه‌ها رو دائم ريفرش می‌کردن که اصلا چنگی به دل نمی‌زد. اين بود که خودم تصميم گرفتم با روشی که تازه ياد گرفتم (XMLHttpRequest) که در اون برای دريافت و ارسال اطلاعات نيازی به ريفرش صفحه وجود نداره، کل برنامه رو خودم بنويسم.

توی نوشتن برنامه چت بزرگترين مشکلی که وجود داشت اين بود که وقتی يک درخواست برای خوندن چت‌های جديد ارسال می‌شد و به خاطر مشکلات شبکه دير جواب می‌گرفت، اين باعث ايجاد تداخل در درخواست‌های بعدی می‌شد.

بلاخره بعد از يه هفته تونستم نسخه آزمايشی رو پياده کنم و بعد از يکی، دو ماه مطابق نظرات مشتری امکاناتی بهش اضافه کردم و روی سايت قرارش دادم. اينجا می‌تونيد ببينيدش.

اينجا چند تا از امکاناتی که واسه اين چت گذاشتم رو شرح می‌دم:

  • به طور صد در صد می‌شه داخل اون از زبان فارسی استفاده کرد.
     
  • امکان ايجاد چندين اتاق و تعيين زبان واسه اونا وجود داره تا اتاق‌ها شلوغ نشن و هر کس بتونه با زبان خودش با اپراتورها چت کنه. کابران جديد به خلوت‌ترين اتاق هدايت می‌شن.
     
  • امکان تعيين چند اپراتور برای هر اتاق جهت کنترل اتاق. اپراتورها می‌تونن کاربران رو حذف کنن. بعلاوه اين در صفحه اصلی چت جلوی اسم اپراتورها مشخص می‌شه که آن شخص اپراتور و شخص مسئول برای جواب گويی است.
     
  • امکان ارسال درخواست چت خصوصی اپراتورها برای افراد ديگر. در صورت موافقت کاربر صفحه‌ای برای چت خصوصی باز می‌شود.
     
  • امکان تعيين زبان چت برای کابران. برای هر زبان همه جملات صفحه به همان زبان خواهد بود.
     
  • هنگام نوشته شدن مطلب جديد در چت با صدايی اين موضوع اعلام می‌شود.
     
  • بهترين خوبی اين چت اينه که کدش کامل دست خودمه و می‌تونم هر امکاناتی که لازم بود بهش اضافه کنم. به عنوان مثال برای اين سايت در بخش چت مشخص می‌شه که کابران در چه صفحاتی در حال رفت و آمد هستن.

اين برنامه رو من با ASP نوشتم و برای استفاده از اون به هيچ برنامه اضافی جز يک Browser نياز نيست. فقط برای صدای چت بايد Flash Player نصب باشه.

[ 12:12 PM ]   .   [ Comments (53) ]

 

 

September 16, 2005

 
 
 

نمايش News Feed با استفاده از MagpieRSS

در مطلبی که اينجا نوشته بودم کار با سرويس Feed2js را توضيح دادم. استفاده از اين سرويس اگر چه به خوبی کار نمايش News Feed را به خوبی نمايش می‌دهد اما به دليل اين‌که وابسته به يک سايت ديگر است در صورتی آن سايت با مشکلی مواجع شود کار ما به مشکل برمی‌خورد.

در اين مطلب کار با برنامه MagpieRSS را توضيح خواهم داد. اين برنامه که با php نوشته شده است برروی سايت نصب می‌شود و کار نمايش News Feed را بسيار آسان می‌کند، مزيت اين برنامه مستقل بودن آن از سايت‌های ديگر است.

من از اين برنامه برای نمايش عنوان آخرين مطالب وبلاگ‌های خارج از سايت Special.ir استفاده کرده‌ام.

نصب Magpierss

برای نصب اين برنامه ابتدا آن را از اينجا دانلود کنيد سپس بعد از باز کردن آن، پوشه «extlib» و فايل‌های زير را در شاخه‌ای به نام «magpierss» که در شاخه اصلی سايت ايجاد کرده‌ايد آپلود کنيد:

rss_fetch.inc
rss_parser.inc
rss_cache.inc
rss_utils.inc

برنامه MagpieRSS برای بالا بردن سرعت بعد از دريافت فايل News Feed آن را ذخيره می‌کند تا در هر بار نمايش آن مجبور به دريافت فايل نباشد. MagpieRSS خود سعی می‌کند شاخه‌ای را که اطلاعات را در آن cache می‌کند را ايجاد کند ولی غالبا به علت عدم اجازه ساخت شاخه اين کار ممکن نمی‌شود. برای جلوگيری از ايجاد هر گونه مشکلی در شاخه اصلی سايت شاخه‌ای به نام cache ايجاد کنيد و به آن Premission (اختيار) 755 بدهيد، برای اين کار در برنامه FTP خود به دنبال دستور chmod بگرديد سپس آن را به اين شکل تنظيم کنيد:

برای استفاده از اين برنامه در صفحه php مورد نظر خود بايد از کدهايی شبيه به زير استفاده کنيد: (بعدا خط‌ به خط اين کدها را توضيح خواهم داد.)

<?
require_once('magpierss/rss_fetch.inc');
define('MAGPIE_OUTPUT_ENCODING', 'utf-8');
ini_set('display_errors', 0);
$rss = fetch_rss('http://weblog.mojde.com/index.rdf');
if ($rss){
    $items = array_slice($rss->items, 0, 5);
    echo $rss->channel['title'] . "<BR/>";
    foreach ($items as $item) {
        echo "<A href='" . $item['link'] ."'>" . $item['title'] . "</A><BR/>";
    }
}
?>

توضيحات کد:

ابتدا ما بايد کدهای MagpieRSS را وارد صفحه خود کنيم، اين کار به وسيله دستور زير انجام می‌شود:

Require_once('magpierss/rss_fetch.inc');

در اين دستور بايد به محل قرارگيری فايل rss_fetch.inc اشاره کنيد. برای مثال در دستور بالا فرض بر اين است که فايل rss_fetch.inc ما در شاخه‌ای به نام magpierss قرار گرفته و شاخه magpierss هم در همان جايی است که صفحه php ما در آن قرار دارد.

در دستور بعد برای اين‌که بتوانيم اطلاعات يونی‌کد را بخوانيم از کد زير استفاده می‌کنيم:

define('MAGPIE_OUTPUT_ENCODING', 'utf-8');

در دستور بعدی برای اين‌که در هنگام ايجاد مشکل برای MagpieRSS، پيام خطای غير مفهمومی برای بازديدکننده‌های معمولی نمايش داده نشود، از اين دستور استفاده کرده‌ايم:

ini_set('display_errors', 0);

در اينجا ما آماده خواندن اطلاعات از داخل فايل News Feed مورد نظرمان شده‌ايم. برای اين کار از دستور زير استفاده کرده‌ايم:

در دستور بالا تابع fetch_rss نشانی News Feed را می‌گيرد و اطلاعات خوانده شده از صفحه مورد نظر را داخل متغير $RSS قرار می‌دهد. از اين متغير بعدا برای نمايش اطلاعات استفاده خواهيم کرد. برای به دست آوردن نشانی News Feed می‌توانيد در سايت‌ها به دنبال آيکون يا لينکی با متن XML ،RSS يا ATOM بگرديد و نشانی آن را کپی کنيد. MagpieRSS از همه انواع News Feed پشتيبانی می‌کند.

برای مثال نشانی News Feed وبلاگ‌های داخل بلاگر به اين صورت است:

و نشانی News Feed وبلاگ‌های بلاگفا به اين صورت است:

در خط بعدی کد ما با اين دستور کنترل می‌کنيم که آيا اطلاعات از داخل صفحه خوانده شده و داخل متغير $RSS قرار گرفته است يا نه. در صورت وجود اطلاعات در اين متغير خطوط بعدی اجرا خواهد:

if ($rss){

در خط بعدی ما برای انتخاب 5 مطلب اول از News Feed مورد نظرمان از اين دستور استفاده کرده‌ايم:

$items = array_slice($rss->items, 0, 5);

MagpieRSS اطلاعات داخل RSS را در يک آرايه ذخيره می‌کند؛ دستور بالا 5 مورد اول از اين آرايه انتخاب ‌می‌کند و آن را داخل آرايه $items ذخيره می‌کند.

در خط بعدی ما عنوان صفحه‌ای که نشانی صفحه RSS آن را داده‌ايم را نمايش می‌دهيم. با اين دستور:

echo $rss->channel['title'] . "<BR/>";

در خط بعد ما برای نمايش يک به يک مطالب داخل RSS از اين دستور استفاده کرده‌ايم:

foreach ($items as $item) {

دستور foreach برای هر کدام از موارد داخل آرايه دستورات مورد نظر ما در تکرار می‌کند. در ضمن اين دستور هر مورد را داخل متغير $item ذخيره می‌کند تا بتوانيم به آن دستری داشته باشيم.

دستور بعدی که داخل foreach قرار دارد و برای هر مورد خوانده شده تکرار می‌شود، کار نمايش عنوان و لينک مطالب موجود در News Feed را انجام ‌می‌دهد:

echo "<A href='" . $item['link'] ."'>" . $item['title'] . "</A><BR/>";

[ 11:42 AM ]   .   [ Comments (2) ]

 

 

September 21, 2004

 
 
 

متن پيش فرض در جعبه‌هاي متن به صورت پاك شو

همان طور كه ديده‌ايد در صورت نوشتن متني در جعبه‌هاي متن براي مشخص كردن مقداري كه در آنها بايد وارد شود به صورتي كه هنگام انتخاب آن متن پاك شود، اين جعبه‌ها بسيار بهتر به نظر خواهند ‌رسيد. (مثل جعبه‌هاي متن جستجو كه در آنها «كلمه مورد نظر خود را وارد كنيد» نوشته شده و موقع كليك روي آنها اين متن حذف مي‌شود)

براي ايجاد اين حالت ابتدا در قسمت <Head> صفحه مورد نظر اين كد ها وارد كنيد:

<script language="javascript">
function delvalue(inputbox){
  inputbox.value="";
  inputbox.focus;
}
</script>

سپس در جعبه متن مورد نظر خود اين كد را وارد كنيد:

onfocus="delvalue(this)"

در آخر براي تعيين متن مورد نظر در جعبه متن اين را هم وارد كنيد:

value="جمله مورد نظر"

مثال:

<input type="text" onfocus="delvalue(this)" value=" كلمه مورد نظر خود را وارد كنيد" />

(علت استفاده از Event (رويداد) onfocus به جاي onclick اين است كه به هر شكلي كه جعبه متن انتخاب شد، جمله پاك شود و براي پاك شدن متن استفاده كننده فقط مجبور به كليك نباشد.)

[ 09:05 PM ]   .   [ Comments (0) ]

 

 

September 10, 2004

 
 
 

زبان فارسي در ويندوز xp

نميدونم بعضي‌ها چرا روي ويندوز اكس‌پي فارسي ساز نصب ميكنن! ويندوز اكس پي بدبخت خير سرش خودش به زبان فارسي امكان تايپ رو ميده! البته گاهي به علت اينكه الزامات مربوط به زبان‌هاي راست به چپ در اين ويندوز فعال نشده، زبان فارسي در ليست زبان‌هاي صفحه كليد ظاهر نمي‌شود كه اين امر موجب مشكل ميشه.

براي نصب الزامات زبان‌هاي راست به چپ به اين قسمت برويد:

Control panel>Regional and language Options

بعد به صفحه Language برويد و در آنجا زير بخش Supplemental language support چك باكس Install files complex… را علامت بزنيد. بعد از زدن دكمه ok سي‌دي ويندوز اكس‌پي را درخواست و سپس اين الزامات را نصب مي‌كند.

بعد براي فعال كردن زبان فارسي در همان صفحه دكمه Details… را بزنيد و در صفحه‌اي كه باز مي‌شود دكمه Add… را بزنيد و در ليست زبان Farsi را انتخاب كنيد.

گفته ميشه داخل ويندوز Longhorn كه قراره به زودي منتشر بشه امكان تقويم هجري شمسي هم تعبيه شده كه در اون صورت ميشه گفت ويندوز كاملا براي استفاده ايرانيها مناسب ميشه. به اميد اون روز!

[ 01:04 AM ]   .   [ Comments (0) ]

 

 

بقيه مطالب

 
 
 
 

 

 

استفاده از مطالب این وبلاگ فقط با اجازه نوید مجاهد مجاز می باشد