Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
courses:cs397:winter2017:buzzword_bingo [2017/05/02 19:34] – [Full-stack Development] admincourses:cs397:winter2017:buzzword_bingo [2017/05/05 16:14] (current) – [Buzzword Bingo] admin
Line 1: Line 1:
 ====== Buzzword Bingo ====== ====== Buzzword Bingo ======
  
 +//In progress from class discussion...//
 +
 +We identified some important buzzwords and then researched them together in class to try to understand some of the terms we repeatedly see when exploring software tools.
  
 ===== Full-stack Development ===== ===== Full-stack Development =====
  
-development which involves both front end and back end development, working with PHP, HTML, CSS, JavaScript, etc. Full-stack development combines working with systems infrastructures, manipulating databases, API/back-end code, front-end, and project management (Agile, SCRUM, Kanban) +Development which involves both front end and back end development, working with PHP, HTML, CSS, JavaScript, etc. Full-stack development combines working with systems infrastructures, manipulating databases, API/back-end code, front-end, and project management (Agile, SCRUM, Kanban)
- +
-    System admin - Linux, shell scripting +
- +
-    Search - Elasticsearch; +
- +
-    Caching - Varnish  +
- +
-    Version Control - Git, Mercurial SVN+
  
-    Back-end: Apache, PHP, MongoDB, SQL, MySQL+  * System admin - Linux, shell scripting 
 +  * Search - Elasticsearch;  
 +  * Caching - Varnish  
 +  * Version Control - Git, Mercurial SVN 
 +  * Back-end: Apache, PHP, MongoDB, SQL, MySQL 
 +  * Front-end: HTML, CSS, JavaScript, jQuery, AJAX, XML, WebSocket
  
-    Front-endHTML, CSS, JavaScript, jQuery, AJAX, XML, WebSocket+Resources
  
-https://www.sitepoint.com/full-stack-developer/ +  * https://www.sitepoint.com/full-stack-developer/ 
-https://www.quora.com/What-does-the-term-full-stack-programmer-mean +  https://www.quora.com/What-does-the-term-full-stack-programmer-mean 
-http://www.pearltrees.com/t/company-picks/at-t/id5539108/item50626959+  http://www.pearltrees.com/t/company-picks/at-t/id5539108/item50626959
  
 ===== Data-driven development ===== ===== Data-driven development =====
Line 27: Line 27:
 Uses: Uses:
  
-    modeling +  * modeling 
- +  analysis and prediction 
-    analysis and prediction +  data simulations 
- +
-    data simulations +
  
 ==== Flux ==== ==== Flux ====
  
- +    * used by Facebook 
-    used by Facebook +    application architecture for client side apps 
- +
-    application architecture for client side apps +
  
  
Line 44: Line 40:
  
 Sources: Sources:
-https://branch-blog.qlik.com/tools-and-platforms-for-data-driven-development-bb25d9c1e6ae#.oxtbihl5z +  * https://branch-blog.qlik.com/tools-and-platforms-for-data-driven-development-bb25d9c1e6ae#.oxtbihl5z 
-https://facebook.github.io/flux/docs/in-depth-overview.html#content+  https://facebook.github.io/flux/docs/in-depth-overview.html#content
  
 ===== DevOps (software DEVelopment and Information Technology OPerationS) ===== ===== DevOps (software DEVelopment and Information Technology OPerationS) =====
Line 60: Line 56:
  
 Tools for DevOps include Jenkins (builds, runs test, push to production), ELK (logs ALL processes and environment happenings) and Github. Tools for DevOps include Jenkins (builds, runs test, push to production), ELK (logs ALL processes and environment happenings) and Github.
 +
 ===== SRE - site reliability engineering ===== ===== SRE - site reliability engineering =====
  
 automating manual labor operations typically done by system administrators. Introduces mathematical formula to red/green light a software launch/update. Bridge disputes between dev and ops teams. SRE team sets a service-level agreement (SLA) that defines how reliable the system needs to be to end-users. If the team agrees on a 99.9% SLA, that gives them an error budget of 0.1%.  automating manual labor operations typically done by system administrators. Introduces mathematical formula to red/green light a software launch/update. Bridge disputes between dev and ops teams. SRE team sets a service-level agreement (SLA) that defines how reliable the system needs to be to end-users. If the team agrees on a 99.9% SLA, that gives them an error budget of 0.1%. 
