راه هایی برای حفظ شخصیت آنلاین!

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

بابک فخریلو

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

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

مطابق مطالعات متعددی که توسط Harvard Business Review انجام شده، بیش از 75 درصد شرکت ها، نمایه (profile) انلاین افرادی که به دنبال کار هستند را بررسی می کنند و جالب اینجاست که 70 درصد از آنها بر اساس آنچه در محیط آنلاین از افراد می یابند، تصمیمی به استخدام آنها نمی گیرند. و البته اگر هم هیچ اطلاعاتی از شما را در همین محیط آنلاین نیابند، باز هم خبری از استخدام نیست، پس بهتر است مخفی بودن را کنار بگذارید.

گاهی اوقات کمی از شخصیت واقعی خودتان را با تصویری که از خود برای  محیط های حرفه ای ارائه می کنید، ترکیب کنید. اما توجه کنید که در به اشتراک گذاشتن آن بخش از  شخصیت خود باید هوشمندانه عمل کنید. چیزهایی هستند که نیازی نیست بقیه درباره شان بدانند. می توانید از قانون 20-80 استفاده کنید: 80 درصد از تصویر حرفه ای شما در محیط های عمومی، و 20 درصد هم از شخصیت واقعی خودتان.

برای مثال، اگر کاربر Twitter باشید، 80 درصد از توئیت های شما می تواند در حوزه تکنولوژی، صنعت و موضوعات کاری باشد، در حالی که 20 درصد می تواند مربوط به حسی که به سفر، ورزش، رویداد های جاری، شهر، خانواده، دوستان و … دارید، باشد.

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

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

برگرفته از :

3 Tips to Protect Your Online Reputation

Advertisements

مجموعه ی تمرین ها برای درس مهندسی نرم افزار 1

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

دریافت مجموعه ی تمرین ها برای درس مهندسی نرم افزار 1

وقتی من پنچ سال رو پشت سر گذاشتم؛ زاد روز من

امروز، یعنی 20 آبان، زاد روز وبلاگ….ازسال 87، به همین سادگی 5 سال گذشت…. زاد روزت مبارک وبلاگ

من دلم برات تنگ میشه وقتی نمی نویسم برات، وقتی چند روز همین طوری بدون بروز شدن می مونی…تو برام یه دوست قدیمی هستی که وقتی به دنیا اومدی، برام دوست های خوب و جدیدی آوردی…تو دوست نیستی شاید مثل بچه ی نداشتم می مونی…. همیشه دوست دارم

اجرای کد در بازه های زمانی مشخص در C#

مطلب که امروز در نظر گرفتم، در حقیقت راه حل مشکل خود من تو دوتا مساله بود. اول اجرا شدن یه کد، در بازه های زمانی مشخص، یعنی مثلا خوندن چندتا رکورد تازه بروز شده از دیتابیس و نشون دادنش به کاربر، دومی راه حل ping کردن یه سرور یا یه مقصد تو شبکه. Ping کردن که با ارسال بسته های ICMP انجام میگیره، در حقیقت به شما میگه که سرور یا مقصد مورد نظرتون تو  شبکه ی مشخص، که قطعا IP Address داره، اماده پاسخ گویی به شما هست یا نه. به نظرم شما حتما این کار رو قبلا از طریق Command line سیستم عامل انجام داده باشید. یه همچین شکلی داره معمولا:

بابک فخریلو

فرض کنید برنامه ای را نیاز دارید که بخواهد به طور مداوم شبکه را مورد بررسی قرار دهد، یا برنامه ای که بخواهد مثلا هر هشت ساعت  به طور خودکار یک گزارش برای تحلیل گران تجاری تولید کند. با استفاده از زبان C#، پیاده سازی چنین نیاز نرم افزاری وجود دارد. در این مطلب به استفاده از کلاس  System.Timers.Timer می پردازیم که راه حل مشکل ماست.

یک سناریوی ساده

فرض کنید سروری داریم که به درخواست های  ICMP که از کامپیوترهای درون شبکه فرستاده می شود پاسخ می دهد (بیرون یا درونش اینجا فرقی نمی کنه، وارد مباحث تخصصی شبکه نکنید منو!). حالا می خواهیم برنامه ای بنویسیم که توانایی سرور را در پاسخ به درخواست های ICMP، بسنجیم.

یک برنامه با C# خواهیم نوشت که بسته های ICMP را هر پنج دقیقه یک بار به سرور ارسال می کند. سپس پاسخ های دریافتی را هم در یک فایل txt ساده ذخیره یا به عبارتی log خواهید کرد.

Read the rest of this entry

