WRD R&D Documentation
Total Page:16
File Type:pdf, Size:1020Kb
WRD RD Documentation Release 0.2.0 WRD R D Sep 01, 2017 Contents 1 WRD R&D Documentation 3 2 Open Source 5 2.1 Open Source Licensing..........................................5 2.2 Open Source Initiative (OSI).......................................6 2.3 Open Source Governance........................................6 3 Small Business Consulting 7 3.1 Business.................................................7 3.1.1 Solving.............................................7 3.1.2 Books..............................................7 3.2 Strategy..................................................8 3.3 Business Modeling............................................8 3.3.1 ROI...............................................8 3.4 Business Plans..............................................9 3.5 Marketing................................................9 3.5.1 Relationships..........................................9 3.5.2 Marketing Mix......................................... 10 3.5.2.1 The Four Ps...................................... 10 3.5.3 Sales............................................... 10 3.5.4 Metrics............................................. 10 3.5.4.1 Conversion....................................... 10 3.5.4.2 Web Analytics..................................... 11 3.5.5 Brand.............................................. 11 3.5.5.1 Concept........................................ 11 3.5.5.2 Copy.......................................... 11 3.5.5.3 Graphic Design.................................... 11 3.5.5.3.1 Color Scheme................................ 12 3.5.5.3.2 Types.................................... 12 3.5.5.3.3 Logo..................................... 12 3.5.5.3.4 Favicon................................... 12 3.5.5.3.5 Social Media Images............................ 12 3.5.5.3.6 Photography Checklist........................... 13 3.5.5.3.7 Layout Graphics............................... 14 3.5.6 Social Media.......................................... 14 3.5.6.1 Twitter......................................... 14 3.5.6.2 Zapier......................................... 16 i 3.5.6.3 IFTTT......................................... 16 3.5.6.4 OpenGraph...................................... 16 3.5.6.5 Location Based Services................................ 17 3.5.6.6 Restaurant....................................... 18 3.5.7 Voice Searches to Test..................................... 18 4 Web Development 19 4.1 Web Glossary............................................... 19 4.2 Web Content............................................... 24 4.3 Web Design................................................ 25 4.3.1 CSS............................................... 25 4.3.2 Web Layout........................................... 25 4.3.2.1 Image Based Layouts................................. 25 4.3.3 Screen Captures......................................... 26 4.3.4 Bootstrap............................................ 26 4.4 Web Development Checklist....................................... 27 4.5 Hosting / DNS.............................................. 30 4.5.1 DNS Configuration....................................... 30 4.5.2 Web Hosting.......................................... 31 4.6 WebSec.................................................. 31 4.6.1 Responsible Disclosure..................................... 31 4.6.1.1 Bug Bounty Program................................. 31 4.6.2 SANS/CIS Consensus Audit Guidelines:............................ 32 4.6.3 CWE.............................................. 32 4.6.4 OWASP............................................. 32 4.6.5 WebSec Forums......................................... 32 4.6.6 HTTP.............................................. 33 4.6.7 HTTPS............................................. 33 4.6.8 HTTP STS........................................... 33 4.6.9 ACME Protocol......................................... 33 4.6.9.1 Letsencrypt...................................... 34 4.7 Web Development Requirements.................................... 34 4.7.1 User Stories........................................... 34 5 Software Development 37 5.1 Computer Science............................................ 37 5.1.1 Computer Science Curricula.................................. 38 5.1.2 Computer Science Courses................................... 40 5.1.3 Computer Science Exercises.................................. 40 5.1.3.1 Code Golf....................................... 40 5.2 Project Management........................................... 40 5.2.1 Waterfall............................................ 41 5.2.2 Everyone Codes......................................... 41 5.2.3 Agile.............................................. 41 5.2.3.1 Stand Up Meeting................................... 41 5.2.3.1.1 Three Questions............................... 41 5.2.3.1.2 Digital Stand Up Meeting.......................... 41 5.2.3.2 Extreme Programming................................. 43 5.2.3.3 Unified Process.................................... 43 5.2.3.4 Scrum......................................... 43 5.2.3.5 Effort Estimation................................... 43 5.2.3.6 Planning Poker..................................... 43 5.2.3.7 Kanban......................................... 43 5.3 Requirements Management....................................... 44 ii 5.3.1 Requirements Modeling.................................... 44 5.3.2 Agile Modeling......................................... 44 5.3.2.1 Test Driven Development............................... 45 5.3.2.2 Behavior Driven Development............................ 45 5.3.2.2.1 Given-When-Then............................. 45 5.3.2.3 User Story....................................... 45 5.3.2.3.1 Card, Conversation, Confirmation..................... 46 5.3.2.4 Use Case........................................ 46 5.3.3 Requirements Traceability................................... 47 5.3.3.1 Work Breakdown Structure.............................. 48 5.3.3.1.1 Mission................................... 49 5.3.3.1.1.1 Project................................ 49 5.3.3.1.1.2 Goal................................. 49 5.3.3.1.1.3 SMART............................... 49 5.3.3.1.1.4 Objective.............................. 49 5.3.3.2 Checkboxes...................................... 49 5.3.3.3 Codelabels....................................... 50 5.3.3.3.1 Codelabel Syntax.............................. 51 5.4 Technical Debt.............................................. 52 5.5 Refactoring................................................ 52 5.6 Continuous Delivery........................................... 52 5.6.1 Revision Control........................................ 52 5.6.2 Distributed Version Control................................... 53 5.6.2.1 Bisection........................................ 53 5.6.2.2 Branching & Merging................................. 53 5.6.3 Test Automation........................................ 54 5.6.4 Continuous Integration..................................... 54 5.6.5 Continuous Deployment.................................... 54 6 Computer Engineering 55 6.1 Monitor.................................................. 55 6.2 Northbridge................................................ 55 6.2.1 Processor............................................ 56 6.2.1.1 CPU.......................................... 56 6.2.1.1.1 ARM.................................... 56 6.2.1.1.2 PPC..................................... 56 6.2.1.1.3 x86..................................... 57 6.2.1.1.4 x86_64................................... 57 6.2.2 Memory............................................. 57 6.2.2.1 RAM.......................................... 57 6.2.3 System Bus........................................... 57 6.2.3.1 ISA........................................... 58 6.2.3.2 PCI........................................... 58 6.2.3.3 PCMCIA........................................ 58 6.2.3.4 AGP.......................................... 58 6.2.3.5 ExpressCard...................................... 58 6.2.3.6 PCI-e.......................................... 58 6.2.4 Video Card........................................... 58 6.2.4.1 Multiheaded Display................................. 59 6.2.4.2 GPU.......................................... 59 6.2.4.2.1 CUDA.................................... 60 6.2.4.2.2 PhysX.................................... 60 6.2.4.3 VGA.......................................... 60 6.2.4.4 DVI.......................................... 61 iii 6.2.4.5 HDMI......................................... 61 6.2.4.5.1 Mini HDMI................................. 61 6.2.4.5.2 Micro HDMI................................ 61 6.3 Data Device Bus............................................. 62 6.3.1 USB............................................... 62 6.3.1.1 USB Hub....................................... 63 6.3.1.1.1 USB Keyboard............................... 63 6.3.1.1.2 USB Mouse................................. 63 6.3.1.2 USB Type-C...................................... 63 6.3.2 SATA.............................................. 63 6.3.2.1 eSATA......................................... 63 6.3.2.1.1 mSATA................................... 64 6.3.2.1.2 eSATAp................................... 64 6.3.3 SCSI............................................... 64 6.3.4 IDE............................................... 64 6.3.5 PATA.............................................. 64 6.3.6 Persistent Storage........................................ 65 6.3.6.1 Hard Drives.....................................