« first day (1817 days earlier)      last day (46 days later) » 

12:24 AM
Holaaaa
como estan.. Alguien que me colabore con algo pliss??
 
aloha~
 
Como estas Fred??
 
aquí bien felizmente, avanzando con mi curso de C#
 
ya voy en la parte de Linq, de ahí algo breve con Tasks y quedó el primer curso
¿cómo has estado?
 
12:28 AM
Trabajando bastante
aquí con más dudas jejeje
 
@abulafia Me preguntaba si existe alguna forma mucho más eficiente de implementar Quicksort. El problema que estoy tratando de resolver es el Knapsack problem y estaba tratando de implementarlo por medio de programación dinámica, pero no sé si ello conducirá a una mejora en la certeza de la solución
 
lo que pasa es que tengo una web de hace tiempo que esta enlazada con una base de datos, en ella tiene un slider de imágenes, pero necesito que el primer slider sea un video y no una imagen
<div class="container-items">
<?php for($i=0;$i<count($Barco->dataBarco[0]->galeria);$i++){ ?>
<div class="item" rel="1" id="item2-<?php print $i+1; ?>">
<a href="ui/galery/galery-barcos/<?php print $Barco->dataBarco[0]->galeria[$i]->imagen; ?>" class="image fancybox" title="<?php print $Barco->dataBarco[0]->galeria[$i]->alt; ?>" data-fancybox-group="thumb">
<img src="ui/galery/galery-barcos/<?php print $Barco->dataBarco[0]->galeria[$i]->imagen; ?>" alt="<?php print $Barco->dataBarco[0]->galeria[$i]->alt; ?>"/>
ese es el código del slider
 
un video o una imagen, es la misma lógica
css
un elemento que tenga las propiedades adecuadas
y queda
 
 
4 hours later…
4:07 AM
Hola
 
@SrArepa buenas
 
Necesito una ayuda para instalar Nginx
 
@SrArepa ni idea de que es
 
Es algo parecido a Xampp y IIS, pero como proxy inverso.
 
4:22 AM
@SrArepa Xampp es un empaquetador de varios programas.. no es nada.. IIS es un servidor web... Supongo que por Xampp te referis a apache, que es el servidor web que tiene adentro...
 
Perdón, si me refería a apache.
¿Sabes cómo instalarlo junto con mysql y php¡
 
@SrArepa que cosa?
 
Nginx
 
17 mins ago, by gbianchi
@SrArepa ni idea de que es
asi que no...
mysql se instala solo no tiene nada que ver con el servidor web
php debe tener un instalador para eso o debe haber documentacion al respecto
 
4:45 AM
Hola papus
Una pregunta cada compilador interpreta de diferente manera los segmentos de memoria? Por ahi me dijeron que hay compiladores para cierto hardware y no estoy seguro
Osea por ejemplo un compilador puede colocarlo en diferente orden u obviar distintas partes
 
5:11 AM
Wenas
 
Hola
Que tal
 
6:02 AM
A las güenas :-)
@ChavsoluteLocohombre El concepto de segmento de memoria no pertenece a ningún lenguaje (salvo el ensamblador). Por lo tanto, es un detalle de implementación en cualquier lenguaje distinto del asm. Por lo tanto, cada compilador lo utilizará (o no) dependiendo de su propio criterio: normalmente, dependerá del Sistema Operativo de destino.
Cosas como orden, posición, nombre ... son detalles del compilador.
 
6:20 AM
Osea que las direcciones de memoria son interpretadas por un determinado compilador a su manera?
 
@ChavsoluteLocohombre Depende del Sistema Operativo para el que compiles
Cada sistema operativo las interpreta a su manera
y el compilador se adapta al sistema operativo
te estás atascando mucho en cosas que no importan, que lo sepas :-)
Piensa que, en máquinas modernas, las direcciones lógicas son lo de menos
la Unidad de Paginación decide que puede o que no puede hacer cierta dirección lógica
y el compilador tampoco tiene la última palabra, en enlazador también est'a ahí
también puede ser que el compilador genere código agrupado en segmentos con ciertas caracteristicas esperadas de cada uno de ellos
y luego ya el enlazador se encarga de transformarlos a algo que el sitema operativo entienda
lo que tu llamas rosegment
el sistema operativo esperara un bloque SEG_RO dentro del archivo del ejecutable
y el ya lo moverá adonde quiera o pueda o deba
son muchas cosas implicadas para dar una respuesta simple
ni yo soy experto a tan bajo nivel :-)
ni importa realmente, salvo que vayas a diseñar un Sistema Operativo o un Cargador de Ejecutables u otras cosas de bajo nivel
 
