« first day (1952 days earlier)      last day (1142 days later) » 

2:01 PM
 
Apparently, the hacker rewrote complex backend architecture with a simple, single-node PostgreSQL instance and a bunch of cron jobs. This made the whole cluster of orchestrated containerized systems obsolete in one night. As a result, the CEO and the board of directors had no other choice but to let go 583 tech employees (nearly 40% of the workforce), as they now have literally nothing to do.
Cada vez que hace algo más eficiente, dejamos a alguien sin trabajo ...
 
ojala fuese verdad
 
@Trauma De qué estaba hecha esa escalera? De filos de acero?
 
tanta historia con docker, kubernetes, microservices y la nube....
 
2:18 PM
Pienso en el gremio de los contadores. Hoy, en Chile, hasta el negocio más pequeño, en el pueblo más remoto, usa una aplicación de Impuestos Internos (en tablet, celular o terminal de mano) para emitir boletas, evitando de paso el llenado manual de libro de ventas, timbrados, etc., etc. Tenemos boletas y facturas electrónicas. Impuestos Internos lo sabe todo sobre ti; a mí me hace la declaración de impuestos (antes me la hacía un contador).
Estudiar contabilidad ya no tiene futuro.
 
@CandidMoe a no ser que te dediques a hacer software contable para el resto del mundo
 
@JoseRodriguez ¿Cuantos software contable necesita un país?
 
aqui en españa si que seguimos usando empresas externas para motivos de asesoración y contabilidad
En españa existe la figura del Asesor/Contable que normalmente es una empresa con varios trabajadores que se encargan de gestionar el aspecto empresarial y de contabilidad/impuestos
 
BancoEstado tiene una cosa llamada "Caja Vecina, orientada al pequeño comercio, a la tiendita de barrio. Puedes hacer todas las operaciones de depósito, transferencia y retiro de dinero. La tiendita sólo necesita un terminal de mano.
Ahi dejastes sin trabajo a un montón de guardia, cajeros, etc.
 
Aquí nuestra economía y tesoro se maneja con el culo (en mi opinion)
no hay un software estandarizado pero sí un procedimiento que depende de la hacienda publica
asi que existen empresas de software que venden programas para gestionar tu empresa
unas mejores y otras menos mejores, aunque en general siempre me han parecido el epítome de la inusabilidad
 
2:23 PM
Antiguamente cada empresa tenía un batallón de contables para gestionar ventas, salarios, etc. Todo eso ha desaparecido.
 
(aunque no soy un usuario de esas aplicaciones asi que supongo que todo será cuestion de aprender el workflow)
 
@lois6b XD
Buenas tardes
 
@JoseRodriguez Las de aqui no las conozco, pero conversando con sus usuarios no he escuchado quejas y están super contentos por el ahorro de trabajo.
 
2:37 PM
@CandidMoe en mi empresa basicamnte la gestion de la facturacion la hacemos con una base de datos en access y a final de mes enviamos la documentacion al asesor para que la contabilice y se encargue él en nuestor nombre de entregar todo lo necesario y en tiempo y forma a la hacienda publica
lo de la base de datos en access me parece un grano en el culo, pero es lo que habia y lo que hay a dia de hoy. me encantaria poder migrar a postgre o cualquier otro backend que no fuese propietario peeeero, eso sería lo mismo que hablamos ayer de netscape y demás. Funciona? Si. ¿Se puede hacer mejor? You can bet your ass
está justificado el tiempo, bugs y reaprendizaje? para los 4 que somos aqui ya te digo que no
cuando quiero hacer uso de la base de datos con python desde cualquier ordenador (linux) he escrito una interfaz que corre en la maquina de windows y me puentea mis querys a traves de la red. Menos da una piedra
 
@JoseRodriguez Como dicen los gringos, *If it ain't broke, don't fix it *
 
@JoseRodriguez porque querrias migrar algo que funciona? basado en que?
 
@gbianchi basado en que me obliga a tener una maquina con windows exclusivamente para eso
y una licencia de office para poder trabajar con la base de datos
 
@JoseRodriguez Ni pensar si se te muere el PC y tienes que reinstalar todo.
 
@CandidMoe entre otras cosas
 
2:45 PM
@JoseRodriguez la licencia ya la compraste.. no es mensual
la maquina con win ya la compraste no es mensual... el costo actual de eso es 0
 
preferiria una base de datos normalizada y open source que pueda separar de la capa logica
 
y podrias trabajar con odbc..no necesitas licencia para ello que yo sepa
 
normalizar?
@Pikoh tambien
 
@gbianchi necesitamos 4 licencias una para cada maquina
 
@JoseRodriguez que ya pagaste... no son mensuales...
 
2:46 PM
y me obliga a tener windows cuando no es necesario
 
ah pero espera.. usan como front la misma base de datos?
 
si
se escribió en vbasic y forma parte de todo
 