RavenDB

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

در هر صورت، تو مطلب قبلی به دیتابیس های NoSQL اشاره کردم و گفتم که این نوع دیتابیس ها، چه تفاوت هایی با دیتابیس های از نوع SQL Server یا Oracle دارن. در انتها هم یکی از دیتابیس های از نوع NoSQL معرفی کردم به اسم RavenDB که برای محیط دات نت طراحی شده. تو این مطلب، به طور مفصل تری به این دیتابیس می پردازم.

بابک فخریلو

RavenDB یک دیتابیس از نوع Doc-Oriented، تراکنشی (transactional) و متن باز است که برای محیط دات نت طراحی شده، و مدل داده ای را ارائه می کند که برای نیاز های سیستم های که در دنیای واقعیت می بینیم، طراحی شده است. RavenDB به شما این امکان را می  دهد تا برنامه های کاربردی با عملکرد بالا و latency پایین را سریع و کارا طراحی کنید.

همان طور که جز خواص دیتابیس های نوع Doc-Oriented است، داده ها در RavenDB بدون schema و در قالب JSON ذخیره می شوند، و می توان خیلی ساده با استفاده از Linq، یا توابع RESTful (روشی برای دسترسی و دستکاری داده ها که در معماری های SOA استفاده می شود. بیشتر کاربرد آن در وب سرویس ها می باشد.) روی آنها Query دلخواه را به راحتی اجرا کرد. RavenDB در عملکرد درونی خود از Index ها استفاده می کند، که این ایندکس ها یا بر اساس استفاده شما به طور خوکار ایجاد می شوند، یا این که طور صریح و بر اساس نیاز شما ایجاد می گردند.

RavenDB پروژه هایی با گستره ی پروژه های تحت وب را مد نظر دارد، و ویژگی های چون replication و sharding (من به شخصه این ویژگی خیلی برام جالبه) را در خود دارد.

چطور باید از RavenDB استفاده کرد؟

RavenDB یک Server و یک Client دارد. Server مسئول مدیریت فضای ذخیره سازی داده و query ها، و client یک مصرف کننده است که با سرور در تعامل است. راه های به کار بستن RavenDB در پروژه تان محدود به یک روش نیست:

  • به صورت یک سرویس در سیستمی مجهز به سیستم عامل Windows
  • یکپارچه شده با IIS
  • Embedded در برنامه ی شما

وقتی که RavenDB Server را توانستید اجرا کنید و به کارش بندازید، اتصال به آن با استفاده از یک client برای دریافت و ذخیره سازی داده ها خیلی ساده است. جالب اینجاست که RavenDB با کلاس هایی که قبلا در سیستم خود تعریف کرده اید سازگار است، یعنی به راحتی با استفاده از همان کلاس هایی که برای Persistence استفاده می کردید، در اینجا هم می توانید استفاده کنید:

همان طور که متوجه شده اید، RavenDB از الگوی  Unit Of Work استفاده می کند، از این رو تمامی تغییرات که قبلا از فراخوانی session.SaveChnages() در نظر گرفته شده اند، در یک تراکنش رخ می دهند.

Read the rest of this entry

NoSQL چیست؟

شاید شما هم این روزها این واژه رو خیلی جا ها تو اینترنت دیده باشید، به ویژه اگه مثل من اهل Twitter باشید یا تو سایت های مربوط به Developer ها زیاد گشت بزنید. اون طوری که من برداشت کردم، این نوع از دیتابیس ها، شکل جدیدی از دیتابیس ها هستند که برای نیاز های نرم افزاری حال حاضر طراحی شدند، و تفاوت های چشم گیری هم با دیتابیس هایی مثل   SQL Sever، Oracle و MySQL دارند. در ادامه توضیح دقیق تر رو از زبان یکی از متخصصین این نوع دیتابیس ها می خوانیم.

بابک فخریلو

آن طور که Martin Fowler، در وبلاگش می گوید، تعریف رسمی برای NoSQL وجود ندارد، اما در جمع بندی های که صورت گرفته می توان خصوصیات دیتابیس هایی از این دست را این گونه تعریف کرد:

  • عدم استفاده از  مدل رابطه ای  و زبان SQL
  • متن باز بودن
  • ویژه ی استفاده در cluster های بزرگ
  • مبتنی بر نیاز های وب در قرن حاضر
  • بدون Schema، که در نتیجه می توان به هر رکورد دلخواهی، هر فیلدی را اضافه کرد

البته باید اشاره کرد که این ویژگی ها در همه ی دیتابیس های که در این رده قرار می گیرند، مشترک نیستند و تعریف ها هم قطعی نیستند.

