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

سرانجام کتاب برنامه نویسی با پایتون ۳ به چاپ رسید. این کتاب درواقع ویرایش دوم کتاب برنامه نویسی با پایتون است که چاپ اول آن در سال ۱۳۹۳ و چاپ دومش در سال ۱۳۹۴ روانه بازار شد و با استقبال خوبی از طرف مخاطبین عزیز مواجه شد. در این ویرایش کتاب برای تغییرات پایتون ۳ به روز رسانی شده است. به علاوه چند فصل هم به کتاب اضافه شده. در این کتاب نه تنها با نحو (Syntax) زبان پایتون آشنا می شوید بلکه می آموزید چطور مثل یک کامپیوتردان فکر کنید و با مهارت های حل مسئله و اشکال زدایی که برای برنامه نویسان تازه کار بسیار مهم هستند آشنا می شوید. به علاوه در سی دی همراه کتاب می توانید به نسخه لاتین و یک مجموعه ویدئوی آموزشی پایتون و کدهای کتاب هم دسترسی داشته باشید. امیدوارم از مطالعه کتاب لذت ببرید. می توانید یک فصل از کتاب را به صورت رایگان در آدرس زیر مطالعه کنید:

مطالعه رایگان یک فصل از کتاب برنامه نویسی با پایتون ۳

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

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

موسیقی هفته – Beyonce

امروز به عنوان موسیقی هفته ترانه ای از خواننده مشهور سبک R&B بیانسه رو براتون انتخاب کردم که به نظرم یکی از بهترین اجراهای این خواننده به حساب میاد. امیدوارم از شنیدن این اثر لذت ببرین. ترانه رو میتونید از اینجا دانلود کنید.

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

