دوره یونیکس را رام کنید: برنامهنویسی سیستمی برای ساخت اپلیکیشنهای قدرتمند همراه با فلشکارت آموزشی — ارائه روی فلش مموری
📚 کتاب آموزشی جامع
📚 اطلاعات کتاب
عنوان کتاب: کتاب یونیکس را رام کنید: برنامهنویسی سیستمی برای ساخت اپلیکیشنهای قدرتمند
موضوع کلی: برنامه نویسی سیستمی
موضوع میانی: توسعه نرمافزارهای کاربردی پیشرفته در یونیکس و لینوکس
📋 سرفصلهای کتاب (100 موضوع)
- 1. مقدمهای بر یونیکس و فلسفه آن
- 2. برنامهنویسی سیستمی چیست؟ تفاوت با برنامهنویسی کاربردی
- 3. فراخوانهای سیستمی (System Calls): دروازه ورود به هسته
- 4. مروری بر زبان C برای برنامهنویسی سیستمی
- 5. کامپایل، لینک و دیباگ کردن: GCC و GDB
- 6. مدیریت پروژهها با Make و Makefile
- 7. مدیریت خطاها: errno و توابع مرتبط
- 8. استاندارد POSIX و اهمیت آن در قابلیت حمل کد
- 9. ساختار یک برنامه ساده یونیکسی
- 10. فایلهای هدر استاندارد در برنامهنویسی یونیکس
- 11. فایلها در یونیکس: همه چیز یک فایل است
- 12. توصیفگرهای فایل (File Descriptors)
- 13. باز کردن و بستن فایلها: open و close
- 14. خواندن از فایلها: تابع read
- 15. نوشتن در فایلها: تابع write
- 16. جابجایی در فایل: lseek
- 17. ورودی/خروجی اتمیک (Atomic I/O)
- 18. اشتراکگذاری فایل بین فرآیندها
- 19. تکثیر توصیفگرهای فایل: dup و dup2
- 20. ورودی/خروجی بافر شده در مقابل بدون بافر
- 21. دریافت اطلاعات فایل: توابع stat، fstat و lstat
- 22. ساختار struct stat و تفسیر فیلدهای آن
- 23. انواع فایل در یونیکس (عادی، دایرکتوری، لینک، ...)
- 24. مالکیت و مجوزهای دسترسی فایل
- 25. تغییر مجوزها و مالکیت: chmod، fchmod، chown، fchown
- 26. لینکهای سخت (Hard Links) و لینکهای نمادین (Symbolic Links)
- 27. کار با دایرکتوریها: opendir، readdir، closedir
- 28. ایجاد و حذف فایلها و دایرکتوریها: mkdir، rmdir، remove
- 29. مفهوم فرآیند (Process) در یونیکس
- 30. شناسه فرآیند (PID) و شناسه فرآیند والد (PPID)
- 31. ایجاد یک فرآیند جدید با fork
- 32. روابط والد-فرزندی و فرآیندهای یتیم (Orphan)
- 33. فرآیندهای زامبی (Zombie) و جلوگیری از آنها
- 34. انتظار برای خاتمه فرآیند فرزند: wait و waitpid
- 35. جایگزینی تصویر فرآیند: خانواده توابع exec
- 36. خاتمه یک فرآیند: exit و _exit
- 37. متغیرهای محیطی و توابع getenv و setenv
- 38. چیدمان حافظه یک فرآیند در یونیکس
- 39. شناسههای کاربر و گروه (UID, GID)
- 40. محدودیتهای منابع و getrlimit/setrlimit
- 41. گروههای فرآیند و Session ها
- 42. مفاهیم اولیه کنترل وظیفه (Job Control)
- 43. اجرای یک دستور شل با تابع system
- 44. سیگنالها: مکانیزم وقفههای نرمافزاری
- 45. مفاهیم سیگنال: ارسال، دریافت و رسیدگی
- 46. لیست سیگنالهای استاندارد و کاربرد آنها
- 47. رسیدگی به سیگنالها با تابع signal
- 48. رسیدگی پیشرفته به سیگنالها با sigaction
- 49. ارسال سیگنال به فرآیندها: kill و raise
- 50. مسدود کردن سیگنالها: Signal Mask و sigprocmask
- 51. مجموعه سیگنالهای در انتظار (Pending Signals)
- 52. توابع امن در برابر سیگنال (Async-Signal-Safe Functions)
- 53. استفاده از alarm و sleep
- 54. مقدمهای بر ارتباطات بین فرآیندی (IPC)
- 55. لولههای بینام (Pipes): ارتباط یکطرفه بین والد و فرزند
- 56. ایجاد و استفاده از pipe
- 57. استفاده از pipe برای تغییر مسیر ورودی/خروجی استاندارد
- 58. توابع popen و pclose
- 59. لولههای نامدار (FIFOs): ارتباط بین فرآیندهای نامرتبط
- 60. ایجاد و کار با FIFO ها
- 61. مقدمهای بر IPC System V
- 62. صفهای پیام (Message Queues): مفاهیم اولیه
- 63. توابع صف پیام: msgget، msgsnd، msgrcv، msgctl
- 64. سمافورها (Semaphores): مفاهیم و کاربردها
- 65. سمافورهای دودویی (Binary) و شمارشی (Counting)
- 66. توابع سمافور: semget، semop، semctl
- 67. حل مسئله تولیدکننده-مصرفکننده با سمافور
- 68. حافظه اشتراکی (Shared Memory): سریعترین روش IPC
- 69. توابع حافظه اشتراکی: shmget، shmat، shmdt، shmctl
- 70. همگامسازی دسترسی به حافظه اشتراکی
- 71. مقایسه IPC System V و POSIX IPC
- 72. مقدمهای بر برنامهنویسی شبکه و سوکتها
- 73. پروتکلهای TCP/IP: مروری سریع
- 74. آدرسدهی در اینترنت: IPv4 و IPv6
- 75. ترتیب بایت (Byte Order) و توابع تبدیل
- 76. API سوکتهای برکلی (Berkeley Sockets)
- 77. ایجاد سوکت با تابع socket
- 78. برنامهنویسی سرور TCP: bind، listen، accept
- 79. برنامهنویسی کلاینت TCP: connect
- 80. ارسال و دریافت داده با send و recv
- 81. بستن اتصال سوکت: close و shutdown
- 82. برنامهنویسی با سوکتهای UDP
- 83. تبدیل نام دامنه به آدرس IP: getaddrinfo
- 84. مدیریت چندین کلاینت: I/O Multiplexing
- 85. استفاده از select و poll
- 86. مدل پیشرفتهتر I/O: epoll در لینوکس
- 87. مقدمهای بر برنامهنویسی چندنخی (Multithreading) با Pthreads
- 88. ایجاد و پیوستن به نخها (Threads)
- 89. خاتمه دادن به نخها
- 90. همگامسازی نخها: Mutexes
- 91. همگامسازی نخها: Condition Variables
- 92. همگامسازی نخها: Reader-Writer Locks
- 93. فرآیندهای دیمن (Daemon): نوشتن سرویسهای پسزمینه
- 94. قوانین و مراحل ایجاد یک دیمن
- 95. ثبت وقایع (Logging) با Syslog
- 96. ورودی/خروجی ترمینال و کنترل آن
- 97. کتابخانههای اشتراکی (Shared Libraries) و پیوند پویا
- 98. ساخت و استفاده از کتابخانههای استاتیک و دینامیک
- 99. زمان و تاریخ در یونیکس
- 100. پروژه نهایی: ساخت یک وب سرور ساده از ابتدا
محتویات بسته آموزشی
🌐 سامانه آنلاین فلشکارت؛ مرور هدفمند و هوشمند
اکانت ارائهشده، دسترسی به نسخه تحت وب سامانه فلشکارت ویژه این دوره را فراهم میکند. این سامانه از الگوریتم زمانبندی مرور SM-2 استفاده میکند و بر اساس ارزیابی شما از میزان یادآوری هر کارت، زمان مرورهای بعدی را تنظیم میکند.
به این ترتیب، کارتهای دشوارتر میتوانند زودتر مرور شوند و برای تثبیت مطالب در حافظه، برنامه مرور متناسبتری داشته باشید.
مدتزمان معادل آموزشی بر اساس برآورد این دوره در گواهی درج میشود.
گواهی دوزبانه با استعلام آنلاین
پس از تکمیل فعالیتهای لازم و تأیید درخواست، گواهی پایان دوره به زبان فارسی و انگلیسی صادر میشود. گواهی دارای لینک اختصاصی و QR Code برای بررسی و استعلام آنلاین است.
این گواهی صرفاً بهعنوان گواهی اتمام دوره آموزشی صادر میشود و معادل مدرک دانشگاهی، آکادمیک یا مدرک رسمی مورد تأیید نهادهای دولتی نیست. صدور آن منوط به تکمیل شرایط دوره و تأیید نهایی درخواست است.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.