Clojure Fundamentals - قسمت 1

Clojure Fundamentals - Part 1

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: Clojure یک زبان برنامه نویسی کاربردی برای ماشین مجازی جاوا است. این دوره آموزشی Clojure را با اصول اولیه مورد بررسی قرار می دهد و تنها پیش زمینه برنامه نویسی جاوا یا سی شارپ فرض می شود.

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

نمای کلی و REPL Overview and the REPL

  • مقدمه Introduction

  • اهداف کلوژور Clojure Objectives

  • چرا یک Lisp دیگر؟ Why Another Lisp?

  • چرا ClojureScript؟ Why ClojureScript?

  • Clojure و ClojureScript Clojure and ClojureScript

  • نسخه ی نمایشی: ارزیابی و REPL Demo: Evaluation and the REPL

  • ارزشیابی سنتی Traditional Evaluation

  • ارزیابی کلژور Clojure Evaluation

  • فرم های عملیات Operation Forms

  • ساختار در مقابل معناشناسی Structure vs. Semantics

  • تحت اللفظی Literals

  • ساختارهای داده Data Structures

  • فراداده Metadata

  • ماکروهای خواننده Reader Macros

  • نسخه ی نمایشی: REPL Utilities Demo: REPL Utilities

  • ساختار دایرکتوری لاینینگن Leiningen Directory Structure

  • ساختار دایرکتوری Maven Maven Directory Structure

  • خلاصه Summary

کارکرد Functions

  • مقدمه Introduction

  • توابع Functions

  • فراخوانی توابع Invoking Functions

  • توابع نامگذاری Naming Functions

  • نسخه ی نمایشی: تعریف و نام گذاری توابع Demo: Defining and Naming Functions

  • اجازه دهید let

  • نسخه ی نمایشی: اجازه دهید Demo: let

  • آریتی چندگانه Multiple Arity

  • نسخه ی نمایشی: Multiple Arity Demo: Multiple Arity

  • توابع متغیر Variadic Functions

  • اعمال شود apply

  • نسخه ی نمایشی: Variadic توابع و اعمال می شود Demo: Variadic Functions and apply

  • بسته شدن Closures

  • فراخوانی کد جاوا Invoking Java Code

  • دسترسی زنجیره ای Chaining Access

  • روش های جاوا در مقابل توابع Java Methods vs. Functions

  • ماکرو Reader Terse fn Terse fn Reader Macro

  • خلاصه Summary

فضاهای نام Namespaces

  • مقدمه Introduction

  • چرا فضاهای نام؟ Why Namespaces?

  • در یک فضای نام چیست؟ What's in a Namespace?

  • متغیرهای دارای فضای نام Namespace-Qualified Vars

  • کلمات کلیدی واجد شرایط فضای نام Namespace-Qualified Keywords

  • فضای نام در REPL Namespaces in the REPL

  • عملیات فضای نام Namespace Operations

  • نیاز دارند require

  • نسخه ی نمایشی: نیاز است Demo: require

  • استفاده کنید use

  • نسخه ی نمایشی: استفاده کنید Demo: use

  • بارگذاری مجدد فضاهای نام Reloading Namespaces

  • واردات import

  • فضاهای نام و فایل ها Namespaces and Files

  • ns اعلامیه ns Declaration

  • ns :require ns :require

  • ns: استفاده کنید ns :use

  • ns : import ns :import

  • ns مثال کامل ns Complete Example

  • نسخه ی نمایشی: ns ماکرو Demo: ns macro

  • ورس خصوصی Private Vars

  • the-ns the-ns

  • درون نگری فضای نام Namespace Introspection

  • خلاصه Summary

مجموعه ها Collections

  • مقدمه Introduction

  • کار با داده ها Working With Data

  • تغییرناپذیری Immutability

  • ساختارهای داده پایدار Persistent Data Structures

  • مجموعه های Clojure Clojure Collections

  • لیست ها Lists

  • بردارها Vectors

  • نسخه ی نمایشی: لیست ها و بردارها Demo: Lists and Vectors

  • نقشه ها Maps

  • دسترسی به نقشه تو در تو Nested Map Access

  • نسخه ی نمایشی: نقشه ها Demo: Maps

  • مجموعه ها Sets

  • خلاصه Summary

