• زمان : ۱۳۹۳/۹/۹،‏ ۱۹:۳۱
  • نمایش : ۱٬۰۰۹ دفعه
  • موضوع : یادداشت

*به مناسبت روز برنامه‌نویس*

از ۱۰ آذر به عنوان روز برنامه‌نویس یاد می‌شود.

 

شما می‌توانید دلیل نام‌گذاری این روز خاص از سال و حواشی مربوط به آن را از طریق سایت programmerday.ir پیگیری کنید.

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

 

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

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

 

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

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

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

 

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

  • اینترنت بی‌سیم با کیفیت قابل‌قبول
  • پریز برق به تعداد مناسب و در دسترس
  • میز و صندلی مناسب، هم از نظر ارتفاع و هم از نظر راحتی
  • محیط آرام، با حداقل صداهای ناهنجار و موزیک با صدای نرمال(یا بهتر بگویم: صدای کم!)
  • چند نوشیدنی ارزان‌قیمت، مخصوصاً چای با قیمت مناسب
  • احساس راحتی! توضیح بیشتر این که یک برنامه‌نویس در روز به حداقل ۳ تا ۴ ساعت زمان نیاز دارد تا کار خود را انجام دهد. جو کافه و برخورد پرسنل نباید طوری باشد که برنامه‌نویس احساس کند حضور طولانی‌مدتش در کافه برای کافه‌دارخوش‌آیند نیست.

 

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

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

 

 

در آخر، روز برنامه‌نویس را از طرف وب‌سایت کافه‌یاب، به تمام برنامه‌نویس‌های ایرانی تبریک می‌گوییم!

 

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

