اسفند ۳ ۱۳۹۶

جایگزینی کارمزد تراکنش چیست؟

هنگامی که شخصی پولی را در بیت‌کوین ویا اتریوم به شخص دیگری انتقال می‌دهد، یک تراکنش ساخته می‌شود. این تراکنش زمانی کامل شده و می‌توان از انتقال وجه اطمینان داشت که در زنجیره بلوکی اصلی ثبت شده و حداقل ۶ بلوک از ثبت آن در زنجیره گذشته باشد. ساخت بلوک‌ها وظیفه ماینرهاست. ماینر یابنده هر بلوک به میزان مشخصی جایزه (مثلا در شبکه فعلی بیت‌کوین این میزان ۱۲.۵ BTC است) دریافت می‌کند. علاوه بر جایزه کارمزد تراکنش‌های ثبت شده در آن بلوک نیز به ماینر می‌رسد.

برای مثال فرض کنید که ۱۰۰۰ تراکنش در شبکه بیت‌کوین ارسال شده‌است، ۱۰۰ تراکنش با کارمزد۰٫۱ BTC و بقیه با کارمزد ۰٫۰۱ BTC. ماینر برای به حداکثر رساندن سود خود، سعی در قرار دادن تراکنش‌هایی با کارمزد بالاتر می‌نماید. به همین دلیل ممکن است تراکنشی ارسال شده و بعد از گذشت مدت زیادی نیز به زنجیره بلوکی اضافه نگردد.

Type caption for image (optional)

هرچه میزان کارمزدی که در تراکنش برای ماینر در نظر گرفته شده بیشتر باشد، احتمال در زنجیره بلوکی قرار گرفتن تراکنش نیز بالاتر بوده و زودتر در زنجیره قرار خواهد گرفت. برای مثال (در زمان نگارش این مقاله) برای تایید تراکنش در ۱۰ دقیقه نیاز به کارمزد ۱۶٫۳ دلاری است. جهت مشاهده کارمزد پیشنهادی می‌توانید به سایت bitcoinfees سر بزنید.

اما اگر تراکنشی با کارمزد پایین در شبکه ارسال کردیم که بعد از گذشت مدتی در زنجیره قرار نگرفت، چه باید کرد؟ این موضوع در فروم bitcointalk مطرح شد و شخصی جایزه‌ای ۵۰۰ دلاری برای کسی که راه حل این موضوع را پیاده‌سازی کند در نظر گرفت. راه حل این موضوع replace-by-fee یا جایگزینی کارمزد تراکنش نام دارد. در صورتی که تراکنش ارسال شده در زنجیره بلوکی ثبت نشده باشد (zero confirmation)، فرستنده می‌تواند کارمزد تراکنش را اصلاح کرده تا ماینرها به قرار دادن این تراکنش در زنجیره بلوکی ترغیب گردند.


اسفند ۲ ۱۳۹۶

آموزش رایتر: قسمت چهارم، تنظیمات اولیه

نوشته شده توسط فرشید نوتاش حقیقت.

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

۱- وارد منوی Tools شده و گزینه Options را انتخاب کنید.

۲- در پنجره نمایش داده شده گزینه Language Setting را باز نموده و زیرمنوی Language را انتخاب و در سمت راست پنجره تنظیمات زبان فارسی را به شکل زیر انجام دهید:

گزینه Local setting را به Persian تنظیم کنید.

گزینه Complex text layout (CTL) را نیز به Persian تنظیم کنید. سپس دکمه Ok را فشرده و جهت اعمال تنظیمات یک بار برنامه را بسته و دوباره اجرا کنید.

۳- مجدداً به منوی Tools رفته و گزینه Options را انتخاب کنید.

۴- در لیست نمایش داده شده بر گزینه Language setting کلیک کرده و زیرمنوی Complex text layout را انتخاب و در سمت راست پنجره Numerals را روی Context تنظیم می‌کنید.

۵- در لیست قبلی گزینه LibreOffice Writer کلیک کرده و تنظیمات زیر را انجام دهید:

زیرمنوی General را انتخاب و واحد اندازه‌گیری Measurement unit را بر روی Centimeter تنظیم کنید.

زیرمنوی Basic Fonts (CTL) را انتخاب و فونت‌های پیش‌فرض فارسی خود را تنظیم کنید.

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

خط‌کش‌ها

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

خط‌کش‌ها به‌طور پیش‌فرض فعال هستند. برای نمایش یا پنهان کردن خط‌کش View > Ruler را انتخاب کنید.

برای غیرفعال کردن خط‌کش‌ها و عدم انتخاب یک یا هر دو خط‌کش‌ها گزینه LibreOffice Writer > Options > Tools > View را انتخاب کنید. خط‌کش افقی دارای یک دکمه در سمت راست خود است که حاوی گزینه‌های برای توقف پرش و فرورفتگی پاراگراف است.

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

نوشته آموزش رایتر: قسمت چهارم، تنظیمات اولیه اولین بار در لینوکس سیزن پدیدار شد.


بهمن ۲۸ ۱۳۹۶

آموزش آرایه های دو و چند بعدی در زبان C و C++

به نام اهورامزدای پاک حمایت میکنم 🙂 دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی […]

نوشته آموزش آرایه های دو و چند بعدی در زبان C و C++ اولین بار در گشتاسب مظفریان – GMozafarian. پدیدار شد.


بهمن ۲۷ ۱۳۹۶

جلسهٔ دویست و چهل و یک

تاریخ برگزاری جلسه: ۱۳۹۶/۱۲/۱۶
موضوع: جلسهٔ گروه کاربران گنو/لینوکس تهران
جلسهٔ ۲۴۱ گروه کاربران گنو/لینوکس تهران در روز چهارشنبه، ۱۶ اسفندماه از ساعت ۱۷ الی ۱۹ در محل شتاب‌دهنده دیموند به نشانی « تهران، خیابان کارگر شمالی، پردیس دانشکده‌های فنی دانشگاه تهران، پارکینگ کتابخانه قلمچی » برگزار خواهد شد. شرکت در این رویداد همانند جلسات گذشته برای کلیه علاقه‌مندان، آزاد و رایگان می‌باشد.برگزار خواهد شد.
فرم ارسال ارائه برای جلسات آینده

بهمن ۲۷ ۱۳۹۶

آشنایی با کد Hello World در ۲۶ زبان برنامه نویسی مختلف

اگر به شکلی آکادمیک برنامه نویسی را آموخته باشید، به احتمال زیاد در اولین جلسه آموزش کدنویسی این جملات را شنیده اید: کامپیوترها به خودی […]

نوشته آشنایی با کد Hello World در ۲۶ زبان برنامه نویسی مختلف اولین بار در اوپن مایند. پدیدار شد.


بهمن ۲۶ ۱۳۹۶

آموزش آرایه ها در زبان C و C++

به نام اهورامزدای پاک حمایت میکنم 🙂 دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی […]

نوشته آموزش آرایه ها در زبان C و C++ اولین بار در گشتاسب مظفریان – GMozafarian. پدیدار شد.


بهمن ۲۶ ۱۳۹۶

آموزش توابع بازگشتی در زبان C و C++

به نام اهورامزدای پاک حمایت میکنم 🙂 دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی […]

نوشته آموزش توابع بازگشتی در زبان C و C++ اولین بار در گشتاسب مظفریان – GMozafarian. پدیدار شد.


بهمن ۲۶ ۱۳۹۶

چرا باید زبان برنامه نویسی پایتون را یاد بگیریم؟

سال ۲۰۱۷ نقطه عطفی برای زبان برنامه نویسی پایتون بود. به گواه آمار و داده های وبسایت Stack Overflow ، پایتون در این سال در […]

نوشته چرا باید زبان برنامه نویسی پایتون را یاد بگیریم؟ اولین بار در اوپن مایند. پدیدار شد.


بهمن ۲۴ ۱۳۹۶

فرمول شهرت (چگونه در دو دقیقه مشهور شویم)

شاید برای ده سال پیش، نمیشد انقدر راحت «فرمول شهرت» رو بیان کرد یا نسخه ای برای شهرت و مشهور شدن افراد پیچید. اما اگر به جای ده سال، به پنج سال پیش استناد کنیم راههای فراوانی هستند که میتونن ما رو به طرفه‌العینی به شهرتی که همیشه آرزوش رو داشتیم برسونن …
مدتها پیش ویدئویی از یک ویدئو بلاگر ایرانی به اسم «علیرضا ۲۴» در وبلاگم قرار دادم که راه مشهور شدن از طریق فیسبوک رو توضیح داده بود. اما فیسبوک کجا، دو ابزار امروزی‌تر «اینستاگرام» و «تلگرام» کجا. فیسبوک سالهاست که بدون استفاده از پراکسی، وی‌پی‌ان و … دسترسی بهش ممکن نیست ولی اینستاگرام و تلگرام بدون این ابزارها هم در دسترسند، فیسبوک دیگه مثل سابق بین ایرانی ها پرطرفدار نیست و خب به جز عده خاصی، دیگه کم پیش میاد در فیسبوک فعالیت های اونطوری ببینیم. ولی متاسفانه، در اصل قضیه تفاوتی نشده، کل ماجرا اینه که تازه افرادی که همون کارها رو در اینستاگرام یا تلگرام میکنن دیگه آدم های مضحک یا چیپ به حساب نمیان، بلکه با عناوینی مثل «اینفلوئنسر» و «واینر» و … ، به خودشون هم اعتبار میدن!

در این پست وبلاگ، یکی از راههای شهرت در کوتاه مدت یعنی «ایجاد کانال تلگرامی» رو با هم بررسی می‌کنیم، و در نهایت به این می‌رسیم که چی شد که این شد؟ چرا اصلا این شد؟
تلگرام که دیگه برای همه آشناست! یک پیام‌رسان محبوب، که چندساله در ایران هم خیلی محبوب شده! الان کمتر کسی رو پیدا میکنید که روی گوشی موبایل، کامپیوتر شخصی یا تبلتش، این نرم افزار رو نداشته باشه و دست کم در یک کانال یا گروه عضو نباشه. دلیلش هم واضحه، دیگه سختی های گذشته مثل اتصال به پراکسی و … برای انتقال محتوا، وجود نداره.
کانال، یک رسانه یک طرفه و غیرتعاملی به حساب میاد که اگر اشتباه نکنم حدود دو ساله در تلگرام فعال شده. این امکان، به شما اجازه میده در گوشه‌ای از اینترنت، هرچه دلتون میخواد به اشتراک بذارید. مثلا، من کانالی دارم که در اون در مورد سخت افزار و الکترونیک دیجیتال می‌نویسم. کانالی دارم که در اون آهنگهای ساخته خودم رو قرار میدم و همچنین کانالی دارم که در اون، موسیقی مورد علاقه خودم رو به اشتراک میذارم ، و البته یک کانال هم دارم که به همین وبلاگ متصله و پست های وبلاگ اتوماتیک در اون قرار می‌گیرن.
بعضی از این کانالها، مشخصه که کاملا شخصی هستند. مثل کانالی که من برای وبلاگم ساختم. اما بعضی کانالها اونقدرها هم شخصی نیستند و بسیار فراتر از چیزی که باید و شاید رفتن. تبدیل شدند به یک رسانه جمعی. چیزی که قراره در این پست بررسی کنیم، همون کانالها هستند.

فرض کنیم یک روز صبح از خواب بیدار می‌شیم، میریم که اعلان (Notification) های تلگرام و توییتر و فیسبوک و … رو چک کنیم. در تلگرام پیامهای زیادی از دوست و آشنا و فامیل می‌بینیم که از کانالها فوروارد شدن. همه این پست ها هم یک سری ویژگی مشخص دارند :
عنوان کانال + یک متن (عموما جوک، یکی از وقایع اخیر ایران یا جهان، یک شایعه کاملا بی اساس با هرچیزی شبیه این) + یک لینک یا آیدی کانال.
و مثلا می‌بینیم که سه نفر برای ما یک جوک فرستادن، جوک یکسان اما کانالها متفاوت. با بررسی کانالها هم می‌بینیم که هرکدوم دست کم هزار عضو دارند. چه دلیلی باعث میشه که انقدر این کانالها رشد داشته باشند؟ و چرا مثلا یک کانالی که اطلاعات روزمره ولی علمی و درست (با استناد به منابع و مقالات معتبر) منتشر میکنه انقدر طرفدار نداره؟ شاید بشه دلیل عمده‌ش رو در رفتارهای بنیادین مردم پیدا کرد، اما ما اینجا میخوایم به این مقوله بپردازیم که «چطور با کانال تلگرامی میشه مشهور شد؟».

خب، تا الان صرفا داشتیم در مورد ذات کانال تلگرامی و جایگزین شدن تقریبی اون با هر رسانه یا شبکه اجتماعی دیگری بحث می‌کردیم، بیایم ببینیم که با چه فرمولی میتونیم از کانال تلگرامی خودمون شهرت کسب کنیم! (درست میخونید، شهرت! شهرتی که شاید روزی فکر میکردیم فقط در نظریات علمی یا سیاسی یا خلق آثار هنری یا نوشتن برنامه های خفن میتونیم بهش برسیم … ) .
فقط قبل از این که فرمول شهرت رو بخونید یک نکته رو متذکر بشم، من قرار نیست هیچ کدوم رو تایید کنم. با تک تک این بندها مخالفم ولی خب اگر قصد شهرت در تلگرام دارید، همین بندها برای شما میتونه مفید هم باشه!

  1. ایجاد کانال تلگرام با یک اسم و آیدی مسخره (اسم و آیدی مسخره خودش به خودی خود میتونه مخاطب رو به کانال شما بکشونه)، برای انتخاب اسم یا آیدی هم روشی هست به اسم «احمقانه ترین ایده ممکن». وارد جزییات نمیشم میتونید در پستهای قدیمی تر تشریح این موضوع رو ببینید
  2. انتخاب عکس مناسب کانال! در زمان فیسبوک مردم کمی خلاق تر (و شاید با حوصله تر) بودن، یک مربع در paint درست می‌کردن، و با بدترین فونت ممکن اسم پیج رو درونش مینوشتن. اما الان اکثر کانالها عکس یک کمدین معروف، یا یک ویدئویی که در اینترنت ترند شده رو بعنوان عکس کانال انتخاب میکنند.
  3. تولید محتوای مناسب!!! این هم از اون مواردیه که واقعا نمیشه بهش گفت «مناسب» ولی خب، از اونجایی که قراره با این ترفند به شهرت برسیم، محتوامون هم باید مناسب باشه. یکی از راهها، کپی کردن مطلبه. مثلا شخصی جوکی برای شما ارسال کرده، شما سریعا متن جوک رو کپی میکنید و در کانالتون میذارید (به همراه آیدی کانال) ، یا تشریف می‌برید توییتر و توییت های «فیو استار» (توییت هایی که بیش از یک حد خاصی فیو خوردن و دست به دست شدن، ژانر خاصی رو پدید آوردن و …) رو کپی میکنید در کانال خودتون! یا از همون جوکها و اصطلاحات قدیمی فیسبوک کپی برداری میکنید! بهرحال محتوای اورجینال ، زیر صفر 🙂
  4. و در آخر، برای این که در راه سخت شهرت موفق باشید، فقط میتونم بگم «تا میتونید اسپم کنید». یعنی چی؟ یعنی یک ایموجی 😕 در کانالتون قرار بدید بعد این رو به همه گروه ها فوروارد کنید! یا نه، کمی پیشرفته تر عمل کنید! یک شایعه بی‌اساس (مثل فولان ویروس که توسط یک گروه تروریستی در خرما و زیتون وارد ایران شده) یا یک خبر مرتبط با یک کشور دیگه (مثلا آفریقای جنوبی) رو در گروههایی که میدونید این چیزا رو دوست دارند (عموما هم گروه های خونوادگی 🙂 ) فوروارد کنید و منتظر رشد چشمگیر بازدید و عضوهای کانال خودتون باشید!

اگر اون چهاربند رو رعایت کنید می‌تونم با تقریب درستی بگم ظرف دو یا سه هفته میتونید به ۴-۵ هزار عضو برای کانال خودتون برسید، و اون موقع احتمال زیاد با توجه به تعداد اعضا، می‌تونید تبلیغ هم بگیرید و حتی کسب درآمد هم بکنید!

ولی بعنوان موضوع آخر، باید بگم که واقعا این نوع از شهرت، خوب نیست. دلیلش هم واضحه، درسته که شما شناخته شدید ولی آیا واقعا اونقدری که باید مفید هم واقع شدید؟ یا این که شهرت شما به بودن یا نبودن یک سرویس آنلاین مرتبطه؟ امیدوارم که بعد از خوندن این مطلب و این پارگراف به فکر فرو برید، هر محتوایی رو تولید و منتشر نکنید، هر محتوایی رو بازنشر ندید و از همه مهم تر، محتوای دیگران (مثل توییت) رو برای افزایش عضو یا بازدید، کپی نکنید …

موفق باشید 🙂

Share


بهمن ۲۳ ۱۳۹۶

آموزش تنظیم Hostname در خط فرمان

change-hostname

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

جهت نمایش hostname می توانید از دستورهای پایین استفاده کنید :

 

# hostname
# hostname -s
# hostname -f

  • سوئیچ s- نام کوتاه کامپیوتر را نمایش می دهید.(فقط hostname)
  • سوئیچ f- کامپیوتر FQDN در شبکه را نمایش می دهد.(فقط زمانی که کامپیوتر جزئی از یک domain یا realm باشد و FQDN ان تنظیم شده باشد.)

 

روش دیگر برای نمایش نام میزبان cat کردن فایل hostname می باشد :

 

# cat /etc/hostname

اکنون جهت تغییر hostname و با تنظیم آن می توانید از دستور پایین استفاده کنید :

 

 

# hostnamectl set-hostname your-new-hostname

نکته اینکه بجای your-new-hostname باید نام مورد نطر خود را بنویسید.اکنون جهت نمایش hostname می توانید از دستوراتی که در بالا گفته شد استفاده کنید یا اینکه از دستور پایین استفاده کنید :

 

 

#hostnamectl

روش دیگر برای تنظیم hostname ماشین، ویرایش فایل hostname می باشد :

 

 

# vi /etc/hostname

یکی دیگر از روش ها جهت نمایش و ویرایش hostname استفاده از sysctl می باشد.جهت نمایش hostname نیز می توانید از این دستور استفاده کنید :

 

 

# sysctl kernel.hostname

