انجمن علمی-فرهنگی موج نور اصفهان به اطلاع میرساند؛ کتاب خودآموز مبانی توسعه افزونههای NVDA برای نابینایان به صورت صوتی-متنی آماده ارائه به علاقهمندان است.
این کتاب با قیمت ۲۰۰۰۰۰ ریال معادل ۲۰ هزار تومان عرضه خواهدشد.
به منظور آشنایی بیشتر با این کتاب مقدمه و فهرست آن در ادامه میآید؛
برای تهیه این کتاب یکشنبهها از ساعت ۱۶ تا ۱۸ و سهشنبهها و پنجشنبهها از ساعت ۱۲ تا ۱۴ به جز روزهای تعطیل با تلفن 03136687033 تماس بگیرید؛ همچنین میتوانید با ارائه نام و نام خانوادگی و تلفن تماس به ایمیل انجمن به نشانی
درخواست تهیه این کتاب را ثبت کنید.
به امید روزهای روشنتر.
مقدمه
به نام خداوند جان و خرد
در سالهای اخیر صفحهخوان رایگان و منبعباز NVDA در ایران و جهان بین افراد نابینا به محبوبیت بسیاری رسیده است. این صفحهخوان سریع، سبک و انعطافپذیر افراد نابینا را قادرمیکند تا از سیستمعامل Windows به نحو احسن استفاده کنند. همچنین پشتیبانی این صفحهخوان از زبانهای بسیار از جمله فارسی آن را به گزینهای مناسب برای کاربران در سراسر جهان تبدیلکردهاست.
امکانی دیگر که NVDA را به صفحهخوانی قدرتمند بدلساخته پشتیبانی آن از افزونه است. افزونهها برنامههای کوچکی هستند که توسط کاربران NVDA برای آن توسعهمییابند و با نصب آنها روی NVDA امکاناتی بیش از آنچه این صفحهخوان بهشکل پیشفرض در اختیار ما قرارمیدهد را به ما ارائهمیدهند. این امکانات اضافی میتواند شامل پشتیبانی از برنامههای با دسترسپذیری نامناسب، ارائه امکاناتی که در همهجا قابل استفادهاست، پشتیبانی از موتورهای صوتی و نمایشگرهای بریل جدید و غیره باشد.
افزونههای NVDA با استفاده از زبان برنامهنویسی Python نسخه ۳ که بخش اعظم صفحهخوان با آن توسعهیافته نوشتهمیشوند. گستردگی بسیار این زبان برنامهنویسی امکاناتی بسیار پیشرفته را در اختیار توسعهدهندگان افزونه قرار میدهد که میتواند باعث ایجاد افزونههایی بسیار قدرتمند شود.
در کتاب پیش رو تلاششده مبانی توسعه افزونه برای صفحهخوان محبوب NVDA به شما کاربران گرامی آموزشدادهشود. این کتاب بر پایه راهنمای رسمی توسعه افزونه نوشتهشده و تلاشگردیده با استفاده از منابع دیگر مطالب آن تا حد امکان غنی و پربارشود. شما برای استفاده از این کتاب نیازمند دانش قبلی در مورد نحوه برنامهنویسی به زبان Python نسخه ۳ هستید و داشتن دانش کافی در مورد پکیج wxPython هم میتواند در تهیه رابطهای کاربری گرافیکی مثل کادرهای محاورهای مفید واقعگردد.
ساختار کتاب
- در فصل اول که مربوط به مفاهیم اولیه افزونه است، ابتدا با افزونه، ماژول، بسته و پیشنیازهای توسعه افزونه آشنا میشویم و سپس نحوه مناسبسازی NVDA برای برنامهنویسی به زبان Python را یاد میگیریم.
- در فصل دوم کار را شروع میکنیم. ابتدا با نحوه اجرای آزمایشی یک افزونه در هنگام توسعه و ساختار کدهای افزونه آشنا میشویم. سپس چند نمونه افزونه را بررسی میکنیم. بعد چند نکته مهم در مورد توسعه افزونه را میآموزیم و نهایتا به نحوه عیبیابی یک افزونه میپردازیم.
- در فصل سوم که به ماژولهای کاربردی در هسته NVDA اختصاص دارد اول نگاهی اجمالی داریم به ماژولها و متدهای پرکاربرد در هسته NVDA. سپس در چند نمونه از برخی از این ماژولها و متدها استفاده میکنیم.
- در فصل چهارم که مربوط به کنسول Python موجود در NVDA است، با این کنسول آشنا میشویم؛ کار با آن را یاد میگیریم؛ و به درونریزیهای خودکار، متغیرهای حاوی اطلاعات ذخیرهشده در هنگام باز شدن کنسول و تکمیل با کلید tab در کنسول میپردازیم.
- در فصل پنجم که به کار با اشیای روی صفحه اختصاص دارد، بررسی اطلاعات یک شی، بررسی سلسلهمراتب اشیا با استفاده از امکان پیمایش شی به شی و کنسول، تفاوت شی تمرکز و شی پیمایش و مواردی دیگر را در مورد اشیا میآموزیم.
- در فصل ششم که در آن مطالب فصل قبل ادامه یافته است، با اشیای ویژه و جایگزینی ویژگیهای اشیا در طی اجرا آشنا میشویم و در چند نمونه مطالب این فصل و فصل قبلی را تمرین میکنیم.
- فصل هفتم به ورودی و خروجی در افزونهها اختصاص دارد. در این فصل با اسکریپتها و پیامهای واسط کاربری، script decorator و آرگومانهای آن، ترتیب جستجوی اسکریپتها و تداخل فرمانها و نکاتی بیشتر در این رابطه آشنا میشویم و در چند نمونه مطالب این فصل را بیشتر بررسی میکنیم.
- در فصل هشتم که مربوط به رویدادها است، به مفهوم رویداد، رویدادهای داخل اشیا و رویدادهای پرکاربرد میپردازیم و در دو نمونه از رویدادها استفاده میکنیم.
- فصل نهم به سایر اجزای افزونه اختصاص دارد. در این فصل با اجزای دیگر افزونه، نکاتی در مورد برنامهریزی برای توسعه یک افزونه و بایدها و نبایدها در توسعه افزونه آشنایی پیدا میکنیم و در چند نمونه بهصورت عملی برخی از مطالب این فصل را تمرین میکنیم. نهایتا برخی از سوالات متداول را در مورد توسعه افزونه مورد بررسی قرار میدهیم.
- در فصل دهم به طور خاص به پلاگینهای سراسری میپردازیم. ابتدا بیشتر با پلاگینهای سراسری آشنا میشویم. سپس راجع به برنامه توسعه برای پلاگینهای سراسری، کدهای پلاگینهای سراسری، اینکه چه وقت پلاگین سراسری بنویسیم و چه وقت ننویسیم و چند نکته دیگر در مورد پلاگینهای سراسری صحبت میکنیم. نهایتا در چند نمونه برخی از مطالب این فصل را بهشکل عملی بهکار میگیریم.
- فصل یازدهم به ماژول برنامه اختصاص یافته است. در این فصل ابتدا بیشتر با ماژول برنامه آشنا میشویم. سپس درباره تفاوتهای بین ماژولهای برنامه و پلاگینهای سراسری، فرایند و استراتژیهای توسعه ماژولهای برنامه، ویژگیها و متدهای کاربردی در ماژولهای برنامه و نکاتی بیشتر در مورد ماژولهای برنامه بحث میکنیم. همچنین در طی فصل در چند نمونه بهصورت عملی با بعضی از مفاهیم این فصل کار میکنیم.
- در فصل دوازدهم که به افزونههای درایور اختصاص دارد، با مفهوم درایور؛ اجزای یک افزونه درایور؛ موارد مهمی که باید قبل، حین و بعد از توسعه یک افزونه درایور به آنها توجه کنیم و گامهایی که معمولا در توسعه یک افزونه درایور باید دنبال کنیم آشنا میشویم.
- فصل سیزدهم مربوط به گسترشدهندهها میباشد. در این فصل در مورد مفهوم گسترشدهنده، اجزای یک گسترشدهنده، موارد مهم مربوط به توسعه یک گسترشدهنده و گامهای معمول در توسعه یک گسترشدهنده بحث میکنیم.
- در فصل چهاردهم به امکانات و نمونه کدهای پیشرفته پرداختهایم. ابتدا با کادرهای محاورهای تعاملی و رابط کاربری گرافیکی در NVDA آشنا میشویم. سپس در دو نمونه یک کادر محاورهای ساده و یک کادر محاورهای پیچیدهتر را ایجاد میکنیم. بعد در مورد مفهوم thread و سناریوهای استفاده از آن صحبت میکنیم و در دو نمونه، از thread استفاده میکنیم.
- در فصل پانزدهم در مورد بومیسازی و تهیه نسخه نهایی از افزونه بحث کردهایم. در این فصل درباره اصول بومیسازی افزونه، پیشنیازها برای تهیه الگوی نسخه نهایی و پرونده الگوی ترجمه و آمادهسازی الگو برای استفاده صحبت میکنیم و در نمونهها این مراحل را در عمل انجام میدهیم.
- در فصل شانزدهم مبحث فصل قبل را ادامه دادهایم. در این فصل با نحوه تهیه پرونده الگوی ترجمه، ایجاد پروندههای زبان با استفاده از پرونده الگوی ترجمه، تهیه نسخه نهایی افزونه و نحوه نصب افزونههای NVDA آشنا میشویم. در این فصل هم در دو نمونه این مراحل را بهصورت عملی طی کردهایم.
- نهایتا در فصل هفدهم که به دسترسی به اطلاعات بیشتر در مورد توسعه افزونههای NVDA اختصاص دارد، ابتدا به نحوه دریافت راهنمایی برای ماژولهای NVDA و سپس روش یادگیری مطالب بیشتر از طریق مطالعه افزونههای دیگر پرداختهایم.
این کتاب دارای یک واژهنامه هم هست که در آن اکثر لغات انگلیسی به کار رفته در کتاب، همراه معادل فارسی آنها ارائه شدهاست.
توجه در استفاده
لطفاً در استفاده از کتاب به نکات زیر توجه فرمائید:
- سیستمعامل بهکارگرفتهشده در این کتاب، Windows 10 Pro نسخه ۶۴ بیتی است.
- در هنگام نگارش این کتاب از نسخه ۲۰۲۱٫۲ صفحهخوان NVDA استفادهشدهاست.
- نگارش Python بهکاررفته در این کتاب ۳ میباشد.
- دو پوشه Tools که شامل ابزار مورد نیاز برای استفاده از کتاب است و Examples که پروندههای Python مربوط به نمونههای کتاب در آن قراردارند به همراه این کتاب ارائهشدهاست.
- بهتر است در هر قسمت، پس از تمرین و تسلط نسبی به قسمت بعدی بروید.
- عبارات دیگری که همراه صحبتهای گوینده میشنوید، خروجی صفحهخوان NVDA نسخه ۲۰۲۱٫۲ به همراه موتور صوتی Eloquence و در مواردی موتور صوتی پارسآوا نسخه ۳ است؛ صفحهخوان، نوشتههای خروجی برنامهها را به گفتار تبدیل میکند.
- با کلمات و عباراتی که از صفحهخوانها میشنوید به خوبی مأنوس شوید؛ زیرا وقتی با نرمافزارها، وب، رایانه و تلفن همراه کار میکنید؛ عملا توسط صدای آنهاست که می بینید.
- نسخه متنی این کتاب نیز در دو قالب .DOCX و .EPub در پوشه کتاب موجود است. میتوانید طبق تمایل خود قالب .DOCX را با نرمافزار Word یا قالب .EPub کتاب را با برنامه Thorium Reader در ویندوز و @Voice Aloud Reader در اندروید مطالعه کنید.
قدردانی
در این جا فرصت را غنیمت شمرده و از حمایت خانهی ریاضیات اصفهان، به ویژه آقای دکتر علی رجالی، و از همکاری خانم سارا منوچهری که در تهیهی این کتاب ما را یاری کردند و از شما که با نظرات خود موجب ارتقای این کار و کارهای بعدی میشوید قدردانی میکنیم.
نصرالله رضائی
فهرست
مقدمه
فصل 1. مفاهیم پایه مربوط به افزونهها
1-1. مقدمه
1-2. افزونه چیست؟
1-3. ماژول چیست؟
1-4. بسته چیست؟
1-5. پیشنیازها
1-6. مناسبسازی NVDA برای برنامهنویسی به زبان Python
فصل 2. شروع کار
2-1. اجرای آزمایشی یک افزونه در هنگام توسعه
2-2. ساختار کدهای افزونه
2-3. نمونه ۱: پخش بوق با فشردن یک کلید میانبر
2-4. نمونه ۲: پخش بوق در هنگام تمرکز روی پنجره برنامه Notepad
2-5. چند نکته مهم درباره توسعه افزونه
2-6. عیبیابی
فصل 3. ماژولهای کاربردی در هسته NVDA
3-1. آشنایی با ماژولها و متدهای کاربردی در هسته NVDA (قسمت اول)
3-2. آشنایی با ماژولها و متدهای کاربردی در هسته NVDA (قسمت دوم)
3-3. نمونه ۱: تشخیص برنامهای که تمرکز در آن قراردارد
3-4. نمونه ۲: نمایش یک پیام به عنوان یک سند در حالت مرور
3-5. نمونه ۳: اعلام شناسه خودکارسازی یک شی از واسط کاربری
3-6. نمونه ۴: ارسال کلید
3-7. نمونه ۵: توقف گفتار در هنگام تغییر محتوای صفحه در صورت غیرفعالبودن حالت اعلام تغییر در محتوای پویا
3-8. نمونه ۶: استفاده از Script decorator
فصل 4. کنسول Python موجود در NVDA
4-1. مقدمه
4-2. نحوه استفاده
4-3. درونریزیهای خودکار
4-4. متغیرهای حاوی اطلاعات ذخیرهشده در هنگام بازشدن کنسول
4-5. تکمیل با کلید tab
فصل 5. کار با اشیای روی صفحه (قسمت اول)
5-1. مقدمه
5-2. بررسی اطلاعات یک شی
5-3. بررسی سلسلهمراتب اشیا با استفاده از امکان پیمایش شی به شی
5-4. بررسی سلسلهمراتب اشیا با استفاده از کنسول
5-5. شی تمرکز در مقابل شی پیمایش
5-6. سایر موارد کاربردی مربوط به اشیا
فصل 6. کار با اشیای روی صفحه (قسمت دوم)
6-1. نمونه ۱: یافتن مقدار یک نوار لغزنده در یک برنامه
6-1-1. روش اول
6-1-2. روش دوم
6-2. اشیای ویژه و جایگزینی ویژگیهای اشیا در طی اجرا
6-3. نمونه ۲: تغییر نقش پنجرهها در یک برنامه نوشتهشده با نرمافزار Delphi
6-4. نمونه ۳: مثالی از یک کلاس روکش
فصل 7. ورودی و خروجی: اسکریپتها و پیامهای واسط کاربری
7-1. مقدمه
7-2. نمونه ۱: یک دیکشنری اسکریپت و پیام خروجی ساده
7-3. نمونه ۲: ارائه اطلاعات به یک اسکریپت با استفاده از Script decorator
7-4. آرگومانهای Script decorator
7-5. نمونه ۳: اسکریپتهایی برای اشیایی خاص
7-6. ترتیب جستجوی اسکریپتها و تداخل فرمانها
7-7. نکاتی بیشتر در مورد اسکریپتها
فصل 8. رویدادها
8-1. مقدمه
8-2. نمونه ۱: اعلام نام تغییریافته یک کنترل
8-3. رویدادها داخل اشیا
8-4. نمونه ۲: پخش صدای بوق هنگام ایجاد تغییر در متن در Notepad
8-5. لیست رویدادهای پرکاربرد
فصل 9. سایر اجزای افزونه
9-1. مقدمه
9-2. نکاتی در مورد برنامهریزی برای یک افزونه و توسعه آن
9-3. بایدها و نبایدها در توسعه افزونه
9-4. نمونه ۱: اعلام تاریخ میلادی
9-5. نمونه ۲: اعلام تاریخ شمسی
9-5-1. نصب و کپی ماژول خارجی مورد نظر
9-5-2. بررسی نمونه
9- 6. سوالات متداول در مورد قسمتهای مختلف افزونهها و توسعه افزونه
فصل 10. پلاگینهای سراسری
10-1. مقدمه
10-2. برنامه توسعه برای پلاگینهای سراسری
10-3. کدهای پلاگینهای سراسری
10-4. چه وقت پلاگین سراسری بنویسیم و چه وقت ننویسیم
10-5. چند نکته دیگر در مورد پلاگینهای سراسری
10-6. نمونه ۱: بخشی از یک افزونه برای نوشتن بریل با صفحهکلید
10-7. نمونه ۲: پخش صدای بوق در هنگام بارگزاری و بستهشدن یک پلاگین سراسری
فصل 11. ماژولهای برنامه
11-1. مقدمه
11-2. تفاوتهای بین ماژولهای برنامه و پلاگینهای سراسری
11-3. فرایند و استراتژیهای توسعه ماژولهای برنامه
11-4. نمونه ۱: ماژول برنامهای ساده برای Notepad
11-5. نمونه ۲: ساکتکردن NVDA در Kurzweil 1000
11-6. نمونه ۳: پخش صدای بوق در هنگام بارگزاری و بستهشدن یک ماژول برنامه
11-7. نمونه ۴: اعلام تغییرات در ویژگیهای یک کنترل در یک برنامه در حال استفاده از یک برنامه دیگر
11-8. ویژگیها و متدهای کاربردی در ماژولهای برنامه
11-9. نکاتی دیگر در مورد ماژولهای برنامه
فصل 12. درایورهای موتورهای صوتی و نمایشگرهای بریل
12-1. مقدمه
12-2. اجزای یک درایور
12-3. مواردی مهم برای قبل، طی و بعد از توسعه درایور
12-4. گامهای معمول در توسعه درایور
فصل 13. گسترشدهندهها
13-1. مقدمه
13-2. اجزای یک گسترشدهنده
13-3. مواردی مهم برای قبل، طی و بعد از توسعه یک گسترشدهنده
13-4. گامهای معمول در توسعه یک گسترشدهنده
فصل 14. امکانات و نمونه کدهای پیشرفته
14-1. کادرهای محاورهای تعاملی
14-1-1. مقدمه
14-1-2. نمونه ۱: یک کادر محاورهای ساده
14-1-3. نمونه ۲: یک کادر محاورهای پیچیدهتر
14-2. استفاده از Thread
14-2-1. مقدمه
14-2-2. سناریوهای استفاده از Thread
14-2-3. نمونه ۳: دانلود محتوا از یک وبسایت توسط یک پلاگین سراسری
14-2-4. نمونه ۴: اعلام یک پیام ۱۰ ثانیه پس از فشردن یک کلید میانبر
فصل 15. بومیسازی و تهیه نسخه نهایی از افزونه (قسمت اول)
15-1. مقدمه
15-2. اصول بومیسازی افزونه
15-3. نمونه ۱: آمادهسازی افزونه اعلام تاریخ شمسی برای بومیسازی
15-4. پیشنیازها برای تهیه نسخه نهایی و پرونده الگوی ترجمه
15-5. آمادهسازی الگو برای استفاده
15-6. نمونه ۲: آمادهسازی الگو برای افزونه اعلام تاریخ شمسی
15-6-1. ایجاد پوشههای لازم، انتقال پروندههای افزونه و شروع بومیسازی
15-6-2. سفارشی کردن پرونده buildvars.py
15-6-3. آمادهسازی سند راهنما و نسخه ترجمهشده آن برای زبانهای افزونه
فصل 16. بومیسازی و تهیه نسخه نهایی از افزونه (قسمت دوم)
16-1. تهیه پرونده الگوی ترجمه
16-2. ایجاد پروندههای زبان با استفاده از پرونده الگوی ترجمه
16-3. نمونه ۳: تهیه الگوی ترجمه و پرونده زبان برای افزونه اعلام تاریخ شمسی
16-4. تهیه نسخه نهایی افزونه
16-5. نصب افزونههای NVDA
16-6. نمونه ۴: تهیه نسخه نهایی از افزونه اعلام تاریخ شمسی
فصل 17. دسترسی به اطلاعات بیشتر
17-1. دریافت راهنمایی برای ماژولهای NVDA
17-2. یادگیری مطالب بیشتر از طریق مطالعه افزونههای دیگر
واژهنامه
۱۲ دیدگاه دربارهٔ «انتشار کتاب خودآموز مبانی توسعه افزونههای NVDA برای نابینایان»
سلام به همه دوستان در محله نابینایان, و با تشکر از انجمن موج نور برای انتشار این کتاب
ارزشمند
سلام، انجام وظیفه میکنیم؛ سلامت باشید.
سلام به انجمن موج نور!
خیلی خوبه که کتابو تولید کردید.
من راستش منتظر این کتاب بودم هر هفته محله رو چک میکردم هفته پیش یادم رفت ولی دیشب امیرعلی فرخنده نژاد بهم گفت که تولید شده.
میخواستم ۲ چیز رو خدمتتون عرض کنم.
اول اینکه یادم رفته بود شماره کارتتون رو ضخیره کنم اگه میشه برام شماره کارتتون رو یا تو این کامنتا یا تو ایمیلم برام بفرستید که امشب یا فردا کتابو بخرم.
بعد اینکه میخواستم بگم که اگه میتونید و در توانتون هست، کتاب مبانی پیشرفته ی Bgt رو تولید کنید.
البته هر چند که خودم دیگه تقریباً بهش مسلط شدم ولی بازم بدک نیست که تولیدش کنید خیلی به درد بقیه هم میخوره و خوب هست البته شاید هم من هم یه چیزای جدیدی از توش یاد بگیرم
موفق باشید.
سلام بر شما بزرگمهر عزیز و پرتلاش، بله بالاخره کتاب تولیدشد؛ از لطف شما متشکریم؛ درمورد مبانی پیشرفته BGT به دلیل اظهار نظر برخی دوستان مبنی بر عدم کاربرد گسترده آن، به احتمال زیاد امکانش نیست؛ اما نظر شما به مسؤولین منعکس خواهدشد؛ درمورد شماره حساب و کارت هم در زیر اطلاعات را بخوانید.
موفقیتهای روزافزون شما و دیگر دوستان آرزوی قلبی ماست؛
شماره حساب انجمن موج نور نزد بانک ملت شعبه چهارباغ بالا، شهر اصفهان:
۱۶۴۵۲۰۳۷.۶۳
شماره کارت:
۶۱۰۴۳۳۷۷۷۰۱۲۵۸۸۶
شمارهی شبا:
IR240120000000001645203763
لطفاً پس از واریز وجه، از طریق اشتراکگذاری فایل یا ارسال شماره پیگیری اطلاع دهید.
متشکریم.
سلام.
چندتا پیشنهاده خوب که خیلی میتونه بهت کمک کنه:
۱. به دلیله اینکه bgt رسما (چند ساله) پشتیبانی نمیشه. برای بازی نویسی میتونی از پایتون با استفاده از pygame بازی بنویسی ، و
۲. به خاطره محدودیتایه خیلی زیاد (به خصوص تو استفاده از dll و ارتباط مستقیم با سیستم عامل) با bgt به مشکلاته فراوانی میخوری که بهت از همینجا (خیلی دوستانه و برادرانه) پیشنهاد میکنم که از این زبونه اسکریپت نویسی که از AngelScript گرفته شده استفاده نکنی.
چرا که نه یه کامیونیتیه خوب هست که اگه به مشکل خوردی کمکت کنه و به دلیله محدودیتایی که برات نوشتم خیلی نمیتونی کار کنی. سوای اینکه تو bgt چیزی به اسمه threading نیست که این یکی از محدودیتایه بزرگه (البته تو پایتونم threading رو به معنایه واقعی نداریم).
به هر حال اگه قصده پیشرفت تو برنامه نویسی رو داری بی جی تی رو بزارش کنار.
با زبونایی مثل پایتون ، جاوا ، گو و … غیر از نوشتنه audiogame ، میتونی تو چیزایه دیگه مثل back-end development, ml و … هم وارد بشی و جایه پیشرفت داری.
سلام، از پاسخ شما تشکر میکنیم.
سلام مرسی.واقعا جای مطالب دسترسپذیر برای برنامه نویسی به زبان فارسی خالیه.
فقط ای کاش یک افضونه رو از ۰ تا ۱۰۰ مینوشتید که هم در یک فصل مطالب کاملا عملی ارائه بشه و هم بچه ها با فرایند بیشتر آشنا میشدن و این کار به صورت کاملا لایو انجام بشه که مخاطب ببینه که چجوری خطا های پیش آمده رو رفع میکنید اچجوری دیباگ میکنید حتی چجوری با جامعه ی برنامه نویسان nvda تعامل میکنید و…
و نکته ی دیگه این که اگر از editor یا IDE استفاده شده اسمش رو بنویسید.
و اگه این کتاب پیشنیازی هم داره اون رو هم تحت عنوان آن چه باید بدانید بزارید و اگه محصول مرتبط دارید که اون رو پوشش میده بهش اشاره کنید.
نکته ی دیگه هم اینه که کدها و مثال ها رو به جای این که تو package آموزشی بزارید تو گیتهاب بزارید که بچه ها بتونن تکمیلترش کنن یا اگه نکته ای داشتن بهش اضافه کنن.
راستی جالب میشد که اگه نسخه ای آزاد از یه سری کتاب هاتون به صورت متنی درست میشد و هر کسی میتونست بهش نکته ای اضافه کنه مثل بعضی از آموزش هایی که تو گیتهاب هست و اگه کسی نکته ای داره میفرسته و در صورت تعیید به پروژه اضافه میشه.
مرسی.
سلام بر شما دوست فرهیخته و توانمند؛ متشکریم؛
از اظهار نظر و پیشنهادات به جا و شایستهتان سپاسگزاریم؛ نظرات شما به تهیهکنندگان منعکس خواهدشد؛
درمورد پیشنیازها و محصولات مرتبط، در مقدمه کتاب تاحدودی صحبت شدهاست، اگرچه براساس نظر شما این مقدار کافی نیست.
سربلند و پیروز باشید.
سلام.
با سپاس جهت تهیه این خود آموز ارزشمند.
و تشکر ویژه بابت ارائه فایل متنی.
درود بر شما، انجام وظیفه کردهایم.
یک سوال.
این کتاب تکجلدیست یا باید منتظر جلدهای دیگر نیز باشیم.
سلام، با تشکر از شما، این کتاب تک جلدی است؛ مگر اینکه نیازهای بعدی ایجاب کند که مطالبی به آن افزوده یا در آن تغییر کند. موفقتر از پیش باشید.