Sistema para análisis de Redes Criminales
Esta es una aplicación web que unifica una variedad de herramientas de usuario final para facilitar el análisis de redes criminales.
Tecnologías: PHP/MySQL
Despliegue con docker-compose:
cd docker
| #!/bin/bash | |
| # By @jacmkno - Activisual S.A.S. - http://activisual.net | |
| # Script summary | |
| # This script runs health cehcks in a set of hosts and updates their status on an nginx server | |
| HOSTS=(201.208.65.152 46.56.115.234 42.79.216.211) | |
| HOSTS_COUNT=3 # Number of hosts in the array | |
| MAIL_SUBJECT='ACTIVISUAL - Health check status change' | |
| MAIL_TO='[email protected]' | |
| NGINX_CONF=/etc/nginx/nginx.conf |
| .t-share a:last-child { margin-bottom: 0; } | |
| .t-share a { width: 26px; height: 26px; display: block; margin-bottom: 10px; background: black; } | |
| .t-share .t-fb { background:url(http://clientes.zolad.com/oviedo/facebook.png) } | |
| .t-share .t-ma { background:url(http://clientes.zolad.com/oviedo/mail.png) } | |
| .t-share .t-pi { background:url(http://clientes.zolad.com/oviedo/pinterest.png) } | |
| .t-share { position: absolute; background: rgba(255,255,255,0.5) url(http://clientes.zolad.com/oviedo/oo.png) center 10px no-repeat; z-index: 999; top: 50%; right: 50%; padding: 10px; padding-top: 52px; } | |
| .sqs-lightbox-padder .t-share{ opacity:0; -webkit-transition:all 0.5s; transition:all 0.5s; -moz-transition:all 0.5s; } | |
| .sqs-lightbox-padder:hover .t-share{ opacity:1; } |
| APP_NAME=Sourect | |
| APP_ENV=local | |
| APP_KEY=base64:AmZFtXskJNRgoVVlfeu5IzgCOW2L9soPAaQ8JeH3Jvg= | |
| APP_DEBUG=true | |
| APP_URL=http://localhost | |
| LOG_CHANNEL=stack | |
| DB_CONNECTION=mysql | |
| DB_HOST=sourect_mysql |
| <?php | |
| namespace Promises; | |
| class BashPromise extends Promise { | |
| public $outputTmpFile; | |
| public $inputTmpFile; | |
| function __construct($process, $inputData=NULL, $inputAsStdIn = FALSE){ | |
| $inputExtra = ''; | |
| if($inputData){ | |
| $this->inputTmpFile = tempnam("/tmp", "PHPBashPromiseIn"); |
| a = [1,2,3,4,5,5,6,7]; | |
| op = e => new Promise(s=>setTimeout(()=>{ console.log("N:", e); s(e)}, Math.random()*1000)) | |
| do1 = async () => { await Promise.all(a.map(op)); } | |
| do2 = async ()=>{ for await (const e of a) await op(e) } | |
| await do1(); console.log('done'); | |
| /* OUTPUT Promise.all | |
| N: 6 | |
| N: 5 |
| STARTER -- Initial message. | |
| Let's have a conversation where your answers are provided in JSON format with the following structure. Under no circumstance should you deviate from these guidelines: | |
| 1. understanding: Summarize what you think we are talking about. General Goal or Subject in a single string | |
| 2. ideas: Concepts or ideas you think to be relevant for the understanding or achieving the goal. | |
| 3. questions: List of questions you think that need to be solved in order to achieve the goal or understand the subject properly | |
| 4. answer: A short summary of you natural answer to my last message. | |
| 5. reminder: Summarize this guideline so you wont forget what we are doing. | |
| REMINDER -- Send this every now and then or then the response starts loosing structure. | |
| Your answers are to be provided in JSON format including the "Status for the Conversation" with the following structure. Under no circumstance should you deviate from these guidelines. |
| #!/bin/bash | |
| # Remove files from a folder up to certain accumulated size to free up space | |
| folder_path="/var/www/vhosts/" # Replace with the actual folder path | |
| max_size_bytes=$((2 * 1024 * 1024 * 1024)) # 2GB in bytes | |
| total_size=0 | |
| num_files=0 | |
| selected_files=() | |
| max_date="" | |
| min_date="" |
Esta función simula un préstamo y genera una tabla de amortización.
Parámetros:
{P}: El monto del préstamo principal.{n}: El número total de períodos de amortización.{rate} (opcional, valor predeterminado: 0.03): La tasa de interés por período.{insurance} (opcional, valor predeterminado: 0.0012): La tasa de seguro por período.{round} (opcional, valor predeterminado: false): Un booleano que indica si se deben redondear los valores en la tabla de amortización.| class RandomMazeGenerator { | |
| constructor(rows, cols) { | |
| this.rows = rows; | |
| this.cols = cols; | |
| this.maze = this.generateRandomMaze(); | |
| } | |
| generateRandomMaze() { | |
| const maze = new Array(this.rows); |