@gbianchi ahhh..eso es otra cosa
 
sino hubiera ya exportado la base de datos
quizas tenia que haber empezado por ahí
 
si, ahora tiene sentido
:9
 
2:49 PM
@JoseRodriguez no.. se escribio en vb para apps... lo que usa internamente access...
igual... tu costo mensual sigue siendo 0
ya pagaste todo eso...
 
@gbianchi ¿Por qué centrarse en el costo cuando el problema es la continuidad operacional? Con software y equipos antiguos corres el grave riesgo de no poder reemplazarlo en caso de falla.
 
Pero ahora te planteo un problema: Tengo un par de proyectos a futuro -> Un control de paquetes con una raspberry y un lector de codigo de barras
 
porque equipos antiguos? win y access corren en cualquier equipo
 
y un nuevo simulador que pueda añadir el resutlado de la comprobacion/simulacion directamente a la ficha de trabajo
 
es mas.. podrian correr en una virtual dentro de linux...
 
2:52 PM
@gbianchi Pero no es el mismo Win ni el mismo Access que hace 10 años.
 
@CandidMoe access funciona en culquier win
 
es ahí donde entra mi interfaz en windows para poder acceder a esos datos
 
y win funciona en cualquier maquina...
 
En teoria ...
 
cuando con una base de datos independiente del so me facilitaria la cosa
 
2:54 PM
tu problema no es la base de datos
 
en fin, que no voy a rehacer todo eso porque para cuando termine ya no hace falta
 
tu problema es que tu front esta integrado a la db...
podrias hacer otro front y un back que le pegue a access sin problemas
es mas... por fuera de windows probablemente...
 
@gbianchi si si, por eso he dicho antes que quizas me he explicado mal y que por ahí viene el problema, que se deriva en que tengo que usar windows y office
si soluciones existen, pero no estan justificadas por el resultado final
pero eso no me quita el rant
 
office igual te podrías librar..me parece que libreoffice admite access
y tal vez..hasta en linux
nunca lo he probado la verdad...no pensé que access siguiera vivo a dia de hoy XD
 
0
Q: Mongoose: Datos del Schema desaparecen al relacionarlo con Model obteniendo un documento vacío

MANZARBEITIAEn primer lugar gracias por entrar a la pregunta. Estoy enfrentandome a un issue desde hace unos días que no consigo remediar. Mi problema es que obtengo unos datos, los cuales relaciono a un Schema sin problemas, pero al vincularlo con el Model, los datos desaparecen del documento generado. El e...

Si alguien me puede echar un cable eternamente agradecido! =)
 
2:59 PM
@Pikoh he estado haciendo una busqueda ligera y no hay soluciones opensource/free para .accdb
de hecho estoy ahora actualizando la pagina web y lo que he hecho ha sido exportar una de las tablas a csv, de csv a sqlite y de ahí con python/fask para la busqueda
 
admite msacces...pero no se exactamente en que formato
Pero Base también atiende a los usuarios avanzados y requerimientos empresariales, y proporciona controladore nativos para algunos de los motores de bases de datos multiusuario más utilizados: MySQL/MariaDB, Adabas D, MS Access y PostgreSQL
 
creo que mdb que es el antiguo
hace tiempo lo probé y no funcoinaba
ya no sé ahora
volveré a intentarlo
 
Sí, podemos usar el UCanAccess controlador JDBC para conectarse a bases de datos de Access (.y mdb .accdb) en libreoffice">libreoffice Base. Aquí es como yo lo hice en una instalación limpia de ubuntu">ubuntu 14.04 LTS.
pero me temo que sería solo la base de datos...no la app en si
 
pues te lo digo ya mismo porque lo estoy instalando
 
te he picado eh
XD
 
3:05 PM
si, me has 'pikahdo'
 
::facepalm::
 
( ͡° ͜ʖ ͡°)
 
@JoseRodriguez Bueno, parece que ya encontraste inspiración
 
@PabloLozano marcaste tu esta respuesta para eliminar? Que te parece ahora? es.stackoverflow.com/a/432226/15301
 
Aparece que tiene un voto para eliminar, pero si doy al enlace me pregunta si quiero votar, no si quiero retirar mi voto
pero ese comentario claramete lo añadí yo
así que no sé qué está pasando
 
3:15 PM
 
@PabloLozano hmm..que raro
 
Buenas.. Una consulta tengo esta tabla dinámica deseo exportarla a excel intente con datatable pero los botones se me desaparecen alguna recomendación?
 
@PabloLozano no te preocupes, ya lo he resuelto
 
The connection to the external data source could not be established. An unknown error occurred. The driver is probably defective. /build/libreoffice-fresh/src/libreoffice-7.1.0.3/connectivity/source/commontools/dbexception.cxx:399
ya empezamos con que la abuela fuma
 
