کتاب های برچسب Coding
تاریخ: 1401/02/10 21:45
توسط: MotoMan
امتیاز: ۰
برچسب ها: Coding |software engineering |

در کتاب Software Development, Design and Coding (توسعه نرم افزار، طراحی و کدنویسی)، اصول طراحی نرم افزار خوب و نحوه تبدیل آن اصول به کدی عالی را خواهید آموخت. این کتاب، شما را با مهندسی نرم افزار، از کاربرد اصول مهندسی تا توسعه نرم افزار آشنا می‌کند. شما چگونگی اجرای یک پروژه‌ی نرم افزاری را خواهید دید، مراحل مختلف یک پروژه را بررسی می‌کنید و نحوه‌ی طراحی و پیاده سازی برنامه‌ها را به منظور حل مشکلات خاصی یاد خواهید گرفت. این کتاب همچنین درباره‌ی ساختن کد است؛ چگونه برنامه‌های عالی بنویسید و آن‌ها را به کار بیندازید.
چه در برنامه نویسی تازه کار باشید و چه صدها برنامه کاربردی نوشته باشید، در این کتاب کارهایی را که قبلا انجام داده اید را دوباره بررسی خواهید کرد و راه‌های بهبود را بررسی خواهید کرد. با استفاده از زبان جاوا، شما عمیقاً به استانداردهای کدنویسی، اشکال زدایی، تست واحد، ماژولار بودن و سایر ویژگی‌های برنامه‌های خوب نگاه خواهید کرد.

 

تعداد بازدید: ۴۵۰
دیدگاه ها: ۰
تاریخ: 1401/02/09 17:10
توسط: MotoMan
امتیاز: ۰
برچسب ها: Coding |software engineering |

به کمک این کتاب، نمای کلی فرآیند توسعه نرم افزار را درک خواهید کرد. ما هر روز از نرم افزار استفاده می‌کنیم؛ سیستم عامل ها، برنامه‌های کاربردی، برنامه‌های ویرایش اسناد، بانکداری خانگی، اما آیا تا به حال فکر کرده اید که چه کسی نرم افزار را ایجاد می‌کند و چگونه ایجاد می‌شود؟ این کتاب، با کمک تئوری و ابزار‌های طراحی کاربر محور، شما را در کل فرآیند، از تصور تا محصول نهایی راهنمایی می‌کند.
کتاب Software Development: From A to Z (توسعه نرم افزار: از A تا Z)، یک نمای کلی از توسعه Backend، از پایگاه داده گرفته تا پروتکل‌های ارتباطی از جمله مهارت‌های برنامه نویسی کاربردی در جاوا و توسعه frontend، از HTML و CSS گرفته تا رجیستری npm و چارچوب Vue.js ارائه می‌دهد. شما مهندسی تضمین کیفیت، از جمله تئوری در مورد انواع مختلف تست‌ها و تمرین تست end-to-end با استفاده از Selenium را بررسی خواهید کرد.
سپس وارد دنیای devops خواهید شد، جایی که نویسندگان کتاب در مورد یکپارچه سازی مداوم و فرآیندهای تحویل مداوم به همراه فناوری‌های مرتبط با هر موضوع بحث می‌کنند. سپس مطالب مربوط به مدیریت محصول و پروژه را بررسی خواهید کرد که در آن نویسندگان در مورد فرآیندهای چابک، اسکرام و سایر فرآیندها از تجربه خود صحبت می‌کنند.
موضوعاتی که تحت پوشش قرار می‌گیرند به طور کلی نیاز به دانش عمیقی از فناوری ندارند. هر کسی که دانش اولیه کامپیوتر و برنامه نویسی را داشته باشد، می‌تواند تمام کار‌ها را تکمیل کند و مفاهیمی را که هدف این کتاب ارائه دادن آن هاست را به طور کامل درک کند. شما کلاه مدیر پروژه، صاحب محصول، طراح، بک اند، فرانت اند، QA و مهندس devops را بر سر می‌گذارید و نقش مورد علاقه خود را پیدا می‌کنید.

 

تعداد بازدید: ۴۱۹
دیدگاه ها: ۰
تاریخ: 1401/02/03 12:10
توسط: MotoMan
امتیاز: ۰
برچسب ها: Coding |software engineering |

