[knowledge portfolio]
Highly opinionated, for F&L
-
- Read Dockerfile
- Write Dockerfile
- Images vs Containers
- What is an ENTRYPOINT?
- Build images
- Run images without docker-compose
- Run commands on containers
- Connect with containers
- Have an account on Docker Hub
- Push images to docker registries, using dockerhub as an example
- Learn docker CLI commands
- docker ps
- docker containers -a
- docker network
- docker volume
- What is purge?
- Learn/understand docker container, network and volume naming conventions
- Learn how to read the output of "docker ps"
- Volume mapping
- Port mapping
-
- Read docker-compose.yml
- Write docker-compose.yml
- Structure of compose file
- version
- services
- networks
- volumes
- Services
- build vs image
- context
- environment variables
- dependencies
- port mapping
- volume mapping
- network
- Volume
- Create volume/storage on disk
- Mount volume to container
- Learn how/when the volume is cleared
- Network
- Create IP range
- Connect containers to network
- Prevent IP conflicts
- Fix conflicts
-
- Single account with multiple emails
- Setup SSH keys
- Setup GPG keys
- What comprises of a good README and how to write one
- Branches
- Actions / Workflows
- Secrets
- Archive/Delete repositories
- Transfer ownership of repositories
- Personal access tokens : Fine grained
- GitHub Apps
- OAuth Apps
- OAuth Approved Apps
- Releases
- Environments
- Wiki
- Projects
- Webhooks
-
- The best IDE is what you are most comfortable with
- The IDE should be configured to do the heavy lifting for you
- The IDE should save your time and effort, and should allow you to focus on the task at hand
- DO NOT USE "Git Lens" or any such tool that "adds the noise" rather than "removing the noise"
- You do not need to know who wrote the code, you need to know what the code does
- If you
needwant to know who wrote the code, then you are not looking for the solution, you are looking for the problem
A well configured IDE should be able to do the following:
- Use the PHP version of the docker container
- Debug using Xdebug
- Run tests
- Easily access terminal
- Run git commands : commit,
pullrebase, push, stash, unstash etc - Run docker/docker-compose commands : build, up, down, exec etc
- Setup extensions/plugins that help you get things done, and well
-
- Composer git hooks
- How is the package working with containers?
-
- When does this run?
- What does this do?
-
- Installation and setup
it
andtest
functionsdatasets
beforeEach
andbeforeAll
Pest.php
- Migrations and Seeders
- Common assertions
- Higher order testing
- Skipping tests
- Filtering tests
- Running tests
- Code coverage controls
- Architectural testing
- PHP Mess Detector
- Using the ruleset XML file
- Parallel lint
- Security checker
- Know the impact of the vulnerabilities identified by the security checker
-
- Installation and setup
- Using telescope for debugging and monitoring requests, jobs, exceptions, mails, notifications, queries, models, cache, schedules, logs, dumps, events, commands, queues, and more
-
- Installation and setup
- Debugging API requests, console commands, and web requests
-
- Installation and setup [in the boilerplate]
- Account setup
- Team setup
- GitHub integration[for collection backup]
- Setup collection, with variables, pre-request scripts and tests
- Understand the test execution flow [collection, folder, request]
- Use test scripts to assert the response
- Use test scripts to set variables, based on response
- Use runner to run the collection, sans environment
- Use container to run the collection
- Use Composer script
postman
to run the collection - Setup CircleCI to run the collection
- Setup GitHub Actions to run the collection
-
- Configure Postmark for sending emails, using the Postmark token
- Setup sending signatures
- Setup DNS (DKIM / SPF / DMARC)
- Ensure emails are being received in the inbox (not SPAM)
-
- CI/CD
-
- Setup project repository
- Understand the CircleCI file : workflow, jobs, steps, and commands
- Check rejected commits at Reviewee
- Run containers
- Run composer script
ci
- Setup Reviewee webhook in Project settings for Slack notifications
- SSH into the container
- Deploy to Heroku
-
- Setup project repository
- Understand the GitHub Actions file : workflow, jobs, steps, and commands
- Check rejected commits at Reviewee
- Run containers
- Run composer script
ci
- Setup Reviewee webhook for Slack notifications
- Deploy to Heroku
-
-
- Team setup
- Pipeline setup
- Apps setup : Staging and Production
- Dynos
- Web
- Worker
- Scheduler
- Add-ons
- Postgres
- Rollbar
- Papertrail
- New Relic
- Scheduler
- Redis [if required per project requirements]
- Environment variables
- Buildpacks
- Deployments
- Releases
- Metrics
- Logs
- Activity
- Billing
- Account
- Connect to app via SSH
- Run commands on app
- Webhooks
-
- Setup project
- Setup environments [staging and production]
- Setup Slack notifications
- Setup Trello integration, with rules
- Use Rollbar token in boilerplate
-
- Setup project
- Filter logs
-
- Setup project
- Setup environments [staging and production]
- Setup Apdex score
- Understand the dashboard : transactions, errors, throughput, response time, database, external services, background jobs
-
- Understand the Terraform file : providers, resources, variables, outputs
- Heroku deployment script
- Add-ons : Postgres, Rollbar, Papertrail, New Relic
- Pipelines, apps, and dynos
- Environment variables
- CircleCI configuration
- AWS setup : IAM, S3, policies [staging and production]
- CI/CD
-
- [WIP]
-
- [WIP]
-
- [WIP]
Knowledge Portfolio
Tech skills
Docker
Docker-compose
GitHub
IDE setup
needwant to know who wrote the code, then you are not looking for the solution, you are looking for the problemConsider the following list as "must-have" for your IDE, and not "nice-to-have"
A well configured IDE should be able to do the following:
pullrebase, push, stash, unstash etcBoilerplate
Laravel
IDE helper
PestPHP
it
andtest
functionsdatasets
beforeEach
andbeforeAll
Pest.php
Telescope
Xdebug
Postman
postman
to run the collectionPostmark
DevOps
CircleCI
ci
GitHub Actions
ci
Heroku
Rollbar
Papertrail
New Relic
Terraform
Security
Backups
Performance
Personal skills
Work ethics
Critical thinking
Time keeping
Dependability
Leadership skills
Willingness to learn
Patience
Competitive spirit
Motivation
Communication skills
Understanding
Understandable
Writer
Speaker
Reader