Libro de Rust Edición 2018

Llevo un tiempo muy interesado en este lenguaje de programación https://www.rust-lang.org/ y estoy leyendo su libro edición 2018: https://doc.rust-lang.org/book/ . Me decidí a traducirlo tanto para practicar mi oxidado (espero que el juego de palabras se entienda 😉 ) inglés, como para evitar tener que releerlo en ese idioma que tan poco domino.

Bueno, pues he terminado los doce primeros capítulos (me paré aquí porque en ese capítulo 12 muestran, con un ejemplo de desarrollo, todos los temas vistos hasta ahora). Me he puesto en contacto con la gente de Rust (@rustlang) y me han comentado que existe una issue en su github en el que se “suben” las traducciones y se realizan las colaboraciones pertinentes (https://github.com/rust-lang/book/issues/661) Buuff, me da mucha pereza pasarlo a Markdown, y trabajar con github…

Por eso os lo subo aquí por si a alguien le interesa: Traducción Rust 2018 vol1

Si encontráis errores, posibles mejoras..pues eso. Si alguien quiere subirlo al issue del github de Rust-lang, adelante.

Sigo con la traducción de los siguientes capítulos y, en un futuro, me gustaría subir también los ejercicios que estoy realizando para practicar el lenguaje.

Nota: después de realizar este trabajo he visto que ya existe una traducción anterior a la mía y, probablemente mejor: https://github.com/rust-lang/book/issues/1382

Lástima no haberla visto antes.

Un saludo y programad mucho

Etiquetas

Creamos las etiquetas con python

Etiquetas.py

from reportlab.pdfgen import canvas
from reportlab.lib.pagesizes import A4
from reportlab.lib.units import cm
import sys

#Lanzaremos un csv por pantalla para analizar las posiciones
if len(sys.argv) >1 :
    if sys.argv[1]== "csv":
        csv=True
    else:
        csv=False
else:
    csv=False

#Obtenemos el ancho y el alto de un DinA4
ANCHO, ALTO = A4

#Definimos la etiqueta
MARGENSUPERIOR=0.8*cm
ANCHOETI=7*cm
ALTOETI=3.5*cm
POSXTXT=2.5*cm
POSYTXT=1*cm

POSYIMG=3.5*cm
POSXIMG=2.3*cm
ANCHOIMAGEN=2.5*cm
ALTOIMAGEN=2.5*cm

#Tenemos en cuenta que empezamos por COLUMNA 0 y FILA 0
COLUMNAS = 2

FILAS = 7

COLUMNA=0
FILA = 0


etiquetas = canvas.Canvas("etiquetas.pdf", pagesize=A4)
etiquetas.setFont("Times-Roman", 20)
if csv:
    print("FILA;COLUMNA;posxTXT;posyTXT;posxIMG;posyIMG")

for i in range(52):
    #Calculamos la posx y la posy del texto
    posyTxT=ALTO - (MARGENSUPERIOR + FILA * ALTOETI + POSYTXT)
    posxTxT=COLUMNA * ANCHOETI + POSXTXT
    posyIMG=ALTO - (MARGENSUPERIOR + FILA * ALTOETI + POSYIMG)
    posxIMG=COLUMNA * ANCHOETI + POSXIMG
    if csv:
        print("{};{};{};{};{};{}".format(FILA, COLUMNA,posxTxT/cm,posyTxT/cm,posxIMG/cm,posyIMG/cm))

    if i < 10:
        prefijo="0"+str(i)
    else:
        prefijo=str(i)
    etiquetas.drawString(posxTxT,posyTxT,"1819"+prefijo)
    etiquetas.drawImage("etiquetasqr/1819"+prefijo+".png",posxIMG, posyIMG, width=ANCHOIMAGEN,height=ALTOIMAGEN)
    #Si llegamos a la última columna incrementamos la FILA
    if COLUMNA == COLUMNAS:
        COLUMNA = 0
        if FILA < FILAS:
            FILA+=1
        else:
            #Saltamos página, ponemos filas a 0 y volvemos a configurar los Fonts
            FILA=0
            etiquetas.showPage()
            etiquetas.setFont("Times-Roman", 20)
            #etiquetas.save()
    else:
        COLUMNA += 1


etiquetas.showPage()
etiquetas.save()


Creamos los QR desde shell

contador=0
for i in `cat url.txt`
do
	if [ $contador -lt 10 ]
        then
		contadortxt="0"$contador
	else
		contadortxt=$contador
	fi
	qrencode  $i -o 1819$contadortxt.png
	contador=`expr $contador + 1`
done

Y como muestra un botón: etiquetas

Un saludo

El blog del taller

Bueno, pues ya está montado el blog:
https://talleriesvillaverde2019.wordpress.com/

Nos falta por añadir:
-Vídeo donde guardamos los cables SATA
-Vídeo donde guardamos las placas base para prácticas
-Subir la información por equipo que realizaremos el próximo martes (bastará con enviar un correo electrónico a la dirección que os proporcionaré el mismo martes)
-Y modificar el inventario con los nuevos datos

Os recuerdo que deben estar “subidos” todos los equipos al inventario antes de las 8:15 del próximo martes.

Un saludo