پست‌های کانال تلگرام May 10, 2018 at 12:51PM

#۱۱

https://github.com/mtdvio/every-programmer-should-know

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

پست‌های کانال تلگرام May 10, 2018 at 12:51PM

#۱۱

https://github.com/mtdvio/every-programmer-should-know

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

پست‌های کانال تلگرام January 30, 2018 at 10:39PM

#۱۰

Wunderlist

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

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

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

یه نسخه پولی هم داره که خب خیلی به درد من نخورده هنوز

https://www.wunderlist.com/download/
By: via چیزهای جالبی که گودرز پیدا می‌کنه

به یاد اشکان

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

۸ مهر ۱۳۹۶ همیشه به یادم خواهد موند.

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

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

هیچ‌وقت یادم نمیره که آرشیو مجله hacker montly که بهم داد رو هنوزم دارم و اصلاً اون مجله باعث شد دیدم به خیلی چیزا عوض بشه.

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

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

امیدوارم روحش در آرامش باشه…

 

پست‌های کانال تلگرام June 19, 2017 at 07:00PM

تیم اوربن یه وبلاگ نویس خیلی مشهور هست که با کمک اندرو فین توی وبلاگ waitbutwhy.com مطالب خودشون رو به اشتراک می‌زارن.

تیم اوربن توی دانشگاه مدیریت دولتی خونده بود. یکی از مشکلاتش توی اون دوران تعلل توی کارهاش بود. خیلی از ماها هم همین‌طور هستیم. ددلاین پروژه داریم و میزاریم روز آخر و چند ساعت مونده به ددلاین تازه کار رو شروع می‌کنیم .

🏻این خودش یه سم هست برای کار و خیلی جاها اعتبار آدم رو به باد میده.

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

اما با همه این‌ها دیدنش رو توصیه می‌کنم. ممکنه دوای درد خیلی‌ها باشه

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

http://ift.tt/1nLYZeo

چیزهای جالبی که گودرز پیدا می‌کنه | @what_goodarz
By: via چیزهای جالبی که گودرز پیدا می‌کنه

پست‌های کانال تلگرام June 19, 2017 at 02:01PM

این چند وقت به خاطر امتحان‌ها من مشکل خواب پیدا کرده بودم. به طوری که مجبور بودم ۴ صبح بخوابم و ۷ صبح بیدار شم. خب ۳ ساعت خواب خیلی کمه و اصلاً این قدر دغدغه فکری امتحان هست که اون سه ساعت رو آدم خوابش نمی‌بره.

دنبال یه اپی بودم که بتونم به کمکش یه آرامشی پیدا بکنم و به قولی یه تایم برای ریلکس کردن داشته باشم. خب چه چیزی بهتر از صدا 🙂

باور کنین یا نه صدای طبیعت بهترین صدای ممکن هست. صدا آب، بارش بارون و …
آرامشی به آدم میده که حد نداره.

خلاصه که گشتم و گشتم تا به یه نرم‌افزاری رسیدم به‌ نام relax melodies

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

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

راستی تا یادم نرفته باید بگم که خودش هم یه سری راهنما برای مدیتیشن هم داره 🙂

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

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

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

برای دستگاه‌های اندرویدی

http://ift.tt/13rrq11

برای دستگاه‌های مبتنی بر ios

http://ift.tt/2ruWmkp

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

http://ift.tt/2sO9p4f

بدنیست سایت سازندهٔ اپلیکیشن‌ رو هم ببینین تا شاید بقیه محصولاتشون رو هم خوشتون اومد

http://ift.tt/1fJckAa

چیز‌های جالبی که گودرز پیدا می‌کنه | @what_goodarz
By: via چیزهای جالبی که گودرز پیدا می‌کنه

پست‌های کانال تلگرام June 19, 2017 at 01:46PM

این
By: via چیزهای جالبی که گودرز پیدا می‌کنه

پست‌های کانال تلگرام June 10, 2017 at 04:01PM

امیدوارم که خیلی اسپم نکرده باشم اما خب ازین به بعد محتوای این کانال از طریق این آدرس : http://ift.tt/2t5K1U6 در دسترس هست. این‌جوری بقیه آدم‌های روی کره زمین هم میتونن محتواهایی که می‌نویسم رو ببینن. به قولی محتواهامون رو توی سیاه‌چالهٔ تلگرام، دفن نمیکنیم.

