از بچگی هم به کامپیوتر علاقه داشتم و هم از دیدن فیلمهای بروسلی و جکی چان لذت میبردم. در هر دو، مهارت و تسلط و توانایی وجود داشت. دانشآموز راهنمایی که بودم با تایپ کردن از روی یک دفترچه راهنمای Commodore Plus/4 و تغییر مقادیر و شلنگ تخته انداختن سعی کردم برنامه بنویسم. اما هنر رزمی را به لطف دوست قدیمیام بابک، در بیست و چند سالگی شروع کردم. سبکی که یاد میگرفتم کوک سول وان، یک هنر رزمی کرهای قدیمی بود، چیزی شبیه کونگ فوی چینی. تا امروز علاقهام به هیچکدام کمتر نشده است. دریای دانشی پشت هر کدام است که اگر همهی عمر هم صرفشان کنم باز هم چیز جدیدی برای یادگرفتن وجود خواهد داشت.
قبلاً از قول شخص معروفی خوانده بودم که برنامهنویسها میتوانند هر چیزی را راحت یاد بگیرند. تا حدود زیادی با این گفته موافقم چرا که ما الگوها را راحتتر تشخیص میدهیم و عاشق خلاقیت و ماجراجوییهای کوچک در حین پیروی از مجموعهای از قواعد هستیم. همینطور وقتی با گیر و گورهای یک سیستم، محکم به دیوار میخوریم باز هم مصمم هستیم راه حلی برایش پیدا کنیم.
کیوان رشادیپور 23 مرداد
مستندسازی فنی در اجایل
از مستندسازی متنفرم. تا همین چندوقت پیش تجربههایم در مستندسازی محدود میشد به تکالیف دانشگاهی. در آن تکالیف ما را مجبور میکردند تا برای برنامههایمان مستندسازی کنیم. من همیشه در پایان کار چند خط اطلاعات بهدردنخور مینوشتم و همراه برنامههایم میفرستادم. با شروع کار در سارینا برای آنکه از عهدهی مسئولیتهای جدید بربیایم، رجوع به یکی دو مستند حسابی کارم را راه انداخت. بعد از آن بود که سعی کردم بر نفرتم به مستندسازی غلبه کنم و ببینم چطور میتوانم خودم هم مستنداتی اینچنینی بنویسم. میدانم که نفرتم زیادهروی است و شاید دلیلش تکالیف اجباری دانشگاه باشد اما تا آنجا که میدانم فقط من نیستم که مستندسازی را دوست ندارم. اکثر برنامهنویسها همینطورند بهخصوص اگر در گروهی باشند که پروژهها با رویکرد اجایل و اسکرام انجام میشوند. این تمایل البته غیرمنطقی هم نیست. در بیانیهی توسعهی نرمافزار چابک هم آمده که نرمافزاری که کار میکند از مستندسازی جامع بهتر است؛ اما آیا این بهتر بودن به این معنا است که دور مستندسازی را کاملاً خط بکشیم؟ مسلماً نه اما برای مستندسازی باید چهکار کنیم؟ بگذارید بهتر بپرسم: چرا، چهوقت، چهچیز را، چقدر و چگونه مستندسازی کنیم؟ پاسخ به این پنج سوال تا حد زیادی بستگی به ویژگیها، کار و تیم شما دارد. برای آنکه این عوامل را در نظر بگیریم، در ادامه سعی میکنم این پنج سوال را به سوالهای بیشتر و واضحتر بشکنم. فرض بر این است که از اجایل استفاده میکنیم و همچنین اینجا منظور از مستندسازی، قسمت فنی است که مخاطبش توسعهدهنده است و شامل مستندهای راهنما برای کاربران نرمافزار و نیز مستندهای بازاریابی نمیشود.
من PHP بلدم، حالا چی؟
PHP زبان محبوبی است و خیلی از ما آن را بلدیم. اما باید یادمان باشد که PHP یک زبان برنامهنویسی در میان صدها زبان برنامهنویسی دیگر است. ذهنتان را نبندید. همیشه چیزی برای یاد گرفتن هست. اگر میتوانید سراغ زبان دیگری هم بروید. برای ویندوز .NET خوب است و برای فارغ از محیطها، Ruby. یاد گرفتن زبانهای دیگر این مزیت را دارد که متوجه میشوید زبان فعلیتان چه مزیتها و محدودیتهایی دارد. اگر حال و حوصلهی یاد گرفتن زبان جدید را ندارید (چرا نباید داشته باشید؟) فریمورکهای زبان خودتان را بشناسید و یادشان بگیرید. زمان توسعهی کارتان خیلی پایین میآید.
در OS X کنترل پنجره برنامهها توسط ابزارهایی مانند xmonad یا i3 امکانپذیر نیست. این باعث شد که به دنبال یک برنامه جایگزین برای مدریت ترمینالهایم باشم. در ادامه توضیح میدهم که من چطور به روشی برای استفاده از tmux (تیماکس) به عنوان یک tiling window manager برای ترمینال رسیدم.
قدم اول:
از فایلها و پایگاه دادهی مجنتو یک نسخهی پشتیبان تهیه کنید. البته میدانم که برنامهی منظمی برای پشتیانگیری دارید. ندارید؟ آب دستتان است زمین بگذارید و اینجا را بخوانید.
بهتر است همین جا سایت فعلی خودتان را به حالت maintenance ببرید. چون ممکن است در طول بروزرسانی، مشتری جدیدی ثبتنام کند یا سفارش جدیدی ثبت شود و آن را از دست بدهید. برای بردن مجنتو به حالت maintenance اینجا را ببینید.
یک روز قبل از تعطیلات عید فطر از ما خواسته شد نمودارهایی برای برنامهی تلویزیونی ماه عسل بسازیم. از آنجا که فرصت کم بود تصمیم گرفتیم از ابزاری کاملا آشنا استفاده کنیم: وب. همان HTML، CSS و Javascript دوستداشتنی خودمان. تا آن روز کارفرما فقط تجربهی استفاده از نرمافزارهای تولید شده با فلش را داشت. او را قانع کردیم که راهکار ما از نظر زمانی بهصرفهتر است و کافی است به جای اجرای برنامهی exe، مرورگر را باز کرده و آدرسی را در آن وارد کند. نتیجه کار بهتر از آن چیزی شد که کارفرما انتظار داشت. بخصوص زمانی که رفع اشکالها و بهینهسازیها را از راه دور انجام میدادیم، دیگر نیازی نبود لپتاپ یا حافظهی فلش برای نصب یا بروزرسانی برنامهی جدید بین استودیو و شرکت جابهجا شود.
این تجربه باعث شد از ما بخواهند برنامهی نود را هم به همین ترتیب بازسازی کنیم. فرزان در مورد روش طراحی نمودارها، انتخاب رنگها و کالیبره کردن برنامه برای تلویزیون توضیحات مفصلی داده که پیشنهاد میکنم قبل از ادامهی این مطلب آن را مطالعه کنید.