Showing posts with label web. Show all posts
Showing posts with label web. Show all posts

Wednesday, February 25, 2015

Editorconfig en nuestro entorno de trabajo


¿Que es EditorConfig?

EditorConfig ayuda a los desarrolladores definir y mantener estilos de codificación uniformes entre los diferentes editores y entornos de desarrollo. El proyecto EditorConfig consiste en un formato de archivo para definir estilos de codificación y una colección de plugins editor de texto que permiten a los editores para leer el formato de archivo y se adhieren a los estilos definidos.Archivos EditorConfig son de fácil lectura y trabajan muy bien con los sistemas de control de versiones.

¿como es un archivo EditorConfig?

Archivo de ejemplo

A continuación se muestra un ejemplo .editorconfig archivo de ajuste de fin de línea y estilos de sangría para los archivos de Python y JavaScript.
 # EditorConfig is awesome: http://EditorConfig.org

# top-most EditorConfig file
root = true

# Unix-style newlines with a newline ending every file
[*]
end_of_line = lf
insert_final_newline = true

# Matches multiple files with brace expansion notation
# Set default charset
[*.{js,py}]
charset = utf-8

# 4 space indentation
[*.py]
indent_style = space
indent_size = 4

# Tab indentation (no size specified)
[*.js]
indent_style = tab

