Saturday, July 23, 2016

Abbreviations every programmer must know

Here will be introduced several abbreviations every programmer must know, some of them have a fundamental basis for how to improve Your code quality and exponentially evolve Your knowledge in computer science.

Basic principles:

API - Application Programming Interface

SDK - Software Development Kit

OOP - Object Oriented Programming 

SOLID - Single Responsibility, Open-Closed principle, Liskov`s substitution, Interface Segregation, 
Dependency Inversion. (have a discrete mathematical scientific base)

RDBMS - Relational DataBase Management System

SQL - Structured Query Language, special purpose programming language designed for managing data held in RDBMS

ACID - Atomicity Consistency Isolation Durability, the main concepts of RDBMS

CRUD - CREATE - POST/INSERT, READ - GET/SELECT, UPDATE - PUT-PATCH/UPDATE, DELETE/DELETE, corresponding to HTTP1.1/SQL respectively.

SIGNALS - Signals in C, some of them are so popular and commonly used, that if U don`t know them - it looks like total lame, they are all started with SIG|TYPEOFSIGNAL  ex.: SIGKILL, SIGTERM - polite termination of a program, SIGHUP - terminal disconnected, SIGIO - input/output handling, SIGFPE - floating point or division by zero error, SIGCHILD - when child process is terminating, SIGCONT - continue process execution, SIGPIPE - broken pipe.

POSIX - Portable Operating System Interface for Unix

RC - Race Condition

DRY - Don`t Repeat Yourself

KISS - Kip It Simple, Stupid

YAGNI - You aren't gonna need it

Protocols and references:

ISO - International Organization for Standardization, includes members from almost all countries over the world.

IETF - Internet Engineering Task Force

RFC - Request for Comments has a serial number ex.: RFC-6455 winch describes the specifications of a WebSocket protocol intercommunication. 

HTTP1.0/1.1 - Hypertext Transfer Protocol, in simple words it describes how headers/body of a request/response should be transferred and through winch of methods GET/POST/PUT/PATCH/DELETE/HEAD/OPTIONS and with what rules.

SOAP/WSDL - Simple Object Access Protocol and Web Services Description Language - based on XML and describes Access to Web-Services.

RESTfull - Representational State Transfer, describes several constraints like: Client-Server, Stateless, Cacheable, Layered System, Uniform Interface.

W3C -  (not for all programmers, but for Web front-end is a must)

Formats: 

JSON-RPC - stateless, light-weight remote procedure call (RPC) protocol. For instance, you can call methods of controllers by appending to uri statements like this - &method=getMapObjects

JSON API - JavaScript Object Notation with Application Programming Interface for server/client intercommunications  

GraphQL - is a query language with types and their restrictions/filters, ex.: required fields, string/boolean/numeric types. Developed and used by FaceBook.

XML/XSLT - Extensible Markup Language and Extensible Stylesheet Language Transformations

PSR - PHP Standard Recommendations (not common, only for PHP developers)

Security: 

SSH - Secured Shell

SSL/TLS - Secure Socket Layer / Transport Layer Security (newer version of SSL)

SQL Injection - when hacker can inject some sql-query by inputting extra value to the field of a query, if it hasn`t been protected by param-bindings for example or by string escaping etc

CSRF - Cross Site Request Forgery 

XSS - Cross Site Scripting

DDoS - Distributed Denial of Service

BruteForce - attack explore weakly programmed input points in application by forcing them with ex.:  multiple requests.

Man in the Middle - Asymmetric encryption eavesdropping via TCP/IP socket connection, HTTP over it 

Session Hijacking - it is used to refer to the theft of a magic cookie used to authenticate a user to a remote server.



No comments:

Post a Comment