بایگانی دسته: تکنولوژی

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

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

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

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

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

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

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

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

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

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

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

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

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

 

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

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

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

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

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

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

درس افزار دانشگاه صنعتی شریف

درس افزار، سیستمی است که محتوای کلاس های درسی دانشگاه با استفاده از آن در اختیار عموم قرار می گیرد. این محتوا شامل فیلم، تمرین ها و … می شود. اولین درس افزار ها طبق اطلاعات موجود در صفحه درس افزار ویکی پدیا در اواخر دهه نود در اروپا و امریکا عرضه شدند و امروز پس از گذشت حدودا هجده سال از تولد چنین سیستم هایی و مشخص شدن همه جزئیات اکوسیستم آنها دانشگاه شریف اقدام به راه اندازی این سیستم کرده است. هرچند این سیستم تا بلوغ کامل راه زیادی در پیش دارد اما تاسیس آن اقدام بسیار مثبتی از سوی دانشگاه صنعتی شریف است. می توانید با مراجعه به وبسایت http://ocw.sharif.edu از مطالب آن استفاده کنید.

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

اثر راشومون و روش های مدیریت چابک (اجایل)

rashomon-effect

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

تحلیل پیامک های تبلیغاتی ایرانسل – قسمت دوم

Wolf-ship

در قسمت اول سعی کردم یک دید آماری در مورد پیامک های تبلیغاتی ایرانسل فراهم کنم. هرچند به علت کمبود وقت ممکن است این دید کامل نباشد و نقص هایی به آن وارد باشد اما به هر حال بهتر از هیچ است. در این قسمت سعی دارم یکی از مطالعات مرتبط در زمینه پیامک های تبلیغاتی را خلاصه کنم. این مطالعه در سال ۲۰۰۷ بوسیله باما و بارنز در ژورنال Business Process Management به چاپ رسیده. مقاله بسیار جالبی است و پیشنهاد می کنم اگر وقت دارید حتما آن را مطالعه کنید. اما سوالات:

۱- تعریف بازرگانی با استفاده از موبایل چیست؟ تراکنش هایی با ارزش مالی مستقیم یا غیر مستقیم با استفاده از موبایل را بازرگانی با استفاده از موبایل می گویند.

۲- بازار هدف بازرگانی با استفاده از موبایل در جهان چند کاربر دارد؟ انتظار می رود تا سال ۲۰۰۸ تعداد کاربران هدف این تجارت به ۱.۶۷ میلیارد کاربر برسد. توجه کنید این عدد مربوط به سال ۲۰۰۸ میلادی است.

۳- ارزش مالی این بازار چقدر است؟ انتظار می رود ارزش مالی این بازار تا سال ۲۰۰۹ به ۸۸ میلیارد دلار برسد. مجددا به سال مقاله توجه داشته باشید.

۴- آیا در رابطه با ارسال پیامک های تبلیغاتی در سایر کشورها قوانینی وجود دارد؟ بله. برای مثال در کشورهای اروپایی قوانین، تبلیغ کننده گان را مجبور می کنند پیش از ارسال پیامک های تبلیغاتی از کاربران اجازه بگیرند (بر خلاف ایران).

۵- مهمترین مشکلی که ارسال پیامک های تبلیغاتی برای کاربران ایجاد می کند چیست؟ نقض حریم شخصی کاربران.

۶- حریم شخصی یعنی چه؟ به حق یک شخص برای کنترل اطلاعاتی که سایرین در موردش نگه داری می کنند حریم شخصی می گویند. تعریف دیگری که از حریم شخصی و از کتاب Dragnet Nation نوشته جولیا آنگ وین به خاطر دارم : به حق شخص برای ارائه خود به صورت انتخابی حریم شخصی می گویند.

