html – Como hacer que un fondo no se modifique segun el tamaño con CSS

estoy teniendo un problema que no puedo solucionar, vendria a ser que mis imagenes se modifican de forma drastica cuando achico la pantalla, las imagenes las tenia como fondo de un div, utilizando la propiedad

background-image:url();

Pero el contenedor al achicarse, pasaba lo siguiente:

(Como deberia ser)
introducir la descripción de la imagen aquí

(Para celular)

introducir la descripción de la imagen aquí

Esto lo habia podido solucionar en cierta parte poniendo la imagen directamente en el html utilizando:

<img src="./images/desktop/image-stand-out.jpg" alt="">

pero al poner una imagen, tengo que poner los textos en display absolute para moverlos y no me parece lo mejor, entonces queria preguntar si hay alguna mejor forma de hacerlo

Muchas gracias

python – como puedo hacer para que me funcione pyinstaller?

Buenass , tengo un problema , al tratar de convertir un .py a exe con pyinstaller me sale un error , como puedo hacer para poder corregir el error ,–>”pyinstaller” no se reconoce como un comando interno o externo,
programa o archivo por lotes ejecutable.<–
q puedo hacer.
agradeceria su ayuda.

java – Puedo hacer una app Android para móviles y al mismo tiempo que esta app sea compatible con Android Tv? Y como agregar en mi app Tv agregar shorcuts?

Hola a todos no se si la pregunta sea clara, bueno en sí soy nuevo rn esto de programación de Android y serían 2 preguntas las que tengo:
Si osea puedo añadir compatibilidad de manejo de mi app con un control remoto (en el caso que mi app se quiera utilizar en Android Tv) como tengo que hacer para darle compatibilidad para Android Tv??
Y mi segunda duda es como hacer para añadir shorcuts en el caso de que mi app pueda hacerla compatible con Android Tv?

Muchas gracias por su atención, no importa si no me responden en español 😉

php – ¿Cómo hacer un stored procedure con el array $_GET?

Buen día, estoy realizando una página dinámica en php, que tiene en el index varios artículos, al darle clic a cualquier artículo, este, según su id, se carga en la página descripción, para obtener los datos, utiliza el siguiente código:

