با سلام خدمت کاربران محترم
در این آموزش تصویری شما با زبان Asp.Netآشنایی پیدا می کنید وهمچنین یک سایت شخصی را با یک cmsاختصاصی طراحی می کنید
شما دوستان عزیز می توانید قسمت های آموزش را از لینک های زیر دریافت نمایید
با تشکر
دانلود قسمت اول
دانلود قسمت دوم
دانلود قسمت سوم بخش یک
دانلود قسمت سوم بخش دو
دانلود قسمت چهارم
دانلود قسمت پنجم
دانلود قسمت ششم
دانلود قسمت هفتم
دانلود قسمت هشتم
دانلود قسمت نهم
دانلود قسمت دهم بخش دوم
دانلود قسمت دهم بخش سوم
ASPX یک پرونده با قالب متنی است که برای ساخت صفحات وب (ابهامزدایی) از آن استفاده میشود، و استاندارد پروندههای XML را رعایت میکند. پرونده ASPX معمولاً شامل نشانه گزاریهای HTML یا اکساچتیامال همچنین نشانه گزاریهای کنترلهای استاندارد Web و کنترلهای تعریف شده در معماری ASP.NET است، که توسعه دهنده ها(برنامه نویسان وب) همه محتویات پویا وایستای مورد نیاز را برای ایجاد صفحات Web پویا در آن قرار میدهند. علاوه برآن، کدهای پویایی که درسرویس دهندها اجرا میشوند، میتوانند درمحلی دریک صفحه درون یک قطعه قرار بگیرند --٪> کدهای پویا <٪- که مانند دیگرتکنولوژیهای توسعه یافته مانند PHP, JSP و ASP است اما این شیوه معمولاً توسط مایکروسافت رد میشود مگر به منظور الحاق داده، زیرا زمانیکه صفحه ترجمه میگردد درخواستهای بیشتری وجود دارد.
روشی که توسط مایکروسافت برای رفتاربا کد برنامه پویا پیشنهاد میشود، مدل پشتیبانی کد است که این کد را دریک پرونده جداگانه یا ضمیمه متنی بهطور ویژه طراحی شده قرارمیدهد. پروندههای پشتیبان کد معمولاً چیزهایی را به مفهوم MyPage.aspx.cs یا MyPage.aspx.vb برپایه نام پرونده ASPX نام مینهد. (این عمل درمایکروسافت ویژوال استادیو و سایر محیطهای توسعه یکپارچه به صورت خودکارانجام میشود.) زمانیکه از این روش برنامهنویسی استفاده میکنید، توسعه دهنده کدها را برای پاسخ دادن به رویدادهای مختلف مانند صفحهای که بارگذاری میشود، یا کنترلی که بر روی آن کلیک میشود به جای رویهای که در طول برنامه حرکت میکند، مینویسد.
اساساً مقایسه یک فریم ورک (ASP.Net Core) با یک زبان برنامهنویسی (PHP) اشتباه است .
ASP.net یک فریم ورک بر مبنای زبان برنامهنویسی #C است و باید آن را با یکی از فریم ورکهای PHP (مثل Laravel یا CodeIgniter ) مقایسه کرد. که از نظر سرعت اجرای اپلیکیشنهای متناظر ، فریم ورکهای Laravel و Yii و CodeIgniter تقریباً 33% سریعتر از ASP.NET Core2 عمل میکنند.
همچنین مقایسه این فریم ورکها از نظر امنیت نیز به رجزخوانی بین توسعه دهندگان این دو پلتفرم تبدیل شده و آزمایش عملی رسمی در این مورد صورت نگرفتهاست.
یکی از نظریات متعصبانه در مورد ASP.net را در زیر می خوانید :
همان طور که می دانید زبان برنامهنویسی ASP.NET Web Form و ASP.NET Core ، چون هنگام کامپایل به زبان ماشین تبدیل میشوند این موضوع هم باعث امنیت کد و سرعت بسیار بالای اون نسبت به سایر زبانهای برنامهنویسی دیگر مانند PHP شدهاست ! ، سرعت اجرایی کدهای ASP.NET Core بیشتر از ASP.NET Web Form بوده و سرعت ASP.NET Web Form نیز از PHP بیشتر بوده ( برای اثبات این موضوع آزمایشهایی زیادی انجام شده) متأسفانه چون یک سری اطلاعات غلط در رابطه با بیشتر بودن سرعت PHP نسبت به ASP.NET منتشر شده اکثر برنامه نویسان مبتدی فکر میکنند که سرعت اجرایی کدهای PHP ( به صورت مفسری کامپایل میشود ) از ASP.NET ( به زبان ماشین کامپایل میشود ) بیشتر بوده که اصلا اینطور نیست . [۱] در پلتفرم asp.net web form سیستم عامل مورد نیاز برای بارگذاری این وب سایتها سیستم عامل ویندوز بود که به دلیل اشغال رم ویندوز نسبت به دگر سیستم عاملها مثل لینوکس، این عیب در نسخه CORE بر طرف شد و وب سایتهایی ه با این نرم افزار نوشته میشوند قابلیت بارگذاری روی دیگر سیستم عاملها را دارند.
این پلتفرم در سال 2017 جز پرکاربردترین و پردؤامدترین زبان هی برنامهنویسی دنیا معرفی شد.[2]
ASP از یک روش نمایش مرکب ترجمهای استفاده میکند. در طول تألیف الگوی(.aspx) پرونده درون قالب کد تدوین میشود که یک درخت کنترل (مرکب) ساخته خواهد شد که قالب (ایستا)اصلی را نشان میدهد. متن اصلی درون نمونههایی ازکلاس کنترل اصلی میرود. کنترلهای سرویس دهنده توسط نمونههایی از یک کلاس کنترل ویژه نشان داده میشوند. کد آغازین با کد نوشتاری کاربر(معمولاً توسط مجمعی ازکلاسهای جزئی چندگانه) و نتایج دریک ویژگی کلاس برای صفحه ترکیب شدهاست. صفحه مانند ریشه درخت کنترل مضاعف میشود.
درخواستهای واقعی برای یک صفحه درمیان مرحلهای ازمراحل پردازش میشود. ابتدا، در طول مراحل بارگذاری نمونهای ازکلاس صفحه ساخته میشود وکد بارگذاری اجرا میگردد. این حاصل درخت کنترل اصلی است که در حال حاضرمعمولاً توسط روشهایی ازمراحل پیگیری در صفحه اداره میشود. همانند هرگره دردرخت، یک کنترل نشان داده شدهاست، مانند نمونهای از یک کلاس که میتواند ساختاردرخت را به خوبی با دستکاری خصوصیات/روشهای گرههای منحصربهفرد تغییرمیدهد. نهایتاً در طول مرحله ترجمه یک دیدارگربرای دیدن هرگره درخت استفاده شدهاست. هرگره برای ترجمه خود با استفاده از روشهایی ازناظردرخواست میکند. کد HTML منتج برای سرویس گیرنده (Client) فرستاده میشود.
پس ازپردازش درخواست نمونهٔ کلاس صفحه دورانداخته میشود وبا آن درخت کنترل تکمیل میشود.
سایرپروندههای الحاقی با نسخههای متفاوت ASP شامل: ascx; کنترلها کاربرWEB: کنترلهای معمول که درون صفحات WEB جای داده میشوند.[۲]
دیگر مجریان HTTP
صفحات سرویس دهنده WEB
زمانیکه درweb.config، درخواست trace.axd فعال میشود، خروجیهای سطح کاربردیترسیم میشوند. همچنین برای رسیدگیکننده axd منبع WEB مخصوص استفاده میشود که به توسعه دهندههای مؤلفه/ کنترل اجازه میدهد تا بسته یک کنترل/مؤلفه را با عکسها، سند، قالب آبشاری صفحات و غیره کامل کند. برای گسترش دریک پرونده انفرادی (یک مجمع)
master: صفحات اصلی؛ مطرح شده درنسخه ۲٫۰
بهطورکلی ساختار فهرست ASP.NET میتواند توسط اولویتهای توسعه دهنده تعیین شود. صرف نظرازتعداد محدودی از نامهای ذخیره شده، سایت میتواند هر تعداد از پوشهها را پشتیبانی کند. ساختار معمولاً انعکاس مستقیمی ازurlها است. هرچند ASP.NET قابلیتها را برای جداسازی درخواست در هرمرحله از طول پردازش فراهم میکند، توسعه دهنده مجبورنیست درخواستها را درسرتاسر یک برنامه مرکزی یا کنترل گر پیشین تبدیل کند.
نامهای پوشههای ویژه:
اهداف ASP ایجاد کارایی بر روی سایرفناوریهای مبتنی بر متن (شامل ASP قدیمی) توسط تألیف کد سمت سرویس دهنده به یک یا بیشتر، از پروندههای DLL روی سرویس دهنده WEB است. این تآلیف به صورت خودکاراولین باری که یک صفحه درخواست میشود اتفاق میافتد. (که سبب میشود توسعه دهنده احتیاجی به انجام یک مرحله تألیف جداگانه برای صفحات نداشته باشد.) این ویژگی، سهولت توسعه ارائه توسط زبانهای متنی را با نشان دادن کارایی برای تألیف دودویی فراهم میکند. به هرحال، تألیف میتواند سبب یک تأخیرقابل ملاحظه برای کاربرWEB زمانیکه صفحه جدیداً ویرایش «نشر» شده را برای اولین باردرخواست میشود، شود.
ASPX وسایرپروندههای منبع دریک میزبان مجازی بر روی یکی از سرویسهای اطلاعاتی اینترنت جای دارد (یا سایرسرویس دهندههای سازگار؛ درزیرسایرپیاده سازیها را ببینید.) اولین باری که یک سرویس گیرنده صفحهای را درخواست میکند، چارچوب کاری.NET پرونده(ها) را درون یک انجمن.NET تجزیه وتألیف کرده و پاسخ را ارسال میکند. درخواستهای بعدی توسط پروندههای DLL انجام میشوند. به صورت پیشفرض به محض اولین درخواست ASP.NET سایت را بدون ایراد دردستهای متشکل از۱۰۰۰ پرونده تألیف خواهدکرد. اگر به دلیل بروز مشکلی تألیف به طول انجامد، که در این حالت اندازه دسته یا راهبرد تألیف پیچیده بوده.
همچنین توسعه دهندهها میتوانند تألیف مقدماتی خودشان را قبل ازگسترش انتخاب کنند، که به منظور رفع احتیاج برای تألیف به موقع دریک محیط تولید میباشد.
مایکروسافت بعضی ازچارچوبهای کاری الحاقی متصل شده درون ASP.NET را منتشرمی سازد وقابلیت تابعی آن را توسعه میدهد. بعضی ازآنها:
ASP تلاش میکند تحول توسعه دهندهها را ازتوسعه کاربرد ویندوز تا توسعه WEB توسط ارائه قابلیت ساخت صفحات مرکب از کنترلها همانند یک رابط کاربری ویندوزساده نماید. یک کنترل WEB ازقبیل یک Button یا یک Label دربسیاری ازسبکها همانند همتای ویندوزخودش عمل میکند. کد میتواند خصوصیات وپاسخ خود را به رویدادهایش ارجاع دهد. کنترلها معلومات«فوت و فن» ترجمه خود را دارند: درحالی که کنترلهای ویندوزخودشان را بر روی پرده ترسیم میکنند، کنترلهای WEB قطعاتی ازHTML وجاوااسکریپت را تولید میکنند که بخشی ازفرم صفحه حاصل را به مرورگرکاربرنهایی میفرستد.
ASP.NET برنامهنویس را به توسعه کاربردها با استفاده ازنمونه رابط کاربرگرافیکی رویدادی(مدل event-driven GUI) وسریعترازمحیطهای سندی مرسوم درWEB مانند ASP و PHPتشویق میکند. چارچوب کاری تلاش میکند فناوریهای موجود از قبیل JAVASCRIPT را با مؤلفههای درونی همانند حالت دید برای به دست آوردن حالت پایدار«درخواست درونی» درمحیط WEB نا متمرکزاصلی ترکیب کند. سایرتفاوتهای مقایسهای ASP قدیمی هستند:
سایرتفاوتهای مقایسهای ASP قدیمی هستند:
صفحات سرویس دهنده فعال قدیمی (ASP) وASP.NET میتوانند در کنار یکدیگر در یک برنامه WEB اجرا شوند. این رویکرد به توسعه دهنده اجازه میدهد برنامهها را به آهستگی جا به جا کند به جای آنکه همه آنها را یک باره تغییرحالت دهد. درIIS ۶٫۰ وقبل ازآن، صفحاتی که با نسخههای متفاوتی ازچارچوب کاری ASP نوشته میشوند نمیتوانستند حالت جلسه را بدون استفاده ازکتابخانههای مشخص ثابت تقسیم کند. این ایراد درASP.NET وجود ندارد و برنامههای ASP در کنار یکدیگر بر روی IIS ۷ اجرا میشود. در IIS ۷، نمونهها میتوانند درخطوط مجتمع اجرا شوند که اجازه میدهد تا نمونهها درهرزبانی نوشته شود، تا برای هر درخواستی قابل نمایش گردد.[۳]
در برخی موارد در زمان اجرای ASP.NET پردازش عامل در حلقه میافتد. بهطور مثال اگر فرایندی خارج از کنترل اجرا شود، سبب میشود که پردازش عامل بیش از ۶۰ درصد از حافظه اصلی سختافزار موجود را استفاده کند پردازش عامل در حلقه میافتد. همچنین ممکن است در شرایطی که تعداد معینی از درخواستها ارسال میشود، این اتفاق رخ دهد، برای مثال در یک سیکل زمانی. در این حالات اگر برنامه برای استفاده از یک سشن (نشست) تنظیم شده باشد، ممکن است این نشست از دست برود. اگربرنامه به حالت جلسه برای ذخیره کردن اطلاعات اعتبار سنجی وابسته باشد، و برنامه با استفاده از جلسات درون پردازشی پیکربندی شود، ممکن است در صورتی که پردازش درحلقه بیفتد ارتباط کاربر قطع شود.
نشانههایی که ASP.NET ۲٫۰ تولید میکند توسط W3C تأیید شدهاند. اما این نکته حائز اهمبت است که ایا این افزایش قابل دسترسی است؟ یکی از این مزایا از یک لحاظ صفحاتاکساچتیامال + نمایش CSS است. کنترلهای متعدد از قبیل کنترلهای ورود و کنترلهای چند مرحلهای، به صورت پیشفرض از جداول HTML استفاده میکنند. مایکروسافت هماکنون به سمت طرقی میرود که این مشکل را به وسیله انتشار کنترلهای سازگارکنندهٔ ASP.NET 2.۰ CSS حل کند. بهطور مثال افزودنیهای رایگان که نشانههایی مطابق بااکساچتیامال+CSS در دسترس تولید میکنند. به هر حال برخی از کنترلها هنوز به جاوااسکریپت استناد میکنند.
برخی ازبستههای نرمافزاری دردسترس که برای توسعه کاربردهای ASP.NET وجود دارند:
با سلام خدمت کار بران عزیز
در این آموزش ما میخواهیم از صفر سروع به بر نامه نویسی سیستم تلگرام کنیم که در این آموزش هم آموزش phpداده می شود به صورت پیشرفته وهم آموزش Node jsکه در پایان آموزش شما به راحتی هر سیستم جامعه وکاملی را خواستین بتوانین پیاده سازی کنین واین آموزش کاملا رایگان می باشد واز طریق لینک های زیر می توانید آموزش بر نامه نویسی Android را دانلود بفرمایید
سر فصل های آموزش
1 - جاوا چیست و چرا ؟
2 - راه اندازی اندروید استودیو
3 - شی گرایی در جاوا
4 - حلقه ها در java
5 - ساختارهای شرطی در جاوا
6 - کار با کلاسها در جاوا
7 - اتصال بین لایه گرافیکی - xml و جاوا
8 - بررسی دکمه ها در اندروید
9 - Android Ui Layout
10 - آرایه ها در جاوا
11 - ارایه های داینامیک
12 - Casting in Java
13 - آموزش کامل انواع Dialog ها
14 - ساخت یک دیالوگ کاملا سفارشی و داینامیک
15 - ساخت منو در اندروید (Options Menu)
16 - استایل ها و تم ها در اندروید
17 - کار با ویجت Progress Bar
18 - کار با Image View
19 - کار با Switch Box
20 - کار با Button
21 - Radio Group & Radio Button
22 - اعلان ها در اندروید.- Notifications
23 - انواع انیمیشن ها در اندروید
24 - مدیریت اکتیویتی ها
25 - مدیریت فرگمنت ها
26 - Intents and Intent Filters
27 - Content Provider
28 - Thread ها در اندروید
29 - مدیریت Leak شدن ها در اندروید و بهینه سازی اصولی
30 - Gradle چیست و چرا ؟
31 - مدیریت وابستگی ها و کتابخانه های مورد نیاز
32 - اصول طراحی متریال با توجه به قواعد گوگل
33 - کار با فایل ها در اندروید
34 - Interface ها در جاوا
35 - برودکست ها در اندروید - Broadcast
36 - نحوه ساخت اصولی یک لایبرری و توسعه آن و انتشار آن
37 - Spinner ها
38 - یک Spinner حرفه ای و کاستوم
39 - مجوز های خطرناک - Runtime Permissions
40 - Support Library
41 - Design Library
42 - Floating Action Button
43 - Navigation Drawer
44 - Bitmap ها در اندروید
45 - مدیریت bitmap ها و مشکل Out Of memory
46 - دیتابیس در اندروید
47 - طراحی و مدیریت بهینه دیتابیس لوکال
48 - نحوه نوشتن یک کلاس متمرکز برای مدیریت دیتابیس
49 - نحوه sync کردن اطلاعات آنلاین و لوکال
50 - سرویس ها در اندروید
51 - بررسی مشکل Kill شدن سرویس ها در بعضی نسخه های اندروید
52 - Job Scheduler
53 - طراحی واکنش گرا و بهینه با Constraint Layouts
54 - Firbase
55 - نحوه گزارش گیری از خطاها و رخدادهای از قبل پیش بینی نشده
56 - unique id
57 - روشهای دستیابی به شناسه یکتا برای هر کاربر و مشکلات آن
58 - رجیستر اپلیکیشن به عنوان یک مسنجر در سیستم عامل اندروید
59 - نحوه ضبط صدا در اندروید
60 - ساخت یک گالری شخصی و کاربردی
61 - Camera Api
62 - Glide و مدیریت منابع هنری
63 - Canvas ها و کنترل های سفارشی
64 - نحوه ساخت ویوهای کاملا داینامیک با توجه به شرایط اپلیکیشن
65 - Cache (کش) کردن چیست و چرا ؟!
66 - نحوه Cache کردن و آزاد سازی memory
67 - طراحی اپلیکیشن چند زبانه
68 - بررسی کامل Notifications در سیستم عامل اندروید
69 - Update کردن Notification ها
70 - Intents And Pending Intents
71 - ساخت تولبارهای شخصی و داینامیک
72 - انواع تولبارها ((Collpasing Toolbar and …))
73 - language Editor اندروید استودیو
74 - Shared Preferences
75 - بهینه سازی لیستها و Optimize کردن
76 - Endless Lists ( لیست های بی پایان) در اندروید
77 - Transition Movement
78 - مدیریت Contacts
79 - Vector Drawables
80 - با انیمیشن های فیزیکی در اندروید اشنا شوید
81 - Circluar Reavel Animation
82 - معماری ها (Architecture) در اندروید
83 - MVP Architecture
84 - آشنایی با سرویسهای کنترل ورژن
85 - Git
86 - - Recycler View و مدیریت تایپها و نوع های مختلف view
87 - Spring Animation
88 - Render Script در اندروید
89 - ساخت یک موزیک پلیر شخصی و حرفه ای
90 - ساخت یک ویدیو پلیر شخصی و حرفه ای
91 - Emoji ها در اندروید
92 - Spannable String
93 - Audio Manager در اندروید
94 - کلاس Date
95 - نحوه Encryption ( رمز گذاری ) اطلاعات
96 - ساخت صفحه شناور بر روی Native Screen
97 - WebView در اندروید و ناسازگاری های آن
98 - Themes
99 - تغییر Theme برنامه به صورت داینامیک
100 - TypeFaces
101 - TypedArrays
102 - یک Downloader تمیز و اصولی
103 - Proxy و مدیریت آن
104 - CardView
105 - Layout Inflator
106 - عضویت به وسیله اس ام اس و ایجاد نام و اپلود عکس ویرایش پروفایل بعد از ساختن یوزر
107 - افزدون قابلیت چند اکانت
108 - ایجاد کانال - مدیریت کانال
109 - ایجاد گروه - مدیریت گروه
110 - ایجاد پیام های. خصوصی غیر قابل شنود
111 - ایجاد تم های داینامیک و تغییر بر حسب ساعات مختلف
112 - ایجاد گفتگوهای برگزیده
113 - امکان بن کردن مدت زمانی توسط ادمین های گروه
114 - امکان سایلنت نمودن کاربر توی گروه توسط مدیر به صورت مدت زمان
115 - امکان جلوگیری از اسپم
116 - اد کردن ممبر
117 - قابلیت لینک برای گروه تعویض لینک
118 - ارسال ویس
119 - ارسال عکس
120 - ارسال ای موجی (شکلک)
121 - قابلیت مشخص شدن پیام های ویرایش شده
122 - ایجاد شکلکهای خاص بر حسب ورودی های خاص
123 - ارسال فایل
124 - ارسال ویدیو
125 - ساخت کانال های خصوصی (Private)
126 - قابلیت شگفت انگیز برقراری تماس صوتی
127 - قابلیت Mention کردن پیام ها و پاسخ به آنها
128 - قابلیت حرفه ای و شگفت انگیز ایجاد ربات های برنامه پذیر و مدیریت آن به وسیله Api سمت سرور
129 - قابلیت ست کردن محدودیت اعضا در کانال و گروه ها
130 - ایجاد سوپر گروه ها
131 - ایجاد قابلیت آپدیت و بروز رسانی برنامه به صورت خودکار
132 - ساخت ربات اعلان
133 - اختصاص دهی آیدی یکتا به هر کاربر
134 - قابلیت مدیریت Storage و حافظه
135 - قابلیت دعوت مخاطبین به برنامه
136 - قابلیت ایجاد بیوگرافی توسط هر کاربر ( درباره خود ... )
137 - ایجاد قابلیت های پنجره تنظیمات مشابه تلگرام
138 - ایجاد مرورگر شخصی داخل برنامه
139 - قابلیت تغییر زبان برنامه توسط کاربر
140 - قابلیت ایجاد تایید امنیت دو مرحله ای
141 - قابلیت نمایش آخرین بازدید کاربر ( اخیرا - آنلاین - قابلیت نمایش فقط به مخاطبین)
142 - قابلیت ایجاد روح !!
143 - قابلیت حذف اکانت به صورت خودکار پس از مدت زمان مشخصی
144 - قابلیت مدیریت نشست های فعال
145 - قابلیت میوت کردن نوتیفیکیشن های خاص برای کاربرا یا گروه ها و یا کانال های خاص
دانلود آموزش بر نامه نویسی اندروید از لینک زیر
دانلود قسمت دهم
دانلود قسمت یازدهم
دانلود قسمت دوازدهم
دانلود قسمت سیزدهم
دانلود قسمت چهاردهم
دانلود قسمت پانزدهم
در اوت ۲۰۰۵، گوگل شرکت اندروید واقع در پالو آلتو، کالیفرنیا را خرید. شرکت کوچک اندروید که توسط اندی رابین، ریچ ماینرز، نیک سیرز و کریس وایت پایهگذاری شده بود، در زمینه تولید نرمافزار و برنامههای کاربردی برای تلفنهای همراه فعالیت میکرد. اندی رابین مدیر عامل اجرایی این شرکت پس از پیوستن اندروید به گوگل به سمت قائممقام مدیریت مهندسی این شرکت و مسئول پروژه اندروید در گوگل منصوب شد.[۲] تیم اندروید به رهبری رابین فعالیت خود را برای تولید سکوی تلفن همراه مبتنی بر هسته لینوکس آغاز کردند و نتیجه اولیه این پروژه در نشست خبری شرکت گوگل در ۵ نوامبر سال ۲۰۰۷، مطرح کردن اتحادیه گوشی بازبود. ۳۴ شرکت فعال در زمینه تولید نرمافزار، تولید تلفنهای همراه، اپراتور تلفن همراه و تولیدکننده نیمه رساناها و پردازندههای تلفن همراه اعضای بنیانگذار این اتحادیه بودند. در میان نامهای مشهور در بین اعضای مؤسس، شرکتهایی چون سامسونگ،الجی الکترونیکس، موتورولا، اچتیسی، تی-موبایل، انتیتی دوکومو، اینتل، انویدیا، تگزاس اینسترومنتس، کوالکام، برودکام،تلفونیکا، اسپرینت، ایبی و البته گوگل به چشم میخوردند. اریک اشمیت مدیر ارشد اجرایی گوگل در این مراسم گفت: «اعلام امروز بسیار جاهطلبانهتر از معرفی تنها یک تلفن گوگلی است که در چند هفته اخیر توسط رسانهها پیشبینی شده بود. از دیدگاه ما سکویی که ما ارائه کردهایم، هزاران تلفن گوناگون را به بازار روانه خواهد کرد.» نخستین گوشی مبتنی بر اندروید توسط شرکت اچتیسی با همکاری تی-موبایل تولید شد. این گوشی که به فاصله کمتر از یک سال از تشکیل اتحادیه گوشی باز یعنی در ۲۲ اکتبر ۲۰۰۸ تولید شد، در بازارهای مختلف به نامهای اچتیسی دریم، تی-موبایل جی۱ و ارا جی۱ به بازار عرضه گردید.
۹ دسامبر ۲۰۰۸ چهارده عضو جدید از شرکتهای صنعت تلفن همراه جهان به اتحادیه گوشی باز پیوستند. در بین این نامها باید بهسونی اریکسون، اریکسون، توشیبا، ایسوز، گارمین، هواوی، آرم هولدینگز و ایسراشاره کرد. روند پیوستن شرکتهای بزرگ به اتحادیه تا به امروز نیز ادامه داشتهاست و شرکتهایی چون ایسر، آلکاتل، لنوو، شارپ، فاکسکان، انایسی، کیوسرا،انایکسپی، استی-اریکسون، مارول، زدتیئی و دل نیز از جمله شرکتهایی بودهاند که به جمع پشتیبانیکنندگان اندروید پیوستهاند.
در ۳ سپتامبر ۲۰۱۳ توسعهدهندگان اندروید بهطور رسمی اعلام کردند که با شرکت نستله، که از شرکتهای مطرح صنعت شکلاتسازی جهان میباشد، همکاری خواهند کرد. در همین راستا نگارش ۴٫۴ سیستمعامل اندروید، کیتکت نام گرفت. کیت کت از مارکهای معروف شکلات است که توسط شرکت نستله تولید میشود.[۳]
اندروید آبنبات چوبی یا اندروید لالی پاپ (به انگلیسی: Android Lollipop)، (به معنای آبنباتچوبی) یا اندروید ۵ یا اندروید L یکی از نسخههای سیستم عامل اندروید است که توسط گوگل در ۱۵ اکتبر ۲۰۱۴ ارائه گردید. اندروید L که مخفف این نسخه از اندروید میباشد و براساس گفته رئیس بخش اندروید گوگل سوندار پیچای بزرگترین بهروزرسانی در اندروید است.[۴]
اندروید مارشمالو (به انگلیسی: Android Marshmallow) یا اندروید ۶ نسخهای از سیستم عامل اندروید است که در سپتامبر ۲۰۱۵ توسط گوگل معرفی شد.[۵] اندروید نوقا (بهانگلیسی: Android Nougat) یا اندروید7.0 در سال 2016 منتشر شد. به روز رسانی اندروید اوریو (Orio) یا اندروید8.0 در سال ۲۰۱۷ انتشار یافتهاست.
آخرین نسخه از سیستم عامل اندروید ، اندروید 9 یا اندروید پای است که در تاریخ 8 مه 2018 معرفی شد و با ویژگیهای جدیدی و جذابی همراه است.نام اندروید پای از یک غذای خوشمزه و شیرین آمریکایی گرفته شدهاست.
حق امتیاز اکثر قسمتهای اندروید به صورت اپن سورس بر اساس مجوز آپاچی نسخه ۲٫۰ (Apache License 2.0) ارائه میگردد. با اینکه سعی میشود تا اکثریت قسمتهای اینسیستم عامل بر اساس همین مجوز ارائه گردد، استثناهایی نیز وجود دارد. برای مثال هسته لینوکس موجود در این سیستم عامل با پروانه عمومی همگانی گنو نسخه ۲ (GPLv2) منتشر شدهاست.[۶]
طراح لوگوی مشهور اندروید «آیرینا بلاک» است. سه سال پیش از آیرینا بلاک و تیم طراحی گوگل تقاضا شد تا لوگویی برای اندروید طراحی کنند که به سرعت با کاربر ارتباط برقرار کند و به آسانی قابل شناسایی باشد؛ همچنین به بلاک گفته شد که این لوگو باید حتماً تصویری از ربات باشد چرا که اندروید به معنای روبات است. آیرینا پس از مطالعه زیاد در مورد اسباببازیها و شخصیتهای فانتزی و تخیلی در آخر تصمیم گرفت لوگوی اندروید را از یک منبع عجیب الهام بگیرد: دستشویی! هر کسی علامت روی در دستشوییها را دیده و الهام از این علامتها میتواند باعث شود در یک نگاه لوگوی اندروید شناخته شود. یک نکته جالب دیگر در مورد لوگوی اندروید این است که گوگل برخلاف دیگر شرکتها که سعی در حفاظت از لوگویشان داشتند تصمیم گرفت تا لوگو را به صورت آزاد و Open Source قرار دهد تا هر کس بتواند آن را به دلخواه خودش تغییر دهد. گوگل در اینباره میگوید: “ما تصمیم گرفتیم این لوگو میتواند یک لوگوی اشتراکی و تعاملی باشد که هر کس در دنیا بتواند آن را تغییر دهد. این تصمیم بسیار شجاعانه بود. ” شاید با اپلیکیشن Androidify یا اسباب بازیها و Action Figureهای کوچک اندرویدی بامزه آشنا باشید؛ همه اینها به لطف آزاد بودن لوگوی اندروید امکانپذیر شدهاست.
بنابر ترجمه واژهنامهٔ کمبریج، اندروید اینگونه تعریف شدهاست: «یک ربات (ماشینی که به وسیله کامپیوتر کنترل میشود) که به گونهای ساخته شده تا شکل ظاهری شبیه به انسان داشته باشد.»[۷] بنا بر این تعریف شاید بتوان کلمه ربات انسان نما را ترجمهٔ مناسبی برای این واژه در نظر گرفت.
تلفظ صحیح این کلمه بر اساس واژهنامهٔ کمبریج در هر دو گویش آمریکایی و بریتانیایی اندروید (/ˈæn.drɔɪd/) میباشد و در هیچکدام از این گویشها حرف آ در ابتدای این کلمه به کار نمیرود.[۷]
نرمافزارهای جانبی اندرویدی با استفاده از زبان جاوا نوشته میشوند و برای ارتباط با لایههای زیرین سیستم عامل میتوانند از کتابخانههای جاوایی اندروید استفاده کنند. بخش رابط کاربری سیستم عامل اندروید با زبان جاوا نوشته شدهاست و بسیاری از برنامههای اندروید هم با جاوا نوشته شدهاند. اما این سیستم عامل، Java Virtual Machine ندارد. برای اجرای برنامههای جاوایی روی این سیستم عامل، کدهای جاوا به کدهای Dalvik تبدیل میشوند و سپس روی Dalvik vitrual machine اجرا میشوند. دالویک یک ماشین مجازی جاوایی است که برای سیستم عامل اندروید بهینه شدهاست تا هم RAM و هم CPU و هم باتری کمتری مصرف کند). برنامههای جاوایی معمولی هم که روی گوشیهای دیگر اجرا میشوند با استفاده از نرمافزار شبیهساز جاوا مانند J2ME LOADER روی این سیستم عامل قابل اجرا هستند.
آرت محیط اجرای جدید اندروید برای برنامههای تحت جاوا است که جایگزین دالویک شدهاست. شرکت گوگل برای اولین بار در اندروید ۴٫۴ آرت را در کنار دالویک قرار داد و کاربران میتوانستند با مراجعه به تنظیمات آن را فعال کنند.
اندروید در حالت پیشفرض فایلهای mp3, aac , ogg , amr , midi , mpeg4 , wav , bmp , gif , png , jpg را پشتیبانی میکند. اندروید Adobe Flash را نیز پخش میکند و میتواند فایلهای GIF متحرک را با حرکت پخش کند. برای پخش فایلهای جریان دار مانند صوت و ویدئو نیز میتوانید از تگ ویدئو html۵ و همچنین تکنولوژی Adobe Flash Streaming استفاده کنید. در نسخههای جدید اندروید، موتور جاوااسکریپت مرورگر کروم که سرعت بسیار بالایی در اجرای کدهای جاوا اسکریپت دارد به مرورگر اندروید متصل شدهاست. (در ضمن مرورگر اندروید کدهای HTML۵ را پشتیبانی میکند)
گوگل از همان ابتدا کدهای نظیرfsck_msdos,e2fsck,fsck.exfat به اندورید اضافه نمود که حلال بسیاری از مشکلات در زمینهٔ عیبهای دیسکها میباشد؛ که این قابلیت مشابه قابلیت check disk در سیستم عامل ویندوز میباشد. متأسفانه سیستم عامل اندروید بهطور مستقیم سیستم فایل NTFS را پشتیبانی نمیکند البته فقط VFAT(FAT32) را برای USB OTG پشتیبانی میکند.
مجموعه برنامهنویسی اندروید یا Android SDK شامل یک دیباگر، کتابخانههای اندروید، شبیهساز سیستم عامل، مستندات اندروید و فایلهای نمونه و آموزشی است که به کاربر در ایجاد برنامهها کمک میکند. هماکنون این SDK بر روی یک سیستم ۳۲ بیتی که لینوکس، ویندوز یا mac OSX داشته باشد اجرا میشود. پیش نیازهای نصب این SDK عبارتند از کیت توسعه جاوا و Apache Ant و python 2.2. برنامههای نوشته شده برای اندروید با نسخههای مختلف میباشد.
روت به معنی دسترسی ریشه به سیستم عامل است و زمانی که یک ابزار اندرویدی روت میشود دسترسی کاربر به ابزار مربوطه افزایش مییابد، در سیستم عامل لینوکس به کاربری که دسترسیهای مدیریتی دارد روت و در ویندوز به آن Administrator میگویند، در اکثر سیستم عاملها گرفتن دسترسی روت ساده است و به سادگی چند کلیک میتوان از سیستم عامل دسترسی روت گرفت یا مجوز دسترسی را باطل کرد اما این مسئله در سیستم عامل اندروید به یک معضل واقعی تبدیل شده که گاهی حتی میتواند دیوایس اندرویدی مربوطه را برای همیشه خراب کند و در اکثر مواقع روت شدن یا خراب شدن دستگاه اندرویدی قابل برگشت نیست برای مثال با توجه به توسعه اندروید بر مبنای هسته لینوکس میتوانیم یک سیستم عامل مبتنی بر دبیان را با اندروید مقایسه کنیم: در دبیان کافیست در پنجره ترمینال عبارت sudo su را تایپ کنیم و پسورد را وارد کنیم، بعد از این کار هر دستوری که در ترمینال تایپ کنید با دسترسی روت اجرا خواهد شد، بعد از بستن پنجره ترمینال مجوز دسترسی روت باطل خواهد شد و سیستم عامل مانند سابق با دسترسی محدود به فعالیت خود ادامه میدهد در اندروید این پروسه با دانلود درایورهای مربوطه و رام روت شده انجام میشود، به این ترتیب که رام روت شده باید جایگزین رام داخلی گوشی شود، این فرایند معمولاً قابل برگشت نیست و ریسکهایی نیز به همراه دارد که از جمله آن ریسکها میتوان به Break شدن دائمی دستگاه اندرویدی اشاره کرد
نسخه | نام نسخه | ترجمهٔ فارسی نام نسخه | نمای صفحه اصلی | نهفتنتاریخ انتشار اولیه |
---|---|---|---|---|
۱٫۰ | alpha | آلفا |
|
۲۳ دسامبر ۲۰۰۸ |
۱٫۱ | beta | بتا |
|
۹ فوریه ۲۰۰۹ |
۱٫۵ | Cupcake | کیک فنجانی |
|
۳۰ آوریل ۲۰۰۹ |
۱٫۶ | Donut | دونات |
|
۱۵ سپتامبر ۲۰۰۹ |
۲٫۰
۲٫۱ |
Eclair | نان خامهای |
|
۲۶ اکتبر ۲۰۰۹ |
۲٫۲
۲٫۲٫۳ |
Froyo | ماست یخزده |
|
۲۰ می۲۰۱۰ |
۲٫۳
۲٫۳٫۷ |
Gingerbread | نان زنجبیلی |
|
۶ دسامبر ۲۰۱۰ |
۳٫۰
۳٫۱ ۳٫۲ ۳٫۲٫۶ |
Honeycomb | کندوی عسل |
|
۲۲ فوریه ۲۰۱۱ |
۴٫۰
۴٫۰٫۴ |
Ice Cream Sandwich | ساندویچ بستنی (در برخی منابع: بستنی حصیری) |
|
نوامبر ۲۰۱۱ |
۴٫۱
۴٫۲ ۴٫۳٫۱ |
Jelly Bean | آبنبات ژلهای |
|
۰۹ ژوئیه ۲۰۱۲ |
۴٫۴
۴٫۴٫۴ |
KitKat | کیت کت |
|
۳۱ اکتبر ۲۰۱۳ |
۵٫۰
۵٫۱٫۱ |
Lollipop | آبنبات چوبی | ۱۲ نوامبر ۲۰۱۴[۸] | |
۶٫۰
۶٫۰٫۱ |
Marshmallow | مارشمالو |
|
۰۵ اکتبر ۲۰۱۵ |
۷٫۰
۷٫۱٫۲ |
Nougat | نوقا |
|
۲۲ اوت ۲۰۱۶ |
۸٫۰
۸٫۱ |
Oreo | اوریو |
|
۲۱ آگوست ۲۰۱۷ |
با سلام خدمت کار بران گرامی آموزش مقدماتی Sql Serverرا به صورت تصویری می توانید از لینک های زیر دانلود نمایید
با تشکر داوود محمدنیا
بسیار خوب دوستان عزیز آموزش ابتدایی Sql Server به اتمام رسید به محض اتمام اموزش اندروید که در داخل کانال بار گذاری شده است آموزش پیشرفته Sql Server2017را شروع می کنیم
با تشکر داوود محمدنیا
مایکروسافت اس. کیو. ال سرور یا مایکروسافت سیکول سرور (به انگلیسی: Microsoft SQL Server) یک نرمافزار سیستم مدیریت بانکهای اطلاعاتی رابطه ایاست که توسط شرکت مایکروسافت ساخته شدهاست. به عنوان یک سرور پایگاه داده، این یک محصول نرم افزاری است که عملکرد اصلی اش ذخیرهسازی و بازیابی اطلاعات با توجه به درخواست سایر برنامهها میباشد - که ممکن است بر روی همان کامپیوتر یا یک کامپیوتر دیگر در یک شبکه (از جمله اینترنت) اجرا شود.
مایکروسافت حداقل دوازده نسخه متفاوت Microsoft SQL Server را با هدف مخاطبان مختلف و برای تنوع ميزان كار، از برنامههای کوچک برای اجرا روی یک ماشین تا برنامههای بزرگ اینترنتی است همراه با پشتیبانی از کاربران همزمان عرضه میکند.
تاریخچه
مقاله اصلی: تاریخچه Microsoft SQL Server
تاریخچه مایکروسافت SQL Server با اولین محصول Microsoft SQL Server آغاز میشود . SQL Server 1.0، یک سرور 16 بیتی برای سیستم عامل OS / 2 در سال 1989منتشر شد - و تا امروز در حال گسترش میباشد .
برخی از ویژگیهای این سیستم مدیریت پایگاه دادهها به این شرح است:
نسخهٔ بعدی سرور SQL سرور SQL2008 میباشد با کد نامگذاری «کاتمایی» که برای ارائه به بازار ۲۷فوریه سال ۲۰۰۸ پیشنهاد گردیده و سپس (RTM) در Q32008 عرضه گردید.
آخرین CTP در ۱۹فوریه سال ۲۰۰۸ عرضه گردید. اهداف SQL Server 2008 ایجاد و مدیریت دادهها به شکل هماهنگی، سازماندهی و محافظت به شکل اتوماتیک میباشد. با توسعه دائمی SQL Server در عرضه تکنولوژی اتلاف وقت به نزدیک صفر رسید.
SQL Server 2008 همیشه در برگیرنده حمایت از دادههای ساختاری یا نیمهساختاری میباشد که این امر شامل قالبهای رسانهای دیجیتال برای عکسها، صوتی، تصویری و دیگر دادههای چند رسانهای میباشد.
در نسخهٔ جدید، اکثر دادههای چندرسانهای را میتوان به عنوان BLOB (بخش بزرگ بانیری) ذخیرهسازی کرد. آگاهی درونی از دادههای چندرسانهای به ما این اجازه را خواهد داد که کارکردهای تخصیص یافته را اجرا نماییم. براساس نظرات پل فلسنر، معاونت ارشد مایکروسافت، کاربران سرور SQL Server 2008 شرکت مایکروسافت میتوانند به ذخیرهسازِی دادههای پشتیبانی شده برای دادههایی با تنوع متفاوت بپردازد: XML، پست الکترونیکی (email)، زمان/تقویم، فایل، پرونده … از جمله این دادهها میباشند. همینطور با SQL Server 2008 به خوبی میتوان به اجرای عملیاتی چون جستجو، پرسوجو، تجزیهوتحلیل، تقسیمبندی و انطباق همه نوع از دادهها پرداخت. از انواع دیگری از دادههایی جدید میتوان از اختصاص دادهها و نوعهای زمانی و انواعی از دادههای فضایی نام برد که دادههای وابسته به مکان میباشند.
پشتیبانی بهتر برای دادههای غیرساختاری یا نیمهساختاری با استفاده از بخش *[۱] FILESTREAMانجام شده. این نوع از دادهها میتوانند اضافه شده یا اینکه برای بازگرفت به هر فایل ذخیره شده، شد سیستم فایلها بکار رونده دادههای منسجم یا فرادادهها در هر فایل باید در پایگاه دادههای SQL Server ذخیره شوند؛ و در آنجا اجزا غیرساختاری در سیستم فایلذخیره میشوند. اکثر فایلها میتوانند هم از طریق کنترلکننده فایل Win32 و هم از طریق SQL Server با استفاده از T-SQL در پایگاه دادهها قرار گیرند.
انجام و دستیابی به دادههای فایل به عنوان یک BLOB باینری محسوب میشود. پشتیبانی و ذخیرهسازی در پایگاه دادهها پشتیبانی و ذخیرهسازی فایلهای مرجع میباشد.
SQL Server 2008 همینطور از سلسله مراتب دادههای اصلی پشتیبانی میکند و در برگیرندهٔ مفهوم T-SQL میباشد که مستقیماً با آنها سروکار دارد بدون اینکه به تحقیق بازگشتی بپردازد.
دادههای فضایی میتوانند به دو صورت ذخیرهسازی شوند. یک «زمین صاف» (هندسه یا هندسه مسطح) که نوعی از دادهها میباشند که ارائهدهندهٔ دادههای هندسی فضایی میباشند و به شکلهایی که رد اصل به صورت سیستمهای طراحی کروی و همپایه و… هستند پیشبینی شدهاند. صورت دیگر نوع دادههای «زمین کروی» (هندسی) هستند که به استفاده از مدلهای بیضی شکل آنچه که در زمین به صورت منفرد و پیوسته تعریف میشوند، میپردازند.
SQL Server در برگیرنده ویژگیهای بهتری در زمینه فشردگی و متراکم داده میباشد و بنابراین در بهبود یافتن توانایی اسکالر به ما کمک میکند. این بخش همینطور دارای اقتدار منابع بوده و به ما این اجازه را میدهد که به ذخیرهسازی منابع برای کاربران بپردازیم.
SQL Server در بردارندهٔ قابلیتهایی برای شفافسازی دادهها برای فشردهسازی و ذخیره آنها میباشد SQL Server کتمایی از موجودیت ساختار *[۲]ADO.NET پشتیبانی کرده و به ثبت ابزارها، همانندسازی و تعریف دادهها میپردازد. تعریف دادهها به ساختن مدل دادههای موجود خواهد پرداخت.
سرویسهای ثبتکنندهٔ SQL Server به ثبت جداول با قابلیتهایی از تطبیق دادهها و تجسم محصولات خواهند پرداخت.
آنچه که به وسیلهٔ مایکروسافت از مدیریت جانبی حاصل میشود اجازه میدهد که سیاست پیکربندی و محدودیتها در پایگاه کامل دادهها و جداول مورد اطمینان بطور دستوری ایجاد گردد.
نسخهٔ مدیریت استادیو SQL Server شامل SQL Server 2008 میباشد که به پشتیبانی از جستجوگر SQL میپردازد. علاوه بر این به وسیلهٔ CTP رایج انتخاب لازم برای تحقیق و بررسی محدود میشود. این امر باعث ساختارهای دیگری از T-SQL در انتشارات بعدی میگردد. *[۳] SQL Server ۲۰۰۸ به ایجاد پایگاه دادههای موجود از طریق بدنه قدرت ویندوز و کاربرد مدیریت در دسترسی میپردازد؛ بنابراین سرور و همهٔ نمونههای پیوسته میتوانند به وسیله بدنهٔ قدرت ویندوز اداره شوند. *[۴] Editions شرکت مایکروسافت به ایجاد سرور SQL موجود در نسخههای چندگانه کرد که دارای دستگاههایی با ویژگی متفاوت و کاربرانی با اهداف متمایز بود.
SqlServer 2017
این ویراستار فشرده یک موتور با پایگاه دادههای مستحکم میباشد. به جهت اندازه کوچک آن دارای دستگاهی با ویژگیهای کاهشدهنده در مقایسه با ویراستارهای دیگر میباشد. این وسیله به وسیلهٔ پایگاه دادهها با سایز حداکثر 4GB محدود شده و نمیتواند براساس سرویس ویندوز عمل نماید ویراستار متراکم باید تابع تقاضای کاربرد میباشد.
سرور SQL با ویراژ پرسرعت یک میزان پایین، ویراژ آزاد از سرور SQL میباشد که در برگیرنده موتور مرکزی پایگاه دادههاست. در حالیکه هیچ گونه محدودیتی در شماره پایگاه دادهها یا کاربران پشتیبانی شده وجود ندارد پایگاه دادههای کلی به ذخیرهسازی در بخشهای مجزا میپردازد. هدف از این کار جایگزینی *[۵]MSDE میباشد. سرویس جستجوگر متن کامل به عنوان یک بخش ضمیمه در سرور SQL با ویراژ پرسرعت قرار میگیرد. بطور کلی نسخهٔ سرور SQL مدیریت استودیو برای عمل ویراستاری در دسترس میباشد.
سرور SQL با ویراژ کار گروه در برگیرنده موتور مرکزی پایگاه دادهها میباشد این بخش از دیسک ویراژ در شمار نمونههایی با فعالیت کمتر قرار میگیرد و در برگیرنده عملکردهایی با دسترسی بالا و شاخصهای برابر نمیباشد.
سرور *[۶] SQL ویرایش سازمانی، نسخهای از سرور SQL با ویژگیهای کامل میباشد که در برگیرندهٔ هر دو موتور مرکزی پایگاه دادهها و سرویسهای اضافی میباشد و این در حالی است که وجود دامنهٔ ابزارها برای ایجاد و اداره سرور SQL به صورت خوشهای است.
نگارش قابل کدنویسی سرور SQL دارای همان ویژگیهای نگارش enterprise این سرور میباشد که با وسیله لایسنس، کاربرد آن تنها به عنوان یک سیستم آزمایش و توسعه محدود گردیده و به عنوان یک سرور تولیدی محسوب نمیشود. این نسخه به عنوان بخشی از برنامه Dream Spark مایکروسافت برای بارگذاری توسط دانشجویان بهطور رایگان موجود میباشد.
در سال ۲۰۰۳ یک add-on به SQL Server نسخه ۲۰۰۰ به عنوان یک سرویس گزارشگیری افزوده شد. این سرویس تا نسخه ۲۰۰۵ خیلی کاربردی نبود. از سال ۲۰۰۵ مایکروسافت سرمایه گذاری خوبی را در این زمینه که قبل از آن شرکتهایی در آن فعالیت میکردند آغاز کرد. اینگونه بود که از این مقطع زمانی به بعد مایکروسافت اقدامات خوبی را در این زمینه شروع کرد و آن را از حالت یک add-on خارج کرد.
معماری SSRS
سه کامپوننت اصلی وجود دارد که با یکدیگر کار کرده و SSRS را به یک برنامه چندلایه واقعی تبدیل میکند. این سه عبارتند از :
شکل زیر یک تفکیک مفهومی از این سه بخش و اجزا آن است.
در اینجا data source و SSRS databases ، ReportServer و ReportServerTempDB موجودیتهای مجزایی هستند. Data Source منبع و منشا اصلی دادهها برای پر کردن گزارشات است و Report Server Databases وظیفه ذخیرهسازی اطلاعات مربوط به گزارشات را بر عهده دارند. هر دوی این دو میتوانند به صورت فیزیکی در یک SQL Server مشترک قرار گیرند، فزض کنید که data source یک پایگاه داده SQL Server است. Data source میتواند data provider های مختلف مثل SQL Server، Oracle، LDAP و یا Analysis Service را پشتیبانی نماید. این امر ممکن است که شما یک سرور واحد را هم برای SSRS Report Server Web Service و هم برای Report Server Database پیکربندی کنید. اگر چه این کار توصیه نمیشود مگر اینکه تعداد کاربر شما کم باشد.
SQL Server Integration Services یا SSIS، ابزاری است که برای اجرای عملیاتهای ETL مانند extract کردن، transform کردن، و load کردن دادهها مورد استفاده قرار میگیرد.
SQL Server Integration Services یا SSIS، ابزاری است که برای اجرای عملیاتهای ETL مانند extract کردن، transform کردن، و load کردن دادهها مورد استفاده قرار میگیرد. درحالیکه فرایند ETL در برنامههای Data Warehousing رایج است، SSIS به هیچ وجه محدود به DW نیست؛ مثلاً وقتی یک با استفاده از SQL Server Management Studio، یک Maintenance Plan ایجاد می کنید، یک پکیج SSIS ایجاد میشود. در سطحی بالاتر، SSIS قابلیتهای زیر را در اختیار می گذارد:
نسخه اول SSIS در SQL Server 2005 معرفی شد. SSIS جایگزینی برای Data Transformation Services یا DTS بود که در SQL Server 7.0 و SQL Server 2000 دردسترس بود. SSIS بر اساس قابلیتهای معرفی شده در DTS ساخته شدهاست.
باسلام خدمت کاربران گرامی آموزش مقدماتیJava Scriptرا به صورت تصویری در لینک های زیر می توانید دانلود کنید
با تشکر داوود محمدنیا
لینک دانلود قسمت یازده تا پانزده
لینک دانلود قسمت شانزده تا قسمت آخر
آموزش مقدماتی Java Scriptشامل 23 قسمت بود که تقدیم حضور گردید
با تشکر داوود محمدنیا
در سال ۱۹۹۰ سان میکروسیستم در حال توسعه نرمافزاری برای استفاده ابزارهای الکترونیکی بود که مسئولیت تیم که آن را تیم پروژه گرین نامیدند جیمز کاسلینگ بر عهده گرفت. در سال ۱۹۹۱ تیم تصمیم گرفت که زبان جدید را OAK بنامند. در سال ۱۹۹۲ تیم پروژه گرین زبان جدیدی را معرفی کرد که با ابزارهای مختلف خانگی و لمسی کار میکرد. در سال ۱۹۹۳ وب جهانی توسعه یافت و زبان جدید با معرفی اپلت که قابلیتهای زیادی به کامپیوترهای متصل به وب میافزود مشهور شد. در سال ۱۹۹۵ زبان OAK به JAVA تغیر نام پیدا کرد و توسط مایکروسافت و نت اسکیپ پشتیبانی شد. در سال ۱۹۹۶ دیگر java زبانی به صورت همه گیر چند منظوره شناخته شده بود. در سال ۲۰۰۷ زبانهایی با استاندارد JVM مانند groovy ایجاد شد و در سال ۲۰۱۴ جاوا سعی کرد با معرفی نسخه ۸ برخی از قابلیتهای زبانهای دیگر را به جاوا اضافه نماید.
این زبان قسمتهای بسیاری از گرامر خود را از C و ++C گرفته اما دارای مدل شیگرایی سادهای است و امکانات سطح پایین کمی دارد. کاربرد جاوا در کامپایل به صورت بایت کد است که صرف نظر از معماری و خصوصیات آن کامپیوتر، قابلیت اجرا روی تمامی ماشینهای شبیهسازی جاوا را داشته باشد. اجزای اصلی کامپایلرهای جاوا، ماشینهای پیادهسازی و کتابخانههای آن توسط ا شرکت مذکور از سال ۱۹۹۵ منتشر شد. در مه ۱۹۹۷ این شرکت، نرمافزار رایگان این زبان را فراهم کرد. دیگران هم کاربردهای دیگری از این زبان مثل کامپایلرGNU برای جاوا یا OPENJDK را منتشر کردند.
با پیدایش java2، نسخهٔ جدید توانست ترکیبهای جدیدی را برای نوعهای مختلف پلت فرمها ایجاد کند. به عنوان مثال J2EE، باهدف کاربرد برای تشکیلات سازمانی، و نسخهٔ سکوی جاوا، نسخه میکرو برای تلفن همراه منتشر شد. در سال ۱۹۹۶ با هدف بازاریابی، این شرکت نسخهٔ جدید J2 را با نامهای سکوی جاوا، نسخه سازمانی، سکوی جاوا، نسخه میکرو وسکوی جاوا، نسخه استاندارد منتشر کرد. در سال ۱۹۹۷ شرکت سان میکروسیستمز، ISO/IEC JTC1 standards body و Ecma International را به فرمول جاوا تغییر داد. شرکت Sun بسیاری از کاربردهای جاوایش را بدون هیچ هزینهای فراهم آورد. شرکت Sun با فروش مجوز برای بعضی از کاربردهای خاصش مثل Java Enterprise System درآمدی را بدست آورد. در ۱۳ نوامبر ۱۹۹۶ شرکت Sun نرمافزار جاوا را به صورت رایگان و با مجوز عمومی برای همه منتشر کرد.
از سال ۲۰۱۷، هر دو جاوا ۸ و ۹ بهطور رسمی پشتیبانی میشوند. نسخههای عمده نسخه جاوا همراه با تاریخ انتشار آنها:
* جاوا ۱۰ , انتشار در ۲۰ مارس ۲۰۱۸
جاوا برای نوشتن انواع برنامههای کاربردی مناسب است. با جاوا میتوان انواع برنامههای زیر را نوشت:
قابلیت خاصی در جاوا وجود دارد به نام اپلت. اپلتها امکانات فراوانی برای نوشتن برنامههای تحت وب در اختیار برنامهنویسان قرار میدهند. [نیازمند منبع] البته وجود ماشین مجازی جاوا برای اجرای اپلت لازم است. اپلتها نظیر فناوری سیلورلایت شرکت مایکروسافت هستند که برنامهنویسان را قادر میسازد تا امکاناتی را به مرورگر کاربر بیفزایند. البته تفاوت این دو در امنیت میباشد به گونهای که سیلورلایت به دلیل اینکه در محیطی به نام جعبه شنی (sandbox) اجرا میشوند امن هستند ولی اپلتها فاقد چنین امنیتی هستند و به سادگی هدف حملات استاندارد Social Engineering Toolkit واقع میشوند.
یکی از ویژگیهای جاوا قابل حمل بودن آن است. یعنی برنامهٔ نوشته شده به زبان جاوا باید بهطور مشابهی در کامپیوترهای مختلف با سختافزارهای متفاوت اجرا شود؛ و باید این توانایی را داشته باشد که برنامه یک بار نوشته و کامپایل شده و سپس در همه کامپیوترها اجرا گردد. به این صورت که کد کامپایل شدهٔ جاوا ذخیره میشود، اما نه بهصورت کد ماشین بلکه بهصورت بایتکد جاوا. دستورالعملها شبیه کد ماشین هستند، اما با ماشینهای مجازی که بهطور خاص برای سختافزارهای مختلف نوشته شدهاند، اجرا میشوند. در نهایت کاربر از سکوی جاوا نصب شده روی ماشین خود یا مرورگر وب استفاده میکند. کتابخانههای استاندارد یک راه عمومی برای دسترسی به ویژگیهای خاص فراهم میکنند. مانند گرافیک، نخکشی و شبکه. در بعضی از نسخههای ماشین مجازی جاوا، بایتکدها میتوانند قبل و در زمان اجرای برنامه به کدهای محلی کامپایل شوند. فایدهٔ اصلی استفاده از بایتکد، قسمت کردن است. اما ترجمهٔ کلی یعنی برنامههای ترجمه شده تقریباً همیشه کندتر از برنامههای کامپایل شدهٔ محلی اجرا میشوند. این شکاف میتواند با چند تکنیک خوشبینانه که در کاربردهای JVM قبلی معرفی شد، کم شود. یکی از این تکنیکها JIT است که بایتکد جاوا را به کد محلی ترجمه کرده و سپس آن را پنهان میکند. در نتیجه برنامه خیلی سریعتر نسبت به کدهای ترجمه شدهٔ خالص شروع و اجرا میشود. بیشتر JVMهای پیشرفته، بهصورت کامپایل مجدد پویا، در آنالیز JVM، رفتار برنامهٔ اجرا شده و کامپایل مجدد انتخاب شده و بهینهسازی قسمتهای برنامه، استفاده میشوند. کامپایل مجدد پویا میتواند کامپایل ایستا را بهینهسازی کند. زیرا میتواند قسمت hot spot برنامه و گاهی حلقههای داخلی که ممکن است زمان اجرای برنامه را افزایش دهند را تشخیص دهد. کامپایل JIT و کامپایل مجدد پویا به برنامههای جاوا اجازه میدهد که سرعت اجرای کدهای محلی بدون از دست دادن قابلیت انتقال افزایش پیدا کند.
تکنیک بعدی به عنوان کامپایل ایستا شناخته شدهاست؛ که کامپایل مستقیم به کدهای محلی است مانند بسیاری از کامپایلرهای قدیمی. کامپایلر ایستای جاوا، بایتکدها را به کدهای شیء محلی ترجمه میکند.
کارایی جاوا نسبت به نسخههای اولیه بیشتر شد. در تعدادی از تستها نشان داده شد که کارایی کامپایلرJIT کاملاً مشابه کامپایلر محلی شد. عملکرد کامپایلرها لزوماً کارایی کدهای کامپایل شده را نشان نمیدهند. یکی از پیشرفتهای بینظیر در در زمان اجرای ماشین این بود که خطاها ماشین را دچار اشکال نمیکردند. علاوه بر این در زمان اجرای ماشینی مانند جاوا وسایلی وجود دارد که به زمان اجرای ماشین متصل شده و هر زمانی که یک استثناء رخ میدهد، اطلاعات اشکال زدایی که در حافظه وجود دارد، ثبت میکنند.
شرکت سان میکروسیستم مجوز رسمی برای پلت فرم استاندارد جاوا را به مایکروسافت ویندوز، لینوکس، و سولاریس (سیستمعامل) دادهاست. همچنین محیطهای دیگری برای دیگر پلت فرمها فراهم آوردهاست. علامت تجاری مجوز شرکت سان میکروسیستم طوری بود که با همهٔ پیادهسازیها سازگار باشد. به علت اختلاف قانونی که با ماکروسافت پیدا کرد، زمانی که شرکت سان ادعا کرد که پیادهسازی مایکروسافت از RMI یا JNI پشتیبانی نکرده و ویژگیهای خاصی را برای خودش اضافه کردهاست. شرکت سان در سال ۱۹۹۷ پیگیری قانونی کرد و در سال ۲۰۰۱ در توافقی ۲۰ میلیون دلاری برنده شد. در نتیجه کمی بعد مایکروسافت جاوا را به ویندوز فرستاد. در نسخهٔ اخیر ویندوز، مرورگر اینترنت نمیتواند از جاوا پلت فرم پشتیبانی کند. شرکت سان و دیگران یک سیستم اجرای جاوای رایگان برای آنها و نسخههای دیگر ویندوز فراهم آوردند.
جاوا از حافظهٔ بازیافتی خودکار برای ادارهٔ حافظه در چرخهٔ زندگی یک شیء استفاده میکند. برنامهنویس زمانی که اشیاء به وجود میآیند، این حافظه را تعیین میکند؛ و در زمان اجرا نیز، زمانی که این اشیاء در استفادهٔ زیاد طولانی نباشند، برنامهنویس مسئول بازگرداندن این حافظهاست. زمانی که مرجعی برای شیهای باقیمانده نیست، شیهای غیرقابل دسترس برای آزاد شدن به صورت خودکار توسط بازیافت حافظه، انتخاب میشوند. اگر برنامهنویس مقداری از حافظه را برای شیهایی که زیاد طولانی نیستند، نگه دارد، چیزهایی شبیه سوراخ حافظه اتفاق میافتند.
یکی از عقایدی که پشت سر مدل ادارهٔ حافظهٔ خودکار جاوا وجود دارد، این است که برنامهنویس هزینهٔ اجرای ادارهٔ دستی حافظه را نادیده میگیرد. در بعضی از زبانها حافظه لازم برای ایجاد یک شیء، به صورت ضمنی و بدون شرط، به پشته تخصیص داده میشود؛ یا بهطور صریح اختصاص داده شده و از heap بازگردانده میشود. در هر کدام از این راهها، مسئولیت ادارهٔ اقامت حافظه با برنامهنویس است. اگر برنامه شیء را برنگرداند، سوراخ حافظه اتفاق میافتد. اگر برنامه تلاش کند به حافظهای را که هماکنون بازگردانده شده، دستیابی پیدا کند یا برگرداند، نتیجه تعریف شده نیست و ممکن است برنامه بیثبات شده یا تخریب شود. این ممکن است با استفاده از اشارهگر مدتی باقی بماند، اما سرباری و پیچیدگی برنامه زیاد میشود. بازیافت حافظه اجازه دارد در هر زمانی اتفاق بیفتد. بهطوریکه این زمانی اتفاق میافتد که برنامه بیکار باشد. اگر حافظهٔ خالی کافی برای تخصیص شیء جدید در هیپ وجود نداشته باشد، ممکن است برنامه برای چند دقیقه متوقف شود. در جایی که زمان پاسخ یا اجرا مهم باشد، ادارهٔ حافظه و منابع اشیاء استفاده میشوند.
جاوا از نوع اشارهگر ریاضی C و ++C پشتیبانی نمیکند. در جایی که آدرس اشیاء و اعداد صحیح میتوانند به جای هم استفاده شوند. همانند ++C و بعضی زبانهای شیگرای دیگر، متغیرهای نوعهای اولیهٔ جاوا شیگرا نبودند. مقدار نوعهای اولیه، مستقیماً در فیلدها ذخیره میشوند. در فیلدها (برای اشیاء) و در پشته (برای توابع)، بیشتر از هیپ استفاده میشود. این یک تصمیم هوشیارانه توسط طراح جاوا برای اجرا است. به همین دلیل جاوا یک زبان شیگرای خالص به حساب میآید.
گرامر جاوا محدودتر از ++C است و برخلاف ++C که ترکیبی است از ساختارها و شیگرایی، زبان جاوا یک زبان شیگرای خالص میباشد. فقط نوع دادهٔ اصلی از این قاعده مستثنی است. جاوا بسیاری از ویژگیها را پشتیبانی میکند و از کلاسها برای سادهتر کردن برنامهنویسی و کاهش خطا استفاده میکند.
در زیر نمونهای از برنامهای که در جاوا نوشته شدهاست آورده شدهاست. البته برای کامپایل کردن این برنامه بایستی کیت توسعه جاوا بر روی سیستم مورد نظر نصب شده باشد.
public class Test{
public static void main(String[] args) {
System.out.println("HelloWorld!");
}
}
برای اجرای برنامه بالا، ابتدا باید یک فایل به نام Test.java ساخته شود و سپس کامپایل شود:
$ javac Test.java
سپس یک فایل خروجی به نام Test.class دریافت میشود. بعد با استفاده از دستور زیر برنامه قابل اجرا است:
$ java Test
برنامه Hello world به این صورت در زبان جاوا میتواند نوشته شود:
// HelloWorld.java
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
بر طبق قرارداد فایلها باید هم نام کلاسهای عمومی نامگذاری شوند. سپس باید پسوند java را به این صورت به نام فایل اضافه کرد: "HelloWorld.java". این فایل اول باید با استفاده از کامپایلر جاوا به بایت کد کامپایل شود. در نتیجه فایل HelloWorld.class ایجاد میشود. این فایل قابل اجرا است. فایل جاوا ممکن است فقط یک کلاس عمومی داشته باشد. اما میتواند شامل چندین کلاس با دستیابی عمومی کمتر باشد.
کلاسی که به صورت خصوصی تعریف میشود ممکن است در فایل.java ذخیره شود. کامپایلر برای هر کلاسی که در فایل اصلی تعریف میشود یک کلاس فایل تولید میکند؛ که نام این کلاس فایل همنام کلاس است با پسوند.class
کلمه کلیدی public (عمومی) برای قسمتهایی که میتوانند از کدهای کلاسهای دیگر صدا زده بشوند، به کار برده میشود. کلمهٔ کلیدی static (ایستا) در جلوی یک تابع، یک تابع ایستا را که فقط وابسته به کلاس است و نه قابل استفاده برای نمونههایی از کلاس، نشان میدهد. فقط تابعهای ایستا میتوانند توسط اشیاء بدون مرجع صدا زده شوند. دادههای ایستا به متغیرهایی که ایستا نیستند، نمیتوانند دسترسی داشته باشند.
کلمهٔ کلیدی void (تهی) نشان میدهد که تابع main هیچ مقداری را برنمیگرداند. اگر برنامهٔ جاوا بخواهد با خطا از برنامه خارج شود، باید System.exit() صدا زده شود. کلمهٔ main یک کلمهٔ کلیدی در زبان جاوا نیست. این نام واقعی تابعی است که جاوا برای فرستادن کنترل به برنامه، صدا میزند. برنامه جاوا ممکن است شامل چندین کلاس باشد که هر کدام دارای تابع main هستند.
تابع main باید آرایهای از اشیاء رشتهای را بپذیرد. تابع main میتواند از آرگومانهای متغیر به شکل public static void main(string… args) استفاده کند که به تابع main اجازه میدهد اعدادی دلخواه از اشیاء رشتهای را فراخوانی کند. پارامترstring[] args آرایهای از اشیاء رشته ایست که شامل تمام آرگومانهایی که به کلاس فرستاده میشود، است.
چاپ کردن، قسمتی از کتابخانهٔ استاندارد جاوا است. کلاس سیستم یک فیلد استاتیک عمومی به نام out تعریف کردهاست. شیء out یک نمونه از کلاس PrintStream است و شامل تعداد زیادی تابع برای چاپ کردن اطلاعات در خروجی استاندارد است. همچنین شامل println(string) برای اضافه کردن یک خط جدید برای رشتهٔ فرستاده شده اضافه میکند.
یک مثال دیگر به شرح زیر است:
public class دانشجو{
private int کد;
private String نام;
public دانشجو(int کد، String نام){
this.کد = کد;
this.نام = نام;
}
public int getکد(){
return this.کد;
}
public String getنام(){
return this.نام;
}
public void setکد(int کد){
this.کد = کد;
}
public void setنام(String نام){
this.نام = نام;
}
}
منظور از توزیع جاوا پیادهسازیهای مختلفی است که برای کامپایلر جاوا و همچنین مجموعه کتابخانههای استاندارد زبان جاوا (JDK) وجود دارد. در حال حاضر چهار توزیعکنندهٔ عمده جاوا وجود دارند:
اپلت جاواها برنامههایی هستند که برای کاربردهایی نظیر نمایش در صفحات وب، ایجاد شدهاند. واژهٔ import باعث میشود کامپایلر جاوا کلاسهای javaapplet.Applet وjava.awt.Graphics را به کامپایل برنامه اضافه کند. کلاس Hello کلاس Applet را توسعه میدهد. کلاس اپلت چارچوبی برای کاربردهای گروهی برای نمایش و کنترل چرخهٔ زندگی اپلت، درست میکند. کلاس اپلت یک تابع پنجرهای مجرد است که برنامههای کوچکی با قابلیت نشان دادن واسط گرافیکی برای کاربر را فراهم میکند. کلاس Hello تابع موروثی print(Graphics) را از سوپر کلاس container باطل میکند، برای اینکه کدی که اپلت را نمایش میدهد، فراهم کند. تابع paint شیهای گرافیکی را که شامل زمینههای گرافیکی هستند را میفرستد تا برای نمایش اپلتها استفاده شوند. تابع paint برای نمایش "Hello world!" تابع drawstring(string,int,int) را صدا میزند.
تکنولوژی servlet جاوا گسترش وب را به آسانی فراهم میکند؛ و شامل مکانیزمهایی برای توسعهٔ تابعی سرور وب و برای دسترسی به سیستمهای تجاری موجود است.servlet قسمتی از javaEE است که به درخواستهای مشتری پاسخ میدهد.
// Hello.java
import java.io. *;
import javax.servlet. *;
public class Hello extends GenericServlet {
public void service(ServletRequest request, ServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
final PrintWriter pw = response.getWriter();
pw.println("Hello, world!");
pw.close();
}
}
واژهٔ import کامپایلر جاوا را هدایت میکند که تمام کلاسهای عمومی و واسطها را از بستههای java.io وjava.servlet را در کامپایل وارد کند.
کلاس Hello کلاس Genericservlet را توسعه میدهد. کلاس Genericservlet واسطی برای سرور فراهم میکند تا درخواست را به servlet بفرستد و چرخهٔ زندگی servlet را کنترل کند.
صفحهٔ سرور جاوا قسمتی از سرور javaEE است که پاسخ تولید میکند. نوعاً صفحات HTML به درخواستهای HTTP از مشتری.JSPها کد جاوا در صفحهٔ HTML را با استفاده از حائل <%and%> اضافه میکنند.JSP به javaservlet کامپایل میشود.
Swing کتابخانهٔ واسط گرافیکی کاربر است برای پلت فرم javaSE. ابزاری مشابه پنجره، GTK و motif توسط شرکت sun فراهم شدهاند. این مثال کاربرد swing یک پنجرهٔ واحد همراه با Hello world را ایجاد میکند.
1 // Hello.java (Java SE 5)
2 import java.awt.BorderLayout;
3 import javax.swing. *;
4
5 public class Hello extends JFrame {
6 public Hello() {
7 super("hello");
8 setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
9 setLayout(new BorderLayout());
10 add(new JLabel("Hello, world!"));
11 pack();
12 }
13
14 public static void main(String[] args) {
15 new Hello().setVisible(true);
16 }
17 }
اولین جملهٔ import کامپایلر جاوا را هدایت میکند تا کلاس Borderlayout را از بستهٔ java.awt در جاوا به کامپایل اضافه کند؛ و import دوم همهٔ کلاسهای عمومی و واسط آنها را از بستهٔ javax.swing اضافه میکند. کلاس Hello کلاس Jframe را توسعه میدهد. کلاس Jframe یک پنجره با میلهٔ عنوان و کنترل بستن است.
زمانی که برنامه آغاز میشود، تابع main با JVM صدا زده میشود. این یک نمونهٔ جدید از کلاس Hello را ایجاد کرده و با صدا زدن تابع setvisible(boolean) با مقدار true نمایش داده میشود.
کتابخانههای جاوا که به صورت بایت کد از کد اصلی کامپایل شدهاند، برای پشتیبانی از بعضی از کاربردهای جاوا، توسطJRE منتشر شدهاست. مثالهایی از این کتابخانهها عبارتند از:
شرکت سان میکروسیستم، ۴ نوع ویرایش از کاربردهای مختلف جاوا را ارائه دادهاست:
مصرف حافظه بالا و سختافزار در برنامههای نوشته شده و مدیریت غیر متوازن Thread Pool و عدم قابلیت توزیع پذیری.
حذف اشارهگرها در جاوا به دلیل مشکلاتی بوده که آنها در طول تاریخشان بوجود آوردهاند (البته در زمان گذشته که در برنامههایی مانند ++c برنامهنویس مستقیماً به مدیریت اشاره گر اقدام مینمود)، اگرچه این موارد در برنامههای سیستمی لازم بهنظر میرسد ولی در محیطهای تحتوب که بستر اصلی جاوا هستند میتوانند اثراتی به مراتب شدیدتر نسبت به آنچه در برنامههای سیستمی دارند داشته باشند و باعث میشود که توجه برنامهنویسان از مسائلی چون کارایی، قابلیت اطمینان و مقیاسپذیری برنامه به تنظیم اشارهگرها معطوف گردد.
از ابتدای بوجود آمدن جاوا، کتابخانه JNI - Java Native Interface در آن وجود داشته که قابلیت فراخوانی و دستکاری برنامههایی در ++C و… را میداده که از نمونههای آن میتوان به Jtwain که یک بستهایست که از کتابخانههای ویندوز برای اسکن عکس استفاده میکند، یا SWT که یک بسته نرمافزاریست که از کتابخانههای ویندوز و لینوکس (برحسب سیستمعامل) برای ساخت واسط کاربری (UI) استفاده میکند، نام برد.
جاوا امروزه به عنوان یک زبان پر کاربرد به خصوص در برنامههای کاربردی تجاری مطرح است و بسیاری از سازمانها و شرکتهای از این زبان و تکنولوژیهای مربوط به آن استفاده میکنند. ابزارهای زیادی برای تست برنامههای نوشته شده توسط جاوا مورد استفاده قرار میگیرند. برای مثال: در جاوا به دلیل مدیریت حافظه توسط Garbage collection ممکن است به دلیل نوشتن غیر استاندارد برنامه در حافظه نشتی داشته باشیم (memory leakage)که این امر سبب میشود حافظه گرفته شده آزاد نشود و با پر شدن حافظه برنامه دچار خلل شود. برای حل این مشکل و سایر مشکلات نیاز به تست نرمافزارهای نوشته شده در جاوا هستیم. با بزرگ شدن حجم نرمافزار تست آن نیز سختتر میشود. بهتر از قبل از نوشتن برنامههای تجاری بزرگ به تست و نحوه تضمین کیفیت آن هم فکر شود.
برخی مردم به علت شباهت اسمی، جاوا و جاوااسکریپت را با هم اشتباه میگیرند. در حالیکه این دو زبان گرچه در ظاهر و کلمات شباهت دارند ولی بهطور ساختاری با یکدیگر متفاوت هستند. جاوااسکریپت محصول شرکت نت اسکیپ است. جاوا برای اجرا باید به زبان ماشین مجازی ترجمه شود اما جاوااسکریپت زبانی است که معمولاً در صفحات وب نوشته میشود و توسط مرورگر تفسیر میگردد. در جاوا متغیرها همگی بر اساس نوع آنها معرفی میشوند ولی در جاواسکریپت نوع متغیرها به صورت ضمنی مشخص میشود
جاوا در نسخه ۸ تغییرات بسیار مهم و گستردهای داشتهاست. مفاهیمی مانند واسطهای تابعی، عبارتهای لامبدا، جویبار (Stream) و امکانات گسترده کتابخانهای در این نسخه معرفی شدهاند. در این نسخه، رویکرد برنامهنویسی تابعی، علاوه بر رویکرد شیءگرایی، ممکن شدهاست.
در نسخهٔ جاوا ۹ که در تاریخ ۲۱ سپتامبر ۲۰۱۷، به صورت عمومی عرضه شد، پروژهای به نام Jigsaw به آن اضافه شد که قابلیت برنامهنویسی در قالب ماژول را در جاوا امکانپذیر کرد
داشتن یک پلتفرم ماژولار و ماژولار شدن JDK به توسعهدهندگان آن کمک میکند چنین پلتفرم قدیمی، گنده و بزرگی را مدیریت کنند و به جلو حرکت دهند. آنطور که معماران آن میگویند، الان تنها فرصتی بود که به سمت ماژولار کردن JDK پیش بروند وگرنه در آینده هرگز چنین اتفاقی ممکن نمیشد. ماژولاریتی علاوه بر کمک کردن به توسعهدهندگان JDK برای حرکت آن رو به جلو، فرصتی استثناییتر را برای ما ایجاد میکند. تصور کنید که یک ماشین حساب ساده تحت کنسول نوشتهاید، نه از امکانات JavaEE استفاده میکنید، نه کاری به CORBA دارید، نه JPA. احتمالاً تنها چیزی که نیاز دارید موارد پایهای است. اما برای اجرا و توزیع برنامهتان نیاز به یک JRE کامل و حجیم دارید که احتمالاً راه انداختنش هم چندان ارزان نیست. اما با ماژولار شدن جاوا شما میتوانید فقط ماژولهایی که استفاده کردهاید را در قالب یک Runtime Image داشته باشید که دیگر چیزهای اضافیای که از آنها استفاده نکردهاید را ندارد. با این قابلیت، حجم برنامهها کم شده و شما میتوانید از دستگاههای Embedded که حافظه محدودتری دارند هم استفاده کنید.
هر ماژول دارای یک اسم است، کدهای مرتبط و پکیجها را در درون خود نگه میدارد و کامل است به این معنی که یک کار مشخص را انجام میدهد و وظایفش را از طریق APIهای مشخص شده در دسترس دیگران قرار میدهد. یک ماژول به صورت صریح بیان میکند برای کار کردن به چه ماژولهایی نیاز دارد و کدام بخش از پکیجهایش برای دیگر ماژولها قابل دسترسی است. اینگونه به سادگی میتوانیم وابستگی بین ماژولها را تشخیص دهیم، بر روی Internal APIهایمان کنترل داشته باشیم و در صورت نبود یک ماژول در آغاز برنامه از نبود آن فوراً مطلع شویم و در صورت وجود هرگونه تداخلی به سرعت به خطا بربخوریم.
این نسخه که در نسخه ۲۰ مارس ۲۰۱۸ عرضه گردید، یک نسخه کوتاه مدت بوده و بیشتر شامل مجموعهای از بهینهسازیها میباشد. در این میان قابلیت جالبی به نام Local Variable Type Interface دیده میشود. اگر با زبان پایتون کد زده باشید این قابلیت شبیه به تعریف متغیر در این زبان است. بهطور خلاصه باید گفت با استفاده از این قابلیت دیگر نیاز به تعیین دقیق نوع متغیرهای محلی نداریم. این کامپایلر است که نوع متغیر را با توجه به مقداردهی تشخیص میدهد. تا به الان اگر میخواستیم لیستی از رشتهها بسازیم، کد مشابه پایین را میزدیم:
List<String> list = new ArrayList<>() ;
حال اگر بخواهیم از این قابلیت جدید استفاده کنیم کافیست به جای List (در اینجا نوع متغیر است) var را جایگزین کنیم. پس کد بالا به صورت زیر تغییر خواهد کرد:
var list = new ArrayList<String>() ;
var نه کلمهٔ کلیدی جدیدی است و نه هیچ بایت کد جدیدی برای آن تعریف شدهاست. براساس مقداری که به متغیر میدهیم تفسیر میشود.
گر به طراحی سایت و مسائل مربوط به آن علاقه داشته باشید، حتما پیش از این نام CSS به گوشتان خورده است. اما واقعا CSS چیست و چه کاربردی دارد؟
عبارت CSS که در همه جای طراحی سایت کاربرد دارد، مختصر شده از عبارت سه کلمهای Cascading Style Sheets به معنی «برگههای سبک آبشار» یا «برگههای آبشاری» است. شاید شما هم با خودتان فکر کنید چرا آبشاری؟ چرا باید روی یکی از مهمترین عناصر تشکیل دهنده طراحی وب سایت چنین اسمی گذاشته شود؟
آبشاری بودن برگههای CSS به این معنی است که استایل، کلاس یا هر چیزی که به یک برگه CSS داده شود، روی عناصر فرزند (Children) این برگهها هم تاثیرگذار خواهد بود. به عنوان مثال اگر شما رنگ متن را در یک برگه CSS قرمز تعیین کنید، این به معنای قرمز بودن تمام سرنویسها (هدینگ) و پاراگرافهای متنی است که قرار است در این برگه CSS نوشته شود.
در این مقاله میخوانید:
CSS چیست؟ | چرا به وجود آمد؟ | نسخههای مختلف CSS | کاربرد CSS | محدودیتها و مزایای CSS
به تعبیر تخصصیتر، CSS یک زبان برنامه نویسی ظاهری (Style Sheet Language) است که برای ارائه زیباتر و قابل فهمتر یک سند (Document) نوشته شده به زبان نشانه گذاری یاMarkup Language به کار برده میشود.
سی اس اس در کنار HTML قرار میگیرد تا هسته ایجاد یک وب سایت را به وجود بیاورند. برای طراح سایت، استفاده از CSS بهترین و سریعترین راه شکل و شمایل دادن و ایجاد حس مناسب برای یک وب سایت است.
برگههای CSS در واقع مسئولیت ایجاد ظاهر سایت را به عهده دارند و رنگ، اندازه و محل قرارگیری متن و دیگر تگهای HTML را تعیین میکنند. مسئولیت برگههای HTML با همکاری فیلدهای HTML کامل میشود. در واقع این فیلدهای HTML هستند که تعیین میکنند محتوای کدها چیست و هر کدام باید چگونه سازماندهی شوند.
هنگامی که در سال ۱۹۹۶ زبان CSS به دنیا معرفی شد، هدف از آن ایجاد بخش بندی و ارائه بهتر محتوای موجود در یک صفحه وب بیان شد. CSS این کار را با عواملی مثل لایه بندی، رنگ و فونت به انجام میرساند. استفاده از برگههای CSS موجب میشود که شما بتوانید از یک محتوای ایجاد شده با زبان نشانه گذاری، در چند جای مختلف استفاده کنید. در واقع هنگامی که قدرت CSS را در اختیار داشته باشید، میتوانید یک سند نوشته شده به زبان نشانه گذاری مثل HTML را، تنها با تغییر چند خط در هر برگه CSS برای استفاده در مقاصد مختلف به کار ببرید و دیگر لازم نیست سراغ تغییر دادن محتوای سند HTML بروید.
CSS هم مانند HTML برای اولین بار در مجموعه CERN متولد شد. اولین بار در تاریخ ۱۰ اکتبر سال ۱۹۹۴ بود که Hakon Wium Lie با همکاری «تیم برنرز لی» بحث CSS را وسط کشیدند. در همین زمانها بود که چندین و چند زبان Style Sheet دیگر توسط افراد دیگر معرفی شدند و بحثهای مختلفی که بین عموم افراد و همچنین در «کنسرسیوم وب جهان گستر» اتفاق افتاد، باعث شد تا در نهایت در سال ۱۹۹۶، زبان CSS به صورت رسمی معرفی شود.
برتری CSS نسبت به دیگر زبانهای Style Sheet این بود که، شما میتوانید با استایل یا ظاهر یک داکیومنت را با چندین برگه CSSطراحی کرده و تحت تاثیر قرار بدهید. بنابراین، CSS توانست تمام رقبا را کنار بزند و خود را در جایگاه زبان برتر استایل در کنار HTML قرار بدهد.
هنگامی که CSS 1 در سال ۱۹۹۶ معرفی شد، مایکروسافت هم نسخه ۳ از اینترنت اکسپلورر را معرفی کرد. این مرورگر در آن زمان از تعداد کمی از ویژگیهای CSS پشتیبانی میکرد. پس از آن اینترنت اکسپلورر ۴ و Netscape 4.x معرفی شدند که قابلیتهای بیشتری را پشتیبانی میکردند؛ اما تداخل CSS با این مرورگرها اصلا مناسب نبود و باگهای بسیار زیادی داشت.
در نهایت انقلاب مرورگرها اتفاق افتاد و اینترنت اکسپلورر ۵ با پشتیبانی از سیستم عامل مکینتاش در سال ۲۰۰۰ معرفی شد. این مرورگر با کنار زدن مرورگر Opera که تا آن زمان بیشترین پشتیبانی از CSS 1 را داشت، توانست جایگاه مقتدرانهای برای خود به دست بیاورد و بیش از ۹۹٪ از قابلیتهای CSS در آن اجرا میشدند.
همانطور که میدانید امروزه مرورگرهای پیشرفتهای مثل گوگل کروم یا فایرفاکس به بازار عرضه شدهاند که از تمام قابلیتهای CSS پشتیبانی میکنند و کار طراحی سایت راحتتر از قبل انجام میشود.
CSS نسخههای مختلفی دارد که به آنها Level گفته میشود، هر کدام از این نسخهها هم به تنهایی دارای نسخههای تکمیلی دیگر هستند که به آنها Profile گفته میشود. طبیعتا هر نسخه CSS بر اساس نسخه دیگر توسعه پیدا کرده و در نسخههای جدید قابلیتهای جدیدتری اضافه شده است. هر Profile در CSS هم برای توسعه این زبان Style Sheet به یک دستگاه یا منظور خاص طراحی شده است.
اولین نسخه CSS که توسط W3C به صورت رسمی به توسعه دهندگان وب پیشنهاد شد، CSS 1 بود. این نسخه در تاریخ ۱۷ دسامبر سال ۱۹۹۶ به صورت رسمی در دسترس افراد قرار گرفت. فهرست زیر بازرترین ویژگیهای CSS 1 هستند:
در حال حاضر W3C دیگر CSS 1 را پیشنهاد نمیکند.
این نسخه یا Level از CSS هم که دیگر از سوی W3C پیشنهاد نمیشود، شباهتهای زیادی به نسخه اولیه داشت و در ماه مه سال ۱۹۹۸ معرفی شد. در این نسخه قابلیتهای جدیدی مثل جایگذاری مطلق (Absolute)، وابسته (Relative) و ثابت (Fixed) در نظر گرفته شده بود. در این نسخه همچنین امکاناتی مانند ایجاد درک و شناخت انواع مختلف فایل (Media) و قابلیتهای جدید برای طراحی متن ایجاد شده بود.
مدتی بعد CSS 2.1 به عنوان اصلاحیهای از CSS 2 معرفی شد که پس از کش و قوسهای فراوان بالاخره در سال ۲۰۱۱ به عنوان پیشنهاد W3C تاییدیه گرفت. این نسخه قرار بود آخرین اصلاحیه از CSS 2 باشد اما در سال ۲۰۱۵ اصلاحیه CSS 2.2 هم در دستور کار قرار گرفت.
میتوان گفت که CSS3 یک تحول بزرگ در تاریخچه CSS به همراه داشت. در این نسخه از CSS اسناد (Document) زیادی به وجود آمدن که به هر کدام از آنها Module گفته میشد. در واقع CSS 2 یک مانند یک ویژگی بزرگ بود که تمام امکانات CSS را در بر میگرفت، اما در CSS 3 ماژولها هستند که قابلیتها و امکانات جدید را اضافه میکنند.
اولین بار در ماه ژوئن سال ۱۹۹۹ بود که نسخه CSS 3 منتشر شد و در دسترس قرار گرفت. اما از آنجایی که CSS 3 بر پایه ماژولها بود، تا ژوئن ۲۰۱۲ بیش از پنجاه ماژول CSS شامل Media Queries، Namespace، Selector Level و Color از جانب تیمی که روی این زبان کار میکرد، منتشر شدند.
در واقع هیچ نسخهای از ویژگیهای متحد شده CSS 4 وجود ندارد، زیرا این Level از CSS به ماژولهای مختلف Level 4 تقسیم شده است.
بعد از CSS 3 و با ورود مبحث Module به این زبان، دیگر توجیهی برای توسعه یکباره نسخه جدید CSS وجود نداشت. بنابراین، از نسخه CSS 4 به بعد دیگر ماژولهای Level 4 هر کدام به صورت جداگانه توسعه پیدا کردند و چیزی به نام CSS 4 به صورت یکپارچه معرفی و پیشنهاد نشد. در واقع در این نسخه یا Level از CSS، بسیاری از ماژولها همان ماژولهای Level 3 بودند که از CSS 2.1 توسعه پیدا کرده بودند. در این میان تعدادی ماژول هم به عنوان ماژولهای Level 4 توسعه پیدا کردند. از ماژولهای Level 4 در CSS 4 میتوان به Image Values، مرزبندی و پس زمینه (Background & Borders) و Selector اشاره کرد.
همانطور که در پاراگرافهای ابتدایی مقاله اشاره کردیم، CSS به عنوان یک Style Sheet Languge، به وجود آمد تا کار طراح سایت را برای ایجاد فرمت ظاهری زیباتر، راحتتر کند. اگر با طراحی سایت آشنا باشید، میدانید که برای Style دادن به یک صفحه وب ۳ راه مختلف وجود دارد.
در این روش شما با استایل دادن به تگ HTML، یک ویژگی را تنها به همان تگ اضافه میکنید:
<p style="color:red;">learn web design at lydawebp>
با استفاده از این روش، شما یک استایل خاص را به کل صفحه HTML خود اضافه میکنید:
h1 {
color: red;
}
راحتترین کار برای اینکه بتوانید به راحتی هر صفحه از وب سایت خودتان را به شکل دلخواه طراحی کنید و به راحتی تغییرات را روی آن اعمال کنید، استفاده از فایلهای CSS است. فایل CSS هم مانند فایل HTML یک فایل از نوع Plain text است که با پسوند .css ذخیره میشود.
body {
background-color: beige;
color: #000080;
}
h1 {
color: red;
}
اگر بخواهید یک صفحه HTML را با استفاده از فایل CSS طراحی کنید و ظاهر آن را زیبا کنید، باید در HTML Head سایت خود با استفاده از تگ این کار را انجام بدهید.
<head>
<link rel="stylesheet" type="text/css" href="style.css" title="style">
head>
با اینکه CSS تا اینجای کار پیشرفت بسیار زیادی داشته، اما نمیتوان گفت که کاملا ایده آل است و هیچ محدودیتی برای طراح وب سایت ایجاد نمیکند. اگر بخواهیم به محدودیتهای CSS اشاره کنیم، شاید به ۵ تا ۶ مورد محدودیت بتوان اشاره کرد که در برابر آزادی عملی که این زبان در اختیار ما میگذارد، این محدودیتها چیزی نیستند.
مثلا در CSS نمیتوان برای rules اسم تعیین کرد. تعیین اسم برای یک rule، به عنوان مثال، میتواند برای ارجاع دادن یک اسکریپت سمت کاربر (Clien-side) به یک rule هنگام تغییر selector آن، کارآمد باشد. همچنین محدودیتهای دیگری مثل عدم توانایی انتقال Style از یک rule به rule دیگر و چن مورد دیگر از محدودیت در CSS وجود دارد که ممکن است مانند محدودیتهایی که در نسخههای پیشین CSS وجود داشتند، در آینده حل شوند.
میتوان با خیالی آسوده گفت که CSS یکی از مفیدترین و پرکاربردترین اجزا دنیای طراحی وب است. دسترسی طراحان وب به CSS باعث پیشرفتهای زیادی در دنیای طراحی سایت شده است.
یکی از مهمترین مزایای CSS صرفه جویی در وقت و انرژی طراحان وب است. تصور کنید که CSS وجود نداشت و شما به عنوان یک طراح سایت، باید برای هر تغییر بزرگ و کوچکی، چندین بار یک کلاس یا Style را به صورت inline در فایل HTML وارد میکردید. اما حالا با وجود CSS در کنار HTML، طراحی سایت بسیار آسانتر خواهد بود.
با عرض سلام خدمت کاربران محترم سایت
در این قسمت آموزش مقدماتی CSSمی توانید به صورت تصویری دانلود نمایید با تشکر داوود محمدنیا
لینک دانلود قسمت سیزده تا شانزده
لینک دانلود قسمت هفده تا قسمت آخر
این آموزش مقدماتی در 23 قسمت تهیه شده است
با تشکر داوود محمدنیا
کتاب آموزش ویندوز 8 کتاب بسیار کامل و جامع به صورت کاملا تصویری و به زبان فارسی به تشریح قابلیت ها و ترفندهای ویندوز 8 می پردازد. این کتاب توسط آقای حمید شجاعی نوشته شده است. شما هم اکنون می توانید کتاب آموزش ویندوز 8 به صورت تصویری و فارسی را به صورت رایگان و با فرمت PDF دریافت نمایید.
بخش هایی از کتاب آموزش ویندوز 7 :
– نصب ویندوز 7
– پشتیبان گیری از داده ها
– امنیت در ویندوز 7
– قابلیت های جدید ویندوز 7
– نگهداری و مدیریت سیستم
و …
بسیاری از ما با سیستم عامل محبوب و فراگیر شرکت مایکروسافت که با نام تجاری ویندوز عرضه می شود آشنایی داریم و بسیاری از ما نیز روزانه ساعت ها با این سیستم عامل حرفه ای کار میکنیم . یکی از جدید ترین نسخه های ویندوز شرکت ماکروسافت ویندوز 7 می باشد که طرفداران بسیاری نیز دارد . این سیستم عامل پیشرفته ، تفاوت های بسیاری با نسخه های قبلی ویندوز داشته و سرعت پردازش آن به مراتب بالا تر از نسخه های دیگر است . محبوبیت های ویندوز 7 آنقدر زیاد است که بسیاری از کاربران لوازم دیجیتال مانند کامیپوتر ها ، لپ تاپ ها و تبلت ها در سراسر جهان ، از این سیستم عامل استفاده میکنند .
تعداد صفحات : 249
فرمت کتاب : PDF
زبان کتاب : فارسی