7 Matching Annotations
  1. Apr 2024
    1. Considera un formato de versión X.Y.Z (Mayor.Menor.Parche). Las correcciones de errores que no afectan el API incrementan la versión parche. Adiciones o sustracciones compatibles con versiones anteriores incrementan la versión menor, y cambios en el API incompatibles con versiones anteriores incrementan la versión mayor.

      Explica las reglas de versionado semántico sobre cómo incrementar las versiones según el tipo de cambio.

    2. Si las especificaciones de la dependencias son muy estrictas, estarás en peligro de bloquear una versión (la inhabilidad de actualizar un paquete sin tener que publicar una nueva versión de cada otro paquete dependiente). Si las dependencias son especificadas de forma muy relajada, inevitablemente serás mordido por versiones promiscuas (asumir la compatibilidad con próximas versiones más allá de lo razonable). El Infierno de Dependencias es donde estás cuando una versión bloqueada y/o promiscua previenen que muevas tu proyecto adelante de forma fácil y segura.

      Los dos problemas principales son: bloqueo de versiones (no poder actualizar sin afectar otras dependencias) y versiones promiscuas (asumir compatibilidad con nuevas versiones sin garantías).

    1. memories do: [:doc | | fileName | fileName := (doc url asString splitOn: $:) last , '.md'. doc file: folder / fileName. doc exportAsFile. ]

      -memories do: [:doc | ... ] es un mensaje keyword do: enviado a la colección memories. El argumento es un bloque de código que se ejecutará para cada elemento de la colección.

      -[:doc | ... ] es el bloque de código que se ejecutará para cada elemento de la colección memories. El argumento doc representa cada elemento individual de la colección.

      -| fileName | es una declaración de variable temporal dentro del bloque. Esta variable fileName solo existe dentro del ámbito del bloque.

      -fileName := (doc url asString splitOn: $:) last , '.md' asigna un valor a la variable fileName.

      -doc file: folder / fileName envía el mensaje keyword file: al objeto doc, pasando como argumento la ruta completa folder / fileName. Esto asigna la ruta de archivo al objeto doc.

      -doc exportAsFile envía el mensaje exportAsFile al objeto doc, lo que probablemente guardará el contenido del objeto doc en el archivo especificado anteriormente.

    2. folder := FileLocator temp / 'Semanticas'.

      -FileLocator es una clase de Pharo que proporciona acceso a ubicaciones de archivos y carpetas en el sistema de archivos.

      -temp es un mensaje unario enviado a la clase FileLocator que devuelve una referencia al directorio temporal del sistema operativo.

      -El resultado de FileLocator temp / 'Semanticas' es un objeto Folder (carpeta) que representa la ruta completa al directorio temporal más la subcarpeta 'Semanticas'.

    3. memories doWithIndex: [:item :index | item metadata at: 'title' put: 'Unidades semanticas, sesión ', index asString ].

      -item metadata accede al diccionario de metadatos del objeto item actual.

      -at: 'title' busca la clave 'title' en el diccionario de metadatos. put: 'Unidades semanticas, sesión '

      -, index asString asigna un nuevo valor a la clave 'title' en el diccionario de metadatos. Este nuevo valor es una cadena que combina el texto 'Unidades semanticas, sesión ' con la representación en cadena del índice actual (index asString).

    4. memories := sessions collect: [:session | doc := HedgeDoc new url: commonAddress, session asString; retrieveContents. ]

      -sessions es una colección de objetos

      -collect: es un mensaje que se envía a la colección sessions. Este mensaje toma un bloque de código (representado por [:session | ... ]) como argumento.

      -El bloque de código [:session | ... ] se ejecuta una vez por cada elemento de la colección sessions. En cada iteración, el valor actual se asigna al parámetro session dentro del bloque.

      -Dentro del bloque, se crea una nueva instancia de HedgeDoc llamada doc. Esta instancia se inicializa con dos argumentos:

      -commonAddress: una cadena de texto que representa una URL o dirección común.

      -session asString: Convierte el objeto session actual en una cadena de texto.

      -Después de crear la instancia doc, se envía el mensaje retrieveContents a esta instancia.

      -El resultado de la evaluación del bloque [:session | ... ] para cada elemento de sessions se recolecta en una nueva colección llamada memories.

    5. commonAddress := 'https://docutopia.sustrato.red/semanticas:24A'. sessions := 1 to: 11

      En Pharo, un "mensaje unario" se refiere a un mensaje que se envía a un objeto sin necesidad de proporcionar argumentos adicionales.

      • commonAddress es el nombre del mensaje unario que se está enviando a un objeto.
      • 'https://docutopia.sustrato.red/semanticas:24A' es el objeto receptor del mensaje commonAddress.