هشت اشتباه که باعث از دست دادن کارمندان خوب می شود

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

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

  1. آنها قوانین احمقانه زیادی وضع می کنند: همه می دانیم که شرکت ها و کمپانی ها باید قانون مند باشند. اما این قوانین نباید سرسری وضع شوند. حتی وضع تعداد اندکی قانون غیرضروری و اضافه می تواند به شدت باعث ناراحتی افراد شود. وقتی کارمندان خوب احساس کنند همه چیز تحت نظر است و برادر بزرگ همه رفتار و اعمال آنها را مثل یک جاسوس تحت نظر دارد مکان دیگری برای کار پیدا خواهند کرد.
  2. آنها با همه یکسان برخورد می کنند: اگرچه این رفتار با بچه مدرسه ای ها به خوبی جواب می دهد، محیط کار متفاوت است. اگر با همه یکسان برخورد کنید بهترین کارمندانتان فکر می کنند کار کردن اهمیتی ندارد. چون به هر حال چه کار کنند و چه کاری انجام ندهند برخورد شما با آنها یکسان خواهد بود.
  3. کارایی ضعیف برای آنها قابل قبول است:  می گویند در گروه های جاز، گروه به خوبی بدترین نوازنده است. مهم نیست بعضی از اعضا چقدر خوب هستند همه صدای ساز بدترین نوازنده را میشنوند. در شرکت ها هم چنین است. اگر اجازه دهید پیوندهای ضعیف بدون هیچ پیامدی باقی بمانند، همه تیم را باخود پایین می کشند.
  4. آنها به نتایج اهمیت نمی دهند: ممکن است اثر نوازش را دست کم بگیرید، به خصوص در مورد بهترین کارمندانتان که انگیزه ذاتی و غریزی دارند. همه تشویق شدن را دوست دارند، به خصوص کسانی که به سختی کار می کنند و تمام تلاششان را انجام می دهند. پاداش دادن به دست آوردهای افراد نشان می دهد شما به کارهای آنها توجه دارید. مدیران باید با افراد در ارتباط باشند تا بدانند چه چیزهایی آنها را خرسند می کند و برای کارهایی که انجام می دهند به آنها پاداش دهند.
  5. آنها به افراد اهمیت نمی دهند: بیش از نیمی از کسانی که کار خود را رها می کنند، این کار را به خاطر رابطه با مدیرشان انجام می دهند. شرکت های موفق سعی می کنند مدیرانشان را طوری تربیت کنند که بین انسان بودن و حرفه ای بودن متعادل باشند. یعنی مدیرانی که از پیشرفت کارمندانشان خرسند می شوند، در دوران دشواری و سختی با کارمندان همدردی می کنند و آنها را به چالش می کشند. مدیرانی که چنین نیستند نیروهای زیادی را از دست می دهند. هشت ساعت (یا بیشتر) کار در روز با کسی که خود درگیر کار نیست و به چیزی به جز خروجی اهمیت نمی دهد غیر ممکن است!
  6. آنها تصویر بزرگ را به شما نشان نمی دهند: ممکن است فکر کنید تخصیص کارها به کارمندان و پیش روی روشی موثر برای مدیریت است. اما اگر تصویر بزرگ (دید کلی) به کارمندانتان ندهید، به خصوص کارمندان خوب، آنها را از دست خواهید داد. کارمندان خوب فشار کاری بیشتری را تحمل می کنند در نتیجه کارشان باید هدفمند باشد. وقتی هدف آنها مشخص نباشد دلسرد می شوند.
  7. آنها اجازه نمی دهند افراد علایقشان را دنبال کنند: گوگل کارمندانش را مجبور می کند حداقل بیست درصد از زمانشان را صرف کارهایی کنند که “فکر می کنند” در پیشرفت گوگل موثر است. این کارهای داوطلبانه نه تنها تاثیر بسزایی در بسیاری از پروژه های گوگل دارد بلکه موجب دلگرم شدن کارمندان گوگل هم می شود. کارمندان با استعداد به کارشان علاقه مند هستند. فراهم آوردن فرصت هایی که به آنها امکان می دهد علایقشان را دنبال کنند باعث افزایش کارایی و رضایت شغلی آنها می شود.
  8. کارکردن با آنها لذت بخش نیست: اگر مردم از کارشان لذت نبرند، یعنی مدیریت به درستی انجام نمی شود. اگر افراد از کار لذت نبرند تمام توان خود را صرف انجام کار نمی کنند و نسبت به کار دلسرد می شوند. برای مثال گوگل تمام تلاش خود را برای لذت بخش کردن کار انجام می دهد از کلاس های بدنسازی گرفته تا غذای رایگان. ساده است، اگر کار لذت بخش باشد شما ساعات بیشتری در محیط کار صرف می کنید و سالهای بیشتری را به کار می پردازید.

نتیجه گیری

به یاد داشته باشید مردم کارشان را رها نمی کنند بلکه مدیرشان را رها می کنند! می خواهید محیط کار بهتری را فراهم کنید؟ سعی کنید درباره EQ بیشتر بیاموزید.

 

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

 

مولانا

به جان جمله مستان که مستم
بگیر ای دلبر عیار دستم

به جان جمله جانبازان که جانم
به جان رستگارانش که رستم

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

چو دیدم لوح پیشانی ساقی
شدم مست و قلم‌ها را شکستم

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

تاریخچه سیستم های کنترل نسخه

طبق آنچه در ویکیشنری آمده کلمه Version، که در فارسی به نسخه ترجمه شده، از قرن شانزدهم در زبان انگلیسی به کار می رفته است. این کلمه یعنی: “فرم (صورت) دیگری از چیزی”. می توان در مهندسی نرم افزار کلمه “چیزی” را همان نسخه صفر کد (Initial commit) در نظر گرفت. در این حالت “فرم های دیگر” تغییراتی هستند که به مرور روی نسخه صفر کد انجام می شود تا نرم افزار نهایی به دست آید.

اما در اصطلاح “کنترل نسخه”، که معادل فارسی Version Control است به جز Version کلمه دیگری هم وجود دارد (کلمه Control). می توان گفت کنترل در اینجا به معنای مدیریت است.

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

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

