آموزش جریان ها ، گردآورندگان و گزینه های پردازش داده در جاوا 8

Streams, Collectors, and Optionals for Data Processing in Java 8

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیویی برای نمایش وجود ندارد.
توضیحات دوره: این دوره الگوهای پیشرفته ای را برای پردازش داده ها در Java 8 با استفاده از lambdas ، streams ، spliters ، اختیاری و جمع کننده نشان می دهد. این نشان می دهد که چگونه می توان جداکننده های خود را ایجاد کرد تا جریان ها را به منابع داده غیراستاندارد متصل کرده و خود را بسازد ... Stream API and the Collectors دو الحاق جدید به JDK در جاوا 8 هستند که امکان پردازش کارآمد داده ها را با استفاده از رویکرد نقشه/فیلتر/کاهش. این الگوهای جدید بسیاری را روی میز می آورد ، و راه هایی برای گسترش آنها دارد. ما نحوه اتصال جریان ها به منابع غیر استاندارد داده ، نحوه ایجاد جریان در جریان های دیگر را نشان می دهیم. مفهوم اختیاری ، ارائه شده برای مقابله با کاهش جریان های خالی نیز در الگوهای پیشرفته پردازش داده نشان داده شده است. و سرانجام ، کلکتورها نشان داده می شوند ، ابتدا الگوهای اساسی و سپس الگوهای پیشرفته ، جایی که ما جمع آوری سفارشی خود را ایجاد می کنیم.

سرفصل ها و درس ها

اتصال جریان ها به منابع سفارشی: الگوی تقسیم کننده Connecting Streams to Custom Sources: The Spliterator Pattern

  • مقدمه ای بر دوره Introduction to the Course

  • در این دوره می خواهید چه چیزهایی یاد بگیرید؟ What Are You Going to Learn in This Course?

  • برای پیگیری این دوره چه باید بدانید؟ دستور کار این ماژول What Should You Know to Follow This Course? Agenda of This Module

  • Spliterator چیست؟ What Is a Spliterator?

  • رابط Spliterator ، چه چیزی برای پیاده سازی نیاز داریم؟ The Spliterator Interface, What Do We Need to Implement?

  • ArrayListSpliterator: روش tryAdvance () The ArrayListSpliterator: the tryAdvance() Method

  • ArrayListSpliterator: روش trySplit () The ArrayListSpliterator: the trySplit() Method

  • مقدمه ای بر برنامه نویسی زنده: نحوه نوشتن تقسیم کننده Introduction to the Live Coding: How to Write a Spliterator

  • استفاده از تقسیم کننده خود: تنظیم برنامه Using Our Own Spliterator: Setting up the Application

  • استفاده از تقسیم کننده خود: نوشتن الگوی مورد استفاده Using Our Own Spliterator: Writing the Use Case Pattern

  • پیاده سازی تقسیم کننده خود: روشهای اول Implementing Our Own Spliterator: The First Methods

  • پیاده سازی تقسیم کننده خود: روش tryAdvance () Implementing Our Own Spliterator: The tryAdvance() Method

  • پیاده سازی روش tryAdvance (): تنظیم شی Return برگشتی Implementing the tryAdvance() Method: Setting the Returned Object

  • پیاده سازی تقسیم کننده خود: اجرای مثال Implementing Our Own Spliterator: Running the Example

  • جمع بندی جلسه برنامه نویسی زنده Live Coding Session Wrap-up

  • بسته بندی ماژول Module Wrap-up

