nodejs – ¿Cómo saber cual es el string que tengo que mandar para obtener un resultado ya sabido?

Tengo una funcion y lo que debe ser su resultado pero lo que necesito obtener es el string que se debe enviar (x)

function hash(x) {
seed = 11;
diccionario = "acefimoprstuv";
for(i = 0; i < x.length; i++) {
seed = (seed * 23 + diccionario.indexOf(x(i)));
}
return seed;
}

El resultado que debo obtener es 468484901136871
No se como deberia de alguna manera hacer la funcion de manera inversa para obtenerlo o no se que otra prosible solucion hay.

¿Cómo obtener nombre de las columnas de una relación de muchos a muchos en Laravel / Eloquent?

Tengo una relación de muchos a muchos entre “products” y “categories”, puedo obtener datos de esta relación a partir de su nombre en el modelo en el que me encuentro (que es parte de la misma), entonces estoy en el modelo “Product”, y de esta forma:

$thisModel = (new self); // A new empty Model
$relation  = (new self)->$relationName();
$relatedModel = $relation->getRelated(); // A new empty Model

Código de la siguiente respuesta: https://stackoverflow.com/a/56089111/3919660

Tengo los dos modelos conectados y puedo obtener sus nombres. Necesito los campos que corresponden a las FKs en la tabla intermedia. Si hago un trazado de la relación:

dd($relation);

Tengo lo siguiente:

