آموزش لامبدا (Lambda)

آموزش لامبدا

آنچه در این صفحه می خوانید:

معرفی لامبدا (Lambda)

در برنامه نویسی رایانه، عبارات لامبدا یا تابع ناشناس (Anonymous function) تعریف تابعی است که به یک شناسه محدود نمی شود. توابع لامبدا اغلب آرگومان هایی هستند که به توابع مرتبه بالاتر منتقل می شوند یا برای ساخت نتیجه تابعی با مرتبه بالاتر استفاده می شوند که نیاز به بازگشت یک تابع دارد. اگر این تابع فقط یک بار یا به صورت محدود استفاده شود، ممکن است یک تابع لامبدا از نظر استفاده از یک تابع نامگذاری شده سبک تر باشد. توابع لامبدا در زبان های برنامه نویسی کاربردی و سایر زبان هایی که دارای توابع first-class هستند و تقریبا در همه جا مورد استفاده قرار می گیرد، جایی که آنها همان وظیفه را برای نوع تابعی انجام می دهند، همانطور که ادبیات برای سایر داده ها انجام می دهند.

توابع لامبدا توسط Alonzo Church، در سال 1936، قبل از پیدایش رایانه های الکترونیکی ایجاد شد. در چندین زبان برنامه نویسی، توابع لامبدا با استفاده از کلمه کلیدی lambda معرفی می شوند. توابع لامبدا از زمان Lisp در سال 1958 از ویژگی های زبان های برنامه نویسی بوده و تعداد زیادی از زبان های برنامه نویسی مدرن از توابع لامبدا پشتیبانی می کنند.

کاربرد لامبدا (Lambda)

از توابع لامبدا می توان برای توابعی استفاده کرد که نیازی به نامگذاری نداشته باشند و احتمالاً برای کوتاه مدت استفاده می شوند. برخی از نمونه های قابل توجه شامل closures و currying است. استفاده از توابع لامبدا موضوعی از استایل است. استفاده از آنها هرگز تنها راه حل مسئله نیست. در عوض، هر تابع لامبدا می تواند به عنوان یک تابع نامگذاری شده و با همان نام خوانده شود. برخی از برنامه نویسان از توابع لامبدا برای کپسوله کردن کد خاص و non-reusable استفاده می کنند.

در برخی از زبان های برنامه نویسی، تابع های لامبدا معمولاً برای مقاصد بسیار خاص مانند binding events برای فراخوانی های برگشتی یا فوری کردن تابع برای مقادیر خاص انجام می شوند، که ممکن است کارآمدتر، خواندنی تر و خطای کمتری نسبت به فراخوانی یک تابع با نام عمومی داشته باشد.

مثال لامبدا (Lambda)

زبان های بی شماری از توابع لامبدا پشتیبانی می کنند. مثال زیر در پایتون (Python) نوشته شده است.

پایتون از طریق lambda form از توابع ساده لامبدا پشتیبانی می کند.  اینکه بدنه اجرایی لامبدا باید یک عبارت (expression) باشد و نمی تواند یک بیانیه (statement) باشد، محدودیتی است که باعث می شود ابزار آن محدود شود. مقدار برگشتی توسط لامبدا، مقدار عبارت موجود است. فرم های لامبدا می توانند در هر مکانی که تابع های معمولی داشته باشند استفاده شوند. با این حال، این محدودیت ها آن را به یک نسخه بسیار محدود از یک تابع طبیعی تبدیل می کنند. به عنوان مثال:

>>> foo = lambda x: x * x
>>> print(foo(10))
100

به طور کلی، قرارداد پایتون استفاده از توابع نامگذاری شده را در همان محدوده تشویق می کند که ممکن است شخصاً از توابع لامبدا در سایر زبان ها استفاده کند. این قابل قبول است زیرا توابع تعریف شده لوکال قدرت کامل بسته شدن را به کار می گیرند و تقریباً به همان اندازه کاربرد لامبدا در پایتون کارآمد هستند. در این مثال می توان گفت که تابع توان داخلی ساخته شده است:

>>> def make_pow(n):
...     def fixed_exponent_pow(x):
...         return pow(x, n)
...     return fixed_exponent_pow
...
>>> sqr = make_pow(2)
>>> print (sqr(10))
100
>>> cub = make_pow(3)
>>> print (cub(10))
1000

آیا این نوشته را دوست داشتید؟
pluralsight-triggering-lambda-functions-from-simple-devices-with-aws-iot-1-click

راه اندازی توابع Lambda از دستگاه های ساده با AWS IoT 1-Click


شما در این دوره، یاد خواهید گرفت که چگونه توابع Lambda را بر روی AWS از دستگاه های AWS IoT 1-Click ساده راه اندازی کنید. ابتدا مهارت های استفاده از SD...

1399/12/05 112 بازدید
pluralsight-aws-developer-an-introduction-to-aws-lambda

دوره AWS Developer: آشنایی با AWS Lambda


در این دوره، شما نحوه ایجاد کد رویداد محور در AWS Lambda را فرا خواهید گرفت. در ابتدا، نحوه استفاده از توابع زمان بندی شده ساده، و نحوه ادغام ایمن Lam...

1399/11/06 404 بازدید
pluralsight-implementing-design-patterns-using-java-8-lambda

پیاده سازی الگوهای طراحی با Java 8 Lambda


