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í, lo que le prometemos, es que le mostraremos cómo usted también puede construir una |
| Sistemas analíticos integrados de misión crítica basados en JMP de alta calidad, confiables y compatibles. Sí, eso es mucho que decir pero eso es |
| eso es lo que estamos haciendo en este entorno. Estamos bastante satisfechos con él. Estamos realmente honrados de poder compartirlo con ustedes. |
| Así que aquí está la agenda que seguiremos aquí. Una pequeña introducción, yo mismo, lo haré en un momento, y solo un poco sobre Predictum, porque es posible que no sepas demasiado sobre nosotros. |
| nuestros antecedentes, antecedentes de nuestro desarrollo JSL, infraestructura, un poco de historia relacionada 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 tenemos planeado para seguir adelante, y luego lo abriremos, finalmente, para cualquier pregunta que pueda tener. |
| Así que soy Wayne Levin, así que soy yo aquí a la derecha. Soy el presidente de Predictum y estoy unido |
| con Vince Faller. Vince es nuestro ingeniero de software jefe y ha liderado esta importante iniciativa. Así que solo un poco sobre nosotros, ahí mismo. Somos un socio de JMP. |
| Lanzamos en 1992, así que 29 años. |
| Hacemos capacitación en métodos estadísticos, etc., utilizando JMP, asesorando en esas áreas y pasamos mucho tiempo construyendo y |
| desplegando aplicaciones y sistemas analíticos integrados, de ahí la importancia de este esfuerzo 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 comenzamos, creo, alrededor de JMP 8 o 9 construyendo sistemas más grandes. |
| Así que tenemos bastante historia sobre esto, más de 10 años fácilmente. Así que solo un poco de antecedentes ... hasta aproximadamente la segunda mitad de 2019, nuestro entorno de desarrollo era realmente dispar, era poco sistemático. |
| Gestión de proyectos |
| estaba allí, pero de nuevo, todo estaba un poco 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 administración de proyectos en general. |
| Los desarrolladores gastaban fácilmente, y hablaremos de esto, |
| aproximadamente la mitad de su tiempo se limita a realizar tareas mecánicas de rutina, como cifrar y empaquetar complementos de JMP. Ya sabes, manteniendo paquetes de configuración y, |
| ya sabes, y separando los repositorios o lo que generalmente llamamos repositorios, ya sabes, para secuencias de comandos cifradas y no cifradas. Fue ... había muchas cosas en las que teníamos que pensar que en realidad no era trabajo de desarrollo. Fue realmente un trabajo que |
| el talento del desarrollador es ... se desperdició. También tuvimos, como dije, lo hemos estado haciendo durante mucho tiempo, incluso en 2019, teníamos fácilmente 10 años, por lo que más de 10 años de marco heredado que se remonta incluso a JMP 5, ya sabes, con, ya sabes, se estaba volviendo lento y hinchado. |
| Y sabemos que JMP ha avanzado mucho 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 |
| empezó. Y fue Hamcrest quien realmente nos permitió hacer esto ... con esta gran iniciativa. Así que comenzamos esta importante iniciativa en agosto de 2019. |
| Y ahí es cuando adquirimos nuestras primeras licencias de Gitlab y ese es 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. |
| Todos los meses, básicamente, hemos ido agregando y desarrollando nuestras capacidades para ser cada vez más productivos a medida que avanzamos. |
| Y eso continúa, por lo que en realidad 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 va a demostrar. 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 lo que se ha ido, casi todo ha desaparecido, y ha sido reemplazado y ampliado. |
| Y Vince nos contará más sobre eso. Fácilmente, tenemos un aumento de la productividad de más del 50%, y solo voy a decir que los desarrolladores están mucho más contentos. Están menos frustrados. |
| Están más enfocados en su trabajo, me refiero al trabajo real que los desarrolladores deberían estar haciendo, no al tipo de cosas tediosas. |
| Todavía hay margen de mejora, voy a decir, así que 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 funcionalmente, podría decirse. |
| Cada función requiere al menos una prueba de Hamcrest, y hay revisiones de código que los desarrolladores comparten entre sí. |
| para asegurarnos de que estamos siguiendo nuestros estándares. Y plantea preguntas sobre cómo mejorar esos estándares, hacerlos mejores. |
| También tenemos este tipo de sesiones divertidas, en las que se anima a los desarrolladores a descifrar el código, |
| correcto, entonces se llaman como, estos desafíos de código de ruptura, o lo que sea. Así que se ha convertido en parte de nuestro modus operandi y todo encaja perfectamente en este entorno de desarrollo. Conduce, por ejemplo, a más pruebas, más pruebas de Hamcrest que se agregarán. Tenemos un proyecto pequeño, bastante pequeño. |
| que hicimos hace poco más de un año. Entramos en una nueva fase. Se acabó ... |
| Se integran más de 100 pruebas de Hamcrest y se repiten una y otra vez a lo largo del proceso de desarrollo. |
| Entonces, algunos 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, despliegue continuo, algo así), |
| hay ... colisiones de código se detectan temprano, así que si tenemos ... y lo hacemos, tenemos varias personas trabajando en algunos proyectos, así que, ya sabes, alguien está cambiando una función aquí y va a colisionar con algo que otra persona está haciendo. Lo averiguaremos mucho antes. |
| También nos permite mejorar la compatibilidad entre varios miembros del personal. No podemos tener código que dependa de un desarrollador en particular; Tenemos que tener un código que cualquier desarrollador o personal de soporte pueda admitir. |
| avanzando. Así que ese también fue un objetivo importante para nosotros. Y hace avanzar toda el área de garantía de calidad en general, |
| incluido el soporte, ya sabes, los requisitos de la FDA, en relación con el control de calidad, ya sabes, cosas como la validación, el IQ OQ PQ. Entonces es ... estamos automatizando o semi automatizando |
| esas tareas también a través de esta infraestructura. Lo usamos interna y externamente, por lo que puede saber que tenemos |
| algunos productos por ahí, (???) Kobe sash lab pero los nuevos son spam, bueno, Kobe envía spam (???) también se habla en otros lugares |
| en la JMP Discovery European Conference en 2021. Es posible que desee ir a verlos, pero son bastante grandes. |
| bases de código y están todas 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, debido a que estamos creando aplicaciones de las que van a depender. |
| Y entonces nosotros, 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 la |
| 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 de que lo estamos logrando. |
| Estamos llegando. Tenga ... este marco ... este marco es en realidad parte de nuestra infraestructura aquí. Ese es uno de los elementos importantes de la misma. Otro es solo que ... Hamcrest ... |
| la capacidad de realizar las pruebas unitarias. Y voy a tener ... hay una diapositiva al ... al final, que le dará un enlace a la comunidad donde podrá aprender más sobre Hamcrest. Esto es un |
| desarrollo que nos trajo JMP, en JMP 14, como mencioné hace unos minutos. Gitlab es una gran parte de esto; que nos da el repositorio de gestión de proyectos, la canalización de CI / CD, etc. |
| Y también hay una extensión de código visual ... visual studio para JSL que creamos y veríamos cinco estrellas allí porque se le dio cinco estrellas en el |
| en el estudio visual. No estoy seguro de cómo lo llamamos. Vince, tal vez puedas decirnos a la tienda qué tienes. Se ha descargado cientos de veces y hemos |
| actualizándolo regularmente. Así que 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 y |
| el trabajo duro continúa. Todos estamos, en la empresa, muy agradecidos por Vince y su liderazgo aquí. Entonces, dicho esto, Vince, ¿por qué no lo tomas de aquí? Voy a... |
| Estoy... |
| 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 pruebas unitarias que le permite ejecutar, probar y obtener resultados de forma automatizada. |
| Realmente comenzó a rodar la bola de que pudiéramos incluso hacer esto, por eso se llama extender. |
| Voy a estar mostrando algunas cosas |
| con mi pantalla. Trabajo casi exclusivamente en la extensión VSCode que construimos. Este es VSCode. |
| Hacemos esto porque tiene mucha funcionalidad incorporada o funcionalidad ampliable 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 bien. |
| Si desea obtenerlo, si está ... si está familiarizado con VSCode, es solo un editor de texto ligero. Solo escribe JMP |
| y lo verás. Es el único. |
| Pero pasaremos a lo que estamos haciendo. |
| Asi que. |
| Para cualquier cambio de código que hagamos, |
| hay una ejecución de tubería. |
| Simplemente mostraremos lo que hace. Entonces, si cambio el archivo README a esta es una demostración de Discovery. |
| 2021. |
| Y solo voy a cometer eso. Si no lo sabe, comprometerse como |
| diciendo que quiero una instantánea de exactamente dónde estamos en este momento, y luego lo empujas al repositorio y se guarda en el servidor. |
| Día feliz. |
| Confirmar mensaje. Más información Léame. |
| Y puedo presionar, porque VSCode es increíble. |
| Demostración de pipeline. |
| Así que ahora lo presioné. Va a haber una tubería en ejecución. Puedo ir aquí y hacer clic aquí y me dará mi solicitud de fusión. Y ahora |
| la tubería comenzó a funcionar. |
| Puedo comprobar el estado del oleoducto. |
| Lo que está haciendo ahora es revisar y verificar que tenga los archivos Hamcrest requeridos. Tenemos algunos requisitos que |
| hacemos cumplir para que pueda ... |
| podemos asegurarnos de que estamos |
| haciendo bien nuestro trabajo. |
| Y luego está hecho. Voy a presionar encriptar. |
| Ahora, encriptar tomará todo el paquete y lo encriptará. |
| Si pasamos por aquí |
| esto es solo una máquina virtual en alguna parte. Debería |
| empezar a correr |
| en un segundo. |
| Así que solo está revisando todo el código. |
| Escribiendo todas las contraseñas encriptadas, revisándolas, haciendo clic en todas esas cosas. Si alguna vez ha intentado cifrar varios scripts al mismo tiempo, |
| probablemente sabrá que eso es un fastidio, así que lo automatizamos para que no tengamos que hacer esto porque, como dijo Wayne, nos tomó mucho tiempo hacer esto. |
| Por ejemplo, si tenemos 100 scripts para revisar y encriptar cada uno de ellos cada vez que queremos hacer una publicación, 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 pasará y lo organizará 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 los renderiza 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 renderizamos en lo que sea. |
| No necesito mostrar el resto de esto, pero sí. Entonces está pasando. Se va a ir. |
| Volveremos a VSCode. |
| Asi que. |
| Si tuviéramos que cambiar, entonces esta es solo una función única. |
| Si entro aquí como, si tuviera que ejecutar esto ... |
| JSL, ejecuta la selección actual. |
| Asi que. |
| Puede ver que regresó ... todo lo que está tratando de hacer es abrir Big Class, ejecutar una línea de ajuste y obtener la ecuación. Está devolviendo la ecuación. |
| Y en realidad también se puede ver que pasó por aquí. |
| Pero. |
| Así que esto podría necesitar más documentación. |
| Y pensamos, oh, en realidad no queremos que esta tabla de datos esté abierta. |
| Pero vamos a ejecutar esto muy rápido. |
| Y decir, |
| No. Este no es un buen rendimiento, aparentemente convierte la ecuación en mayúsculas. |
| Así que si preparo eso. |
| Mejor documentación. |
| Empujar. |
| De nuevo de vuelta a aquí. |
| Entonces, nuevamente está presionando. Esta es otra tubería. |
| Solo está ejecutando un montón de scripts de Power Shell en orden, dependiendo de cómo lo configuremos. |
| Pero notará que esta canalización 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 probar más. |
| Y solo probamos si hay archivos JSL que han cambiado. |
| Pero podemos pasar por esto. |
| Se ejecutará y nos dirá dónde está 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 ir, está bien, ejecutar todo ahora. Pasaría, probaría todo, luego lo cifraría, luego probaría el cifrado, básicamente lo que realmente vamos a hacer el complemento, y luego lo volvería a preparar, empaquetarlo para nosotros, crear el complemento real. en que le daríamos a un cliente. |
| No voy a hacer eso muy rápido porque lleva un minuto. |
| Pero |
| digamos que entramos aquí y estamos como, oh, |
| bueno, realmente quiero cerrar esta tabla de datos. No sé por qué lo comenté en primer lugar. No creo que deba estar abierto, porque ya no lo uso, nosotros no ... no queremos eso. |
| Diremos que está bien. |
| Cierre el dt. |
| Empuje de nuevo. Ahora, todo esto podría hacerse manualmente en mi computadora con Hamcrest. |
| Pero ya sabes, a veces un desarrollador empuja cosas y no ejecuta todo su Hamcrest para todo en su computadora, y este es ... todo el 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. |
| Así que ahora verá que está ejecutando la tubería nuevamente. Ve a la tubería. |
| Y seguiré diciendo esto para repetirlo. Solo estamos revisando, probando y encriptando, luego probando |
| porque a veces el cifrado entra por su cuenta |
| mundo de problemas, si es que alguien ha hecho alguna vez el cifrado. |
| Corre, corre, corre, corre, corre. |
| Y luego, oh, tenemos un lanzamiento. ¿Mirarías eso? |
| No estoy tratando de ser inexpresivo, pero ya sabes. |
| Entonces, si tuviéramos que marcar esto como listo y decir, sí, hemos terminado, 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. |
| Finalmente. Minimiza todo. |
| Ahora ven. |
| Entonces, pudimos ver que algo sucedió con R al cuadrado y falló. |
| Dentro |
| de azul. |
| Entonces podemos venir aquí. |
| Diga, ¿por qué hay algo en boo que está causando 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 fuera a suceder alguna vez. |
| Entonces estamos teniendo ese problema. |
| ¿Dónde fuiste? Aquí vamos. |
| Así que ese es el propósito principal de todo lo que estamos haciendo aquí, es poder captar el hecho de que cambié algo y rompí las cosas de otra persona. |
| Para que pudiera pasar. |
| Mira lo que hace Boo. |
| Di, bueno, tal vez debería abrir Big Class |
| yo mismo. |
| Sí, genial. Bueno, si guardo eso, |
| Probablemente debería hacerlo mejor. |
| Abro Big Class yo mismo. |
| Lo escenificaré. |
| Open Big Class. Empuja. |
| Y de nuevo, solo muestra |
| el antiguo oleoducto. |
| Ahora esto debería tomar |
| no ... no demasiado. |
| Entonces vamos a entrar aquí. Nosotros ... solo probamos en uno ... para ... |
| Versión de JMP, pero puedes ver |
| automáticamente, solo probamos en uno. |
| Luego espera a que el desarrollador diga, sí, terminé y todo se ve bien. Continuar. Hacemos eso por razones de recursos, |
| porque estos se ejecutan en vms que automáticamente funcionan todo el tiempo, y tenemos varios desarrolladores, que están usando todos estos sistemas. |
| También somos ... |
| Puede ver, este es en realidad un sistema de ventana acoplable, los estamos poniendo en contenedores. |
| Bueno, estamos en el proceso de contenerlos. 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. |
| Solo revirtamos las cosas. |
| Porque eso que sabes 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 probar todo. |
| De hecho, dejaremos que este se ejecute para mostrarle el resultado final de lo que obtenemos. |
| Solo debería tomar. |
| un poco. |
| Así que probaremos esto, nos aseguraremos de que esté funcionando y de que pueda ver los registros. Estamos obteniendo información decente de lo que está sucediendo, sobre dónde está, como si le dijera el corredor que está corriendo. |
| Solo estoy ejecutando Windows en este momento. Una vez más, esta es una demostración y todo eso menos |
| deberíamos poder correr |
| más. |
| Mientras se ejecuta, solo hablaré un poco más sobre VSCode. |
| En VSCode, también ... también hay fragmentos y cosas, así que si quieres hacer una función, |
| le creará toda la información de la función. Usamos documentos naturales |
| de nuevo, eso fue robado del equipo de Hamcrest, |
| como el nuestro |
| documentación de desarrollo. |
| Así que simplemente pondrá todo en un formato de documentos natural. Así que, nuevamente, la idea es ayudarnos a hacer nuestro trabajo y obligarnos a hacer nuestro trabajo. |
| un poco mejor, con un poco más de entusiasmo. |
| Wayne Levin | ¿Por la documentación? |
| Vince Faller | Eso es para la documentación, sí. |
| Wayne Levin | Mientras desarrollamos, documentamos al mismo tiempo. |
| Vince Faller | Sí. Absolutamente. |
| Ya sabes, también tiene bucles for, bucles while. |
| Porque con una fila asociada, cosas así. |
| ¿Estamos ... esto es ... esto ya está hecho? Probablemente esté hecho, sí. |
| Entonces obtenemos nuestra marca de verificación verde. Ahora se ejecutará en todos los sistemas. |
| Si podemos volver hasta aquí, lo verá. |
| Abra JMP. Ejecutará algunas pruebas, |
| probablemente abrirá Big Class. |
| Luego cierra todo ... se cierra solo. |
| Wayne Levin | Así que estamos haciendo esto, en gran parte porque |
| muchos de nuestros clientes tienen implementadas diferentes versiones de JMP y quieren un complemento en particular, pero están |
| ejecutándolo, tienen, ya sabes, solo versiones diferentes en el campo. También probamos con las primeras versiones de JMP, que es un servicio para JMP porque informamos errores. |
| Pero también para los clientes, es útil porque entonces 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 solo una rutina para nosotros. |
| Bueno. |
| Vince Faller | Ya terminaste. Ya terminaste. Ya terminaste. |
| Cambiar a... |
| Puedo hablar de ... |
| Y esto va a funcionar, podemos |
| Magia de películas, esto si quieres, Meg. |
| Solo para hacerlo funcionar más rápido. |
| Básicamente, solo quiero llegar a la puesta en escena, pero lleva un segundo. |
| ¿Hay algo más que tengas que decir al respecto, Wayne? |
| Fresco. |
| Voy a poner eso ... |
| Algo que puedo decir |
| cuando estamos en la puesta en escena, |
| también tenemos nuestra documentación en mk docs. Por lo tanto, ejecutará la versión de mk doc, la renderizará, colocará la ayuda en los archivos de ayuda y, básicamente, podrá crear una versión para nosotros, para que no tengamos que hacerlo. |
| tratar con él. |
| Porque crear lanzamientos requiere mucho esfuerzo. |
| Cifrando. Esta casi terminado. |
| Probablemente debería haber tenido uno precargado. |
| Demos en vivo, ¿qué vas a hacer? |
| Algunos. |
| Correr. |
| Oh, definitivamente quiero hacer una cosa. |
| Entonces, lo último que hace la canalización es verificar que realmente gastamos nuestro tiempo, porque, ya sabes, si |
| en realidad no registramos nuestro tiempo invertido, no nos pagan, lo que nos obliga a hacerlo. |
| Genial, genial. |
| Vinde Faller | Asi que |
| Vince Faller | el trabajo habría fallado sin eso. |
| Puedo mostrar algunos trabajos. Difícil. |
| Ese es el del acoplador. No queremos eso. |
| Asi que |
| Puede ver que nos dio nuestros éxitos. |
| Sin fallas. Sin lanzamientos inesperados. Eso es todo de Hamcrest. |
| Vamos. Uno mas. |
| Bueno, llegué a la puesta en escena. |
| Una cosa que hace es crear los repositorios. |
| Los crea frescos cada vez. |
| Es como si tratara de mantenerlo en una especie de apátrida. |
| camino. Bien, podemos descargar los artefactos ahora. |
| Y ahora deberíamos tener esta demostración de canalización. |
| Realmente desearía que hubiera ido allí. |
| Qué. |
| ¿Por qué está activo Internet Explorer? Así que ahora verá la demostración de la canalización |
| es un complemento de JMP. |
| Si lo descomprimimos. |
| Si no lo sabía, un complemento JMP es solo un archivo zip. |
| Si miramos eso ahora, |
| puede ver que tiene todos nuestros scripts, tiene nuestro foo, tiene nuestra barra. Si los abrimos, |
| abierto, |
| puede ver que es un archivo encriptado. |
| Así que esto es básicamente lo que podríamos ofrecer al cliente. |
| y no tener tanto trabajo mecánico. Wayne mencionó que |
| es menos frustrado para los desarrolladores y, personalmente, creo que es un eufemismo, porque hacer esto una y otra vez era muy frustrante antes de que lo pusiéramos en marcha, y esto ha ayudado mucho. |
| Ese. |
| Wayne Levin | Ahora, sobre el cifrado, cuando está entregando un complemento |
| para que los usen los usuarios dentro de una empresa, normalmente no desea, por razones de seguridad, etc., no desea que nadie pueda ingresar y |
| lidiar con el código. Ya sabes, ese tipo de cosas, por lo que podemos entregar un código sin encriptar solo para, ya sabes, para que el cliente tenga su código encriptado, pero para entregarlo al usuario final, normalmente querrás que todo esté encriptado, solo para que no pueda. ser manipulado. Solo una de esas cosas. |
| Vince Faller | Sí, y ese es el final de mi demostración. Wayne, si quieres devolverlo para terminar. |
| Wayne Levin | Sí, genial. |
| Seguro, muchas gracias por eso, Vince. Así que hay muchas partes móviles en todo este sistema, por lo que, básicamente, es asegurarse de que tengamos, |
| ya sabes, el código está siendo desarrollado por varios 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 tejer eso. Su... |
| Configuramos la infraestructura para que se encargue automáticamente. Podemos actualizar eso, junto con el código de manera integral, simultáneamente, |
| Si tu quieres. Las pruebas de Hamcrest que están sucediendo, cada una de esas funciones que están escritas, |
| hay resultados esperados, por así decirlo. Así que los comparan y vimos, brevemente, que había, supongo, algún problema con esa ecuación. 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 grupo de casos de uso que se convierten en pruebas de Hamcrest y ya está. Hay algunas otras diapositivas aquí que |
| están disponibles para usted, por ejemplo, cuando usted, cuando usted, si va y descarga las diapositivas. Así que lo dejaré disponible para ti y aquí tienes una pequeña imagen de la tubería |
| que estamos empleando y un poco sobre la actividad de revisión de código para desarrolladores también. Si quieres ir y venir con él. Vince, ¿quieres agregar algo aquí sobre cómo se lleva a cabo la revisión y aprobación del código? |
| Vince Faller | Sí, así que 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 comenzaron un lexer (?) para GitHub y GitLab para poder leer JSL, así que en realidad esto está dentro de getlab. |
| Y también pueden leer JSL. No lo ejecuta, pero tiene un buen formato. No todo es solo texto en blanco, es hermoso allí. Solo entraremos |
| como en esta captura de pantalla, hace clic en una línea, coloca un comentario que desea y se convierte en una tarea revisable. Así que intentamos hacer todo lo que podamos dentro de GitLab |
| por motivos de transparencia, y |
| una vez que todo esté cerrado, puede decir que sí, mi solicitud de fusión está lista para funcionar. Pongámoslo en la rama principal, rama principal. |
| Wayne Levin | Awesom. Así que realmente está ... está ayudando, ya sabe, realmente estamos definiendo estándares de codificación, por así decirlo, y |
| No me gusta la palabra cumplimiento, pero eso es lo que significa. Y reduce la variación. Hace que sea más fácil para varios desarrolladores, por así decirlo, entender qué |
| lo que otros han hecho. Y a medida que incorporamos nuevos desarrolladores, ellos llegan a comprender el estándar y saben qué buscar, saben qué hacer. |
| Entonces ... hace que la incorporación sea mucho más fácil, y nuevamente se trata de ... todo está adjunto a todo aquí, por lo que conoce la compatibilidad, etc. |
| 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 de la comunidad para Hamcrest. Hubo una charla en |
| en Tucson, eso fue en 2019, en los viejos tiempos cuando solíamos viajar y reunirnos. Eso fue muy divertido. Y aquí está el enlace del mercado para las imágenes ... Visual Code Studio. |
| Código de Visual Studio, ¿qué tienes? |
| Entonces, como dijo Vince, sí, hacemos mucho uso de ese editor, en lugar de usar el editor JMP incorporado solo porque está todo integrado. Su... |
| es simplemente 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 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 faltante o fue la pieza habilitadora que realmente nos permitió llevar el desarrollo de JSL a, |
| básicamente, los tipos de estándares que espera en el desarrollo de código, en general, en la industria. Así que estamos muy agradecidos por ello, y sé que nuestro ... |
| ya sabes, eso se propaga con cada aplicación que implementamos. Y en este punto, Vince y yo estamos felices de responder cualquier pregunta que ... |
| info@predictum.com y nos lo enviarán y nos comunicaremos con usted. Pero en este punto, lo abriremos para preguntas y respuestas. |