.:: محمدحسین فخرآوری ::.

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

فعال‌کردن Copy/Paste در کنسول فایرفاکس

  1. در نوار آدرس بنویسید: about:config

  2. Enter بزنید و گزینه‌ی I accept the risk یا مشابه آن را تأیید کنید.

  3. در بخش جستجو این مقدار را بزنید: dom.events.testing.asyncclipboard

  4. مقدارش را روی true بگذارید.

  5. گزینه‌ی زیر را هم جستجو کنید: dom.allow_cut_copy

  6. این یکی را هم true کنید.

روش بعدی

استفاده از دستور ویژه در کنسول

۱. کنسول (Console) را باز کن.
۲. این دستور را تایپ کن و Enter بزن: allow pasting

دقت کن بدون پرانتز و دقیقاً همین عبارت باشد.

۳. بعد از Enter، فایرفاکس پیغام می‌دهد که paste فعال شد.
از این لحظه به بعد می‌توانی آزادانه Ctrl + V بزنی.

برچسب‌ها: فایرفاکس , Copy , Paste
محمدحسین فخرآوری ، شنبه ۱۴۰۴/۰۹/۰۸ ، 8:40

gitignore

  • git rm -r --cached .
  • git add .
  • git commit -m 'Update .gitignore'
برچسب‌ها: gitignore , git
محمدحسین فخرآوری ، سه شنبه ۱۴۰۴/۰۷/۰۱ ، 15:30

گیت‌هاب کوپایلت چه قابلیت‌هایی ارائه می‎‌دهد؟

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

محمدحسین فخرآوری ، شنبه ۱۴۰۳/۱۰/۰۸ ، 13:12

چگونه ui ux کار با تجربه و خلاقی شویم؟

Stakeholders (ذینفعان)
این بخش به سوال‌هایی می‌پردازد که باید از ذینفعان پرسیده شود:

What do we want to do?
هدف پروژه چیست؟ این سوال به تعیین دقیق نیازها و چشم‌انداز کسب‌وکار کمک می‌کند.
For whom?
مشخص کردن مخاطب هدف (Target Audience) برای شناسایی نیازها و خواسته‌های کاربران.
Why? Business goal?
دلایل کسب‌وکاری پشت پروژه چیست؟ چگونه این پروژه به اهداف کلی سازمان کمک می‌کند؟
Competitors:
تحلیل رقبا برای شناسایی مزیت‌های رقابتی و نقاط ضعف آن‌ها.
Metrics:
تعیین شاخص‌های کلیدی عملکرد (KPIs) برای سنجش موفقیت پروژه.
Technical limitations:
شناسایی محدودیت‌های تکنولوژیک که می‌تواند روی اجرای پروژه تأثیر بگذارد.
هدف: شفاف‌سازی نیازها و ایجاد هم‌راستایی بین تیم‌های مختلف و ذینفعان.

ادامه نوشته
برچسب‌ها: ui , ux
محمدحسین فخرآوری ، سه شنبه ۱۴۰۳/۰۹/۲۷ ، 10:12

35 عادت بد برنامه نویسی که باعث خرابی کد شما می شود

سازماندهی کد

1.گفتن اینکه "بعدا درست می کنم"
2. پا فشاری روی یک راه حل یک خطی
3. بهینه سازی های بیهوده
4. متقاعد کردن خود با این موضوع که استایل دهی خیلی مهم نیست
5.لاپوشانی کردن
6.استفاده از نام هایی که هیچ اطلاعاتی نمی دهند
7. نادیده گرفتن روش های خوب اثبات شده


کارگروهی

8. زود رها کردن طرح ها
9.پافشاری روی طرحی که شانس کمی برای کار دارد
10.همیشه برای خود کار کردن
11.اجتناب از نوشتن کدهای بد
12.سرزنش دیگران
13.  به اشتراک نگذاشتن چیز هایی که یادگرفته اید با تیم خود
14. کند بودن در ارائه فییدبک به مدیران/ مشتریان
15.استفاده ی کافی نکردن از گوگل
16.ارزش دادن بیش از حد به استایل
17.داشتن یک پیوست شخصی در کد


نوشتن کد