Ah creo que entiendo , si me estoy complicando mucho en eso jajaja :'v me meti solo a ver stack, heap y memoria estatica y estoy en otras cosas :'v Ademas creo que ya no estoy abordando otros temas que deberia estar aprendiendo aksjl pero bueno en conclusion Las interpretacion de la memoria puede variar aunque supongo que hay cosas que se mantienen como el stack o el heap en c++
 
Pues tampoco ;-p
C++ no tiene en si mismo esos conceptos :-)
solo tiene variables automáticas, thread_local y variables dinámicas
el donde busque la memoria válida para cada caso también depende del compilador
aunque si, practicamente todas las plataformas tienen una Pila y un Heap
que por debajo el Sistema Operativo se encarga de mapear a zonas de memoria con determinadas propiedades
 
El heap es la zona de memoria donde malloc() reserva. Pero siendo estrictos, malloc() no es parte del lenguaje C, sino de la biblioteca estándar C. Perfectamente podría haber implementaciones de C (para sistemas empotrados quizás) en las que no venga con la biblioteca estándar sino con otra en la que no haya malloc ni heap
 
6:35 AM
Muy correcto también. De hecho, si compilas en modo alone (creo que era, no estoy seguro), muchas de las funciones de la librer'ia dejan de estar disponibles
alone y staged o algo así
 
la implementación de malloc() en la biblioteca estándar depende, como dice Trauma, del operativo en que se vaya a ejecutar. Típicamente malloc() delega en el operativo la obtención de la memoria adecuada. Pero en operativos sin esa funcionalidad (de nuevo, quizás, sistemas empotrados) la implementación podría usar otros mecanismos contenidos completamente en esa biblioteca
 
De hecho tú podrías implementarte tu propio "heap", reservando un array global gordo e implementando tu propio "malloc" que lleve cuenta de qué direcciones de ese array están usadas y cuáles libres, etc.
 
Yo suelo hacer eso :-)
 
ves? :-)
 
6:38 AM
tengo un pequeño allocator que uso cuando no me interesa ensuciar el Heap principal
que usa un std::array< > en el Stack
 
@LearningDeveloper La forma más eficiente de implementar quicksort es no implementarlo.
quiero decir, usa el sorted() de python que por debajo usa quicksort, pero está hecho en C y altamente optimizado
 
Heap, malloc, suenan a nombres de novela de Tolkien. XD
 
¡ HAHAHAHA !
 
@MauricioContreras Heap sería un lugar en el mapa y malloc algún brujo malo :-)
 
¿ Como podria hacer en Bash para montar una llamada a un comando con determinados argumentos, dependiendo de si existen o no ciertas variables de entorno ?
Es que son 7 u 8 variables de entorno
y con if ... else no es viable, muchas combinaciones
si $USE_HZ existe, añadir la opción -DUSE_MTO=1
si $USE_DS existe, añadir la opción -DUSE_DS=1
No se me ocurre como hacerlo :-(
Uff, ya está saliendo el sol. A bajar las persianas
 
6:46 AM
No sé casi nada de programación BASH, pero si tiene algo parecido a arrays o diccionarios, yo tendría una lista con los nombres de variables en cuestión y las correspondientes opciones para cada una, y montaría un bucle en el que recorro las variables y voy añadiendo las opciones
tampoco sé como acceder a una variable de entorno cuyo nombre está en otra variable...
 
Pues así estoy yo :-(
 
y si lo haces en python :-)
 
jejeje
no se siquiera si python estará instalado en el Docker de desarrollo
 
seguro que si
 
aunque sería mucho mas fácil, seguro
 
6:48 AM
en python está tirao
 
porque mira que es fea la sintaxis del Bash O_o
no, no puedo. Tiene que ser en Bash
:-(
no quiero historias
que luego el que se hincha a currar soy yo
 
Bueno
a mimir
 
Voy a probar el eval, a ver si me sirve
ah, pues parece que si :-)
eval 'echo hola mundo'
hola mundo
Y también interpreta variables, ¡ perfecto !
eval 'echo hola mundo $HOME'
hola mundo /home/juanjo
 
lista=(PS1 PATH)

for v in "${lista[@]}"
do
   echo $v = ${!v}
done
esto ya es algo...
 
jejeje
al final lo sacaremos :-)
 
