A web developr's notes

یادداشت های یک توسعه دهنده وب

یادداشت های یک توسعه دهنده وب

طبقه بندی موضوعی

۶ مطلب با موضوع «توسعه وب» ثبت شده است

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

این وبسایت در زمینه اجاره دستگاه زردی نوزاد فعالیت می کند.

طراحی سایت بسیار زیبا است و ما خودمون حسابی لذت بردیم.

اجاره دستگاه زردی نوزاد

اما زردی نوزاد چیست؟

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

زردی نوزاد بیماری نسبتاً شایعی در نوزادان تازه متولد شده است، در قدیم به آن یرقان می گفتند. 

دلایل ابتلای نوزاد به زردی

ابتلای نوزادان به زردی دلایل متفاوتی دارد که از میان آنها می توان به موارد زیر اشاره کرد:

  • سابقه ژنتیکی
  • زردی شیر مادر
  • نوزاد زود به دنیا آمده یا اصطلاحاً نوزاد غیر ترم
  • دختر بودن نوزاد

درمان زردی نوزاد

روش درمان زردی نوزاد معمولاً توسط پزشک تصمیم گیری می شود و شامل مواردی است که در ادامه مطرح می کنیم.

فتوتراپی در بیمارستان

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

تعویض خون در بیمارستان

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

اجاره دستگاه زردی نوزاد در منزل

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

پیشنهاد ما این است که از ارائه دهندگان معتبر دستگاه های فتوتراپی استفاده کنید.

۰ نظر موافقین ۰ مخالفین ۰ ۳۰ مرداد ۹۹ ، ۱۱:۲۷
حمیدرضا عباسی

اگر شغل شما هم طراحی سایت باشد، حتماً به مشتریانی که در همه کار سایت دخالت می کنند، بر خورده اید و دل خونی از این دسته افراد دارید.

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

 

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

در ادامه سناریویی را از زبان این طراح سایت خواهید دید که مراجعه و سفارش سایت به طراح تا تحویل نهایی را در بر خواهد گرفت:

 

1. در آغاز همه چیز رویایی است...

مشتری همه خواسته های خود را بیان می کند و شما در ذهن خود سایت را پیش طراحی می کنید.

اشتیاق و هیجان در این فضا موج می زند!

آغاز پروژه طراحی سایت

 

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

هر دو از خنده روده بر شده اید، چطور ممکن است چین فاجعه وحشتناکی رخ داده باشد!

طراحی سایت قبلی

3.  طراحی سایت جدید به اتمام می رسد و آن را به مشتری نمایش می دهید!

همه چیز عالی است و همه اجزاء به خوبی کار می کنند. این یک نمونه بارز طراحی مدرناست!

طراحی وبسایت جدید

4. فقط چند تغییر «کوچک» در طراحی سایت!

چند تغییر کوچک در طراحی سایت

نویسنده می گوید: مشتری ها واقعاً همین چیزها را از من می خواهند؛ تا به امروز من معنی «pop» و «edgy» را در طراحی سایت نمی دانم! همچنین دیگر نمی دانم دیگر برای انتقال احساس راحتی در بازدید کنندگان چگونه طراحی سایت را انجام دهم؟ و چه کاری مانده که نکرده باشم!

 

5. تغییرات کوچک بیشتر و بیشتر می شوند.

حالا دیگر آنها کوچک نیستند!

نویسنده می گوید: مشتری ها واقعاً همین ها را هنگام طراحی سایت از من می خواهند، آنها می خواهند در خط ها تنوع font باشد و هر تکه متن را داخل یک شیء مثل مستطیل می خواهند!

 

6. مشتری تغییرات جدیدی را می خواهد.

سایت الان خوب است، اما ما می خواهیم نظر دوستان، همکاران، خاله و عمو و غیره را نیز بپرسیم!

طراحی سایت و نظر سایرین

 

7. تمام امیدها از دست رفته است!

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

خداحافظ طراحی سایت

