Compare commits

...

8 Commits

Author SHA1 Message Date
Bahador
5bf835f61c Merge fa02b20067 into 88e5be6e4b 2024-10-03 17:50:32 -04:00
Julien Le Coupanec
88e5be6e4b Merge pull request #391 from Philip-Walsh/master
fix spelling and whitespace in cheatsheets
2024-08-24 23:07:02 +02:00
Philip-Walsh
2f9037b24e fix spelling and whitespace in cheatsheets 2024-08-22 12:02:10 +01:00
Julien Le Coupanec
0931c8fc67 Merge pull request #356 from rukywe/update-mysql-commands
Add Comprehensive MySQL Commands to Cheatsheet
2024-06-20 23:30:39 +02:00
Julien Le Coupanec
3c2016f645 Merge pull request #273 from erfanansari/update-vim
add more shortcuts to vim.txt
2024-06-20 23:29:42 +02:00
Kelvin Anigboro
4fdd37d875 Add Comprehensive MySQL Commands to Cheatsheet 2024-01-01 18:33:13 +00:00
Bahador Gh
fa02b20067 Adding solidity cheatsheet 2023-01-07 15:44:05 +03:30
Erfan Ansari
707a1a22e2 add more shortcuts 2022-03-09 13:38:02 +03:30
11 changed files with 464 additions and 123 deletions

220
backend/solidity.sol Normal file
View File

@@ -0,0 +1,220 @@
/* *******************************************************************************************
* Defining Licensing of the smart contract =>
******************************************************************************************** */
// SPDX-License-Identifier: MIT
// List of allowed SPDX licenses to use => https://spdx.org/licenses/
/* *******************************************************************************************
* Defining solidity compiler(solc) version for compiling the smart contract =>
- Some possible ways to use:
- pragma solidity 0.8.0; ==> compiler version set exactly on 0.8.0 version
- pragma solidity ^0.8.0; ==> compiler version set above 0.8.0 version and lower than 0.9.0 version
- pragma solidity >= 0.7.0 < 0.9.0; ==> compiler version set equal or above 0.7.0 version and lower than 0.9.0 version
******************************************************************************************** */
pragma solidity ^0.8.0;
/* *******************************************************************************************
* Creating the smart contract => contract ContractName {}
- Note: Contracts are like classes in other programming languages.
- Note: Naming convention is like this for declaring contract: MyContract
******************************************************************************************** */
contract HelloWorld {
/* *******************************************************************************************
* Data types:
* 1) Value types:
- Value stored in smart contract storage slot
- bool
- int
- uint
- address
- bytes1 ... bytes32
- enum
* 2) Reference types:
- A reference to a stored value in smart contract storage slot will be set
- array
- string
- mapping
- struct
- bytes
******************************************************************************************** */
/* *******************************************************************************************
* Variable types:
* 1) State variables => Variables which
- Get permanently stored on blockchain(smart contract storage)
- Use most gas usage in smart contracts
- Accessible on whole smart contract
* 2) Local variables => Variables which
- Not stored on blockchain
- Use less gas in smart contracts
- Are living and working just in function body
* 3) Global variables => Variables which
- Provide information about the blockchain
- Can be used both as state variables and local variables
- Mainly used to determine contract owner and checking time
******************************************************************************************** */
/* *******************************************************************************************
* Visibility:
* 1) Variables:
- public
- private
- internal
* Ex: uint public number;
- Note: visibility is just for state variables and not applicable on local variables
- Note: default visibility of a state variable is(if we don't declare visibility scope) --> internal
- Note: if declare a variable to have 'public' scope, automatically a 'getter function' will be created for that variable
* 2) Functions:
- public
- private
- internal
- external
* Ex: function setNumber() public {}
******************************************************************************************** */
/* *******************************************************************************************
* Function types:
* 1) Non-Payable => Functions which
- Write on the blockchain
- Are our default functions type
- Are not able to accept deposits on the smart contract
* Ex: function setNumber() public {}
* 2) View => Functions which
- Are able to show us data
- Read from blockchain
* Ex: function setNumber() public view {}
* 3) Pure => Functions which
- Neither read nor write on blockchain
- Just do a specific work for us (ex: making sum of 2 numbers and returning back the value)
* Ex: function setNumber() public pure {}
* 3) Payable => Functions which
- Are able to accept Ether deposits on the smart contract
* Ex: function setNumber() public payable {}
******************************************************************************************** */
/* *******************************************************************************************
* Constructor => A function which
- Is optional
- Does not have a name
- Does not have visibility scope
- Executed during contract deployment
- Can take parameters while deploying
- Initializes smart contract state variables
- Will be at most 1 within each smart contract
- Can have payable attribute associatede with it
* Ex: constructor(uint _number) { number = _number; }
******************************************************************************************** */
/* *******************************************************************************************
* Data Locations =>
* Each variable declared and used in a contract has a data location:
- Storage:
- global memory available to all functions within a contract.
- oermanent storage that Ethereum stores on every node.
- Memory:
- local memroy available to every function within a contract.
- short living in functions.
- Calldata:
- where all incoming function execution data is stored(including function arguments)
- non-modifiable memory location(note: similar to memrory location, except it is not modifiable)
- Stack
- a stack which is maintained by EVM(Etheereum Virtual Machine) for loading variables and
intermediate values for working with Ethereum instruction set(the working set memory for the EVM).
- max limit is 1024 levels, and exceeding this limit(by storing anything more than that), raises an exception.
- Note: data location of variable, is dependent on:
- Location of the variable declaration
- Data type of the variable
- Note: We face them mostly, when are working with reference type variables.
******************************************************************************************** */
/* *******************************************************************************************
* Events =>
- Used for logging(like other languages)
- Used to notify applications about changes in contracts
- can be used to "call" JavaScript callbacks in the user interface of a dapp
- Primarily for informing the calling application about the current state of the contract
- Declared with 'event' keyword
- Firing them with 'emit' keyword
- Note: Events can be declared anonymous.
- Note: Events can have 'indexed' keyword in variable declaration(to make easier filtering of some specific data)
* Ex: event EventName(address sender,uint number)
* emit EventName(address(0), 10)
******************************************************************************************** */
/* *******************************************************************************************
* Error handling =>
* 1) Require
- Check a condition,
if true => go to next line codes,
if false => show a string message and revert to privious state
- Refund remaining gas to the caller
- Note: Use require conditions, all at beginning the function.
* Ex: require(number >= 10, "number must be greater than 10");
* 1) Revert
- Similar to require, but can have more complex conditions
- Refund remaining gas to the caller
* Ex: if(number <= 10) { revert("number must be greater than 10"); }
* 1) Assert
- Mainly used in writing contract tests
- Don't refund remaining gas to the caller
* Ex: uint number = 123;
* assert(number == 10);
******************************************************************************************** */
/* *******************************************************************************************
* Enum =>
- A user defined data type
* Ex: enum OrderStatus { pending, accepted, completed, rejected};
* OrderStatus order = OrderStatus.accepted;
******************************************************************************************** */
/* *******************************************************************************************
* Mapping =>
* Declaration: `mapping(_KeyType => _ValueType) mappingName`
- Mappings are like **Dictionary** or **hash table** which are virtually initialized
such that every possible key exists and is mapped to a specific value.
- Note: **key** can be any type which EVM internally knows about it(exceptions are: a dynamically sized array, a contract, an enum, or a struct.
- Note: **value** can actually be any type, including mappings.
******************************************************************************************** */
/* *******************************************************************************************
* Struct
* Somehow we can pack some data types(and ofcourse data values) of an specific entity with structs:
* Ex: struct UserInfo { string fName; string lName; uint8 age; address wallet;}
* UserInfo user;
******************************************************************************************** */
}

