نکته:
آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیویی برای نمایش وجود ندارد.
توضیحات دوره:
این دوره الگوهای پیشرفته ای را برای پردازش داده ها در 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
نمایش نظرات