¡Hola! Soy Julian
Web Developer, contador de historias y entusiasta de la fotografía. Bienvenido/as a mi blog. Siga sumercé
sábado, 4 de mayo de 2024
miércoles, 8 de noviembre de 2023
Amplitude: Entendiendo los tipos de medición en User Composition
El gráfico Composición de usuarios (User Composition) en Amplitude muestra el desglose de usuarios activos en función de una única propiedad de usuario. Este tipo de graficos en Amplitude proporciona información sobre quiénes son sus usuarios y qué propiedades comparten.
En la secciòn "Measured as" disponemos de 3 opciones para efectuar la medicion de la composicion "Most Recent Value", "All Values" y "Cross Property Values":- Most Recent Value (Valor más reciente):
Este enfoque considera únicamente el valor más reciente de una propiedad para cada usuario.
- El valor se extrae del evento más reciente en el que el usuario participó.
- Cada usuario aparecerá en solo un grupo en función de su valor más reciente.
- Por ejemplo, si estás analizando la propiedad "País" y un usuario cambió su país de residencia, solo se considerará el país más reciente en el gráfico.
- Otro ejemplo, si tienes una propiedad de usuario llamada “Plan de Suscripción” y un usuario cambia de un plan gratuito a uno de pago, el valor más reciente de esa propiedad reflejará el plan de pago. - All Values (Todos los valores):
Aquí se incluyen todos los valores que tus usuarios activos han tenido para la propiedad en cuestión durante el período de análisis.
- Ten en cuenta que el gráfico de User Composition solo incluye usuarios activos, por lo que los valores de propiedades relacionados con eventos inactivos no se tendrán en cuenta.
- Si un usuario ha tenido varios valores para una propiedad a lo largo del tiempo, todos esos valores se considerarán en este enfoque. - Cross Property Values (Valores cruzados de propiedades):
Este enfoque muestra conjuntos de propiedades que los usuarios activos han tenido dentro del rango de tiempo seleccionado.
- Los grupos son mutuamente excluyentes, lo que significa que un usuario solo puede caer en un grupo.
- Por ejemplo, si estás analizando las propiedades "Género" y "Edad", los usuarios se agruparán según combinaciones específicas de género y edad.
viernes, 13 de octubre de 2023
Enmascarar email con Javascript
import { useState } from "react";const email = "my.custom.email@domain.com";const regex = /(\w{3}).*/g;export function App() {const [hide, setHide] = useState(false);const renderEmail = hide? email.replace(regex, "$1********@********"): email;return (<div>{renderEmail}<br /><buttontype="button"onClick={() => {setHide((prev) => !prev);}}>{hide ? "Show email" : "Hide email"}</button></div>);}
Desglose del Regex:
En este código, se utiliza la expresión regular /(\w{3}).*/g para ocultar parte de la dirección de correo electrónico. Desglosemos cada parte:- /: Delimita el inicio y el final de la expresión regular.
- (\w{3}): Captura los primeros tres caracteres de la dirección de correo electrónico y los almacena en el grupo de captura $1.
- .*: Coincide con el resto de la dirección de correo electrónico.
Desventajas y solución:
Aunque esta técnica puede ser efectiva, presenta algunas desventajas:- Dependencia del lado del cliente: Este enfoque depende del código ejecutándose en el lado del cliente, lo que significa que no proporciona una solución integral de seguridad. Recuerda que la seguridad es un tema complejo, y estas soluciones deben usarse con precaución y en combinación con otras medidas de seguridad.
- Limitado a direcciones específicas: Este regex asume que las direcciones de correo electrónico siempre tendrán al menos tres caracteres antes del símbolo '@', lo cual puede no ser cierto en todos los casos. Aquí propongo dinamizar la captura de los elementos con regex de la siguiente manera:
const regex = /(.*)@.*/g;
const renderEmail = hide
? email.replace(regex, (match, group1) => {
const usernameLength = group1.length;
return `${group1.substring(0, usernameLength / 2)}${'*'.repeat(usernameLength / 2)}@${'*'.repeat(6)}`
})
: email;
- Se define una expresión regular (/(.*)@.*/g) que busca una cadena que tenga algún texto antes y después del símbolo '@' en una dirección de correo electrónico.
- Luego, el reemplazo se realiza tomando el texto antes del símbolo '@' y reemplazando la segunda mitad de ese texto con asteriscos. También se reemplaza la parte después del '@' con asteriscos.
Configurar correo Gmail corporativo con Thunderbird
Thunderbird |
Cómo agregar una cuenta de Gmail corporativo a Thunderbird
Activar IMAP en Gmail |
2. Seleccionar Seguridad (o "Security").
3. Debajo de la sección "Signing in to Google," selecciona "2-Step Verification" (y proceder con la autenticación que Google solicite)
Verificación de dos pasos
4. Al final de la pagina, seleccionar "App passwords" o "Contraseñas de aplicaciones".
Botón final de contraseñas de aplicaciones |
5. Ingrese un nombre que te ayude a recordar la contrasña de la aplicacion.
6. Seleccionar Generar.
7. Copia la contraseña que aparece en tu pantalla. La contraseña tendrá 16 caracteres y no debe ser compartida jamás.
Contraseña de aplicación generada (demo) |
Incoming Mail (POP) Server | pop.gmail.com Requires SSL: Yes Port: 995 |
Outgoing Mail (SMTP) Server | smtp.gmail.com Requires SSL: Yes Requires TLS: Yes (if available) Requires Authentication: Yes Port for TLS/STARTTLS: 587 If you use Gmail with your work or school account, check with your administrator for the correct SMTP configuration. |
|
viernes, 15 de septiembre de 2023
No pude hacer pan de trigo pero si pan de yuca
Baking3D
https://baking3d.mercadoshops.com.co/
-
El gráfico Composición de usuarios ( User Composition ) en Amplitude muestra el desglose de usuarios activos en función de una única propi...
-
In this post, you'll learn: Use amplitude experiments with React. Create AB tests on any react component. ...
-
¡He conseguido hacer exitosamente pan de yuca, este es mi pan favorito! Me encanta demasiado este pan y tenía que aprender a prepararlo, per...