جاوا جاوا جاوا

سلامعلی هستم دانشجوی مهندسی نرم افزار و دوست داشتم که یک سری از مطالبی که یاد گرفتم رو اینجا باهاتون به اشتراک بذارماول راجع به جاوا خیلی خلاصه براتون بگمیک زبان برنامه‌نویسیِ شیءگرا است که نخستین‌بار توسط جیمز گاسلینگ در شرکت سان‌مایکروسیستمز ایجاد گردید و در سال ۱۹۹۱ به‌عنوان بخشی از سکوی جاوا منتشر شدجاوا در واقع یک زبان برنامه نویسی نیست بلکه یک تکنولوژی خیلی بزرگِ که شامل JVM.JRE.JDK هست که الان معرفیشون میکنمJVM در واقع ماشین مجازی جاوا هست که JRE , JDK رو داخل خودش جا داده و به JRE درواقع اسم hot spot هم میدهندجاوا متعلق به شرکت اوراکل هست که بهتره بگیم ابر شرکت اوراکلک شرکت نرم‌افزاری آمریکایی است که در زمینه تولید سخت‌افزارهای رایانه‌ای، ابزارهای توسعه پایگاه‌های داده، طراحی و ساخت نرم‌افزارهای کاربردی تجاری و سازمانی، نرم‌افزارهای برنامه‌ریزی منابع سازمانی، مدیریت ارتباط با مشتری، ابزارهای مدیریت پروژه و مدیریت زنجیره تأمین، فعالیت می‌نماید.شرکت اوراکل در سال ۱۹۷۷ توسط لری الیسون تأسیس شد و امروزه از بزرگترین شرکت‌های جهان در حوزه تولید سیستم‌های سخت‌افزاری و نرم‌افزارهای شرکتی و سازمانی به‌شمار می‌آید. دفتر مرکزی این شرکت در شهر ردوود سیتی، کالیفرنیا قرار دارد و بخشی از سهام آن در بازار بورس نیویورک معامله می‌شود.شرکت بسیار بزرگ و پیشرویی هست و بهتره یکم با تکنولوژی های این شرکت به اختصار اشنا بشیممیتونید خیلی راحت دسترسی داشته باشید به وبسایت اوراکل التبه باید دورش بزنیداین تکنولوژی ها شاملDatebases, java , , Blockchain , Open Source , Chat bots ,Javascript , Devops , API , Low Code ,Alهست که خب دونه دونه توضیح کوتاهی میدم راجع بهشونDatabases :دیتا بیس ها از sql شروع شدن و خب این دسته از دیتا بیس ها بیشتر برای برنامه های کوچک یا چند جدول خوب هستن و کم کم داده های موجود خیلی زیاد شدن و خب تکنولوژی های جدیدی اومدن مثل nosql , مثل شبکه های اجتماعی ... صف خواندن و نوشتن خیلیی زیاد بود .. یه تعریف جدیدی از دیتابیس شکل گرفت که شامل Big data و داده و کاوی هست که بسیار زیاد بزرگ هستن و خب خیلی با هوش مصنوعی در ارتباط هستند .Cloud Native and Containers:سیستم های توزیع شده هستند که شامل Cloud , Containers هستندCloud یک فضای ابری هست که شما به جای استفده از چندین سیستم یا سرور یک فضای ابری ایجاد میکنید وپردازنده حافظه و همه چیو میتونه شامل بشه و بعد هر سیستم میتونه درخواست خودشو بده و پاسخ مناسب بگیرهزمانی که نرم‌افزاری از یک محیط به محیطی دیگر منتقل می‌شود، ممکن است در اجرای آن مشکلاتی به وجود آید. کانتینر راه ‌حلی برای مشکل اجرای نرم‌افزار به‌دلیل تغییر محیط اجرا است. این تغییر ممکن است از لپ‌تاپ یک توسعه‌دهنده به یک محیط آزمایشی، از یک ماشین فیزیکی در یک مرکز داده به یک ماشین مجازی در ابر خصوصی یا عمومی یا مواردی از این دست باشد.سالومون هایکس سازنده داکر می‌گوید: «مشکل زمانی به وجود می‌آید که محیط نرم‌افزاری فعلی و مرجع با یکدیگر یکسان نباشند. شما از پایتون نسخه 2.7 برای سنجش کارتان استفاده می‌کنید. اما پس از تولید، محصول روی پایتون نسخه 3 اجرا می‌شود و اتفاقات پیش‌بینی‌ناپذیر و عجیب و غریب رخ می‌دهند. همچنین، ممکن است کار شما بر پایه نسخه خاص کتابخانه SSL باشد یا سنجش در لینوکس دبیان باشد، ولی محل اجرای نهایی در لینوکس Red Hat باشد. طبیعی است که ممکن است مشکلات زیادی به وجود آیند.»وی اضافه کرد: «البته همه مشکلات ممکن است به‌دلیل تفاوت در نرم‌افزارها نباشند. ممکن است توپولوژی شبکه متفاوت باشد یا سیاست‌های امنیتی و ذخیره‌سازی مغایر باشند، ولی نرم‌افزار باید روی آن اجرا شود.»چگونه کانتینرها مشکل ذکر شده را برطرف می‌کنند؟به صورت ساده، یک کانتینر شامل تمام مواردی است که برای زمان اجرا نیازمند آن‌ها هستیم؛ یک اپلیکیشن و تمام وابستگی‌های آن، کتابخانه‌ها و فایل‌های پیکربندی وغیره. موارد گفته شده به‌عنوان یک پکیج بسته‌بندی می‌شوند. با این کار، دیگر تفاوت در سیستم‌ عامل و زیرساخت‌ها برای اپلیکیشن احساس نمی‌شود.Blockchain :بلاک‌چین نوعی فناوری است که به انتقال دارایی‌های دیجیتالی نظیر بیت‌کوین از فردی به فرد دیگر کمک می‌کند.خلاصه تکنولوژی بلاک‌چین1 – دفترکل توزیع شده (distributed ledger) یک شبکه باز است که عموم به آن دسترسی دارند.2 – هر مشارکت‌کننده در شبکه می‌تواند تایید کننده تراکنش‌ها باشد.3 – دفترکل (لجر) در بین مشارکت‌کنندگان (Node) های زیادی توزیع شده است (این ویژگی باعث حذف شخص ثالث و واسط می‌شود).4 – مفهوم ماینینگ و نقش ماینرها، تایید تراکنش‌هایی است که در لجر انجام می‌شود و اینکار از طریق محاسبات ریاضی صورت می‌گیرد.ماینرها، مشارکت‌کنندگانی در شبکه هستند که وظیفه‌شان تایید تراکنش‌های موردنظر، حل محاسبات و انتشار و به اشتراک‌گذاری آنها در شبکه است تا همه بتوانند این تراکنش را به دفترکل در زنجیره اضافه کنند.ماینرها تلاش می‌کنند معماهای ریاضی را حل کنند. اینکار به مشارکت‌کنندگان در شبکه این اطمینان را می‌دهد که زنجیره جدید در دفتر کل رسمی ایجاد شده و همه افراد شبکه باید از آن استفاده کنند.هر بلاک در بلاک‌چین دارای 3 نوع داده است:1 – داده‌2 – هش3 – هش بلاک قبلیالبته چیزی که در هر بلاک نگهداری می‌شود بستگی به بلاک‌چین دارد. یک مثال این است که هر بلاک‌چین بیت‌کوین، هر بلاک شامل اطلاعاتی درباره بیت‌کوین است.هر بلاک شامل یک سری از اعداد و حروف تصادفی است که “هش” نامیده می‌شود. هش، اطلاعات مرتبط با آن بلاک را در خود دارد، بنابراین هر زمان اطلاعاتی در بلاک تغییر کند، هش نیز تغییر می‌کند.برای اتصال بلاک‌ها به یکدیگر، هر بلاک، هش بلاک قبلی را در خود دارد. فقط اولین بلاک (جنسیس بلاک) است که شامل هش بلاک قبلی نیست (چون بلاک قبلی وجود ندارد).Opensourceسیستم مدیریت عملکرد یک سری وبسایت و فرایند هست که اراِئه میشه و میشه ازشون استفاده کرد برایمدیریت پروژه ها و عملکرد هر پروژه مثل GITDevops :به برنامه نویس ها و شرکت ها این اجازه رو میده که ابتدا اون برنامه و درخواست یا تغییرات در سرور ابتدا روی یک سرور به نام تست امتحان بشه .. اگه موفق بود و مشکلی نداشت در سرور اصلی بارگذاری میشه و همچنین متدولوژی هایی برای مدیریت پروژه های نرم افزاری مثل :اسکرام (Scrum) یک متدولوژی افزایشی (Incremental) برای مدیریت پروژه‌های نرم‌افزاری است و از رده متدولوژی‌های Agile محسوب می‌شود.APIAPI مخفف واژگان Application Programming Interface است که به صورت تحت‌الفظی می‌توان آن را به «رابط برنامه‌نویسی نرم‌افزار» ترجمه کرد. به طور خلاصه، API همچون همان UI است با این تفاوت که به جای انسان، یک سیستم کامپیوتری قرار است با آن تعامل داشته باشد. در واقع، از آنجا که می‌توان واژهٔ Interface را به «فصل مشترک» در فارسی ترجمه کرد، می‌توان گفت که API فصل مشترکی مابین دو نرم‌افزار یا اپلیکیشن استاپلیکیشنی که سرویس میده و کارش سرویس دادنهAl:یا هوش مصنوعی حرف برای گفتن در هوش مصنوعی زیاد هست و خب کاربرد های خیلی زیادی در دیتا بیس ها پزشکی و ِDl , cv و خیلی از موارد دنیا داره و شامل یک بخش شبیه به سیستم عصبی هست که مثل محیط ازمایشگاه میمونه و میتونن یه سری اعمال رو توی اون بریزن و نتیجه رو مشاهده کننامید وارم که مفید بوده باشه براتون ..البته که هر کدوم ازین بحثا کلی میشه راجع بعش حرف زد، من در حد معرفی و یه توضیح کوچیک گفتم براتون .