6:57 AM
lista=("USE_HZ;DUSE_MTO=1" "USE_DS;DUSE_DS=1")

for v in "${lista[@]}"
do
   IFS=";" read -r -a partes <<< "${v}"
   variable="${partes[0]}"
   opcion="${partes[1]}"
   echo "variable = $variable     opcion = $opcion"
done
Cada vez más cerca...
 
jejeje
tampoco hace falta que estén en una lista, las comprobaciones de las variables si las puedo hacer a mano
ORDER='cmake "${GRID_LIBRARY_PATH}/MtoApi" -B "${BUILD_PATH}" -DCMAKE_BUILD_TYPE="${BUILD_TYPE}" -DSANDBOX_PATH="${SANDBOX_PATH}"'

test -n "$JOBS" && ORDER="${ORDER} -j ${JOBS}"
test -n "$USE_HZ" && ORDER="${ORDER} -DUSE_HZ=1"
test -n "$USE_DS" && ORDER="${ORDER} -DUSE_DS=1"
test -n "$USE_AWS" && ORDER="${ORDER} -DUSE_AWS=1"
test -n "$USE_REDIS" && ORDER="${ORDER} -DUSE_REDIS=1"
test -n "$VERBOSE" && ORDER="${ORDER} -- VERBOSE=1"
Archivo de configuraci?n de m?quina/usuario: /mnt/e/aws/grid/config/IT328.config
Archivo de configuraci?n de la compilaci?n: /mnt/e/aws/grid/config/Standard.config
Tipo de compilaci?n: RelWithDebInfo
Directorio destino: /mnt/e/aws/builds/mto
Sandbox: /mnt/e/aws/sandbox
Usar HZ: ON
Usar DS: ON
Usar AWS: ON
Usar Redis: ON
Tareas de compilaci?n: 6

Refrescar index: 100% (3030/3030), listo.
? ATENCI?N ! ? Hay archivos modificados/sin seguimiento en MtoApi !

? Continuar con la configuraci?n y compilaci?n ? [S/N]
Vale, parece que no va mal
Con eso me conformo
 
Yo quería un bucle :-(
 
¡¡ HAHAHAHA !!
Eres demasiado perfeccionista :-D
 
Soy el rey del YAGNI
 
xDD
(ahora miraré que es el YAGNI ese ...)
Ah, fíjate. Una palabreja que no conocía
 
7:08 AM
Pues, junto con procrastinar, me define
 
pero esa si la conozco :-D
Es una de mis especialidades también :-D
Sobre todo, cuando la tarea no me resulta atrayente
Esta es la 3ª vez ya que toqueteo los scripts y los CMakeLists
 
Precisamente. Cuando la tarea es aburrida y poco creativa, es mucho más interesante y divertido abstraer el problema e implementar una solución general. En definitiva YAGNI
 
@abulafia Pero para eso hay que dejar de procrastinar xD
 
Es otra forma de procrastinación. En vez de ponerse con la siguiente tarea aburrida y poco creativa, te dedicas a perfeccionar lo que ya funciona
y que nadie te ha pedido
 
jejeje
es un punto de vista curioso ... pero válido :-)
 
7:11 AM
procrastinas, pero sintiendo que "a la larga esto puede ser útil", y por tanto con menos culpabilidad
 
jejeje
vamos, que es solo para deshacerte de dicho sentimiento
;-p
162 líneas de script principal. No está mal para hacer make O_O
Estos güïndoseros ...
 