IlluminateDatabaseEloquentRelationsBelongsToMany {#1377 ▼
  #table: "category_product"
  #foreignPivotKey: "product_id"
  #relatedPivotKey: "category_id"
  #parentKey: "id"
  #relatedKey: "id"
  #relationName: "categories"
  #pivotColumns: ()
  ...

¿Cómo puedo obtener los nombres de los campos que relacionan “products” y “categories” de esta relación?

Nota: actualmente estoy obteniendo estos datos a partir una RAW query:

$query = 'SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS
    WHERE TABLE_SCHEMA = "skyerp" AND TABLE_NAME = "' . $tableName . '" AND 
    COLUMN_KEY!="PRI" AND DATA_TYPE="bigint"';

javascript – Obtener objetos de un JSON

Acabo de hacer un Parse a un texto en formato JSON entero. Ahora necesito obtener dichos valores, y puedo sacar el título sin problemas, pero cuando comienza en JSON a recorrer niveles más bajos me parece imposible:

const arr = (
  {
    "title": "Tarif",
    "power": {
      "0": {
        "type": "t1",
        "value": "fs"
      }
    },
    "energy": {
      "0": {
        "type": "sdf",
        "value": "fsd"
      }
    }
  }
);

function sndTo( dat ){
      for(let n in dat){
         (form=>{
            console.log(form);
            console.log(form.title);
            console.log(form.type);
            console.log(form.energy);
         })(dat(n))
      }
}

sndTo( arr )

Con esto, quiero recoger los datos de los distintos elementos, pero no puedo. En los console.log que es lo que uso para ver si saca el valor correcto, no se me ocurren más maneras.

He probado con:

form.title //Me saca correctamente el valor de cada título que haya
form.(‘energy’) // Y no obtengo ningún valor de energy
form.(‘type`) // Nada tampoco
form.(0)(‘type’) // Nada tampoco
form.power.0.type // Nada tampoco

Se sacar todos los valores de title a la vez, y me gustaría sacarlos de uno en uno
Y no se sacara los valores de type y value de nada.

(EDIT)

Estoy sacando valores de (objeto Objeto) con lo siguiente:

console.log(form.power+('0.type'));

Y el resultado por consola es:
(objeto Objeto)0.type

mysql – ¿Cómo puedo obtener la suma y el mes y separar los resultados de dos tablas diferentes en SQL?

Tengo mis dos tablas con sus 2 columnas y lo que deseo obtener es la suma separada del total de la tabla ploteo y por separado el total de la tabla servicio técnico, así mismo obtener el número de mes de ploteo y servicio técnico, pero por separado.

Tablas base de datos

|*ot_ploteo*   |                             |*ot_servicio_tecnico*  |
|--------------|                             |-----------------------|
|Total_OTPloteo|                             |Total_OTServicioTecnico|    
|Fecha_OTPloteo|                             |Fecha_OTServicioTecnico|

Estos son los datos almacenados en cada una de ellas

|Total_OTPloteo|Fecha_OTPloteo|          |Total_OTServicioTecnico|Fecha_OTServicioTecnico|
|7.00          |2021-02-07    |          |44.00                  | 2021-02-06            |
                                         |12.00                  | 2021-02-05            |

Lo que deseo obtener es lo siguiente

|totalPloteo|mesPloteo|totalSt|mesSt|
|7.00       |2        |56.00  |2    |

Mi código de prueba no funcional

SELECT MONTH
    ( Fecha_OTServicioTecnico ) AS mes,
    SUM( Total_OTServicioTecnico ) AS monto,
    MONTH ( Fecha_OTPloteo ) AS mesPloteo,
    SUM( Total_OTPloteo ) AS montoPloteo 
FROM
    `ot_servicio_tecnico`,
    `ot_ploteo` 
WHERE
    `Fecha_OTServicioTecnico` >= '2021-01-01' 
    AND `Fecha_OTServicioTecnico` <= '2021-12-31' AND `Fecha_OTPloteo` >= '2021-01-01' 
    AND `Fecha_OTPloteo` <= '2021-12-31' 
    AND `Estado_OTServicioTecnico` = 1 
    AND `Estado_OTPloteo` = 1 
GROUP BY
    `mes`

Del código que tengo funcionan bien estos resultados que espero obtener o al menos en primera instancia mesPloteo, totalSt, mesSt, pero del totalPloteo es como que se volviera a sumar otra vez 7.00 o se multiplicara pero el resultado que me sale es 14.00 y no solo 7.00.

base de datos – Obtener fechas de columnas repetidas MYSQL

Buenas tardes comunidad de programadores,

Mi consulta viene relacionada a una query de mysql (MariaDB).

Estoy intentando obtener 6 variables de valores repetidos de una tabla. Latitude, longitud y fecha/hora del primer valor repetido y el ultimo. Ej:

Con esta query obtengo la latitud y longitud repetida en la tabla:

select  t1.id,
    t1.latitude,
    t1.longitude,
    t1.reg_date,
    t1.reg_time
    from techcoy t1
    inner join ( select     latitude,
                longitude 
            from techcoy
            group by latitude,
                longitude 
            having count(1) > 1
    ) t2
    on t1.latitude = t2.latitude
    and t1.longitude = t2.longitude;

Quedaria algo asi:
Tabla: techcoy

id fecha hora latitude longitude
1 2021-02-03 17:40:31 -11.1111111 11.1111111
2 2021-02-03 17:40:32 -11.1111111 11.1111111
3 2021-02-03 17:40:33 -11.1111111 11.1111111
4 2021-02-03 17:40:34 -11.1111111 11.1111111

Esta consulta me devuelve todos los valores repetidos de latitud y longitud.

Necesito obtener la hora 17:40:31 (que es el punto de inicio de la repeticion) tambien 17:40:34 (que es la ultima hora repetida del evento).

Todo esto junto a la Latitude y Longitude repetidas.

(Tambien estoy intentando usar SELECT * FROM techcoy WHERE reg_date >= now() - INTERVAL 1 DAY;para filtrar por dias, pero me toma como 2 querys distintas y no filtra los datos en 1 consulta)

python – Obtener todos los colores en una superficie Pygame

¡Hola, comunidad de StackOverflow! C:
¿Hay alguna forma en Pygame de obtener todos los colores presentes en una superficie?
Sé que es posible hacer un bucle for obteniendo el color de cada píxel. Sin embargo, quería saber si existe una forma mejor y más rápida de hacer lo mismo.

javascript – se pueden obtener datos json desde unarchivo?

Tengo un archivo json del cual quiero obtener sus datos usando javascript, he investigado y vi acerca de como se consiguen los datos pero estos se hacen mediante una url de donde esta el archivo json pero lo que yo quiero es poner la direccion del archivo que esta dentro de mi carpeta pero no encontre acerca de eso, de ser posible hacerlo si me pudieran explicar y de caso contrario alguna otra forma de hacerlo

java – ¿Cómo obtener los elementos menores al promedio?

Tengo el siguiente programa:

public class Suma {
    
    private static int suma = 0;

    public static void main(String() args) {
        
        //var nums = List.of(3, 9, 7, 12, 20, 4, 11, 9, 21, 6, 8, 10);
        int() nums = {3, 9, 7, 12, 20, 4, 11, 9, 21, 6, 8, 10};
        System.out.println(average(nums, 0));
    }
    
    public static float average(int n(), int pos){
        if(pos < n.length) {
            suma = suma + n(pos);
            average(n, pos + 1);
        }
        return (float)suma /(float)n.length;
    }
}

Que me permite obtener los siguientes resultados:

  • Suma de los elementos del Array
  • Número de elementos en el Array
  • Resultado División(Promedio).

Cómo puedo imprimir estos datos pero filtrando los elementos para obtener los elementos que son menores al promedio, sin utilizar ciclos repetitivos.

Obtener listas en python – Stack Overflow en español

mi código:

indx=(0,1)
lista1 = (('casa',1,8,True,'casa', 'puerta'),('arbol', 'perro', 9986, 'xs86d'),('portatil', taza', 9776, 'hdge6dy', 'cascos'))

for i in lista1:
  for n in indx:
    print(i(n))

lo que obtengo con este código es todos los elementos indexados por indx dentro de de las listas anidadas , lo que me gustaria obtener es una lista con los elementos de la primera lista y otra lista con los elementos de la segunda y asi con todas.
he intentando esto:

a = ()
for i in lista1:
  for n in indx:
    a.append(i(n))

pero obtengo una lista con los elementos de cada lista.

¿Cómo cambio el valor de una variable sin obtener este error? – ”índice de lista fuera de rango”

No puedo encontrar la solución a esto, ya intenté de muchas maneras importar muchos módulos e.t.c y siempre obtengo el mismo error.
Añado el código.

@bot.command()
async def p(ctx, url):
    global queue

    if not ctx.message.author.voice:
        await ctx.send('You are not connected to a voice channel.')
    else:
        channel = ctx.message.author.voice.channel
    await canal.connect()

    server = ctx.message.guild
    voice_channel= server.voice_client

    async with ctx.typing():
        player = await YTDLSource.from_url(queue(0), loop=client.loop)
        voice_channel.play(player, after=lambda e: print('Player error: %s' % e) if e else None)

    await ctx.send('**Searching:** {}'.format(player.title))
    if len(queue) > 0:
        del(queue(0))

El error que siempre me da.

File "c:/Users/PC/Desktop/Nueva carpeta/Bot_insultos.py", line 260, in p
player = await YTDLSource.from_url(queue(0), loop=client.loop)
IndexError: list index out of range