Push the Limits

پل گراهام (Paul Graham) سازنده سیستم فروشگاهی است که بعدا توسط یاهو خریداری شد و Yahoo Store نام گرفت. این سیستم فروشگاهی با زبان Lisp نوشته شده است. خود پل گراهام میگوید که Lisp یک زبان عجیب و غریب است ولی برای کاری که میخواستند انجام بدهند مناسب بود و توانستند با استفاده از تکنولوژی که بقیه کمتر از آن استفاده میکردند مزیت رقابتی داشته باشند و در نهایت موفق شوند.

دیوید هاینمیر هانسن زمانی که بر روی نرم‌افزار بیس کمپ کار میکرد شروع به تولید یک چارچوب تحت وب نمود. او از زبانی استفاده کرد که در آن زمان کمتر کسی حتی اسمش را شنیده بود. آن زبان روبی بود و آن چارچوب روبی آن ریلز نام گرفت!

این مثال‌ها را برای این زدم که بگویم بلوغ یک سیستم بستگی به استفاده کنندگان از آن سیستم دارد. من خودم همیشه به این مسئله شک میکنم که شاید بهتر است به جای کار کردن با اسکالا و یا هر چیز کمتر شناخته شده با زبان‌های ساده‌تر و مرسوم تر که توسط بیشتر برنامه نویس‌ها استفاده میشود کار کنم. مثل جاوا، جاوا اسکریپت، پایتون، روبی و … به عبارت دیگر دنباله رو دیگران باشم.

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

هزینه این کار می‌تواند زیاد باشد ولی نتیجه آن بسیار با ارزشتر خواهد بود.

بلوغ اکوسیستم اسکالا یا هر تکنولوژی کمتر شناخته شده دیگر بستگی به خود ما دارد و نیازی نیست منتظر افراد دیگر باشیم تا مسیر را به ما نشان بدهند. تمام افراد شناخته شده و موفق، خودشان مسیرشان را ساختند و منتظر ساخته شدن مسیر نبودند.

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

۱۴م فروردین ۱۳۹۴ بازدید: 244 دسته بندی: فناوری , متفرقه , مدیریت , کسب و کار دیدگاه‌ها: ۶

کوتاه ترین برنامه TODO لیست MVC و بقیه ماجرا

از زمانی که Scala.js از حالت آزمایشی خارج شد، ظاهرا تکاپو برای ایجاد چارچوب‌هایی که بتوان فقط با زبان اسکالا، هم برای سمت سرور و هم برای سمت کلاینت کد زد افزایش پیدا کرده. یکی از زیباترین این تلاش‌ها که قطعا در آینده این روند تاثیر گذار است چارچوب Widok‌ است. از دیگر نمونه‌های بسیار بسیار جالب Monifu است که هم بروی JVM و هم بر روی Scala.js (یعنی در مرورگر) اجرا می‌شود. قطعا در چند سال آینده شاهد این روند خواهیم بود که سیستم‌های بزرگی بر روی زبان‌های مدرن مثل Scala و Rust وجود خواهند داشت که به طور کامل توسط این زبان‌ها پیاده شده‌اند (مثلا سمت کلاینت با JavaScript کار نشده است).

همه چارچوب‌ها به عنوان نمونه یک لیست TODO ساده را پیاده‌سازی میکنند. نمونه پیاده‌سازی شده با Widok کمترین تعداد خط کد در بین این نمونه‌ها را دارد (۸۹ خط)!

پیشنهاد میکنم همین الان SBT یا Activator را نصب کنید و با اجرای سه دستور زیر و سپس باز کردن فایل application.html خروجی این برنامه را ببینید. واقعا امیدوار کننده‌ست.

$ git clone git@github.com:widok/todomvc.git
$ cd todomvc
$ sbt fastOptJS

پ.ن. لطفا برای یادگیری اسکالا از چنین مثال‌هایی شروع نکنید

۲۷م اسفند ۱۳۹۳ بازدید: 195 دسته بندی: فناوری دیدگاه‌ها: ۲

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

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

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