@Trauma Claro. Muy similar a ponerse a ordenar la habitación antes de estudiar. Y pasar el día ordenando.
 
¡ HAHAHAHA !
Yo pasé por esa fase :-)
Y nunca se quedaba a mi gusto ... siempre había que cambiar algo de sitio ...
¿ Osea, que el no tener estudios se lo debo a esa palabreja ?
Me quejaré a la Real Academia de la Lengua
¡ Que la quiten del diccinoario ya !
 
Qué palabreja? procrastinar?
 
Sip
Palabreja maldita
¡ Yo no queria ! ¡ La procrastinación me obligó !
xDD
Ayer pasé frio. Hoy que traigo abrigo y chaqueta, hace calor
Vamos apañaos
 
7:19 AM
 
jelou
 
7:34 AM
@abulafia uuuuuffff buenisima
 
7:53 AM
He visto una mala pregunta pero no he podido evitar responderla :P
siempre me hace gracia hablar de las rarezas de JS
 
¡ Ya me salió !
Para el que le interese, set -x en Bash activa el modo depuración
te va mostrando todos los comandos según los va ejecutando
mola :-)
 
@Trauma interesante, no lo sabía
 
Creo que da para una pregunta auto-respondida y todo
 
buenos dias atodos por cierto
 
@Pikoh Ni yo :-)
@Pikoh Gúenas :-)
ORDER='"${MTO_GRID_LIBRARY_PATH}/MtoApi" -B "$1" -DCMAKE_BUILD_TYPE="${MTO_BUILD_TYPE}" -DSANDBOX_PATH="${MTO_SANDBOX_PATH}"'

test -n "${MTO_USE_HZ}" && ORDER+=' -DUSE_HZ=1'
test -n "${MTO_USE_DS}" && ORDER+=' -DUSE_DS=1'
test -n "${MTO_USE_AWS}" && ORDER+=' -DUSE_AWS=1'
test -n "${MTO_USE_REDIS}" && ORDER+=' -DUSE_REDIS=1'

set -x
eval cmake "${ORDER}"
set +x
Mola muy mucho
+ eval cmake '"${MTO_GRID_LIBRARY_PATH}/MtoApi" -B "$1" -DCMAKE_BUILD_TYPE="${MTO_BUILD_TYPE}" -DSANDBOX_PATH="${MTO_SANDBOX_PATH}" -DUSE_HZ=1 -DUSE_DS=1 -DUSE_AWS=1 -DUSE_REDIS=1'
++ cmake /mnt/e/aws/grid/MtoApi -B /mnt/e/aws/builds/mto -DCMAKE_BUILD_TYPE=RelWithDebInfo -DSANDBOX_PATH=/mnt/e/aws/sandbox -DUSE_HZ=1 -DUSE_DS=1 -DUSE_AWS=1 -DUSE_REDIS=1
 
8:03 AM
Por cierto, si alguien quiere montarse un NAS casero...FreeNAS es la leche.
 
@Pikoh Usar un PC para un NAS casero no es un poco overengineering? Es decir, ya hay discos duros de red con NAS integrado, no? Pregunto desde el desconocimiento
 
Pillaros un HP Proliant
la Gen8 está muy bien de precio
5 HDD, 4 de ellos de 3.5"
2 interfaces de red
por 200€
Es el que uso yo, y estoy muy satisfecho con él
Y tiene unidades USB y microSD internas para el arranque
Por ese precio, no hay nada que le iguale
 
@Trauma Yo tengo el Gen7 y encantado. Y pensando en pillar otro de Gen 8, la verdad.
Buenos d'ias
 
@PabloLozano pues depende de como lo mires. Si ya tienes el hardware,sale mas barato. El hardware nas suele ser carillo. Y con un pc tienes un server mas potente y flexible
 
@Muriano Son muy buenos. Muy robustos, muchos huecos, y un excelente precio
Encendido 24x7 desde hace por lo menos 4 años, y ni un quejio
Bueno, vamos allá. La prueba refinitiva
 
8:15 AM
@Trauma Si, muy silenciosos. Yo lo tengo en el estudio, pero podrias tenerlo en una habitacion y no molesta.
 
