Branch
Branch
A branch is a separate line of development within your source code repository. This allows multiple developers work within a single repository, without ruining the work of other developers.
There are so many words out there. Here a few of I think you should know.
A branch is a separate line of development within your source code repository. This allows multiple developers work within a single repository, without ruining the work of other developers.
Not to be confused with cash, cache is a copy of something, usually for the purpose of improving performance. For example, instead of adding up the cost of each line item on an invoice every time we look up the total, we do it once, and then save a copy of that result in a cache.
This can be a huge source of performance improvement, but also leads to bugs if you are not careful. For example, if you forget to clear the total when adding an additional line item, you will not get the outcome you expect!
Continuous Integration (CI) is a practice of constantly merging all the code from every developer into a single main version.
Create, Read, Update, Delete is a common term to describe the basic operations of most web applications.
Environments let you run the application with different configurations. This is most obvious useful with development and production environments. In the development environment you might run with lower security settings to improve performance and have access to a test finances account. In the production environment the system would run with full security settings and have access to the real financial accounts.
An Ideal Customer Profile (ICP) gives a complete picture of the perfect customer for your SaaS. This typically includes demographics like gender, age, and income level, but also should include details about the pains this person is experiencing that you might be able to help with.
installprompt is an experimental Chrome event that makes web app installation simple and easy for end users. When Chrome detects the site could be installed, an event is sent which can be used to trigger the native install prompt. This actually lets web apps be installed easier than a native app!
A Minimum Viable Product is the version of a product without any bells and whistles. This is the first version where a user could start getting value from using it.
Progressive Web Apps are website that are designed to cater to the capabilities of the device they are running on. This means it will work on a lower powered phone, and a high end desktop computer. The features used will vary, but the website will still work.
A repository is a place to store multiple versions of code, along with comments and other organizational information. GitHub and Gitlab are two common services that provide repository services.
Software as a Service is a software model where you charge a subscription fee to access the software as opposed to a one time feed with upgrades as was the typical case with packaged software. This has many benefits for the customer since they do not need to worry about setup and maintenance, and benefits the business since they will have a stable revenue model.
Snowflake servers are typically customized servers which have not been properly documented. As such no one really knows what exactly it does, and it is risky to touch or change it.
A Standard Operating Procedure (SOP) is a standardized list of steps needed to complete a task. This should be sufficiently thorough such that an individual generally skilled in the relevant areas would be able to complete the task without outside assistance.
Single Page Applications (SPA) are websites that use JavaScript to provide a more interactive user experience. This is typically done by avoiding page navigation and using data loaded directly from the server on the users machine.
Spooky Action (at a distance) refers to the common issue where changing code in one module, significantly and unintentionally alters the functionally in some distance, seemingly unrelated code.
Test Driven Development is a technique where you write tests for code that doesn’t exist. As you step through each error message, you are lead to solve the next single issue need. Once all the test passes, you have a functional system. These tests can also be used to increase confidence in the system and even perform continuous integration and deployment of your system.
A test suite is an automated tool the helps ensure your application runs as specified. This is a huge benefit as the computer is able to automatically run hundreds or thousands of test in minutes as opposed to just a handful that a human could manually complete.
Please note, this tests for the specification, not necessarily correctness. A poorly written test suite that declares 2+2=5
will pass or fail based on the specification, not based on the rules of math. This is why a good test suite is critical for the confidence of your system.
Webhooks allow your server to respond to events that occur outside your system, for example being notified when a Stripe subscription is successfully charged.