WebOS از این به بعد یک پروژه متن باز خواهد بود

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

سیستم عامل وب او اس در ابتدا توسط شرکت پالم در نمایشگاه CES 2009 معرفی شد و روی تلفن های پالم به کار رفت. مدتی بعد و در سال ۲۰۱۰ شرکت اچ پی شرکت پالم و سیستم عامل اش را با قیمت ۱.۲ میلیارد دلار خریداری کرد و سرمایه گذاری بزرگی روی توسعه این سیستم عامل انجام داد. اچ پی در آن زمان اعلام کرد که وب او اس را روی همه چیز، از پرینترها گرفته تا کامپیوترهای رومیزی، تلفن ها و تبلت ها وارد می کند. 

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

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

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

استیو جابز درگذشت!

استیو جابز، خالق افسانه‌ای اپل و اسطوره دنیای فناوری و تکنولوژی درگذشت!

1955-2011


نسخه آینده اندروید بعد Jelly Bean نام خواهد داشت!

در حالی که هنوز نسخه بستنی حصیری (ورژن 4‪.‬0) اندروید به بازار عرضه نشده و اریک اشمیت از ارائه آن در اکتبر یا نوامبر خبر می دهد، سایت This is my next به نقل از برخی منابع می گوید که نام نسخه بعدی اندروید (که طبق رسم گوگل، باید با حرف J شروع شود) احتمالا Jelly Bean یا همان جیلی بیلی خودمان خواهد بود.


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


جالب است بدانید تا به حال تمام نامگذاری های آندروید با اسم خوراکی های میان وعده یا دسر بوده اند. خب در پایان هم بگذارید نگاهی به تاریخچه نامهای اندروید از آغاز تا کنون داشته باشیم: 
نسخه 1‪.‬0 - بدون نام - تاریخ انتشار: ۲۳ دسامبر ۲۰۰۸ 
نسخه 1‪.‬1 - بدون نام - تاریخ انتشار: ۹ فوریه ۲۰۰۹ 
نسخه 1.5 - کیک فنجانی یا Cupcake - تاریخ انتشار: ۳۰ آوریل ۲۰۰۹ 
نسخه 1‪.‬6 - دونات یا Donut - تاریخ انتشار: ۱۵ سپتامبر ۲۰۰۹ 
نسخه 2‪.‬X - نان خامه ای یا Eclair - تاریخ انتشار: ۲۶ اکتبر ۲۰۰۹ 
نسخه 2‪.‬2 - ماست یخ زده یا Froyo - تاریخ انتشار: ۲۰ می ۲۰۱۰ 
نسخه 2‪.‬3‪.‬x - نان زنجبیلی یا Gingerbread - تاریخ انتشار: ۶ دسامبر ۲۰۱۰ 
نسخه 3‪.‬x - شانه عسل یا Honeycomb - تاریخ انتشار: ۲۲ فوریه ۲۰۱۱ 
نسخه 4.0 - بستنی حصیری یا Ice Cream Sandwich - تاریخ انتشار: اکتبر یا نوامبر ۲۰۱۱

آینده وب در تسخیر کتابخانه های Javascript

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

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

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

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

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

جاوا اسکریپت را در Header قرار دهم یا انتهای Body

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

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

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

ناکامی دو صفر دردسر ساز

 مدت‌ها پیش از سال 2000 از یک خطر فراگیر که قرار بود گریبان بشر را بگیرد سخن گفته می‌شد. سال 2000 بسیار ترسناک بود؛ سالی که قرار بود تاریخ همه کامپیوترها به‌دلیل یک اشتباه کودکانه طراحان، صفر شود و دنیا به هم بریزد. انتظار می‌رفت به‌دلیل این گاف تکنولوژیکی (شاید!) همه‌چیز درهم‌وبرهم شود، در این صورت سیستم‌های کامپیوتری صفر و یک‌هایشان را به‌طور نابه‌جا در اختیار بشر می‌گذاشتند و جامعه‌بشری در گردابی که متخصصان (شاید!) فراهم کرده بودند فرومی‌رفت و فروشگاه‌ها، فرودگاه‌ها، نیروگاه‌ها، هتل‌ها و بیمارستان‌ها فلج می‌شدند. بحران Y2K مشکل شماره یک مردم بود و سال 2000 با آن دو صفرش حسابی بوی دردسر می‌داد. درهرصورت کره‌خاکی با همه پردازنده‌ها، خازن‌ها و مقاومت‌هایش وارد ده سال پرتلاطم بعدی خود شد و جالب این‌که حتی آن «دو صفر دردسر ساز» هم مانع رشد کامپیوترها و سیستم‌های دیجیتال نشدند. اکنون این سیستم‌ها در همه ارکان زندگی بشر امروز ریشه دوانیده‌اند و به‌ظاهر قصد توقف هم ندارند. آن دو صفر از بشر شکست سختی خوردند! ........در ادامه مطالب 
