وبلاگ محسن

وبلاگ محسن



۵ مطلب با کلمه‌ی کلیدی «ایمکس» ثبت شده است

ایمکس؛یک کلاینت ایمیل

| دوشنبه, ۲۰ خرداد ۱۳۹۲، ۱۱:۴۹ ق.ظ

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

 

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

 

لیسپ یک زبان برنامه‌نویسی رایانه است که در سال ۱۹۵۸ به وسیلهٔ جان مک‌کارتی ابداع شده‌است. این زبان، مانند زبان برنامه‌نویسی پرولوگ، بیشتر برای برنامه‌نویسی هوش مصنوعی مورد استفاده قرار می‌گیرد. با توجه به اینکه زبان لیسپ از نحو ساده‌ای برخوردار است، تجزیه و پیاده‌سازی آن نسبتاً با سهولت انجام می‌شود.

زبان برنامه‏‎نویسی لیسپ توسط جان مک کارتی در سال ۱۹۵۸ در حالی که در مؤسسهٔ فناوری ماساچوست (MIT) بود ابداع شد. مک کارتی طرح خودش را در یک مقالهٔ مرتبط با انجمن ماشین آلات کامپیوتری در سال ۱۹۶۰ منتشر کرد. طرح وی در ابتدا به صورت «بخش اول:توابع بازگشتی از دید عبارت‌های نمادین و محاسبهٔ آنها توسط ماشین» ارائه شد و بخش دوم آن هیچگاه منتشر نشد. وی نشان داد که با یک تعداد ساده و کمی از عملگرها و علمتگذاری توابع می‌توان یک زبان تورینگ کامل برای الگوریتم‌ها ایجاد کرد. زبان پردازش اطلاعات اولین زبان هوش مصنوعی بود. از سال ۱۹۵۵ یا ۱۹۵۶ و پیش از آن ایده‌های بسیاری بر زبان لیسپ وارد شد از جمله پردازش لیست و توابع بازگشتی که در زبان لیسپ به کار برده شد. ثبت‌های اصلی مک کارتی به صورت عبارت‌های غیر نمادین که خواستار تفسیر کردن و برگرداندن به عبارت‌های نمادین بود. به عنوان مثال عبارت غیر نمادین car[consA,Bمعادل عبارت نمادین (car (cons A B)بود که در زبان لیسپ به کار گرفته شده بود. برنامه نویسان به سرعت عبارت نمادین را انتخاب و عبارت‌های غیر نمادین را ترک کردند. لیسپ برای اولین بار توسط استفان راسل روی یک کامپیوتر IBM 704 اجرا شد. راسل مقالهٔ مک کارتی را مطالعه کرد و دریافت که توابع لیسپ می‌توانند در کد ماشین اجرا شوند. این نتیجه از مطالعه و دریافت راسل نشان می‌دهد که مفسر لیسپ می‌توانست برای اجرای برنامه‌های لیسپ و ارزیابی صحیح عبارت لیسپ استفاده شود. دو زبان اسمبلی به عنوان دو عملیات اصلی و ابتدائی تجزیه و جدا کردن عناصر اصلی لیست برای IBM 704 شد. این دو زبان اسمبلی car (مضمون آدرس ثبات) و cdr (محتوای کاهش میزان ثبات‌ها) نسخهٔ لیسپ هنوز ازcar وcdr برای عملیاتی که اولین عنصر در یک لیست و باقی‌ماندهٔ لیست را برمی‌گرداند، استفاده می‌کند. اولین کامپایلر تکمیل شدهٔ لیسپ، در سال ۱۹۶۲توسط تام هارت و مایک لوین در MIT اجرا شد، این کامپالر معرفی شده مدل لیسپ با کامپایلر نحوی در هر کامپایل و ترجمهٔ توابع می‌تواند به طور رایگان در هم بیامیزد. زبان به کار گرفته شده در ثبت هارت و لوین نسبت به کدهای ابتدائی مک کارتی به شیوهٔ لیسپ مدرن و جدید نزدیک تر می‌باشد.

 

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

 

این راز انعطاف پذیریه خارق العاده ایمکسه.

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

و خلاصه با ای لیسپ چه کار ها که نمی‌شه انجام داد.

و حالا میدونید زیبایی ایمکس کجاست؟

میخواین زبان elisp‌ رو یاد بگیرید؟ بسیار خوب؛هیج جا بهتر از خود ایمکس برای یادگیری نیست.

این دستورو وارد کنید:

C-h i d m emacs lisp intro RET

(دکمه Ctrl رو نگه دارید و کلید h رو فشار بدید، بعد اونا رو رها کنید و اول کلی i و بعد کلید d و بعد کلید m رو فشار بدید و سپس عبارت emacs lisp intro رو تایپ کنید و بعد دکمه اینترو مرقوم بفرمایید)

 

خب، مقدمه بسه.بریم سر اصل مطلب.

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

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

 

فایل gnus.el./~ رو باز کنید و این خطوط رو داخلش کپی کنید:

(setq gnus-select-method '(nnimap "gmail"
				  (nnimap-address "imap.gmail.com")
				  (nnimap-server-port 993)
				  (nnimap-stream ssl)))

 

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

(setq message-send-mail-function 'smtpmail-send-it
      smtpmail-starttls-credentials '(("smtp.gmail.com" 587 nil nil))
      smtpmail-auth-credentials '(("smtp.gmail.com" 587 "username@gmail.com" nil))
      smtpmail-default-smtp-server "smtp.gmail.com"
      smtpmail-smtp-server "smtp.gmail.com"
      smtpmail-smtp-service 587)

به جای عبارت username@gmail.com، آدرس جیمل خودتون رو قرار بدید.

و برای اینکه ایمیل هایی که از طریق ‌gnus ارسال میکنید، در سرور گوگل ذخیره بشه این کد ها رو هم وارد کنید:

(setq gnus-posting-styles
      '((".*"
	 ("CC" "username@gmail.com")
         (address "username@gmail.com"))))