View File

@@ -16,3 +16,69 @@ GRANT ALL PRIVILEGES ON prospectwith.* TO 'power'@'localhost' WITH GRANT OPTION;
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password'; # Create user
mysql -u root -pmypassword -e "MY SQL QUERY" &>> query.log & disown # Run SQL query in the background
# *****************************************************************************
# Database and Table Operations
# *****************************************************************************
CREATE DATABASE database_name; # Create a new database
DROP DATABASE database_name; # Delete a database
CREATE TABLE table_name (column1 datatype, column2 datatype, ...); # Create a new table
DROP TABLE table_name; # Delete a table
SHOW TABLES; # Display all tables in the current database
DESCRIBE table_name; # Show the structure of a table
# *****************************************************************************
# Data Manipulation
# *****************************************************************************
INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...); # Insert data into a table
UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition; # Update existing data in a table
DELETE FROM table_name WHERE condition; # Delete data from a table
SELECT column1, column2, ... FROM table_name WHERE condition; # Select data from a table
# *****************************************************************************
# Backup and Restore
# *****************************************************************************
mysqldump -u username -p database_name table1 table2 > file.sql # Backup specific tables
mysql -u username -p database_name < file.sql # Restore specific tables
# *****************************************************************************
# User Management and Security
# *****************************************************************************
REVOKE privilege_type ON database_name.table_name FROM 'username'@'hostname'; # Revoke privileges from a user
DROP USER 'username'@'hostname'; # Delete a user
ALTER USER 'username'@'hostname' IDENTIFIED BY 'newpassword'; # Reset a user's password
# *****************************************************************************
# Performance and Maintenance
# *****************************************************************************
OPTIMIZE TABLE table_name; # Optimize a table
ANALYZE TABLE table_name; # Analyze a table for key distribution and storage optimization
CHECK TABLE table_name; # Check a table for errors
REPAIR TABLE table_name; # Repair a corrupted table
# *****************************************************************************
# Advanced Queries
# *****************************************************************************
SELECT ... FROM table1 JOIN table2 ON table1.column = table2.column; # Perform a join operation between two tables
SELECT ... FROM (SELECT ... FROM table_name) AS subquery; # Use a subquery within another query
SELECT column, COUNT(*) FROM table_name GROUP BY column; # Group results and use aggregate functions
# *****************************************************************************
# System Information
# *****************************************************************************
SELECT VERSION(); # Show the current version of MySQL
SELECT User, Host FROM mysql.user; # List all current MySQL users
# *****************************************************************************
# Miscellaneous
# *****************************************************************************
SET GLOBAL general_log = 'ON'; # Enable query logging
SHOW FULL PROCESSLIST; # Show the last queries executed in MySQL