0
Q: Es posible lograr la configuración de Laragon implementando Virtual Host y la ejecución de múltiples versiones de php al mismo tiempo?

Francisco NúñezEstoy usando la herramienta de desarrollo Laragon corre en Windows 10. después de configurar los diferentes Virtual host para el desarrollo, he intentado configurar la version que cada uno requiere, el cual me funciona correctamente siempre y cuando NO se ejecuten simultáneamente, ya que el cambi...

 
3:28 PM
nah, no quiero perder ni un minuto más con rocas de sal ni cristales. ya me duele bastante la cabeza con lo que tengo xDDD gracias por los consejos igualmente, me han dado que pensar
lo bueno es que quitar o poner paquetes con yay es un peo
 
@FranciscoNúñez Hola. Como te comenté ayer con bitnami WampStack puedes lograrlo instalando versiones distintas porque cada instancia se ejecuta como un servicio que escucha a puertos diferentes y cada una puede ejecutar su propio php por separado
@todos buenos días
 
@JuanPerez mira yo he jugado bastante con datatables y no sirben cuando tu tabla no tiene una estructura homogenea (sin colspan y rowspan); pesonalmente te recomiendo que desarrolles o investigues alguna libreria en javascript que pueda tomar el DOM de una tabla y convertirlo a openXML y lo descargues en formato excel.
@quevedo gracias pero no es lo que busco
 
@CandidMoe El OP de la pregunta sobre los bucles anidados, las listas y el valor de t la ha editado para aclarar. Creo que lo que pretendía no se parece en nada a lo que había implementado. He editado mi respuesta para dar una solución con álgebra de conjuntos.
De hecho, si entendí correctamente lo que quería, usar bucles anidados estaba mal
 
@quevedo esto es lo que vengo intentando implementar: stackoverflow.com/a/49586592/4717133
 
@FranciscoNúñez El problema que te estás planteando parece como si el servidor, dependiendo del host virtual use versiones diferentes de php. En httpd.conf (servidor apache) hay una línea:
LoadModule php7_module        modules/libphp7.so
 
3:45 PM
eso no esta en mi http.conf
 
Esa línea podría tratar de moverse abajo de modo que según sea el host virtual se cargue una biblioteca diferente pero podría destrozar el proceso de carga
está en el bloque Dynamic Shared Object (DSO) Support, al final
en el archivo apache2/conf/httpd.conf
aunque es posible que en el tuyo no esté porque usa el php del sistema. En mis servidores apache aparece indicando la versión de php que usan porque los tengo configurados independientes del php del sistema y c/u carga una versión diferente
 
@MANZARBEITIA debo analizar bien tu código. Seguro consigo el problema y una solución. Saludos
 
@abulafia Maestro!
 
primer error detectado no eran las versiones non treath safe
XD
 
Hola Mauricio. Te pillo bien?
 
3:53 PM
@AntonioU. nop. Dame 30 minutos mas o menos
 
Ok. Gracias :)
 
@CandidMoe Viniendo de otro maestro el cumplido es de agradecer :-)
 
Hola
Una pregunta
Si yo cambio la vista de carpetas en Windows o en otro sistema operativo, los archivos de la carpeta se modifican?
 
@NicolásCastellanos Si cambias la vista ??
 
4:04 PM
a que te refieres
 
ejemplo, si esta en lista y lo pongo en detalles
Click derecho -> Ver -> **
 
si haces eso, te da el detalle
 
ok entonces ?? no entiendo tu duda
 
y estaba dando en "reestablecer opciones de carpeta y busqueda -> Vista -> Restablecer vista y apicar a las carpetas"
y seguia igual
por lo que no se reestablecieron las carpetas a la vista predeterminada
 
4:06 PM
esto ???
 
Si
di en los dos botones de el LabelFrame con el titulo de vistas de carpeta
y las vistas de caarpeta siguieron igual
 
@MauricioContreras mil gracias como siempre, cuando puedas echarle un vistazo perfecto
 
4:22 PM
@NicolásCastellanos Y como se ven ?
 
4:35 PM
Buenas
 
@AntonioU. aquí estoy
 
Genial. Muchas gracias, por cierto.
Estoy un poco atascado
 
@AntonioU. ¿cómo puedo ayudarte?
 
Verás, el problema es de diseño. Tengo una colección usuarios que tiene los datos del usuario (nombre, apellido, email, contraseña y rol), y luego otras colecciones que son subtipos concretos de Usuario.
Así separo para Angular lo que tiene que acceder el guard que permite o no el acceso a las páginas privadas de las otras, además de poner "pegar" los campos relacionados con un tipo de perfil con ese perfil.
 
@AntonioU. ok
 