ادامه نوشته

مدیریت منابع پردازنده در LINQ

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

حافظه اصلی در محاسبات موازي یا به‌صورت حافظه‌اشتراکی است یا حافظه توزیع شده. معماری حافظه توزیع شده یا Distributed گاهی به‌صورت فیزیکی و گاهي به‌صورت منطقی است که در بهترین حالت پردازنده‌های سیستم در محاسبات موازي باید از حافظه‌های فیزیکی که به‌صورت محلی است، استفاده کنند.

همان‌طور كه مي‌دانيد، محاسبات همزمان و موازی به‌چند صورت انجام مي‌پذیرد: در حد بیت،‌ خط دستور،‌ اطلاعات و اجرای تکالیف همزمان که هر کدام از این انواع در چیدمان و معماری سیستم‌های همزمان تأثیر‌گذار هستند.

زمانی که پردازنده‌هاي کامپیوترها تک‌هسته‌ای بود، همزمانی اجرای دستورات نرم‌افزار با استفاده از Multi Threading انجام مي‌شد که اگر چه واقعاً Cuncurrency يا همزمانی مطلق تحقق پیدا نمی‌کرد، اما با استفاده از نرم‌افزار امکان اجرای دستورات موازی با استفاده از رشته‌پردازشي‌ (Thread) امکان‌پذير بود. به‌عنوان مثال، در دات نت یا جاوا مي‌توان نرم‌افزارهایی را طراحی کرد که چند عمل را به‌صورت موازی و همزمان انجام دهند.

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

ادامه نوشته

12 اشتباه رایح برنامه نويسان

يک مجله مربوط به خودرو زماني اعلام کرده بود، كه اگر توضيح خصوصيات يك خودرو پيش از قرض دادنش به يك دوست بيش از 15 دقيقه طول بكشد،‌آن خودرو «داراي كاراكتر» يا شخصيت است. با توجه به اين استاندارد، هر قطعه نرم‌افزاري داراي کاراکتر است. بيشتر ويژگي‌هاي خاص برنامه‌نويسي وابستگي شديدي به Context خاصي که در آن مطرح مي‌شوند داشته و به همين دليل توصيف آن‌ها مي‌تواند با ابهام همراه باشد. به عنوان مثال، سايت‌هايي که داده‌هاي XML را عرضه مي‌كنند ممکن است به شيوه‌اي نوشته نشده باشند که به مرورگر اعلام کنند انتظار داده‌هاي XML را داشته باشد. اين باعث مي‌شود تا زماني که مقدار درستي در فيلد مخصوص نوشته نشود، کل کارايي نرم‌افزار زير سؤال برود.
با اين حال، تعدادي اصول در برنامه‌نويسي وجود دارند که باعث مي‌شوند برنامه‌نويسان با استفاده از آن‌ها پروژه‌هاي  قابل فهم‌تر و سرراست‌تر توليد كنند. اگر زماني را در رستوران‌هاي نزديک شرکت‌هاي مرتبط با فناوري گذرانده باشيد، حتماً چنين سؤال‌هايي را شنيده‌ايد‌: چرا فلان برنامه‌نويس از فلان ساختار منسوخ استفاده کرده است؟ مکانيزم‌هاي جلوگيري از حمله از سوي وب کجا هستند؟ آيا مي‌دانندکه مسائل تازه، با برنامه چه کاري انجام خواهند داد؟

