درباره دوره:
آیا تابهحال برایتان سوال شده که چطور میتوانید محتوای موجود در سرور را به اپ خود منتقل کنید؟ آیا میخواهید نحوه دریافت و مصورسازی دادههای JSON را بیاموزید؟ آیا علاقمندید که نحوه کار با کتابخانه Retrofit در اندروید را بیاموزید؟ اگر بله پس این دوره برای شماست!
برای شروع، با برخی از اصطلاحات رایج مانند HTTP، URL، Retrofit، GET/POST/PUT و Delete آشنا میشویم. تمامی توضیحات به زبان ساده برای درک بهتر بیان شده. سپس دو پروژه از صفر با استفاده از دو API مختلف (Stackoverflow API و Github API) ایجاد میکنیم.
در پایان هر بخش شما خواهید آموخت که چگونه یادگیری را فراتر از دوره ادامه دهید و حرفهایتر با دادههای خود کار کنید. سپس یک گام فراتر میرویم و به شما صدها API دیگر را نشان میدهیم که میتوانید با آنها بهرایگان کار کنید.
با هم از سه روش اجازه دسترسی (Authentication) به API مختلف گذر خواهیم کرد، احراز هویت اینستاگرام، جیمیل و Wordnik. در پایان دوره شما قادر خواهید بود که به چندین روش از صدها API مختلف استفاده کنید.
معرفی:
1 - معرفی دوره
اصطلاحات اولیه:
1 - ارتباط کلاینت - سرور
2 - اصطلاحات کاربردی در Retrofit، JSON و API
Retrofit و Github - ساخت اپ با Github API:
1 - بررسی تسک و API
2 - ساخت صفحه ورود
3 - ساخت رابط کاربری صفحه یوزر
4 - ساخت مدل و ساختار REST پروژه
5 - صفحه یوزر - استفاده از API
6 - صفحه Repositories - ساخت رابط کاربری
7 - اضافه کردن کامپوننت های REST برای صفحه Repositories
8 - صفحه Repositories - استفاده از API
Retrofit و Stackoverflow - ساخت اپ با Stackoverflow API:
1 - بررسی Stackoverflow API و تسک
2 - ساخت مدلها و کامپوننتهای REST
3 - ساخت رابط و اضافه کردن RecyclerView
4 - دریافت اطلاعات از سرور
محتوای اضافه:
1 - نحوه دسترسی به صدها API
2 - گامهای نخس دریافت اطلاعات API اینستاگرام
3 - نحوه شروع به استفاده از API جیمیل
درباره دوره:
دوره آموزش مقدماتی جمعبندی C++، به شرکتکنندگان این امکان را میدهد تا با اصول اولیه و مفاهیم پایهای این زبان برنامهنویسی آشنا شوند. C++ یکی از قدرتمندترین و پرکاربردترین زبانهای برنامهنویسی است که برای توسعه انواع نرمافزارها و سیستمهای مختلف استفاده میشود.
موضوع: در این دوره، مفاهیم پایهای C++ از جمله متغیرها، عملگرها، شرطها، حلقهها، توابع، آرایهها و ساختارهای داده ابتدایی بررسی میشود. شرکتکنندگان با استفاده از مثالها و تمرینها، این مفاهیم را درک و به کاربردهای واقعی آنها پی برده و توانایی برنامهنویسی ابتدایی خود را با C++ بهبود میبخشند.
کاربردها: آشنایی با C++ اساسیترین قدم برای ورود به صنعت برنامهنویسی است. این زبان به دلیل کاربردهای گستردهای که دارد، از توسعه نرمافزارهای سیستمی گرفته تا برنامههای کاربردی و بازیها، در انواع پروژههای برنامهنویسی مورداستفاده قرار میگیرد. ازآنجاکه C++ امکاناتی مانند مدیریت حافظه، کار با سیستمهای پیچیده و کنترل دقیق برنامهها را فراهم میکند، برای پروژههایی که نیاز به کارایی و کنترل بالا دارند، بسیار مناسب است.
پیشنیازها: برای شرکت در این دوره، دانشپایهای از مفاهیم برنامهنویسی و زبانهای برنامهنویسی مانند ساختارهای شرطی، حلقهها و توابع موردنیاز است. همچنین، آشنایی با مفاهیم اولیه ریاضیات و علوم کامپیوتر میتواند به درک بهتر مطالب دوره کمک کند.
مطالب دوره: این دوره با مباحث ساده شروع شده و بهتدریج به مباحث پیشرفتهتر پرداخته میشود. شامل تعریف متغیرها، عملگرها، شرطها، حلقهها، توابع، آرایهها و ساختارهای داده ابتدایی است. شرکتکنندگان با حل تمرینها و پروژههای عملی، مهارتهای خود را تقویت کرده و بهمرور به برنامهنویسان ماهرتری تبدیل میشوند.
به طور خلاصه، دوره آموزش مقدماتی جمعبندی C++ با ارائه اصول اولیه و عملی زبان برنامهنویسی C++، شرکتکنندگان را برای ورود به عرصه برنامهنویسی آماده میسازد و امکان توسعه نرمافزارهای متنوع را فراهم میکند.
مقدمه:
1 - مقدمه
انواع دادهها - انواع عملگرها - دستورات ورودی و خروجی:
1 - انواع دادهها
2 - عملگرها، کوتاه نویسی و دستورات ورودی و خروجی
دستورات شرطی و تکرار:
1 - دستورات شرطی
2 - دستورات تکرار
آرایه - رشته:
1 - آرایههای دو بعدی - بخش اول
2 - آرایههای دو بعدی - بخش دوم
3 - آرایههای رشتهای
نوع شمارشی - استراکچر - یونیون:
1 - استراکچرها
2 - یونیونها
اشارهگر:
1 - معرفی اشارهگرها
2 - رابطهی اشارهگر با آرایه
3 - اشارهگر به استراکچر و اشارهگر به اشارهگر
تابع:
1 - معرفی توابع
2 - انواع نحوههای فراخوانی
3 - متغیرهای سراسری و محلی
درباره دوره:
یکی از اهداف پیدایش WebSocket ضعفهای موجود در پروتکل HTTP است. با یک مثال این موضوع را شرح خواهیم داد. در ارتباطی مبتنی بر پروتکل HTTP نحوه کار به این صورت است که یک درخواست (Request) از طرف کلاینت به سرور ارسال میشود و سرور به آن درخواست جواب میدهد.
اما سرور قادر نمیباشد که بدون درخواست کلاینت، به کلاینت اطلاعاتی ارسال نماید. برای مثال سیستمی را در نظر بگیرید که یک سری اطلاعات را بهصورت آنلاین به کاربر نشان میدهد و کاربر همان لحظه به آن اطلاعات نیاز دارد؛ مانند نتایج مسابقات ورزشی در سایتهای پخش زنده، در چنین شرایطی کاربر مجبور است که هر چند لحظه یکبار صفحه خود را بارگذاری مجدد (رفرش) کند یا اینکه با استفاده از کدهای جاوا اسکریپت و Ajax هر چند ثانیه یک درخواست به سرور ارسال کرد و اطلاعات را بهروزرسانی کرد.
این موضوع منابع زیادی از سیستم مانند پهنای باند و... را هدر میدهد. ما نیازمند یک پروتکل و مکانیسمی هستیم که بدون نیاز به درخواست کلاینت بتواند به کلاینت اطلاعات ارسال نماید. این کار با استفاده از وب سوکت قابلحل است. چون وب سوکت یک کانکشن از نوع TCP را با سرور برقرار میکند و یک ارتباط دوطرفه برقرار میشود که بهراحتی و با سرعت بالا میتوانند اطلاعات را ردوبدل کنند.
WebSocket یک پروتکل ارتباطات کامپیوتری است که کانالهای ارتباطی استفاده از یک اتصال را TCP فراهم میکند. پروتکل WebSocket توسط IETF بهعنوان RFC ۶۴۵۵ در سال ۲۰۱۱ استاندارد شده است و API WebSocket در Web IDL توسط W۳C استاندارد شده است. WebSocket یک پروتکل TCP متفاوت از HTTP است. هر دو پروتکل در لایه ۷ در مدل OSI قرار دارند و به همین ترتیب در TCP در لایه ۴ بستگی دارد.
پروتکل WebSocket باعث تعامل بین یک مرورگر و یک سرور وب با سربارهای پایینتر، تسهیل انتقال داده در زمان واقعی real-time از سرور و به کلاینت یا از کلاینت به سرور است.
کاربرد وب سوکت:
وب سوکت در Asp.net core(C#):
1 - معرفی WebSockets
2 - مفاهیم پایه WebSockets
3 - مفاهیم برنامه نویسی موازی Asynchronous
4 - Array Segments
5 - ایجاد اولین پروژه WebSocket (تنظیمات اولیه)
6 - ایجاد اولین پروژه WebSocket (نحوه اتصال)
7 - ایجاد اولین پروژه WebSocket (تنظیمات اتصال و بستن کانکشنها)
8 - مینی پروژه چت همزمان با WebSocket - بخش اول
9 - مینی پروژه چت همزمان با WebSocket - بخش دوم
10 - مینی پروژه چت همزمان با WebSocket - بخش سوم
11 - مینی پروژه چت همزمان با WebSocket ارسال فایل در چت - بخش اول
12 - مینی پروژه چت همزمان با WebSocket ارسال فایل در چت - بخش دوم
13 - تیمپلیت های مناسب برای استفاده در پروژه های webSocket
14 - پروژه نهایی
درباره دوره:
در این درس از مجموعه دورههای آموزش برنامه نویسی مکتب خونه فنونی مورد بررسی قرار میگیرند که در نوشتن برنامههای با کیفیت مؤثرند. محور اصلی این فنون برنامهنویسی شیءگرا خواهد بود که در قابلیت نگهداری برنامهها و استفاده مجدد از اجزای آنها نقش کلیدی دارد. علاوه بر این، درستی کارکرد، سرعت اجرا و استفاده بهینه از حافظه عوامل کیفی دیگری هستند که مورد توجه این درس هستند. زبان برنامهنویسی مورد استفاده سیپلاسپلاس است اما سعی میشود تا حد امکان مفاهیم مطرح شده مستقل از زبان و در سطحی بالاتر مورد بحث قرار بگیرند. پیشنیاز این درس دانستن مبانی کامپیوتر و برنامهنویسی به زبان سی (شامل مفاهیم پایه، توابع، ساختارها و اشارهگرها) میباشد. برنامههای مطرحشده در کلاس از طریق سایت یادداشتهای درس به نشانی ramtung.ir/apnotes/html قابل دسترسی هستند.
فیلم های آموزشی:
1 - جلسه اول - مقدمه درس
2 - جلسه دوم - مفاهیم مقدماتی زبان ++C
3 - جلسه سوم - طراحی بالا به پایین
4 - جلسه چهارم - مبانی توابع بازگشتی
5 - جلسه پنجم - پردازش بازگشتی لیست ها
6 - جلسه ششم - عقب گرد (backtracking)
7 - جلسه هفتم - مقدمه ای بر شی گرایی
8 - جلسه هشتم - پیاده سازی کلاس ها
9 - جلسه نهم - شبیه سازی حرکت توپ در میز-بخش اول
10 - جلسه دهم - شبیه سازی حرکت توپ در میز-بخش دوم
11 - جلسه یازدهم - اعضای ایستای کلاس
12 - جلسه دوازدهم - سربارگذاری عملگرها
13 - جلسه سیزدهم - رسیدگی به خطاها (بخش اول)
14 - جلسه چهاردهم - رسیدگی به خطاها (بخش دوم)
15 - جلسه پانزدهم - وراثت-1
16 - جلسه شانزدهم - وراثت-2
17 - جلسه هفدهم - چندریختی
18 - جلسه هجدهم - مطالعه موردی وراثت
19 - جلسه نوزدهم - مقدمه ای بر تحلیل و طراحی شیء گرا - 1
20 - جلسه بیستم - مقدمه ای بر تحلیل و طراحی شیء گرا - 2
21 - جلسه بیست و یکم - مدیریت حافظه در کلاس ها
22 - جلسه بیست و دوم - لیست های پیوندی-1
23 - جلسه بیست و سوم - لیست های پیوندی-2
24 - جلسه بیست و چهارم - iterator ها-مقدمه ای بر الگوها templates
25 - جلسه بیست و پنجم - ادامه مبحث الگوها-اشاره گر به توابع
26 - جلسه بیست و ششم - کتابخانه STL - بخش اول
27 - جلسه بیست و هفتم - الگوریتم ها در STL
28 - جلسه بیست و هشتم - عبارت های لاندا
29 - جلسه بیست و نهم - ادامه عبارت های لاندا- تبدیل تایپ ها
30 - جلسه سی ام - مقدمه ای بر مفاهیم پایه جاوا
درباره دوره:
Swift، زبان برنامهنویسی مختص به محیط اپل، به دلیل وضوح، سرعت، امنیت و لذتبخشی، در میان برنامهنویسان، چه مبتدی و چه با تجربه، از محبوبیت بالایی برخوردار است. این زبان قدرتمند، برای توسعه برنامهها و بازیها در سیستمعاملهای مختلف اپل، از جمله iOS، macOS، watchOS و tvOS، کاربرد دارد.
در این دوره آموزش ملزومات Swift 5 با زیرنویس اختصاصی، با مبانی و ملزومات Swift 5 آشنا میشوید و تجربهای عملی از کار با این زبان محبوب را به دست میآورید. مدرس دوره، هریسون فِرون، به تاریخچه و تکامل زبان Swift میپردازد و شما را با دلایل محبوبیت و مزایای آن آشنا میکند.
سپس، به بررسی عمیق و جزئی هر یک از اجزای اصلی زبان Swift میپردازید. این بخش شامل انواع دادههای رایج، منطق شرطی، روشها، توابع، کلاسها و ساختارها، و موارد دیگر خواهد بود.
هریسون در این بخش، مهارتهای بنیادی و ضروری برای تسلط بر برنامهنویسی با Swift را به شما آموزش میدهد.
برای درک بهتر مفاهیم و تسهیل یادگیری، مثالهای متعددی از بازیهای طراحی شده توسط هریسون ارائه میشود که زمینهای کاربردی و ملموس برای هر عنصر برنامهنویسی فراهم میکنند.
با گذراندن موفقیتآمیز این دوره، قادر خواهید بود تا به طور مستقل به برنامهنویسی با Swift 5 پرداخته و ایدههای خود را در قالب برنامهها و بازیهای جذاب پیادهسازی کنید.
معرفی:
1 - شروع ماجراجویی با سوییفت ۵
2 - درخواست قبول شد. چیزهایی که باید بدونیند
شروع:
1 - گذشتهنگر سوییفت
2 - به دست آوردن اِکس کد
3 - مرور فایلهای تمرین
آشنایی با داده:
1 - شروع جستجو:متغیرها
2 - متغیرها و ثابتها
3 - امنیت تایپ و استنتاج
4 - لاگ و کامنت
5 - اپراتورهای سوییفت
6 - آشنایی با داده: درک استرینگها
7 - کار با استرینگها
8 - مکالمات تایپ
9 - بولینها و اپراتورهای لاجیک
10 - معرفی اختیارات
11 - آشنایی با داده: دسترسی به اسناد
12 - چالش: وضعیت بازیکن
13 - راهحل: وضعیت بازیکن
کار با کالکشنها:
1 - جمعآوری فهرست با کالکشنها
2 - آرایههای سوییفت
3 - روشهای آرایههای هسته
4 - دیکشنریهای سوییفت
5 - روشهای دیشکنری هسته
6 - کار با ستها
7 - روشهای ست هسته
8 - سوییفت چند تایی
9 - چالش: مغازهی بازرگان
10 - راهحل: مغازهی بازرگان
کنترل جریان برنامه:
1 - کنترل تقدیر
2 - "عبارت "اگه
3 - گزینههای باز کردن
4 - "استفاده از لوپهای "برای
5 - لوپهای "در لحظه"
6 - عبارت سوییچ
7 - عبارت گارد
8 - چالش: لاجیک بازی
9 - راهحل: لاجیک بازی
دنیای گستردهی توابع:
1 - سطحگذاری منطقهی بازی
2 - توابع پایه
3 - توابع بارگذاری بیش از حد
4 - توابع پیچیده
5 - انواع توابع
6 - درک اختتامیهها
7 - استفاده از اختتامیه
8 - نام مستعار تایپها
9 - چالش: زمین نبرد
10 - راهحل: زمین نبرد
دستهها، ساختارها و فراتر:
1 - جمعیت دادن به دنیای بازی
2 - مقدار در مقابل تایپ ارجاع
3 - دستههای پایهی سوییفت
4 - اصلاحگرهای دسترسی و ویژگی
5 - زیردسته در سوییفت
6 - ساختارهای پایهی سوییفت
7 - اختیارات زنجیره
8 - چالش: سیستم ذخیره
9 - راهحل: سیستم ذخیره
بالا بردن مرحله با اینام، پروتوکل، و خطاها:
1 - مرحلهی آخر، غول آخر
2 - شمارش سوییفت
3 - مقدارهای خام و مربوطه
4 - معرفی پروتوکلها
5 - استفاده از افزونهها
6 - پرتاب خطا
7 - رسیدگی به خطا
8 - چالش: عملیات نبرد
9 - راهحل: عملیات نبرد
نتیجه:
1 - قدمهای بعدی
درباره دوره:
آیا تا به حال فکر کردهاید که نتفلیکس چگونه تصمیم میگیرد که چه فیلمهایی را به شما توصیه کند؟ یا آمازون چگونه کتابها را پیشنهاد میدهد؟ ما میتوانیم با ساخت یک سیستم توصیهگر ساده خودمان، به نحوه کارکرد آنها پی ببریم!
در این پروژه نهایی، شما مهارتهای حل مسئله و برنامهنویسی جاوای خود را با ایجاد سیستمهای توصیهگر به نمایش خواهید گذاشت. شما با دادههای مربوط به فیلمها، شامل امتیازها، کار خواهید کرد، اما اصول مورد استفاده به راحتی قابل تطبیق با کتابها، رستورانها و موارد دیگر است. شما برنامهای خواهید نوشت که به سوالات مربوط به دادهها پاسخ دهد، از جمله اینکه کدام موارد باید بر اساس امتیازات کاربران به آنها توصیه شود. با داشتن فایلهای ورودی شامل امتیازهای کاربران و عناوین فیلمها، شما قادر خواهید بود:
معرفی سیستم توصیهگر:
1 - مقدمه و انگیزه
2 - خواندن و ذخیره دادهها
توصیههای ساده:
1 - میانگین امتیازات
واسطها، فیلترها، پایگاه داده:
1 - فیلتر کردن توصیهها
میانگینهای وزنی:
1 - محاسبه میانگینهای وزنی
خداحافظی:
1 - خداحافظی از تیم آموزشی
درباره دوره:
این دوره آموزشی به شما نحوهی ساخت برنامههای کاربردی با استفاده از فریمورک Spring Boot را به صورت عملی آموزش میدهد. در این دوره، شما با مفاهیم کلیدی Spring Boot آشنا خواهید شد و نحوهی استفاده از آنها را در برنامههای خود یاد خواهید گرفت.
این دوره آموزش جاوا اسپرینگ برای افرادی مناسب است که:
در این دوره آموزش جاوا اسپرینگ، شما با مفاهیم کلیدی Spring Boot آشنا خواهید شد، ازجمله:
مهارتهایی که در این دوره یاد میگیرید:
با گذراندن این دوره قادر خواهید بود تا برنامههای وب مبتنی بر فریمورک اسپرینگ بوت را تولید کنید، این دوره از ابتداییترین موارد که برای شروع کار لازم است آغاز و مرحله به مرحله با حل چالشهای پیچیدهتر سعی در آموزش مفاهیم لازم به شکل اصولی و صحیح را دارد. ترتیب مفاهیم مطرح شده در جلسات به نحوی تنظیم شده تا فرایند آموزش را سادهتر کند و در عین حال تمام نیازهای شما را برآورده کند. در این دوره سعی شده از جدیدترین تکنولوژیهای در دسترس استفاده شود. تمرکز اصلی دوره روی نحوه صحیح و ایمن نوشتن برنامههای وب است و سعی شده تمام مفاهیم مورد نیاز برای این اهداف در طول جلسات مورد بررسی دقیق قرار گرفته شود تا مخاطب متوجه دلایل اهمیت رعایت این اصول شود. همچنین در مکتب خونه انواع دوره آموزش جاوا و آموزش برنامه نویسی به عنوان مکمل و پیش نیاز این دوره موجود است.
استفاده از فریمورکها در برنامهنویسی، مزایای زیادی را بههمراه دارد. در برنامه نویسی به زبان جاوا نیز میتوان از فریمورکهای متنوعی بهره گرفت که از آن جمله فریمورک اسپرینگ بوت نامبرده میشود. آموزش اسپرینگ بوت، به شما کمک میکند تا برنامههای جاوا را سادهتر، سریعتر و حرفهایتر بنویسید. در آموزش Spring Boot شما کتابخانهها و ماژولهای متنوعی که به سهولت کدنویسی کمک میکند را میشناسید.
زبان برنامه نویسی جاوا یک زبان شیء گرا است که در حال حاضر توسط کمپانی اوراکل پشتیبانی میشود. این زبان ساختاری مشابه با زبان سی پلاس پلاس (C++) دارد. البته قابلیتهای سطح پایین بیشتری توسط جاوا پشتیبانی میشود.
از زبان جاوا برای پیاده سازی برنامههای کاربردی وب، اپلیکیشنهای موبایل، سیستمهای تحت شبکه و غیره استفاده میشود. زبان جاوا بهدلیل سینتکس دستوری ساده و کاربردهای متنوعی که دارد، گزینهی خوبی برای شروع برنامه نویسی به حساب میآید.
اگر برنامه نویس باشید، حتماً واژهی فریمورک به گوشتان رسیده است. فریمورک (framework)ها ابزارهایی هستند که با فراخوانی آن در داخل کدها، بسیاری از کارها سادهتر انجام میشود. استفاده از فریمورک به برنامه نویس این امکان را میدهد که تمام تمرکز خود را روی منطق برنامه گذاشته و او را از نوشتن کدهای تکراری و رایج باز میدارد.
به عنوان مثال، در طراحی یک وب سایت، صفحات لاگین و ثبت نام، جزو کدهای تکراری بهحساب میآیند. برنامه نویس در حالت عادی باید کدهایی را برای اعتبارسنجی این دادهها و فرآیندهای ثبت نام و ورود به سایت انجام دهد. این در حالی است که فریمورک به شما اجازه میدهد تا تنها با خواندن نام یک کلاس خاص، بتوانید به دستورات دسترسی داشته باشید.
مهمترین مزایای استفاده از فریمورک عبارت است از:
• جلوگیری از دوباره نویسی کدهای تکراری
• ایمنسازی برنامه
• کاهش باگهای کدنویسی
• سهولت در اشکالزدایی برنامه
• سهولت در تست نرم افزار
• کاهش زمان مورد نیاز برای توسعهی برنامه
• کاهش هزینههای تولید نرم افزار
• استاندارد نویسی
• سهولت در توسعهی برنامهی نوشته شده
همانطور که میدانید فریمورکها شامل کتابخانهها و قواعدی هستند که تولید و توسعهی نرم افزار را سادهتر و سریعتر ممکن میسازند. بنابراین برنامه نویسان حرفهای، به دنبال استفاده از این فریمورکهای متناسب با زبان برنامه نویسی و نوع پروژهی خود هستند. اسپرینگ بوت (spring boot) عنوان یکی از فریمورکهای قدرتمند و قوی برای برنامه نویسی به زبان جاوا است.
اسپرینگ بوت متن باز است و به برنامه نویس این امکان را میدهد تا بدون صرف هزینه، اقدام به طراحی و پیادهسازی پروژههای جاوای خود بکند. هدف از ساخت این فریم ورک، افزایش تمرکز برنامه نویس روی منطق برنامه و پروژهی مورد نظر است. بنابراین نیازی نیست تا زیرساختها و کارهای تکراری را از صفر انجام دهیم.
دلایل اهمیت آموزش فریمورک اسپرینگ بوت را باید در ویژگیها و قابلیتهای آن جستوجو کنیم. در زیر، برخی از مهمترین این ویژگیها نشان داده شده است.
• این فریمورک باعث میشود تا حجم کدهای نوشته شده، کاهش پیدا کند.
• استفاده از کتابخانههای این فریمورک، کدنویسی را بسیار تسهیل میکند.
• فریمورک بوت اسپرینگ متن باز بوده و از نظر حجم، سبک است.
• spring boot به شما این امکان را میدهد تا از POJO استفاده کنید.
• فریمورک اسپرینگ بوت نیازی به سرور ندارد.
• این فریمورک شما را از یادگیری دیگر فریمورکها برای تولید اپلیکیشن، بینیاز میکند.
• امکان استفاده از spring AOP وجود دارد.
• ماژولهای فراوانی برای این فریمورک قرار داده شده است.
برای یادگیری اسپرینگ بوت، شما باید در ابتدا تسلط کافی روی زبان برنامه نویسی جاوا بهدست آورید. ممکن است دوست داشته باشید تا آموزش جاوا را از روی کتابهای خودآموز، دورههای حضوری و آنلاین دنبال کنید. در مراحل بعد، شما میتوانید یادگیری فریمورک spring boot را آغاز نمایید. خوشبختانه منابع Spring mvc اموزشی از تنوع زیادی برخوردار هستند.
شما میتوانید از انواع کتاب اسپرینگ بوت، دورههای ویدیویی آموزش رایگان spring boot، دورههای فشرده یا بوت کمپ و غیره استفاده نمایید. توصیه میکنیم منبع آموزشی خود را از میان منابع معتبر انتخاب کنید تا بهطور دقیق و کامل مباحث spring boot را یاد بگیرید. آموزشهای همراه با تمرین و پروژهی عملی، انتخاب مفیدتری برای این منظور خواهند بود.
بعد از اتمام آموزش، شما باید پروژههای متنوع و تمرینهای عملی زیادی را تکرار کنید. در هر پروژه و تمرین، شما با چالشهای متنوعی روبهرو میشوید که حل آن، میتواند آموزشهای زیادی را بهدنبال داشته باشد. بعد از کسب تجربهی لازم، شما میتوانید برای ورود به بازار کار حرفهای اقدام نمایید.
آموزش جامع اسپرینگ بوت با هدف یادگیری مفاهیم صفر تا صد این فریمورک تدوین شده است. در این آموزش به نحوی ساده یاد میگیرید که چطور میتوانید با استفاده از اسپرینگ بوت، برنامههای وب را پیادهسازی کنید. تمام آن چیزی که در فرآیند انجام پروژه جاوا اسپرینگ نیاز خواهید داشت، بهصورت مرحله به مرحله در این آموزش عنوان شده است.
در پایان این دورهی آموزشی، شما به مفاهیمی نظیر spring web mvc، spring validation، slobal exception handler، spring data jpa و spring security تسلط پیدا خواهید کرد.
گذراندن این دورهی آموزشی به آن دسته از افرادی پیشنهاد میشود که قصد دارند تا با زبان برنامه نویسی جاوا، پروژههای وب را تهیه کنند. اگر شما نیز جزو علاقهمندان به برنامه نویسی جاوا و ورود به بازار کار مرتبط با آن هستید، میتوانید از مباحث ارائه شده در این دوره استفاده کنید. حتی ممکن است صرف اثبات توانمندی و پاسخگویی به سوالات مصاحبه spring boot بخواهید در این دورهی آموزشی شرکت کنید.
بهطور کلی یادگیری فریمورک برای تسلط بیشتر روی برنامهها و نوشتن کدهای تمیزتر، خواناتر، در زمان کوتاهتر توصیه میشود. بنابراین اگر قصد کدنویسی با جاوا را دارید، بهتر است یادگیری فریمورک مربوط به آن را نیز در برنامههای خود بگنجانید.
برای استفاده از آموزشهای فریمورک اسپرینگ (Spring framework)، نیاز است تا با زبان برنامه نویسی جاوا آشنا بوده و تسلط خوبی روی کار با این زبان داشته باشید. شما میتوانید برای شروع و یا بهبود مهارتهای خود از دورههای آموزش Java مکتب خونه و پکیج آموزش جاوا از صفر تا صد استفاده کنید.
آنچه در این دورهی آموزشی گنجانده شده است، در مباحث فهرست زیر، قابل بررسی خواهد بود:
• ایجاد برنامه
• ایمن کردن برنامه
• مباحث پیشرفته و جمعبندی
آموزشهای دورهی مذکور در مجموعهی ویدیویی با مدت زمان ۸ ساعت تهیه شده است. مدت زمان نهایی دوره، برحسب میزان تسلط شما روی پیش نیازهای آموزش (یعنی زبان برنامه نویسی جاوا) و سرعت عمل در خصوص درک مفاهیم و انجام تمرینات قابل محاسبه است.
خوشبختانه زبان برنامه نویسی جاوا جزو آن دسته از زبانهایی است که پروژههای زیادی وجود دارد. در صورتی که به زبان برنامه نویسی JAVA تسلط داشته باشید و فریمورک اسپرینگ بوت را بهطور حرفهای یاد بگیرید، شما فرصتهای زیادی برای کسب درآمد و اشتغال در زمینهی برنامه نویسی خواهید داشت. ناگفته نماند که با تسلط کامل بر روی این زبان و فریمورک، میتوانید در حوزهی تدریس مهارتهای برنامه نویسی نیز مشغول بهکار شوید.
جاوا اسپرینگ (Java Spring) یک فریمورک محبوب و قدرتمند برای توسعه برنامههای مبتنی بر جاوا است. این فریمورک به توسعهدهندگان کمک میکند تا برنامههای سازمانی، وب، و موبایل را به صورت آسانتر و کارآمدتر توسعه دهند. اسپرینگ امکانات و ابزارهای زیادی برای مدیریت وابستگیها، امنیت، تراکنشها، و غیره فراهم میکند.
در یک دوره آموزشی جاوا اسپرینگ، معمولاً مباحث زیر مطرح میشوند:
مقدمهای بر جاوا اسپرینگ:
پیکربندی اسپرینگ:
دسترسی به دادهها:
تراکنشها (Transactions):
وب و RESTful Services:
امنیت:
تست و آزمون:
اسپرینگ بوت (Spring Boot):
مباحث پیشرفته:
این مباحث به توسعهدهندگان کمک میکند تا برنامههای پیچیده و مقیاسپذیر را به صورت مؤثر و کارآمد توسعه دهند. اسپرینگ به دلیل انعطافپذیری و قدرتش، یکی از محبوبترین فریمورکها در دنیای جاوا است.
یکی از بهترین منابع برای یادگیری اسپرینگ بوت، دورههای آموزشی موجود در مکتب خونه است. شما در این دورهها با زبانی ساده، از صفر تا صد کار با کتابخانه spring و فریمورک اسپرینگ بوت جاوا را میآموزید. آموزشهای مجازی مکتب خونه به شما این امکان را میدهند تا در هر زمان و مکانی، بتوانید به یادگیری موضوع مورد علاقهی خود بپردازید. همچنین شما میتوانید از دورههای آموزش پروژه محور جاوا مکتب خونه برای تسلط بر روی مباحث پیش نیاز اسپرینگ بوت استفاده کنید.
دورهی آموزش اسپرینگ بوت به معرفی و شیوهی کار با فریمورک محبوب و قدرتمند جاوا به نام spring boot میپردازد. شما در دورهی آموزش spring boot یاد میگیرید که چطور با استفاده از این فریمورک، پروژههای جاوا را پیادهسازی کنید. همچنین در مکتب خونه انواع پکیج آموزش برنامه نویسی و آموزش جاوا به عنوان مکمل و پیش نیاز این دوره موجود است.
ایجاد برنامه:
1 - ایجاد پروژه
2 - hello world در اسپرینگ بوت
3 - نگاهی عمیقتر به مفهوم controller
4 - آشنایی با مفهوم service
5 - مقدمات spring data JPA
6 - ادامه JPA و استفاده از repository در سرویس
7 - آشنایی با امکانات configuration در اسپرینگ بوت
8 - استفاده از postman برای تست controller
9 - آشنایی با validation و بهبود controller
10 - نحوه صحیح exception handling
ایمن کردن برنامه:
1 - ایجاد کلاسهای مربوط به role based access control
2 - تکمیل کلاسها و آشنایی بیشتر با JPA
3 - ایجاد مخازن مربوط امنیت
4 - ایجاد سرویسهای مربوط امنیت
5 - تکمیل UserDetailsService سفارشی
6 - آشنایی با PasswordEncoder و اهمیت آن
7 - آشنایی با AuthenticationManager و AuthenticationProvider
8 - پیاده سازی AuthenticationController
9 - آشنایی با مفهوم Filter و FilterChain
10 - تعریف SecurityFilterChain
11 - ایجاد Role و Authority
12 - تست اولیه AuthenticationController
13 - تولید JWT
14 - تایید اصالت JWT
15 - تکمیل AuthenticationController
16 - نگاهی عمیقتر به JWT
17 - Jwt Authentication Filter قسمت اول
18 - Jwt Authentication Filter قسمت دوم
19 - تست Authentication
20 - پیاده سازی Authorization
مباحث پیشرفته و جمعبندی:
1 - نگاهی عمیقتر به Controller Advice
2 - آشنایی با Exception Translation Filter
3 - پیاده سازی Access Denied Handler
4 - پیاده سازی Authentication Entry Point
5 - نحوه دسترسی به سایر Exception های رخ داده در FilterChain
6 - جمعبندی
7 - اهمیت استفاده از JsonIgnore
8 - نگاهی عمیقتر به PreAuthorize
درباره دوره:
در این دوره خودآموز و مقدماتی، با Git و GitHub آشنا خواهید شد! شما با کنترل نسخه همکارانه و پلتفرمهای محبوب Git آشنا میشوید. همکاری و کدنویسی اجتماعی اجزای حیاتی از شیوههای مهندسی نرمافزار معاصر و فرهنگ DevOps هستند.
این دوره با مروری بر اصول پایه Git و GitHub شروع میشود و مفاهیم کلیدی Git مانند شاخهبندی و مخازن و استفاده از دستورات Git را بررسی خواهید کرد.
در ادامه دوره، مفاهیم مختلف Git مانند فورک، کلون و جریانهای کاری ادغام را از طریق آزمایشگاههای عملی یاد گرفته و تمرین خواهید کرد. همچنین خواهید آموخت که چگونه از GitHub برای کار موثر بهعنوان یک تیم استفاده کنید و عملیات متداول Git را از طریق رابط کاربری وب و خط فرمان انجام دهید. دوره با یک پروژه نهایی به پایان میرسد که در آن با ایجاد و اشتراکگذاری یک پروژه عمومی/منبعباز در GitHub، ساخت نمونه کار خود را شروع میکنید. با اتمام این دوره، مهارتهای Git و GitHub خود را نشان خواهید داد و یک پروژه به رزومه خود اضافه خواهید کرد.
اصول پایه Git و GitHub:
1 - مقدمه دوره
2 - مروری بر Git و GitHub
3 - معرفی GitHub
4 - مخازن GitHub
5 - شروع کار با GitHub
6 - شاخههای GitHub
دستورات Git و مدیریت پروژههای GitHub:
1 - مروری بر جریانهای کاری Git
2 - مروری بر دستورات Git
3 - نمایش: کار با شاخهها با استفاده از دستورات Git
4 - کلون کردن و فورک کردن پروژههای GitHub
5 - کلون کردن در مقابل فورک کردن
6 - مدیریت پروژههای GitHub
پروژه نهایی و ارزیابی:
1 - [اختیاری] GitHub Copilot
درباره دوره:
در دوره Data Analysis with R Programming، شما با زبان برنامهنویسی R آشنا خواهید شد. شما یاد خواهید گرفت چگونه از RStudio، محیطی که به شما اجازه میدهد با R کار کنید، استفاده کنید و با نرمافزارها و ابزارهای منحصر به فرد R، مانند بستههای R آشنا خواهید شد. شما کشف خواهید کرد که چگونه R به شما امکان میدهد دادهها را پاکسازی، سازماندهی، تحلیل، تجسم و گزارش کنید به روشهای جدید و قدرتمندتر.
تحلیلگران داده فعلی گوگل به آموزش و ارائه روشهای عملی برای انجام وظایف رایج تحلیلگر داده با بهترین ابزارها و منابع ادامه خواهند داد.
یادگیرندگانی که این برنامه گواهینامه را به پایان میرسانند، آماده خواهند بود تا برای مشاغل سطح مقدماتی به عنوان تحلیلگر داده اقدام کنند. هیچ تجربه قبلی لازم نیست.
در پایان این دوره، یادگیرندگان خواهند توانست:
برنامهنویسی و تحلیل دادهها:
1 - مقدمهای به دنیای هیجانانگیز برنامهنویسی
2 - تفریح با R
3 - Carrie: شروع کار با R
4 - زبانهای برنامهنویسی
5 - مقدمهای بر R
6 - مقدمهای بر RStudio
برنامهنویسی با استفاده از RStudio:
1 - برنامهنویسی با استفاده از RStudio
2 - اصول برنامهنویسی
3 - عملگرها و محاسبات
4 - هدیهای که همچنان به کار میآید
5 - خوشآمدید به دنیای Tidyverse
6 - بیشتر درباره Tidyverse
7 - استفاده از پایپها برای تو در تو کردن کد
8 - Connor: نکات برنامهنویسی
کار با دادهها در R:
1 - دادهها در R
2 - دادهفریمهای R
3 - کار با دادهفریمها
4 - پاکسازی با اصول اولیه
5 - سازماندهی دادههای شما
6 - تبدیل دادهها
7 - دادههای مشابه، نتایج متفاوت
8 - تابع bias
بیشتر درباره تجسمها، زیباییشناسی و حاشیهنویسیها:
1 - تجسمها در R
2 - اصول تجسم در R و Tidyverse
3 - شروع کار با ggplot()
4 - جوزف: مسیر شغلی به سوی تحلیل افراد
5 - بهبود تجسمها در R
6 - کار بیشتر با ggplot
7 - زیباییشناسی و Facetها
8 - لایه حاشیهنویسی
9 - ذخیره تجسمهای خود
مستندسازی و گزارشها:
1 - مستندسازی و گزارشها
2 - مروری بر R Markdown
3 - استفاده از R Markdown در RStudio
4 - ساختار اسناد Markdown
5 - مگ: برنامهنویسی توانمندساز است
6 - عناصر بیشتری از مستندات
7 - بخشهای کد
8 - صادرات مستندات
درباره دوره:
لازم به ذکر است زیرنویس این دوره توسط هوش مصنوعی انجام شدهاست.
یادگیری برنامهنویسی به زبان جاوا و بهبود مهارتهای برنامهنویسی و حل مسئلهی خود. در این دوره، شما یاد خواهید گرفت که الگوریتمها را طراحی کرده و برنامهها را توسعه داده و اشکالزدایی کنید.
با استفاده از کلاسهای سفارشی منبع باز، برنامههایی خواهید نوشت که به تصاویر، وبسایتها و دیگر انواع دادهها دسترسی دارند و آنها را تغییر میدهند. در پایان دوره، شما یک برنامه خواهید ساخت که با تحلیل فایلهای مقدار جدا شده با ویرگول (CSV)، شهرت نامهای مختلف کودکان در ایالات متحده را در طول زمان مشخص میکند.
پس از اتمام این دوره، شما قادر خواهید بود:
مقدمهای درباره دوره:
1 - مقدمهای درباره دوره
2 - منابعی برای کمک به شما برای موفقیت
3 - نکاتی برای یادگیری برنامهنویسی
4 - استفاده از انجمنها: چگونه به طور مؤثر درخواست کمک کنیم
5 - تخصص برنامهنویسی شیءگرا با جاوا
نحوه نوشتار و معنای اصولی جاوا:
1 - چرا از جاوا استفاده کنیم؟
2 - استفاده از بلوجی برای برنامهنویسی در جاوا
3 - شکلها: مجموعههای نقاط
4 - چرا نحوهشناسی؟: انگیزه برای خواندن کد
5 - متغیرها
6 - عملگرهای ریاضی
7 - توابع
8 - شرطیها
9 - کلاسها
10 - جدید
11 - متدها
12 - انواع داده
13 - حلقههای for each
14 - حل مسئله برنامهنویسی: یک رویکرد هفت مرحلهای
15 - هفت مرحله در عمل: توسعه یک الگوریتم
16 - هفت مرحله در عمل 2: آزمایش الگوریتم
17 - هفت مرحله در عمل: ترجمه به کد
رشتهها در جاوا:
1 - چیستی یک رشته
2 - درک رشتهها
3 - توسعه یک الگوریتم
4 - موقعیتها در رشتهها
5 - ترجمه به کد
6 - ریاضی جاوا
7 - مقدمه
8 - درک مفهومی
9 - حلقههای while
10 - نحوه نوشتار و معنای حلقههای while
11 - کدنویسی حلقههای while
12 - سه کدون توقف
13 - بخش اول کدنویسی سه کدون توقف
14 - بخش دوم کدنویسی سه کدون توقف
15 - عملگرهای منطقی AND/OR
16 - کدنویسی عملگرهای AND/OR
17 - یافتن ژنهای چندگانه
18 - تبدیل به کد
19 - جداسازی مسئولیتها
20 - کلاس StorageResource
21 - کدنویسی کلاس StorageResource
فایلهای CSV و آمارهای پایه در جاوا:
1 - دادههای CSV: مقادیر جداشده با کاما
2 - استفاده از کتابخانههای CSV
3 - توسعه الگوریتم
4 - ترجمه به کد
5 - خروجی CSV: خلاصه
6 - گرمترین روز در یک سال: مقادیر جداشده با کاما
7 - تبدیل رشتهها به اعداد
8 - دمای بیشینه: توسعه الگوریتم
9 - جاوا برای هیچچیز—null: زمانی که شما یک شیء ندارید
10 - دمای بیشینه: ترجمه به کد
11 - دمای بیشینه: آزمایش کد
12 - دمای بیشینه از مجموعه دادههای چندگانه
13 - دمای بیشینه بازترتیبشده
14 - CSVMax: خلاصه
پروژه کوچک: نامهای نوزاد:
1 - پروژه کوچک نامهای نوزاد: مرور
2 - بخش اول پروژه کوچک نامهای نوزاد: مرور دادهها
3 - بخش دوم پروژه کوچک نامهای نوزاد: مرور دادهها
4 - تبدیل چند فایل به سیاه و سفید پردازش دستهای
5 - الگوریتم سیاه و سفید: رویکرد هفت مرحلهای
6 - تصویر مجموعهپذیر در بلوجی: سیاه و سفید
7 - پردازش دستهای سیاه و سفید
8 - ذخیره تصاویر با نامهای جدید
9 - خلاصه پردازش دستهای سیاه و سفید