Vocero | Transcripción |
| Wayne Levin | Bienvenido a nuestra sesión aquí sobre la ampliación de las pruebas automatizadas de Hamcrest de aplicaciones JSL para una mejora continua. |
| Lo que le mostraremos aquí, nuestra promesa para usted, es que le mostraremos cómo usted también puede construir una empresa productiva y rentable. |
| Sistemas analíticos integrados de misión crítica basados en JMP, altamente confiables y compatibles con alta garantía de calidad. Sí, hay mucho que decir, pero eso es |
| eso es lo que estamos haciendo en este entorno. Estamos bastante satisfechos con ello. Nos sentimos realmente honrados de poder compartirlo con usted. |
| Así que aquí está la agenda que seguiremos aquí. Una pequeña introducción, la haré en un momento, y solo un poco sobre Predictum, porque es posible que no sepas mucho sobre nosotros. |
| nuestros antecedentes, antecedentes de nuestro desarrollo JSL, infraestructura, un poco de historia involucrada con eso. |
| Y luego los resultados de los cambios que hemos estado implementando y que estamos aquí para compartir con ustedes. Luego haremos una demostración y hablaremos sobre lo que sigue, lo que hemos planeado para el futuro, y finalmente lo abriremos para cualquier pregunta que puedan tener. |
| Entonces soy Wayne Levin, así que ese soy yo aquí a la derecha. Soy el presidente de Predictum y estoy unido |
| con Vince Faller. Vince es nuestro ingeniero jefe de software y ha estado liderando esta importante iniciativa. Entonces, un poco sobre nosotros, ahí mismo. Somos socios de JMP. |
| Lanzamos en 1992, es decir, 29 años. |
| Realizamos capacitación en métodos estadísticos, etc., utilizamos JMP, realizamos consultoría en esas áreas y dedicamos muchísimo tiempo a construir y |
| implementar aplicaciones y sistemas analíticos integrados, de ahí que este esfuerzo fuera muy importante para nosotros. Primero entregamos la aplicación JMP con |
| JMP 4.0 en el año 2000, sí, de hecho hace más de 20 años, y hemos estado construyendo sistemas más grandes. Por supuesto, desde entonces, eran herramientas demasiado pequeñas, pero creo que comenzamos alrededor de JMP 8 o 9 a construir sistemas más grandes. |
| Así que tenemos bastante historia sobre esto, más de 10 años fácilmente. Entonces, solo un poco de historia... hasta aproximadamente la segunda mitad de 2019, nuestro entorno de desarrollo era realmente dispar, fragmentado. |
| Gestión de proyectos |
| Estaba allí, pero nuevamente, todo estaba como roto. Teníamos diferentes aplicaciones para el control de versiones y para administrar el tiempo, ya sabes, nuestro tiempo de desarrollador, etc., y solo la gestión de proyectos en general. |
| Los desarrolladores gastaban fácilmente y hablaremos de esto. |
| aproximadamente la mitad de su tiempo se dedica a tareas mecánicas rutinarias, como cifrar y empaquetar complementos JMP. Ya sabes, mantener paquetes de configuración y, |
| ya sabes, y separar los repositorios o lo que generalmente llamamos repositorios, ya sabes, para scripts cifrados y no cifrados. Fue... había muchas cosas en las que teníamos que pensar que no eran realmente trabajo de desarrollo. Fue realmente un trabajo que |
| El talento de los desarrolladores... se desperdició. También tuvimos, como dije, lo hemos estado haciendo durante mucho tiempo, incluso en 2019, tuvimos fácilmente 10 años, por lo que más de 10 años de marco heredado se remontan incluso a JMP 5, ya sabes, con, ya sabes, se estaba volviendo hinchado y lento. |
| Y sabemos que JMP ha recorrido un largo camino a lo largo de los años. Quiero decir, en JMP 9, obtuvimos espacios de nombres y JMP 14 introdujo clases y fue entonces cuando Hamcrest |
| comenzó. Y fue Hamcrest quien realmente nos permitió llegar hasta aquí... con esta importante iniciativa. Entonces comenzamos esta importante iniciativa en agosto de 2019. |
| Y fue entonces cuando adquirimos nuestras primeras licencias de Gitlab y ese fue el desarrollo de nuestra nueva... el desarrollo de nuestra nueva arquitectura de desarrollo, ahí lo tienes, comenzó a tomar forma y ha ido mejorando desde entonces. |
| Cada mes, básicamente, hemos estado agregando y desarrollando nuestras capacidades para ser cada vez más productivos a medida que avanzamos. |
| Y esto continúa, por lo que consideramos esto, por así decirlo, un tipo de esfuerzo Lean. Realmente sigue los principios Lean y ha acelerado nuestro desarrollo. |
| Tenemos pruebas automatizadas gracias a este sistema, y Vince nos lo mostrará. Y tenemos este pequeño modelo aquí, pruébelo temprano y pruébelo con frecuencia. |
| Y eso es lo que hacemos. Admite la reutilización de código y hemos vuelto a desarrollar nuestro marco de sistema Predictum. Ahora es 2.0. Hemos aprendido mucho de nuestro esfuerzo anterior. Todo eso desapareció, prácticamente todo desapareció, y ha sido reemplazado y ampliado. |
| Y Vince nos contará más sobre eso. Fácilmente, tenemos un aumento de más del 50% en la productividad, y solo voy a decir que los desarrolladores están mucho más contentos. Están menos frustrados. |
| Están más centrados en su trabajo, me refiero al trabajo real que los desarrolladores deberían hacer, no al tipo de cosas tediosas. |
| Todavía hay margen de mejora, voy a decir, así que aún no hemos terminado y Vince nos contará más sobre eso. |
| Ahora tenemos estándares de desarrollo, por lo que tenemos guías de estilo para funciones y todo nuestro desarrollo se basa en funciones, se podría decir. |
| Cada función requiere al menos una prueba de Hamcrest y hay revisiones de código que los desarrolladores comparten entre sí. |
| para garantizar que seguimos nuestros estándares. Y plantea interrogantes sobre cómo mejorar esos estándares y mejorarlos. |
| También tenemos estas sesiones divertidas, donde se anima a los desarrolladores a descifrar el código, |
| Bien, entonces se llaman estos desafíos de descifrar códigos, o lo que sea. Así que se ha convertido en parte de nuestro modus operandi y todo encaja perfectamente en este entorno de desarrollo. Esto lleva, por ejemplo, a realizar más pruebas y a añadir más pruebas de Hamcrest. Tenemos un proyecto pequeño, bastante pequeño. |
| que hicimos hace poco más de un año. Estamos entrando en una nueva fase. Ya se acabó... |
| Más de 100 pruebas de Hamcrest están integradas y se ejecutan una y otra vez durante el proceso de desarrollo. |
| Otros beneficios son que nos permite asignar y rastrear nuestra asignación de recursos, como qué están haciendo los desarrolladores y qué. Todos saben lo que hacen los demás, |
| integración continua, implementación continua, algo así), |
| Hay... colisiones de código que se detectan temprano, así que si tenemos... y lo hacemos, tenemos varias personas trabajando en algunos proyectos, entonces, ya sabes, alguien está cambiando una función aquí y va a chocar con algo que alguien más está haciendo. Lo sabremos mucho antes. |
| También nos permite mejorar la compatibilidad entre varios miembros del personal. No podemos hacer que el código dependa de un desarrollador en particular; Tenemos que tener un código que cualquier desarrollador o personal de soporte pueda soportar. |
| avanzando. Así que ese también era un objetivo importante para nosotros. Y, en general, hace avanzar toda el área de garantía de calidad, |
| incluido el respaldo, ya sabes, los requisitos de la FDA, relacionados con el control de calidad, ya sabes, cosas como la validación, el IQ OQ PQ. Entonces... estamos automatizando o semiautomatizando |
| esas tareas también a través de esta infraestructura. Lo usamos interna y externamente, por lo que ya sabrás que tenemos |
| algunos productos disponibles, (???) Kobe sash lab, pero los nuevos son spam, bueno, Kobe envía spam (???) también se habla de ellos en otros lugares |
| en la Conferencia Europea JMP Discovery en 2021. Quizás quieras echarles un vistazo, pero son bastante grandes. |
| bases de código y todas están desarrolladas; en otras palabras, comemos nuestra propia comida para perros, si conoces esa expresión, pero también la usamos con todos nuestros clientes. |
| desarrollo, por lo que esto es algo que es importante para nuestros clientes, porque estamos creando aplicaciones de las que dependerán. |
| Y entonces, necesitamos... necesitamos tener la infraestructura que nos permita ser confiables y, de todos modos, eso es una gran parte de esto. |
| Mencioné el marco del sistema Predictum. Puedes ver algunos fragmentos aquí. Está justo dentro del índice de secuencias de comandos y, ya sabes, vemos los argumentos y los |
| ejemplos y todo eso. Construimos todo eso y el 95%, más del 95% de ellos, tienen pruebas de Hamcrest asociadas. Por supuesto, nuestro objetivo es asegurarnos de que todos lo hagan y lo lograremos. |
| Estamos llegando allí. Tenga... estos marcos... este marco es en realidad parte de nuestra infraestructura aquí. Ese es uno de los elementos importantes. Otra es simplemente que...Hamcrest... |
| la capacidad de realizar pruebas unitarias. Y voy a tener... hay una diapositiva al... al final, que les dará un enlace a la Comunidad donde podrán aprender más sobre Hamcrest. Esto es un |
| desarrollo que nos trajo JMP, allá por JMP 14, como mencioné hace unos minutos. Gitlab es una gran parte de esto; eso nos proporciona el repositorio de gestión de proyectos, el proceso de CI/CD, etc. |
| Y también hay una extensión de código visual... de Visual Studio para JSL que creamos y veríamos cinco estrellas allí porque recibió cinco estrellas en el |
| en el estudio visual. No estoy seguro de cómo llamamos a eso. Vince, tal vez puedas decirnos a nosotros, a la tienda, qué tienes. Se ha descargado cientos de veces y hemos estado |
| actualizándolo periódicamente. Eso es algo que también puedes buscar. Creo que también tenemos un enlace para eso en la diapositiva de recursos al final. |
| Entonces, lo que voy a hacer ahora es pasarle esto a Vince Faller. Vince es, nuevamente, nuestro ingeniero jefe de software. Vince lideró esta iniciativa, a partir de agosto de 2019, como dije. Fue mucho trabajo duro y |
| el trabajo duro continúa. Todos en la empresa estamos muy agradecidos por Vince y su liderazgo aquí. Dicho esto, Vince, ¿por qué no continúas desde aquí? Voy a... |
| Soy... |
| Vince Faller | Intercambio. |
| Entonces Wayne dijo Hamcrest un montón de veces. Para las personas que no saben qué es Hamcrest, es un complemento creado por |
| JMP. |
| Justin Chilton y Evan McCorkle lo lideraban. Es solo una biblioteca de prueba unitaria que le permite ejecutarla, probarla y obtener resultados de forma automatizada. |
| Realmente fue lo que hizo que pudiéramos hacer esto, por eso se llama extender. |
| Voy a mostrar algunas cosas. |
| con mi pantalla. Trabajo prácticamente exclusivamente en la extensión VSCode que creamos. Este es VSCode. |
| Hacemos esto porque tiene muchas funciones integradas o funciones extensibles que no tenemos que escribir, como obtener integración, obtener integración de laboratorio. |
| Aquí puede ver que se trata de un script JSL y se lee muy bien. |
| Si desea obtenerlo, si está... si está familiarizado con VSCode, es solo un editor de texto liviano. Simplemente escribe JMP |
| y lo verás. Es el único. |
| Pero iremos a lo que estamos haciendo. |
| Entonces. |
| Para cualquier cambio de código que hagamos, |
| hay un recorrido del oleoducto. |
| Simplemente mostraremos lo que hace. Entonces, si cambio el archivo README a esta es una demostración de Discovery. |
| 2021. |
| Y simplemente voy a cometer eso. Si no lo sabes, comprométete como solo |
| diciendo que quiero una instantánea de dónde estamos exactamente en este momento, y luego la envías al repositorio y se guarda en el servidor. |
| Día feliz. |
| Confirmar mensaje. Más información Léame. |
| Y puedo simplemente conseguir un empujón, porque VSCode es increíble. |
| Demostración de tubería. |
| Así que ahora lo he presionado. Habrá un oleoducto en funcionamiento. Puedo bajar aquí y hacer clic aquí y me dará mi solicitud de fusión. Y ahora |
| el oleoducto comenzó a funcionar. |
| Puedo comprobar el estado del oleoducto. |
| Lo que está haciendo ahora es revisar y verificar que tenga los archivos Hamcrest necesarios. Tenemos algunos requisitos que |
| hacemos cumplir para que pueda... |
| podemos asegurarnos de que estamos |
| haciendo bien nuestro trabajo. |
| Y luego ya está. Voy a presionar cifrar. |
| Ahora cifrar tomará el paquete completo y lo cifrará. |
| Si vamos por aquí, |
| esto es solo una máquina virtual en alguna parte. Debería |
| empezar a correr |
| en un segundo. |
| Entonces simplemente está revisando todo el código. |
| Escribir todas las contraseñas cifradas, revisarlas, hacer clic en todo eso. Si alguna vez ha intentado cifrar varios scripts al mismo tiempo, |
| Probablemente sabrás que eso es una molestia, así que lo automatizamos para no tener que hacer esto porque, como dijo Wayne, nos estaba tomando mucho tiempo hacerlo. |
| Por ejemplo, si tenemos 100 scripts para revisar y cifrar cada uno de ellos cada vez que queremos realizar un lanzamiento, fue horrible. |
| Porque tenemos que tener nuestro |
| código cifrado porque, sí, lo siento, opinión, está bien, puedo dejar de compartir eso. |
| Ah. |
| Entonces eso va a funcionar. |
| Debería terminar muy pronto. |
| Luego lo revisará y lo escenificará y luego la puesta en escena básicamente toma todas las fuentes de información que queremos, como nuestra, como en nuestra documentación, como en |
| cualquier otra cosa que hayamos escrito, y la representa en la forma que queremos en el complemento, porque al igual que el resto de github, gitlab, la mayor parte de nuestra documentación está escrita en markdown y luego la representamos en lo que sea. |
| No necesito mostrar el resto de esto, pero sí. Entonces está pasando. Va a desaparecer. |
| Volveremos a VSCode. |
| Entonces. |
| Si tuviéramos que cambiar, esta sería solo una función. |
| Si entro aquí, si tuviera que ejecutar esto... |
| JSL, ejecuta la selección actual. |
| Entonces. |
| Puedes ver que regresó... todo lo que intenta hacer es abrir Big Class, ejecutar una línea de ajuste y obtener la ecuación. Está devolviendo la ecuación. |
| Y de hecho también puedes verlo atropellado por aquí. |
| Pero. |
| Entonces esto podría necesitar más documentación. |
| Y pensamos, oh, en realidad no queremos que esta tabla de datos esté abierta. |
| Pero hagamos esto muy rápido. |
| Y decir, |
| No. Este no es un buen rendimiento, aparentemente convierte la ecuación en mayúsculas. |
| Entonces si pongo en escena eso. |
| Mejor documentación. |
| Empujar. |
| De nuevo volvamos a aquí. |
| Entonces, nuevamente está presionando. Este es otro oleoducto. |
| Simplemente ejecuta un montón de scripts de Power Shell en orden, dependiendo de cómo lo configuremos. |
| Pero notarás que este proceso tiene más etapas. |
| Entonces cuando nosotros |
| En un esfuerzo por ayudar a poder escalar esto, solo probamos el JSL. |
| mínimamente al principio, y luego, a medida que pasa, permitimos realizar más pruebas. |
| Y solo probamos si hay archivos JSL que hayan cambiado. |
| Pero podemos pasar por esto. |
| Se ejecutará y nos dirá dónde se encuentra en la prueba, en caso de que la prueba se congele. Ya sabes, si tienes un cuadro de diálogo modal que simplemente no se cierra, obviamente JMP no seguirá haciendo nada después de eso. Pero puedes ver, hizo un montón de cosas, sí, increíble. He terminado. |
| Emocionante. |
| Actualiza eso. Consigue una pequeña marca de verificación verde. |
| Y podríamos decir, está bien, ejecutar todo ahora. Lo revisaría, probaría todo, luego lo cifraría, luego probaría lo cifrado, básicamente lo que vamos a crear como complemento, y luego lo prepararía nuevamente, lo empaquetaría para nosotros, crearía el complemento real. en el que le daríamos a un cliente. |
| No voy a hacerlo muy rápido porque lleva un minuto. |
| Pero |
| digamos que entramos aquí y decimos, oh, |
| Bueno, realmente quiero cerrar esta tabla de datos. No sé por qué comenté en primer lugar. No creo que deba estar abierto, porque ya no lo uso, no... no queremos eso. |
| Diremos que está bien. |
| Cierra el dt. |
| Empuja de nuevo. Ahora bien, todo esto podría hacerse manualmente en mi computadora con Hamcrest. |
| Pero ya sabes, a veces un desarrollador envía cosas y no ejecuta todo su Hamcrest para todo en su computadora, y este es... el único propósito es detectarlo. Nos obligó a hacer nuestro trabajo un poco mejor. |
| Y |
| sí. |
| Sigue haciendo clic en este botón. Podría abrir eso, pero está bien. |
| Ahora verá que está ejecutando la tubería nuevamente. Ve al oleoducto. |
| Y voy a seguir diciendo esto para repetirlo. Simplemente estamos revisando, probando y cifrando, luego probando |
| porque a veces el cifrado entra por si solo |
| mundo de problemas, si alguien alguna vez ha cifrado. |
| Corre, corre, corre, corre, corre. |
| Y luego, oh, conseguimos un tiro. ¿Mirarías eso? |
| No estoy tratando de ser inexpresivo, pero ya sabes. |
| Entonces, si marcáramos esto como listo y dijeramos, sí, terminamos, veríamos, |
| Oh, bueno, esa prueba no pasó. |
| Ahora |
| podríamos descargar |
| por qué la prueba no pasó en los artefactos. |
| Y esto abrirá una unidad J. |
| archivo que voy a sacar aquí. |
| También lo renderizará en getlab, lo que podría ser más fácil, pero por ahora solo haremos esto. |
| Eventualmente. Minimiza todo. |
| Ahora ven. |
| Entonces, pudimos ver que algo sucedió con R al cuadrado y falló. |
| Adentro |
| de azul. |
| Entonces podemos venir aquí. |
| Dime, ¿por qué hay algo en boo que hace que esto falle? |
| Vemos, oh, alguien llamó a nuestra ecuación |
| y luego simplemente asumieron que la tabla de datos estaba allí. Entonces, porque algo que cambié rompió el código de otra persona, como si eso alguna vez fuera a suceder. |
| Entonces estamos teniendo ese problema. |
| ¿A dónde fuiste? Aquí vamos. |
| Entonces, ese es el objetivo principal de todo lo que estamos haciendo aquí: poder captar el hecho de que cambié algo y rompí las cosas de otra persona. |
| Para poder pasar. |
| Mira lo que hace boo. |
| Di, bueno, tal vez debería abrir Big Class. |
| mí mismo. |
| Sí, genial. Bueno, si guardo eso, |
| Probablemente debería mejorarlo. |
| Abrir Big Class yo mismo. |
| Lo pondré en escena. |
| Abre una gran clase. Consigue un empujón. |
| Y de nuevo, solo muestra |
| el viejo oleoducto. |
| Ahora esto debería tomar |
| No... no mucho tiempo. |
| Entonces vamos a entrar aquí. Estamos... sólo probamos en uno... para... |
| Versión JMP, pero puedes ver |
| automáticamente, solo probamos en uno. |
| Luego espera a que el desarrollador diga: sí, ya terminé y todo se ve bien. Continuar. Lo hacemos por razones de recursos, |
| porque se ejecutan en máquinas virtuales que funcionan automáticamente todo el tiempo y tenemos varios desarrolladores que utilizan estos sistemas. |
| También somos... |
| Puede ver que este es en realidad un sistema acoplable, los estamos colocando en contenedores. |
| Bueno, estamos en el proceso de colocarlos en contenedores. Los tenemos funcionando, pero aún no tenemos todas las versiones. |
| Pero ejecutamos 14.3, al menos para este proyecto, ejecutamos 14.3, 15, 15.1, |
| y eso debería funcionar. |
| Simplemente revirtamos las cosas. |
| Porque eso sabes que funciona. |
| Probablemente debería haber hecho un clásico... pero está bien. |
| Así que sí. |
| Vamos a probar. |
| Siento que sigo diciendo esto una y otra vez. Vamos a probarlo todo. |
| De hecho, dejaremos que se ejecute este para mostrarle el resultado final de lo que obtenemos. |
| Sólo debería tomar. |
| un poco. |
| Entonces probaremos esto, nos aseguraremos de que funcione y de que pueda ver los registros. Estamos obteniendo información decente sobre lo que está sucediendo, sobre dónde está, como si te dijera quién es el corredor que está corriendo. |
| Sólo estoy ejecutando Windows en este momento. Nuevamente, esta es una demostración y todo eso, pero |
| deberíamos poder correr |
| más. |
| Mientras se ejecuta, hablaré un poco más sobre VSCode. |
| En VSCode, también... también hay fragmentos y cosas así, así que si quieres crear una función, |
| lo creará en toda la información de la función. Usamos documentos naturales. |
| De nuevo, eso fue robado del equipo Hamcrest, |
| como el nuestro |
| documentación de desarrollo. |
| Así que pondrá todo en formato de documentos naturales. Entonces, nuevamente, la idea es ayudarnos a hacer nuestro trabajo y obligarnos a hacer nuestro trabajo. |
| un poco mejor, con un poco más de ganas. |
| Wayne Levin | ¿Para la documentación? |
| Vince Faller | Eso es para la documentación, sí. |
| Wayne Levin | A medida que desarrollamos, estamos documentando al mismo tiempo. |
| Vince Faller | Sí. Absolutamente. |
| Ya sabes, también tiene bucles for y while. |
| Porque con una fila asociada, cosas así. |
| ¿Estamos... esto... ya está hecho? Probablemente ya esté hecho, sí. |
| Entonces obtenemos nuestra marca de verificación verde. Ahora se ejecutará en todos los sistemas. |
| Si podemos volver aquí, lo verás. |
| Abra JMP. Realizará algunas pruebas, |
| Probablemente abrirá Big Class. |
| Luego cierra todo... ciérralo todo. |
| Wayne Levin | Así que estamos haciendo esto, en gran medida porque |
| Muchos de nuestros clientes tienen diferentes versiones de JMP implementadas y quieren un complemento en particular, pero no |
| ejecutándolo, tienen, ya sabes, diferentes versiones disponibles en el campo. También realizamos pruebas con las primeras versiones de JMP, que es un servicio de JMP porque informamos errores. |
| Pero también para los clientes, es útil porque saben que pueden... pueden actualizar a la nueva versión de JMP. Saben que las aplicaciones que creamos para ellos han sido probadas. |
| Y eso es sólo una rutina para nosotros. |
| Bien. |
| Vince Faller | Ya terminaste. Ya terminaste. Ya terminaste. |
| Cambiar a... |
| Puedo hablar de... |
| Y esto simplemente va a funcionar, podemos |
| Haz magia en la película si quieres, Meg. |
| Sólo para que funcione más rápido. |
| Básicamente, sólo quiero pasar a la puesta en escena, pero me lleva un segundo. |
| ¿Hay algo más que tengas que decir, Wayne, al respecto? |
| Fresco. |
| Voy a poner eso... |
| Algo que puedo decir, |
| cuando estamos en escena, |
| También tenemos nuestra documentación en mk docs. Así que ejecutará la versión del documento mk, la renderizará, colocará la ayuda en los archivos de ayuda y básicamente podrá crear una versión para nosotros, de modo que no tengamos que hacerlo. |
| tratar con él. |
| Porque crear lanzamientos requiere mucho esfuerzo. |
| Cifrado. Esta casi terminado. |
| Probablemente debería haber tenido uno precargado. |
| Demostraciones en vivo, ¿qué vas a hacer? |
| Alguno. |
| Correr. |
| Oh, una cosa que definitivamente quiero hacer. |
| Entonces, lo último que realmente hace el oleoducto es verificar que realmente dedicamos nuestro tiempo, porque, ya sabes, si |
| En realidad, no registramos el tiempo que dedicamos, no nos pagan, por lo que nos obligan a hacerlo. |
| Genial, genial. |
| Vinde Faller | Entonces |
| Vince Faller | el trabajo habría fracasado sin eso. |
| Sólo puedo mostrar algunos trabajos. Intentando. |
| Ese es el de Docker. No queremos eso. |
| Entonces |
| Puedes ver que eso nos dio nuestros éxitos. |
| Sin fracasos. Sin lanzamientos inesperados. Todo eso es material de Hamcrest. |
| Vamos. Uno mas. |
| Bueno, vamos a la puesta en escena. |
| Una cosa que hace es crear los repositorios. |
| Los crea frescos cada vez. |
| Entonces es como si tratara de mantenerlo en una especie de estado sin estado. |
| forma. Bien, podemos descargar los artefactos ahora. |
| Y ahora deberíamos tener esta demostración del oleoducto. |
| Realmente desearía que hubiera ido allí. |
| Qué. |
| ¿Por qué está activo Internet Explorer? Ahora verás una demostración de canalización. |
| es un complemento JMP. |
| Si lo descomprimimos. |
| Si no lo sabías, un complemento JMP es sólo un archivo zip. |
| Si miramos eso ahora, |
| Puedes ver que tiene todos nuestros scripts, tiene nuestro foo, tiene nuestra barra. Si los abrimos, |
| abierto, |
| Puedes ver que es un archivo cifrado. |
| Esto es básicamente lo que podríamos ofrecerle al cliente. |
| y no tener tanto trabajo mecánico. Wayne mencionó que |
| son desarrolladores menos frustrados y, personalmente, creo que es un eufemismo, porque hacer esto una y otra vez era muy frustrante antes de que pudiéramos implementar esto, y esto ha ayudado mucho. |
| Eso. |
| Wayne Levin | Ahora, sobre el cifrado, cuando entregas un complemento |
| para uso de usuarios dentro de una empresa, normalmente no desea que, por razones de seguridad, etc., no desee que nadie pueda ingresar y |
| ocuparse del código. Ya sabes, ese tipo de cosas, por lo que podemos entregar un código sin cifrar sólo para, ya sabes, que el cliente tenga su código cifrado, pero para la entrega al usuario final, normalmente quieres que todo esté cifrado, solo para que no pueda ser manipulado. Sólo una de esas cosas. |
| Vince Faller | Sí, y ese es el final de mi demostración. Wayne, si quieres llevártelo para resumir. |
| Wayne Levin | Sí, fantástico. |
| Claro, muchas gracias por eso, Vince. Hay muchas partes móviles en todo este sistema, así que básicamente se trata de asegurarnos de que tengamos, |
| ya sabes, código desarrollado por múltiples usuarios que no chocan entre sí. Estamos incorporando la documentación al mismo tiempo. Y, de hecho, la documentación se implementa con la aplicación y no tenemos que incluirla. Es... |
| Configuramos la infraestructura para que se cuide automáticamente. Podemos actualizar eso, junto con el código de manera integral, simultáneamente, |
| Si tu quieres. Las pruebas de Hamcrest que se están realizando, cada una de esas funciones que están escritas, |
| hay resultados esperados, por así decirlo. Entonces se compararon y vimos, brevemente, que había, supongo, algún problema con esa ecuación allí. Un cuadrado R o lo que sea volvió con un valor diferente, |
| entonces se rompió, en otras palabras, para decir oye, algo no está bien aquí; Esperaba este resultado de la función. |
| para un caso de uso. Esa es una de las cosas que obtenemos de los clientes, así que ya sabes, creamos un conjunto de casos de uso que se convierten en pruebas de Hamcrest y listo. Hay algunas otras diapositivas aquí que |
| están disponibles para usted, cuando usted, cuando usted, si va y descarga las diapositivas. Así que lo dejaré disponible para ustedes y aquí hay una pequeña imagen del oleoducto. |
| eso que estamos empleando y también un poco sobre la actividad de revisión de código para desarrolladores. Si quieres ir y venir con eso. Vince, ¿quieres agregar algo aquí sobre cómo se lleva a cabo la revisión y aprobación del código? |
| Vince Faller | Sí, dentro de la solicitud de fusión |
| Tendrá el código JSL en las diferencias del código. Y de nuevo, un gran |
| gracias a |
| las personas que hicieron Hamcrest también, porque también iniciaron un lexer(?) para que GitHub y GitLab pudieran leer JSL, así que en realidad esto está dentro de getlab. |
| Y también pueden leer el JSL. No lo ejecuta, pero tiene un buen formato. No es solo texto blanco, es hermoso ahí. Simplemente entraremos |
| Como en esta captura de pantalla, haces clic en una línea, pones el comentario que deseas y se convierte en una tarea revisable. Así que intentamos hacer todo lo que podamos dentro de GitLab. |
| por razones de transparencia, y |
| Una vez que todo esté cerrado, puedes decir sí, mi solicitud de fusión está lista para funcionar. Pongámoslo en la rama maestra, rama principal. |
| Wayne Levin | Impresionante. Así que realmente... está ayudando, ya sabes, realmente estamos definiendo estándares de codificación, por así decirlo, y |
| No me gusta la palabra aplicación, pero eso es lo que significa. Y reduce la variación. Hace que sea más fácil para varios desarrolladores, por así decirlo, comprender qué |
| lo que otros han hecho. Y a medida que incorporamos nuevos desarrolladores, llegan a comprender el estándar y saben qué buscar y qué hacer. |
| Entonces... hace que la incorporación sea mucho más fácil, y nuevamente se ocupa de... todo está adjunto a todo aquí, por lo que conocen la compatibilidad y demás. |
| Esta es la diapositiva que mencioné anteriormente, solo para algunos recursos, por lo que estamos usando GitLab. Supongo que los mismos principios se aplican a cualquier git en general, como GitHub o lo que sea. Aquí está el enlace comunitario de Hamcrest. Hubo una charla en |
| en tucson, eso fue en 2019, en los viejos tiempos cuando viajábamos y nos reuníamos. Eso fue muy divertido. Y aquí está el enlace del mercado para los elementos visuales... Visual Code Studio. |
| Código de Visual Studio, ¿qué tienes? |
| Entonces, como dijo Vince, sí, usamos mucho ese editor, en lugar de usar el editor JMP incorporado solo porque está todo integrado. Es... |
| todo es parte de un gran entorno de desarrollo de aplicaciones. Y con eso, Vince y yo, en nombre de Vince y mío, quiero agradecerles por su interés en esto, y quiero, nuevamente, realmente queremos agradecer al equipo de JMP. Justin Chilton y compañía, |
| Te llamaré. Si no fuera por Hamcrest, no estaríamos en esto. Eso fue |
| la pieza que faltaba o fue la pieza habilitadora que realmente nos permitió llevar el desarrollo de JSL a, |
| Básicamente, los tipos de estándares que se esperan en el desarrollo de código, en general, en la industria. Así que estamos muy agradecidos por ello, y conozco nuestro... |
| ya sabes, eso se propaga con cada aplicación que hemos implementado. Y en este punto, Vince y yo estaremos encantados de responder cualquier pregunta que... |
| info@predictum.com y nos lo reenviaremos y nos comunicaremos con usted. Pero en este punto, lo abriremos a preguntas y respuestas. |