View File

@@ -3,7 +3,7 @@ CHEATSHEET C#
1. Data Types
Primitive Size Example
String 2 bytes/char s = "reference";
bool b = true;
char 2 bytes ch = 'a';
@@ -16,20 +16,20 @@ CHEATSHEET C#
decimal 16 bytes val = 70.0M;
2. Arrays
2.1 Declaration
//Initiliazed using a list defined with curly braces
int[] nameArray = {100, 101, 102};
//Define an empty array
int[] nameArray = new int[3]; // 3 rows and 2 columns
//To access a specific item in the array
int[] nameArray = new int[10];
int firstNumber = nameArray[0];
nameArray[1] = 20;
//Multidimensional arrays
int [,] matrix = new int [2,2]
matrix[0,0] = 1;
@@ -40,26 +40,26 @@ CHEATSHEET C#
int[,] predefinedMatrix = new int[2,2] { { 1, 2 }, { 3, 4 } };
2.2 Array Operations
//Sort ascending
Array.Sort(nameArray);
//Sort begins at element 6 and sorts 20 elements
Array.Sort(nameArray,6,20);
//Use 1 array as a key & sort 2 arrays
string[] values = {"Juan", "Victor", "Elena"};
string[] keys = {"Jimenez", "Martin", "Ortiz"};
Array.Sort(keys, values);
//Clear elements in array (array, first element, # elements)
Array.Clear(nameArray, 0, nameArray.Length);
//Copy elements from one array to another
Array.Copy(scr, target, numOfElements);
3. String Operations
//To concatenate between strings, use the plus operator:
string firstName = "Erin";
string lastName = "Roger";
@@ -68,27 +68,27 @@ CHEATSHEET C#
//To add one string to another, use the += operator:
string secondLastName = "Green";
string fullName += secondLastName;
//ToString function
//It converts an object to its string representation so that it is suitable for display
Object.ToString();
//String formatting
//Each additional argument to the function can be referred to in the string using the brackets operator with the index number.
String.Format(String format, Object arg0);
format - A composite format string that includes one or more format items
format - A composite format string that includes one or more format items
arg0 - The first or only object to format
//Substring
//Returns a part of the string, beginning from the index specified as the argument. Substring also accepts a maximum length for the substring
String.Substring(beginAt);
String.Substring(beginAt, maximum);
//Replace
string newStr = oldStr.Replace("old","new");
//IndexOf
//Finds the first ocurrence of a string in a larger string
//Finds the first occurrence of a string in a larger string
//Returns -1 if the string is not found
String.IndexOf(val, start, num)
val - string to search for
@@ -102,7 +102,7 @@ CHEATSHEET C#
String.Split(Char[]);
//ToCharArray
//Places selected characteres in a string in a char array
//Places selected characters in a string in a char array
String str = "AaBbCcDd";
//create array of 8 vowels
var chars = str.ToCharArray();
@@ -132,11 +132,11 @@ CHEATSHEET C#
DateTime nextYear = DateTime.AddYears(1);
6. TimeSpan
6.1 TimeSpan Constructor
TimpeSpan(hour, minute, sec)
TimeSpan(hour, minute, sec)
TimeSpan timeS = new TimeSpan(10, 14, 50);
TimeSpan timeS_Hours = TimeSpan.FromDays(3640);
@@ -144,8 +144,8 @@ CHEATSHEET C#
Format item syntax: {index[,alignment][:format string]}
index - Specifies element in list of values to which format is applied
aligment - Indicates minimun width (in characters) to display value
format string - Contains the code which specififes the format of the displayed value
alignment - Indicates minimum width (in characters) to display value
format string - Contains the code which specifies the format of the displayed value
7.1 Numeric
@@ -168,7 +168,7 @@ CHEATSHEET C#
csc -define:DEBUG -optimize -out:File2.exe *.cs -> Compiles all the C# files in the current directory with optimizations enabled and defines the DEBUG symbol. The output is File2.exe
csc -target:library -out:File2.dll -warn:0 -nologo -debug *.cs -> Compiles all the C# files in the current directory producing a debug version of File2.dll. No logo and no warnings are displayed
csc -target:library -out:Something.xyz *.cs -> Compiles all the C# files in the current directory to Something.xyz (a DLL)
8.1 Compiler Options Listed
Option Purpose
@@ -260,21 +260,21 @@ CHEATSHEET C#
10. Loop
10.1 While
while (condition) {body}
10.2 Do while
do {body} while condition;
10.3 For
for (initializer; termination condition; iteration;) {
//statements
}
10.4 For each
foreach (type identifier in collection) {
//statements
}
@@ -293,7 +293,7 @@ CHEATSHEET C#
[access modifier] className (parameters) [:initializer]
initializer -base calls constructor in base class.
this calls constuctor within class.
this calls constructor within class.
public class nameClass : Initializer {
public className(dataType param1 , dataType param2, ...) : base(param1, param2)
@@ -313,8 +313,8 @@ CHEATSHEET C#
abstract must be implemented by subclass
Passing parameters:
1. By default, parametres are passed by value
2. Passing by reference: ref, in and out modifers
1. By default, parameters are passed by value
2. Passing by reference: ref, in and out modifiers
To pass a parameter by reference with the intent of changing the value, use the ref, or out keyword. To pass by reference with the intent of avoiding copying but not changing the value, use the in modifier
@@ -331,9 +331,9 @@ CHEATSHEET C#
12. Struct
12.1 Defining a structure
[attribute][modifier] struct name [:interfaces] { struct-body }
12.2 Class vs Structure
-> Classes are reference types and structs are value types
@@ -378,7 +378,7 @@ CHEATSHEET C#
//To declare an event inside a class, first a delegate type for the event must be declared.
public delegate string MyDelegate(string str);
//The event itself is declared by using the event keyword
event MyDelegate MyEvent;

View File

@@ -31,11 +31,11 @@ Preprocessor directives:
Create and execute a program
In Linux systems:
In Linux systems:
1. Open up a terminal
2. Create the program: nano nameProgram.c
3. Write the program and save it
4. gcc -o nameExecutable nameProgram.c
4. gcc -o nameExecutable nameProgram.c
32 Reserved words
@@ -106,8 +106,8 @@ Operators
( ) grouping parenthesis, function call
[ ] array indexing, also [ ][ ] etc.
-> selector, structure pointer
. select structure element
-> selector, structure pointer
. select structure element
! relational not, complement, ! a yields true or false
~ bitwise not, ones complement, ~ a
++ increment, pre or post to a variable
@@ -153,7 +153,7 @@ Operators
Operator precedence
More precedence
LR ( ) [ ] -> . x++ x--
@@ -203,7 +203,7 @@ Function definition
type function_name(int a, float b, const char * ch,...) { function_body }
/* only parameters passed by address can are modified*/
/* only parameters passed by address can are modified*/
/* in the calling function, local copy can be modified*/

View File

@@ -11,7 +11,7 @@ XML uses a DTD to describe the data.
So the XML is a **Complement** to HTML.
* HTML: is used to format and display the same data.
XML does not carry any information about how to be displayed. The same XML data can be used in many different presentation scenarios.
Because of this, with XML, there is a full separation between data and presentation.

View File

@@ -46,7 +46,7 @@ CTRL+X then ( # start recording a keyboard macro
CTRL+X then ) # finish recording keyboard macro
CTRL+X then E # recall last recorded keyboard macro
CTRL+X then CTRL+E # invoke text editor (specified by $EDITOR) on current command line then execute resultes as shell commands
CTRL+A then D # logout from screen but don't kill it, if any command exist, it will continue
CTRL+A then D # logout from screen but don't kill it, if any command exist, it will continue
BACKSPACE # deletes one character backward
DELETE # deletes one character under cursor
@@ -94,7 +94,7 @@ cat <filename> # displays file raw content (will not be interpret
cat -n <filename> # shows number of lines
nl <file.sh> # shows number of lines in file
cat filename1 > filename2 # Copy filename1 to filename2
cat filename1 >> filename2 # merge two files texts together
cat filename1 >> filename2 # merge two files texts together
any_command > <filename> # '>' is used to perform redirections, it will set any_command's stdout to file instead of "real stdout" (generally /dev/stdout)
more <filename> # shows the first part of a file (move with space and type q to quit)
head <filename> # outputs the first lines of file (default: 10 lines)
@@ -203,14 +203,14 @@ echo $$ # prints process ID of the current shell
echo $! # prints process ID of the most recently invoked background job
echo $? # displays the exit status of the last command
read <varname> # reads a string from the input and assigns it to a variable
read -p "prompt" <varname> # same as above but outputs a prompt to ask user for value
read -p "prompt" <varname> # same as above but outputs a prompt to ask user for value
column -t <filename> # display info in pretty columns (often used with pipe)
let <varname> = <equation> # performs mathematical calculation using operators like +, -, *, /, %
export VARNAME=value # defines an environment variable (will be available in subprocesses)
export -f <funcname> # Exports function 'funcname'
export var1="var1 value" # Export and assign in the same statement
export <varname> # Copy Bash variable
declare -x <varname> # Copy Bash variable
export <varname> # Copy Bash variable
declare -x <varname> # Copy Bash variable
array[0]=valA # how to define an array
array[1]=valB
@@ -507,9 +507,9 @@ function returntrap {
trap returntrap RETURN # is executed each time a shell function or a script executed with the . or source commands finishes executing
##############################################################################
# COLORS AND BACKGROUNDS
# COLORS AND BACKGROUNDS
##############################################################################
# note: \e or \x1B also work instead of \033
# note: \e or \x1B also work instead of \033
# Reset
Color_Off='\033[0m' # Text Reset
@@ -524,14 +524,14 @@ Cyan='\033[0;36m' # Cyan
White='\033[0;97m' # White
# Additional colors
LGrey='\033[0;37m' # Ligth Gray
LGrey='\033[0;37m' # Light Gray
DGrey='\033[0;90m' # Dark Gray
LRed='\033[0;91m' # Ligth Red
LGreen='\033[0;92m' # Ligth Green
LYellow='\033[0;93m'# Ligth Yellow
LBlue='\033[0;94m' # Ligth Blue
LRed='\033[0;91m' # Light Red
LGreen='\033[0;92m' # Light Green
LYellow='\033[0;93m'# Light Yellow
LBlue='\033[0;94m' # Light Blue
LPurple='\033[0;95m'# Light Purple
LCyan='\033[0;96m' # Ligth Cyan
LCyan='\033[0;96m' # Light Cyan
# Bold
@@ -566,6 +566,6 @@ On_White='\033[47m' # White
# Example of usage
echo -e "${Green}This is GREEN text${Color_Off} and normal text"
echo -e "${Red}${On_White}This is Red test on White background${Color_Off}"
echo -e "${Red}${On_White}This is Red test on White background${Color_Off}"
# option -e is mandatory, it enable interpretation of backslash escapes
printf "${Red} This is red \n"

View File

@@ -397,8 +397,8 @@ d, t := doubleAndTriple(5)
_, t := doubleAndTriple(3)
// t = 9
// Functions can defer commands. Defered commands are
// runned in a stack order after the execution and
// Functions can defer commands. Deferred commands are
// ran in a stack order after the execution and
// returning of a function
var aux = 0
@@ -488,7 +488,7 @@ person3.Age // 0
## Maps
Maps are data structures that holds values assigneds to a key.
Maps are data structures that holds values assigned to a key.
```go
// Declaring a map
@@ -508,7 +508,7 @@ newYork // "EUA"
// Delete
delete(cities, "NY")
// Check if a key is setted
// Check if a key is set
value, ok := cities["NY"]
ok // false
value // ""
@@ -600,7 +600,7 @@ Go doesn't support `throw`, `try`, `catch` and other common error handling struc
```go
import "errors"
// Function that contain a logic that can cause a possible exception flow
// Function that contain a logic that can cause a possible exception flow
func firstLetter(text string) (string, error) {
if len(text) < 1 {
return nil, errors.New("Parameter text is empty")
@@ -632,7 +632,7 @@ func Sum(x, y int) int {
}
// main_test.go
import (
import (
"testing"
"reflect"
)
@@ -676,7 +676,7 @@ func main() {
blocking2: 0
blocking2: 1
blocking2: 2
done
done
*/
// Go routines are a function (either declared previously or anonymous) called with the keyword go

View File

@@ -204,7 +204,7 @@ a \|= b; //a is the variable name; b is the variable name; this expression is an
}
```
**Example:**
```java
```java
for (int i = 0; i <= n; i++) {
System.out.println(i);
}
@@ -254,10 +254,10 @@ for(dataType item : array) {
**Example:**
```java
int i=1;
do{
System.out.println(i);
i++;
int i=1;
do{
System.out.println(i);
i++;
}while(i<=10);
```
@@ -308,7 +308,7 @@ for(dataType item : array) {
//Declare a variable, object name
String s;
//Invoke a contructor to create an object
//Invoke a constructor to create an object
s = new String ("Hello World");
//Invoke an instance method that operates on the object's value
@@ -361,13 +361,13 @@ class MyClass {
// four methods
public void setCadence(int newValue) {
cadence = newValue;
}
}
public void setGear(int newValue) {
gear = newValue;
}
}
public void applyBrake(int decrement) {
speed -= decrement;
}
}
public void speedUp(int increment) {
speed += increment;
}
@@ -531,13 +531,13 @@ class MyClass extends MySuperClass implements YourInterface {
```java
interface print{
void printPaper();
}
public class A4 implements print{
interface print{
void printPaper();
}
public class A4 implements print{
public void printPaper(){
System.out.println("A4 Page Printed. ");
}
}
}
```

View File

@@ -1,8 +1,8 @@
<?php
// Exit the file, string inside get's echo'ed
die("This file is not ment to be ran. ¯\_(ツ)_/¯");
exit("This file is not ment to be ran. ¯\_(ツ)_/¯");
die("This file is not meant to be ran. ¯\_(ツ)_/¯");
exit("This file is not meant to be ran. ¯\_(ツ)_/¯");
/**
* Printing
@@ -17,7 +17,7 @@ var_dump($arr); // Print anything, with type hints for any value and sizes
$string = 'Awesome cheatsheets';
str_contains($string, 'cheat'); // Find if the string contains the specified string (PHP >= 8.0)
str_replace('Awesome', 'Bonjour', $string); // Replace all occurence
str_replace('Awesome', 'Bonjour', $string); // Replace all occurrence
strcmp($string, 'Awesome cheatsheets'); // Compare two strings
strpos($string, 'a', 0); // Get position in the string
str_split($string, 2); // Split the string
@@ -189,7 +189,7 @@ $argc; // Number of arguments passed into terminal
$myObject?->getName()?->startWith('A');
/**
* Class
* Class
* http://php.net/manual/en/language.oop5.basic.php
*/
class NormalClass extends AbstractClassName implements InterfaceName
@@ -200,7 +200,7 @@ class NormalClass extends AbstractClassName implements InterfaceName
// --> PROPERTY TYPES <--
/**
* Public property, everyone can access this property.
* Public property, everyone can access this property.
* @var Type
*/
public $property;
@@ -251,7 +251,7 @@ class NormalClass extends AbstractClassName implements InterfaceName
protected function protectedFunction(Type $var = null): Type
{
}
/**
* Static function, doesn't need an instance to be executed.
* @param Type
@@ -541,7 +541,7 @@ u Pattern is treated as UTF-8
\w Any "word" character (a-z 0-9 _)
\W Any non "word" character
\s Whitespace (space, tab CRLF)
\S Any non whitepsace character
\S Any non whitespace character
\d Digits (0-9)
\D Any non digit character
. (Period) - Any character except newline

View File

@@ -44,7 +44,7 @@
- As of python3.8 there are 35 keywords
| Keyword | Description | Category |
|---------- | ---------- | --------- |
|---------- | ---------- | --------- |
| True | Boolean value for not False or 1 | Value Keyword|
| False | Boolean Value for not True or 0 | Value Keyword |
| None | No Value | Value keyword |
@@ -58,7 +58,7 @@
| else | this block will be executed if condition is false | conditional |
| for | used for looping | iteration |
| while | used for looping | iteration |
| break | get out of loop | iteration |
| break | get out of loop | iteration |
| continue | skip for specific condition | iteration |
| def | make user defined function | structure |
| class | make user defined classes | structure |
@@ -71,8 +71,8 @@
| import | import libraries/modules/packages | import |
| from | import specific function/classes from modules/packages | import |
| try | this block will be tried to get executed | exception handling |
| except | is any exception/error has occured it'll be executed | exception handling |
| finally | It'll be executed no matter exception occurs or not | exception handling |
| except | is any exception/error has occurred it'll be executed | exception handling |
| finally | It'll be executed no matter exception occurs or not | exception handling |
| raise | throws any specific error/exception | exception handling |
| assert | throws an AssertionError if condition is false | exception handling |
| async | used to define asynchronous functions/co-routines | asynchronous programming |
@@ -135,7 +135,7 @@
- Lists are created using square brackets:
```python
thislist = ["apple", "banana", "cherry"]
thislist = ["apple", "banana", "cherry"]
```
- List items are ordered, changeable, and allow duplicate values.
@@ -157,14 +157,14 @@ thislist = list(("apple", "banana", "cherry")) # note the double round-brackets
- pop() function removes the last value in the given list by default.
```python
thislist = ["apple", "banana", "cherry"]
thislist = ["apple", "banana", "cherry"]
print(thislist.pop()) # cherry
print(thislist.pop(0)) #apple
print(thislist.pop(0)) #apple
```
### Tuple
@@ -291,14 +291,14 @@ thisdict = {
"model": "Mustang",
"year": 1964
}
x = car.pop("model")
print(x)# Mustang
print(car)#{'brand': 'Ford', 'year': 1964}
```
### Conditional branching
@@ -378,5 +378,5 @@ function_name()
```
* We need not to specify the return type of the function.
* Functions by default return `None`
* Functions by default return `None`
* We can return any datatype.

View File

@@ -1,6 +1,6 @@
##############################################################################
# VIM CHEATSHEET
# WEBSITE: http://www.vim.org/
# WEBSITE: http://www.vim.org/
# DOCUMENTATION: https://vim.sourceforge.io/docs.php
##############################################################################
@@ -20,13 +20,15 @@ e jump to end of words (punctuation considered words)
E jump to end of words (no punctuation)
b jump backward by words (punctuation considered words)
B jump backward by words (no punctuation)
ge jump backward to end of words
ge jump backward to end of a word
gE jump backwards to the end of a word (words can contain punctuation)
0 (zero) start of line
^ first non-blank character of line
$ end of line
- move line upwards, on the first non blank character
+ move line downwards, on the first non blank character
<enter> move line downwards, on the first non blank character
$ jump to the end of the line
g_ jump to the last non-blank character of the line
- move line upwards, on the first non-blank character
+ move line downwards, on the first non-blank character
<enter> move line downwards, on the first non-blank character
gg go to first line
G go to last line
ngg go to line n
@@ -38,10 +40,6 @@ nG go To line n
} move the cursor a paragraph forwards
]] move the cursor a section forwards or to the next {
[[ move the cursor a section backwards or the previous {
CTRL-f move the cursor forward by a screen of text
CTRL-b move the cursor backward by a screen of text
CTRL-u move the cursor up by half a screen
CTRL-d move the cursor down by half a screen
H move the cursor to the top of the screen.
M move the cursor to the middle of the screen.
L move the cursor to the bottom of the screen.
@@ -49,6 +47,16 @@ fx search line forward for 'x'
Fx search line backward for 'x'
tx search line forward before 'x'
Tx search line backward before 'x'
CTRL-y moves screen up one line
CTRL-e moves screen down one line
CTRL-u moves cursor & screen up ½ page
CTRL-d moves cursor & screen down ½ page
CTRL-b moves screen up one page, cursor to last line
CTRL-f moves screen down one page, cursor to first line
zz shift current line to middle of screen
z. same as zz but also jumps to the first non-black character
zt shift current line to top of screen
zb shift current line to bottom of screen
##############################################################################
@@ -60,8 +68,15 @@ Tx search line backward before 'x'
ma make a bookmark named a at the current cursor position
`a go to position of bookmark a
'a go to the line with bookmark a
`0 go to the position where Vim was previously exited
`" go to the position when last editing this file
`. go to the line that you last edited
`` go to the position before the last jump
g, go to newer position in change list
g; go to older position in change list
# Tip: To jump to a mark you can either use a backtick (`) or an apostrophe (').
# Using an apostrophe jumps to the beginning (first non-blank) of the line holding the mark.
##############################################################################
# INSERT MODE
@@ -70,10 +85,13 @@ ma make a bookmark named a at the current cursor position
i start insert mode at cursor
I insert at the beginning of the line
gi return to insert mode where you inserted text the last time
gI like "I", but always start in column 1
a append after the cursor
A append at the end of the line
o open (append) blank line below current line
O open blank line above current line
CTRL-o Temporarily enter normal mode to issue one normal-mode command(while in insert mode)
Esc exit insert mode
@@ -84,10 +102,25 @@ Esc exit insert mode
r replace a single character (does not use insert mode)
R enter Insert mode, replacing characters rather than inserting
J join line below to the current one
J join line below to the current one with one space in between
gJ join line below to the current one without space in between
cc change (replace) an entire line
cw change (replace) to the end of word
C change (replace) to the end of line
cw change (replace) to the end of word (same as ce)
2cw change (replace) repeat cw twice
ciw change (replace) word under the cursor
caw change (replace) word under the cursor and the space after or before it
ci" change (replace) word inside ""
cit change (replace) html tag content
cat change (replace) html tag
cis change (replace) sentence under the cursor
cas change (replace) sentence under the cursor and the space after or before it
cib change (replace) inside a block with ()
cab change (replace) a block with ()
ciB change (replace) inside a block with {}
caB change (replace) a block with {}
C change (replace) to the end of line(same as c$)
cG change (replace) to the end of the file
cgg change (replace) from first line to current line
ct' change (replace) until the ' character (can change ' for any character)
s delete character at cursor and substitute text
S delete line at cursor and substitute text (same as cc)
@@ -102,6 +135,7 @@ guiw make current word lowercase
gU$ make uppercase until end of line
gu$ make lowercase until end of line
>> indent line one column to right
>i{ indent everything in the {}
<< indent line one column to left
== auto-indent current line
ddp swap current line with next
@@ -110,6 +144,7 @@ ddkP swap current line with previous
:r [name] insert the file [name] below the cursor.
:r !{cmd} execute {cmd} and insert its standard output below the cursor.
# Tip: Instead of b or B one can also use ( or { respectively.
##############################################################################
# DELETING TEXT
@@ -118,10 +153,15 @@ ddkP swap current line with previous
x delete current character
X delete previous character
dw delete the current word
dw delete (cut) to the end of word (same as de)
diw delete (cut) word under the cursor
daw delete (cut) word under the cursor and the space after or before it
dap delete (cut) a paragraph
dd delete (cut) a line
dt' delete until the next ' character on the line (replace ' by any character)
D delete from cursor to end of line
dt' delete (cut) until the next ' character on the line (replace ' by any character)
dG delete (cut) to the end of the file
dgg delete (cut) from first line to current line
D delete (cut) from cursor to end of line (same as d$)
:[range]d delete [range] lines
@@ -136,6 +176,10 @@ yy yank (copy) a line
y$ yank to end of line
p put (paste) the clipboard after cursor/current line
P put (paste) before cursor/current line
gp put (paste) the clipboard after cursor and leave cursor after the new text
gP put (paste) before cursor and leave cursor after the new text
"+y yank into the system clipboard register
"+p paste from the system clipboard register
:set paste avoid unexpected effects in pasting
:registers display the contents of all registers
"xyw yank word into register x
@@ -147,6 +191,12 @@ P put (paste) before cursor/current line
"xgP just like "P", but leave the cursor just after the new text
:[line]put x put the text from register x after [line]
# Tip: if you are using vim extension on vs code, you can enable
"vim.useSystemClipboard": true
in setting.json, this will allow to Use system clipboard for unnamed register.
##############################################################################
# MACROS
@@ -157,6 +207,7 @@ qa start recording macro 'a'
q end recording macro
@a replay macro 'a'
@: replay last command
@@ repeat macro
##############################################################################
@@ -172,9 +223,11 @@ CTRL-v start visual block mode
O move to other corner of block
aw mark a word
ab a () block (with braces)
ab a {} block (with brackets)
aB a {} block (with brackets)
at a block with <> tags
ib inner () block
ib inner {} block
iB inner {} block
it inner <> block
Esc exit visual mode
VISUAL MODE COMMANDS
@@ -194,6 +247,7 @@ v% selects matching parenthesis
vi{ selects matching curly brace
vi" selects text between double quotes
vi' selects text between single quotes
gv reselect the last selected area
##############################################################################
# SPELLING
@@ -240,7 +294,7 @@ set ic ignore case: turn on
set noic ignore case: turn off
:%s/old/new/g replace all old with new throughout file
:%s/old/new/gc replace all old with new throughout file with confirmation
:argdo %s/old/new/gc | wq open multiple files and run this command to replace old
:argdo %s/old/new/gc | wq open multiple files and run this command to replace old
with new in every file with confirmation, save and quit
@@ -283,7 +337,6 @@ CTRL-w < increase window width
CTRL-w > decrease window width
CTRL-w = equal window
CTRL-w o close other windows
zz Centers the window to the current line
##############################################################################
@@ -306,12 +359,14 @@ clast display the last error
% show matching brace, bracket, or parenthese
gf edit the file whose name is under or after the cursor
gf edit the file whose name is under the cursor
gF edit the file whose name is under the cursor and jump to the line number
gd when the cursor is on a local variable or function, jump to its declaration
'' return to the line where the cursor was before the latest jump
gi return to insert mode where you inserted text the last time
CTRL-o move to previous position you were at
CTRL-i move to more recent position you were at
:set nu display numbers (short for :set number)
:set nonu hide numbers (short for :set nonumber)
##############################################################################
@@ -485,7 +540,7 @@ CTRL-n jump to the next empty tag / attribute
cs'" change surrounding quotes to double-quotes
cs(} change surrounding parens to braces
cs(} change surrounding parens to braces
cs({ change surrounding parens to braces with space
ds' delete surrounding quotes
dst delete surrounding tags
@@ -593,7 +648,7 @@ jj exit insertion mode
<leader>/ clear the search register
<leader>h toggle hidden characters
<leader>h toggle hidden characters
<leader>W strip all trailing whitespace
@@ -661,5 +716,5 @@ CTRL-y go to next tag of attribute in sparkup plugin
<leader>g toggle Gundo window
IMG<CR> show image browser to insert image tag with src, width and height
b insert image tag with dimensions from NERDTree
b insert image tag with dimensions from NERDTree
(http://stackoverflow.com/questions/5707925/vim-image-placement)