الگوهای پیشرفته جریان 8 جاوا: FlatMap ، جریان اعداد Advanced Java 8 Stream Patterns: FlatMap, Streams of Numbers

  • معرفی و دستور کار ماژول Introduction and Agenda of the module

  • جریان های الحاقی: الگوی Stream.concat Concatenating Streams: The Stream.concat Pattern

  • ادغام جریان ها: الگوی Stream.of و flatMap Merging Streams: The Stream.of and flatMap Pattern

  • الگوی flatMap چگونه کار می کند: نمونه هایی How Does the flatMap Pattern Work: Examples

  • تقسیم متن به کلمات با استفاده از الگوی flatMap Splitting a Text into Words Using the flatMap Pattern

  • تقسیم متن به کلمات: قرار دادن نتیجه در یک مجموعه Splitting a Text into Words: Putting the Result in a Set

  • حالت جریان: روش Stream.characteristics () State of a Stream: The Stream.characteristics() Method

  • هشت ویژگی یک جریان چیست؟ What Are the Eight Characteristics of a Stream?

  • روش های بخار چگونه حالت جریان را اصلاح می کنند How Does the Steam Methods Modify the State of a Stream

  • حالت جریان: اولین مثال State of a Stream: A First Example

  • نحوه استفاده از روش Stream.sorted () با یک مقایسه کننده How to Use the Stream.sorted() Method with a Comparator

  • جلسه برنامه نویسی زنده: ارائه مثال Live Coding Session: Presentation of the Example

  • کدگذاری زنده: ادغام جریان ها با استفاده از Stream.of و flatMap Live Coding: Merging Streams Using Stream.of and flatMap

  • کدگذاری زنده: تقسیم متن بزرگ در کلمات با استفاده از flatMap Live Coding: Splitting a Large Text in Words Using flatMap

  • خلاصه جلسه برنامه نویسی زنده Live Coding Session Summary

  • جریان اعداد: تبدیل از جریان اشیا Streams of Numbers: Converting from a Stream of Objects

  • بهینه سازی تبدیل از جریان اشیا Optimizing the Conversion from a Stream of Objects

  • الگوهایی برای ایجاد جریان اعداد Patterns to Build Streams of Numbers

  • روش های تخصصی: دقیقه () ، حداکثر () و خلاصه آمار () Specialized Methods: min(), max() and summaryStatistics()

  • جلسه برنامه نویسی زنده: معرفی مثال Scrabble Live Coding Session: Introduction of the Scrabble Example

  • کدگذاری زنده: محاسبه امتیاز یک کلمه در دستمالی Live Coding: Computing the Score of a Word in Scrabble

  • کدگذاری زنده: دریافت کلمه با بهترین امتیاز Live Coding: Getting the Word with the Best Score

  • برنامه نویسی زنده: محاسبه آمار در واژه های شکسپیر Live Coding: Computing Statistics on the Words of Shakespeare

  • جلسه کدگذاری زنده و جمع بندی ماژول Live Coding Session and Module Wrap-up

خطوط لوله پردازش داده های موازی با استفاده از جریان های جاوا 8 Parallel Data Processing Pipelines Using Java 8 Streams

  • معرفی و دستور کار ماژول Introduction and Agenda of the Module

  • ساخت پردازش موازی بر روی چند رشته Building Parallel Processing on Multithread

  • ابزارهایی برای پردازش موازی در JDK Tools for Parallel Processing in the JDK

  • جریانهای موازی: الگوهای اول Parallel Streams: First Patterns

  • Caveats در پردازش موازی: همگام سازی و دید Caveats in Parallel Processing: Synchronization and Visibility

  • عملیات های بدون دولت و بدون تابعیت: مثال روش محدود Stateful and Stateless Operations: The Limit Method Example

  • چگونه می توان یک عملیات بدون تابعیت را از یک عملیات دولتی اعلام کرد How to Tell a Stateless Operation from a Stateful One

  • تجزیه و تحلیل عملکرد موازی: شرح مورد استفاده Parallel Performance Analysis: Description of the Use Case

  • تجزیه و تحلیل عملکرد موازی: درک زمان محاسبات Parallel Performance Analysis: Understanding the Computing Times

  • عملیاتی اب زیر کاه: روش غیر مرتب () A Sneaky Stateful Operation: The unordered() Method

  • کاهش موازی: چه کاری نباید انجام داد! Parallel Reduction: What Not to Do!

  • تنظیم موازی سازی: تنظیم اندازه استخر مشترک چنگال Tuning Parallelism: Setting the Size of the Common Fork Join Pool

  • تنظیم موازی سازی: تنظیم مجری محاسبه Tuning Parallelism: Setting the Executor of a Computation

  • کدگذاری زنده: درک محاسبات چند رشته ای Live Coding: Understanding the Multithreaded Computation

  • کدگذاری زنده: کاهش موازی ، چگونه می تواند اشتباه انجام شود؟ Live Coding: Parallel Reduction, How Can It Go Wrong?

  • کدگذاری زنده: کاهش موازی ، اشاره به الگوی جمع کننده Live Coding: Parallel Reduction, Hint at the Collector Pattern

  • خلاصه جلسه برنامه نویسی زنده Live Coding Session Summary

  • بسته بندی ماژول Module Wrap-up