if(isset($_GET('id'))){
$resultado = $conexion -> query("SELECT * FROM productos WHERE IdProducto=".$_GET('id'))or die($conexion -> error);
if(mysqli_num_rows($resultado) > 0){
    $fila = mysqli_fetch_row($resultado);

Quiero hacer un Stored Procedure, pero no sé como hacerlo para que tome el valor del ID, ni como introducirlo en el query de PHP. Agradecería infinitamente si me pudiesen ayudar. Saludos.

javascript – Quiero hacer un select donde se seleccione cuantos datos me muestra mi tabla con DataTable

Hola quiero poner en mi tabla un select donde pueda asignarle una cantidad de (50,100,200,300) y esa cantidad se me muestre en la grilla. Este es mi codigo

´´´´´´´´´´´´

table = $(‘#tableGralActividad’).DataTable({
//”dom”: “<‘row'<‘col-sm-9’l><‘col-sm-3’f>><‘row'<‘col-sm-12’tr>><‘row'<‘col-sm-5’i><‘col-sm-7’p>>”,
“dom”: “<‘row'<‘col-sm-12’tr>><‘row'<‘col-sm-3’i><‘col-sm-8’p ><‘col-sm-1’l>>”,
//”scrollX”: false,
“paging”: true,
“lengthChange”: true,
“searching”: true,
“ordering”: true,
//”order”: ((2, “desc”)),
“processing”: true,
“serverSide”: true,

            pageLength: 100,
            //"select": true,
            "language": {
                "processing": mensaje,
                "info": "Página _PAGE_ de _PAGES_ páginas - _MAX_ registros en total",
                "infoEmpty": "Sin registros para mostrar",
                "lengthMenu": "Mostrando _MENU_ registros por página",
                "zeroRecords": "Nada encontrado",
                "infoFiltered": "(filtered from _MAX_ total records)",
                //'paginate': {
                //    'previous': 'Previo',
                //    'next': 'Siguiente'
                //},
                "oPaginate": {
                    "sFirst": "Primero",
                    "sLast": "Último",
                    "sNext": "Siguiente",
                    "sPrevious": "Anterior"
                },
                "oAria": {
                    "sSortAscending": ": Activar para ordenar la columna de manera ascendente",
                    "sSortDescending": ": Activar para ordenar la columna de manera descendente"
                },
                "buttons": {
                    "copy": "Copiar",
                    "colvis": "Visibilidad"
                },
                "sSearch": "Buscar:",

            },
            "stateSave": true,
            select: {
                style: 'multi'
            },

            ////"filter": true,
            //"searching": true,
            "responsivePriority": 1,
            //"fixedHeader": true,
            "lengthMenu": ((10, 25, 50, -1), (10, 25, 50, "All")),
            //"pageLength": 50,
            "ajax": {
                "url": url,
                "type": "POST",
                "datatype": "json"
            },

            "columns": (

                {
                    "data": 'IdActividad', "width": "10%", className: "dt-center",
                    render: function (data, type, row) {
                        if (type === 'display') {
                            return "<input type="checkbox" class="editor-active" value='" + data+"'>";
                        }
                        return data;
                    },
                    "orderable": false,
                    className: "dt-body-center"
                },
                { "data":  },
                { "data":  },
                { "data":  },
                { "data":  },                   
                {
                    "data": 'fechaFin', "width": "10%", type: 'datetime', className: "dt-center",
                    render: function (data) {
                        if (data == null) {
                            return data;
                        }
                        else {
                            new_data = data.split("T");
                            //new_data(0) = displayDate(new_data(0));
                            return new_data(0);
                        }
                    }
                },
                {
                    "data": 'fechaFin2', "width": "10%", className: "dt-center",
                    render: function (data) {
                        if (data == null) {
                            return data;
                        }
                        else {
                            new_data = data.split("T");
                            //new_data(0) = displayDate(new_data(0));
                            return new_data(0);
                        }
                    }
                },
                {
                    "data": 'fechaCalificacion', "width": "10%", className: "dt-center",
                    render: function (data) {
                        if (data == null) {
                            return data;
                        }
                        else {
                            new_data = data.split("T");
                            //new_data(0) = displayDate(new_data(0));
                            return new_data(0);
                        }
                    }
                },

            ),


            "rowCallback": function (row, data) {

                if (data.IdActividad != "") {

                    //$('#cbox1').prop('checked', false);
                    //$('td:eq(0)', row).html("<input type="checkbox">");
                }
                if (data.tienePunto == 1) {
                   // alert(data.tienePunto);
                    $('td:eq(1)', row).html("<i class='fa fa-check-square'></i>");

                }
                if (data.idArchivo != null) {
                    $('td:eq(4)', row).html("<a href=# onclick='verArchivo(" + data.idArchivo + ")' class='btn btn-warning'><i class='fa fa-download'></i>" + "</a>");

                }
                if (data.IdActividad != null) {
                    //$('td:eq(8)', row).html("<a href=# onclick='subirArchivoGrilla(" + data.IdActividad + ")' class='btn btn-success' style='color:white;'><i class='fa fa-upload'></i></a><span style='padding-left: 4% !important;' id='span" + data.IdActividad + "'>No hay archivos</span>");

                }
                if (data.nombreEstado != null) {
                    if (data.nombreEstado == "Para Enviar") {
                        $('td:eq(10)', row).html("<span class='label label-primary' style='font-size: 100% !important;'>" + data.nombreEstado + "</span>");
                    }
                    else {
                        if (data.nombreEstado == "Aprobado") {
                            $('td:eq(10)', row).html("<span class='label label-success' style='font-size: 100% !important;'>" + data.nombreEstado + "</span>");
                        } else {
                            if (data.nombreEstado == "En Analisis") {
                                $('td:eq(10)', row).html("<span class='label label-warning' style='font-size: 100% !important;'>" + data.nombreEstado + "</span>");
                            } else {
                                if (data.nombreEstado == "No Aprobado") {
                                    $('td:eq(10)', row).html("<span class='label label-danger' style='font-size: 100% !important;'>" + data.nombreEstado + "</span>");
                                } else {
                                    if (data.nombreEstado == "Sin Emitir") {
                                        $('td:eq(10)', row).html("<span class='label label-sinemitir' style='font-size: 100% !important;'>" + data.nombreEstado + "</span>");
                                    } else {
                                        $('td:eq(10)', row).html("<span class='label label-indigo' style='font-size: 100% !important;'>" + data.nombreEstado + "</span>");
                                    }
                                }
                            }
                        }
                    }
                }


            },
            "initComplete": function (settings, json) {
                $.unblockUI();


            },
            "drawCallback": function (settings) {
                if ($('#cbox1').is(':checked')) {
                    //alert('Seleccionado');
                    $('input:checkbox').prop('checked', true);
                }
                //alert('DataTables has redrawn the table');
            }
        });

´´´´´´´´´´´´´´

Ahi creo la tabla , estoy usando C# , .Net , JavaScript y css

javascript – Hacer la llamada a un metodo con un for js

const app1 = new App("16000", "5 ESTRELLAS", "900MB");
const app2 = new App("1000", "4 ESTRELLAS", "400MB");
const app3 = new App("6000", "4.5 ESTRELLAS", "A00MB");
const app4 = new App("23000", "4.8 ESTRELLAS", "1GB");
const app5 = new App("900", "5 ESTRELLAS", "250MB");
const app6 = new App("17", "3.7 ESTRELLAS", "522MB");
const app7 = new App("42981", "2.9 ESTRELLAS", "723MB");

document.write(`
${app1.appInfo()} <br>
${app2.appInfo()} <br>
${app3.appInfo()} <br>
${app4.appInfo()} <br>
${app5.appInfo()} <br>
${app6.appInfo()} <br>
${app7.appInfo()} <br>
`);

alguien sabe como hacer esa parte del código con un bucle? yo lo he estado intentando pero no me sale aun.

Tengo esto:

for (let i = 1; i < 8; i++) {
    document.write(`
    app${i}.appInfo() <br>
    `);
}

Pero el problema es que esto solo interpreta la i, el resto de la linea la interpreta como si fueran simples string. Me muestra:
app1.appInfo()

app2.appInfo()

app3.appInfo()

app4.appInfo()

app5.appInfo()

app6.appInfo()

app7.appInfo()

Como tendría que hacer para que interprete todo el conjunto?
Dejo el metodo appInfo para que se entienda como debería ser la salida.

appInfo(){
        return `
        Descargas: <b>${this.descargas}</b><br>
        Puntuación: <b>${this.puntuacion}</b><br>
        Peso: <b>${this.peso}</b><br>
        `
    }

python 3.x – Deploy co django en heroku falla por que no se puede hacer collectstatic con whiteNoise

Hola gracias por su ayuda de antemano

trato de hace un deploy en heroku pero recibo el siguiete error y no tengo idea de que es lo que pasa les agradeceria mucho su ayuda:

remote:          webfonts/fa-brands-400.eot
remote:        Please check the URL references in this CSS file, particularly any
remote:        relative paths which might be pointing to the wrong location.
remote: 
remote:  !     Error while running '$ python manage.py collectstatic --noinput'.
remote:        See traceback above for details.
remote: 
remote:        You may need to update application code to resolve this error.
remote:        Or, you can disable collectstatic for this application:
remote: 
remote:           $ heroku config:set DISABLE_COLLECTSTATIC=1
remote: 
remote:        https://devcenter.heroku.com/articles/django-assets
remote:  !     Push rejected, failed to compile Python app.

Primer deploy…disculpen mi ignorancia pero no tengo idea de que es ese archivo webfonts/fa-brands-400.eot,por lo que entiendo hace referencia a un archivo que no existe pero como rastreo ese webfonts/fa-brands-400.eot?

postgresql – Hacer un trigger que borre datos de una tabla después de actualizar datos de otra tabla

Me encuentro trabajando con postgresql y necesito saber quien me puede ayudar a crear un trigger que después de actualizar el nombre de un tema en la tabla tema debo de eliminar los registros que se encuentran con el nombre antiguo en una tabla llamada opinión denegada pero en esta tabla solo tengo el id_opinión y la causa
Tablas
Tema(id_tema, nombre_tema)
Opinion(id_opinion, id_tema, nombre_opinion)
Opinión_denegada(id_opinion, causa)

seguridad – ¿ que pueden hacer con mi id de telegram?

en un grupo de telegram alguien empezo a mandar un texto pero en brasilero,y le respondi el mensaje dicendo: sopa de makako. me respondio y me dijo: tengo tu id y su mensaje se convirtio en un numero, no recuerdo que llevara puntos ni nada asi, lo banearon y me fui a un bot para saber mi id de telegram y el numero se parecia, despues el tipo borro sus mensajes, no se que mierda paso, borre mis cuentas de gmail, en caso de que me robe tarjetas o etc, borre mis cuentas y active tor vpn, me troleo o de verdad puede hacer algo con ese numero?

pasaron 1 hora y 30 minutos.

laravel – Como hacer de una relación, solo un valor, Eloquent

Estoy desarrollando un api, en la cual requiero hacer una relación pero como resultado no quiero me devuelva un objeto sino el valor en si mismo, por ejemplo, esto es lo que estoy recibiendo.

    {
        "id": "78",
        "fechaCaptura": "2021-06-01T10:57:39.000000Z",
        "expediente": "asd",
        "persona": {
            "id": 1,
            "fecha_captura": "2021-05-28 15:23:18",
            "nombres": "jose",
            "primerApellido": "ramirez",
            "puesto": {
                "idPuesto": 2,
                "nombre": "Administrador",
                "nivel": "0046",
            },          
            "estatus": 0
        },        
        "causaMotivoHechos": "asd"
    }

Pero quiero como resultado solo el nombre del puesto para el campo puesto, tipo así

    {
        "id": "78",
        "fechaCaptura": "2021-06-01T10:57:39.000000Z",
        "expediente": "asd",
        "personal": {
            "idPersona": 1,
            "fecha_captura": "2021-05-28 15:23:18",
            "nombres": "jose",
            "primerApellido": "ramirez",
            "puesto": "Administrador"
            "estatus": 0
        },        
        "causaMotivoHechos": "asd"
    }

Ahorita cuento con esto para el modelo principal

public function Personal()
{
$sub = $this->belongsTo('AppPersonas', 'idPersona', 'id' )
->with("puesto");
}

y este para llamar a personas

public function puesto()
    {
        $sub = $this->belongsTo('AppPuestos', 'puesto', 'idPuesto');
        return $sub;
    }