نویسنده می گوید: من این ها را از خودم در نیاوردم، یک مشتری واقعاً این ها را در فرآیندطراحی سایت از من خواست! واقعاً نمی توانم درک کنم در مغز بعضی ها چه می گذرد!

 

8. شما دیگر یک طراح سایت نیستید!

شما در حال حاضر یک نشانگر موس در یک برنامه طراحی گرافیکی هستید که مشتری می تواند آن را با حرف زدن، ایمیل زدن و یا پیامک کنترل کند!

موسی به نام طراح سایت

نویسنده می گوید: من یک مشتری داشتم که پس از اجرای طراحی سایت، نسخه نهایی را از من گرفت و شروع به بازبینی آن در تیم خودش کرد، او هربار یک طرح جدید برای من در فتوشاپ درست می کرد و از من می خواست که طرح جدید را جایگزین طرح قبل کنم، بعد از 13 بار تکرار این فرآیند، قرارداد طراحی سایت را فسخ کردم!

 

9. یک موجود وحشتناک متولد شد.

مشتری به طور کامل فراموش کرده که شما را برای طراحی یک سایت بی نظیر استخدام کرده بود.

واقعاً اگر شما مهندس طراح توربین های هواپیما بودید هم اینطور در کار شما دخالت می شد؟

طراحی سایت فراموش شده

منبع: گراند سایت

۰ نظر موافقین ۰ مخالفین ۰ ۰۷ تیر ۹۴ ، ۱۱:۳۹
حمیدرضا عباسی

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

اهداف طراحی سایت

اجازه بدهید در قالب مثال، چند هدف برای طراحی سایت را بررسی کنیم و راه حل های قابل استفاده ای برای آنها ارائه دهیم.

 

• هدف طراحی سایت: 95 درصد از محتوای سایت ها باید در 2 ثانیه بارگذاری شود، با توجه به شرایط منطقه ای، بهتر است تا جای ممکن مبنای کار طراحی سایت برای مودم های 56kbps باشد.

- راه حل: به حداقل رساندن تعداد تصاویر و فونت هایی که در طراحی سایت استفاده می شود، می توان برای اینکار از تصویرهای یک پارچه استفاده کرد و سپس توسط CSS بخشی از تصویر را crop کرد.

 

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

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

 

• هدف طراحی سایت: بازدید کنندگان سایت باید توسط نهایتاً سه کلیک به محتوای مورد نظرشان دست پیدا کنند.

- راه حل: یک بخش برای جستجو در قسمت بالای سایت و جایی که به راحتی قابل مشاهده است تعبیه می شود تا کاربران بتوانند به سرعت محتوای مورد نیازشان را جستجو کنند.

 

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

همچنین بعضی از امکانات باید در تمامی صفحات حاضر باشند، مثلاً ابزار جستجو چیزی نیست که برای استفاده از آن به صفحه اصلی مراجعه شود.

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

۰ نظر موافقین ۰ مخالفین ۰ ۰۶ تیر ۹۴ ، ۱۲:۱۳
حمیدرضا عباسی

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

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

شما بخش های اصلی یک CMS رو فقط یکبار و فقط در اولین پروژه جدی خودتان مینویسید و در پروژه های بعدی به اون پر و بال میدهید...

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

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

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

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

فرض کنید شما میخواهید بنحوی کار کنید که هم اکنون و یا در آینده یک تیم توسعه دیگر بتوانند سیستم کاری شما را درک کنند و هماهنگ با آن کار کنند...

بطور مثال در این برای نیل به این شرایط این قانون رو میگذارید که فرضاً تمامی کلاس های مربوط به پروژه در پوشه class که در مسیر ریشه وب اپلیکیشن قرار دارد، باشند و نام فایل تمامی کلاس ها به نام خود کلاس باشد و سپس با class.php تمام شود، مثلاً

salary.class.php

products.class.php

new.class.php

و یا قوانین مشابهی را در کدنویسی اعمال میکنید و خیلی کارهای دیگر...

خب به مجموعه قوانینی که شما گذاشته اید در کنار  برنامه نویسی شیءگرا (OOP) فریم ورک یا چارچوب کاری میگویند...