ساخت خطوط لوله پردازش بدون خطا با گزینه های اختیاری Building Errorless Processing Pipelines with Optionals

  • معرفی و دستور کار ماژول Introduction and Agenda of the Module

  • اختیاری: اولین توضیح مفهوم Optional: A First Explanation of the Concept

  • الگوهایی برای استفاده از اختیاری به عنوان نوع بسته بندی که می تواند خالی باشد Patterns to Use an Optional as a Wrapper Type That Can Be Empty

  • الگوهای ساخت اختیاری از خراش Patterns to Build an Optional from Scratch

  • الگوهای اختیاری بیشتر: الگوها ، نقشه و فیلترهای موجود More Optional Patterns: The Map, Filter and ifPresent Patterns

  • چگونه می توان یک گزینه اختیاری را به عنوان نوع خاصی از جریان مشاهده کرد How We Can See an Optional as a Special Kind of Stream

  • مقدمه ای بر الگوهای اختیاری پیشرفته: مثال NewMath Introduction to Advanced Optional Patterns: The NewMath Example

  • ساخت اولین خط لوله پردازش داده با کلاس NewMath Building a First Data Processing Pipeline with the NewMath Class

  • الگوی Optional.flatMap چگونه کار می کند؟ How Does the Optional.flatMap Pattern Work?

  • استفاده از الگوی flatMap برای تبدیل اختیاری به جریان Leveraging the flatMap Pattern to Convert an Optional to a Stream

  • ساخت خط لوله پردازش داده های موازی با NewMath Building a Parallel Data Processing Pipeline with NewMath

  • مقدمه ای بر جلسه برنامه نویسی زنده Introduction to the Live Coding Session

  • کدگذاری زنده: چگونه با NewMath دو برابر پردازش نکنیم Live Coding: How Not to Process Doubles with NewMath

  • برنامه نویسی زنده: عدم موازی شدن با الگوی اشتباه Live Coding: Failing to Go Parallel with the Wrong Pattern

  • کدگذاری زنده: ساخت یک flatMapper اختیاری برای NewMath Live Coding: Building an Optional flatMapper for NewMath

  • کدگذاری زنده: تجزیه و تحلیل مسطح اختیاری Live Coding: Analyzing the Optional flatMapper

  • کدگذاری زنده: پخش جریانی موازی با flatMapper اختیاری Live Coding: Parallel Stream with the Optional flatMapper

  • خلاصه جلسه برنامه نویسی زنده Live Coding Session Summary

  • بسته بندی ماژول Module Wrap-up

جمع آوری داده ها در محفظه های پیچیده با استفاده از گردآورنده ها Collecting Data in Complex Containers Using Collectors

  • معرفی و دستور کار ماژول Introduction and Agenda of the Module

  • کالکتور چیست؟ نگاهی به مرحله کاهش What Is a Collector? A Look Back at the Reduction Step

  • اولین ضد الگوی کاهش جریان در لیست A First Anti-pattern to Reduce a Stream in a List

  • کاهش در یک لیست: الگوی مناسب با یک مجموعه دار Reduction in a List: The Right Pattern with a Collector

  • کلاس کالکتورها: ما برای آن کلکسیونر داریم The Collectors Class: We Have a Collector for That

  • محاسبه حداکثر و میانگین با کلکتور Computing a Max and an Average with a Collector

  • رشته ها را با یک مجموعه جمع کنید Building Strings with a Collector

  • جمع آوری داده ها در یک مجموعه Collecting Data in a Set

  • جمع آوری در یک نقشه: بخش بندی براساس و گروه بندی براساس الگوها Collecting in a Map: The partiionningBy and groupingBy Patterns

  • افزودن یک جمع کننده پایین دستی برای پردازش مقادیر نقشه Adding a Downstream Collector to Process Map Values

  • مشخص کردن ظروف ساخته شده ، الگوی CollectingAndThen Specifying Built Containers, the collectingAndThen Pattern

  • برنامه نویسی زنده: معرفی مورد استفاده از دستمالی شکسپیر Live Coding: Introducing the Shakespeare Plays Scrabble Use Case

  • کدگذاری زنده: ساخت هیستوگرام برای استخراج بهترین کلمات Live Coding: Building Histograms to Extract the Best Words

  • برنامه نویسی زنده: نوشتن صدای بلند با یک نامه خالی Live Coding: Writing Whizzing with a Blank Letter

  • کدگذاری زنده: محاسبه هیستوگرام حروف یک کلمه Live Coding: Computing the Histogram of the Letters of a Word

  • برنامه نویسی زنده: محاسبه تعداد جای خالی مورد نیاز برای ویزینگ Live Coding: Computing the Number of Blanks Need for Whizzing

  • کدگذاری زنده: محاسبه امتیاز کلمات با حروف خالی Live Coding: Computing the Score of Words with Blank Letters

  • کدگذاری زنده: محاسبه بهترین کلمات با جای خالی Live Coding: Computing the Best Words with Blanks

  • خلاصه جلسه برنامه نویسی زنده Live Coding Session Summary

  • بسته بندی ماژول Module Wrap-up