-Focus is on scalability and reliability of systems + 
-Automating operations using algorithms and software solutions  +  * Focus is on scalability and reliability of systems 
-Created by google  +  Automating operations using algorithms and software solutions  
-similar to Devops +  Created by google  
-A group of people who oversee new developments/releases and make sure that they won't break anything that is already there  +  similar to Devops 
-The process creates open communication between the developers and the SRE's that oversee the projects +  A group of people who oversee new developments/releases and make sure that they won't break anything that is already there  
-Unlike operations, SRE's can code and develop software also. If not as many SRE's are needed, they can jump onto the development team +  The process creates open communication between the developers and the SRE's that oversee the projects 
 +  Unlike operations, SRE's can code and develop software also. If not as many SRE's are needed, they can jump onto the development team 
  
 =====Monitoring ====== =====Monitoring ======
Line 86: Line 84:
 ===== Continuous Integration ===== ===== Continuous Integration =====
  
-MetricsRefers to the measurement of a particular characteristic of a software program's performance or efficiency. Metrics help estimate the progress, quality and health of a software testing effort.+===== Metrics ===== 
 + 
 +Refers to the measurement of a particular characteristic of a software program's performance or efficiency. Metrics help estimate the progress, quality and health of a software testing effort.
 Examples of metrics: number of tests run and passed, number of defects, software development effort estimation (realistic predictions of the effort required to develop or maintain software), assessing performance of a server under heavy load Examples of metrics: number of tests run and passed, number of defects, software development effort estimation (realistic predictions of the effort required to develop or maintain software), assessing performance of a server under heavy load
 +
 There are three types of metrics: There are three types of metrics:
-Process Metrics: measures the process efficiency of the Software Development Life Cycle +  * Process Metrics: measures the process efficiency of the Software Development Life Cycle 
-Product Metrics: measures the quality of the software product +  Product Metrics: measures the quality of the software product 
-Project Metrics: measures the efficiency of a project team or any tools being used in the project+  Project Metrics: measures the efficiency of a project team or any tools being used in the project 
 JMeter: http://jmeter.apache.org/ JMeter: http://jmeter.apache.org/
 +
 Source: http://www.guru99.com/software-testing-metrics-complete-tutorial.html Source: http://www.guru99.com/software-testing-metrics-complete-tutorial.html
-A/B Testing ("Split testing")- Used in applied marketing and business intelligence for assessing conversion rate optimization strategies. Executed by delivering unique content to similar user groups to determine the most appropriate conveyance of information. EXP: User group G a is split into pools X and Y. Group X is delivered landing page J, while group Y is delivered landing page K. Exit rates for landing pages J and K are 20% and 50% respectively. The A/B test has shown that landing page J is more effective at retaining users, and therefore should be delivered to users in group G.+ 
 +===== A/B Testing ===== 
 +("Split testing")- Used in applied marketing and business intelligence for assessing conversion rate optimization strategies. Executed by delivering unique content to similar user groups to determine the most appropriate conveyance of information. EXP: User group G a is split into pools X and Y. Group X is delivered landing page J, while group Y is delivered landing page K. Exit rates for landing pages J and K are 20% and 50% respectively. The A/B test has shown that landing page J is more effective at retaining users, and therefore should be delivered to users in group G.
 https://vwo.com/ab-testing/ https://vwo.com/ab-testing/
 +
 TOOLS: Adobe Target, Optimizely, Google Analytics, Visual Website Optimizer TOOLS: Adobe Target, Optimizely, Google Analytics, Visual Website Optimizer
 +
 "Conversion rate" - rate at which visitors to a site convert to "something else" i.e. a subscriber, etc. A/B testing allows for comparison of two  "Conversion rate" - rate at which visitors to a site convert to "something else" i.e. a subscriber, etc. A/B testing allows for comparison of two 
 From Johanna Goergen: "I'm a software engineer at Optimizely, a startup that does A/B testing and personalization. I'm on the application backend team and am mostly tasked with writing and maintaining the company's REST API. ... We provide a platform for companies to track the success of certain variations of their web/mobile apps through whatever metrics they want, such as conversions, clicks, page views, etc. We also even support full stack testing now so that they can track the effectiveness of certain algorithms vs others deeper in their code base." From Johanna Goergen: "I'm a software engineer at Optimizely, a startup that does A/B testing and personalization. I'm on the application backend team and am mostly tasked with writing and maintaining the company's REST API. ... We provide a platform for companies to track the success of certain variations of their web/mobile apps through whatever metrics they want, such as conversions, clicks, page views, etc. We also even support full stack testing now so that they can track the effectiveness of certain algorithms vs others deeper in their code base."
  
