python – generar recta en mathplotlib

quiero graficar la distancia de un punto a una recta con mathplotlib, logro graficar la recta, el punto, sacar la distancia, pero no puedo hacer que se grafique la distancia de ese punto a la recta, probe creando una linea con axhline, pero es fijo, asi que si cambio el valor, la recta no sirve, dejo el codigo si sirve de algo.

def ecuacion_recta(m, b,r,d5,d6):
x = range(-10, 10)
y = range(r)


plt.plot(x, (m*i+b for i in x))
plt.plot(2, 7, marker="o")



plt.axhline(0, color="black")
plt.axvline(0, color="black")
plt.xlim(-11, 11)
plt.ylim(-11, 11)

#intento de graficar la distancia 
plt.plot(y, (b for j in y), )



plt.show()

se imprime esto si lo realizo con estos datos m= 0.5 b = -1 r = 6.28… d5 = 2 d6 = 7

introducir la descripción de la imagen aquí

agradezco su guía y tiempo.

laravel – Como generar un archivo de texto para que sea descargado por un usuario

necesito generar un archivo de texto para que sea descargado por el usuario. A continuación, les muestro el código que genera los datos que debo convertir a un archivo de texto plano.

        $tbSnej1 = Snejtabsnej1::with('relProvincia')
        ->orderBy('anioRelev')
        ->orderBy('provincia_id').get();

    foreach ($tbSnej1 as $it){
        $flag1 ="NO";
        $flag2 ="NO";
        $flag3 ="NO";
        if ($it->C1_01 == 1){
            $flag1 = "SI";
        }
        if ($it->C1_02 == 1){
            $flag2 = "SI";
        }
        if ($it->C1_03 == 1){
            $flag3 = "SI";
        }

        $totParcial1 = (
            $it->C2_01_01 +
            $it->C2_01_02 +
            $it->C2_01_03 +
            $it->C2_01_04 +
            $it->C2_01_05 +
            $it->C2_01_06 +
            $it->C2_01_07 +
            $it->C2_01_08 +
            $it->C2_01_09 +
            $it->C2_01_10 +
            $it->C2_01_11 +
            $it->C2_01_12 +
            $it->C2_01_13 +
            $it->C2_01_14 +
            $it->C2_01_15 +
            $it->C2_01_16 +
            $it->C2_01_17 +
            $it->C2_01_18 +
            $it->C2_01_19 +
            $it->C2_01_20 +
            $it->C2_01_21 +
            $it->C2_01_22 +
            $it->C2_01_23 +
            $it->C2_01_24 +
            $it->C2_01_25 +
            $it->C2_01_26 +
            $it->C2_01_27 +
            $it->C2_01_28 +
            $it->C2_01_29);
    }

Dentro del foreach, se generará una línea que contendrá los flag1,2,3, mas el totalParcial que se calcula sumando la serie de campos. Luego de generar el archivo de texto, lo debe poder descargar el usuario en su pc.

La aplicación está desarrollada en Laravel 8 y consume datos de mysql via Elocuent

Desde ya, muchas gracias.

Generar muestras aleatorias en R

Estoy realizando un ejercicio, el cual dice lo siguiente:

Generar 100 muestras de tamaño 200 de una variable aleatoria B(20;
0.2).

Para generar muestras aleatorias, conozco y he utilizado la función sample. La he utilizado de la siguiente forma:

print(sample(1:200, size=100))

Simplemente me imprime 100 números aleatorios de entre 1 y 200. Pero no entiendo como hacerlo sobre una variable aleatoria.

¿Hay alguna otra función que me permita hacer lo que pide el enunciado?

javascript – Como generar PDF en laraverl con mucha información?

he estado googleando un buen rato y no encuentro alguna solución para generar pdfs con muchísima información, aproximadamente con registros de 1000, y sumando esto debe realizar cálculos como sumas de productos etc. y esto generar que los procesos tarden mas.

Estoy utilizando domPDF sin usar bootstrap. Mientras investigaba encontré los Queues el cual parecía que seria mi solución, ya que lo que pretendo es que por medio de un boton generar mi pdf, donde aparece una barra cargando y hacerle mención al usuario que se esta generando su reporte en pdf, pero cuando la información es mucha aparece el mensaje “se supero el tiempo máximo de ejecución”, entonces fue cuando encontré los queues donde mandaría realizar ese procesos en segundo plano, pero quisiera saber si es posible saber cuando termina el proceso de generar el pdf por medio de un método asíncrono usando axios, sera posible hacer esto?

La manera en como realizo el proceso de generar mi pdf es la siguiente:

Mi código lo que hace es generar y guardar el pdf en una ubicación especifica, y devuelvo el nombre del pdf generado y después desde axios buscar ese nombre en la ruta de la carpeta donde se genero el pdf y luego visualizarlo en el navegador por medio de un frame.

