سینا سیادت

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

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

فردی داخل قایق نشسته و با چندین چوب ماهیگیری، ماهی می‌گیرد

در OS X کنترل پنجره برنامه‌ها توسط ابزارهایی مانند xmonad یا i3 امکان‌پذیر نیست. این باعث شد که به دنبال یک برنامه جایگزین برای مدریت ترمینال‌هایم باشم. در ادامه توضیح می‌دهم که من چطور به روشی برای استفاده از tmux (تیماکس) به عنوان یک tiling window manager برای ترمینال رسیدم.

ادامه‌ی مطلب را بخوانید

برنامه‌ی روزانه برای دورکاری

یک گربه در حال نگاه کردن به صاحبش در حال کار از خانه

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

۱۱ نظر
ادامه‌ی مطلب را بخوانید

چطور با مشکل بروزرسانی میلیون‌ها رکورد در Rails کنار نیامدیم

نقاشی حرکت بر روی ریل‌ها
آیا متد find_each را می‌شناسید؟ اگر با Ruby on Rails کار کرده باشید حتماً از این متد استفاده کرده‌اید. find_each و متد مشابه آن each، برای گرفتن رکوردها به صورت تک‌تک استفاده می‌شوند. به عنوان مثال:

People.find_each(&:party_all_night!)
People.each(&:party_all_night!)

تفاوت بین find_each و each در نحوه‌ی پیاده‌سازی آنهاست. متد each تمام رکوردها را در یک آرایه ذخیره می‌کند و یک Enumerator برای این آرایه خروجی می‌دهد. حالا فرض کنید تعداد رکوردها چند میلیون باشد. تمام این چند میلیون ActiveRecord باید در حافظه ذخیره شوند. میزان مصرف حافظه سرسام‌آور خواهد شد. این می‌تواند مشکل‌ساز باشد، مخصوصا برای پروسس‌هایی که عمر طولانی دارند چون که Ruby حافظه‌ی گرفته شده را به سیستم پس نمی‌دهد (و در عوض در آینده از آن دوباره استفاده می‌کند).

۴ نظر
ادامه‌ی مطلب را بخوانید

توپ به عنوان ساز با استفاده از پردازش تصویر

توپ به عنوان ساز - با استفاده از پردازش تصویر

«توپ‌جمع‌کن» نام پروژه‌ی آخر هفته من بود. هدف از این پروژه استفاده از یک توپ و حرکت آن جلوی دوربین برای ارسال دستورات به برنامه‌های مختلف است.

 

این برنامه در مرحله ابتدایی (یا حتی پیش دبستانی) خود است و محدودیت‌های زیادی دارد. کاری که این برنامه می‌کند این است که به دوربین اصلی کامپیوتر وصل می‌شود، با استفاده از opencv تصاویر را پردازش می‌کند، از چند فیلتر رد می‌کند، مختصات یک دایره سبز رنگ را در تصویر تخمین می‌زند، و در نهایت این مختصات را به صورت بیدرنگ در خروجی‌اش چاپ می‌کند. کار این برنامه همین است. هیچ کار دیگری با مختصات بدست آمده نمی‌کند.

 

۱۰ نظر
ادامه‌ی مطلب را بخوانید