۷- تعریف فوق کمی پیچیده است می شود بیشتر توضیح دهید؟ بله. به طور کلی اوپراتور ها و بسیاری از سرویس های اینترنتی از جمله اکثر شبکه های اجتماعی مثل فیس بوک، اینستاگرام و … اطلاعاتی در مورد کاربرانشان نگه داری می کنند. در اوپراتور های تلفن همراه این اطلاعات می تواند شامل پیام های متنی که ارسال کرده اید، تماس ها، طول تماس ها، شماره مبدا و مقصد تماس ها و پیامک ها، نام و نام خانوادگی خودتان و فرد تماس گیرنده یا مقصد تماس و بسیاری اطلاعات دیگر شود. حال فرض کنید به مسابقات پیامکی پیش بینی فوتبال علاقه خاصی دارید و در این نوع مسابقات شرکت می کنید. در این حالت اوپراتور به علت ذخیره اطلاعات پیامکی شما از این امر مطلع است و پیامک های بیشتری در این زمینه به شما ارسال می کند. در این حالت حریم شخصی شما نقض شده زیرا اوپراتور اطلاعاتی از شما دارد که کنترلی روی آن ندارید. این اطلاعات ممکن است در اختیار شرکت های زیر مجموعه اوپراتور قرار گیرد و به منظور سوء استفاده از علایق شما استفاده شود. در این حالت شما هدفی متحرک برای سودجویی هستید. حال شما توانایی ارائه خود به صورت انتخابی را از دست داده اید! همین سناریو را می توانید در بسیاری حالات دیگر در نظر بگیرید. برای مثال الگوی خریدتان با استفاده از سیستم های اینترنتی.

۸- از اطلاعاتی که جمع آوری می شود به چه منظوری می توان استفاده کرد؟ از اطلاعات جمع آوری شده می توان برای سفارشی سازی پیامک های تبلیغاتی بر حسب موقعیت مکانی، بافت و … استفاده کرد. در واقع اطلاعات جمع آوری شده هم چون طلا ارزشمند هستند.

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

۱۰- استفاده از پیامک های تبلیغاتی موثر است؟ طبق اطلاعات موجود در مقاله استفاده از این پیامک ها در ساخت برند ۵۰ درصد موثر تر از تلوزیون و ۱۳۰ درصد موثر تر از رادیو است!

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

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

تحلیل پیامک های تبلیغاتی ایرانسل – قسمت اول

Wolf-ship

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

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

سوال اول. داده هایی که تحلیل ها روی آنها انجام شده از کجا به دست آمده اند؟ داده ها مربوط به پیامک های دریافتی روی گوشی خودم است که  به پیام های دریافتی از تاریخ ۱۶-۱-۲۰۱۶ تا ۴-۶-۲۰۱۶ اختصاص دارند. یعنی پیامک های دریافتی مربوط به ۱۴۰ روز یا حدودا پنج ماه! این پیامک ها را با استفاده از نرم افزار SMS Backup & Restore از روی گوشی مبتنی بر اندرویدم استخراج و تحلیل کرده ام.

سوال دوم. به طور متوسط چند پیامک در فایل وجود داشت؟ چند درصد پیامک های تبلیغاتی بودند؟ به طور کل در این بازه من ۱۸۵۸ پیامک دریافت کرده ام. در این میان حدودا ۷۳۶ پیامک از شماره های تبلیغاتی برای من ارسال شده. یعنی ۳۹.۶۱ درصد از پیامک های من در این چند ماه پیامک های تبلیغاتی بوده است!

سوال سوم. هزینه ارسال این پیام ها چقدر است؟ طبق اطلاعات موجود در وب سایت ایرانسل هزینه ارسال پیامک فارسی ۱۱.۵ تومان است. هزینه ارسال کل پیامک ها با فرض این هزینه برابر است با ۷۳۶ * ۱۱.۵ که برابر با ۸۴۶۴ تومان است. توجه داشته باشید این پیام ها برای هزاران و شاید میلیون ها کاربر در سطح کشور ارسال می شوند. برای مثال اگر فرض کنیم همین تعداد پیام برای یک میلیون نفر دیگر هم ارسال شده است (که یک میلیون نفر برای تعداد کاربران یک اوپراتور عدد اندکی است) هشت میلیارد و چهارصد و شصت و چهار میلیون تومان هزینه ارسال این پیام ها شده است! سوالی که مطرح می شود این است که میزان سود فرستندگان چقدر است؟!!