ایجاد مجموعه های سفارشی برای پردازش داده های پیشرفته Building Custom Collectors for Advanced Data Processing

  • معرفی و دستور کار ماژول Introduction and Agenda of the Module

  • اگر ما به کلکسیونرهایی که در کلاس جمع کننده ها نیستند ، احتیاج پیدا کنیم؟ What if We Need Collectors that Are Not in the Collectors Class?

  • مجموعه های ساخته شده از یک منبع ، یک باتری ، و یک ترکیب Collectors Made of a Supplier, an Accumulator, and a Combiner

  • نمونه ای از تأمین کننده و جمع کننده برای ArrayList Example of a Supplier and Accumulator for an ArrayList

  • نمونه ای از ترکیب کننده برای ArrayList Example of a Combiner for an ArrayList

  • قرار دادن آن همه با هم: جمع کننده الگو Putting it All Together: The Collector.of Pattern

  • برنامه نویسی زنده: ارائه بازیگران و فیلم های مورد استفاده Live Coding: Presenting the Actors and Movies Use Case

  • کدگذاری زنده: شمارش تعداد بازیگران Live Coding: Counting the Number of Actors

  • کدگذاری زنده: یافتن بازیگری که در بیشتر فیلم ها بازی کرده است Live Coding: Finding the Actor That Played in the Most Movies

  • کدگذاری زنده: افزودن محدودیت سال ، مقدمه Live Coding: Adding the Year Constraint, Introduction

  • کدگذاری زنده: تنظیم جمع کننده پایین دستی سفارشی Live Coding: Setting the Custom Downstream Collector

  • برنامه نویسی زنده: نوشتن تأمین کننده برای جمع آورنده سفارشی Live Coding: Writing the Supplier for the Custom Collector

  • کدگذاری زنده: نوشتن باطری Live Coding: Writing the Accumulator

  • کدگذاری زنده: نوشتن ترکیب با ادغام نقشه ها Live Coding: Writing the Combiner by Merging Maps

  • کدگذاری زنده: نگاهی جهانی به جمع آورنده سفارشی Live Coding: Taking a Global Look at the Custom Collector

  • برنامه نویسی زنده: استخراج حداکثر نقشه زیر Live Coding: Extracting the Max of the Submap

  • کدگذاری زنده: استخراج حداکثر نقشه اصلی Live Coding: Extracting the Max of the Main Map

  • خلاصه جلسه برنامه نویسی زنده Live Coding Session Summary

  • سایر جمع کنندگان سفارشی: خلاصه الگوی آمار Other Custom Collectors: The summaryStatistics Pattern

  • بسته بندی ماژول Module Wrap-up

نمایش نظرات

آموزش جریان ها ، گردآورندگان و گزینه های پردازش داده در جاوا 8
جزییات دوره
4h 29m
117
Pluralsight (پلورال سایت) Pluralsight (پلورال سایت)
(آخرین آپدیت)
157
4.6 از 5
دارد
دارد
دارد
Jose Paumard
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Jose Paumard Jose Paumard

خوزه با علاقه بیش از 20 سال در مورد برنامه نویسی رایانه ها ، اولین بار در مونتاژ و C ، C برای ماشین های موازی SIMD قبل از استفاده از جاوا به عنوان یک زبان شی گرا ، برای بسیاری از عمده ترین برنامه های مدرن ضروری بود. او تخصص و ظرفیت خود را برای تجزیه و تحلیل و ترکیب در بسیاری از پروژه ها ، عمدتا در لایه های پایین تر ، نزدیک به داده ها ، بلکه همچنین در مورد طراحی پیچیده رابط کاربر یا مرورگر ، به ارمغان می آورد. دکترای ریاضیات کاربردی و علوم کامپیوتر ، استادیار دانشگاه پاریس نور به مدت 15 سال ، خوزه همچنین اشتیاق زیادی به آموزش و انتقال دانش دارد. او برای هزاران نفر از توسعه دهندگان فرانسوی زبان در سراسر جهان ، وبلاگ ، جاوا le soir ، منبع مستند فرانسه در مورد فن آوری های جاوا می نویسد. وی عضوی از گروه کاربران فرانسوی جاوا در پاریس و از سازمان دهندگان کنفرانس Devoxx France است.