Code Monkey home page Code Monkey logo

bsq's Introduction

Banner (claro) Banner (oscuro)

English · Español · Français Visitas


$$ \huge\text{Mi objetivo es aumentar mi valor y el de los que me rodean.} $$


Hola, soy Galán, ingeniero informático especializándose en ciberseguridad.

Actualmente me encuentro realizando mi viaje del héroe, siendo mi objetivo durante este período aprender y mejorar todo lo que pueda:

  • Elaborando pruebas de concepto (PoC) con tecnologías que me interesan.
  • Desarrollando mis propios mini-proyectos con los que aumentar mi experiencia.
  • Obteniendo certificaciones que demuestren y validen mi evolución.

He decidido sacar tiempo para suplir aquello que considero que me falta, así como obtener nuevo conocimiento y mejorar, tanto profesional como personalmente.

Anteriormente, trabajé en Hispasec como técnico SOC L2 y coordinador de intervenciones; y adicionalmente, también soy cofundador de Fórmula Hacking, un centro de formación online en ciberseguridad, donde realizo labores de docencia y gestión.

Note

Puedes contactar conmigo a través de mi LittleLink, ya que no uso redes sociales.

Conocimiento técnico

Me interesa aprender sobre distintas tecnologías y formas de hacer las cosas, ya que considero que me permite adaptarme mejor a las situaciones y retos de mi vida profesional.

Informática

La siguiente tabla representa mi experiencia e intereses sobre distintas áreas genéricas.


Experimentado
🔁
Experimentando
🆕
Experimentar
🧩 Lenguajes Assembly Bash
C C++
Haskell Java
Lua Python
Nix Ruby
Rust
Go Nim
Nushell PowerShell
TypeScript
🗂️ Bases de datos MariaDB MySQL
SQLite
MongoDB PostgreSQL
Redis SurrealDB
🛠️ Frameworks Flask Django FastAPI
📦 Virtualización Docker Vagrant
VirtualBox
Kubernetes VMware
🧠 Sistemas operativos Debian Kali Linux NixOS Kali Purple Windows
:octocat: Control de versiones Git GitHub
GitLab Bitbucket
GitKraken Conventional Commits
GitHub Actions
📜 Documentación diagrams.met diagrams.met
LaTeX Markdown
Notion Obsidian
Overleaf
Anytype GitBook

Ciberseguridad

La siguiente tabla representa mi experiencia e intereses sobre distintas ramas de la ciberseguridad.


Experimentado
🔁
Experimentando
🆕
Experimentar
⚪ General WireShark OPNSense
🔴 Red Team Hashcat Hydra
Nessus nmap
John The Ripper Burp Suite
Metasploit OWASP ZAP
🔵 Blue Team Cytomic IBM MaaS360
Trend Micro Virus Total
Iris Suricata
Wazuh Zeek

Estadísticas de GitHub

Las siguientes insignias resumen mi actividad en esta plataforma.

Trofeos
Trofeos secretos

bsq's People

Contributors

15galan avatar

Stargazers

 avatar  avatar

Watchers

 avatar

bsq's Issues

Creación del Makefile

  • Perfil que compruebe la Norminette en todos los archivos .c y . h del repositorio.
  • Perfil que compila el programa.
  • Perfil que ejecute pruebas .ox de la carpeta ignorada inputs/.

Lectura de un archivo de entrada

  • Leer la leyenda desde un archivo.
  • Asignar la leyenda a un struct s_caption.
  • Inicializar el mapa desde un archivo.
  • Validar los argumentos de entrada (#11).
    • La entrada solo contiene caracteres de la leyenda.
    • La entrada tiene dimensiones adecuadas ( $\sqrt{n}$ es entera).

Comprobar archivo

Una vez se ha accedido al archivo(en caso de poder) se debe comprobar que es correcto
Comprobar que:

  • En caso de que se hayan pasado archivos, cada vez que intentemos computar un nuevo mapa, primero comprobemos que el archivo es correcto(1ª linea tiene format NCCC, 2ª-n lineas es un cuadrado N*N con los caracteres de la 1ª linea)
  • En caso de que se pase por stdin, formato NCCC (por ejemplo, por decidir), y N*N

Estructurar el repositorio

lib/*h
src/*.c
Makefile
.gitignore

Una carpeta auxiliar 'inputs/' en el .gitignore, para probar el programa con archivos .ox de mapas.

Lectura correcta de un mapa

Se han encontrado fallos para:

  • Archivo vacío.
  • Mapa vacío (hay leyenda, no hay mapa).
  • Detección de un obstáculo en la coordenada $\texttt{n x n}$ de un Mapa $\texttt{n x n}$.
    • Derivado: error de lectura de mapas $\texttt{1 x 1}$.

Documentar las librerías

Usar comentarios de documentación en inglés.

La estructura del comentario será la siguiente:

/**
 * @brief   Primera línea de la descripción de la función.
 *          Segunda línea de la descripción de la función.
 *          ...
 * 
 * @param x-1   Primer argumento.
 * @param x-2   Segundo argumento.
 * @param ...
 * @param x-n   n-ésimo argumento.
 * 
 * @return Descripción del valor resultante, si lo hubiera.
 */

Debería haber un \t tras @brief y @return, y tras cada nombre de @param.

Recorrido del tablero y cálculo de cuadrados

Aplica el cálculo de un cuadrado iterativamente, para cada posición de cuadrado posible, siendo una posición posible aquella en una de las siguientes aristas:

  • Borde superior o izquierdo del tablero: $i = 0$ o $j = 0$.
  • Borde superior o isquierdo de un obstáculo: $\texttt{celda[i-1][j] = 8}$ o $\texttt{celda]i][j-1]}$.

Implementar el cálculo de un solo cuadrado

Se extenderá la diagonal partiendo de la coordenada de su esquina superior izquierda.

while(can_grow(tablero, i, j)) {
    i++; j++;
}

Siendo tablero el array bidimensional de posiciones del mapa, y los contadores $i$ y $j$ de la posición actual del tablero.

  • Crear una función can_gorw(tablero, i, j) que verifique todas las condiciones para que un cuadrado pueda aumentar de tamaño.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.