آدرس فرم نظر سنجی: http://goo.gl/forms/tKiVsNCPFv

۶م اسفند ۱۳۹۳ بازدید: 441 دسته بندی: فناوری , متفرقه , مدیریت , کسب و کار دیدگاه‌ها: ۴

تایپ ۱۰ انگشتی

keybaord_k120چند وقتی هست که یک کیبورد Logitech K120 گرفته‌ام. تایپ با این کیبورد ساده و خوب، خیلی راحت و سریع بود تا اینکه متوجه شدم من فقط از سه انگست هر دستم برای تایپ استفاده میکنم (مثل لاک پشت‌های نینجا)!!! تایپ کردن را خودم یاد گرفتم و جای تعجب است که بعد از این همه سال هیچوقت تایپ صحیح ۱۰ انگشتی را جدی نگرفته بودم.

سرعت تایپم با همین روش ۶ انگشتی در حدود ۶۰ لغت در دقیقه است که برای برنامه نویسی کفایت میکند، ولی حالا که متوجه شدم از ۴۰ درصد انگشتانم استفاده نمیکنم، مثل یک خوره هر روز مشغول تمرین تایپ ۱۰ انگشتی هستم. با این فکر که «اگر بتوانم سرعت تایپم را به ۸۰ لغت در دقیقه برسانم یعنی ۳۳ درصد سرعت بیشتر در تایپ که قطعا در افزایش سرعت کارها تاثیر گذار است» خودم را گول میزنم و به جای کار بر روی پروژه‌ای که زمان تحویلش نزدیک است، تمرین تایپ میکنم.

یاد گرفتن تایپ ۱۰ انگشتی مشکل نیست بلکه فراموش کردن تایپ ۶ انگشتی مشکل است. بنابر این باید با دقت، روی اینکه با چه انگشتی کدام کلید را میزنم تمرکز کنم تا عادت قبلی از بین برود. به همین دلیل فعلا نمی‌توانم از پروژه به عنوان تمرین تایپ استفاده کنم (اول مغزم باید عادت قبلی را ترک کند).

این پست جف آتوود هم خواندنی ست.

۱م بهمن ۱۳۹۳ بازدید: 1,076 دسته بندی: فناوری , متفرقه دیدگاه‌ها: ۱۱

مسابقه برنامه‌نویسی شبیه ساز هرمی جادی

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

با زبان اسکالا در این مسابقه شرکت کردم و فکر نمی‌کردم این مسابقه انقدر شرکت کننده داشته باشد که در نهایت ۲۹ نفر به مرحله نهایی برسند. چون امکان داوری عادلانه برای برنامه‌ها به راحتی وجود نداشت جادی برای انتخاب برنده، قرعه کشی برگذار کرد تا سه نفر به این شکل انتخاب شوند. خودش هم به عنوان داور سه نفر دیگر را انتخاب کرد. من هم به عنوان نفر سوم قرعه کشی انتخاب شدم.

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

۲۱م دی ۱۳۹۳ بازدید: 458 دسته بندی: فناوری , متفرقه دیدگاه‌ها: ۲

یک سال پس از مهاجرت به لینوکس

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

از سال ۱۳۸۲ به طور حرفه‌ای (برای پول درآوردن) برنامه‌نویسی می‌کنم و بیشتر آن روی تکنولوژی‌های مایکروسافت بوده. اگر نگویم تمام ابزارها، بیشتر ابزارهایی که در این چند سال استفاده کردم محصول مایکروسافت بود؛

  • ویندوز به عنوان سیستم عامل
  • آفیس برای کارهای اداری
  • Outlook برای ایمیل و تقویم و …
  • Internet Explorer به عنوان مرورگر!
  • استفاده بیشتر از Bing نسبت به Google برای جستجو!
  • گوشی هوشمند با سیستم عامل ویندوز فون ۷ (Mozart 7)
  • صفحه کلید (ارگونومیک) و ماوس مایکروسافت!!!
  • استفاده از نرم‌افزارهای متن باز دات نتی (حتی برای وبلاگ به جای ورد پرس)
  • Visual Studio برای تولید نرم‌افزار (از طراحی تا پیاده‌سازی)
  • SQL Server برای بانک اطلاعاتی
  • زبان سی شارپ و سکوی دات نت
  • و …

