El desarrollo moderno de JavaScript puede ser abrumador.

Al trabajar en un proyecto, te puedes preguntar si toda la maquinaria e instrumentación moderna es necesaria.

¿Qué hacen herramientas como Webpack y SystemJS? O ¿qué significa AMD, UMD o CommonJS?  ¿Qué relación tienen entre ellas? y ¿porqué, siquiera, las necesitas?

En esta entrada aprenderemos las diferencias entre módulos JavaScript, formatos de módulo, cargadores de módulo y empaquetadores de módulos.

No se trata de una guía en profundidad de ninguna de las herramientas o patrones individuales, sino de una aproximación que permita entender rápidamente los conceptos del JavaScript moderno.

Lee el resto de esta entrada »

Anuncios

git

Usar múltiples cuentas con repositorios remotos puede resultar complicado.  En esta entrada explico cómo podemos conseguir que Git utilice la clave SSH correcta para el repositorio en el que estemos trabajando.

Creación de diferentes claves públicas

Para generar una clave nueva ejecutaremos el siguiente comando:

$ ssh-keygen -t rsa -C "your_email@youremail.com" -f "your_user_id_file"

La opción -C es un comentario para ayudar a identificar la clave.  La opción -f especifica el nombre del fichero.

En el ejemplo, crearemos 2 claves que debemos guardar en el directorio ~/.ssh/:

~/.ssh/id_rsa_user1
~/.ssh/id_rsa_user2

Una vez creadas, las añadiremos al anillo de claves del agente SSH de autentificación ejecutando los comandos:

$ ssh-add ~/.ssh/id_rsa_user1
$ ssh-add ~/.ssh/id_rsa_user2

NOTA: Podemos eliminar todas las claves anteriormente cacheadas mediante el comando:

$ ssh-add -D

Finalmente podemos comprobar las claves almacenadas mediante el comando:

$ ssh-add -l

Importación de la clave pública en GitHub

Debes importar la clave púbica generada anteriormente en su cuenta GitHub asociada.

Consulta la documentación de GitHub para ver cómo hacerlo.

Configuración de SSH

En el directorio ~/.ssh/ crearemos un fichero llamado config:

$ cd ~/.ssh/
$ touch config

He introduciremos un contenido similar a este:

#user1 account
Host github.com-user1
	HostName github.com
	User git
	IdentityFile ~/.ssh/id_rsa_user1

#user2 account
Host github.com-user2
	HostName github.com
	User git
	IdentityFile ~/.ssh/id_rsa_user2

Clona tu repositorio y modifica su configuración Git

Clona tu repositorio git

$ git clone git@github.com-user1:user1/your-repo-name.git

Si ya tenías una copia local será necesario que actualices el origin:

$ git remote set-url origin git@github.com-user1:user1/your-repo-name.git

Ahora ve al repositorio Git local que quieres configurar y ejecuta:

$ git config user.name "user1"
$ git config user.email "user1@example.com" 

o puedes tener tu configuración git global:

$ git config --global user.name "user1"
$ git config --global user.email "user1@example.com"

Repite el proceso con el otro usuario y su repositorio.

A partir de aquí, podemos usar el flujo normal para publicar nuestro código

$ git add .
$ git commit -m "your comments"
$ git push

vía

Maven

Maven 2.1.0+ soporta la encriptación de contraseñas de servidor.  Los principales casos de uso que abarca esta solución son:

  • múltiples usuarios comparten el mismo equipo (servidor, equipo de IC)
  • algunos usuarios tienen privilegios para desplegar artefactos Maven en repositoros y otros no.  Esto se aplicat también a operaciones de servidor, que requieran autorización, no solo a despliegues.
  • settings.xml se comparte entre usuarios.

La solución implementada añade las siguientes capacidades:

  • lo usuarios autorizados tienen un fichero settings-security.xml adicional en su carpeta ~/.m2
  • el fichero contiene o bien una contraseña maestra, usada para encriptar otras contraseñas o bien contiene una referencia a la ubicación de otro fichero, posiblemente en un sistema de almacenamiento extraible, que contendrá la contraseña maestra.  Esta contraseña se crea antes usando CLI
  • las entradas server de settings.xml contienen contraseñas y/o passhrases de almacenes de claves encriptadas – esto se realiza usando CLI después de haber creado la contraseña maestra y de haberla almacenado en la ubicación apropiada

Lee el resto de esta entrada »

Atlassian_Confluence_Logo.svgCon la página en modo edición:

  1. Escribe ‘!’ y selecciona el SVG adjunto (que has adjuntado previamente)
  2. Haciéndolo así, se renderiza inline
  3. Adjusta el tamaño de la imagen según tus necesidades

vía

kyocera

Según cómo esté configurada una impresora Kyocera, puede ser necesario proporcionar un ID de usuario para la contabilización de trabajos enviados (sin el cual, la impresora no dejará imprimir).

Para establecer dicho parámetro en Linux, podemos instalar los drivers propietarios del fabricante o bien realizar una pequeña modificación en el PPD usado genéricamente en CUPS.

Para hacer esto último editamos el fichero correspondiente a nuestra impresora que se encuentra en /etc/cups/ppd y buscamos la línea:

*KmManagment MG00000000/00000000: "(00000000) statusdict /setmanagementnumber get exec"

Intertamos justo antes de esta línea una nueva con nuestro ID, por ejemplo, 1234:

*KmManagment MG1234/1234: "(1234) statusdict /setmanagementnumber get exec"

Y establecemos dicha cuenta como la cuenta por defecto, modificando el valor de:

*DefaultKmManagment: MG00000000

por:

*DefaultKmManagment: MG1234

Maven

Si tienes un proyecto maven multi-módulo y quieres construir solamente uno de los submódulos, puedes utilizar las opciones avanzadas del reactor, más concretamente:

  • -pl, –projects
    Construye solamente los proyectos del reactor especificados en vez de construir todos
  • -am, –also-make
    Si se especifica una lista de proyectos, también se construyen los proyectos requeridos por la lista

Así, si nos situamos en el el directorio P del proyecto padre y ejecutamos:

mvn install -pl B -am

esto construirá B y los módulos requeridos por B.

via

adb-installation
NOTA: Para poder realizar estas acciones tu dispositivo debe estar rooteado.

Si olvidaste habilitar el modo desarrollador y el adb no está ejecutándose, realiza lo siguiente:

  • Reinicia tu dispositivo en modo recovery
  • Conéctalo al PC utilizando el cable USB
  • Abre un terminal
  • Si ejecutas adb devices deberías ver el dispositivo en la lista. Si es así, ejecuta:adb shell mount /system
    abd shellecho "persist.service.adb.enable=1" >> default.prop
    echo "persist.service.debuggable=1" >> default.prop
    echo "persist.sys.usb.config=mtp,adb" >> default.prop
    echo "persist.service.adb.enable=1" >> /system/build.prop
    echo "persist.service.debuggable=1" >> /system/build.prop
    echo "persist.sys.usb.config=mtp,adb" >> /system/build.prop

    Ahora, si reinicias tu teléfono android te dirá “oh, tu adb se está ejecutando pero, por favor, pulsa este botón Aceptar para que confiemos en tu PC“. Como no queremos siquiera que nos pregunte, haremos lo siguiente (asumiendo que ya hemos salido del modo shell de adb, sino, antes escribe exit):

    cd ~/.android
    adb push adbkey.pub /data/misc/adb/adb_keys

  • Listo! Ahora simplemente reinicia el teléfono y deberías ser capaz de tener acceso adb

vía

A %d blogueros les gusta esto: