Aprende JavaScript con estos Repositorios de GitHub

Hoy os traigo una serie de repositorios de GitHub que os permitirán aprender más sobre JavaScript y profundizar más en las curiosidades del leguaje.

You Don’t Know JS

⭐ 178k+

Una serie de libros que profundizan en los mecanismos fundamentales del lenguaje JavaScript.

Enlace: https://github.com/getify/You-Dont-Know-JS

WTFJS

⭐ 34k+

Una lista de ejemplos curiosos y difíciles de JavaScript.

Enlace: https://github.com/denysdovhan/wtfjs

JS The Right Way

⭐ 8k+

Una referencia rápida sobre buenas prácticas y estándares aceptados de código JavaScript.

Enlace: https://github.com/jstherightway/js-the-right-way

Clean Code JavaScript

⭐ 90k+

Principios de ingeniería de software del libro Clean Code, adaptados para JavaScript.

Enlace: https://github.com/ryanmcdermott/clean-code-javascript

33 JS Concepts

⭐ 62k+

Una guía de 33 conceptos modernos de JavaScript que todo desarrollador debería conocer.

Enlace: https://github.com/leonardomso/33-js-concepts

ES6 for Humans

⭐ 7k+

Una guía explicativa para comenzar a escribir ES6 de manera clara y comprensible.

Enlace: https://github.com/metagrover/ES6-for-humans

Javascript-algorithms

⭐ 187k+

Este repositorio contiene ejemplos basados en JavaScript de muchos algoritmos y estructuras de datos populares.

Enlace: https://github.com/trekhleb/javascript-algorithms/blob/master/README.es-ES.md

Minientrada

¡Precaución! Estafas en Parquímetros

Las estafas conocidas como quishing se están volviendo más comunes en varios países. En estos casos, los delincuentes sustituyen los códigos QR auténticos por falsos que redirigen a sitios web que imitan a los oficiales, pero que están bajo control de ciberdelincuentes.

Recomendaciones (para el caso de los parquímetros):

  1. Descarga siempre las aplicaciones de parquímetros desde sus sitios oficiales.
  2. Realiza los pagos únicamente a través de esas aplicaciones.
  3. Si es necesario escanear un código QR, asegúrate de tocarlo para verificar que no haya otro código oculto debajo.


Fuente: María Aperador Montoya.

Web para encontrar ideas de proyectos para aprender a ser un gran desarrollador

Hoy os traigo Roadmap.sh, una plataforma en línea que ofrece guías detalladas y bien organizadas para ayudar a los desarrolladores y profesionales de la tecnología en su proceso de aprendizaje y en el desarrollo de habilidades clave. Estas guías, conocidas como «mapas de ruta», son representaciones visuales que indican las tecnologías, herramientas y conceptos necesarios para avanzar en una carrera tecnológica específica.

Principales características:

  • Mapas de ruta adaptados a diferentes roles: La plataforma ofrece guías específicas para varios perfiles tecnológicos, como desarrollador frontend, backend, DevOps, ingeniero de datos, entre otros. Cada mapa de ruta está diseñado para mostrar el orden recomendado de aprendizaje de tecnologías y conceptos clave según el rol.
  • Actualización constante: Los mapas de ruta se actualizan regularmente para mantenerse al día con las últimas tendencias y prácticas recomendadas en la industria tecnológica.
  • Recursos adicionales: Además de los mapas, Roadmap.sh sugiere recursos, tutoriales y documentación que pueden ser útiles para aprender cada tecnología o concepto en profundidad.
  • Diseño visual intuitivo: Los mapas de ruta están diseñados de manera clara y visual, lo que permite a los usuarios ver de forma sencilla qué deben aprender y en qué orden hacerlo.

¿Para qué sirve?

Roadmap.sh es una herramienta útil para quienes están comenzando en un área tecnológica nueva o desean profundizar sus conocimientos en un campo específico. Los mapas de ruta ayudan a:

  • Guiar el aprendizaje: Ofreciendo un plan estructurado sobre los pasos a seguir en el proceso de aprendizaje.
  • Evitar la sobrecarga de información: Focalizando el aprendizaje en las tecnologías y conceptos más relevantes para una carrera específica.
  • Mantenerse actualizado: Asegurando que los profesionales sigan las tendencias actuales en desarrollo de software y otras áreas tecnológicas.

En resumen, Roadmap.sh es una herramienta valiosa para quienes buscan un enfoque claro y organizado para avanzar en su carrera tecnológica.

Competición de peores Interfaces de Usuario

¿Te ha pasado alguna vez que intentas reservar una mesa en un restaurante por internet y terminas reservando un viaje a otro continente? ¿O que quieres cerrar una ventana de publicidad y accidentalmente compras tres licencias de antivirus? Si has experimentado el horror de un diseño de interfaz torcido, poco intuitivo y, francamente, incomprensible, entonces el subreddit r/badUIbattles es tu paraíso… o tu peor pesadilla.

¿Qué es r/badUIbattles?

Es el lugar de Reddit donde el diseño desastroso encuentra su hogar. Aquí, miles de usuarios comparten capturas de pantalla, videos y memes sobre las peores experiencias de usuario en aplicaciones, sitios web y dispositivos que parece que fueron diseñados por alguien con los ojos cerrados. Básicamente, es una galería de los mejores errores de los peores diseñadores.

No importa si se trata de un botón que lleva a un lugar inesperado, una fuente ilegible en un color invisible, un menú tan caótico que parece diseñado por un artista abstracto, o un anuncio imposible de cerrar: si te hace decir “¿qué estaban pensando?”, r/badUIbattles es su hogar.

 

¿Por qué la gente ama/odia r/badUIbattles?

Más allá de la frustración, ver estos fallos de diseño se vuelve divertido porque todos nos identificamos con esas situaciones donde una simple tarea se convierte en una misión imposible. Cada publicación es un recordatorio de lo importante que es un buen diseño, y es un lugar donde nos reímos del desastre. Además, la comunidad se une para comentar, proponer soluciones, y por supuesto, burlarse con humor de los errores.

Y lo mejor de todo, esta comunidad de críticos y «entendidos» del diseño no se toma nada demasiado en serio. Los usuarios compiten (amistosamente) para ver quién encuentra el error más absurdo, y todos los días aparece algún ejemplo que desafía las leyes de la lógica y de la estética. Es como ver una película mala, tan mala que es buena: estos errores terminan siendo el mejor entretenimiento.

Así que, ¿por qué no darte una vuelta?

Si alguna vez te frustras por un botón confuso o una pantalla que parece diseñada por alguien que no ha usado una computadora en su vida, pasa por r/badUIbattles. Ríete de los errores ajenos, desahógate en los comentarios, y tal vez, solo tal vez, encuentres el consuelo de que otros también han sufrido en el campo de batalla de las malas interfaces.

Minientrada

Encuentra una Frase de una Película al Instate con esta Web

Seguro que alguna vez te has preguntado como lo hacen los Youtubers para poner ciertos clips de películas y has creído que tienen que ir buscando en las películas que han visto o algo por el estilo.

La verdad que no es así, existe una web en la que puedes escribir la frase y te la localiza en cualquier película, serie, cancion… Los usuarios pueden buscar una frase o un tema, y Yarn mostrará una selección de clips donde se pronuncian esas palabras. Es muy similar a un motor de búsqueda de memes, pero enfocado en diálogos de videos, haciéndolo ideal para añadir un toque de cultura pop a las interacciones en línea.

La web en cuestión es geryarn y puedes entrar accediendo a este enlace: https://getyarn.io/.

Minientrada

Visualiza Diagramas de todas tus Bases de Datos

Hoy os traigo una herramienta brutal para entender tus bases de datos. Se llama ChartDB y puedes acceder a ella en este enlace https://app.chartdb.io/diagrams/.

ChartDB es una herramienta en línea que permite a los usuarios diseñar, visualizar y compartir diagramas de bases de datos (como diagramas entidad-relación o ERD por sus siglas en inglés). Estos diagramas son muy útiles, ya que te pueden ayudar a entender y gestionar la estructura y relaciones dentro de una base de datos.

Entre sus carácterísitcas más destacadas están:

  • Diagrama interactivo con tus tablas.
  • Descarga el diagrama como una imagen PNG u otro formato.
  • Compatible con mySQL, PostgreSQL, SQLite…
  • Colaboración: Los diagramas pueden ser compartidos con otros, permitiendo la colaboración en proyectos de base de datos de forma remota y en tiempo real.

ChartDB es particularmente útil para aquellos que trabajan con bases de datos complejas y necesitan una herramienta visual para entender y comunicar la estructura de sus datos. Es ideal para diseñar bases de datos, crear diagramas para documentar una base de datos existente, etc.

Cómo iniciar Windows en Modo Seguro

Para obtener un tutorial más detallado sobre cómo iniciar Windows 10 en modo seguro, os dejo este tutorial en inglés: How to Start Windows 10 in Safe Mode with Networking