18.ندانستن نحوه ی بهینه سازی
19.استفاده از ابزارهای غلط برای کار
20. مسلط نبودن روی ابزارها و IDE های خودتان
21. نادیده گرفتن پیام های خطا
22. ابزار های توسعه ی خود را به صورت تخیلی فرض کردن
23. ارزش های هاردکدینگ به جای قابل تنظیم کردن
24.تعویض دائم روش ها
25.copy/past کورکورانه ی کد
26. وقت نگذاشتن روی اینکه چیزها واقعا چگونه کار می کنند
27. اعتماد به نفس بیش از حد روی کد خودتان
28. فکر نکردن درباره ی تعادل بین طراحی، solution یا کتابخانه
29. کمک نگرفتن در زمانی که نیاز دارید

تست و نگهداری

30. نوشتن تست هایی که می دانید درست هستند
31. صرف نظر کردن از تست عملکرد برای موارد ضروری
32. بررسی نکردن این که ساخته ی شما کار می کند یا نه
33.  به تاخیر انداختن تغییرات بزرگ یا رها کردن پس از یک تغییر بزرگ
34.منکر شدن کدی که خودتان نوشته اید
35. نادیده گرفتن احتیاجات غیر ضروری


بدترین عادت برنامه نویسی شما چیست؟

محمدحسین فخرآوری ، یکشنبه ۱۳۹۸/۱۲/۰۴ ، 11:7

با دانستن این 10 مورد، از دیگر تازه کارهای عرصه برنامه نویسی متمایز خواهید شد.

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

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

 

ادامه نوشته
محمدحسین فخرآوری ، چهارشنبه ۱۳۹۷/۱۰/۰۵ ، 22:12

راه هایی که برای جذب مشتری خوب مناسب است

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

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

مشتری کیست ؟

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

اما به راستی چگونه میتوان این مشتریان را ترغیب کرد که کالای مارا خریداری کنند و یا از خدمات ما استفاده نمایند؟

ادامه نوشته
برچسب‌ها: جذب مشتری
محمدحسین فخرآوری ، چهارشنبه ۱۳۹۷/۰۹/۲۱ ، 15:45

بررسی جامع تفاوت وبلاگ و وب سایت

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

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

ادامه نوشته
برچسب‌ها: ب سایت , وبلاگ
محمدحسین فخرآوری ، شنبه ۱۳۹۷/۰۹/۱۰ ، 15:54

اصول طراحی شی گرا SOLID چیست؟

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

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

ادامه نوشته
محمدحسین فخرآوری ، جمعه ۱۳۹۷/۰۹/۰۹ ، 13:59

چگونه باید طراحی سایت را آغاز کنم؟

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

 چگونه باید طراحی سایت را آغاز کنم؟

ادامه نوشته
محمدحسین فخرآوری ، پنجشنبه ۱۳۹۷/۰۸/۱۷ ، 14:53

راهکارهای برنامه‌نویس شدن

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

 

راهکارهای برنامه‌نویس شدن

ادامه نوشته
محمدحسین فخرآوری ، پنجشنبه ۱۳۹۷/۰۸/۱۷ ، 14:51

10 فرمان برنامه نویسان

10 فرمان برنامه نویسان

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

برچسب‌ها: برنامه نویسان
محمدحسین فخرآوری ، سه شنبه ۱۳۹۷/۰۷/۰۳ ، 21:48

یادگیری برنامه نویسی

از خودتان یک برنامه نویس بسازید - قسمت اول

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

ادامه نوشته
محمدحسین فخرآوری ، شنبه ۱۳۹۷/۰۶/۳۱ ، 9:8

35 عادت بد برنامه نویسی که باعث خرابی کد شما می شود

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

به عنوان یک برنامه نویس بسیاری از کار های غلط را نه تنها در حوزه ی کدزنی بلکه در کارتیمی نیز دیده ام. خود من هم بسیاری از این کار های اشتباه را انجام داده ام. در این مقاله من 35 مورد از این عادت های برنامه نویسی غلط را در 4 دسته ی: سازماندهی کد، کار گروهی، نوشتن کد و تست و نگهداری، بررسی می کنم.