اما دانستن تعریف اولیه از NoSQL بدون در نظر گرفتن دیتابیس های Document-oriented ، خالی از لطف خواهد بود. آنچه که Wikipedia در مورد Document Oriented Database می گوید، این چنین است:

یک دیتابیس Doc-Oriented، برنامه ی کامپیوتری است که برای ذخیره سازی، بازیابی و مدیریت اطلاعات document-oriented یا به عبارتی نیمه ساختار یافته، به کار می رود. دیتابیس هایی از این دست از جمله ی دسته بندی های اصلی دیتابیس هایی هستند که NoSQL نام دارند. برخلاف دیتابیس های رابطه ای و مفهوم «رابطه» در آنها، این سیستم ها حول مفهوم انتزاهی به نام «Document» طراحی شده اند.

اما “Document” در اینجا دقیقا به چه چیزی اشاره دارد؟

مفهوم اساسی در یک دیتابیس از نوع  Doc-Oriented، یک Document است. در حالی که هر پیاده سازی از این مفهوم با دیگری متفاوت است، اما در کل، همه ی آنها فرض را بر این گذاشت اند که document ها، داده ها در فرمتی استاندارد کپسوله و کدگذاری می کنند. کدگذاری های مورد استفاده می تواند، XML، YAML، JSON و BSON باشد، یا فرمت های باینری مانند PDF و فرمت های Microsoft Office (Word, Excel…) باشد.

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

و حالا Document دیگری می تواند به شکل زیر باشد:

 
می بینید که هر دو document، شباهت هایی دارند و البته تفاوت هایی هم دارند. برخلاف دیتابیس های رابطه ای، که در آن هر رکورد باید فیلد های مشترکی با بقیه رکوردها داشته باشد و فیلد های استفاده نشده حتما باید مقدار خالی به خود بگیرند، در مدل دیتابیس های doc-oriented، فیلد خالی وجود ندارد. در این سیستم، به راحتی می توان داده های جدید را اضافه کرد، بدون نگرانی از وجود فیلد های خالی و یا نبود فیلدهای یکسان برای رکوردها.

انواع مختلفی از دیتابیس های Doc-Oriented یا به عبارتی دیتابیس هایی که در گروه NoSQL قرار می گیرند وجود دارد، که از جمله ی آنها می توان به MongoDb و RavenDB اشاره کرد.

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

منابع:

http://en.wikipedia.org/wiki/Document-oriented_database

http://martinfowler.com/bliki/NosqlDefinition.html

یک توصیه امنیتی

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

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

Read the rest of this entry

ویژگی های جدید در .NET 4.5

این مقاله برای کسانی است که علاوه بر C# در مورد ویژگی های .NET  پیش زمینه ی فکری دارند. یه بخش هایی اش قابل ترجمه نبود، و من هم بخش های مهم رو ترجمه کردم، توصیه میکنم حتما خود مقاله رو هم بخونید.

بابک فخریلو

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

.NET for Windows Store apps

بخشی از .NET 4.5 برای ایجاد برنامه های ویژه ی Windows Stores است. این بخش، .NET for Windows Store نامیده می شود و می توانید بررسی آن را در Windows Dev Center بخوانید.

Portable Class Libraries

For more information, see Cross-Platform Development with the .NET Framework.

در Visual Studio 2012، قالب پروژه ای  را می بینید به نام Portable Class Library که به شما این امکان را می دهد تا managed assembly هایی را ایجاد کنید که روی بستر های مختلف .NET قابل اجرا باشد. در حقیقت، شما بسترهای مد نظر خود (Windows Phone و .NET For Windows Store) را انتخاب می کنید.Type های قابل استفاده در پروژه شما، به طور خودکار به Type های موجود در بستر ها محدود می شوند. برای اطلاعات بیشتر می توانید Cross-Platform Development with the .NET Framework  را بخوانید.

ویژگی های اصلی و بهبودها

