منبع اصلی نوشتار زیر در این لینک قرار دارد

مدیریت محتوا با Sinatra و Mongo – قسمت آخر

در قسمت دوم، یاد گرفتیم که چطور پیج هایی که ساختیم رو نمایش بدیم! در این قسمت، میخوایم مستقیما با دیتابیس وارد مذاکره بشیم! در واقع در این قسمت میخوایم به کاربر اجازه بدیم که خودش یک پیج ایجاد کنه. خیلی هم شیک و ساده. ابتدا این قسمت رو به main.rb اضافه کنید : در […] ادامه مطلب

منبع اصلی نوشتار زیر در این لینک قرار دارد

مدیریت محتوابا Sinatra و Mongo – قسمت دوم

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

منبع اصلی نوشتار زیر در این لینک قرار دارد

مدیریت محتوا با Sinatra و Mongo – قسمت اول

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

منبع اصلی نوشتار زیر در این لینک قرار دارد

کتاب آموزش روبی (نسخه دوم)

در سال ۱۳۹۳ بود که نسخه اول کتاب آموزش روبی نگاشته و منتشر شد، اکنون، در روز ۲۸ شهریور ماه ۱۳۹۵ بعد از گذشت حدود دو سال، دومین نسخه از این کتاب عرضه می شود. نسخه جدید کتاب علاوه بر این که با فرمت جدیدی نگاشته شده است، به صورت آنلاین (از آدرس : http://book.rubydev.ir […] ادامه مطلب

منبع اصلی نوشتار زیر در این لینک قرار دارد

ارائه انقلاب وب‌کامپوننت‌ها و کارگاه گوگل پلیمر

در آخرین روز‌های تیر ماه ۹۵ نخستین همایش توسعه‌دهندگان وب ایران به مدت دو روز برگزار شد. روز اول این همایش، ۳۰ تیر ماه، به تکنولوژی ‌های مرتبط با CSS و روز دوم آن به تکنولوژی‌های پیرامون JavaScript اختصاص داشت.در روز دوم این همایش، من ار… ادامه مطلب

منبع اصلی نوشتار زیر در این لینک قرار دارد

عبارات با قاعده در روبی

عبارات با قاعده یا Regular Expression ها چیزهایی هستند که همیشه میتوانند در راحت انجام شدن بسیاری از کارها به ما کمک کنند. برای مثال، فرض کنیم یک اسکریپتی داریم که میخواهد تعداد ایمیل های موجود در لیست کاربران را به ما بگوید. یا این که ببینیم چند درصد از کاربران، از جیمیل، یاهو یا […] ادامه مطلب

منبع اصلی نوشتار زیر در این لینک قرار دارد

استفاده از متد POST در سیناترا

فرمورک Sinatra یک میکروفرمورک وب است که اکثر کاربران و توسعه دهندگان روبی، با آن آشنایی دارند. برای شروع و ساخت پروژه هایی که زمان زیادی برایشان نداریم، بدون شک این فرمورک یکی از بهترین انتخاب هاست. در اکثر مثالهایی که در اینترنت موجود است، به گفتن متد get بسنده کرده اند. در حالی متد […] ادامه مطلب

منبع اصلی نوشتار زیر در این لینک قرار دارد

برنامه نویسی پیشرفته در روبی – بخش سوم

در آموزش پیشین ، در مورد تبدیل نوع کلاس ها و همچنین ارث بری به قدر کافی صحبت شد. در این آموزش، قصد داریم تا در مورد «سر بارگذاری عملگرها» یا Operator Overloading بحث کنیم. وقتی یک کلاس جدید ایجاد میکنیم، به طور مستقیم نمی توانیم روی متغیرهای instance از عملگرها استفاده کنیم. به همین […] ادامه مطلب

منبع اصلی نوشتار زیر در این لینک قرار دارد

برنامه نویسی پیشرفته در روبی – بخش دوم

در آموزش پیشین، در مورد ساخت کلاس و افزودن متد، بحث کردیم. در این آموزش، میخواهیم کمی آموزش را تعمیم دهیم، و درباره ارث بری صحبت کنیم. در آموزش قبلی، یک کلاس کاربر به این شکل تهیه کردیم : بیایید یک برنامه بزرگ را در نظر بگیریم، مثلا قرار است از کاربرها، عده ای را […] ادامه مطلب

منبع اصلی نوشتار زیر در این لینک قرار دارد

معرفی Polymer، کتابخانه جدید گوگل

Polymer Logo

مقدمه

در شرکت داتیس پارس پروژه‌ای داریم که مسئولیت بخش Front-end آن به تیم ما سپرده شده است. قبل‌تر بخش Front-end با کتابخانه انگولار (AngularJS) توسعه داده شده بود ولی با ارزیابی‌های صورت گرفته، تشخیص بر آن شد که به جای AngularJS از کتابخانه Polymer استفاده نماییم. من از حامیان اصلی این تغییر بودم و حالا بعد از چندین هفته مطمئن شدم که گزینه درست را انتخاب نموده‌ام. این مطلب به معرفی کتابخانه Polymer می‌پردازد.
با توجه به در دسترس نبودن مستقیم سرویس‌هایی مانند Youtube و پروتکل HTTPS از داخل ایران و نیز تحریم‌های گوگل علیه ایران، ممکن است بخش‌هایی از ادامه مطلب را به صورت صحیح و یا کامل مشاهده نفرمایید.

بروزرسانی (دلیل استفاده از Polymer به جای AngularJS)

تعدادی از بازدیدکنندگان وبلاگ از طریق ایمیل و یا در بخش نظرات این مطلب، دلیل کنار گذاشتن انگولار و استفاده پلیمر را چندین بار از من پرسیدند و من جداگانه پاسخ هر یک را ارسال نمودم. حال قصد دارم تا مهم‌ترین دلایل این تغییر را برای تمامی بازدیدکنندگان فهرست کنم. ما برای تغییر فریم‌ورک از انگولار به پلیمر پارامترهای مختلفی رو در نظر گرفتیم:
  1. سادگی پلیمر (از نظر آموزش و توسعه)
  2. ارائه مدل وب کامپوننتی
  3. محدودیت زمانی
  4. سازگاری ساده‌تر با کتابخانه‌های مختلف
  5. در دسترس بودن Element های آماده برای تمامی نیازهای مد نظر ما
  6. تسریع در توسعه نرم‌افزار
  7. در حال حاضر ما از فریم ورک MVC در بخش فرانت اند استفاده نمی‌کنیم. مدل پلیمر متفاوت از پیاده‌سازی MVC است.
  8. انگولار نسخه ۱ از پلیمر پیشتیبانی نمی‌کند. طبق گفته تیم انگولار، پشتیبانی از وب‌کامپوننت‌ها از نسخه ۲ به آن اضافه خواهد شد.

معرفی Polymer (پلیمر)

پلیمر کتابخانه‌ی جاوا اسکریپت برای توسعه سایت‌ها و نرم‌افزارهای تحت وب است. به زبان ساده‌تر پلیمر مجموعه‌ای از وب‌کامپوننت‌ها (Web Component‌) آماده استفاده را در اختیار توسعه‌دهندگان قرار می‌دهند. مشابه راه‌کارهایی که کتابخانه‌‌های X-Tag و Bosonic فراهم می‌کنند.

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

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

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

پیش‌نیازها

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

نمونه کاربردی Polymer و Web Component

اگر از ابزارهای گوگل و یا سیستم‌عامل اندروید استفاده کرده باشید، مطمناً چشمتان به کامپوننت‌های پلیمر خورده است. به عنوان مثال بخش ظاهری (Front-end) نرم‌افزارهای Google Translate و اپلیکیشن Youtube بر روی گوشی تلفن همراه با استفاده از کتابخانه پلیمر پیاده‌سازی شده است.
در زیر با استفاده از کامپوننت paper-button دو دکمه و با استفاده از کامپوننت paper-toast دو نوتیفیکیشن ایجاد کرده ایم. با کلیک کردن بر روی هر دکمه نوتیفیکیشن مربوط به آن را مشاهده خواهد نمود:
See the Pen <a href=’http://codepen.io/saeidzebardast/pen/xGoEoe/’>Polymer 1.0 Paper Toast</a> by Saeid Zebardast (<a href=’http://codepen.io/saeidzebardast’>@saeidzebardast</a>) on <a href=’http://codepen.io’>CodePen</a>.

از کجا یاد بگیریم؟

بهترین منبع برای یادگیری پلیمر وب‌سایت پلیمر به آدرس polymer-project.org است. این وب‌سایت و بخش عناصر (elements.polymer-project.org) به سرعت در حال تغییر و توسعه هستند. برای شروع پیشنهاد می‌کنم ویدئو معرفی Polymer 1.0 در همایش Google I/O 2015 را در ادامه مشاهده فرمایید:

منابع و اطلاعات بیشتر

پی‌نوشت: فرصت‌های شغلی

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

در صورتیکه به پلیمر علاقمند هستید و تجربه کافی در زمینه JavaScript و کتابخانه‌های آن مانند AngularJS، ‌BackBoneJS و… دارید، خوشحال می‌شویم که عضو جدید تیم ما باشید.

طراح رابط کاربری (UX/UI)

اگر تجربه لازم در طراحی رابط کاربری و آشنایی کافی با HTML و CSS دارید، خوشحال می‌شویم که عضو جدید تیم ما باشید.

برنامه‌نویس جاوا

در صورتیکه علاقمند به کار در بخش Back-end پروژه هستید، شرکت ما در حال جذب نیرو برای این بخش نیز است. آشنایی کافی با جاوا و داشتن تجربه کار تیمی مهم‌ترین معیار‌های جذب نیرو در شرکت ما است.

روزمه خود را ارسال کنید!

لطفا رزومه خود را به آدرس saeid.zebardast@gmail.com یا jobs@datispars.com ارسال نمایید. از ارسال رزومه برای کار پاره‌وقت و یا پروژه‌ای پرهیز کنید. در حال حاضر فقط نیروی تمام‌وقت جذب می‌کنیم.

ادامه مطلب