ادامه نوشته
محمدحسین فخرآوری ، سه شنبه ۱۳۹۷/۰۶/۲۰ ، 9:3

5 دلیل برای یادگیری کدنویسی

5 دلیل برای یادگیری کدنویسی

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

 اگر شما عضو Packt Hub باشید احتمالا تا به الان نحوه ی کدزنی را می دانید اما اگر نمی دانید این وظیفه ی ماست که به شما بگوییم چرا باید کدزنی را بیاموزید و حتی اگر شما نحوه ی کدزنی را می دانید به دیگران بگویید که چرا یادگیری کدزنی فوق العاده مهم است.

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

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

اجازه دهید به 5 دلیل که چرا باید چگونگی کدزنی را بیاموزیم نگاهی بکنیم.

ادامه نوشته
محمدحسین فخرآوری ، چهارشنبه ۱۳۹۷/۰۵/۱۰ ، 7:21

انواع پسوند های دامنه و مفهوم آنها

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

تعدادی از این تی ال دی‌ها (top-level domains) یا پسوندهای پراستفاده عبارت‌اند از:

نوع com : مخفف Commercial به معنای تجاری است که اکثراْ جهت استفاده هایی که به شکلی به اموری مانند خرید و فروش، معرفی محصولات، خدمات و مانند آن مربوط می باشند، اختصاص می یابد، اگرچه امروزه بسیاری از سایتهای همه منظوره نیز از نوع com استفاده میکنند. مثال : www.google.com

 

نوع net : (مخفف Network) این نوع Domain معمولاْ توسط شبکه هائی مانند شبکه های اطلاع رسانی، شرکتهای اینترنتی و سایر موارد مشابه مورد استفاده قرار می گیرد.

مانند : www.irangate.net

 

نوع org : (مخفف Non-Profit Organizations) این نوع Domain معمولاْ توسط مؤسسات و سازمانهای غیر انتفاعی که غالباْ فعالیت غیر تجاری (یا حتی تجاری) دارند مورد استفاده قرار می گیرد.

مانند : www.lankarani.org

 

انواع دو حرفی دامنه نمایانگر دامنه های کشوری و ملی میباشند : مانند ir (ایران)، jp (ژاپن)، de (آلمان), uk (انگلیس ) و .... که در انتهای نام Domain ها قرار می گیرند

مانند www.irib.ir

 

نوع biz : (مخفف Business). این نوع Domain خــاص سایتهای شغلی - تجارتی به ویژه خدمات مربوط به تجارت الکترونیکی که به زودی ارزشی بیش از پیش در اینترنت خواهد یافت، ایجاد گشته است. .

مانند : www.intersky.biz

 

نوع info : (مخفف Information). این نوع Domain در سایت هایی مورد استفاده قرار می گیرد که بنحوی با امر اطلاع رسانی در هر موردی، مرتبط می باشند. این اطلاع رسانی می تواند موارد تجاری و غیر تجاری را شامل گردد. سایتهایی که به اموری از قبیل انواع اطلاع رسانی در رشته هایی مانند علوم، معرفی محصولات، معرفی خدمات و ... اختصاص یافته اند، می توانند دارای دامنه ای مانند info. باشند.

مانند : www.webhosting.info

 

نوع name : این اولین نوع Domain ای است که خاص افراد (اشخاص حقیقی) ایجاد شده است. در حقیقت کلیه افرادی که به هر منظور شخصی می خواهند برای خودشان Website ایجاد کنند میتوانند از این دامنه استفاده کنند،

مانند : www.mohsen.name


نوع ws : این نوع Domain با آنکه مخصوص به دامنه ملی یک کشور است ولی بخاطر مشابهت آن با مخفف کلمه (WebSite) مورد توجه فراوان قرار گرفته است و همانطور که از نامش بر می آید، می تواند هر نوع وب سایتی را در بر گیرد.

مانند : www.softcity.ws

 

نوع us : این نوع Domain با آنکه مخصوص به دامنه ملی کشور آمریکا است ولی بخاطر مشابهت آن با مخفف کلمه (us) بمعنی (ما) مورد توجه فراوان قرار گرفته است