ویژگی ها و بهبود های زیر به CLR افزوده شده اند:

  • امکان کاهش restart شدن سیستم، با شناسایی و بستن برنامه های تحت .NET 4 . اطلاعات بیشتر در این زمینه.
  • پشتیبانی از آرایه هایی با حجمی بیش از 2 گیگابایت رو سیستم های 64 بیتی. این ویژگی را باید در فایل configuration فعال کنید. می توانید <gcAllowVeryLargeObjects> element را برای اطلاعات بیشتر بخوانید.
  • عملکرد بهتر برای سرورها، از طریق background garbage collection. وقتی از  GC در سیستم سروری که .NET 4.5 روی آن نصب است، استفاده می کنید، این ویژگی به طور خودکار فعال می شود. می توانید  Fundamentals of Garbage Collection را برای اطلاعات بیشتر بخوانید.
  • کامپایل JIT در background، که به طور اختیاری برای پردازنده های چند هسته ای فراهم است و می تواند عملکرد برنامه را بهبود بخشد. ProfileOptimization را ببینید.
  • امکان محدود سازی زمان اجرای یک Regular Expression.  Regex.MatchTimeout را ببینید.
  • امکان تعریف فرهنگ (Culture) پیش فرض برای یک application domain. کلاس CultureInfo را ببینید. (این قبلا نبود؟!)
  • پشتیبانی Console از Unicode. کلاس  Console  را ببینید.
  • عملکرد بهتر به هنگام خوانش resources (منظور منابعی چون RAM یا پردازنده نیست، تصاویر، رشته ها و … را شامل می شود) مورد استفاده ی برنامه. Packaging and Deploying Resources in Desktop Apps را بخوانید.
  • بهبود فشرده سازی از نو Zip برای کاهش فایل فشرده شده. System.IO.Compression را ببینید.
  • سپردن فشرده سازی رشته ها به  سیستم عامل، که به هنگام استفاده در Windows 8، Unicode 6.0 را پیاده سازی می کند. در صورت استفاده در بسترهای دیگر، از ویژگی خود .NET برای فشرده سازی رشته استفاده می شود.

Read the rest of this entry

هك شدن iPhone 4S و Samsung Galaxy S3 در مسابقه pwn2own

هفته گذشته در مسابقه Pwn2Own تلفن همراه در یك كنفرانس امنیتی در آمستردام، هكرهای هلند و انگلیسiPhone 4S  و Samsung Galaxy S3 را هك كردند.

هفته گذشته در مسابقه Pwn2Own تلفن همراه در یك كنفرانس امنیتی در آمستردام، هكرهای هلند و انگلیسiPhone 4S  و Samsung Galaxy S3 را هك كردند.Joost Pol، مدیر اجرایی شركت تحقیقاتی هلندی و همكار او Daan Keuper در كنفرانس EuSecWest توانستند به دفترچه آدرس، عكس ها، تاریخچه مرورگر و ویدئوها بر روی یك دستگاه iPhone 4S  دسترسی یابند.Pol گفت: ما به طور خاص این دستگاه را انتخاب كردیم به این دلیل كه iOS نسخه 6 كه این هفته عرضه خواهد شد نسبت به این حمله آسیب پذیر خواهد بود. او اضافه كرد كه دستگاه های آی پد، آی فون نسخه 4 و آی پد لمسی نسبت به این حمله آسیب پذیر هستند. با این وجود، Pol معتقد است كه آی فون امن ترین دستگاه تلفن همراه در بازار است.

بنا بر گزارش دیگری از ZDNet، یك تیم از آزمایشگاه MWR توانستند از طریق فناوری NFC و با استفاده از یك آسیب پذیری ناشناخته در سیستم عامل اندروید 4.0.4، دستگاه Samsung Galaxy S3 را هك كنند و از طریق یك حفره ناشناخته دیگر، دسترسی كامل داده ها را بدست آورند. هم چنین این حمله می تواند به جای استفاده از فناوری NFC، بوسیله ارسال پیوست های مخرب هدفمند همراه پست الكترونیكی یا URL های مخرب انجام گیرد.

همچنین متن مصاحبه این دو نفر را با سایت threatpost را در این پیوند دنبال کنید.

iOS6 سیستم عامل جدید Apple منتشر شد

علی الهامی

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

Read the rest of this entry

راهنمای سریع HTML 5 برای مدیران تیم های توسعه نرم افزار – بخش دوم

در مطلب قبلی به معرفی ویژگی های اصلی HTML 5، اهمیت Rich Application ها و همچنین ر ابطه ی آن با CSS 3.0 پرداختیم. در این مطلب ادامه بحث خود را با بررسی اهمیت HTML 5  در توسعه ی برنامه های کاربردی به اتمام می بریم.

بابک فخریلو

چرا باید از HTML 5 برای توسعه ی برنامه های کاربردی استفاده کرد؟

ایجاد برنامه های از نوع Rich Application و قدرت بیشتری که به توسعه دهنده ها داده می شود، همه از مواردی است که میل ما را به رفتن به سوی HTML 5 زیاد می کند. اما برای شرکت هایی که پیش از این هم از برنامه های تحت وب را استفاده می کردند، آیا HTML 5 باید اهمیتی داشته باشد؟

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

استاندارد های آزاد