کارایی کد در برابر سادگی؛ سرعت تحویل در برابر تکرار؛ انعطاف پذیری در برابر قابلیت نگهداری. هر تصمیمی که در مهندسی نرم‌افزار می‌گیرید، مستلزم سبک و سنگین کردن است. در کتاب Software Mistakes and Tradeoffs (اشتباهات نرم افزاری و سبک و سنگین کردن ها)، از اشتباهات پرهزینه ای که توماس للک و جان اسکیت در طول مشاغل حرفه ایشان با آنها مواجه شده اند، یاد خواهید گرفت. هر گامی در یک پروژه نرم افزاری مستلزم سبک و سنگین کردن است. وقتی سرعت، امنیت، هزینه، زمان تحویل، قابلیت‌ها و موارد دیگر را سبک و سنگین می‌کنید، انتخاب‌های معقول طراحی ممکن است در هنگام عملیاتی شدن مشکل‌ساز باشند. شما سناریوهای دنیای واقعی را بررسی خواهید کرد که در آن درک ضعیفی از سبک و سنگین کردن‌ها منجر به مشکلات بزرگی می‌شود، بنابراین می‌توانید با رویکردی متفکرانه‌تر در تصمیم گیری، از اشتباهات خود جلوگیری کنید.
بیاموزید که چگونه تکرار کد بر جفت شدگی (coupling) و سرعت تکامل سیستم‌های شما تأثیر می‌گذارند و چگونه نیازمندی‌های ساده می‌توانند تفاوت‌های ظریف پنهانی با توجه به اطلاعات تاریخ و زمان داشته باشند. کشف کنید که چگونه به طور موثری دامنه بهینه سازی خود را طبق اصول پارتو 80/20 محدود کنید و از ثبات در سیستم‌های توزیع شده خود اطمینان حاصل کنید. شما خیلی زود دانشی کسب خواهید کرد که فقط از سالها تجربه ناشی می‌شود.

 

 
تعداد بازدید: ۵۰۸
دیدگاه ها: ۰
تاریخ: 1400/11/06 19:45
توسط: MotoMan
امتیاز: ۰
برچسب ها: Coding |

کتاب The Passionate Programmer (برنامه نویس پرشور)، درباره دستیابی به یک شغل قابل توجه در توسعه نرم افزار است. در بیشتر موارد، شغل‌های قابل توجه، شانسی به دست نمی‌آیند. آنها به فکر، قصد، عمل و تمایل به تغییر مسیر نیاز دارند. بسیاری از ما به این فکر افتاده‌ایم که اجازه دهیم شغل‌هایمان ما را به هر جایی که می‌خواهند ببرند. وقت آن است که کنترل را به دست بگیرید. این کتاب، اصلاح و به روز شده تا یک استراتژی برای برنامه ریزی و ایجاد یک زندگی کاملاً موفق در توسعه نرم افزار را ارائه دهد.

موفقیت در محیط فناوری اطلاعات امروزی مستلزم آن است که به حرفه خود به عنوان یک تلاش تجاری نگاه کنید. در این کتاب، شما یاد خواهید گرفت که چگونه یک کارآفرین شوید و شغل خود را در جهت مورد نظر خودتان هدایت کنید. شما یاد خواهید گرفت که چگونه گام به گام حرفه توسعه نرم افزار خود را بسازید؛ در حقیقت دنبال کردن همان مسیری که در صورت اینکه ساخت، بازاریابی و فروش یک محصول را انجام می‌دادید دنبال می‌کردید. به هر حال، مهارت‌های شما، خودشان محصول هستند.

فناوری هایی که انتخاب می‌کنید تا روی آن‌ها تمرکز کنید و حوزه‌های تجاری که بر آن‌ها تسلط پیدا کنید، حداقل به اندازه خود دانش فنی شما بر موفقیت شما تأثیر می‌گذارند؛ اجازه ندهید این انتخاب‌ها تصادفی باشند. ما تمام جنبه‌های فرآیند تصمیم‌گیری را بررسی خواهیم کرد، بنابراین می‌توانید مطمئن شوید که زمان و انرژی خود را در زمینه‌های مناسبی سرمایه‌گذاری می‌کنید.