@Muriano Cierto. Yo lo tengo en el salón, y no se nota
lo tengo arriba del mueble, donde mi administradora única no lo vea demasiado :-)
 
jajaja
 
el gen 8 no esta disponible en amazon
 
Ahora ya van por el 9, el 8 sera dificil de encontrar a lo mejor
el 9 trae mas cosas, como tarjeta de vídeo, pero es mas caro
 
tiene un celeron de cpu, yo en el que he montado tengo un i5 de cuarta generacion con 16 gb de ram
 
8:16 AM
con el 8 no puedes ni mover una triste ventana
¡¡ Otia !!
No veas que pepino :-O
 
le he metido el transmission para descargar, emby como mediaserver y next cloud como nube personal. De momento
 
yo lo tengo con el transmission y el minidlna, servidor DLNA
 
le meteré tambien un gitlab seguramente, y alguna cosilla mas
 
para archivos, tengo el samba y el ssh
y algún dia le montare una interfaz WEB para que la señora pueda borrar las fotos antiguas de forma cómoda
... o algun año ...
 
y con freebsd. Cada una de las aplicaciones va en un jail separado del resto, y sistema de archivos zfs. se puede hacer raid 0 o 1 de manera sencilla
 
8:19 AM
no veas :-O
yo lo tengo con XFS, copias de disco a disco manuales con Rsync
 
@Trauma mira owncloud/nextcloud. Es lo mejor yo creo para eso
 
... tengo que automatizarlo ... algún año de estos ...
ya, pero con el samba no hay que hacer nada en los clientes
Android, PC con linux
arrastras y listo
mi administradora única no es muy mañosa con los cacharros
bueno, no me hagais procrastinar mas
que me pilla el toro :-)
jejeje ... ¡ Ya compila !
:-D
Vale, se los he puesto fácil
Debug, Release y Standard
p'a que no se compliquen mucho
[100%] Built target MtoApi
¡ Perfecto !
 
@Trauma He visto Gen10 por ah'i
 
@Muriano ¡ Otia ! No sabía que ya iban por ahí
nada, cuando se me muera el 8 ... ya lo estudiaremos :-)
lo peor del 8 es que no tiene gráfica, y no lo puedes usar para ver pelis
es una pena
Vale, vamos a probar desde el VSCode, a ver como va esto
¡¡ Perfecto !!
 
8:40 AM
Visteis lo del asteroide?
 
@abulafia el del tamaño de un frigorifico?
 
Ese
 
Entonces si lo he visto
lastima no tener un telescopio
 
No creo que sea visible ni con telescopio (me refiero a uno casero), a menos que impacte
 
@abulafia yo creo que podrias captar la entrada en atmosfera
 
8:47 AM
A eso me refiero con impacto. Pero las probabilidades de que entre en la atmoósfera son del 0,41% asi que ni eso
 
Ojalá impactara en Miraflores, cuando Maduro y todo su gabinete estuvieran reunidos en pleno, junto al alto mando militar. Eso sería poesía espacial. XD
 
Me acabo de cargar la taza del café :'-(
 
Y yo me acabo de hacer muy viejo...hace 30 años que salió monkey island
 
@Pikoh juegazos
para mi es el mejor juego que he jugado en mi vida
no se si tarde 6 meses en pasarmelo, con los puzzles y que era un enano irracional
y alguna vez lo he rejugado
 
yo lo jugue, pero reconozco que no tengo paciencia para esos juegos. Creo que el unico del estilo que me termine fue el day of the tentacle
 
9:01 AM
Yo solo tenia dos juegos, ese y el Age of empires
luego llego el comandos, el age of empires 2...
y ya con el tiempo consegui que mi padre me comprase el Rome Total War
 
