کتاب Java Cookbook یا راهنمای جاوا، نسخهی چهارم این کتاب است که به تازگی منتشر شده است. این کتاب با بهرهمندی از آخرین تغییرات زبان برنامهنویسی جاوا با زبانی شیوا و آسان، این زبان را آموزش میدهد. همچنین این کتاب در 18 فصل انواع مباحث مهم در زبان جاوا و همچنین نکات مقدماتی تا پیشرفتهی آن را نیز برای شما تشریح خواهد کرد.
در ادامه مقدمهای از کتاب Java Cookbook را از زبان نویسنده شرح خواهیم داد.
مقدمهای بر کتاب Java Cookbook:
مانند هر یک از پرکاربردترین زبانهای برنامهنویسی، جاوا دارای سهم خود از مخالفان، طرفداران، مسائل، خصلتها و منحنی یادگیری است. هدف کتاب راهنمای جاوا این است که به توسعهدهنده جاوا کمک کند تا برخی از مهمترین بخشهای توسعه جاوا را سریعتر کند. من بر روی APIهای استاندارد و برخی از APIهای شخص ثالث تمرکز میکنم، اما در پوشش مسائل زبان نیز تردیدی ندارم.
این چهارمین ویرایش کتاب Java Cookbook است و توسط بسیاری از افراد و تغییرات بیشماری که جاوا در دو دهه اول محبوبیت خود متحمل شده است، شکل گرفته است. خوانندگان علاقه مند به تاریخچه جاوا میتوانند به پیوست A مراجعه کنند.
جاوا 11 نسخه فعلی پشتیبانی طولانی مدت است، اما جاوا 12 و 13 خارج شدهاند. جاوا 14 در دسترس است و برای انتشار نهایی در همان روز با نسخه چهارم کتاب Java Cookbook برنامه ریزی شده است.
سرعت انتشار جدید هر شش ماه ممکن است برای تیم توسعه Java SE در Oracle و برای سایتهای خبری مرتبط با جاوای کلیکمحور عالی باشد، اما ممکن است برای نویسندگان کتاب جاوا «کار اضافی ایجاد کند»، زیرا کتابها معمولاً دارای یک چرخه ویرایش طولانی تر از جاوا که اکنون انجام میدهد! جاوا 9، که پس از ویرایش قبلی کتاب Java Cookbook منتشر شد، یک نسخه شکستنخورده بود، اولین نسخه در یک زمان بسیار طولانی که سازگاری رو به عقب را شکست، در درجه اول سیستم ماژول جاوا. فرض بر این است که همه چیز در کتاب روی هر JVM که هنوز برای توسعه کد استفاده میشود کار میکند.
هیچ کس نباید از جاوا 7 (یا هر چیزی قبل از آن!) برای چیزی استفاده کند، و هیچکس نباید توسعه جدیدی را در جاوا 8 انجام دهد.
هدف از این ویرایش این است که کتاب را با این همه تغییر به روز نگه دارد. در حالی که بسیاری از مطالب قدیمی را حذف میکنم، اطلاعاتی در مورد ویژگیهای جدید مانند ماژولها و JShell تعاملی اضافه کرده ام و بسیاری از اطلاعات دیگر را در طول مسیر به روز کردهام.
کتاب Java Cookbook برای چه کسی است؟
من فرض میکنم که شما اصول جاوا را میدانید. من به شما نمیگویم چگونه یک رشته را چاپ کنید، و نه چگونه کلاسی بنویسید که دیگری را گسترش دهد و/یا یک رابط را پیادهسازی کند. من فرض میکنم که شما یک دوره جاوا مانند Learning Tree’s Introduction را گذرانده اید یا یک کتاب مقدماتی مانند Head First Java، Learning Java یا Java in a Nutshell (O’Reilly) مطالعه کرده اید. با این حال، فصل 1 کتاب Java Cookbook، تکنیکهایی را پوشش میدهد که ممکن است به خوبی آنها را ندانید و برای درک برخی از مطالب بعدی ضروری هستند. راحت بگذرید! هم نسخه چاپی کتاب و هم نسخه الکترونیکی آن به شدت دارای ارجاعات متقابل هستند.
در کتاب Java Cookbook چیست؟
به نظر میرسد جاوا برای «توسعه در بزرگ» یا توسعه برنامههای کاربردی سازمانی مناسبتر از اسکریپتهای تکخطی و تکخطی در Perl، Awk یا Python است. این به این دلیل است که یک زبان کامپایل شده و شیگرا است. با این حال، این تناسب با ظاهر JShell تا حدودی تغییر کرده است (به دستور العمل 1.4 مراجعه کنید). من بسیاری از تکنیکها را با نمونههای کلاس جاوا کوتاهتر و حتی قطعات کد نشان میدهم. برخی از سادهترها با استفاده از JShell نشان داده میشوند.
همه نمونههای کد (غیر از برخی از یک یا دو لاینر) در یکی از مخازن عمومی GitHub من هستند، بنابراین میتوانید مطمئن باشید که هر قطعه کدی که در اینجا میبینید کامپایل شده است و اکثر آنها اخیرا اجرا شدهاند.
برخی از مثالهای طولانیتر در کتاب Java Cookbook ابزارهایی هستند که من در ابتدا برای خودکار کردن برخی از کارهای روزمره یا کارهای دیگر نوشتم. به عنوان مثال، ابزاری به نام MkIndex (در مخزن javasrc) دایرکتوری سطح بالای مکانی را که من کد منبع نمونه جاوا خود را در آن نگهداری میکنم میخواند و یک فایل index.html مناسب مرورگر را برای آن فهرست میسازد.
مثال دیگر XmlForm است که برای تبدیل بخشهایی از نسخه خطی از XML به فرم مورد نیاز نرمافزار انتشاراتی دیگر استفاده میشود. XmlForm همچنین با استفاده از برنامه دیگری، GetMark، کدهای کامل و جزئی را از فهرست جاواsrc در دستنوشته کتاب درج میکند. XmlForm در مخزن Github که ذکر کردم گنجانده شده است، همانطور که نسخه بعدی GetMark است، اگرچه هیچ یک از اینها در ساخت نسخه چهارم استفاده نشده است. این روزها، نرمافزار انتشارات O’Reilly’s Atlas از Asciidoctor استفاده میکند که مکانیزمی را که ما برای درج فایلها و بخشهایی از فایلها در کتاب استفاده میکنیم، ارائه میدهد.
سازمان کتاب Java Cookbook
بیایید به سازماندهی این کتاب بپردازیم. هر فصل کتاب Java Cookbook شامل تعداد انگشتشماری دستور العمل، بخشهای کوتاهی است که یک مشکل و راه حل آن را به همراه یک مثال کد توضیح میدهد. در نظر گرفته شده است که کد در هر دستور العمل تا حد زیادی مستقل باشد. در صورت تمایل به قرض گرفتن تکههایی از هر یک از آنها برای استفاده در پروژههای خود. این کد با حق چاپ به سبک برکلی توزیع شده است، فقط برای جلوگیری از بازتولید عمدهفروشی.
من فصل 1، شروع به کار: کامپایل و اجرای جاوا را با توضیح برخی از روشهای کامپایل برنامهتان در پلتفرمهای مختلف، اجرای آنها در محیطهای مختلف (مرورگر، خط فرمان، دسکتاپ پنجرهدار) و اشکالزدایی شروع میکنم.
فصل 2، تعامل با محیط، از کامپایل و اجرای برنامه شما به سازگاری آن با حومه اطراف حرکت میکند – برنامههای دیگری که در رایانه شما زندگی میکنند.
چند فصل بعدی به API های اساسی میپردازد. فصل 3، رشتهها و چیزها، بر یکی از ابتداییترین اما قدرتمندترین انواع داده در جاوا تمرکز دارد و به شما نشان میدهد که چگونه متنی را که در غیر این صورت ممکن است به عنوان متن معمولی تصور کنید، جمعآوری، تجزیه، مقایسه و تنظیم مجدد کنید. این فصل از کتاب Java Cookbook همچنین موضوع بینالمللیسازی/محلیسازی را پوشش میدهد تا برنامههای شما در اکبر، افغانستان، الجزایر، آمستردام و آنگلتر مانند آلبرتا، آرکانزاس و آلاباما به خوبی کار کنند.
فصل 4 کتاب Java Cookbook، تطبیق الگو با عبارات منظم، به شما میآموزد که چگونه از فناوری عبارات منظم قدرتمند یونیکس در بسیاری از حوزههای مشکل تطبیق رشته و تطبیق الگو استفاده کنید. پردازش Regex برای سالها در جاوا استاندارد بوده است، اما اگر نمیدانید چگونه از آن استفاده کنید، ممکن است لاستیک صاف را دوباره اختراع کنید.
فصل 5، Numbers، هم به انواع عددی داخلی مانند int و double، و همچنین کلاسهای API مربوطه (Integer، Double، و غیره) و امکانات تبدیل و آزمایشی که ارائه میدهند، میپردازد. همچنین اشاره مختصری به کلاسهای “تعداد بزرگ” وجود دارد. از آنجایی که برنامهنویسان جاوا اغلب باید به تاریخها و زمانها بپردازند، چه در سطح محلی و چه در سطح بینالمللی، فصل 6، تاریخ و زمان، این موضوع مهم را پوشش میدهد.
چند فصل بعدی پردازش دادهها را پوشش میدهد. همانطور که در بیشتر زبانها، آرایهها در جاوا مجموعهای خطی و فهرستبندیشده از اشیاء مشابه هستند، همانطور که در فصل ۷، ساختار دادهها با جاوا بحث شد. این فصل از کتاب Java Cookbook به بسیاری از کلاسهای مجموعهها میپردازد: روشهای قدرتمند ذخیرهسازی مقادیری از اشیاء در بسته java.util، از جمله استفاده از Java Generics.
علیرغم برخی شباهتهای نحوی به زبانهای رویه ای مانند C، جاوا در قلب یک زبان برنامهنویسی شیگرا (OOP) است، با برخی از ساختارهای مهم برنامهنویسی کاربردی (FP) که به طرز ماهرانهای در هم آمیخته شدهاند.
فصل 8، تکنیکهای شی گرا، برخی از این موارد را مورد بحث قرار میدهد.
مفاهیم کلیدی OOP همانطور که در جاوا به کار میرود، از جمله روشهای رایج نادیده گرفته شده java.lang.Object و مسئله مهم الگوهای طراحی. جاوا یک زبان FP خالص نیست و هرگز نخواهد بود. با این حال، استفاده از برخی از جنبههای FP امکانپذیر است، به طور فزایندهای با جاوا 8 و پشتیبانی آن از عبارات لامبدا (با نام مستعار بسته شدن).
در فصل ۹، تکنیکهای برنامهنویسی کاربردی: رابطهای عملکردی، جریانها و مجموعههای موازی مورد بحث قرار گرفته است.
فصل بعدی کتاب Java Cookbook به جنبههای ورودی و خروجی سنتی میپردازد.
فصل 10، ورودی و خروجی: خواندن، نوشتن، و ترفندهای فهرست، قوانین خواندن و نوشتن فایلها را به تفصیل شرح میدهد (اگر فکر میکنید فایلها خستهکننده هستند، از این موضوع صرف نظر نکنید؛ در فصلهای بعدی به برخی از این اطلاعات نیاز خواهید داشت). این فصل از کتاب Java Cookbook همچنین هر چیز دیگری را درباره فایلها به شما نشان میدهد – مانند یافتن اندازه و زمان آخرین تغییر آنها – و در مورد خواندن و اصلاح فهرستها، ایجاد فایلهای موقت و تغییر نام فایلها روی دیسک.
کلان دادهها و علم داده تبدیل به یک چیز شده اند و جاوا درست در آنجاست. Apache Hadoop، Apache Spark، و بسیاری دیگر از زیرساختهای کلان داده، همانطور که در فصل 11، Data Science و R توضیح داده شد، با جاوا نوشته شده و با آن قابل توسعه هستند.
بیشتر بخوانید: کتاب Architecting Modern Data Platforms
زبان برنامهنویسی R بین دانشمندان داده، آماردانان و سایر دانشمندان محبوب است. حداقل دو پیادهسازی مجدد از R کدگذاری شده در جاوا وجود دارد، و جاوا همچنین میتواند مستقیماً با پیادهسازی استاندارد R در هر دو جهت ارتباط برقرار کند، بنابراین این فصل از کتاب Java Cookbook زبان R را نیز پوشش میدهد.
از آنجایی که جاوا در ابتدا به عنوان زبان برنامهنویسی اینترنت معرفی شد، صرف زمان صرف شبکه در جاوا صرفاً منصفانه است.
فصل ۱۲، مشتریان شبکه، اصول برنامهنویسی شبکه را از سمت کلاینت، با تمرکز بر سوکتها، پوشش میدهد. امروزه برنامههای زیادی نیاز به دسترسی به یک وب سرویس، در درجه اول خدمات وب RESTful دارند، که به نظر میرسد این ضروری است.
سپس در فصل 13، جاوا سمت سرور، به سمت سرور میروم، جایی که برخی از تکنیکهای برنامهنویسی سمت سرور را یاد خواهید گرفت.
یکی از نمایشهای ساده مبتنی بر متن برای تبادل داده، JSON، نماد شی جاوا اسکریپت است.
فصل 14 کتاب Java Cookbook، پردازش دادههای JSON، قالب و برخی از APIهای بسیاری را که برای مقابله با آن پدید آمدهاند، شرح میدهد.
فصل 15، بستهها و بستهبندی، نحوه ایجاد بستههایی از کلاسها را نشان میدهد که با هم کار میکنند. این فصل از کتاب Java Cookbook همچنین در مورد استقرار (با نام مستعار توزیع و نصب) نرم افزار شما صحبت میکند.
فصل 16، Threaded Java، به شما میگوید چگونه کلاسهایی بنویسید که به نظر میرسد بیش از یک کار را همزمان انجام میدهند و به شما امکان میدهند از سختافزار چند پردازنده قدرتمند بهره ببرید.
فصل 17، Reflection، یا «کلاسی با نام کلاس»، به شما اجازه میدهد تا با اسرار اطلاعاتی مانند نحوه نوشتن اسناد ارجاع متقابل API به صورت مکانیکی و اینکه چگونه سرورهای وب میتوانند هر Servlet قدیمی را بارگیری کنند – که قبلاً آن کلاس خاص را ندیدهاند – و آن را اجرا کنید.
گاهی اوقات شما قبلاً کدی دارید که به زبان دیگری نوشته شده و کار میکند که میتواند بخشی از کار شما را برای شما انجام دهد، یا میخواهید از جاوا به عنوان بخشی از یک بسته بزرگتر استفاده کنید.
فصل 18 کتاب Java Cookbook، استفاده از جاوا با زبانهای دیگر، به شما نشان میدهد که چگونه یک برنامه خارجی (کامپایل شده یا اسکریپت) را اجرا کنید و همچنین به طور مستقیم با کد اصلی در C/C++ یا زبانهای دیگر تعامل داشته باشید.
در کتابی به این اندازه جایی برای همه چیزهایی که میخواهم در مورد جاوا به شما بگویم وجود ندارد. The Afterword برخی از افکار پایانی و پیوندی به خلاصه آنلاین من از APIهای جاوا را ارائه میدهد که هر توسعه دهنده جاوا باید درباره آن بداند.
در نهایت، ضمیمه A، جاوا سپس و حالا، تاریخچه جاوا را در جدول زمانی انتشار به انتشار ارائه میکند، بنابراین هر نسخه از جاوا را که یاد گرفتید، میتوانید به اینجا بروید و به سرعت بهروز شوید.
موضوعات بسیار زیاد و صفحات بسیار کم! بسیاری از موضوعات پوشش 100٪ دریافت نمیکنند. من سعی کردهام مهمترین یا مفیدترین بخشهای هر API را لحاظ کنم. برای فراتر رفتن، صفحات رسمی جاوادوک را برای هر بسته بررسی کنید. بسیاری از این صفحات دارای اطلاعات آموزشی مختصری در مورد نحوه استفاده از بسته هستند.
علاوه بر بخشهایی از جاوا که در کتاب Java Cookbook پوشش داده شده است، دو نسخه پلتفرم دیگر، Java ME و Java EE استاندارد شدهاند. Java Micro Edition (Java ME) مربوط به دستگاههای کوچکی مانند گوشیهای دستی، تلفنهای همراه و دستگاههای فکس است.
در انتهای دیگر مقیاس اندازه – ماشینهای سرور بزرگ – Eclipse Jakarta EE وجود دارد که جایگزین جاوا EE سابق میشود که در قرن گذشته با نام J2EE شناخته میشد. Jakarta EE با ساخت برنامههای کاربردی بزرگ، مقیاس پذیر و توزیع شده سروکار دارد. APIهایی که بخشی از Jakarta EE هستند عبارتند از Servlets، JavaServer Pages، JavaServer Faces، JavaMail، Enterprise JavaBeans (EJBs)، Container and Dependency Injection (CDI) و Transactions.
بستههای EE جاکارتا معمولاً با «javax» شروع میشوند زیرا بستههای اصلی نیستند. کتاب Java Cookbook فقط به چند مورد از این موارد اشاره میکند. همچنین یک کتاب راهنمای Java EE 8 توسط Elder Moraes (O’Reilly) وجود دارد که برخی از APIهای جاکارتا EE را پوشش میدهد، و همچنین یک کتاب راهنمای قدیمی Java Servlet و JSP توسط بروس پری (O’Reilly) را پوشش میدهد.
این کتاب Java Micro Edition، Java ME را پوشش نمیدهد. اصلاً اما در مورد تلفنهای همراه و دستگاههای تلفن همراه، احتمالاً میدانید که اندروید از جاوا به عنوان زبان خود استفاده میکند. چیزی که باید برای توسعه دهندگان جاوا آرامش بخش باشد این است که اندروید از بیشتر API های اصلی جاوا استفاده میکند، به جز Swing و AWT که جایگزینهای مخصوص اندروید را برای آنها ارائه میدهد. توسعهدهنده جاوا که میخواهد اندروید را یاد بگیرد، ممکن است به کتاب راهنمای اندروید من (O’Reilly) یا وبسایت کتاب نگاه کند.
سرفصلهای کتاب Java Cookbook:
- Preface
- 1. Getting Started: Compiling and Running Java
- 2. Interacting with the Environment
- 3. Strings and Things
- 4. Pattern Matching with Regular Expressions
- 5. Numbers
- 6. Dates and Times
- 7. Structuring Data with Java
- 8. Object-Oriented Techniques
- 9. Functional Programming Techniques: Functional Interfaces, Streams, and Parallel Collections
- 10. Input and Output: Reading, Writing, and Directory Tricks
- 11. Data Science and R
- 12. Network Clients
- 13. Server-Side Java
- 14. Processing JSON Data
- 15. Packages and Packaging
- 16. Threaded Java
- 17. Reflection, or “A Class Named Class”
- 18. Using Java with Other Languages
- Afterword
- Java Then and Now
- Index
فایل کتاب Java Cookbook به همراه کدهای آن را میتوانید پس از پرداخت، دریافت کنید.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.