جهت تغییر hostname می توانید از این دستور استفاده کنید :

 

 

# sysctl kernel.hostname=new-hostname

 

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

 

 

# sysctl -w kernel.hostname=new-hostname

 

یکی دیگر از روشهای نمایش و پیکربندی hostname استفاده از دستور nmtui می باشد :

 

#nmtui

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

 

 

# nmtui-hostname your-new-hostname

اکنون جهت نمایش hostname می توانید از دستوراتی که گفته شد استفاده کنید.

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

 


بهمن ۲۱ ۱۳۹۶

آموزش نصب و پیکربندی RabbitMQ

rabbitmq-logo

rabbitmq یک نرم افزار message broker و  open source  می باشد که گاهی message-oriented middleware نیز خوانده می شود.rabbitmq در اصل برای Advanced Message Queuing Protocol یا به اختصار AMQP پیاده سازی شده است،هر چند معماری آن به گونه ای می باشد که با استفاده از پلاگین هایی قابلیت پشتیبانی از چندین پروتکل دیگر مانند MQTT و STOMP و سایر پروتکل ها را دارا می باشد.

نرم افزار rabbitmq با زبان Erlang نوشته شده است و قابلیت نصب بر روی اکثر سیستم عامل ها را دارا می باشد.در این مطلب قصد داریم تا rabbitmq نسخه ی ۳٫۷ را بر روی CentOS 7.4 x86-64 نصب کنیم.

 

نصب RabbitMQ :

یکی از پیش نیازهای rabbitmq نصب شدن erlang می باشد.نکته اینکه هر کدام از نسخه های rabbitmq نیاز به نسخه ی خاصی از erlang می باشد.برای درک اینکه چه نسخه ای از rabbitmq نیاز به کدام نسخه از erlang می باشد کافیست تا به لینک پایین مراجعه کنید :

 

https://www.rabbitmq.com/which-erlang.html

از آنجایی که ما قصد داریم تا rabbitmq 3.7 را نصب کنیم پس بنابراین نسخه ی erlang که پشتیبانی می شود بین  Erlang/OTP 19.3 تا Erlang/OTP 20.2.x می باشد.بسته ی erlang در مخازن epel وحود دارد ولی از آنجایی که نسخه ی آن پایین می باشد ما نیاز داریم تا erlang نسخه ی بالاتر را نصب کنیم به همین خاطر ابتدا مخزن Erlang Solutions را نصب کنید :

 

#yum install -y https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm

 

اکنون بسته ی rabbitmq را دانلود کنید که برای دریافت آن می توانید از لینک پایین استفاده کنید :

 

https://www.rabbitmq.com/install-rpm.html

برای دانلود کافیست تا این دستور را اجرا کنید :

 

 

#wget -c https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.3/rabbitmq-server-3.7.3-1.el7.noarch.rpm

 

 

 

اکنون جهت نصب rabbitmq کافیست تا دستور زیر را اجرا کنید :

 

 

#yum install rabbitmq-server-3.7.3-1.el7.noarch.rpm

 

اگر از SELinux استفاده می کنید این دستور را اجرا کنید :

 

#setsebool -P nis_enabled 1

 

 

اگر از firewalld استفاده می کنید پورت های زیر را باز کنید :

 

 

#firewall-cmd --zone=public --permanent --add-port=4369/tcp
#firewall-cmd --zone=public --permanent --add-port=25672/tcp
#firewall-cmd --zone=public --permanent --add-port=5671-5672/tcp
#firewall-cmd --zone=public --permanent --add-port=15672/tcp
#firewall-cmd --zone=public --permanent --add-port=61613-61614/tcp
#firewall-cmd --zone=public --permanent --add-port=8883/tcp
#firewall-cmd --zone=public --permanent --add-port=1883/tcp
#firewall-cmd --reload

اکنون می توانید با استفاده از systemd  سرویس rabbitmq را start و enable کنید :

 

#systemctl start rabbitmq-server
#systemctl enable rabbitmq-server

 

جهت بررسی وضعیت rabbitmq می توانید از این دستور استفاده کنید :

 

#rabbitmqctl status

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

 

 

# rabbitmq-plugins enable rabbitmq_management

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

 

 

#chown -R rabbitmq:rabbitmq /var/lib/rabbitmq/

اکنون جهت ایجاد کاربر و تنظیم مجوزهای آن کافیست تا دستورهای پایین را اجرا کنید :

#rabbitmqctl add_user hos7ein mypassword
#rabbitmqctl set_user_tags hos7ein administrator
#rabbitmqctl set_permissions -p / hos7ein ".*" ".*" ".*"

 

 

نکته اینکه به جای hos7ein و mypassword نام کاربری و پسورد مورد نظر خود را بنویسید.اکنون جهت دسترسی به پنل تحت وب rabbitmq کافیست تا آدرس زیر را در مروگر وب خود وارد کنید :

 

 

 

 

http://[server-ip]:15672

نکته اینکه به جای server-ip باید آدرس سرور خود را بنویسید.در پایین تصویری از پنل تحت وب rabbitmq را مشاهده می کنید :

 

 

 

rabbitmq

 

امید است تا از این مطلب استفاده ی لازم را برده باشید.

 


بهمن ۲۱ ۱۳۹۶

فهرست مطالعه برای System Administrator ها – نسخه کامل شونده

 

مقدمه سوم: این نوشته از این نسخه به بعد به صورت پست جدید منتشر نخواهد شد و همین نوشته دائما به روزرسانی می گردد.  در این نسخه بخش سیستم عامل Windows و Linux اضافه شد. بخش Linux بسیار گسترده خواهد شد. این پست را هر چند هفته یک بار مرور کنید تا در جریان به روز رسانی آن قرار گیرید.
علاوه بر آن تصمیم گرفتم که بخش‌های مجازی سازی و DevOps را هم به این فهرست اضافه کنم.

مقدمه دوم: بخش مربوط به آشنایی با تجهیزات Cisco و فراگیری Routing و Switching را اضافه کردم.

مقدمه اول: مدتها بود که دلم می خواست که یه فهرست مطالعه (Reading List) برای System adminstrator ها و Network Administrator ها در حد تجربه خود بنویسم. هی عقب می افتاد. امروز اولین پستش را میخوام بزنم.

چند نکته و ویژگی در مورد این لیست هست:
۱- در برخی تجربه‌ها در این سالها متوجه شدم که باید خیلی قبل تر مطلبی را می خوندم و یا باید می دونستم، ولی چیزی در موردش نمی دونم. برای همین به این لیست اضافه کردم
۲- این لیست یک تلاش کوچیک برای آکادمیک کردن مسیر رشد و یادگیری یک مدیر سیستم یا System Administrator است. چون یه دوستی تذکر داده بودند که کتاب‌های آقای ملکیان بسیار تئوری است و باید سراغ کتابهای عملی تر رفت، من تاکید می کنم من بسیار به تئوری اهمیت می دم و تجربم اینه که هرچه تسلط تئوری و علمی بالاتری به یک موضوع داشته باشی، پیاده سازی تمیز تر و مطمئن تری خواهی داشت.
۳- تصمیم دارم این لیست را تاجایی پیش ببرم که شبیه یک دوره لیسانس سه سال یک نفر را پر کنه و یک نفر بتونه سه سال آموزش خودشو برای ورود و یا پیشرفت در بازار کار برنامه ریزی کنه.
۴- شروع لیست با کتاب‌های فارسی است. شاید انتقاد خیلی‌ها را به همراه داشته باشه، ولی من معتقدم یادگیری پایه‌ها، مبانی و اصطلاحات یک تخصص با زبان مادری کار و پیشرفت را خیلی تسهیل می‌کنه. البته مطمئنا در یک جایی به بعد مطالعه ترجمه ها دیگر کارایی لازم را نداره و مطمئنا در ادامه تغیریبا همه کتابها انگلیسی خواهد بود.
۵- این لیست برای هنرستانی‌های رشته کامپیوتر و کاردانی و کارشناسی کامپیوتر مناسب است.
۶- سعی می‌کنم تاجایی که امکان داره دلیل پیشنهاد مطالعه هر کتاب و توانایی هایی که بعد از اون باید بدست بیارید را مطرح کنم
۷- از این نسخه از مقاله به بعد سعی می کنم، لینک خرید کتاب به همراه عکس جلد آن را هم بزارم.

فهرست اول
هدف: آشنایی با مفاهیم، اصطلاحات و ابزارهای پایه در شبکه

۱- راهنمای مطلق +Network  – مترجم بهرام پاشایی
در بین کتابهای +Network جزو بهترین ‌ها بود. البته کمی قدیمی است. این کتاب را به خاطر پیشنهاد «saravan» در کامنت‌های پست قبلی اضافه کردم. شما پس از مطالعه این کتاب (یا شاید همزمان) باید به چند تا مهارت عملی هم برسید
الف- عیب یابی ابتدای شبکه و کار کردن با ابزارهای ping, traceroute, netstat, nslookup
ب- کار با ابزارهای ساده کابل کشی (cabling)، مانند Crimper، Striper و … . پیشنهاد می کنم جعبه ابزاری برای خودتون تهیه کنید که شامل ابزارهای اولیه کابل کشی باشه

۲- اصول طراحی شبکه های کامپیوتری – احسان ملکیان
یکی از بهترین کتاب‌ها است که دید خوبی در مورد انواع شبکه بهتون می‌ده. برای شروع کتاب خیلی خوبیه

۳- اصول مهندسی اینترنت – احسان ملکیان
در این کتاب از لایه های شبکه، پروتکل ها و سرویس ها صحبت شده. ولی تاکید من تو مطالعه این کتاب برای اینه که جزو معدود کتابهایی هست که مفهوم سرویس را می‌تونه برای یک تازه کار روشن کنه و توضیحات خوبی داره

۴- نفوذگری در شبکه و روشهای مقابله – احسان ملکیان
یکی از کتابهای خوب فارسی هست که یک تازه کار را با زبان فنی امنیت آشنا می‌کنه.

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

معرفی کتاب مرجع
TCP/IP Illustrated, Vol. 1: The Protocols – نوشته W. Richard Stevens
یکی از کتابهای خوب به عنوان مرجع که قدیمی هم هست ولی همچنان به نظرم می تونه مفید باشه. داشتان این کتاب کنارتون و مطالعه پروتکل ها خیلی به درکتون از شبکه کمک می کنه




فهرست دوم
بخش اول – شبکه یا Networking
هدف: معرفی کتاب‌های مناسب برای آشنایی با محصولات Cisco و  فراگیری مفاهیم Routing و Switching (ممنون از دوست و همکار خوبم آقای مهندس عشاقی بابت در دسترس قرار دادن کتاب‌های نسخه جدید)
چه قرار باشه System Administrator باشید و چه Network Administrator ، مطالعه و یادگیری Routing و Switching توصیه می شه. درک لایه های ۲ و ۳ شبکه کمک بسیار زیادی در درک فایروال ، ساختار  شبکه و اتصالات و عیب یابی ارتباطی شبکه می کنه. علاوه برآن در سازمان‌های و شرکت‌هایی که فعالیت اصلی آنها IT نیست. انتظارشون از Network Admin و Sysadmin یکی هست.

۵- CCENT/CCNA ICND1 100-105 Official Cert Guide
این کتاب اولین کتاب زبان اصلی در این فهرست است و شروع خوبی برای شروع آشنایی با کلمات اصلی. در این کتاب بخشی زیادی از آنچه در کتاب‌های قبلی معرفی شده آمده و ذهن شما با خواندن آن برای مطالعه کتاب‌های بعدی آماده می شود. علاوه بر آن آشنایی ابتدایی با پیکربندی تجهیزات Cisco پیدا می کنید، در مورد  IPv6 مطالبی می خونید و شروع با یادگیری Routing و Swiching می کنید.

۶- CCNA Routing and Switching ICND2 200-105 Official Cert Guide
در این کتاب بیشتر وارد جزییات پروتکل های Routing و Switching می شیم و با مفاهیم جدیدی مانند SDN و Cloud (البته اگه دیگه جدید حسابشون بکنیم. 🙂 ) آشنا می‌شوید.

۷- CCDA 200-310 Official Cert Guide
طراحی (Design) یکی از اون سرفصل‌هایی است که دانستنش یک پله دید شما را نسبت به ساختار شبکه وسرویس‌ها بالا می بره. داشتن دید طراحی سطح کار شما را افزایش می ده و باعث می شه پیاده سازی پایدارتری داشته باشید. البته شاید بهتر باشه خوندن این کتاب را به آخر لیست منتقل کنیم؛ چرا که هر چه دانش پایه و تجربه بیشتری داشته باشید، برداشت کاملتر و دقیق تری نسبت به این کتاب (طراحی – Design) خواهید داشت.
به اضافه اینکه در ممالک فرنگ هم خیلی به اینکه شما Design بدونید اهمیت می‌دند؛ مخصوصا در مورد Netadmin ها این یه موضوع اساسی هست و در صورتی که در عنوان Network Administrator به دنبال کار هستید رزومه شما بدون دانستن طراحی ارزش پایینی پیدا می کند. البته خوب در کشور ما کمتر شرکت یا سازمانی به این موضوع اهمیت می دهد یا اساسا به وجود این موضوع واقف است.



بخش دوم – مدیریت سیستم‌های ویندوزی یا Windows Sysem Administration
هدف:
شما چه در حوزه System Administration و چه Network Administration فعالیت کنید، به آشنایی با سیستم عامل Windows و سرویس‌های مهم Windows ای نیاز پیدا خواهید کرد. حتی اگر قصد داشته باشید به طور خاص در زمینه Linux System Administration فعالیت کنید. به هر حال بخش بزرگی از کاربران از این سیستم عامل استفاده می کنند و در بسیاری از مواقع موضوع محیط‌های مختلط پیش خواهد آمد و نیاز است تا با سیستم عامل Windows و سرویس‌های آن آشنایی داشته باشید. نسخه ۲۰۱۶ کتاب‌ها را هم می‌تونید مطالعه کنید.

۸- Exam Ref 70-410 Installing and Configuring Windows Server 2012
آزمون ۴۱۰-۷۰ اولین آزمون از آزمون‌های MCSA است. یکی از فصل‌هایی که در محیط‌های مختلط بسیار مورد استفاده دارد فصل Install and administer Active Directory و فصل‌ بعد از آن است. این دو فصل را با وسواس بیشتری مطالعه و تست کنید.

۹- Exam 70-411 Administering Windows Server 2012
دومین آزمون از سری آزمون‌های MCSA.

۱۰- Exam Ref 70-412 Configuring Advanced Windows Server 2012 R2 Services
سومین آزمون از سری آزمون‌های MCSA

۱۱- Exam Ref 70-413 Designing and Implementing a Server Infrastructure
اولین آزمون از سری آزمون‌های MCSE است.

۱۲- Exam Ref 70-414 Implementing an Advanced Server Infrastructure
دومین آزمون از سری آزمون‌های MCSE است.



 

بخش سوم – مدیریت سیستم‌های لینوکس یا Linux System Administration
هدف: این بخش ار مطلب می شه بخش اصلی و هدف این مستند است. یعنی تبدیل شدن به یک Linux System Administrator. در این بخش به معرفی کتاب‌های مناسب برای یادگیری سیستم عامل لینوکس و سرویس‌های لینوکسی و متن‌باز/آزاد خواهیم پرداخت

۱۳- Linux Essentials – منتشر شده توسط Linup
این کتاب مربوط به اولین آزمون موسسه LPI کاناداست. کتاب مناسبی برای شروع کار را لینوکس و خط فرمان می باشد که به صورت آزاد منتشر شده است.

۱۴- LPIC-1 Linux Professional Institute Certification Study Guide – انتشارات Sybex چاپ چهارم ۲۰۱۵
این کتاب مربوط به آزمون LPIC-1 ، اولین آزمون حرفه ای موسسه LPI کاناداست. این کتاب دو آزمون ۱۰۱-۴۰۰ و ۱۰۲-۴۰۰ را پوشش می دهد و شروع بسیار خوبی برای تبدیل شدن به یک Junior Linux System Administrator است.

۱۵-Getting Started with MariaDB – انتشارات Packt Publishing چاپ دوم
این کتاب یک شروع خوب برای کار با دیتابیس است. یک مدیر سیستم به میزان مناسبی باید از نحوه کار با دیتابیس و مدیریت سرویس آن مطلع باشد.

۱۶- LPIC-2 Linux Professional Institute Certification Study Guide, 2nd Edition – انتشارات Sybex چاپ دوم ۲۰۱۶
این کتاب یک شروغ برای تبدیل شده شما به یک Senior Linux SystemcAdministrator است. نکته مهم آن است که تنها یک شروع است و برای عمیق شدن در سرفصل‌های آن برای هر سرویس نیاز است که شما کتاب و مستندات مرتبط با آن را به طور مجزا مطالعه کنید. در ادامه به معرفی کتاب در مورد سرویس‌ها مهم خواهیم پرداخت.



۱۷- Pro DNS and ‌Bind 10 – انتشارات Apress
این کتاب یکی از بهترین کتاب‌ها در مورد سرویس DNS و به طور خاص سرویس Bind است. آن را به طور کامل مطالعه کنید و در خوندنش تنبلی نکنید.

۱۸- Then Book of Postfix – انتشارات No Starch سال ۲۰۰۵
یک کتاب خیلی خوب در مورد Postfix به همراه چند سناریوی مفید و پیاده سازی آن. شروع خوبی برای کار کردن با سرویس Email است.

۱۹- Dovecot: POP3/IMAP Servers for Enterprises and ISPs
این کتاب تنها کتاب موجود در مورد Dovecot است که متاسفانه هنوز به صورت pdf موجود نیست و باید به صورت چاپی تهیه کنید. در این کتاب به معرفی سرویس dovecot و سرویس‌های pop و imap می پردازند.



۲۰- Mastering OpenLDAP – انتشارات Packt Publishing
یک کتاب بسیار خوب برای فراگیری سرویس OpenLDAP. برای مطالعه این کتاب باید زمان مناسبی را اختصاص بدید. در نرم افزارهای سازمانی، در محیط‌های مختلط و شبکه های بزرگ بسیار مورد استفاده است.

۲۱- Mastering MariaDB – انتشارات Packt Publishing سال ۲۰۱۴