@Pikoh Ayer me recomendó Youtube un "documental" de cómo se hizo. Lo archivé para ver más tarde
@Pikoh Yo jugué y terminé todos los clásicos de LucasFilm excepto "Grim Fandango" cuya estética no me gustaba y no llegué a comprar
Incluso jugué y terminé "Zak Mckracken and the alien mindbenders" que seguramente ni conozcas porque no fue traducido
pero aparece en un easter-egg en Maniac Mansion (en la habitación del tentáculo había un poster del Zak McKracken, y un casette que reproducía la sintonía del juego)
(y por cierto que en una localidad del Zak McKracken había un póster del Maniac Mansion)
Aún recuerdo el extrañísimo puzzle de Mokey Island en la que un troll, para dejarte cruzar el puente, te pedía "Una cosa que parezca interesante pero no valga para nada"
y se resolvía dándole un arenque rojo. De aquella yo apenas sabía inglés y me pareció el puzzle más absurdo jamás visto.
 
y al ingles como era?
 
Pues "red herring"
 
supongo que es un juego de palabras
con un anillo
 
El término "red herring" siginfica "pista falsa". Y en juegos de aventuras se usa para esos objetos que parecen útiles (ej: unas tijeras) pero al final no se usan
supongo que literalmente significa "arenque rojo" (herring, no earring)
 
9:15 AM
para mi, la parte que recuerdo con mas cariño de esos juegos, no se si era el 2 o el 3, eran los duelos que tenias que hacer con palabras
 
@NicolasOñate Era el 1
Yo soy goma, tu eres pegamento
 
el que mejor recuerdo era ¡En guardia mamarracho! Tus palabras no son de un macho
 
@abulafia A mi me pasó eso en la segunda parte: usar la cola de un mono para activar un mecanismo
 
@PabloLozano Coño es verdad! En el sentido (en inglés) de esa no había caído hasta justo ahora!
 
monkey wrench
 
9:16 AM
A ver si lo del pollo con polea va a ser también un juego de palabras en inglés...
 
no, eso era sencillamente absurdo
xD
 
o cuando tenias que ir a un barco, emplumarte con alquitran, ir a la aldea y asustar al tabernero
 
Oye, pues queda bonito en la pared
 
o el duelo de gitarras
 
Yo jugué al Indy3, al indy4 (atlantis), al monkey island, maniac mansion, zack mcKracken, Maniac mansion 2 (juegazo)... pero me faltó The Dig
al Full Throttle ya no jugué, empecé con los de Sierra (Space Quest, especialmente)
 
9:20 AM
Ah, pues The Dig fue una de mis preferidas. De hecho me gustaría volver a jugarla, pues ya ni me acuerdo
 
no me gustó el cambio de interfaz
the Dig no lo conseguí en su momento
 
Full Throttle y Grim Fandango estaban gratis en la Apple Store para OSX
 
pero quiero verlo
 
A mi me regalaron el half life y empece con mi amor a los shooters
 
el Grim Fandango tampoco lo probé
Half Life me hizo comprarme mi primera tarjeta gráfia aceleradora
 
9:21 AM
The Dig (además de unos puzzles bien raros) tenía como novedad una banda sonora "generativa", muy chula por cierto y que ambientaba muy bien la trama
 
una Voodoo Banshee de 16 MB
 
Maniac Mansion 2 no me suena...
 
@abulafia AKA Día del Tentáculo
 
Ah, ese! Sí, juegazo
lo volví a jugar no hace tanto
Y no conoceis Thumbleweed Park?
 
Lo conozco, salió hace unos pocos años
pero no caí en la nostalgia :P
 
9:23 AM
Juegazo también. Chute de nostalgia
yo sí, y no me arrepiento. Lo pasé muy bien. Y el final es... muy meta
 
para mi un buen chute de nostaliga seria el medievil 2 remasterizado
 
buenas
 
una duda, tengo dos arrays, una con elementos y otra con numeros:
[obj1,obj2,obj3, obj4, obj5]
[0,2,4,13,9]
Existe una manera rápida de ordenar la array de arriba según los numeros de abajo ordenados de menor a mayor?
 
lenguaje?
 
[ v for _, v in sorted(zip(lista2, lista1)) ]
 
9:33 AM
Array.Sort(array2, array1);
 
Anda, después de responder he mirado en SO, y la solución que dan no solo es equivalente a la mía, sino que hasta usan _ como nombre de variable
 
@Capt.Teach javascript
@Pikoh c# siempre tan bueno, lastima que no esté en el back
 
@NicolasOñate querrás decir, en tu back
 