شما یک برنامه ساختاریافته برای درگیر نگه داشتن ذهن و تازه نگه داشتن مهارت‌های خود توسعه خواهید داد. شما یاد خواهید گرفت که چگونه مهارت‌های خود را از نظر جایی که در زنجیره ارزش قرار می‌گیرند ارزیابی کنید و شما را از مهارت‌های کالایی دور کرده و به سمت آن هایی که تقاضای بالایی دارند، سوق دهد. از طریق ترکیبی از مقاله‌های سطح بالا و تفکر برانگیز و بخش‌های تاکتیکی «بر اساس آن عمل کن»، برنامه‌های مشخصی را که می‌توانید فوراً به مرحله اجرا درآورید، به دست خواهید آورد. ویرایش جدید کتاب، بیشتر بر ایجاد یک حرفه قابل توجه تمرکز دارد. شما این فرصت را خواهید داشت که دیدگاه‌های چندین عضو بسیار موفق صنعت ما از مسیرهای شغلی مختلف را بخوانید، و نکات جدیدی به کتاب اضافه شده است تا درس‌های جدیدی را برای یادگیری و اقدامات جدیدی برای بهبود شغل خود انجام دهید.

مانند هر محصول یا خدمات دیگری، اگر کسی نداند چه چیزی می‌فروشید، هیچ کس هم خرید نخواهد کرد. ما در دنیای بازاریابی که اغلب نادیده گرفته می‌شود حرکت می‌کنیم، و شما برنامه‌ای برای بازاریابی خودتان در داخل شرکت خود و به طور کلی در صنعت ایجاد خواهید کرد. مهمتر از همه، خواهید دید که چگونه می‌توانید مسیر شغلی خود را تعیین کنید که منجر به یک زندگی حرفه ای رضایت بخش‌تر و قابل توجه‌تر شود.

 
تعداد بازدید: ۷۹۸
دیدگاه ها: ۰
تاریخ: 1400/09/05 10:15
توسط: MotoMan
امتیاز: ۰
برچسب ها: Coding |

لینوس توروالدز، خالق لینوکس می‌گوید «اکثر برنامه نویسان خوب، برنامه نویسی می‌کنند نه به این دلیل که انتظار دارند دستمزد دریافت کنند یا مردم آن‌ها را تحسین کنند، بلکه به این دلیل که برنامه نویسی سرگرم کننده است.»

من در رشته علوم سیاسی در دانشگاه کلمسون تحصیل کردم. قبل از اینکه این مسیر را انتخاب کنم، علوم کامپیوتر را در نظر داشتم. من حتی سال اول در یک کلاس «مقدمه ای بر برنامه نویسی» ثبت نام کردم، اما به سرعت آن را رها کردم؛ خیلی سخت بود. در حالی که پس از فارغ التحصیلی در Silicon Valley زندگی می‌کردم، به این نتیجه رسیدم که باید برنامه نویسی را یاد بگیرم.

من یک برنامه نویس خودآموز هستم. پس از یک سال خودآموزی، توانستم شغلی به عنوان مهندس نرم افزار II (بالاتر از یک مهندس نرم افزار سطح مقدماتی، اما پایین‌تر از یک مهندس نرم افزار ارشد) در eBay پیدا کنم. وقتی آن شغل را گرفتم، متوجه شدم که اصلا آمادگی ندارم. من غرق حجم چیزهایی شده بودم که باید می‌دانستم اما هنوز یاد نگرفته بودم. سفر من در یادگیری برنامه نویسی و تجربه من در اولین شغلم به عنوان مهندس نرم افزار الهام بخش این کتاب بود.

کتاب The Self-taught Programmer (برنامه نویس خودآموخته)، فقط در مورد یادگیری برنامه نویسی نیست؛ اگرچه کدنویسی را یاد خواهید گرفت. این کتاب در مورد همه چیزهای دیگری است که برای برنامه نویسی حرفه ای باید بدانید که کلاس‌ها و کتاب‌ها به شما آموزش نمی‌دهند. این یک نقشه راه است، راهنمایی که شما را از نوشتن اولین برنامه تا گذراندن اولین مصاحبه فنی خود هدایت می‌کند.

تعداد بازدید: ۱۲۴۹
دیدگاه ها: ۰
تاریخ: 1400/07/29 23:42
توسط: MotoMan
امتیاز: ۱
برچسب ها: Coding |software engineering |