در واقع سیستم کنترل نسخه به شما و تیمتان امکان می دهد تغییرات اعمال شده در طول مدت پروژه را  دنبال کنید و مثل Microsoft Word امکان Undo و Redo برایتان فراهم می آورد. در واقع می توان گفت سیستم های کنترل نسخه دو ویژگی اصلی در اختیارتان قرار می دهند:

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

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

در حال حاضر سیستم های کنترل نسخه بسیاری وجود دارند. سیستم هایی مثل Subversion، Git، Mercurial و غیره. ممکن است از خود بپرسید تفاوت این سیستم ها در چیست و کدام یک برای کار شما مناسب تر است؟ در واقع بر اساس مدل کارکرد می توان سیستم های کنترل نسخه را به سه دسته مختلف تقسیم کرد:

  • سیستم های کنترل نسخه محلی: این سیستم ها برای یک کاربر طراحی شده اند و فایل ها را روی هارددیسک کاربر نگه داری می کنند و امکان استفاده تحت شبکه ندارند مثل RCS یا SCCS. به علاوه در این سیستم ها چند کاربر نمی توانند به صورت همزمان فایلی را تغییر دهند
  • سیستم های کنترل نسخه متمرکز: در این سیستم ها یک سرویس دهنده وجود دارد که فایل های مورد نظر روی آن قرار دارند. کاربران باید ابتدا آخرین نسخه پروژه را دریافت کنند. تغییرات مورد نظر را انجام دهند و در نهایت کدهای تغییر یافته را به سرویس دهنده ارسال کنند. اگر موقع ارسال مشخص شود کاربر دیگری قبلا همین فایل ها را تغییر داده پیش از ارسال باید تغییرات اعمال شود. برخی از سیستم های این گروه عبارتند از Subversion، CVS و غیره.
  • سیستم های کنترل نسخه توزیع شده: در سیستم های توزیع شده یک نسخه مرکزی از فایل ها وجود ندارد و هر کاربری تمامی تاریخچه پروژه ( بر خلاف سیستم های متمرکز که کاربران فقط نسخه آخر را در اختیار دارند) را در اختیار دارد. هر کاربر تغییرات مورد نظر خود را اعمال کرده و در نسخه محلی خود ذخیره می کند. در این حالت کاربران می توانند پس از اتمام تغییرات نسخه محلی خود را با یک نسخه راه دور همگام سازی کنند. سیستم هایی مثل Git و Mercurial از این مدل استفاده می کنند.

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

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

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

 

موسیقی هفته – جون بایز

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

On a wagon bound for market
There’s a calf with a mournful eye
High above him there’s a swallow
Winging swiftly through the sky
How the winds are laughing
They laugh with all the their might
Laugh and laugh the whole day through
And half the summer’s night
Donna Donna Donna Donna
Donna Donna Donna Don

“Stop complaining”, said the farmer
Who told you a calf to be
Why don’t you have wings to fly with
Like the swallow so proud and free
How the winds are laughing
They laugh with all the their might
Laugh and laugh the whole day through
And half the summer’s night
Donna Donna Donna Donna
Donna Donna Donna Don

Calves are easily bound and slaughtered
Never knowing the reason why
But whoever treasures freedom
Like the swallow has learned to fly
How the winds are laughing
They laugh with all the their might
Laugh and laugh the whole day through
And half the summer’s night

 

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

دروغ های فنی در پروژه های نرم افزاری