Básicamente los pasos a seguir son los siguientes:

  1. Pulsa las teclas Ctrl+Alt+Supr al mismo tiempo para entrar en la pantalla de seguridad de Windows.
  2. Mientras mantienes pulsada la tecla Mayúsculas, haz clic en el botón de encendido (botón de encendido de Windows 10) y luego haz clic en Reiniciar.
  3. Cuando Windows 10 se reinicie, estarás en la pantalla Elegir una opción. En esta pantalla, haga clic en el botón Solucionar problemas para acceder a las opciones de Solución de problemas.
  4. En la pantalla Solución de problemas, haga clic en el botón Opciones avanzadas para abrir la pantalla de opciones avanzadas.
  5. En la pantalla de Opciones avanzadas, haga clic en la opción Configuración de inicio. Se abrirá la pantalla Configuración de inicio.
  6. En la pantalla Configuración de inicio, haga clic en el botón Reiniciar. Windows se reiniciará.
  7. Tras el reinicio, aparecerá la pantalla Configuración de inicio. En esta pantalla debes pulsar la tecla número 5 de tu teclado para entrar en Modo seguro con funciones de red.
  8. Su ordenador se reiniciará. Una vez reiniciado, aparecerá un mensaje de inicio de sesión. Inicie sesión para acceder al Modo seguro con funciones de red.
Minientrada

¿No sabes crear grids con CSS? Esta web te enseña

La web CSS Grid Generator es una herramienta en línea diseñada para ayudar a los desarrolladores y diseñadores web a crear rápidamente diseños de cuadrículas (grids) utilizando CSS Grid Layout. CSS Grid es una técnica poderosa para crear layouts de sitios web, y esta herramienta simplifica el proceso al generar el código CSS necesario sin que tengas que escribirlo manualmente.

¿Para qué sirve CSS Grid Generator?

  1. Diseño Visual Intuitivo: Permite crear diseños de cuadrículas de manera visual, ajustando filas, columnas, espacios entre elementos (gaps), y otras propiedades directamente desde la interfaz gráfica.
  2. Generación Automática de Código CSS: A medida que ajustas el diseño visualmente, CSS Grid Generator genera automáticamente el código CSS correspondiente. Puedes copiar este código y pegarlo directamente en tu proyecto para implementar el layout.
  3. Personalización Rápida: Puedes experimentar con diferentes configuraciones de filas y columnas, añadiendo o eliminando elementos fácilmente, lo que facilita la exploración de distintos diseños sin tener que escribir o modificar manualmente el código CSS.
  4. Ahorro de Tiempo: Es especialmente útil para desarrolladores que quieren crear layouts complejos rápidamente, sin necesidad de memorizar la sintaxis completa de CSS Grid.

En resumen, CSS Grid Generator es una herramienta práctica que simplifica la creación de layouts en CSS Grid, permitiendo a los usuarios generar el código necesario de forma rápida y eficiente, lo que es ideal tanto para principiantes como para desarrolladores experimentados que buscan optimizar su flujo de trabajo.

Minientrada

Sherlock, el mejor detective de OSINT

En el vasto panorama de la ciberseguridad y el análisis forense, las herramientas especializadas desempeñan un papel crucial. Hoy os traigo, Sherlock Linux, una herramienta que destaca como una solución robusta diseñada para potenciar la seguridad y simplificar el análisis forense en sistemas basados en Linux.

¿Qué es Sherlock Linux?

Sherlock Linux es una distribución personalizada de Linux que integra una variedad de herramientas de ciberseguridad y análisis forense. Está diseñada para proporcionar a los profesionales de la seguridad un entorno optimizado para la detección de amenazas, análisis de incidentes y recuperación de datos.

Características

Suite de Herramientas de Seguridad: Incluye una amplia gama de herramientas de ciberseguridad preinstaladas, como escáneres de vulnerabilidades, analizadores de tráfico de red, y sistemas de detección de intrusiones.

Entorno de Análisis Forense: Ofrece herramientas especializadas para el análisis forense digital, permitiendo la recuperación y el examen de datos, así como la identificación de rastros de actividades maliciosas.

Interfaz Amigable: Aunque está repleta de funciones avanzadas, Sherlock Linux cuenta con una interfaz de usuario intuitiva que facilita su uso tanto para expertos como para principiantes en ciberseguridad.

Actualizaciones Regulares: La distribución se mantiene actualizada con las últimas herramientas y parches de seguridad, garantizando que los usuarios siempre tengan acceso a las soluciones más recientes y efectivas.