🙂
By: via چیزهای جالبی که گودرز پیدا می‌کنه

پست‌های کانال تلگرام


داکو ویکی، رفیق روزهای سخت

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

حدود یکسال و نیم پیش یه نرم‌افزار تحت وبی پیدا کردم به اسم dokuwiki

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

یه نمونه‌ش رو میتونین اینجا ببینین: http://ift.tt/2r56wYK

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

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

سایت اصلی‌ش:

http://ift.tt/WoKmOf

@what_goodarz | چیزهای جالبی که گودرز پیدا می‌کنه
By: via چیزهای جالبی که گودرز پیدا می‌کنه

راهنمای کامل نصب و پیکربندی proxmox بر روی root server های Hetzner

 

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

بعد از ثبت‌نام و ارسال مدارک و خرید سرور با مشخصات ۸ هسته پردازنده و ۴۸ گیگابایت رم و ۲تا هارد ۲ترابایت و همچنین خرید یه سابنت یا زیرشبکه با رنج /۲۹ از اونا کارم رو شروع کردم.

بد ندیدم تا ریز مسائلی که بهشون برخوردم و راهنمای کامل نصب رو هم اینجا بنویسم تا شاید به درد یکی بخوره 🙂

اگه نمی‌دونین proxmox چیه باید بگم که یه ابزار تحت وب برای ساختن و مدیریت ماشین‌های مجازی روی یه سرور.

قدم اول نصب یه دبیان تر و تمیز

برای اینکار باید به پنل روبات لاگین کنیم و. سرور موردنظر رو انتخاب کنیم و به منوی rescue بریم و اول از dropdown گزینه linux و بعدش هم Radio button عبارت ۶۴bit رو انتخاب کنیم. این کار یه دبیان رو روی شبکه برامون لود میکنه که بتونیم باهاش هرچیزی که میخوایم رو نصب کنیم. بعد از زدن دکمه activate یادتون باشه که یه پسورد برامون generate می‌کنه که بهتره اونو سیو کنیم.

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

مرحله بعدی اینه که بریم به منوی reset و بعدش یه ریست به سرور بدیم.

این ریست باعث میشه که موقع بوت سرور روی مود rescue بوت بشه. البته لازم به ذکر هست که اگه برای اولین بار هست سرور رو میخرین، سرور روی این مود قرار داره.

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

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

قدیم (یعنی حدود دوهفته قبل از نوشتن این مقاله) یه بخشی توی installimage وجود داشت به اسم virtulization که توش هم proxmox بود و هم coreOS اما خب الان رفتن توی زیرشاخه other و یادتون باشه که به‌هیچ‌وجه درست کار نمیکنن و ازشون استفاده نکنین.

بهترین کار انتخاب Debian هست. بعد از انتخاب Debian یه منوی جدید باز میشه که میگه نسخه دبیان رو انتخاب کنید که ما jessie رو انتخاب می‌کنیم.

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

ازاونجایی که من دوتا هارد دوترابایت داشتم، موقع نصب زدم که نوع RAID من ۱ باشه.

یعنی که هردوتاهارد میرور باشن تا اگه یکیش پرید، دیتا من نپره :))

به بوتلودر و SWRAIDLEVEL هم دست نزدم. اما HOSTNAME رو هاست‌نیمی که میخوام زدم مثلاً زدم Goodarz-Server.

مرحله بعد نوبت به پارتیشن‌بندی بود.

به صورت زیر من پارتیشن‌بندی کردم:

اما خب این به چه معناست:

این یعنی که اول میاد یه پارتیشن ۴ گیگابایتی غیرLVM می‌سازم و فرمتش رو هم می‌زارم ext4 و روی /boot متصلش می‌کنم.

بعد از اون دوتا ولیوم گروپ LVM با حجم ۴۲۰ گیگ و all که یعنی هرچقدر باقی‌موند می‌سازم.

یه روت ۱۰۰ گیگابایتی با فرمت ext4 و یه سواپ ۲۰ گیگی یه پارتیشن ۳۰۰ گیگابایتی روی /backup برای نگهداری بک‌آپ هام می‌سازم.