در برنامه نویسی مدرن فریم ورک ها با سیستم برنامه نویسی سه لایه MVC ترکیب شده اند تا برنامه چارچوب قوی تری داشته باشد و از سبک و سیاق خاصی پیروی کند...

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

اصولاً زمانی میتوانید اسم «خوب» را روی کارهای خودتان قرار دهید که همکاران کدنویس شما هم بتوانند سیستم کاری شما را درک نمایند و یا در صورت نیاز کار شما را توسعه دهند و یا حتی بجای شما این کار را انجام دهند...

اینکه همکارانتان مسیر فریم ورک شما را دنبال کنند و یا خودشان را با آن وقف دهند برای شما شیرین است، اما نباید از این مسئله غافل شد که استفاده از فریم ورک های غیر شخصی و معروف به چند دلیل بهتر بنظر میرسد:

- بدلیل استفاده هزاران نفر از فریم ورک، بسیاری از باگ های آن بخوبی مشخص شده اند.

- در فریم ورک در مورد مسائل امنیتی، واقعاً وقت صرف شده است.

- بسیاری از پاکت های توسعه فعالیت های معروف در وب اپلیکیشن ها (مثلاً پاکت احراز هویت) از قبل آماده است.

- فریم ورک دارای مستندات قابل قبول میباشد

- فریم ورک عمدتاً دارای معماری MVC میباشد.

- و اینکه خیلی از افرادی که به تیم توسعه اضافه میشوند از قبل با فریم ورک کار کرده اند و نیازی به جلسات توجیهی نمیباشد...

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

 

از بین فریم ورک های آماده php که عمدتاً با سورس باز و لایسنس های مناسب از قبل GNU ارائه میگردند، چند فریم ورک توانسته اند محبوبیت و معروفیت بیشتری کسب کنند:

 

- فریم ورک Zend

- فریم ورک PHP Cake

- فریم ورک Yii

- فریم ورک Symphony

- و فریم ورک CodeIgniter

 

Zend:

به جرأت میتوان گفت که Zend قویترین و معروف ترین فریم ورک php میباشد که با آمار چشمگیر 15 میلیون دانلود، تا حدود زیادی به رقبای خود فخر فروشی میکند.

جالب است بدانید که کمپانی های بزرگی مثل گوگل یا مایکروسافت هم نگاهی به زند دارند و برای ساخت رابط های وب سرویس و یا دیگر تکنولوژی ها با زند همکاری میکنند...

زند تحت مجوز BSD ارائه میگردد.

 

 

PHP Cake:

کیک پی اچ پی میگوید: «از من برای تولید کدهای و اسکلت بندی ویژگی های نرم افرازتان در جهت ساخت سریع نمونه های اولیه کار استفاده کنید.»

php cake در ایران طرفدان بسیاری دارد و تحت مجوز MIT عرضه گردیده است.

 

 

Symphony:

سیمفونی در اکتبر 2005 معرفی شده است و توانسته در طی این سالها خودش را بعنوان گزینه ای برای به انجام رساندن پروژه های عظیم معرفی نماید، سیمونی میگوید: «فرآیند کدنویسی تکراری خود را با سیستمی عوض کنید که به شما قدرت، کنترل و لذت را هدیه میدهد.»

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

این فریم ورک هم با لایسنس MIT ارائه میشود.

 

 

CodeIgniter:

کدایگنیتر (و یا به اختصار CI) یک فریم ورک با هسته بسیار سبک است که شاید بتوان گفت بالاترین سرعت را در بین فریم ورک های معروف php دارا میباشد و به ادعای خود کدایگنیتر، این فریم ورک کمترین ردپا را از خود بجا میگذارد.

CI مناسب برای مقاصد آموزشی و همچنین تجاری میباشد و دارای مستندات قابل قبول و کلاس های کارآمد بسیار میباشد.

 

 

سخن پایانی اینکه تعداد فریم ورک های php بسیار بیشتر از نام هایی میباشد که ذکر شد، بعضی از فریم ورک هایی هم که ذکر نکردیم، دارای محبوبیت و قدرت های بسزایی هستند...

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

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