windows-tattooهر کاری که میخواستم انجام بدهم حس بهتری داشتم که با محصولات مایکروسافت باشد. چون مایکروسافت به توسعه دهنده‌ها اهمیت میداد و زبان سی شارپ هم کار آنهاست و در کل جایگزینی خوبی برای سی شارپ نداشتم! از آنجایی که من برنامه نویس هستم بیشتر عمرم را مشغول صحبت کردن با یک زبان برنامه‌نویسی هستم پس اهمیت این موضوع که با چه زبانی کار کنم و اینکه این زبان چه امکاناتی داشته باشد روشن است.

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

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

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

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

dawn-700x300

ولی افتاد مشکل‌ها! حالا باید از صفر تا صد همه کارها را در دنیایی متفاوت انجام می‌دادم. من هم ابزارهای زیر را برای کارهایم انتخاب کردم:

  • اوبونتو به عنوان سیستم عامل
  • لیبره آفیس به جای آفیس مایکروسافت
  • Thunderbird (و پلاگین‌هایش) به جای Outlook
  • ابتدا Chromium و بعدها (به خاطر مشکلی امنیتی) Firefox به جای IE
  • استفاده بیشتر از محصولات گوگل
  • گوشی ویندوز فون ۷ را هنوز داشتم (و دارم ولی دلم یک گوشی اندرویدی می‌خواهد که بتوانم رویش Firefox OS یا Ubuntu Touch نصب کنم) ولی یک تبلت اندرویدی گرفتم و تازه دنیای اپ‌ها به رویم باز شد
  • صفحه کلید فراسو و ماوس A4tech!!!
  • استفاده از ورد پرس و پرستا شاپ و نرم‌افزارهای غیر دات نتی (که تعدادشان خیلی بیشتر از دات نتی‌ها بود)
  • Scala IDE (همان Eclipse) و IntelliJ IDEA و بقیه برای توسعه نرم‌افزار
  • MongoDB، Postgres و MySQL برای بانک اطلاعاتی
  • زبان اسکالا و بعدا روبی و پایتون (در کنار اسکالا) برای برنامه‌نویسی (هنوز اسکالا را به شدت نسبت به بقیه ترجیح می‌دهم)
  • و …

و مشکلاتی که داشتم؛

  • هنوز یک پروژه بر روی دات نت داشتم و با استفاده از Virtual Box یک نسخه ویندوز ۷ با VS روی آن بالا می‌آوردم و با بدبختی روی آن کار میکردم؛ بسیار کند بود و وقتی دکمه Alt را می‌گرفتم منوی Unity باز می‌شد و وسط نوشتن یک کد حساس یک حال اساسی به اعصابم می‌داد.
  • دلم می‌خواست روی پروژه‌ای با زبان اسکالا کار کنم ولی کسی حتی اسمش را هم نشنیده بود!
  • من عادت کرده بودم زبان صحفه کلید را با دست راست و با Alt+Shift سمت راست تغییر دهم ولی به دلیل وجود باگی در Ubuntu آن زمان فقط امکان استفاده از Alt+Shift سمت چپ وجود داشت و من هم هنوز بلد نبودم سیستم را هک کنم (منظور فقط کمی ور رفتن با سیستم است) و هر کلیدی که دوست دارم انتخاب کنم و تصورش را هم نمی‌کردم این باگ به سرعت رفع شود برای همین به ترکیب سمت چپ عادت کردم و هنوز هم از کلیدهای سمت چپ استفاده می‌کنم!
  •  کارت گرافیکم به سختی نصب می‌شد و فن لپ تاپ همیشه روشن بود، نصفی از مشکل بخاطر درایور کارت گرافیک بود و نصف برای تنظیمات و درایور مخصوص DELL
  • از نظر مالی شدیدا به مشکل خورده بودم، پول لازم بودم و پروژه‌ای هم در کار نبود و شرایط به شدت برایم سخت شده بود در حالی که با مشکلات بالا هم سر و کله می‌زدم و همزمان اسکالا هم یاد می‌گرفتم