در بین تمامی مصاحبه‌های فنی، سوالات مصاحبه‌های طراحی سیستم، سخت‌ترین هستند. این سوالات، از مصاحبه شونده‌ها می‌خواهند تا یک معماری را برای یک سیستم نرم افزاری که می‌تواند یک فید خبری، جستجوی گوگل، سیستم چت و غیره باشد، طراحی کنند. این سوالات ترسناک هستند و هیچ الگوی خاصی برای پیروی از آن وجود ندارد. این سوالات، معمولاً دارای گستره بزرگ و مبهم هستند؛ و فرآیند‌ها بی انتها، نامفهوم و بدون یک پاسخ استاندارد یا صحیح هستند.
شرکت‌ها به طور گسترده ای از مصاحبه‌های طراحی سیستم استفاده می‌کنند؛ زیرا مهارت‌های ارتباطی و حل مسئله ای که در این مصاحبه‌ها آزمایش می‌شوند مشابه مهارت‌های مورد نیاز کار روزمره یک مهندس نرم افزار است. مصاحبه شونده بر اساس چگونگی تجزیه و تحلیل یک مسئله مبهم و نحوه حل گام به گام مسئله ارزیابی می‌شود. توانایی‌های مورد آزمایش همچنین شامل نحوه‌ی توضیح ایده، بحث با دیگران و ارزیابی و بهینه سازی سیستم است.
سوالات طراحی سیستم بی انتها هستند. درست مانند دنیای واقعی، تفاوت‌ها و تغییرات زیادی در سیستم وجود دارد. نتیجه مطلوب، ارائه معماری برای دستیابی به اهداف طراحی سیستم است. بسته به مصاحبه کننده، بحث‌ها می‌توانند به روش‌های مختلفی پیش بروند. برخی مصاحبه کنندگان ممکن است معماری سطح بالا را برای پوشش همه جنبه‌ها انتخاب کنند؛ در حالی که برخی ممکن است یک یا چند حوزه را برای تمرکز انتخاب کنند. به طور معمول، نیازمندی‌های سیستم، محدودیت‌ها و گلوگاه‌ها باید به خوبی درک شوند تا جهت مصاحبه کننده و مصاحبه شونده را شکل دهند.
هدف کتاب System Design Interview – An insider's guide, Second Edition (مصاحبه طراحی سیستم – راهنمای خودی، ویرایش دوم)، ارائه یک استراتژی قابل اعتماد برای رویارویی با سوالات مصاحبه طراحی سیستم است. استراتژی و دانش مناسب، برای موفقیت در یک مصاحبه حیاتی است. این کتاب، دانش کاملی در زمینه ایجاد یک سیستم مقیاس پذیر ارائه می‌دهد. هرچه دانش بیشتری از خواندن این کتاب کسب شود، در حل سوالات طراحی سیستم مجهزتر خواهید بود. این کتاب همچنین چارچوبی گام به گام در مورد نحوه برخورد با سوالات طراحی سیستم ارائه می‌دهد. همچنین مثال‌های زیادی را برای نشان دادن رویکرد سیستماتیک با مراحل دقیق که می‌توانید دنبال کنید ارائه می‌دهد. با تمرین مداوم، برای از عهده بر آمدن پرسش‌های مصاحبه طراحی سیستم، به خوبی مجهز خواهید بود.

 

تعداد بازدید: ۱۵۲۰
دیدگاه ها: ۰
تاریخ: 1400/05/01 19:15
توسط: MotoMan
امتیاز: ۱
برچسب ها: Coding |

در کتاب Clean Craftsmanship: Disciplines, Standards, and Ethics (صنعت گری تمیز: نظم و انضباط، استاندارد‌ها و اصول اخلاقی)، Robert C. Martin (عمو باب) افسانه ای، راهنمای قطعی هر برنامه نویسی برای خوب کار کردن را نوشته است. مارتین مقررات، استانداردها و اصول اخلاقی مورد نیاز شما را برای ارائه‌ی سریع و کارآمد کدهای قوی و موثر گرد هم آورده است تا به تمامی نرم افزارهایی که می‌نویسید هر روز افتخار کنید.
مارتین، نویسنده کتاب پر فروش The Clean Coder، با یک راهنمای عملی، فنی و تجویزی برای پنج دستور العمل بنیادی از ساخت نرم افزار شروع می‌کند: توسعه آزمون محور، ریفکتور کردن، طراحی ساده، برنامه نویسی مشارکتی (جفت شدن) و آزمون‌های پذیرش. سپس به سراغ استاندارد‌ها می‌رود و انتظارات اساسی که جهان از توسعه دهندگان نرم افزار دارد را ترسیم می‌کند و اینکه چگونه این انتظارات اغلب از منظر خودشان متفاوت هستند را روشن می‌کند و به شما در اصلاح این عدم تطابق کمک می‌کند. سرانجام، او به اخلاق حرفه برنامه نویسی می‌پردازد و ده قول اساسی را که همه توسعه دهندگان نرم افزار باید به همکاران خود، کاربران و بیش از همه به خودشان بدهند را توصیف می‌کند.
با راهنمایی‌ها و مشاوره‌های مارتین، همواره می‌توانید کدی را بنویسید که اعتماد ایجاد کند تا اینکه آن را تضعیف کند و در میان کاربران و کل جامعه ای که برای بقای خود به نرم افزار وابسته هستند اعتماد ایجاد کنید.

 