4:45 PM
Tal y como lo tenía, cada vez que doy de alta un usuario, doy automáticamente de alta su subtipo (utilizo transacciones mongo) con el mismo id en el subtipo que el que tiene en usuario. Además, pongo que ese _id además de ser una clave, referencie al objeto usuario (para poder hacer más adelante un populate).
Esto no sé si sería lo mejor. En un modelo relacional no hay ningún problema, cuando se crea una tabla por una relación n a n los campos que viajan son claves y claves ajenas (aquí supongo que tampoco habría problema).
 
¿Es decir, la colección de subtipo tiene una referencia a la colección de usuario? Porque me parece que eso no es lo más adecuado.
 
Eso me temo. Me chirría bastante. Voy a abrir el vscode y copio un fragmento del modelo
 
@AntonioU. vale
 
/* Esquema y modelo de Mongoose */
const { Schema, model } = require('mongoose');

/* Esquema de Usuario (campos comunes a todos los roles) */
const UsuarioSchema = Schema({

email: {
type: String,
required: true,
unique: true,
index: true
},
contrasena: {
type: String,
required: true
},
imagen: {
type: String,
default: 'sin-imagen.png'
},
rol: {
type: String,
required: true,
enum: ['estudiante', 'profesor', 'admin'],
index: true
},
nombre: {
type: String,
required: true
},
apellidos: {
type: String,
Estudiante:
/* Esquema y modelo de Mongoose */
const { Schema, model } = require('mongoose');

/* Subesquema _Tutor */
const _TutorSchema = Schema({

tutor_id: {
type: Schema.Types.ObjectId,
ref: 'Profesor',
required: true
},
nombre: {
type: String,
required: true
},
apellidos: {
type: String,
required: true
},
email: {
type: String,
required: true
},
imagen: {
type: String
},
estado_sol: {
type: Number,
enum: [1, 2, 3], /* 1- Solicitado 2-Rechazado 3-Confirmado */
default: 1
},
mot_rechazo: {
type: String,
No me deja editarlo. Ha quedado un poco raro pegado
Los problemas que encuentro son los siguientes:
* ¿Es aceptable tener el _id en el subtipo como clave y clave ajena? En sql se puede, de hecho en las relaciones
n a n que se transforman en tablas pasa, pero aquí no sé si sería posible y/o adecuado.
* Si queremos restringir el acceso al documento en un servicio REST, tendríamos que tener en cuenta si el id
es de Usuario, Subtipo u otra entidad que se relacione con el subtipo.
* Se hace extraño si hacemos el populate de los datos del usuario a través del campo id del subtipo (nos aparecería
como id en lugar de por ejemplo datos_usuario y no es aparentemente configurable).
 
Lo estoy leyendo
 
4:56 PM
sí, tranquilo
 
2
Q: Es posible lograr la configuración de Laragon implementando Virtual Host y la ejecución de múltiples versiones de php al mismo tiempo?

Francisco NúñezEstoy usando la herramienta de desarrollo Laragon corre en Windows 10. después de configurar los diferentes Virtual host para el desarrollo, he intentado configurar la version que cada uno requiere, el cual me funciona correctamente siempre y cuando NO se ejecuten simultáneamente, ya que el cambi...

 
@AntonioU. Vale, la cosa es que tienes una mezcla de relaciones en una base de datos no relacional. Debes cambiar el chip y pensar en documentos y no en registros. Actualmente estoy en el desarrollo de una aplicación educativa, con MongoDB y la parte que más costó fue la decisión del diseño de datos, porque, en esencia, es la base de la aplicación. Una vez resuelto ese problema, lo demás es armar todo el conjunto de la aplicación (llámese microservicio o capas) sobre la estructura de datos.
 
alguien sabe a partir de que version de php el canal seguro (safe threat) incluye php-cgi.exe, entiendo que en 5.6 no estaba?
 
@FranciscoNúñez existe algo seguro en PHP? XD
 
Sí, hice un curso en Mongo university, y seguí sus indicaciones. Decía que todo lo que se consulte junto, debe ir junto, e indicaba que no utilizaramos subdocumentos en aquellos casos donde se prevea que haya muchos registros (por el límite de 16Mb del documento y demás).
 
5:02 PM
@MauricioContreras es publicidad engañosa para vender php pero asi esta en la documentacion...
 
El diseño lo tengo hecho. Lo dibujé y muchas de las colecciones están desarrolladas, pero luego me chirría
Una de las cosas que más problemas me da es el tema del acceso a quién puede acceder a un documento, por el tema de las claves. En usuarios y subtipo, es el id del usuario conectado, y en las otras colecciones ya tendría que comparar con otro campo.
 
@AntonioU. para la parte de autorización debes escribir funciones middleware que se encarguen de filtrar las peticiones según el tipo de acceso o usuario que las realiza.
 
Eu gente, como puedo descargar una tabla html a excel de manera rapida ?? si o si necesito una libreria ??
 
Es allí donde debes tomar la siguiente decisión: escribir una colección que me indique el tipo de acceso y nivel del mismo de cada usuario del sistema o guardar el tipo y nivel de acceso en el mismo documento de usuario para realizar las operaciones
 
Sí. Lo que hago es que le llega un token, que tiene el id de usuario. Con ese token, tengo una serie de middlewares que valida si ese usuario que viene en el token existe y, de existir, lo pongo en la petición junto con su rol.
 
5:08 PM
@Excorpion Ya no importa, ya eliminé mi dualboot, ahora sólo tengo Debian KDE jaja.
 
En mi caso me interesa tenerlo en el mismo documento de usuario el usuario y nivel de acceso, puesto que eso me facilita mucho las cosas en la parte de Angular a la hora de utilizar el guard. Además, digamos que el resto de servicios no interfieren con los asuntos del guard.
 
@NicolásCastellanos ah ?
 
Mi principal problema es el que te comentaba, que tengo una clave que a la vez referencia a otro documento, y también cuando hago un populate del campo id, que queda bastante raro (porque no me deja renombrarlo como por ejemplo usuario y me sale como id y el formato de salida no lo popula bien)
Esta parte no queda muy bien luego en los servicios:
// Registros a saltar = (pag-1)*5
const desde = (pag-1)*5;

// Recuperamos registros de la página y número de registros totales
const [ estudiantes, total_reg ] = await Promise.all([
Estudiante
.find({$and:[{"tutor.tutor_id": id}, {"tutor.estado_sol": 1}]}, "_id")
.populate("_id", "imagen email nombre apellidos")
.skip(desde)
.limit(cantidad),
Estudiante.countDocuments({$and:[{"tutor.tutor_id": id}, {"tutor.estado_sol": 1}]})
]);

// Número total de páginas
const total_pag = Math.ceil(total_reg/cantidad);
Mira, me saldría así esa consulta:
{
"ok": true,
"estudiantes": [
{
"id": {
"imagen": "sin-imagen.png",
"_id": "6027bd2c8608e73250fac6eb",
"email": "estudiante03@gmail.com",
"nombre": "Estudiante",
"apellidos": "Número 03"
}
}
],
"pag": 1,
"total_pag": 1,
"total_reg": 1
}
quiero que me salga un array con los datos del estudiante
 
@AntonioU. Supongo que deseas impedir que el actor llamado Estudiante pueda obtener información que no sea la propia. Es decir, sólo puede tener acceso a su propia información. Y que el actor llamado Profesor pueda tener acceso a la información de un grupo de estudiantes. Me equivoco?
 
correcto
Este es un fragmento de las notas que tomé del curso de modelado mongo avanzado, de la mongo university. Por eso decidí referenciar algunas colecciones
• 1-n:
- Si se embebe se suele poner en la entidad que más se consulta.
- Si se referencia, usualmente se hace en el lado del many.
- Es mejor elegir embeber sobre referenciar por simplicidad, o cuando hay un
pequeño número de documentos referenciados de modo que toda la
información relacionada se mantenga junta.
- Es mejor referenciar cuando los documentos asociados no siempre se necesitan
con los documentos consultados con más frecuencia o si hay muchísimos
elementos en el lado n (serían muy pesados y hay que traerlos a la RAM).
 
5:24 PM
Vale, eso está bastante bien, es el ABC de MongoDB
 
A mí ese curso me encantó. Lo vi super claro cuando hice el modelo de datos, y luego voy a Express y plaf, la mancha XD
yo es que vengo del mundo Cobol, y todavía estas cosas me cuestan.
 
No sé exactamente como has planteado tu desarrollo. Pero existen muchas cosas que supongo tengas o debas cambiar. Por ejemplo, la forma en que estás creando el tipo de usuario. Funciona para cierto tipo de aplicaciones, pero en este caso, no veo adecuado que lo hagas así, es decir, veo repetición de datos de forma innecesaria y al tratar de evitarlo te has metido en un pastel de los lindos con ese enum en ROL
 
Ah, no, pero eso no es problema. Lo soluciono todo con transacciones, replico algunos datos porque se suelen consultar juntos con ese subtipo y así se evita un acceso a usuario (era una de las cosas que decían en el curso de modelado).
 
Un tip: Todos los usuarios, independientemente del rol, usarán los mismos 3 valores: email, password y rol. El resto de campos no es necesario meterlos allí.
Entonces tendrás una colección de usuarios que indica el rol de cada uno.
 
si en usuario casi no tengo nada. Sólo su id, email (username), imagen, contraseña, nombre, apelllidos, activo y rol
 
5:33 PM
Luego puedes tener la colección de Estudiante, Profesor, Admin, que contendrá la información individual de cada actor, y puedes allí poner una referencia a la colección de usuarios,
 
En los subtipo (estudiantes, profesores o admin) es donde tengo sus campos específicos.
Poner dos claves distintas para usuarios y su subtipo?
Así dejo el id que me lo asigne mongo en estudiante, por ejemplo, y otro campo distinto que referencie a ese usuario (por ejemplo usuario)?
 
@AntonioU. exacto
 
Si pudiera mandarte el modelo de datos sería más sencillo, pero no me deja anexar fotos
 
A ver un estudiante tiene: Nombre, Apellido, DNI, Matricula, Fecha Nacimiento, etc y allí metes un campo llamado usuario que apunta (es una referencia) al documento de usuario donde aparece su email, password y rol.
Cada vez que un estudiante intenta acceder al sistema, debe autentificarse (ese es el primer paso)
 
¿Me guardaría en el token el id del campo usuario o el del subtipo?
 
5:38 PM
Una vez autentificado puede solicitar información de su pertenencia, para ello usarás su campo _id (de la colección de estudiante) y su rol (que lo sacas de la colección de usuario o que ya es parte del Token de autorización).
 
Buenas mañanas
Desde la filipinas
 
Es decir, un token te puede almacenar el _id de estudiante y su rol. Cuando un usuario se autentifica, se hace una consulta a la colección de usuarios, si todo va bien, se hace una llamada a la colección de estudiante sobre el campo usuario, y si existe un estudiante asociado a ese usuario se devuelve la info en un JWT con el _id de estudiante y el rol. Con eso ya tienes una forma de autorizar rutas,
@AntonioU. Al final no hace falta una colección de subtipo, a menos que tengas demasiados subtipos, lo cual es un síntoma de que necesitas otro sistema de autorización, tal vez algo más basado en niveles o cosas por el estilo.
 
No, realmente sólo tengo tres, pero estos tienen campos que varían entre un rol y otro.
Si pongo todo en una misma colección, quedaría muy sobrecargada.
 
@AntonioU. por eso hablo de que crees una sóla colección de usuario, y desde cada actor apuntes a la misma. Eso te quita el dilema de los campos diferentes en usuario.
Todos son usuarios, todos tiene correo, password y rol.
Ahora cada estudiante apuntará a un único usuario, lo mismo para profesor y para admin
 
Cuando hago el login, de esta forma por correo/contraseña sacaría el id de Usuario y su rol. Pero tendría que hacer una segunda consulta sobre estudiante para ver el id que tiene en ese subtipo.
 
5:48 PM
@AntonioU. la consulta la harás basada en el rol del usuario, y sí, es una segunda consulta, que harás únicamente si correo y password son válidos y si está activo (un campo adicional).
Eso ya de antemano te permite manejar incluso más fácilmente llevar un log de acceso, basado únicamente en la colección de usuarios. Sin comprometer para nada el _id del actor, ya que la referencia es inversa.
 
puedo preguntar, a modo de curioso, que sentido tiene usar una base de datos no relacional, con datos totalmente relacionales?
 
No todos los datos están relacionados, hay muchos subdocumentos. Pero los que tienen muchos registros utilizo relaciones.
 
que seria un subdocumento?
 
pues por ejemplo los datos de una dirección. direccion: { calle: "Pez", numero: 10, ciudad: "Madrid"}
 
@gbianchi sucede que la parte de login y actores es bastante relacional, no te lo niego, pero sería la única cosa relacional en principio, luego la estructura de los documentos generados ya no sería tan relacional, porque dependiendo del modelo de datos que implementes puedes tener un anidamiento muy particular que no tiene una estructura definida.
 
5:54 PM
eso son datos relacionales...
@MauricioContreras no conozco el modelo completo.. solo veo de lo que hablan y me da curiosidad porque usar algo asi para una estructura relacional.. yo no termino de encontrarle sentido a las bases de datos no relacionales...
 
A mi tampoco me gustan mucho las BBDD no relacionales, pero es el mercado. Si quiero entregar un proyecto para encontrar curro no me queda otra
 
@AntonioU. ok.. no voy a entrar a una discusion que no conozco a fondo.. yo lo dudo realmente.. pero esta ok...
 
Yo soy más de SQL
 
Por ejemplo, una actividad evaluativa puede tener diferentes documentos de tipo evaluación con diferentes preguntas o respuestas con anexos, y adjuntos de diferentes tipos, eso cabe muy bien en un sólo documento. Pero claro, también se puede hacer en una BD relacional, pero la estructura tal vez requiere otras tablas, y tablas pivote y cosas que en Mongo no hacen falta al tener la posibilidad de embeber (anidar) documentos.
 
Otra cosa que me hace diferenciar, por lo que decidí poner el id como clave y referenciado (con el mismo id que la tabla de usuarios) es facilitar el acceso a las distintas colecciones.
 
5:58 PM
@AntonioU. facilitar a quién?
 
A mí, a la hora de validar si un usuario puede acceder a un registro. Por ejemplo, usuarios tendría un id, el subtipo otro id e incidencias (por ejemplo) otro id distinto.
 
@AntonioU. joer, que eso es muy relacional. XD no hace falta hacerlo así.
 
Es el sistema que seguía Fernando Herrera en el curso de MEAN
¿Cómo se haría? Me fío más de ti
que de Fernando
Otra cosa, el populate este por qué queda tan horrible:
{
"ok": true,
"estudiantes": [
{
"id": {
"imagen": "sin-imagen.png",
"_id": "6027bd2c8608e73250fac6eb",
"email": "estudiante03@gmail.com",
"nombre": "Estudiante",
"apellidos": "Número 03"
}
}
],
"pag": 1,
"total_pag": 1,
"total_reg": 1
}
¿No sabréis de alguna aplicación que esté publicada y pueda estudiarse, de mongo?
 
6:22 PM
0
Q: Exportar tabla HTML a XLSX con javascript

ExcorpionEstoy buscando como exportar una tabla HTML a Excel XLSX. Pero no logro, solo logro exportarla a XLS, el otro falla. Encontré esta respuesta que contiene los tipos, pero no he logrado aplicarlos de modo que el archivo descargado, no este roto. https://stackoverflow.com/questions/4212861/what-is-a...

 
no puedes simplemente cambiarle la extencion, openXML es un formato que tambien emplea la extinción xslx???
10
A: Create simple xlsx (excel file ) from javascript or Jquery

tripathyCheck out this fiddle to solve your problem . it will create file for both Google chrome and IE https://jsfiddle.net/shaswatatripathy/fo4ugmLp/1/ HTML <input type="button" id="test" onClick="fnExcelReport();" value="download" /> <div id='MessageHolder'></div> <a href="#" id="testAnchor"></a>...

incorpora: data:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
 
@FranciscoNúñez Pero este ejemplo lanza el mismo error que ya tengo
 
cual error?
 
eso pasa por que no es un archivo binario de excel...
 
6:27 PM
el problema es que lo necesito sin errores
llegaran a usuarios y si ven errores no entenderan que pasa
Por eso lo queria en xlsx e intente ese data que pasaste
pero no logre sacarlo en xlsx
 
y me imagino que es lo mismo con datatables...
 
tendre que usar php mejor en este caso
 
espera
 
es el mismo problema que tienes con datatable??
 
6:29 PM
no datatables deberia tener su propio export ???
 
como se agrega el boton de export al datatable entonces XD
me ahorraria mas
 
ellos tiene su export en excel csv y pdf
que BS usas??
3 o 4
 
boostrap
que version usas
 
6:31 PM
ah, 4
 
bueno
esta es la documentación
la misma que encontraste
 
segun entiendo
solo debo agregarle la config
 
si pero si realizaste la descarga personalizada debes incluir los pluggins
 
como eso ?
no he descargado nada, solo uso los links
 
6:33 PM
no he descargado nada
 
usas el CDN
 
sep
 
bueno igual el CDN se genera dependiendo de lo que hayas colocado que quieres incluir
 
no tiene todo ?
 
6:35 PM
me pasas el link donde los genero pls
 
si estas usando el CDN que ellos ofrecen (que no lo recomiendo, yo prefiero descargar todos los javascript y ofrecerlos localmente para evitar problemas de firewall etc) ...
hay en donwload ellos te dan una lista de que cosas quieres incorporar y bajo que Frontend de diseño quieres tu libreria de tablas
material BS3 o BS$
BS5 esta en beta
 
bs4 entonces marcaria
 
depende
hay si tienes que leer
soy malo con el ingles XD
y yo uso BS5
me estoy alejando de todo lo que necesita jquery para funcionar XD
 
a ver
probemos a ver que pasa
funciono de inmediato XD
ahora tengo una duda...
como hacer que descargue toda la info de una
 
a que te refieres con toda la informacion???
 
6:39 PM
a no espera
creo que me confundi
hay 25 entradas
mostradas en tandas de 10
pero se exportan todas
 
claro
por eso me que quede con ??? WTH
 
se se, mala mia
 
tambien debes tener activo la paginacion
 
ya lo tengo
$(document).ready(function() {
            $('#table_content').DataTable({
                dom: 'Bfrtip',
                buttons: ['csv', 'excel', 'pdf', 'print'],
                scrollY: 300,
                "ordering": true,
                "order": [
                    [0, "asc"],
                    [1, "asc"],
                    [2, "asc"]
                ],
                "info": true,
                "language": {
                    "decimal": ",",
                    "thousands": ".",
Tengo todo eso
 
al final puedes tener algo asi:
 
6:42 PM
no me gusta donde estan los botones si
 
tienes que jugar con esto: dom: 'Bfrtip',
te paso el mio
tengo este:
"dom": '<"html5buttons"B>rt<"bottom"><"clear">',
y tengo este otro:
 
primero, donde aprendo que es ese dom:
que rayos es bfrtip ? XD
 
<"html5buttons"B>lT<"tf-hidde"f>gitp
ok ese es el layout de los elementos de la tabla en datatble.net
y practicamente es un compendio de inventos para simplificar el despliegue de los elementos
aqui esta la documentacion:
todo esta en la documentacion bastante extenza...
pero no creo que ellos hayan resuelto el problema de si el archivo XLSX es seguro o no
ya que eso sale en office por que el archivo no fue generado con excel binariamente...
 
Ok, entiendo que con eso hago que aparescan las opciones
B botones, S search, etc
entonces como les digo que se manden a la izquierda en donde estan ?XD
 
7:00 PM
la documentacion lo dice..
creas un elemento y el lemento lo mueves
claro que si tienes algun css propio que tenga un cruse vas a joder el layout de los botones
eso ya es tema de diseño ...
2
Q: Es posible lograr la configuración de Laragon implementando Virtual Host y la ejecución de múltiples versiones de php al mismo tiempo?

Francisco NúñezEstoy usando la herramienta de desarrollo Laragon corre en Windows 10. después de configurar los diferentes Virtual host para el desarrollo, he intentado configurar la version que cada uno requiere, el cual me funciona correctamente siempre y cuando NO se ejecuten simultáneamente, ya que el cambi...

 
@FranciscoNúñez si pero no entiendo aun XD
no logro moverla, no puedo cambiar lo que dice
XD+
 
7:25 PM
@Excorpion no entiendes que???
@Excorpion y que has intentado hacer para moverla, o que has intentado para cambiar lo que dice???
sin codigo no podemos ayudarte
 
ya mira
tengo un boton
el de excel
como le digo tamaño, posicion y color con eso ?
 
necesitamos un ejemplo de tu codigo minimamente funcional y reproducible para saber de que me hablas....
@Excorpion con CSS
 
7:40 PM
y como le agrego la clase css ???
si es generado, no se como darle mi clase
 
@CandidMoe Buena respuesta la del espacio ocupado por cadenas y listas. Pero en cierto modo no responde a lo que el OP planteaba, pues no has comparado el espacio ocupado por la lista dias_de_semana de solo 7 días, a esa misma lista pero con días repetidos. Entiendo que la segunda ha de ocupar más porque contiene más referencias (por más que las referencias apunten a los mismos sitios)
Sí, acabo de comprobarlo. La que tiene solo 7 días ocupa 128 bytes. La que tiene 14 días (repetidos 2 a 2) ocupa 184 bytes
 
@abulafia No me queda tan claro: parece ser que Python pide espacio en bloques, de modo que dos listas de tamaño distinto pero parecido consumen el mismo espacio. La idea es que si la lista crece, no sea necesario pedir nuevo espacio cada vez.
 
@CandidMoe Sí, también yo tenía entendido eso, pero ya ves...
 
El espacio que pide parece ser función del tamaño actual de la lista. O sea, mientras más grande es la lista, más espacio pedirá la próxima vez que tenga que ampliarla. No estando seguro, preferi dejarlo hasta ahi.
 
lista = []
for i in range(20):
  print(i, getsizeof(lista))
  lista.append("otro")
0 72
1 104
2 104
3 104
4 104
5 136
6 136
7 136
8 136
9 200
10 200
11 200
12 200
13 200
14 200
15 200
16 200
17 272
18 272
19 272
Aún así, yo añadiría algo de info a la respuesta, pues tal como está parece dar a entender que no importa el tamaño de la lista, ocuparán lo mismo porque apuntan a las mismas cadenas
 
7:54 PM
Sería bueno que también dieras una respuesta. No quiero alargar la mía.
 
En realidad da igual se apuntan a las mismas cadenas o a cadenas diferentes. La lista ocupa lo que ocupen las referencias, no los datos
@CandidMoe Ok, puedo escribir una
 
Además que puedes darle un ángulo distinto.
 
perdon.. pero si es una lista, no importa a donde apunte, necesita un nodo por miembro de la lista...
no?
 
Correcto. La lista sólo guarda punteros
@abulafia Es mejor, así resuelves las dudas que le pueden haber quedado.
 
Como le doy a entender a mi jefa que mysql no tiene que comprar fechas como si fueses varchar ??
 
7:58 PM
@gbianchi No es una lista enlazada. Es un array de referencias. Ya que cada referencia es en el fondo un puntero el tamaño de cada referencia es fijo. Python implementa la lista como un array de tamaño prefijado en el que caben N referencias
cuando añades elementos a la lista y se excede el valor N, hace un "realloc" por así decir, para que quepan otros M más
esta forma de almacenarlo hace eficiente el acceso aleatorio lista[i] pues así no tienes que recorrer todos los elementos previos como ocurriría en una lista enlazada
 

« first day (1952 days earlier)      last day (1142 days later) »