البته توانستم کم کم مشکلات را حل کنم:

  • سعی کردم واقع بین باشم و وقت بیشتری بر روی پروژه دات نتی صرف کنم (اما نه انقدر واقع بین که لینوکس را پاک کنم و برگردم روی ویندوز مثل آدم کار کنم) پروژه به جای خوبی رسید و تقریبا تحویل شد. هر چند چون پروژه دولتی بود و افراد سازمان عوض شدند پروژه اجرایی نشد.
  • با ور رفتن و مطالعه، هر کاری که می‌خواستم را در Ubuntu انجام میدادم، کارت گرافیک و بقیه مسائل حل شد. برای اکثر کارهای تکراری هم یک Bash Script تهیه میکردم. به این ترتیب سرعت کارهایم بیشتر از زمان ویندوز شده بود و روز به روز احساس راحتی بیشتری می‌کردم.
  • من در دوره‌های شناخت توانایی‌های امیر مهرانی شرکت کرده بودم و یکی از چیزهایی که یاد گرفته بودم این بود که باید روی نقاط قوتم تمرکز کنم تا سریعتر به نتیجه برسم. یکی از راه‌های فهمیدن نقاط قوت نگاه به گذشته و بررسی موقعیت‌هایی است که در آن موفق بودیم. من هم همین کار را کردم و به چند سال قبل دقت کردم و همان کارها را تکرار کردم. رزومه‌ام را تکمیل و با ظاهری جدید بازسازی کردم و شروع به معرفی خودم به اشخاص و شرکت‌های مختلف کردم. بعد از ارسال تقریبا ۲۰ ایمیل، چند موقعیت خیلی خوب پیش آمد. با آدم‌های بسیار حرفه‌ای و جالبی آشنا شدم. کیفیت کارها و سطح آدم‌ها بسیار بالاتر از زمانی بود که روی پلتفرم مایکروسافت کار می‌کردم.

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

به نظرم هر وقت یک گیک (از نوع برنامه‌نویس) احساس محدودیت کرد باید سریعا دست به ایجاد تغییر و تحول بزند تا دوباره احساس آزادی کند و گرنه خلاقیت و سر زندگی او کمرنگ می‌شود.

ubuntu-boot-small

یک سال است که وقتی کامپیوترم را روشن می‌کنم صفحه بوت شدن اوبونتو را می‌بینم (چند وقت هم بوت شدن Mint و بقیه را دیدم) و هر روز از دیدنشان لذت می‌برم (هر وقت خسته شوم می‌توانم با کمترین دردسر به یک توزیع باحال دیگر مهاجرت کنم). با دیدن این صفحات بوت به این فکر می‌کنم که تمام این نرم‌افزارها و ابزارها حاصل تلاش میلیون‌ها نفر است که بخاطر عقایدشان و علاقه‌ای که به آزادی داشتند از هیچ، به اینجا رسیدند و توانستند حریف بزرگترین غول‌های دنیا شوند. از طرفی اینکه چیزهایی مثل Raspberry Pi و Android و خیلی چیزهای دیگر که با نرم‌افزارهای آزاد و لینوکس کار می‌کنند، در کل دنیا معروف و همه‌گیر شدند. اینکه چندتا سیستم خیلی قدیمی را با استفاده از مدرن‌ترین توزیع‌های لینوکس دوباره راه اندازی کردم که بسیار عالی کار می کنند و یک حس نوستالژیک دارند. اینکه اکثر وب سایت‌ها و سرویس‌های بزرگ دنیا بر روی لینوکس و نرم‌افزار آزاد بنا شده‌اند. همه اینها حس بسیار خوبی به من می‌دهد و کمک می‌کند با انرژی بیشتری کار کنم و چیزهای بهتری تولید کنم.

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

