Dependency and package management.
Last reviewed 13 December 2020 by Alex Seymour
Description
An overview of why and how we use dependency and package management in JS and PHP.
Why this is important
It is important to promote re-use and contribution of code that does the same thing, using dependency and package management we can get the functionality we need. As well as that you wil learn how to select packages and
Outcomes
At the end of this training you will be able to:
- Use the NPM package manager.
- Use composer as a dependency manager.
- Find packages on NPMJS and packagist.
Learner Requirements
Before starting this session you will need:
- A working lamp stack (Cloud 9)
Outline
An overview of the session should mirror slide deck
- Intro Dependency / Package managers
- What are they
- Introduction to Composer
- Installing
- Commands
- Packagist
- Solving problems with Composer
- Read a csv file
- Process the file
- Send the file to an endpoint
- Introduction to NPM
Tasks
To be completed as part of this training session
- Link to Glitch
- Link to repo on GitHub
Further Tasks
Additional to the training session, to be completed in apprentices own time (non mandatory).
- Additional versions of session tasks for your project
- Additional versions of session tasks for something at work
- Link to challenge repo on GitHub
Resources / Reference
- Slides: Slides on Google Drive
Skills, Knowledge, Behaviours and Values
Core Skills
This workshop is designed to develop the following from our core skills directive
- Communication
- Estimation
- Summarisation
- Presentation
- Research
- Teamwork
Apprenticeship Standard
This workshop will encourage the development of the following from the Software Developer Level 4 Standard
COMPETENCIES (Skills)
- C4 - Test: can test code and analyse results to correct errors found using either V-model manual testing and/or using unit testing.
- C5 - Problem solving: can apply structured techniques to problem solving, can debug code and can understand the structure of programmes in order to identify and resolve issues.
- C8 - Deployment: can understand and utilise skills to build, manage and deploy code into enterprise environments.
- C9 - Development lifecycle: can operate at all stages of the software development lifecycle, with increasing breadth and depth over time with initial focus on build and test.
- C11 - Can interpret and follow:
- software designs and functional/technical specifications
- company defined ‘coding standards’ or industry good practice for coding
- testing frameworks and methodologies
- company, team or client approaches to continuous integration, version and source control
BEHAVIOURS
- B1 - Logical and creative thinking skills.
- B2 - Analytical and problem-solving skills.
- B5 - A thorough and organised approach.
- B8 - Maintain productive, professional and secure working environment.
Knowledge
- K3 - Understands how teams work effectively to produce software and contributes appropriately.
- K4 - Understands and applies software design approaches and patterns and can interpret and implement a given design, compliant with security and maintainability requirements.
- K5 - Understands and responds to the business environment and business issues related to software development.