فهرست سوم
بخش اول – HA and Virtualization
استفاده از مجازی سازی در مدیریت سرورها تبدیل به امری معمول شده است. یک مدیر سیستم باید با تکنولوژی‌ها و محصولات مجازی سازی آشنا باشد. محصولات متن باز و آزاد و محصولات غیر متن باز مانند VMWare

 

بخش دوم – DevOps
هدف: یکی از سرفصل‌های شغلی بسیار داغ در سراسر دنیا DevOps است. یک سرفصل شغلی جدید با جایگاه‌های کاری بسیار در داخل و خارج از ایران. در این فهرست در ابتدا تنها به معرفی آن خواهیم پرداخت و در صورتی که زمانی بود راهنمای مطالعه آن را پیش می بریم.


بهمن ۲۰ ۱۳۹۶

طراحی سایت ارزان

به نام خداوند جان و خرد اگر کمی در اینترنت بچرخید و به دنبال سفارش طراحی یک وبسایت باشید; حتما به اشخاص یا استودیو‌ هایی برخواهید خورد که به شما نوید طراحی ارزان یک وبسایت شیک را می‌دهند. این اشخاص به سه دسته تقسیم می‌شوند. آنهایی که دروغ می‌گویند و در زمان عقد قرارداد پوست […]

نوشته طراحی سایت ارزان اولین بار در گشتاسب مظفریان – GMozafarian. پدیدار شد.


بهمن ۲۰ ۱۳۹۶

مدیریت پیشرفته proxy در اندروید

اگر به جای اتصال VPN از proxy استفاده می‌کنید (مثلا Squid) ، در اندروید مشکلات زیادی خواهید داشت.

اضافه کردن و روشن/خاموش کردن proxy سخت و زمان بره (چه برای وایفای و چه برای دیتا)، و همه برنامه‌ها هم با تنظیمات پراکسی اندروید سازگار نیستن.

روی پلی استور اپی به نام Drony هست که این مشکل رو حل می‌کنه.

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

این اپ انواع پراکسی مثل http، socks و همینطور shadowsocks رو پشتیبانی می‌کنه.

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

همچنین Drony تک تک کانکشن‌ها رو نشون میده و می‌تونید ببینید کدوم اپها سعی می‌کنن به اینترنت وصل بشن و اگر خواستید دسترسی‌شون رو قطع کنید.

یک قابلیت فوق‌العاده دیگه هم داره که میتونید تعریف کنید هر اپ یا هر host خاص از پراکسی استفاده کنه یا اتصال مستقیم.

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

آدرس سایت بانکتون رو هم میتونید از پراکسی مستثنا کنید. مثلا من تنظیم کردم سایت بانک ملت بدون پراکسی باز بشه.


بهمن ۱۸ ۱۳۹۶

۹ تا از زیبا ترین توزیع های گنو/لینوکسی که باید امتحانشان کنید(قسمت یک)

کاربران گنو/لینوکس این آزادی رو دارن که با توجه به نیازشون و سلیقشون یک توزیع رو از میان توزیع های موجود انتخاب کنن و استفاده کنن.همچنین توسعه دهنده ها هم برای رفع نیاز های کاربران تلاش میکنن و توزیع ها و ویژگی های جدیدی عرضه میکنن.
در این مطلب ۹ تا از زیبا ترین توزیع های گنو/لینوکسی رو معرفی و بررسی میکنیم که اگه به دنبال یک توزیع زیبا برای انجام کار های روزمره هستین,امتحان کردنشون خالی از لطف نیست 🙂


۱-elementary OS

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

۲-Deepin

یک توزیع متن باز و چینی که تلاش میکنه یک محیط کاربری جذاب و زیبا رو به کاربر ارائه بده.
این توزیع با دسکتاپی با نام (Deepin Desktop Environment) و یا به اختصار(DDE) ارائه میشه که یکی از زیباترین و در عین حال سنگین ترین دسکتاپ های گنو/لینوکسیه.
قبلا یک مطلب آموزشی درباره نصب این میزکار بر روی آرچ لینوکس روی وبلاگ قرار گرفته.
دیپین شامل یک بسته به نام  deepin-extra هست که شامل برنامه هایی هست که مخصوص دیپین توسعه پیدا کردن و به طور پیشفرض روی این توزیع نصبه.میشه گفت با نصب دیپین و بدون نصب برنامه های اضافه میتونین کار های روزمره تون رو انجام بدین.
این بسته شامل برنامه هایی برای پخش موسیقی,پخش فیلم,تقویم,برنامه مشاهده عکس ,برنامه اسکرین شات و چندین برنامه دیگه هست که شما رو از نصب برنامه های اضافی بی نیاز میکنه.
میتونید دیپین رو از اینجا دانلود کنید.

۳-Solus os

در این لیست اکثر توزیع هایی که معرفی میشه بر پایه یک توزیع دیگه توسعه پیدا کردن یا با یک توزیع دیگه مشتق شدن.سالاس سعی میکنه خودش رو از این دست توزیع ها جدا کنه.
توزیعی که خودش رو به عنوان یک توزیع سبک و جالب و به سرعت در حال پیشرفت به کاربر ها معرفی کرد.
سالاس کاملا مستقل توسعه پیدا میکنه.این توزیع با میز کاری با نام
  ‌‌Budgie
منتشر میشه که از تکنولوژی های گنوم مثل GTK+ استفاده میکنه.میشه گفت از لحاظ ظاهری شبیه به XFCE هست ولی مثل اون انعطاف پذیر و قابل شخصی سازی نیست.(قابلیت شخصی سازیش کمتره)
به نظر من یکی از بزرگ ترین مشکلات این توزیع مخازن نرم افزاریش هست که هنوز خیلی جای پیشرفت داره.به طوری که حتی خیلی از برنامه های مرسوم هم در مخازن نرم افزاریش وجود نداره!
سالاس از eopkg برای مدیریت بسته ها استفاده میکنه.
میتونید سالاس رو از اینجا دانلود کنید.

۴-Nitrux

نایتراکس(اگه اشتباه نکنم) جدید ترین توزیع بین توزیع های این لیست هست.
یک توزیع مبتنی بر اوبونتو که سعی میکنه محیط کاری جذاب و ساده برای کاربرها فراهم کنه.
این توزیع با میز کاری با نام Nomad منتشر میشه که بر پایه کی دی ای ۵ و QT توسعه پیدا کرده
نایتراکس از انتشار غلطان(Rolling release) استفاده میکنه و فقط برای سیستم های ۶۴ بیتی قابل استفاده هست
نایتراکس هم مانند دیپین شامل یکسری برنامه اختصاصیه.
میتونید این توزیع رو از اینجا دانلود کنید.

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


بهمن ۱۸ ۱۳۹۶

۹ تا از زیبا ترین توزیع های گنو/لینوکسی که باید امتحانشان کنید(قسمت یک)

کاربران گنو/لینوکس این آزادی رو دارن که با توجه به نیازشون و سلیقشون یک توزیع رو از میان توزیع های موجود انتخاب کنن و استفاده کنن.همچنین توسعه دهنده ها هم برای رفع نیاز های کاربران تلاش میکنن و توزیع ها و ویژگی های جدیدی عرضه میکنن.
در این مطلب ۹ تا از زیبا ترین توزیع های گنو/لینوکسی رو معرفی و بررسی میکنیم که اگه به دنبال یک توزیع زیبا برای انجام کار های روزمره هستین,امتحان کردنشون خالی از لطف نیست 🙂


۱-elementary OS

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

۲-Deepin

یک توزیع متن باز و چینی که تلاش میکنه یک محیط کاربری جذاب و زیبا رو به کاربر ارائه بده.
این توزیع با دسکتاپی با نام (Deepin Desktop Environment) و یا به اختصار(DDE) ارائه میشه که یکی از زیباترین و در عین حال سنگین ترین دسکتاپ های گنو/لینوکسیه.
قبلا یک مطلب آموزشی درباره نصب این میزکار بر روی آرچ لینوکس روی وبلاگ قرار گرفته.
دیپین شامل یک بسته به نام  deepin-extra هست که شامل برنامه هایی هست که مخصوص دیپین توسعه پیدا کردن و به طور پیشفرض روی این توزیع نصبه.میشه گفت با نصب دیپین و بدون نصب برنامه های اضافه میتونین کار های روزمره تون رو انجام بدین.
این بسته شامل برنامه هایی برای پخش موسیقی,پخش فیلم,تقویم,برنامه مشاهده عکس ,برنامه اسکرین شات و چندین برنامه دیگه هست که شما رو از نصب برنامه های اضافی بی نیاز میکنه.
میتونید دیپین رو از اینجا دانلود کنید.

۳-Solus os

در این لیست اکثر توزیع هایی که معرفی میشه
بر پایه یک توزیع دیگه توسعه پیدا کردن یا با یک توزیع دیگه مشتق شدن.سالاس
سعی میکنه خودش رو از این توزیع ها جدا کنه.
توزیعی که خودش رو به عنوان یک توزیع سبک جالب و به سرعت در حال پیشرفت به کاربر ها معرفی کرد.
سالاس کاملا مستقل توسعه پیدا میکنه.
این توزیع با میز کاری تحت عنوان  ‌‌Budgie
منتشر میشه که از تکنولوژی های گنوم مثل GTK+ استفاده میکنه.میشه گفت از لحاظ ظاهری شبیه به XFCE هست ولی مثل اون انعطاف پذیر و قابل شخصی سازی نیست.(قابلیت شخصی سازیش کمتره)
به نظر من یکی از بزرگ ترین مشکلات این توزیع مخازن نرم افزاریش هست که هنوز خیلی جای پیشرفت داره.به طوری که حتی خیلی از برنامه های مرسوم هم در مخازن نرم افزاریش وجود نداره!
سالاس از eopkg برای مدیریت بسته ها استفاده میکنه.
میتونید سالاس رو از اینجا دانلود کنید.

۴-Nitrux


نایتراکس(اگه اشتباه نکنم) جدید ترین توزیع در بین توزیع های این لیست هست.
یک توزیع مبتنی بر پایه اوبونتو که سعی میکنه محیط کاری جذاب و ساده رو برای کاربر ها فراهم کنه.
این توزیع با میز کاری با نام Nomad منتشر میشه که بر پایه کی دی ای ۵ و QT توسعه پیدا کرده.
نایتراکس از انشتار غلطان (Rolling release)استفاده میکنه و فقط برای سیستم های ۶۴ بیتی قابل استفاده هست.
نایتراکس هم مانند دیپین شامل یک سری برنامه اختصاصیه.
میتونید این توزیع رو از اینجا دانلود کنید.

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


بهمن ۱۶ ۱۳۹۶

آموزش Cluster کردن دیتابیس Couchbase Server

Couchbase_logo

در مطالب قبلی دیتابیس Couchbase معرفی شد و نحوه ی نصب آن بر روی توزیع CentOS 7.x آموزش داده شد.در این مطلب قصد دارم تا روش Cluster کردن دیتابیس Couchbase را خدمت شما عزیزان آموزش دهم.

در این سناریو از سه Node استفاده خواهد شد که روی آنها CentOS 7.x نصب شده است و قصد داریم تا روی آنها Couchbase server نصب کنیم و آنها را کلاستر کنیم.

مشخصات Node ها به شرح زیر می باشد :

 

Node1 :  ۱۰٫۱۰٫۲۲٫۱۹۳

Node2 : 10.10.22.234

Node3 : 10.10.22.201

کلاستر کردن Couchbase :

 

برای نصب Couchbase بر روی Node1 مانند مطلب « آموزش نصب دیتابیس Couchbase Server » عمل کنید.

برای نصب Couchbase بر روی Node2 نیز مانند « آموزش نصب دیتابیس Couchbase Server » عمل کنید و پس از نصب بسته ی rpm آدرس پنل تحت وب آن را در مرورگر وب خود وارد نمایید تا با صفحه ی پایین مواجه شوید :

 

couchbase-server

اکنون روی دکمه ی Setup کلیک کنید تا وارد صفحه ی پایین شوید :

 

couchbase-server

در صفجه ی بالا یک نام به Node اختصاص دهید و سپس گزینه ی Join a cluster now را انتخاب کنید و مشخصات Node1 را بنویسید و سپس روی دکمه ی Next کلیک کنید.پس از اضافه کردن هر Node به کلاستر باید کلاستر را Rebalance کرد.

 

برای نصب Couchbase بر روی Node3 نیز مانند « آموزش نصب دیتابیس Couchbase Server » عمل کنید و پس از نصب بسته ی rpm مانند روشی که در بالا برای Node2 توضیح داده شد عمل کنید.در پایین تصویری از مرحله ی پیکربندی Node3 جهت Join شدن به کلاستر را مشاهده می کنید :

 

couchbase-server

همانظور که گفته شد،پس از اضافه کردن هر Node به کلاستر باید کلاستر را Rebalance کرد :

couchbase-server

 

در پایین تصویری از Rebalance شدن Cluster را مشاهده می کنید :

 

couchbase-server

 

پس از تکمیل Rebalance شدن کلاستر با چنین تصویری روبرو خواهید شد :

 

couchbase-server

 

از قسمت Settings می توانید یک نام به کلاستر اختصاص دهید :

 

couchbase-server

در پایین نمایی کلی از وضعیت کلاستر Couchbase server را مشاهده می کنید :

 

couchbase-server

 

امید است تا از این مطلب استفاده لازم را برده باشید.

شاد و فدورایی باشید.

 


بهمن ۱۶ ۱۳۹۶

آموزش اوبونتو: قسمت دوم، Dash چیست

نوشته شده توسط فرشید نوتاش حقیقت.

Dash به شما کمک می‌کند تا سریعاً برنامه‌ها و فایل‌های خود را بر روی کامپیوتر خود پیدا کنید. اینگونه می‌توان گفت که Dash شبیه منوی Start در ویندوز می‌باشد. Dash به شما اجازه می‌دهد که اطلاعات خود را به صورت محلی مانند برنامه‌های نصب شده، بوکمارک‌ها و همینطور از راه دور مانند توییتر و Google Docs جستجو کنید.

برای گشودن Dash، روی بالاترین آیکون واقع در Launcher که حاوی لوگوی اوبونتو است کلیک کرده و آن را اجرا نمایید.

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

Lenses

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

شش لنز پیشفرض نصب است. لنز Home، لنز Application، لنز Files and Folders، لنز Video، لنز Music و لنز Photo.

Dash ابزار قدرتمندی است که شما را قادر می‌سازد تا کامپیوتر، خود را برای برنامه‌ها و فایل‌ها جستجو کنید.

یافتن فایل‌ها و پوشه‌ها

Dash می‌تواند در پیدا کردن نام فایل یا پوشه را تایپ می‌کنید نتایج در Dash ظاهر می‌شوند. لنز فایل‌ها و پوشه‌ها در پیدا کردن فایل‌ها و پوشه‌ها کمک می‌کند که فایل‌های اخیراً بدست آمده و آخرین دانلودها را نشان می‌دهد.

می‌توانید از دکمه نتایج فیلتر در گوشه سمت راست بالای Dash برای فیلتر کردن نتایج توسط ویژگی‌هایی چون نوع فایل (txt، dxt، odt و …) یا اندازه استفاده کنید.

اوبونتو هنگام نصب برنامه‌های زیادی را به همراه خود نصب می‌کند. کاربران علاوه بر آن می‌توانند هزاران برنامه را از Ubuntu Software دانلود کنید.

لنز Application

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

همچنین می‌توانید نام یک برنامه (یا بخشی از آن) را در نوار جستجو در Dash وارد کنید و نام برنامه‌های مربوط به آن برنامه را تایپ کنید و Dash آن را پیدا می‌کند.

برای مثال، Music را تایپ کنید تا Dash به شما پخش‌کننده پیشفرض موسیقی و سایر پخش‌کننده‌های موسیقی مورد استفاده شما را نشان می‌دهد.

جستجوی خارجی

علاوه بر جستجوی محلی می‌توان برای برنامه‌ها و فایل‌ها، Dash می‌تواند منابع آنلاین مختلف را جستجو کند. (به عنوان مثال Amazon.com) نتایج جستجوی آنلاین در Dash به‌طور پیشفرض در هنگام نصب خاموش می‌شوند.

منبع: کتاب Getting Started with Ubuntu 16.04 نوشته The Ubuntu Manual Team

نوشته آموزش اوبونتو: قسمت دوم، Dash چیست اولین بار در لینوکس سیزن پدیدار شد.


بهمن ۱۵ ۱۳۹۶

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

نوشته شده توسط فرشید نوتاش حقیقت.

فایل‌سیستم لینوکس در تمامی سیستم‌عامل‌های مبتنی بر یونیکس مشابه یکدیگر هستند که به آن استاندارد سلسله‌مراتبی فایل‌سیستم لینوکس (Standard Filesystem Hierary Linux) گفته می‌شود.این استاندارد سلسله‌مراتبی شامل دایرکتورهایی است که یک درخت را به‌وجود می‌آورد.

در ادامه به معرفی این دایرکتوری‌ها خواهیم پرداخت:

/: که به آن دایرکتوری root یا ریشه می‌گویند که آغازگر این درخت می‌باشد.

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

/boot: شامل هسته لینوکس، درایورهای مورد نیاز برای بوت شدن و بوت‌لودر می‌باشد. به‌عنوان مثال فایل /boot/grub/grub.conf برای پیکربندی بوت‌لودر مورد استفاده قرار می‌گیرد و یا /boot/vmlinuz مربوط به هسته (Kernel) لینوکس است.

/dev: شامل نقاط دسترسی دستگاه‌های (Devices) متصل به سیستم است.

/etc: شامل تمام فایل‌های پیکربندی گسترده سیستم است. همچنین حاوی مجموعه‌ای از اسکریپت‌های پوسته می‌باشد که در حین بوت شدن سیستم آغاز می‌گردند.

/home: در حالت عادی هر کاربر دارای یک دایرکتوری /home می‌باشد. کاربران عادی فقط می‌توانند فایل‌های داخل دایرکتوری /home را دستکاری کنند. این محدودیت، سیستم را در برابر فعالیت کاربر مزاحم محافظت می‌نماید.

/lib: شامل فایل‌های کتابخانه‌ای مشترک که توسط برنامه‌های اصلی سیستم استفاده می‌شوند. عملکرد این فایل‌ها مشابه فایل‌های DLL در ویندوز هستند.

/lost+found: شامل پارتیشن یا دستگاهی که در فایل‌سیستم لینوکس استفاده می‌شوند. مانند ext3. این دایرکتوری در هنگام ریکاوری یک فایل‌سیستم کاربرد دارد.