تعداد بازدید: ۲۴۹۵
دیدگاه ها: ۰
تاریخ: 1400/04/18 12:59
توسط: MotoMan
امتیاز: ۱

هیچ چیزی به اندازه‌ی کدهای بد، ناخوانا، شلخته و سریع نوشته شده که با دقت طراحی نشده اند، روی کار یک تیم تأثیر نمی‌گذارد. پویایی تیم می‌تواند بهبود یابد، نیازمندی‌ها دوباره تعریف شوند و زمان بندی می‌تواند اصلاح شود؛ اما، اگر کد بد کنترل کار را در دست بگیرد، سنگینی آن برای تیم بیشتر و بیشتر می‌شود. برنامه نویسان باید همیشه توسعه دهند. حتی اگر آن‌ها فکر می‌کنند که مهارت و دانش کافی برای حرکت در پروژه‌های فعلی را دارند، نباید در آنجا متوقف شوند و شایسته است که آنها هر از گاهی مفاهیم، رویکردها، زبان‌ها و چارچوب‌های جدیدی را بیاموزند. یادگیری باید یک سفر باشد و نه یک مقصد.
برای تبدیل شدن به یک توسعه دهنده‌ی بهتر نرم افزار، به دانش و مهارت‌های عملی عمیقی در زمینه‌ی توسعه و کیفیت نرم افزار نیاز دارید. این کتاب، برای تحلیل و بهبود کد‌های نرم افزار شما، بحث‌های مفصلی و بررسی‌های اجمالی زیادی را ارائه می‌دهد. شما قادر خواهید بود تا از اصول، الگوها، تکنیک‌ها و ابزارهای مورد نیاز برای نوشتن کد تمیز استفاده کنید.
کتاب Clean Code Fundamentals (مبانی کد تمیز)، مبانی کیفیت نرم افزار، اصول، الگوها و بهترین شیوه‌های نوشتن کد بهتر را بیان می‌کند. این کتاب همچنین شامل مثال‌های بسیاری با کد جاوا و با پیچیدگی از کم به زیاد است. همچنین موارد دیگری مانند معیارهای نرم افزار، تست نرم افزار استاتیک و ابزارهایی که می‌توانند به اندازه گیری کیفیت نرم افزار کمک کنند، پوشش داده خواهند شد.

 

تعداد بازدید: ۱۵۸۳
دیدگاه ها: ۰
تاریخ: 1399/08/09 00:01
توسط: MotoMan
امتیاز: ۰
برچسب ها: Coding |

کتاب Business Process Management Systems، تقریباً تمامی جنبه‌های حوزه‌ی BPMS را در بر می‌گیرد و تعاریف و خلاصه ای از مفاهیم مختلف BPM، شیوه‌های بهبود کسب و کار، فناوری‌های یکپارچه سازی داده ها، فناوری‌های یکپارچه سازی برنامه ها، فناوری‌های گردش کار، محصولات BPMS و استانداردهای BPMS را ارائه می‌دهد. این کتاب برای کسانی که به BPMS علاقه مند هستند و با یکپارچه کردن داده ها، سیستم‌ها و افراد درگیر هستند، منبع خوبی است.

جیمز چانگ با تمرکز بر استراتژی و پیاده سازی، در مورد شیوه‌های مدیریت تجارت، و فناوری امکان پذیر کردن آنها بحث می‌کند. وی تاریخچه روش‌های مدیریت فرآیند را تجزیه و تحلیل می‌کند و نشان می‌دهد که روش‌های BPM ترکیبی از تغییرات بنیادی و روش‌های تغییر مداوم است. این کتاب هم به تجارت و هم به متخصصان فناوری اطلاعات مربوط می‌شود که با دیدی یکپارچه در مورد چگونگی ادغام شیوه‌های مختلف مدیریت در BPM ارائه می‌شوند. این کتاب بسیاری از فناوری‌های همگرا را برای تشکیل یک سیستم مدیریت فرآیند کسب و کار (BPMS) توصیف می‌کند و استانداردها و معماری سرویس گرا را نشان می‌دهد.

تعداد بازدید: ۱۳۹۵
دیدگاه ها: ۰
تاریخ: 1399/07/25 14:27
توسط: MotoMan
امتیاز: ۰
برچسب ها: Coding |software engineering |