Podéis descargarlo en el siguiente enlace: https://www.sherlock-linux.org/

Guía de BASH para principiantes

Bash (Bourne Again Shell) es un lenguaje de shell basado en el Bourne Shell original, que fue distribuido con el V7 Unix en 1979 y se convirtió en el estándar para escribir scripts de shell.

En la actualidad, es el shell principal en la mayoría de las distribuciones de Linux, en macOS y, recientemente, ha sido habilitado para ejecutarse en Windows a través del WSL (Subsistema de Windows para Linux).

Operadores cadenas

CARÁCTER DESCRIPCIÓN
= es igual a
== es igual a
!= no es igual a
< es mayor que el orden alfabético ASCII
> es mayor que el orden alfabético ASCII
-z la cadena es nula (es decir, de longitud cero)
-norte la cadena no es nula (es decir, de longitud cero)

Operadores numéricos

CARÁCTER DESCRIPCIÓN
-eq es igual a
-ne no es igual a
-gt es mayor que
-ge es mayor o igual a
-lt es menor que
-le es menor o igual a
< es menor que – colocar entre paréntesis dobles
<= es menor o igual que (misma regla que la fila anterior)
> es mayor que (misma regla que la fila anterior)
>= es mayor o igual que (misma regla que la fila anterior)

Códigos de salida/error

CÓDIGO DE SALIDA NO. DESCRIPCIÓN
1 Catchall para errores generales
2 Mal uso de las funciones integradas del shell
126 El comando invocado no puede ejecutarse
127 Comando no encontrado
128 Argumento no válido para salir
128+n Señal de error fatal «n»
130 Script terminado por Control-C

Señales de control

COMBINACIÓN DE TECLAS DESCRIPCIÓN
Ctrl+C La señal de interrupción envía SIGINT al trabajo que se ejecuta en primer plano.
Ctrl+Y El carácter de suspensión retrasada. Provoca la detención de un proceso en ejecución cuando intenta leer la entrada del terminal. El control se devuelve al shell, el usuario puede poner en primer plano, en segundo plano o finalizar el proceso. La suspensión retrasada solo está disponible en sistemas operativos que admiten esta función.
Ctrl+Z La señal de suspensión envía un SIGTSTP a un programa en ejecución, deteniéndolo y devolviendo el control al shell.

Otras señales

NOMBRE NÚMERO ACCIÓN  DESCRIPCIÓN
SIGHUP 1 salida Cuelga
SIGINT 2 salida Interrumpe.
SIGQUIT 3 volcado de memoria En paz.
SIGILL 4 volcado de memoria Instrucción ilegal.
SIGTRAP 5 volcado de memoria Trampa de rastro.
SIGIOT 6 volcado de memoria Instrucción IOT.
SIGEMT 7 volcado de memoria Instrucción MT.
SIGFPE 8 volcado de memoria Excepción de punto flotante.
SIGKILL 9 exit Muertes (no se pueden atrapar ni ignorar).
SIGBUS 10 core dump Error de autobús.
SIGSEGV 11 core dump Violación de segmentación.
SIGSYS 12 core dump Mal argumento para la llamada al sistema.
SIGPIPE 13 salida Escribe en una pipa sin que nadie pueda leerlo.
SIGALRM 14 salida Despertador.
SIGTERM 15 salida Señal de terminación del software.

Permisos

CÓDIGO DESCRIPCIÓN
s setuid cuando está en la columna de usuario
s setgid cuando está en la columna del grupo
t sticky bit
0—— El derecho de acceso que debería tener este lugar no está concedido.
4—–r Se concede acceso de lectura a la categoría de usuario definida en este lugar.
2—–w Se concede permiso de escritura a la categoría de usuario definida en este lugar.
1—–x El permiso de ejecución se otorga a la categoría de usuario definida en este lugar.
u Permisos de usuario
g permisos de grupo
oh otros permisos

Archivos especiales

ARCHIVO INFORMACIÓN
/etc/profile Ejecutado automáticamente al iniciar sesión
~.bash_profile
———————
~/.bash_login
———————
~.profile
Lo que se encuentre primero se ejecuta al iniciar sesión.
~/.bashrc Es leído por todos los shells sin inicio de sesión.

Expresiones regulares

