ظاهر کلی برنامه بدین صورت است:
پروژه اولیه را از این لینک دانلود کنید. ساختار فایلهای این پروژه به صورت زیر است.
در این سوال قراره به امیررضا کمک کنید که نامه داخل پاکت رو مثل عکس بالا بسازه.
مواردی که در این سوال باید رعایت کنید:
flexbox
وسط صفحه قرار بگیرد.rgb(252, 228, 94)
، سایز فونت 25px
و border-radius برابر با 10px
میباشد.200px
در جهت عمودی جابجا شود.شما تنها مجاز به اعمال تغییرات در فایل styles.css
هستید.
پروژه اولیه را از این لینک دانلود کنید.
index.html
را در مرورگر خود باز کنید.ظاهر کلی برنامه بدین صورت است:
کوئرا به تازگی تصمیم گرفته است به جای استفاده از سرویس های هاستینگ مخزن خارجی همچون گیت هاب از یک نسخه درون سازمانی استفاده کند که طراحی آن کار بسیاری پر چالشی است، اما در گام اول آن ها تصمیم گرفته اند که یک تجزیه گر مارکداون طراحی کنند، هر چند مارکداون ها قواعد زیادی دارند اما سرپرست تیم برنامه نویسی کوئرا تصمیم گرفته است که بخش تجزیه گر مربوط به جدول را به شما واگذار کند.
هر سطر در جدول مارکداون به این صورت نمایش داده می شود که البته از فاصله های اضافی در سمت چپ و راست متن ستون صرف نظر می شود
اگر به جای متن از تعداد 3 یا بیشتر کاراکتر -
استفاده شود موجب این می شود که سطر قبلی به صورت سرتیتر در بیاید همچنین این نکته قابل ذکر است که محدودیتی روی تعداد سطرهایی که میتوانند سرتیتر باشند وجود ندارد
حال از شما خواسته شده برنامه را به نحوی تکمیل کنید که با فشردن بر روی دکمه CONVERT TO HTML
ورودی مارکداون از textarea#markdown
خوانده شده و جدول نهایی درون div#table
رندر شود.
script.js
هستید.ظاهر کلی برنامه بدین صورت است:
پروژه اولیه را از این لینک دانلود کنید.
index.html
را در مرورگر خود باز کنید.نیما که به تازگی با جیسون (JSON) آشنا شده، از نمایش معمولی آنها خوشش نمیاد و تصمیم گرفته که با جاوااسکریپت برنامهای بنویسید تا جیسونهای زشت را خوشگل کند. از آنجا که نیما خیلی کار کردن با جیسونها را بلد نیست، به او در نوشتن این برنامه کمک کنید.
در این پروژه کاربر جیسون را در textarea سمت چپ صفحه وارد میکند و سپس روی دکمه «خوشگل سازی جیسون» کلیک میکند و جیسون خوشگل شده در باکس سمت راست صفحه نمایش داده میشود.
همانطور که احتمالاً میدانید هر جیسون از زوجهای name/value تشکیل شده است. در صورتی که جیسون ورودی کاربر معتبر نبود باید کلاس has-error
را به تگ با آیدی textarea
بدهید. همچنین در صورت معتبر بودن جیسون ورودی باید این کلاس را حذف کنید. در ادامه باید ساختار HTML جیسون را بسازید و در نهایت آن را داخل تگ div
با آیدی result
رندر کنید.
نیما قواعد ساخت جیسون زیبا را اینگونه بیان میکند:
1- مقادیر جیسونی که باید خوشگل شود فقط میتواند از نوع string
، number
، boolean
و object
باشد.
2- محتویات هر آبجکت باید داخل یک تگ ul
باشد.
3- هر زوج name/value که داخل یک آبجکت است باید داخل تگ li
باشد.
li
قرار بگیرد:span
با کلاس json-viewer-object-start
که شامل name و {
باشد.ul
که شامل زوجهای name/value داخل آبجکت است.span
با کلاس json-viewer-object-end
که شامل }
است.span
با کلاس key
قرار بگیرد. span
دیگر قرار میگیرد نیما که میخواهد جیسونهایش به میزان بیشتری خوشگل شود، تصمیم گرفته که valueهایی که از نوع مختلفی هستند را با یک رنگ خاص نشان دهد. برای اعمال رنگهای مختلف باید به تگ span
که value در آن قرار دارد، کلاس value-{type}
را بدهید. برای مثال اگر value از جنس string باشد، کلاس value-string
را باید بدهید.از آنجایی که نیما طبق تجربههایی که در گذشته کسب کرده، میداند که «فقط زیبایی و خوشگل بودن ملاک نیست» و به همین دلیل میخواهد نمایشدهندهای که ساخته است را کاربردیتر کند. او از شما خواسته است تا امکان باز و بسته شدن آبجکتها را بر اساس موارد زیر پیادهسازی کنید:
json-viewer-object-start
، کلاس json-viewer-object-close
تاگل (toggle) شود (یعنی اگر این کلاس را دارد، حذف شود و اگر ندارد، اضافه شود).""
قرار بگیرند و پس از آنها کاراکتر :
و یک فاصله باشد. برای مثال اگر name برابر age
باشد باید به صورت "age":
نمایش داده شود. اگر value مورد نظر از نوع آبجکت باشد، علاوه بر موارد بالا یک {
نمایش داده میشود (برای مثال "age": {
).json-examples
دو نمونه مختلف از JSON گذاشته شده است. میتوانید از آنها برای تست برنامه خود استفاده کنید.main.js
هستید.main.js
را بدون zip کردن ارسال کنید یا کل پروژه را zip کرده و ارسال کنید.پروژه اولیه را از این لینک دانلود کنید. ساختار فایلهای این پروژه به صورت زیر است.
برای اجرای پروژه، بایدNodeJS
و npm
را از قبل نصب کرده باشید.
candlestick-chart
، دستور npm install
را برای نصب نیازمندیها اجرا کنید.npm run server
را برای راهاندازی سرور پروژه اجرا کنید.ظاهر کلی برنامه بدین صورت است:
با سر زبان افتادن رمزارزها و سود خوب این بازار، شمسالله تصمیم گرفته صرافی خود را ایجاد کند. او برای صرافی خود میخواهد یک ارز اختصاصی ایجاد کند و با فروختن آن به مردم پول خوبی به جیب بزند. او در ابتدا میخواهد یک چارت قیمتی دروغین برای خود بسازد. برای این منظور اون یک سرور ساخته است که در بازههای زمانی ۳۰ ثانیه یک قیمت رندوم میسازد. از اونجایی که او به قسمت فرانتاند مسلط نیست از شما میخواهد که قسمت فرانتاند این پروژه را بسازید و در سود این ارز کلاهبرداری سهیم شوید.
در این پروژه شما باید دیتای قیمت این ارز رو از سرور بگیرید و در قالب نمودار شمعی (candlestick-chart) نمایش دهید.
ساختار داده ارسالی سرور بهشکل زیر است:
سرور یک ابجکت به اسم data
ارسال میکند که در داخل این ابجکت بهازای تاریخ، یک قیمت قرار داد.
برای مثال:
فاصله تاریخها ۳۰ ثانیه است.
شما پس از دریافت دادهها باید چارت مناسبت با دادهها را بسازید.
دقت کنید که این دادهها به صورت مرتب ارسال نمیشوند و ممکن است تاریخها پشت سر هم نباشند.
فرض کنید دیتای تاریخ اولین دیتا برابر شروع نمودار است.
در بازارهای مالی یکی از نمودارهای پرکاربرد برای پیگیری نوسانات قیمت، نمودار شعمی یا candlestick-chart است. در این نمودار شما با استفاده از کندلها بالاترین، پایینترین قیمت و همچنین قیمت باز و بسته شدن در یک بازه زمانی را مشاهده میکنید. این نمودارها در تایمفریمهای مختلفی قابل بررسی است. برای مثال در تایمفریم ۵ دقیقه هر کندل اطلاعات مربوط به بازه زمانی ۵ دقیقهای را نشان میدهد. و نمودار به بازهههای ۵ دقیقه تقسیم میشود. در هر کندل چهار داده اصلی وجود دارد:
هر کندل سه قسمت اصلی دارد:
در صورتی که مقدار پایان از شروع بیشتر باشد، کندل صعودی یا سبز است و در صورتی که مقدار پایان از شروع کمتر باشد، کندل نزولی یا قرمز است.
در تصویر زیر دو شکل نشان داده شده است:
برای ساخت کندلها شما به شکل زیر عمل کنید:
div
با کلاس candle
قرار میگیرد.bottom
, left
, height
را داشته باشد. مقادیر این استایلها باید براساس
دادههای هر آن کندل باشد.candle
خود سه بخش دارد. هر کدام از این بخشها با یک div
ساخته میشوند.candle__body
باشد و درصورتی که از نوع سایه (چه بالا و چه پایین) باید دارای کلاس candle__shadow
باشد.height
و background-color
باشد.
مقدار این استایلها باید براساس دادههای آن کندل و توضیحات گفته شده در بالا باشد.chart
قرار داده شوند.10px
است.${SERVER_BASE_URL}/:TIME_FRAME/?count=DATA_COUNT
است.
که در آن TIME_FRAME
نشاندهنده تایمفریم انتخابی (۳، ۵، ۱۰) و DATA_COUNT
برابر تعداد دادههایی است که سرور باید بفرستد.fetch
استفاده کنید.3px
است. برای مثال اگه کمترین مقدار یک کندل ۱۰ بود، برای نمایش نقطه مربوط به کمترین مقدار، باید 30px
قرار بدید.script.js
هستید.