در ادامه 12 اشتباه رایج برنامه نویسی را میخوانید.....

ادامه نوشته

ساخت روبات

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

انواع نوع و کار با رشته در #C

از سری آموزش های برنامه نویسی به زبان سی شارب که در این قسمت به تعریف نوع  و کار با رشته در آن میبردازیم.

کار با نوع داده های  string   در C#  :

برای داده های رشته ای (string) رویه های زیر بکار برده می شوند :

CompareTo : دو رشته معین را با هم مقایسه می کند.

Contains  :  یک مقدار Boolean را بر می گرداند که نشان می دهد آیا رشته خاص در این نمونه وجود دارد یا نه .

CopyTo : یک نمونه جدید از یک رشته را ایجاد می کند.

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

Insert : یک نمونه ی معین از یک رشته را در یک مکان با اندیس مشخص در این نمونه جایگزینی می کند.

IsNullOrEmpty : نشان می دهد که آیا یک رشته ی خاص null است یا یک رشته ی تهی .

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

padleft : کاراکترهای موجود در نمونه ی فعلی را از سمت چپ ردیف می کند و در سمت چپ به وسیله ی رد فاصله ها یا یک کاراکتر خاص یک طول معین را ایجاد می کند .

padRight  : کاراکترهای موجود در نمونه ی فعلی از سمت چپ ردیف می کند و در سمت راست بوسیله ی فاصله ها با یک کاراکتر خاص یک طول معین را ایجاد می کند.

Remove  : یک تعداد مشخص از کاراکترها را از نمونه ی فعلی حذف می کند.


ادامه نوشته

رابط کاربردي برنامه نويسي API چیست؟

API به معني رابط کاربردي برنامه نويسي يا Application Programming Interface و همچنين جنبه اساسي تشکيل وب 2 است. اما واقعا API چيست؟

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

يک رابط (Interface) يک مرز مشترک بين دو سيستم و سرويس جدا است. از جمله مي توان اين موضوع را برداشت کرد که بين اين دو سيستم ارتباط برقرار است.

تعريف: يک API رابط پياده سازي توسط نرم افزار است که به ديگر برنامه ها اجازه مي دهد با آن ارتباط داشته باشند.
چرا به API نياز داريم؟

ادامه نوشته

آموزش تعریف یک کلاس ساده در #C

 امروز قسط داريم آموزش تعریف یک کلاس ساده را در سی شارپ آموزش دهیم امید واريم راضی باشید .

برای تعریف کلاس در سی شارپ باید به صورت زیر عمل کرد:

[public] [abstract | sealed] [partial] class className
{
   ...
}

برای مثال می خواهیم کلاسی برای یک دانشجو تعریف کنیم:

public class Student
{
   public int ID { get; set; }
   public string FirstName { get; set; }
   public string LastName { get; set; }
   public DateTime BornDate { get; set; }
   // other properties goes here ...
}

به همين سادگي... بازم بگين برنامه نويسي سخته !

مفاهيم اصلي پايگاه داده

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

ادامه نوشته

آشنايي با فرم هاي وب در ASP.net

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

ادامه نوشته

آموزش SQL Server

معرفی SQL و دستورات عمومی آن 
توسط SQL ميتوان درون يك بانك اطلاعاتي پرس و جو كرده (Query) و نتيجه را برگرداند. بانك اطلاعاتي شامل آبجكتي به نام جدول (Table) ميباشد. 
ركوردها در بانكهاي اطلاعات در جداول ذخيره ميگردند. 
جدول شامل سطر و ستون ميباشند. درصفحه بعد ميتوان يك جدول را مشاهده كرد :
ادامه نوشته

آموزش پاسكال

زبان پاسكال يكي از زبانهاي برنامه سازي است كه ويژگيهاي آموزشي آن بسيار بالاست يعني زبان خوبي براي آموزش برنامه نويسي منظم و دقيق است.قابليت خوانايي و درك برنامه هاي اين زبان بالاست وميتوان برنامه هايي نوشت كه احتمال خطاهاي آنها بسيار اندك باشد علتش اين است كه يك زبان ساختار يافته (structed) است . 

ساختار كلي برنامه چيست؟ 

ادامه نوشته