@MauricioContreras obviamente, creo que no hace falta especificar
 
@NicolasOñate cómo se relacionan los objetos de cada array?
 
9:40 AM
@NicolasOñate te vale esta pregunta ? stackoverflow.com/questions/13304543/…
 
La solución con 269 votos mola, pero me temo que no va bien si en lista1 hay elementos repetidos
Hmm.. ¿o si?
 
Son dos arrays, una obtenida de un string que quiero convertir a elementos interactivos y otra con el numero de posicion en ese string
@abulafia voy a probarla ahora, tiene buena pinta
me muestra 4 ceros, no estoy haciendolo bien
 
10:22 AM
Esa solución asume que los datos del array que impone el orden están en el array a ordenar, de algún modo
 
la cosa es que el orden depende de la segunda
y claro, los numeros no estan ordenados
 
en c# te daria varias soluciones..pero es javascript no?
 
puedes hacer un zip de los dos arrays y luego ordenar el resultado
 
@PabloLozano eso es lo que ha comentado @abulafia en python
 
@Pikoh por desgracia
 
10:29 AM
a1.map((elem,index) => [elem, a2[index]]).sort((a,b) => a[1] -b[1])
 
@PabloLozano puedo convertirla en una
 
donde a1 y a2 son los dos arrays
a2 es el que impone el orden
 
tiene buena pinta, voy a ver
 
@PabloLozano La lambda que le pasas a sort hace las veces de cmp o de key?
 
comparator
 
10:37 AM
funciona, tengo que empezar a comprender el uso de map
alguna vez lo he visto y simplifica bastante la lógica
 
El concepto de map es bastante sencillo, lo que pasa es que el nombre elegido no es bueno
se podría haber llamado transform
si tienes un array [a,b,c...]
y una función f(x)
 
@NicolasOñate map es un Select de linq
 
entonces [a,b,c].map(f) == [f(a),f(b),f(c)]
 
@Pikoh vaaale lo pillo
 
simplemente aplica la función a cada elemento y devuelve un array con los resultados
 
10:40 AM
El término map está tomado de las matemáticas
In mathematics, a map is often used as a synonym for a function, but may also refer to some generalizations. Originally, this was an abbreviation of mapping, which often refers to the action of applying a function to the elements of its domain. This terminology is not completely fixed, as these terms are generally not formally defined, and can be considered to be jargon. These terms may have originated as a generalization of the process of making a geographical map, which consists of mapping the Earth surface to a sheet of paper.Maps may either be functions or morphisms, though the terms share...
 
@PabloLozano comprendo
vale, el concepto lo pillo, ahora me toca saber cuando tengo que aplicarlo
 
@abulafia supongo que applyFunctionToEachElement era un nombre demsasiado largo y se fueron por la versión algebraica
@NicolasOñate Generalmente se usa cuando tienes una lista de elementos y necesitas una lista de elementos similar (con el mismo numero de elementos) pero con otros datos
por ejemplo, tienes una lista de usuarios y quieres la lista de nombres: usuarios.map(usuario => usuario.nombre)
 
iteraciones en el array/objeto para obtener un resultado
 
un array de resultados
 
vamos, el foreach especial de arrais
 
10:47 AM
foreach aplica una función a cada elemento que no sea undefined, pero no devuelve nada
map te devuelve un array de resultados
reduce te devuelve un único resultado, "reduciendo" una lista a un único elemento, acumulando todo
 
comprendo
 
hay mucha gente que usa map cuando debería usar forEach, porque sencillamente ignoran el array resultante
 
mola, empezaré ahora a escribir pregunatas del map
 
generalmente da igual, pero estás desperdiciando memoria y cálculos
 
es que en mi código creo que algun foreach se puede convertir en map
 
10:51 AM
si estás guardando los resultados, sin duda
 
@PabloLozano lo uso alguna vez para construir arrays asi que si
 
@PabloLozano Eso lo he visto también en python, usando comprensiones de listas cuando deberían usar un for normal. Por ejemplo: [ print(x) for x in lista ]
al final se obtiene una lista llena de None (que es lo que retorna print()), lo que es absurdo
 

« first day (1817 days earlier)      last day (46 days later) »