برای سال ها، plug-in هایی مانند Flash و Silver light به توسعه دهندگان اجازه می داد تا ضعف های محیط وب در ارائه ی برنامه های با واسط کاربری قدرت مند را جبران کنند. با این حال، با وجود HTML 5 دیگر نیازی به آنها نیست. این plug-in ها، علاوه بر مشکل های اجرایی در بستر های موبایل، مشکل پایداری و امنیت را همیشه با خود به همراه داشته اند.

اما HTML 5 بر پایه ی استاندارد هایی آزاد است. دیگر، مخاطبان توسعه دهندگان به کسانی که می توانند plug-in مورد نیاز را دانلود کنند، محدود نشده است. در عوض، هر مرورگری، حتی مرورگرهای که در دستگاه های موبایل اجرا می شوند، می توانند همان تجربه ی قوی واسط کاربری را ارائه دهند.

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

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

یک برنامه ی قدرت مند تحت وب، نه صرفا یک وب سایت

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

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

توسعه ی برنامه ی تحت وب در مقایسه با سایر روش های توسعه (در اینجا از لفظ Native برای اشاره به آنها استفاده می کنیم) آسان تر بود، از این جهت که برنامه های Native هر کدام زبان های مختلفی را برای بستر اجرایی خود نیاز دارند، و همین هزینه های زیادی را در توسعه تحمیل می کند.

Read the rest of this entry

راهنمایی سریع HTML 5 برای مدیران تیم های توسعه – بخش اول

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

بابک فخریلو

تاثیری بزرگ و سریع

در نسل اخیر تکنولوژی های وب، HTML 5 یکی از بزرگترین جهش ها به حساب می آید. با پوشش وسیع که شرکت هایی چو Apple، Mozilla، Microsoft و Google از این نو آوری دارند، همه ی مروگرهای بزرگ به سرعت ویژگی های HTM 5 را در خود جا دادند. استیو جابز، رئیس سابق Apple، گفته بود که جهان HTML 5 را به عنوان یک راه حل توسعه ی  استاندارد برای برنامه های به اصلاح غنی (rich application) خواهد پذیرفت. می دانستید که در سایت های شغل یابی، مهارت  داشتن در HTML 5 به یکی از روند های بسیار رو به رشد تبدیل شده؟

اما بسیاری وقتی می خواهند از HTML 5 مثال بزنند، به جلوه های نمایشی Java Script و CSS 3.0 اشاره می کنند، که همین باعث سردرگمی می شود، و مخاطب نمی تواند تشخیص دهد که واقعا HTML 5 چیست؟ خوب واقعا این بستر نوظهور برای مدیران تیم های توسعه ی نرم افزاری چرا باید اهمیت داشته باشد؟

در این مقاله نگاهی کاربردی به تکنولوژی های اساسی HTML 5 داریم و به این می پردازیم که چرا در کمتر از چند سال، HTML 5 توانست نظر شرکت های بزرگ دنیای نرم افزار را به خود جلب کند.

HTML 5 در یک نگاه

وقتی به HTML 5 اشاره می شود، منظور مجموعه ای وسیع از تکنولوژی های نسل بعدی وب است که در حال حاضر در مرورگرهای کنونی پیاده سازی شده اند. برخی از این تکنولوژی ها پیش از این هم وجود داشتند. برای مثال، CSS 3.0 هیچ وقت جزو مشخصه های HTML 5 نبوده.

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

فهرست کامل مشخصه های HTML 5 به شرح زیر می باشد:

  • Core HTML 5 Spec
  • Cascading Style Sheet (CSS 3)
  • Web Workers
  • Web Storage
  • Web Sockets
  • Geolocation
  • Microdata
  • Device API and File API
  • و ویژگی های دیگری که در حال توسعه هستند

اما انچه که بسیار قابل توجه است، این است که HTML 5 باعث تغییرات بسیار بزرگی در مرورگرها شده تا به یک بستر برای rich application ها شوند. هدف HTML 5 این است که امکان توسعه ی برنامه های تحت وبی را بدهد که واسط کاربری زیباتری دارند، امکان ارائه برخی خدمات را در حالت offline داشته باشند و دسترسی امن به سخت افزار را فراهم کند. از آنجایی که برنامه های تحت HTML 5 برای وب توسعه داده می شوند، پس مزیت هایی دارند که وب همیشه به کاربران ارائه داده است:

  • Client مستقل از سکو و جهانی: مرورگر وب
  • جست و جوی آسان و indexing
  • استفاده از سرویس های برنامه های کاربردی دیگر
  • Deployment آسان

Read the rest of this entry