سوال چهارم. به طور متوسط چند پیامک تبلیغاتی در روز دریافت کرده ام؟ طبق آمار و ارقام به طور متوسط در هر روز ۵.۲۶ پیامک تبلیغاتی برای من ارسال شده (با انحراف معیار ۲.۱۷ پیام در هر روز).

سوال پنجم. بیشترین و کم ترین تعداد پیام های دریافتی در این مدت چقدر بوده است؟ کمترین تعداد پیامک تبلیغاتی دریافتی ۱ پیام در روز و بیشترین آن ۱۰ پیام در روز بوده است. در این میان در نیمی از روزها (۷۰روز) بیشتر از ۵ پیامک تبلیغاتی در روز دریافت کرده ام. در ۷۰ روز دیگر تعداد پیامک های تبلیغاتی دریافتی کمتر یا برابر با ۵ پیامک در روز بوده است. صدک های پیامک های دریافتی در ادامه آمده اند. همان طور که مشاهده می کنید در سطر اول درصد روزها و در سطر دوم تعداد پیامک ها تبلیغاتی آمده اند. برای تفسیر این صدک ها می توان گفت برای مثال در ۱۰ درصد از روزها ۲ پیام تبلیغاتی یا کمتر دریافت کرده ام٬ در ۲۰ درصد از روزها ۳ پیام تبلیغاتی یا کمتر دریافت کرده ام و به همین ترتیب.

درصد روزها ۱۰٪ ۲۰٪ ۳۰٪ ۴۰٪ ۵۰٪ ۶۰٪ ۷۰٪ ۸۰٪ ۹۰٪ ۱۰۰٪
تعداد پیامک تبلیغاتی ۲ ۳ ۴ ۵ ۵ ۶ ۶ ۷ ۸ ۱۰

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

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

سوال ششم. بیشترین پیامک های تبلیغاتی از چه شماره هایی ارسال شده اند؟ پاسخ این سوال را می توانید به وضوح در نمودار زیر مشاهده کنید. همان طور که مشاهده می کنید بیشترین پیام ها از آدرسی با عنوان Irancell ارسال شده اند. توجه داشته باشید شماره های بسیار دیگری هم وجود دارند که پیامک های تبلیغاتی از آنها دریافت شده است اما در نمودار زیر ما ۲۰ شماره اول را آورده ایم.

تعداد پیام های تبلیغاتی دریافت شده از هر یک از آدرس ها

نکته بسیار جالب در این نمودار تعداد پیام های ارسالی از شماره ۰۹۳۷۷۰۷۰۰۰۰ است که مربوط به یادآوری پرداخت ماهیانه هزینه وایمکس ایرانسل است. با اینکه ماهیانه هزینه ای به ازای سرویس وایمکس به حساب ایرانسل واریز می کنم تعداد پیام های دریافت شده از این شماره برای یادآوری پرداخت در کل ۱۰ پیام است! یعنی تنها چند پیام بیشتر از تعداد ماه ها! این عدد را با تعداد پیام های تبلیغاتی مقایسه کنید.

سوال هفتم. به طور کلی چه کلماتی در تمامی پیام ها تکرار شده اند؟ در اَبر کلمات زیر سعی شده ۵۰ کلمه پراستفاده در پیامک ها خلاصه شوند. البته این نمودار به علت دشواری هایی که در پردازش زبان فارسی به عنوان یک زبان طبیعی وجود دارد اشکالاتی دارد.

ابرکلمات تمامی پیامک های تبلیغاتی دریافت شده روی شماره ایرانسل

