کتاب صوتی Template Haskell از صفر تا صد: متابرنامهنویسی در هسکل ۹۸
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره Template Haskell از صفر تا صد: متابرنامهنویسی در هسکل ۹۸
موضوع کلی: برنامهنویسی تابعی با هسکل
موضوع میانی: متابرنامهنویسی و Template Haskell
📋 سرفصلهای دوره
- 1. مقدمهای بر هسکل ۹۸ و ویژگیهای زبان
- 2. نصب و راهاندازی GHC و ابزارهای توسعه
- 3. مفاهیم پایه متابرنامهنویسی
- 4. تفاوت Template Haskell با سایر روشهای متابرنامهنویسی
- 5. سینتکس و ساختار کد Template Haskell
- 6. Quotation: expression، pattern، type، declaration
- 7. Splices: نحوهی درج کد در زمان کامپایل
- 8. کار با Q monad و توابع کمکی
- 9. تولید توابع ساده با Template Haskell
- 10. تولید انواع داده (Data Types) به صورت خودکار
- 11. Deriving instances به کمک Template Haskell
- 12. ساخت Lensها به صورت خودکار
- 13. کار با Type Families در Template Haskell
- 14. مدیریت نامگذاری و scoping در spliceها
- 15. استفاده از reify برای بررسی اطلاعات نوع در زمان کامپایل
- 16. تولید کد برای Serialization (JSON، Binary)
- 17. ساخت DSLهای داخلی با Template Haskell
- 18. بهینهسازی کد تولیدشده: inline، specialization
- 19. عیبیابی و دیباگ کردن spliceها
- 20. مدیریت خطاهای کامپایل ناشی از Template Haskell
- 21. تست واحد کد تولیدشده با QuickCheck
- 22. مقایسه Template Haskell با Generics و DerivingVia
- 23. کاربرد در کتابخانههای معروف (lens، aeson، servant)
- 24. نوشتن افزونههای GHC با Template Haskell
- 25. امنیت و محدودیتهای Template Haskell
- 26. کار با QuasiQuoters برای زبانهای تعبیهشده
- 27. تولید کد برای پردازش موازی و Concurrency
- 28. استفاده از Template Haskell در پروژههای واقعی
- 29. مدیریت وابستگیها و نسخهبندی در پروژههای TH
- 30. بهترین شیوهها و الگوهای طراحی در Template Haskell
- 31. مقدمه بر Typed Template Haskell (Typed splices)
- 32. تفاوت Typed و Untyped splices
- 33. کار با Typed quotes و splices
- 34. تبدیل کد Untyped به Typed
- 35. استفاده از Typed Template Haskell برای ایمنی نوع
- 36. مثالهای پیشرفته: تولید ماشینهای حالت (State Machines)
- 37. تولید کد برای پارسینگ (Parsers) به کمک TH
- 38. کار با Template Haskell در وجود GADTs
- 39. تولید Instanceهای Typeclassهای پیچیده
- 40. بهینهسازی حافظه و عملکرد کد TH
- 41. استفاده از Template Haskell برای Generics Programming
- 42. ترکیب Template Haskell با CPP و پیشپردازنده
- 43. مدیریت Template Haskell در پروژههای Multi-package
- 44. تست و CI/CD برای کدهای TH
- 45. مستندسازی کد تولیدشده با Haddock
- 46. محدودیتهای Haskell 98 بر Template Haskell
- 47. مهاجرت از Haskell 98 به GHC2021 و تأثیر بر TH
- 48. مطالعه موردی: کتابخانه aeson و TH
- 49. مطالعه موردی: کتابخانه lens و TH
- 50. مطالعه موردی: servant و تولید APIها
- 51. نوشتن QuasiQuoter سفارشی برای SQL
- 52. تولید کد برای GraphQL Schema
- 53. کار با Template Haskell در وجود Linear Types
- 54. استفاده از TH برای تولید Benchmarkها
- 55. الگوهای Anti-pattern در Template Haskell و اجتناب از آنها
- 56. مقایسه با MetaOCaml و سایر زبانهای متابرنامهنویسی
- 57. آینده Template Haskell: پیشنهادات GHC
- 58. جمعبندی و مسیرهای یادگیری بیشتر
برای آموختن، همیشه لازم نیست بخوانید
گاهی بهترین فرصت یادگیری زمانی است که در مسیر رفتوآمد هستید، قدم میزنید، استراحت میکنید یا کارهای روزمرهتان را انجام میدهید. محتوای صوتی کمک میکند از این لحظهها برای شنیدن، اندیشیدن و آشنایی با موضوعات تازه بهره ببرید.
◷
یادگیری در دل روزمرگی
از زمان رفتوآمد، پیادهروی یا استراحت برای شنیدن محتوای مفید استفاده کنید؛ بدون آنکه همیشه به کتاب چاپی یا صفحه نمایش نیاز داشته باشید.
◎
تجربهای شنیداری و دلنشین
با روایت صوتی، توضیحات گفتاری و فضای شنیداری هر محتوا همراه شوید و متناسب با سلیقه خود، شیوه تازهای برای دریافت مطالب تجربه کنید.
✦
گسترش دانش و دیدگاه
با موضوعات متنوع آشنا شوید، ایدههای تازه کشف کنید و فرصت بیشتری برای یادگیری مستمر و پرورش کنجکاوی خود بسازید.
♫
همراه با سبک زندگی شما
محتوای صوتی را متناسب با برنامه روزانه خود انتخاب کنید و در زمان مناسب، شنیدن را به بخشی از عادتهای شخصیتان تبدیل کنید.
کتاب صوتی یا پادکست؟
کتاب صوتی
راهی برای همراه شدن با محتوای یک کتاب از طریق شنیدن. بسته به اثر، میتوانید داستانها، آموزشها، مفاهیم تخصصی یا مطالب کاربردی را در قالب روایت و بیان صوتی دنبال کنید.
مناسب برای شنیدن و مرور محتوای کتابها
پادکست آموزشی
فرصتی برای دنبال کردن موضوعات مشخص در قالب گفتوگو، روایت، توضیح آموزشی یا مجموعهای از قسمتهای صوتی؛ مناسب برای کشف ایدهها و آشنایی با دیدگاههای گوناگون.
مناسب برای یادگیری موضوعی و شنیدن دیدگاههای تازه
هر جا که هستید، شنیدن را آغاز کنید
با دستگاه مناسب خود، محتوای صوتی را به آسانی دنبال کنید.
▯
گوشی هوشمند
اندروید و آیفون
▣
تبلت
برای شنیدن و دنبال کردن محتوا
▤
رایانه و لپتاپ
با پخشکننده صوتی سازگار
♫
هدفون و بلندگو
برای شنیدن متناسب با محیط
چطور از تجربه شنیدن بیشتر بهره ببریم؟
✦ زمان مناسبی برای شنیدن انتخاب کنید؛ زمانی که بتوانید با آرامش به محتوا توجه داشته باشید.
✦ برای مطالب آموزشی، نکتههای مهم را یادداشت کنید یا پس از پایان شنیدن، آنها را مرور کنید.
✦ اگر محتوا طولانی است، آن را در چند نوبت دنبال کنید تا فرصت بیشتری برای درک و مرور داشته باشید.
✦ هنگام رانندگی یا انجام کارهای نیازمند تمرکز، ایمنی را در اولویت قرار دهید و از شیوه شنیدنی استفاده کنید که حواس شما را مختل نکند.
هر شنیدن، فرصتی برای کشف است
با کتابهای صوتی و پادکستهای آموزشی، دنیای تازهای از ایدهها، روایتها و آموختنیها را به لحظههای خود اضافه کنید.
express24.ir
امکانات پخش، ادامه شنیدن و دسترسی آفلاین به نوع فایل، دستگاه و نرمافزار مورد استفاده بستگی دارد.
تگها:
Aeson
Code Generation
Compile-time Programming
DSL
Functional Programming
GHC
Haskell
Haskell 98
Haskell Libraries
Lens
Metaprogramming
QuasiQuotes
Servant
Template Haskell
Typed Template Haskell
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.