بعد ولیوم گروپ دومی که ساختم و تمام فضای باقی‌مونده رو بهش دادم رو هم رو هم روی /var/lib/vz که محل اصلی نگه‌داری ایمیل‌ها و تنظیمات پروکسموکس هست انتخاب می‌کنم و تمام فضای vg1 که ولیوم گروپ دوم ما هست رو هم. بهش اختصاص می‌دم

پس شد یه روت ۱۰۰ گیگی، یه بوت ۴ گیگی، یه بک‌آپ ۳۰۰ گیگی، یه سواپ ۲۰ گیگی و یه پارتیشن هم حدود ۱ گیگ و نیم برای /var/lib/vz

خط آخر یعنی image رو هم دستکاری نمی‌کنیم. کل پیکربندی رو به شکل زیر میشه خلاصه کرد:

با زدن f10 و ذخیره کردن پیکربندی مراحل نصب رو پیش می‌ریم تا نصب تموم شه و بهمون بگه که ریست کنیم.

بعد از ریبوت، به سرور ssh می‌زنیم مجدداً با یوزر روت و پسوردی که موقع rescue برامون درست کرده بود.

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

لذا فایل /etc/syctl.conf روباز می‌کنیم و. این دوخط رو تهش اضافه می‌کنیم:

با زدن

تنظیمات رو اعمال می‌کنیم.

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

تا اینجا ما روت سرور رو به طور کامل کانفیگ کردیم. مرحله بعد نصب proxmox هست.

نصب proxmox

ابتدا باید مخازن proxmox رو به مخازن دبیان اضافه کنیم. پس فایل/etc/apt/sources.list روباز می‌کنیم و این خط رو بهش اضافه می‌کنیم:

بعدش کلید مخازن رو اضافه می‌کنیم:

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

حالا وقت نصب کرنل و کرنل هدرها هست 🙂

مورد بعدی اینه که باز لیست مخازن رو آپدیت کنیم ببینیم برای کرنل جدیدمون آپدیتی اومده یا نه پس:

حالا با دستور reboot سیستم‌عامل رو ری‌استارت می‌کنیم تا با کرنل جدید بوت بشیم.

وقتی فرایند بوت انجام شد با دستور زیر proxmox رو نصب می‌کنیم:

خب بعد از نصب proxmox از طریق آدرس https://ip:8006 در درسترس خواهد بود. با زدن یوزرنیم روت و پسورد روت سرور اصلی لاگین کنین.

پیکربندی شبکه

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

ولی خب می‌نویسم.

قبلاً گفتم که من یه سابنت از هتزنر گرفتم با مشخصات زیر

 

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

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

قبل از هرچیزی چندتا پیشرفرض رو باید داشته باشیم.

MAIN IP منظور آی‌پی سرور اصلی هست

MAIN NETMASK منظور netmask آی‌پی سرور اصلی هست که از طریق بخش IPs توی پنل روبات قابل پیدا کردن هست

MAIN GATEWAY که منظور گیت‌وی آی‌پی سرور اصلی هست

MAIN NETWORK که اولین آی‌پی سابنت آی‌پی اصلی‌مون هست.

SUBNET’1 IP اولین آی‌پی سابنت

SUBNET’2 IP دومین آی‌پی سابنت

و الی آخر تا

SUBNET”6 IP آخرین آی‌پی سابنت

یادتون باشه که این مقادیر رو با اونی که از روبات گرفتین باید تعویض کنین 😛

برای کانفیگ سرور اصلی اول فایل /etc/network/interfaces روباز کنین.

با محتوای بخش eth0 که کارت شبکه سیستم هست کاری نداریم

یه بخش اضافه می‌کنیم برای کارت شبکه مجازی ما که قراره کار bridge رو روی VM (ماشین مجازی) انجام بده.

کل کانفیگ ما به این شکل درخواهد اومد.

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

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

ساخت اولین ماشین مجازی

قبل از هرکاری لازمه که ما ایزوی توزیع مورد نظرمون که اینجا من از اوبونتو استفاده کردم رو روی proxmox قرار بدیم.

دو راه برای این‌کار وجود داره.

روش اول:

