« first day (365 days earlier)      last day (1140 days later) » 

12:56 AM
Hola a todos
@PaulVargas Que bueno que estes bien
 
@PedroÁvila que mas
 
@PedroMiguelPimientaMorales Hola amigo
@PedroMiguelPimientaMorales Todo bien
@PedroMiguelPimientaMorales Y tu que tal?
 
si bien
aqui agregando un par de cosas a la aplicacion
 
@PedroMiguelPimientaMorales puedes escribirle a @fredyfx necesito informacion sobre traslado de almacenes
 
1:24 AM
@PedroÁvila ¡Gracias!
 
@PaulVargas Hola
@PaulVargas Estoy buscando info sobre traslado de mercaderia entre almacenes de la misma empresa
 
Jul 15 at 16:57, by Paul Vargas
@PedroÁvila ¿Quieres modelar también cuando mueves productos de un almacén a otro? Por ejemplo, que cierta talla de ropa no exista aquí, pero que esté allá... entonces nos la traemos... pero registramos ese movimiento... para que no haya problemas con el almacenista.
1
A: design decision for inventory system

gabrielhilalJust in case someone get to this question, here goes my solution: I decided to create a table transfer_stocks to register all the transfers between venues. This table is also used to solve any discrepancy when stock is counted (when recipient_id is nil, it means wastage or stock missing in the v...

 
@PaulVargas Bueno, en si, si estoy en la oficina principal en el formulario guia escoger los item del documento y escoger el almacen de origen y el almacen de destino. eso ya lo resolvi, ahora tengo que en la oficina que es el almacen destino ver la mercancia que estan destinadas para ese almacen
La db ya esta desarrollada
 
^^^ Supuestamente es una aplicación donde se hace eso.
 
@PaulVargas Haber
@PaulVargas Gracias
 
1:37 AM
^^^ Otro ejemplo.
 
@PaulVargas Gracias!!!
 
@PedroÁvila Je, je. Pero no sé si te sirvieron.
 
@PaulVargas Jajaja, claro que si
 
@PaulVargas Gracias
 
1:48 AM
@PedroÁvila pues dime en si lo que le quiers preguntar
@PaulVargas que mas
 
@PaulVargas Acabo de ver que habías puesto un fragmento de JavaScript antes de preguntarme... Si era para ese paso, entonces es totalmente innecesario el /g...
Pero no es lo único: estas líneas también las podés borrar:

if (m.index === regex.lastIndex) {
regex.lastIndex++;
}
Y si no te interesa capturar los últimos 3 caracteres, cambiaría ([A-Z\d]{3})? por (?:[A-Z\d]{3})?
(aunque los estás imprimiendo, por lo que quizás los necesites)
Mi respuesta había sido amplia porque no vi que estabas con JavaScript, y ^ no siempre significa principio del texto en otros lenguajes
 
@Mariano Copié el código del generador de Regex101.
 
(o mismo para JavaScript si estuvieses usando /m)
@PaulVargas Sí, ya sé... me lo conozco de memoria
 
@Mariano Sólo es para validar un campo.
 
entonces olvidate de todo...

if (/^[A-Z]{3,4}\d{6}(?:[A-Z\d]{3})?$/i.test(campo)) {
(*teniendo en cuenta que no acepta acentos ni ñ)
Más fácil, ¿no? :-)
 
2:05 AM
@Mariano ¿Gano algunos picosegundos cambiando «([A-Z\d]{3})?» por «(?:[A-Z\d]{3})»?
 
@PaulVargas Perdés en compilación, ganás en ejecución... prácticamente nada al fin y al cabo... Pero es una buena práctica... Expresado en código, sería: no declarar una variable que luego no vas a usar
Y, como todo en expresiones regulares, depende sólo se puede determinar haciendo un benchmark con los textos contra los cuales esperás compararlo más frecuentemente
 
@Mariano What? ¿Cuál de los dos es más veloz?
 
(...) compila más rápido, ejecuta más lento
(?:...) compila más lento, ejecuta más rápido
No hay una respuesta única, depende del string contra el cual lo compares
Yo usaría (?: ... )
 
@Mariano He visto en algunos lados word.match(regex).
 
@PaulVargas Sí... y? No lo necesitás para validar
 
2:15 AM
@Mariano También word.search(regex).
Otro: regex.exec(word).
 
@PaulVargas Todos los métodos que estás mencionando usan el mismo motor de expresiones regulares. Sólo difieren en las opciones que usan y los tipos devueltos
Si estás preguntando cuál es la diferencia, te explico... pero hasta ahora me pareció que estás preguntando solamente cuál usar
Y re.test(string) simplemente devuelve un booleano si coincidió o no... lo que se usa para validar
 
@Mariano Conozco bien los métodos en Java... pero en JavaScript no tanto.
 
str.match(re) devuelve las coincidencias, pero obliga a que coincida contra todo el string
str.search(re) devuelve las coincidencias (normal, no lo está anclando a ^ y $ a menos que lo especifiques en el regex)
re.exec(str) es un iterador
Este último es el más poderoso para verificar cada uno de los resultados independientemente
JavaScript, en comparación a Java, tiene un motor de regex que es una 💩💩💩💩💩💩
Y eso que el de Java no es tan bueno
.net, perl y pcre les ganan por mucho
Hasta VBA/VBScript le ganan a JavaScript.. imaginate!
 
@Mariano No me ha quedado muy claro cuando usar «test» y cuando usar «match».
 
sí sólo te interesa saber si coincide o no, usá .test
Si te interesa saber contra qué partes específicas coincidió, .match
 
2:26 AM
.match es para coincidencias parciales
hice ejercicios del juez uva
con .match
 
@Mariano ^^^ Creo que ya voy entendiendo.
 
y .match() sí va a ser más lento (aunque en niveles que no creo que importen para lo que estamos hablando)
en cambio, .search(), te va a devolver el índice en el cual encuentra una coincidencia
"abcabc".search(/a/)
0
"cbacba".search(/a/)
2
"cbacba".search(/x/)
-1
Por eso, no hay diferencias importantes, salvo en qué necesites usar de la coincidencia
Y las diferencias en performance en estos niveles, ni siquiera los consideraría
Este es otro ejemplo que quizás te ayude a entender un poco de .match()

"cbacba".match(/(a)(.)/)
["ac", "a", "c"]
 
@Mariano Wow! Eres un todo un ninja 🐱‍👤 de las expresiones regulares.
 
al usar un grupo, se captura el valor del string con el que coincidió el grupo
@PaulVargas Jajaja. Son años trabajando con esto nomás
Prueba y error, bastante leido y haber visto cómo evolucionaron
Así como también te diría que nunca uses JavaScript para expresiones regulares avanzadas :-)
(porque no soportan las estructuras que otros motores sí)
Y son un desastre en unicode
Y, el que no estamos nombrando: .exec() es el que usaría para la mayoría de los casos
porque es el único que te da la información de cada coincidencia y las capturas de cada uno de los grupos
 