# Indentation override for all JS under lib directory
[lib/**.js]
indent_style = space
indent_size = 2

# Matches the exact files either package.json or .travis.yml
[{package.json,.travis.yml}]
indent_style = space
indent_size = 2

¿Dónde se guardan estos archivos?

Al abrir un archivo, plugins EditorConfig buscan un archivo llamado.editorconfig en el directorio del archivo abierto y en cada directorio padre.Una búsqueda de .editorconfig archivos se detendrá si se alcanza la ruta de archivo raíz o un archivo EditorConfig con root=true se encuentra.
Archivos EditorConfig se leen de arriba a abajo y los archivos EditorConfig más cercanos se leen pasado. Propiedades de hacer juego secciones EditorConfig se aplican en el orden en que se leen, por lo que las propiedades de los archivos más estrechos tienen prioridad.
Para usuarios de Windows: Para crear un .editorconfig archivo en el Explorador de Windows, necesita crear un archivo llamado .editorconfig. , que el Explorador de Windows cambiará automáticamente el nombre de.editorconfig .

Formato de archivo detalles

Archivos EditorConfig utilizan un formato INI que es compatible con el formato utilizado por Python ConfigParser Biblioteca , pero [y] están permitidos en los nombres de las secciones. Los nombres de sección son FilePath pegotes , similar al formato aceptado por gitignore . Barras inclinadas (/) se utilizan como separadores de ruta y octothorpes (#) o punto y coma (;) son usadas como comentarios. Los comentarios deben ir en sus propias líneas. Archivos EditorConfig deben ser codificación UTF-8, ya sea con CRLF o separadores de línea LF.
Patrones globales filePath y propiedades EditorConfig actualmente soportados se explican a continuación.

Los patrones de comodines

Los caracteres especiales reconocidos en los nombres de sección para la coincidencia de comodines:
*Coincide con cualquier cadena de caracteres, excepto separadores de ruta ( / )
**Coincide con cualquier cadena de caracteres
?Coincide con cualquier carácter individual
[name]Coincide con cualquier carácter individual en nombre
[!name]Coincide con cualquier carácter individual no de nombre
{s1,s2,s3}Coincide con cualquiera de las cadenas dadas (separados por comas) (Disponible desde EditorConfig Core 0.11.0)
Los caracteres especiales se pueden escapar con una barra invertida para que no se pueden interpretar como patrones de comodines.

Propiedades compatibles

Tenga en cuenta que no todas las propiedades son apoyados por todos los plugins. El wiki tiene una lista completa de propiedades .
  • indent_style: set a la pestaña o el espacio para usar pestañas duras o suaves pestañas respectivamente.
  • indent_size: un número entero que define el número de columnas que se utilizan para cada nivel de sangrado y la anchura de las lengüetas suaves (cuando sea compatible). Cuando se establece en la ficha, se utilizará el valor de tab_width (si se especifica).
  • tab_width: un número entero que define el número de columnas que se utilizan para representar un carácter de tabulación. Por defecto es el valor deindent_size y no suele deben especificarse.
  • end_of_line: set de LF, CR o crlf para controlar cómo se representan los saltos de línea.
  • charset: set para latin1, UTF-8, UTF-8-bom, UTF-16BE o UTF-16LEpara controlar el juego de caracteres. El uso de UTF-8-bom se desalienta.
  • trim_trailing_whitespace: establecido en true para eliminar los espacios en blanco precedentes caracteres de nueva línea y falsa para asegurarse de que no lo hace.
  • insert_final_newline: set para asegurar cierto archivo termina con un salto de línea al guardar y falso para asegurarse de que no lo hace.
  • root: propiedad especial que debe especificarse en la parte superior del archivo fuera de cualquier sección. Se establece en true para detener.editorconfig archivos buscar en el archivo actual.
Actualmente todas las propiedades y valores distinguen entre mayúsculas y minúsculas. Ellos serán minúsculas cuando lo analiza. En general, si no se especifica una propiedad, se utilizarán los ajustes del editor, es decir EditorConfig toma ningún efecto sobre esa parte.
Es aceptable y, a menudo prefería dejar ciertas propiedades EditorConfig no especificado. Por ejemplo, tab_width No es necesario especificar a menos que difiere del valor de indent_size. Además, cuando indent_style se ajusta a lapestaña, puede ser deseable dejar indent_size no especificado para que los lectores pueden ver el archivo usando su formato indentación preferida.Además, si una propiedad no ha sido estandarizada en su proyecto(end_of_line por ejemplo), puede ser mejor para dejarlo en blanco.
Fuente: http://editorconfig.org/

Monday, February 23, 2015

JSP sintaxis Parte 2

Scriptles

Usualmente llamamos a todo lo que este dentro de <% %> scriptles pero como vemos hay diferentes tipos de elementos

En el caso de los Scriptles

son basicamente funcionalidades que podemos hacer en un JSP como declaras variables (locales) hacer iteraciones de elementos (while, for) y todo lo mismo que puedes hacer dentro de un metodo lo puedes hacer aqui, hasta declarar clases internas ;)




<html>
<body>
<%
    // This scriptlet declares and initializes "date"
    System.out.println( "Evaluating date now" );
    java.util.Date date = new java.util.Date();
%>
Hello!  The time is now
<%
    out.println( date );
    out.println( "Your machine's address is " );
    out.println( request.getRemoteHost());
%>
</body>
</html>

JSP Sintaxis Parte 1

sintaxis en JSP?

Basicamente es codigo "java insertado en un archivo JSP, que nos ayuda a poder generar procesos o funcionalidades combinados con Html (Scriptles, expressions, directives, declarations).

Pero un momento..

si, es cierto los scriptles son antiguos y ya no usados pero siempre es bueno tener conocimiento de este debido a que apuede que algun dia nos toque algun proyecto del año de la piedra (Dios nos protega y ampare :c ) y tengamos que tocar scriptles.


Todo JSP creado en nuestro proyecto pasa por una fase de traduccion el cual toma el archivo JSP y lo convierte a Servlet luego viene la etapa de compilacion.




Si! estas en lo cierto, asi es como nuestro codigo java en un JSP puede ser entendido por nuestro servidor por que todo es  compilado a codigo Java, todo JSP es un servlet y por lo tanto es codigo Java.

Ahora que tenemos eso claro (eso espero T_T) sigamos con los elementos que podemos usar en nuestros JSPs

Tipos de elementos en JSP

Scriptles:

<html>
<body>
The page count is:
<% out.println(Counter.getCount()); %>
</body>
</html>
Expression:
<html>
<body>
The page count is now:
<%= Counter.getCount() %>
</body>
</html>
Directives:
<%@ page import=”foo.*” %>
<html>
<body>
Hello World!!
</body>
</html>


Declarations:
<html>
<body>
<%! int x=0 %>
</body>
</html>



ver siguiente post Scriptles