وارد پنل proxmox بشید و از طریق منوی سمت چپ رو بروی Contents روباز کنین. یه بخشی براتون باز میشه آپلود رو بزنین و ایزوی اوبونتو یا دبیان یا سنت‌اواس رو که قبلاً دانلود کرده بودین از اینجا آپلود کنین و منتظر بمونین کلیک کنید.

روش دوم:

توی سرور به دایرکتوری /var/lib/vz/template/iso برید و از طریق لینک مستقیم ایزوی اوبونتو سرور مثل این و ابزار wget ایزو رو روش دانلود کنین.

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

از منوی بالا سمت راست گزینهٔ Create VM رو می‌زنیم.

اسم و ID براش انتخاب می‌کنیم. توی تب OS

توی تب CD/DVD گزینهٔ

مرحله بعدی به اندازه نیاز فضا براش انتخاب می‌کنیم.

بعدش به اندازه کافی CPU و بعد از اون هم رم به اندازه نیاز بهش اختصاص میدیم.

اما اصلی ترین‌بخش شبکه‌ست.

Bridged mode رو انتخاب می‌کنیم و VLAN Tag رو خالی می‌زاریم اما از بخش Bridge vmbr0 رو انتخاب می‌کنیم. Model رو هم VirtIO انتخاب می‌کنیم و میریم مرحله بعدی و finish رو می‌زنیم.

منتظر میشیم تا سرور ساخته بشه. بعد از ساخته شدنش انتخابش می‌کنیم و start رو می‌زنیم و بعد از اون روی دکمه console کلیک می‌کنیم تا یه پنجره VNC برامون باز شه تا بتونیم سیستم‌عامل رو نصب بکنیم.

تمام مراحل نصب رو میریم جلو اما باید یادمون باشه که موقع نصب و در بخش تنظیمات شبکه باید گزینه install without configuring network رو بزنیم. مراحل نصب رو پیش میریم و می‌زاریم که نصب تموم شه.

بعد ریبوت می‌کنیم.

وقتی که سیستم‌عامل اومد بالا فایل /etc/network/interfaces روباز می‌کنیم و محتویات زیر رو داخلش وارد می‌کنیم:

dns-nameserversهایی که میبینین توسط خود هتزنر ارائه شده و برای اینکه شبکه به خوبی کار کنه باید وجود داشته باشن.

ماشین مجازی رو ریبوت می‌کنیم و الان با نصب openssh-server میشه بهش ssh داشت و همه چی اوکی هست.

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

اما اگه نخوایم از ماشین مجازی استفاده کنیم و بخوایم از containerها استفاده کنیم چی؟

اگه نمیدونین فرق بین container با ماشین مجازی چیه بهتره گوگلش کنین.

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

پیکربندی Container

وارد پنل proxmox بشید و از طریق منوی سمت چپ رو بروی Contents روباز کنین. یه بخشی براتون باز میشه templates رو بزنین و براساس نیازتون یه temlpate انتخاب کنین و Download رو بزنین.

بعد از اتمام از منوی سمت راست بالا Create CT رو بزنین.

براش اسم، آی‌دی و پسورد و یا کلید عمومی ssh رو وارد کنین، اگه لازمه و امنیت مهمه براتون تیک Unprivileged container رو بزنین تا دسترسی روت رو ببنده.

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

توی تب شبکه تنها بخشی که باید تغییر کنه بخش IPv4 هست که یه آی‌پی از سابنت انتخاب کنین و توی IPv4/CIDR بنویسید و تهش یه /۳۲ بزارید. مثلا:

۱۹۲٫۱۶۸٫۱٫۱۰۰/۳۲

توی بخش Gateway هم آی‌پی سرور اصلی رو وارد کنین و. IPv6 رو هم روی DHCP بزارین و در صورت نیاز DNS روکه تب بعدی هست پرکنین و بعدش finish رو بزنین.

container شما بدون هیچ مشکلی بالا میاد.

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

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

 

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

دیدم که یه سری از آی‌پی‌ها بهشون مک آدرس داده شده که خب نباید این‌طور باشه و دقیقاً هم همون آی‌پی‌هایی بودن که باهاشون مشکل داشتم و دیدم که آی‌پی هایی که وصل هستن جلوی HWaddress زده [Incomplete]

سرور رو ریبوت کردم، درست شدن. :))