دروغ گویی در پروژه های نرم افزاری بسیار رایج است!  اصولا دروغ گو ها در پروژه های نرم افزاری خوب پیشرفت می کنند. به نظرم یکی از دلایل این پیشرفت، ماهیت غیر قابل لمس نرم افزار است. اگر در پروژه های نرم افزاری کار کرده باشید احتمالا با این پدیده مواجه شده اید. در این باره مقالات متعددی وجود دارد. در یکی از این مقالات که رابرت گلس و سایرین با عنوان “Lying on software projects” به چاپ رسانیده اند اطلاعات جالبی در این باره وجود دارد. که در این پست باهم به بررسی آن می پردازیم.

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

  • افزایش میزان فروش نرم افزار
  • دروغ گویی در مقایسه با گفتن حقیقت مزایای بیشتری دارد
  • خوب جلوه کردن در نظر مدیران یا مشتریان
  • اعتماد به نفس کاذب
  • پنهان کردن اشتباهات
  • تلاش برای کاهش بار کاری

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

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

این دروغ گوهای خوش خط و خال به راحتی با مجموعه ای دروغ که اثبات خلاف بودن آنها به راحتی ممکن نیست و تنها با گذشت زمان و به بار آوردن خسارات برای مدیران مشخص می شود اعتماد مدیران را جلب کرده و به سادگی یک شبه ره صد ساله می روند. البته به نظر من اگر مدیر خود دروغ گو نباشد اما به راحتی فریب این دروغ گویان را بخورد یعنی مدیر خوبی نیست! مدیریت صحیح نیازمند سنجه (Metric) است تا بتوان با سنجه ها تصمیم گیری کرد. ویژگی که اکثر مدیران ما از آن بی بهره اند.

البته ماه هیچ گاه پشت ابر نمی ماند…

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

لارا فابیان – Mistral gagnant

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

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

نرم افزارهایی برای مراقبت از چشم

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

مدتی قبل ارائه دنیل جرجیو در تد با موضوع “چگونه تکنولوژی بینایی ما را از بین می برد” را دیدم. پیشنهاد می کنم این ویدئو را مشاهده کنید. در این ویدئو سخنران نحوه آسیب دیدن چشمان در مقابل صفحه نمایش کامپیوتر را شرح داده و راه حلی نرم افزاری و رایگان به نام Iris که روی همه سیستم عامل ها قابل استفاده است، ارائه می دهد. می توانید نسخه این نرم افزار که با سیستم عامل مورد استفاده تان سازگار است را از اینجا دانلود کنید.

اما Iris تنها راه حل موجود نیست. نرم افزارهای بسیار دیگری هم وجود دارند. در این میان از نظر بنده Eye care plus هم نرم افزار بسیار خوبی است. این برنامه قابلیت نصب روی گوشی اندروید شما را داشته و روزی سه بار (صبح، ظهر و شب) مجموعه تمرینات بسیار خوبی به شما پیشنهاد می دهد. اگر تا به حال به اپتومتریست مراجعه کرده باشید ممکن است با برخی از این تمرینات آشنا باشید. این نرم افزار طراحی و رابط کاربری بسیار مناسبی دارد و پیشنهاد می کنم حتما آن را امتحان کنید. می توانید این نرم افزار را از اینجا دانلود و نصب کنید

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

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

حقیقت تلخ صنعت شکلات

آیا تا به حال موقع خوردن شکلات به این فکر کرده اید که این شکلات از کجا آمده است؟ آیا همه افراد که در زنجیره تولید و توزیع این شکلات بوده اند از این فرآیند لذت برده اند؟
مستند The Dark-side of Chocolate به بررسی بردگی و قاچاق کودکان برای کار در مزارع شکلات ساحل عاج و غرب آفریقا که ۶۹ درصد کل شکلات جهان را تولید می کند و سکوت بزرگترین تولید کننده گان و توزیع کننده گان شکلات (مثل Nestle) در باره این موضوع می پردازد. سکوتی که به قیمت جان بسیاری تمام می شود. و ذکر این جمله که فکر می کنم از امام علی (ع) است خالی از لطف نیست:
هیچ ثروتی در جایی انباشته نمی‌شود، مگر اینکه حقی در کنار آن از بین رفته باشد!

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

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

دستنوشته های غلامرضا صابری تبریزی درباره علم و گاهی مسائل حاشیه ای