$nombreArchivo = 'reporte'.uniqid() .'.pdf';
$path = public_path().'/reportes/'.$nombreArchivo;
PDF::loadView('pdf.reportePDF',('resultado' => $resultado))->setPaper('a4', 'landscape')->save($path);
return response()->json($nombreArchivo); 

Mi codigo en javascript es que una vez que se hace la petion por post, y haya una respuesta empieza buscar en la carpeta el pdf generado y lo visualiza.

axios.post('{{route("reporteDeInventario")}}',params).then((resp) => {
        if(resp.data){
            var urdlPDF = resp.data;
            var url = '{{ asset("reportes/:id") }}';
            url = url.replace(':id',urlPDF);
            $('#vistaprevia').attr('src',url);
        }
    });

Hasta ahorita es todo lo que tengo para generar mi pdf, funciona cuando la información es muy poca. Entonces volviendo a mi pregunta. ¿Sera posible saber cuando un pdf se termino de generar por medio de Queues al pasarlo por axios? y validarlo por medio del then((resp) ya que haya sido el caso de un success. Gracias a todos espero que me puedan ayudar

Generar valores aleatorios sin repetir en un juego de Dados c++

Estoy tratando de hacer un programa en c++, el enunciado es el siguiente:
Realiza un programa en el que un usuario deba adivinar un numero. Nosotros tenemos que ponerle el rango de numero (usando ramdoms) pero definiendo los rangos (pedir RangoInicial y rangoFinal) OJO : no se debe repetir ningun numero random en lo que va del juego, por ultimo el usuario debe adivinar el numero. Entiendo bien lo que se debe hacer pero el problema que tengo es en el momento de verificarlos numeros ya repetidos. La idea que tengo es que cada Rango (resultado final del rangoinicial y final) sea almacenado en un vector con el tamanio final (rango final – rango inicial) para que asi pueda verificarse en un do while(si esta registrado no sale y genera otro). La cuestion es que el programa se para y no avanza mas. Aqui les dejo el avance del codigo

#include <iostream>
#include <stdlib.h>
#include <time.h>

using namespace std;

void definirRango(int &, int &);
void numAleatorio(int , int , int &, int (), int);

int aumentar = 0;

int main(){

    system("cls");
    srand (time(NULL));
    int in = 0,fin = 0, rango;

    cout<<"nnt(DANDO RANGO DE NUMEROS)nn";
    definirRango(in,fin);
    int tam = fin-in;

    int contenedorRepetidos(tam);

    numAleatorio(in,fin,rango,contenedorRepetidos,tam);
    cout<<rango<<endl;
    numAleatorio(in,fin,rango,contenedorRepetidos,tam);
    cout<<rango<<endl;
    numAleatorio(in,fin,rango,contenedorRepetidos,tam);
    cout<<rango<<endl;
    numAleatorio(in,fin,rango,contenedorRepetidos,tam);
    cout<<rango<<endl;
    numAleatorio(in,fin,rango,contenedorRepetidos,tam);
    cout<<rango<<endl;
    
    return 0;
}


void definirRango(int &lI, int &lS){

    cout<<"Ingresa Inicio de Rango : ";
    cin>>lI;

    cout<<"Ingresa Final de Rango : ";
    cin>>lS;

}

void numAleatorio(int lI, int lS, int &rango, int contenedorR(), int tam){

    int i =0;
    bool registrado = false;
    bool salir = false;
    
    do{
        rango = lI + rand() % (lS + 1 - lI); 
    
        for(i = 0; i < tam ; i++){
            if(contenedorR(i) == rango){
                registrado = true;
            }
        }

        if(registrado == false){
            contenedorR(aumentar) = rango;
            salir = true;
            aumentar++;
        }else{
            salir = false;
        }

    }while(salir != true);

}

string – Generar cadenas de caracteres aleatorios en C

estaba creando un programa para generar cadenas de caracteres aleatorios en C y encontré el siguiente código en internet:

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>

// maximo y minimo son inclusivos
int aleatorio_en_rango(int minimo, int maximo) {
    return minimo + rand() / (RAND_MAX / (maximo - minimo + 1) + 1);
}

void cadena_aleatoria(int longitud, char *destino) {
    char muestra() = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
    for (int x = 0; x < longitud; x++) {
        int indiceAleatorio = aleatorio_en_rango(0, (int) strlen(muestra) - 1);
        destino(x) = muestra(indiceAleatorio);
    }
}

int main(void) {
#define LONGITUD_DESEADA 50
    srand(getpid());
    char destino(LONGITUD_DESEADA + 1) = "";// El +1 es por el carácter nulo que marca el fin de la cadena
    cadena_aleatoria(LONGITUD_DESEADA, destino);
    printf("%s", destino);
}

El programa funciona, pero no entiendo muy bien como utiliza la función rand() en la linea return minimo + rand() / (RAND_MAX / (maximo - minimo + 1) + 1);.
¿Alguien me podría explicar lo qué hace? Llevo poco programando y esta función no la he utilizado mucho. Gracias.

generar reporte pdf desde un json file en python

estoy trantando de hacer un reporte generado desde un archivo json en python.
Mi projecto es generar varios tipos de reportes y estoy investigando como hacerlo con pdf… tengo un reporte grafico con pandas que también me gustaria incluir en el pdf a futuro, pero lo que mas me interesa ahora es poder desde la lectura del archivo json crear un reporte que contenga tal vez en una tabla o algo prolijo los datos que tengo en el json file
este es mi json

{
  "services": [
    {
      "name": "ac",
      "version": "1.0.8",
      "service": "running",
      "url": "https://portal.azure.com/#home",
      "disk usage": "42%"
    },
    {
      "name": "acc",
      "version": "1.0.8",
      "service": "running",
      "url": "https://portal.azure.com/#home",
      "disk usage": "63%"
    },
    {
      "name": "acv",
      "version": "1.0.8",
      "service": "running",
      "url": "https://portal.azure.com/#home",
      "disk usage": "47%"
    },
    {
      "name": "acf",
      "version": "1.0.8",
      "service": "running",
      "url": "https://portal.azure.com/#home",
      "disk usage": "48%"
    },
    {
      "name": "ach",
      "version": "1.0.8",
      "service": "error",
      "url": "https://portal.azure.com/#home",
      "disk usage": "10%"
    },
    {
      "name": "acj",
      "version": "1.0.8",
      "service": "stopped",
      "url": "https://portal.azure.com/#home",
      "disk usage": "43%"
    },
    {
      "name": "acq",
      "version": "1.0.8",
      "service": "running",
      "url": "https://portal.azure.com/#home",
      "disk usage": "65%"
    },
    {
      "name": "bc",
      "version": "1.0.8",
      "service": "stopped",
      "url": "https://portal.azure.com/#home",
      "disk usage": "20%"
    },
        {
      "name": "bcc",
      "version": "1.0.8",
      "service": "running",
      "url": "https://portal.azure.com/#home",
      "disk usage": "25%"
    },
    {
      "name": "bcx",
      "version": "1.0.8",
      "service": "error",
      "url": "https://portal.azure.com/#home",
      "disk usage": "14%"
    },
    {
      "name": "bcn",
      "version": "1.0.8",
      "service": "running",
      "url": "https://portal.azure.com/#home",
      "disk usage": "45%"
    },
    {
      "name": "bcm",
      "version": "1.0.8",
      "service": "stopped",
      "url": "https://portal.azure.com/#home",
      "disk usage": "35%"
    }
  ]
}

y lo que quiero hacer por ejemplo es que en una tabla me genere estos datos ordenados como para presentar en un reporte justamente y bueno después agregarle por ejemplo otros datos como un titulo autor, numero de paginas y damas.
es posible?

javascript – Como puedo generar un scroll automático al desplazar la lupa

var lupa = document.getElementById('lupa');
document.addEventListener('mousemove', (e) => {
  var x = e.pageX - 10;
  var y = e.pageY - 10;
  lupa.style = 'left:' + x + 'px; top:' + y + 'px;';
});
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  width: 100vw;
  height: 100vh;
  cursor: none;
  background: #000;
}

#lupa {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

#lupa div:nth-child(1) {
  border: 1px outset #2DD122;
  width: 100%;
  position: fixed;
  left: 0;
  animation: border 2s infinite;
  box-shadow: 0 0 3px #2DD122;
}

#lupa div:nth-child(2) {
  border: 1px outset #2DD122;
  height: 100%;
  position: fixed;
  top: 0;
  transform: rotate(90);
  animation: border 2s infinite;
  box-shadow: 0 0 3px #2DD122;
}

#lupa div:nth-child(3) {
  width: 19px;
  height: 19px;
  position: fixed;
  font-size: 25px;
  color: #778cff;
  background: #fff;
  box-shadow: inset -2px -2px 5px #0D50A1;
  border-radius: 50%;
}

@keyframes border {
  25% {
    opacity: 0.1;
  }
  50% {
    opacity: 0.4;
  }
  75% {
    opacity: 0.7;
  }
  100% {
    opacity: 1;
  }
}
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.2/css/all.min.css">
</head>

<body>

  <div id="lupa">
    <div></div>
    <div></div>
    <div class="fas fa-search"></div>
  </div>

</body>

</html>