مستندات نرم افزار می‌توانند جان بگیرند، پویا بمانند و در حقیقت به شما در ساختن نرم افزار بهتر کمک کنند. کتاب Living Documentation، برای توسعه دهندگان، معماران و سایر متخصصین نرم افزار نوشته شده است تا نحوه‌ی ایجاد مستنداتی را نشان دهد که در کل چرخه توسعه و طراحی شما تکامل می‌یابند. این کتاب از روشی که از طراحی دامنه محور (Domain Driven Design) الهام گرفته شده است برای ساختن مستنداتی استفاده می‌کند که تکامل پیدا می‌کنند تا در طول چرخه توسعه ارزش را به حداکثر برسانند.

نویسنده این کتاب، Cyrille Martraire از طریق الگوها، تصاویر واضح و مثال‌های واقعی، نحوه استفاده از ساخته‌های خوش ساخت و اتوماسیون را برای بهبود چشمگیر ارزش مستندات با حداقل هزینه اضافی نشان می‌دهد. حوزه، زبان یا فناوری‌های شما هرچه باشد، مجبور نیستید از بین نرم افزار کار کننده و مستندات جامع و با کیفیت بالا یکی را انتخاب کنید؛ هر دو را می‌توانید داشته باشید.

تعداد بازدید: ۱۵۵۳
دیدگاه ها: ۰
تاریخ: 1399/07/02 22:16
توسط: MotoMan
امتیاز: ۰
برچسب ها: Coding |software engineering |

تعداد کمی کتاب در رشته کامپیوتر به اندازه کتاب Peopleware در مدیریت نرم افزار تأثیری عمیق داشته اند. دید منحصر به فرد این کتاب پرفروش قدیمی این است که عمده مسائل مربوط به توسعه نرم افزار، انسانی است و نه فنی. آنها مسائل ساده ای نیستند؛ اما آنها را حل کنید و شانس موفقیت خود را به حداکثر برساند.

در ویرایش سوم کتاب «Peopleware: پروژه‌ها و تیم‌های سازنده»، نویسندگان کتاب شش فصل جدید اضافه کرده و متن کتاب را به روز کرده اند و آن را با محیط‌ها و چالش‌های توسعه امروزی مطابقت داده اند. به عنوان مثال، این کتاب اکنون به آسیب شناسی‌های رهبری می‌پردازد که قبلاً آسیب شناسی نشده بودند؛ فرهنگ در حال تحقق جلسات؛ تیم‌های ترکیبی متشکل از افرادی از نسل‌های به ظاهر ناسازگار؛ و آگاهی رو به رشدی که برخی از رایج‌ترین ابزارهای ما بیشتر شبیه لنگر هستند تا پروانه. هر کسی که نیاز به مدیریت یک پروژه یا شرکت نرم افزاری دارد، توصیه‌های ارزشمندی را در سراسر کتاب پیدا خواهد کرد.

تعداد بازدید: ۱۶۸۵
دیدگاه ها: ۰
تاریخ: 1399/07/01 22:41
توسط: MotoMan
امتیاز: ۱

تا حالا شده که زمان زیادی را برای کد نویسی یک الگوریتم اشتباه هدر داده باشید؟ از ساختمان داده ای استفاده کنید که بسیار پیچیده باشد؟ برنامه ای را تست کرده باشید اما یک مشکل واضح را از قلم انداخته باشید؟ یک روز را صرف جستجوی باگی کرده باشید که باید در عرض پنج دقیقه آن را پیدا می‌کردید؟ لازم است که برنامه سه برابر سریعتر اجرا شود و از حافظه‌ی کمتری استفاده کند؟ تلاش کرده اید که برنامه ای را از یک workstation به یک PC منتقل کنید یا بالعکس؟ سعی کرده اید تغییر ناچیزی در برنامه شخص دیگری ایجاد کنید؟ دوباره برنامه ای را باز نویسی کرده اید زیرا نمی‌توانستید آن را درک کنید؟

جالب بود؟ این موارد به طور مداوم برای برنامه نویسان اتفاق می‌افتد. اما مقابله با چنین مشکلاتی اغلب دشوارتر از آن چیزی است که باید باشد، زیرا مباحثی مانند تست کردن، اشکال زدایی، قابلیت حمل، کارایی، گزینه‌های طراحی، سبک و تمرین برنامه نویسی معمولاً مورد توجه دوره‌های علوم کامپیوتر یا برنامه نویسی قرار نمی‌گیرند. اکثر برنامه نویسان با افزایش تجربه، آنها را به طور اتفاقی یاد می‌گیرند و عده کمی هم هرگز آنها را یاد نخواهند گرفت.