و حالا فایل gnus.el. رو ذخیره کنید و ببندید.

 

 

اکنون فایل authinfo./~ رو باز کنید و و کد های زیر رو درونش وارد کنید :

 

machine imap.gmail.com login username@gmail.com password secret port 993
machine smtp.gmail.com login username@gmail.com password secret port 587

به جای password secret هم کلمه عبور حسابتون رو وارد کنید.

با ذخیره و بستن این فایل کار کانفیگ gnus تموم میشه و می تونید با باز کردن ایمکس و تایپ دستور M-x gnus از زندگی گیکی خودتون لذت ببرید.

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

http://www.emacswiki.org/emacs/GnusGmail#toc23

 

 

 

 

 

 

اینم لینکی که قولشو داده بودم : http://www.emacswiki.org/emacs/CategoryGnus

پوسته ایی نو برای ایمکس

| جمعه, ۱۷ خرداد ۱۳۹۲، ۱۰:۲۷ ب.ظ

چیزی که امروز تو ایمکس پیدا کردم و باعث خوشحالیم شد این بود که دیدم میشه پوستشو تغییر داد. با رفتن به منوی options و بعد customize emacs و بعد custom theme.

با انتخاب هر کدوم از تم های موجود ظاهر ایمکس به اون تم تغییر میکنه و با فشردن دکمه save theme setting پوسته ی محبوبتون رو به حالت پیش فرض میاره.




اسم پوسته ایی که من انتخاب کردم tango-dark ئه.

شاد باشین و ایمکسی

همه در یکی!

| جمعه, ۳ خرداد ۱۳۹۲، ۱۲:۰۷ ب.ظ

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

خب تنها کاری که لازمه راه انداختن ایمکسه.

و بعد فشردن کلید های ترکیبی C-x 2.

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

و بعد با استفاده از دستور M-x shell یکی از اون قسمتا رو به ترمینال تبدیل کنید. و برای رفت و آمد بین این دو بخش از C-x o.




و اگر خواستید پنجره به صورت عمودی تقسیم بشه C-x 3 رو وارد کنید.

ایمکس؛ یک کلاینت آی آر سی

| چهارشنبه, ۱ خرداد ۱۳۹۲، ۰۸:۰۸ ق.ظ

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

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

تنها کاری که لازمه انجام بدید باز کردن ایمکس و تایپ دستور M-x erc  و بعد فشردن اینتره.

(منظور از M-x نگه داشتن دکمه alt و فشردن x ئه)

و بعد در بافر باز شده به کانال مورد نظرتون join کنید.




باور کنید هیچ چیز به اندازه ایمکس ،‌این نرم افزار عظیم ،‌نمی تونه روحیه گیکی ما رو ارضا کنه.

زندگی ایمکسی

| يكشنبه, ۲۵ فروردين ۱۳۹۲، ۱۰:۰۸ ب.ظ

امکان نداره یه هکر واقعی باشید و ۹۰ درصد از روزتون رو تو ایمکس  نگذرونین.شوخی کردم.خیلی از هکرا از بزرگترین رقیب ایمکس ، یعنی vim استفاده می کنن.


به عنوان یه تاریخچه باید بگم که توسعه ایمکس،سال ۱۹۷۶ توسط استالمن کبیر شروع شد و تا همین امروز ادامه داره.یعنی چیزی در حدود سی و هفت سال.پس باید تصور کنید به چه غول بزرگی تبدیل شده.


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


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


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

ببینید و لذت ببرید

http://www.slideshare.net/yukihiro_matz/how-emacs-changed-my-life
  • ۰ نظر
  • ۲۵ فروردين ۹۲ ، ۲۲:۰۸