« first day (1896 days earlier)      last day (1212 days later) » 
00:00 - 18:0018:00 - 23:00

6:00 PM
(Incluso parece sencillo de implementar sin usar python!)
 
La parte en la que se calcula el tamaño de cada trozo es sencilla sí. La parte en la que troceas la lista inicial en esos fragmentos es un poco más farragosa
En python esa última parte es una linea con un par de comprensiones de listas
from math import ceil

def trocear(lista, t_max):
  t_lista = len(lista)
  num_trozos = int(ceil(t_lista/t_max))        # Numero de trozos a crear (y es el mínimo posible)
  tam = int(ceil(t_lista/num_trozos))          # Tamaño de cada bloque "grande" (cumple tam <= t_max)
  n_peq = tam * num_trozos - t_lista           # Numero de bloques "pequeños" (tendrían tamaño tam-1)
  n_grand = num_trozos - n_peq                 # Numero de bloques "grandes" (de tamaño tam)
  return ( [ lista[i:i + tam] for i in range(0, n_grand*tam, tam) ]
 
Buena suerte Trauma pasando eso de python a C++!
Usas dos list comprehensions, primero con el tamaño redondeado para evitar que quede una tarea sobrante, cierto?
 
Uso dos listas, la primera para crear todos los trozos "grandes" (de tamaño tam) y la segunda para todos los trozos "pequeños" (de tamaño tam-1)
y concateno ambas listas para retornar el resultado final
en el ejemplo que te puse antes la primera lista sería [4] y la segunda [3,3]
 
@PatricioMoracho gracias buen hombre!
 
y la función retornaría [4,3,3]
 
6:08 PM
Ahhh, entiendo
 
bueno, en realidad no es así. Digamos que la primera lista tendría una sublista con cuatro elementos y la segunda tendría dos sublistas con 3 elementos
o sea, si la lista de entrada es [1,2,3,4,5,6,7,8,9,10] el resultado devuelto sería [[1,2,3,4], [5,6,7], [8,9,10]]
 
Si, lo he ejecutado para probar
Es impresionante
Lo ejecuté con estos parámetros: trocear(list(range(10, 112)), 10)
 
hola
 
@Benito-B Aja
 
Es interesante, desde luego. @abulafia
 
6:12 PM
No se me ocurre de qué forma el parámetro min podría aportar algo
si pones cualquier valor de min <=9 la solución es válida
y si pones min=10 no tendría solución
 
según este script para añadir una clase al hacer scroll

$(window).scroll(function() {
var scroll = $(window).scrollTop();
if (scroll >= 200) {
$("header").addClass("miClase");
}else{
$("header").removeClass("miClase");
}
});
 
De esta manera, es imposible que no tenga solución siempre y cuando haya más tareas que listas pretendas hacer
No, de hecho... así siempre tendrá solución sin importar qué
 
la clase .miClase se añade a la etiqueta html <header>

Si quiero añadirlo por ejemplo, junto con: <div class="otraClase">
cómo haría esto?
Algun máster en JavaScript? ( 0_o)
es decir, que quede así: <div class="otraClase miClase">
 
@EMCode necesitas identificar dicho elemento de alguna forma. Así puedes usar la misma lógica que aplicas en el header
 
@MauricioContreras hola Mauricio, gracias
Te refieres a un id al div?
 
6:18 PM
@EMCode si, o alguna otra forma de identificar ese elemento en específico.
 
pero entonces sería así?
$(window).scroll(function() {
var scroll = $(window).scrollTop();
if (scroll >= 200) {
$("#miDiv").addClass("miClase");
}else{
$("#miDiv").removeClass("miClase");
}
});
?
 
@EMCode veo que trabajas con JQuery, algo debe tener para poder identificar dicho elemento. No soy muy fan de JQuery y por eso lo toco poco
@EMCode exacto, creo que eso puede servir
 
gracias amigo, voy a revisarlo
 
Tengo implementado eso del scroll en mi web, pero usando JS Nativo.
Claro, es que suelo usar muchas funciones. XD A ver, la llamada la hago así:
// apply active class to mainNav
  const navbar = document.getElementById('mainNav');
  applyVisualEffect([navbar], 'active', false, window.scrollY > 100);
 
ese código se ve mas limpio
porque el anterior no funcionó jaja
 
6:23 PM
@EMCode si te muestro el de la función que se llama allí, te caes de espalda, porque es todo abstracto. XD
import { isVisible } from './isVisible.mjs';
export { applyVisualEffect };

const applyVisualEffect = (elements, effectName, useVisibility = true, condition = null) => {
  if(!elements || !effectName) return;
  if(useVisibility) {
    elements.forEach(element => {
      if(isVisible(element) && !element.classList.value.includes(effectName)) {
        element.classList.add(effectName);
      }
    });
  } else {
    if(condition === null) return;
    elements.forEach(element => {
      if(condition) {
 
applyVisualEffect esto sería mas o menos como el addClass
o no?
 
@EMCode pues esta es la linea clave:
element.classList.add(effectName);
Esta parte es la que aplica la clase en caso de window.scroll > que algún valor:
elements.forEach(element => {
      if(condition) {
        if(!element.classList.value.includes(effectName)) {
          element.classList.add(effectName);
        }
      } else {
        if(element.classList.value.includes(effectName)) {
          element.classList.remove(effectName);
        }
      }
    });
  }
 
entiendo
ahora ya se complicó jajja
dame unos minutos trato de entenderlo
 
El efecto en este caso es establecer un background al elemento, si el elemento no tiene la clase se la agrega sólo si se cumple la condición.
¿Qué quieres hacer?
 
tengo un input buscador, algo así:

<div class="buscador"><input placeholder="buscar"></input></div>
está en un navbar, en la parte superior
quiero que cuando el usuario haga scroll, ese mismo buscador, se pase al footer, debe ser el mismo, porque se crea dinamicamente
entonces cambiaría esta clase:

.buscador {
position: relative;
}
por
.buscador2 {
position: absolute;
bottom: 0;
}
@MauricioContreras o no sé que opinas si hago la pregunta en el sitio
 
6:31 PM
Vale, entonces lo debes hacer pensando en que una clase debe sustituir a la otra.
 
es que siento que es algo sencillo
@MauricioContreras si señor, exactamente
 
Eso no te sirve, ya voy
 
jajaja si, no sirve
gracias men, disculpa quitarte tu tiempo
 
@EMCode básicamente es esto:
$(window).scroll(function () {
  let scroll = $(window).scrollTop();
  if (scroll >= 200) {
    if ($("#miDiv").hasClass("buscador")) {
      $("#miDiv").removeClass("buscador");
    }
    if (!$("#miDiv").hasClass("buscador2")) {
      $("#miDiv").addClass("buscador2");
    }
  } else {
    if ($("#miDiv").hasClass("buscador2")) {
      $("#miDiv").removeClass("buscador2");
    }
    if (!$("#miDiv").hasClass("buscador")) {
      $("#miDiv").addClass("buscador");
    }
  }
});
Fíjate que invierto las condiciones. Porque si se cumple scroll >= 200, deseo remover una clase sólo si la misma está presente, y deseo agregar una clase sólo si la misma no está presente. En el else hago lo mismo, pero intercambio el orden de las clases.
Fíjate bien que la segunda condición es una negación: if(! ...)
No sé como funciona JQuery por dentro, es decir, no estoy seguro de si acaso addClass sobreescribe la clase o si removeClass falla en caso de que la clase no exista, por eso lo hago así.
No he dicho nada.
XD
Eso es JQuery, asi que las cosas como son. XD
 
6:48 PM
hombre
tiene todo el sentido
pero por algun motivo, no me funciona :U/
@MauricioContreras no entiendo el porqué la verdad
voy a ver si me armo un pen
 
@EMCode vale
 
 
1 hour later…
8:01 PM
@MauricioContreras jajaj era un error mío
lo siento
le faltaba un punto a la clase en el CSS jajaja
 
8:46 PM
hola de nuevo estoy por aqui...
estoy usando esta libreria...
pero despues de revisar
no tiene una funcion destroy ...
y ando buscando como removerlo al colocar un campo readonly
 
@FranciscoNúñez está marcada como Deprecated. No deberías usarla.
 
pues el proyecto tiene 7 años ...
como le digo eso al dueño...
 
@FranciscoNúñez como me lo acabas de decir a mi. XD
 
decir que es obsoleto no es una respuesta
 
@FranciscoNúñez en este mundo de programación, y sobre todo web, sí que lo es. O seguiríamos usando flash para animaciones y applets de Java para aplicaciones. XD
Bueno, igual es mi opinión solamente. En todo caso, si la licencia de esa librería lo permite, puedes re escribirla para adaptarla a lo que necesites.
 
@FranciscoNúñez y qué le hace falta?
 
le hace falta algo que no llevaron a la ultima version
esto es lo que dice el pull original
pero no se como solucionarlo no manejo muy bien git
 
@FranciscoNúñez crea una rama, genera los cambios en la rama y haz las pruebas. Si todo va bien, haces un merge al main y listo.
 
9:49 PM
@MauricioContreras y que libreria recomiendas... se supone que se usa BS 4
la verdad el diseño se ve bien a pesar de que diga que esta deprecated...
 
Hola a todos
Me pueden ayudar en esta consulta
0
Q: Recorrer una array en php

Pedro ÁvilaTrabajo con php 7 y symfony 4 tengo la necesidad de recorrer una array para poder navegar por sus propiedades y hacer un if Vengo de C# cuando navego entre propiedades de un objeto hago lo siguiente objeto.elemento, en php se usa objeto->elemento? El código que ocupo es el siguiente $distributivo...

 
@PedroÁvila claro
primero que nada que tal si haces un var_dump($distributivo);
he indicas que tiene dentro
@PedroÁvila $distributivos = []; // esto esta vacio y no se requiere declararar hasta donde entiendo
Intenta con:
foreach($distributivosx as $distributivo){
        var_dump($distributivo);
    }
es probable que requieras:
foreach($distributivosx as $distributivo => $datos){
        var_dump($distributivo,$datos);
    }
coloca el output si saludos
 
10:41 PM
Buenas, alguien ha consumido wsdl en php ?
 
hola
 
¿'
¿?*
 
chrome-extension://oebpmncolmhiapingjaagmapififiakb/editor.html#wsdl=https%3A%2F%2Fprefarm3.sat.gob.gt%2Fwebduca%2Fws%2FWsRecibeDUCA%3Fwsdl&addr=%23%2FWsRecibeDUCAEpService%2FWsRecibeDUCA%2FValidaMensajeXmlDUCA&title=ValidaMensajeXmlDUCA
 
10:57 PM
¿Alguien sabe cómo puedo acceder al DOM en una app de electron?
 
Notice: Array to string conversion in C:\xampp\htdocs\Extras-php\php-soap\index.php on line 5

Fatal error: Uncaught SoapFault exception: [HTTP] Service Unavailable in C:\xampp\htdocs\Extras-php\php-soap\index.php:5 Stack trace: #0 [internal function]: SoapClient->__doRequest('<?xml version="...', 'http://prefarm3...', '', 1, 0) #1 C:\xampp\htdocs\Extras-php\php-soap\index.php(5): SoapClient->__soapCall('ValidaMensajeXm...', Array) #2 {main} thrown in C:\xampp\htdocs\Extras-php\php-soap\index.php on line 5
Me esta generando este error
 
00:00 - 18:0018:00 - 23:00

« first day (1896 days earlier)      last day (1212 days later) »