کتاب تمرین برنامه نویسی فراتر از کد نویسی صرف است. برنامه نویسان همچنین باید مصالحه‌ها را ارزیابی کنند، از بین گزینه‌های طراحی یکی را انتخاب کنند، اشکال زدایی و تست کنند، کارایی را بهبود بخشند و نرم افزارهای نوشته شده توسط خود و دیگران را نگهداری کنند. در عین حال، آنها ضمن رعایت مشخصات باید به مواردی مانند سازگاری، استحکام و قابلیت اطمینان نیز بپردازند.

رویکرد ما در این کتاب مبتنی بر این اصول اساسی و بهم پیوسته است که در همه سطوح محاسبات اعمال می‌شوند. این اصول شامل سادگی است که برنامه‌ها را کوتاه و قابل مدیریت نگه می‌دارد؛ وضوح، که اطمینان حاصل می‌کند که آنها توسط افراد و همچنین ماشین‌ها به راحتی درک می‌شوند؛ عمومیت، به این معنی که آنها در طیف گسترده ای از موقعیت‌ها به خوبی کار می‌کنند و در صورت بروز شرایط جدید، وفق پیدا می‌کنند؛ و اتوماسیون، که به ماشین‌ها اجازه می‌دهند که برای ما کار کنند و ما را از انجام کارهای پیش پا افتاده خلاص کنند.

تعداد بازدید: ۱۶۴۰
دیدگاه ها: ۰
تاریخ: 1399/06/20 18:51
توسط: MotoMan
امتیاز: ۱
برچسب ها: Programming Languages |Coding |

کامپیوتر مانند ویولن است. می‌توانید تصور کنید که یک تازه کار ابتدا یک دستگاه گرامافون و سپس یک ویولن را امتحان کند؛ در مورد دومی خواهد گفت که افتضاح است. این استدلالی است که ما از انسان گرایان و اکثر دانشمندان علوم کامپیوترمان شنیده ایم. آنها می‌گویند، برنامه‌های کامپیوتری برای اهداف بخصوصی خوب هستند، اما انعطاف پذیر نیستند. هیچ یک از ویولن‌ها یا ماشین‌های تحریر هم اینگونه نیستند، تا زمانی که نحوه استفاده از آن را یاد بگیرید.
کتاب Structure and Interpretation of Computer Programs، در دهه گذشته تاثیر چشمگیری در برنامه‌ی آموزشی علوم کامپیوتر داشته است. ویرایش دوم کتاب «ساختار و تفسیر برنامه‌های کامپیوتری» که مورد بازنگری قرار گرفته است، شامل تغییراتی در متن کتاب است. پیاده سازی‌های جدیدی از اکثر سیستم‌های اصلی برنامه نویسی در این کتاب وجود دارد، از جمله مفسر‌ها و کامپایلر ها؛ و نویسندگان تغییرات کوچک زیادی را در این کتاب گنجانده اند که منعکس کننده تجربه آنها در تدریس دوره‌ها در MIT از زمان ویرایش اول کتاب است. در این کتاب زمینه جدیدی معرفی شده است که بر نقش اصلی بازی شده توسط رویکرد‌های مختلف در برخورد با زمان در مدل‌های محاسباتی تاکید دارد: اشیا با وضعیت، برنامه نویسی همزمان، برنامه نویسی تابعی، ارزیابی به تاخیر افتاده و برنامه نویسی غیر قطعی. علاوه بر این، تمامی برنامه‌ها باز نویسی شده اند تا در تمامی پیاده سازی‌های Schema که به استاندارد IEEE پایبند هستند، اجرا شوند.

 

تعداد بازدید: ۱۴۰۰
دیدگاه ها: ۰
تاریخ: 1399/05/12 21:30
توسط: MotoMan
امتیاز: ۱
برچسب ها: Coding |

در طول دو دهه گذشته، دنیای پژوهش‌های دانشگاهی به طرز چشمگیری تغییر کرده است. امروزه بیشتر پژوهش‌ها به صورت آنلاین انجام می‌شوند که نه تنها دارایی تقریبا غیر قابل تصوری از منابع جدید را در نوک انگشتان ما قرار داده اند، بلکه همچنین در ارزیابی اعتبار و سودمندی منابع چالش هایی را به همراه داشته اند. شانزدهمین ویرایش کتاب «نگارش مقالات پژوهشی: یک راهنمای کامل» با این چالش‌های جدید مقابله می‌کند و برای کمک به محققان درگیر در همگام بودن با پژوهش‌های آنلاین، انتشار الکترونیکی و قالب‌های جدید اسناد، راهنمایی شفاف و مفصلی را ارائه می‌دهد.