/media: در سیستم‌های لینوکس امروزی، دایرکتوری /media حاوی نقاط اتصال (mount) رسانه‌های قابل جابجا شدن از جمله CD-ROM و USBها هستند.

/mnt: در سیستم‌های قدیمی‌تر لینوکس، دایرکتوری /mnt حاوی نقاط اتصال دستگاه‌های قابل جابجایی می‌باشد که به‌صورت دستی نصب شده‌اند.

/opt: دایرکتوری /opt برای نصب نرم‌افزار اختیاری (optional) استفاده می‌شود. این دایرکتوری عمدتاً برای نگهداری محصولات نرم‌افزاری تجاری مورد استفاده قرار می‌گیرد.

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

/root: این دایرکتوری در واقع دایرکتوری home برای حساب کاربری ریشه (root) است.

/sbin: این دایرکتوری حاوی فایل‌های باینری سیستمی می‌باشد.

/tmp: دایرکتوری /tmp برای ذخیره فایل‌های موقت و گذرا ایجاد شده توسط برنامه‌های مختلف کاربرد دارد. برخی از تنظیمات باعث می‌شود که این دایرکتوری هر بار که سیستم راه‌اندازی مجدد می‌شود خالی شود.

/usr: بزرگترین شاخه از درخت فایل‌سیستم لینوکس دایرکتوری /usr می‌باشد که شامل برنامه‌ها و فایل‌های پشتیبانی شده توسط کاربران معمولی است.

/usr/bin: شامل برنامه‌های اجرایی نصب شده توسط توزیع لینوکس می‌باشد.

/usr/lib: شامل کتابخانه‌های مشترک برای برنامه‌هاست.

/usr/local: شامل برنامه‌هایی است که با توزیع لینوکسی نصب نشده‌اند اما برای استفاده از سیستم مورد نیاز می‌باشند.

/usr/local/bin: شامل برنامه‌های کامپایل شده از سورس کد می‌باشد.

/usr/sbin: شامل برنامه‌های مدیریت سیستم می‌باشد.

/usr/share: شامل تمام داده‌های به اشتراک گذاشته شده توسط برنامه‌ها در /usr/bin است. مواردی مانند فایل‌های پیش‌فرض پیکربندی، آیکون‌ها، تصویر پس‌زمینه و فایل‌های صوتی در این دایرکتوری قرار می‌گیرد.

/usr/share/doc: اکثر بسته‌های نصب شده بر روی سیستم که از نوع مستندات هستند.

/var: به غیر از دایرکتوری‌های /tmp و /home مابقی دایرکتوری‌هایی که بدان اشاره شد به‌صورت ایستا بوده‌اند، یعنی محتوای آن‌ها تغییر نمی‌کند. دایرکتوری /var جایی است که داده‌هایی که احتمال تغییر دارند ذخیره می‌شود. مانند پایگاه‌های داده و ایمیل کاربران.

/var/log: شامل فایل‌های log و سوابق فعالیت‌های مختلف سیستم می‌باشد.

منبع: کتاب The Linux Command Line نوشته William E. Shotts

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


بهمن ۱۴ ۱۳۹۶

اگر اقتصادمان بر پایه ارز رمزپایه بود، چه می‌شد؟

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

هدف بیت‌کوین به عنوان یک سیستم مالی، تمرکز زدایی بود. یعنی قدرت اصلی از دست بانک‌ها و سیستم‌های مالی قدیمی بیرون بیاد و این قدرت به‌صورت نامتمرکز بین افراد (ماینرها) توزیع بشه. با فرض بر اینکه اگر ۵۰٪ + ۱ از توان محاسباتی توسط افراد راستگو کنترل بشه، این ارز مطمئن خواهد بود. اما این اتفاقی واقعا عملی شد؟

c24cd76e1ce41366a4bbe8a49b02a028smfh4MX-RZhQUK0XsmlmAdrDkMSm4QebNeEei_BebRD-dBalfiGvCCGInO.png

نمودار Hash Rate بیست‌ و چهار ساعت گذشته در شبکه بیت‌کوین

نمودار بالا نشان دهنده توان محاسباتی ماینرهای بیت‌کوین در ۲۴ ساعت گذشته است. همونطور که پیداست بیش از ۵۰٪ از توان محاسباتی توسط سه pool کنترل می‌شوند. سه پول اصلی BTC.com ، AntPool و BTC.top. شاید براتون جالب باشه که هر ۳تا pool چینی هستند.

حالا فرض کنید که اقتصادمان بر پایه بیت‌کوین بود و تمام مبادلات ارزی خارجی و داخلیمون رو بر این اساس رقم می‌زدیم، آیا تحریم روی ما اثر می‌گذاشت؟

احتمالا اگر این سوال رو از کسی که شیفته ارزهای دیجیتال باشه بپرسید، خیلی خوشبینانه به شما جواب بده نه! چنین اتفاقی نمی‌افتاد. این حرف درسته ولی با یک فرض اولیه! ۵۰٪ از توان شبکه درستکار باشند. اینجا بازهم پای Big Brother به قضیه باز میشه و اعمال نفوض به فقط ۳ تا از pool های اصلی می‌تونه کاری کنه که هیچ کدام از تراکنش‌هایی که قصد واریز وجه به حساب ایران رو داشتند در blockchain قرار نگیرند و یا حتی بدتر از اون مسیر اصلی blockchain منحرف بشه تا حتی تراکنش‌های قبلی هم از مسیر منحرف بشند (البته مورد دوم بدبینی زیادی نسبت به بیت‌کوین میاره و ارزش اون رو پایین میاره، به همین دلیل بعید به نظر می‌رسه که این اتفاق می‌افته).

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


بهمن ۱۲ ۱۳۹۶

سندورم روده‌ی تحریک‌پذیر (IBS)

دیدم دوست خوبم احسان از وبلاگ احسان، نوشته‌ای رو در مورد سندورم روده‌ی تحریک‌پذیر نوشته، گفتم چه خوبه که منم تجربه خودم رو بنویسم…

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

من نزدیک به چندین سال، شاید ۵ یا ۶ و یا حتی ۷ سال هست که مشکل معده دارم. چیزی در حدود از دوره راهنمایی و این حرفا.
همیشه از بچگی سر معدم درد بود یا با کار‌هایی درد میگرفت و من نمیدونستم دلیلش چیه. غذا یا هر خوراکی که می‌خوردم سر دلم سنگین میشد و کلی اذیت میشدم.
این اذیت شدن مواردش در بچگی خیلی کم بود و انقدری نبود که بخاطرش بخوام دکتر برم.
دوره‌ی دبیرستان رسید و توی اون دوره من دچار مشکلات تنفسی شدم و بعد مشکلات قلبی.
کلی دکتر رفتم و هیچکس نفهمید چیه مشکل. آزمایش هم می‌دادن باز کسی نمی‌فهمید…
بزرگ‌تر شدم دوره‌ی دبیرستان رو هم گذروندم تا رسیدم دانشگاه. در تمام این مدت من یه پسر قد بلند لاغر بودم، حالا برای دانشگاه تصمیم گرفته بودم وزن اضافه کنم.

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

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

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

من رو خوابوند و معاینه کرد و دید بله، مشکل سر معده دارم. اون ماهیچه‌ی سر معده بسیار شل شده و همین باعث احساس سیری و خفه شدن میشه…
تمام این سال‌ها من به همین دلیل احساس سیری می‌کردم و غذا نمی‌خوردم یا حتی دلیل مشکل تنفس و قلب… آخ، چقدر لحظه‌ی بدی بود. کلی مسخره شدن‌ها، کلی تحقیر شدن‌ها همه عاملش درد کهنه‌ی سر معدم بود.
دکتر گفت دردت خیلی خیلی کهنست، خیلی قدیمیه… راست می‌گفت.

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

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

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

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

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

بقول احسان مجبورم پیاده‌روی کنم، هر چیزی نخورم و هر کاری رو نکنم تا سالم‌تر بمونم. اما خب از لذت‌هایی مثل غذا‌های چرب و سرخ‌کردنی مثل سیب‌زمینی سرخ‌کرده محروم میمونم.
البته اونا رو میتونم بخورم، معدم به تبصره و لطف اجازه میده، اما رودم نه 🙂

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

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

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

 

سالم و موفق باشید… 🙂

نوشته سندورم روده‌ی تحریک‌پذیر (IBS) اولین بار در نوشته‌های یک دوستدار گنو پدیدار شد.


بهمن ۱۱ ۱۳۹۶

آموزش نصب OpenStack Pike بر روی CentOS 7.4

openstack

 

بی شک OpenStack یکی از قدرتمندترین نرم افزارها جهت پیاده سازی زیرساخت ابری و یا همان Cloud می باشد.آخرین نسخه ی OpenStack تا این لحظه نسخه ی Pike می باشد که در آگوست ۲۰۱۷ منتشر شده است.

برای انتشار نسخه ی Pike که شانزدهمین نسخه از OpenStack می باشد بیش از ۱۸۲۵ مشارکت کننده با یکدیگر همکاری داشته اند که یکی از سردمداران این شرکت های توسعه دهنده، شرکت ردهت می باشد.

 

openstack-pike-contributors

 

جهت اطلاعات بیشتر در مورد مشارکت کننده های OpenStack می توانید به لینک پایین مراجعه نمایید :

 

http://stackalytics.com/?release=pike

نصب OpenStack Pike با روش RDO :

 

برای نصب اوپن استک روش های گوناگونی وجود دارد.یکی از این روش ها RDO می باشد که سرنام واژه های RedHat Distribution OpenStack می باشد.RDO روشی است که شرکت RedHat آن را ارائه نموده است که نصب OpenStack را ساده تر و سریع تر انجام می دهد.RDO شامل مجموعه اسکریپتی به نام packstack می باشد که بوسیله ی آن می توان آخرین نسخه از OpenStack را بر روی توزیع های RedHat,CentOS,Scientific Linux و توزیع هایی از این خانواده نصب کرد.

ما در این مطلب قصد داریم تا نسخه ی OpenStack Pike را بر روی توزیع CentOS 7.4-x86-64 Minimal به صورت all-in-one نصب کنیم.به همین خاطر ما فرض می کنیم که شما CentOS 7.4-x86-64 minimal را نصب کرده اید و به آن یک IP اختصاص داده اید.به عنوان نمونه فایل پیکربندی کارت شبکه ی آن به صورت زیر می باشد :


TYPE=Ethernet

PROXY_METHOD=none

BROWSER_ONLY=no

BOOTPROTO=none

DEFROUTE=yes

IPV4_FAILURE_FATAL=no

IPV6INIT=yes

IPV6_AUTOCONF=yes

IPV6_DEFROUTE=yes

IPV6_FAILURE_FATAL=no

IPV6_ADDR_GEN_MODE=stable-privacy

NAME=enp0s3

UUID=78ab42f4-9221-4a5e-bfb2-f83386922326

DEVICE=enp0s3

ONBOOT=yes

IPADDR=10.10.22.191

PREFIX=24

GATEWAY=10.10.22.254

DNS1=10.200.100.201

DNS2=10.200.100.199

IPV6_PRIVACY=no

 

همانطور که مشاهده می کنید نام رابط کارت شبکه ی سرور en90s3 می باشد و IP آن ۱۰٫۱۰٫۲۲٫۱۹۱ می باشد.اکنون در این مرحله سرویس NetworkManager را disable کنید و سرویس network را enable کنید :

# systemctl disable NetworkManager

# systemctl enable network

 

اکنون مخزن RDO را نصب کنید :

 

#yum install -y https://rdoproject.org/repos/rdo-release.rpm

 

همچنین مخرن OpenStack را نصب کنید :

 

 

#yum install -y centos-release-openstack-pike

 

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

 

#yum update -y

پس از بروزرسانی کامل سیستم بهتر است تا سیستم را یکبار reboot کنید تا سیستم با آخرین کرنل boot شود :

 

#reboot

پس از بالا آمدن سیستم،اکنون بسته ی Packstack را نصب کنید :

 

 

#yum install -y openstack-packstack

 

اکنون برای نصب OpenStack Pike کافیست تا دستور پایین را اجرا کنید :

 

#packstack --allinone

 

پس از نصب موفقیت آمیز با همچین پیغامی روبرو خواهید شد :

 

openstack-pike

 

همانطور که در پیغام خروجی می بینید،برای دسترسی به دشبورد اوپن استک کافیست تا آدرس زیر را در مرورگر وب خود وارد کنید :

 

http://10.10.22.191/dashboard

 

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

 

openstack-pike

نام کاربری جهت ورود به پنل، admin می باشد و پسورد آن را می توانید از فایل keystonerc_admin در مسیر root/ بدست بیاورید.در ادامه تصاویری از پنل تحت وب اوپن استک که نام آن Horizon می باشد را مشاهده کنید :

 

openstack-pike

 

openstack-pike

 

openstack-pike

امید است تا از این مطلب استفاده لازم را برده باشید و همیشه در ابرها باشید!

 


بهمن ۹ ۱۳۹۶

آموزش کنترل سرویس ها با systemd در سرور راه دور

systemd

امروزه اکثر توزیع های سیستم عامل گنو/لینوکس از systemd استفاده می کنند.با استفاده از systemd می توان سیستم و سرویس ها را مدیریت کرد که با اجرای دستور systemctl در خط فرمان این امکان وجود دارد که سرویس ها را بر روی ماشین محلی (local machine) و یا یک ماشین راه دور (remote server) مدیریت کرد.

برای کنترل سرویس های ماشین راه دور با استفاده از systemd بهتر است تا از public/private key pairs برای اتصال از طریق SSH استفاده کنید تا نیاز به وارد کردن password برای ماشین یا ماشین های راه دور نباشد.

برای کنترل سرویس های ماشین راه دور کافیست تا دستور systemctl را به همراه H- یا  host- –  استفاده کنید.به عنوان نمونه فرض کنید قصد داریم تا به کاربر root از سرور راه دور به آدرس fedorafans.com وصل شویم و وضعیت سرویس httpd آن را بررسی کنیم :

 

$systemctl --host root@fedorafans.com status httpd.service

 

 

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

 

$systemctl -H root@fedorafans.com status httpd.service

همچنین شما می توانید سرویس مورد نظر را stop,start.restart,enable,disable و … کنید :

 

systemctl --host root@fedorafans.com start httpd.service
systemctl --host root@fedorafans.com stop httpd.service
systemctl --host root@fedorafans.com restart httpd.service
systemctl --host root@fedorafans.com enable httpd.service
systemctl --host root@fedorafans.com disable httpd.service

 

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

 

$man systemctl

امید است تا از این مطلب استفاده لازم را برده باشید.

 


بهمن ۸ ۱۳۹۶

اسکریپت تراکتور

اسکریپت تراکتور(traktor) یک پروژه آزاد و متن باز هست که برای سهولت نصب و کانفیگ تور و بسته های همراهش برای توزیع های مختلف نوشته شده.

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

توریع هایی که تراکتور ازشون پشتیبانی میکنه:
دبین بیس ها
فدورا بیس ها
آرچ بیس ها
اوپن سوزه بیس ها

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

 

