شروع دوره های تخصصی, پایتون | هوش مصنوعی 18 دی شروع دوره های تخصصی, پایتون | هوش مصنوعی 18 دی
ثبت نام
Sebastian Bergmann and Stefan Priebsch

دانلود کتاب PHP Frameworks and Applications

نویسنده :Sebastian Bergmann and Stefan Priebsch
    دوره های مرتبط با این کتاب

    این کتاب آموزش برنامه نویسی که در بردارنده ی اطلاعات عمیق و راهنمای گام به گام می باشد، شما را در طول فرایند ایجاد، حفظ، و توسعه ی نرم افزار پایدار با کیفیت بالا، راهنمایی خواهد کرد. در کتاب PHP Frameworks and Applicationsمتخصصان برجسته ی PHP به منظور توسعه ی اپلیکیشن ها و فریم ورک های PHP با کیفیت بالا که می توانند بسته به نیازمندی های در حال تغییر تجاری به راحتی منطبق گردند، مطالعات موردی واقعی را ارائه داده اند. آن ها رویکردهای متفاوتی را برای حل مسائل رایج مربوط به تضمین کیفیت و توسعه پیشنهاد می کنند که هر توسعه دهنده ای نیاز است با آن ها آشنا شود. o توضیح فرایند ایجاد اپلیکیشن ها و فریم ورک های PHP با کیفیت بالا که می توانند بسته به نیازمندی های در حال تغییر تجاری به راحتی سازگار گردند. o پوشش دادن طرح ریزی، اجرا، و اتوماسیون سازی تست های مربوط به لایه ها و ردیف های مختلف یک اپلیکیشن وب o نمایش چگونگی ارائه ی یک پروسه ی موفق توسعه ی اپلیکیشن o به اشتراک گذاری مطالعات موردی واقعی از شرکت های معروف و متخصصان آن ها همراهی با این کتاب آموزش php موجب می شود که با تلاش و هزینه ای معقول، نحوه ی ساخت اپلیکیشن ها و فریم ورک های با کیفیت عالی را فرا بگیرید.

     
    Packed with in-depth information and step-by-step guidance, this book escorts you through the process of creating, maintaining and extending sustainable software of high quality with PHP. World-renowned PHP experts present real-world case studies for developing high-quality applications and frameworks in PHP that can easily be adapted to changing business requirements. . They offer different approaches to solving  typical development and quality assurance problems that every developer needs to know and master.
    •	Details the process for creating high-quality PHP frameworks and applications that can easily be adapted to changing business requirements
    •	Covers the planning, execution, and automation of tests for the different layers and tiers of a Web application
    •	Demonstrates how to establish a successful development process
    •	Shares real-world case studies from well-known companies and their PHP experts
    With this book, you’ll learn to develop high-quality PHP frameworks and applications that can easily be maintained with reasonable cost and effort.
    FOREWORD xxi
    INTRODUCTION xxiii
    PART I: FOUNDATIONS
    CHAPTER 1: SOFTWARE QUALITY 3
    External Quality 4
    Internal Quality 5
    Technical Debt 5
    Constructive Quality Assurance 7
    Clean Code 8
    Explicit and Minimal Dependencies 9
    Clear Responsibilities 9
    No Duplication 9
    Short Methods with Few Execution Branches 9
    Software Metrics 10
    Cyclomatic Complexity and npath Complexity 10
    Change Risk Anti-Patterns (CRAP) Index 11
    Non-Mockable Total Recursive Cyclomatic Complexity 11
    Global Mutable State 11
    Cohesion and Coupling 12
    Tools 12
    PHPUnit 12
    phploc 12
    PHP Copy-Paste-Detector (phpcpd) 12
    PHP Dead Code Detector (phpdcd) 13
    PHP_Depend (pdepend) 13
    PHP Mess Detector (phpmd) 13
    PHP_CodeSniff er (phpcs) 13
    bytekit-cli 13
    PHP_CodeBrowser (phpcb) 13
    CruiseControl and phpUnderControl 13
    Hudson 14
    Arbit 14
    Conclusion 14
    CHAPTER 2: SOFTWARE TESTING 15
    Black Box and White Box Tests 15
    How Many Tests Are Needed? 16
    System Tests 17
    Browser Testing 17
    Automated Tests 18
    Test Isolation 19
    Acceptance Tests 20
    Limits of System Tests 20
    Unit Tests 21
    Return Values 23
    Dependencies 24
    Side Eff ects 25
    Real-Life Example 25
    Analyzing the Code to Test 28
    Setting Up a Test Environment 29
    Avoid Global Dependencies 31
    Test Independently from Data Sources 32
    Testing Asynchronous Events 37
    Storing Changes in the Database 41
    Unpredictable Results 42
    Encapsulating Input Data 44
    Further Refl ections 45
    Conclusion 46
    PART II: BEST PRACTICES
    CHAPTER 3: TYPO3: THE AGILE FUTURE
    OF A PONDEROUS PROJECT 49
    Introduction 49
    The History of TYPO3: Thirteen Years in Thirteen Paragraphs 49
    Daring to Start Over! 51
    Our Experience with Testing 51
    Policies and Techniques 52
    Bittersweet Elephant Pieces 53
    Test-Driven Development 53
    Tests as Documentation 54
    Continuous Integration 55
    Clean Code 56
    Refactoring 57
    Programming Guidelines 58
    Domain-Driven Design 59
    Course of Action in Development 60
    Developing New Code 60
    Extending and Modifying Code 61
    Optimizing Code 61
    Speed 61
    Readability 63
    Finding and Fixing Bugs 63
    Disposing of Old Code 63
    Test Recipes 64
    Inadvertently Functional Unit Test 64
    Access to the File System 64
    Constructors in Interfaces 65
    Testing Abstract Classes 66
    Testing Protected Methods 66
    Use of Callbacks 68
    Into the Future 69
    CHAPTER 4: UNIT TESTING BAD PRACTICES 71
    Why Test Quality Matters 71
    Bad Practices and Test Smells 72
    Duplication in Test Code 73
    Assertion Roulette and Eager Test 74
    Fragile Test 76
    Obscure Test 78
    Problems with Global State 78
    Indirect Testing 80
    Obscure Test Names 82
    Lying Test 83
    Slow Test 84
    Conditional Logic in Tests 85
    Self-validating Tests 87
    Web-surfi ng Tests 87
    Mock Overkill 88
    Skip Epidemic 90
    Conclusion 90
    CHAPTER 5: QUALITY ASSURANCE AT DIGG INC. 91
    Problems We Are Facing 91
    Legacy Code Base 92
    How Do We Solve These Problems? 93
    Size Does Matter 93
    Team Size 94
    Project Size 94
    Code Size 94
    Unit Testing and You 94
    Choosing a Testing Framework 95
    Working with an Expert 95
    One Week in a Room 95
    Training Our Team 95
    Writing Testable Code 98
    Avoid Static Methods 98
    Dependency Injection 100
    Mock Objects 100
    Overview 100
    Database 101
    Loosely Coupled Dependencies 101
    Subject/Observer for Testing Class Internals 102
    Memcached 103
    Mocking a Service-Oriented Architecture 104
    Model 104
    Service Query 105
    Service Endpoint 105
    The Base Classes 105
    Digg’s Quality Assurance Process 107
    Testing 108
    Planning the Testing Eff ort 108
    Tasks 108
    Automation 108
    Benefi ts 109
    Testing Early 109
    Testing Often 109
    Challenges 110
    Conclusion 111
    PART III: SERVERS AND SERVICES
    CHAPTER 6: TESTING SERVICE-ORIENTED APIS 115
    The Problems 117
    Solutions 118
    API Credentials 118
    API Limits 121
    Offl ine Testing of Service Protocols 122
    Offl ine Testing of Concrete Services 126
    Conclusion 130
    CHAPTER 7: TESTING A WEBDAV SERVER 131
    About the eZ WebDAV Component 131
    WebDAV 131
    Architecture 133
    Development Challenges 135
    Requirements Analysis 135
    TDD after RFC 136
    Testing a Server 137
    Automated Acceptance Tests with PHPUnit 139
    Capturing Test Trails 140
    Test Recipe 141
    Integration into PHPUnit 142
    A Custom Test Case 142
    The Acceptance Test Suite 146
    Acceptance Tests by Example 147
    Conclusion 149
    PART IV: ARCHITECTURE
    CHAPTER 8: TESTING SYMFONY AND SYMFONY PROJECTS 153
    Testing a Framework 154
    The symfony Release Management Process 154
    Long-term Support 154
    Code Coverage 155
    Tests versus Real Code 155
    Running the Test Suite 156
    Main Lessons Learned 156
    Never Use the Singleton Design Pattern in PHP 156
    Decouple Your Code with Dependency Injection 158
    Lower the Number of Dependencies between Objects with an Event
    Dispatcher 159
    Testing Web Applications 161
    Lowering the Barrier of Entry of Testing 161
    Unit Tests 162
    Easy to Install 162
    Easy to Learn 163
    Fun to Use 165
    Functional Tests 165
    The Browser Simulator 166
    The Fixtures 168
    The CSS3 Selectors 168
    Testing Forms 169
    Debugging 169
    Conclusion 170
    CHAPTER 9: TESTING THE EZCGRAPH COMPONENT 171
    Development Philosophy 172
    Graph Component 172
    Architecture 173
    Test Requirements 174
    Driver Mocking 175
    Mock the Driver 175
    Multiple Assertions 176
    Structs 177
    Expectation Generation 178
    Conclusion 178
    Testing Binary Data 179
    The Drivers 179
    Expectation Generation 179
    SVG 180
    XML Comparison 180
    Floating-point Problems 181
    Bitmap Creation 181
    Bitmap Comparison 182
    GD Version Diff erences 183
    Flash 183
    The Assertion 184
    Conclusion 185
    CHAPTER 10: TESTING DATABASE INTERACTION 187
    Introduction 187
    Reasons Not to Write Database Tests 188
    Why We Should Write Database Tests 189
    What We Should Test 190
    Writing Tests: Mocking Database Connections 191
    Writing Tests: PHPUnit Database Extension 191
    The Database Test Case Class 192
    Establishing the Test Database Connection 193
    Creating Data Sets 196
    XML Data Sets 197
    Flat XML Data Sets 199
    CSV Data Sets 200
    YAML Data Sets 201
    Database Data Sets 203
    Data Set Decorators 204
    Generating Data Sets 209
    Data Operations 209
    Creating Tests 211
    Testing the Loading of Data 211
    Testing the Modifi cation of Data 215
    Using the Database Tester 218
    Applying Test-Driven Design to Database Testing 220
    Using Database Tests for Regression Testing 220
    Testing Problems with Data 221
    Testing Problems Revealed by Data 222
    Conclusion 222
    PART V: Q&A IN THE LARGE
    CHAPTER 11: QUALITY ASSURANCE AT STUDIVZ 225
    Introduction 225
    About studiVZ 226
    Acceptance Tests 227
    Acceptance Tests in Agile Environments 227
    Selenium 228
    The Selenium Extension of PHPUnit 229
    The Technical Setup of studiVZ 230
    Development Environment 230
    Test Environment 231
    Best Practices 232
    Sins of Our Youth 232
    Monolithic Tests 232
    Static Users 233
    Strategy Change 234
    Atomic Tests with Dynamic Test Data 234
    Robust Selenium Tests 235
    Test Scope Must Be Clear 235
    Common Functionality or Browser Compatibility as Well? 236
    Fix Tests Right Away! 236
    Stabilize Locators, and Use IDs 237
    Speed, the Sore Subject 238
    Recipes for Last-Minute Features 239
    Tests Are Software Too 240
    Capture and Replay versus Programming Tests 240
    The Team: A Good Mix 242
    We Need a DSL 242
    Internal DSL 243
    Testing_SeleniumDSL 1.0 243
    Problem: Context Sensitivity 245
    Testing_SeleniumDSL 2.0 — A Draft 245
    State and Outlook on Version 2.0 246
    Conclusion 246
    CHAPTER 12: CONTINUOUS INTEGRATION 249
    Introduction 249
    Continuous Integration 251
    Confi guration 251
    Build Management and Automated Tests 251
    Version Management 252
    Continuous Integration 252
    Static Analysis 253
    Code Clones 253
    Refactoring 253
    Software Metrics 254
    Classic Metrics 255
    Object-Oriented Metrics 259
    RATS 262
    Installation 263
    Confi guration 264
    Static Tests 266
    Programming Conventions 266
    Coding Guidelines 268
    Gradual Introduction into Legacy Projects 269
    Coding Standards in the Daily Work 270
    Syntax Analysis 271
    Dynamic Tests 272
    Reporting 272
    Notifi cation in the Case of Errors 272
    Statistics 272
    PHP_CodeBrowser 273
    Deliverables 274
    Operations 275
    Advanced Topics 276
    Continuous Deployment 276
    Using a Reverse Proxy 277
    Continuous Integration and Agile Paradigms 278
    Conclusion 278
    CHAPTER 13: SWOODOO: A TRUE AGILE STORY 281
    Introduction 281
    Evolution: Only the Strong Survive 282
    How We Reached the eXtreme Side 285
    And While We Are Working... 288
    The Art of Evolution 292
    Lack of Experience 293
    The Java-developer-coding-in-PHP Phenomenon 294
    The Nobody-but-me-understands-my-code Developer 296
    Conclusion 298
    PART VI: NON-FUNCTIONAL ASPECTS
    CHAPTER 14: USABILITY 301
    Anything Goes, But What Is the Price? 303
    Design Aspects 304
    Accessibility 304
    Readability 304
    Labels for Form Elements 305
    Navigating by Keyboard 305
    Eff ective Contrast 306
    Logo Links to Home Page 307
    Alternative Texts for Images 307
    Background Image in Background Color 307
    Usable Print Version 307
    Visible Links 307
    Good Bookmarks 307
    No Frames 308
    Scalable Fonts 308
    Technical Aspects 308
    Performance 308
    Semantic Code 309
    Fewer Requests 309
    CSS Sprites 309
    JavaScript on Bottom, CSS on Top 310
    Link CSS Instead of Importing 310
    JavaScript 310
    User Guidance 310
    The “Fold” Myth 311
    Feedback on Interaction 311
    Navigation 312
    Pop-ups and Other Annoyances 312
    Habits and Expectations 313
    Fault Tolerance and Feedback 313
    Testing Usability 313
    Conclusion 315
    CHAPTER 15: PERFORMANCE TESTING 317
    Introduction 317
    Tools 318
    Environmental Considerations 319
    Load Testing 320
    Apache Bench 321
    Pylot 322
    Other Load Testing Tools 324
    Profi ling 324
    Callgrind 325
    KCachegrind 328
    APD 329
    Xdebug 330
    XHProf 331
    OProfi le 333
    System Metrics 334
    strace 334
    Sysstat 335
    Custom Instrumentation 337
    Common Pitfalls 338
    Development versus Production Environments 338
    CPU Time 338
    Micro-Optimizations 338
    PHP as the Glue 339
    Priority of Optimization 339
    Conclusion 340
    CHAPTER 16: SECURITY 341
    What Is Security? 341
    Secure by Design 342
    Operations 342
    Physical Access 343
    Software Development 344
    No Security by Obscurity 344
    Separation of Concerns 344
    A Matter of Rights 345
    Error Handling 345
    Basic Settings 346
    What Does Security Cost? 346
    The Most Common Problems 347
    A10: Unvalidated Redirects and Forwards 347
    A9: Insuffi cient Transport Layer Protection 348
    A8: Failure to Restrict URL Access 349
    A7: Insecure Cryptographic Storage 349
    A6: Security Misconfi guration 350
    A5: Cross Site Request Forgery (CSRF/XSRF) 351
    A4: Insecure Direct Object References 351
    A3: Broken Authentication and Session Management 352
    A2: Cross-Site Scripting (XSS) 353
    A1: Injection 354
    Conclusion 355
    CHAPTER 17: CONCLUSION 357
    Bibliography 359
    INDEX 365
    
    0470872497
    ISBN-10:
    978-0470872499
    ISBN-13:
    May 10, 2011
    Year:
    408
    Pages:
    English
    Language:
    7,51 MB
    File size:
    PDF
    File format:
