« first day (1856 days earlier)      last day (1235 days later) » 

10:05 AM
Wenas
 
 
2 hours later…
12:06 PM
buenos dias gente
hace tiempo que no paso por aqui jaja
 
 
2 hours later…
1:47 PM
@MauricioContreras Hola, tengo una duda sobre claves primarias
Tengo dos tablas. Una A(id, c) y B(id, id_A, h)
Las claves primarias serían de A (id) y de B (id) o (id, id_A)?
id_A es una clave foránea del id de la tabla A
 
 
1 hour later…
2:49 PM
@Fernando ¿Qué dice el DDL? Las claves primarias son las que tú establezcas en la creación de la tabla.
 
 
1 hour later…
4:13 PM
@MauricioContreras Si, eso entiendo, pero no se si es lo más adecuado usar una u otra. Creo que para buscar no influye
 
4:53 PM
@Fernando eso va a depender de lo que tú necesites. En principio una clave compuesta que incluya una clave foránea no le veo mucho sentido. Recuerda algo: una clave primaria es un campo único en una tabla. Es decir, la clave primaria te proporciona una forma de identificar de forma única un registro en una tabla.
Dependiendo de las necesidades de tu aplicación, el campo de clave primaria puede ser simple (1 solo campo) o compuesto (varios campos).
La decisión de hacerlo simple o compuesto se toma en base a las necesidades.
Las clave foránea es en cambio una relación entre la tabla hija (la que implementa la FK) y la tabla maestra (la que tiene una columna o grupo de columnas a las que se refiere la relación).
 
@Fernando Ten cuidado al establecer las claves foráneas. Cuando un campo recibe esa atribución suele tener incidencias en los procesos de actualización de datos (integridad referencial)
 