$ wget https://gitlab.com/GNULand/TraktorPlus/Traktor/repository/master/archive.zip O Traktor.zip
$ unzip Traktor.zip d $HOME/Traktor && cd $HOME/Traktor/*
$ chmod +x installer.sh
$ ./installer.sh

پاک کردن برنامه:
به پوشه traktor برین و دستور زیر رو وارد کنید:
برای دبیان بیس ها:

 ./uninstall_debian.sh

برای اوپن سوزه بیس ها:

  ./uninstall_opensuse.sh

اگر علاقه‌مند به گسترش و کمک به این اسکریپت هستید، همین الان به گیت‌لب این اسکریپت سر بزنید و سعی در بهتر کردن اسکریپت کنید…

اگه دوست دارین بیشتر راجب این اسکریپت و نحوه کارکردنش بدونین به صفحه گیت لب تراکتور مراجعه کنین :ـ)


بهمن ۸ ۱۳۹۶

اسکریپت تراکتور

اسکریپت تراکتور(traktor) یک پروژه آزاد و متن باز هست که برای سهولت نصب و کانفیگ تور و بسته های همراهش برای توزیع های مختلف نوشته شده.

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

توریع هایی که تراکتور ازشون پشتیبانی میکنه:
دبین بیس ها
فدورا بیس ها
آرچ بیس ها
اوپن سوزه بیس ها

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

 

$ wget https://gitlab.com/GNULand/TraktorPlus/Traktor/repository/master/archive.zip O Traktor.zip
$ unzip Traktor.zip d $HOME/Traktor && cd $HOME/Traktor/*
$ chmod +x installer.sh
$ ./installer.sh

پاک کردن برنامه:
به پوشه traktor برین و دستور زیر رو وارد کنید:
برای دبیان بیس ها:

 ./uninstall_debian.sh

برای اوپن سوزه بیس ها:

  ./uninstall_opensuse.sh

اگر علاقه‌مند به گسترش و کمک به این اسکریپت هستید، همین الان به گیت‌لب این اسکریپت سر بزنید و سعی در بهتر کردن اسکریپت کنید…

اگه دوست دارین بیشتر راجب این اسکریپت و نحوه کارکردنش بدونین به صفحه گیت لب تراکتور مراجعه کنین :ـ)


بهمن ۶ ۱۳۹۶

جلسهٔ دویست و چهل

تاریخ برگزاری جلسه: ۱۳۹۶/۱۱/۱۹
موضوع: جلسهٔ گروه کاربران گنو/لینوکس تهران
جلسهٔ ۲۴۰ گروه کاربران گنو/لینوکس تهران در روز پنج‌شنبه، ۱۹ بهمن ماه از ساعت ۱۴:۳۰ الی ۱۹ در محل شتاب‌دهنده آواتک به نشانی « جاده مخصوص کرج، جنب متروی بیمه، خط کندرو، بین کوچه بیمه ۲ و بیمه ۳، پلاک ۳۱، (محل سابق کارخانه الکترودسازی آما) کارخانه نوآوری » برگزار خواهد شد. شرکت در این رویداد همانند جلسات گذشته برای کلیه علاقه‌مندان، آزاد و رایگان می‌باشد.برگزار خواهد شد.
ثبت‌نام رایگان جهت حضور در جلسه
فرم ارسال ارائه برای جلسات آینده

بهمن ۴ ۱۳۹۶

آموزش رایتر: قسمت سوم، نحوه نمایش نوارابزارها

نوشته شده توسط فرشید نوتاش حقیقت.

رایتر نوارابزارها را به روش‌های مختلف نمایش می‌دهد: قفل شده (ثابت در محل)، یا شناور. بعضی از نوارابزارها بخش‌هایی دارند که می‌توان آن‌ها را جدا نمود. نوارابزار قفل شده در محل را می‌توان به مکان مختلف حرکت داد یا اینکه آن را به صورت شناور درآورد. نوارابزار شناور نیز می‌تواند قفل شود.

نمایش یا پنهان کردن نوارابزارها

برای نمایش یا پنهان کردن نوارابزارها، مسیر View Toolbar را انتخاب کنید. سپس بر روی لیست نوارابزارها کلیک کنید. نوارابزارهای فعال دارای یک علامت چکمارک (تیک) در کنار نام است. نوارابزارهای جداشونده در لیست منوی View وجود ندارد.

زیرمنوها و نوارابزارهای جداشونده

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

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

حرکت دادن نوارابزار

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

برای حرکت دادن نوار ابزار شناور، بر روی دسته نوار کلیک کنید و آن را به بخش جدید بکشید.

قفل کردن/ شناور کردن پنجره‌ها در نوارابزارها

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

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

برای اینکه پنجره از حالت قفل خارج شود، Ctrl را پایین نگه داشته و در قاب آن (یا منطقه خالی در نزدیکی دکمه‌ها در بالای پنجره) از پنجره قفل شده دوبار کلیک کنید.

قفل کردن اتوماتیک

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

اگر بر روی دکمه‌ای (سه نقطه‌ها در انتهای هر پنجره) که بر روی لبه پنجره نشان داده می‌شود کلیک کنید پنجره قابل مشاهده باقی می‌ماند تا اینکه به‌صورت دستی (با همان دکمه) دوباره آن را پنهان کنید.

سفارشی‌سازی نوارابزارها

می‌توان به روش‌های مختلف، نوارابزار را تغییر داد. برای این کار بین دکمه‌هایی که روی نوارابزار است کلیک راست کرده و از دکمه‌های تعریف شده، موارد نظر را انتخاب و به نوارابزار اضافه کنید.

برای نمایش یا عدم نمایش دکمه‌های تعریف شده در نوارابزار کلیک راست نموده و در بخش دکمه‌های Visible از منوی نوارابزار را انتخاب کنید.

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

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


بهمن ۳ ۱۳۹۶

آموزش خط فرمان: قسمت سوم، حرکت در خط فرمان

نوشته شده توسط فرشید نوتاش حقیقت.

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

فرمان ls: لیست کردن محتوای دایرکتوری

فرمان file: مشاهده محتویات فایل

فرمان less: آشنایی بیشتر با فرمان ls

با استفاده از ls می‌توان محتویات دایرکتوری را مشاهده کرد و انواع مختلفی از ویژگی‌های فایل و دایرکتوری را تعیین نمود.

علاوه بر دایرکتوری جاری، می‌توان هر دایرکتوری دلخواهی را با فرمان ls اجرا کرد:

یا حتی چندین دایرکتوری را مشخص نمود. در این مثال از دایرکتوری home کاربر (که با ~ نشان داده شده) و دایرکتوری /usr استفاده شده است:

همچنین می‌توان فرمت خروجی را برای نمایش جزئیات بیشتر تغییر داد:

با افزودن –l به فرمان، خروجی با فرمت طولانی‌تری نمایش داده خواهد شد.

گزینه‌ها و آرگومان‌ها (Options and Arguments)

فرمان‌ها به کمک یک یا چند گزینه (Option) و آرگومان (Argument) رفتار خود را می‌توانند تغییر دهند. بنابراین فرمت اکثر فرمان‌ها چنین است:

command –options argument

اکثر فرمان‌ها از گزینه‌های متشکل از یک کاراکتر به همراه خط تیره استفاده می‌کنند. (مانند -l) اما برخی از فرمان‌ها از جمله آن‌هایی که از پروژه GNU پشتیبانی می‌کنند، متشکل از یک کلمه به همراه دو خط تیره هستند. همچنین بسیاری از فرمان‌ها اجازه می‌دهند تا گزینه‌های چندگانه با هم هماهنگ شوند. در این مثال، فرمان ls دارای دو گزینه است. گزینه l برای تولید خروجی فرمت طولانی و گزینه t برای مرتب‌سازی نتایج بر اساس زمان اصلاح فایل می‌باشد:

در ادامه گزینه طولانی –reverse را برای مرتب‌سازی به‌صورت معکوس اضافه شده است:

فرمان ls تعداد زیادی از گزینه‌ها را داراست که به برخی از آن‌ها اشاره می‌کنیم:

شرح Long Option Option
تمامی فایل‌های موجود (حتی فایل‌های hidden) را لیست می‌کند. –all -a
اگر دایرکتوری مشخص شود فرمان ls محتویات دایرکتوری را لیست می‌کند، نه خود دایرکتوری را. –directory -d
این گزینه یک کاراکتر شاخص را به انتهای هر نام اضافه می‌نماید. (به‌عنوان مثال در جلوی نام یک پوشه، علامت اسلش قرار می‌گیرد.) –classify -F
در لیست‌های طولانی، اندازه فایل‌ها را به جای استفاده از بایت در فرمت قابل خواندن برای انسان نمایش می‌دهد. –human-readable -h
نتایج را با فرمت طولانی نمایش می‌دهد. -l
نتایج را به‌صورت معکوس مرتب می‌کند. معمولاً فرمان ls نتایج را به ترتیب حروف الفبا نمایش می‌دهد. –reverse -r
نتایج را بر اساس سایز نمایش می‌دهد. -S
نتایج را بر اساس زمان اصلاح نمایش می‌دهد. -t

تعیین نوع فایل با فرمان file

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

file filename

هنگام اجرا، فرمان file توضیحی مختصر را از محتویات فایل چاپ می‌کند. به عنوان مثال:

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

مشاهده محتویات فایل با فرمان less

فرمان less برنامه‌ای برای مشاهده فایل‌های متنی است. در لینوکس فایل‌های زیادی هستند که متن قابل خواندن می‌باشد. فرمان less برنامه‌ای برای مشاهده فایل‌های متنی است.

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

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

less filename

به محض شروع، فرمان less اجازه می‌دهد تا از طریق یک فایل متنی به جلو و عقب حرکت کنید. به‌عنوان مثال، برای بررسی فایل که تمام حساب‌های کاربر سیستم را تعریف می‌کند، فرمان زیر را وارد کنید:

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

فعالیت فرمان
یک صفحه به عقب می‌رود. Page Up  یا b
یک صفحه به جلو می‌رود. Page Down یا Spacebar
یک خط بالا می‌رود. کلید جهت‌نمای بالا
یک خط پایین می‌رود. کلید جهت‌نمای پایین
به انتهای فایل متنی می‌رود. G
به ابتدای فایل متنی می‌رود. ۱G یا g
characters را رو به جلو جستجو می‌کند. /characters
برای رویداد بعدی رو به عقب جستجو می‌کند. n
صفحه راهنما (help) را نمایش می‌دهد. h
از less خارج می‌شود. q

منبع: کتاب The Linux Command Line نوشته William E. Shotts

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


بهمن ۲ ۱۳۹۶

آموزش رایتر: قسمت دوم، نوار وضعیت

نوشته شده توسط فرشید نوتاش حقیقت.

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

وضعیت صفحات سند

در ابتدای نوار وضعیت شماره جاری صفحه، تعداد کل صفحات در سند و شماره صفحه نمایش داده می‌شود. به عنوان مثال، اگر شماره صفحه ۱ را روی صفحه سوم قرار دهیم، شماره صفحه آن ۱ و شماره توالی آن ۳ خواهد بود.

برای پرش به یک صفحه خاص در سند، بر روی شماره صفحه کلیک می‌کنیم تا پنجره Navigator باز شود. در بخش شماره صفحه، شماره صفحه مورد نظر را وارد می‌کنیم. همانطور که در تصویر زیر نشان داده شده است.

تعداد کلمه و کاراکتر درون سند در نوار وضعیت نشان داده شده است و به روز نگه داشته می‌شود.

برای نمایش شمارش کاراکتر به استثنای فاصله‌های بین آن‌ها بر روی تعداد کلمه در نوار وضعیت کلیک و یا گزینه Tools>>Word Count را انتخاب کنید.

سبک صفحه

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

نمایش زبان صفحه

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

حالت درج

این منطقه زمان درج خالی است، برای تغییر به حالت رونوشت (Overwrite) بر روی این بخش کلیک نمایید. در حالت رونوشت، متن جدید بر روی متن قبلی جایگزین می‌شود.

نمایش مشخصات آیتم انتخاب شده

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

مشخصات چیدمان

در این بخش نحوه نمایش سند به‌صورت تک‌صفحه‌ای، دو صفحه‌ای و سندهای پشت و رو تنظیم می‌شود.

بزرگ‌نمایی

برای تغییر بزرگ‌نمایی می‌توان از نوار لغزنده یا نشانه‌های + و – یا کلیک راست بر روی درصد استفاده نمود.

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

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


بهمن ۱ ۱۳۹۶

آموزش خط فرمان: قسمت دوم، ناوبری در ترمینال

نوشته شده توسط فرشید نوتاش حقیقت.

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

فرمان pwd: نمایش نام دایرکتوری جاری

فرمان cd: تغییر دایرکتوری

فرمان ls: لیست کردن محتوای دایرکتوری

درک درخت فایل‌سیستم

همانند ویندوز، سیستم‌عامل لینوکس فایل‌های خود را به‌صورت سلسله‌مراتبی در دایرکتوری‌ها قرار می‌دهد که به آن ساختار دایرکتوری سلسله‌مراتبی (hierarchical directory structure) گفته می‌شود. این بدین معنی است که فایل‌ها در یک الگوی درختی از دایرکتوری‌ها (که بعضاً به آن‌ها Folder هم می‌گویند.) سازماندهی می‌شود.

اولین دایرکتوری موجود در فایل‌سیستم، دایرکتوری ریشه (root directory) نام دارد. دایرکتوری root که با علامت / نمایش داده می‌شود شامل تمامی فایل‌ها و زیردایرکتوری‌ها است که خود آن‌ها نیز فایل‌ها و دایرکتوری‌هایی را شامل می‌شوند.

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

دایرکتوری جاری (دایرکتوری کاری)

اکثر ما احتمالاً با یک مدیر گرافیکی که درخت فایل‌سیستم را نشان می‌دهد، آشنا هستیم. (همانند شکل زیر)

تصویر فوق گویای نمایش سلسله‌مراتبی دایرکتوری‌ها است اما باید توجه داشت که خط فرمان هیچ‌گونه نمای بصری ندارد. بنابراین برای حرکت در درخت فایل‌سیستم باید از روش دیگری استفاده کرد. در خط فرمان و در هر زمان معین همیشه در یک دایرکتوری خاص هستیم و می‌توان فایل‌های موجود در دایرکتوری و مسیر دایرکتوری بالاتر (دایرکتوری والد) و زیردایرکتوری‌ها را مشاهده کرد. دایرکتوری که در آن هستیم دایرکتوری جاری نام دارد که برای نمایش آن از فرمان pwd (سرنام واژگان print working directory) استفاده می‌شود:

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

لیست محتویات یک دایرکتوری

برای لیست کردن فایل‌ها و دایرکتوری‌های دایرکتوری جاری از فرمان ls استفاده می‌شود:

در واقع می‌توان از فرمان ls برای لیست کردن محتویات هر دایرکتوری استفاده کرد.

تغییر دایرکتوری جاری

برای تغییر جاری از فرمان cd استفاده می‌شود. برای استفاده ابتدا cd را تایپ کرده و پس از آن نام دایرکتوری مورد نظر نوشته می‌شود. نام دایرکتوری در واقع مسیری است متشکل از شاخه‌های درخت فایل‌سیستم و دایرکتوری که می‌خواهیم به آن دسترسی داشته باشیم. به این مسیر اصطلاحاً Pathname می‌گویند که می‌توان آن را با دو روش مطلق و نسبی مشخص کرد. ابتدا با روش مطلق شروع می‌کنیم.

Pathname مطلق

Pathname مطلق با دایرکتوری ریشه شروع شده و پس از آن زیرشاخه‌های مربوطه نوشته می‌شود تا مسیر دایرکتوری یا فایل تکمیل شود. به عنوان نمونه، یک دایرکتوری در سیستم وجود دارد که اکثر برنامه‌های سیستم در آن نصب شده‌اند. Pathname این دایرکتوری /usr/bin می‌باشد. این بدین معناست که در دایرکتوری ریشه (علامت /) دایرکتوری دیگری با نام usr وجود دارد که حاوی دایرکتوری bin می‌باشد.

مشاهده می‌شود که دایرکتوری جاری به /usr/bin تغییر یافته است که حاوی فایل‌های متعددی است. توجه داشته باشید اعلان پوسته چگونه تغییر یافته است به جای دایرکتوری home (علامت ~) دایرکتوری جاری یعنی bin قرار گرفته است.

Pathname نسبی

یک Pathname مطلق از دایرکتوری root شروع شده و به مقصد آن منتهی می‌شود اما Pathname نسبی از دایرکتوری جاری شروع می‌شود. برای این کار، از دو علامت خاص برای نشان دادن Pathname نسبی استفاده می‌شود. این علائم ویژه، نقطه (.) و دونقطه (..) می‌باشد. نماد نقطه به دایرکتوری جاری و نماد دونقطه به دایرکتوری والد دایرکتوری جاری اشاره می‌کند.

حال به چگونگی کارکرد آن خواهیم پرداخت. به عنوان نمونه دایرکتوری جاری را دوباره به /usr/bin تغییر دهید:

اکنون می‌خواهیم دایرکتوری کاری را از /usr/bin به والد آن یعنی /usr تغییر مسیر دهیم. برای این کار می‌توان از دو روش استفاده کرد. روش Pathname مطلق:

یا به‌وسیله Pathname نسبی:

در هر دو روش نتیجه، یکسان است. حال باید از کدام یک استفاده کنیم؟ از روشی که نیاز به تایپ کمتری دارد!

به همین ترتیب می‌توان دایرکتوری جاری را از /usr به /usr/bin تغییر دهیم، روش Pathname مطلق:

و یا از طریق روش Pathname نسبی:

برخی از میانبرهای مفید

نتیجه

میانبر
دایرکتوری جاری را به دایرکتوری home سیستم شما تغییر می‌دهد. cd
دایرکتوری جاری را به آخرین دایرکتوری جاری تغییر می‌دهد. cd –
دایرکتوری جاری را به دایرکتوری home کاربر username تغییر می‌دهد. به عنوان مثال cd ~bob دایرکتوری جاری را به دایرکتوری home کاربر bob تغییر می‌دهد. cd ~username

منبع: کتاب The Linux Command Line نوشته William E. Shotts

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


دی ۳۰ ۱۳۹۶

اقتصاد رمزپولی و ویرگول؛ بازگشت وبلاگ نویسی

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

از اینها که بگذریم، چرا اصلا این عنوان رو برای مطلب انتخاب کردم؟ دلیل خاصی نداشت و واقعا هم قصد نداشتم که وارد مباحث تحلیلی و پیچیده «رمزپول» ها بشم، ولی دوست داشتم یکی دو تا از مطالب روز که در فضای وب فارسی هم خیلی مطرح هستند رو پوشش بدم. اولیش هم همین «رمزپول» یا پولهای دیجیتالی مثل بیت‌کوین و اتریوم و مونرو و … .
چیزی که برای من در این زمینه خیلی جالب شده، اینه که کم کم اقتصاد داره به سمت معامله با این پولها میره و پولهای کلاسیک – که یعنی یک پشتوانه پر ارزش داشتند، اون هم در خزانه ها و بانکهای بزرگ کشورها – کم کم کنار زده میشن. کم‌کم، سرویسهای آنلاینی که ازشون خرید میکنیم (یا چیزی رو روی اونها میفروشیم) هم دارند قبول می‌کنند که این پولها رو هم در کنار پولهای کلاسیک بپذیرند.
خب چیزی که واضحه، این پولها احتمالا توجه تاجران و سرمایه داران بزرگ هم به خودشون جذب میکنن و این یعنی جایگزین شدنشون با پولهای بین المللی و احتمالا به شکل قابل توجهی «جهان‌وطنی» شدن صنعت و تجارت (باز هم در انحصار عده‌ای خاص؟).
البته ما ، بعنوان جوامع گیک و نِرد هم صرفا این پولها رو مطالعه میکنیم، کاوش (ماین) میکنیم و بعضا ممکنه برای خرید و فروشهای ساده (مثل همونایی که از داخل یا خارج امکان معامله‌شون نیست، مثل خرید نرم افزار یا سرویس) استفاده‌شون کنیم و همین باعث شده که زندگی جماعت گیک حداقل کمی بهتر بشه.

و اما ویرگول! درست همین «،» ساده که هیچوقت نفهمیدیم ویرگول اسم درستشه یا کاما، شده اسم یک سرویس ایرانی برای میکروبلاگینگ (لینک) و بسیاری از وبلاگ نویسهای قدیمی که در «وبلاگستان» فعال بودند، دوباره سمتش اومدند و شروع کردن به نوشتن.
چه اونهایی که پست های مینیمال دو سه خطی می‌نوشتند، چه اونهایی که مثل من عادت به روده‌درازی و طومار نویسی داشتند. بهرحال تریبون کسانی که به دور از فیسبوک و توییتر و … میخوان که شنیده و دیده و خونده بشن، همین وبلاگهاست. همین فضاهای چند مگابایتی روی اینترنت!
از ظهور ویرگول خوشحال شدم، چون خیلی وقت پیش تلگراف (لینک) رو دیده بودم که عموما به زبان انگلیسی می‌نویسند (چندین پست از پاول دوروف، مدیرعامل تلگرام اونجا خوندم) و فهمیدم یک شکل جدید از وبلاگ نویسی رو به بازار عرضه کرده، در این فکر بودم که چرا فارسیش نیست؟ و حتی به فکر پیاده سازی یکی از اونها افتادم که دیدم ویرگول به خوبی و زیبایی پیاده سازی شده.

خلاصه، این یک مطلب طولانی و شاید غیرعلمی بود که پس از مدتها نوشتم، برای نویسندگی در وبلاگ برنامه های زیادی دارم 🙂

Share


دی ۳۰ ۱۳۹۶

آموزش اوبونتو: قسمت اول، آشنایی با محیط

نوشته شده توسط فرشید نوتاش حقیقت.

در این آموزش قصد داریم شما را با محیطی که پس از نصب اوبونتو با آن روبرو می‌شوید، آشنا کنیم.

دسکتاپ اوبونتو

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

Unity

تمامی سیستم‌عامل‌های مبتنی بر gui از یک محیط دسکتاپی که دارای ویژگی‌هایی است بهره می‌برند.

اوبونتو به‌طور پیش‌فرض از دسکتاپ Unity استفاده می‌کند.

پس‌زمینه دسکتاپ

محیط یونیتی شامل یک پس‌زمینه دسکتاپ و دو نوار که یکی از آن‌ها بصورت افقی بوده و دیگری عمودی است. نوار افقی بالای صفحه منوبار (Menu Bar) و نوار عمودی سمت چپ لانچر (Launcher) نام دارد. در زیر منوبار تصویری کل دسکتاپ را تحت سلطه خود درآورده که به این تصویر، تصویر پس‌زمینه (Background) گویند.

منوبار

منوبار شامل توابع متداولی است که در اوبونتو استفاده می‌شود. آیکون‌ها در سمت راست منو در ناحیه‌ای از نوار منو به نام ناحیه نشانگر (Indicator) یا ناحیه اطلاع‌رسانی (notification) واقع شده‌اند.

هر اوبونتو نصب شده ممکن است آیکون‌های متفاوتی را بر اساس تعدادی از عوامل، از جمله سخت‌افزار و لوازم جانبی نمایش دهد.

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

Network Indicator که ارتباطات شبکه را مدیریت می‌کند و به شما این امکان را می‌دهد که به سرعت و به آسانی به یک شبکه سیمی یا بی‌سیم متصل شوید.

Text Entry Settings که اگر شما بیش از یک زبان صفحه‌کلید را نصب کرده باشید مانند EN و FA نمایان می‌شود که به کمک آن قادر خواهید بود آن را تغییر دهید.

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

Sound Indicator راهی آسان برای تنظیم صدا و همچنین دسترسی به پخش‌کننده موسیقی و تنظیمات صدا را فراهم می‌کند.

Clock ساعت فعلی را نشان می‌دهد و یک پیوند به تقویم و تنظیمات زمان و تاریخ را برقرار می‌سازد.

Session Indicator دارای تنظیمات سیستم، راهنمای اوبونتو و گزینه‌هایی چون قفل کردن کامپیوتر، logging یا ریستارت کامپیوتر و یا خاموش کردن آن می‌باشد.

هر برنامه‌ای شامل منوهای مختلفی چون File، Edit، View و … هست که با باز کردن آن در سمت منو بار نمایش داده می‌شوند. برای نمایش منوهای برنامه، کافی است ماوس خود را به نوار منوی دسکتاپ در بالای صفحه حرکت دهید تا منوهای برنامه نمایش داده شوند.

شما می‌توانید از طریق Appearance در System Setting این قابلیت را غیرفعال کنید. در زبانه Behavior در زیر Show the menus for a window گزینه In the windows title bar را انتخاب کنید.

The Launcher

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

تمامی برنامه‌های در حال اجرا شما تا زمانی که بسته نشده‌اند به‌صورت یک آیکون بر روی لانچر دیده می‌شوند.

برای تغییر سایز آیکون‌های لانچر از طریق System Setting و گزینه Appearance و زبانه Look می‌توانید اقدام کنید.

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

به‌طور پیشفرض آیکون‌های دیگری شامل File Manager، LibreOffice، Firefox، دستگاه‌های متصل (مانند فلش مموری) و سطل زباله در لانچر وجود دارد.

اجرای برنامه‌ها

برای اجرای یک نرم‌افزار که بر روی لانچر قرار دارد با کلیک کردن بر روی آن به راحتی آن را اجرا خواهید کرد.

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

همچنین می‌توانید برنامه‌ها را از طریق Dash اجرا کنید که در آموزشی مجزا بدان خواهیم پرداخت.

افزودن و حذف برنامه‌ها بر روی لانچر

برای اضافه کردن یک برنامه به لانچر دو روش وجود دارد:

روش اول – Dash را گشوده و برنامه‌ای که می‌خواهید پیدا کرده سپس آیکون آن را با ماوس کشیده و بر روی لانچر رها کنید.

روش دوم – برنامه‌ای که می‌خواهید به لانچر اضافه کنید اجرا کرده و سپس روی آن کلیک راست کنید و گزینه Lock to Launcher را برگزینید.

برای حذف یک برنامه از لانچر کافی است بر روی آیکون آن کلیک راست کرده و گزینه Unlock from Launcher را انتخاب کنید.

در آموزش بعدی به آیتم Dash خواهیم پرداخت.

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


دی ۲۹ ۱۳۹۶

آموزش رایتر: قسمت اول، آشنایی با محیط کار نرم‌افزار

نوشته شده توسط فرشید نوتاش حقیقت.

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

در خط بعد، منوهای برنامه را مشاهده می‌کنیم و در خط بعدی ابزارهای استاندارد واژه‌پرداز نمایان هستند که به‌وسیله منوی View>>Toolbars قابل اضافه یا حذف شدن هستند. در بخش میانی، اصطلاحاً صفحه کاغذ قرار دارد که می‌توانیم نامه، گزارش، کتاب، مجله و غیره را در این قسمت بنویسیم و یا ویرایش کنیم. در کنار و بالای این صفحه نوار باریکی با شماره‌هایی مشخص شده‌اند، که به آن خط‌کش گفته می‌شود. در انتهای پنجره نوار وضعیت قرار دارد. در سمت راست نوار وضعیت می‌توانیم بزرگ‌نمایی سند را تنظیم کرده و حالت خواندن، دو صفحه‌ای و تک صفحه‌ای را فعال کنیم.

نوار عنوان

نوار عنوان (Title Bar) در بالای پنجره رایتر قرار گرفته که نام فایل سند جاری را نشان می‌دهد وقتی که سند به تازگی ایجاد شده، نام سند Untiled X است که X یک عدد خواهد بود.

نوار منو اصلی

نوار منو اصلی (Menu Bar) در زیر نوار عنوان قرار گرفته است. زمانی که شما یکی از منوها را انتخاب می‌کنید یک زیرمنو ظاهر خواهد شد که بیشتر دستورات آن شامل موارد زیر است:

دستورات اجرایی، مانند Close یا Save کردن، که در منوی File موجود است.

Commands: کادرهای محاوره‌ای را باز می‌کنند که در انتهای آن سه نقطه وجود دارد، مانند Find یا Paste Special که در منوی Edit موجود است.

گزینه‌هایی که خود دارای زیرمنو هستند و بیشتر با پیکان مشکی که به سمت راست اشاره دارد مانند Toolbars و Zoom در منوی View، حرکت دادن مکان‌نما بر روی آن باعث باز شدن آن می‌شود.

نوار ابزار استاندارد (Standard Toolbar)

نوار ابزار استاندارد به‌صورت پیش‌فرض در زیر نوار منوی اصلی قرار دارد که ابزارهای پر کاربرد را نمایش می‌دهد، مانند: ذخیره‌سازی، چاپ، ایجاد سند جدید، این نوار ابزار در تمامی برنامه‌های LibreOffice وجود دارد. (Writer، Calc، Impress، Draw)

نوار قالب‌بندی

نوار قالب‌بندی (Formatting Toolbar) دومین نوار ابزاری است که با انتخاب متن یا عکس متفاوت می‌شود، یعنی در هنگام کار با متن، نوار قالب‌بندی گزینه‌های ویژه کاراکترها را نمایش داده و هنگامی که مکان‌نما بر روی تصویر قرار می‌گیرد نوار ابزارهای مخصوص تصاویر را نشان می‌دهد.

نوار ابزار تصاویر به‌صورت قفل شده در انتهای صفحه‌نمایش، نمایش داده می‌شود. یک نوار ابزار فرعی برای گلوله و شماره‌گذاری (Bullet and Numbering) در کنار نوار ابزار قالب‌بندی نمایش داده می‌شود.

نوار وضعیت

نوار وضعیت (Status Bar) در پایین فضای کاری واقع شده است. این نوار ابزار اطلاعاتی درباره سند و راه‌های مناسب برای تغییرات سریع برخی از ویژگی‌های سند را فراهم می‌کند. این نوار ابزار را می‌توان در منوی View پنهان یا آشکار کرد. همانطور که در تصویر نشان داده شده است:

نوار کناری

برای فعال کردن نوار کناری، Sidebar را از منوی View انتخاب می‌کنیم. نوار کناری شامل هفت آیتم تنظیمات، خصوصیات (Properties)، سبک‌ها و قالب‌بندی‌ها (Styles and Formatting)، گالری (Gallery)، دیدبان (Navigator)، مدیریت تغییرات (Manage Changes) و طراحی (Design) است.

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

سبک و قالب‌بندی: در این بخش سبک‌های مورد استفاده سند را می‌توان مدیریت کرد.

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

دیدبان: فهرست کردن یک سند و سازماندهی مجدد محتوای آن با انتخاب کردن دسته‌بندی‌های مطالب مختلف از جمله سرفصل‌ها، جداول، قاب، گرافیک و … صورت می‌گیرد.

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

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


دی ۲۸ ۱۳۹۶

آموزش خط فرمان: قسمت اول، Shell چیست؟

نوشته شده توسط فرشید نوتاش حقیقت.

وقتی از خط فرمان سخن می‌گوییم در واقع به Shell (پوسته) اشاره می‌کنیم. Shell برنامه‌ای است که فرمان‌ها را از صفحه‌کلید می‌گیرد و به سیستم‌عامل منتقل می‌کند. تقریباً تمامی توزیع‌های لینوکسی یک برنامه Shell را از پروژه GNU تحت عنوان bash پشتیبانی می‌کنند. Bash سرنام واژگان Bourne Again Shell بوده که توسط استیو بورن نوشته شده است.

شبیه‌سازهای ترمینال

هنگام استفاده از یک رابط گرافیکی نیازمند برنامه دیگری تحت عنوان شبیه‌ساز ترمینال برای تعامل با پوسته خواهید بود. KDE از console و GNOME از gnome-terminal استفاده می‌کند. تعداد دیگری از شبیه‌سازهای ترمینال برای لینوکس وجود دارد که اساس کار آن‌ها یکسان است و امکان دسترسی به پوسته را به ما می‌دهد.

هنگامی که شبیه‌ساز ترمینال را می‌گشایید، می‌بایست چیزی شبیه به این را ببینید:

این نشان‌دهنده اعلان پوسته (shell prompt) نامیده می‌شود. ممکن است اعلان پوسته در سیستم شما کمی متفاوت باشد. معمولاً نام کاربری username@machinename بوده و سپس دایرکتوری جاری (در این باره بیشتر توضیح خواهیم داد) و علامت دلار است.

اگر آخرین کاراکتر به جای دلار، # باشد بدین معنا است ترمینال دارای دسترسی‌ها و مجوزهای کاربر superuser می‌باشد. این بدین معناست که ما به‌عنوان کاربر root (ریشه) وارد شده‌ایم و یا یک ترمینال را با امتیازات superuser (چیزی شبیه Administrator در سیستم‌های ویندوزی) وارد شده‌ایم.

حال با تایپ کردن، ترمینال آزمایش می‌کنیم:

با توجه به اینکه این فرمان موجود نیست، پوسته به شما فرصت دیگری می‌دهد.

تاریخچه فرمان

اگر دکمه جهت‌نمای بالا را بفشارید مشاهده خواهید کرد که فرمان قبلی (kaekfjaeifj) پس از اعلان ظاهر می‌شود. به این ویژگی تاریخچه فرمان (Command History) می‌گویند. به‌طور پیشفرص اکثر توزیعات لینوکسی ۵۰۰ فرمان را به‌خاطر می‌سپارند. فشردن کلید جهت‌نمای پایین، فرمان قبلی را از بین می‌برد.

مکان‌نما (Cursor)

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

چند فرمان ساده

حال که اندکی با خط فرمان آشنا شده‌اید، به سراغ چند فرمان ساده می‌رویم. اولین فرمان، فرمان date است که زمان و تاریخ فعلی را نمایش می‌دهد:

فرمان بعدی، فرمان cal می‌باشد که به‌طور پیشفرض تقویم ماه جاری را نمایش می‌دهد:

برای دیدن مقدار فضای فعلی روی درایورهای دیسک خود از فرمان df استفاده خواهید کرد:

به همین ترتیب برای نمایش مقدار حافظه آزاد، از فرمان free استفاده می‌گردد:

با بستن پنجره ترمینال و یا با استفاده از فرمان exit می‌توانید از ترمینال خارج شوید:

منبع: کتاب The Linux Command Line نوشته William E. Shotts

نوشته آموزش خط فرمان: قسمت اول، Shell چیست؟ اولین بار در لینوکس سیزن پدیدار شد.


دی ۲۸ ۱۳۹۶

قرآن مطلا

به نام خداوند جان و خرد این روز ها با پدیده ای روبرو هستیم که میگه مردم اشکنه بخورند مردم سنگ به شکمشون ببندن. ولی میره قرآن مطلا درست میکنه. اینکه کجای کتاب خدا گفته شده پول مردم رو برای قرآن و در و پیکر طلا خرچ کنید نمیدونم ولی خیلی خوب میدونم که خداوند […]

نوشته قرآن مطلا اولین بار در گشتاسب مظفریان – GMozafarian. پدیدار شد.


دی ۲۷ ۱۳۹۶

تفاوت su و sudo در لینوکس

نوشته شده توسط فرشید نوتاش حقیقت.

اگر شما از جمله کاربران لینوکس می‌باشید، احتمالاً به sudo و su برخورده‌اید. حال سوال اینجاست که sudo با su چه تفاوتی دارد؟

su و sudo دو روش مختلف برای به‌دست آوردن دسترسی‌های root می‌باشد.

کاربر root

su و sudo هر دو برای اجرای فرامین با پرمیژن‌های root مورد استفاده قرار می‌گیرد. کاربر root (ریشه) معادل کاربر Administrator در ویندوز می‌باشد. کاربر ریشه دارای تمامی پرمیژن‌هاست که با آن می‌توانید هر کاری را در سیستم انجام دهید. کاربران معمولی در لینوکس با پرمیژن‌های کمتری کار می‌کند. به عنوان مثال کاربران عادی نمی‌توانند نرم‌افزار نصب کنند. برای انجام کاری که نیازمند این پرمیژن‌هاست می‌بایست از su یا sudo کمک گرفت.

su در مقابل sudo

وقتی فرمان su را بدون هیچ گزینه اضافه‌ای اجرا می‌کنید به super user یا کاربر ریشه سوئیچ می‌شوید که می‌بایست رمز عبور حساب کاربری root را وارد کنید. همچنین فرمان su می‌تواند برای سوئیچ به هر حساب کاربری به‌کار گرفته شود. اگر فرمان su bob را اجرا کنید، از شما رمز عبور Bob خواسته می‌شود و پوسته به حساب کاربری Bob تغییر خواهد کرد.

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

Sudo یک فرمان واحد را با امتیازات root اجرا می‌کند. وقتی فرمان sudo را اجرا می‌کنید، سیستم قبل از اجرای فرمان به عنوان کاربر ریشه از شما رمز عبور کاربر فعلی را خواستار می‌شود.

Su شما را به کاربر root سوئیچ می‌کند و از شما رمز عبور حساب کاربری root را می‌خواهد. این یکی از کلیدی‌ترین تفاوت‌های su و sudo می‌باشد.

Sudo یک فرمان واحد را با امتیازات root اجرا می‌کند و حساب کاربری را به کاربر root تغییر نمی‌دهد.

اوبونتو در مقابل سایر توزیعات لینوکسی

فرمان su روشی مرسوم برای دستیابی به پرمیژن‌های ریشه در لینوکس می‌باشد. فرمان sudo برای مدت طولانی وجود داشته اما اوبونتو اولین توزیع محبوب لینوکسی است که به‌طور پیش‌فرض با sudo کار می‌کند.

زمانی که اوبونتو را نصب می‌کنید، یک حساب root استاندارد ایجاد می‌شود، اما هیچ رمز عبوری برای آن اختصاص داده نمی‌شود. شما نخواهید توانست به عنوان root وارد سیستم شوید مگر آن که یک رمز عبور برای حساب کاربری root تخصیص دهید.

استفاده از sudo به‌جای su دارای مزایای زیادی است. کاربران اوبونتو فقط باید یک کلمه عبور را به یاد داشته باشند در حالی که فدورا و سایر توزیع‌ها نیاز به ایجاد رمزهای عبور ریشه و کاربر به‌صورت جداگانه در هنگام نصب دارند.

مزیت دیگر این است که اجازه ورود به سیستم به‌عنوان کاربر root و یا استفاده از su را برای دریافت پوسته root نمی‌دهد.

توزیعات مبتنی بر اوبونتو از جمله لینوکس مینت به‌طور پیش‌فرض از sudo به‌جای su استفاده می‌کنند.

چندین ترفند

برای اجرای یک فرمان به‌عنوان کاربر ریشه با su فرمان زیر را اجرا کنید:

su -c ‘command’

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

برای دریافت کامل پوسته ریشه، فرمان sudo –i را اجرا کنید.

شما باید رمز عبور حساب کاربری فعلی را به جای گذرواژه حساب کاربری root وارد کنید.

فعال کردن کاربر ریشه در اوبونتو

برای فعال کردن حساب کاربری root در اوبونتو، از فرمان زیر برای تنظیم رمز عبور برای آن استفاده کنید.

sudo passwd root

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

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

افزودن کاربران به فایل sudoers

فقط حساب‌های administrator می‌توانند فرامین را با sudo اجرا کنند. شما می‌توانید نوع حساب کاربری را از پنجره User Accounts configuration تغییر دهید.

اوبونتو به‌طور خودکار حساب کاربری ایجاد شده در هنگام نصب را به‌عنوان حساب administrator تعیین می‌کند.

اگر از توزیع لینوکسی دیگری استفاده می‌کنید، می‌توانید یک پرمیژن کاربری را برای استفاده از sudo با اجرای فرمان visudo با امتیازات root ایجاد کنید. (پیش از آن su یا su –c را اجرا کنید.)

خط زیر را به فایل اضافه کنید و به‌جای user نام حساب کاربری را قرار دهید:

user    ALL=(ALL:ALL) ALL

ابتدا Ctrl+X را زده و سپس Y را برای ذخیره فایل بفشارید. همچنین می‌توان یک کاربر را به یک گروه مشخص شده در فایل اضافه کنید.

نسخه‌های گرافیکی su

لینوکس نسخه‌های گرافیکی su را نیز پشتیبانی می‌کند و خواستار رمز عبور در محیط گرافیکی می‌شود. به‌عنوان مثال، می‌توان فرمان زیر را برای دریافت یک درخواست رمز عبور گرافیکی اجرا نمود و مرورگر ناتیلوس را با پرمیژن‌های root اجرا نمود. Alt+F2 را بفشارید تا فرمان را از یک نمایشگر گرافیکی اجرا کنید بدون آنکه از ترمینال استفاده کرده باشید.

gksu nautilus

gksu در پشت پرده از su یا sudo مبتنی بر توزیع لینوکس استفاده می‌کند.

منبع: howtogeek.com

نوشته تفاوت su و sudo در لینوکس اولین بار در لینوکس سیزن پدیدار شد.


دی ۲۶ ۱۳۹۶

نحوه مشاهده گروه‌هایی که یک حساب کاربری در آن عضو است

نوشته شده توسط فرشید نوتاش حقیقت.

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

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

groups

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

همچنین اگر یک نام کاربری را بعد از فرمان groups اضافه کنید، گروه‌هایی که آن کاربر عضو آن است نشان داده می‌شود. تنها کافی است از فرمت زیر تبعیت کنید:

groups  <username>

منبع: howtogeek.com

 

نوشته نحوه مشاهده گروه‌هایی که یک حساب کاربری در آن عضو است اولین بار در لینوکس سیزن پدیدار شد.


دی ۲۵ ۱۳۹۶

نمایش ستاره در محل تایپ پسورد sudo

همون طور که میدونید اجرای دستور sudo منوط به تایپ پسورد هست. اما در حین تایپ چیزی نشون داده نمیشه. میتونیم با یه کلک ساده کاری کنیم که موقع تایپ پسورد برای دستور sudo ستاره گذاشته بشه.
برای این کار باید فایل etc/sudoers/ رو ویرایش کنیم. راه صحیح و اصولیش اینه که با این دستور این کار رو بکنیم:
 sudo visudo
اما کار با این روش خیلی روی اعصابه! من با gedit به راحتی این کار رو میکنم:
sudo gedit /etc/sudoers
دنبال عبارت Defaults env_reset بگردید. و اون رو به Defaults env_reset,pwfeedback تغییر بدید. اگر نبود، اضافه کنید. فایل رو ذخیره کنید و در ترمینال دستور reset رو اجرا کنید تا تغییرات اعمال بشه.


دی ۲۵ ۱۳۹۶

نمایش ستاره در محل تایپ پسورد sudo

همون طور که میدونید اجرای دستور sudo منوط به تایپ پسورد هست. اما در حین تایپ چیزی نشون داده نمیشه. میتونیم با یه کلک ساده کاری کنیم که موقع تایپ پسورد برای دستور sudo ستاره گذاشته بشه.
برای این کار باید فایل etc/sudoers/ رو ویرایش کنیم. راه صحیح و اصولیش اینه که با این دستور این کار رو بکنیم:
 sudo visudo
اما کار با این روش خیلی روی اعصابه! من با gedit به راحتی این کار رو میکنم:
sudo gedit /etc/sudoers
دنبال عبارت Defaults env_reset بگردید. و اون رو به Defaults env_reset,pwfeedback تغییر بدید. اگر نبود، اضافه کنید. فایل رو ذخیره کنید و در ترمینال دستور reset رو اجرا کنید تا تغییرات اعمال بشه.


دی ۲۵ ۱۳۹۶

آموزش نصب دیتابیس TILE38 در لینوکس

tile38-logo

برای ذخیره ی اطلاعات، دیتابیس های مختلفی وجود دارد که هر کدام کاربرد خاص خود را دارند.TILE38 یک دیتابیس open source می باشد که قابلیت ذخیره ی اطلاعات جغرافیایی،شاخص مکانی و geofence را به صورت realtime دارا می باشد.

برخی از ویژگی های دیتابیس tile38 بنا به گفته ی سایت رسمی آن به شرح زیر می باشند :

 

  • Spatial index with search methods such as NEARBY, WITHIN, and INTERSECTS.
  • Realtime geofencing through persistent sockets or webhooks.
  • Object types of lat/lon, bbox, Geohash, GeoJSON, QuadKey, and XYZ tile.
  • Support for lots of Clients Libraries written in many different languages.
  • Variety of client protocols, including http (curl), websockets, telnet, and the Redis RESP.
  • Server responses are RESP or JSON.
  • Full command line interface.
  • Leader / follower replication.
  • In-memory database that persists on disk.

 

 

نصب tile38 در لینوکس :

 

روند نصب دیتابیس tile38 بسیار ساده می باشد.در این مطلب جهت نصب tile38 از توزیع CentOS 7.4 x86-64  استفاده شده است.برای نصب ابتدا به شاخه ی زیر بروید :

 

 

#cd /opt

 

اکنون از صفحه releases پروژه ی tile38 در github آخرین نسخه ی آن را بر اساس سیستم عامل خود دانلود کنید :

 

https://github.com/tidwall/tile38/releases

#wget -c https://github.com/tidwall/tile38/releases/download/1.10.0/tile38-1.10.0-linux-amd64.tar.gz

 

اکنون فایل دانلود شده را از حالت فشرده خارج نمایید :

 

#tar -xzvf tile38-1.10.0-linux-amd64.tar.gz

سپس وارد پوشه ی استخراج شده بروید :

 

 

#cd tile38-1.10.0-linux-amd64

 

اکنون جهت اجرای سرویس  tile38 کافیست تا دستور زیر را اجرا کنید :

 

#./tile38-server

 

توجه داشته باشید با اجرای دستور بالا tile38 در foreground اجرا خواهد شد.برای اجرا شدن آن در background می توان از systemd استفاده کرد.برای اینکار ابتدا فایل زیر را ایجاد کنید :

 

# vim /usr/lib/systemd/system/tile38.service

سپس خطوط زیر را درون آن وارد کنید و فایل را ذخیره کنید :

[Unit]
Requires=network.target
After=network.target

[Service]
Type=simple
User=root
Group=root
ExecStart=/opt/tile38-1.10.0-linux-amd64/tile38-server

ExecStop=/usr/bin/pkill tile38-server

[Install]
WantedBy=multi-user.target

 

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

 

 

# systemctl status tile38.service

# systemctl start tile38.service

# systemctl stop tile38.service

# systemctl enable tile38.service

# systemctl disable tile38.service

 

 

اگر از firewalld استفاده می کنید اکنون باید port 9851 که مربوط به سرویس tile38 است را باز کنید :

 

#firewall-cmd --zone=public --add-port=9851/tcp
#firewall-cmd --zone=public --add-port=9851/tcp --permanent

 

امید است تا از این مطلب استفاده لازم را ببرید.

 


دی ۲۳ ۱۳۹۶

فیلترشکن های دندان‌شکن

به نام خداوند جان و خرد این روزها همه در حال دست و پنجه نرم کردن با فیلترشکن های مختلف برای شکستن فیلتر پیام رسان محبوب تلگرام هستند; اما باید بدانیم که فیلتر شدن پیام رسان تلگرام تنها قسمت کوچکی از پروژه فیلترینگ جمهوری اسلامی‌ست. خوشبختانه بعد از فیلتر تلگرام دید جامعه نسبت به فیلترینگ […]

نوشته فیلترشکن های دندان‌شکن اولین بار در گشتاسب مظفریان – GMozafarian. پدیدار شد.


دی ۲۲ ۱۳۹۶

نحوه تغییر آدرس IP در خط فرمان لینوکس

نوشته شده توسط فرشید نوتاش حقیقت.

پی بردن به آدرس IP با استفاده از طریق یک رابط گرافیکی بسیار آسان است، اما آیا می‌دانستید که لینوکس به شما اجازه می‌دهد که آدرس IP کارت شبکه خود را با استفاده از یک فرمان ساده در خط فرمان تغییر دهید؟

این ترفند باید بر روی تمامی توزیع‌های لینوکسی مبتنی بر دبیان، از جمله اوبونتو کار کند. برای شروع، ifconfig را در ترمینال تایپ کرده و سپس دکمه Enter را بفشارید. این فرمان، تمام رابط‌های شبکه را در سیستم لیست می‌کند، بنابراین نام رابط کاربری را که می‌خواهید آدرس IP آن را تغییر دهید، یادداشت کنید.

برای تغییر تنظیمات نیز از فرمان ifconfig با چند پارامتر اضافی استفاده خواهد شد. فرمان زیر رابط شبکه eth0 را برای استفاده از آدرس IP به‌صورت ۱۰۲.۱۶۸.۰.۱ تغییر و ماسک زیرشبکه را به ۲۵۵.۲۵۵.۲۵۵.۰ تغییر می‌دهد:

sudo ifconfig eth0 192.168.0.1 netmask 255.255.255.0

اگر ifconfig را دوباره اجرا کنید، خواهید دید که رابط کاربری در تنظیمات جدیدی که به آن اختصاص داده‌اید، قرار گرفته است.

فرمان زیر به‌عنوان مثال gateway پیشفرض را برای رابط eth0 به ۱۹۲.۱۶۸.۰.۲۵۳ تنظیم می‌کند:

sudo route add default gw 192.168.0.253 eth0

برای دیدن تنظیمات جدید، نیاز به نمایش جدول مسیریابی خواهید داشت. کافی است تا فرمان زیر را اجرا کنید:

route -n

منبع: howtogeek

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


دی ۲۲ ۱۳۹۶

چطور مقالات علمی را درست انتخاب کنیم، بخوانیم و متوجه شویم؟

احتمالا شما هم مثل من به خوندن بلاگ پست‌ها، دنبال کردن فیدها و … معتاد شده باشید. من یاد گرفتم چطور یک تکنولوژی جدید رو یاد بگیرم، یاد گرفتم چطور و چقدر از یک کتاب مرجع رو بخونم ولی بلد نبودم چطور درست مقالات علمی رو بخونم (البته هنوزم هم بلد نیستم). این مورد آخر در دوره ارشد خیلی من رو اذیت کرد. از افراد زیادی پرسیدم که شما چطور مقاله می‌خونید و  تحقیق می‌کنید. هر کسی بنا به تجربه قبلی خودش و آزمون و خطاهایی که کرده بود روشی رو پیشنهاد می‌کرد ولی نقطه مشترک همه این بود که “ما هم درست نمی‌دونیم”. برای همین تصمیم گرفتم ببینم بزرگترها چی‌کار می‌کنند:)

چطور یک مقاله خوب انتخاب کنیم؟

(این بخش مفهومی از نوشته‌های دو دانشجوی دکتری MIT است)

خلاصه مقاله را بخون، اگر جذبت کرد به شکل‌ها، تصاویر و نمودارها یک نگاهی بینداز و نتیجه‌گیری رو بخون. مقاله خوبی به نظر میاد؟ برو بخش بعد وگرنه برو مقاله بعدی

اگر در این حوزه تخصص داری بخش Methods رو بخون، در غیر اینصورت Introduction رو 
هنوز هم فکر می‌کنی مقاله خوبیه؟ پس مقاله درستی رو انتخاب کردی. مقاله خوب رو باید خوب خوند!

چطور یک مقاله خوب را خوب بخوانیم؟

(این بخش هم مفهومی است از مقاله چطور مقاله بخوانیم از یکی از استادهای دانشگاه واترلو)

خوندن هر مقاله رو می‌شه به سه فاز تقسیم کرد. ایده کلی، فهمیدن کلی و فهم دقیق

ایده کلی: (حدود ۱۰ دقیقه)

عنوان مقاله، خلاصه و Introduction رو بخونید، بعد به سراغ عنوان‌ها و زیر عنوان‌ها برید و در نهایت نتیجه‌گیری رو بخونید. به مراجع مقاله نگاه کنید و ببینید کدوم یکی را تا حالا خوندید. الان باید بتونید بگید این مقاله در چه حوزه‌ای هست، چه زمینه‌ای داره، چه کسایی اون رو نوشتند و اصلا مقاله‌ای هست که برای خوندن نوشته شده باشه (well-written)؟ 

فهمیدن کلی: (حدود یک ساعت)

مقاله رو با دقت بالا ولی بدون جزئیات (مثلا اثبات‌ها) بخوان و کنار اون‌ حتما حاشیه‌نویسی انجام بده.

به اشکال، جدول‌ها، نمودارها و … دقت ویژه‌ای کن
مراجع مرتبط رو برای خوندن علامت‌گذاری کن

بعضی وقت‌ها در این مرحله مقاله رو متوجه نمی‌شیم، چرا؟ 

۱)موضوع جدید
۲)مقاله‌ای که بد نوشته شده
۳)خسته‌ایم

حالا چی‌کار کنیم؟

۱) بیخیال مقاله می‌شیم، به امید خدا که بهش احتیاج نداریم
۲)بعد از خوندن background این زمینه به سراغ مقاله میایم
۳)با قدرت میریم سراغ مرحله بعد

فهمیدن دقیق: (از ۱ ساعت تا ۵-۶ ساعت)

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

چطور یک مقاله خوب را خوب بفهمیم؟

(این بخش هم ترجمه آزادی است از نوشته یکی از اساتید دانشگاه تگزاس)

الف) چه کسی و از کجا مقاله را نوشته است؟

ب)معنی هر کلمه‌ای که نمی‌دانی بنویس، خواندن متن علمی با تست Reading کنکور متفاوت است

۱) Introduction را بخوان (دکتر قنبری از اساتید دانشگاه تهران هم روی این موضوع تاکید دارند که به جای Abstract حتما Introduction رو اول بخونید)

۲) سوال اساسی: این مقاله چه مشکلی را در زمینه خود حل می‌کند؟ (باید مشکل را فهمید نه زمینه را!)

۳)کارهای قبلی: چه‌کارهایی انجام شده؟ چه محدودیت‌هایی داشتند؟ باعث می‌شه درک بهتری از مقاله داشته باشی

۴)سوال تخصصی: دقیقا بفهم که نویسنده می‌خواسته چه مشکلی را حل کند. (چرا کارهای قبلی در حل این موضوع ناتوان بوده‌اند؟)

۵)نویسنده چه رویکردی برای حل مساله داشته؟ از چه روشی برای حل مساله استفاده کرده؟ (مثلا از الگوریتم X برای حل مساله Y)

۶)حالا بخش Methods رو بخون. به طور شماتیک کاری که انجام شده رو رسم کن، تا به صورت کلی این بخش رو نفهمیدی به سراغ بقیه بخش‌ها نرو

۷)Result رو بخون. برای هر شکل، جدول و تصویر چند خط بنویس که نشان‌گر چه چیزی بوده است.

۸)آیا Result مقاله به سوالات پاسخ می‌ده؟  داده ها و نتایج رو بدون توجه به مقاله تفسیر کن. (این مرحله وقت‌گیر ولی ارزشمنده)

۹) حالا بخش نتیجه‌گیری رو بخون. اینکه نویسنده چطور داده‌ها رو تفسیر‌ کرده.

۱۰) فک کنم وقتش باشه که Abstract رو خوند.

۱۱ و ۱۲) این مراحل اختیاریه، ولی خوبه که انجام بشوند. نظر دیگران رو در مورد مقاله بخون‌ و نگاهی به مراجع مقاله بنداز.

پ.ن:

به جز Google Scholar چندین سایت و ابزار مفید دیگه هم هست که میشه در این موارد ازشون استفاده کرد.

اگر کامپیوتری هستید حتما به سایت های scimagojr.com و csrankings.com یک نگاهی بندازید و در هر صورت از mendely استفاده کنید.

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

و در نهایت اگر این نوشته رو مفید می‌دونید اون رو به اشتراک بگذارید و ابزارها و سایت‌های دیگه‌ای که فکر می‌کنید مفید هستند رو در کامنت‌ها به دیگران معرفی کنید.


دی ۲۲ ۱۳۹۶

یک ماه زندگی و کار داوطلبانه در چین – مقدمه

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

آیسک:

طبق تعریف، آیسک یعنی:

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

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

پروژه Guangzhou Sungshine 2.0:

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


دی ۲۲ ۱۳۹۶

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

نکته: این مطلب اصلا سیاسی نیست!

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

قبل از گفتن روش بگذارید کمی در مورد رمزنگاری و هش بگم. به طور کلی الگوریتم‌های رمزنگاری به دو دسته تقسیم می‌شند، متقارن و نامتقارن. 

رمزنگاری متقارن: الگوریتم‌های این نوع رمزنگاری از یک کلید برای رمزگذاری و رمزگشایی استفاده می‌کنند، مثلا من و شما توافق می‌کنیم که پیام‌هامون رو با الگوریتم AES و کلید ۱۲۳۴۵۶۷۸۹ رمز کنیم و برای هم بفرستیم، امنیت این روش به امنیت الگوریتم و دونستن کلید برمیگرده. یعنی هر کس دیگه‌ای که بدونه کلید پیام‌های ما ۱۲۳۴۵۶۷۸۹ است می‌تونه پیام‌ها رو بخونه.

رمزنگاری نامتقارن: این الگوریتم‌ها از دو کلید استفاده می‌کنند، یکی برای رمزکردن و یکی برای رمزگشایی. نمونه معروف این نوع الگوریتم‌ها RSA است.  فرض کنید شما دوتا کلید به اسم A و B دارید، به طور استاندارد در این نوع الگوریتم‌ها قراره اگر پیامی با کلید A رمز شد، فقط با کلید B باز بشه و اگر با کلید B رمز شد، فقط با کلید A باز شه. (البته نمونه‌هایی هم هستند که فقط با یکی رمز و با یکی رمزگشایی می‌شند)

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

ec8956637a99787bd197eacd77acce5eV73PLV_m

کلید سبز رنگ کلید عمومی و کلید قرمز رنگ، کلید خصوصی است.

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

ولی یک حالت دیگه هم وجود داره، من قراره مطمئن بشم که یک محتوی از سمت شما برای من میاد، مثلا می‌خوام مطمئن بشم که شما یک ایمیل رو فرستاید. شما متن رو با کلید قرمز رنگ رمز می‌کنید، این موقع من یا هر کس دیگه‌ای که کلید سبز رو داشته باشه مطمئن میشه که این محتوی رو واقعا خود شما فرستاید. نکته مهم اینکه شما نمی‌تونید منکر این موضوع بشید که فرستنده این محتوی نیستید. از این قضیه (رمزگذاری با کلید خصوصی) برای عدم انکار و امضای دیجیتال استفاده می‌شه. حتی در کشورهایی مثل آمریکا برای امضای قراردادها استفاده می‌شه و کاملا حقوقیه.

هش (Hash): هش یعنی توابع یک‌ طرفه، یعنی وقتی یک ورودی به یک تابع هش داده می‌شه خروجی ای تولید می‌کنه که با دونستن اون نمیشه به ورودی رسید. مثلا خروجی تابع md5 (یکی از توابع معروف هش) به ورودی Moein Hosseini میشه ca6e1e3c12c635146943e1c11c1502ae که یک‌طرفست، یعنی با دونستن ca6e1e3c12c635146943e1c11c1502ae نمیشه به Moein Hosseini رسید. به جز اینکه یک جدول بزرگ از همه ورودی‌ها درست کنید و هش اون‌ها رو حساب کنید (Rainbow table) که البته برای اینکه این‌هم سخت و تقریبا غیر ممکن بشه بهش چیزی به اسم salt اضافه میشه، یعنی من یک مقدار رندوم و به ورودی تابع هش اضافه می‌کنم، یعنی این‌سری Moein Hosseini s*2js1Je رو هش می‌کنم که باعث میشه ساخت Rainbow table خیلی بزرگ و غیر ممکن بشه.

خوب بریم سراغ دموکراسی، برای این روز این اصول رو داریم:

نکته: منظور از دولت برگذار کننده انتخابات است.

۱- رای هیچ کس نباید مشخص بشه (حتی برای دولت)، یعنی حریم خصوصی هر شخص باید حفظ بشه.

۲- دولت موظفه همه رای‌ها رو در یک جدول منتشر کنه، به‌صورتی که فقط شخص رای دهنده متوجه بشه کودوم سطر جدول متعلق به خودشه. (مثلا من بدونم اون سطری که خونه A اون برابر فلان هش است، رای منه)

ec8956637a99787bd197eacd77acce5eTn6uxKFl

یک نمونه از جدول انتشاری در دولت

۳- در صورت دستکاری نتایج، شخص بتونه اثبات کنه

۴- در صورتی که سطر مربوط به شخص منتشر نشد، بتونه اثبات کنه که رای داده

۵- شخص نتونه به صورت دروغین ادعا کنه که به کس دیگه‌ای رای داده و در جدول رای دیگه‌ای براش ثبت شده

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

ec8956637a99787bd197eacd77acce5eBGguaHKT

روش تضمین عدم تقلب در انتخابات

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

برای رای دادن هر شخص یک مقدار که فقط خودش می‌دونه انتخاب می‌کنه (مثل پسورد)، حالا از کد ملی و اون مقدار هش می‌گیره، بعد از اون هش و رای خودش ({hashValue:Vote}) رو برای دولت می‌فرسته.

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

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

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

رای‌دهنده هم نمی‌تونه به دروغ بگه به شخص دیگه‌ای رای داده و تقلب شده، چون باید یک متن رمزشده با کلید خصوصی انتخابات داشته باشه که وقتی با کلید عمومی باز‌ میشه رای شخص در اون موجود باشه.

با مقدار هش موجود در جدول هم که هر شخص منحصرا هش خودش رو می‌دونه، حریم خصوصی اشخاص حفظ می‌شه.

پ.ن۱: البته یک باگ این الگوریتم اینکه باید همه در انتخابات شرکت کنند، وگرنه امکان داده‌سازی وجود داره. البته به‌نظرم با اضافه کردن روش‌های p2p بشه این مشکل رو حل کرد. 

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

ec8956637a99787bd197eacd77acce5ejvNN6_C3

Type caption for image (optional)

و اگر خواستید واقعا شخصی باشه، کلید PGP من رو از اینجا دریافت کنید. Finger Print کلید هم هست : A4D4 128D 1DDF 96BE 1F04 A50B A3E7 C058 3306 76E0


دی ۲۲ ۱۳۹۶

آپاچی کافکا چطور کار می‌کند؟

کافکا ابزاری قدرتمند برای پیاده‌سازی معماری Publish/Subscriber است که برای pipeline کردن داده‌ها و Stream Processing  استفاده می‌شه. که تمام اینها در کنار مقیاس‌پذیر بودن و fault-tolerant بود اون رو به یکی از ابزارهای اصلی در کلان‌داده‌ها تبدیل کرده.

معماری Pub/Sub

38db3aed920cf82ab059bfccbd02be6abv32xmg1536g3FVtWkim4xtWzzlcfTeSbmMCHyAZa3DM9nJ4wfi-qZNi6T.png

Type caption for image (optional)

فرض کنید تعدادی سرویس نیاز دارند که با همدیگه صحبت کنند و همدیگر رو مستقیما call می‌کنند. پیچیدگی فنی زیاد میشه، کوچکترین تغییری رو به سختی باید در همه سرویس‌ها دنبال کرد و پیاده‌سازی back pressure هم که خودش داستانی جدا برای هر سرویس داره. در نهایت این یک بدهی فنیه که باید پرداخت بشه. یکی از معماری‌ها برای حل این مشکل، Pub/Sub است. سرویس‌ها داده‌هایی رو Publish می‌کنند و کسایی که به اون داده‌ها نیاز دارند Subscribe می‌کنند. 

38db3aed920cf82ab059bfccbd02be6alefkiR5qHmXe3WdMsdLB0P9vTXm3rKM2Xg3oWLWjkIJCfdx1hGbCu69un9.png

Type caption for image (optional)

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

Topicها و Partionها

38db3aed920cf82ab059bfccbd02be6aSjNIoh8ufUUJWeMDMvaJ4rXWx35rSWPOUGPxilLIH4Yh_GhMsMIsARhpMk.jpg

Type caption for image (optional)

پیام‌های نوشته شده در کافکا توسط topic دسته‌بندی می‌شند. شاید topic را بشه معادل یک جدول در بانک اطلاعاتی دونست.  هر topic به تعدادی partioion تقسیم می‌شه که از منطق append only پیروی می‌کنند و هر پیام در هر partiotion یک id یکتا بهش اختصاص پیدا می‌کنه. وقتی تولید کننده پیام (producer) قصد نوشتن در یک topic رو داره، می‌تونه partition رو صریحا اعلام کنه (این پیام رو در پارتیشن شماره ۳ بنویس) یا اینکار بر اساس هش از کلید پیام انجام بشه.

در مقابل producer ها، consumer ها قرار میگیرند که شروع به خوندن اطلاعات از kafka می‌کنند و بر اساس اون کاری رو انجام می‌دهند. consumer ها بر اساس کاری که انجام می‌دهند به گروه‌های مختلفی تقسیم بندی می‌شند که بهش consumer group گفته می‌شه و هر partition حداکثر به یک consumer از هر گروه اختصاص پیدا می‌کنه. یعنی اگر شما تعداد پارتیشن‌ها رو ۱۰ تا انتخاب کنید و ۲۰ تا consumer داشته باشید، ۱۰ تا از consumer هاتون عملا بی‌کارند. پس یکی از موراد مهم در طراحی انتخاب تعداد پارتیشن مناسب هست. 

38db3aed920cf82ab059bfccbd02be6a4k_zvW_UkR5SofJnBpd4QZDHNrE_Secp4NA1SkePtkuxowaSRVcwBW1Que.png

به مصرف‌ کننده شماره ۵ هیچ پارتیشنی اختصاص پیدا نکرده. این به معنی حداکثر توان پردازش اندازه ۴تا از مصرف کننده هاست.

‌Broker و Cluster

به هر سرور کافکا Broker گفته میشه. هر سرور می‌تونه حاوی چندین topic و به ازای هرکودوم هم حاوی چندین partition باشه. طراحی Broker ها به‌نحویه که بتونند به‌عنوان یک خوشه (cluster) کار کنند.  در این مواقع یکی از سرورها به عنوان controller انتخاب میشه و وظیفه داره مشخص کنه که کدام partition به کدوم بروکر اختصاص داره، همینطور وظیفه health check و مانیتور کردن بقیه سرورها هم بر عهده controller هست. بر اساس تنظیمات ممکنه یک partition به بیش از یک سرور اختصاص پیدا کنه که به معنی replication است. فرض کنید پارتیشن X از تاپیک Y به ۳تا سرور A,B و C اختصاص داره. یکی از این ۳تا سرور به عنوان leader برای این partition انتخاب می‌شند و دوتای دیگه replicate های اون هستند. این کار کمک می‌کنه تا در صورت از دست دادن leader چندین copy از اطلاعات اون وجود داشته باشه تا consumer ها بعد از rebalance شدن به‌کار خودشون ادامه بدند.

38db3aed920cf82ab059bfccbd02be6aJzDsJbx_6RGFWj6asaU0igpnklf0bPk6OjTVhQHULUlgPEvvjnWYceblLx.jpg

Type caption for image (optional)

کافکا طراحی نشده که همزمان روی چندین دیتاسنتر اجرا بشه، یعنی یکی از بروکر‌های کلاسترمون رو دیتاسنتر A باشه و دیگری روی دیتاسنتر B. ولی ممکنه ما نیاز داشته باشیم که اطلاعاتمون رو چندین دیتا سنتر باشند. چرا؟ امنیت، isolation و disaster recovery

برای اینکار کافکا ابزاری داره به اسم Mirror Maker که مثل یک consumer/producer عمل می‌کنه. یعنی عملا از یکی از کلاسترها می‌خونه و در یکی دیگه می‌نویسه. 

پاک کردن اطلاعات از کافکا اینطوری نیست که بگیم فلان id رو پاک کن! بلکه بر اساس استراتژی خاصی اطلاعات از کافکا پاک می‌شند.

۱) بر اساس زمان: من اطمینان دارم که حداکثر ۷ روز طول می‌کشه تا اطلاعات پردازش بشند، پس به کافکا می‌گم که اطلاعاتی که قدیمی‌تر از ۷ روز هستند رو پاک کنه. چطوری این اتفاق می‌افته؟ خوب کافکا اطلاعات هر پارتیشن رو فایل به فایل می‌نوسه. مثلا بهش میگیم حجم هر فایل ۱ گیگ بشه، اطلاعات به پارتیشن X می‌رسند و شروع به نوشتن در فایل T1P1F1 می‌کنه (یک اسم فرضی، یعنی Topic اول، Partition اول و فایل اول) . وقتی به حجم فایل ۱ گیگ شد، این فایل رو می‌بنده و میره سراغ فایل بعدی. حالا این فایل مقدار modified at داره و در صورتی که این تاریخ قبل از ۷ روز پیش باشه، پاک میشه. برای همین ممکنه آخرین پیام نوشته شده مربوط به ۵ روز پیش باشه و اولین مربوط به ۱۰۰ روز پیش. خوب فایل پاک نمیشه و ما هنوز امکان دسترسی به اطلاعات قدیمی‌تر از ۷ روز رو هم داریم (در این پارتیشن)

۲) بر اساس حجم: من ۱ ترا حجم حجم به کافکا اختصاص دادم و بهش می‌گم حجم اطلاعاتت رو روی ۸۰۰ گیگ نگاه‌دار. در این‌جور مواقع در صورتی که ۸۰۰ گیگ رد بشه، کافکا قدیمی‌ترین فایل رو پاک می‌کنه. این مدل قابل ترکیب با مدل زمانی هست. هر کودوم زودتر اتفاق بیفته، بر اساس اون سیاست حذف انجام میشه.

۳) compact: در این حالت از هر partition به عنوان key-value استفاده میشه و هر پارتیشن فقط آخرین پیام رو نگاه می‌داره. از این روش برای نگاه‌داشتن index مکانی که consumer ازش خونده استفاده میشه. یعنی اگر consumer به هر دلیل reset شد و نمی‌دونست تا کجا خونده، این پیام رو می‌خونه و از اونجا به بعد رو شروع به پردازش می‌کنه. (تاپیک‌ها متفاوت هستند)

پ.ن: قصد دارم در چندین پست در رابطه با برخی از ابزارهای Big Data بنویسم. ابزارهایی مثل kafka، Flink، Spark و Cassandra که مدتی باهاشون کار کردم. خوشحال می‌شم در این رابطه نظراتتون رو بدونم. (اگر دوست داشتید کامنت و اگر دوست نداشتید ایمیل من moein7tl روی جیمیل)


دی ۱۹ ۱۳۹۶

چک کردن ۳۲ بیتی یا ۶۴ بیتی بودن سیستم لینوکس

نوشته شده توسط فرشید نوتاش حقیقت.

اکثر کامپیوترهای مدرن قادر به اجرای یک سیستم‌عامل ۶۴ بیتی هستند. در ادامه به چگونگی تشخیص ۳۲ بیتی یا ۶۴ بیتی بودن لینوکس خواهیم پرداخت.
برای اکثر موارد توصیه می‌شود که نسخه ۶۴ بیتی لینوکس اجرا شود. با نسخه ۶۴ بیتی عملکرد و امنیت بهتری خواهید داشت.
تنها زمانی که از یک پردازنده ۳۲ بیتی استفاده می‌کنید نیاز به نسخه ۳۲ بیتی خواهید داشت و یا اگر تنها درایورهای سخت‌افزاری ۳۲ بیتی موجود است، از لینوکس ۳۲ بیتی استفاده خواهید کرد (هر چند که این مسأله اغلب در سیستم‌عامل ویندوز رخ می‌دهد.)
برای تشخیص ۳۲ بیتی یا ۶۴ بیتی بودن لینوکس خود دو راه وجود دارد:
روش اول: استفاده از فرمان lscpu در ترمینال
برای بررسی ۳۲ بیتی یا ۶۴ بیتی بودن نسخه لینوکس خود ترمینال را گشوده و فرمان زیر را تایپ نموده و سپس کلید Enter را بفشارید:

lscpu

بخش Architecture به شما خواهد گفت که دارای چه پردازنده‌ای هستید. X86_32 به معنای ۳۲ بیتی و X86_64 به معنای ۶۴ بیتی است. CPU op-mode(s) به شما می‌گوید که کدام نسخه از لینوکس در حال اجراست.
اگر نسخه ۶۴ بیتی را اجرا می‌کنید، حالت‌های ۳۲ بیتی و ۶۴ بیتی را مشاهده خواهید کرد. (چرا که یک پردازنده ۶۴ بیتی می‌تواند هر دو را اجرا کنید.) اگر فقط نسخه ۳۲ بیتی را اجرا می‌کنید تنها ۳۲ بیتی اجرا خواهد شد.
روش دوم: استفاده از محیط گرافیکی
اگر به دنبال یک ابزار گرافیکی برای تشخیص سیستم ۳۲ بیتی یا ۶۴ بیتی سیستم خود، وارد بخش System (در پانل بالای صفحه با آیکونی به چرخ‌دنده) شده و سپس بخش System Settings را برگزینید.
در پنجره System Setting بر روی گزینه Details دو بار کلیک کنید.
در پنجره Details بر روی زبانه Overview بخش OS type را نگاه کنید. در این بخش ۳۲ بیتی یا ۶۴ بیتی بودن سیستم شما مشخص خواهد شد.

منبع: howtogeek

نوشته چک کردن ۳۲ بیتی یا ۶۴ بیتی بودن سیستم لینوکس اولین بار در لینوکس سیزن پدیدار شد.


دی ۱۹ ۱۳۹۶

بررسی باگ های Spectre و Meltdown بر روی لینوکس

spectre_and_meltdown

 

حتما تا الان خبر آسیب پذیری Meltdown و Spectre که باگ هایی مربوط به CPU می باشند به گوش تان رسیده است.در این مطلب قصد دارم تا به شما اسکریپتی را معرفی کنم که این باگ ها رو تشخیص می دهد.این اسکریپت CPU های Intel/AMD/ARM را برای تشخیص این باگ ها بررسی می کند.

ابتدا اسکریپت را بر روی سیستم مورد نظر دانلود کنید :

 

$cd /tmp

$wget -c  https://raw.githubusercontent.com/speed47/spectre-meltdown-checker/master/spectre-meltdown-checker.sh

یا از این روش استفاده کنید :

 

$git clone https://github.com/speed47/spectre-meltdown-checker.git

 

اکنون کافیست تا اسکریپت spectre-meltdown-checker.sh را جهت بررسی باگ های Spectre و Meltdown اجرا کنید :

 

 

#sh spectre-meltdown-checker.sh

جهت اطلاعات بیشتر در مورد این اسکریپت می توانید به github آن مراجعه کنید :

 

https://github.com/speed47/spectre-meltdown-checker

امید است تا از این مطلب استفاده لازم را برده باشید.

 


دی ۱۸ ۱۳۹۶

آموزش کامنت کردن چند خط در شل اسکریپت

bash

شاید برای شما هم پیش آمده باشد که بخواهید درون shell script خود چند خط را comment کنید.مثلا در زبان برنامه نویسی c++/c برای کامنت کردن چند خط، در ابتدای خط مورد نظر */ قرار می دهند و در پایان خط مورد نظر از /* استفاده می کنند.یک نمونه از کد را در پایین مشاهده می کنید :

 

 

/*
my c code
comment # 2
blah
foo bar
….
*/

 

اما راه حل برای شل اسکریپت چیست؟

برای کامنت کردن خط در شل اسکریپت در ابتدای خط مورد نظر علامت # قرار داده می شود.به عنوان نمونه :

 

# my comment goes here

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

 

# my comment 1
# my comment 2
# my comment N

 

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

 

#!/bin/bash
echo “Say Something”
<<COMMENT1
your comment 1
comment 2
blah
COMMENT1
echo “Do something else”

 

 

 

 

همانطور که در مثال بالا مشاهده می کنید، دستورات بین  COMMENT1>> تا COMMENT1 به صورت کامنت می باشند.

 

روش دیگر برای کامنت کردن چند خط در شل اسکریپت به صورت زیر می باشد :

 

#!/bin/bash
foo=bar
: ‘
This is a test comment
Author foo bar
Released under GNU

echo “Init…”
# rest of script

 

 

 

 

 

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

 

 

: ‘
your comments here

 

امید است تا از این مطلب استفاده لازم را برده باشید.

 


دی ۱۸ ۱۳۹۶

نقل قول:اریک ریموند