مانند : www.caib.us

 

نوع tv : این نوع Domain با آنکه مخصوص به دامنه ملی یک کشور است ولی بخاطر مشابهت آن با مخفف کلمه (Television) مورد توجه شبکه های تلویزیونی و ماهواره ای قرار گرفته است و برای این منظور استفاده میگردد

مانند : www.uctv.tv

 

سایر انواع Domain : در حقیقت انواع دیگری از Domain ها وجود دارند که هنوز به اندازه Domain های بالا ، مقبولیت نیافته اند. به طور مثال نوع دیگری از Domain به نام museum. وجود دارد که مخصوص موزه ها می باشد. و یا نوع aero که مخصوص سایتهای مرتبط با حمل و نقل هوایی و یا Mil که مربوط به سایتهای نظامی است

مانند : www.navy.mil

 

دامنه های تحت دامنه IR  : برای ثبت با دامنه های زیر باید مجوز یا مدارک رسمی مربوطه به همان نوع فعالیت موجود باشد . مثلا متقاضیان ثبت دامنه co.ir باید دارای شرکت ثبت شده باشند

ac.ir. برای سازمانهای آکادمیک که دارای مجوز از وزارت علوم، تحقیقات و فناوری، وزارت بهداشت، درمان و آموزش پزشکی، شورای نظارت بر حوزه های علمیه، یا شورای عالی انقلاب فرهنگی هستند.

مانند : www.ams.ac.ir


sch.ir. برای مدارس، موسسات و سایر سازمانهای آکادمیک تحت مجوز وزارت آموزش و پرورش جمهوری اسلامی ایران.

مانند : www.tvoccd.sch.ir


net.ir. برای واحدها یا موسساتی که مقررات رسمی آنها دلالت بر ارائه خدمات شبکه دارد، یا در غیر این صورت، قانونا مجاز به ارائه خدمات شبکه هستند.

مانند : www.dpi.net.ir


gov.ir. برای بخشهای اداری و سازمانهای زیرمجموعه قوای مجریه، مقننه و قضاییه جمهوری اسلامی ایران.

مانند : www.ershad.gov.ir


org.ir. برای سازمانهای غیر انتفاعی رسمی و سازمانهای بین المللی که دولت ایران یا یکی از موسسات آن عضو آنهاست.

مانند : www.iid.org.ir


co.ir. برای همه سازمانها و شرکتهای غیر دولتی دیگر.

مانند : www.renault.co.ir


id.ir. برای اشخاص حقیقی که شهروند یا مقیم قانونی جمهوری اسلامی ایران هستند

مانند : www.amir.id.ir

محمدحسین فخرآوری ، شنبه ۱۳۹۶/۰۸/۰۶ ، 16:43

ساخت و تحویل پروژه به مشتری با کمترین دردسر

سلام

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

ببینید دوستان اگر میخواید برنامه ای بنویسید که با کمترین خطا کار کنه، پشتیبانی راحتی داشته باشه و حتی در نصب و راه اندازی آن کمترین مشکل را داشته باشید باید 3 مورد کلی را در نظر داشته باشین:
 

1- مستند کردن روال کار تا حد امکان در ابتدا و قبل از کدنویسی

2- نحوه ی کدنویسی و پیکربندی پروژه تون (مثلا استفاده کردن از اصولی مثل شی گرایی، لایه بندی و ...)
3- ابزارهایی که برای ساخت برنامه تون از آن استفاده میکنید

و اما توضیح این موارد...


 

 

ادامه نوشته
محمدحسین فخرآوری ، یکشنبه ۱۳۹۲/۰۳/۰۵ ، 15:1

پورتال چیست؟

پورتال چیست؟

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

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

تقریبا بزرگ ترین و گسترده ترین پورتال وب، یاهو است وقتی کار بری وارد صفحه اصلی سایت یاهو به آدرس www.yahoo.com می شود دقیقا از طریق همین صفحه می تواند به اکثر سرویسهای اینترنتی موجود و معمول جهان بر روی وب دسترسی پیدا کند. مثلا کاربر می تواند از طریق فشردن یک دکمه مشخص به سرویس پست الکترونیکی اش در یاهو وارد شود و به ایمیل های شخصی اش نگاهی بیندازد (دروازه ای برای ورود به سرویس ایمیل) یا از طریق باکس جستجوی بالای صفحه، کلمه یا تصویر و… را در اینترنت جستجو کند(دروازه ای برای ورود به سرویس جستجو در وب).

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

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

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

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

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