اشتراک گذاری در شبکه های اجتماعی
log(41) | debug(0) | profiler(6) | db(16) | system(13) | all
log
21:41:14.7686
[info]
Service "Log" is loaded
21:41:14.7755
[info]
Service "Security" is loaded
21:41:14.7761
[info]
Resource "security" is booted
21:41:14.7764
[info]
Service "Database" is loaded
21:41:14.7817
[info]
Resource "database" is booted
21:41:14.7819
[info]
Service "Registry" is loaded
21:41:14.7823
[info]
Service "Cache" is loaded
02:11:14.7852
[info]
Resource "config" is booted
02:11:14.7866
[info]
Service "Module" is loaded
02:11:14.7886
[info]
Resource "router" is booted
02:11:14.7888
[info]
Service "I18n" is loaded
02:11:14.7902
[info]
Resource "i18n" is booted
02:11:14.7904
[info]
Resource "module" is booted
02:11:14.7908
[info]
Resource "modules" is booted
02:11:14.791
[info]
Service "Session" is loaded
02:11:14.7962
[info]
Resource "session" is booted
02:11:14.7964
[info]
Service "Authentication" is loaded
02:11:14.797
[info]
Service "User" is loaded
02:11:14.7974
[info]
Service "Api" is loaded
02:11:14.7981
[info]
Resource "authentication" is booted
02:11:14.7983
[info]
Resource "permission" is booted
02:11:14.7985
[info]
Resource "render_cache" is booted
02:11:14.8063
[info]
Service "Asset" is loaded
02:11:14.8064
[info]
Service "Theme" is loaded
02:11:14.8098
[info]
Translation "module/news:default.fa" is loaded.
02:11:14.8111
[info]
Service "Permission" is loaded
02:11:14.8132
[info]
Service "RenderCache" is loaded
02:11:14.8167
[info]
Service "Markup" is loaded
02:11:14.8295
[info]
Service "Url" is loaded
02:11:14.8448
[info]
Translation "module/favourite:default.fa" is loaded.
02:11:14.8467
[info]
Service "SocialSharing" is loaded
02:11:14.8477
[info]
Translation "theme/cafeyab:default.fa" is loaded.
02:11:14.8528
[info]
Translation "module/video:block.fa" is loaded.
02:11:14.8691
[info]
Service "Browser" is loaded
02:11:14.8693
[warn] #88 in lib/Pi/Application/Service/Browser.php
get_browser(): browscap ini directive not set
02:11:14.8706
[info]
Translation "module/system:block.fa" is loaded.
02:11:14.8737
[info]
Service "Form" is loaded
02:11:14.8791
[info]
Service "View" is loaded
02:11:14.8914
[info]
Translation "module/search:block.fa" is loaded.
02:11:14.8937
[info]
Service "Comment" is loaded
02:11:14.8984
[info]
Route: front:news-story-index.
debug
profiler
02:11:14.7685
PI - time: 0.1332; realmem: 4194304; emalloc: 3559920
02:11:14.8136
ACTIION - time: 0.0243; realmem: 0; emalloc: 145552
02:11:14.8512
BLOCKS - time: 0.0128; realmem: 0; emalloc: 229344
02:11:14.8525
BLOCK: ویدیو جدید - time: 0.0104; realmem: 0; emalloc: 160088
02:11:14.8703
BLOCK: نوار ابزار کاربر - time: 0.0093; realmem: 0; emalloc: 265800
02:11:14.891
BLOCK: جستجو - time: 0.0008; realmem: 0; emalloc: 19720
db
02:11:14.7951
[0.0007]
query: SELECT `core_session`.* FROM `core_session` WHERE `id` = :where1
params: [where1] cac0b5ab1245dd6aee4a15104d019353;
02:11:14.8117
[0.0003]
query: SELECT `core_permission_rule`.* FROM `core_permission_rule` WHERE `resource` = :where1 AND `section` = :where2 AND `role` IN (:where3) LIMIT :limit
params: [where1] module-admin;[where2] front;[where3] guest;[limit] 1;
02:11:14.8128
[0.0002]
query: SELECT `core_permission_rule`.* FROM `core_permission_rule` WHERE `section` = :where1 AND `module` = :where2 AND `resource` = :where3 AND `role` IN (:where4) LIMIT :limit
params: [where1] front;[where2] news;[where3] public;[where4] guest;[limit] 1;
02:11:14.8154
[0.0007]
query: SELECT `news_story`.`id` AS `id`, `news_story`.`title` AS `title`, `news_story`.`subtitle` AS `subtitle`, `news_story`.`slug` AS `slug`, `news_story`.`topic` AS `topic`, `news_story`.`topic_main` AS `topic_main`, `news_story`.`author` AS `author`, `news_story`.`text_summary` AS `text_summary`, `news_story`.`text_description` AS `text_description`, `news_story`.`text_html` AS `text_html`, `news_story`.`seo_title` AS `seo_title`, `news_story`.`seo_keywords` AS `seo_keywords`, `news_story`.`seo_description` AS `seo_description`, `news_story`.`important` AS `important`, `news_story`.`status` AS `status`, `news_story`.`time_create` AS `time_create`, `news_story`.`time_update` AS `time_update`, `news_story`.`time_publish` AS `time_publish`, `news_story`.`uid` AS `uid`, `news_story`.`hits` AS `hits`, `news_story`.`image` AS `image`, `news_story`.`path` AS `path`, `news_story`.`cropping` AS `cropping`, `news_story`.`point` AS `point`, `news_story`.`count` AS `count`, `news_story`.`favourite` AS `favourite`, `news_story`.`attach` AS `attach`, `news_story`.`attribute` AS `attribute`, `news_story`.`type` AS `type` FROM `news_story` WHERE `slug` = :where1
params: [where1] programming-in-cafe;
02:11:14.8303
[0.0015]
query: UPDATE `news_story` SET `hits` = hits+ 1 WHERE `id` = :where1
params: [where1] 31;
02:11:14.8324
[0.0007]
query: SELECT `news_link`.`story` AS `story` FROM `news_link` WHERE `status` = :where1 AND story > :where2 AND time_publish <= :where3 AND `topic` IN (:where4) AND `type` IN (:where5, :where6, :where7, :where8, :where9, :where10, :where11) ORDER BY `id` ASC LIMIT :limit
params: [where1] 1;[where2] 31;[where3] 1492983674;[where4] 0;[where5] text;[where6] article;[where7] magazine;[where8] image;[where9] gallery;[where10] media;[where11] download;[limit] 1;
02:11:14.8335
[0.0006]
query: SELECT `news_link`.`story` AS `story` FROM `news_link` WHERE `status` = :where1 AND story < :where2 AND time_publish <= :where3 AND `topic` IN (:where4) AND `type` IN (:where5, :where6, :where7, :where8, :where9, :where10, :where11) ORDER BY `id` ASC LIMIT :limit
params: [where1] 1;[where2] 31;[where3] 1492983674;[where4] 0;[where5] text;[where6] article;[where7] magazine;[where8] image;[where9] gallery;[where10] media;[where11] download;[limit] 1;
02:11:14.8349
[0.0006]
query: SELECT DISTINCT story AS `story` FROM `news_link` WHERE `status` = :where1 AND story != :where2 AND time_publish <= :where3 AND `topic` = :where4 AND `type` IN (:where5, :where6, :where7, :where8, :where9, :where10, :where11) ORDER BY `time_publish` DESC, `id` DESC LIMIT :limit
params: [where1] 1;[where2] 31;[where3] 1492983674;[where4] 0;[where5] text;[where6] article;[where7] magazine;[where8] image;[where9] gallery;[where10] media;[where11] download;[limit] 10;
02:11:14.8361
[0.0009]
query: SELECT `favourite_list`.* FROM `favourite_list` WHERE `uid` = :where1 AND `item` = :where2 AND `table` = :where3 AND `module` = :where4
params: [where1] 0;[where2] 31;[where3] story;[where4] news;
02:11:14.8521
[0.0002]
query: SELECT `core_block`.`id` AS `id`, `core_block`.`root` AS `root`, `core_block`.`name` AS `name`, `core_block`.`title` AS `title`, `core_block`.`description` AS `description`, `core_block`.`module` AS `module`, `core_block`.`template` AS `template`, `core_block`.`render` AS `render`, `core_block`.`config` AS `config`, `core_block`.`type` AS `type`, `core_block`.`content` AS `content`, `core_block`.`cache_ttl` AS `cache_ttl`, `core_block`.`cache_level` AS `cache_level`, `core_block`.`title_hidden` AS `title_hidden`, `core_block`.`body_fullsize` AS `body_fullsize`, `core_block`.`active` AS `active`, `core_block`.`cloned` AS `cloned`, `core_block`.`class` AS `class`, `core_block`.`subline` AS `subline` FROM `core_block` WHERE `id` IN (:where1)
params: [where1] 64;
02:11:14.8534
[0.0002]
query: SELECT `video_video`.`id` AS `id`, `video_video`.`title` AS `title`, `video_video`.`slug` AS `slug`, `video_video`.`category` AS `category`, `video_video`.`category_main` AS `category_main`, `video_video`.`text_summary` AS `text_summary`, `video_video`.`text_description` AS `text_description`, `video_video`.`seo_title` AS `seo_title`, `video_video`.`seo_keywords` AS `seo_keywords`, `video_video`.`seo_description` AS `seo_description`, `video_video`.`status` AS `status`, `video_video`.`time_create` AS `time_create`, `video_video`.`time_update` AS `time_update`, `video_video`.`uid` AS `uid`, `video_video`.`hits` AS `hits`, `video_video`.`download` AS `download`, `video_video`.`image` AS `image`, `video_video`.`path` AS `path`, `video_video`.`point` AS `point`, `video_video`.`count` AS `count`, `video_video`.`attribute` AS `attribute`, `video_video`.`related` AS `related`, `video_video`.`recommended` AS `recommended`, `video_video`.`favourite` AS `favourite`, `video_video`.`sale_type` AS `sale_type`, `video_video`.`sale_price` AS `sale_price`, `video_video`.`video_type` AS `video_type`, `video_video`.`video_extension` AS `video_extension`, `video_video`.`video_link` AS `video_link`, `video_video`.`video_url` AS `video_url`, `video_video`.`video_server` AS `video_server`, `video_video`.`video_path` AS `video_path`, `video_video`.`video_file` AS `video_file`, `video_video`.`video_qmery_hash` AS `video_qmery_hash`, `video_video`.`video_qmery_id` AS `video_qmery_id`, `video_video`.`video_qmery_hls` AS `video_qmery_hls`, `video_video`.`video_size` AS `video_size`, `video_video`.`video_duration` AS `video_duration`, `video_video`.`setting` AS `setting` FROM `video_video` WHERE `status` = :where1 ORDER BY `time_create` DESC, `id` DESC LIMIT :limit
params: [where1] 1;[limit] 6;
02:11:14.8653
[0.0008]
query: SELECT `news_story`.`id` AS `id`, `news_story`.`title` AS `title`, `news_story`.`subtitle` AS `subtitle`, `news_story`.`slug` AS `slug`, `news_story`.`topic` AS `topic`, `news_story`.`topic_main` AS `topic_main`, `news_story`.`author` AS `author`, `news_story`.`text_summary` AS `text_summary`, `news_story`.`text_description` AS `text_description`, `news_story`.`text_html` AS `text_html`, `news_story`.`seo_title` AS `seo_title`, `news_story`.`seo_keywords` AS `seo_keywords`, `news_story`.`seo_description` AS `seo_description`, `news_story`.`important` AS `important`, `news_story`.`status` AS `status`, `news_story`.`time_create` AS `time_create`, `news_story`.`time_update` AS `time_update`, `news_story`.`time_publish` AS `time_publish`, `news_story`.`uid` AS `uid`, `news_story`.`hits` AS `hits`, `news_story`.`image` AS `image`, `news_story`.`path` AS `path`, `news_story`.`cropping` AS `cropping`, `news_story`.`point` AS `point`, `news_story`.`count` AS `count`, `news_story`.`favourite` AS `favourite`, `news_story`.`attach` AS `attach`, `news_story`.`attribute` AS `attribute`, `news_story`.`type` AS `type` FROM `news_story` WHERE `slug` = :where1
params: [where1] programming-in-cafe;
02:11:14.8699
[0.0002]
query: SELECT `core_block`.`id` AS `id`, `core_block`.`root` AS `root`, `core_block`.`name` AS `name`, `core_block`.`title` AS `title`, `core_block`.`description` AS `description`, `core_block`.`module` AS `module`, `core_block`.`template` AS `template`, `core_block`.`render` AS `render`, `core_block`.`config` AS `config`, `core_block`.`type` AS `type`, `core_block`.`content` AS `content`, `core_block`.`cache_ttl` AS `cache_ttl`, `core_block`.`cache_level` AS `cache_level`, `core_block`.`title_hidden` AS `title_hidden`, `core_block`.`body_fullsize` AS `body_fullsize`, `core_block`.`active` AS `active`, `core_block`.`cloned` AS `cloned`, `core_block`.`class` AS `class`, `core_block`.`subline` AS `subline` FROM `core_block` WHERE `name` = :where1
params: [where1] system-user-bar;
02:11:14.8906
[0.0002]
query: SELECT `core_block`.`id` AS `id`, `core_block`.`root` AS `root`, `core_block`.`name` AS `name`, `core_block`.`title` AS `title`, `core_block`.`description` AS `description`, `core_block`.`module` AS `module`, `core_block`.`template` AS `template`, `core_block`.`render` AS `render`, `core_block`.`config` AS `config`, `core_block`.`type` AS `type`, `core_block`.`content` AS `content`, `core_block`.`cache_ttl` AS `cache_ttl`, `core_block`.`cache_level` AS `cache_level`, `core_block`.`title_hidden` AS `title_hidden`, `core_block`.`body_fullsize` AS `body_fullsize`, `core_block`.`active` AS `active`, `core_block`.`cloned` AS `cloned`, `core_block`.`class` AS `class`, `core_block`.`subline` AS `subline` FROM `core_block` WHERE `name` = :where1
params: [where1] search-search;
02:11:14.8986
[0.0002]
query: SELECT `core_session`.* FROM `core_session` WHERE `id` = :where1
params: [where1] cac0b5ab1245dd6aee4a15104d019353;
02:11:14.8991
[0.0025]
query: INSERT INTO `core_session` (`modified`, `data`, `id`, `lifetime`) VALUES (:modified, :data, :id, :lifetime)
params: [modified] 1492983674;[data] __ZF|a:3:{s:20:"_REQUEST_ACCESS_TIME";d:1492983674.796165943145751953125;s:6:"_VALID";a:1:{s:36:"Zend\Session\Validator\HttpUserAgent";s:39:"CCBot/2.0 (http://commoncrawl.org/faq/)";}s:33:"Zend_Validator_Csrf_salt_security";a:1:{s:6:"EXPIRE";i:1492983974;}}PI_USER|a:2:{s:5:"field";a:3:{s:2:"id";i:0;s:8:"identity";s:0:"";s:4:"name";s:10:"مهمان";}s:4:"time";i:1492983974;}hits_news|a:1:{i:31;b:1;}Zend_Validator_Csrf_salt_security|C:23:"Zend\Stdlib\ArrayObject":391:{a:4:{s:7:"storage";a:2:{s:9:"tokenList";a:1:{s:32:"468503467e6bee7bf3431fcedb7ae4c2";s:32:"b0987c9d201ed301b5de6b8013faf166";}s:4:"hash";s:65:"b0987c9d201ed301b5de6b8013faf166-468503467e6bee7bf3431fcedb7ae4c2";}s:4:"flag";i:2;s:13:"iteratorClass";s:13:"ArrayIterator";s:19:"protectedProperties";a:4:{i:0;s:7:"storage";i:1;s:4:"flag";i:2;s:13:"iteratorClass";i:3;s:19:"protectedProperties";}}}FlashMessenger|C:23:"Zend\Stdlib\ArrayObject":205:{a:4:{s:7:"storage";a:0:{}s:4:"flag";i:2;s:13:"iteratorClass";s:13:"ArrayIterator";s:19:"protectedProperties";a:4:{i:0;s:7:"storage";i:1;s:4:"flag";i:2;s:13:"iteratorClass";i:3;s:19:"protectedProperties";}}};[id] cac0b5ab1245dd6aee4a15104d019353;[lifetime] 1440;
system
Execution time
0.1371 s
Included files
625 files
Memory usage
4065416; peak: 4136864 bytes
OS
Linux
Web Server
LiteSpeed
PHP Version
7.1.4
Pi Environment
2.6.0-alpha development
Zend Version
2.4.11
Persist Engine
memcached
Cache Storage
Pi\Cache\Storage\Adapter\Filesystem
Module
news
Theme
cafeyab
Extensions
APC: ; Intl; cURL