Tag: computer science

Dependency Inversion Principle

The Dependency Inversion Principle is a component of The SOLID Principles. These principles set out simple rules to follow that allow us to create maintainable and easily extensible codebases. The dependency inversion principle states that any entity should depend on abstractions rather than concrete implementations. This basically means that when…

Continue Reading Dependency Inversion Principle

Interface Segregation Principle

The Interface Segregation Principle is a component of The SOLID Principles. The SOLID principles are useful tips and rules to follow when writing software and code to create a maintainable and easily extensible codebase. The interface segregation principle states that any object or class should not be forced to override…

Continue Reading Interface Segregation Principle

Liskov Substitution Principle

The Liskov Substitution Principle is a component of The SOLID Principles which helps you create maintainable and extensible code. This principle states that any class should be able to be substituted for any of its subclasses without any issues. This basically just means that if you have a parent class…

Continue Reading Liskov Substitution Principle

Open-Closed Principle

The Open-Closed Principle is a component of The SOLID Principles. These principles can help you write software that is easy to extend and maintain whilst also avoiding code smells and bad design in your codebase. The open-closed principle states that any object should be open for extension but closed for…

Continue Reading Open-Closed Principle

Single Responsibility Principle (SRP)

The Single Responsibility Principle (SRP) is one of the aspects of The SOLID Principles. It states that every class or object should have one purpose, one responsibility and effectively one reason for existence. This principle is concerned mainly with object-orientated programming but it can and should be thought about at…

Continue Reading Single Responsibility Principle (SRP)

The SOLID Principles

The SOLID principles are a set of 5 rules to follow for Object-Orientated Programming (OOP). These rules or principles can be used to create software that is easy to extend and maintain while avoiding code smells and allowing simple refactoring. Obviously, these 5 principles are not a silver bullet and…

Continue Reading The SOLID Principles

What is Steganography?

Steganography is the process of hiding a message, file, video, or picture within another message, file, video or picture. The key of steganography is that the medium that is used to hide the secret message, such as the image you use to conceal your message, looks completely normal to the…

Continue Reading What is Steganography?

What is Defensive Coding?

Defensive coding is a way of ensuring your program or code continues to function under unforeseen or unintended circumstances. Imagine a hacker or malicious user is trying to find vulnerabilities in your program, such as seeing the contents of a database, you want your program to not reveal any secure…

Continue Reading What is Defensive Coding?

What is Code Obfuscation?

Code obfuscation is a way to disguise what code is actually doing while still allowing the code to be compiled or interpreted. Obfuscating code can be used to make it harder for someone else to understand and read the code. Imagine you’re writting code that you don’t want to be…

Continue Reading What is Code Obfuscation?

What is Hashing?

Hashing is a way to convert readable information into a more secure non-readable format. You can use hashing to secure passwords or any other information you don’t want hackers to be able to access. Hashing can also be used to ensure the integrity of data and/or its sender. There are…

Continue Reading What is Hashing?