En este contexto, el hecho de que una tabla hija tenga una relación con una (o muchas) tabla maestra, no implica que su clave primaria deba incluir a la FK (o FK's).
En cuanto a tu planteamiento sobre Tabla_A(id, value_a) y Tabla_B(id, FK(Tabla_A.id)), yo te diría que las claves primariaa son: Tabla_A.id y Tabla_B.id, sin mas.
 
5:18 PM
@MauricioContreras Buena tarde!
 
5:46 PM
@quevedo Hola
 
Hola
Estaba esperando el momento de verte activo
para consultarte sobre el nonce
 
@quevedo vale, dame 2 minutos, que estoy preparando un café y te cuento
 
vale
ya también voy a por el café
 
6:03 PM
Ya estoy
El tema de CSP es bastante amplio
Hay una propuesta (CSP3) que establece algo llamado strict-dynamic como política para la carga de contenido seguro.
Content Security Policy (CSP) is a computer security standard introduced to prevent cross-site scripting (XSS), clickjacking and other code injection attacks resulting from execution of malicious content in the trusted web page context. It is a Candidate Recommendation of the W3C working group on Web Application Security, widely supported by modern web browsers. CSP provides a standard method for website owners to declare approved origins of content that browsers should be allowed to load on that website—covered types are JavaScript, CSS, HTML frames, web workers, fonts, images, embeddable objects...
 
@MauricioContreras si, esa parte la leí. Y, leí que el nonce deja unos puntos vulnerables en los scripts
tu habías pasado este enlace Políticas de seguridad de contenidos
 
@quevedo como todo. No es 100% fiable. Siempre habrá gente tratando de saltarse la valla.
Sin embargo, más allá de que existan algunas vulnerabilidades conocidas. El estándar apunta en esa dirección.
 
6:30 PM
@MauricioContreras lo que me preocupa es que no puedo no usar eval() en mis scripts y tengo todavía código en línea para algunos objetos muy complejos.
 
Yo aún estoy estudiando sobre las políticas CSP. Las deseo implementar de forma correcta en mi servidor web.
@quevedo usar eval() en los scripts nunca fue buena idea. (Imagino que hablas de JavaScript)
 
Lo se pero el escenario es este: Tengo una familia de elementos personalizables que puede crecer por código de los usuarios que hacen extenciones custom
esos elementos exponen unos métodos hook_infijo_HOOK(parametros) donde hook y HOOK son nombres máquina de los módulos y elementos contribuidos
mi API construye los nombres de los métodos, valida si están o no cargados y los ejecuta con eval()
para garantizar que el comportamiento de los elementos contribuidos se integre de modo transparente a toda la estructura
Los objetos y hooks están registrados en una BD obviamente no los lee arbitrariamente de las páginas
*extensiones que bestia escribí mal
 
6:45 PM
¿Crees que se podría hacer sin usar el eval?
 
Estoy pensando en el escritorio..
donde uno hace esas cosas.. y no usa eval
porque simplemente no existe
 
@MauricioContreras No estoy seguro. Porque en los puntos en que se usa no hay manera de saber como se llama el método a usar. Y, no hay certeza de que pueda ser pasado como parametro (callback) sin hacer mucha gimnasia con el código
 
@quevedo no deberia llamarse siempre igual?
 
no
 
6:50 PM
@quevedo no se yo, pero me suena que si se puede, es decir, el nombre viene dinámicamente, cierto?
 
mira este caso de uso
 
porque? no deberia ser como una interfaz?
 
casi
 
@quevedo, si entendí bien, lo que tienes es una fábrica.
 
@MauricioContreras si pero sin inyección de objetos
de modo que aparecen en tiempo de ejecución
 
6:52 PM
@quevedo vale
 
ejemplo: hago un llamado ajax
el servidor responde con una famili de objetos y valores de atributos que van a actualizar zonas arbitrarias del DOM
 
@quevedo bien
 
y con una cola de nombres de métodos de rebobinado
que van a ser invocados en un loop asegurando que todos los eventos y binds necesarios se enlacen
Nunca puedo saber qué métodos son
 
@quevedo por?
 
porque cada objeto es ofrecido por su módulo de extension
y ofrece sus propios scripts hojas js y sus css
los hooks son la regla que asegura que puedan ser llamados
y el servidor incluye, tomando del registro en la BD qué debe ser llamado
 
7:08 PM
Creo que vo a darme la pela de pensar como hacerlo sin eval
 
Pues si, está interesante, pero seguro que se puede. Sino, como dice @gbianchi, usa una de escritorio y listo. XD
 
@MauricioContreras si
La recomendación de @gbianchi es perfecta. Me he vuelto un poco perezoso. Si lo pienso como si fuera de escritorio, seguro hago algo decente
 
En resumen, lo del CSP que estoy implementado es para poder inyectar un código nonce de forma dinámica en cada petición a una app de Angular
En principio lo resolví con PHP. Aunque sigo buscando una opción distinta. La idea es que se inyecte el valor del nonce generado en cada petición a Angular. Y dado que Angular simplemente es una serie de scripts que se insertan en la plantilla html, basta con agregar el nonce a cada script insertado.
Sin embargo, aún no he compilado el módulo de Apache para añadirlo a mi servidor. Mañana tendré algo de tiempo para hacerlo.
 
@MauricioContreras Eso, es lo que me generó duda
 
@quevedo A ver, lo que yo intento es NO USAR PHP. XD
Pero por los momentos lo haré con PHP. Por ser tan fácil de implementar.
Sin embargo, estoy buscando alguna alternativa. Incluso si eso implica escribir otro módulo para Apache
@JuanPerez mi pana
 
7:24 PM
@MauricioContreras espera,
mi inquietud es que vi que pueden romper las etiquetas de modo que el nonce ampare scripts en secciones rotas
 
@JuanPerez chamo, desde que tengo listo lo del Covid19. Los de la lista ya se deben haber contaminado todos. Cuando ejecutes el código te dirá 80% de contagiados y más de 60% fallecidos.
 
no lo entendí bien, pero me dejo preocupado
 
@MauricioContreras jajaja
 
@MauricioContreras Que paso bro..
@quevedo Hola bro
Como están ?
 
7:26 PM
@JuanPerez hola
bn, vos?
 
@quevedo si, esa vulnerabilidad es crítica, sin embargo creo que habrá forma de evitarlo
@JuanPerez revisaste el ejercicio del Covid que te di?
 
Bien acá estamos..
@MauricioContreras Donde bro no vi el mensaje
 
@JuanPerez reescribí bastante tu código.
 
Como te fue ?
 
yesterday, by Mauricio Contreras
@JuanPerez Aqui lo tienes
 
7:28 PM
@MauricioContreras Buena.. Lo voy a echar una mirada a ver que tal
 
@JuanPerez pues tu CSV es caca, pero ni modo. ¿Quién guarda "texto" entre comillas en un CSV?
 
xD
Ese CSV lo descargue de la página oficial..
 
@JuanPerez vale, estás perdonado. Y siendo una página oficial, me imagino que es del gobierno (de Argentina en este caso). @gbianchi ha de estar orgulloso.
 
@MauricioContreras Así es bro
 
@JuanPerez igual me faltó comentar bien cada función. Es decir, hay comentarios muy sencillos.
Tampoco hay mucho, son 3 funciones y la main
 
7:32 PM
Dale no hay problema
@quevedo Mira esa tabla (MySQL) necesito sacar algo así:
 
@MauricioContreras se guarda texto entre comillas en un csv cuando el texto puede tener , en su interior
 
@gbianchi Cherto
@gbianchi pero sólo aplica al texto que pueda tener una ,, no a todos los campos. XD
Y esa es mi queja, todos los campos del CSV, independientemente de su contenido, estaban entre comillas dobles, incluso las cabeceras de columna. XD
@gbianchi "id_evento_caso","sexo","edad","edad_anos_meses","residencia_pais_nombre","residencia_provincia_nombre","residencia_departamento_nombre","carga_provincia_nombre","fecha_inicio_sintomas","fecha_apertura","sepi_apertura","fecha_internacion","cuidado_intensivo","fecha_cui_intensivo","fallecido","fecha_fallecimiento", ...
XD
 
es para que el archiva sea homogeneo
muchas veces se hace asi.. es mas facil de parsear de esa forma...
 
@gbianchi vale, me callo la boca entonces.
 
7:48 PM
Existe una forma mejor de hacer esto y que sea dinámicamente para X categorías
SELECT purchasedate,
      MAX(CASE WHEN category = 'Bills' THEN amount END) Bills,
			MAX(CASE WHEN category = 'Travel' THEN amount END) Travel
FROM budget
GROUP BY purchasedate
 
@JuanPerez eso no parece estar nada mal....
 
Si pero imagínate que tenga 1000 categorías
 
vas a tener 1000 columnas?
 
Puede llegar a suceder..
 
@JuanPerez no. nadie lee algo de mil columnas
igual, eso que buscas se llama tabla pivotante... y no existe pivot en mysql...
asi que se hace asi, a mano...
 
8:00 PM
:O
MAX(CASE WHEN category = 'Bills' THEN amount END) Bills,
MAX(CASE WHEN category = 'Travel' THEN amount END) Travel
Como podría agregar acá para sacar la suma por cada mes ?
 
@JuanPerez usar sum en lugar de max?
 
Necesito sacar el total de cada categoria agrupadas por fechas
 
@JuanPerez por eso.. usar sum en lugar de max
 
Listo
 
8:25 PM
@JuanPerez vi que ya resolviste. Perdona, mi esposa llamó a almorzar y eso no es objetable... ella manda aquí
 
Jajajaja
SELECT purchasedate,
      SUM(CASE WHEN category = 'Bills' THEN amount ELSE 0 END) Bills,
			SUM(CASE WHEN category = 'Travel' THEN amount ELSE 0 END) Travel,
			SUM(CASE WHEN category = 'Choose...' THEN amount ELSE 0 END) Choose,
			SUM(CASE WHEN category = '1' THEN amount ELSE 0 END) 1_,
			SUM(CASE WHEN category = '2' THEN amount ELSE 0 END) 2_,
			SUM(CASE WHEN category = '5' THEN amount ELSE 0 END) 5_,
			SUM(CASE WHEN category = 'food' THEN amount ELSE 0 END) food,
			SUM(CASE WHEN category = 'Food' THEN amount ELSE 0 END) Food,
A la final quedo así, es posible sacar el total de la sumatoria del mes ?
 
@JuanPerez que es el total de la sumatoria por mes?
 
Agregar una columna total de todas las categorias
 
Claro que si! tenes que sumar todas las columnas...
obviamente no tiene ningun sentido ni mostrar eso , ni calcular la sumatoria en sql
 
@JuanPerez Mientras la categorías sean pocas tiene sentido... creo que posiblemente debas enfocar diferente
 
8:30 PM
esa tabla, ya con esas categorias, es inservible...
 
@gbianchi siempre tienes razón... jajaja
 
Jajajaja
4
Q: ¿Cómo puedo convertir una cierta fila a una columna en mysql?

h6gignaciola verdad he encontrado algunas preguntas respecto a este hilo. Pero no logro entender algunos conceptos de mysql. Tengo este tipo de tabla. Las cuales posee 5 columnas. +--+-----+-----------+---------------+-----------+---------+ |id|empresa_principal|nombre completo| fechas | centros | +--+...

 
como si trabajara de eso :p
 
@JuanPerez creo que debes pensar algo como tabla o lista de categorías y tabla_rel_asunto_categoria_acumulado_fecha con unnombre decente donde vas guardando progresivamente y luego extraes lo que necesitas
te falta algo que simplifique la vida
 
mucho dato en una pantalla, no significa mucha informacion en una pantalla...
la informacion tiene que estar clara y ser facil de entender...
 
8:34 PM
algo dónde vas guardando agregados mediante consultas sencillas
 
5000 filas de 40 columnas en una pantalla.. no son informacion...
 
@gbianchi B. Gates las llama silencio informático
 
lindo nombre...
 
cuando el exceso de información te abruma....
 
yo siempre que me piden algo asi.. pregunto para que.. que queres saber...
y en base a eso, me fijo realmente que es lo que hay que mostrar...
muchas veces no es esa grilla.. un grafico es mucho mejor para eso.. sin numeros.. donde se detecten picos o bajadas abruptas...
para entender que pasa.. ahi no importan los numeros.. importan las variaciones...
 
8:35 PM
Creo que aquí hay que reenfocar el problema
 
y mas si solo se ven cero en todos lados...
 
@JuanPerez miremoslo así: como y cuando deben acumularse datos? se necesita que se acumulen todos simultáneamente o puede hacerse por bloques sencillos
 
Un tok voy a preguntar todo y lanzo la idea clara
 
se pueden acumular con una organización simple?
 
mil ceros en una pantalla.. es la nada misma...
 
8:38 PM
y lo central, qué quieren ver
@gbianchi son una pantalla fea
 
@quevedo no es que quieren ver.. es que quieren saber.. que se quiere aprender de esos datos... que informacion se obtiene de ellos...
 
@gbianchi buen punto lo dije mal
es que suele haber la manía que querer poner todo junto (cultura de sopa) y querer lograrlo todo con sólo una consulta, complicadisima, y que despues de hecha sólo dios entiende
 
@quevedo porque, sencillamente, falta un analista de sistema ahi...
y si hay un experto en BI, mejor...
 
@gbianchi seeeeeeeee !
 
yo aca siempre escucho, lo pidieron asi.. pero no escucho a nadie decir... me podrian dar motivo mas alla de A de porque esto no deberia hacerse asi?
 
8:44 PM
ya no hay análisis de sistema... el mundo webificado apunta a click y escupa bultos
 
imaginate que le digan a un ingeniero.. queremos que nuestro auto tenga 3 ruedas... y 4 volantes... y sin pedales... el ingeniero se les reiria en la cara.. no entiendo porque la gente de sistemas tiene tanto miedo...
@quevedo si y esta muy pero muy mal...
hagamos un puente sin tirantes... :p
 
@gbianchi ahí está el problema... no hay alguien que diga al cliente : "usted no tiene razón, pensemos nuevamente el asunto....
 
@quevedo en el resto de las profesiones, se hace... se pelea... se intercambian opiniones con el cliente...
los arquitectos cumplen lo que se les pide.. hasta cierto punto... hay cosas que no hacen y no hacen y punto...
 
9:09 PM
@gbianchi si. Justo acabamos de vivirlo. La arquitecta nos entregó una propuesta despues de escucharnos diciendo esto es lo posible con su presupuesto....
Pero, volviendo al punto de las tremendas consultas que suele mostrar @JuanPerez, creo que hace falta que juan se pare en sus dos pies y diga, repensemos esto y aquello... todo no puede salir y actualizarse en un solo llamado
 
 
2 hours later…
11:33 PM
Hola a todos
¿Cómo están?. Tengo un error en R cuando trabajo con documentos en RMarkdown. El error es el siguiente:

Error in gsub("\"", "\\\"", string, fixed = TRUE) : input string 2 is invalid UTF-8
Lo obtengo al ejecutar los chunks, he buscado en diferentes páginas y en el github de R pero no logro solucionarlo
 
11:58 PM
@LearningDeveloper Son esos errores cripticos de R, en el algún momento el Rmd se renderizaba bien?
 

« first day (1856 days earlier)      last day (1235 days later) »