در حال تخریب Destructuring

  • مقدمه Introduction

  • در حال تخریب Destructuring

  • تخریب متوالی Sequential Destructuring

  • تخریب متوالی با & Sequential Destructuring with &

  • تخریب متوالی با Sequential Destructuring with &

  • نادیده گرفتن ارزش های تخریب شده با _ Ignoring Destructured Values with _

  • نسخه ی نمایشی: تخریب متوالی Demo: Sequential Destructuring

  • تخریب انجمنی Associative Destructuring

  • تخریب انجمنی با کلیدها Associative Destructuring with :keys

  • استفاده از :یا برای مقادیر پیش فرض Using :or for Default Values

  • آرگومان های نامگذاری شده Named Arguments

  • نسخه ی نمایشی: تخریب انجمنی Demo: Associative Destructuring

  • خلاصه Summary

دنباله ها Sequences

  • مقدمه Introduction

  • دنباله ها Sequences

  • Sequence API Sequence API

  • نسخه ی نمایشی: Sequence API Demo: Sequence API

  • Sequences Over Structures Sequences Over Structures

  • توالی بیش از توابع Sequences Over Functions

  • دنباله ها در REPL Sequences in the REPL

  • کتابخانه توالی Sequence Library

  • ایجاد یک دنباله Creating a Sequence

  • Seq In, Seq Out Seq In, Seq Out

  • با استفاده از Seq Using a Seq

  • نسخه ی نمایشی: کار با Sequences Demo: Working with Sequences

  • اتخاذ طرز فکر توالی Adopting the Sequence Mindset

  • خلاصه Summary

کنترل جریان Flow Control

  • مقدمه Introduction

  • عبارات در مقابل عبارات Statements vs. Expressions

  • عبارات کنترل جریان Flow Control Expressions

  • حقیقت Truthiness

  • اگر if

  • اگر/انجام دهید if/do

  • اگر اجازه دهید if-let

  • نسخه ی نمایشی: if-let Demo: if-let

  • شرایط cond

  • condp condp

  • مورد case

  • نسخه ی نمایشی: cond/condp/case Demo: cond/condp/case

  • بازگشت و تکرار Recursion and Iteration

  • doseq doseq

  • dotimes dotimes

  • در حالی که while

  • برای for

  • حلقه loop

  • defn/recur defn/recur

  • تکرار برای بازگشت recur for Recursion

  • نسخه ی نمایشی: تکراری Demo: recur

  • رسیدگی به استثنا Exception Handling

  • استثناهای پرتاب Throwing Exceptions

  • با باز کردن with-open

  • خلاصه Summary

نمایش نظرات

Clojure Fundamentals - قسمت 1
جزییات دوره
3h 8m
125
Pluralsight (پلورال سایت) Pluralsight (پلورال سایت)
(آخرین آپدیت)
201
4.5 از 5
دارد
دارد
دارد
Alan Dipert
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Alan Dipert Alan Dipert

آلن یک توسعه دهنده در Relevance است، جایی که او در برنامه های کاربردی وب تخصص دارد. او یکی از همکاران مکرر زبان Clojure است و همچنین در چندین کتابخانه محبوب Clojure مشارکت داشته است. در Relevance، او نرم افزار Clojure را برای طیف وسیعی از مشتریان، در حوزه های مختلف از بازی آنلاین گرفته تا امنیت شبکه، ساخته است. فراتر از تجربه‌اش با Clojure، آلن عموماً به برنامه‌نویسی تابعی و به‌ویژه برنامه‌نویسی تابعی در محیط‌های دارای محدودیت حافظه علاقه‌مند است. او با یکی از دوستانش یک Lisp را در C پیاده سازی کرد که می تواند به صورت تعاملی روی میکروکنترلر آردوینو اجرا شود که تنها 2 کیلوبایت رم دارد.