Blog

Compartir libros de cocina dentro de un equipo

November 23, 2020
Alan Richardson

Compartir libros de cocina dentro de un equipo

Cuando una persona crea una receta de Sensei para mejorar la calidad o la productividad de su código, todos los miembros del equipo pueden beneficiarse al compartir los libros de cocina.

Sensei proporciona una serie de mecanismos para compartir libros de cocina:

  • Almacene libros de cocina en el proyecto bajo control de versiones
  • Almacenamiento de libros de cocina en una carpeta compartida
  • Almacenar libros de cocina en Github
  • Archivos comprimidos a través de HTTP (s)

Al compartir los libros de cocina, Sensei ayuda a los equipos a colaborar en el intercambio de conocimientos. La colaboración ayuda a mejorar la comunicación e integrar los enfoques de calidad del código acordados.

Por ejemplo, compartir un libro de cocina:

  • ayuda a los miembros del equipo a compartir recetas útiles entre sí.
  • ayuda a los jefes de equipo a codificar las prácticas de codificación acordadas, para el personal subalterno, a fin de identificar las infracciones más comunes con una solución rápida para la versión acordada.
  • promueve una mayor cooperación entre equipos, por ejemplo, un equipo de AppSec podría crear recetas para resaltar un problema en el código y el equipo de desarrollo podría escribir la solución rápida.

En las siguientes secciones se explica cómo implementar cada uno de los mecanismos de intercambio.

Almacene libros de cocina en el proyecto bajo control de versiones

La carpeta .sensei del proyecto es la opción predeterminada al crear un archivo de libro de cocina.

  • `proyecto: //.sensei`

Todos los libros de cocina y recetas se almacenarían en una carpeta.sensei de tu proyecto.

La forma más sencilla de compartir es añadir la carpeta .sensei del proyecto al control de versiones.

Luego, la carpeta.sensei se puede administrar como cualquier otro artefacto de código compartido asociado al proyecto. Los libros de cocina se almacenan en la configuración de YAML, lo que facilita su combinación durante cualquier proceso de confirmación y revisión.

Este es el enfoque adoptado para el proyecto público sensei-blog-examples.

La carpeta .sensei contiene el libro de cocina con todas las recetas y están disponibles para cualquiera que clone el repositorio.

Guarde los libros de cocina en cualquier carpeta

Los equipos también pueden usar libros de cocina almacenados en ubicaciones centrales.

Guardar el libro de cocina en cualquier carpeta con permisos de acceso de escritura compartidos permitirá a todo el equipo actualizar las recetas e importarlas a cualquier proyecto en el que estén trabajando.

La ubicación se establecería en la ruta del directorio.

Almacenar recetas en Github

Sensei también puede acceder a las recetas que están almacenadas en un repositorio de Github. Se admiten tanto los repositorios públicos como los privados.

Github a través de SSH

El acceso al repositorio SSH se configura con la siguiente sintaxis para la ubicación

git@github.com: SecureCode Warrior/un libro de cocina.git

Para que esto funcione, el repositorio contendría el contenido de una carpeta de libros de cocina.

También es posible configurar la rama y la subcarpeta del libro de cocina, por ejemplo, en la rama principal, en la subcarpeta del libro de cocina.

por ejemplo

  • git@github.com:SecureCodeWarrior/Sensei - blog-examples.git|master|.sensei

Es necesario configurar una clave SSH para los repositorios privados.

Y la clave no debe tener una contraseña.

Github a través de HTTPS

También es posible acceder a los repositorios públicos a través de HTTPS, y se usa la misma sintaxis de repo.git|branch|folder, p. ej.

Para nuestro proyecto de ejemplos de blog:

  • https://github.com/SecureCodeWarrior/sensei-blog-examples.git|master|.sensei

Para nuestro conjunto de ejemplos de Protección básica, podemos ignorar la rama y la subcarpeta porque obtendremos la rama principal de forma predeterminada y el archivo `rules.sensei` está en la carpeta raíz. :



Compreso a través de HTTP (s)