سوال هشتم. در اَبر کلمات سه شماره اول به صورت جدا چه کلماتی بیشتر استفاده شده است؟ نمودارهای زیر به ترتیب ۵۰ کلمه پر استفاده در پیامک های هر شماره را نشان می دهند.

Fig4-Irancell-wordcloudFig5-8282-wordcloud

Fig6-737587-wordcloud

سوال نهم. آیا ایرانسل راهی برای عدم دریافت این پیامک ها در اختیار ما قرار داده است؟ راه های متفاوتی در زمینه پیدا کردم که متاسفانه هیچ کدام به درستی٬ حداقل برای من٬ کار نکردند. یکی از این راه ها استفاده از سامانه کنترل حساب اینترنتی ایرانسل است.

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

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

نکته مهم تا اینجا این است که برای مقابله با این سودجویی چه می توان کرد؟ نظر شما چیست؟

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

جاه طلبی در محیط کار

Social Climbing

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

یکی از رفتارهای بسیار زننده و مخربی که در بسیاری از محیط های کاری IT مشاهده کرده و می کنم جاه طلبی (Social Climbing) است. عموما به همراه این جاه طلبی نوعی فرهنگ نوکیسه گی(Parvenu) ، عدم تخصص و تجربه، خود برتر بینی و تمایل به کسب سمت مدیریتی هم وجود دارد. در این پست به طور مختصر به بررسی این رفتار و راه های خنثی کردن اثر آن می پردازم.

اما جاه طلبی یعنی چه؟ در لغت نامه دهخدا در تعریف این واژه چنین آمده:

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

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

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

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

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

  1. عدم استفاده از مدیرانی که به تازگی تازه فارغ التحصیل شده اند (به خصوص در رشته هایی مانند مهندسی صنایع). البته همیشه استثناء وجود دارد اما در کل بهتر است از افراد تازه کار در سمت های مدیریتی استفاده نشود.
  2. ایجاد شفافیت در محیط کار
  3. حفظ اتحاد میان کارکنان
  4.  گزارش چنین رفتارهایی بوسیله کارکنان به مدیریت سطح بالای مجموعه

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

پراگماتیسم و TDD

سیکل عمومی برنامه نویسی آزمون محور

چند روز پیش در طول یک گپ و گفت بسیار کوتاه در مورد  برنامه نویسی آزمون محور (Test Driven Development)، که بیشتر حول  مزایای استفاده از تست کیس‏ ها (Test Case) می چرخید؛ یکی از دوستان مطلب جالبی رو مطرح کرد. صحبت این دوست عزیز در مورد عملی بودن استفاده از برنامه نویسی آزمون محور و بحث های موجود در این حوزه بود. مسلما نمی توان یک نسخه را برای هر بیماری تجویز کرد؛ اما نکته ای در این زمینه به فکرم رسید که شاید ذکر اون خالی از لطف نباشه. برای بررسی این نکته ابتدا باید کمی در مورد فلسفه صحبت کنیم.

در فلسفه به مطالعه ماهیت واقعیت (Reality) اصطلاحا هستی شناسی (Ontology) می گویند. ماهیت واقعیت را در علوم اجتماعی می توان به سه دسته تقسیم کرد (این دسته بندی ها تا حد امکان ساده شده اند):

  • عینیت گرایی (Objectivism): عینیت گرایان معتقدند واقعیت مستقل از ذهن وجود دارد.
  • ساخت گرایی (Constructivism): ساخت گرایان معتقدند واقعیتی مستقل از ذهن وجود ندارد و آنچه ما به عنوان واقعیت می شناسیم ساخته ذهن بشر است.
  • عمل گرایی (Pragmatism): عمل گرایان معتقدند دیدگاه های مختلف تا زمانی مفیدند که ما بتوانیم از آنها در عمل استفاده کنیم.

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

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

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

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

طرح جلد کتاب برنامه نویسی با پایتون ترجمه غلامرضا صابری تبریزی