1394/07/27 5155 465
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com
کتاب های مرتبط
آموزش کار با رشته ها در سی شارپ

دانلود کتاب Beginning PHP and MySQL 3

نویسنده این کتاب دارای بیش از 10 سال تجربه کار در زمینه آموزش برنامه نویسی با این فن آوری ها می باشد، و این کتاب را با نمونه های عملی و بینشی عمیق و وسیع تهیه کرده است. بر این اساس، به شما توصیه می کنیم که به این کتاب به عنوان کتابی مرجع در زمینه آموزش php نگاه کنید

نویسنده: W. Jason Gilmore

زبان: انگلیسی

مشاهده کتاب و دانلود
آموزش کار با رشته ها در سی شارپ

دانلود کتاب Beginning PHP and MySQL E-Commerce

کتابBeginning PHP and MySQL E-Commerce مراحل گام به گام طراحی و ساخت اپلیکیشن قابل گسترش برای یک وبسایت تجاری را آموزش می دهد. این کتاب با ارائه ی مثال واقعی از یک وبسایت فروش تی شرت، به شما می آموزد که چگونه می توانید یک کاتالوگ محصولات را ایجاد و کنترل نمایید

نویسنده: Cristian Darie و Emilian Balanescu

زبان: انگلیسی

مشاهده کتاب و دانلود
آموزش کار با رشته ها در سی شارپ

دانلود کتاب Practical Web 2.0 Applications with PHP

در این کتاب، تکنولوژی های مربوط به توسعه ی زبان های PHP، MySQL، CSS، HTML، و JavaScrip/Ajax، در کنار هم ارائه شده اند تا به شما نشان دهند چگونه می توان اپلیکیشن های بسیار چشم گیری را، از لحظه ی طراحی و برنامه نویسی گرفته تا اجرای نهایی کد، و بدون نیاز به اصول غیر ضروری دیگر که عمدتا شما را به سمت عقب سوق می دهند، ایجاد نمود.

نویسنده: Quentin Zervaas

زبان: انگلیسی

مشاهده کتاب و دانلود
نظرات شما

نظرات خود را ثبت کنید...