Python :D
Posted: martes, 22 de julio de 2025 by Skuarch in
0
Python
apt install python3-pip
apt install python3.12-venv
python3 -m venv .venv
. .venv/bin/activate
deactivate
Python
apt install python3-pip
apt install python3.12-venv
python3 -m venv .venv
. .venv/bin/activate
deactivate
JAVA
Memory management:
La maquina virtual crea el heap al iniciar y cuando el heap se llena el garbage collector es llamado para borrar los objetos que ya no son usados.
El heap esta dividido en 2 partes, young space and old space, young memory tambien es conocida como nursery, ahi viven los nuevos objectos, esto es para evitar que el garbage collector limpie nuevos objetos, despues de un cierto tiempo los objetos que estan en nursery pasan al old space, cuando el old space se llena el garbage es llamado y libera la memoria.
nursery -> objects with short live
old space -> remaing objects
aws s3 sync . s3://nombre-bucket
aws s3 website s3://nombre-bucket/ --index-document index.html
aws s3api put-bucket-policy --bucket nombre-bucket --policy file://policy.json
aws s3 rm s3://nombre-bucket --recursive
^ inicio de linea
$ fin de linea
^$Eso nos regresara las lineas vacias
[ée] clases de caracteresCon los corchetes indicamos que nos busque esos caracteres exactos, la expresion regular solo buscara la e y la e con acento
[A-Z] rangosLos corchetes tambien sirven para establecer rangos, en este caso es un rango con letras mayusculas, la expresion solo buscara de la A a las Z en mayusculas
[a-z] rangosEs exactamente los mismo pero con minusculas
[A-Z][a-z] combinando rangosSe pueden hacer combinaciones entre rangos, en este ejemplo se combinan las mayusculas y las minisculas
[^a-z] negacionEn este caso el caret o circumplejo se utiliza para negar, entonces la expresion buscara todo lo que no es minusculas
[A-z][^a-z] el primer caracter tiene que ser mayusculas y lo que le sigue tiene que ser negado a minusculasLa expresion que se encuentra arriba busca el primer caracter en mayusculas de la A-Z y despues cualquier cosa que no sea una minuscula de la a-z
[$] los corchetes hacen que no lo cuente como fin de linea
| pipeEl pipe se utiliza para hacer un OR
(gmail|yahoo) gruposEn la expresion anterior estamos usando pararentesis para crear grupos y lo combinamos con un pipe para que busque cualquiera de las dos cadenas que se encuentran en los parentesis
. cualquier caracterEl punto se utiliza para que la expresion busque en cualquier caracter
? opcionalEl signo de interrogacion indica que el match es opcional
+ busca uno o mas vecesEl signo de + buscara una o mas veces la cadena a buscar
{e} busqueda de caracteresCon las llaves hacemos una busqueda que puede ser repedia y de un caracter en concreto
3{e} buscar el caracterEl ejemplo anterios buscara 3 veces el caracter "e"
[a-z]{3} busca tres minusculas
\b[a-z]+@Busca de la a-z y tiene un tope o frontera que es la arroba
<.+> ejemplo para buscar etiquetas htmlLas expresiones regulares son ambiciosas, eso quiere decir que buscaran todas las ocurrencias en la cadena, si queremos evitar eso se puede utilizar el ?
<.+?> esto hace una busqueda detenida
\d busca numeros
\d+(?= pesos) look a headBusca los numeros y que tengas despues la palabra pesos
(?<=MXN )\d+ look behindLo contrario al anterior, MXN es la cadena a buscar, que puede ser cualquier otra
\W caracter alfanumerico
(?1) insensetiveEstos son otros ejemplos de como crear grupos
(\W+)@(\W) grupos la arroba no es algo especialEspero que esta pequeña introduccion de sirva de algo, si no es asi pues largate y buscale por otro lado
sudo sed -i -e 's/#DOCKER_OPTS="--dns 8.8.8.8 --dns 8.8.4.4"/DOCKER_OPTS="-H tcp:\/\/127.0.0.1:2375 -H unix:\/\/\/var\/run\/docker.sock"/g' /etc/default/docker
sudo service docker restart
curl -s http://127.0.0.1:2375/images/json
crear un archivo con la extencion .sh
#!/usr/lib/jvm/jdk1.8.0_45/bin/jjs -fv
#!/usr/lib/jvm/jdk1.8.0_45/bin/jjs -fv
var Runnable = Java.type('java.lang.Runnable');
var Printer = Java.extend(Runnable, {
run: function() {
print('printed from a separate thread');
}
});
var Thread = Java.type('java.lang.Thread');
new Thread(new Printer()).start();
new Thread(function() {
print('printed from another thread');
}).start();
http://apkscan.nviso.be/
http://scan.netqin.com/en/
http://anubis.iseclab.org/?action=home
scan@virustotal.com
sudo apt-get install python-setuptools
IPython y virtualenv
sudo apt-get install python-virtualenv ipython
virtualenv env --no-site-packages
source env/bin/activate
which python
#!/usr/bin/env python
Eclipse Memory AnalizeEste es un plug in de eclipse que nos ayuda a saber que puntos de nuetro programa pueden estar causando leaks, se nececita que configures la JVM para que trabaje correctamente
ProguardEl proposito general de proguard es ofuscar el codigo, como ya sabes decompilar el codigo en java es muy facil asi es que nunca esta de mas usar algun ofiscador, tambien tienen algunas otras cosas para mejorar el codigo
Dependometer
DoctorJ
Evitar serializacion y deserializacion
StringBuilder para concatenar Strings
Asignar null a las variables ya no se nececita
Declara metodos con final solo si es necesario
Declara constantes como static y final
Evita Finalizers
Declarar los argumentos de un metodo como finales
Synchronize solo cuando sea necesario
sudo apt-get install build-essentials
sudo apt-get install linux-kernel-headers
sudo apt-get install dkms
xrandr --output eDP1 --brightness 0.7
while :; do :; done
int contentLenght = request.getContentLength();
ServletInputStream sis = request.getInputStream();
byte[] buffer = new byte[contentLenght];
int len = sis.readLine(buffer, 0, buffer.length);
String data = new String(buffer, 0, len);
import java.util.concurrent.Callable;cuando corrar este programa te podras dar cuenta que aparece primero el texto continue y despues aparece inside of call, esto es por que se realizo un trozo de codigo asincrono
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.FutureTask;
public class TestCallable {
public static void main(String[] args) throws InterruptedException, ExecutionException {
final StringBuilder stringBuilder = new StringBuilder();
ExecutorService executorService = Executors.newFixedThreadPool(1);
FutureTaskfuture = new FutureTask (new Callable () {
@Override
public String call() throws InterruptedException {
Thread.sleep(1000);
System.out.println("inside of call");
stringBuilder.append("something");
return "hello";
}
});
executorService.execute(future);
executorService.shutdown();
System.out.println("continue");
}
}
1.- cd ~/.ssh (si te aparece alguna advertencia pasa al siguiete paso)
2.- ssh-keygen -t rsa -C "your_email@youremail.com"
3.- nano (o tu editor favorito) id_rsa.pub
4.- copiar el contenido y darlo de alta en github
5.- sudo apt-get install git-core git-gui git-doc
6.- git config --global user.name "Your Name"
7.- git config --global user.email "your@email.com"
M2_HOME=/usr/local/apache-maven-x.x.xpor ultimo crear un enlace a mvn
M2=$M2_HOME/bin
MAVEN_OPTS="-Xms256m -Xmx512m"
PATH=$M2:$PATH
JAVA_HOME=/usr/lib/jvm/jdk1.7.0_45 (cambia esta ruta)
export M2_HOME
export M2
export MAVEN_OPTS
export JAVA_HOME
sudo ln -s /usr/local/apache-maven-x.x.x/bin/mvn /usr/bin/mvn
asadmin change-admin-password --domain_name [DOMAIN_NAME]
asadmin enable-secure-admin --port [PORT_NAME]