۲۹م آذر ۱۳۹۳ بازدید: 2,662 دسته بندی: فناوری , متفرقه , مدیریت , کسب و کار دیدگاه‌ها: ۲۲

لینوکس برنده شد!

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

مایکروسافت هسته اصلی دات نت را متن باز کرد تا بر روی لینوکس هم اجرا شود. همچنین حرکت‌های دیگری در جهت جذب بیشتر توسعه‌دهنده‌ها انجام داد. وجود امکانات پیشرفته و مدرنی در لینوکس که توسط ویندوز پشتیبانی نمی‌شود (مانند Containerها) و استقبال کسترده توسعه‌دهندگان از اجرای نرم‌افزارهایشان بر روی لینوکس، باعث شد تا مایکروسافت این قدم را بردارد.

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

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

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

۲۳م آبان ۱۳۹۳ بازدید: 1,473 دسته بندی: فناوری , مدیریت دیدگاه‌ها: ۹

ماهنامه شماره ۲ سلام دنیا و اسکالا

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

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

و یک مورد دیگر اینکه متاسفانه نسخه نهایی مقاله که در مجله منتشر شده مشکلاتی دارد:

  • برای نمایش قطعه کدها از فونت مناسبی استفاده نشده
  • در حالی که زبان برنامه‌نویسی هر قطعه کد در نسخه ارسالی مشخص شده بود (Java / C# / Scala) این اطلاعات از نسخه نهایی حذف شده که احتمالا خواننده را گمراه می کند
  • فضای افقی بسیار کمی برای مقاله در نظر گرفته شده (۳ ستون) که باعث شده کوچکترین قطعه کدها نیز شکسته شود
  • برخی از فاصله‌ها که به خوانایی کد کمک می‌کرد به شکل نا بجایی حذف شده

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

۱۶م آبان ۱۳۹۳ بازدید: 676 دسته بندی: فناوری , مدیریت , کسب و کار دیدگاه‌ها: ۳

مقاله در مورد اسکالا برای مجله سلام دنیا

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

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

یک مخزن در گیت‌هاب  برای کار بر روی این مقالات ایجاد شده است و به زودی محتوی اولیه درون آن نیز کامل می‌شود.

۱۴م شهریور ۱۳۹۳ بازدید: 557 دسته بندی: فناوری , متفرقه دیدگاه‌ها: ۱

بالاترین سرعتی که از یک وب سرور دیدم؛ ۹ میلی ثانیه!

بعضی وقت‌ها سرعت وب سرور‌ها را به صورت تفننی بررسی می‌کنم. یک مقایسه جالب هم بین Django، Rails و Play Framework انجام داده‌ام که در آینده منتشر خواهم کرد. اما این بار یک سرعت باور نکردنی از وب سرور Play Framework دیدم.

این یک برنامه است که با Play Framework 2.3 و زبان Scala نوشته شده، در این صفحه یک رکورد از بانک اطلاعاتی MongoDB دریافت و یک صفحه Html ساده در خروجی رندر می‌شود.

Screenshot from 2014-08-22 16:42:32

همانطور که در تصویر قابل مشاهده است تمام این عملیات تنها در ۹ میلی ثانیه انجام می‌شود. نکته جالب اینجاست که این وب سرور Develop است و در زمان توسعه نیز روی همین وب سرور (Netty) کار می‌کنم. هر چند این صفحه به صورت Local باز شده اما باز هم ۹ میلی ثانیه زمان بسیار کمیست.

این کار را با وب سرور‌هایی که به صورت روزمره با آن‌ها سر و کار دارید انجام دهید، فقط کافیست در کروم یا فایرفاکس دکمه F12 را بزنید و به قسمت Network رفته و صفحه را رفرش کنید.

۳۱م مرداد ۱۳۹۳ بازدید: 3,026 دسته بندی: فناوری دیدگاه‌ها: ۱۷