OPERADOR EFECTO
. Coincide con cualquier carácter individual.
? El ítem anterior es opcional y se igualará, como máximo, una vez.
* El elemento anterior coincidirá cero o más veces.
+ El elemento anterior coincidirá una o más veces
{N} El elemento anterior coincide exactamente N veces.
{N,} El elemento anterior coincide N o más veces.
{N,M} El elemento anterior coincide al menos N veces, pero no más de M veces.
Representa el rango si no es el primero o el último en una lista o el punto final de un rango en una lista.
^ Coincide con la cadena vacía al principio de una línea; también representa los caracteres que no están en el rango de una lista.
$ Coincide con la cadena vacía al final de una línea.
[aoeiAOEI] Coincide con 1 carácter cualquiera de la lista.
[^AOEIaoei] ¡Coincide con 1 carácter cualquiera, que no está en la lista!
[af] Coincide con 1 carácter cualquiera en el rango af

Comandos

BUILTIN DESCRIPCIÓN
: Equivalente a verdadero.
. Lee y ejecuta comandos desde un archivo designado en el shell actual.
[ Es sinónimo de prueba pero requiere un argumento final de ].
alias Define un alias para el comando especificado.
bg Reanuda un trabajo en modo de fondo.
bind Vincula una secuencia de teclado a una función o macro de línea de lectura.
break Sale de un bucle for, while, select o Until.
builtin Ejecuta el comando integrado del shell especificado.
caller Devuelve el contexto de cualquier llamada de subrutina activa.
case
cd Cambia el directorio actual al directorio especificado.
command Ejecuta el comando especificado sin la búsqueda normal del shell.
compgen Genera posibles coincidencias de finalización para la palabra especificada.
complete Muestra cómo se completarían las palabras especificadas.
comopt
continue Reanuda la siguiente iteración de un bucle for, while, select o Until.
declare Declara una variable o tipo de variable.
dirs Muestra una lista de los directorios recordados actualmente.
disown Elimina los trabajos especificados de la tabla de trabajos para el proceso.
echo Muestra la cadena especificada en STDOUT.
enable Habilita o deshabilita el comando de shell integrado especificado.
eval Concatena los argumentos especificados en un solo comando y ejecuta el comando.
exec Reemplaza el proceso de shell con el comando especificado.
exit Obliga al shell a salir con el estado de salida especificado.
export Establece las variables especificadas para que estén disponibles para los procesos de shell secundarios.
fc Selecciona una lista de comandos de la lista del historial.
fg Reanuda un trabajo en modo de primer plano.
getopts Analiza los parámetros posicionales especificados.
hash Encuentra y recuerda la ruta completa del comando especificado.
help Muestra un archivo de ayuda.
history Muestra el historial de comandos.
if Utilizado para ramificación.
jobs Enumera los trabajos activos.
kill Envía una señal del sistema al ID de proceso especificado (PID).
let Evalúa cada argumento en una expresión matemática.
local Crea una variable de alcance limitado en una función.
logout Sale de un shell de inicio de sesión.
mapfile
popd Elimina entradas de la pila de directorios.
printf Muestra texto usando cadenas formateadas.
pushd Agrega un directorio a la pila de directorios.
pwd Muestra el nombre de ruta del directorio de trabajo actual.
read Lee una línea de datos de STDIN y la asigna a una variable.
readonly Lee una línea de datos de STDIN y la asigna a una variable que no se puede cambiar.
return Obliga a una función a salir con un valor que puede ser recuperado por el script que la llama.
set Establece y muestra valores de variables de entorno y atributos de shell.
shift Gira los parámetros posicionales una posición hacia abajo.
shopt Alterna los valores de las variables que controlan el comportamiento opcional del shell.
source Lee y ejecuta comandos desde un archivo designado en el shell actual.
suspend Suspende la ejecución del shell hasta que se reciba una señal SIGCONT.
test Devuelve un estado de salida de 0 o 1 según la condición especificada.
times Muestra el tiempo acumulado de shell del sistema y del usuario.
trap Ejecuta el comando especificado si se recibe la señal del sistema especificada.
type Muestra cómo se interpretarían las palabras especificadas si se usaran como un comando.
typeset Declara una variable o tipo de variable.
ulimit Establece un límite en el recurso específico para los usuarios del sistema.
umask Establece permisos predeterminados para archivos y directorios recién creados.
unalias Elimina el alias especificado.
unset Elimina la variable de entorno o el atributo de shell especificado.
until Bucle que es muy similar al bucle while excepto que se ejecuta hasta que el comando de prueba se ejecuta con éxito. Mientras el comando de prueba falle, el ciclo hasta continúa.
wait Haga que el shell espere a que termine un trabajo.
while Espera a que se complete el proceso especificado y devuelve el estado de salida.