pc

  1. NO ESTÁ PERMITIDO PUBLICAR

    Acerca de José Antonio Rojas Delgado:


  1. X

    José Antonio Rojas Delgado (http://www.rojasdelgado.com)

    24/12/2022 13:52:02
    sábado, 24 de diciembre del año de N.S. 2022

    jard: Para lograr algo hay que perseverar. El logro es el fruto del esfuerzo repetido incansable ante infortunios. El ciclo de la vida es intentar, caerse, levantarse, volver a intentar, ...

    To achieve something you have to persevere. Achievement is the fruit of tireless repeated effort in the face of misfortunes. The cycle of life is to try, fall, get up, try again, ...

    Pour réussir quelque chose, il faut persévérer. La réussite est le fruit d'efforts inlassables et répétés face aux malheurs. Le cycle de la vie c'est essayer, tomber, se relever, réessayer, ...






  2. X

    José Antonio Rojas Delgado (http://www.rojasdelgado.com)

    22/12/2022 19:26:49
    jueves, 22 de diciembre del año de N.S. 2022

    jard: CONFIANZA CERO

    Resumen de los apuntes del curso Administración Avanzada de Windows de la Junta de Andalucía:

    PRINCIPIOS DE LA CONFIANZA CERO:
        1.- COMPROBACIÓN EXPLÍCITA DE IDENTIDAD
        2.- PRIVILEGIOS MÍNIMOS IMPRESCINDIBLES EN UN MOMENTO DADO: JUST-IN-TIME, JUST-ENOUGH
        3.- ASUMIR BRECHAS

    Resumen con mis palabras, como norma general para un técnico informático administrador de sistemas que usan funcionarios de la Junta de Andalucía:

    SEGÚN QUIEN ERES (JUST-TO-YOU) TE DOY LOS PERMISOS MÍNIMOS QUE NECESITES (JUST-ENOUGH) PARA HACER TU TRABAJO, Y SOLO CUANDO LO NECESITES (JUST-IN-TIME), YA QUE NOS ESTÁN ATACANDO JUSTO AHORA (JUST-ATTACKING)

    Otras anotaciones:

    DE NADA SIRVE LA SECURIZACION DE UN PORTÁTIL PARA USO DE UN FUNCIONARIO EN TELETRABAJO (HDD-USER-PASSWORD, TPM-BITLOCKER, VPN-FORTICLIENT-CERTIFICADODIGITAL-USUARIOCORPORATIVO, ESCRITORIOREMOTO-RDP-VNC-USUARIOLDAP) SI EL PORTÁTIL SE USA JUNTO A UNA VENTANA QUE DA A LA ACERA Y SE PUEDE REALIZAR DESDE ELLA UNA FOTO DE LA PANTALLA MIENTRAS MUESTRA INFORMACIÓN CONFIDENCIAL.

    DE NADA SIRVE LA SECURIZACION DE UN CORREO ELECTRÓNICO PARA UN FUNCIONARIO MEDIANTE USUARIO CORPORATIVO SI SE ENVIA EL CORREO MEDIANTE TEXTO PLANO A OTRO CORREO NO CORPORATIVO CUYOS SERVIDORES ESTÁN FUERA DE EUROPA (GMAIL, HOTMAIL, ...)






  3. X

    José Antonio Rojas Delgado (http://www.rojasdelgado.com)

    22/12/2022 19:16:11
    jueves, 22 de diciembre del año de N.S. 2022

    jard: zen coding emmet

    La escritura de código fuente acelerada es una característica que se echa de menos cuando cambias de editor. Desde 2009 se conoce en general como CODIFICACION ZEN (Zen Coding en inglés) (ver https://en.wikipedia.org/wiki/Emmet_(software))
    y desde 2013 y hasta la actualidad se conoce como EMMET.

    La funcionalidad consiste en escribir una abreviatura de lo que quieres codificar, y a continuación invocar la función Zen, usualmente pulsando la tecla TAB (el tabulador, esa tecla olvidada a la izquierda de tu teclado, encima de la tecla que fija o bloquea las mayúsculas). A continuación la función Zen cambia la abreviatura expandiéndola a su verdadero valor textual.

    Por ej:

    html:5 te genera un esqueleto html versión 5

    ul>li*14 te genera un bloque html <ul> con 14 elementos <li> en su interior

    div.divisionprincipal>p*3 te genera un bloque <div class='divisionprincipal> con 3
    párrafos <p></p> y su etiqueta de cierre </div>

    div[name=division$]*30 te genera 30 divisiones <div name='division1'> <div
    name='division2'> ... <div name='division30'>

    p#parrafo$*5 te generera 5 parrafos <p id="parrafo1"> .. <p id="parrafo5">

    div.calculos#calculos[name=calculos][otrapropiedad=hola] genera <div class="calculos" id="calculos" name="calculos" otrapropiedad="hola"></div>

    Exiten Extensiones plug-in para todos los entornos de desarrollo que se precien de serlo: Notepad++, Adobe Dreamweaver, Visual Studio Code...

    En Visual Studio Code viene de serie, y para invocar la función Zen hay que hacerlo mediante el menú Editar/Emmet Expandir Abreviación
    Este elemento de menú está asociado a la tecla de método abreviado Tab, pero al pulsar esa tecla no se invoca la función Zen. Esto ocurre porque el editor tiene deshabilitado por defecto el uso de Tab para invocar la función Zen.

    Para habilitar el uso de Tab para invocar la función Zen hay que ir al menú Archivo/Preferencias/Configuración, y allí buscar "emmet", y entre las múltiples opciones hay una llamada "Emmet: Trigger expansión on tab", que encontrarás sin seleccionar y deberás seleccionarla.

    Esto no habilita la tecla tab, sino que habilita "el método abreviado". Así, si no te gusta Tab, para cambiar el método abreviado hay que ejecutar el comando de configuración en el menú Ver/Paleta de Comandos, y allí buscar "Emmet: expandir abreviatura" y pulsar el botoncito de la rueda dentada (configuración) a su derecha. Pulsa el pequeño lapiz a la izquierda para editar, teclea la secuencia de teclas deseada y una vez la tengas configurada, pulsa la tecla intro para aceptar los cambios.






  4. X

    José Antonio Rojas Delgado (http://www.rojasdelgado.com)

    22/12/2022 08:09:43
    jueves, 22 de diciembre del año de N.S. 2022

    jard: En los archivos js (jsx) de un proyecto React no se pueden hacer comentarios html del tipo <!-- comentario -->
    Para poder comentar es necesario que el bloque a comentar se convierta primero en un elemento de insercion javascript mediante las llaves {} y entonces lo que se quiere comentar debe estarlo al estilo javascript.
    O sea:
    .- para una sola linea
    {//comentario
    }

    .- para varias lineas
    {/* primera linea de comentario
    segunda linea de comentario
    ...
    ultima linea de comentario*/
    }










  5. X

    José Antonio Rojas Delgado (http://www.rojasdelgado.com)

    13/12/2022 19:27:34
    martes, 13 de diciembre del año de N.S. 2022

    jard: APRENDIENDO PYTHON

    letras=list()

    type(letras)



    for n in range(ord("a"),ord("z")):
    letras.append(chr(n))


    letras

    ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y']
    letrasespañolas=letras

    letrasespañolas.insert(letrasespañolas.index("n")+1,"ñ")

    letrasespañolas

    ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'ñ', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y']

    UPS, LE HE INCLUIDO LA ñ PERO NO ESTÁ LA z
    VAYA, DONDE PUSE ord("z") TENÍA QUE HABER PUESTO ord("z")+1
    (INTUITIVO Y FÁCIL DE ENTENDER ESO DE range) ME VA A COSTAR ENTENDER EL PYTHON ESTE
    BUENO BUENO, YA VOY Y LO REPITO
    letras=list()
    type(letras)

    asciidelaprimeraletra=ord("a")
    asciidelaultimaletra=ord("z")
    for ascii in range(asciidelaprimeraletra,asciidelaultimaletra+1):
    letras.append(chr(ascii))


    letras
    ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
    letrasespañolas=letras.insert(letras.index("n")+1,"ñ")
    letrasespañolas
    letras
    ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'ñ', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']

    UPS, letrasespañolas NO SE HA ACTUALIZADO, Y EN SU LUGAR SE HA ACTUALIZADO LA LISTA letras
    (INTUITIVO Y FACIL DE ENTENDER ESO DE =, PERO UNA OPERACION .insert() NO DEVUELVE UNA LISTA, SINO QUE ACTUALIZA DIRECTAMENTE EL OBJETO LISTA ESPECIFICADO ANTES DEL PUNTO) ME VA A COSTAR ENTENDER EL PYTHON ESTE
    BUENO, BUENO, YA VOY Y LO REPITO

    letras=list()
    for ascii in range(asciidelaprimeraletra,asciidelaultimaletra+1):
    letras.append(chr(ascii))

    letras
    ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
    temp=letras
    temp.insert(temp.index("n")+1,"ñ")
    temp
    ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'ñ', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
    letrasespañolas=temp
    letrasespañolas
    ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'ñ', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
    del temp
    letras
    ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'ñ', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']

    QUÉ BIEN, YA TENGO BIEN ACTUALIZADA LA LISTA letrasespañolas, PERO...
    UPS, LA LISTA letras TAMBIÉN SE HA ACTUALIZADO
    (INTUITIVO Y FACIL DE ENTENDER ESO DE =) ME VA A COSTAR ENTENDER EL PYTHON ESTE
    O SEA, QUE CUANDO SE EJECUTA = AMBAS LISTAS SON LA MISMA. NO SE HACE UN CLON DEL OBJETO ORIGEN SINO QUE SE APUNTA EL OBJETO DESTINO A LA MISMA ZONA DONDE ESTÁ GUARDADO EL OBJETO (YO DIRÍA QUE UN PUNTERO SE COPIA EN OTRO PUNTERO)
    BUENO, BUENO, YA VOY Y LO REPITO

    (CONTINUARA...)














MOSTRAR LOS DEMÁS POSTS

adios