IOSSD - مقالات

Iranian Open Source Software Developers

ورود
شناسه کاربری:

واژه رمز:

واژه رمز را فراموش کرده اید؟

عضو شوید

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

موضوعات اخیر
Topic | Replies | Last Post
معذرت | 0 | 19:04 Friday 7 October 2005 m_pahlevanzadeh
best assembler | 2 | 18:29 Friday 7 October 2005 m_pahlevanzadeh
live cd برای development | 2 | 18:14 Friday 7 October 2005 m_pahlevanzadeh
DocBook & WYSIWYG | 2 | 18:05 Friday 7 October 2005 m_pahlevanzadeh
کلامی با مدیران سایت | 7 | 11:11 Tuesday 4 October 2005 hosseini
lotfan be man komak konid | 1 | 9:08 Monday 3 October 2005 hosseini
شروع | 2 | 11:00 Sunday 25 September 2005 hosseini
جایگزینی برای jreport | 0 | 17:54 Wednesday 21 September 2005 MOHAMMAD
rigi commang | 3 | 19:00 Sunday 11 September 2005 m_pahlevanzadeh
rigi | 3 | 18:47 Friday 9 September 2005 m_pahlevanzadeh
ماژول Math در پیتون | 3 | 20:08 Sunday 4 September 2005 navidjoon
وعده ها در حال اجراست...... | 6 | 18:50 Sunday 4 September 2005 hosseini
moshkele grub | 5 | 10:56 Sunday 4 September 2005 مهمان
به دنبال سابجکت! | 1 | 1:02 Wednesday 31 August 2005 m_pahlevanzadeh
ترجمه‌ی تاریخچه‌ي دبیان | 18 | 15:19 Tuesday 30 August 2005 مهمان
کار جالبی نیست .!!!! | 8 | 8:59 Tuesday 30 August 2005 m_pahlevanzadeh
درباره freepascal | 6 | 0:53 Monday 29 August 2005 m_pahlevanzadeh
چرا Perl? | 0 | 22:55 Saturday 27 August 2005 m_pahlevanzadeh
netbios | 1 | 21:20 Saturday 27 August 2005 m_pahlevanzadeh
سایت بی سروصدا ...! | 2 | 14:48 Thursday 25 August 2005 mohamo_82
Visit Forums

رفع مشکل راست به چپ در openoffice 2.0 نرم افزار calc.
Posted on Mon 16 May 2005 (161 reads)
در نسخه های قبلی openoffice برای فایلها امکان نمایش به صورت راست به چپ وجود نداشت. شکل ۱

با آمدن نسخه جدید openoffice 2.0 این مشکل بر طرف شد.
برای این کار به صورت زیر عمل کنید:
ابتدا فایل خود را باز کنید و از بالای صفحه روی Format کلیک کرده و از منوی باز شده روی Sheet رفته و گزینه Right-To-Left را انتخاب نمایید. شکل۲

پس از انتخاب گزینه فوق ستونها به صورت RTL مرتب می شوند. شکل ۳

E_mail : ib_babapour@yahoo.com
نويسنده: عيسي باباپور
1384/02/26

سورس مقاله
نسخه pdf
Index :: Print :: E-mail
بی شک دیدگاه هر کس نشانه تفکر اوست , ما در برابر نظر دیگران مسئول نیستیم
فرستنده شاخه
کاربران حاضر
2 کاربر آن لاين است (1 کاربر در حال دیدن سایت مقالات)

عضو: 0
مهمان: 2

ادامه...

کاربران برتر
1 | hosseini | 289
2 | m_pahlevanzadeh | 189
3 | sh_roohani | 180
4 | mohamo_82 | 88
5 | rahimi_m | 47
6 | mehran | 43
7 | joker | 40
8 | Darioush | 32
9 | wekde | 29
10 | arashbi | 28

آخرین مقالات
  • محل جاري مكان نما در C(درس ۳)
  • فارسی نویسی در محیط Gnome
  • فارسی نویسی در محیط KDE
  • آموزش نصب لینوکس (فدورا)
  • اضافه کردن یک هارد دیسک جدید به لینوکس
  • ساختار یک برنامه C(درس ۲)
  • پیش از نصب و راه اندازی PHP(درس ۲)
  • گشتی میان یازده توزیع لینوکس
  • کار با سامبا، سرویس دهی بین لینوکس و ویندوز(۲)
  • کار با سامبا، سرویس دهی بین لینوکس و ویندوز(۱)
  • زبان PHP(درس ۱)
  • مقدمات زبان C
  • رمزنگاری
  • افزایش بازدهی هارد دیسک بوسیله ابزار hdparm
  • آموزش نحوه برنامه نویسی ++C در لینوکس
  • نصب Gxine
  • Makefile چيست؟
  • کار با کلیدهای امنیتی GPG
  • روشهای مختلف نصب برنامه در لینوکس
  • رفع مشکل راست به چپ در openoffice 2.0 نرم افزار calc.

فایلهای برتر
  • ترجمه نرم افزار moodle به فارسی (51)
  • روشهای مختلف نصب برنامه در لینوکس (47)
  • فصل اول کلاس سی پلاس پلاس (43)
  • مقاله نصب لینوکس توزیع فدورا (36)
  • فارسی نویسی در محیط Gnome (34)
  • فارسی نویسی در محیط KDE (30)
  • فصل اول کلاس سی پلاس پلاس (18)
  • کار با کلیدهای امنیتی GPG (16)
  • Makefile چيست؟ (14)
  • لایوت و فونت های مربوط به فارسی نویسی در لینوکس (13)

Powered by XOOPS 2.0 © 2001-2003 The XOOPS Project


شناسه کاربری:

واژه رمز:

واژه رمز را فراموش کرده اید؟

عضو شوید

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

موضوعات اخیر
Topic | Replies | Last Post
معذرت | 0 | 19:04 Friday 7 October 2005 m_pahlevanzadeh
best assembler | 2 | 18:29 Friday 7 October 2005 m_pahlevanzadeh
live cd برای development | 2 | 18:14 Friday 7 October 2005 m_pahlevanzadeh
DocBook & WYSIWYG | 2 | 18:05 Friday 7 October 2005 m_pahlevanzadeh
کلامی با مدیران سایت | 7 | 11:11 Tuesday 4 October 2005 hosseini
lotfan be man komak konid | 1 | 9:08 Monday 3 October 2005 hosseini
شروع | 2 | 11:00 Sunday 25 September 2005 hosseini
جایگزینی برای jreport | 0 | 17:54 Wednesday 21 September 2005 MOHAMMAD
rigi commang | 3 | 19:00 Sunday 11 September 2005 m_pahlevanzadeh
rigi | 3 | 18:47 Friday 9 September 2005 m_pahlevanzadeh
ماژول Math در پیتون | 3 | 20:08 Sunday 4 September 2005 navidjoon
وعده ها در حال اجراست...... | 6 | 18:50 Sunday 4 September 2005 hosseini
moshkele grub | 5 | 10:56 Sunday 4 September 2005 مهمان
به دنبال سابجکت! | 1 | 1:02 Wednesday 31 August 2005 m_pahlevanzadeh
ترجمه‌ی تاریخچه‌ي دبیان | 18 | 15:19 Tuesday 30 August 2005 مهمان
کار جالبی نیست .!!!! | 8 | 8:59 Tuesday 30 August 2005 m_pahlevanzadeh
درباره freepascal | 6 | 0:53 Monday 29 August 2005 m_pahlevanzadeh
چرا Perl? | 0 | 22:55 Saturday 27 August 2005 m_pahlevanzadeh
netbios | 1 | 21:20 Saturday 27 August 2005 m_pahlevanzadeh
سایت بی سروصدا ...! | 2 | 14:48 Thursday 25 August 2005 mohamo_82
Visit Forums

روشهای مختلف نصب برنامه در لینوکس
Posted on Wed 18 May 2005 (254 reads)

روشهای مختلف نصب برنامه در لینوکس

به طور معمول برنامه های نصبی در لینوکس به سه صورتrpm , bin , tar.gz وجود دارد.

نکته: برای نصب برنامه ها باید با حساب کاربری ریشه وارد شوید.

نصب برنامه از روی کد منبع

فایلهای با پسوند tar.gz فایلهای فشرده می باشند که پس از decompress کردن به یک سری فایل منبع تبدیل می شوند که مراحل نصب آن به ترتیب زیر می با شد :

این نوع فایلها را ابتدا باید با دستور tar از حالت فشرده خارج کرد .

#:/ tar -xvzf filname.tar.gz

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

با دستور cd وارد دایرکتوری شده و دستور زیر را برای config کردن سورس اجرا کنید:

#:/ ./configure

پس از اتمام مرحله config باید برنامه را کام‍پایل کرد برای این کار از دستور make در خط فرمان استفاده می کنیم.

#:/ make

پس از اتمام مرحله کامپایل باید برنامه را نصب کنیم. برای نصب برنامه از دستور زیر استفاده می کنیم.

#:/ make install

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

نصب برنامه با پسوند bin.

این نوع فایلها به راحتی قابل نصب می باشند.

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

#:/ chmod 700 filename

بعد از این مرحله باید برنامه را نصب کنید. برای نصب برنامه در خط فرمان به صورت زیر عمل کنید:

#:/ ./ filename.bin

نصب برنامه با پسوند rpm.

این نوع فایلها به راحتی با اجرای یک دستور نصب می شوند. برای نصب به صورت زیر عمل کنید:

#:/ rpm -ivh filname.rpm

سوئیچ هایی که در این دستور به کار رفته است هر کدام کار خاصی را انجام میدهند.

i : برای نصب (install) می باشد.

v : برای نمایش مرحله نصب می باشد.

h : برای نمایش درصد نصب می باشد.

نویسنده : عیسی باباپور

پست الکترونیکی: babapour@farsilinux.org

تاریخ: ۲۸/۰۲/۱۳۸۴

نسخه: ۱.۰۰

سورس مقاله نسخه pdf
Index :: Print :: E-mail
بی شک دیدگاه هر کس نشانه تفکر اوست , ما در برابر نظر دیگران مسئول نیستیم
فرستنده شاخه
کاربران حاضر
2 کاربر آن لاين است (1 کاربر در حال دیدن سایت مقالات)

عضو: 0
مهمان: 2

ادامه...

کاربران برتر
1 | hosseini | 289
2 | m_pahlevanzadeh | 189
3 | sh_roohani | 180
4 | mohamo_82 | 88
5 | rahimi_m | 47
6 | mehran | 43
7 | joker | 40
8 | Darioush | 32
9 | wekde | 29
10 | arashbi | 28

آخرین مقالات
  • محل جاري مكان نما در C(درس ۳)
  • فارسی نویسی در محیط Gnome
  • فارسی نویسی در محیط KDE
  • آموزش نصب لینوکس (فدورا)
  • اضافه کردن یک هارد دیسک جدید به لینوکس
  • ساختار یک برنامه C(درس ۲)
  • پیش از نصب و راه اندازی PHP(درس ۲)
  • گشتی میان یازده توزیع لینوکس
  • کار با سامبا، سرویس دهی بین لینوکس و ویندوز(۲)
  • کار با سامبا، سرویس دهی بین لینوکس و ویندوز(۱)
  • زبان PHP(درس ۱)
  • مقدمات زبان C
  • رمزنگاری
  • افزایش بازدهی هارد دیسک بوسیله ابزار hdparm
  • آموزش نحوه برنامه نویسی ++C در لینوکس
  • نصب Gxine
  • Makefile چيست؟
  • کار با کلیدهای امنیتی GPG
  • روشهای مختلف نصب برنامه در لینوکس
  • رفع مشکل راست به چپ در openoffice 2.0 نرم افزار calc.

فایلهای برتر
  • ترجمه نرم افزار moodle به فارسی (51)
  • روشهای مختلف نصب برنامه در لینوکس (47)
  • فصل اول کلاس سی پلاس پلاس (43)
  • مقاله نصب لینوکس توزیع فدورا (36)
  • فارسی نویسی در محیط Gnome (34)
  • فارسی نویسی در محیط KDE (30)
  • فصل اول کلاس سی پلاس پلاس (18)
  • کار با کلیدهای امنیتی GPG (16)
  • Makefile چيست؟ (14)


شناسه کاربری:

واژه رمز:

واژه رمز را فراموش کرده اید؟

عضو شوید

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

موضوعات اخیر
Topic | Replies | Last Post
معذرت | 0 | 19:04 Friday 7 October 2005 m_pahlevanzadeh
best assembler | 2 | 18:29 Friday 7 October 2005 m_pahlevanzadeh
live cd برای development | 2 | 18:14 Friday 7 October 2005 m_pahlevanzadeh
DocBook & WYSIWYG | 2 | 18:05 Friday 7 October 2005 m_pahlevanzadeh
کلامی با مدیران سایت | 7 | 11:11 Tuesday 4 October 2005 hosseini
lotfan be man komak konid | 1 | 9:08 Monday 3 October 2005 hosseini
شروع | 2 | 11:00 Sunday 25 September 2005 hosseini
جایگزینی برای jreport | 0 | 17:54 Wednesday 21 September 2005 MOHAMMAD
rigi commang | 3 | 19:00 Sunday 11 September 2005 m_pahlevanzadeh
rigi | 3 | 18:47 Friday 9 September 2005 m_pahlevanzadeh
ماژول Math در پیتون | 3 | 20:08 Sunday 4 September 2005 navidjoon
وعده ها در حال اجراست...... | 6 | 18:50 Sunday 4 September 2005 hosseini
moshkele grub | 5 | 10:56 Sunday 4 September 2005 مهمان
به دنبال سابجکت! | 1 | 1:02 Wednesday 31 August 2005 m_pahlevanzadeh
ترجمه‌ی تاریخچه‌ي دبیان | 18 | 15:19 Tuesday 30 August 2005 مهمان
کار جالبی نیست .!!!! | 8 | 8:59 Tuesday 30 August 2005 m_pahlevanzadeh
درباره freepascal | 6 | 0:53 Monday 29 August 2005 m_pahlevanzadeh
چرا Perl? | 0 | 22:55 Saturday 27 August 2005 m_pahlevanzadeh
netbios | 1 | 21:20 Saturday 27 August 2005 m_pahlevanzadeh
سایت بی سروصدا ...! | 2 | 14:48 Thursday 25 August 2005 mohamo_82
Visit Forums

کار با کلیدهای امنیتی GPG
Posted on Tue 31 May 2005 (156 reads)
تا به حال خواستین متن یا هر فایل شخصی خودتون رو کد گذاری کنید که توسط افراد دیگری حتی قابل خواندن هم نباشد.
برای این کار ابزار خوبی به نام GPG یا GNU Privacy Guard در لینوکس وجود دارد (نا گفته نماند که این ابزار برای ویندوز هم تولید شده است). شما بوسیله ابزار قادر خواهید بود کلیه فایلها و حتی ایمیل ارسالی خود را کد گذاری کنید.
حال ما در اینجا آشنایی مختصری با این ابزار خواهیم داشت.

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

تولید کلید امنیتی
با وارد کردن دستور زیر شما می توانید اقدام به تولید یک کلید شخصی نمایید.
gpg --gen-key
بعد از اجرای دستور بالا، سیستم سئوالاتی از شما می پرسد که یک به یک به آنها باید پاسخ دهید.
نوع کلیدی که شما می خواهید ساخته شود؟ که بهتر است حالت پیشفرض را انتخاب کنید.
حجم و اندازه کلیدی که شما می خواهید بسازید؟ گزینه ۱۰۲۴ یک گزینه خوب برای این سئوال می باشد.
تعیین مدت زمان اعتبار کلید شما؟ در حالت پیشفرض کلید شما هیچ گاه از بین نمی رود.
در مرحله بعدی نام واقعی شما توسط سیستم درخواست می شود. که حداقل باید ۵ کاراکتر طول داشته باشد.
سیستم ایمیل شما را درخواست می کند.
در صورتی که بخواهید نکته خاصی را در کلید امنیتی خود وارد کنید می توانید در این مرحله آن نکته را وارد نمایید.
در این مرحله کار ورود اطلاعات به پایان رسیده است و اگر شما بخواهید تغییری در اطلاعات خود وارد نمایید می توانید از گزینه هایی که در اختیار شما قرار گرفته استفاده و آنها را ویرایش نمایید. در غیر این صورت با زدن دکمه O می توانید وارد مرحله بعد شوید.
در مرحله بعد شما باید برای کلید امنیتی خود یک گذرواژه تعیین نمایید. این مرحله در واقع پایان کار تولید کلید امنیتی می باشد اکنون شما یک کلید امنیتی دارید.

نمایش کلیدهای امنیتی
پس از اینکه شما کلید امنیتی را ساختید. برای اینکه مطمئن شوید که واقعا این کار انجام شده است یا نه می توانید به کمک لیست کردن کلیدهای امنیتی داخل سیستم خود به این واقعیت پی ببرید.
$ gpg --list-keys
شاید خروجی شما چیزی شبیه خروجی دستگاه من شود.

[root@apache ~]# gpg --list-key
/root/.gnupg/pubring.gpg
------------------------
pub 1024D/C0044DD9 2005-05-31 hosseini <hosseini@iossd.org>
sub 1024g/5842C78A 2005-05-31
اگر دقت کنید، خواهید دید که در ابتدای هر سطر در کلمه PUB یا SUB را می بینید.
این کلمات نشان دهنده کلید امنیتی Primary یا subordinate هستند. در سیستم من یک کلید امنیتی با نام حسینی وجود دارد که کلید اصلی سیستم من می باشد.
پس از اینکه از وجود کلید امنیتی خود مطمئن شدید، می بایست برویم سراغ کد گذاری بر روی فایل مورد نظر خود.

کدگذاری بر روی فایلها:
برای کد گذاری بر روی یک فایل کافیست از دستور زیر استفاده نمایید.
gpg --encrypt --recipient hosseini foo.txt
یا
gpg -e -r hosseini foo.txt

در پایان اجرای این دستور فایل اصلی شما سر جای خود قرار دارد و تنها یک کپی از آن توسط ابزار GPG کدگذاری شده است. فایل جدید شما دارای پسوند gpg. می باشد.

رمز گشایی فایلهای GPG
پس از اینکه یک فایل را رمز گذاری نمودید، حال نوبت به آن می رسد که حال همان فایل را رمزگشایی کنید. شما می توانید توسط دستور زیر فایل خود را رمزگشایی نمایید:
gpg --output foo.txt --decrypt foo.txt.gpg
در صورتی که شما دارای کد امنیتی خاص این فایل باشید و همچنین کلمه عبور آنرا در اختیار داشته باشید می توانید این فایل را رمزگشایی نمایید.

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

$ gpg --import /tmp/reza.gpg
نتیجه:
gpg: key E78DAE88: public key imported
gpg: Total number processed: 1
gpg: imported: 1

دستور بالا کلید امنیتی دوستمان را از مسیر مشخص شده برداشته و وارد سیستم کدگذاری دستگاه ما می کند.
اکنون اگر از سیستم رمزگذاری دستگاه خود لیستی بگیریم می بینیم که کلید امنیتی دوستمان نیز به کلید امنیتی ما اضافه شده است.
$ gpg --list-keys
نتیجه:
/root/.gnupg/pubring.gpg
------------------------------
pub 1024D/C0044DD9 2005-05-31 hosseini <hosseini@iossd.org>
sub 1024g/5842C78A 2005-05-31

pub 1024D/E78DAE88 2003-02-11 reza <reza@iossd.org>
sub 1024g/0CF774C4 2003-02-11

خروج کلید امنیتی
برای خارج کردن کلید امنیتی می توانید از دستور زیر استفاده نمایید:
$ gpg --output /root/hosseini.gpg --export hosseini@iossd.org
یا
$ gpg --armor --export ljohn > ljohn.gpg.asc

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

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.0.7 (OpenBSD)

mQGiBD5H/vURBACHhxmStFpXFLgIZU3PrLDbso6puxn8onDVcARojwKd3J1PdffG
S3XzQDcReNbvQ8XgU210tX69SoUaGihfnRz/7I9YlpPwzBp1CmzWVp7qkk+mjQaC
GhxJ1YOEnykWjyJQunSDwmoLWCiI7HZpXJHZjVfbvv5x2xVYyMbEsKtK5wCg8J0K
9QNs4y7F17+liuqhGhjy7esD/jQYKkGsHaWgnrHhI8kLpCgSx65FY2dd8UJMAGZZ
YFPyWwuAwUeonNEHD/I7T6ajhpFzu5sFAYdQNdcu0MjSBf/VNOiPqQbtKWn7OvPw
tpX0y7sDSDfhQa0c7O1iAV5O/gSWoV1i9LdxGbsOGlQNovIqbOvvVsiS7dK6brhC
ieZ6A/9PwTaVlEsjR7GDC94HKPs9b84rQ/4boNA58GyY7aHmdIF6B8s7aiNruXNL
nVQ47dhtxDqhqtEU4CAnfMxiW9z8Ef4CRMDZIbNX16Q4byn3IJzbrDT9Fhq3kUw4
I/I0uiZMN3X6gPuq65dGiGXq9J8lN2AIYpZ+D3cvoBXMV6GEG7QgTGl0dGxlIEpv
aG4gPGxqb2huQHNoZXJ3b29kLm5ldD6IWQQTEQIAGQUCPkf+9QQLBwMCAxUCAwMW
AgECHgECF4AACgkQHnUc+lVwnqsj1wCfbOCuG+LqnWEvUwJwFteU3kIAItoAoMf8
VtZDfBP2l5k+C7iMNJhfp6ziuQENBD5H/wcQBACt6sWIxnhPboYtEItNbHNzvijU
qXIF+EK+KIaiIOAoikPH2fYdL6c4nGINmddGtkrGAHec0uvZC7zdJG1TLp6uUQ7a
6+AxHuw0FIDgJqG3kLHucOstJ0hZe//nFd16B/Ag+H9mT7Hr+ZpAX7sfytpNb/Dr
53rZAfG6hC+DvWJxVwADBQP/Zrl8rInc/9YtNIeU/vefiV6KHBBbltM69IrNmVGp
AXtfWwtDYIArU5P+7KEhH8bYOdePirXa044SYmMr1Afq2vX0ooUdpyG3sV2u7/w0
6MieoOUCQ7kdZZMVcsLjcBxGBi1xxsIuODi/vw/P/xWVMsv/CaUxwuKlHPTLT+J5
UtCIRgQYEQIABgUCPkf/BwAKCRAedRz6VXCeq6rmAJ9hk3qdVzjEg/uN6wQeU9Bj
FnamqgCgpuLMZIUiUkMHpK0IpCrjfmyXebc=
=EHgv
-----END PGP PUBLIC KEY BLOCK-----

ویرایش کلید های امنیتی
برای ویرایش کلید امنیتی که در حال استفاده از می باشید باید از دستور زیر استفاده کنید:
$ gpg --no-greeting --edit-key C0044DD9
خروجی شما چنین خواهد بود:
Secret key is available.

pub 1024D/C0044DD9 created: 2005-05-31 expires: never trust: u/u
sub 1024g/5842C78A created: 2005-05-31 expires: never
(1). Hosseini <hosseini@iossd.org>

Command>
بعد از نمایش کلید های امنیتی موجود در سیستم، شما وارد یک محیط کامندی می شود که منتظر ورود دستور شما می باشد.

معرفی کلید های امنیتی دیگر بعنوان کلیدهای معتبر
برای معرفی کردن یک کلید امنیتی که توسط شما وارد سیستم امنیتی شده است بعنوان یک کلید مطمئن و معتبر می بایست آن کلید را ویرایش نماییم. پس می بایست از دستور ویرایش کلید به صورت زیر استفاده نماییم.

$ gpg --no-greeting --edit-key C0044DD9

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

trust: A/B
حرف کلیدی A در صورتی در مقابل دستور trust قرار می گیرد که بخواهیم این کلید صاحب اصلی کلید باشد. و در صورتی که بخواهیم غیر از این حالت را برای کلید انتصاب کنیم از کلیدهای زیر به ازای حرف B استفاده می نماییم:

- No ownertrust assigned / not yet calculated
e Trust calculation has failed; probably due to an expired key
q Not enough information for calculation (unknown)
n Never trust this key
m Marginally trusted
f Fully trusted
u Ultimately trusted

نویسنده: سید علی حسینی
پست الکترونیکی: hosseini@iossd.org
تاریخ: ۱۶/۰۳/۸۴
نسخه: ۰.۱۴
مطالب بعدی این مقاله:
کدگذاری بر روی ایمیل
نمایش محیط گرافیکی
معرفی لینک دریافت ابراز کدگذاری

تاریخ ویرایش نسخه بعدی مقاله: ۲۱/۰۳/۸۴
سورس مقاله
نسخه pdf
Index :: Print :: E-mail
بی شک دیدگاه هر کس نشانه تفکر اوست , ما در برابر نظر دیگران مسئول نیستیم
فرستنده شاخه
کاربران حاضر
2 کاربر آن لاين است (1 کاربر در حال دیدن سایت مقالات)

عضو: 0
مهمان: 2

ادامه...

کاربران برتر
1 | hosseini | 289
2 | m_pahlevanzadeh | 189
3 | sh_roohani | 180
4 | mohamo_82 | 88
5 | rahimi_m | 47
6 | mehran | 43
7 | joker | 40
8 | Darioush | 32
9 | wekde | 29
10 | arashbi | 28

آخرین مقالات
  • محل جاري مكان نما در C(درس ۳)
  • فارسی نویسی در محیط Gnome
  • فارسی نویسی در محیط KDE
  • آموزش نصب لینوکس (فدورا)
  • اضافه کردن یک هارد دیسک جدید به لینوکس
  • ساختار یک برنامه C(درس ۲)
  • پیش از نصب و راه اندازی PHP(درس ۲)
  • گشتی میان یازده توزیع لینوکس
  • کار با سامبا، سرویس دهی بین لینوکس و ویندوز(۲)
  • کار با سامبا، سرویس دهی بین لینوکس و ویندوز(۱)
  • زبان PHP(درس ۱)
  • مقدمات زبان C
  • رمزنگاری
  • افزایش بازدهی هارد دیسک بوسیله ابزار hdparm
  • آموزش نحوه برنامه نویسی ++C در لینوکس
  • نصب Gxine
  • Makefile چيست؟
  • کار با کلیدهای امنیتی GPG
  • روشهای مختلف نصب برنامه در لینوکس
  • رفع مشکل راست به چپ در openoffice 2.0 نرم افزار calc.

فایلهای برتر
  • ترجمه نرم افزار moodle به فارسی (51)
  • روشهای مختلف نصب برنامه در لینوکس (47)
  • فصل اول کلاس سی پلاس پلاس (43)
  • مقاله نصب لینوکس توزیع فدورا (36)
  • فارسی نویسی در محیط Gnome (34)
  • فارسی نویسی در محیط KDE (30)
  • فصل اول کلاس سی پلاس پلاس (18)
  • کار با کلیدهای امنیتی GPG (16)


شناسه کاربری:

واژه رمز:

واژه رمز را فراموش کرده اید؟

عضو شوید

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

موضوعات اخیر
Topic | Replies | Last Post
معذرت | 0 | 19:04 Friday 7 October 2005 m_pahlevanzadeh
best assembler | 2 | 18:29 Friday 7 October 2005 m_pahlevanzadeh
live cd برای development | 2 | 18:14 Friday 7 October 2005 m_pahlevanzadeh
DocBook & WYSIWYG | 2 | 18:05 Friday 7 October 2005 m_pahlevanzadeh
کلامی با مدیران سایت | 7 | 11:11 Tuesday 4 October 2005 hosseini
lotfan be man komak konid | 1 | 9:08 Monday 3 October 2005 hosseini
شروع | 2 | 11:00 Sunday 25 September 2005 hosseini
جایگزینی برای jreport | 0 | 17:54 Wednesday 21 September 2005 MOHAMMAD
rigi commang | 3 | 19:00 Sunday 11 September 2005 m_pahlevanzadeh
rigi | 3 | 18:47 Friday 9 September 2005 m_pahlevanzadeh
ماژول Math در پیتون | 3 | 20:08 Sunday 4 September 2005 navidjoon
وعده ها در حال اجراست...... | 6 | 18:50 Sunday 4 September 2005 hosseini
moshkele grub | 5 | 10:56 Sunday 4 September 2005 مهمان
به دنبال سابجکت! | 1 | 1:02 Wednesday 31 August 2005 m_pahlevanzadeh
ترجمه‌ی تاریخچه‌ي دبیان | 18 | 15:19 Tuesday 30 August 2005 مهمان
کار جالبی نیست .!!!! | 8 | 8:59 Tuesday 30 August 2005 m_pahlevanzadeh
درباره freepascal | 6 | 0:53 Monday 29 August 2005 m_pahlevanzadeh
چرا Perl? | 0 | 22:55 Saturday 27 August 2005 m_pahlevanzadeh
netbios | 1 | 21:20 Saturday 27 August 2005 m_pahlevanzadeh
سایت بی سروصدا ...! | 2 | 14:48 Thursday 25 August 2005 mohamo_82
Visit Forums

Makefile چيست؟
Posted on Thu 02 Jun 2005 (189 reads)
مي دانيد كه تنها زبان قابل درك براي كامپيوترها زباني است معروف Machine Code يا زبان ماشين كه از رشته پيوسته اي از اعداد تشكيل شده است. اگر يك فايل اجرايي باينري را در يك ويرايشگر هگز باز كنيد، اين رشته اعداد را معمولا مي توانيد به صورت اعداد دو رقمي پشت سر هم در مبناي 16 ببينيد. اما برنامه نوشتن به اين زبان براي انسان تقريبا كشنده است! فقط تصور كنيد چند سال ممكن است طول بكشد تا يك تيم حرفه اي از برنامه نويسان، نرم افزاري در حد و اندازه OpenOffice.org را مستقيما به زبان ماشين بنويسند. تازه اگر اصلا چنين كاري ممكن باشد، اصلا منطقي نيست. چراكه به احتمال قريب به يقين در آخر به خوبي OpenOffice.org فعلي از كار در نخواهد آمد! پس چاره چيست؟
برنامه نويسان از زبانهايي استفاده مي كنند كه، نسبت به زبان ماشين، به زبان انساني بسيار نزديك تر هستند و به ويژه برخي از آنها با توجه به فلسفه ساختشان براي پيشبرد پروژه هاي نرم افزاري بزرگ خيلي مناسب هستند. به اينگونه زبانها اصطلاحا زبانهاي سطح بالا مي گوييم. اما حالا مشكل ديگري پيش مي آيد. كامپيوترها اينگونه زبانها را درك نمي كنند.

كامپايلر
كامپايلرها وظيفه تبديل زبانهاي سطح بالا و قابل درك براي انسان را به سطح پايين ترين زبان، يعني زبان ماشين به عهدا دارند.
معمولا (تقريبا هميشه!) پروژه هاي نرم افزاري از بيش از يك فايل تشكيل شده اند كه هر كدام بخشي از متن برنامه يا Source Code را در بر دارد. شما بايد ابتدا هر فايل نوشته شده را جداگانه به وسيله كامپايلر به زبان ماشين تبديل كنيد. اصطلاحا به فايلهايي كه در اين مرحله توليد مي شود، فايل Object مي گويند. محتواي لين فايلها به زبان ماشين است، اما هنوز قابل اجرا توسط كامپيوتر نيستند! چرا؟ چون هر كدام از آن فايلها يا وابستگيهايي در فايلهاي ديگر دارند كه در اين وضعيت براي سيستم غير قابل تشخيص است، يا اساسا به تنهايي مفهومي ندارند كه قابل اجرا باشند.مثلا ممكن است يكي از آنها حاوي مجموعه اي از دستورات (اصطلاحا تابع) باشد كه روي ورودي خود پردازش خاصي انجام مي دهند و نتيجه را برمي گردانند. اما اين توابع زماني مفيد هستند كه از جايي فراخواني شوند و احتمالا فراخواني تابع مورد نظر ما هم از داخل يكي از فايلهاي Object ديگر صورت مي گيرد.
در اينجاست كه شما بايد با كمك لينكر آن فايلهاي Object را به ترتيب مناسب به هم پيوند دهيد تا در نهايت به يك فايل اجرايي دست پيدا كنيد.

يك مثال عملي
فرض كنيد برنامه اي به زبان C در يك فايل به نام main.c نوشته ايد و حالا مي خواهيد آن را به فايل قابل اجرا توسط كامپيوتر تبديل كنيد. اين كار به سادگي و در دو خط دستور (كه مي شود آنها را در يك خط هم خلاصه كرد) قابل اجرا است:
$ gcc -c main.c
$ gcc -o main main.o
دستور اول از فايل C به نام main.c يك فايل Object به نام main.o مي سازد و دستور دوم نيز از فايلmain.o يك فايل اجرايي به نام main مي سازد كه حالا ديگر مي توانيد آن را اجرا كنيد.
اما حالا فرض كنيد كه فايل main.c وابستگيهايي هم به دو فايل ديگر به نامهاي dep.c و dep.h داشته باشد:
$ gcc -c main.c
$ gcc -c dep.c
$ gcc -o main main.o dep.o
مي بينيد كه يك مرحله به مراحل كامپايل برنامه اضافه شد.
حالا فرض كنيد كه به جاي يك فايل يا سه فايل، اين پروژه از دهها و صدها فايل تشكيل شده باشد. چند ساعت بايد وقت صرف كنيد تا پروژه را كامپايل كنيد، تازه اگر همه چيز به خوبي پيش برود؟
به همه اينها اضافه كنيد گزينه هاي خط دستور كامپايلر را كه گاهي كار كامپايل از خط دستور را به فرايندي بسيار پيچيده تبديل مي كنند.
حالا هربار كه تغييراتي دربرنامه بدهيد، بايد همه كارها را از اول انجام دهيد. يا به اندازه كافي فصفر بسوزانيد و به خاطر داشته باشد كه هر بار در كدام فايلها تغيير داده ايد تا فقط آنها را كامپايل كنيد و كمي وقت كمتري صرف كنيد! آيا راه بهتري نيست؟

Makefile
چقدر خوب مي شد اگر مي توانستيد همه اين دستورات كامپايل را فقط يك بار تايپ كنيد. خبر خوب! مي توانيد همه اين دستورات را در فايل كه به Makefile معروف است قرار دهيد و برنامه اي به نام make را اجرا كنيد تا آن برنامه خودش از روي Makefile برايتان بقيه كارها را انجام دهد و خروجي نهايي قابل اجرا را بسازد.
پس Makefile مجموعه دستورات لازم براي كامپايل يك پروژه نرم افزاري است كه در قالبي خاص در يك فايل متني ذخيره شده است.
به خصوص اگر شما برنامه نويس نباشيد، برايتان قابل توجه خواهد بود كه مجبور نيستيد هربار اينهمه دستورات عجيب و غريب را تايپ كنيد و تنها با تايپ دستور make زندگي برايتان آسان مي شود.

make
همانطور كه اشاره شد، make برنامه اي است كه از روي Makefile كار كامپايل پروژه را انجام مي دهد. در كل دو مزيت عمده مي توان براي make در نظر گرفت:
1.همانطور كه قبلا هم گفتم با استفاده از Makefile كارهاي سخت (نوشتن دستورات پيچيده كامپايل) فقط يكبار انجام مي شود.
2.make از روي برچسب زماني فايلهاي سورس و Object تشخيص مي دهد كه كداميك از فايلها نياز به دوباره كامپايل شدن دارند و به اين ترتيب از كامپايل مجدد و غير ضروري فايلهايي كه از زمان آخرين كامپايل تغييري نكرده اند، جلوگيري مي شود. چراكه فرايندكامپايل به ويژه در كامپيوترهاي قديمي و با پروژه هاي بزرگ كاري بسيار وقت گير است.

make بعد از فراخواني به ترتيب دنبال يك فايل با يكي از نامهاي GNUmakefile، makefile يا Makefile مي گردد تا دستورات كامپايل را از داخل آن خوانده و اجرا كند.

نویسنده: شهرام روحانی
پست الکترونیکی: sh_roohani@yahoo.com
تاریخ: ۱۱/۰۳/۸۴
نسخه: ۰.۰۱

سورس مقاله
نسخه pdf
Index :: Print :: E-mail
بی شک دیدگاه هر کس نشانه تفکر اوست , ما در برابر نظر دیگران مسئول نیستیم
فرستنده شاخه
کاربران حاضر
2 کاربر آن لاين است (1 کاربر در حال دیدن سایت مقالات)

عضو: 0
مهمان: 2

ادامه...

کاربران برتر
1 | hosseini | 289
2 | m_pahlevanzadeh | 189
3 | sh_roohani | 180
4 | mohamo_82 | 88
5 | rahimi_m | 47
6 | mehran | 43
7 | joker | 40
8 | Darioush | 32
9 | wekde | 29
10 | arashbi | 28

آخرین مقالات
  • محل جاري مكان نما در C(درس ۳)
  • فارسی نویسی در محیط Gnome
  • فارسی نویسی در محیط KDE
  • آموزش نصب لینوکس (فدورا)
  • اضافه کردن یک هارد دیسک جدید به لینوکس
  • ساختار یک برنامه C(درس ۲)
  • پیش از نصب و راه اندازی PHP(درس ۲)
  • گشتی میان یازده توزیع لینوکس
  • کار با سامبا، سرویس دهی بین لینوکس و ویندوز(۲)
  • کار با سامبا، سرویس دهی بین لینوکس و ویندوز(۱)
  • زبان PHP(درس ۱)
  • مقدمات زبان C
  • رمزنگاری
  • افزایش بازدهی هارد دیسک بوسیله ابزار hdparm
  • آموزش نحوه برنامه نویسی ++C در لینوکس
  • نصب Gxine
  • Makefile چيست؟
  • کار با کلیدهای امنیتی GPG
  • روشهای مختلف نصب برنامه در لینوکس
  • رفع مشکل راست به چپ در openoffice 2.0 نرم افزار calc.

فایلهای برتر
  • ترجمه نرم افزار moodle به فارسی (51)
  • روشهای مختلف نصب برنامه در لینوکس (47)
  • فصل اول کلاس سی پلاس پلاس (43)
  • مقاله نصب لینوکس توزیع فدورا (36)
  • فارسی نویسی در محیط Gnome (34)
  • فارسی نویسی در محیط KDE (30)
  • فصل اول کلاس سی پلاس پلاس (18)
  • کار با کلیدهای امنیتی GPG (16)


شناسه کاربری:

واژه رمز:

واژه رمز را فراموش کرده اید؟

عضو شوید

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

موضوعات اخیر
Topic | Replies | Last Post
معذرت | 0 | 19:04 Friday 7 October 2005 m_pahlevanzadeh
best assembler | 2 | 18:29 Friday 7 October 2005 m_pahlevanzadeh
live cd برای development | 2 | 18:14 Friday 7 October 2005 m_pahlevanzadeh
DocBook & WYSIWYG | 2 | 18:05 Friday 7 October 2005 m_pahlevanzadeh
کلامی با مدیران سایت | 7 | 11:11 Tuesday 4 October 2005 hosseini
lotfan be man komak konid | 1 | 9:08 Monday 3 October 2005 hosseini
شروع | 2 | 11:00 Sunday 25 September 2005 hosseini
جایگزینی برای jreport | 0 | 17:54 Wednesday 21 September 2005 MOHAMMAD
rigi commang | 3 | 19:00 Sunday 11 September 2005 m_pahlevanzadeh
rigi | 3 | 18:47 Friday 9 September 2005 m_pahlevanzadeh
ماژول Math در پیتون | 3 | 20:08 Sunday 4 September 2005 navidjoon
وعده ها در حال اجراست...... | 6 | 18:50 Sunday 4 September 2005 hosseini
moshkele grub | 5 | 10:56 Sunday 4 September 2005 مهمان
به دنبال سابجکت! | 1 | 1:02 Wednesday 31 August 2005 m_pahlevanzadeh
ترجمه‌ی تاریخچه‌ي دبیان | 18 | 15:19 Tuesday 30 August 2005 مهمان
کار جالبی نیست .!!!! | 8 | 8:59 Tuesday 30 August 2005 m_pahlevanzadeh
درباره freepascal | 6 | 0:53 Monday 29 August 2005 m_pahlevanzadeh
چرا Perl? | 0 | 22:55 Saturday 27 August 2005 m_pahlevanzadeh
netbios | 1 | 21:20 Saturday 27 August 2005 m_pahlevanzadeh
سایت بی سروصدا ...! | 2 | 14:48 Thursday 25 August 2005 mohamo_82
Visit Forums

نصب Gxine
Posted on Wed 15 Jun 2005 (141 reads)
نصب Gxine

ابتدا برای نصب gxine شما باید فایلهای نصبی آنرا در اختیار داشته باشید. برای اینکار شما میتوانید فایلهای مورد نیاز را از اینترنت دریافت کنید. یکی از این سایتها rpm.pbone.net میباشد. شما بر اساس نوع لینوکسی که دارید میتوانید gxine و فایلهای همراه آن را دریافت کنید.
مراحل نصبی که در زیر گفته میشود مربوط به لینوکس فدورا۳ میباشد.
فایل اصلی برای نصب gxine فایل gxine-0.3.3-3.1.fc3.i386.rpm میباشدکه با دستور rpm در خط فرمان نصب میشود.
rpm -ivh gxine-0.3.3-3.1.fc3.i386.rpm
بعد اجرای دستور مقابل دو حالت ممکن است پیش بیاید.
حالت اول : این برنامه بدون هیچ مشکلی نصب میشود و فقط کافی است تا شما در خط فرمان دستور gxine را اجرا کنید یا ازمنوی اصلی درقسمت مالتی مدیا روی آیکون gxine کلیک کنید.
حالت دوم : دومین حالتی که ممکن است پیش آید این است که پیغام هایی مبنی بر اینکه برای نصب gxine فایل هایی باید نصب شوند که این فایلها عموما با پسوند lib. میباشند.به ترتیب فایلهای مورد نیاز را از اینترنت دریافت کرده و نصب کنید. بعد از اتمام نصب فایلهای پیش نیاز میتوانید فایل اصلی gxine را نصب کنید.
شما میتوانید کلیه فایلهای مورد نیاز به همراه لایبراریهای gxine برای نصب در فدورا۳ را از این سایت دریافت کنید.

نرم افزار و کلیه بسته های مورد نیاز

نویسنده: عیسی باباپور
پست الکترونیکی: babapour@farsilinux.org
تاریخ: ۲۴/۰۳/۸۴
نسخه: ۱.۰۰

سورس مقاله
نسخه pdf
Index :: Print :: E-mail
بی شک دیدگاه هر کس نشانه تفکر اوست , ما در برابر نظر دیگران مسئول نیستیم
فرستنده شاخه
کاربران حاضر
2 کاربر آن لاين است (1 کاربر در حال دیدن سایت مقالات)

عضو: 0
مهمان: 2

ادامه...

کاربران برتر
1 | hosseini | 289
2 | m_pahlevanzadeh | 189
3 | sh_roohani | 180
4 | mohamo_82 | 88
5 | rahimi_m | 47
6 | mehran | 43
7 | joker | 40
8 | Darioush | 32
9 | wekde | 29
10 | arashbi | 28

آخرین مقالات
  • محل جاري مكان نما در C(درس ۳)
  • فارسی نویسی در محیط Gnome
  • فارسی نویسی در محیط KDE
  • آموزش نصب لینوکس (فدورا)
  • اضافه کردن یک هارد دیسک جدید به لینوکس
  • ساختار یک برنامه C(درس ۲)
  • پیش از نصب و راه اندازی PHP(درس ۲)
  • گشتی میان یازده توزیع لینوکس
  • کار با سامبا، سرویس دهی بین لینوکس و ویندوز(۲)
  • کار با سامبا، سرویس دهی بین لینوکس و ویندوز(۱)
  • زبان PHP(درس ۱)
  • مقدمات زبان C
  • رمزنگاری
  • افزایش بازدهی هارد دیسک بوسیله ابزار hdparm
  • آموزش نحوه برنامه نویسی ++C در لینوکس
  • نصب Gxine
  • Makefile چيست؟
  • کار با کلیدهای امنیتی GPG
  • روشهای مختلف نصب برنامه در لینوکس
  • رفع مشکل راست به چپ در openoffice 2.0 نرم افزار calc.

فایلهای برتر
  • ترجمه نرم افزار moodle به فارسی (51)
  • روشهای مختلف نصب برنامه در لینوکس (47)
  • فصل اول کلاس سی پلاس پلاس (43)
  • مقاله نصب لینوکس توزیع فدورا (36)
  • فارسی نویسی در محیط Gnome (34)
  • فارسی نویسی در محیط KDE (30)
  • فصل اول کلاس سی پلاس پلاس (18)
  • کار با کلیدهای امنیتی GPG (16)


شناسه کاربری:

واژه رمز:

واژه رمز را فراموش کرده اید؟

عضو شوید

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

موضوعات اخیر
Topic | Replies | Last Post
معذرت | 0 | 19:04 Friday 7 October 2005 m_pahlevanzadeh
best assembler | 2 | 18:29 Friday 7 October 2005 m_pahlevanzadeh
live cd برای development | 2 | 18:14 Friday 7 October 2005 m_pahlevanzadeh
DocBook & WYSIWYG | 2 | 18:05 Friday 7 October 2005 m_pahlevanzadeh
کلامی با مدیران سایت | 7 | 11:11 Tuesday 4 October 2005 hosseini
lotfan be man komak konid | 1 | 9:08 Monday 3 October 2005 hosseini
شروع | 2 | 11:00 Sunday 25 September 2005 hosseini
جایگزینی برای jreport | 0 | 17:54 Wednesday 21 September 2005 MOHAMMAD
rigi commang | 3 | 19:00 Sunday 11 September 2005 m_pahlevanzadeh
rigi | 3 | 18:47 Friday 9 September 2005 m_pahlevanzadeh
ماژول Math در پیتون | 3 | 20:08 Sunday 4 September 2005 navidjoon
وعده ها در حال اجراست...... | 6 | 18:50 Sunday 4 September 2005 hosseini
moshkele grub | 5 | 10:56 Sunday 4 September 2005 مهمان
به دنبال سابجکت! | 1 | 1:02 Wednesday 31 August 2005 m_pahlevanzadeh
ترجمه‌ی تاریخچه‌ي دبیان | 18 | 15:19 Tuesday 30 August 2005 مهمان
کار جالبی نیست .!!!! | 8 | 8:59 Tuesday 30 August 2005 m_pahlevanzadeh
درباره freepascal | 6 | 0:53 Monday 29 August 2005 m_pahlevanzadeh
چرا Perl? | 0 | 22:55 Saturday 27 August 2005 m_pahlevanzadeh
netbios | 1 | 21:20 Saturday 27 August 2005 m_pahlevanzadeh
سایت بی سروصدا ...! | 2 | 14:48 Thursday 25 August 2005 mohamo_82
Visit Forums

آموزش نحوه برنامه نویسی ++C در لینوکس
Posted on Thu 23 Jun 2005 (289 reads)
برای برنامه نویسی ++C در لینوکس کافی است شما اطلاعاتی در مورد برنامه نویسی را داشته باشید.
برای نوشتن یک برنامه ++C ابتدا یک ادیتور مثل vim یا kate را باز کنید و یک برنامه خیلی ساده مثل برنامه خوش آمد گویی را تایپ کنید. مثال زیر یک برنامه بسیار ساده می باشد
#include < iostream.h >
int main()
{
cout << “welcome to c++\n”;
returne 0;
}
سپس این برنامه را با یک نام دلخواه و با پسوند cpp ذخیره کرده و از محیط ادیتور خارج شوید.
مرحله کد نویسی تمام شده حالا باید برنامه نوشته شده را کامپایل و اجرا کنید. برای این کار یک کنسول یا ترمینال باز کنید. برای کامپایل کردن برنامه از دستور ++g استفاده می کنیم.
g++ -o t2 test1.cpp
دستور مقابل از چند ستون تشکیل شده است. ستون اول ++g مربوط به دستور کامپایل کردن می باشد. در ستون دوم سوئیچ o- برای ساختن فایل خروجی یا اجرایی بعد از کامپایل کردن مورد استفاده قرار گرفته است. در ستون سوم t2 اسم فایلی است که بعد از کامپایل کردن ایجاد می شود و یک فایل اجرایی می باشد. و در ستون اخر test1.cpp اسم فایلی است که شما برنامه ++C را در آن ذخیره کرده اید.
بعد از اجرای دستور بالا ابتدا برنامه شما کامپایل شده و سپس یک فایل با اسم t2 ساخته می شود.
نکته: اگر برنامه شما خطا داشته باشد فایلی برای اجرا ساخته نمی شود و در مرحله کامپایل شماره خطهای دارای خطا را نمایش میدهد.
اگر برنامه بدون خطا اجرا شود کامپایل به صورت زیر در کنسول اجرا شده و یک فایل ساخته می شود.
g++ -o t2 test1.cpp
In file included from /usr/lib/gcc/i386-redhat-linux/3.4.2/../../../../include/c++/3.4.2/backward/iostream.h:31,
from test1.cpp:1:
/usr/lib/gcc/i386-redhatg-linux/3.4.2/../../../../include/c++/3.4.2/backward/backward_warning.h:32:2: warning: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the header for the header for C++ includes, or instead of the deprecated header . To disable this warning use -Wno-deprecated.
test1.cpp:6:2: warning: no newline at end of file
حالا می توانید فایل ساخته شده را اجرا کنید و نتیجه کار را ببینید.
./t2
welcome to c++
مشاهده می کنید که بعد اجرای برنامه خود پیغام خوش آمد گویی ++welcome to c را چاپ می کند.

نویسنده: عیسی باباپور
پست الکترونیکی: babapour@farsilinux.org
تاریخ: ۲۸/۰۳/۸۴
نسخه: ۰.۰۱
Index :: Print :: E-mail
بی شک دیدگاه هر کس نشانه تفکر اوست , ما در برابر نظر دیگران مسئول نیستیم
فرستنده | شاخه
Parastoo | فرستاده شده در تاریخ: 12:55 Monday 25 July 2005 به روز شده در تاریخ: 12:55 Monday 25 July 2005
Just popping in عضویت از: 2005/06/13 از: tehran پیام: 3 | Re: آموزش نحوه برنامه نویسی ++C در ... salam maghalatoon jalebe amma baranamton yekam erad dare yani chon to type injorie vali khob movafagh bashid
 | پاسخ
مهمان | فرستاده شده در تاریخ: 19:22 Thursday 7 July 2005 به روز شده در تاریخ: 19:22 Thursday 7 July 2005
 | Re: آموزش نحوه برنامه نویسی ++C در ... IS Good! But you must type this to ENGLISH LAnguage! i'm a programer in linux & window & dos! if you have any job i can do it! very thanks ! SunSoft.Ojvar@Gmail.Com
 | پاسخ
کاربران حاضر
2 کاربر آن لاين است (1 کاربر در حال دیدن سایت مقالات)

عضو: 0
مهمان: 2

ادامه...

کاربران برتر
1 | hosseini | 289
2 | m_pahlevanzadeh | 189
3 | sh_roohani | 180
4 | mohamo_82 | 88
5 | rahimi_m | 47
6 | mehran | 43
7 | joker | 40
8 | Darioush | 32
9 | wekde | 29
10 | arashbi | 28

آخرین مقالات
  • محل جاري مكان نما در C(درس ۳)
  • فارسی نویسی در محیط Gnome
  • فارسی نویسی در محیط KDE
  • آموزش نصب لینوکس (فدورا)
  • اضافه کردن یک هارد دیسک جدید به لینوکس
  • ساختار یک برنامه C(درس ۲)
  • پیش از نصب و راه اندازی PHP(درس ۲)
  • گشتی میان یازده توزیع لینوکس
  • کار با سامبا، سرویس دهی بین لینوکس و ویندوز(۲)
  • کار با سامبا، سرویس دهی بین لینوکس و ویندوز(۱)
  • زبان PHP(درس ۱)
  • مقدمات زبان C
  • رمزنگاری
  • افزایش بازدهی هارد دیسک بوسیله ابزار hdparm
  • آموزش نحوه برنامه نویسی ++C در لینوکس
  • نصب Gxine
  • Makefile چيست؟
  • کار با کلیدهای امنیتی GPG
  • روشهای مختلف نصب برنامه در لینوکس
  • رفع مشکل راست به چپ در openoffice 2.0 نرم افزار calc.

فایلهای برتر
  • ترجمه نرم افزار moodle به فارسی (51)
  • روشهای مختلف نصب برنامه در لینوکس (47)
  • فصل اول کلاس سی پلاس پلاس (43)
  • مقاله نصب لینوکس توزیع فدورا (36)
  • فارسی نویسی در محیط Gnome (34)
  • فارسی نویسی در محیط KDE (30)
  • فصل اول کلاس سی پلاس پلاس (18)
  • کار با کلیدهای امنیتی GPG (16)


شناسه کاربری:

واژه رمز:

واژه رمز را فراموش کرده اید؟

عضو شوید

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

موضوعات اخیر
Topic | Replies | Last Post
معذرت | 0 | 19:04 Friday 7 October 2005 m_pahlevanzadeh
best assembler | 2 | 18:29 Friday 7 October 2005 m_pahlevanzadeh
live cd برای development | 2 | 18:14 Friday 7 October 2005 m_pahlevanzadeh
DocBook & WYSIWYG | 2 | 18:05 Friday 7 October 2005 m_pahlevanzadeh
کلامی با مدیران سایت | 7 | 11:11 Tuesday 4 October 2005 hosseini
lotfan be man komak konid | 1 | 9:08 Monday 3 October 2005 hosseini
شروع | 2 | 11:00 Sunday 25 September 2005 hosseini
جایگزینی برای jreport | 0 | 17:54 Wednesday 21 September 2005 MOHAMMAD
rigi commang | 3 | 19:00 Sunday 11 September 2005 m_pahlevanzadeh
rigi | 3 | 18:47 Friday 9 September 2005 m_pahlevanzadeh
ماژول Math در پیتون | 3 | 20:08 Sunday 4 September 2005 navidjoon
وعده ها در حال اجراست...... | 6 | 18:50 Sunday 4 September 2005 hosseini
moshkele grub | 5 | 10:56 Sunday 4 September 2005 مهمان
به دنبال سابجکت! | 1 | 1:02 Wednesday 31 August 2005 m_pahlevanzadeh
ترجمه‌ی تاریخچه‌ي دبیان | 18 | 15:19 Tuesday 30 August 2005 مهمان
کار جالبی نیست .!!!! | 8 | 8:59 Tuesday 30 August 2005 m_pahlevanzadeh
درباره freepascal | 6 | 0:53 Monday 29 August 2005 m_pahlevanzadeh
چرا Perl? | 0 | 22:55 Saturday 27 August 2005 m_pahlevanzadeh
netbios | 1 | 21:20 Saturday 27 August 2005 m_pahlevanzadeh
سایت بی سروصدا ...! | 2 | 14:48 Thursday 25 August 2005 mohamo_82
Visit Forums

افزایش بازدهی هارد دیسک بوسیله ابزار hdparm
Posted on Thu 23 Jun 2005 (206 reads)
۱. مقدمه
hdparm ابزاری است برای تنظیم و بالا بردن بازدهی هارد دیسکهای IDE و در این مقاله ما میخواهیم روش کار با این ابزار را به صورت ساده و خلاصه بیان کنیم. قبل از کار کردن با این ابزار به یاد داشته باشید که این ابزار میتواند یکی از ابزارهای خطرناک باشد، پس حتما توجه کنید که بدرستی از این دستور استفاده کنید چون ممکن است باعث از بین رفتن اطلاعات رو هارد دیسک شما شود.

۲. گرفتن اطلاعاتی در مورد هارد دیسک
اولین چیزی که برای انجام کاری لازم است در اختیار داشته باشیم، اطلاعاتی در مورد ابزارها و کاری است که میخواهیم انجام دهیم. در این انجام این کار ما به اطلاعاتی نظیر سرعت فراخوانی اطلاعات بوسیله هارد دیسک و یا پروتکلهایی است که هارد دیسک ما از آنها حمایت میکند.
خوب برای اینکه بتوانیم به این اطلاعات دست پیدا کنیم باید از یکسری دستورات کمک بگیریم. دستور زیر را در محیط متنی خود وارد کنید:
hdparm -i /dev/hda

اولین ستون همان دستور و یا ابزار hdparam میباشد که فراخوانی شده است.
دومین ستون یکی از گزینههای این دستور یا ابزار میباشد که برای گرفتن اطلاعات به کار میرود.
سومین ستون نام سخت افزار شما میباشد. همانطور که میدانید نام هارد دیسک با hd شروع می شود.

توجه: اصلا نگران اطلاعات خود در این مرحله نباشید.

خروجی کار شما در این مرحله چیزی شبیه این خواهد بود:
/dev/hdc:
Model=Maxtor 6E040L0, FwRev=NAR61EA0, SerialNo=E1N7ANDE
Config={ Fixed }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=57
BuffType=DualPortCache, BuffSize=2048kB, MaxMultSect=16, MultSect=16
CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=80293248
IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes: pio0 pio1 pio2 pio3 pio4
DMA modes: mdma0 mdma1 mdma2
UDMA modes: udma0 udma1 udma2
AdvancedPM=yes: disabled (255) WriteCache=enabled
Drive conforms to: (null):

توجه: توجه داشته باشید که نام هارد دیسک من hdc بوده است و ممکن است نام هارد دیسک شما از نظر سیستم چیز دیگری باشد.
حالا ممکن است از خود بپرسید آیا این خروجی عجیب و چه اطلاعاتی به من میدهد؟

MaxMultSect: این فیلد نشان دهنده حداکثر سکتورهایی است که هارد شما در یک ثانیه میتواند فراخوانی کند.
MultSect: این گزینه نشان میدهد که هارد شما در حال حاضر قابلیت خواندن چند سکتور دارد.
PIO and DMA modes: مودهای که توسط هارد دیسک شما حمایت میشوند که اگر فعال باشند بوسیله یک ستاره مشخص میشوند.
AdvancedPM: اگر در جلوی آن کلمه yes را مشاهده کردید به این معنی است که هارد دیسک شما از APM یا Advanced Power Management حمایت میکند.

دستور دیگری که بوسیله آن میتونید اطلاعات هارد دیسکتان را بدست آورید در زیر آمده است:
hdparm /dev/hdc
خروجی این دستور اطلاعات زیر را باید به شما باز گرداند:
/dev/hdc:
multcount = 16 (on)
IO_support = 0 (default 16-bit)
unmaskirq = 0 (off)
using_dma = 1 (on)
keepsettings = 0 (off)
readonly = 0 (off)
readahead = 256 (on)
geometry = 65535/16/63, sectors = 41110142976, start = 0
هر خط این خروجی یک اطلاع را به شما ارائه میدهد:
multcount: تعداد سکتورهایی است که در یک زمان خوانده میشوند.
I/O_Suppot: نشان دهنده مدل اجرایی هارد دیسک شما است که بصورت پیشفرض مدل ۱۶بیت را نشان میدهد.
using_dma: این گزینه به ما میگوید که در حال حاضر هارد ما از قابلیت DMA استفاده میکند یا نه.
keepsettings: برای ذخیره کردن تغییرات در روش کار هارد دیسک. بهتر است در ابتدا این گزینه را فعال نسازید.
readonly: در حالت عادی اگر لینوکس سی دی رام شما را شناخته باشد این گزینه روی عدد ۱ ست شده است.
readahead: نمایش قابلیت خواندن سکتورهای جلویی بوسیله هارد دیسک.

توجه: همانطور که میدانید هد هارد دیسک قابلیت حرکت جلو و عقب را در بین سکتورها را دارا میباشد.

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

۳.۱. پشتیبانی از I/O
به غیر از ISA IDE کارتها بقیه PCI/VLB کارتها قابلیت حمایت از مود ۳۲ بیت را دارا میباشند.
شما میتوانید برای تنظیم مودهای خود از دستورات زیر استفاده کنید:
hdparm -c0 //برای ست کردن بر روی ۱۶ بیت
hdparm -c1 //برای ست کردن بر روی ۳۲ بیت
hdparm -c3 //برای ست کردن بر روی ۳۲ حالت سینک شده

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

۳.۲. فعال سازی DMA
برای فعال کردن قابلیت DMA در هارد دیسک خود کافیست دستور زیر را به سادگی وارد نموده و اجرا کنید:
hdparm -d 1 (عدد یک)
پس اجرای این دستور قابلیت DMA در هارد دیسک شما فعال میشود. توجه داشته باشید که هارد دیسک شما باید قابلیت حمایت از این امکان را در خود داشته باشد.

۳.۳. PIO و DMA
شما میتونید هر دو گزینه DMA و PIO را بر روی دستگاه خود ست نمایید و با آنها کار کنید فقط توجه کنید که برخی از حالات ترکیبی اشاره شده فقط در از هارد دیسکها میتواند صورت بگیرد. برای استفاده از حالتهای ترکیبی میبایست از گزینه X- استفاده شود.
حالت ترکیبی mdma یا multiword DMA
این حالت ترکیب شده از دو حالت multiword و DMA میباشد که هر کدام دارای یک کد شناسایی میباشند.
برای استفاده از حالت multiword‌ باید ازکلید X32 استفاده شود و برای استفاده از حالت DMA در حالت ترکیبی از کلید 2 میبایست استفاده نمود.
حال برای استفاده از هر دو حالت به صورت ترکیبی باید از دستور زیر استفاده کنیم:
hdparm -X34 /dev/hda //32+2
حالت PIO و UltraDMA
کار برای این حالت ترکیبی تقریبا مشابه حالت mdma میباشد. فقط با این تفاوت که کلید عددی برای PIO عدد 8 و برای UltraDMA عدد 64 کلید عددی میباشد. و برای حالت ترکیبی این مورد می بایست از حالت udma5 استفاده شود که مجموع آنها ۶۹ میشود. پس برای این کار میبایست از کلید X69 استفاده کنیم.
hdparm -X69 /dev/hda

۳.۴. Readahead
توجه داشته باشید که گزینه readahead با گزینه multcount متفاوت میباشد. و در واقع multcount به معنی توانایی سخت افزار ما برای خواندن سکتورها در یک بازه زمانی یک ثانیه است. در صورتی که readahead تعداد سکتورهای جلویی هد هارد دیسک است که باید بوسیله این سخت افزار خوانده شود.
readahead در اکثر هارد دیسکها به صورت پیشفرض بر روی عدد ۲۵۶ ست شدهاند. که این مقدار وابسته به نوع هارد دیسک شما میباشد.
بهتر است که این مقدار در زمانی که نیاز دارید یک فایل بسیار بزرگ را فراخوانی کنید به مقداری بزرگتر تغییر یابد. برای تغییر این مقدار میتوانید از دستور زیر استفاده کنید:
hdparm -a N /dev/hda
توجه: به جای حرف N مقدار مورد نظر خود را وارد نمایید.

۴. توصیهها
گزینههای بسیار دیگری برای ابزار hdparm وجود دارد که شما میتوانید برای مطالعه آنها به مانوال آنها مراجعه کنید.
تمامی تنظیمات شما به دلیل ست نکردن گزینه keepsettings بعد از راه اندازی مجدد سیستم از بین خواهند رفت و بهتر است برای اینکه این تنظیمات در هنگام بالا آمدن سیستم دوباره انجام شوند، تمامی دستورات خود را در داخل فایل rc.local ذخیره کنید تا در مراجعه بعدی هم این تنظیمات اعمال شوند.

نویسنده: سید علی حسینی
پست الکترونیکی: hosseini@iossd.org
تاریخ: ۰۱/۰۴/۸۴
نسخه: ۰.۰۱
Index :: Print :: E-mail
بی شک دیدگاه هر کس نشانه تفکر اوست , ما در برابر نظر دیگران مسئول نیستیم
فرستنده شاخه
کاربران حاضر
2 کاربر آن لاين است (1 کاربر در حال دیدن سایت مقالات)

عضو: 0
مهمان: 2

ادامه...

کاربران برتر
1 | hosseini | 289
2 | m_pahlevanzadeh | 189
3 | sh_roohani | 180
4 | mohamo_82 | 88
5 | rahimi_m | 47
6 | mehran | 43
7 | joker | 40
8 | Darioush | 32
9 | wekde | 29
10 | arashbi | 28

آخرین مقالات
  • محل جاري مكان نما در C(درس ۳)
  • فارسی نویسی در محیط Gnome
  • فارسی نویسی در محیط KDE
  • آموزش نصب لینوکس (فدورا)
  • اضافه کردن یک هارد دیسک جدید به لینوکس
  • ساختار یک برنامه C(درس ۲)
  • پیش از نصب و راه اندازی PHP(درس ۲)
  • گشتی میان یازده توزیع لینوکس
  • کار با سامبا، سرویس دهی بین لینوکس و ویندوز(۲)
  • کار با سامبا، سرویس دهی بین لینوکس و ویندوز(۱)
  • زبان PHP(درس ۱)
  • مقدمات زبان C
  • رمزنگاری
  • افزایش بازدهی هارد دیسک بوسیله ابزار hdparm
  • آموزش نحوه برنامه نویسی ++C در لینوکس
  • نصب Gxine
  • Makefile چيست؟
  • کار با کلیدهای امنیتی GPG
  • روشهای مختلف نصب برنامه در لینوکس
  • رفع مشکل راست به چپ در openoffice 2.0 نرم افزار calc.

فایلهای برتر
  • ترجمه نرم افزار moodle به فارسی (51)
  • روشهای مختلف نصب برنامه در لینوکس (47)
  • فصل اول کلاس سی پلاس پلاس (43)
  • مقاله نصب لینوکس توزیع فدورا (36)
  • فارسی نویسی در محیط Gnome (34)
  • فارسی نویسی در محیط KDE (30)
  • فصل اول کلاس سی پلاس پلاس (18)
  • کار با کلیدهای امنیتی GPG (16)


شناسه کاربری:

واژه رمز:

واژه رمز را فراموش کرده اید؟

عضو شوید

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

موضوعات اخیر
Topic | Replies | Last Post
معذرت | 0 | 19:04 Friday 7 October 2005 m_pahlevanzadeh
best assembler | 2 | 18:29 Friday 7 October 2005 m_pahlevanzadeh
live cd برای development | 2 | 18:14 Friday 7 October 2005 m_pahlevanzadeh
DocBook & WYSIWYG | 2 | 18:05 Friday 7 October 2005 m_pahlevanzadeh
کلامی با مدیران سایت | 7 | 11:11 Tuesday 4 October 2005 hosseini
lotfan be man komak konid | 1 | 9:08 Monday 3 October 2005 hosseini
شروع | 2 | 11:00 Sunday 25 September 2005 hosseini
جایگزینی برای jreport | 0 | 17:54 Wednesday 21 September 2005 MOHAMMAD
rigi commang | 3 | 19:00 Sunday 11 September 2005 m_pahlevanzadeh
rigi | 3 | 18:47 Friday 9 September 2005 m_pahlevanzadeh
ماژول Math در پیتون | 3 | 20:08 Sunday 4 September 2005 navidjoon
وعده ها در حال اجراست...... | 6 | 18:50 Sunday 4 September 2005 hosseini
moshkele grub | 5 | 10:56 Sunday 4 September 2005 مهمان
به دنبال سابجکت! | 1 | 1:02 Wednesday 31 August 2005 m_pahlevanzadeh
ترجمه‌ی تاریخچه‌ي دبیان | 18 | 15:19 Tuesday 30 August 2005 مهمان
کار جالبی نیست .!!!! | 8 | 8:59 Tuesday 30 August 2005 m_pahlevanzadeh
درباره freepascal | 6 | 0:53 Monday 29 August 2005 m_pahlevanzadeh
چرا Perl? | 0 | 22:55 Saturday 27 August 2005 m_pahlevanzadeh
netbios | 1 | 21:20 Saturday 27 August 2005 m_pahlevanzadeh
سایت بی سروصدا ...! | 2 | 14:48 Thursday 25 August 2005 mohamo_82
Visit Forums

رمزنگاری
Posted on Tue 28 Jun 2005 (200 reads)
پروتکال TCP/IP

اینترنت در لایه انتقال دو پروتکل دارد : UDP,TCP
پروتکل UDP :
پروتکلی بدون اتصال است مه در حقیقت همان خصوصیات پروتکل IP را دارد با این نفع اضافی که بتوان بسته های IP را که همگی دارای ادرس مشترک هستند بین پروسه های یک ماشین مالتی پلکس و دی مالتی پلکس ردوبدل کرد از UDP برای تعامل بین سرویس دهنده و مشتری و همچنین می توان برای ساختن پروتکلهای بی درنگ مانند RTP بهره گرفت .
پروتکل TCP :
پروتکل اصلی لایه ارتباط در اینترنت TCP است این پروتکل یک استریم از بایت ها را بین دو پروسه ایجاد کرده و در اختبار می گذارد به یک وا حد اطلاعاتی که توسط TCP تولید می شود اصطلاحا قطعه ( ) گفته می شود هر قطعه دارای یک سرایند 20 بایتی است قطعات ارسالی ممکن است توسط مسیریاب های اینترنت قطعه قطعه شوند و ماشین میزبان باید امادگی بازسازی انها را داشته باشد کارهای بسیار زیادی نیز برای بهینه سازی کار ایی TCP صورت گرفته و بدین منظور از الگوریتم های نظیر " ناگال" و " کلارک " و " کاران " استفاده شده است . لینک های بی سبم پیچیدگیهای متعدی را به TCP تحمیل می کند . TCP تراکنشی (Transaction TCP ) گونه توسعه یافته TCP است که تعامل سریع بین سرویس دهنده و مشتری و کاهش تعداد بسته ها را بر عهده دارد .

درسال 1973 :
پروتکل " TCP/IP" ( قرار داد کنترول اطلاعات کاربران ) از طرف معرفی گردید هدف این پروتکل این بود که بتوان چند شبکه کامپیوتری از انواع مختلف را به هم متصل کرد به این ترتیب زمینه لازم برای ایجاد شبکه های در حال تولید بودند اگر چه تعداد کامیوترهای به هم متصل 23 عدد بود .
در سال 1974 :
با پیاده سازی موفقیت امیز پروتکل " TCP/IP " در عمل برای اولین بار کلمه اینترنت ( Internet ) به معنای ( Inter - Network ) از طرف دست اندر کاران مورد استفاده قرار گرفت .
در سال1979 :
اولین سیستم "News Groups " ( گروه های خبری اطلاع رسانی ) توسط بک دانشجوی دانشگاه کارولینای شمالی ایجاد گردید . شبکه "CSNET " میان چند دانشگاه جدید راه اندازی شد . این دو شبکه بر اساس پروتکل "TCP/IP " به هم متصل گردیدند تعداد کامپیوتر های مدتبط به اینترنت به 213 عدد رسید .

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

نویسنده: پرستو قدیانی
پست الکترونیکی: myblackroz@yahoo.com
نسخه : ۰.۰۱
Index :: Print :: E-mail
بی شک دیدگاه هر کس نشانه تفکر اوست , ما در برابر نظر دیگران مسئول نیستیم
فرستنده | شاخه
Parastoo | فرستاده شده در تاریخ: 7:49 Monday 25 July 2005 به روز شده در تاریخ: 7:49 Monday 25 July 2005
Just popping in عضویت از: 2005/06/13 از: tehran پیام: 3 | Re: رمزنگاری dar ertebat ba in maghale man ghablan baraye shoma editesho ferestadam amma shoma lotf kardid va to sit nazashtid amma maghaleye dovom ba on maghale kamelan fargh mikone . movafagh bashid
 | پاسخ
hosseini | فرستاده شده در تاریخ: 14:54 Sunday 24 July 2005 به روز شده در تاریخ: 14:54 Sunday 24 July 2005
Webmaster عضویت از: 2005/04/20 از: تهران پیام: 289 | Re: رمزنگاری اگر شما در اینجا مقاله ای فرستادید، باید نسخه دوم این مقاله رو هم برای سایت بفرستید.
 | پاسخ
Parastoo | فرستاده شده در تاریخ: 14:15 Sunday 24 July 2005 به روز شده در تاریخ: 14:15 Sunday 24 July 2005
Just popping in عضویت از: 2005/06/13 از: tehran پیام: 3 | Re: رمزنگاری dar ertebat ba TCP /IP dar maghaleye dovom ke edite hamin maghalast kamelan tozih dade shode ke albate dar yek site dige gozashte shode > movafagh bashid
 | پاسخ
مهمان | فرستاده شده در تاریخ: 9:18 Thursday 30 June 2005 به روز شده در تاریخ: 9:18 Thursday 30 June 2005
 | Re: رمزنگاری بهتر است که یک توضیحی در مورد لایه های تی سی پی در ابتدا داده بشود.
 | پاسخ
کاربران حاضر
2 کاربر آن لاين است (1 کاربر در حال دیدن سایت مقالات)

عضو: 0
مهمان: 2

ادامه...

کاربران برتر
1 | hosseini | 289
2 | m_pahlevanzadeh | 189
3 | sh_roohani | 180
4 | mohamo_82 | 88
5 | rahimi_m | 47
6 | mehran | 43
7 | joker | 40
8 | Darioush | 32
9 | wekde | 29
10 | arashbi | 28

آخرین مقالات
  • محل جاري مكان نما در C(درس ۳)
  • فارسی نویسی در محیط Gnome
  • فارسی نویسی در محیط KDE
  • آموزش نصب لینوکس (فدورا)
  • اضافه کردن یک هارد دیسک جدید به لینوکس
  • ساختار یک برنامه C(درس ۲)
  • پیش از نصب و راه اندازی PHP(درس ۲)
  • گشتی میان یازده توزیع لینوکس
  • کار با سامبا، سرویس دهی بین لینوکس و ویندوز(۲)
  • کار با سامبا، سرویس دهی بین لینوکس و ویندوز(۱)
  • زبان PHP(درس ۱)
  • مقدمات زبان C
  • رمزنگاری
  • افزایش بازدهی هارد دیسک بوسیله ابزار hdparm
  • آموزش نحوه برنامه نویسی ++C در لینوکس
  • نصب Gxine
  • Makefile چيست؟
  • کار با کلیدهای امنیتی GPG
  • روشهای مختلف نصب برنامه در لینوکس
  • رفع مشکل راست به چپ در openoffice 2.0 نرم افزار calc.

فایلهای برتر
  • ترجمه نرم افزار moodle به فارسی (51)
  • روشهای مختلف نصب برنامه در لینوکس (47)
  • فصل اول کلاس سی پلاس پلاس (43)
  • مقاله نصب لینوکس توزیع فدورا (36)
  • فارسی نویسی در محیط Gnome (34)
  • فارسی نویسی در محیط KDE (30)
  • فصل اول کلاس سی پلاس پلاس (18)
  • کار با کلیدهای امنیتی GPG (16)


شناسه کاربری:

واژه رمز:

واژه رمز را فراموش کرده اید؟

عضو شوید

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

موضوعات اخیر
Topic | Replies | Last Post
معذرت | 0 | 19:04 Friday 7 October 2005 m_pahlevanzadeh
best assembler | 2 | 18:29 Friday 7 October 2005 m_pahlevanzadeh
live cd برای development | 2 | 18:14 Friday 7 October 2005 m_pahlevanzadeh
DocBook & WYSIWYG | 2 | 18:05 Friday 7 October 2005 m_pahlevanzadeh
کلامی با مدیران سایت | 7 | 11:11 Tuesday 4 October 2005 hosseini
lotfan be man komak konid | 1 | 9:08 Monday 3 October 2005 hosseini
شروع | 2 | 11:00 Sunday 25 September 2005 hosseini
جایگزینی برای jreport | 0 | 17:54 Wednesday 21 September 2005 MOHAMMAD
rigi commang | 3 | 19:00 Sunday 11 September 2005 m_pahlevanzadeh
rigi | 3 | 18:47 Friday 9 September 2005 m_pahlevanzadeh
ماژول Math در پیتون | 3 | 20:08 Sunday 4 September 2005 navidjoon
وعده ها در حال اجراست...... | 6 | 18:50 Sunday 4 September 2005 hosseini
moshkele grub | 5 | 10:56 Sunday 4 September 2005 مهمان
به دنبال سابجکت! | 1 | 1:02 Wednesday 31 August 2005 m_pahlevanzadeh
ترجمه‌ی تاریخچه‌ي دبیان | 18 | 15:19 Tuesday 30 August 2005 مهمان
کار جالبی نیست .!!!! | 8 | 8:59 Tuesday 30 August 2005 m_pahlevanzadeh
درباره freepascal | 6 | 0:53 Monday 29 August 2005 m_pahlevanzadeh
چرا Perl? | 0 | 22:55 Saturday 27 August 2005 m_pahlevanzadeh
netbios | 1 | 21:20 Saturday 27 August 2005 m_pahlevanzadeh
سایت بی سروصدا ...! | 2 | 14:48 Thursday 25 August 2005 mohamo_82
Visit Forums

مقدمات زبان C
Posted on Sun 03 Jul 2005 (195 reads)
تاريخچه زبان C
زبان C در سال 1971 در آزمايشگاههاي تلفن بل (Bell Telephone Laboratories) توسط دنيس ريچي (Dennis Ritchie) ساخته شد. اين زبان به عنوان زبان پياده سازي سيستم عامل در حال تولد UNIX توسعه يافت. در واقع در ابتدا آزمايشگاههاي بل از زباني استفاده مي كرد به نام BCPL (مخفف Basic Combined Programming Language) و يك زبان ديگر به نام B‌ (حرف اول Bell). زبان C ادمه زبان بدون نوع BCPL و همچنين زبان B بود. در واقع مي توان B‌ را پدر C و BCPL را پدربزرگ آن ناميد. حالا چرا اسم اين زبان را C گذاشتند؟ خيلي ساده، چون C در ترتيب حروف الفباي انگليسي بعد از B مي آيد! پس آيا مي توان نتيجه گرفت كه زبان بعدي بايد D ناميده شده باشد؟ خير! اين زبان كه مستقيما از قابليتهاي شيء گرايي پشتيباني مي كند، ++C نام گرفت و البته توسط بيارني استروستراپ (Bjarne Stroustrup) ساخته شد.
اولين گونه زبان C امروزه C عمومي (Common C) يا C كلاسيك (Classic C) ناميده مي شود و كمي با استاندارد جديد ANSI C كه در 1983 تصويب شد تفاوت دارد (البته اين استاندارد بعدها و در دهه 1990 هم تغييراتي داشت). در 1973 سيستم عامل UNIX تقريبا تماما به زبان C نوشته شد و بدين ترتيب اين زبان هميشه ارتباط نزديكي با اين سيستم عامل خواهد داشت.
C به صورت زباني محدود به سيستم عامل UNIX باقي نماند. در واقع امروزه كمتر سيستم عامل مهمي وجود دارد كه يك كامپايلر C براي آن وجود نداشته باشد (راستش من كه اصلا چنين سيستم عاملي را نمي شناسم، اگر شما مي شناسيد لطف كنيد و به من هم معرفي كنيد!). در سه دهه گذشته C يكي از پركاربردترين زبانهاي برنامه نويسي (شايد هم پركاربردترين آنها)‌ بوده است. امروزه كرنل بسياري از سيستم عاملهاي مدرن همچون انواع گونه هاي خانواده UNIX‌ و همچنين Windows به زبان C نوشته مي شود (البته به استثناء قسمت هاي كمي كه ناگزير از كاربرد زبان اسمبلي هستند).
مقدمات
C زباني كوچك است. يعني در آغاز چيزهاي كمي براي يادگيري وجود دارند. C زباني نيست كه انبوهي از كلمات كليدي و قواعد دست و پاگير را به همراه بياورد. زبان C همه امكانات را به صورت از پيش آماده در اختيار شما قرار نمي دهد.
بعضي ها فكر مي كنند اين يك نقص است؛ زباني كه مجبوريد همه كارها را خودتان انجام دهيد.
اما چرا از ديد ديگري به اين مسئله نگاه نكنيم؟ زباني كه چيز زيادي را به شما ديكته نمي كند!
بله، شما با زباني بسيار جمع و جور مواجه خواهيد شد كه معمولا، بسته به پياده سازي كامپايلر آن، كد اجرايي بسيار سريعي را هم توليد مي كند.
اما راستي از اينكه دست برنامه نويس باز باشد، ولي مجبور باشد همه كارها را از اول انجام بدهد، چه سود؟ اجازه بدهيد اين افسانه را همينجا تمام كنيم! اولا، C همه امكانات اوليه اي را كه براي انجام هر نوع كاري لازم داريد در اختيارتان قرار مي دهد، نه بيشتر و نه كمتر. ثانيا، امروزه براي همه زبانها و به ويژه براي C كتابخانه هاي تابعي بسيار متنوعي در زمينه هاي گوناگون، چه به صورت تجاري و چه به صورت رايگان، در دسترس است. بنابراين نگراني در باره اينكه در C بايد همه كارها را از ابتدا انجام دهيد، فاقد موضوعيت است. ثالثا، همانطور كه در قسمت هاي بعدي اين متن خواهيد ديد، خود زبان C هم بسياري از قابليتهاي خود، همچون ورودي/خروجي، را از طريق توابع كتابخانه اي در اختيار مي گذارد و نه از طريق كلمات رزرو شده داخل زبان.
گاهي از C‌ به عنوان «يك زبان اسمبلي سطح بالا» ياد مي شود. در واقع شما در C‌ برخي دستورات و عبارات را خواهيد ديد كه مي توانيد بين آنها و دستورات زبان اسمبلي يك ارتباط نظير به نظير برقرار كنيد. اما از C‌ انتظار جادو نداشته باشيد. اگر بتوانيد از قابليتهاي اين زبان به خوبي استفاده كنيد و اگر كد تميزي بنويسيد، مي توانيد انتظار داشته باشيد كه كد اجرايي آن تقريبا به اندازه يك كد كامپايل شده اسمبلي سريع و كارامد باشد. در غير اينصورت به C خرده نگيريد، چراكه شما برنامه نويسي هستيد كه مي توانيد حتي با اسمبلي كدي بنويسيد كه به كندي يك زبان تفسيري اجرا شود!
چيزي كه در مورد C ممكن است خطرناك به نظر برسد، اين است كه C فرض مي كند شما به عنوان برنامه نويس مي دانيد چكار مي كنيد، بنابراين خيلي دست و پايتان را نمي بندد. ممكن است به سادگي از حد و مرز يك آرايه خارج شويد و يا با يك تبديل نوع اشتباه، يك اشاره گر به عدد صحيح را به جاي يك اشاره گر به رشته كاراكتري به كار ببريد و آنوقت ديگر عواقبش به عهده خودتان است! قدرت بيشتر، مسئوليت پذيري بيشتر مي خواهد.
امروزه و در سيستم عاملهاي مدرن ممكن است برنامه اي كه مرتكب چنين خطاهايي مي شود، اجازه ادامه دادن كارش را از طرف سيستم عامل پيدا نكند، حتي اگر هنوز خود برنامه از كار نيفتاده باشد. اما اين محدوديت را از چشم زبان C نبينيد. اين زبان هنوز همان C قديمي و دوست داشتني و خوشدست است كه در كمال دست و دلبازي به شما اجازه (تقريبا) هرگونه خلاف و خطايي را مي دهد! اگر يك كامپايلر قديمي قابل اجرا از روي فلاپي داريد (مثلا نسخه هاي اوليه Turbo C)، همين الان يك فلاپي راه انداز برداريد و وارد محيط DOS شويد و يك كد C حاوي خطاهايي كه در بالا گفتم بنويسيد و كامپايل كنيد. خواهيد ديد كه نه تنها سيستم عامل (به دليل طراحي خاص خودش) جلوي كار برنامه تان را نمي گيرد، بلكه اجازه مي دهد كار را تا جايي خراب كنيد كه حتي مجبور شويد كامپيوترتان را ريبوت كنيد!
همين جنبه اخير C كافيست كه اين زبان براي شروع و آموزش برنامه نويسي چندان مناسب به نظر نرسد و از همين رو من فرض كرده ام كه شما برنامه نويسي را مي دانيد و تنها خيال داريد يك زبان جديد ياد بگيريد.
بنابراين اگر تازه مي خواهيد برنامه نويسي را ياد بگيريد، پيشنهاد مي كنم اين سلسله مطالب را موقتا فراموش كنيد و با زباني مثل پاسكال يا پيتون شروع كنيد.
براي پاسكال مي توانيد يك محيط مجتمع برنامه نويسي بسيار عالي و رايگان از http://www.freepascal.org/ دريافت كنيد و در اينترنت هم مطالب آموزشي بسيار خوبي براي پاسكال پيدا مي شود. براي پيتون هم به http://www.python.org/ مراجعه كنيد و در ضمن كتاب How to Think Like a Computer Scientist - Learning with Python از http://www.ibiblio.org/obp/thinkCSpy/ بسيار مناسب است.
در مجموع منابع براي يادگيري برنامه نويسي زياد است. كافي است كمي گوگل كنيد!

نویسنده: شهرام روحانی
پست الکترونیکی: sh_roohani@yahoo.com
تاریخ: ۱۱/۰۴/۸۴

سورس مقاله
نسخه pdf
Index :: Print :: E-mail
بی شک دیدگاه هر کس نشانه تفکر اوست , ما در برابر نظر دیگران مسئول نیستیم
فرستنده شاخه
کاربران حاضر
2 کاربر آن لاين است (1 کاربر در حال دیدن سایت مقالات)

عضو: 0
مهمان: 2

ادامه...

کاربران برتر
1 | hosseini | 289
2 | m_pahlevanzadeh | 189
3 | sh_roohani | 180
4 | mohamo_82 | 88
5 | rahimi_m | 47
6 | mehran | 43
7 | joker | 40
8 | Darioush | 32
9 | wekde | 29
10 | arashbi | 28

آخرین مقالات
  • محل جاري مكان نما در C(درس ۳)
  • فارسی نویسی در محیط Gnome
  • فارسی نویسی در محیط KDE
  • آموزش نصب لینوکس (فدورا)
  • اضافه کردن یک هارد دیسک جدید به لینوکس
  • ساختار یک برنامه C(درس ۲)
  • پیش از نصب و راه اندازی PHP(درس ۲)
  • گشتی میان یازده توزیع لینوکس
  • کار با سامبا، سرویس دهی بین لینوکس و ویندوز(۲)
  • کار با سامبا، سرویس دهی بین لینوکس و ویندوز(۱)
  • زبان PHP(درس ۱)
  • مقدمات زبان C
  • رمزنگاری
  • افزایش بازدهی هارد دیسک بوسیله ابزار hdparm
  • آموزش نحوه برنامه نویسی ++C در لینوکس
  • نصب Gxine
  • Makefile چيست؟
  • کار با کلیدهای امنیتی GPG
  • روشهای مختلف نصب برنامه در لینوکس
  • رفع مشکل راست به چپ در openoffice 2.0 نرم افزار calc.

فایلهای برتر
  • ترجمه نرم افزار moodle به فارسی (51)
  • روشهای مختلف نصب برنامه در لینوکس (47)
  • فصل اول کلاس سی پلاس پلاس (43)
  • مقاله نصب لینوکس توزیع فدورا (36)
  • فارسی نویسی در محیط Gnome (34)
  • فارسی نویسی در محیط KDE (30)
  • فصل اول کلاس سی پلاس پلاس (18)
  • کار با کلیدهای امنیتی GPG (16)


شناسه کاربری:

واژه رمز:

واژه رمز را فراموش کرده اید؟

عضو شوید

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

موضوعات اخیر
Topic | Replies | Last Post
معذرت | 0 | 19:04 Friday 7 October 2005 m_pahlevanzadeh
best assembler | 2 | 18:29 Friday 7 October 2005 m_pahlevanzadeh
live cd برای development | 2 | 18:14 Friday 7 October 2005 m_pahlevanzadeh
DocBook & WYSIWYG | 2 | 18:05 Friday 7 October 2005 m_pahlevanzadeh
کلامی با مدیران سایت | 7 | 11:11 Tuesday 4 October 2005 hosseini
lotfan be man komak konid | 1 | 9:08 Monday 3 October 2005 hosseini
شروع | 2 | 11:00 Sunday 25 September 2005 hosseini
جایگزینی برای jreport | 0 | 17:54 Wednesday 21 September 2005 MOHAMMAD
rigi commang | 3 | 19:00 Sunday 11 September 2005 m_pahlevanzadeh
rigi | 3 | 18:47 Friday 9 September 2005 m_pahlevanzadeh
ماژول Math در پیتون | 3 | 20:08 Sunday 4 September 2005 navidjoon
وعده ها در حال اجراست...... | 6 | 18:50 Sunday 4 September 2005 hosseini
moshkele grub | 5 | 10:56 Sunday 4 September 2005 مهمان
به دنبال سابجکت! | 1 | 1:02 Wednesday 31 August 2005 m_pahlevanzadeh
ترجمه‌ی تاریخچه‌ي دبیان | 18 | 15:19 Tuesday 30 August 2005 مهمان
کار جالبی نیست .!!!! | 8 | 8:59 Tuesday 30 August 2005 m_pahlevanzadeh
درباره freepascal | 6 | 0:53 Monday 29 August 2005 m_pahlevanzadeh
چرا Perl? | 0 | 22:55 Saturday 27 August 2005 m_pahlevanzadeh
netbios | 1 | 21:20 Saturday 27 August 2005 m_pahlevanzadeh
سایت بی سروصدا ...! | 2 | 14:48 Thursday 25 August 2005 mohamo_82
Visit Forums

زبان PHP(درس ۱)
Posted on Sun 03 Jul 2005 (187 reads)
مقدمه
اینترنت دنیای عجیبی است که تکنولوژی های مربوط به آن اغلب بدون پشتیبانی کافی عرضه می شوند و کاربران این تکنولوژی ها همه روزه با واژگاه جدیدی برخورد می کنند، که باعث سردرگمی آنها می شوند. برای نمونه می توان به رشد نرم افزار های متن باز اشاره کرد. متداول ترین این برنامه ها، سیستم عامل Unix و به طور خاص Linux می باشد. این برنامه ها، با وجود ثبات و پایداری، دارای یک مشکل بزرگ می باشند و آن دشوار بودن آموختن این برنامه ها می باشد. کمبود راهنماهایی که به زبان ساده، این برنامه ها را به مبتدیان آموزش دهد، باعث شده است که این دسته از نرم افزارها از جایگاه واقعی خود دور نگاه داشته شوند. PHP‌ یکی از این زبانهای اسکریپتی متن باز می باشد که تا کنون علی رغم سادگی استفاده از آن، هنوز به طور شایسته از آن استقبال نشده است.

تاریخچه PHP
نظریه و ایده PHP‌ در سال ۱۹۹۴ توسط راسموس لردورف به معنی Personal Home Page به منظور تولید صفحات تخصصی صفحات وب ابراز شد و نسخه ۱ این زبان اوایل سال ۱۹۹۵ ارائه شد و با توجه زیادی از طرف کاربران روبرو شد. به همین دلیل نسخه این زبان در اواخر همین سال ارائه گردید.
نسخه ۳ و ۴ این زبان در سالهای ۱۹۹۷ و ۲۰۰۰ ارائه گردید. با گسترش قابلیتها و موارد استفاده این زبان PHP در معنای بازگشتی PHP Hyper Text Preprocessor به کار گرفته شد. (عبارت پیش پردازشگر بدین معنی است که PHP، اطلاعات را قبل تبدیل به زبان HTML پردازش می کند)

PHP یک زبان اسکریپتی
PHP بر خلاف اکثر زبانهای برنامه نویسی دیگر یک زبان اسکریپتی می باشد. به بیان دیگر دستورات PHP در ازای رخداد یک رویداد (Event) اجرا می شود و همانند زبانهای برنامه نویسی دیگر مانند C‌ یا Delphi نمی تواند به صورت مستقل و بدون نیاز به یک رویداد، کاری را انجام دهد. این رویداد ها می توانند شامل ارسال یک فرم، رفتن به یک آدرس وب و یا موارد دیگر باشند.
بعنوان یکی از زبانهای مشابه PHP می توان به Java script‌ اشاره کرد با این تفاوت که PHP‌ یک زبان سمت سرویس دهنده می باشد ولی Java script یک زبان سمت سرویس گیرنده می باشد.
سمت سرویس دهنده و گیرنده به این معنی می باشد که:
برنامه های که در سمت سرویس دهنده بار گذاری می شوند، در واقع برو روی دستگاهی قوی که به آن سرور می گویند سوار شده و اجرا می شوند. ولی برنامه های سمت سرویس گیرنده در واقع روی دستگاه کاربر سوار شده و اجرا می شوند.
بله همانطور که متوجه شدید PHP بعد از اینکه پردازشهای لازم را در سرور انجام داد خروجی را به صورت کدهای HTML به مرورگرهای ما ارسال می کند.
این در صورتی است که در حالت عادی سرور به طور مستقیم کدهای HTML‌ را ارسال می کند و هیچ پردازشی روی کدهای HTML انجام نمی دهد.
توجه: یک سرویس دهنده (سرویس دهنده ای که ما برای کارهای وب سایت نیاز داریم) در واقع یک رایانه مخصوص و قوی می باشد که صفحات وب در آنجا نگهداری می شوند و از آنجا به مرورگر کاربران منتقل می شوند.
تابحال با دو خاصیت PHP با نام های اسکریپتی بودن و سرور ساید بودن آشنا شده ایم، و حال می خواهیم شما را با خاصیت های دیگر این زبان قدرتمند آشنا نماییم:
Cross Platform و HTML Embeded
Cross Platform
منظور از Cross Platform بودن این زبان، این است که بر روی هر رایانه با هر سیستم عاملی توانایی نصب و اجرا را دارا می باشد. توجه کنید که این واژه فقط برای رایانه سرویس دهنده معنا پیدا می کند، و همانطور که می دانید خروجی این زبان HTML بوده و توانایی اجرا بر روی هر نوع مرورگر با هر نوع سیستم عاملی را دارا می باشد. علاوه بر این به طور مثال شما می توانید برنامه PHP خود را در ویندوز بنویسید و در سیستم عامل دیگری مانند لینوکس به راحتی اجرا کنید و از آن استفاده کنید. البته تفاوت های اندگی در کاربرد PHP‌ بر روی این سیستم عامل ها وجود دارد که خیلی کم و جزئی می باشند و حتی در مواردی نیازی به تغییر نمی باشد.
HTML Embeded
منظور از HTML Embeded بودن این است که دستورات این زبان در بین کدهای HTML قرار می گیرند.
نیازهای شما برای کار با زبان PHP‌
سرویس دهنده ای که بتواند زبان PHP را پشتیبانی نماید مانند Apache یا IIS
کامپایلر PHP
یک ویرایشگر متنی مانند Note Pad در ویندوز و Kwrite در لینوکس

نویسنده: سید علی حسینی
پست الکترونیکی: hosseini@iossd.org
تاریخ: ۱۱/۰۴/۸۴
نسخه: ۰.۰۴
Index :: Print :: E-mail
بی شک دیدگاه هر کس نشانه تفکر اوست , ما در برابر نظر دیگران مسئول نیستیم
فرستنده شاخه
کاربران حاضر
2 کاربر آن لاين است (1 کاربر در حال دیدن سایت مقالات)

عضو: 0
مهمان: 2

ادامه...

کاربران برتر
1 | hosseini | 289
2 | m_pahlevanzadeh | 189
3 | sh_roohani | 180
4 | mohamo_82 | 88
5 | rahimi_m | 47
6 | mehran | 43
7 | joker | 40
8 | Darioush | 32
9 | wekde | 29
10 | arashbi | 28

آخرین مقالات
  • محل جاري مكان نما در C(درس ۳)
  • فارسی نویسی در محیط Gnome
  • فارسی نویسی در محیط KDE
  • آموزش نصب لینوکس (فدورا)
  • اضافه کردن یک هارد دیسک جدید به لینوکس
  • ساختار یک برنامه C(درس ۲)
  • پیش از نصب و راه اندازی PHP(درس ۲)
  • گشتی میان یازده توزیع لینوکس
  • کار با سامبا، سرویس دهی بین لینوکس و ویندوز(۲)
  • کار با سامبا، سرویس دهی بین لینوکس و ویندوز(۱)
  • زبان PHP(درس ۱)
  • مقدمات زبان C
  • رمزنگاری
  • افزایش بازدهی هارد دیسک بوسیله ابزار hdparm
  • آموزش نحوه برنامه نویسی ++C در لینوکس
  • نصب Gxine
  • Makefile چيست؟
  • کار با کلیدهای امنیتی GPG
  • روشهای مختلف نصب برنامه در لینوکس
  • رفع مشکل راست به چپ در openoffice 2.0 نرم افزار calc.

فایلهای برتر
  • ترجمه نرم افزار moodle به فارسی (51)
  • روشهای مختلف نصب برنامه در لینوکس (47)
  • فصل اول کلاس سی پلاس پلاس (43)
  • مقاله نصب لینوکس توزیع فدورا (36)
  • فارسی نویسی در محیط Gnome (34)
  • فارسی نویسی در محیط KDE (30)
  • فصل اول کلاس سی پلاس پلاس (18)
  • کار با کلیدهای امنیتی GPG (16)


شناسه کاربری:

واژه رمز:

واژه رمز را فراموش کرده اید؟

عضو شوید

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

موضوعات اخیر
Topic | Replies | Last Post
معذرت | 0 | 19:04 Friday 7 October 2005 m_pahlevanzadeh
best assembler | 2 | 18:29 Friday 7 October 2005 m_pahlevanzadeh
live cd برای development | 2 | 18:14 Friday 7 October 2005 m_pahlevanzadeh
DocBook & WYSIWYG | 2 | 18:05 Friday 7 October 2005 m_pahlevanzadeh
کلامی با مدیران سایت | 7 | 11:11 Tuesday 4 October 2005 hosseini
lotfan be man komak konid | 1 | 9:08 Monday 3 October 2005 hosseini
شروع | 2 | 11:00 Sunday 25 September 2005 hosseini
جایگزینی برای jreport | 0 | 17:54 Wednesday 21 September 2005 MOHAMMAD
rigi commang | 3 | 19:00 Sunday 11 September 2005 m_pahlevanzadeh
rigi | 3 | 18:47 Friday 9 September 2005 m_pahlevanzadeh
ماژول Math در پیتون | 3 | 20:08 Sunday 4 September 2005 navidjoon
وعده ها در حال اجراست...... | 6 | 18:50 Sunday 4 September 2005 hosseini
moshkele grub | 5 | 10:56 Sunday 4 September 2005 مهمان
به دنبال سابجکت! | 1 | 1:02 Wednesday 31 August 2005 m_pahlevanzadeh
ترجمه‌ی تاریخچه‌ي دبیان | 18 | 15:19 Tuesday 30 August 2005 مهمان
کار جالبی نیست .!!!! | 8 | 8:59 Tuesday 30 August 2005 m_pahlevanzadeh
درباره freepascal | 6 | 0:53 Monday 29 August 2005 m_pahlevanzadeh
چرا Perl? | 0 | 22:55 Saturday 27 August 2005 m_pahlevanzadeh
netbios | 1 | 21:20 Saturday 27 August 2005 m_pahlevanzadeh
سایت بی سروصدا ...! | 2 | 14:48 Thursday 25 August 2005 mohamo_82
Visit Forums

کار با سامبا، سرویس دهی بین لینوکس و ویندوز(۱)
Posted on Tue 05 Jul 2005 (310 reads)

Linux, Windows, SAMBA

(قسمت اول)

نوع کاربری: مدیریتی

سطح کاربری: متوسط

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

SAMBA یک مجموعهای از برنامه های کاربردی است که به سیستم عاملهای لینوکسی اجازه میدهد در کنار شبکه های مایکروسافت نقش سرور(فایل و پرینت) و کلاینت را بازی کنند.

SAMBA به عنوان یک SMB server میتواند در نقش سرور، به کلاینتهای ویندوز اجازه دسترسی به سرویس فایل و پرینت را بدهد. و در نقش کلاینت میتواند منابع موجود در کامپیوترهای ویندوزی را mount کند.

در مقایسه با سایر پیاده سازیهای SMB، SAMBA بسیار پایدار، سریع، سازگار با کلاینهای زیاد میباشد.

آغاز حرکت زمانی بود که یک برنامه نویس استرالیایی بنام اندرو تریدگل تصمیم گرفت که فضای دیسک موجود در سرورUNIX را در کامپیوتر شخصی خود قابل دسترس کند. که در سال 1990 اولین نسخه SAMBA نوشته شد و منتشر گردید. که این پروژه در حال حاضر بصورت منبع باز است و از طریق CVS با مشارکت عمومی در حال پیشرفت و تکامل است.

آشنایی با Server Message Blocks (SMB)

در شبکه های ویندوزی، سرویس NetBIOS و DNS یک راه حل برای تبدیل نام کامپیوتر به آدرس IP میباشند. ولی تفاوتی که با هم دارند این است که سرویس های NetBIOS ، اصطلاحا flat هستند ولی DNS بصورت سلسله وار.

در سرویسهای NetBIOS نام کامپیوتر حداکثر طولش 15 کارکتر است ولی در DNS، 63 بایت برای نام و 255 بایت برای FQDN (نام کامل همراه با دامنه)

که در این قسمت مختصری با نحوه کار NetBIOS آشنا میشویم.

در روش NetBIOS ، ترتیب مراحل ترجمه نام کامپیوتر بدین ترتیب است:

- جستجو در حافظه کش محلی NetBIOS

- درخواست از wins server

- درخواست از طریق NetBIOS Broadcast

- جستجو در فایل Lmhosts(windows\system32\drivers\)

پروتکل NetBIOS در لایه های 3 و 4 مدل OSI کار میکند ولی پروتکل SMB در لایه هایSession- presentation . پس همانطور که مشخص است پروتکل SMB بعنوان یک پروتکل لایه بالاتر از لایه های پایینی سرویس میگیرد. SAMBA هم بعنوان یک SMB server، از این پروتکل برای پیدا کردن نام کامپیوترها در یک گروه کاری و در یک بخش استفاده میکند. تفاوتهایی که سرویس SMB , NFS دارند این است که NFS سرویسی برای به اشتراک گذاشتن فایلها میباشد ولی متدی برای شناسایی کاربران و ترجمه نام ارایه نمیدهد، ولی با پروتکل SMB همه این موارد امکان پذیر است.

روشهایی که سرور SAMBA برای شناسایی کاربران ارایه میکند:

Share level: در این روش تمام منابعی که کاربر به اشتراک میگذارد، مانند دایرکتوری- پرینترو دیسک در دسترس همه افراد هست.

User level: در این روش دسترسی به منابع اشتراکی محدود به نام کاربری و کلمه عبور است. و در این متد میتوان مشخص کرد که کدام کاربر به کدام منبع مشترک دسترسی داشته باشد و برعکس.

Domain: در این مد SAMBA سرور به عنوان عضوی از Domain درخواستهای برای شناسایی کاربران را به Domain controller ارسال میکند.

ADS: در این مد SAMBA سرور میتواند به Active directory Domain وصل شود.

نصب SAMBA

همانطور که قبلا ذکر شد سامبا سویتی از برنامه های کاربردی است که نیاز به نصب شدن دارند.

AMBA_CLIENT: این مجموعه به صورت پیش فرض در اکثر توزیعهای لینوکس نصب میشود. که شامل ابزارهایی همچون smbclient, smbmount, smbprint…. میباشد.

SAMBA: این مجموعه شامل نسخه سرور سامبا میباشد.

برای نصب سرور SAMBA آخرین نسخه آنرا از سایت www.samba.org داونلود کرده و نصب نمایید. برای نصب کردن میتوانید از هر دو نسخه باینری و سورس کد استفاده کنید. در زیر روش نصب سامبا از طریق نسخه باینری (کامپایل شده) را آورده ایم:

rpm –Uvh SAMBA-3.0.14a-1.i386.rpm

البته قبل از نصب مطمئن شوید که سرویسهای مربوطه در حال اجرا هستند یه نه! برای این منظور دستور زیر را وارد کرده و به خروجی دقت کنید.

ps aux | grep mbd

اگر درخروجی دیمن های nmbd, smbd در حال اجرا بودند پس سامبا سرور قبلا نصب شده هست و الان در حال اجراست. والا باید آنرا نصب کنید. سامبا از سه تا daemon استفاده میکند. قابل ذکر است که دیمن برنامه ای است که در background درحال اجرا است.

Nmbd: برای انجام عمل ترجمه نام کامپیوترها( (Network Browsingلازم است و از پروتکلUDP استفاده میکند.

Smbd: برای انجام عمل به اشتراک گذاشتن فایل و پرینتر لازم است و از پروتکل TCP استفاده میکند.

Winbindd: که برای ارتباط با domain controller استفاده میشود.

اگر در خروجی دوتا دیمن nmbd در حال اجرا بودند به این مفهوم است که کامپیوتر شما به عنوان Wins سرور عمل میکند.

تنظیم سامبا سرور

سامبا سرور تمام تنظیمات خود را از یک فایل متنی میخواند. این فایل smb.conf نام دارد که در مسیر /etc/SAMBA/smb.conf قرار دارد.

قالب فایل smb.conf

بخش | توضیحات
[Global] | پارامترهای عمومی سامبا
[printers] | پیکره بندی پرینتر به اشتراک گذاشته شده
[homes] | پارامترهای لازم برای map کردن home directory کاربران
[netlogon] | یک محل اشتراکی برای ذخیره logon script ها
[profiles] | محل اشتراکی برای ذخیره پروفایلهای کاربران بعد از logoff (ایکون دسکتاب)

در زیر یک نمونه از پیکره بندی smb.conf را آورده ایم.

برای این منظور ابتدا فایل smb.conf پاک کرده دوباره از اول پیکره بندی میکنیم.

rm –f /etc/SAMBA/smb.conf

touch /etc/SAMBA/smb.conf

emacs /etc/SAMBA/smb.conf

[Global]

NetBIOS name= officeSmb

Server string= Linux

Workgroup= office

Security = user

Smb passwd file = /etc/SAMBA/private/smbpasswd

Encrypt password = yes

Os level = 34

Wins support= yes

Name-reolve order= wins hosts bcast

Log file=/var/log/SAMBA/%m.log

[Data]

Comment = my shared data

Path= /export

Read only = yes

Guest ok = yes

این یک پیکره بندی نمونه است که به توضیح آن میپردازیم

برای این سرور متد شناسایی کاربر user انتخاب شده است. چونکه سامبا بصورت پیش فرض کلمات عبور را clear رد میکند ما در اینجا از encrypt password استفاده کرده ایم. اگر این قسمت را فعال کردید بعدش حتما باید گزینه smb passwd file را تنظیم کنید.

برای این منظور از اسکریت mksmbpasswd.sh که برای ایجاد فایلی برای ذخیره کلمات عبور رمز شده smb میباشد، استفاده میکنیم.

mkdir /etc/SAMBA/private

chmod 500 /etc/SAMBA/private

cat /etc/passwd | mksmbpasswd.sh > /etc/SAMBA/private/smbpasswd

بعد از اجرای دستور فوق شما میتوانید فایل smbpasswd را با ویرایشگر متنی باز کرده و ببنید که نام تمام کاربران ماشین شما در آن وجود دارد. شما میتوانید تمام محتویات این فایل را پاک کنید. چون بعدا موقع اضافه کردن کاربر برای SAMBA این فایل بروز خواهد شد.

این نکته قابل توجه است که فایلهای مربوط به ذخیره سازی اطلاعات کاربران سیستم لینکس و سامبا کاملا از هم مجزا میباشد. مزیتی که دارد این است که مدیر سیستم (Linux) به هر کسی که نیاز داشته یاشد سرویس سامبا را میدهد و همه کاربران لینکس به این سرویس دسترسی ندارند. از دستور passwdبرای تغییر پسورد کاربران سیستم استفاده میشود که این تغییرات در فایل /etc/shadow و برای تغییر پسورد سامبای کاربران از smbpasswd استفاده شده که محل ذخیره سازی تغییرات، فایل /etc/samba/smbpasswd میباشد.

انتخاب بعدی OS =34 میباشد. بدین معنی که این ماشین در انتخاب Master browser شرکت نمی کند. چونکه ماکزیمم عددی که ماشینهای ویندوزی انتخاب میکنند 32 است و خود ویندوز domain controller هم عدد 32 را برمیگزینند.

در قسمت [data] نام منبع اشتراکی را data گذاشتیم و دایرکتوری /export را بصورت read only به اشتراک گذاشته ایم. البته برای کسانی که جزو کاربران SAMBA هستند.

بعد از اینکه سیاست خود را در راه اندازی سامبا سرور اعمال کردید حالا تنظیمات خود را از نظر غلط املایی و منطقی با دستور زیر امتحان کنید:

testparm /etc/samba/smb.conf (testparm –s)

در این قسمت بعنوان مثال یک کاربر به سیستم و سامبا، اضافه میکنیم.

useradd –g users user1

passwd user1

smbpasswd –a user1

برای عوض کردن پسورد سامبای کاربر از دستور زیر استفاده میکنبم.

smppasswd user1

حالا زمان آن رسیده است که سرور سامبا را راه اندازی کرده و تنظیمات خود را امتحان کنید.

برای این منظور از دستور زیر برای راه اندازی سامبا استفاده میکنیم.

service smb start|stop|restart

Starting smb service: [ok]

Starting nmb service: [ok]

در طرف کلاینت ویندوز شما میتوانید با دستور زیر از منابع اشتراکی روی ماشین لینوکس مطلع شوید

C:\> net view \\officesmb or host Ip address

و در طرف ماشین لینوکسی

smbclient –L hostname –N

smbclient //hostname/service

که در مورد اخیر، عملکرد دستور smbclient تقریبا شبیه ftp میباشد.

برای map کردن منابع اشتراکی موجود روی لینوکس در طرف ویندوز دستورات زیر را وارد میکنیم

C:\> net use d: \\servername\service

C:\> net use lpt1: \\servername\spoolservice

و برای انجام همین کار در طرف لینوکس از دستورات زیر را وارد میکنیم

/path/to/yourdirectory

smbmount //servername/service

smbumount /path/to/yourdirectory

اگر این دستور را در فایل .bash_profile قرار دهیم دستور فوق به صورت اتوماتیک در هر لاگین اجرا میشود.

همچنین شما در هر کاوشگری اگر آدرس smb://servername را وارد کنید میتوانید به منابع مشترک آن کامپیوتر دسترسی داشته باشید.

نویسنده: مهدی رحیمی

پست الکترونیکی: Rahimi_gnu@yahoo.com

تاریخ: ۲۹/۰۲/۸۴

منبع: http://www.samba.org
Index :: Print :: E-mail
بی شک دیدگاه هر کس نشانه تفکر اوست , ما در برابر نظر دیگران مسئول نیستیم
فرستنده شاخه
کاربران حاضر
2 کاربر آن لاين است (1 کاربر در حال دیدن سایت مقالات)

عضو: 0
مهمان: 2

ادامه...

کاربران برتر
1 | hosseini | 289
2 | m_pahlevanzadeh | 189
3 | sh_roohani | 180
4 | mohamo_82 | 88
5 | rahimi_m | 47
6 | mehran | 43
7 | joker | 40
8 | Darioush | 32
9 | wekde | 29
10 | arashbi | 28

آخرین مقالات
  • محل جاري مكان نما در C(درس ۳)
  • فارسی نویسی در محیط Gnome
  • فارسی نویسی در محیط KDE
  • آموزش نصب لینوکس (فدورا)
  • اضافه کردن یک هارد دیسک جدید به لینوکس
  • ساختار یک برنامه C(درس ۲)
  • پیش از نصب و راه اندازی PHP(درس ۲)
  • گشتی میان یازده توزیع لینوکس
  • کار با سامبا، سرویس دهی بین لینوکس و ویندوز(۲)
  • کار با سامبا، سرویس دهی بین لینوکس و ویندوز(۱)
  • زبان PHP(درس ۱)
  • مقدمات زبان C
  • رمزنگاری
  • افزایش بازدهی هارد دیسک بوسیله ابزار hdparm
  • آموزش نحوه برنامه نویسی ++C در لینوکس
  • نصب Gxine
  • Makefile چيست؟
  • کار با کلیدهای امنیتی GPG
  • روشهای مختلف نصب برنامه در لینوکس
  • رفع مشکل راست به چپ در openoffice 2.0 نرم افزار calc.

فایلهای برتر
  • ترجمه نرم افزار moodle به فارسی (51)
  • روشهای مختلف نصب برنامه در لینوکس (47)
  • فصل اول کلاس سی پلاس پلاس (43)
  • مقاله نصب لینوکس توزیع فدورا (36)
  • فارسی نویسی در محیط Gnome (34)
  • فارسی نویسی در محیط KDE (30)
  • فصل اول کلاس سی پلاس پلاس (18)
  • کار با کلیدهای امنیتی GPG (16)


شناسه کاربری:

واژه رمز:

واژه رمز را فراموش کرده اید؟

عضو شوید

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

موضوعات اخیر
Topic | Replies | Last Post
معذرت | 0 | 19:04 Friday 7 October 2005 m_pahlevanzadeh
best assembler | 2 | 18:29 Friday 7 October 2005 m_pahlevanzadeh
live cd برای development | 2 | 18:14 Friday 7 October 2005 m_pahlevanzadeh
DocBook & WYSIWYG | 2 | 18:05 Friday 7 October 2005 m_pahlevanzadeh
کلامی با مدیران سایت | 7 | 11:11 Tuesday 4 October 2005 hosseini
lotfan be man komak konid | 1 | 9:08 Monday 3 October 2005 hosseini
شروع | 2 | 11:00 Sunday 25 September 2005 hosseini
جایگزینی برای jreport | 0 | 17:54 Wednesday 21 September 2005 MOHAMMAD
rigi commang | 3 | 19:00 Sunday 11 September 2005 m_pahlevanzadeh
rigi | 3 | 18:47 Friday 9 September 2005 m_pahlevanzadeh
ماژول Math در پیتون | 3 | 20:08 Sunday 4 September 2005 navidjoon
وعده ها در حال اجراست...... | 6 | 18:50 Sunday 4 September 2005 hosseini
moshkele grub | 5 | 10:56 Sunday 4 September 2005 مهمان
به دنبال سابجکت! | 1 | 1:02 Wednesday 31 August 2005 m_pahlevanzadeh
ترجمه‌ی تاریخچه‌ي دبیان | 18 | 15:19 Tuesday 30 August 2005 مهمان
کار جالبی نیست .!!!! | 8 | 8:59 Tuesday 30 August 2005 m_pahlevanzadeh
درباره freepascal | 6 | 0:53 Monday 29 August 2005 m_pahlevanzadeh
چرا Perl? | 0 | 22:55 Saturday 27 August 2005 m_pahlevanzadeh
netbios | 1 | 21:20 Saturday 27 August 2005 m_pahlevanzadeh
سایت بی سروصدا ...! | 2 | 14:48 Thursday 25 August 2005 mohamo_82
Visit Forums

کار با سامبا، سرویس دهی بین لینوکس و ویندوز(۲)
Posted on Tue 05 Jul 2005 (229 reads)

Linux, Windows, SAMBA

(قسمت دوم)

تنظیم سامبا به عنوان یک PDC(Primary domain controller)

[Globals]

پارامتر | مقدار | توضیحات
Domain logons | yes | سامبا را به عنوان PDC معرفی میکند
Preferred master | yes | سامبا به عنوان جایگاه مرکزی برای ذخیره سازی نام کلاینت های ویندوزی و پرینتر
Domain master | yes | سامبا بع عنوان master browser برای دامین
Os level | 65 | باعث برنده شدن سامبا در رقابت بر سر pdc با سرورهای ویندوز
Wins support | yes | سامبا، سرویس ترجمه نام فراهم میکند
Time server | yes | بروز کردن زمان و تاریخ کلاینتها
security | user | لاگین کردن کاربران برای دسترسی به منابع
workgroup | office | نام گروه کاربری

[Homes]

پارامتر | مقدار | توضیحات
browseable | no | قابل جستجو برای دیگران نیست
Read only | no | فقط کاربر سامبا میتواند در آن بنویسد
Create mask | 0664 | هر فایلی که کاربر سامبا درست کند صاحب مجوز 0664 میشود
Directory mask | 0775 | هر زیر شاخه ای که کاربر سامبا درست کند صاحب مجوز 0775 میشود.

[netlogon]

path=/home/samba/netlogon

guest ok =yes

[profiles]

path=/home/samba/profiles

read only=no

create mask=0600

directory mask=0700

[printers]

path=/var/spool/samba

printable=yes

browsable=no

mkdir –p /home/samba/netlogon

mkdir –p /home/samba/profile

chmod –R 0755 /home/samba

حال در این قسمت یک گروه بنام sysadmin درست کرده و کاربران مدیر را جزو این گروه میکنیم.

groupadd sysadmin

groupadd sysadmin

[Global]

admin users=@sysadmin

printer admin = @sysadmin

add machine script = /usr/sbin/useradd –d /dev/null samba-clients –s /bin/false –M %u

logon scrip= logon.bat

پارامتر آخری به این دلیل اضافه شد که سرور سامبا باید به نام ماشینهای که جزو دامین او هستند، اعتماد کند. در اینصورت هر کلاینت ویندوز که یک عضو از دامین سامبا شود جزو کاربران سیستم اضافه میشود، ولی کاربری که محیط شل آن /bin/false و home directory آن /dev/null و جزو گروه samba-clients خواهد بود.

بعد از این مراحل، فقط کافی است که به سراغ کلاینهای ویندوز رفته و آنها را به دامین سامبا وارد کنید و از حالت workgroup خارج کنید.

در صورت استفاده از logon اسکریپت، بچ فایل خود را با دستورunix2dos به فرمت داس تبدیل کنید. چون فرمت فایلهای متنی خیلی جزیی با هم فرق دارند.

خطای The network name cannot be found

- در فایل smb.conf در قسمت share، برای منبع آن اشتراک مسیری تعیین نشده است.

- دسترسی کافی به آن منبع ندارید.( مجوزهای R,X)

- دسترسی به منبعی که اصلا وجود ندارد.

با اجرای دستور زیر در طرف لینوکس کلاینت میتوانید از اجرای سرویس smb در سرور مطمین شوید.

nmblookup –B 192.168.1.100 __SAMBA__

که آدرس آی پی مذکور مربوط به سامبا سرور میباشد.

با اجرای دستور زیر میتوانید از وضعی netbios broadcast آگاه بشوید.

nmblookup –d 2 ‘*’

برای اجرا شدن سرویس smb موقع بوت شدن سیستم دستور زیر را وارد کنید.

chkconfig smb on

در نهایت شما از ابزارهای همچون webmin و swat میتوانید بصورت web based و در محیط گرافیکی، سامبا را مدیریتبکنید. لازم بذکر است که برای استفاده از webmin در نوار آدرس http://localhost:10000 و برای swat http://localhost:901 را وارد میکنیم.

نویسنده: مهدی رحیمی

پست الکترونیکی: Rahimi_gnu@yahoo.com

تاریخ: ۲۹/۰۲/۸۴

منبع: http://www.samba.org
Index :: Print :: E-mail
بی شک دیدگاه هر کس نشانه تفکر اوست , ما در برابر نظر دیگران مسئول نیستیم
فرستنده شاخه
کاربران حاضر
2 کاربر آن لاين است (1 کاربر در حال دیدن سایت مقالات)

عضو: 0
مهمان: 2

ادامه...

کاربران برتر
1 | hosseini | 289
2 | m_pahlevanzadeh | 189
3 | sh_roohani | 180
4 | mohamo_82 | 88
5 | rahimi_m | 47
6 | mehran | 43
7 | joker | 40
8 | Darioush | 32
9 | wekde | 29
10 | arashbi | 28

آخرین مقالات
  • محل جاري مكان نما در C(درس ۳)
  • فارسی نویسی در محیط Gnome
  • فارسی نویسی در محیط KDE
  • آموزش نصب لینوکس (فدورا)
  • اضافه کردن یک هارد دیسک جدید به لینوکس
  • ساختار یک برنامه C(درس ۲)
  • پیش از نصب و راه اندازی PHP(درس ۲)
  • گشتی میان یازده توزیع لینوکس
  • کار با سامبا، سرویس دهی بین لینوکس و ویندوز(۲)
  • کار با سامبا، سرویس دهی بین لینوکس و ویندوز(۱)
  • زبان PHP(درس ۱)
  • مقدمات زبان C
  • رمزنگاری
  • افزایش بازدهی هارد دیسک بوسیله ابزار hdparm
  • آموزش نحوه برنامه نویسی ++C در لینوکس
  • نصب Gxine
  • Makefile چيست؟
  • کار با کلیدهای امنیتی GPG
  • روشهای مختلف نصب برنامه در لینوکس
  • رفع مشکل راست به چپ در openoffice 2.0 نرم افزار calc.

فایلهای برتر
  • ترجمه نرم افزار moodle به فارسی (51)
  • روشهای مختلف نصب برنامه در لینوکس (47)
  • فصل اول کلاس سی پلاس پلاس (43)
  • مقاله نصب لینوکس توزیع فدورا (36)
  • فارسی نویسی در محیط Gnome (34)
  • فارسی نویسی در محیط KDE (30)
  • فصل اول کلاس سی پلاس پلاس (18)
  • کار با کلیدهای امنیتی GPG (16)


شناسه کاربری:

واژه رمز:

واژه رمز را فراموش کرده اید؟

عضو شوید

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

موضوعات اخیر
Topic | Replies | Last Post
معذرت | 0 | 19:04 Friday 7 October 2005 m_pahlevanzadeh
best assembler | 2 | 18:29 Friday 7 October 2005 m_pahlevanzadeh
live cd برای development | 2 | 18:14 Friday 7 October 2005 m_pahlevanzadeh
DocBook & WYSIWYG | 2 | 18:05 Friday 7 October 2005 m_pahlevanzadeh
کلامی با مدیران سایت | 7 | 11:11 Tuesday 4 October 2005 hosseini
lotfan be man komak konid | 1 | 9:08 Monday 3 October 2005 hosseini
شروع | 2 | 11:00 Sunday 25 September 2005 hosseini
جایگزینی برای jreport | 0 | 17:54 Wednesday 21 September 2005 MOHAMMAD
rigi commang | 3 | 19:00 Sunday 11 September 2005 m_pahlevanzadeh
rigi | 3 | 18:47 Friday 9 September 2005 m_pahlevanzadeh
ماژول Math در پیتون | 3 | 20:08 Sunday 4 September 2005 navidjoon
وعده ها در حال اجراست...... | 6 | 18:50 Sunday 4 September 2005 hosseini
moshkele grub | 5 | 10:56 Sunday 4 September 2005 مهمان
به دنبال سابجکت! | 1 | 1:02 Wednesday 31 August 2005 m_pahlevanzadeh
ترجمه‌ی تاریخچه‌ي دبیان | 18 | 15:19 Tuesday 30 August 2005 مهمان
کار جالبی نیست .!!!! | 8 | 8:59 Tuesday 30 August 2005 m_pahlevanzadeh
درباره freepascal | 6 | 0:53 Monday 29 August 2005 m_pahlevanzadeh
چرا Perl? | 0 | 22:55 Saturday 27 August 2005 m_pahlevanzadeh
netbios | 1 | 21:20 Saturday 27 August 2005 m_pahlevanzadeh
سایت بی سروصدا ...! | 2 | 14:48 Thursday 25 August 2005 mohamo_82
Visit Forums

گشتی میان یازده توزیع لینوکس
Posted on Sat 09 Jul 2005 (251 reads)

گشتی میان یازده توزیع لینوکس

از جمله مباحث داغی که این روزها در دنیای کامپیوتر خصوصاً مبحث سیستم عامل مطرح است ، اقدامات متقابل مایکروسافت و لینوکس برای مقابله با یکدیگر و در دست گرفتن بازار سیستم عامل ها‌ی Server و Client بوسیله محصولاتشان است . آنچه که موجب شده جنبش OpenSource و سایر تولیدات آن مخصوصاً در زمینه Server مورد توجه سایر شرکتها و سازمانهای دولتی و غیر دولتی کشورهای جهان مخصوصاً مراکز امنیتی و استراتژیک قرار گیرد ، پایداری ، سرعت ،‌ امنیت بالا و هزینه پایین آن نسبت به محصولات مشابه مایکروسافت و دیگر کمپانی هاست . از عوامل اساسی که باعث گردیده لینوکس ،‌سیستم عامل های پایدارتری چه در زمینه Server و چه Client را نسبت به مایکروسافت ارائه دهد ،‌آگاهی برنامه نویسان و متخصصین سیستم از متویات کد هسته سیستم عامل و بازبینی و اصلاح مستمر آن است که در صورت بروز کوچکترین مشکلی در آن و گزارش bug موجود توسط هر یک از کاربران لینوکسی به توسعه دهندگان نسخه مربوطه ، ظرف مدت زمان کوتاهی ، تیم عظیمی از برنامه نویسان در اقصی نقاط دنیا با دسترسی به کد منبع oS قادر به تصحیح خطا و ارائه نسخه اصلاح شده آن و Pach های آن در اینترنت خواهد بود ، که بدینوسیله ظرف کمتر از چند روز مشکل ایجاد شده برطرف می گردد . از دیگر مواردی که در توسعه روز افزون سیستم عامل لینوکس موثر است ، تنوع موجود در بین توزیع های مختلف این سیستم عامل است که حتی برخی از توزیع ها تنها برای قشر خاصی از کابران یا افراد جامعه طراحی شده اند ، مانند لینوکس Oralux که برای استفاده نابینایان و افرادی که دارای مشکل بینایی هستند تولید شده است و یا yellow dog که مختص کامپیوترهای Apple , Power PC طراحی شده است . هم اکنون بیش از ۱۰۰توزیع گوناگون با قابلیتهای مختلف برای لینوکس وجود دارد که نسخه های تجاری و آزاد آنها جهت نصب و راه اندازی در سیستم های خانگی و سرور موجود می باشند . از دیگر نکات جالبی که در برخی از توزیع ها با آن برخورد می کنیم ، Live بودن سیستم عامل است . بدین معنا که با استفاده از یک Boot device خارجی مثل CD-Rom یا حافظه Flash می توان سیستم عامل را در حافظه کامپیوتر مستقر کرده و توسط آن به مدیریت سیستم بپردازیم . چنین نسخه هایی بیشتر در امور آموزشی و debug کردن سیستم ها و بازیابی سیستم های آسیب دیده بکار برده می شوند .

در این مقاله قصد داریم به بررسی برخی از توزیع های شناخته شده و موفق موجود پرداخته و مقایسه ای را بین آنها از لحاظ نوع کارکرد و معماری آنها انجام دهیم ، در صورت تمایل و جهت مشاهده سایر توزیع های موجود در لینوکس می توانید به سایت distrowatch.com نیز مراجعه نمایید.

-۱ توزیع Fedoracore :

ا ز معروفترین و کاربردی ترین نسخه های لینوکس که خصوصاً هنوز هم عده زیادی در ایران لینوکس را با این توزیع می شناسند ،‌ Redhat است که تا نسخه ۹ آن به بازار ارائه گردید و پس از آن کمپانی Redhat در ۲ توزیع Redhat Enterprise , Fedoracore اقدام به ارائه محصولات خود کرد . Fedora core که برگرفته از معماری Red hat است ، اولین نسخه خود را در نوامبر 2003 تحت گواهی(GPL (General purpose Licens و به مشکل رایگان به بازار سیستم عامل عرضه کرد . آخرین نسخه پایدار آن Fedora core3 بوده که مبتنی بر هسته 2.6.9 می باشد . برخلاف سیستم فایلهای ویندوزی چون FAT, NTFS ، در لینوکس با سیستم فایل های خاص دیگری برخورد می کنیم که متناسب با معماری لینوکس طراحی شده اند . سیستم فایل Fedora ، extention می باشد ولی قابلیت پشتیبانی از سیستم فایلهای دیگری چون ext2 ،Reiser Fs ، NFS، FAT و UDF را داراست . از این سیستم عامل در پلتفورم های X86 و همچنین معماری 64 بیتی X86 و پردازنده های Motorlla موجود درPower PC ها می توان استفاده کرد . ابزار پیشفرضی که سیستم عامل از آن جهت بروزرسانی Online خود استفاده می کند ، نرم افزارهای yum و up2date می باشند همچنین بسته های نرم افزاری قابل استفاده در Fedora از فرمت ( Red hat Package Manager ) RPM جهت نصب و راه اندازی خود استفاده می نمایند . محیط کاری پیش فرض در این سیستم عامل و Gnome بوده و مرورگر پیش فرض آن Natilus می باشد . از دیگر محاسن قابل توجه آن وجد مجموعه نرم افزارهای Gnome office , Koffice, Open offic .org به شکل پیش فرض در آن می باشد . نسخه 3 این توزیع جز نسخه هایی است که بلحاظ سادگی و روانی کار با آن برای افرادی که می خواهند برای اولین بار با لینوکس کار کنند ، توصیه می شود .

-۲ توزیع Debian :

از توزیع های تخصصی و حرفه ای لینوکس می باشد که از لحاظ پایداری و امنیت رتبه بسیار خوبی را در بین سایر توزیع ها داراست . اولین نسخه Debian در آگوست 1993 انتشار یافت و شامل نسخه های stable (‌پایدار) و unstable ( ناپایدار)‌می باشد . آخرین نسخه پایدار آن Debia woody 3.org می باشد که بیشتر در کامپیوتر های Server مورد استفاده قرار می گیرد و از نسخه هایunstabe آن به Debian Sarge می توان اشاره کرد نسخه پیش فرض هسته آن 2.2.20 ,2.4.18 بوده و تقریباً تممی پلتفورم های موجود شامل X86,SPARC, ALPHA, MIPS, RISC, Mac/VME, IA64, S/390 را پشتیبانی می کند ابزار بروز رسانی این OS، APT بوده و کلیه بسته های نرم افزاری تحت آن با توسعه deb. قابل نصب و استفاده می باشند . ( برخلاف Red hat وfedora که از RPM استفاده می کنند ) این توزیع نیز همانند Fedora از سایر سیستم فایلهای تحت لینوکس چون JFS، XFS،Reiser Fs و سیستم فایلهای ویندوزی چون FAT و NTFS پشتیبانی می کند ولی سیستم فایل پیش فرض آن ext3/ext2 می باشد .

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

-۳ توزیع SuSE :

یک توزیع آلمانی الاصل ! که در مارس 94 توسط کمپانی SuSE به بازار آمد و هم اکنون در اختیار شرکت Novell می باشد . آخرین نسخه این توزیع 9.3 بوده و تحت گواهی GPL بصورت مجانی از اینترنت قابل Downlod و استفاده می باشد . سادگی کار در محیط این سیستم عامل و قدرت تشخیص بالای سایر قطعات سخت افزاری نسبت به دیگر توزیع ها ،‌ آن را به توزیعی مناسب جهت استفاده افراد مبتدی و تازه کار تبدیل می کند . نسخه Professional آن در 5 نسخه عرضه شده است شامل بیش از 2000 بسته نرم افزاری است که نرم افزارهای متنوعی شامل مجموعه games, Internet, Mulimedia , Open office .org و سایر Application های مورد نیاز کابران را دارا می باشد . نصب این توزیع نیز بسیار راحت و بی دردسر بوده و افرادی که مایل هستند SuSE را در کنار ویندوز خود داشته باشند براحتی توسط CD اول SuSE ( زوزه ) قادر به انجام این کار هستند .کرنل این توزیع 2.6.11 است و از سیستم فایل پیش رض خود استفاده می کند . اینتوزیع از معدود توزیع هایی است که نسخه 24 بیتی خود را برای نصب بر روی پردازنده های 64 بیتی نیز به بازار ارائه داده است و با معماری های X86, IA64, Power pc سازگار است . نصب بسته های نرم افزاری در این سیستم عامل توسط ابزار RPM صورت گرفته و جهت بروز رسانی و پیکربندی سایر اجزاء آن از Yast استفاده می گردد .

-۴ توزیع Knoppix :

یک توزیع آلمانی دیگر که برای بیشتر لینوکس کاران کشورمان شناخته شده است . اولین لینوکس فارسی ، شبدیکس ، بر اساس این توزیع نوشته و پیکربندی گردیده Knoppix مبتنی بر توزیع Debian بوده و توسط Klaus Knopper نوشته شد و آخرین نسخه پایدار آن 3.8.1 می باشد که تحت گواهی GPL در دسترس عموم قرار دارد. تنها پلتفورم قابل پشتیبانی توسط این سیستم عامل معماری X86 بوده و سیستم فایل پیش فرض آن XFS می باشد . هسته Knoppix همانند پسر عموی آلمانی خود SuSE، 2.6.11 است ولی چون مبتنی بر Debian است ، به جای فرمت RPM از فرمت deb. جهت نصب بسته های نرم افزاری استفاده می کند . محیط گرافیکی پیش فرض این توزیع KDE بوده و شامل مجموعه نرم افزارهای Open office .org مانند Writer ،‌ Impressو Calcمی باشد.

-۵ توزیع Slackware Linux :

Slack wure در ژولای 1993 توسط Potrick Volkerding بر اساس توزیع SLS ،‌تحت گواهی GPL و همانند دیگر توزیع های عنوان شده بصورت رایگان در اختیار همگان قرار گرفت . هسته این توزیع 2.4.29 بوده و از سیستم فایلهای ext2, ext3, Reiser FS به عنوان سیستم فایل پیش فرض خود استفاده می کند . آخرین نسخه Slackware و 10.1 بوده و جزء توزیع های تخصصی لینوکس محسوب می گردد که استفاده از آن برای تازه کارها بدلیل عدم داشتن واسط گرافیکی توانمند توصیه نمی شود . معماری معماریهای سازگار با Slackware , X86, IA64 و S/390 می باشد که از ابزار Swaret و Spalt- get جهت بروزرسانی خود استفاده می کند. مرورگر فیل این توزیع Konqerer و محیط کاری پیش فرض آن KDE می باشد که حاوی مجموعه نرم افزارهای Koffice است .

-۶ توزیع Mandriva :

این توزیع را هنوز اکثر افراد با نام Mandrake Linux می شناسند که در جولای 1998 اولین نسخه آن مبتنی بر Red hat و تحت گواهی GPL ارائه گردید . آخرین نسخه پایدار آن Limited Edition 2005 می باشد که دارای هسته 2.6.11 است . نصب سایر نرم افزارهای درMandriva بدلیل برگرفته شدن آن از Red hat توسط مکانیزم RPM صورت می گیرد . Mandriva تقریباً تمام سیستم فایلهای موجود را پشتیبانی می کند ولی سیستم فایل پیش فرض آن ext3 بوده و قابل نصب بر روی پلتفورم های Power pc, X86 و پردازنده های 64 بیتیX86-64) Intel ) همانند SuSE نیز می باشد .وجود محیط گرافیکی گویا و سایر نرم افزارها و امکانات اولیه در Mandriva آنرا به توزیعی نسبتاً‌مناسب جهت آشنا کردن سایرین با لینوکس تبدیل کرده است .

-۷ توزیع Gentoo :

از دیگر توزیع حرفه ای وآنتی مبتدی !!! لینوکس که توسط Gentoo Foundation در مارس 2002 تحت گواهی GPL و به شکل رایگان ارائه گردید . آخرین نسخه پایدار آن 2005.0 و همانند Suse و Mandriva دارای هسته 2.6.11 می باشد. نصب این توزیع نیز فاقد هر گونه واسط گرافیکی بوده و تمام فرآیند نصب آن باید بصورت دستی و مبتنی بر Document های همراه آن صورت گیرد . سیستم فایل پیش فرض آن توسط کار بر قابل تعیین بوده و تمام سیستم فایل های موجود در لینوکس را پشتیبانی می نماید . Gentoo خود مبتنی بر توزیعی به نام Enoch است که همانند SuSE و Mandriva بر روی پلتفورم های 64 بیتی X86-64) Intel ) و PPC و نیز پلتفورم های ALPHA, MIPS, SPARC و SPARAC64 قابل نصب و راه اندازی است . هیچ نرم افزار و بسته ای در زمان نصب این توزیع به صورت پیش فرض نصب نمی شود و تنها با انتخاب کاربر قابل نصب و استفاده می باشند . ابزار بروز رسانی موجود در Gentoo جهت دریافت و اعمال آخرین تغییرات در سیستم عامل آخرین تغییرات در سیستم عامل ، emerge می باشد !

-۸ توزیع Ubuntu :

لینوکس Ubuntu ( اوبونتو)‌ در اکتبر 2004 توسط کمپانی Ganonical در آفریقای جنوبی و همانند اکثر توزیع های لینوکس تحت گواهی GPL عرضه گردید . اوبونتو که مبتنی بر Debian بوده و آخرین نسخه پایدار آن 5.04 می باشد که Cd های Live آن نیز در بازار موجود می باشد . سیستم فایل پیش فرض آن همانند Mandarke هم ext3 بوده و در سیستم های X86، Power pc و X86-84 قابل نصب و پشتیبانی می باشند . هسته اوبونتو 2.6.10 می باشد و توسط ( ubuntu update Manager) UuM قابل بروز رسانی است . Gnome محیط محیط گرافیکی پیش فرض این توزیع است و از Natilus به عنوان مرورگر فایل پیش فرض خود استفاده می کند . از دیگر مسائلی که در زمان انتخاب این توزیع باید در نظر گرفت عدم وجود واسط گرافیکی در زمان نصب آن می باشد !

-۹ توزیع Xandros Descktop OS :

این توزیع شامل معدود توزیع هایی است که تحت گواهی Proprietry و به سفارش کمپانیXandros در اکتبر 2002 مبتنی بر Corel Linux ارائه گردید . قیمت نسخه های تجاری آن بین 50 تا 90 دلار بوده و آخرین نسخه موجود آن 3 می باشد . برخلاف سایر توزیع ها این لینوکس فاقد خاصیت Multi Platform بوده و تنها در سیستم هایی با معماری X86 قابل نصب می باشد . هسته این سیستم عامل 2.6.9 بوده و از سیستم فایل Reiser FS به عنوان سیستم پیش فرض خود استفاده می کند . Xandors بدلیل اختصاصی بودنش و عدم سازگاری با سایر پلتفورم ها نسبت به توزیع های عنوان شده ،‌جایگاه پائین تری را در بازار Open Source داراست .

-۱۰ توزیع MEPIS :

در سپتامبر 2003 توسط Waren Woodford و مبتنی بر توزیع Debian نوشته شد . MEPIS نیز تحت گواهی GPL و بصورت رایگان قابل Download از اینترنت بوده و آخرین نسخه آن Simple MEPIS 3.3 می باشد . هسته آن 2.6.11 بوده و سیستم فایل پیش فرض آن ext3 می باشد که در عین حال قابلیت پشتیبانی از سایر سیستم فایل ها چون JFS،‌UDF،NTFS،Reiser FS،FAT،ext3،ISO9660 را داراست

این توزیع همانند Xandros تنها بر روی پلتفورم های X86 قابل نصب بوده و نرم افزارهای Open source تحت فرمت (Debian Package) deb. در ان قابل نصب و استفاده می باشند . مرورگر فایل MEPIS , Konquerer و محیط گرافیکی پیش فرض آن نیز KDE است .

-۱۱ Ly coris Descktop/ LX

لینوکسی که تحت گواهی به نام خودش (Lycoris License) توسط کمپانی Lycoris در اواخر سال 2001 با قیمتی بین 40 تا 75 دلاربه بازار عرضه شد . این توزیع برگرفته از توزیعی به نام Caldera Open Linux بوده و آخرین نسخه پایدار آن 104 می باشد . از معایب عمده این سیستم عامل ، وجه اشتراک آن با دو توزیع قبلی است که عدم پشتیبانی از Multi Platform و پشتیبانی صرف از معماری x86 می باشد ، که مانع از توسعه آن تحت سایر سیستم های موجود می گردد . هسته Lycoris ،2.4.27 و بسته های نرم افزاری RPM را پشتیبانی می کند . محیط پیش فرض این توزیع KDE است و در حالت پیش فرض نیز شامل مجموعه نرم افزارهای Koffice می باشد .

نویسنده: داوود سجادی

پست الکترونیکی: s.d.sajjadi@gawab.com

تاریخ: ۱۰/۰۴/۸۴
Index :: Print :: E-mail
بی شک دیدگاه هر کس نشانه تفکر اوست , ما در برابر نظر دیگران مسئول نیستیم
فرستنده | شاخه
arashbi | فرستاده شده در تاریخ: 10:46 Sunday 14 August 2005 به روز شده در تاریخ: 10:46 Sunday 14 August 2005
Not too shy to talk عضویت از: 2005/08/07 از: پیام: 28 | Re: گشتی میان یازده توزیع لینوکس من متخصص توزیعهای لینوکس نیستم و فقط debian را میشناسم و متاسفانه هر چه در مورد آن نوشته‌اید اشتباه است!<img border="0" src="/html/class/editor/plugins/emotions/images/smiley-undecided.gif" /><br />
 | پاسخ
کاربران حاضر
2 کاربر آن لاين است (1 کاربر در حال دیدن سایت مقالات)

عضو: 0
مهمان: 2

ادامه...

کاربران برتر
1 | hosseini | 289
2 | m_pahlevanzadeh | 189
3 | sh_roohani | 180
4 | mohamo_82 | 88
5 | rahimi_m | 47
6 | mehran | 43
7 | joker | 40
8 | Darioush | 32
9 | wekde | 29
10 | arashbi | 28

آخرین مقالات
  • محل جاري مكان نما در C(درس ۳)
  • فارسی نویسی در محیط Gnome
  • فارسی نویسی در محیط KDE
  • آموزش نصب لینوکس (فدورا)
  • اضافه کردن یک هارد دیسک جدید به لینوکس
  • ساختار یک برنامه C(درس ۲)
  • پیش از نصب و راه اندازی PHP(درس ۲)
  • گشتی میان یازده توزیع لینوکس
  • کار با سامبا، سرویس دهی بین لینوکس و ویندوز(۲)
  • کار با سامبا، سرویس دهی بین لینوکس و ویندوز(۱)
  • زبان PHP(درس ۱)
  • مقدمات زبان C
  • رمزنگاری
  • افزایش بازدهی هارد دیسک بوسیله ابزار hdparm
  • آموزش نحوه برنامه نویسی ++C در لینوکس
  • نصب Gxine
  • Makefile چيست؟
  • کار با کلیدهای امنیتی GPG
  • روشهای مختلف نصب برنامه در لینوکس
  • رفع مشکل راست به چپ در openoffice 2.0 نرم افزار calc.

فایلهای برتر
  • ترجمه نرم افزار moodle به فارسی (51)
  • روشهای مختلف نصب برنامه در لینوکس (47)
  • فصل اول کلاس سی پلاس پلاس (43)
  • مقاله نصب لینوکس توزیع فدورا (36)
  • فارسی نویسی در محیط Gnome (34)
  • فارسی نویسی در محیط KDE (30)
  • فصل اول کلاس سی پلاس پلاس (18)
  • کار با کلیدهای امنیتی GPG (16)


شناسه کاربری:

واژه رمز:

واژه رمز را فراموش کرده اید؟

عضو شوید

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

موضوعات اخیر
Topic | Replies | Last Post
معذرت | 0 | 19:04 Friday 7 October 2005 m_pahlevanzadeh
best assembler | 2 | 18:29 Friday 7 October 2005 m_pahlevanzadeh
live cd برای development | 2 | 18:14 Friday 7 October 2005 m_pahlevanzadeh
DocBook & WYSIWYG | 2 | 18:05 Friday 7 October 2005 m_pahlevanzadeh
کلامی با مدیران سایت | 7 | 11:11 Tuesday 4 October 2005 hosseini
lotfan be man komak konid | 1 | 9:08 Monday 3 October 2005 hosseini
شروع | 2 | 11:00 Sunday 25 September 2005 hosseini
جایگزینی برای jreport | 0 | 17:54 Wednesday 21 September 2005 MOHAMMAD
rigi commang | 3 | 19:00 Sunday 11 September 2005 m_pahlevanzadeh
rigi | 3 | 18:47 Friday 9 September 2005 m_pahlevanzadeh
ماژول Math در پیتون | 3 | 20:08 Sunday 4 September 2005 navidjoon
وعده ها در حال اجراست...... | 6 | 18:50 Sunday 4 September 2005 hosseini
moshkele grub | 5 | 10:56 Sunday 4 September 2005 مهمان
به دنبال سابجکت! | 1 | 1:02 Wednesday 31 August 2005 m_pahlevanzadeh
ترجمه‌ی تاریخچه‌ي دبیان | 18 | 15:19 Tuesday 30 August 2005 مهمان
کار جالبی نیست .!!!! | 8 | 8:59 Tuesday 30 August 2005 m_pahlevanzadeh
درباره freepascal | 6 | 0:53 Monday 29 August 2005 m_pahlevanzadeh
چرا Perl? | 0 | 22:55 Saturday 27 August 2005 m_pahlevanzadeh
netbios | 1 | 21:20 Saturday 27 August 2005 m_pahlevanzadeh
سایت بی سروصدا ...! | 2 | 14:48 Thursday 25 August 2005 mohamo_82
Visit Forums

پیش از نصب و راه اندازی PHP(درس ۲)
Posted on Mon 11 Jul 2005 (205 reads)

پیش از نصب و راه اندازی PHP

پس از اینکه در مورد مزیتهای PHP صحبت کردیم و PHP را بعنوان یک زبان برنامه قابل شناخیم، حال می خواهیم با این زبان کار کنیم تا این زبان را بهتر و بیشتر بشناسیم.

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

  • استفاده از سرویس دهنده هایی(هاست) که زبان PHP را پشتیبانی نمایند.

  • نصب و راه اندازی این زبان بر روی سیستم شخصی یا سروری که با آن کار می کنید.

استفاده از سرویس دهنده ای جداگانه

اگر بخواهید از سرویس دهنده هایی که در سطح اینترنت استفاده کنید، کار مشکلی در پیش رو ندارید، فقط باید یکی از این سرویس دهنده هایی که PHP را پشتیبانی می کنند را پیدا کنید.

علاوه بر امکاناتی که در Chapter00 گفته شد، به نرم افزاری برای انتقال اطلاعات و فایل های خود به دستگاه سرویس دهنده نیاز خواهید داشت. برای انتقال می توانید از نرم افزارهای که پروتکل های FTP, SSH, SSH2 را به خوبی پشتیبانی نمایند استفاده کنید. بعنوان مثال می توانید از Gftp در لینوکس و Ws-frp pro در ویندوز استفاده نمایید، این نرم افزارها را در اینترنت به صورت رایگان می توانید پیدا کنید و دریافت کنید.

نصب و راه اندازی این زبان بر روی سیستم شخصی یا سروری که با آن کار می کنید

قبل از نصب PHP بر روی سرویس دهنده خود باید چندین نکته را مورد توجه قرار دهیم. در ابتدا باید توجه داشته باشید که آیا روی دستگاه شما PHP از قبل نصب شده است یا نه؟ برای اینکه مورد را تست نماییم می توانیم از یکی از توابع داخلی PHP بنام phpinfo استفاده نماییم.

این تابع وظیفه دارد که کلیه امکانات، حالات و خواص PHP نصب شده بر روی دستگاه ما را به ما نمایش دهد. برای استفاده از این تابع برای نمایش تمامی اطلاعات باید فایل را بسازیم و آنرا بویسله مرورگر خود فراخوانی نماییم.

نوشتن فایل phpinfo

بوسیله نرم افزار Note Pad یا Kwrite فایل جدیدی را باز نمایید در آن کد زیر را بنویسید:

<?php

phpinfo();

?>

زمانیکه کد بالا را در فایل خود وارد کردید فایل مورد نظر خود را با نام phpinfo.php ذخیره نمایید. توجه داشته باشید که حتما نام فایل را به درستی وارد نمایید.

کاربران ویندوز توجه داشته باشند که اگر با Note Pad کار می کنند فایل ذخیره شده ایشان با نام phpinfo.php.txt ذخیره شده است و این کاربران باید نام آنرا تغییر دهند، اگر می خواهید در زمان ذخیره سازی فایل، نام فایل شما بدون اینکه بعدا آنرا تغییر نام دهید، همان نام اصلی باشد، باید نام مورد نظر خود را داخل " کوتیشین قرار دهند، به این صورت "phpinfo” باید نوشته شود.

پس از اینکه فایل خود را ساختید باید این فایل را در آدرسی که سروریس دهنده وب شما به آن اشاره می کند انتقال دهید. به طور مثال در سیستم عامل لینوکس و سرویس دهنده آپاچی این مسیر به صورت پیشفرض در آدرس var/www/html/ قرار دارد، و در سیستم عالم ویندوز با سرویس دهنده آپاچی این مسیر به صورت پیشفرض در آدرس:

Your Drive:/Apache Group/Apache/htdocs

قرار دارد و همچنین در سرویس دهنده IIS این مسیر در آدرس:

Your Drive:\Inetpub\wwwroot

بعد از اینکه فایل phpinfo را در آدرس سرویس وب خود قرار دادید، حال بوسیله مرورگر خود آنرا به صورت زیر فراخوانی کنید:

در مرورگر خود آدرس زیر را بنویسید:

http://localhost/phpinfo.php

پس از اینکه این آدرس را وارد کردید وفایل خود را فراخوانی کردید باید یک صفحه که حاوی بلاک های آبی رنگ می باشد. این بلاک های آبی رنگ حاوی اطلاعاتی در مورد کامپایلر PHP و پیوست های وابسته به آن می باشد.

اگر این صفحه برای شما بارگذاری نشود، می تواند چندین حالت دیگر برای شما رخ دهد:

  • چیزی در صفحه نمایش داده نشود و در زمان نمایش سورس این صفحه شما با سورس PHP روبرو شود. (این خطرناک ترین حالت برای سرورهایی است که زبان php را پشتیبانی می کنند)

    در صورتی که با صفحه سفید مواجه شدید، بدین معنی است که سرویس دهنده وب شما به خوبی کار می کند ولی کامپایلر PHP شما نشناخته است.

  • با خطای ۴۰۴ مواجه شوید: در این صورت شما نام فایل را به درستی وارد نکرده اید یا اینکه در آدرسی که سرویس دهنده وب شما به آن سرویس میدهد فایل را قرار نداده اید.

  • با خطای ۵۰۰ مواجه شوید: در این صورت وب سرور شما به درستی تنظیم نشده است و درست سرویس دهی نمی کند.

پس از اینکه از نصب بودن کامپایلر PHP روی دستگاه خود اطمینان حاصل کردید، یا شما PHP را روی دستگاه خود دارید که دیگر نیازی به نصب و راه اندازی آن ندارید و یا اینکه PHP روی دستگاه شما نصب نیست و باید آنرا نصب کنید.

بسته های مورد نیاز

همانطور که در فصل قبل گفته شد. برای نصب و راه اندازی PHP به یک سری امکانات و نرم افزارها نیاز دارید. در این قسمت این بسته های نرم افزاری را به شما معرفی می کنیم:

  • وب سرور Apache ، که بهترین گزینه برای کار با php می باشد، البته IIS هم گزینه دیگری است که می توانید آنرا در سیستم عامل ویندوز بکار بگیرید، ولی در به کارگیری بعضی از پیوست های PHP ممکن است دچار مشکل شوید. شما می توانید این بسته نرم افزاری را از سایت رسمی این نرم افزار یعنی http://apache.org دریافت کنید. (این نرم افزار به صورت رایگان ارائه می شود)

  • بسته نرم افزار PHP که می توانید آنرا در سایت رسمی آن http://php.net پیدا کنید و آنرا دریافت کنید. سعی کنید آخرین نسخه آنرا که در حال حاضر ۴.۴.۲ می باشد را دریافت کنید. (البته PHP دارای نسخه ۵ هم می باشد که هنوز به صورت آزمایشی ارائه می گردد)

  • بسته نرم افزاری Mysql بهترین بانک اطلاعاتی که با PHP کاملا سازگار می باشد و دارای بیشترین سرعت می باشد. این نرم افزار را می توانید از آدرس http://mysql.org دریافت کنید.

  • بسته نرم افزاری برای مدیریت راحت تر بانک اطلاعاتی Mysql مورد نیاز است که می توانید از نرم افزار Mysqlcc استفاده کنید که در سایت همان http://mysql.org وجود دارد. یا می توانید از نرم افزار phpmyadmin استفاده نمایید که در آدرس http://phpmyadmin.org موجود می باشد. (برای مدیریت راه دور بانک اطلاعاتی خود بهتر است از نرم افزار phpmyadmin استفاده نمایید.)

  • ویرایشگری مناسب برای ویرایش فایلهای php، همانطور که گفته شد می توانید از Note Pad یا Kwrite استفاده کنید. ولی یکی از بهترین گزینه ها در هر دو سیستم عامل ویندوز و لینوکس نرم افزاری به Active State Komodo می باشد که می توانید آنرا از آدرس http://activestate.com

    دریافت کنید.

  • مرورگری که انتخاب می کند شاید زیاد ارتباطی با کدهای PHP نداشته باشد. ولی می توانید از مرورگرهایی همانند Firefox یا Opera برای بالا بردن سرعت مرور خود استفاده کنید.

تصمیم گیری در هنگام نصب

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

نصب PHP به صورت Module یا CGI

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

توجه داشته باشید که شما می توانید PHP را به هر دو صورت و همزمان استفاده نمایید.
Index :: Print :: E-mail
بی شک دیدگاه هر کس نشانه تفکر اوست , ما در برابر نظر دیگران مسئول نیستیم
فرستنده | شاخه
مهمان | فرستاده شده در تاریخ: 19:02 Friday 15 July 2005 به روز شده در تاریخ: 19:02 Friday 15 July 2005
 | Re: پیش از نصب و راه اندازی PHP(درس ۲) عالی بود دست شما درد نکنه
 | پاسخ
کاربران حاضر
2 کاربر آن لاين است (1 کاربر در حال دیدن سایت مقالات)

عضو: 0
مهمان: 2

ادامه...

کاربران برتر
1 | hosseini | 289
2 | m_pahlevanzadeh | 189
3 | sh_roohani | 180
4 | mohamo_82 | 88
5 | rahimi_m | 47
6 | mehran | 43
7 | joker | 40
8 | Darioush | 32
9 | wekde | 29
10 | arashbi | 28

آخرین مقالات
  • محل جاري مكان نما در C(درس ۳)
  • فارسی نویسی در محیط Gnome
  • فارسی نویسی در محیط KDE
  • آموزش نصب لینوکس (فدورا)
  • اضافه کردن یک هارد دیسک جدید به لینوکس
  • ساختار یک برنامه C(درس ۲)
  • پیش از نصب و راه اندازی PHP(درس ۲)
  • گشتی میان یازده توزیع لینوکس
  • کار با سامبا، سرویس دهی بین لینوکس و ویندوز(۲)
  • کار با سامبا، سرویس دهی بین لینوکس و ویندوز(۱)
  • زبان PHP(درس ۱)
  • مقدمات زبان C
  • رمزنگاری
  • افزایش بازدهی هارد دیسک بوسیله ابزار hdparm
  • آموزش نحوه برنامه نویسی ++C در لینوکس
  • نصب Gxine
  • Makefile چيست؟
  • کار با کلیدهای امنیتی GPG
  • روشهای مختلف نصب برنامه در لینوکس
  • رفع مشکل راست به چپ در openoffice 2.0 نرم افزار calc.

فایلهای برتر
  • ترجمه نرم افزار moodle به فارسی (51)
  • روشهای مختلف نصب برنامه در لینوکس (47)
  • فصل اول کلاس سی پلاس پلاس (43)
  • مقاله نصب لینوکس توزیع فدورا (36)
  • فارسی نویسی در محیط Gnome (34)
  • فارسی نویسی در محیط KDE (30)
  • فصل اول کلاس سی پلاس پلاس (18)
  • کار با کلیدهای امنیتی GPG (16)


شناسه کاربری:

واژه رمز:

واژه رمز را فراموش کرده اید؟

عضو شوید

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

موضوعات اخیر
Topic | Replies | Last Post
معذرت | 0 | 19:04 Friday 7 October 2005 m_pahlevanzadeh
best assembler | 2 | 18:29 Friday 7 October 2005 m_pahlevanzadeh
live cd برای development | 2 | 18:14 Friday 7 October 2005 m_pahlevanzadeh
DocBook & WYSIWYG | 2 | 18:05 Friday 7 October 2005 m_pahlevanzadeh
کلامی با مدیران سایت | 7 | 11:11 Tuesday 4 October 2005 hosseini
lotfan be man komak konid | 1 | 9:08 Monday 3 October 2005 hosseini
شروع | 2 | 11:00 Sunday 25 September 2005 hosseini
جایگزینی برای jreport | 0 | 17:54 Wednesday 21 September 2005 MOHAMMAD
rigi commang | 3 | 19:00 Sunday 11 September 2005 m_pahlevanzadeh
rigi | 3 | 18:47 Friday 9 September 2005 m_pahlevanzadeh
ماژول Math در پیتون | 3 | 20:08 Sunday 4 September 2005 navidjoon
وعده ها در حال اجراست...... | 6 | 18:50 Sunday 4 September 2005 hosseini
moshkele grub | 5 | 10:56 Sunday 4 September 2005 مهمان
به دنبال سابجکت! | 1 | 1:02 Wednesday 31 August 2005 m_pahlevanzadeh
ترجمه‌ی تاریخچه‌ي دبیان | 18 | 15:19 Tuesday 30 August 2005 مهمان
کار جالبی نیست .!!!! | 8 | 8:59 Tuesday 30 August 2005 m_pahlevanzadeh
درباره freepascal | 6 | 0:53 Monday 29 August 2005 m_pahlevanzadeh
چرا Perl? | 0 | 22:55 Saturday 27 August 2005 m_pahlevanzadeh
netbios | 1 | 21:20 Saturday 27 August 2005 m_pahlevanzadeh
سایت بی سروصدا ...! | 2 | 14:48 Thursday 25 August 2005 mohamo_82
Visit Forums

ساختار یک برنامه C(درس ۲)
Posted on Sun 17 Jul 2005 (153 reads)

ساختار یك برنامه C

ابتدا به تشریح ساختار كلی یك برنامه C می پردازیم. از این به بعد شما چنین ساختاری را زیاد خواهید دید. برای آغاز این تشریح یك برنامه C را به صورت نمونه ارائه می كنیم.

كرنیگان و ریچی در صفحه ۹ كتاب معروفشان The C Programming Language می نویسند:

تنها راه یادگیری یك زبان برنامه نویسی جدید، نوشتن برنامه هایی به آن زبان است. اولین برنامه ای كه می نویسیم برای همه زبانها یكسان است:

واژه های hello, world را چاپ كن.

ما هم با همان برنامه مشهور شروع می كنیم. البته چیزهای كمی هم به آن اضافه می كنیم تا كارمان را هماهنگ با دیتل پیش ببریم:

/*Program: hello.c

This programm prints “hello, world” on the display screen.*/

#include < stdio.h >

/* Function main begins program execution */

int main()

{ /* Begin function main */

printf(“hello, world\n”);

return 0; /* Returning zero means that program ended

withount any error*/

} /* End function main */

این برنامه را تایپ، كامپایل و اجرا كنید. خواهید دید كه خروجی آن عبارت hello, world خواهد بود و پس از آن هم اعلان خط دستور (DOS یا UNIX) را در آغاز خط بعد خواهید دید.

تبریك! شما از داخل یك برنامه C به دنیا سلام كردید. (-:

تشریح برنامه

در آغاز این برنامه متنی را می بینید كه در دو خط گسترده شده است. این متن با علامت /* آغاز می شود و با علامت */ پایان می یابد. به چنین متنی توضیحات (Comments) می گوییم.

هر متنی كه مابین دو علامت /* و */ قرار گرفته باشد، توسط كامپایلر نادیده انگاشته می شود. به همین دلیل هم از این قابلیت می توان برای قرار دادن توضیحات در داخل برنامه استفاده كرد. همچنین می توانیم قسمتی از كد را كه به هر دلیل موقتا نمی خواهیم كامپایل شود، به صورت توضیحات در بیاوریم.

پس از توضیحات اول برنامه، این خط را می بینیم:

#include < stdio.h >

هر خطی از كد كه با علامت # شروع شود، راهنمای پیش پردازنده (Preprocessor directive) نامیده می شود. علت این است كه پیش از كامپایل شدن كد، برنامه ای به نام پیش پردازنده C یا C Preprocessor یا CPP كد ما را می خواند و بر اساس آنچه كه پس از علامت # آمده كارهای خاصی را انجام می دهد.

در اینجا، این كار خاص عبارتست از ضمیمه كردن (include) محتوای فایلی به نام stdio.h به برنامه ما. البته این ضمیمه كردن، تغییری در كد اصلی كه ما نوشته ایم ایجاد نمی كند و اثر آن فقط در كد كامپایل شده اعمال می شود. در فایل stdio.h تعاریفی برای كارهای استاندارد ورودی/خروجی قرار دارد. مثلا توابعی كه به درد چاپ كردن یك متن روی صفحه نمایش و یا گرفتن مقدار یك متغیر از كاربر می خورند. در مجموع اگر محتوای این فایل را به وسیله راهنمای include# به ابتدای برنامه مان اضافه نكنیم،‌ كامپایلر C از كدی كه در ادامه برای نمایش عبارت hello, world نوشته ایم ایراد می گیرد و آن را كامپایل نمی كند. خوب بیچاره تقصیری هم ندارد، چون نمی داند چطور باید اینكار را انجام دهد!

در اینجا فقط اشاره می كنم كه به فایلهایی مانند stdio.h كه پسوند h دارند‌، اصطلاحا سرفایل (Header file) می گوییم. علت این نامگذاری را كمی بعد برایتان شرح خواهم داد.

خوب، پس از آن یك خط دیگر هم توضیحات داریم كه فعلا دیگر در باب توضیحات، توضیحات اضافه نمی دهم!

و اما…

… واما در خط بعد به عبارت ()int main بر می خوریم. رسیدیم به یكی از اساسی ترین عناصر زبان C، یعنی توابع.

هر برنامه C دست كم از یك تابع تشكیل شده است، البته بیشتر از یك تابع هم می تواند داشته باشد، و معمولا هم بیشتر از یك تابع دارد. اما اساسی ترین آنها تابعی است به نام main كه در همه برنامه های C باید وجود داشته باشد و آن «دست كم یك تابع» كه به آن اشاره كردم هم همین تابع main است. در واقع سیستم عامل باید بداند وقتی برنامه ای را برای اجرا به حافظه می آورد، نقطه شروع (Entry point) آن كجاست. این تابع main همان نقطه شروع همه برنامه های C است. عبارت ()int main هم نقطه شروع و آغاز تعریف تابع main است. این تابع main به دو سه شكل مختلف تعریف می شود كه البته فعلا برای ما همین شكلی كه در برنامه دیدید خوب است.

در این خط، پرانتز ها به كامپایلر می گویند كه main یك تابع است. در واقع در زبان C، هر تابعی بعد از اسمش یك جفت پرانتز باز و بسته دارد كه اگر پارامتر ورودی داشته باشد، آن پارامتر(ها) را در بین آن پرانتز ها فهرست می كنیم. عبارت int‌ هم به كامپایلر می گوید كه این تابع پس از انجام عملیات داخلی اش، مقداری از نوع صحیح (integer) را به سیستم عامل برمی گرداند (returns).

در خط بعدی، یك علامت آكولاد (brace) باز می بینید.

به عنوان یك قاعده كلی به خاطر داشته باشید كه در زبان C، هر جایی كه یك علامت پرانتز باز، آكولاد باز یا كروشه باز ببینید، باید در جایی دیگر (و حتما در ادامه آن، نه قبل از آن) معادل بسته آن را هم ببینید. وگرنه آن برنامه ایراد خواهد داشت و كامپایل نخواهد شد.

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

خوب، آنچه كه بین جفت آكولاد باز و آكولاد بسته قرار می گیرد به یك بلوك (block) از دستورات معروف است و در این مورد خاص به آن بدنه (body) تابع هم می گویند. چون اولین دستور تابع بلافاصله بعد از آكولاد باز و آخرین دستور تابع بلافاصله قبل از آكولاد بسته است.

اما خط بعد، خطی است كه ما را به مقصودمان می رساند. یعنی عبارت hello, world را روی صفحه چاپ می كند. در این خط ما از تابع printf استفاده می كنیم. در اینجا یاداوری یك نكته خالی از فایده نیست و آن اینكه در فصل قبل گفتیم زبان C برای كارهای ورودی/خروجی خود از توابع كتابخانه ای استفاده می كند. printf یكی از آن توابع است. تابع printf متنی را كه در میان كوتیشن های دوتایی (Double-quotes) قرار گرفته به عنوان پارامتر ورودی می پذیرد و آن را روی صفحه نمایش در جایی كه مكان نما قرار دارد، چاپ می كند. فعلا به مقدار برگشتی تابع printf كاری نداریم. هرچند كه این تابع مقداری را برمی گرداند، در زبان C می توانیم از مقدار برگشتی توابع صرفنظر كنیم. بنابراین، فعلا از آن می گذریم ولی در آینده باز هم به این مسئله خواهیم پرداخت.

راستی به خاطر دارید كه در بالا گفتیم اگر محتوای فایل stdio.h را به برنامه مان ضمیمه نكنیم، كامپایلر زبان C از كدی كه برای چاپ hello, world نوشته ایم ایراد خواهد گرفت؟ منظورمان از آن كد همین تابع printf بود. چراكه الگوی این تابع یكی از دهها الگوی تابعی است كه در فایل stdio.h تعریف شده است.

خوب، قول دادم برایتان شرح بدهم چرا به فایلهایی با پسوند h می گوییم header. اگر فایل stdio.h كامپایلر خود را باز كنید و ببینید (می توانید در محیط مجتمع برنامه نویسی خود مثل ++Visual C یا Kdevelop آن را ببینید، یا در یك ویرایشگر متنی همچون Notepad، vi یا emacs) به خطوطی شبیه آنچه در ادامه می آید بر می خورید:

_CRTIMP int __cdecl printf(const char *, ...);

البته آنچه كه شما می بینید، ممكن است اندكی تفاوت داشته باشد. این فایل مربوط به ++Visual C است. به هر صورت می توانید تشخیص دهید كه الگوی تابع printf در اینجا آمده است. پس بدنه تابع كجاست؟ بدنه تابع به صورت كامپایل شده در فایلهای كتابخانه (library) قرار دارد. چون ابتدای هر تابع در فایل header مربوط به آن قرار می گیرد، به آن فایل نام سرفایل یا header file را می دهیم.

بد نیست با دو اصطلاح هم آشنا شوید. به این الگو، prototype تابع هم می گویند. در ضمن ما prototype تابع را (كه می تواند مثل مورد printf در یك فایل هدر قرار گرفته باشد، یا مستقیما در فایل برنامه ما تایپ شده باشد) پیش از آغاز برنامه و تابع main ضمیمه می كنیم كه به این كار اصطلاحا اعلان تابع (Function declaration) می گوییم. چراكه با اینكار به كامپایلر اعلان می كنیم كه فعلا نام printf (یا هر نام تابع دیگری را كه اعلان كرده ایم) را به عنوان یك نام معتبر بپذیر و بر ما خرده مگیر(!) كه بعدا بدنه آن را هم در فایل كتابخانه مربوط به آن خواهی یافت.

به خطی كه تابع printf در آن قرار گرفته توجه كنید؛ از آغاز اسم تابع printf تا پایان خط یعنی كاراكتر نقطه ویرگول (Semicolon) یك عبارت (Statement) نامیده می شود.

نكته قابل توجه اینجاست كه در زبان C هر عبارت باید به یك نقطه ویرگول ختم شود. اما به یاد داشته باشید كه راهنماهای پیش پردازنده از این قاعده مستثنی هستند، چراكه آنها اصلا عبارات واقعی زبان C نیستند. یادتان هست كه گفتیم كامپایلر فقط بر اساس آنها كار خاصی انجام می دهد. آنها معمولا به جایگزینی كد یا فعال كردن یك قابلیت خاص در كامپایلر منجر می شوند. بعدا باز هم به این مسئله خواهیم پرداخت.

خوب، در باره نحوه كاربری تابع printf در این برنامه تقریبا همه چیز روشن است. همانطور كه می بینید متن مورد نظر ما كه قرار است روی صفحه چاپ شود، به صورت یك پارامتر به تابع printf داده شده است. در اینجا اصطلاحا می گوییم این پارامتر به تابع printf پاس (pass) شده است. دو علامت كوتیشن دوتایی كه در دو طرف متن می بینید، به كامپایلر می گوید كه این پارامتر به صورت یك ثابت رشته ای (String literal) به تابع پاس می شود. در زبان C ما همیشه ثوابت رشته ای را در بین یك جفت كوتیشن دوتایی قرار می دهیم.

تنها نقطه ابهام در این خط، آن علامت n\ در انتهای رشته است. این دیگر چیست؟ اگر دقت كرده باشید وقتی كه برنامه را اجرا می كنیم، این دو كاراكتر روی صفحه نمایش داده نمی شوند! این علامت، كه در واقع مجموع دو كاراكتری تشكیل دهنده آن از دید كامپایلر تنها یك كاراكتر در نظر گرفته می شود، می گوید كه از اینجا به بعد، هر كاری كه انجام شود، در ابتدای خط بعدی خواهد بود. یعنی مثلا اگر رشته ما به صورت hello, world\nfrom C بود، به شكل زیر چاپ می شد:

hello, world

from C

در زبان C به چنین علاماتی كه از یك بك اسلش ( \ ) و یك كاراكتر بعد از آن تشكیل می شوند (و طبیعتا نباید بین این دو كاراكتر فاصله ای قرار داد)، اصطلاحا Escape Character یا Escape Sequence گفته می شود. تركیب بك اسلش با كاراكتر بعد از آن همیشه به معنای یك كاراكتر است، نه دو كاراكتر. Escape character ها به همان شكلی كه در برنامه نوشته می شوند، چاپ نمی شوند. مثلا در اینجا، به جای اینكه شما روی صفحه نمایش n\ را ببینید، ملاحظه می كنید كه بلافاصله پس از رسیدن به n\ در رشته مورد نظر، مكان نما به ابتدای خط بعدی منتقل می شود. حرف n در اینجا مخفف تركیب new line به معنای خط جدید است.

n\ تنها Escape Character در زبان C نیست. در زیر چند تا از آنها فهرست شده اند:

Escape Sequence | شرح
\n | خط جدید. مكان نما را در ابتدای خط بعد قرار بده.
\t | Tab افقی. مكان نما را به محل Tab بعدی ببر.
\a | هشدار. زنگ سیستم را به صدا دربیاور.
\\ | بك اسلش. یك كاراكتر بك اسلش در رشته قرار بده.
\" | كوتیشن دوتایی. یك كوتیشن دوتایی در رشته قرار بده.

معنی n\ را فهمیدید. در مورد معنی t\ و a\ هم فعلا نگران نباشید. اما دو مورد آخر، یعنی \\ و "\ نیاز به كمی توضیح دارند.

دیدید كه ثابت رشته ای را در بین دو كاراكتر " قرار می دهیم. این بدان معناست كه هر جا كامپایلر به یك " برسد، انتظار دارد كه یك ثابت رشته ای شروع شود و هر جا به " بعدی برسد، انتظار دارد كه آن ثابت رشته ای پایان یابد. پس بدین ترتیب آیا این بدین معنی است كه ما هرگز نمی توانیم در داخل رشته كاراكتری خود، یك كاراكتر " داشته باشیم؟ خیر، چنین نیست. بلكه ما می توانیم با قرار دادن یك كاراكتر بك اسلش قبل از كاراكتر " به كامپایلر بفهمانیم كه این كاراكتر " به معنای پایان رشته نیست، بلكه می خواهیم به شكل " در داخل رشته ما قرار گیرد و هنگام چاپ هم دقیقا به شكل " نمایش داده شود.

خوب این از نحوه قرار دادن یك كوتیشن دوتایی در داخل رشته. اما می دانید كه كامپایلر هر جا به یك \ در داخل رشته برسد، انتظار دارد در تركیب با كاراكتر بعدی تشكیل یك Escape Sequence را بدهد. بنابراین شاید فكر كنید كه نمی توانیم خود كاراكتر بك اسلش را در رشته مان قرار دهیم و در صورت لزوم روی صفحه چاپ كنیم. باز هم چنین نیست. چراكه می توانیم به همان ترتیبی كه در مورد كوتیشن دوتایی عمل كردیم، اینجا هم عمل كنیم. یعنی یك Escape Sequence برای قرار دادن كاراكتر \ در رشته به كار بریم. این Escape Sequence در اینجا به صورت \\ خواهد بود. بك اسلش اول به كامپایلر می گوید كه یك Escape Sequence شروع شده و بك اسلش دوم می گوید كه به جای این Escape Sequence از كاراكتر \ استفاده كن.

در اینجا ممكن است یك چیز مبهم باشد و آن اینكه اگر كامپایلر هر دو كاراكترScape Sequence را یكی در نظر می گیرد و آن را با یك كاراكتر دیگر جایگزین می كند،‌چرا ما از اول خودمان این جایگزینی را انجام ندهیم؟! باید گفت كه این جایگزینی، درست مثل جایگزینی كه توسط راهنماهای پیش پردازنده انجام می گیرد، مربوط به كد كامپایل شده است و در كد منبع به زبان C انجام نمی شود. یعنی كامپایلر نیاز دارد اول به طریقی بفهمد كه باید جایگزینی را انجام دهد و بعد اینكار را در كد كامپایل شده انجام دهد. آن طریق، همان Escape Sequence است.

اما لازم است به یك مسئله توجه خاص كنید و آن اینكه نمی توانید با قرار دادن هر كاراكتر دلخواهی بعد از یك بك اسلش، آن تركیب را تبدیل به یك Escape Character كنید. در واقع اگر به Escape Character های تعریف شده C سعی كنید Escape Character دیگری بسازید و به كار ببرید، بسته به كامپایلرتان ممكن است یك پیغام خطا یا هشدار دریافت كنید و حتی اگر برنامه با یك پیفام هشدار كامپایل شود، رفتار آن در حین اجرا آن چیزی نخواهد بود كه انتظار دارید! البته برای نوشتن هر كاراكتر دلخواه به صورت Escape Character روش ساده ای وجود دارد كه بعدا كه درباره جدول ASCII و كاراكترها صحبت كنیم، به آن هم خواهیم پرداخت.

در خط بعدی و پیش از پایان بدنه تابع هم عبارت زیر را می بینید:

return 0;

این روش بازگرداندن مقدار توسط توابع در زبان C است. در واقع تابع مقداری را كه پس از كلیدواژه (Keyword) بازگشت، یعنی return، قرار داشته باشد، به محیط فراخواننده خود باز می گرداند. این مقدار باید از جنس مقدار بازگشتی باشد كه در اعلان تابع قید كرده ایم. در اینجا چون در الگوی تابع main مقدار بازگشتی آن int قید شده، مقدار قرارگرفته بعد از return هم باید از نوع صحیح باشد.

هر عبارتی كه پس از return (و پیش از آكولاد بسته پایان بدنه تابع) قرار گیرد، توسط كامپایلر نادیده گرفته می شود. بنابراین در یك تابع، نوشتن عبارات و دستورات پس از return و پیش از خروج از بدنه تابع بی فایده و بی اثر است.

سپس آكولاد بسته را می بینید كه همیشه علامت پایان یك بلوك از دستورات است و البته در اینجا به معنی پایان بدنه تابع نیز هست.

نویسنده: شهرام روحانی

پست الکترونیکی: sh_roohani@yahoo.com

تاریخ: ۲۶/۰۴/۸۴
Index :: Print :: E-mail
بی شک دیدگاه هر کس نشانه تفکر اوست , ما در برابر نظر دیگران مسئول نیستیم
فرستنده شاخه
کاربران حاضر
2 کاربر آن لاين است (1 کاربر در حال دیدن سایت مقالات)

عضو: 0
مهمان: 2

ادامه...

کاربران برتر
1 | hosseini | 289
2 | m_pahlevanzadeh | 189
3 | sh_roohani | 180
4 | mohamo_82 | 88
5 | rahimi_m | 47
6 | mehran | 43
7 | joker | 40
8 | Darioush | 32
9 | wekde | 29
10 | arashbi | 28

آخرین مقالات
  • محل جاري مكان نما در C(درس ۳)
  • فارسی نویسی در محیط Gnome
  • فارسی نویسی در محیط KDE
  • آموزش نصب لینوکس (فدورا)
  • اضافه کردن یک هارد دیسک جدید به لینوکس
  • ساختار یک برنامه C(درس ۲)
  • پیش از نصب و راه اندازی PHP(درس ۲)
  • گشتی میان یازده توزیع لینوکس
  • کار با سامبا، سرویس دهی بین لینوکس و ویندوز(۲)
  • کار با سامبا، سرویس دهی بین لینوکس و ویندوز(۱)
  • زبان PHP(درس ۱)
  • مقدمات زبان C
  • رمزنگاری
  • افزایش بازدهی هارد دیسک بوسیله ابزار hdparm
  • آموزش نحوه برنامه نویسی ++C در لینوکس
  • نصب Gxine
  • Makefile چيست؟
  • کار با کلیدهای امنیتی GPG
  • روشهای مختلف نصب برنامه در لینوکس
  • رفع مشکل راست به چپ در openoffice 2.0 نرم افزار calc.

فایلهای برتر
  • ترجمه نرم افزار moodle به فارسی (51)
  • روشهای مختلف نصب برنامه در لینوکس (47)
  • فصل اول کلاس سی پلاس پلاس (43)
  • مقاله نصب لینوکس توزیع فدورا (36)
  • فارسی نویسی در محیط Gnome (34)
  • فارسی نویسی در محیط KDE (30)
  • فصل اول کلاس سی پلاس پلاس (18)
  • کار با کلیدهای امنیتی GPG (16)


شناسه کاربری:

واژه رمز:

واژه رمز را فراموش کرده اید؟

عضو شوید

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

موضوعات اخیر
Topic | Replies | Last Post
معذرت | 0 | 19:04 Friday 7 October 2005 m_pahlevanzadeh
best assembler | 2 | 18:29 Friday 7 October 2005 m_pahlevanzadeh
live cd برای development | 2 | 18:14 Friday 7 October 2005 m_pahlevanzadeh
DocBook & WYSIWYG | 2 | 18:05 Friday 7 October 2005 m_pahlevanzadeh
کلامی با مدیران سایت | 7 | 11:11 Tuesday 4 October 2005 hosseini
lotfan be man komak konid | 1 | 9:08 Monday 3 October 2005 hosseini
شروع | 2 | 11:00 Sunday 25 September 2005 hosseini
جایگزینی برای jreport | 0 | 17:54 Wednesday 21 September 2005 MOHAMMAD
rigi commang | 3 | 19:00 Sunday 11 September 2005 m_pahlevanzadeh
rigi | 3 | 18:47 Friday 9 September 2005 m_pahlevanzadeh
ماژول Math در پیتون | 3 | 20:08 Sunday 4 September 2005 navidjoon
وعده ها در حال اجراست...... | 6 | 18:50 Sunday 4 September 2005 hosseini
moshkele grub | 5 | 10:56 Sunday 4 September 2005 مهمان
به دنبال سابجکت! | 1 | 1:02 Wednesday 31 August 2005 m_pahlevanzadeh
ترجمه‌ی تاریخچه‌ي دبیان | 18 | 15:19 Tuesday 30 August 2005 مهمان
کار جالبی نیست .!!!! | 8 | 8:59 Tuesday 30 August 2005 m_pahlevanzadeh
درباره freepascal | 6 | 0:53 Monday 29 August 2005 m_pahlevanzadeh
چرا Perl? | 0 | 22:55 Saturday 27 August 2005 m_pahlevanzadeh
netbios | 1 | 21:20 Saturday 27 August 2005 m_pahlevanzadeh
سایت بی سروصدا ...! | 2 | 14:48 Thursday 25 August 2005 mohamo_82
Visit Forums

اضافه کردن یک هارد دیسک جدید به لینوکس
Posted on Wed 20 Jul 2005 (157 reads)

اضافه کردن یک هارد دیسک جدید به لینوکس

براین فرض هستیم که شما از لحاظ سخت افزاری مشکلی در نصب ندارید

" تصاویر با نرم افزار VMWare تهیه شده"

بعد از Login شدن(با root چون بعضی از دستورات فقط با rootقابل دسترسی است) برای اینکه مطمئن شویم که لینوکس هارد دیسک مارا شناخته از دستور fdisk -l استفاده میکنیم.

(تصویر ۱)

خطی که با سیاه نمایش داده شده به ما می گوید که به هاردی برخورد کرده که نمی تواند پارتیشن های آنرا بشناسد. در محیط x windows میتوانید درSystemtools->Hardware Browser بصورت گرافیکی آنرا ببینید.(تصویر ۲).

برای پارتیشن بندی ازدستور fdisk بصورت زیر استفاده میکنیم.

fdisk DeviceName که در این سیستم به این صورت می نویسیم /fdisk /dev/hdd

نکته: در لینوکس/یونیکس بر خلاف سیستم عامل های مایکروسافت که پارتیشن ها بر بصورت C,D,… نام گذاری می شدند دیسک بعد از پارتیشن بندی هرکدام از پارتیشن ها برای استفاده به یک دایرکتوری اتصال داده شوند.مزیت این حالت این است که مثلا اگردایرکتوریhome/ به پارتیشن دیگری اتصال داده شده باشد و توسط فایل های کاربران پر شود هیچ خللی در کار سیستم وارد نمی شود. اما اگر در کنار دیگر دایرکتوریها باشد با پر شدن آن سیستم دچار اختلال می شود.

با تایپ m منوی fdisk را خواهیم دید(تصویر ۳)

برای اضافه کردن یک پارتیشن جدید n را می زنیم چون پا رتیشن دیگری روی دیسک وجود ندارد از شما سوال میشود که نوع پارتیشن Perimary باشد یا Extended(و اگر قبلاً پارتیشن Extended داشته باشید نوع منطقی یا Logical جای آنرا خواهد گرفت). تصویر زیرکمک شایانی برای درک شما ازنوع پارتیشن ها در دونوع سیستم عامل میکند.(تصویر4)

بنا به نیازنوع پارتیشن مربوطه را انتخواب می کنیم. بعد از انتخواب نوع پارتیشن سیلندر اولیه آن سوال میشود (بهتر است فضای خالی بین سیلندرها ایجاد نشود , کلید Enter را برای این کار بزنید) بعد از آن مقدار فضای پارتیشن سوال میشود که می توانیم به مگابایت(+sizeM) و کیلوبایت(+sizeK) آنرا وارد کنیم.

توجه علامت بعلاوه باید قبل از مقدار گذاشته شود.(تصویر۵)

بعد از ساختن پارتیشن ها می توانیم با دستور p نگاهی به آنها بیندازیم.

نوع پارتیشن های مختلفی در لینوکس وجود دارد که می توان پارتیشن خود را به آن نوع تغیر داد بنا بر احتیاج، مثلاً: برای اشتراک فایل یا ایجاد یک پارتیشن SWAP برای دیدن لیست نوع پارتیشن ها از ۱ استفاده کنید. (تصویر۶)

کد هرنوع درسمت چپ آن نوشته شده، برای تغیر دادن نوع پارتیشن از کلید t استفاده می کنیم و بعد از آن شماره پارتیشن را وارد می کنیم. بعد از کدی که می خواهیم پارتیشن انتخاب شده به آن تغیر داده شود سئوال میشود. (تصویر ۷).

بعد از اینکه تغییرات را در پارتیشن های دیسک مربوطه اعمال کردیم با زدن w تغیرات را ذخیره و از fdisk خارج می شویم. (اگر از محیط xWindows استفاده می کنید می توانید از system tools-> hardware browser را انتخاب کرده ودر منوی سمت چپ Hard Drive را انتخاب کنید).

پارتیشن های ساخته شده را باید قبل از استفاده قالب بندی کنیم. این کار توسط دستور mkfs انجام می گیرد. در این دستوربا سویچ t- می توانید فرمت پارتیشن را مشخص کنید (تصویر۸).

مرحله بعد از قالب بندی دیسک(فرمت دیسک) است که ما پارتیشن ایجاد شده را به یک دایرکتوری اتصال دهیم تا از طریق آن نقطه اتصال(mount point ) به پارتیشن دسترسی داشته باشیم. مزیت این مورد را در نکته ای که اول همین مقاله آورده ام توضیح داده ام. ابتدا ببینیم که چه نقطه اتصالاتی وجود (mount point) دارد. برای اینکار کافی است که فقط دستور mount را اجرا کنیم. لیستی از فایل سیستم های اتصال داده شده را نمایش می دهد.(تصویر۹).

در اینجا proce, devpts, tmpfs هم بعنوان فایل سیستم نمایش داده شده اند که درحقیقت نوع خاصی از فایل سیستم هستند که به هیچ پارتیشنی در سیستم مربوط نمی شوند. برای اینکه ببینیم در سیستم چه نوع فایل سیستم هایی مورد استفاده است از دستور cat /proc/filesystems استفاده می کنیم. (تصویر۱۰)

خوب حالا نوبت آن شده که پارتیشن خود را به یک دایرکتوری اتصال دهیم. برای اینکار ما از دستور mount بصورت استفاده می کنیم. برای مثال اگه ما دو سیستم عامل داشته باشیم (Windows & Linux) و یکی پارتیشن های جدیدی که ساخته ایم به فرمت vfat آنرا قالب بندی کرده ایم. یک دایرکتوری درون پوشه به نام win می سازیم آنگاه توسط دستور زیر می توانیم نقطه اتصالی برای این دایرکتوری و فایل سیستم بسازیم."mount /dev/hdd1 /home//win" توجه داشته باشید که نام کاربر خودتان می باشد.

خوب این اتصال تا وقتی برقرار است که شما بادستور آنرا جدا نکرده باشید یا سیستم خاموش نشده باشد. ( نام ابزار یا نام دایرکتوری می تواند باشد).

برای اینکه بعد از خاموش شدن سیستم این اتصال برقرار باشد باید آنرا در فایل etc/fstab/ باید ثبت کنیم. اطلاعات درون fstab را میتوانیم توسط دستورcat /etc/fstab مشاهده کنیم.

این اطلاعات شش بخش دارد:

بخش اول: نام ابزار مربوط به سیستم فایل است. برای سیستم فایل های مجازی مانند proc در این قسمت none وارد شده است. همچنین در این قسمت می توانید از UID(شناسه یکتا عمومی) بجای نام ابزار استفاده کرد. در مثال بالا / و boot/ بدین طریق تعریف شده اند. مزیت این کار این است که اگر یکی از پارتیشن ها به یکی از ابزارهای دیگر با آدرس متفاوت منتقل کنیم نیازی به ویرایش فایل fstab نیست. (در لینوکس دیسک های سخت IDE با hd و دیسک های scsi با sd شناخته میشوند برای IDE اول و پارتیشن اول آن hda1 می نویسیم. دراین مثال پارتیشن اول دیسک دوم را می خواهیم mount کنیم نام آن hdb1 می شود).

فیلد دوم : نقطه اتصال پارتیشن در این قسمت معرفی می شود که اطلاعات پارتیشن در آن دایرکتوری قابل دسترسی است.

فیلد سوم: در این قسمت نوع سیستم فایل را مشخص می کنیم که در توضیع لینوکس شما از آن پشتیبانی میشود.

فیلد چهارم: در این قسمت مشخص می کنیم که آیا هنگام بوت اتوماتیک(auto) سیستم فایل متصل شود. برای CD-ROM و Floppy Disk این کار لازم نیست چون معمولا درو انها دیسکی وجود ندارد. برای جلوگیری از اتصال خودکار از کلمه noauto استفاده می کنیم. و همچنین مجوز های دسترسی برای را در این قسمت می گذاریم برای اینکه کاربران از این پارتیشن استفاده کنندکلمه users را به این فیلد اضافه می کنید. از کارهایی که در این قسمت می توانیم انجام دهیم این است که نحوه کار با دیسک را مشخص کنیم ro برای فقط خواندنی وrw برای خواندنی نوشتنی. این گزینه ها با کاما از هم جدامی شوند.

فیلد پنجم: عدد نوشته شده در این قسمت مشخص میکند که آیا فایل سیستم احتیاج به Dump دارد یا خیر.۱ یعنی بله و۲ یعنی نه. (dump به معنای نوشته شدن محتویات در هنگام بروز خطا درون یک فایل جداگانه)

فیلد ششم: نشانگر این است که آیا سیستم فایل اجازه دارد بوسیله برنامه تصحیح گر فایل سیستم بررسی شود یا نه.۱ بله و ۲ یعنی نه. (تصویر۱۱)

نویسنده: محمد ملک پور

پست الکترونیکی: m.malekpoor@gmail.com

تاریخ: ۲۸/۰۴/۸۴

نسخه: ۰۰.۱
Index :: Print :: E-mail
بی شک دیدگاه هر کس نشانه تفکر اوست , ما در برابر نظر دیگران مسئول نیستیم
فرستنده شاخه
کاربران حاضر
2 کاربر آن لاين است (1 کاربر در حال دیدن سایت مقالات)

عضو: 0
مهمان: 2

ادامه...

کاربران برتر
1 | hosseini | 289
2 | m_pahlevanzadeh | 189
3 | sh_roohani | 180
4 | mohamo_82 | 88
5 | rahimi_m | 47
6 | mehran | 43
7 | joker | 40
8 | Darioush | 32
9 | wekde | 29
10 | arashbi | 28

آخرین مقالات
  • محل جاري مكان نما در C(درس ۳)
  • فارسی نویسی در محیط Gnome
  • فارسی نویسی در محیط KDE
  • آموزش نصب لینوکس (فدورا)
  • اضافه کردن یک هارد دیسک جدید به لینوکس
  • ساختار یک برنامه C(درس ۲)
  • پیش از نصب و راه اندازی PHP(درس ۲)
  • گشتی میان یازده توزیع لینوکس
  • کار با سامبا، سرویس دهی بین لینوکس و ویندوز(۲)
  • کار با سامبا، سرویس دهی بین لینوکس و ویندوز(۱)
  • زبان PHP(درس ۱)
  • مقدمات زبان C
  • رمزنگاری
  • افزایش بازدهی هارد دیسک بوسیله ابزار hdparm
  • آموزش نحوه برنامه نویسی ++C در لینوکس
  • نصب Gxine
  • Makefile چيست؟
  • کار با کلیدهای امنیتی GPG
  • روشهای مختلف نصب برنامه در لینوکس
  • رفع مشکل راست به چپ در openoffice 2.0 نرم افزار calc.

فایلهای برتر
  • ترجمه نرم افزار moodle به فارسی (51)
  • روشهای مختلف نصب برنامه در لینوکس (47)
  • فصل اول کلاس سی پلاس پلاس (43)
  • مقاله نصب لینوکس توزیع فدورا (36)
  • فارسی نویسی در محیط Gnome (34)
  • فارسی نویسی در محیط KDE (30)
  • فصل اول کلاس سی پلاس پلاس (18)
  • کار با کلیدهای امنیتی GPG (16)


شناسه کاربری:

واژه رمز:

واژه رمز را فراموش کرده اید؟

عضو شوید

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

موضوعات اخیر
Topic | Replies | Last Post
معذرت | 0 | 19:04 Friday 7 October 2005 m_pahlevanzadeh
best assembler | 2 | 18:29 Friday 7 October 2005 m_pahlevanzadeh
live cd برای development | 2 | 18:14 Friday 7 October 2005 m_pahlevanzadeh
DocBook & WYSIWYG | 2 | 18:05 Friday 7 October 2005 m_pahlevanzadeh
کلامی با مدیران سایت | 7 | 11:11 Tuesday 4 October 2005 hosseini
lotfan be man komak konid | 1 | 9:08 Monday 3 October 2005 hosseini
شروع | 2 | 11:00 Sunday 25 September 2005 hosseini
جایگزینی برای jreport | 0 | 17:54 Wednesday 21 September 2005 MOHAMMAD
rigi commang | 3 | 19:00 Sunday 11 September 2005 m_pahlevanzadeh
rigi | 3 | 18:47 Friday 9 September 2005 m_pahlevanzadeh
ماژول Math در پیتون | 3 | 20:08 Sunday 4 September 2005 navidjoon
وعده ها در حال اجراست...... | 6 | 18:50 Sunday 4 September 2005 hosseini
moshkele grub | 5 | 10:56 Sunday 4 September 2005 مهمان
به دنبال سابجکت! | 1 | 1:02 Wednesday 31 August 2005 m_pahlevanzadeh
ترجمه‌ی تاریخچه‌ي دبیان | 18 | 15:19 Tuesday 30 August 2005 مهمان
کار جالبی نیست .!!!! | 8 | 8:59 Tuesday 30 August 2005 m_pahlevanzadeh
درباره freepascal | 6 | 0:53 Monday 29 August 2005 m_pahlevanzadeh
چرا Perl? | 0 | 22:55 Saturday 27 August 2005 m_pahlevanzadeh
netbios | 1 | 21:20 Saturday 27 August 2005 m_pahlevanzadeh
سایت بی سروصدا ...! | 2 | 14:48 Thursday 25 August 2005 mohamo_82
Visit Forums

آموزش نصب لینوکس (فدورا)
Posted on Mon 25 Jul 2005 (176 reads)
این مقاله توسط گروه فارسی لینوکس نوشته شده و در این سایت قرار گرفته است.
دریافت نسخه doc این مقاله
Index :: Print :: E-mail
بی شک دیدگاه هر کس نشانه تفکر اوست , ما در برابر نظر دیگران مسئول نیستیم
فرستنده شاخه
کاربران حاضر
2 کاربر آن لاين است (1 کاربر در حال دیدن سایت مقالات)

عضو: 0
مهمان: 2

ادامه...

کاربران برتر
1 | hosseini | 289
2 | m_pahlevanzadeh | 189
3 | sh_roohani | 180
4 | mohamo_82 | 88
5 | rahimi_m | 47
6 | mehran | 43
7 | joker | 40
8 | Darioush | 32
9 | wekde | 29
10 | arashbi | 28

آخرین مقالات
  • محل جاري مكان نما در C(درس ۳)
  • فارسی نویسی در محیط Gnome
  • فارسی نویسی در محیط KDE
  • آموزش نصب لینوکس (فدورا)
  • اضافه کردن یک هارد دیسک جدید به لینوکس
  • ساختار یک برنامه C(درس ۲)
  • پیش از نصب و راه اندازی PHP(درس ۲)
  • گشتی میان یازده توزیع لینوکس
  • کار با سامبا، سرویس دهی بین لینوکس و ویندوز(۲)
  • کار با سامبا، سرویس دهی بین لینوکس و ویندوز(۱)
  • زبان PHP(درس ۱)
  • مقدمات زبان C
  • رمزنگاری
  • افزایش بازدهی هارد دیسک بوسیله ابزار hdparm
  • آموزش نحوه برنامه نویسی ++C در لینوکس
  • نصب Gxine
  • Makefile چيست؟
  • کار با کلیدهای امنیتی GPG
  • روشهای مختلف نصب برنامه در لینوکس
  • رفع مشکل راست به چپ در openoffice 2.0 نرم افزار calc.

فایلهای برتر
  • ترجمه نرم افزار moodle به فارسی (51)
  • روشهای مختلف نصب برنامه در لینوکس (47)
  • فصل اول کلاس سی پلاس پلاس (43)
  • مقاله نصب لینوکس توزیع فدورا (36)
  • فارسی نویسی در محیط Gnome (34)
  • فارسی نویسی در محیط KDE (30)
  • فصل اول کلاس سی پلاس پلاس (18)
  • کار با کلیدهای امنیتی GPG (16)


شناسه کاربری:

واژه رمز:

واژه رمز را فراموش کرده اید؟

عضو شوید

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

موضوعات اخیر
Topic | Replies | Last Post
معذرت | 0 | 19:04 Friday 7 October 2005 m_pahlevanzadeh
best assembler | 2 | 18:29 Friday 7 October 2005 m_pahlevanzadeh
live cd برای development | 2 | 18:14 Friday 7 October 2005 m_pahlevanzadeh
DocBook & WYSIWYG | 2 | 18:05 Friday 7 October 2005 m_pahlevanzadeh
کلامی با مدیران سایت | 7 | 11:11 Tuesday 4 October 2005 hosseini
lotfan be man komak konid | 1 | 9:08 Monday 3 October 2005 hosseini
شروع | 2 | 11:00 Sunday 25 September 2005 hosseini
جایگزینی برای jreport | 0 | 17:54 Wednesday 21 September 2005 MOHAMMAD
rigi commang | 3 | 19:00 Sunday 11 September 2005 m_pahlevanzadeh
rigi | 3 | 18:47 Friday 9 September 2005 m_pahlevanzadeh
ماژول Math در پیتون | 3 | 20:08 Sunday 4 September 2005 navidjoon
وعده ها در حال اجراست...... | 6 | 18:50 Sunday 4 September 2005 hosseini
moshkele grub | 5 | 10:56 Sunday 4 September 2005 مهمان
به دنبال سابجکت! | 1 | 1:02 Wednesday 31 August 2005 m_pahlevanzadeh
ترجمه‌ی تاریخچه‌ي دبیان | 18 | 15:19 Tuesday 30 August 2005 مهمان
کار جالبی نیست .!!!! | 8 | 8:59 Tuesday 30 August 2005 m_pahlevanzadeh
درباره freepascal | 6 | 0:53 Monday 29 August 2005 m_pahlevanzadeh
چرا Perl? | 0 | 22:55 Saturday 27 August 2005 m_pahlevanzadeh
netbios | 1 | 21:20 Saturday 27 August 2005 m_pahlevanzadeh
سایت بی سروصدا ...! | 2 | 14:48 Thursday 25 August 2005 mohamo_82
Visit Forums

فارسی نویسی در محیط KDE
Posted on Tue 26 Jul 2005 (107 reads)
این مقاله توسط گروه فارسی لنیوکس نوشته شده و در این سایت قرار گرفته است.
دریافت فایل doc این مقاله
Index :: Print :: E-mail
بی شک دیدگاه هر کس نشانه تفکر اوست , ما در برابر نظر دیگران مسئول نیستیم
فرستنده شاخه
کاربران حاضر
2 کاربر آن لاين است (1 کاربر در حال دیدن سایت مقالات)

عضو: 0
مهمان: 2

ادامه...

کاربران برتر
1 | hosseini | 289
2 | m_pahlevanzadeh | 189
3 | sh_roohani | 180
4 | mohamo_82 | 88
5 | rahimi_m | 47
6 | mehran | 43
7 | joker | 40
8 | Darioush | 32
9 | wekde | 29
10 | arashbi | 28

آخرین مقالات
  • محل جاري مكان نما در C(درس ۳)
  • فارسی نویسی در محیط Gnome
  • فارسی نویسی در محیط KDE
  • آموزش نصب لینوکس (فدورا)
  • اضافه کردن یک هارد دیسک جدید به لینوکس
  • ساختار یک برنامه C(درس ۲)
  • پیش از نصب و راه اندازی PHP(درس ۲)
  • گشتی میان یازده توزیع لینوکس
  • کار با سامبا، سرویس دهی بین لینوکس و ویندوز(۲)
  • کار با سامبا، سرویس دهی بین لینوکس و ویندوز(۱)
  • زبان PHP(درس ۱)
  • مقدمات زبان C
  • رمزنگاری
  • افزایش بازدهی هارد دیسک بوسیله ابزار hdparm
  • آموزش نحوه برنامه نویسی ++C در لینوکس
  • نصب Gxine
  • Makefile چيست؟
  • کار با کلیدهای امنیتی GPG
  • روشهای مختلف نصب برنامه در لینوکس
  • رفع مشکل راست به چپ در openoffice 2.0 نرم افزار calc.

فایلهای برتر
  • ترجمه نرم افزار moodle به فارسی (51)
  • روشهای مختلف نصب برنامه در لینوکس (47)
  • فصل اول کلاس سی پلاس پلاس (43)
  • مقاله نصب لینوکس توزیع فدورا (36)
  • فارسی نویسی در محیط Gnome (34)
  • فارسی نویسی در محیط KDE (30)
  • فصل اول کلاس سی پلاس پلاس (18)
  • کار با کلیدهای امنیتی GPG (16)


شناسه کاربری:

واژه رمز:

واژه رمز را فراموش کرده اید؟

عضو شوید

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

موضوعات اخیر
Topic | Replies | Last Post
معذرت | 0 | 19:04 Friday 7 October 2005 m_pahlevanzadeh
best assembler | 2 | 18:29 Friday 7 October 2005 m_pahlevanzadeh
live cd برای development | 2 | 18:14 Friday 7 October 2005 m_pahlevanzadeh
DocBook & WYSIWYG | 2 | 18:05 Friday 7 October 2005 m_pahlevanzadeh
کلامی با مدیران سایت | 7 | 11:11 Tuesday 4 October 2005 hosseini
lotfan be man komak konid | 1 | 9:08 Monday 3 October 2005 hosseini
شروع | 2 | 11:00 Sunday 25 September 2005 hosseini
جایگزینی برای jreport | 0 | 17:54 Wednesday 21 September 2005 MOHAMMAD
rigi commang | 3 | 19:00 Sunday 11 September 2005 m_pahlevanzadeh
rigi | 3 | 18:47 Friday 9 September 2005 m_pahlevanzadeh
ماژول Math در پیتون | 3 | 20:08 Sunday 4 September 2005 navidjoon
وعده ها در حال اجراست...... | 6 | 18:50 Sunday 4 September 2005 hosseini
moshkele grub | 5 | 10:56 Sunday 4 September 2005 مهمان
به دنبال سابجکت! | 1 | 1:02 Wednesday 31 August 2005 m_pahlevanzadeh
ترجمه‌ی تاریخچه‌ي دبیان | 18 | 15:19 Tuesday 30 August 2005 مهمان
کار جالبی نیست .!!!! | 8 | 8:59 Tuesday 30 August 2005 m_pahlevanzadeh
درباره freepascal | 6 | 0:53 Monday 29 August 2005 m_pahlevanzadeh
چرا Perl? | 0 | 22:55 Saturday 27 August 2005 m_pahlevanzadeh
netbios | 1 | 21:20 Saturday 27 August 2005 m_pahlevanzadeh
سایت بی سروصدا ...! | 2 | 14:48 Thursday 25 August 2005 mohamo_82
Visit Forums

فارسی نویسی در محیط Gnome
Posted on Tue 26 Jul 2005 (126 reads)
این مقاله توسط گروه فارسی لینوکس نوشته شده و در این سایت قرار گرفته است.
دریافت فایل Doc این مقاله
Index :: Print :: E-mail
بی شک دیدگاه هر کس نشانه تفکر اوست , ما در برابر نظر دیگران مسئول نیستیم
فرستنده شاخه
کاربران حاضر
2 کاربر آن لاين است (1 کاربر در حال دیدن سایت مقالات)

عضو: 0
مهمان: 2

ادامه...

کاربران برتر
1 | hosseini | 289
2 | m_pahlevanzadeh | 189
3 | sh_roohani | 180
4 | mohamo_82 | 88
5 | rahimi_m | 47
6 | mehran | 43
7 | joker | 40
8 | Darioush | 32
9 | wekde | 29
10 | arashbi | 28

آخرین مقالات
  • محل جاري مكان نما در C(درس ۳)
  • فارسی نویسی در محیط Gnome
  • فارسی نویسی در محیط KDE
  • آموزش نصب لینوکس (فدورا)
  • اضافه کردن یک هارد دیسک جدید به لینوکس
  • ساختار یک برنامه C(درس ۲)
  • پیش از نصب و راه اندازی PHP(درس ۲)
  • گشتی میان یازده توزیع لینوکس
  • کار با سامبا، سرویس دهی بین لینوکس و ویندوز(۲)
  • کار با سامبا، سرویس دهی بین لینوکس و ویندوز(۱)
  • زبان PHP(درس ۱)
  • مقدمات زبان C
  • رمزنگاری
  • افزایش بازدهی هارد دیسک بوسیله ابزار hdparm
  • آموزش نحوه برنامه نویسی ++C در لینوکس
  • نصب Gxine
  • Makefile چيست؟
  • کار با کلیدهای امنیتی GPG
  • روشهای مختلف نصب برنامه در لینوکس
  • رفع مشکل راست به چپ در openoffice 2.0 نرم افزار calc.

فایلهای برتر
  • ترجمه نرم افزار moodle به فارسی (51)
  • روشهای مختلف نصب برنامه در لینوکس (47)
  • فصل اول کلاس سی پلاس پلاس (43)
  • مقاله نصب لینوکس توزیع فدورا (36)
  • فارسی نویسی در محیط Gnome (34)
  • فارسی نویسی در محیط KDE (30)
  • فصل اول کلاس سی پلاس پلاس (18)
  • کار با کلیدهای امنیتی GPG (16)


شناسه کاربری:

واژه رمز:

واژه رمز را فراموش کرده اید؟

عضو شوید

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

موضوعات اخیر
Topic | Replies | Last Post
معذرت | 0 | 19:04 Friday 7 October 2005 m_pahlevanzadeh
best assembler | 2 | 18:29 Friday 7 October 2005 m_pahlevanzadeh
live cd برای development | 2 | 18:14 Friday 7 October 2005 m_pahlevanzadeh
DocBook & WYSIWYG | 2 | 18:05 Friday 7 October 2005 m_pahlevanzadeh
کلامی با مدیران سایت | 7 | 11:11 Tuesday 4 October 2005 hosseini
lotfan be man komak konid | 1 | 9:08 Monday 3 October 2005 hosseini
شروع | 2 | 11:00 Sunday 25 September 2005 hosseini
جایگزینی برای jreport | 0 | 17:54 Wednesday 21 September 2005 MOHAMMAD
rigi commang | 3 | 19:00 Sunday 11 September 2005 m_pahlevanzadeh
rigi | 3 | 18:47 Friday 9 September 2005 m_pahlevanzadeh
ماژول Math در پیتون | 3 | 20:08 Sunday 4 September 2005 navidjoon
وعده ها در حال اجراست...... | 6 | 18:50 Sunday 4 September 2005 hosseini
moshkele grub | 5 | 10:56 Sunday 4 September 2005 مهمان
به دنبال سابجکت! | 1 | 1:02 Wednesday 31 August 2005 m_pahlevanzadeh
ترجمه‌ی تاریخچه‌ي دبیان | 18 | 15:19 Tuesday 30 August 2005 مهمان
کار جالبی نیست .!!!! | 8 | 8:59 Tuesday 30 August 2005 m_pahlevanzadeh
درباره freepascal | 6 | 0:53 Monday 29 August 2005 m_pahlevanzadeh
چرا Perl? | 0 | 22:55 Saturday 27 August 2005 m_pahlevanzadeh
netbios | 1 | 21:20 Saturday 27 August 2005 m_pahlevanzadeh
سایت بی سروصدا ...! | 2 | 14:48 Thursday 25 August 2005 mohamo_82
Visit Forums

محل جاري مكان نما در C(درس ۳)
Posted on Sun 07 Aug 2005 (81 reads)

محل جاري مكان نما

مكان نما و printf

در فصل قبل با استفاده از تابع printf يك متن يك خطي را روي صفحه نمايش داديم و همچنين درباره Escape character ها صحبت كرديم. در اينجا و براي ادامه بحث، ذكر يك نكته ضروري است:

عمليات ورودي/خروجي متني هميشه در محل جاري مكان نما انجام مي گيرد.

محل جاري مكان نما به صورت زوج مرتبي تعريف مي شود كه مؤلفه اول آن شماره ستون و مولفه دوم آن شماره سطري است كه مكان نما در حال حاضر در آنجا قرار گرفته است. در واقع مختصات جاري مكان نما در دستگاه مختصات صفحه نمايش را محل جاري مكان نما مي گوييم.

طرح اين نكته به هيچ وجه به معني معرفي توابعي براي تنظيم مستقيم محل قرارگيري مكان نما بر روي صفحه نمايش نيست. چرا كه اين كار، يعني بردن مكان نما به مختصاتي خاص از صفحه نمايش كاملا وابسته به سخت افزار و سيستم عاملي است كه شما با آن كار مي كنيد و به همين علت هم براي اين منظور تابع يا توابعي در كتابخانه استاندارد C در نظر گرفته نشده است.

براي توضيح اين مسئله به مثال زير توجه كنيد:

/* Printing on one line with two printf statements */

#include <stdio.h>

int main()

{

printf(“Welcome “);

printf(“to C!\n”);

return 0;

}

خروجي اين برنامه به شكل زير خواهد بود:

Welcome to C!

و مكان نما در ابتداي خط بعد قرار خواهد گرفت. حالا ببينيم دقيقا چه اتفاقي مي افتد. ابتدا اولين تابع printf، كلمه Welcome را به اضافه يك فاصله خالي كه بعد از آن قرار داده شده، روي صفحه نمايش مي دهد و مكان نما به ستون نهم سطر جاري منتقل مي شود. منظور از سطر جاري، سطري از صفحه نمايش است كه مكان نما بر روي آن قرار دارد. علت اينكه مكان نما در ستون نهم قرار مي گيرد اين است كه طول كلمه Welcome هفت كاراكتر است كه به علاوه يك كاراكتر خالي، مجموعا هشت ستون را اشغال مي كند. بنابراين هرگونه عمليات ورودي/خروجي متني از اين به بعد در سطر جاري و ستون نهم انجام خواهد گرفت. سپس تابع printf دومي عبارت !to C را در ادامه چاپ مي كند و در آخر هم كاراكتر n\ را مي بينيد. همانطور كه از درس قبل به خاطر داريد، n\ يك Escape character است كه به معني رفتن به خط جديد است. وقتي تابع printf سعي مي كند اين كاراكتر را به خروجي استاندارد بفرستد، مكان نما به ابتداي خط بعدي منتقل مي شود.

خوب، ما مي توانستيم همچون مثال قبلي، در اين مثال هم همه عمليات چاپ متن را فقط با يكبار فراخواني تابع printf به ترتيب زير انجام دهيم:

printf(“Welcome to C!\n”);

اما هدف از تقسيم متن بين دو تابع printf جداگانه، طرح مسئله «محل جاري مكان نما» بود.

بقيه قسمتهاي برنامه هم همانطور كه ملاحظه مي كنيد، نياز به توضيح خاصي ندارد و مانند مثال مطرح شده در فصل دوم است.

و اما حالا مي خواهيم كاري انجام دهيم بر عكس آنچه كه در مثال قبلي انجام داديم. يعني در مثال قبلي يك خروجي يك خطي را با استفاده از دو تابع printf نمايش داديم (كه البته مي توانستيم به دلخواه اينكار را با استفاده از تعداد بيشتري تابع printf هم انجام دهيم)، و در مثالي كه در پي خواهد آمد، مي خواهيم يك خروجي چند خطي را با استفاده از تنها يك تابع printf نمايش دهيم.

برنامه زير را در نظر بگيريد:

/* Printing multiple lines with a single printf */

#include <stdio.h>

int main()

{

printf(“Welcome\nto\nC!\n”);

return 0;

}

خروجي اين برنامه به شكل زير خواهد بود:

Welcome

to

C!

و مكان نما به ابتداي خط بعد از عبارت !C خواهد رفت. همانطور كه مي بينيد ما بعد از كلمه Welcome يك n\ داريم كه با رنگ زرد مشخص شده است. بعد از كلمه to هم يك n\ داريم كه باز هم با رنگ زرد مشخص شده است. n\ اولي باعث مي شود بعد از چاپ كلمه Welcome، مكان نما به آغاز خط بعد برود. در خط بعد هم ابتدا كلمه to چاپ مي شود و سپس n\ دومي باعث مي شود كه مكان نما باز هم به آغاز خط بعد برود. سپس در خط بعد C! چاپ مي شود و n\ آخر (كه ايندفعه ديگر با رنگ زرد مشخص نشده) باعث مي شود مكان نما به ابتداي خط بعدي برود و عمليات چاپ متن بر روي صفحه نمايش پايان يابد. اگر بعد از اين عمليات ورودي/خروجي متني انجام گيرد، محل آن ابتداي همين خط جديد خواهد بود.

پس تابع printf به هيچ وجه پس از انجام يك عمليات چاپ به يك خط جديد نمي رود مگر در دو حالت:

  1. آخرين كاراكتر متني كه بايد چاپ شود، در آخرين ستون سطر جاري قرار گيرد كه در اينصورت مكان نما به ناچار بايد به ابتداي خط بعد برود.

  2. با كاراكتر خط جديد يا همان n\ به صراحت برايش مشحص شده باشد كه باد عمليات چاپ از اينجا به بعد به ابتداي خط بعد منتقل گردد.

يك نكته

تمام شناسه هاي زبان C، اعم از نام متغير ها، نام ثوابت و نام توابع، نسبت به حالت حروف حساس هستند. يعني حروف كوچك و حروف بزرگ در زبان C متفاوت انگاشته مي شوند. بنابراين printf با Printf يا printF يكي نيست و my_variable با My_variable و my_Variable تفاوت دارد. اين نكته ايست كه حتما بايد به خاطر بسپاريد. چراكه منبع بسياري از خطاهاي نحوي (Syntax error) در زبان C توجه نكردن به همين مسئله است.

نویسنده: شهرام روحانی

پست الکترونیکی: sh_roohani@yahoo.com

تاریخ: ۱۴/۰۵/۸۴
Index :: Print :: E-mail
بی شک دیدگاه هر کس نشانه تفکر اوست , ما در برابر نظر دیگران مسئول نیستیم
فرستنده | شاخه
leranix | فرستاده شده در تاریخ: 11:11 Sunday 7 August 2005 به روز شده در تاریخ: 11:11 Sunday 7 August 2005
Just popping in عضویت از: 2005/08/03 از: پیام: 13 | Re: محل جاري مكان نما در C(درس ۳) به مسایل اساسی زبان C بپردازید . این مسایل خیلی پیش پا افتاده اند . بعدش اصلا یاددادن C با اون حجم اینجا اصلا درست نیست . همیشه کاری را بگیرید که در جایگاه خود معنی داشته باشد و ضمنا توانش رو داشته باشید . اگه وسط کار انگیزه از بین بره ..........
 | پاسخ
کاربران حاضر
2 کاربر آن لاين است (1 کاربر در حال دیدن سایت مقالات)

عضو: 0
مهمان: 2

ادامه...

کاربران برتر
1 | hosseini | 289
2 | m_pahlevanzadeh | 189
3 | sh_roohani | 180
4 | mohamo_82 | 88
5 | rahimi_m | 47
6 | mehran | 43
7 | joker | 40
8 | Darioush | 32
9 | wekde | 29
10 | arashbi | 28

آخرین مقالات
  • محل جاري مكان نما در C(درس ۳)
  • فارسی نویسی در محیط Gnome
  • فارسی نویسی در محیط KDE
  • آموزش نصب لینوکس (فدورا)
  • اضافه کردن یک هارد دیسک جدید به لینوکس
  • ساختار یک برنامه C(درس ۲)
  • پیش از نصب و راه اندازی PHP(درس ۲)
  • گشتی میان یازده توزیع لینوکس
  • کار با سامبا، سرویس دهی بین لینوکس و ویندوز(۲)
  • کار با سامبا، سرویس دهی بین لینوکس و ویندوز(۱)
  • زبان PHP(درس ۱)
  • مقدمات زبان C
  • رمزنگاری
  • افزایش بازدهی هارد دیسک بوسیله ابزار hdparm
  • آموزش نحوه برنامه نویسی ++C در لینوکس
  • نصب Gxine
  • Makefile چيست؟
  • کار با کلیدهای امنیتی GPG
  • روشهای مختلف نصب برنامه در لینوکس
  • رفع مشکل راست به چپ در openoffice 2.0 نرم افزار calc.

فایلهای برتر
  • ترجمه نرم افزار moodle به فارسی (51)
  • روشهای مختلف نصب برنامه در لینوکس (47)
  • فصل اول کلاس سی پلاس پلاس (43)
  • مقاله نصب لینوکس توزیع فدورا (36)
  • فارسی نویسی در محیط Gnome (34)
  • فارسی نویسی در محیط KDE (30)
  • فصل اول کلاس سی پلاس پلاس (18)
  • کار با کلیدهای امنیتی GPG (16)


شناسه کاربری:

واژه رمز:

واژه رمز را فراموش کرده اید؟

عضو شوید

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

موضوعات اخیر
Topic | Replies | Last Post
معذرت | 0 | 19:04 Friday 7 October 2005 m_pahlevanzadeh
best assembler | 2 | 18:29 Friday 7 October 2005 m_pahlevanzadeh
live cd برای development | 2 | 18:14 Friday 7 October 2005 m_pahlevanzadeh
DocBook & WYSIWYG | 2 | 18:05 Friday 7 October 2005 m_pahlevanzadeh
کلامی با مدیران سایت | 7 | 11:11 Tuesday 4 October 2005 hosseini
lotfan be man komak konid | 1 | 9:08 Monday 3 October 2005 hosseini
شروع | 2 | 11:00 Sunday 25 September 2005 hosseini
جایگزینی برای jreport | 0 | 17:54 Wednesday 21 September 2005 MOHAMMAD
rigi commang | 3 | 19:00 Sunday 11 September 2005 m_pahlevanzadeh
rigi | 3 | 18:47 Friday 9 September 2005 m_pahlevanzadeh
ماژول Math در پیتون | 3 | 20:08 Sunday 4 September 2005 navidjoon
وعده ها در حال اجراست...... | 6 | 18:50 Sunday 4 September 2005 hosseini
moshkele grub | 5 | 10:56 Sunday 4 September 2005 مهمان
به دنبال سابجکت! | 1 | 1:02 Wednesday 31 August 2005 m_pahlevanzadeh
ترجمه‌ی تاریخچه‌ي دبیان | 18 | 15:19 Tuesday 30 August 2005 مهمان
کار جالبی نیست .!!!! | 8 | 8:59 Tuesday 30 August 2005 m_pahlevanzadeh
درباره freepascal | 6 | 0:53 Monday 29 August 2005 m_pahlevanzadeh
چرا Perl? | 0 | 22:55 Saturday 27 August 2005 m_pahlevanzadeh
netbios | 1 | 21:20 Saturday 27 August 2005 m_pahlevanzadeh
سایت بی سروصدا ...! | 2 | 14:48 Thursday 25 August 2005 mohamo_82
Visit Forums

Re: آموزش نحوه برنامه نویسی ++C در ...

فرستنده: مهمان فرستاده شده در تاریخ: 19:22:20 Thursday 7 July 2005

IS Good!
But you must type this to ENGLISH LAnguage!

i'm a programer in linux & window & dos!
if you have any job i can do it!

very thanks !

SunSoft.Ojvar@Gmail.Com
فرستادن نظر
شرایط نظر هر نظری پذیرفته می شود
عنوان
نشانه پيام
پیام url email imgsrc code quote
نمونه
bold italic underline linethrough

[ادامه...]
گزينه ها امکان گذاشتن شکلک
اجازه کدهای کلیدی
شکستن خود به خود خط ها
کاربران حاضر
2 کاربر آن لاين است (1 کاربر در حال دیدن سایت مقالات)

عضو: 0
مهمان: 2

ادامه...

کاربران برتر
1 | hosseini | 289
2 | m_pahlevanzadeh | 189
3 | sh_roohani | 180
4 | mohamo_82 | 88
5 | rahimi_m | 47
6 | mehran | 43
7 | joker | 40
8 | Darioush | 32
9 | wekde | 29
10 | arashbi | 28

آخرین مقالات
  • محل جاري مكان نما در C(درس ۳)
  • فارسی نویسی در محیط Gnome
  • فارسی نویسی در محیط KDE
  • آموزش نصب لینوکس (فدورا)
  • اضافه کردن یک هارد دیسک جدید به لینوکس
  • ساختار یک برنامه C(درس ۲)
  • پیش از نصب و راه اندازی PHP(درس ۲)
  • گشتی میان یازده توزیع لینوکس
  • کار با سامبا، سرویس دهی بین لینوکس و ویندوز(۲)
  • کار با سامبا، سرویس دهی بین لینوکس و ویندوز(۱)
  • زبان PHP(درس ۱)
  • مقدمات زبان C
  • رمزنگاری
  • افزایش بازدهی هارد دیسک بوسیله ابزار hdparm
  • آموزش نحوه برنامه نویسی ++C در لینوکس
  • نصب Gxine
  • Makefile چيست؟
  • کار با کلیدهای امنیتی GPG
  • روشهای مختلف نصب برنامه در لینوکس
  • رفع مشکل راست به چپ در openoffice 2.0 نرم افزار calc.

فایلهای برتر
  • ترجمه نرم افزار moodle به فارسی (51)
  • روشهای مختلف نصب برنامه در لینوکس (47)
  • فصل اول کلاس سی پلاس پلاس (43)
  • مقاله نصب لینوکس توزیع فدورا (36)
  • فارسی نویسی در محیط Gnome (34)
  • فارسی نویسی در محیط KDE (30)
  • فصل اول کلاس سی پلاس پلاس (18)
  • کار با کلیدهای امنیتی GPG (16)


شناسه کاربری:

واژه رمز:

واژه رمز را فراموش کرده اید؟

عضو شوید

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

موضوعات اخیر
Topic | Replies | Last Post
معذرت | 0 | 19:04 Friday 7 October 2005 m_pahlevanzadeh
best assembler | 2 | 18:29 Friday 7 October 2005 m_pahlevanzadeh
live cd برای development | 2 | 18:14 Friday 7 October 2005 m_pahlevanzadeh
DocBook & WYSIWYG | 2 | 18:05 Friday 7 October 2005 m_pahlevanzadeh
کلامی با مدیران سایت | 7 | 11:11 Tuesday 4 October 2005 hosseini
lotfan be man komak konid | 1 | 9:08 Monday 3 October 2005 hosseini
شروع | 2 | 11:00 Sunday 25 September 2005 hosseini
جایگزینی برای jreport | 0 | 17:54 Wednesday 21 September 2005 MOHAMMAD
rigi commang | 3 | 19:00 Sunday 11 September 2005 m_pahlevanzadeh
rigi | 3 | 18:47 Friday 9 September 2005 m_pahlevanzadeh
ماژول Math در پیتون | 3 | 20:08 Sunday 4 September 2005 navidjoon
وعده ها در حال اجراست...... | 6 | 18:50 Sunday 4 September 2005 hosseini
moshkele grub | 5 | 10:56 Sunday 4 September 2005 مهمان
به دنبال سابجکت! | 1 | 1:02 Wednesday 31 August 2005 m_pahlevanzadeh
ترجمه‌ی تاریخچه‌ي دبیان | 18 | 15:19 Tuesday 30 August 2005 مهمان
کار جالبی نیست .!!!! | 8 | 8:59 Tuesday 30 August 2005 m_pahlevanzadeh
درباره freepascal | 6 | 0:53 Monday 29 August 2005 m_pahlevanzadeh
چرا Perl? | 0 | 22:55 Saturday 27 August 2005 m_pahlevanzadeh
netbios | 1 | 21:20 Saturday 27 August 2005 m_pahlevanzadeh
سایت بی سروصدا ...! | 2 | 14:48 Thursday 25 August 2005 mohamo_82
Visit Forums

Re: آموزش نحوه برنامه نویسی ++C در ...

فرستنده: Parastoo فرستاده شده در تاریخ: 12:55:08 Monday 25 July 2005

salam maghalatoon jalebe amma baranamton yekam erad dare yani chon to type injorie vali khob movafagh bashid
فرستادن نظر
شرایط نظر هر نظری پذیرفته می شود
عنوان
نشانه پيام
پیام url email imgsrc code quote
نمونه
bold italic underline linethrough

[ادامه...]
گزينه ها امکان گذاشتن شکلک
اجازه کدهای کلیدی
شکستن خود به خود خط ها
کاربران حاضر
2 کاربر آن لاين است (1 کاربر در حال دیدن سایت مقالات)

عضو: 0
مهمان: 2

ادامه...

کاربران برتر
1 | hosseini | 289
2 | m_pahlevanzadeh | 189
3 | sh_roohani | 180
4 | mohamo_82 | 88
5 | rahimi_m | 47
6 | mehran | 43
7 | joker | 40
8 | Darioush | 32
9 | wekde | 29
10 | arashbi | 28

آخرین مقالات
  • محل جاري مكان نما در C(درس ۳)
  • فارسی نویسی در محیط Gnome
  • فارسی نویسی در محیط KDE
  • آموزش نصب لینوکس (فدورا)
  • اضافه کردن یک هارد دیسک جدید به لینوکس
  • ساختار یک برنامه C(درس ۲)
  • پیش از نصب و راه اندازی PHP(درس ۲)
  • گشتی میان یازده توزیع لینوکس
  • کار با سامبا، سرویس دهی بین لینوکس و ویندوز(۲)
  • کار با سامبا، سرویس دهی بین لینوکس و ویندوز(۱)
  • زبان PHP(درس ۱)
  • مقدمات زبان C
  • رمزنگاری
  • افزایش بازدهی هارد دیسک بوسیله ابزار hdparm
  • آموزش نحوه برنامه نویسی ++C در لینوکس
  • نصب Gxine
  • Makefile چيست؟
  • کار با کلیدهای امنیتی GPG
  • روشهای مختلف نصب برنامه در لینوکس
  • رفع مشکل راست به چپ در openoffice 2.0 نرم افزار calc.

فایلهای برتر
  • ترجمه نرم افزار moodle به فارسی (51)
  • روشهای مختلف نصب برنامه در لینوکس (47)
  • فصل اول کلاس سی پلاس پلاس (43)
  • مقاله نصب لینوکس توزیع فدورا (36)
  • فارسی نویسی در محیط Gnome (34)
  • فارسی نویسی در محیط KDE (30)
  • فصل اول کلاس سی پلاس پلاس (18)
  • کار با کلیدهای امنیتی GPG (16)


شناسه کاربری:

واژه رمز:

واژه رمز را فراموش کرده اید؟

عضو شوید

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

موضوعات اخیر
Topic | Replies | Last Post
معذرت | 0 | 19:04 Friday 7 October 2005 m_pahlevanzadeh
best assembler | 2 | 18:29 Friday 7 October 2005 m_pahlevanzadeh
live cd برای development | 2 | 18:14 Friday 7 October 2005 m_pahlevanzadeh
DocBook & WYSIWYG | 2 | 18:05 Friday 7 October 2005 m_pahlevanzadeh
کلامی با مدیران سایت | 7 | 11:11 Tuesday 4 October 2005 hosseini
lotfan be man komak konid | 1 | 9:08 Monday 3 October 2005 hosseini
شروع | 2 | 11:00 Sunday 25 September 2005 hosseini
جایگزینی برای jreport | 0 | 17:54 Wednesday 21 September 2005 MOHAMMAD
rigi commang | 3 | 19:00 Sunday 11 September 2005 m_pahlevanzadeh
rigi | 3 | 18:47 Friday 9 September 2005 m_pahlevanzadeh
ماژول Math در پیتون | 3 | 20:08 Sunday 4 September 2005 navidjoon
وعده ها در حال اجراست...... | 6 | 18:50 Sunday 4 September 2005 hosseini
moshkele grub | 5 | 10:56 Sunday 4 September 2005 مهمان
به دنبال سابجکت! | 1 | 1:02 Wednesday 31 August 2005 m_pahlevanzadeh
ترجمه‌ی تاریخچه‌ي دبیان | 18 | 15:19 Tuesday 30 August 2005 مهمان
کار جالبی نیست .!!!! | 8 | 8:59 Tuesday 30 August 2005 m_pahlevanzadeh
درباره freepascal | 6 | 0:53 Monday 29 August 2005 m_pahlevanzadeh
چرا Perl? | 0 | 22:55 Saturday 27 August 2005 m_pahlevanzadeh
netbios | 1 | 21:20 Saturday 27 August 2005 m_pahlevanzadeh
سایت بی سروصدا ...! | 2 | 14:48 Thursday 25 August 2005 mohamo_82
Visit Forums

Re: رمزنگاری

فرستنده: مهمان فرستاده شده در تاریخ: 9:18:19 Thursday 30 June 2005

بهتر است که یک توضیحی در مورد لایه های تی سی پی در ابتدا داده بشود.
فرستادن نظر
شرایط نظر هر نظری پذیرفته می شود
عنوان
نشانه پيام
پیام url email imgsrc code quote
نمونه
bold italic underline linethrough

[ادامه...]
گزينه ها امکان گذاشتن شکلک
اجازه کدهای کلیدی
شکستن خود به خود خط ها
کاربران حاضر
2 کاربر آن لاين است (1 کاربر در حال دیدن سایت مقالات)

عضو: 0
مهمان: 2

ادامه...

کاربران برتر
1 | hosseini | 289
2 | m_pahlevanzadeh | 189
3 | sh_roohani | 180
4 | mohamo_82 | 88
5 | rahimi_m | 47
6 | mehran | 43
7 | joker | 40
8 | Darioush | 32
9 | wekde | 29
10 | arashbi | 28

آخرین مقالات
  • محل جاري مكان نما در C(درس ۳)
  • فارسی نویسی در محیط Gnome
  • فارسی نویسی در محیط KDE
  • آموزش نصب لینوکس (فدورا)
  • اضافه کردن یک هارد دیسک جدید به لینوکس
  • ساختار یک برنامه C(درس ۲)
  • پیش از نصب و راه اندازی PHP(درس ۲)
  • گشتی میان یازده توزیع لینوکس
  • کار با سامبا، سرویس دهی بین لینوکس و ویندوز(۲)
  • کار با سامبا، سرویس دهی بین لینوکس و ویندوز(۱)
  • زبان PHP(درس ۱)
  • مقدمات زبان C
  • رمزنگاری
  • افزایش بازدهی هارد دیسک بوسیله ابزار hdparm
  • آموزش نحوه برنامه نویسی ++C در لینوکس
  • نصب Gxine
  • Makefile چيست؟
  • کار با کلیدهای امنیتی GPG
  • روشهای مختلف نصب برنامه در لینوکس
  • رفع مشکل راست به چپ در openoffice 2.0 نرم افزار calc.

فایلهای برتر
  • ترجمه نرم افزار moodle به فارسی (51)
  • روشهای مختلف نصب برنامه در لینوکس (47)
  • فصل اول کلاس سی پلاس پلاس (43)
  • مقاله نصب لینوکس توزیع فدورا (36)
  • فارسی نویسی در محیط Gnome (34)
  • فارسی نویسی در محیط KDE (30)
  • فصل اول کلاس سی پلاس پلاس (18)
  • کار با کلیدهای امنیتی GPG (16)


شناسه کاربری:

واژه رمز:

واژه رمز را فراموش کرده اید؟

عضو شوید

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

موضوعات اخیر
Topic | Replies | Last Post
معذرت | 0 | 19:04 Friday 7 October 2005 m_pahlevanzadeh
best assembler | 2 | 18:29 Friday 7 October 2005 m_pahlevanzadeh
live cd برای development | 2 | 18:14 Friday 7 October 2005 m_pahlevanzadeh
DocBook & WYSIWYG | 2 | 18:05 Friday 7 October 2005 m_pahlevanzadeh
کلامی با مدیران سایت | 7 | 11:11 Tuesday 4 October 2005 hosseini
lotfan be man komak konid | 1 | 9:08 Monday 3 October 2005 hosseini
شروع | 2 | 11:00 Sunday 25 September 2005 hosseini
جایگزینی برای jreport | 0 | 17:54 Wednesday 21 September 2005 MOHAMMAD
rigi commang | 3 | 19:00 Sunday 11 September 2005 m_pahlevanzadeh
rigi | 3 | 18:47 Friday 9 September 2005 m_pahlevanzadeh
ماژول Math در پیتون | 3 | 20:08 Sunday 4 September 2005 navidjoon
وعده ها در حال اجراست...... | 6 | 18:50 Sunday 4 September 2005 hosseini
moshkele grub | 5 | 10:56 Sunday 4 September 2005 مهمان
به دنبال سابجکت! | 1 | 1:02 Wednesday 31 August 2005 m_pahlevanzadeh
ترجمه‌ی تاریخچه‌ي دبیان | 18 | 15:19 Tuesday 30 August 2005 مهمان
کار جالبی نیست .!!!! | 8 | 8:59 Tuesday 30 August 2005 m_pahlevanzadeh
درباره freepascal | 6 | 0:53 Monday 29 August 2005 m_pahlevanzadeh
چرا Perl? | 0 | 22:55 Saturday 27 August 2005 m_pahlevanzadeh
netbios | 1 | 21:20 Saturday 27 August 2005 m_pahlevanzadeh
سایت بی سروصدا ...! | 2 | 14:48 Thursday 25 August 2005 mohamo_82
Visit Forums

Re: رمزنگاری

فرستنده: Parastoo فرستاده شده در تاریخ: 14:15:30 Sunday 24 July 2005

dar ertebat ba TCP /IP dar maghaleye dovom ke edite hamin maghalast kamelan tozih dade shode ke albate dar yek site dige gozashte shode > movafagh bashid
فرستادن نظر
شرایط نظر هر نظری پذیرفته می شود
عنوان
نشانه پيام
پیام url email imgsrc code quote
نمونه
bold italic underline linethrough

[ادامه...]
گزينه ها امکان گذاشتن شکلک
اجازه کدهای کلیدی
شکستن خود به خود خط ها
کاربران حاضر
2 کاربر آن لاين است (1 کاربر در حال دیدن سایت مقالات)

عضو: 0
مهمان: 2

ادامه...

کاربران برتر
1 | hosseini | 289
2 | m_pahlevanzadeh | 189
3 | sh_roohani | 180
4 | mohamo_82 | 88
5 | rahimi_m | 47
6 | mehran | 43
7 | joker | 40
8 | Darioush | 32
9 | wekde | 29
10 | arashbi | 28

آخرین مقالات
  • محل جاري مكان نما در C(درس ۳)
  • فارسی نویسی در محیط Gnome
  • فارسی نویسی در محیط KDE
  • آموزش نصب لینوکس (فدورا)
  • اضافه کردن یک هارد دیسک جدید به لینوکس
  • ساختار یک برنامه C(درس ۲)
  • پیش از نصب و راه اندازی PHP(درس ۲)
  • گشتی میان یازده توزیع لینوکس
  • کار با سامبا، سرویس دهی بین لینوکس و ویندوز(۲)
  • کار با سامبا، سرویس دهی بین لینوکس و ویندوز(۱)
  • زبان PHP(درس ۱)
  • مقدمات زبان C
  • رمزنگاری
  • افزایش بازدهی هارد دیسک بوسیله ابزار hdparm
  • آموزش نحوه برنامه نویسی ++C در لینوکس
  • نصب Gxine
  • Makefile چيست؟
  • کار با کلیدهای امنیتی GPG
  • روشهای مختلف نصب برنامه در لینوکس
  • رفع مشکل راست به چپ در openoffice 2.0 نرم افزار calc.

فایلهای برتر
  • ترجمه نرم افزار moodle به فارسی (51)
  • روشهای مختلف نصب برنامه در لینوکس (47)
  • فصل اول کلاس سی پلاس پلاس (43)
  • مقاله نصب لینوکس توزیع فدورا (36)
  • فارسی نویسی در محیط Gnome (34)
  • فارسی نویسی در محیط KDE (30)
  • فصل اول کلاس سی پلاس پلاس (18)
  • کار با کلیدهای امنیتی GPG (16)


شناسه کاربری:

واژه رمز:

واژه رمز را فراموش کرده اید؟

عضو شوید

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

موضوعات اخیر
Topic | Replies | Last Post
معذرت | 0 | 19:04 Friday 7 October 2005 m_pahlevanzadeh
best assembler | 2 | 18:29 Friday 7 October 2005 m_pahlevanzadeh
live cd برای development | 2 | 18:14 Friday 7 October 2005 m_pahlevanzadeh
DocBook & WYSIWYG | 2 | 18:05 Friday 7 October 2005 m_pahlevanzadeh
کلامی با مدیران سایت | 7 | 11:11 Tuesday 4 October 2005 hosseini
lotfan be man komak konid | 1 | 9:08 Monday 3 October 2005 hosseini
شروع | 2 | 11:00 Sunday 25 September 2005 hosseini
جایگزینی برای jreport | 0 | 17:54 Wednesday 21 September 2005 MOHAMMAD
rigi commang | 3 | 19:00 Sunday 11 September 2005 m_pahlevanzadeh
rigi | 3 | 18:47 Friday 9 September 2005 m_pahlevanzadeh
ماژول Math در پیتون | 3 | 20:08 Sunday 4 September 2005 navidjoon
وعده ها در حال اجراست...... | 6 | 18:50 Sunday 4 September 2005 hosseini
moshkele grub | 5 | 10:56 Sunday 4 September 2005 مهمان
به دنبال سابجکت! | 1 | 1:02 Wednesday 31 August 2005 m_pahlevanzadeh
ترجمه‌ی تاریخچه‌ي دبیان | 18 | 15:19 Tuesday 30 August 2005 مهمان
کار جالبی نیست .!!!! | 8 | 8:59 Tuesday 30 August 2005 m_pahlevanzadeh
درباره freepascal | 6 | 0:53 Monday 29 August 2005 m_pahlevanzadeh
چرا Perl? | 0 | 22:55 Saturday 27 August 2005 m_pahlevanzadeh
netbios | 1 | 21:20 Saturday 27 August 2005 m_pahlevanzadeh
سایت بی سروصدا ...! | 2 | 14:48 Thursday 25 August 2005 mohamo_82
Visit Forums

Re: رمزنگاری

فرستنده: hosseini فرستاده شده در تاریخ: 14:54:15 Sunday 24 July 2005

اگر شما در اینجا مقاله ای فرستادید، باید نسخه دوم این مقاله رو هم برای سایت بفرستید.
فرستادن نظر
شرایط نظر هر نظری پذیرفته می شود
عنوان
نشانه پيام
پیام url email imgsrc code quote
نمونه
bold italic underline linethrough

[ادامه...]
گزينه ها امکان گذاشتن شکلک
اجازه کدهای کلیدی
شکستن خود به خود خط ها
کاربران حاضر
1 کاربر آن لاين است (1 کاربر در حال دیدن سایت مقالات)

عضو: 0
مهمان: 1

ادامه...

کاربران برتر
1 | hosseini | 289
2 | m_pahlevanzadeh | 189
3 | sh_roohani | 180
4 | mohamo_82 | 88
5 | rahimi_m | 47
6 | mehran | 43
7 | joker | 40
8 | Darioush | 32
9 | wekde | 29
10 | arashbi | 28

آخرین مقالات
  • محل جاري مكان نما در C(درس ۳)
  • فارسی نویسی در محیط Gnome
  • فارسی نویسی در محیط KDE
  • آموزش نصب لینوکس (فدورا)
  • اضافه کردن یک هارد دیسک جدید به لینوکس
  • ساختار یک برنامه C(درس ۲)
  • پیش از نصب و راه اندازی PHP(درس ۲)
  • گشتی میان یازده توزیع لینوکس
  • کار با سامبا، سرویس دهی بین لینوکس و ویندوز(۲)
  • کار با سامبا، سرویس دهی بین لینوکس و ویندوز(۱)
  • زبان PHP(درس ۱)
  • مقدمات زبان C
  • رمزنگاری
  • افزایش بازدهی هارد دیسک بوسیله ابزار hdparm
  • آموزش نحوه برنامه نویسی ++C در لینوکس
  • نصب Gxine
  • Makefile چيست؟
  • کار با کلیدهای امنیتی GPG
  • روشهای مختلف نصب برنامه در لینوکس
  • رفع مشکل راست به چپ در openoffice 2.0 نرم افزار calc.

فایلهای برتر
  • ترجمه نرم افزار moodle به فارسی (51)
  • روشهای مختلف نصب برنامه در لینوکس (47)
  • فصل اول کلاس سی پلاس پلاس (43)
  • مقاله نصب لینوکس توزیع فدورا (36)
  • فارسی نویسی در محیط Gnome (34)
  • فارسی نویسی در محیط KDE (30)
  • فصل اول کلاس سی پلاس پلاس (18)
  • کار با کلیدهای امنیتی GPG (16)


شناسه کاربری:

واژه رمز:

واژه رمز را فراموش کرده اید؟

عضو شوید

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

موضوعات اخیر
Topic | Replies | Last Post
معذرت | 0 | 19:04 Friday 7 October 2005 m_pahlevanzadeh
best assembler | 2 | 18:29 Friday 7 October 2005 m_pahlevanzadeh
live cd برای development | 2 | 18:14 Friday 7 October 2005 m_pahlevanzadeh
DocBook & WYSIWYG | 2 | 18:05 Friday 7 October 2005 m_pahlevanzadeh
کلامی با مدیران سایت | 7 | 11:11 Tuesday 4 October 2005 hosseini
lotfan be man komak konid | 1 | 9:08 Monday 3 October 2005 hosseini
شروع | 2 | 11:00 Sunday 25 September 2005 hosseini
جایگزینی برای jreport | 0 | 17:54 Wednesday 21 September 2005 MOHAMMAD
rigi commang | 3 | 19:00 Sunday 11 September 2005 m_pahlevanzadeh
rigi | 3 | 18:47 Friday 9 September 2005 m_pahlevanzadeh
ماژول Math در پیتون | 3 | 20:08 Sunday 4 September 2005 navidjoon
وعده ها در حال اجراست...... | 6 | 18:50 Sunday 4 September 2005 hosseini
moshkele grub | 5 | 10:56 Sunday 4 September 2005 مهمان
به دنبال سابجکت! | 1 | 1:02 Wednesday 31 August 2005 m_pahlevanzadeh
ترجمه‌ی تاریخچه‌ي دبیان | 18 | 15:19 Tuesday 30 August 2005 مهمان
کار جالبی نیست .!!!! | 8 | 8:59 Tuesday 30 August 2005 m_pahlevanzadeh
درباره freepascal | 6 | 0:53 Monday 29 August 2005 m_pahlevanzadeh
چرا Perl? | 0 | 22:55 Saturday 27 August 2005 m_pahlevanzadeh
netbios | 1 | 21:20 Saturday 27 August 2005 m_pahlevanzadeh
سایت بی سروصدا ...! | 2 | 14:48 Thursday 25 August 2005 mohamo_82
Visit Forums

Re: رمزنگاری

فرستنده: Parastoo فرستاده شده در تاریخ: 7:49:24 Monday 25 July 2005

dar ertebat ba in maghale man ghablan baraye shoma editesho ferestadam amma shoma lotf kardid va to sit nazashtid amma maghaleye dovom ba on maghale kamelan fargh mikone . movafagh bashid
فرستادن نظر
شرایط نظر هر نظری پذیرفته می شود
عنوان
نشانه پيام
پیام url email imgsrc code quote
نمونه
bold italic underline linethrough

[ادامه...]
گزينه ها امکان گذاشتن شکلک
اجازه کدهای کلیدی
شکستن خود به خود خط ها
کاربران حاضر
1 کاربر آن لاين است (1 کاربر در حال دیدن سایت مقالات)

عضو: 0
مهمان: 1

ادامه...

کاربران برتر
1 | hosseini | 289
2 | m_pahlevanzadeh | 189
3 | sh_roohani | 180
4 | mohamo_82 | 88
5 | rahimi_m | 47
6 | mehran | 43
7 | joker | 40
8 | Darioush | 32
9 | wekde | 29
10 | arashbi | 28

آخرین مقالات
  • محل جاري مكان نما در C(درس ۳)
  • فارسی نویسی در محیط Gnome
  • فارسی نویسی در محیط KDE
  • آموزش نصب لینوکس (فدورا)
  • اضافه کردن یک هارد دیسک جدید به لینوکس
  • ساختار یک برنامه C(درس ۲)
  • پیش از نصب و راه اندازی PHP(درس ۲)
  • گشتی میان یازده توزیع لینوکس
  • کار با سامبا، سرویس دهی بین لینوکس و ویندوز(۲)
  • کار با سامبا، سرویس دهی بین لینوکس و ویندوز(۱)
  • زبان PHP(درس ۱)
  • مقدمات زبان C
  • رمزنگاری
  • افزایش بازدهی هارد دیسک بوسیله ابزار hdparm
  • آموزش نحوه برنامه نویسی ++C در لینوکس
  • نصب Gxine
  • Makefile چيست؟
  • کار با کلیدهای امنیتی GPG
  • روشهای مختلف نصب برنامه در لینوکس
  • رفع مشکل راست به چپ در openoffice 2.0 نرم افزار calc.

فایلهای برتر
  • ترجمه نرم افزار moodle به فارسی (51)
  • روشهای مختلف نصب برنامه در لینوکس (47)
  • فصل اول کلاس سی پلاس پلاس (43)
  • مقاله نصب لینوکس توزیع فدورا (36)
  • فارسی نویسی در محیط Gnome (34)
  • فارسی نویسی در محیط KDE (30)
  • فصل اول کلاس سی پلاس پلاس (18)
  • کار با کلیدهای امنیتی GPG (16)


شناسه کاربری:

واژه رمز:

واژه رمز را فراموش کرده اید؟

عضو شوید

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

موضوعات اخیر
Topic | Replies | Last Post
معذرت | 0 | 19:04 Friday 7 October 2005 m_pahlevanzadeh
best assembler | 2 | 18:29 Friday 7 October 2005 m_pahlevanzadeh
live cd برای development | 2 | 18:14 Friday 7 October 2005 m_pahlevanzadeh
DocBook & WYSIWYG | 2 | 18:05 Friday 7 October 2005 m_pahlevanzadeh
کلامی با مدیران سایت | 7 | 11:11 Tuesday 4 October 2005 hosseini
lotfan be man komak konid | 1 | 9:08 Monday 3 October 2005 hosseini
شروع | 2 | 11:00 Sunday 25 September 2005 hosseini
جایگزینی برای jreport | 0 | 17:54 Wednesday 21 September 2005 MOHAMMAD
rigi commang | 3 | 19:00 Sunday 11 September 2005 m_pahlevanzadeh
rigi | 3 | 18:47 Friday 9 September 2005 m_pahlevanzadeh
ماژول Math در پیتون | 3 | 20:08 Sunday 4 September 2005 navidjoon
وعده ها در حال اجراست...... | 6 | 18:50 Sunday 4 September 2005 hosseini
moshkele grub | 5 | 10:56 Sunday 4 September 2005 مهمان
به دنبال سابجکت! | 1 | 1:02 Wednesday 31 August 2005 m_pahlevanzadeh
ترجمه‌ی تاریخچه‌ي دبیان | 18 | 15:19 Tuesday 30 August 2005 مهمان
کار جالبی نیست .!!!! | 8 | 8:59 Tuesday 30 August 2005 m_pahlevanzadeh
درباره freepascal | 6 | 0:53 Monday 29 August 2005 m_pahlevanzadeh
چرا Perl? | 0 | 22:55 Saturday 27 August 2005 m_pahlevanzadeh
netbios | 1 | 21:20 Saturday 27 August 2005 m_pahlevanzadeh
سایت بی سروصدا ...! | 2 | 14:48 Thursday 25 August 2005 mohamo_82
Visit Forums

Re: گشتی میان یازده توزیع لینوکس

فرستنده: arashbi فرستاده شده در تاریخ: 10:46:47 Sunday 14 August 2005

من متخصص توزیعهای لینوکس نیستم و فقط debian را میشناسم و متاسفانه هر چه در مورد آن نوشته‌اید اشتباه است!<img border="0" src="/html/class/editor/plugins/emotions/images/smiley-undecided.gif" /><br />
فرستادن نظر
شرایط نظر هر نظری پذیرفته می شود
عنوان
نشانه پيام
پیام url email imgsrc code quote
نمونه
bold italic underline linethrough

[ادامه...]
گزينه ها امکان گذاشتن شکلک
اجازه کدهای کلیدی
شکستن خود به خود خط ها
کاربران حاضر
2 کاربر آن لاين است (1 کاربر در حال دیدن سایت مقالات)

عضو: 0
مهمان: 2

ادامه...

کاربران برتر
1 | hosseini | 289
2 | m_pahlevanzadeh | 189
3 | sh_roohani | 180
4 | mohamo_82 | 88
5 | rahimi_m | 47
6 | mehran | 43
7 | joker | 40
8 | Darioush | 32
9 | wekde | 29
10 | arashbi | 28

آخرین مقالات
  • محل جاري مكان نما در C(درس ۳)
  • فارسی نویسی در محیط Gnome
  • فارسی نویسی در محیط KDE
  • آموزش نصب لینوکس (فدورا)
  • اضافه کردن یک هارد دیسک جدید به لینوکس
  • ساختار یک برنامه C(درس ۲)
  • پیش از نصب و راه اندازی PHP(درس ۲)
  • گشتی میان یازده توزیع لینوکس
  • کار با سامبا، سرویس دهی بین لینوکس و ویندوز(۲)
  • کار با سامبا، سرویس دهی بین لینوکس و ویندوز(۱)
  • زبان PHP(درس ۱)
  • مقدمات زبان C
  • رمزنگاری
  • افزایش بازدهی هارد دیسک بوسیله ابزار hdparm
  • آموزش نحوه برنامه نویسی ++C در لینوکس
  • نصب Gxine
  • Makefile چيست؟
  • کار با کلیدهای امنیتی GPG
  • روشهای مختلف نصب برنامه در لینوکس
  • رفع مشکل راست به چپ در openoffice 2.0 نرم افزار calc.

فایلهای برتر
  • ترجمه نرم افزار moodle به فارسی (51)
  • روشهای مختلف نصب برنامه در لینوکس (47)
  • فصل اول کلاس سی پلاس پلاس (43)
  • مقاله نصب لینوکس توزیع فدورا (36)
  • فارسی نویسی در محیط Gnome (34)
  • فارسی نویسی در محیط KDE (30)
  • فصل اول کلاس سی پلاس پلاس (18)
  • کار با کلیدهای امنیتی GPG (16)


شناسه کاربری:

واژه رمز:

واژه رمز را فراموش کرده اید؟

عضو شوید

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

موضوعات اخیر
Topic | Replies | Last Post
معذرت | 0 | 19:04 Friday 7 October 2005 m_pahlevanzadeh
best assembler | 2 | 18:29 Friday 7 October 2005 m_pahlevanzadeh
live cd برای development | 2 | 18:14 Friday 7 October 2005 m_pahlevanzadeh
DocBook & WYSIWYG | 2 | 18:05 Friday 7 October 2005 m_pahlevanzadeh
کلامی با مدیران سایت | 7 | 11:11 Tuesday 4 October 2005 hosseini
lotfan be man komak konid | 1 | 9:08 Monday 3 October 2005 hosseini
شروع | 2 | 11:00 Sunday 25 September 2005 hosseini
جایگزینی برای jreport | 0 | 17:54 Wednesday 21 September 2005 MOHAMMAD
rigi commang | 3 | 19:00 Sunday 11 September 2005 m_pahlevanzadeh
rigi | 3 | 18:47 Friday 9 September 2005 m_pahlevanzadeh
ماژول Math در پیتون | 3 | 20:08 Sunday 4 September 2005 navidjoon
وعده ها در حال اجراست...... | 6 | 18:50 Sunday 4 September 2005 hosseini
moshkele grub | 5 | 10:56 Sunday 4 September 2005 مهمان
به دنبال سابجکت! | 1 | 1:02 Wednesday 31 August 2005 m_pahlevanzadeh
ترجمه‌ی تاریخچه‌ي دبیان | 18 | 15:19 Tuesday 30 August 2005 مهمان
کار جالبی نیست .!!!! | 8 | 8:59 Tuesday 30 August 2005 m_pahlevanzadeh
درباره freepascal | 6 | 0:53 Monday 29 August 2005 m_pahlevanzadeh
چرا Perl? | 0 | 22:55 Saturday 27 August 2005 m_pahlevanzadeh
netbios | 1 | 21:20 Saturday 27 August 2005 m_pahlevanzadeh
سایت بی سروصدا ...! | 2 | 14:48 Thursday 25 August 2005 mohamo_82
Visit Forums

Re: پیش از نصب و راه اندازی PHP(درس ۲)

فرستنده: مهمان فرستاده شده در تاریخ: 19:02:24 Friday 15 July 2005

عالی بود دست شما درد نکنه
فرستادن نظر
شرایط نظر هر نظری پذیرفته می شود
عنوان
نشانه پيام
پیام url email imgsrc code quote
نمونه
bold italic underline linethrough

[ادامه...]
گزينه ها امکان گذاشتن شکلک
اجازه کدهای کلیدی
شکستن خود به خود خط ها
کاربران حاضر
2 کاربر آن لاين است (1 کاربر در حال دیدن سایت مقالات)

عضو: 0
مهمان: 2

ادامه...

کاربران برتر
1 | hosseini | 289
2 | m_pahlevanzadeh | 189
3 | sh_roohani | 180
4 | mohamo_82 | 88
5 | rahimi_m | 47
6 | mehran | 43
7 | joker | 40
8 | Darioush | 32
9 | wekde | 29
10 | arashbi | 28

آخرین مقالات
  • محل جاري مكان نما در C(درس ۳)
  • فارسی نویسی در محیط Gnome
  • فارسی نویسی در محیط KDE
  • آموزش نصب لینوکس (فدورا)
  • اضافه کردن یک هارد دیسک جدید به لینوکس
  • ساختار یک برنامه C(درس ۲)
  • پیش از نصب و راه اندازی PHP(درس ۲)
  • گشتی میان یازده توزیع لینوکس
  • کار با سامبا، سرویس دهی بین لینوکس و ویندوز(۲)
  • کار با سامبا، سرویس دهی بین لینوکس و ویندوز(۱)
  • زبان PHP(درس ۱)
  • مقدمات زبان C
  • رمزنگاری
  • افزایش بازدهی هارد دیسک بوسیله ابزار hdparm
  • آموزش نحوه برنامه نویسی ++C در لینوکس
  • نصب Gxine
  • Makefile چيست؟
  • کار با کلیدهای امنیتی GPG
  • روشهای مختلف نصب برنامه در لینوکس
  • رفع مشکل راست به چپ در openoffice 2.0 نرم افزار calc.

فایلهای برتر
  • ترجمه نرم افزار moodle به فارسی (51)
  • روشهای مختلف نصب برنامه در لینوکس (47)
  • فصل اول کلاس سی پلاس پلاس (43)
  • مقاله نصب لینوکس توزیع فدورا (36)
  • فارسی نویسی در محیط Gnome (34)
  • فارسی نویسی در محیط KDE (30)
  • فصل اول کلاس سی پلاس پلاس (18)
  • کار با کلیدهای امنیتی GPG (16)


شناسه کاربری:

واژه رمز:

واژه رمز را فراموش کرده اید؟

عضو شوید

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

موضوعات اخیر
Topic | Replies | Last Post
معذرت | 0 | 19:04 Friday 7 October 2005 m_pahlevanzadeh
best assembler | 2 | 18:29 Friday 7 October 2005 m_pahlevanzadeh
live cd برای development | 2 | 18:14 Friday 7 October 2005 m_pahlevanzadeh
DocBook & WYSIWYG | 2 | 18:05 Friday 7 October 2005 m_pahlevanzadeh
کلامی با مدیران سایت | 7 | 11:11 Tuesday 4 October 2005 hosseini
lotfan be man komak konid | 1 | 9:08 Monday 3 October 2005 hosseini
شروع | 2 | 11:00 Sunday 25 September 2005 hosseini
جایگزینی برای jreport | 0 | 17:54 Wednesday 21 September 2005 MOHAMMAD
rigi commang | 3 | 19:00 Sunday 11 September 2005 m_pahlevanzadeh
rigi | 3 | 18:47 Friday 9 September 2005 m_pahlevanzadeh
ماژول Math در پیتون | 3 | 20:08 Sunday 4 September 2005 navidjoon
وعده ها در حال اجراست...... | 6 | 18:50 Sunday 4 September 2005 hosseini
moshkele grub | 5 | 10:56 Sunday 4 September 2005 مهمان
به دنبال سابجکت! | 1 | 1:02 Wednesday 31 August 2005 m_pahlevanzadeh
ترجمه‌ی تاریخچه‌ي دبیان | 18 | 15:19 Tuesday 30 August 2005 مهمان
کار جالبی نیست .!!!! | 8 | 8:59 Tuesday 30 August 2005 m_pahlevanzadeh
درباره freepascal | 6 | 0:53 Monday 29 August 2005 m_pahlevanzadeh
چرا Perl? | 0 | 22:55 Saturday 27 August 2005 m_pahlevanzadeh
netbios | 1 | 21:20 Saturday 27 August 2005 m_pahlevanzadeh
سایت بی سروصدا ...! | 2 | 14:48 Thursday 25 August 2005 mohamo_82
Visit Forums

Re: محل جاري مكان نما در C(درس ۳)

فرستنده: leranix فرستاده شده در تاریخ: 11:11:11 Sunday 7 August 2005

به مسایل اساسی زبان C بپردازید . این مسایل خیلی پیش پا افتاده اند . بعدش اصلا یاددادن C با اون حجم اینجا اصلا درست نیست . همیشه کاری را بگیرید که در جایگاه خود معنی داشته باشد و ضمنا توانش رو داشته باشید . اگه وسط کار انگیزه از بین بره ..........
فرستادن نظر
شرایط نظر هر نظری پذیرفته می شود
عنوان
نشانه پيام
پیام url email imgsrc code quote
نمونه
bold italic underline linethrough

[ادامه...]
گزينه ها امکان گذاشتن شکلک
اجازه کدهای کلیدی
شکستن خود به خود خط ها
کاربران حاضر
2 کاربر آن لاين است (1 کاربر در حال دیدن سایت مقالات)

عضو: 0
مهمان: 2

ادامه...

کاربران برتر
1 | hosseini | 289
2 | m_pahlevanzadeh | 189
3 | sh_roohani | 180
4 | mohamo_82 | 88
5 | rahimi_m | 47
6 | mehran | 43
7 | joker | 40
8 | Darioush | 32
9 | wekde | 29
10 | arashbi | 28

آخرین مقالات
  • محل جاري مكان نما در C(درس ۳)
  • فارسی نویسی در محیط Gnome
  • فارسی نویسی در محیط KDE
  • آموزش نصب لینوکس (فدورا)
  • اضافه کردن یک هارد دیسک جدید به لینوکس
  • ساختار یک برنامه C(درس ۲)
  • پیش از نصب و راه اندازی PHP(درس ۲)
  • گشتی میان یازده توزیع لینوکس
  • کار با سامبا، سرویس دهی بین لینوکس و ویندوز(۲)
  • کار با سامبا، سرویس دهی بین لینوکس و ویندوز(۱)
  • زبان PHP(درس ۱)
  • مقدمات زبان C
  • رمزنگاری
  • افزایش بازدهی هارد دیسک بوسیله ابزار hdparm
  • آموزش نحوه برنامه نویسی ++C در لینوکس
  • نصب Gxine
  • Makefile چيست؟
  • کار با کلیدهای امنیتی GPG
  • روشهای مختلف نصب برنامه در لینوکس
  • رفع مشکل راست به چپ در openoffice 2.0 نرم افزار calc.

فایلهای برتر
  • ترجمه نرم افزار moodle به فارسی (51)
  • روشهای مختلف نصب برنامه در لینوکس (47)
  • فصل اول کلاس سی پلاس پلاس (43)
  • مقاله نصب لینوکس توزیع فدورا (36)
  • فارسی نویسی در محیط Gnome (34)
  • فارسی نویسی در محیط KDE (30)
  • فصل اول کلاس سی پلاس پلاس (18)
  • کار با کلیدهای امنیتی GPG (16)


شناسه کاربری:

واژه رمز:

واژه رمز را فراموش کرده اید؟

عضو شوید

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

موضوعات اخیر
Topic | Replies | Last Post
معذرت | 0 | 19:04 Friday 7 October 2005 m_pahlevanzadeh
best assembler | 2 | 18:29 Friday 7 October 2005 m_pahlevanzadeh
live cd برای development | 2 | 18:14 Friday 7 October 2005 m_pahlevanzadeh
DocBook & WYSIWYG | 2 | 18:05 Friday 7 October 2005 m_pahlevanzadeh
کلامی با مدیران سایت | 7 | 11:11 Tuesday 4 October 2005 hosseini
lotfan be man komak konid | 1 | 9:08 Monday 3 October 2005 hosseini
شروع | 2 | 11:00 Sunday 25 September 2005 hosseini
جایگزینی برای jreport | 0 | 17:54 Wednesday 21 September 2005 MOHAMMAD
rigi commang | 3 | 19:00 Sunday 11 September 2005 m_pahlevanzadeh
rigi | 3 | 18:47 Friday 9 September 2005 m_pahlevanzadeh
ماژول Math در پیتون | 3 | 20:08 Sunday 4 September 2005 navidjoon
وعده ها در حال اجراست...... | 6 | 18:50 Sunday 4 September 2005 hosseini
moshkele grub | 5 | 10:56 Sunday 4 September 2005 مهمان
به دنبال سابجکت! | 1 | 1:02 Wednesday 31 August 2005 m_pahlevanzadeh
ترجمه‌ی تاریخچه‌ي دبیان | 18 | 15:19 Tuesday 30 August 2005 مهمان
کار جالبی نیست .!!!! | 8 | 8:59 Tuesday 30 August 2005 m_pahlevanzadeh
درباره freepascal | 6 | 0:53 Monday 29 August 2005 m_pahlevanzadeh
چرا Perl? | 0 | 22:55 Saturday 27 August 2005 m_pahlevanzadeh
netbios | 1 | 21:20 Saturday 27 August 2005 m_pahlevanzadeh
سایت بی سروصدا ...! | 2 | 14:48 Thursday 25 August 2005 mohamo_82
Visit Forums

Articles
Linux (14 articles)
مقالات آموزشی لینوکس
PHP (2 articles)
مقالات آموزشی در زمینه پی اچ پی
C++ (3 articles)
مقالات آموزشی در مورد سی پلاس پلاس
عمومی (1 articles)
مقالاتی که دارای دسته بندی مشخصی نمی باشند.
کاربران حاضر
2 کاربر آن لاين است (1 کاربر در حال دیدن سایت مقالات)

عضو: 0
مهمان: 2

ادامه...

کاربران برتر
1 | hosseini | 289
2 | m_pahlevanzadeh | 189
3 | sh_roohani | 180
4 | mohamo_82 | 88
5 | rahimi_m | 47
6 | mehran | 43
7 | joker | 40
8 | Darioush | 32
9 | wekde | 29
10 | arashbi | 28

آخرین مقالات
  • محل جاري مكان نما در C(درس ۳)
  • فارسی نویسی در محیط Gnome
  • فارسی نویسی در محیط KDE
  • آموزش نصب لینوکس (فدورا)
  • اضافه کردن یک هارد دیسک جدید به لینوکس
  • ساختار یک برنامه C(درس ۲)
  • پیش از نصب و راه اندازی PHP(درس ۲)
  • گشتی میان یازده توزیع لینوکس
  • کار با سامبا، سرویس دهی بین لینوکس و ویندوز(۲)
  • کار با سامبا، سرویس دهی بین لینوکس و ویندوز(۱)
  • زبان PHP(درس ۱)
  • مقدمات زبان C
  • رمزنگاری
  • افزایش بازدهی هارد دیسک بوسیله ابزار hdparm
  • آموزش نحوه برنامه نویسی ++C در لینوکس
  • نصب Gxine
  • Makefile چيست؟
  • کار با کلیدهای امنیتی GPG
  • روشهای مختلف نصب برنامه در لینوکس
  • رفع مشکل راست به چپ در openoffice 2.0 نرم افزار calc.

فایلهای برتر
  • ترجمه نرم افزار moodle به فارسی (51)
  • روشهای مختلف نصب برنامه در لینوکس (47)
  • فصل اول کلاس سی پلاس پلاس (43)
  • مقاله نصب لینوکس توزیع فدورا (36)
  • فارسی نویسی در محیط Gnome (34)
  • فارسی نویسی در محیط KDE (30)
  • فصل اول کلاس سی پلاس پلاس (18)
  • کار با کلیدهای امنیتی GPG (16)


IOSSD

You have to be logged in to access this page.

در صورتی که صفحه جديد نیامد اینجا را کليک کنيد.


شناسه کاربری:

واژه رمز:

واژه رمز را فراموش کرده اید؟

عضو شوید

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

موضوعات اخیر
Topic | Replies | Last Post
معذرت | 0 | 19:04 Friday 7 October 2005 m_pahlevanzadeh
best assembler | 2 | 18:29 Friday 7 October 2005 m_pahlevanzadeh
live cd برای development | 2 | 18:14 Friday 7 October 2005 m_pahlevanzadeh
DocBook & WYSIWYG | 2 | 18:05 Friday 7 October 2005 m_pahlevanzadeh
کلامی با مدیران سایت | 7 | 11:11 Tuesday 4 October 2005 hosseini
lotfan be man komak konid | 1 | 9:08 Monday 3 October 2005 hosseini
شروع | 2 | 11:00 Sunday 25 September 2005 hosseini
جایگزینی برای jreport | 0 | 17:54 Wednesday 21 September 2005 MOHAMMAD
rigi commang | 3 | 19:00 Sunday 11 September 2005 m_pahlevanzadeh
rigi | 3 | 18:47 Friday 9 September 2005 m_pahlevanzadeh
ماژول Math در پیتون | 3 | 20:08 Sunday 4 September 2005 navidjoon
وعده ها در حال اجراست...... | 6 | 18:50 Sunday 4 September 2005 hosseini
moshkele grub | 5 | 10:56 Sunday 4 September 2005 مهمان
به دنبال سابجکت! | 1 | 1:02 Wednesday 31 August 2005 m_pahlevanzadeh
ترجمه‌ی تاریخچه‌ي دبیان | 18 | 15:19 Tuesday 30 August 2005 مهمان
کار جالبی نیست .!!!! | 8 | 8:59 Tuesday 30 August 2005 m_pahlevanzadeh
درباره freepascal | 6 | 0:53 Monday 29 August 2005 m_pahlevanzadeh
چرا Perl? | 0 | 22:55 Saturday 27 August 2005 m_pahlevanzadeh
netbios | 1 | 21:20 Saturday 27 August 2005 m_pahlevanzadeh
سایت بی سروصدا ...! | 2 | 14:48 Thursday 25 August 2005 mohamo_82
Visit Forums

Articles
Linux (14 articles) مقالات آموزشی لینوکس
 | رفع مشکل راست به چپ در openoffice 2.0 نرم افزار calc. در نسخه های قبلی openoffice برای فایلها امکان نمایش به صورت راست به چپ وجود نداشت.
 | کار با کلیدهای امنیتی GPG تا به حال خواستین متن یا هر فایل شخصی خودتون رو کد گذاری کنید که توسط افراد دیگری حتی قابل خواندن هم نباشد.
 | روشهای مختلف نصب برنامه در لینوکس به طور معمول برنامه های نصبی در لینوکس به سه صورتrpm , bin , tar.gz وجود دارد.
 | Makefile چيست؟ مي دانيد كه تنها زبان قابل درك براي كامپيوترها زباني است معروف Machine Code يا زبان ماشين كه از رشته پيوسته اي از اعداد تشكيل شده است.
 | نصب Gxine مراحل نصبی که در زیر گفته میشود مربوط به لینوکس فدورا۳ میباشد.
 | آموزش نحوه برنامه نویسی ++C در لینوکس با توجه به اینکه دانشجویان و کاربرانی که از لینوکس استفاده می کنند خواستار این هستند که بتواند در لینوکس برنامه نویسی کنند.
 | افزایش بازدهی هارد دیسک بوسیله ابزار hdparm این روزها با بالاتر رفتن سرعت انتقال دادهها در هارد دیسکهای IDE به کمک تکنولوژی UDMA یا همان UltraDMA تعداد کاربران این هارد دیسکها افزایش پیدا کرده است. اما هنوز راههایی برای بالا بردن بازدهی این هاردها وجود دارد. که یکی از این راهها استفاده از ابزاری بنام hdparm میباشد.
 | گشتی میان یازده توزیع لینوکس از جمله مباحث داغی که این روزها در دنیای کامپیوتر خصوصاً مبحث سیستم عامل مطرح است ، اقدامات متقابل مایکروسافت و لینوکس برای مقابله با یکدیگر و در دست گرفتن بازار سیستم عامل ها‌ی Server و Client بوسیله محصولاتشان است .
 | کار با سامبا، سرویس دهی بین لینوکس و ویندوز(۱) SAMBA يک مجموعهای از برنامه هاي کاربردي است که به سيستم عاملهاي لينوکسي اجازه ميدهد در کنار شبکه هاي مايکروسافت نقش سرور(فايل و پرينت) و کلاينت را بازي کنند.
 | کار با سامبا، سرویس دهی بین لینوکس و ویندوز(۲) تنظیم سامبا به عنوان یک PDC(Primary domain controller)
 | اضافه کردن یک هارد دیسک جدید به لینوکس براین فرض هستیم که شما از لحاظ سخت افزاری مشکلی در نصب ندارید
 | آموزش نصب لینوکس (فدورا) آموزش نصب فدورا
 | فارسی نویسی در محیط KDE فارسی نویسی در محیط KDE
 | فارسی نویسی در محیط Gnome فارسی نویسی در محیط Gnome
کاربران حاضر
1 کاربر آن لاين است (1 کاربر در حال دیدن سایت مقالات)

عضو: 0
مهمان: 1

ادامه...

کاربران برتر
1 | hosseini | 289
2 | m_pahlevanzadeh | 189
3 | sh_roohani | 180
4 | mohamo_82 | 88
5 | rahimi_m | 47
6 | mehran | 43
7 | joker | 40
8 | Darioush | 32
9 | wekde | 29
10 | arashbi | 28

آخرین مقالات
  • محل جاري مكان نما در C(درس ۳)
  • فارسی نویسی در محیط Gnome
  • فارسی نویسی در محیط KDE
  • آموزش نصب لینوکس (فدورا)
  • اضافه کردن یک هارد دیسک جدید به لینوکس
  • ساختار یک برنامه C(درس ۲)
  • پیش از نصب و راه اندازی PHP(درس ۲)
  • گشتی میان یازده توزیع لینوکس
  • کار با سامبا، سرویس دهی بین لینوکس و ویندوز(۲)
  • کار با سامبا، سرویس دهی بین لینوکس و ویندوز(۱)
  • زبان PHP(درس ۱)
  • مقدمات زبان C
  • رمزنگاری
  • افزایش بازدهی هارد دیسک بوسیله ابزار hdparm
  • آموزش نحوه برنامه نویسی ++C در لینوکس
  • نصب Gxine
  • Makefile چيست؟
  • کار با کلیدهای امنیتی GPG
  • روشهای مختلف نصب برنامه در لینوکس
  • رفع مشکل راست به چپ در openoffice 2.0 نرم افزار calc.

فایلهای برتر
  • ترجمه نرم افزار moodle به فارسی (51)
  • روشهای مختلف نصب برنامه در لینوکس (47)
  • فصل اول کلاس سی پلاس پلاس (43)
  • مقاله نصب لینوکس توزیع فدورا (36)
  • فارسی نویسی در محیط Gnome (34)
  • فارسی نویسی در محیط KDE (30)
  • فصل اول کلاس سی پلاس پلاس (18)
  • کار با کلیدهای امنیتی GPG (16)


شناسه کاربری:

واژه رمز:

واژه رمز را فراموش کرده اید؟

عضو شوید

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

موضوعات اخیر
Topic | Replies | Last Post
معذرت | 0 | 19:04 Friday 7 October 2005 m_pahlevanzadeh
best assembler | 2 | 18:29 Friday 7 October 2005 m_pahlevanzadeh
live cd برای development | 2 | 18:14 Friday 7 October 2005 m_pahlevanzadeh
DocBook & WYSIWYG | 2 | 18:05 Friday 7 October 2005 m_pahlevanzadeh
کلامی با مدیران سایت | 7 | 11:11 Tuesday 4 October 2005 hosseini
lotfan be man komak konid | 1 | 9:08 Monday 3 October 2005 hosseini
شروع | 2 | 11:00 Sunday 25 September 2005 hosseini
جایگزینی برای jreport | 0 | 17:54 Wednesday 21 September 2005 MOHAMMAD
rigi commang | 3 | 19:00 Sunday 11 September 2005 m_pahlevanzadeh
rigi | 3 | 18:47 Friday 9 September 2005 m_pahlevanzadeh
ماژول Math در پیتون | 3 | 20:08 Sunday 4 September 2005 navidjoon
وعده ها در حال اجراست...... | 6 | 18:50 Sunday 4 September 2005 hosseini
moshkele grub | 5 | 10:56 Sunday 4 September 2005 مهمان
به دنبال سابجکت! | 1 | 1:02 Wednesday 31 August 2005 m_pahlevanzadeh
ترجمه‌ی تاریخچه‌ي دبیان | 18 | 15:19 Tuesday 30 August 2005 مهمان
کار جالبی نیست .!!!! | 8 | 8:59 Tuesday 30 August 2005 m_pahlevanzadeh
درباره freepascal | 6 | 0:53 Monday 29 August 2005 m_pahlevanzadeh
چرا Perl? | 0 | 22:55 Saturday 27 August 2005 m_pahlevanzadeh
netbios | 1 | 21:20 Saturday 27 August 2005 m_pahlevanzadeh
سایت بی سروصدا ...! | 2 | 14:48 Thursday 25 August 2005 mohamo_82
Visit Forums

Articles
PHP (2 articles) مقالات آموزشی در زمینه پی اچ پی
 | زبان PHP(درس ۱) نظریه و ایده PHP‌ در سال ۱۹۹۴ توسط راسموس لردورف به معنی Personal Home Page به منظور تولید صفحات تخصصی صفحات وب ابراز شد و نسخه ۱ این زبان اوایل سال ۱۹۹۵ ارائه شد و با توجه زیادی از طرف کاربران روبرو شد. به همین دلیل نسخه این زبان در اواخر همین سال ارائه گردید.
 | پیش از نصب و راه اندازی PHP(درس ۲) پس از اینکه در مورد مزیتهای PHP صحبت کردیم و PHP را بعنوان یک زبان برنامه قابل شناخیم، حال می خواهیم با این زبان کار کنیم تا این زبان را بهتر و بیشتر بشناسیم.
کاربران حاضر
1 کاربر آن لاين است (1 کاربر در حال دیدن سایت مقالات)

عضو: 0
مهمان: 1

ادامه...

کاربران برتر
1 | hosseini | 289
2 | m_pahlevanzadeh | 189
3 | sh_roohani | 180
4 | mohamo_82 | 88
5 | rahimi_m | 47
6 | mehran | 43
7 | joker | 40
8 | Darioush | 32
9 | wekde | 29
10 | arashbi | 28

آخرین مقالات
  • محل جاري مكان نما در C(درس ۳)
  • فارسی نویسی در محیط Gnome
  • فارسی نویسی در محیط KDE
  • آموزش نصب لینوکس (فدورا)
  • اضافه کردن یک هارد دیسک جدید به لینوکس
  • ساختار یک برنامه C(درس ۲)
  • پیش از نصب و راه اندازی PHP(درس ۲)
  • گشتی میان یازده توزیع لینوکس
  • کار با سامبا، سرویس دهی بین لینوکس و ویندوز(۲)
  • کار با سامبا، سرویس دهی بین لینوکس و ویندوز(۱)
  • زبان PHP(درس ۱)
  • مقدمات زبان C
  • رمزنگاری
  • افزایش بازدهی هارد دیسک بوسیله ابزار hdparm
  • آموزش نحوه برنامه نویسی ++C در لینوکس
  • نصب Gxine
  • Makefile چيست؟
  • کار با کلیدهای امنیتی GPG
  • روشهای مختلف نصب برنامه در لینوکس
  • رفع مشکل راست به چپ در openoffice 2.0 نرم افزار calc.

فایلهای برتر
  • ترجمه نرم افزار moodle به فارسی (51)
  • روشهای مختلف نصب برنامه در لینوکس (47)
  • فصل اول کلاس سی پلاس پلاس (43)
  • مقاله نصب لینوکس توزیع فدورا (36)
  • فارسی نویسی در محیط Gnome (34)
  • فارسی نویسی در محیط KDE (30)
  • فصل اول کلاس سی پلاس پلاس (18)
  • کار با کلیدهای امنیتی GPG (16)


شناسه کاربری:

واژه رمز:

واژه رمز را فراموش کرده اید؟

عضو شوید

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

موضوعات اخیر
Topic | Replies | Last Post
معذرت | 0 | 19:04 Friday 7 October 2005 m_pahlevanzadeh
best assembler | 2 | 18:29 Friday 7 October 2005 m_pahlevanzadeh
live cd برای development | 2 | 18:14 Friday 7 October 2005 m_pahlevanzadeh
DocBook & WYSIWYG | 2 | 18:05 Friday 7 October 2005 m_pahlevanzadeh
کلامی با مدیران سایت | 7 | 11:11 Tuesday 4 October 2005 hosseini
lotfan be man komak konid | 1 | 9:08 Monday 3 October 2005 hosseini
شروع | 2 | 11:00 Sunday 25 September 2005 hosseini
جایگزینی برای jreport | 0 | 17:54 Wednesday 21 September 2005 MOHAMMAD
rigi commang | 3 | 19:00 Sunday 11 September 2005 m_pahlevanzadeh
rigi | 3 | 18:47 Friday 9 September 2005 m_pahlevanzadeh
ماژول Math در پیتون | 3 | 20:08 Sunday 4 September 2005 navidjoon
وعده ها در حال اجراست...... | 6 | 18:50 Sunday 4 September 2005 hosseini
moshkele grub | 5 | 10:56 Sunday 4 September 2005 مهمان
به دنبال سابجکت! | 1 | 1:02 Wednesday 31 August 2005 m_pahlevanzadeh
ترجمه‌ی تاریخچه‌ي دبیان | 18 | 15:19 Tuesday 30 August 2005 مهمان
کار جالبی نیست .!!!! | 8 | 8:59 Tuesday 30 August 2005 m_pahlevanzadeh
درباره freepascal | 6 | 0:53 Monday 29 August 2005 m_pahlevanzadeh
چرا Perl? | 0 | 22:55 Saturday 27 August 2005 m_pahlevanzadeh
netbios | 1 | 21:20 Saturday 27 August 2005 m_pahlevanzadeh
سایت بی سروصدا ...! | 2 | 14:48 Thursday 25 August 2005 mohamo_82
Visit Forums

Articles
C++ (3 articles) مقالات آموزشی در مورد سی پلاس پلاس
 | مقدمات زبان C آنچه در پي مي آيد تمام تاريخچه زبان C نيست. در واقع از بخشي از تاريخ كه همه شروع مي كنند، من هم شروع كرده ام به نوشتن. آنچه كه در اين متن از تاريخچه زبان C خواهيد خواند، برداشتي است از مقالات مختلفي كه در اينترنت پيدا كرده ام.
 | ساختار یک برنامه C(درس ۲) در این بخش ضمن تشریح ساختار یك برنامه C، اندكی به ورودی/خروجی، به عنوان روش ارتباطی كاربر و برنامه می پردازیم.
 | محل جاري مكان نما در C(درس ۳) در فصل قبل با استفاده از تابع printf يك متن يك خطي را روي صفحه نمايش داديم
کاربران حاضر
1 کاربر آن لاين است (1 کاربر در حال دیدن سایت مقالات)

عضو: 0
مهمان: 1

ادامه...

کاربران برتر
1 | hosseini | 289
2 | m_pahlevanzadeh | 189
3 | sh_roohani | 180
4 | mohamo_82 | 88
5 | rahimi_m | 47
6 | mehran | 43
7 | joker | 40
8 | Darioush | 32
9 | wekde | 29
10 | arashbi | 28

آخرین مقالات
  • محل جاري مكان نما در C(درس ۳)
  • فارسی نویسی در محیط Gnome
  • فارسی نویسی در محیط KDE
  • آموزش نصب لینوکس (فدورا)
  • اضافه کردن یک هارد دیسک جدید به لینوکس
  • ساختار یک برنامه C(درس ۲)
  • پیش از نصب و راه اندازی PHP(درس ۲)
  • گشتی میان یازده توزیع لینوکس
  • کار با سامبا، سرویس دهی بین لینوکس و ویندوز(۲)
  • کار با سامبا، سرویس دهی بین لینوکس و ویندوز(۱)
  • زبان PHP(درس ۱)
  • مقدمات زبان C
  • رمزنگاری
  • افزایش بازدهی هارد دیسک بوسیله ابزار hdparm
  • آموزش نحوه برنامه نویسی ++C در لینوکس
  • نصب Gxine
  • Makefile چيست؟
  • کار با کلیدهای امنیتی GPG
  • روشهای مختلف نصب برنامه در لینوکس
  • رفع مشکل راست به چپ در openoffice 2.0 نرم افزار calc.

فایلهای برتر
  • ترجمه نرم افزار moodle به فارسی (51)
  • روشهای مختلف نصب برنامه در لینوکس (47)
  • فصل اول کلاس سی پلاس پلاس (43)
  • مقاله نصب لینوکس توزیع فدورا (36)
  • فارسی نویسی در محیط Gnome (34)
  • فارسی نویسی در محیط KDE (30)
  • فصل اول کلاس سی پلاس پلاس (18)
  • کار با کلیدهای امنیتی GPG (16)


شناسه کاربری:

واژه رمز:

واژه رمز را فراموش کرده اید؟

عضو شوید

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

موضوعات اخیر
Topic | Replies | Last Post
معذرت | 0 | 19:04 Friday 7 October 2005 m_pahlevanzadeh
best assembler | 2 | 18:29 Friday 7 October 2005 m_pahlevanzadeh
live cd برای development | 2 | 18:14 Friday 7 October 2005 m_pahlevanzadeh
DocBook & WYSIWYG | 2 | 18:05 Friday 7 October 2005 m_pahlevanzadeh
کلامی با مدیران سایت | 7 | 11:11 Tuesday 4 October 2005 hosseini
lotfan be man komak konid | 1 | 9:08 Monday 3 October 2005 hosseini
شروع | 2 | 11:00 Sunday 25 September 2005 hosseini
جایگزینی برای jreport | 0 | 17:54 Wednesday 21 September 2005 MOHAMMAD
rigi commang | 3 | 19:00 Sunday 11 September 2005 m_pahlevanzadeh
rigi | 3 | 18:47 Friday 9 September 2005 m_pahlevanzadeh
ماژول Math در پیتون | 3 | 20:08 Sunday 4 September 2005 navidjoon
وعده ها در حال اجراست...... | 6 | 18:50 Sunday 4 September 2005 hosseini
moshkele grub | 5 | 10:56 Sunday 4 September 2005 مهمان
به دنبال سابجکت! | 1 | 1:02 Wednesday 31 August 2005 m_pahlevanzadeh
ترجمه‌ی تاریخچه‌ي دبیان | 18 | 15:19 Tuesday 30 August 2005 مهمان
کار جالبی نیست .!!!! | 8 | 8:59 Tuesday 30 August 2005 m_pahlevanzadeh
درباره freepascal | 6 | 0:53 Monday 29 August 2005 m_pahlevanzadeh
چرا Perl? | 0 | 22:55 Saturday 27 August 2005 m_pahlevanzadeh
netbios | 1 | 21:20 Saturday 27 August 2005 m_pahlevanzadeh
سایت بی سروصدا ...! | 2 | 14:48 Thursday 25 August 2005 mohamo_82
Visit Forums

Articles
عمومی (1 articles)
مقالاتی که دارای دسته بندی مشخصی نمی باشند.
رمزنگاری
نامه های الکترونیکی و دیگر اطلاعاتی که به بصورت الکترونیک ارسال می شود مثل کارت پستال های دیجیتال هستند و هر کسی می تواند به متن درون انها پی ببرد . سیستم های رمزنگاری ایمن می کوشند تا امنیت این نوع مبادلات را تضمین کنند .
کاربران حاضر
1 کاربر آن لاين است (1 کاربر در حال دیدن سایت مقالات)

عضو: 0
مهمان: 1

ادامه...

کاربران برتر
1 | hosseini | 289
2 | m_pahlevanzadeh | 189
3 | sh_roohani | 180
4 | mohamo_82 | 88
5 | rahimi_m | 47
6 | mehran | 43
7 | joker | 40
8 | Darioush | 32
9 | wekde | 29
10 | arashbi | 28

آخرین مقالات
  • محل جاري مكان نما در C(درس ۳)
  • فارسی نویسی در محیط Gnome
  • فارسی نویسی در محیط KDE
  • آموزش نصب لینوکس (فدورا)
  • اضافه کردن یک هارد دیسک جدید به لینوکس
  • ساختار یک برنامه C(درس ۲)
  • پیش از نصب و راه اندازی PHP(درس ۲)
  • گشتی میان یازده توزیع لینوکس
  • کار با سامبا، سرویس دهی بین لینوکس و ویندوز(۲)
  • کار با سامبا، سرویس دهی بین لینوکس و ویندوز(۱)
  • زبان PHP(درس ۱)
  • مقدمات زبان C
  • رمزنگاری
  • افزایش بازدهی هارد دیسک بوسیله ابزار hdparm
  • آموزش نحوه برنامه نویسی ++C در لینوکس
  • نصب Gxine
  • Makefile چيست؟
  • کار با کلیدهای امنیتی GPG
  • روشهای مختلف نصب برنامه در لینوکس
  • رفع مشکل راست به چپ در openoffice 2.0 نرم افزار calc.

فایلهای برتر
  • ترجمه نرم افزار moodle به فارسی (51)
  • روشهای مختلف نصب برنامه در لینوکس (47)
  • فصل اول کلاس سی پلاس پلاس (43)
  • مقاله نصب لینوکس توزیع فدورا (36)
  • فارسی نویسی در محیط Gnome (34)
  • فارسی نویسی در محیط KDE (30)
  • فصل اول کلاس سی پلاس پلاس (18)
  • کار با کلیدهای امنیتی GPG (16)


Article title: | رفع مشکل راست به چپ در openoffice 2.0 نرم افزار calc.
First posted: | Mon 16 May 2005
Description: | در نسخه های قبلی openoffice برای فایلها امکان نمایش به صورت راست به چپ وجود نداشت.
Article text:
در نسخه های قبلی openoffice برای فایلها امکان نمایش به صورت راست به چپ وجود نداشت. شکل ۱

با آمدن نسخه جدید openoffice 2.0 این مشکل بر طرف شد.
برای این کار به صورت زیر عمل کنید:
ابتدا فایل خود را باز کنید و از بالای صفحه روی Format کلیک کرده و از منوی باز شده روی Sheet رفته و گزینه Right-To-Left را انتخاب نمایید. شکل۲

پس از انتخاب گزینه فوق ستونها به صورت RTL مرتب می شوند. شکل ۳

E_mail : ib_babapour@yahoo.com
نويسنده: عيسي باباپور
1384/02/26

سورس مقاله
نسخه pdf
This article was originally published on:
Site: | IOSSD
URL: | http://iossd.org/html/modules/articles/article.php?id=1


Article title: | روشهای مختلف نصب برنامه در لینوکس
First posted: | Wed 18 May 2005
Description: | به طور معمول برنامه های نصبی در لینوکس به سه صورتrpm , bin , tar.gz وجود دارد.
Article text:

روشهای مختلف نصب برنامه در لینوکس

به طور معمول برنامه های نصبی در لینوکس به سه صورتrpm , bin , tar.gz وجود دارد.

نکته: برای نصب برنامه ها باید با حساب کاربری ریشه وارد شوید.

نصب برنامه از روی کد منبع

فایلهای با پسوند tar.gz فایلهای فشرده می باشند که پس از decompress کردن به یک سری فایل منبع تبدیل می شوند که مراحل نصب آن به ترتیب زیر می با شد :

این نوع فایلها را ابتدا باید با دستور tar از حالت فشرده خارج کرد .

#:/ tar -xvzf filname.tar.gz

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

با دستور cd وارد دایرکتوری شده و دستور زیر را برای config کردن سورس اجرا کنید:

#:/ ./configure

پس از اتمام مرحله config باید برنامه را کام‍پایل کرد برای این کار از دستور make در خط فرمان استفاده می کنیم.

#:/ make

پس از اتمام مرحله کامپایل باید برنامه را نصب کنیم. برای نصب برنامه از دستور زیر استفاده می کنیم.

#:/ make install

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

نصب برنامه با پسوند bin.

این نوع فایلها به راحتی قابل نصب می باشند.

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

#:/ chmod 700 filename

بعد از این مرحله باید برنامه را نصب کنید. برای نصب برنامه در خط فرمان به صورت زیر عمل کنید:

#:/ ./ filename.bin

نصب برنامه با پسوند rpm.

این نوع فایلها به راحتی با اجرای یک دستور نصب می شوند. برای نصب به صورت زیر عمل کنید:

#:/ rpm -ivh filname.rpm

سوئیچ هایی که در این دستور به کار رفته است هر کدام کار خاصی را انجام میدهند.

i : برای نصب (install) می باشد.

v : برای نمایش مرحله نصب می باشد.

h : برای نمایش درصد نصب می باشد.

نویسنده : عیسی باباپور

پست الکترونیکی: babapour@farsilinux.org

تاریخ: ۲۸/۰۲/۱۳۸۴

نسخه: ۱.۰۰

سورس مقاله نسخه pdf
This article was originally published on:
Site: | IOSSD
URL: | http://iossd.org/html/modules/articles/article.php?id=2


Article title: | کار با کلیدهای امنیتی GPG
First posted: | Tue 31 May 2005
Description: | تا به حال خواستین متن یا هر فایل شخصی خودتون رو کد گذاری کنید که توسط افراد دیگری حتی قابل خواندن هم نباشد.
Article text:
تا به حال خواستین متن یا هر فایل شخصی خودتون رو کد گذاری کنید که توسط افراد دیگری حتی قابل خواندن هم نباشد.
برای این کار ابزار خوبی به نام GPG یا GNU Privacy Guard در لینوکس وجود دارد (نا گفته نماند که این ابزار برای ویندوز هم تولید شده است). شما بوسیله ابزار قادر خواهید بود کلیه فایلها و حتی ایمیل ارسالی خود را کد گذاری کنید.
حال ما در اینجا آشنایی مختصری با این ابزار خواهیم داشت.

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

تولید کلید امنیتی
با وارد کردن دستور زیر شما می توانید اقدام به تولید یک کلید شخصی نمایید.
gpg --gen-key
بعد از اجرای دستور بالا، سیستم سئوالاتی از شما می پرسد که یک به یک به آنها باید پاسخ دهید.
نوع کلیدی که شما می خواهید ساخته شود؟ که بهتر است حالت پیشفرض را انتخاب کنید.
حجم و اندازه کلیدی که شما می خواهید بسازید؟ گزینه ۱۰۲۴ یک گزینه خوب برای این سئوال می باشد.
تعیین مدت زمان اعتبار کلید شما؟ در حالت پیشفرض کلید شما هیچ گاه از بین نمی رود.
در مرحله بعدی نام واقعی شما توسط سیستم درخواست می شود. که حداقل باید ۵ کاراکتر طول داشته باشد.
سیستم ایمیل شما را درخواست می کند.
در صورتی که بخواهید نکته خاصی را در کلید امنیتی خود وارد کنید می توانید در این مرحله آن نکته را وارد نمایید.
در این مرحله کار ورود اطلاعات به پایان رسیده است و اگر شما بخواهید تغییری در اطلاعات خود وارد نمایید می توانید از گزینه هایی که در اختیار شما قرار گرفته استفاده و آنها را ویرایش نمایید. در غیر این صورت با زدن دکمه O می توانید وارد مرحله بعد شوید.
در مرحله بعد شما باید برای کلید امنیتی خود یک گذرواژه تعیین نمایید. این مرحله در واقع پایان کار تولید کلید امنیتی می باشد اکنون شما یک کلید امنیتی دارید.

نمایش کلیدهای امنیتی
پس از اینکه شما کلید امنیتی را ساختید. برای اینکه مطمئن شوید که واقعا این کار انجام شده است یا نه می توانید به کمک لیست کردن کلیدهای امنیتی داخل سیستم خود به این واقعیت پی ببرید.
$ gpg --list-keys
شاید خروجی شما چیزی شبیه خروجی دستگاه من شود.

[root@apache ~]# gpg --list-key
/root/.gnupg/pubring.gpg
------------------------
pub 1024D/C0044DD9 2005-05-31 hosseini <hosseini@iossd.org>
sub 1024g/5842C78A 2005-05-31
اگر دقت کنید، خواهید دید که در ابتدای هر سطر در کلمه PUB یا SUB را می بینید.
این کلمات نشان دهنده کلید امنیتی Primary یا subordinate هستند. در سیستم من یک کلید امنیتی با نام حسینی وجود دارد که کلید اصلی سیستم من می باشد.
پس از اینکه از وجود کلید امنیتی خود مطمئن شدید، می بایست برویم سراغ کد گذاری بر روی فایل مورد نظر خود.

کدگذاری بر روی فایلها:
برای کد گذاری بر روی یک فایل کافیست از دستور زیر استفاده نمایید.
gpg --encrypt --recipient hosseini foo.txt
یا
gpg -e -r hosseini foo.txt

در پایان اجرای این دستور فایل اصلی شما سر جای خود قرار دارد و تنها یک کپی از آن توسط ابزار GPG کدگذاری شده است. فایل جدید شما دارای پسوند gpg. می باشد.

رمز گشایی فایلهای GPG
پس از اینکه یک فایل را رمز گذاری نمودید، حال نوبت به آن می رسد که حال همان فایل را رمزگشایی کنید. شما می توانید توسط دستور زیر فایل خود را رمزگشایی نمایید:
gpg --output foo.txt --decrypt foo.txt.gpg
در صورتی که شما دارای کد امنیتی خاص این فایل باشید و همچنین کلمه عبور آنرا در اختیار داشته باشید می توانید این فایل را رمزگشایی نمایید.

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

$ gpg --import /tmp/reza.gpg
نتیجه:
gpg: key E78DAE88: public key imported
gpg: Total number processed: 1
gpg: imported: 1

دستور بالا کلید امنیتی دوستمان را از مسیر مشخص شده برداشته و وارد سیستم کدگذاری دستگاه ما می کند.
اکنون اگر از سیستم رمزگذاری دستگاه خود لیستی بگیریم می بینیم که کلید امنیتی دوستمان نیز به کلید امنیتی ما اضافه شده است.
$ gpg --list-keys
نتیجه:
/root/.gnupg/pubring.gpg
------------------------------
pub 1024D/C0044DD9 2005-05-31 hosseini <hosseini@iossd.org>
sub 1024g/5842C78A 2005-05-31

pub 1024D/E78DAE88 2003-02-11 reza <reza@iossd.org>
sub 1024g/0CF774C4 2003-02-11

خروج کلید امنیتی
برای خارج کردن کلید امنیتی می توانید از دستور زیر استفاده نمایید:
$ gpg --output /root/hosseini.gpg --export hosseini@iossd.org
یا
$ gpg --armor --export ljohn > ljohn.gpg.asc

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

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.0.7 (OpenBSD)

mQGiBD5H/vURBACHhxmStFpXFLgIZU3PrLDbso6puxn8onDVcARojwKd3J1PdffG
S3XzQDcReNbvQ8XgU210tX69SoUaGihfnRz/7I9YlpPwzBp1CmzWVp7qkk+mjQaC
GhxJ1YOEnykWjyJQunSDwmoLWCiI7HZpXJHZjVfbvv5x2xVYyMbEsKtK5wCg8J0K
9QNs4y7F17+liuqhGhjy7esD/jQYKkGsHaWgnrHhI8kLpCgSx65FY2dd8UJMAGZZ
YFPyWwuAwUeonNEHD/I7T6ajhpFzu5sFAYdQNdcu0MjSBf/VNOiPqQbtKWn7OvPw
tpX0y7sDSDfhQa0c7O1iAV5O/gSWoV1i9LdxGbsOGlQNovIqbOvvVsiS7dK6brhC
ieZ6A/9PwTaVlEsjR7GDC94HKPs9b84rQ/4boNA58GyY7aHmdIF6B8s7aiNruXNL
nVQ47dhtxDqhqtEU4CAnfMxiW9z8Ef4CRMDZIbNX16Q4byn3IJzbrDT9Fhq3kUw4
I/I0uiZMN3X6gPuq65dGiGXq9J8lN2AIYpZ+D3cvoBXMV6GEG7QgTGl0dGxlIEpv
aG4gPGxqb2huQHNoZXJ3b29kLm5ldD6IWQQTEQIAGQUCPkf+9QQLBwMCAxUCAwMW
AgECHgECF4AACgkQHnUc+lVwnqsj1wCfbOCuG+LqnWEvUwJwFteU3kIAItoAoMf8
VtZDfBP2l5k+C7iMNJhfp6ziuQENBD5H/wcQBACt6sWIxnhPboYtEItNbHNzvijU
qXIF+EK+KIaiIOAoikPH2fYdL6c4nGINmddGtkrGAHec0uvZC7zdJG1TLp6uUQ7a
6+AxHuw0FIDgJqG3kLHucOstJ0hZe//nFd16B/Ag+H9mT7Hr+ZpAX7sfytpNb/Dr
53rZAfG6hC+DvWJxVwADBQP/Zrl8rInc/9YtNIeU/vefiV6KHBBbltM69IrNmVGp
AXtfWwtDYIArU5P+7KEhH8bYOdePirXa044SYmMr1Afq2vX0ooUdpyG3sV2u7/w0
6MieoOUCQ7kdZZMVcsLjcBxGBi1xxsIuODi/vw/P/xWVMsv/CaUxwuKlHPTLT+J5
UtCIRgQYEQIABgUCPkf/BwAKCRAedRz6VXCeq6rmAJ9hk3qdVzjEg/uN6wQeU9Bj
FnamqgCgpuLMZIUiUkMHpK0IpCrjfmyXebc=
=EHgv
-----END PGP PUBLIC KEY BLOCK-----

ویرایش کلید های امنیتی
برای ویرایش کلید امنیتی که در حال استفاده از می باشید باید از دستور زیر استفاده کنید:
$ gpg --no-greeting --edit-key C0044DD9
خروجی شما چنین خواهد بود:
Secret key is available.

pub 1024D/C0044DD9 created: 2005-05-31 expires: never trust: u/u
sub 1024g/5842C78A created: 2005-05-31 expires: never
(1). Hosseini <hosseini@iossd.org>

Command>
بعد از نمایش کلید های امنیتی موجود در سیستم، شما وارد یک محیط کامندی می شود که منتظر ورود دستور شما می باشد.

معرفی کلید های امنیتی دیگر بعنوان کلیدهای معتبر
برای معرفی کردن یک کلید امنیتی که توسط شما وارد سیستم امنیتی شده است بعنوان یک کلید مطمئن و معتبر می بایست آن کلید را ویرایش نماییم. پس می بایست از دستور ویرایش کلید به صورت زیر استفاده نماییم.

$ gpg --no-greeting --edit-key C0044DD9

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

trust: A/B
حرف کلیدی A در صورتی در مقابل دستور trust قرار می گیرد که بخواهیم این کلید صاحب اصلی کلید باشد. و در صورتی که بخواهیم غیر از این حالت را برای کلید انتصاب کنیم از کلیدهای زیر به ازای حرف B استفاده می نماییم:

- No ownertrust assigned / not yet calculated
e Trust calculation has failed; probably due to an expired key
q Not enough information for calculation (unknown)
n Never trust this key
m Marginally trusted
f Fully trusted
u Ultimately trusted

نویسنده: سید علی حسینی
پست الکترونیکی: hosseini@iossd.org
تاریخ: ۱۶/۰۳/۸۴
نسخه: ۰.۱۴
مطالب بعدی این مقاله:
کدگذاری بر روی ایمیل
نمایش محیط گرافیکی
معرفی لینک دریافت ابراز کدگذاری

تاریخ ویرایش نسخه بعدی مقاله: ۲۱/۰۳/۸۴
سورس مقاله
نسخه pdf
This article was originally published on:
Site: | IOSSD
URL: | http://iossd.org/html/modules/articles/article.php?id=3


Article title: | Makefile چيست؟
First posted: | Thu 02 Jun 2005
Description: | مي دانيد كه تنها زبان قابل درك براي كامپيوترها زباني است معروف Machine Code يا زبان ماشين كه از رشته پيوسته اي از اعداد تشكيل شده است.
Article text:
مي دانيد كه تنها زبان قابل درك براي كامپيوترها زباني است معروف Machine Code يا زبان ماشين كه از رشته پيوسته اي از اعداد تشكيل شده است. اگر يك فايل اجرايي باينري را در يك ويرايشگر هگز باز كنيد، اين رشته اعداد را معمولا مي توانيد به صورت اعداد دو رقمي پشت سر هم در مبناي 16 ببينيد. اما برنامه نوشتن به اين زبان براي انسان تقريبا كشنده است! فقط تصور كنيد چند سال ممكن است طول بكشد تا يك تيم حرفه اي از برنامه نويسان، نرم افزاري در حد و اندازه OpenOffice.org را مستقيما به زبان ماشين بنويسند. تازه اگر اصلا چنين كاري ممكن باشد، اصلا منطقي نيست. چراكه به احتمال قريب به يقين در آخر به خوبي OpenOffice.org فعلي از كار در نخواهد آمد! پس چاره چيست؟
برنامه نويسان از زبانهايي استفاده مي كنند كه، نسبت به زبان ماشين، به زبان انساني بسيار نزديك تر هستند و به ويژه برخي از آنها با توجه به فلسفه ساختشان براي پيشبرد پروژه هاي نرم افزاري بزرگ خيلي مناسب هستند. به اينگونه زبانها اصطلاحا زبانهاي سطح بالا مي گوييم. اما حالا مشكل ديگري پيش مي آيد. كامپيوترها اينگونه زبانها را درك نمي كنند.

كامپايلر
كامپايلرها وظيفه تبديل زبانهاي سطح بالا و قابل درك براي انسان را به سطح پايين ترين زبان، يعني زبان ماشين به عهدا دارند.
معمولا (تقريبا هميشه!) پروژه هاي نرم افزاري از بيش از يك فايل تشكيل شده اند كه هر كدام بخشي از متن برنامه يا Source Code را در بر دارد. شما بايد ابتدا هر فايل نوشته شده را جداگانه به وسيله كامپايلر به زبان ماشين تبديل كنيد. اصطلاحا به فايلهايي كه در اين مرحله توليد مي شود، فايل Object مي گويند. محتواي لين فايلها به زبان ماشين است، اما هنوز قابل اجرا توسط كامپيوتر نيستند! چرا؟ چون هر كدام از آن فايلها يا وابستگيهايي در فايلهاي ديگر دارند كه در اين وضعيت براي سيستم غير قابل تشخيص است، يا اساسا به تنهايي مفهومي ندارند كه قابل اجرا باشند.مثلا ممكن است يكي از آنها حاوي مجموعه اي از دستورات (اصطلاحا تابع) باشد كه روي ورودي خود پردازش خاصي انجام مي دهند و نتيجه را برمي گردانند. اما اين توابع زماني مفيد هستند كه از جايي فراخواني شوند و احتمالا فراخواني تابع مورد نظر ما هم از داخل يكي از فايلهاي Object ديگر صورت مي گيرد.
در اينجاست كه شما بايد با كمك لينكر آن فايلهاي Object را به ترتيب مناسب به هم پيوند دهيد تا در نهايت به يك فايل اجرايي دست پيدا كنيد.

يك مثال عملي
فرض كنيد برنامه اي به زبان C در يك فايل به نام main.c نوشته ايد و حالا مي خواهيد آن را به فايل قابل اجرا توسط كامپيوتر تبديل كنيد. اين كار به سادگي و در دو خط دستور (كه مي شود آنها را در يك خط هم خلاصه كرد) قابل اجرا است:
$ gcc -c main.c
$ gcc -o main main.o
دستور اول از فايل C به نام main.c يك فايل Object به نام main.o مي سازد و دستور دوم نيز از فايلmain.o يك فايل اجرايي به نام main مي سازد كه حالا ديگر مي توانيد آن را اجرا كنيد.
اما حالا فرض كنيد كه فايل main.c وابستگيهايي هم به دو فايل ديگر به نامهاي dep.c و dep.h داشته باشد:
$ gcc -c main.c
$ gcc -c dep.c
$ gcc -o main main.o dep.o
مي بينيد كه يك مرحله به مراحل كامپايل برنامه اضافه شد.
حالا فرض كنيد كه به جاي يك فايل يا سه فايل، اين پروژه از دهها و صدها فايل تشكيل شده باشد. چند ساعت بايد وقت صرف كنيد تا پروژه را كامپايل كنيد، تازه اگر همه چيز به خوبي پيش برود؟
به همه اينها اضافه كنيد گزينه هاي خط دستور كامپايلر را كه گاهي كار كامپايل از خط دستور را به فرايندي بسيار پيچيده تبديل مي كنند.
حالا هربار كه تغييراتي دربرنامه بدهيد، بايد همه كارها را از اول انجام دهيد. يا به اندازه كافي فصفر بسوزانيد و به خاطر داشته باشد كه هر بار در كدام فايلها تغيير داده ايد تا فقط آنها را كامپايل كنيد و كمي وقت كمتري صرف كنيد! آيا راه بهتري نيست؟

Makefile
چقدر خوب مي شد اگر مي توانستيد همه اين دستورات كامپايل را فقط يك بار تايپ كنيد. خبر خوب! مي توانيد همه اين دستورات را در فايل كه به Makefile معروف است قرار دهيد و برنامه اي به نام make را اجرا كنيد تا آن برنامه خودش از روي Makefile برايتان بقيه كارها را انجام دهد و خروجي نهايي قابل اجرا را بسازد.
پس Makefile مجموعه دستورات لازم براي كامپايل يك پروژه نرم افزاري است كه در قالبي خاص در يك فايل متني ذخيره شده است.
به خصوص اگر شما برنامه نويس نباشيد، برايتان قابل توجه خواهد بود كه مجبور نيستيد هربار اينهمه دستورات عجيب و غريب را تايپ كنيد و تنها با تايپ دستور make زندگي برايتان آسان مي شود.

make
همانطور كه اشاره شد، make برنامه اي است كه از روي Makefile كار كامپايل پروژه را انجام مي دهد. در كل دو مزيت عمده مي توان براي make در نظر گرفت:
1.همانطور كه قبلا هم گفتم با استفاده از Makefile كارهاي سخت (نوشتن دستورات پيچيده كامپايل) فقط يكبار انجام مي شود.
2.make از روي برچسب زماني فايلهاي سورس و Object تشخيص مي دهد كه كداميك از فايلها نياز به دوباره كامپايل شدن دارند و به اين ترتيب از كامپايل مجدد و غير ضروري فايلهايي كه از زمان آخرين كامپايل تغييري نكرده اند، جلوگيري مي شود. چراكه فرايندكامپايل به ويژه در كامپيوترهاي قديمي و با پروژه هاي بزرگ كاري بسيار وقت گير است.

make بعد از فراخواني به ترتيب دنبال يك فايل با يكي از نامهاي GNUmakefile، makefile يا Makefile مي گردد تا دستورات كامپايل را از داخل آن خوانده و اجرا كند.

نویسنده: شهرام روحانی
پست الکترونیکی: sh_roohani@yahoo.com
تاریخ: ۱۱/۰۳/۸۴
نسخه: ۰.۰۱

سورس مقاله
نسخه pdf
This article was originally published on:
Site: | IOSSD
URL: | http://iossd.org/html/modules/articles/article.php?id=4


Article title: | نصب Gxine
First posted: | Wed 15 Jun 2005
Description: | مراحل نصبی که در زیر گفته میشود مربوط به لینوکس فدورا۳ میباشد.
Article text:
نصب Gxine

ابتدا برای نصب gxine شما باید فایلهای نصبی آنرا در اختیار داشته باشید. برای اینکار شما میتوانید فایلهای مورد نیاز را از اینترنت دریافت کنید. یکی از این سایتها rpm.pbone.net میباشد. شما بر اساس نوع لینوکسی که دارید میتوانید gxine و فایلهای همراه آن را دریافت کنید.
مراحل نصبی که در زیر گفته میشود مربوط به لینوکس فدورا۳ میباشد.
فایل اصلی برای نصب gxine فایل gxine-0.3.3-3.1.fc3.i386.rpm میباشدکه با دستور rpm در خط فرمان نصب میشود.
rpm -ivh gxine-0.3.3-3.1.fc3.i386.rpm
بعد اجرای دستور مقابل دو حالت ممکن است پیش بیاید.
حالت اول : این برنامه بدون هیچ مشکلی نصب میشود و فقط کافی است تا شما در خط فرمان دستور gxine را اجرا کنید یا ازمنوی اصلی درقسمت مالتی مدیا روی آیکون gxine کلیک کنید.
حالت دوم : دومین حالتی که ممکن است پیش آید این است که پیغام هایی مبنی بر اینکه برای نصب gxine فایل هایی باید نصب شوند که این فایلها عموما با پسوند lib. میباشند.به ترتیب فایلهای مورد نیاز را از اینترنت دریافت کرده و نصب کنید. بعد از اتمام نصب فایلهای پیش نیاز میتوانید فایل اصلی gxine را نصب کنید.
شما میتوانید کلیه فایلهای مورد نیاز به همراه لایبراریهای gxine برای نصب در فدورا۳ را از این سایت دریافت کنید.

نرم افزار و کلیه بسته های مورد نیاز

نویسنده: عیسی باباپور
پست الکترونیکی: babapour@farsilinux.org
تاریخ: ۲۴/۰۳/۸۴
نسخه: ۱.۰۰

سورس مقاله
نسخه pdf
This article was originally published on:
Site: | IOSSD
URL: | http://iossd.org/html/modules/articles/article.php?id=5


Article title: | آموزش نحوه برنامه نویسی ++C در لینوکس
First posted: | Thu 23 Jun 2005
Description: | با توجه به اینکه دانشجویان و کاربرانی که از لینوکس استفاده می کنند خواستار این هستند که بتواند در لینوکس برنامه نویسی کنند.
Article text:
برای برنامه نویسی ++C در لینوکس کافی است شما اطلاعاتی در مورد برنامه نویسی را داشته باشید.
برای نوشتن یک برنامه ++C ابتدا یک ادیتور مثل vim یا kate را باز کنید و یک برنامه خیلی ساده مثل برنامه خوش آمد گویی را تایپ کنید. مثال زیر یک برنامه بسیار ساده می باشد
#include < iostream.h >
int main()
{
cout << “welcome to c++\n”;
returne 0;
}
سپس این برنامه را با یک نام دلخواه و با پسوند cpp ذخیره کرده و از محیط ادیتور خارج شوید.
مرحله کد نویسی تمام شده حالا باید برنامه نوشته شده را کامپایل و اجرا کنید. برای این کار یک کنسول یا ترمینال باز کنید. برای کامپایل کردن برنامه از دستور ++g استفاده می کنیم.
g++ -o t2 test1.cpp
دستور مقابل از چند ستون تشکیل شده است. ستون اول ++g مربوط به دستور کامپایل کردن می باشد. در ستون دوم سوئیچ o- برای ساختن فایل خروجی یا اجرایی بعد از کامپایل کردن مورد استفاده قرار گرفته است. در ستون سوم t2 اسم فایلی است که بعد از کامپایل کردن ایجاد می شود و یک فایل اجرایی می باشد. و در ستون اخر test1.cpp اسم فایلی است که شما برنامه ++C را در آن ذخیره کرده اید.
بعد از اجرای دستور بالا ابتدا برنامه شما کامپایل شده و سپس یک فایل با اسم t2 ساخته می شود.
نکته: اگر برنامه شما خطا داشته باشد فایلی برای اجرا ساخته نمی شود و در مرحله کامپایل شماره خطهای دارای خطا را نمایش میدهد.
اگر برنامه بدون خطا اجرا شود کامپایل به صورت زیر در کنسول اجرا شده و یک فایل ساخته می شود.
g++ -o t2 test1.cpp
In file included from /usr/lib/gcc/i386-redhat-linux/3.4.2/../../../../include/c++/3.4.2/backward/iostream.h:31,
from test1.cpp:1:
/usr/lib/gcc/i386-redhatg-linux/3.4.2/../../../../include/c++/3.4.2/backward/backward_warning.h:32:2: warning: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the header for the header for C++ includes, or instead of the deprecated header . To disable this warning use -Wno-deprecated.
test1.cpp:6:2: warning: no newline at end of file
حالا می توانید فایل ساخته شده را اجرا کنید و نتیجه کار را ببینید.
./t2
welcome to c++
مشاهده می کنید که بعد اجرای برنامه خود پیغام خوش آمد گویی ++welcome to c را چاپ می کند.

نویسنده: عیسی باباپور
پست الکترونیکی: babapour@farsilinux.org
تاریخ: ۲۸/۰۳/۸۴
نسخه: ۰.۰۱
This article was originally published on:
Site: | IOSSD
URL: | http://iossd.org/html/modules/articles/article.php?id=6


Article title: | افزایش بازدهی هارد دیسک بوسیله ابزار hdparm
First posted: | Thu 23 Jun 2005
Description: | این روزها با بالاتر رفتن سرعت انتقال دادهها در هارد دیسکهای IDE به کمک تکنولوژی UDMA یا همان UltraDMA تعداد کاربران این هارد دیسکها افزایش پیدا کرده است. اما هنوز راههایی برای بالا بردن بازدهی این هاردها وجود دارد. که یکی از این راهها استفاده از ابزاری بنام hdparm میباشد.
Article text:
۱. مقدمه
hdparm ابزاری است برای تنظیم و بالا بردن بازدهی هارد دیسکهای IDE و در این مقاله ما میخواهیم روش کار با این ابزار را به صورت ساده و خلاصه بیان کنیم. قبل از کار کردن با این ابزار به یاد داشته باشید که این ابزار میتواند یکی از ابزارهای خطرناک باشد، پس حتما توجه کنید که بدرستی از این دستور استفاده کنید چون ممکن است باعث از بین رفتن اطلاعات رو هارد دیسک شما شود.

۲. گرفتن اطلاعاتی در مورد هارد دیسک
اولین چیزی که برای انجام کاری لازم است در اختیار داشته باشیم، اطلاعاتی در مورد ابزارها و کاری است که میخواهیم انجام دهیم. در این انجام این کار ما به اطلاعاتی نظیر سرعت فراخوانی اطلاعات بوسیله هارد دیسک و یا پروتکلهایی است که هارد دیسک ما از آنها حمایت میکند.
خوب برای اینکه بتوانیم به این اطلاعات دست پیدا کنیم باید از یکسری دستورات کمک بگیریم. دستور زیر را در محیط متنی خود وارد کنید:
hdparm -i /dev/hda

اولین ستون همان دستور و یا ابزار hdparam میباشد که فراخوانی شده است.
دومین ستون یکی از گزینههای این دستور یا ابزار میباشد که برای گرفتن اطلاعات به کار میرود.
سومین ستون نام سخت افزار شما میباشد. همانطور که میدانید نام هارد دیسک با hd شروع می شود.

توجه: اصلا نگران اطلاعات خود در این مرحله نباشید.

خروجی کار شما در این مرحله چیزی شبیه این خواهد بود:
/dev/hdc:
Model=Maxtor 6E040L0, FwRev=NAR61EA0, SerialNo=E1N7ANDE
Config={ Fixed }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=57
BuffType=DualPortCache, BuffSize=2048kB, MaxMultSect=16, MultSect=16
CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=80293248
IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes: pio0 pio1 pio2 pio3 pio4
DMA modes: mdma0 mdma1 mdma2
UDMA modes: udma0 udma1 udma2
AdvancedPM=yes: disabled (255) WriteCache=enabled
Drive conforms to: (null):

توجه: توجه داشته باشید که نام هارد دیسک من hdc بوده است و ممکن است نام هارد دیسک شما از نظر سیستم چیز دیگری باشد.
حالا ممکن است از خود بپرسید آیا این خروجی عجیب و چه اطلاعاتی به من میدهد؟

MaxMultSect: این فیلد نشان دهنده حداکثر سکتورهایی است که هارد شما در یک ثانیه میتواند فراخوانی کند.
MultSect: این گزینه نشان میدهد که هارد شما در حال حاضر قابلیت خواندن چند سکتور دارد.
PIO and DMA modes: مودهای که توسط هارد دیسک شما حمایت میشوند که اگر فعال باشند بوسیله یک ستاره مشخص میشوند.
AdvancedPM: اگر در جلوی آن کلمه yes را مشاهده کردید به این معنی است که هارد دیسک شما از APM یا Advanced Power Management حمایت میکند.

دستور دیگری که بوسیله آن میتونید اطلاعات هارد دیسکتان را بدست آورید در زیر آمده است:
hdparm /dev/hdc
خروجی این دستور اطلاعات زیر را باید به شما باز گرداند:
/dev/hdc:
multcount = 16 (on)
IO_support = 0 (default 16-bit)
unmaskirq = 0 (off)
using_dma = 1 (on)
keepsettings = 0 (off)
readonly = 0 (off)
readahead = 256 (on)
geometry = 65535/16/63, sectors = 41110142976, start = 0
هر خط این خروجی یک اطلاع را به شما ارائه میدهد:
multcount: تعداد سکتورهایی است که در یک زمان خوانده میشوند.
I/O_Suppot: نشان دهنده مدل اجرایی هارد دیسک شما است که بصورت پیشفرض مدل ۱۶بیت را نشان میدهد.
using_dma: این گزینه به ما میگوید که در حال حاضر هارد ما از قابلیت DMA استفاده میکند یا نه.
keepsettings: برای ذخیره کردن تغییرات در روش کار هارد دیسک. بهتر است در ابتدا این گزینه را فعال نسازید.
readonly: در حالت عادی اگر لینوکس سی دی رام شما را شناخته باشد این گزینه روی عدد ۱ ست شده است.
readahead: نمایش قابلیت خواندن سکتورهای جلویی بوسیله هارد دیسک.

توجه: همانطور که میدانید هد هارد دیسک قابلیت حرکت جلو و عقب را در بین سکتورها را دارا میباشد.

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

۳.۱. پشتیبانی از I/O
به غیر از ISA IDE کارتها بقیه PCI/VLB کارتها قابلیت حمایت از مود ۳۲ بیت را دارا میباشند.
شما میتوانید برای تنظیم مودهای خود از دستورات زیر استفاده کنید:
hdparm -c0 //برای ست کردن بر روی ۱۶ بیت
hdparm -c1 //برای ست کردن بر روی ۳۲ بیت
hdparm -c3 //برای ست کردن بر روی ۳۲ حالت سینک شده

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

۳.۲. فعال سازی DMA
برای فعال کردن قابلیت DMA در هارد دیسک خود کافیست دستور زیر را به سادگی وارد نموده و اجرا کنید:
hdparm -d 1 (عدد یک)
پس اجرای این دستور قابلیت DMA در هارد دیسک شما فعال میشود. توجه داشته باشید که هارد دیسک شما باید قابلیت حمایت از این امکان را در خود داشته باشد.

۳.۳. PIO و DMA
شما میتونید هر دو گزینه DMA و PIO را بر روی دستگاه خود ست نمایید و با آنها کار کنید فقط توجه کنید که برخی از حالات ترکیبی اشاره شده فقط در از هارد دیسکها میتواند صورت بگیرد. برای استفاده از حالتهای ترکیبی میبایست از گزینه X- استفاده شود.
حالت ترکیبی mdma یا multiword DMA
این حالت ترکیب شده از دو حالت multiword و DMA میباشد که هر کدام دارای یک کد شناسایی میباشند.
برای استفاده از حالت multiword‌ باید ازکلید X32 استفاده شود و برای استفاده از حالت DMA در حالت ترکیبی از کلید 2 میبایست استفاده نمود.
حال برای استفاده از هر دو حالت به صورت ترکیبی باید از دستور زیر استفاده کنیم:
hdparm -X34 /dev/hda //32+2
حالت PIO و UltraDMA
کار برای این حالت ترکیبی تقریبا مشابه حالت mdma میباشد. فقط با این تفاوت که کلید عددی برای PIO عدد 8 و برای UltraDMA عدد 64 کلید عددی میباشد. و برای حالت ترکیبی این مورد می بایست از حالت udma5 استفاده شود که مجموع آنها ۶۹ میشود. پس برای این کار میبایست از کلید X69 استفاده کنیم.
hdparm -X69 /dev/hda

۳.۴. Readahead
توجه داشته باشید که گزینه readahead با گزینه multcount متفاوت میباشد. و در واقع multcount به معنی توانایی سخت افزار ما برای خواندن سکتورها در یک بازه زمانی یک ثانیه است. در صورتی که readahead تعداد سکتورهای جلویی هد هارد دیسک است که باید بوسیله این سخت افزار خوانده شود.
readahead در اکثر هارد دیسکها به صورت پیشفرض بر روی عدد ۲۵۶ ست شدهاند. که این مقدار وابسته به نوع هارد دیسک شما میباشد.
بهتر است که این مقدار در زمانی که نیاز دارید یک فایل بسیار بزرگ را فراخوانی کنید به مقداری بزرگتر تغییر یابد. برای تغییر این مقدار میتوانید از دستور زیر استفاده کنید:
hdparm -a N /dev/hda
توجه: به جای حرف N مقدار مورد نظر خود را وارد نمایید.

۴. توصیهها
گزینههای بسیار دیگری برای ابزار hdparm وجود دارد که شما میتوانید برای مطالعه آنها به مانوال آنها مراجعه کنید.
تمامی تنظیمات شما به دلیل ست نکردن گزینه keepsettings بعد از راه اندازی مجدد سیستم از بین خواهند رفت و بهتر است برای اینکه این تنظیمات در هنگام بالا آمدن سیستم دوباره انجام شوند، تمامی دستورات خود را در داخل فایل rc.local ذخیره کنید تا در مراجعه بعدی هم این تنظیمات اعمال شوند.

نویسنده: سید علی حسینی
پست الکترونیکی: hosseini@iossd.org
تاریخ: ۰۱/۰۴/۸۴
نسخه: ۰.۰۱
This article was originally published on:
Site: | IOSSD
URL: | http://iossd.org/html/modules/articles/article.php?id=7


Article title: | رمزنگاری
First posted: | Tue 28 Jun 2005
Description: | نامه های الکترونیکی و دیگر اطلاعاتی که به بصورت الکترونیک ارسال می شود مثل کارت پستال های دیجیتال هستند و هر کسی می تواند به متن درون انها پی ببرد . سیستم های رمزنگاری ایمن می کوشند تا امنیت این نوع مبادلات را تضمین کنند .
Article text:
پروتکال TCP/IP

اینترنت در لایه انتقال دو پروتکل دارد : UDP,TCP
پروتکل UDP :
پروتکلی بدون اتصال است مه در حقیقت همان خصوصیات پروتکل IP را دارد با این نفع اضافی که بتوان بسته های IP را که همگی دارای ادرس مشترک هستند بین پروسه های یک ماشین مالتی پلکس و دی مالتی پلکس ردوبدل کرد از UDP برای تعامل بین سرویس دهنده و مشتری و همچنین می توان برای ساختن پروتکلهای بی درنگ مانند RTP بهره گرفت .
پروتکل TCP :
پروتکل اصلی لایه ارتباط در اینترنت TCP است این پروتکل یک استریم از بایت ها را بین دو پروسه ایجاد کرده و در اختبار می گذارد به یک وا حد اطلاعاتی که توسط TCP تولید می شود اصطلاحا قطعه ( ) گفته می شود هر قطعه دارای یک سرایند 20 بایتی است قطعات ارسالی ممکن است توسط مسیریاب های اینترنت قطعه قطعه شوند و ماشین میزبان باید امادگی بازسازی انها را داشته باشد کارهای بسیار زیادی نیز برای بهینه سازی کار ایی TCP صورت گرفته و بدین منظور از الگوریتم های نظیر " ناگال" و " کلارک " و " کاران " استفاده شده است . لینک های بی سبم پیچیدگیهای متعدی را به TCP تحمیل می کند . TCP تراکنشی (Transaction TCP ) گونه توسعه یافته TCP است که تعامل سریع بین سرویس دهنده و مشتری و کاهش تعداد بسته ها را بر عهده دارد .

درسال 1973 :
پروتکل " TCP/IP" ( قرار داد کنترول اطلاعات کاربران ) از طرف معرفی گردید هدف این پروتکل این بود که بتوان چند شبکه کامپیوتری از انواع مختلف را به هم متصل کرد به این ترتیب زمینه لازم برای ایجاد شبکه های در حال تولید بودند اگر چه تعداد کامیوترهای به هم متصل 23 عدد بود .
در سال 1974 :
با پیاده سازی موفقیت امیز پروتکل " TCP/IP " در عمل برای اولین بار کلمه اینترنت ( Internet ) به معنای ( Inter - Network ) از طرف دست اندر کاران مورد استفاده قرار گرفت .
در سال1979 :
اولین سیستم "News Groups " ( گروه های خبری اطلاع رسانی ) توسط بک دانشجوی دانشگاه کارولینای شمالی ایجاد گردید . شبکه "CSNET " میان چند دانشگاه جدید راه اندازی شد . این دو شبکه بر اساس پروتکل "TCP/IP " به هم متصل گردیدند تعداد کامپیوتر های مدتبط به اینترنت به 213 عدد رسید .

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

نویسنده: پرستو قدیانی
پست الکترونیکی: myblackroz@yahoo.com
نسخه : ۰.۰۱
This article was originally published on:
Site: | IOSSD
URL: | http://iossd.org/html/modules/articles/article.php?id=8


Article title: | مقدمات زبان C
First posted: | Sun 03 Jul 2005
Description: | آنچه در پي مي آيد تمام تاريخچه زبان C نيست. در واقع از بخشي از تاريخ كه همه شروع مي كنند، من هم شروع كرده ام به نوشتن. آنچه كه در اين متن از تاريخچه زبان C خواهيد خواند، برداشتي است از مقالات مختلفي كه در اينترنت پيدا كرده ام.
Article text:
تاريخچه زبان C
زبان C در سال 1971 در آزمايشگاههاي تلفن بل (Bell Telephone Laboratories) توسط دنيس ريچي (Dennis Ritchie) ساخته شد. اين زبان به عنوان زبان پياده سازي سيستم عامل در حال تولد UNIX توسعه يافت. در واقع در ابتدا آزمايشگاههاي بل از زباني استفاده مي كرد به نام BCPL (مخفف Basic Combined Programming Language) و يك زبان ديگر به نام B‌ (حرف اول Bell). زبان C ادمه زبان بدون نوع BCPL و همچنين زبان B بود. در واقع مي توان B‌ را پدر C و BCPL را پدربزرگ آن ناميد. حالا چرا اسم اين زبان را C گذاشتند؟ خيلي ساده، چون C در ترتيب حروف الفباي انگليسي بعد از B مي آيد! پس آيا مي توان نتيجه گرفت كه زبان بعدي بايد D ناميده شده باشد؟ خير! اين زبان كه مستقيما از قابليتهاي شيء گرايي پشتيباني مي كند، ++C نام گرفت و البته توسط بيارني استروستراپ (Bjarne Stroustrup) ساخته شد.
اولين گونه زبان C امروزه C عمومي (Common C) يا C كلاسيك (Classic C) ناميده مي شود و كمي با استاندارد جديد ANSI C كه در 1983 تصويب شد تفاوت دارد (البته اين استاندارد بعدها و در دهه 1990 هم تغييراتي داشت). در 1973 سيستم عامل UNIX تقريبا تماما به زبان C نوشته شد و بدين ترتيب اين زبان هميشه ارتباط نزديكي با اين سيستم عامل خواهد داشت.
C به صورت زباني محدود به سيستم عامل UNIX باقي نماند. در واقع امروزه كمتر سيستم عامل مهمي وجود دارد كه يك كامپايلر C براي آن وجود نداشته باشد (راستش من كه اصلا چنين سيستم عاملي را نمي شناسم، اگر شما مي شناسيد لطف كنيد و به من هم معرفي كنيد!). در سه دهه گذشته C يكي از پركاربردترين زبانهاي برنامه نويسي (شايد هم پركاربردترين آنها)‌ بوده است. امروزه كرنل بسياري از سيستم عاملهاي مدرن همچون انواع گونه هاي خانواده UNIX‌ و همچنين Windows به زبان C نوشته مي شود (البته به استثناء قسمت هاي كمي كه ناگزير از كاربرد زبان اسمبلي هستند).
مقدمات
C زباني كوچك است. يعني در آغاز چيزهاي كمي براي يادگيري وجود دارند. C زباني نيست كه انبوهي از كلمات كليدي و قواعد دست و پاگير را به همراه بياورد. زبان C همه امكانات را به صورت از پيش آماده در اختيار شما قرار نمي دهد.
بعضي ها فكر مي كنند اين يك نقص است؛ زباني كه مجبوريد همه كارها را خودتان انجام دهيد.
اما چرا از ديد ديگري به اين مسئله نگاه نكنيم؟ زباني كه چيز زيادي را به شما ديكته نمي كند!
بله، شما با زباني بسيار جمع و جور مواجه خواهيد شد كه معمولا، بسته به پياده سازي كامپايلر آن، كد اجرايي بسيار سريعي را هم توليد مي كند.
اما راستي از اينكه دست برنامه نويس باز باشد، ولي مجبور باشد همه كارها را از اول انجام بدهد، چه سود؟ اجازه بدهيد اين افسانه را همينجا تمام كنيم! اولا، C همه امكانات اوليه اي را كه براي انجام هر نوع كاري لازم داريد در اختيارتان قرار مي دهد، نه بيشتر و نه كمتر. ثانيا، امروزه براي همه زبانها و به ويژه براي C كتابخانه هاي تابعي بسيار متنوعي در زمينه هاي گوناگون، چه به صورت تجاري و چه به صورت رايگان، در دسترس است. بنابراين نگراني در باره اينكه در C بايد همه كارها را از ابتدا انجام دهيد، فاقد موضوعيت است. ثالثا، همانطور كه در قسمت هاي بعدي اين متن خواهيد ديد، خود زبان C هم بسياري از قابليتهاي خود، همچون ورودي/خروجي، را از طريق توابع كتابخانه اي در اختيار مي گذارد و نه از طريق كلمات رزرو شده داخل زبان.
گاهي از C‌ به عنوان «يك زبان اسمبلي سطح بالا» ياد مي شود. در واقع شما در C‌ برخي دستورات و عبارات را خواهيد ديد كه مي توانيد بين آنها و دستورات زبان اسمبلي يك ارتباط نظير به نظير برقرار كنيد. اما از C‌ انتظار جادو نداشته باشيد. اگر بتوانيد از قابليتهاي اين زبان به خوبي استفاده كنيد و اگر كد تميزي بنويسيد، مي توانيد انتظار داشته باشيد كه كد اجرايي آن تقريبا به اندازه يك كد كامپايل شده اسمبلي سريع و كارامد باشد. در غير اينصورت به C خرده نگيريد، چراكه شما برنامه نويسي هستيد كه مي توانيد حتي با اسمبلي كدي بنويسيد كه به كندي يك زبان تفسيري اجرا شود!
چيزي كه در مورد C ممكن است خطرناك به نظر برسد، اين است كه C فرض مي كند شما به عنوان برنامه نويس مي دانيد چكار مي كنيد، بنابراين خيلي دست و پايتان را نمي بندد. ممكن است به سادگي از حد و مرز يك آرايه خارج شويد و يا با يك تبديل نوع اشتباه، يك اشاره گر به عدد صحيح را به جاي يك اشاره گر به رشته كاراكتري به كار ببريد و آنوقت ديگر عواقبش به عهده خودتان است! قدرت بيشتر، مسئوليت پذيري بيشتر مي خواهد.
امروزه و در سيستم عاملهاي مدرن ممكن است برنامه اي كه مرتكب چنين خطاهايي مي شود، اجازه ادامه دادن كارش را از طرف سيستم عامل پيدا نكند، حتي اگر هنوز خود برنامه از كار نيفتاده باشد. اما اين محدوديت را از چشم زبان C نبينيد. اين زبان هنوز همان C قديمي و دوست داشتني و خوشدست است كه در كمال دست و دلبازي به شما اجازه (تقريبا) هرگونه خلاف و خطايي را مي دهد! اگر يك كامپايلر قديمي قابل اجرا از روي فلاپي داريد (مثلا نسخه هاي اوليه Turbo C)، همين الان يك فلاپي راه انداز برداريد و وارد محيط DOS شويد و يك كد C حاوي خطاهايي كه در بالا گفتم بنويسيد و كامپايل كنيد. خواهيد ديد كه نه تنها سيستم عامل (به دليل طراحي خاص خودش) جلوي كار برنامه تان را نمي گيرد، بلكه اجازه مي دهد كار را تا جايي خراب كنيد كه حتي مجبور شويد كامپيوترتان را ريبوت كنيد!
همين جنبه اخير C كافيست كه اين زبان براي شروع و آموزش برنامه نويسي چندان مناسب به نظر نرسد و از همين رو من فرض كرده ام كه شما برنامه نويسي را مي دانيد و تنها خيال داريد يك زبان جديد ياد بگيريد.
بنابراين اگر تازه مي خواهيد برنامه نويسي را ياد بگيريد، پيشنهاد مي كنم اين سلسله مطالب را موقتا فراموش كنيد و با زباني مثل پاسكال يا پيتون شروع كنيد.
براي پاسكال مي توانيد يك محيط مجتمع برنامه نويسي بسيار عالي و رايگان از http://www.freepascal.org/ دريافت كنيد و در اينترنت هم مطالب آموزشي بسيار خوبي براي پاسكال پيدا مي شود. براي پيتون هم به http://www.python.org/ مراجعه كنيد و در ضمن كتاب How to Think Like a Computer Scientist - Learning with Python از http://www.ibiblio.org/obp/thinkCSpy/ بسيار مناسب است.
در مجموع منابع براي يادگيري برنامه نويسي زياد است. كافي است كمي گوگل كنيد!

نویسنده: شهرام روحانی
پست الکترونیکی: sh_roohani@yahoo.com
تاریخ: ۱۱/۰۴/۸۴

سورس مقاله
نسخه pdf
This article was originally published on:
Site: | IOSSD
URL: | http://iossd.org/html/modules/articles/article.php?id=9


Article title: | زبان PHP(درس ۱)
First posted: | Sun 03 Jul 2005
Description: | نظریه و ایده PHP‌ در سال ۱۹۹۴ توسط راسموس لردورف به معنی Personal Home Page به منظور تولید صفحات تخصصی صفحات وب ابراز شد و نسخه ۱ این زبان اوایل سال ۱۹۹۵ ارائه شد و با توجه زیادی از طرف کاربران روبرو شد. به همین دلیل نسخه این زبان در اواخر همین سال ارائه گردید.
Article text:
مقدمه
اینترنت دنیای عجیبی است که تکنولوژی های مربوط به آن اغلب بدون پشتیبانی کافی عرضه می شوند و کاربران این تکنولوژی ها همه روزه با واژگاه جدیدی برخورد می کنند، که باعث سردرگمی آنها می شوند. برای نمونه می توان به رشد نرم افزار های متن باز اشاره کرد. متداول ترین این برنامه ها، سیستم عامل Unix و به طور خاص Linux می باشد. این برنامه ها، با وجود ثبات و پایداری، دارای یک مشکل بزرگ می باشند و آن دشوار بودن آموختن این برنامه ها می باشد. کمبود راهنماهایی که به زبان ساده، این برنامه ها را به مبتدیان آموزش دهد، باعث شده است که این دسته از نرم افزارها از جایگاه واقعی خود دور نگاه داشته شوند. PHP‌ یکی از این زبانهای اسکریپتی متن باز می باشد که تا کنون علی رغم سادگی استفاده از آن، هنوز به طور شایسته از آن استقبال نشده است.

تاریخچه PHP
نظریه و ایده PHP‌ در سال ۱۹۹۴ توسط راسموس لردورف به معنی Personal Home Page به منظور تولید صفحات تخصصی صفحات وب ابراز شد و نسخه ۱ این زبان اوایل سال ۱۹۹۵ ارائه شد و با توجه زیادی از طرف کاربران روبرو شد. به همین دلیل نسخه این زبان در اواخر همین سال ارائه گردید.
نسخه ۳ و ۴ این زبان در سالهای ۱۹۹۷ و ۲۰۰۰ ارائه گردید. با گسترش قابلیتها و موارد استفاده این زبان PHP در معنای بازگشتی PHP Hyper Text Preprocessor به کار گرفته شد. (عبارت پیش پردازشگر بدین معنی است که PHP، اطلاعات را قبل تبدیل به زبان HTML پردازش می کند)

PHP یک زبان اسکریپتی
PHP بر خلاف اکثر زبانهای برنامه نویسی دیگر یک زبان اسکریپتی می باشد. به بیان دیگر دستورات PHP در ازای رخداد یک رویداد (Event) اجرا می شود و همانند زبانهای برنامه نویسی دیگر مانند C‌ یا Delphi نمی تواند به صورت مستقل و بدون نیاز به یک رویداد، کاری را انجام دهد. این رویداد ها می توانند شامل ارسال یک فرم، رفتن به یک آدرس وب و یا موارد دیگر باشند.
بعنوان یکی از زبانهای مشابه PHP می توان به Java script‌ اشاره کرد با این تفاوت که PHP‌ یک زبان سمت سرویس دهنده می باشد ولی Java script یک زبان سمت سرویس گیرنده می باشد.
سمت سرویس دهنده و گیرنده به این معنی می باشد که:
برنامه های که در سمت سرویس دهنده بار گذاری می شوند، در واقع برو روی دستگاهی قوی که به آن سرور می گویند سوار شده و اجرا می شوند. ولی برنامه های سمت سرویس گیرنده در واقع روی دستگاه کاربر سوار شده و اجرا می شوند.
بله همانطور که متوجه شدید PHP بعد از اینکه پردازشهای لازم را در سرور انجام داد خروجی را به صورت کدهای HTML به مرورگرهای ما ارسال می کند.
این در صورتی است که در حالت عادی سرور به طور مستقیم کدهای HTML‌ را ارسال می کند و هیچ پردازشی روی کدهای HTML انجام نمی دهد.
توجه: یک سرویس دهنده (سرویس دهنده ای که ما برای کارهای وب سایت نیاز داریم) در واقع یک رایانه مخصوص و قوی می باشد که صفحات وب در آنجا نگهداری می شوند و از آنجا به مرورگر کاربران منتقل می شوند.
تابحال با دو خاصیت PHP با نام های اسکریپتی بودن و سرور ساید بودن آشنا شده ایم، و حال می خواهیم شما را با خاصیت های دیگر این زبان قدرتمند آشنا نماییم:
Cross Platform و HTML Embeded
Cross Platform
منظور از Cross Platform بودن این زبان، این است که بر روی هر رایانه با هر سیستم عاملی توانایی نصب و اجرا را دارا می باشد. توجه کنید که این واژه فقط برای رایانه سرویس دهنده معنا پیدا می کند، و همانطور که می دانید خروجی این زبان HTML بوده و توانایی اجرا بر روی هر نوع مرورگر با هر نوع سیستم عاملی را دارا می باشد. علاوه بر این به طور مثال شما می توانید برنامه PHP خود را در ویندوز بنویسید و در سیستم عامل دیگری مانند لینوکس به راحتی اجرا کنید و از آن استفاده کنید. البته تفاوت های اندگی در کاربرد PHP‌ بر روی این سیستم عامل ها وجود دارد که خیلی کم و جزئی می باشند و حتی در مواردی نیازی به تغییر نمی باشد.
HTML Embeded
منظور از HTML Embeded بودن این است که دستورات این زبان در بین کدهای HTML قرار می گیرند.
نیازهای شما برای کار با زبان PHP‌
سرویس دهنده ای که بتواند زبان PHP را پشتیبانی نماید مانند Apache یا IIS
کامپایلر PHP
یک ویرایشگر متنی مانند Note Pad در ویندوز و Kwrite در لینوکس

نویسنده: سید علی حسینی
پست الکترونیکی: hosseini@iossd.org
تاریخ: ۱۱/۰۴/۸۴
نسخه: ۰.۰۴
This article was originally published on:
Site: | IOSSD
URL: | http://iossd.org/html/modules/articles/article.php?id=10


Article title: | کار با سامبا، سرویس دهی بین لینوکس و ویندوز(۱)
First posted: | Tue 05 Jul 2005
Description: | SAMBA يک مجموعهای از برنامه هاي کاربردي است که به سيستم عاملهاي لينوکسي اجازه ميدهد در کنار شبکه هاي مايکروسافت نقش سرور(فايل و پرينت) و کلاينت را بازي کنند.
Article text:

Linux, Windows, SAMBA

(قسمت اول)

نوع کاربری: مدیریتی

سطح کاربری: متوسط

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

SAMBA یک مجموعهای از برنامه های کاربردی است که به سیستم عاملهای لینوکسی اجازه میدهد در کنار شبکه های مایکروسافت نقش سرور(فایل و پرینت) و کلاینت را بازی کنند.

SAMBA به عنوان یک SMB server میتواند در نقش سرور، به کلاینتهای ویندوز اجازه دسترسی به سرویس فایل و پرینت را بدهد. و در نقش کلاینت میتواند منابع موجود در کامپیوترهای ویندوزی را mount کند.

در مقایسه با سایر پیاده سازیهای SMB، SAMBA بسیار پایدار، سریع، سازگار با کلاینهای زیاد میباشد.

آغاز حرکت زمانی بود که یک برنامه نویس استرالیایی بنام اندرو تریدگل تصمیم گرفت که فضای دیسک موجود در سرورUNIX را در کامپیوتر شخصی خود قابل دسترس کند. که در سال 1990 اولین نسخه SAMBA نوشته شد و منتشر گردید. که این پروژه در حال حاضر بصورت منبع باز است و از طریق CVS با مشارکت عمومی در حال پیشرفت و تکامل است.

آشنایی با Server Message Blocks (SMB)

در شبکه های ویندوزی، سرویس NetBIOS و DNS یک راه حل برای تبدیل نام کامپیوتر به آدرس IP میباشند. ولی تفاوتی که با هم دارند این است که سرویس های NetBIOS ، اصطلاحا flat هستند ولی DNS بصورت سلسله وار.

در سرویسهای NetBIOS نام کامپیوتر حداکثر طولش 15 کارکتر است ولی در DNS، 63 بایت برای نام و 255 بایت برای FQDN (نام کامل همراه با دامنه)

که در این قسمت مختصری با نحوه کار NetBIOS آشنا میشویم.

در روش NetBIOS ، ترتیب مراحل ترجمه نام کامپیوتر بدین ترتیب است:

- جستجو در حافظه کش محلی NetBIOS

- درخواست از wins server

- درخواست از طریق NetBIOS Broadcast

- جستجو در فایل Lmhosts(windows\system32\drivers\)

پروتکل NetBIOS در لایه های 3 و 4 مدل OSI کار میکند ولی پروتکل SMB در لایه هایSession- presentation . پس همانطور که مشخص است پروتکل SMB بعنوان یک پروتکل لایه بالاتر از لایه های پایینی سرویس میگیرد. SAMBA هم بعنوان یک SMB server، از این پروتکل برای پیدا کردن نام کامپیوترها در یک گروه کاری و در یک بخش استفاده میکند. تفاوتهایی که سرویس SMB , NFS دارند این است که NFS سرویسی برای به اشتراک گذاشتن فایلها میباشد ولی متدی برای شناسایی کاربران و ترجمه نام ارایه نمیدهد، ولی با پروتکل SMB همه این موارد امکان پذیر است.

روشهایی که سرور SAMBA برای شناسایی کاربران ارایه میکند:

Share level: در این روش تمام منابعی که کاربر به اشتراک میگذارد، مانند دایرکتوری- پرینترو دیسک در دسترس همه افراد هست.

User level: در این روش دسترسی به منابع اشتراکی محدود به نام کاربری و کلمه عبور است. و در این متد میتوان مشخص کرد که کدام کاربر به کدام منبع مشترک دسترسی داشته باشد و برعکس.

Domain: در این مد SAMBA سرور به عنوان عضوی از Domain درخواستهای برای شناسایی کاربران را به Domain controller ارسال میکند.

ADS: در این مد SAMBA سرور میتواند به Active directory Domain وصل شود.

نصب SAMBA

همانطور که قبلا ذکر شد سامبا سویتی از برنامه های کاربردی است که نیاز به نصب شدن دارند.

AMBA_CLIENT: این مجموعه به صورت پیش فرض در اکثر توزیعهای لینوکس نصب میشود. که شامل ابزارهایی همچون smbclient, smbmount, smbprint…. میباشد.

SAMBA: این مجموعه شامل نسخه سرور سامبا میباشد.

برای نصب سرور SAMBA آخرین نسخه آنرا از سایت www.samba.org داونلود کرده و نصب نمایید. برای نصب کردن میتوانید از هر دو نسخه باینری و سورس کد استفاده کنید. در زیر روش نصب سامبا از طریق نسخه باینری (کامپایل شده) را آورده ایم:

rpm –Uvh SAMBA-3.0.14a-1.i386.rpm

البته قبل از نصب مطمئن شوید که سرویسهای مربوطه در حال اجرا هستند یه نه! برای این منظور دستور زیر را وارد کرده و به خروجی دقت کنید.

ps aux | grep mbd

اگر درخروجی دیمن های nmbd, smbd در حال اجرا بودند پس سامبا سرور قبلا نصب شده هست و الان در حال اجراست. والا باید آنرا نصب کنید. سامبا از سه تا daemon استفاده میکند. قابل ذکر است که دیمن برنامه ای است که در background درحال اجرا است.

Nmbd: برای انجام عمل ترجمه نام کامپیوترها( (Network Browsingلازم است و از پروتکلUDP استفاده میکند.

Smbd: برای انجام عمل به اشتراک گذاشتن فایل و پرینتر لازم است و از پروتکل TCP استفاده میکند.

Winbindd: که برای ارتباط با domain controller استفاده میشود.

اگر در خروجی دوتا دیمن nmbd در حال اجرا بودند به این مفهوم است که کامپیوتر شما به عنوان Wins سرور عمل میکند.

تنظیم سامبا سرور

سامبا سرور تمام تنظیمات خود را از یک فایل متنی میخواند. این فایل smb.conf نام دارد که در مسیر /etc/SAMBA/smb.conf قرار دارد.

قالب فایل smb.conf

بخش | توضیحات
[Global] | پارامترهای عمومی سامبا
[printers] | پیکره بندی پرینتر به اشتراک گذاشته شده
[homes] | پارامترهای لازم برای map کردن home directory کاربران
[netlogon] | یک محل اشتراکی برای ذخیره logon script ها
[profiles] | محل اشتراکی برای ذخیره پروفایلهای کاربران بعد از logoff (ایکون دسکتاب)

در زیر یک نمونه از پیکره بندی smb.conf را آورده ایم.

برای این منظور ابتدا فایل smb.conf پاک کرده دوباره از اول پیکره بندی میکنیم.

rm –f /etc/SAMBA/smb.conf

touch /etc/SAMBA/smb.conf

emacs /etc/SAMBA/smb.conf

[Global]

NetBIOS name= officeSmb

Server string= Linux

Workgroup= office

Security = user

Smb passwd file = /etc/SAMBA/private/smbpasswd

Encrypt password = yes

Os level = 34

Wins support= yes

Name-reolve order= wins hosts bcast

Log file=/var/log/SAMBA/%m.log

[Data]

Comment = my shared data

Path= /export

Read only = yes

Guest ok = yes

این یک پیکره بندی نمونه است که به توضیح آن میپردازیم

برای این سرور متد شناسایی کاربر user انتخاب شده است. چونکه سامبا بصورت پیش فرض کلمات عبور را clear رد میکند ما در اینجا از encrypt password استفاده کرده ایم. اگر این قسمت را فعال کردید بعدش حتما باید گزینه smb passwd file را تنظیم کنید.

برای این منظور از اسکریت mksmbpasswd.sh که برای ایجاد فایلی برای ذخیره کلمات عبور رمز شده smb میباشد، استفاده میکنیم.

mkdir /etc/SAMBA/private

chmod 500 /etc/SAMBA/private

cat /etc/passwd | mksmbpasswd.sh > /etc/SAMBA/private/smbpasswd

بعد از اجرای دستور فوق شما میتوانید فایل smbpasswd را با ویرایشگر متنی باز کرده و ببنید که نام تمام کاربران ماشین شما در آن وجود دارد. شما میتوانید تمام محتویات این فایل را پاک کنید. چون بعدا موقع اضافه کردن کاربر برای SAMBA این فایل بروز خواهد شد.

این نکته قابل توجه است که فایلهای مربوط به ذخیره سازی اطلاعات کاربران سیستم لینکس و سامبا کاملا از هم مجزا میباشد. مزیتی که دارد این است که مدیر سیستم (Linux) به هر کسی که نیاز داشته یاشد سرویس سامبا را میدهد و همه کاربران لینکس به این سرویس دسترسی ندارند. از دستور passwdبرای تغییر پسورد کاربران سیستم استفاده میشود که این تغییرات در فایل /etc/shadow و برای تغییر پسورد سامبای کاربران از smbpasswd استفاده شده که محل ذخیره سازی تغییرات، فایل /etc/samba/smbpasswd میباشد.

انتخاب بعدی OS =34 میباشد. بدین معنی که این ماشین در انتخاب Master browser شرکت نمی کند. چونکه ماکزیمم عددی که ماشینهای ویندوزی انتخاب میکنند 32 است و خود ویندوز domain controller هم عدد 32 را برمیگزینند.

در قسمت [data] نام منبع اشتراکی را data گذاشتیم و دایرکتوری /export را بصورت read only به اشتراک گذاشته ایم. البته برای کسانی که جزو کاربران SAMBA هستند.

بعد از اینکه سیاست خود را در راه اندازی سامبا سرور اعمال کردید حالا تنظیمات خود را از نظر غلط املایی و منطقی با دستور زیر امتحان کنید:

testparm /etc/samba/smb.conf (testparm –s)

در این قسمت بعنوان مثال یک کاربر به سیستم و سامبا، اضافه میکنیم.

useradd –g users user1

passwd user1

smbpasswd –a user1

برای عوض کردن پسورد سامبای کاربر از دستور زیر استفاده میکنبم.

smppasswd user1

حالا زمان آن رسیده است که سرور سامبا را راه اندازی کرده و تنظیمات خود را امتحان کنید.

برای این منظور از دستور زیر برای راه اندازی سامبا استفاده میکنیم.

service smb start|stop|restart

Starting smb service: [ok]

Starting nmb service: [ok]

در طرف کلاینت ویندوز شما میتوانید با دستور زیر از منابع اشتراکی روی ماشین لینوکس مطلع شوید

C:\> net view \\officesmb or host Ip address

و در طرف ماشین لینوکسی

smbclient –L hostname –N

smbclient //hostname/service

که در مورد اخیر، عملکرد دستور smbclient تقریبا شبیه ftp میباشد.

برای map کردن منابع اشتراکی موجود روی لینوکس در طرف ویندوز دستورات زیر را وارد میکنیم

C:\> net use d: \\servername\service

C:\> net use lpt1: \\servername\spoolservice

و برای انجام همین کار در طرف لینوکس از دستورات زیر را وارد میکنیم

/path/to/yourdirectory

smbmount //servername/service

smbumount /path/to/yourdirectory

اگر این دستور را در فایل .bash_profile قرار دهیم دستور فوق به صورت اتوماتیک در هر لاگین اجرا میشود.

همچنین شما در هر کاوشگری اگر آدرس smb://servername را وارد کنید میتوانید به منابع مشترک آن کامپیوتر دسترسی داشته باشید.

نویسنده: مهدی رحیمی

پست الکترونیکی: Rahimi_gnu@yahoo.com

تاریخ: ۲۹/۰۲/۸۴

منبع: http://www.samba.org

This article was originally published on:
Site: | IOSSD
URL: | http://iossd.org/html/modules/articles/article.php?id=13


Article title: | کار با سامبا، سرویس دهی بین لینوکس و ویندوز(۲)
First posted: | Tue 05 Jul 2005
Description: | تنظیم سامبا به عنوان یک PDC(Primary domain controller)
Article text:

Linux, Windows, SAMBA

(قسمت دوم)

تنظیم سامبا به عنوان یک PDC(Primary domain controller)

[Globals]

پارامتر | مقدار | توضیحات
Domain logons | yes | سامبا را به عنوان PDC معرفی میکند
Preferred master | yes | سامبا به عنوان جایگاه مرکزی برای ذخیره سازی نام کلاینت های ویندوزی و پرینتر
Domain master | yes | سامبا بع عنوان master browser برای دامین
Os level | 65 | باعث برنده شدن سامبا در رقابت بر سر pdc با سرورهای ویندوز
Wins support | yes | سامبا، سرویس ترجمه نام فراهم میکند
Time server | yes | بروز کردن زمان و تاریخ کلاینتها
security | user | لاگین کردن کاربران برای دسترسی به منابع
workgroup | office | نام گروه کاربری

[Homes]

پارامتر | مقدار | توضیحات
browseable | no | قابل جستجو برای دیگران نیست
Read only | no | فقط کاربر سامبا میتواند در آن بنویسد
Create mask | 0664 | هر فایلی که کاربر سامبا درست کند صاحب مجوز 0664 میشود
Directory mask | 0775 | هر زیر شاخه ای که کاربر سامبا درست کند صاحب مجوز 0775 میشود.

[netlogon]

path=/home/samba/netlogon

guest ok =yes

[profiles]

path=/home/samba/profiles

read only=no

create mask=0600

directory mask=0700

[printers]

path=/var/spool/samba

printable=yes

browsable=no

mkdir –p /home/samba/netlogon

mkdir –p /home/samba/profile

chmod –R 0755 /home/samba

حال در این قسمت یک گروه بنام sysadmin درست کرده و کاربران مدیر را جزو این گروه میکنیم.

groupadd sysadmin

groupadd sysadmin

[Global]

admin users=@sysadmin

printer admin = @sysadmin

add machine script = /usr/sbin/useradd –d /dev/null samba-clients –s /bin/false –M %u

logon scrip= logon.bat

پارامتر آخری به این دلیل اضافه شد که سرور سامبا باید به نام ماشینهای که جزو دامین او هستند، اعتماد کند. در اینصورت هر کلاینت ویندوز که یک عضو از دامین سامبا شود جزو کاربران سیستم اضافه میشود، ولی کاربری که محیط شل آن /bin/false و home directory آن /dev/null و جزو گروه samba-clients خواهد بود.

بعد از این مراحل، فقط کافی است که به سراغ کلاینهای ویندوز رفته و آنها را به دامین سامبا وارد کنید و از حالت workgroup خارج کنید.

در صورت استفاده از logon اسکریپت، بچ فایل خود را با دستورunix2dos به فرمت داس تبدیل کنید. چون فرمت فایلهای متنی خیلی جزیی با هم فرق دارند.

خطای The network name cannot be found

- در فایل smb.conf در قسمت share، برای منبع آن اشتراک مسیری تعیین نشده است.

- دسترسی کافی به آن منبع ندارید.( مجوزهای R,X)

- دسترسی به منبعی که اصلا وجود ندارد.

با اجرای دستور زیر در طرف لینوکس کلاینت میتوانید از اجرای سرویس smb در سرور مطمین شوید.

nmblookup –B 192.168.1.100 __SAMBA__

که آدرس آی پی مذکور مربوط به سامبا سرور میباشد.

با اجرای دستور زیر میتوانید از وضعی netbios broadcast آگاه بشوید.

nmblookup –d 2 ‘*’

برای اجرا شدن سرویس smb موقع بوت شدن سیستم دستور زیر را وارد کنید.

chkconfig smb on

در نهایت شما از ابزارهای همچون webmin و swat میتوانید بصورت web based و در محیط گرافیکی، سامبا را مدیریتبکنید. لازم بذکر است که برای استفاده از webmin در نوار آدرس http://localhost:10000 و برای swat http://localhost:901 را وارد میکنیم.

نویسنده: مهدی رحیمی

پست الکترونیکی: Rahimi_gnu@yahoo.com

تاریخ: ۲۹/۰۲/۸۴

منبع: http://www.samba.org

This article was originally published on:
Site: | IOSSD
URL: | http://iossd.org/html/modules/articles/article.php?id=14


Article title: | گشتی میان یازده توزیع لینوکس
First posted: | Sat 09 Jul 2005
Description: | از جمله مباحث داغی که این روزها در دنیای کامپیوتر خصوصاً مبحث سیستم عامل مطرح است ، اقدامات متقابل مایکروسافت و لینوکس برای مقابله با یکدیگر و در دست گرفتن بازار سیستم عامل ها‌ی Server و Client بوسیله محصولاتشان است .
Article text:

گشتی میان یازده توزیع لینوکس

از جمله مباحث داغی که این روزها در دنیای کامپیوتر خصوصاً مبحث سیستم عامل مطرح است ، اقدامات متقابل مایکروسافت و لینوکس برای مقابله با یکدیگر و در دست گرفتن بازار سیستم عامل ها‌ی Server و Client بوسیله محصولاتشان است . آنچه که موجب شده جنبش OpenSource و سایر تولیدات آن مخصوصاً در زمینه Server مورد توجه سایر شرکتها و سازمانهای دولتی و غیر دولتی کشورهای جهان مخصوصاً مراکز امنیتی و استراتژیک قرار گیرد ، پایداری ، سرعت ،‌ امنیت بالا و هزینه پایین آن نسبت به محصولات مشابه مایکروسافت و دیگر کمپانی هاست . از عوامل اساسی که باعث گردیده لینوکس ،‌سیستم عامل های پایدارتری چه در زمینه Server و چه Client را نسبت به مایکروسافت ارائه دهد ،‌آگاهی برنامه نویسان و متخصصین سیستم از متویات کد هسته سیستم عامل و بازبینی و اصلاح مستمر آن است که در صورت بروز کوچکترین مشکلی در آن و گزارش bug موجود توسط هر یک از کاربران لینوکسی به توسعه دهندگان نسخه مربوطه ، ظرف مدت زمان کوتاهی ، تیم عظیمی از برنامه نویسان در اقصی نقاط دنیا با دسترسی به کد منبع oS قادر به تصحیح خطا و ارائه نسخه اصلاح شده آن و Pach های آن در اینترنت خواهد بود ، که بدینوسیله ظرف کمتر از چند روز مشکل ایجاد شده برطرف می گردد . از دیگر مواردی که در توسعه روز افزون سیستم عامل لینوکس موثر است ، تنوع موجود در بین توزیع های مختلف این سیستم عامل است که حتی برخی از توزیع ها تنها برای قشر خاصی از کابران یا افراد جامعه طراحی شده اند ، مانند لینوکس Oralux که برای استفاده نابینایان و افرادی که دارای مشکل بینایی هستند تولید شده است و یا yellow dog که مختص کامپیوترهای Apple , Power PC طراحی شده است . هم اکنون بیش از ۱۰۰توزیع گوناگون با قابلیتهای مختلف برای لینوکس وجود دارد که نسخه های تجاری و آزاد آنها جهت نصب و راه اندازی در سیستم های خانگی و سرور موجود می باشند . از دیگر نکات جالبی که در برخی از توزیع ها با آن برخورد می کنیم ، Live بودن سیستم عامل است . بدین معنا که با استفاده از یک Boot device خارجی مثل CD-Rom یا حافظه Flash می توان سیستم عامل را در حافظه کامپیوتر مستقر کرده و توسط آن به مدیریت سیستم بپردازیم . چنین نسخه هایی بیشتر در امور آموزشی و debug کردن سیستم ها و بازیابی سیستم های آسیب دیده بکار برده می شوند .

در این مقاله قصد داریم به بررسی برخی از توزیع های شناخته شده و موفق موجود پرداخته و مقایسه ای را بین آنها از لحاظ نوع کارکرد و معماری آنها انجام دهیم ، در صورت تمایل و جهت مشاهده سایر توزیع های موجود در لینوکس می توانید به سایت distrowatch.com نیز مراجعه نمایید.

-۱ توزیع Fedoracore :

ا ز معروفترین و کاربردی ترین نسخه های لینوکس که خصوصاً هنوز هم عده زیادی در ایران لینوکس را با این توزیع می شناسند ،‌ Redhat است که تا نسخه ۹ آن به بازار ارائه گردید و پس از آن کمپانی Redhat در ۲ توزیع Redhat Enterprise , Fedoracore اقدام به ارائه محصولات خود کرد . Fedora core که برگرفته از معماری Red hat است ، اولین نسخه خود را در نوامبر 2003 تحت گواهی(GPL (General purpose Licens و به مشکل رایگان به بازار سیستم عامل عرضه کرد . آخرین نسخه پایدار آن Fedora core3 بوده که مبتنی بر هسته 2.6.9 می باشد . برخلاف سیستم فایلهای ویندوزی چون FAT, NTFS ، در لینوکس با سیستم فایل های خاص دیگری برخورد می کنیم که متناسب با معماری لینوکس طراحی شده اند . سیستم فایل Fedora ، extention می باشد ولی قابلیت پشتیبانی از سیستم فایلهای دیگری چون ext2 ،Reiser Fs ، NFS، FAT و UDF را داراست . از این سیستم عامل در پلتفورم های X86 و همچنین معماری 64 بیتی X86 و پردازنده های Motorlla موجود درPower PC ها می توان استفاده کرد . ابزار پیشفرضی که سیستم عامل از آن جهت بروزرسانی Online خود استفاده می کند ، نرم افزارهای yum و up2date می باشند همچنین بسته های نرم افزاری قابل استفاده در Fedora از فرمت ( Red hat Package Manager ) RPM جهت نصب و راه اندازی خود استفاده می نمایند . محیط کاری پیش فرض در این سیستم عامل و Gnome بوده و مرورگر پیش فرض آن Natilus می باشد . از دیگر محاسن قابل توجه آن وجد مجموعه نرم افزارهای Gnome office , Koffice, Open offic .org به شکل پیش فرض در آن می باشد . نسخه 3 این توزیع جز نسخه هایی است که بلحاظ سادگی و روانی کار با آن برای افرادی که می خواهند برای اولین بار با لینوکس کار کنند ، توصیه می شود .

-۲ توزیع Debian :

از توزیع های تخصصی و حرفه ای لینوکس می باشد که از لحاظ پایداری و امنیت رتبه بسیار خوبی را در بین سایر توزیع ها داراست . اولین نسخه Debian در آگوست 1993 انتشار یافت و شامل نسخه های stable (‌پایدار) و unstable ( ناپایدار)‌می باشد . آخرین نسخه پایدار آن Debia woody 3.org می باشد که بیشتر در کامپیوتر های Server مورد استفاده قرار می گیرد و از نسخه هایunstabe آن به Debian Sarge می توان اشاره کرد نسخه پیش فرض هسته آن 2.2.20 ,2.4.18 بوده و تقریباً تممی پلتفورم های موجود شامل X86,SPARC, ALPHA, MIPS, RISC, Mac/VME, IA64, S/390 را پشتیبانی می کند ابزار بروز رسانی این OS، APT بوده و کلیه بسته های نرم افزاری تحت آن با توسعه deb. قابل نصب و استفاده می باشند . ( برخلاف Red hat وfedora که از RPM استفاده می کنند ) این توزیع نیز همانند Fedora از سایر سیستم فایلهای تحت لینوکس چون JFS، XFS،Reiser Fs و سیستم فایلهای ویندوزی چون FAT و NTFS پشتیبانی می کند ولی سیستم فایل پیش فرض آن ext3/ext2 می باشد .

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

-۳ توزیع SuSE :

یک توزیع آلمانی الاصل ! که در مارس 94 توسط کمپانی SuSE به بازار آمد و هم اکنون در اختیار شرکت Novell می باشد . آخرین نسخه این توزیع 9.3 بوده و تحت گواهی GPL بصورت مجانی از اینترنت قابل Downlod و استفاده می باشد . سادگی کار در محیط این سیستم عامل و قدرت تشخیص بالای سایر قطعات سخت افزاری نسبت به دیگر توزیع ها ،‌ آن را به توزیعی مناسب جهت استفاده افراد مبتدی و تازه کار تبدیل می کند . نسخه Professional آن در 5 نسخه عرضه شده است شامل بیش از 2000 بسته نرم افزاری است که نرم افزارهای متنوعی شامل مجموعه games, Internet, Mulimedia , Open office .org و سایر Application های مورد نیاز کابران را دارا می باشد . نصب این توزیع نیز بسیار راحت و بی دردسر بوده و افرادی که مایل هستند SuSE را در کنار ویندوز خود داشته باشند براحتی توسط CD اول SuSE ( زوزه ) قادر به انجام این کار هستند .کرنل این توزیع 2.6.11 است و از سیستم فایل پیش رض خود استفاده می کند . اینتوزیع از معدود توزیع هایی است که نسخه 24 بیتی خود را برای نصب بر روی پردازنده های 64 بیتی نیز به بازار ارائه داده است و با معماری های X86, IA64, Power pc سازگار است . نصب بسته های نرم افزاری در این سیستم عامل توسط ابزار RPM صورت گرفته و جهت بروز رسانی و پیکربندی سایر اجزاء آن از Yast استفاده می گردد .

-۴ توزیع Knoppix :

یک توزیع آلمانی دیگر که برای بیشتر لینوکس کاران کشورمان شناخته شده است . اولین لینوکس فارسی ، شبدیکس ، بر اساس این توزیع نوشته و پیکربندی گردیده Knoppix مبتنی بر توزیع Debian بوده و توسط Klaus Knopper نوشته شد و آخرین نسخه پایدار آن 3.8.1 می باشد که تحت گواهی GPL در دسترس عموم قرار دارد. تنها پلتفورم قابل پشتیبانی توسط این سیستم عامل معماری X86 بوده و سیستم فایل پیش فرض آن XFS می باشد . هسته Knoppix همانند پسر عموی آلمانی خود SuSE، 2.6.11 است ولی چون مبتنی بر Debian است ، به جای فرمت RPM از فرمت deb. جهت نصب بسته های نرم افزاری استفاده می کند . محیط گرافیکی پیش فرض این توزیع KDE بوده و شامل مجموعه نرم افزارهای Open office .org مانند Writer ،‌ Impressو Calcمی باشد.

-۵ توزیع Slackware Linux :

Slack wure در ژولای 1993 توسط Potrick Volkerding بر اساس توزیع SLS ،‌تحت گواهی GPL و همانند دیگر توزیع های عنوان شده بصورت رایگان در اختیار همگان قرار گرفت . هسته این توزیع 2.4.29 بوده و از سیستم فایلهای ext2, ext3, Reiser FS به عنوان سیستم فایل پیش فرض خود استفاده می کند . آخرین نسخه Slackware و 10.1 بوده و جزء توزیع های تخصصی لینوکس محسوب می گردد که استفاده از آن برای تازه کارها بدلیل عدم داشتن واسط گرافیکی توانمند توصیه نمی شود . معماری معماریهای سازگار با Slackware , X86, IA64 و S/390 می باشد که از ابزار Swaret و Spalt- get جهت بروزرسانی خود استفاده می کند. مرورگر فیل این توزیع Konqerer و محیط کاری پیش فرض آن KDE می باشد که حاوی مجموعه نرم افزارهای Koffice است .

-۶ توزیع Mandriva :

این توزیع را هنوز اکثر افراد با نام Mandrake Linux می شناسند که در جولای 1998 اولین نسخه آن مبتنی بر Red hat و تحت گواهی GPL ارائه گردید . آخرین نسخه پایدار آن Limited Edition 2005 می باشد که دارای هسته 2.6.11 است . نصب سایر نرم افزارهای درMandriva بدلیل برگرفته شدن آن از Red hat توسط مکانیزم RPM صورت می گیرد . Mandriva تقریباً تمام سیستم فایلهای موجود را پشتیبانی می کند ولی سیستم فایل پیش فرض آن ext3 بوده و قابل نصب بر روی پلتفورم های Power pc, X86 و پردازنده های 64 بیتیX86-64) Intel ) همانند SuSE نیز می باشد .وجود محیط گرافیکی گویا و سایر نرم افزارها و امکانات اولیه در Mandriva آنرا به توزیعی نسبتاً‌مناسب جهت آشنا کردن سایرین با لینوکس تبدیل کرده است .

-۷ توزیع Gentoo :

از دیگر توزیع حرفه ای وآنتی مبتدی !!! لینوکس که توسط Gentoo Foundation در مارس 2002 تحت گواهی GPL و به شکل رایگان ارائه گردید . آخرین نسخه پایدار آن 2005.0 و همانند Suse و Mandriva دارای هسته 2.6.11 می باشد. نصب این توزیع نیز فاقد هر گونه واسط گرافیکی بوده و تمام فرآیند نصب آن باید بصورت دستی و مبتنی بر Document های همراه آن صورت گیرد . سیستم فایل پیش فرض آن توسط کار بر قابل تعیین بوده و تمام سیستم فایل های موجود در لینوکس را پشتیبانی می نماید . Gentoo خود مبتنی بر توزیعی به نام Enoch است که همانند SuSE و Mandriva بر روی پلتفورم های 64 بیتی X86-64) Intel ) و PPC و نیز پلتفورم های ALPHA, MIPS, SPARC و SPARAC64 قابل نصب و راه اندازی است . هیچ نرم افزار و بسته ای در زمان نصب این توزیع به صورت پیش فرض نصب نمی شود و تنها با انتخاب کاربر قابل نصب و استفاده می باشند . ابزار بروز رسانی موجود در Gentoo جهت دریافت و اعمال آخرین تغییرات در سیستم عامل آخرین تغییرات در سیستم عامل ، emerge می باشد !

-۸ توزیع Ubuntu :

لینوکس Ubuntu ( اوبونتو)‌ در اکتبر 2004 توسط کمپانی Ganonical در آفریقای جنوبی و همانند اکثر توزیع های لینوکس تحت گواهی GPL عرضه گردید . اوبونتو که مبتنی بر Debian بوده و آخرین نسخه پایدار آن 5.04 می باشد که Cd های Live آن نیز در بازار موجود می باشد . سیستم فایل پیش فرض آن همانند Mandarke هم ext3 بوده و در سیستم های X86، Power pc و X86-84 قابل نصب و پشتیبانی می باشند . هسته اوبونتو 2.6.10 می باشد و توسط ( ubuntu update Manager) UuM قابل بروز رسانی است . Gnome محیط محیط گرافیکی پیش فرض این توزیع است و از Natilus به عنوان مرورگر فایل پیش فرض خود استفاده می کند . از دیگر مسائلی که در زمان انتخاب این توزیع باید در نظر گرفت عدم وجود واسط گرافیکی در زمان نصب آن می باشد !

-۹ توزیع Xandros Descktop OS :

این توزیع شامل معدود توزیع هایی است که تحت گواهی Proprietry و به سفارش کمپانیXandros در اکتبر 2002 مبتنی بر Corel Linux ارائه گردید . قیمت نسخه های تجاری آن بین 50 تا 90 دلار بوده و آخرین نسخه موجود آن 3 می باشد . برخلاف سایر توزیع ها این لینوکس فاقد خاصیت Multi Platform بوده و تنها در سیستم هایی با معماری X86 قابل نصب می باشد . هسته این سیستم عامل 2.6.9 بوده و از سیستم فایل Reiser FS به عنوان سیستم پیش فرض خود استفاده می کند . Xandors بدلیل اختصاصی بودنش و عدم سازگاری با سایر پلتفورم ها نسبت به توزیع های عنوان شده ،‌جایگاه پائین تری را در بازار Open Source داراست .

-۱۰ توزیع MEPIS :

در سپتامبر 2003 توسط Waren Woodford و مبتنی بر توزیع Debian نوشته شد . MEPIS نیز تحت گواهی GPL و بصورت رایگان قابل Download از اینترنت بوده و آخرین نسخه آن Simple MEPIS 3.3 می باشد . هسته آن 2.6.11 بوده و سیستم فایل پیش فرض آن ext3 می باشد که در عین حال قابلیت پشتیبانی از سایر سیستم فایل ها چون JFS،‌UDF،NTFS،Reiser FS،FAT،ext3،ISO9660 را داراست

این توزیع همانند Xandros تنها بر روی پلتفورم های X86 قابل نصب بوده و نرم افزارهای Open source تحت فرمت (Debian Package) deb. در ان قابل نصب و استفاده می باشند . مرورگر فایل MEPIS , Konquerer و محیط گرافیکی پیش فرض آن نیز KDE است .

-۱۱ Ly coris Descktop/ LX

لینوکسی که تحت گواهی به نام خودش (Lycoris License) توسط کمپانی Lycoris در اواخر سال 2001 با قیمتی بین 40 تا 75 دلاربه بازار عرضه شد . این توزیع برگرفته از توزیعی به نام Caldera Open Linux بوده و آخرین نسخه پایدار آن 104 می باشد . از معایب عمده این سیستم عامل ، وجه اشتراک آن با دو توزیع قبلی است که عدم پشتیبانی از Multi Platform و پشتیبانی صرف از معماری x86 می باشد ، که مانع از توسعه آن تحت سایر سیستم های موجود می گردد . هسته Lycoris ،2.4.27 و بسته های نرم افزاری RPM را پشتیبانی می کند . محیط پیش فرض این توزیع KDE است و در حالت پیش فرض نیز شامل مجموعه نرم افزارهای Koffice می باشد .

نویسنده: داوود سجادی

پست الکترونیکی: s.d.sajjadi@gawab.com

تاریخ: ۱۰/۰۴/۸۴

This article was originally published on:
Site: | IOSSD
URL: | http://iossd.org/html/modules/articles/article.php?id=15


Article title: | پیش از نصب و راه اندازی PHP(درس ۲)
First posted: | Mon 11 Jul 2005
Description: | پس از اینکه در مورد مزیتهای PHP صحبت کردیم و PHP را بعنوان یک زبان برنامه قابل شناخیم، حال می خواهیم با این زبان کار کنیم تا این زبان را بهتر و بیشتر بشناسیم.
Article text:

پیش از نصب و راه اندازی PHP

پس از اینکه در مورد مزیتهای PHP صحبت کردیم و PHP را بعنوان یک زبان برنامه قابل شناخیم، حال می خواهیم با این زبان کار کنیم تا این زبان را بهتر و بیشتر بشناسیم.

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

  • استفاده از سرویس دهنده هایی(هاست) که زبان PHP را پشتیبانی نمایند.

  • نصب و راه اندازی این زبان بر روی سیستم شخصی یا سروری که با آن کار می کنید.

استفاده از سرویس دهنده ای جداگانه

اگر بخواهید از سرویس دهنده هایی که در سطح اینترنت استفاده کنید، کار مشکلی در پیش رو ندارید، فقط باید یکی از این سرویس دهنده هایی که PHP را پشتیبانی می کنند را پیدا کنید.

علاوه بر امکاناتی که در Chapter00 گفته شد، به نرم افزاری برای انتقال اطلاعات و فایل های خود به دستگاه سرویس دهنده نیاز خواهید داشت. برای انتقال می توانید از نرم افزارهای که پروتکل های FTP, SSH, SSH2 را به خوبی پشتیبانی نمایند استفاده کنید. بعنوان مثال می توانید از Gftp در لینوکس و Ws-frp pro در ویندوز استفاده نمایید، این نرم افزارها را در اینترنت به صورت رایگان می توانید پیدا کنید و دریافت کنید.

نصب و راه اندازی این زبان بر روی سیستم شخصی یا سروری که با آن کار می کنید

قبل از نصب PHP بر روی سرویس دهنده خود باید چندین نکته را مورد توجه قرار دهیم. در ابتدا باید توجه داشته باشید که آیا روی دستگاه شما PHP از قبل نصب شده است یا نه؟ برای اینکه مورد را تست نماییم می توانیم از یکی از توابع داخلی PHP بنام phpinfo استفاده نماییم.

این تابع وظیفه دارد که کلیه امکانات، حالات و خواص PHP نصب شده بر روی دستگاه ما را به ما نمایش دهد. برای استفاده از این تابع برای نمایش تمامی اطلاعات باید فایل را بسازیم و آنرا بویسله مرورگر خود فراخوانی نماییم.

نوشتن فایل phpinfo

بوسیله نرم افزار Note Pad یا Kwrite فایل جدیدی را باز نمایید در آن کد زیر را بنویسید:

<?php

phpinfo();

?>

زمانیکه کد بالا را در فایل خود وارد کردید فایل مورد نظر خود را با نام phpinfo.php ذخیره نمایید. توجه داشته باشید که حتما نام فایل را به درستی وارد نمایید.

کاربران ویندوز توجه داشته باشند که اگر با Note Pad کار می کنند فایل ذخیره شده ایشان با نام phpinfo.php.txt ذخیره شده است و این کاربران باید نام آنرا تغییر دهند، اگر می خواهید در زمان ذخیره سازی فایل، نام فایل شما بدون اینکه بعدا آنرا تغییر نام دهید، همان نام اصلی باشد، باید نام مورد نظر خود را داخل " کوتیشین قرار دهند، به این صورت "phpinfo” باید نوشته شود.

پس از اینکه فایل خود را ساختید باید این فایل را در آدرسی که سروریس دهنده وب شما به آن اشاره می کند انتقال دهید. به طور مثال در سیستم عامل لینوکس و سرویس دهنده آپاچی این مسیر به صورت پیشفرض در آدرس var/www/html/ قرار دارد، و در سیستم عالم ویندوز با سرویس دهنده آپاچی این مسیر به صورت پیشفرض در آدرس:

Your Drive:/Apache Group/Apache/htdocs

قرار دارد و همچنین در سرویس دهنده IIS این مسیر در آدرس:

Your Drive:\Inetpub\wwwroot

بعد از اینکه فایل phpinfo را در آدرس سرویس وب خود قرار دادید، حال بوسیله مرورگر خود آنرا به صورت زیر فراخوانی کنید:

در مرورگر خود آدرس زیر را بنویسید:

http://localhost/phpinfo.php

پس از اینکه این آدرس را وارد کردید وفایل خود را فراخوانی کردید باید یک صفحه که حاوی بلاک های آبی رنگ می باشد. این بلاک های آبی رنگ حاوی اطلاعاتی در مورد کامپایلر PHP و پیوست های وابسته به آن می باشد.

اگر این صفحه برای شما بارگذاری نشود، می تواند چندین حالت دیگر برای شما رخ دهد:

  • چیزی در صفحه نمایش داده نشود و در زمان نمایش سورس این صفحه شما با سورس PHP روبرو شود. (این خطرناک ترین حالت برای سرورهایی است که زبان php را پشتیبانی می کنند)

    در صورتی که با صفحه سفید مواجه شدید، بدین معنی است که سرویس دهنده وب شما به خوبی کار می کند ولی کامپایلر PHP شما نشناخته است.

  • با خطای ۴۰۴ مواجه شوید: در این صورت شما نام فایل را به درستی وارد نکرده اید یا اینکه در آدرسی که سرویس دهنده وب شما به آن سرویس میدهد فایل را قرار نداده اید.

  • با خطای ۵۰۰ مواجه شوید: در این صورت وب سرور شما به درستی تنظیم نشده است و درست سرویس دهی نمی کند.

پس از اینکه از نصب بودن کامپایلر PHP روی دستگاه خود اطمینان حاصل کردید، یا شما PHP را روی دستگاه خود دارید که دیگر نیازی به نصب و راه اندازی آن ندارید و یا اینکه PHP روی دستگاه شما نصب نیست و باید آنرا نصب کنید.

بسته های مورد نیاز

همانطور که در فصل قبل گفته شد. برای نصب و راه اندازی PHP به یک سری امکانات و نرم افزارها نیاز دارید. در این قسمت این بسته های نرم افزاری را به شما معرفی می کنیم:

  • وب سرور Apache ، که بهترین گزینه برای کار با php می باشد، البته IIS هم گزینه دیگری است که می توانید آنرا در سیستم عامل ویندوز بکار بگیرید، ولی در به کارگیری بعضی از پیوست های PHP ممکن است دچار مشکل شوید. شما می توانید این بسته نرم افزاری را از سایت رسمی این نرم افزار یعنی http://apache.org دریافت کنید. (این نرم افزار به صورت رایگان ارائه می شود)

  • بسته نرم افزار PHP که می توانید آنرا در سایت رسمی آن http://php.net پیدا کنید و آنرا دریافت کنید. سعی کنید آخرین نسخه آنرا که در حال حاضر ۴.۴.۲ می باشد را دریافت کنید. (البته PHP دارای نسخه ۵ هم می باشد که هنوز به صورت آزمایشی ارائه می گردد)

  • بسته نرم افزاری Mysql بهترین بانک اطلاعاتی که با PHP کاملا سازگار می باشد و دارای بیشترین سرعت می باشد. این نرم افزار را می توانید از آدرس http://mysql.org دریافت کنید.

  • بسته نرم افزاری برای مدیریت راحت تر بانک اطلاعاتی Mysql مورد نیاز است که می توانید از نرم افزار Mysqlcc استفاده کنید که در سایت همان http://mysql.org وجود دارد. یا می توانید از نرم افزار phpmyadmin استفاده نمایید که در آدرس http://phpmyadmin.org موجود می باشد. (برای مدیریت راه دور بانک اطلاعاتی خود بهتر است از نرم افزار phpmyadmin استفاده نمایید.)

  • ویرایشگری مناسب برای ویرایش فایلهای php، همانطور که گفته شد می توانید از Note Pad یا Kwrite استفاده کنید. ولی یکی از بهترین گزینه ها در هر دو سیستم عامل ویندوز و لینوکس نرم افزاری به Active State Komodo می باشد که می توانید آنرا از آدرس http://activestate.com

    دریافت کنید.

  • مرورگری که انتخاب می کند شاید زیاد ارتباطی با کدهای PHP نداشته باشد. ولی می توانید از مرورگرهایی همانند Firefox یا Opera برای بالا بردن سرعت مرور خود استفاده کنید.

تصمیم گیری در هنگام نصب

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

نصب PHP به صورت Module یا CGI

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

توجه داشته باشید که شما می توانید PHP را به هر دو صورت و همزمان استفاده نمایید.

This article was originally published on:
Site: | IOSSD
URL: | http://iossd.org/html/modules/articles/article.php?id=16


Article title: | ساختار یک برنامه C(درس ۲)
First posted: | Sun 17 Jul 2005
Description: | در این بخش ضمن تشریح ساختار یك برنامه C، اندكی به ورودی/خروجی، به عنوان روش ارتباطی كاربر و برنامه می پردازیم.
Article text:

ساختار یك برنامه C

ابتدا به تشریح ساختار كلی یك برنامه C می پردازیم. از این به بعد شما چنین ساختاری را زیاد خواهید دید. برای آغاز این تشریح یك برنامه C را به صورت نمونه ارائه می كنیم.

كرنیگان و ریچی در صفحه ۹ كتاب معروفشان The C Programming Language می نویسند:

تنها راه یادگیری یك زبان برنامه نویسی جدید، نوشتن برنامه هایی به آن زبان است. اولین برنامه ای كه می نویسیم برای همه زبانها یكسان است:

واژه های hello, world را چاپ كن.

ما هم با همان برنامه مشهور شروع می كنیم. البته چیزهای كمی هم به آن اضافه می كنیم تا كارمان را هماهنگ با دیتل پیش ببریم:

/*Program: hello.c

This programm prints “hello, world” on the display screen.*/

#include < stdio.h >

/* Function main begins program execution */

int main()

{ /* Begin function main */

printf(“hello, world\n”);

return 0; /* Returning zero means that program ended

withount any error*/

} /* End function main */

این برنامه را تایپ، كامپایل و اجرا كنید. خواهید دید كه خروجی آن عبارت hello, world خواهد بود و پس از آن هم اعلان خط دستور (DOS یا UNIX) را در آغاز خط بعد خواهید دید.

تبریك! شما از داخل یك برنامه C به دنیا سلام كردید. (-:

تشریح برنامه

در آغاز این برنامه متنی را می بینید كه در دو خط گسترده شده است. این متن با علامت /* آغاز می شود و با علامت */ پایان می یابد. به چنین متنی توضیحات (Comments) می گوییم.

هر متنی كه مابین دو علامت /* و */ قرار گرفته باشد، توسط كامپایلر نادیده انگاشته می شود. به همین دلیل هم از این قابلیت می توان برای قرار دادن توضیحات در داخل برنامه استفاده كرد. همچنین می توانیم قسمتی از كد را كه به هر دلیل موقتا نمی خواهیم كامپایل شود، به صورت توضیحات در بیاوریم.

پس از توضیحات اول برنامه، این خط را می بینیم:

#include < stdio.h >

هر خطی از كد كه با علامت # شروع شود، راهنمای پیش پردازنده (Preprocessor directive) نامیده می شود. علت این است كه پیش از كامپایل شدن كد، برنامه ای به نام پیش پردازنده C یا C Preprocessor یا CPP كد ما را می خواند و بر اساس آنچه كه پس از علامت # آمده كارهای خاصی را انجام می دهد.

در اینجا، این كار خاص عبارتست از ضمیمه كردن (include) محتوای فایلی به نام stdio.h به برنامه ما. البته این ضمیمه كردن، تغییری در كد اصلی كه ما نوشته ایم ایجاد نمی كند و اثر آن فقط در كد كامپایل شده اعمال می شود. در فایل stdio.h تعاریفی برای كارهای استاندارد ورودی/خروجی قرار دارد. مثلا توابعی كه به درد چاپ كردن یك متن روی صفحه نمایش و یا گرفتن مقدار یك متغیر از كاربر می خورند. در مجموع اگر محتوای این فایل را به وسیله راهنمای include# به ابتدای برنامه مان اضافه نكنیم،‌ كامپایلر C از كدی كه در ادامه برای نمایش عبارت hello, world نوشته ایم ایراد می گیرد و آن را كامپایل نمی كند. خوب بیچاره تقصیری هم ندارد، چون نمی داند چطور باید اینكار را انجام دهد!

در اینجا فقط اشاره می كنم كه به فایلهایی مانند stdio.h كه پسوند h دارند‌، اصطلاحا سرفایل (Header file) می گوییم. علت این نامگذاری را كمی بعد برایتان شرح خواهم داد.

خوب، پس از آن یك خط دیگر هم توضیحات داریم كه فعلا دیگر در باب توضیحات، توضیحات اضافه نمی دهم!

و اما…

… واما در خط بعد به عبارت ()int main بر می خوریم. رسیدیم به یكی از اساسی ترین عناصر زبان C، یعنی توابع.

هر برنامه C دست كم از یك تابع تشكیل شده است، البته بیشتر از یك تابع هم می تواند داشته باشد، و معمولا هم بیشتر از یك تابع دارد. اما اساسی ترین آنها تابعی است به نام main كه در همه برنامه های C باید وجود داشته باشد و آن «دست كم یك تابع» كه به آن اشاره كردم هم همین تابع main است. در واقع سیستم عامل باید بداند وقتی برنامه ای را برای اجرا به حافظه می آورد، نقطه شروع (Entry point) آن كجاست. این تابع main همان نقطه شروع همه برنامه های C است. عبارت ()int main هم نقطه شروع و آغاز تعریف تابع main است. این تابع main به دو سه شكل مختلف تعریف می شود كه البته فعلا برای ما همین شكلی كه در برنامه دیدید خوب است.

در این خط، پرانتز ها به كامپایلر می گویند كه main یك تابع است. در واقع در زبان C، هر تابعی بعد از اسمش یك جفت پرانتز باز و بسته دارد كه اگر پارامتر ورودی داشته باشد، آن پارامتر(ها) را در بین آن پرانتز ها فهرست می كنیم. عبارت int‌ هم به كامپایلر می گوید كه این تابع پس از انجام عملیات داخلی اش، مقداری از نوع صحیح (integer) را به سیستم عامل برمی گرداند (returns).

در خط بعدی، یك علامت آكولاد (brace) باز می بینید.

به عنوان یك قاعده كلی به خاطر داشته باشید كه در زبان C، هر جایی كه یك علامت پرانتز باز، آكولاد باز یا كروشه باز ببینید، باید در جایی دیگر (و حتما در ادامه آن، نه قبل از آن) معادل بسته آن را هم ببینید. وگرنه آن برنامه ایراد خواهد داشت و كامپایل نخواهد شد.

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

خوب، آنچه كه بین جفت آكولاد باز و آكولاد بسته قرار می گیرد به یك بلوك (block) از دستورات معروف است و در این مورد خاص به آن بدنه (body) تابع هم می گویند. چون اولین دستور تابع بلافاصله بعد از آكولاد باز و آخرین دستور تابع بلافاصله قبل از آكولاد بسته است.

اما خط بعد، خطی است كه ما را به مقصودمان می رساند. یعنی عبارت hello, world را روی صفحه چاپ می كند. در این خط ما از تابع printf استفاده می كنیم. در اینجا یاداوری یك نكته خالی از فایده نیست و آن اینكه در فصل قبل گفتیم زبان C برای كارهای ورودی/خروجی خود از توابع كتابخانه ای استفاده می كند. printf یكی از آن توابع است. تابع printf متنی را كه در میان كوتیشن های دوتایی (Double-quotes) قرار گرفته به عنوان پارامتر ورودی می پذیرد و آن را روی صفحه نمایش در جایی كه مكان نما قرار دارد، چاپ می كند. فعلا به مقدار برگشتی تابع printf كاری نداریم. هرچند كه این تابع مقداری را برمی گرداند، در زبان C می توانیم از مقدار برگشتی توابع صرفنظر كنیم. بنابراین، فعلا از آن می گذریم ولی در آینده باز هم به این مسئله خواهیم پرداخت.

راستی به خاطر دارید كه در بالا گفتیم اگر محتوای فایل stdio.h را به برنامه مان ضمیمه نكنیم، كامپایلر زبان C از كدی كه برای چاپ hello, world نوشته ایم ایراد خواهد گرفت؟ منظورمان از آن كد همین تابع printf بود. چراكه الگوی این تابع یكی از دهها الگوی تابعی است كه در فایل stdio.h تعریف شده است.

خوب، قول دادم برایتان شرح بدهم چرا به فایلهایی با پسوند h می گوییم header. اگر فایل stdio.h كامپایلر خود را باز كنید و ببینید (می توانید در محیط مجتمع برنامه نویسی خود مثل ++Visual C یا Kdevelop آن را ببینید، یا در یك ویرایشگر متنی همچون Notepad، vi یا emacs) به خطوطی شبیه آنچه در ادامه می آید بر می خورید:

_CRTIMP int __cdecl printf(const char *, ...);

البته آنچه كه شما می بینید، ممكن است اندكی تفاوت داشته باشد. این فایل مربوط به ++Visual C است. به هر صورت می توانید تشخیص دهید كه الگوی تابع printf در اینجا آمده است. پس بدنه تابع كجاست؟ بدنه تابع به صورت كامپایل شده در فایلهای كتابخانه (library) قرار دارد. چون ابتدای هر تابع در فایل header مربوط به آن قرار می گیرد، به آن فایل نام سرفایل یا header file را می دهیم.

بد نیست با دو اصطلاح هم آشنا شوید. به این الگو، prototype تابع هم می گویند. در ضمن ما prototype تابع را (كه می تواند مثل مورد printf در یك فایل هدر قرار گرفته باشد، یا مستقیما در فایل برنامه ما تایپ شده باشد) پیش از آغاز برنامه و تابع main ضمیمه می كنیم كه به این كار اصطلاحا اعلان تابع (Function declaration) می گوییم. چراكه با اینكار به كامپایلر اعلان می كنیم كه فعلا نام printf (یا هر نام تابع دیگری را كه اعلان كرده ایم) را به عنوان یك نام معتبر بپذیر و بر ما خرده مگیر(!) كه بعدا بدنه آن را هم در فایل كتابخانه مربوط به آن خواهی یافت.

به خطی كه تابع printf در آن قرار گرفته توجه كنید؛ از آغاز اسم تابع printf تا پایان خط یعنی كاراكتر نقطه ویرگول (Semicolon) یك عبارت (Statement) نامیده می شود.

نكته قابل توجه اینجاست كه در زبان C هر عبارت باید به یك نقطه ویرگول ختم شود. اما به یاد داشته باشید كه راهنماهای پیش پردازنده از این قاعده مستثنی هستند، چراكه آنها اصلا عبارات واقعی زبان C نیستند. یادتان هست كه گفتیم كامپایلر فقط بر اساس آنها كار خاصی انجام می دهد. آنها معمولا به جایگزینی كد یا فعال كردن یك قابلیت خاص در كامپایلر منجر می شوند. بعدا باز هم به این مسئله خواهیم پرداخت.

خوب، در باره نحوه كاربری تابع printf در این برنامه تقریبا همه چیز روشن است. همانطور كه می بینید متن مورد نظر ما كه قرار است روی صفحه چاپ شود، به صورت یك پارامتر به تابع printf داده شده است. در اینجا اصطلاحا می گوییم این پارامتر به تابع printf پاس (pass) شده است. دو علامت كوتیشن دوتایی كه در دو طرف متن می بینید، به كامپایلر می گوید كه این پارامتر به صورت یك ثابت رشته ای (String literal) به تابع پاس می شود. در زبان C ما همیشه ثوابت رشته ای را در بین یك جفت كوتیشن دوتایی قرار می دهیم.

تنها نقطه ابهام در این خط، آن علامت n\ در انتهای رشته است. این دیگر چیست؟ اگر دقت كرده باشید وقتی كه برنامه را اجرا می كنیم، این دو كاراكتر روی صفحه نمایش داده نمی شوند! این علامت، كه در واقع مجموع دو كاراكتری تشكیل دهنده آن از دید كامپایلر تنها یك كاراكتر در نظر گرفته می شود، می گوید كه از اینجا به بعد، هر كاری كه انجام شود، در ابتدای خط بعدی خواهد بود. یعنی مثلا اگر رشته ما به صورت hello, world\nfrom C بود، به شكل زیر چاپ می شد:

hello, world

from C

در زبان C به چنین علاماتی كه از یك بك اسلش ( \ ) و یك كاراكتر بعد از آن تشكیل می شوند (و طبیعتا نباید بین این دو كاراكتر فاصله ای قرار داد)، اصطلاحا Escape Character یا Escape Sequence گفته می شود. تركیب بك اسلش با كاراكتر بعد از آن همیشه به معنای یك كاراكتر است، نه دو كاراكتر. Escape character ها به همان شكلی كه در برنامه نوشته می شوند، چاپ نمی شوند. مثلا در اینجا، به جای اینكه شما روی صفحه نمایش n\ را ببینید، ملاحظه می كنید كه بلافاصله پس از رسیدن به n\ در رشته مورد نظر، مكان نما به ابتدای خط بعدی منتقل می شود. حرف n در اینجا مخفف تركیب new line به معنای خط جدید است.

n\ تنها Escape Character در زبان C نیست. در زیر چند تا از آنها فهرست شده اند:

Escape Sequence | شرح
\n | خط جدید. مكان نما را در ابتدای خط بعد قرار بده.
\t | Tab افقی. مكان نما را به محل Tab بعدی ببر.
\a | هشدار. زنگ سیستم را به صدا دربیاور.
\\ | بك اسلش. یك كاراكتر بك اسلش در رشته قرار بده.
\" | كوتیشن دوتایی. یك كوتیشن دوتایی در رشته قرار بده.

معنی n\ را فهمیدید. در مورد معنی t\ و a\ هم فعلا نگران نباشید. اما دو مورد آخر، یعنی \\ و "\ نیاز به كمی توضیح دارند.

دیدید كه ثابت رشته ای را در بین دو كاراكتر " قرار می دهیم. این بدان معناست كه هر جا كامپایلر به یك " برسد، انتظار دارد كه یك ثابت رشته ای شروع شود و هر جا به " بعدی برسد، انتظار دارد كه آن ثابت رشته ای پایان یابد. پس بدین ترتیب آیا این بدین معنی است كه ما هرگز نمی توانیم در داخل رشته كاراكتری خود، یك كاراكتر " داشته باشیم؟ خیر، چنین نیست. بلكه ما می توانیم با قرار دادن یك كاراكتر بك اسلش قبل از كاراكتر " به كامپایلر بفهمانیم كه این كاراكتر " به معنای پایان رشته نیست، بلكه می خواهیم به شكل " در داخل رشته ما قرار گیرد و هنگام چاپ هم دقیقا به شكل " نمایش داده شود.

خوب این از نحوه قرار دادن یك كوتیشن دوتایی در داخل رشته. اما می دانید كه كامپایلر هر جا به یك \ در داخل رشته برسد، انتظار دارد در تركیب با كاراكتر بعدی تشكیل یك Escape Sequence را بدهد. بنابراین شاید فكر كنید كه نمی توانیم خود كاراكتر بك اسلش را در رشته مان قرار دهیم و در صورت لزوم روی صفحه چاپ كنیم. باز هم چنین نیست. چراكه می توانیم به همان ترتیبی كه در مورد كوتیشن دوتایی عمل كردیم، اینجا هم عمل كنیم. یعنی یك Escape Sequence برای قرار دادن كاراكتر \ در رشته به كار بریم. این Escape Sequence در اینجا به صورت \\ خواهد بود. بك اسلش اول به كامپایلر می گوید كه یك Escape Sequence شروع شده و بك اسلش دوم می گوید كه به جای این Escape Sequence از كاراكتر \ استفاده كن.

در اینجا ممكن است یك چیز مبهم باشد و آن اینكه اگر كامپایلر هر دو كاراكترScape Sequence را یكی در نظر می گیرد و آن را با یك كاراكتر دیگر جایگزین می كند،‌چرا ما از اول خودمان این جایگزینی را انجام ندهیم؟! باید گفت كه این جایگزینی، درست مثل جایگزینی كه توسط راهنماهای پیش پردازنده انجام می گیرد، مربوط به كد كامپایل شده است و در كد منبع به زبان C انجام نمی شود. یعنی كامپایلر نیاز دارد اول به طریقی بفهمد كه باید جایگزینی را انجام دهد و بعد اینكار را در كد كامپایل شده انجام دهد. آن طریق، همان Escape Sequence است.

اما لازم است به یك مسئله توجه خاص كنید و آن اینكه نمی توانید با قرار دادن هر كاراكتر دلخواهی بعد از یك بك اسلش، آن تركیب را تبدیل به یك Escape Character كنید. در واقع اگر به Escape Character های تعریف شده C سعی كنید Escape Character دیگری بسازید و به كار ببرید، بسته به كامپایلرتان ممكن است یك پیغام خطا یا هشدار دریافت كنید و حتی اگر برنامه با یك پیفام هشدار كامپایل شود، رفتار آن در حین اجرا آن چیزی نخواهد بود كه انتظار دارید! البته برای نوشتن هر كاراكتر دلخواه به صورت Escape Character روش ساده ای وجود دارد كه بعدا كه درباره جدول ASCII و كاراكترها صحبت كنیم، به آن هم خواهیم پرداخت.

در خط بعدی و پیش از پایان بدنه تابع هم عبارت زیر را می بینید:

return 0;

این روش بازگرداندن مقدار توسط توابع در زبان C است. در واقع تابع مقداری را كه پس از كلیدواژه (Keyword) بازگشت، یعنی return، قرار داشته باشد، به محیط فراخواننده خود باز می گرداند. این مقدار باید از جنس مقدار بازگشتی باشد كه در اعلان تابع قید كرده ایم. در اینجا چون در الگوی تابع main مقدار بازگشتی آن int قید شده، مقدار قرارگرفته بعد از return هم باید از نوع صحیح باشد.

هر عبارتی كه پس از return (و پیش از آكولاد بسته پایان بدنه تابع) قرار گیرد، توسط كامپایلر نادیده گرفته می شود. بنابراین در یك تابع، نوشتن عبارات و دستورات پس از return و پیش از خروج از بدنه تابع بی فایده و بی اثر است.

سپس آكولاد بسته را می بینید كه همیشه علامت پایان یك بلوك از دستورات است و البته در اینجا به معنی پایان بدنه تابع نیز هست.

نویسنده: شهرام روحانی

پست الکترونیکی: sh_roohani@yahoo.com

تاریخ: ۲۶/۰۴/۸۴

This article was originally published on:
Site: | IOSSD
URL: | http://iossd.org/html/modules/articles/article.php?id=17


Article title: | اضافه کردن یک هارد دیسک جدید به لینوکس
First posted: | Wed 20 Jul 2005
Description: | براین فرض هستیم که شما از لحاظ سخت افزاری مشکلی در نصب ندارید
Article text:

اضافه کردن یک هارد دیسک جدید به لینوکس

براین فرض هستیم که شما از لحاظ سخت افزاری مشکلی در نصب ندارید

" تصاویر با نرم افزار VMWare تهیه شده"

بعد از Login شدن(با root چون بعضی از دستورات فقط با rootقابل دسترسی است) برای اینکه مطمئن شویم که لینوکس هارد دیسک مارا شناخته از دستور fdisk -l استفاده میکنیم.

(تصویر ۱)

خطی که با سیاه نمایش داده شده به ما می گوید که به هاردی برخورد کرده که نمی تواند پارتیشن های آنرا بشناسد. در محیط x windows میتوانید درSystemtools->Hardware Browser بصورت گرافیکی آنرا ببینید.(تصویر ۲).

برای پارتیشن بندی ازدستور fdisk بصورت زیر استفاده میکنیم.

fdisk DeviceName که در این سیستم به این صورت می نویسیم /fdisk /dev/hdd

نکته: در لینوکس/یونیکس بر خلاف سیستم عامل های مایکروسافت که پارتیشن ها بر بصورت C,D,… نام گذاری می شدند دیسک بعد از پارتیشن بندی هرکدام از پارتیشن ها برای استفاده به یک دایرکتوری اتصال داده شوند.مزیت این حالت این است که مثلا اگردایرکتوریhome/ به پارتیشن دیگری اتصال داده شده باشد و توسط فایل های کاربران پر شود هیچ خللی در کار سیستم وارد نمی شود. اما اگر در کنار دیگر دایرکتوریها باشد با پر شدن آن سیستم دچار اختلال می شود.

با تایپ m منوی fdisk را خواهیم دید(تصویر ۳)

برای اضافه کردن یک پارتیشن جدید n را می زنیم چون پا رتیشن دیگری روی دیسک وجود ندارد از شما سوال میشود که نوع پارتیشن Perimary باشد یا Extended(و اگر قبلاً پارتیشن Extended داشته باشید نوع منطقی یا Logical جای آنرا خواهد گرفت). تصویر زیرکمک شایانی برای درک شما ازنوع پارتیشن ها در دونوع سیستم عامل میکند.(تصویر4)

بنا به نیازنوع پارتیشن مربوطه را انتخواب می کنیم. بعد از انتخواب نوع پارتیشن سیلندر اولیه آن سوال میشود (بهتر است فضای خالی بین سیلندرها ایجاد نشود , کلید Enter را برای این کار بزنید) بعد از آن مقدار فضای پارتیشن سوال میشود که می توانیم به مگابایت(+sizeM) و کیلوبایت(+sizeK) آنرا وارد کنیم.

توجه علامت بعلاوه باید قبل از مقدار گذاشته شود.(تصویر۵)

بعد از ساختن پارتیشن ها می توانیم با دستور p نگاهی به آنها بیندازیم.

نوع پارتیشن های مختلفی در لینوکس وجود دارد که می توان پارتیشن خود را به آن نوع تغیر داد بنا بر احتیاج، مثلاً: برای اشتراک فایل یا ایجاد یک پارتیشن SWAP برای دیدن لیست نوع پارتیشن ها از ۱ استفاده کنید. (تصویر۶)

کد هرنوع درسمت چپ آن نوشته شده، برای تغیر دادن نوع پارتیشن از کلید t استفاده می کنیم و بعد از آن شماره پارتیشن را وارد می کنیم. بعد از کدی که می خواهیم پارتیشن انتخاب شده به آن تغیر داده شود سئوال میشود. (تصویر ۷).

بعد از اینکه تغییرات را در پارتیشن های دیسک مربوطه اعمال کردیم با زدن w تغیرات را ذخیره و از fdisk خارج می شویم. (اگر از محیط xWindows استفاده می کنید می توانید از system tools-> hardware browser را انتخاب کرده ودر منوی سمت چپ Hard Drive را انتخاب کنید).

پارتیشن های ساخته شده را باید قبل از استفاده قالب بندی کنیم. این کار توسط دستور mkfs انجام می گیرد. در این دستوربا سویچ t- می توانید فرمت پارتیشن را مشخص کنید (تصویر۸).

مرحله بعد از قالب بندی دیسک(فرمت دیسک) است که ما پارتیشن ایجاد شده را به یک دایرکتوری اتصال دهیم تا از طریق آن نقطه اتصال(mount point ) به پارتیشن دسترسی داشته باشیم. مزیت این مورد را در نکته ای که اول همین مقاله آورده ام توضیح داده ام. ابتدا ببینیم که چه نقطه اتصالاتی وجود (mount point) دارد. برای اینکار کافی است که فقط دستور mount را اجرا کنیم. لیستی از فایل سیستم های اتصال داده شده را نمایش می دهد.(تصویر۹).

در اینجا proce, devpts, tmpfs هم بعنوان فایل سیستم نمایش داده شده اند که درحقیقت نوع خاصی از فایل سیستم هستند که به هیچ پارتیشنی در سیستم مربوط نمی شوند. برای اینکه ببینیم در سیستم چه نوع فایل سیستم هایی مورد استفاده است از دستور cat /proc/filesystems استفاده می کنیم. (تصویر۱۰)

خوب حالا نوبت آن شده که پارتیشن خود را به یک دایرکتوری اتصال دهیم. برای اینکار ما از دستور mount بصورت استفاده می کنیم. برای مثال اگه ما دو سیستم عامل داشته باشیم (Windows & Linux) و یکی پارتیشن های جدیدی که ساخته ایم به فرمت vfat آنرا قالب بندی کرده ایم. یک دایرکتوری درون پوشه به نام win می سازیم آنگاه توسط دستور زیر می توانیم نقطه اتصالی برای این دایرکتوری و فایل سیستم بسازیم."mount /dev/hdd1 /home//win" توجه داشته باشید که نام کاربر خودتان می باشد.

خوب این اتصال تا وقتی برقرار است که شما بادستور آنرا جدا نکرده باشید یا سیستم خاموش نشده باشد. ( نام ابزار یا نام دایرکتوری می تواند باشد).

برای اینکه بعد از خاموش شدن سیستم این اتصال برقرار باشد باید آنرا در فایل etc/fstab/ باید ثبت کنیم. اطلاعات درون fstab را میتوانیم توسط دستورcat /etc/fstab مشاهده کنیم.

این اطلاعات شش بخش دارد:

بخش اول: نام ابزار مربوط به سیستم فایل است. برای سیستم فایل های مجازی مانند proc در این قسمت none وارد شده است. همچنین در این قسمت می توانید از UID(شناسه یکتا عمومی) بجای نام ابزار استفاده کرد. در مثال بالا / و boot/ بدین طریق تعریف شده اند. مزیت این کار این است که اگر یکی از پارتیشن ها به یکی از ابزارهای دیگر با آدرس متفاوت منتقل کنیم نیازی به ویرایش فایل fstab نیست. (در لینوکس دیسک های سخت IDE با hd و دیسک های scsi با sd شناخته میشوند برای IDE اول و پارتیشن اول آن hda1 می نویسیم. دراین مثال پارتیشن اول دیسک دوم را می خواهیم mount کنیم نام آن hdb1 می شود).

فیلد دوم : نقطه اتصال پارتیشن در این قسمت معرفی می شود که اطلاعات پارتیشن در آن دایرکتوری قابل دسترسی است.

فیلد سوم: در این قسمت نوع سیستم فایل را مشخص می کنیم که در توضیع لینوکس شما از آن پشتیبانی میشود.

فیلد چهارم: در این قسمت مشخص می کنیم که آیا هنگام بوت اتوماتیک(auto) سیستم فایل متصل شود. برای CD-ROM و Floppy Disk این کار لازم نیست چون معمولا درو انها دیسکی وجود ندارد. برای جلوگیری از اتصال خودکار از کلمه noauto استفاده می کنیم. و همچنین مجوز های دسترسی برای را در این قسمت می گذاریم برای اینکه کاربران از این پارتیشن استفاده کنندکلمه users را به این فیلد اضافه می کنید. از کارهایی که در این قسمت می توانیم انجام دهیم این است که نحوه کار با دیسک را مشخص کنیم ro برای فقط خواندنی وrw برای خواندنی نوشتنی. این گزینه ها با کاما از هم جدامی شوند.

فیلد پنجم: عدد نوشته شده در این قسمت مشخص میکند که آیا فایل سیستم احتیاج به Dump دارد یا خیر.۱ یعنی بله و۲ یعنی نه. (dump به معنای نوشته شدن محتویات در هنگام بروز خطا درون یک فایل جداگانه)

فیلد ششم: نشانگر این است که آیا سیستم فایل اجازه دارد بوسیله برنامه تصحیح گر فایل سیستم بررسی شود یا نه.۱ بله و ۲ یعنی نه. (تصویر۱۱)

نویسنده: محمد ملک پور

پست الکترونیکی: m.malekpoor@gmail.com

تاریخ: ۲۸/۰۴/۸۴

نسخه: ۰۰.۱

This article was originally published on:
Site: | IOSSD
URL: | http://iossd.org/html/modules/articles/article.php?id=18


Article title: | آموزش نصب لینوکس (فدورا)
First posted: | Mon 25 Jul 2005
Description: | آموزش نصب فدورا
Article text:
این مقاله توسط گروه فارسی لینوکس نوشته شده و در این سایت قرار گرفته است.
دریافت نسخه doc این مقاله
This article was originally published on:
Site: | IOSSD
URL: | http://iossd.org/html/modules/articles/article.php?id=19


Article title: | فارسی نویسی در محیط KDE
First posted: | Tue 26 Jul 2005
Description: | فارسی نویسی در محیط KDE
Article text:
این مقاله توسط گروه فارسی لنیوکس نوشته شده و در این سایت قرار گرفته است.
دریافت فایل doc این مقاله
This article was originally published on:
Site: | IOSSD
URL: | http://iossd.org/html/modules/articles/article.php?id=20


Article title: | فارسی نویسی در محیط Gnome
First posted: | Tue 26 Jul 2005
Description: | فارسی نویسی در محیط Gnome
Article text:
این مقاله توسط گروه فارسی لینوکس نوشته شده و در این سایت قرار گرفته است.
دریافت فایل Doc این مقاله
This article was originally published on:
Site: | IOSSD
URL: | http://iossd.org/html/modules/articles/article.php?id=21


Article title: | محل جاري مكان نما در C(درس ۳)
First posted: | Sun 07 Aug 2005
Description: | در فصل قبل با استفاده از تابع printf يك متن يك خطي را روي صفحه نمايش داديم
Article text:

محل جاري مكان نما

مكان نما و printf

در فصل قبل با استفاده از تابع printf يك متن يك خطي را روي صفحه نمايش داديم و همچنين درباره Escape character ها صحبت كرديم. در اينجا و براي ادامه بحث، ذكر يك نكته ضروري است:

عمليات ورودي/خروجي متني هميشه در محل جاري مكان نما انجام مي گيرد.

محل جاري مكان نما به صورت زوج مرتبي تعريف مي شود كه مؤلفه اول آن شماره ستون و مولفه دوم آن شماره سطري است كه مكان نما در حال حاضر در آنجا قرار گرفته است. در واقع مختصات جاري مكان نما در دستگاه مختصات صفحه نمايش را محل جاري مكان نما مي گوييم.

طرح اين نكته به هيچ وجه به معني معرفي توابعي براي تنظيم مستقيم محل قرارگيري مكان نما بر روي صفحه نمايش نيست. چرا كه اين كار، يعني بردن مكان نما به مختصاتي خاص از صفحه نمايش كاملا وابسته به سخت افزار و سيستم عاملي است كه شما با آن كار مي كنيد و به همين علت هم براي اين منظور تابع يا توابعي در كتابخانه استاندارد C در نظر گرفته نشده است.

براي توضيح اين مسئله به مثال زير توجه كنيد:

/* Printing on one line with two printf statements */

#include <stdio.h>

int main()

{

printf(“Welcome “);

printf(“to C!\n”);

return 0;

}

خروجي اين برنامه به شكل زير خواهد بود:

Welcome to C!

و مكان نما در ابتداي خط بعد قرار خواهد گرفت. حالا ببينيم دقيقا چه اتفاقي مي افتد. ابتدا اولين تابع printf، كلمه Welcome را به اضافه يك فاصله خالي كه بعد از آن قرار داده شده، روي صفحه نمايش مي دهد و مكان نما به ستون نهم سطر جاري منتقل مي شود. منظور از سطر جاري، سطري از صفحه نمايش است كه مكان نما بر روي آن قرار دارد. علت اينكه مكان نما در ستون نهم قرار مي گيرد اين است كه طول كلمه Welcome هفت كاراكتر است كه به علاوه يك كاراكتر خالي، مجموعا هشت ستون را اشغال مي كند. بنابراين هرگونه عمليات ورودي/خروجي متني از اين به بعد در سطر جاري و ستون نهم انجام خواهد گرفت. سپس تابع printf دومي عبارت !to C را در ادامه چاپ مي كند و در آخر هم كاراكتر n\ را مي بينيد. همانطور كه از درس قبل به خاطر داريد، n\ يك Escape character است كه به معني رفتن به خط جديد است. وقتي تابع printf سعي مي كند اين كاراكتر را به خروجي استاندارد بفرستد، مكان نما به ابتداي خط بعدي منتقل مي شود.

خوب، ما مي توانستيم همچون مثال قبلي، در اين مثال هم همه عمليات چاپ متن را فقط با يكبار فراخواني تابع printf به ترتيب زير انجام دهيم:

printf(“Welcome to C!\n”);

اما هدف از تقسيم متن بين دو تابع printf جداگانه، طرح مسئله «محل جاري مكان نما» بود.

بقيه قسمتهاي برنامه هم همانطور كه ملاحظه مي كنيد، نياز به توضيح خاصي ندارد و مانند مثال مطرح شده در فصل دوم است.

و اما حالا مي خواهيم كاري انجام دهيم بر عكس آنچه كه در مثال قبلي انجام داديم. يعني در مثال قبلي يك خروجي يك خطي را با استفاده از دو تابع printf نمايش داديم (كه البته مي توانستيم به دلخواه اينكار را با استفاده از تعداد بيشتري تابع printf هم انجام دهيم)، و در مثالي كه در پي خواهد آمد، مي خواهيم يك خروجي چند خطي را با استفاده از تنها يك تابع printf نمايش دهيم.

برنامه زير را در نظر بگيريد:

/* Printing multiple lines with a single printf */

#include <stdio.h>

int main()

{

printf(“Welcome\nto\nC!\n”);

return 0;

}

خروجي اين برنامه به شكل زير خواهد بود:

Welcome

to

C!

و مكان نما به ابتداي خط بعد از عبارت !C خواهد رفت. همانطور كه مي بينيد ما بعد از كلمه Welcome يك n\ داريم كه با رنگ زرد مشخص شده است. بعد از كلمه to هم يك n\ داريم كه باز هم با رنگ زرد مشخص شده است. n\ اولي باعث مي شود بعد از چاپ كلمه Welcome، مكان نما به آغاز خط بعد برود. در خط بعد هم ابتدا كلمه to چاپ مي شود و سپس n\ دومي باعث مي شود كه مكان نما باز هم به آغاز خط بعد برود. سپس در خط بعد C! چاپ مي شود و n\ آخر (كه ايندفعه ديگر با رنگ زرد مشخص نشده) باعث مي شود مكان نما به ابتداي خط بعدي برود و عمليات چاپ متن بر روي صفحه نمايش پايان يابد. اگر بعد از اين عمليات ورودي/خروجي متني انجام گيرد، محل آن ابتداي همين خط جديد خواهد بود.

پس تابع printf به هيچ وجه پس از انجام يك عمليات چاپ به يك خط جديد نمي رود مگر در دو حالت:

  1. آخرين كاراكتر متني كه بايد چاپ شود، در آخرين ستون سطر جاري قرار گيرد كه در اينصورت مكان نما به ناچار بايد به ابتداي خط بعد برود.

  2. با كاراكتر خط جديد يا همان n\ به صراحت برايش مشحص شده باشد كه باد عمليات چاپ از اينجا به بعد به ابتداي خط بعد منتقل گردد.

يك نكته

تمام شناسه هاي زبان C، اعم از نام متغير ها، نام ثوابت و نام توابع، نسبت به حالت حروف حساس هستند. يعني حروف كوچك و حروف بزرگ در زبان C متفاوت انگاشته مي شوند. بنابراين printf با Printf يا printF يكي نيست و my_variable با My_variable و my_Variable تفاوت دارد. اين نكته ايست كه حتما بايد به خاطر بسپاريد. چراكه منبع بسياري از خطاهاي نحوي (Syntax error) در زبان C توجه نكردن به همين مسئله است.

نویسنده: شهرام روحانی

پست الکترونیکی: sh_roohani@yahoo.com

تاریخ: ۱۴/۰۵/۸۴

This article was originally published on:
Site: | IOSSD
URL: | http://iossd.org/html/modules/articles/article.php?id=22