برچسب‌ها: پورتال چیست
محمدحسین فخرآوری ، پنجشنبه ۱۳۹۱/۰۷/۰۶ ، 20:30

مفاهیم شیء گرایی

مفاهیم اولیه شیء گرایی:

1- Object (شیء): انسان، جسم، اشیاء و هر آنچه که سیستم می‏خواهد در مورد آن اطلاعاتی داشته باشد.

2- Class (کلاس): مجموعه‏ای از اشیاء که با هم در ارتباطند.


3- Attribute (خصوصیات): مشخصاتی از یک شیء که آن را از یک شیء دیگر مجزا می‏کند.


4- Relation (ارتباط): می‏تواند میان اجزای مختلف یک سیستم بوجود آید و دارای انواع مختلفی هستند.

مفاهیم شیء گرایی:

1- Abstraction تجرید (مجرد سازی): اولین مفهوم شیء گرایی است و به این معنا می‏باشد که هر آنچه در غالب یک شیء یا عملیات بیان می‏شود، به تنهایی دقیق و کامل است.

2- Encapsulation کپسوله سازی (بسته بندی): بدین معناست که دستورات و بخشهای مختلف یک برنامه از دید کاربر پنهان می‏گردد. با کپسوله سازی، دخل و تصرف در برنامه‏ها کاهش می‏یابد و ما را از پرداختن به ريز موضوعات رها می‏كند. مثال: جمع آوری کلاس‏ها در یک فایل DLL.

3- Inheritance وراثت (ارث بری): وراثت اجازه می‏دهد تا مفاهیم جدید بر اساس مفاهیم موجود تولید گردد. بزرگترین مزیت آن جلوگیری از تکرار است. مثال: دانشجو، استاد و کارمند همگی نمونه‏ای از انسان هستند، بنابر این می‏توانند خصوصیات انسان را به ارث ببرند.

 

4- Polymorphism چند ریختی (چند شکلی بودن): بیان چند عمل یا چند ریخت مختلف از یک شیء به یک زبان است. مثال: رسم شکل، می‏تواند شامل رسم مربع، رسم مستطیل و رسم مثلث باشد. این عملیات را می‏توان به صورت چند ریختی بیان کرد، یعنی با تعداد و نوع پارامترها و تغییر آنها رسم یکی از اشکال را اجرا کرد.

 

5- Interface(اینترفیس (رابط کاربری): اينترفيس در برنامه نويسي همانند همان كلاس است تنها با اين تفاوت كه هيچكدام از اعضاي آن پياده سازي نمی‏شوند. در واقع يك اينترفيس گروهي از متدها، خصوصيات، رويدادها و Indexer ها هستند كه در كنار هم جمع شده‏اند. اينترفيس‏ها را نمي‏توانInstantiate (نمونه سازي) كرد. تنها چيزي كه يك اينترفيس دارا مي‏باشد امضاي (signature) تمامي اعضاي آن مي‏باشد. به این معنی كه ورودي و خروجي متدها، نوع Property ها و... در آن تعريف مي‏شوند ولي چيزي پياده سازي نمي‏شود. اينترفيس‏ها سازنده و فيلد ندارند (امري است بديهي!) اما چرا؟. يك اينترفيس نمي‏تواند Operator Overload داشته باشد و دليل آن اين است كه در صورت وجود اين ويژگي، احتمال بروز مشكلاتي از قبيل ناسازگاري با ديگر زبانهاي Net. و VB.Net كه از اين قابليت پشتيباني نمي‏كنند وجود داشته باشد. نحوه تعريف اينترفيس بسيار شبيه تعريف كلاس است تنها با اين تفاوت كه در اينترفيس پياده سازي وجود ندارد.

محمدحسین فخرآوری ، دوشنبه ۱۳۹۰/۰۶/۲۱ ، 18:30