-Canaries A canary test is a push of programming code changes to a small group of end users who are unaware that they are receiving new code. Since the new code is only sent to a small subset of users, a problem in the code will not have a huge impact. Chrome Canary is an example, new code is pushed constantly.+===== Canaries ===== 
 +A canary test is a push of programming code changes to a small group of end users who are unaware that they are receiving new code. Since the new code is only sent to a small subset of users, a problem in the code will not have a huge impact. Chrome Canary is an example, new code is pushed constantly.
 Source: http://whatis.techtarget.com/definition/canary-canary-testing Source: http://whatis.techtarget.com/definition/canary-canary-testing
  
-Triage Triage is the act of analyzing, understanding, and categorizing a specific set of defects, in preparation for making a repair scheduling decision. For a given set of defects, you need to determine how to act on them and proceed with repairs. The more serious defects, those with the highest priorities, receive action first, usually because of their import or because they are blocking further project activity. Source: http://www.informit.com/articles/article.aspx?p=2123715&seqNum=3+===== Triage ===== 
 +Triage is the act of analyzing, understanding, and categorizing a specific set of defects, in preparation for making a repair scheduling decision. For a given set of defects, you need to determine how to act on them and proceed with repairs. The more serious defects, those with the highest priorities, receive action first, usually because of their import or because they are blocking further project activity. 
  
-•Monitoring - Project managers monitor the progress of a project. Three levels of monitoring includeactivity levels, status reports, and milestone analysis +Sourcehttp://www.informit.com/articles/article.aspx?p=2123715&seqNum=3
-Triage+
  
-    Allows threads to temporarily stop being mutually exclusive as they wait for condition to be met +=====Monitoring=====  
 +Project managers monitor the progress of project. Three levels of monitoring include: activity levels, status reports, and milestone analysis
  
 +===== Branch Deploy =====
  
-•Metrics 
-•A/B Testing ("Split testing")- Used in applied marketing and business intelligence for assessing site design and marketing campaign efficacy. Executed by delivering unique content to   
-"Conversion Rate"- rate at which a website is able to convert a visitor to that site to "something else" - a subscriber, etc. A/B testing allows you to compare conversion rates of different versions of a product to see which one does better. 
- 
-From Johanna Goergen: "I'm a software engineer at Optimizely, a startup that does A/B testing and personalization. I'm on the application backend team and am mostly tasked with writing and maintaining the company's REST API. ... We provide a platform for companies to track the success of certain variations of their web/mobile apps through whatever metrics they want, such as conversions, clicks, page views, etc. We also even support full stack testing now so that they can track the effectiveness of certain algorithms vs others deeper in their code base." 
- 
-Branch Deploy 
 "Branching is an important tool in your development process, as it offers a very powerful way to let developers work in isolation on different aspects of a software project." "Branching is an important tool in your development process, as it offers a very powerful way to let developers work in isolation on different aspects of a software project."
 "Branches let you easily maintain your “in-progress” work separately from your completed, tested, and stable code." "Branches let you easily maintain your “in-progress” work separately from your completed, tested, and stable code."
Line 130: Line 133:
 Uses: SVN and GitHub (and other VCS) Uses: SVN and GitHub (and other VCS)
  
-Sources: http://guides.beanstalkapp.com/version-control/branching-best-practices.html +Sources:  
-https://confluence.atlassian.com/bamboo/deployments-from-branches-407724097.html+  * http://guides.beanstalkapp.com/version-control/branching-best-practices.html 
 +  https://confluence.atlassian.com/bamboo/deployments-from-branches-407724097.html
  
  
  
courses/cs397/winter2017/buzzword_bingo.1493753681.txt.gz · Last modified: 2017/05/02 19:34 by admin
CC Attribution-Noncommercial-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0