ویرایش شانزدهم کتاب Writing Research Papers: A Complete Guide، راهنمای معتبر و کامل مقالات پژوهشی است که رویکردی سنتی اما کاربردی برای روند پژوهش را با جدید‌ترین اطلاعات درباره پژوهش و ارائه الکترونیکی در پیش گرفته است. این کتاب توسط پسر نویسنده اصلی نوشته شده است و در حال حاضر مهمترین کتاب برای راهنمایی در مورد پژوهش دانشگاهی، نگارش و مستند سازی است.

تعداد بازدید: ۱۸۵۹
دیدگاه ها: ۰
تاریخ: 1399/03/16 14:40
توسط: MotoMan
امتیاز: ۱

برنامه‌های عالی، عملیات مورد نیاز را مطابق آنچه انتظار می‌رود انجام می‌دهند، به کاربران کمک می‌کنند تا داده‌های صحیح را وارد کنند، استثنائات سیستم و برنامه را کنترل می‌کنند و اصلاح و نگهداری کد را برای توسعه دهندگان آینده آسان می‌کنند. کد نویسی دفاعی بر بهبود درک کد از طریق کد تمیز، ارتقای کیفیت کد با تست‌های واحد و بهبود پیش بینی پذیری کد با ساختن متد‌های واضح و آماده سازی برای موارد غیر منتظره تمرکز دارد. در دوره ویدیویی Defensive Coding in C# موسسه Pluralsight که توسط Deborah Kurata تدریس شده است، شما می‌توانید توانایی دفاعی برنامه خود در برابر خطرات موجود در دنیای واقعی را تقویت کنید.

ابتدا، با دنبال کردن تکنیک هایی مانند اصل Single Responsibility، چگونگی بهبود درک کد خودتان را یاد خواهید گرفت. سپس، چگونگی بهبود کیفیت کد را از طریق آزمون‌های واحد بررسی خواهید کرد. در آخر، چگونگی بهبود پیش بینی پذیری کد را با اعتبارسنجی آرگومان‌های متد، مدیریت صحیح null ها، بازگشت نتایج قابل پیش بینی و مدیریت استثنائات بررسی خواهید کرد. پس از اتمام این دوره، مهارت و دانش لازم برای تقویت دفاع کد خودتان را در اختیار خواهید داشت.

تعداد بازدید: ۲۰۱۸
دیدگاه ها: ۰
تاریخ: 1399/03/16 12:28
توسط: MotoMan
امتیاز: ۲

«کد نویسی تمیز» هنر نوشتن کدی است که انسان‌ها بتوانند آن را درک کنند. با دوره #Clean Coding Principles in C موسسه Pluralsight که توسط Cory House تدریس شده است،‌ شما مهارت‌های حرفه ای خود را ارتقا می‌دهید و کیفیت کد سی شارپ خودتان را با در نظر گرفتن کسی که قرار است این کد را بخواند افزایش می‌دهید و همچنین یاد می‌گیرید که کد‌های سی شارپ را به گونه ای بنویسید که به سادگی قابل نوشتن، خواندن و نگهداری باشند.

این دوره بر اساس سه روش اصلی کد نویسی تمیز ساخته شده است: انتخاب ابزار مناسب برای کار، بهینه سازی نسبت سیگنال به نویز و ایجاد منطق خود مستندسازی. در طول این دوره، شما مقایسه‌های واضحی بین کد‌های سی شارپ «کثیف» که باید از آن‌ها دوری کنید و معادل «تمیز» آن‌ها را خواهید دید. شما الگو هایی مانند کد پیکان، شکست سریع، بازگشت زود هنگام، کلاس‌های آهنربا، متغیرهای mayfly، تکنیک‌های کاهش پیچیدگی متد و موارد دیگر را بررسی خواهید کرد. این شیوه ها، پایه و اساس شغل توسعه حرفه ای است و به توسعه دهندگان واژگان واضحی را برای ارزیابی کیفیت کد ارائه می‌دهد.

تعداد بازدید: ۳۷۱۹
دیدگاه ها: ۰
loading...

لطفا منتظر بمانید...