- عنوان: Troubleshooting Java / READ, DEBUG, AND OPTIMIZE JVM APPLICATIONS
- نویسنده: LAURENŢIU SPILCĂ
- حوزه: برنامه نویسی جاوا
- سال انتشار: 2021
- تعداد صفحه: 329
- زبان اصلی: انگلیسی
- نوع فایل: pdf
- حجم فایل: 9.03 مگابایت
واقعاً یک توسعه دهنده نرم افزار برای امرار معاش چه می کند؟ “نرم افزار پیاده سازی” رایج ترین پاسخ به این سوال است. اما به چه معنا است؟ آیا فقط کد می نویسد؟ خب نه. در حالی که درست است که کد نتیجه هر کاری است که یک توسعهدهنده نرمافزار انجام میدهد، فعالیت نوشتن کد تنها بخش کوچکی از زمان کار توسعهدهنده نرمافزار را میگیرد. بیشتر وقت یک توسعهدهنده نرمافزار صرف طراحی راهحلها، خواندن کدهای موجود، درک نحوه اجرای آن و یادگیری چیزهای جدید میشود. نوشتن کد نتیجه موفقیت یک توسعهدهنده نرمافزار است که همه این وظایف را با موفقیت انجام میدهد. بنابراین، یک برنامه نویس بیشتر وقت خود را صرف خواندن راه حل های موجود می کند تا اینکه به طور موثر قابلیت های جدید را بنویسد. کدنویسی پاک به عنوان یک موضوع، در نهایت، هدف یکسانی دارد: آموزش به توسعه دهندگان نحوه نوشتن راه حل های خواناتر. توسعهدهندگان میدانند که نوشتن یک راهحل سادهتر از ابتدا کارآمدتر از صرف زمان برای تلاش برای درک آن است. اما باید صادق باشیم و بپذیریم که همه راهحلها آنقدر تمیز نیستند که بتوانیم سریع آن را درک کنیم. ما همیشه با سناریوهایی روبرو خواهیم بود که در آنها باید اجرای برخی از قابلیت های خارجی را درک کنیم. واقعیت این است که توسعه دهندگان نرم افزار زمان زیادی را صرف بررسی نحوه عملکرد اپلیکیشن ها می کنند. آنها کد را در پایگاههای کد برنامهشان و وابستگیهای مرتبط میخوانند و بررسی میکنند تا بفهمند چرا چیزی آنطور که انتظار دارند کار نمیکند. توسعه دهندگان گاهی اوقات کد را فقط برای یادگیری یا درک بهتر یک وابستگی معین می خوانند. در بسیاری از موارد، خواندن کد کافی نیست، و شما باید راههای جایگزین (گاهی پیچیدهتر) را پیدا کنید تا بفهمید برنامه شما چه میکند. برای درک اینکه چگونه محیط بر برنامه شما یا نمونه JVM که برنامه جاوا شما روی آن اجرا می شود تأثیر می گذارد، می توانید از ترکیبی از بررسی های پروفایل، اشکال زدایی و گزارش استفاده کنید. اگر گزینه های خود و نحوه انتخاب از بین آنها را به خوبی بشناسید، در زمان ارزشمند خود صرفه جویی خواهید کرد. به یاد داشته باشید، این همان چیزی است که توسعه دهندگان بیشتر وقت خود را صرف انجام آن می کنند. این فعالیت توسعه می تواند بسیار سودمند باشد. من این کتاب را طراحی کردم تا به مردم کمک کنم روشی را که چالشهای توسعه نرمافزار را بررسی میکنند، بهینه کنند. در آن، مرتبطترین تکنیکهای تحقیق را خواهید یافت که با مثالهایی به کار میروند. ما در مورد اشکال زدایی، نمایه سازی، استفاده از گزارش ها و ترکیب موثر این تکنیک ها بحث خواهیم کرد. در سرتاسر کتاب، نکات و ترفندهای ارزشمندی را به شما میدهم که به شما کمک میکند کارآمدتر شوید و مشکلات (حتی سختترین آنها) را سریعتر حل کنید. به عبارت دیگر، هدف این کتاب، به طور کلی، کارآمدتر کردن شما به عنوان یک توسعه دهنده است. امیدوارم این کتاب ارزش قابل توجهی برای شما به ارمغان بیاورد و به شما کمک کند تا در یافتن سریع علل ریشه ای مسائلی که بررسی می کنید کارآمدتر شوید.
What does a software developer actually do for a living? “Implement software” is the most common answer to this question. But what does that mean? Is it only writing code? Well, no. While it is true that code is the result of everything a software developer does, the activity of writing code takes only a small part of a software developer’s working time. Most of a software developer’s time is actually used designing solutions, reading existing code, understanding how it executes, and learning new things. Writing code is the result of a software developer successfully accomplishing all of these tasks. Therefore, a programmer spends most of their time reading existing solutions rather than effectively writing new capabilities. Clean coding as a subject has, in the end, the same purpose: teaching developers how to write easier-to-read solutions. Developers realize that it’s more efficient to write an easier-to-read solution from the beginning than spend time trying to understand it later. But we need to be honest and admit that not all solutions are clean enough to quickly comprehend. We’ll always face scenarios in which we will need to understand the execution of some foreign capability. The reality is that software developers spend a lot of time investigating how apps work. They read and examine code in their app’s codebases and associated dependencies to figure out why something doesn’t work the way they expect. Developers sometimes read code only to learn about or better understand a given dependency. In many cases, reading code isn’t enough, and you have to find alternative (sometimes more complicated) ways to figure out what your app does. To understand how the environment affects your app or the JVM instance your Java app runs on, you may use a combination of profiling, debugging, and log investigations. If you know your options well and how to choose from among them, you will save valuable time. Remember, this is what developers spend most of their time doing. This development activity can be very beneficial. I designed this book to help people optimize the way they investigate software development challenges. In it, you’ll find the most relevant investigation techniques, which are applied with examples. We’ll discuss debugging, profiling, using logs, and efficiently combining these techniques. Throughout the book, I’ll give you valuable tips and tricks that will help you to become more efficient and solve problems (even the most difficult of them) faster. In other words, this book’s purpose, overall, is to make you more efficient as a developer. I hope this book brings significant value to you and helps you to become more efficient in quickly finding the root causes of issues you investigate.
این کتاب را میتوانید بصورت رایگان از لینک زیر دانلود نمایید.
Download: Troubleshooting Java / READ, DEBUG, AND OPTIMIZE JVM APPLICATIONS
نظرات کاربران