Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Práctica 11 de la asignatura de Lenguajes y paradigmas de la programación. En dicha práctica haremos uso de las prácticas anteriores, y utilizaremos la clase Alimento_ y List que en nuestro caso definen una lista doblemente enlazada de alimentos, que a su vez pertenecen a un grupo, ya que hemos hecho uso de la herencia. Hemos hecho uso de los mixin de Ruby Enumerable y Comparable. Además, en esta práctica hacemos uso del paradigma de programación funcional y hemos calculado el aibc y el ig de los alimentos y de los distintos individuos. La nueva funcionalidad añadida es la ordenación de una determinada lista de alimentos mediante tres métodos diferentes: for, each y sort.
Las herramientas que hemos usado para el desarrollo de la misma son las siguientes:
Bundler: Manejo de gemas
Rspec: Desarrollo dirigido por pruebas
Guard: Comprobación continua
Travis: Ejecución de los resultados
Benchmark: Informe de tiempo (banco de pruebas)
Coveralls: Devuelve el cubrimiento y las estadísticas del código Ruby desarrollado
Usaremos la metodología del desarrollo dirigido por pruebas, que consiste en la definición de las pruebas, con el resultado que esperamos, y luego la implementación del mínimo código necesario para el éxito de la misma. Los DSL son herramientas útiles que permiten expresar fácilmente la lógica específica de un problema particular (dominio) que de otro modo será difícil o farragoso de escribir en otro idioma.
Para la interpretación del programa tendremos tan solo que modificar los ficheros de pruebas o clicar enter en la consola con la ejecución de guard, ya que este nos permite ver la ejecución de las pruebas cada vez que estas se modifiquen.
Para ello ejecutaremos:
bundle exec guard
Se podrán insertar alimentos a la lista, y además extraer el primero o el último.
El programa también hace uso de herencia con Ruby, de manera que los alimentos están clasificados por grupos de alimentos, que es una clase heredada de la clase alimento creada en las prácticas anteriores.
A su vez, gracias a los mixin implementados, podremos obtener el maximo valor en la lista, el menor, desordenarla, definir un bloque para que se cumpla en los elementos de la lista, etc.
Tenemos también el resultado del AIBC y además los IG de los alimentos (yogurt, chocolate y compota de manzana) y de los dos individuos instanciados.
Tras la ordenación de la lista obtendremos una lista ordenada utilizando los valores energéticos de cada alimento.
Para generar la documentación en Ruby he hecho uso de la herramienta rdoc la cual he instalado mediante:
gem install rdoc
Y tras haber comentado el código fuente he generado la documentación con:
rdoc
Se ha generado un directorio docs en mi directorio de trabajo en el que se incluye el fichero donde se puede encontrar toda la documentación:
docs/index.html
FAQs
Unknown package
We found that alimento-0100895001 demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.