Sensei también puede acceder a libros de cocina comprimidos, a través de HTTP o HTTPS.

por ejemplo, si tuviera un servidor HTTP escuchando localmente en el puerto 8000

  • http://localhost:8000/rules.sensei.zip

El archivo zip del libro de cocina debe contener el contenido de una carpeta de libros de cocina, por ejemplo, el archivo rules.sensei.

Resumen de uso compartido

Sensei admite el uso de varios libros de cocina para que un programador individual pueda tener recetas que apoyen su propio aprendizaje y productividad.

Y lo que es más importante, sabemos que los equipos trabajan más eficazmente cuando se comparten los conocimientos. Tener repositorios de equipo compartidos, por ejemplo, para un proyecto específico o una biblioteca específica, o para un conjunto compartido de patrones de migración, puede ayudar a aumentar la productividad del equipo y a codificar la experiencia del equipo.

Cuando se comparte un libro de cocina, varios equipos pueden usar el mismo libro de cocina, lo que también puede mejorar la colaboración entre equipos desde diferentes disciplinas, por ejemplo, desde AppSec hasta el desarrollo.

Con cuatro mecanismos básicos de intercambio disponibles, es de esperar que Sensei tenga al menos un enfoque que pueda utilizar para aumentar la colaboración en el intercambio de conocimientos.


---

Puede instalar Sensei desde IntelliJ mediante «Preferencias\ Plugins» (Mac) o «Configuración\ Plugins» (Windows) y, a continuación, buscar «código seguro de sensei».

Todas las publicaciones, códigos y recetas del blog de Sensei están en Github en:


Share on social
Lema

Govern AI-driven development before it ships

Measure AI-assisted risk, enforce secure coding policy at commit, and accelerate secure delivery across your SDLC.

book a demo
book a demo
Lema

Explore more blogs

Lorem ipsum diam quis enim lobortis scelerisque fermentum dui faucibus in ornare quam viverra orci sagittis eu volutpat odio facilisis.

browse all
Case Study
Filter Label
This is some text inside of a div block.

Supercharged Security Awareness: How Tournaments are Inspiring Developers at Erste Group

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

Learn More
Case Study
Filter Label
This is some text inside of a div block.

Security as culture: How Blue Prism cultivates world-class secure developers

Learn how Blue Prism, the global leader in intelligent automation for the enterprise, used Secure Code Warrior's agile learning platform to create a security-first culture with their developers, achieve their business goals, and ship secure code at speed

Learn More
Case Study
Filter Label
This is some text inside of a div block.

One Culture of Security: How Sage built their security champions program with agile secure code learning

Discover how Sage enhanced security with a flexible, relationship-focused approach, creating 200+ security champions and achieving measurable risk reduction.

Learn More
Case Study
Filter Label
This is some text inside of a div block.

Post-Quantum Cryptography: Quantum Computers Will Break Today’s Encryption – Are You Ready?

Post-quantum cryptography (PQC) is critical for protecting data from quantum computing threats. Learn how “harvest now, decrypt later” exposes risk and how developers can prepare for quantum-safe security.

Learn More
Case Study
Filter Label
This is some text inside of a div block.

Enabler 2: Senior Leadership Sponsorship

Explore Enabler 2: Senior Leadership Sponsorship. Learn why active buy-in from the CIO, CTO, and CISO is vital to drive developer adoption and program credibility.

Learn More
Case Study
Filter Label
This is some text inside of a div block.

Observe and Secure the ADLC: A Four-Point Framework for CISOs and Development Teams Using AI

While development teams look to make the most of GenAI’s undeniable benefits, we’d like to propose a four-point foundational framework that will allow security leaders to deploy AI coding tools and agents with a higher, more relevant standard of security best practices. It details exactly what enterprises can do to ensure safe, secure code development right now, and as agentic AI becomes an even bigger factor in the future.

Learn More

Secure AI-driven development before it ships

See developer risk, enforce policy, and prevent vulnerabilities across your software development lifecycle.

Book a demo