۰ نظر موافقین ۰ مخالفین ۰ ۱۲ مهر ۹۲ ، ۱۵:۳۰
حمیدرضا عباسی

زیبایی در توسعه وب سایت، مطلبی هست که همه توسعه دهنده ها به آن توجه خاص دارند...

شما ممکن است عضوی از یک تیم توسعه باشید که یک گرافیست و طراح خوب در کنارتان هست و یا ممکن است خودتان بصورت شخصی کار کنید و طراحی کار رو شخصاً به عهده بگیرید...

در مورد اول شاید شما زیاد وارد سختی های مربوط به طراحی نشوید، اما در حالت دوم، طراحی هم یکی از دردسر های اصلی شماست...

اینکه سیستم و وب اپلیکیشنی را طراحی کنیم که از نظر طراحی زیبا و البته یکدست باشد و بعبارتی User Interface کاربر پسندی داشته باشد، همیشه راحت نیست...

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

فریم ورک طراحی تویتر بوت استرپ (Twitter BootStrap) دقیقاً برای همین منظور طراحی شده است که شما رو از شر خیلی از پیچیدگی های مربوط به طراحی خلاص کند!

بوت استرپ مجموعه ای از کلاس های CSS و همچنین توابع کارآمد JavaScript هست که خیلی از زیبایی های سایت های مختلف رو یکجا به شما هدیه میدهد!

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

از محاسن کار کردن با فریم ورک های طراحی نظیر بوت استرپ این هست که نرم افزار تحت وب شما یکپارچی خودش را از دست نمیدهد و بخش های مختلف آن از نظر کاربر نهایی شبیه به هم و یکدست هست!

بعضی از آبجکت هایی که در این فریم ورک بهینه میشوند، عبارتند از:

- حالت های نمایش متن

- حالت های نمایش کد

- جدول (table) 

- فرم 

- دکمه 

- تصاویر

- آیکن های پر استفاده

- منوی dropdown

- ناوبری

- pagination

- label

- اخطارها

- نوار پیشرفت

- tab

- tooltip

- Popover

- collapse آکاردئونی

- ...

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

همچنین نسخه فارسی شده آن را هم اینجا ببینید.

و اینجا هم چند نمونه از قالب هایی که با این فریم ورک ارزشمند ساخته شده است.

۰ نظر موافقین ۱ مخالفین ۰ ۰۵ مهر ۹۲ ، ۰۰:۴۴
حمیدرضا عباسی

دیروز، پریروز برای یک وب سرویس sms داشتم با curl سر و کله میزدم، البته تو لوکال هاست همه چیز روبراه بود و مشکلی مشاهده نمیشد، اما به محض اینکه سرویس رو به هاست منتقل کردم، curl شروع کرد به error دادن!

extension رو روی wamp چک کردم، دیدم active هست، wamp رو restart هم کردم، اما باز مشکل حل نشد...

خلاصه با کلی سرچ تو اینترنت، متوجه شدم که بعله! این سرویس curl کلاً تو بعضی نسخه های wamp مشل داره

اولاً که از فایل php.ini دو تا وجود داره، یکی تو مسیر:

[Wamp Server Directory]\bin\php\php5.4.12(or other versions)

و یکی هم در مسیر:

[Wamp Server Directory]\bin\apache\Apache2.4.4(or other versions)\bin

در هر دوی این فایل ها باید سمیکالن ( ; ) مربوط به افزونه curl برداشته بشه...

و در ضمن نسخه های curl در بعضی از wamp سرور ها (و احتمالاً Xampp ها) مشکل داره و باید نسخه معتبر و متناسب با نسخه php خودتون رو دانلود کنید و در مسیر:

[Wamp Server Directory]\bin\php\php5.4.12(or other versions)\ext

جایگذاری (و replace) کنید.

نسخه متناسب با php خودتون رو میتونید از این آدرس دریافت کنید.

۰ نظر موافقین ۰ مخالفین ۰ ۲۹ شهریور ۹۲ ، ۱۲:۰۶
حمیدرضا عباسی