A web developr's notes

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

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

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

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

 

1 ) مطمئن شوید که دلیل قانع کننده ای برای تغییر طرح وبسایت خود دارید!

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

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

اما بهترین دلایل برای تغییر طراحی وبسایت کدام هستند؟

 

 تغییر برای کاربر پسند کردن و مشتری پسند کردن: تغییر طرح وبسایت برای افزایش قابلیت ها و مشتری دوستی، دلیل بسیار خوبی می باشد و می تواند بازدید کننده های وبسایت شما را بیشتر کند. سعی کنید user-friendly کار کنید، امروزه طرح های Flatمحبوبیت بسیاری در این زمینه دارد!

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

- تغییر برای پسندیده شدن از دید موتورهای جستجو:  موتورهای جستجو قوانین خاص خودشان را دارند، یک سایت موفق باید برای آنها بهینه طراحی شده باشد.

 

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

 

2 ) کمترین تغییر را در URL ها بدهید.

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

 

3 ) تغییر در ظاهر وبسایت را به CSS بسپارید!

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

 

 4 ) از یک IDE مناسب برای وب استفاده کنید.

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

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

 

5 ) سیستم را درک کنید و ضربه های احتمالی را در نظر بگیرید!

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

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

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

 

 

6 ) تهیه فایل پشتیبان قبل از اعمال تغییرات

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

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

 

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

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

من خیلی وقته که اینجا هیچ پستی نزدم

الانم که برگشتم اینجا به یک دلیل مهم هست

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

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

گروهی که تا به امروز پروژه های طراحی سایت شون رو یکی بهتر از دیگری اجرا کردند.

حیف بود که اینجا از طراحی سایت گراند سایت هیچی نگم. حتماً به ما سر بزنید:

www.grandsiteco.com

گروه طراحی سایت گراند سایت

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

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

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

شما بخش های اصلی یک 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 آکاردئونی

- ...

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

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

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

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

دانشمندان انگلیسی کیبوردی را به باریکی یک کاغذ اختراع کرده اند که میتواند بخوبی بصورت لمسی عمل کند.

شرکت فناوری Cambridge Silicon Radio گفت است که این کیبورد با ضخامت نیم میلیمتر باریکترین کیبورد دنیاست که میتواند تکنولوژی های لمسی و وایرلس را به همراه خود داشته باشد.

با یک نگاه سریع به آینده باید گفت که این کیبورد آینده تایپ در دنیای دیجیتال میباشد، کیبوردی که دنیای touch-screen را گسترش میدهد و میتواند در دستگاه هایی مانند موبایل ها و تبلت ها کارایی فوق العاده ای را داشته باشد؛

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

 

جزئیات بیشتر...

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

دیروز، پریروز برای یک وب سرویس 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 خودتون رو میتونید از این آدرس دریافت کنید.

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