2:46 AM
@Mariano “Sí, maestro.”
 
Que la fuerza esté contigo
 
Obi-Wan never told you what happened to your father
Cuando juego con mi sobrino con espadas, hacemos el ruido de sables laser
duuuuunnnn duuuuuunnnnnn
tiene 2 años
 
@Mariano ¿Aparecerá R2-D2 en la siguiente película?
 
@PaulVargas Dicen que sí... y viniendo de Disney, cualquier cosa puede pasar
 
3:03 AM
@Mariano ¿Qué te pareció el BB-8?
 
Es simpático. Me gusta
 
@Mariano ¿Cómo es que tenía un soplete? ¿Y el combustible de este? ¿Cada cuando había que recargar?
 
@PaulVargas Le regalé a mi hermano el de juguete que se controla desde ell celular
@PaulVargas Esas cosas no se preguntan. No hay que sacarle la magia :-)
 
3:43 AM
nos vemos
 
4:10 AM
^^^ ¿Por qué siempre escogen lentes de gran angular? Las cosas se ven un poco distorsionadas.
 
4:27 AM
(ojo de pez) porque te da un mayor ángulo de visión
 
 
1 hour later…
5:56 AM
@Mariano ¿Y por qué alguien querría eso?
 
@PaulVargas ¿Por qué no? Ver más que el ángulo reducido de un lente común tiene sus ventajas... Preguntale sino a todos los que compraron una GoPro... Poder grabar 180° desde una sola cámara en el espacio hace que puedas ver más objetos
Además, no tiene por qué reproducirse distorsionado... Se puede corregir la distorsión
 
una pregunta muchachos
ustedes participan en so en ingles?
 
6:23 AM
@rn3w Tengo rachas, sí
Podés ver el perfil de cada uno y el historial que tiene en Stack Overflow
 
 
11 hours later…
5:22 PM
@Mariano ¿Cómo?
 
5:45 PM
^^^ ¡Muy buen tema! Acá hay uno subtitulado.
 
 
5 hours later…
10:58 PM
@PaulVargas que mas
@PaulVargas encontre un error, pero no para volverse, loco voy a intentar repararlo, deja lo arreglo te paso la apk, y te digo cual era
 
11:44 PM
@PedroMiguelPimientaMorales ¿Un error?
 

« first day (365 days earlier)      last day (1140 days later) »