Privacy

Privacy Policy Last updated: 2023-06-04 This Privacy Policy describes Our policies and procedures on the collection, use and disclosure of Your information when You use the Service and tells You about Your privacy rights and how the law protects You. We use Your Personal data to provide and improve the Service. By using the Service, You agree to the collection and use of information in accordance with this Privacy Policy. This Privacy Policy has been created with the help of the Free Privacy Policy Generator....

June 4, 2023

Trunk Base Development

Comparing Trunk-Based Development with Gitflow When it comes to branching strategies in software development, two popular options are Trunk-Based Development and Gitflow. Both have their pros and cons, and which one you choose will depend on the needs of your team and project. In this post, we’ll take a closer look at each strategy and compare them in terms of their benefits and drawbacks. Trunk-Based Development Trunk-Based Development involves working on a single branch (usually called “trunk” or “master”) and making frequent, small commits....

March 3, 2023

Performance vs Productivity

Productivity is delivering on a plan to create a functional piece of work. Success is based on delivery Performance is doing your job well, learning to be more productive. Success is based on continuous improvement How can we measure performance and productivity? In technology, we can use the SPACE framework to measure productivity. This like at basic metrics to count units of work done and along with more subjective measures of work stratification....

May 2, 2022

Refactoring Specific to Generic Interfaces

My currently working on an application to tracking projects in our organisation. As part of this I defined this specific repository interface to get and store application and project information in a database. The specific interface export interface Container { // store and fetch from DB getRepository: () => Repository } export interface Repository { createProject: (project: NamedEntity) => Promise<unknown> getProject: (id: number) => Promise<SavedEntity|void> listProjects: () => Promise<SavedEntity[]> deleteProject: (projectId: number) => Promise<unknown> createApplication: (request: NamedProjectEntity) => Promise<unknown>; getApplication: (id: number) => Promise<SavedProjectEntity|void> listApplications: () => Promise<SavedProjectEntity[]>; listProjectApplications: (projectId: number) => Promise<SavedProjectEntity[]>; deleteApplication: (applicationId: number) => Promise<unknown> } I’ve been adding to this piece by piece using end-2-end development starting with the createProject and listProjects....

April 12, 2022

Cypress, Typescript and Page Object Patterns

Combining Cypress, Typescript and Page Object concepts into a simple easy to read end-2-end test suite. export class PageObject { constructor(anything: any) { } wrap = (anything: any) => this } export class LoginPageObject extends PageObject{ clickSignIn = () => this.wrap(cy.get('[data-cy="signin"]').click()) enterEmail = (email: string) => this.wrap(cy.get('[data-cy="email"]').type(email)) enterPassword = (password: string) => this.wrap(cy.get('[data-cy="password"]').type(password)) shouldSeeAuthenticationFailedAlert = () => this.wrap(cy.get('[data-cy="authentication-failed"]').should('be.visible')) shouldSeeDashboard = () => this.wrap(cy.get('[data-cy="dashboard"]').should('be.visible')) } describe('Login', function () { it('should fail login with message', () => { goToLogin() ....

June 17, 2021

Automating IE 11 Testing

This guide will help you setup and run automated tests in a local development environment running in Mac or Linux and using a free Microsoft development virtual machine to run tests. Tools and Downloads VirtualBox Window 8 - IE 11 - Virtual Box Image Java JRE 1.8 Selenium Grid (Server) IEDriverServer Step 1 - Virtual Machine Install VirtualBox Extract and Import the Windows Image Change the following defaults: Increase the CPU to at least 2, but 4 is better, IE runs too slowly otherwise....

March 22, 2021

Self Taught - Reading List

React Maintenance React Docs - Basic and Advanced Concepts Testing End to End Testing Page Objects (Martin Fowler) Detaching the logic being tested from the mechanics of interacting with the dom General The Complete Software Developer’s Career Guide A Great book that motivated me to start this blog, set a learning plan and think about a career path ...

March 18, 2021