کتاب صوتی یونیکس را رام کنید: برنامهنویسی سیستمی برای ساخت اپلیکیشنهای قدرتمند
یونیکس را رام کنید: برنامهنویسی سیستمی برای ساخت اپلیکیشنهای قدرتمند یونیکس را رام کنید: برنامهنویسی سیستمی برای ساخت اپلیکیشنهای قدرتمند آیا رویای ساخت اپلیکیشنهای قدرتمند و پیچیده را در سر داری...
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره یونیکس را رام کنید: برنامهنویسی سیستمی برای ساخت اپلیکیشنهای قدرتمند
موضوع کلی: برنامه نویسی سیستمی
موضوع میانی: توسعه نرمافزارهای کاربردی پیشرفته در یونیکس و لینوکس
📋 سرفصلهای دوره
- 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. پروژه نهایی: ساخت یک وب سرور ساده از ابتدا
برای آموختن، همیشه لازم نیست بخوانید
گاهی بهترین فرصت یادگیری زمانی است که در مسیر رفتوآمد هستید، قدم میزنید، استراحت میکنید یا کارهای روزمرهتان را انجام میدهید. محتوای صوتی کمک میکند از این لحظهها برای شنیدن، اندیشیدن و آشنایی با موضوعات تازه بهره ببرید.
◷
یادگیری در دل روزمرگی
از زمان رفتوآمد، پیادهروی یا استراحت برای شنیدن محتوای مفید استفاده کنید؛ بدون آنکه همیشه به کتاب چاپی یا صفحه نمایش نیاز داشته باشید.
◎
تجربهای شنیداری و دلنشین
با روایت صوتی، توضیحات گفتاری و فضای شنیداری هر محتوا همراه شوید و متناسب با سلیقه خود، شیوه تازهای برای دریافت مطالب تجربه کنید.
✦
گسترش دانش و دیدگاه
با موضوعات متنوع آشنا شوید، ایدههای تازه کشف کنید و فرصت بیشتری برای یادگیری مستمر و پرورش کنجکاوی خود بسازید.
♫
همراه با سبک زندگی شما
محتوای صوتی را متناسب با برنامه روزانه خود انتخاب کنید و در زمان مناسب، شنیدن را به بخشی از عادتهای شخصیتان تبدیل کنید.
کتاب صوتی یا پادکست؟
کتاب صوتی
راهی برای همراه شدن با محتوای یک کتاب از طریق شنیدن. بسته به اثر، میتوانید داستانها، آموزشها، مفاهیم تخصصی یا مطالب کاربردی را در قالب روایت و بیان صوتی دنبال کنید.
مناسب برای شنیدن و مرور محتوای کتابها
پادکست آموزشی
فرصتی برای دنبال کردن موضوعات مشخص در قالب گفتوگو، روایت، توضیح آموزشی یا مجموعهای از قسمتهای صوتی؛ مناسب برای کشف ایدهها و آشنایی با دیدگاههای گوناگون.
مناسب برای یادگیری موضوعی و شنیدن دیدگاههای تازه
هر جا که هستید، شنیدن را آغاز کنید
با دستگاه مناسب خود، محتوای صوتی را به آسانی دنبال کنید.
▯
گوشی هوشمند
اندروید و آیفون
▣
تبلت
برای شنیدن و دنبال کردن محتوا
▤
رایانه و لپتاپ
با پخشکننده صوتی سازگار
♫
هدفون و بلندگو
برای شنیدن متناسب با محیط
چطور از تجربه شنیدن بیشتر بهره ببریم؟
✦ زمان مناسبی برای شنیدن انتخاب کنید؛ زمانی که بتوانید با آرامش به محتوا توجه داشته باشید.
✦ برای مطالب آموزشی، نکتههای مهم را یادداشت کنید یا پس از پایان شنیدن، آنها را مرور کنید.
✦ اگر محتوا طولانی است، آن را در چند نوبت دنبال کنید تا فرصت بیشتری برای درک و مرور داشته باشید.
✦ هنگام رانندگی یا انجام کارهای نیازمند تمرکز، ایمنی را در اولویت قرار دهید و از شیوه شنیدنی استفاده کنید که حواس شما را مختل نکند.
هر شنیدن، فرصتی برای کشف است
با کتابهای صوتی و پادکستهای آموزشی، دنیای تازهای از ایدهها، روایتها و آموختنیها را به لحظههای خود اضافه کنید.
express24.ir
امکانات پخش، ادامه شنیدن و دسترسی آفلاین به نوع فایل، دستگاه و نرمافزار مورد استفاده بستگی دارد.
تگها:
Advanced Unix
C for systems
C Programming
Interprocess communication
Linux Development
Programing
Shell programming
Software Development
system calls
UNIX applications programming
Unix Programming
Unix tools
برنامه نویسی سیستمی
لینوکس
یونیکس
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.