در این دوره، شما نحوه بکارگیری ابزارهای اضافه شده به پلتفرم Java 8 برای کدنویسی بهتر را یاد خواهید گرفت. در ابتدا، به کمک Comparator API نحوه استفاده ...

1399/10/27 768 بازدید زیرنویس دارد
pluralsight-applying-functional-programming-techniques-in-java

بکارگیری تکنیک های برنامه نویسی تابعی در جاوا


در این دوره، شما نحوه برنامه نویسی به سبک تابعی با جاوا فراتر از بکارگیری لامبدا و جریان ها را یاد خواهید گرفت. در ابتدا، دلیل اهمیت برنامه نویسی تابع...

1399/08/18 964 بازدید
packtpub-build-and-deploy-lambda-functions-aws-with-python-and-boto3

ساخت و استقرار توابع لامبدا: AWS با پایتون و Boto3


AWS Lambda یکی از سریعترین سرویس های در حال رشد AWS است! این دوره بخشی از سری دوره های راه حل های AWS با پایتون و Boto3 است و اکنون باید توابع بدون سر...

1399/06/03 1052 بازدید
linkedin-learning-amazon-web-services-lambda

آموزش Amazon Web Services Lambda


در این دوره، Marcia Villalba به مبتدیان کمک می کند تا با Lambda شروع به کار کنند. او برای شروع، مبانی ایمن سازی یک حساب AWS و ایجاد کاربران IAM را توض...

1399/05/18 900 بازدید زیرنویس دارد
linkedin-aws-for-developers-paypal-payment-processing-with-lambdas

آموزش AWS برای توسعه دهندگان: پردازش پرداخت PayPal با Lambdas


این دوره شامل مراحل ساده در اجرای پردازش پرداخت PayPal با استفاده از Lambdas است. Bear Cahill، راه اندازی منابع، اعمال نفوذ یک اسکریپت محلی Ruby با Br...

1399/04/27 533 بازدید زیرنویس دارد
linkedin-aws-for-developers-rds-mysql-database-with-lambdas

آموزش AWS برای توسعه دهندگان: پایگاه داده RDS MySQL با Lambdas


در این دوره، بیاموزید که چگونه از RDS MySQL Database، یک پایگاه داده رابطه ای که از یک برنامه از طریق Lambdas قابل دسترسی است، استفاده کنید. Bear Cahi...

1399/04/04 887 بازدید زیرنویس دارد
packtpub-aws-lambda-and-the-serverless-framework-hands-on-learning

آموزش عملی AWS Lambda و چارچوب بدون سرور (Serverless)


این دوره مفاهیم اصلی AWS Lambda، YAML، چارچوب‌های بدون سرور و کلیه موارد مورد نیازی برای توسعه و پیاده سازی توابع Lambda در یک چارچوب بدون سرور را خوا...

1398/09/05 1034 بازدید
packtpub-hands-on-serverless-architecture-with-aws-lambda-video

آموزش معماری Serverless با AWS Lambda


معماری Serverless راهی برای ساخت و اجرا برنامه ها و خدمات بدون نیاز به مدیریت زیرساخت است. Lambda مشکل برخورد با سرورهای مبتنی بر ابر را در تمام سطوح ...

1397/08/26 1278 بازدید
addison-wesleyprofessional-aws-lambda-developing-serverless-applications-with-java

آموزش AWS Lambda - توسعه اپلیکیشن های Serverless با Java


Serverless یک روش جدید رایانش ابری (cloud computing) برای ساخت و معماری اپلیکیشن ها است. این دوره با معرفی  Serverless و Lambda، مبانی Serverless و مق...

1396/11/09 1451 بازدید
lynda-lambda-expressions-in-java

آموزش عبارات لامبدا در جاوا


در این آموزش تصویری با عبارات لامبدا (Lambda Expressions) در جاوا آشنا می شوید. این دوره آموزشی محصول موسسه Lynda است. سرفصل های این دوره: ایجاد ...

1396/01/30 2577 بازدید
pluralsight-applying-the-lambda-architecture-with-spark-kafka-and-cassandra

پیاده سازی معماری Lambda با Spark Kafka و Cassandra


در این آموزش تصویری با پیاده سازی معماری Lambda با Spark Kafka و Cassandra آشنا می شوید. این دوره آموزشی محصول Pluralsight است. سرفصل های این مجموعه...

1395/10/19 3258 بازدید
infiniteskills-java-8-lambdas-and-streams

آشنایی با Lambdas وStreams در Java 8


در این دوره آموزشی Madhusudhan Konda به شما نحوه توسعه اپلیکیشن های جاوا را با استفاده از Java 8 یاد میدهد. این دوره برای کاربرانی طراحی شده است که تج...

1395/10/04 2395 بازدید
pluralsight-from-collections-to-streams-in-java-8-using-lambda-expressions

کار با Collections و Streams در Java 8 با استفاده از Lambda Expressions


در این آموزش تصویری با کار با Collections و Streams در Java 8 با استفاده از Lambda Expressions آشنا می شوید. این دوره آموزشی محصول موسسه Pluralsight ا...

1395/02/11 2802 بازدید
آموزش-event-،-delegate-وlambda-در-سی-شارپ

آموزش Event ، Delegate وLambda در سی شارپ


این دوره آموزشی  به شما می آموزد که چگونه رویدادها، Delegates و lambdas در زبان #C و NET framework. کار می کنند. این مجموعه آموزشی (C# Events, Delega...

1395/01/14 8230 بازدید