martes, 14 de febrero de 2017
viernes, 2 de diciembre de 2016
TIPOS DE LICENCIAS DE SOFTWARE
"El procedimiento de
conceder a otra persona o entidad el derecho de usar un software con fines
industriales, comerciales o personales, de acuerdo a las cláusulas que en ella
aparecen."
No es más que obtener la
determinada licencia o autorización que le permita el uso legal de determinado
programa, esta licencia es un documento bien sea electrónico, en papel original
o número de serie autorizado por el autor.
DEFINICIONES:
Licencia: contrato entre el
desarrollador de un software sometido a propiedad intelectual y a derechos de
autor y el usuario, en el cual se definen con precisión los derechos y deberes
de ambas partes. Es el desarrollador, o aquél a quien éste haya cedido los
derechos de explotación, quien elige la licencia según la cual distribuye el software.
Patente: conjunto de derechos
exclusivos garantizados por un gobierno o autoridad al inventor de un nuevo
producto (material o inmaterial) susceptible de ser explotado industrialmente
para el bien del solicitante por un periodo de tiempo limitado .
Derecho
de autor o copyright:
forma de protección proporcionada por las leyes vigentes en la mayoría de los
países para los autores de obras originales incluyendo obras literarias,
dramáticas, musicales, artísticas e intelectuales, tanto publicadas como
pendientes de publicar
Software libre: proporciona
la libertad de:
- Ejecutar el programa, para
cualquier propósito;
- Estudiar el funcionamiento
del programa, y adaptarlo a sus necesidades;
- Redistribuir copias;
- Mejorar el programa, y poner
sus mejoras a disposición del público, para beneficio de toda la comunidad.
Software de fuente abierta: Sus términos de distribución cumplen los
criterios de distribución libre;
- Inclusión del código fuente;
- Permitir modificaciones y
trabajos derivados en las mismas condiciones que el software original;
- Integridad del código fuente
del autor, pudiendo requerir que los trabajos derivados tengan distinto nombre
o versión;
- No discriminación a personas
o grupos;
- Sin uso restringido a campo
de actividad;
- Los derechos otorgados a un
programa serán válidos para todo el software redistribuido sin imponer
condiciones complementarias;
- La licencia no debe ser
específica para un producto determinado;
- La licencia no debe poner
restricciones a otro producto que se distribuya junto con el software
licenciado;
- La licencia debe ser
tecnológicamente neutral.
Estándar abierto:
según Bruce Perens, el basado en los principios de
- Disponibilidad;
- Maximizar las opciones del
usuario final;
- Sin tasas sobre la implementación;
- Sin discriminación de
implementador;
- Permiso de extensión o
restricción;
. Evitar prácticas predatorias
por fabricantes dominantes
LOS DIFERENTES TIPOS LICENCIAS
Entre las diferentes
licencias de software libre podemos destacar las siguientes:
Licencias
GPL: es una
de las más utilizadas y se suele denominar como GNU GPL. Con esta licencia el
desarrollador conserva los derechos de autor,
pero permite su libre distribución, modificación y uso siempre y cuando,
en el caso de que el software se modifique, el nuevo software que se desarrolle
como resultado quede obligatoriamente con la misma licencia.
Licencia
AGPL: se
engloba dentro de las licencias destinadas a modificar el derecho de autor
derivadas de GNU. La novedad de AGPL es que, aparte de las cláusulas propias de
una GNU GPL, ésta obliga a que se distribuya el software que se destine a dar
servicios a través de una red de ordenadores.
Licencia
BSD: es un
buen ejemplo de una licencia permisiva que casi no impone condiciones sobre lo
que un usuario puede hacer con el software. El software bajo esta licencia es
la menos restrictiva para los desarrolladores, ya que, por ejemplo, el software
puede ser vendido y no hay obligaciones de incluir el código fuente.
Licencia
Apache: el
software bajo este tipo de licencia permite al usuario distribuirlo,
modificarlo, y distribuir versiones modificadas de ese software pero debe
conservar el copyright y el disclaimer. La licencia Apache no exige que las
obras derivadas se distribuyan usando la misma licencia, ni siquiera que se
tengan que distribuir como software libre, solo exige que se informe a los
receptores que en la distribución se ha usado código con la licencia Apache.
Licencias
Creative Commons:
su definición se basa en cuatro condiciones:
ü
‘Atribución’,
con la cual se puede distribuir, exhibir, representar, se cite autor
ü
‘No
comercial’, que no permite usar el software con fines comerciales
ü
‘No
derivadas’, con la cual no se puede modificar dicha obra
ü ‘Compartir
igual’, que incluye la creación de derivadas siempre que mantengan la
licencia original.
WEBGRAFÍA:
WEBGRAFÍA:
Ramón M.
(2005). TIPOS DE LICENCIAS DE
SOFTWARE. [En Linea] Recuperado de: http://www.informatica.us.es/~ramon/articulos/LicenciasSoftware.pdf
{Diciembre 02, 2016}
InformaticaHOY (2016). Tipos
de licencia de Software. [En Linea] Recuperado de: http://www.informatica-hoy.com.ar/software-libre-gnu/Tipos-de-licencia-de-Software.php
{Diciembre 02, 2016}
viernes, 11 de noviembre de 2016
PANTALLA INICIO DE SESION
- Mostrar / Ocultar contraseña
CODIGO:
Codigo para Radio Button
// Mostrar/Ocultar contraseña
if (jbMostrar.isSelected()) {
jPassword.setEchoChar((char) 0);
} else {
jPassword.setEchoChar('*');
}
CALCULAR EDAD
- Calcular edad en base a la fecha actual y la fecha de nacimiento.
CODIGO:
Componentes de inicio
Calendar c2 = new GregorianCalendar();
jdFechareg.setCalendar(c2);
Metodo para calcular edad
public int obtener(Date registro, Date nacimiento) {
int edad = 0;
if (nacimiento == null) {
JOptionPane.showMessageDialog(null, "DEBE INGRESAR UNA FECHA DE NACIMIENTO VALIDA");
}
if (nacimiento.getYear() >= registro.getYear()) {
JOptionPane.showMessageDialog(null, "LA FECHA INGRESADA NO ES CORRECTA");
} else {
edad = registro.getYear() - nacimiento.getYear();
}
return edad;
Boton Calcular
Date fn = jdFechanac.getCalendar().getTime();
Date fr =
jdFechareg.getCalendar().getTime();
int Edad1 = obtener(fr, fn);
JOptionPane.showMessageDialog(null,
Edad1);
txtEdad.setText(String.valueOf(Edad1));
if (Edad1 < 18) {
txtMensaje1.setText("Menor de
edad");
txtEdad.setText(" ");
}
if (Edad1 >= 65) {
txtMensaje1.setText("Tercera
Edad");
}
if (Edad1 <= 0) {
txtMensaje1.setText("Fecha
Incorrecta");
} else {
txtMensaje1.setText("Mayor de
edad");
}
{
}CLASES Y EXPRESIONES REGULARES
Clases y Expresiones Regulares
Las expresiones regulares son
algo que se usa desde hace años en otros lenguajes de programación como Perl,
Sed o Awk. En la versión 1.4 del JDK de Sun se incluye el paquete
java.util.regex, que proporciona una serie de clases para poder hacer uso de la
potencia de este tipo de expresiones en Java
Las expresiones regulares se
rigen por una serie de normas y hay una construcción para cualquier patrón de
caracteres.
ü para
comprobar que la fecha leída cumple el patrón dd/mm/aaaa
ü para
comprobar que un NIF está formado por 8 cifras, un guión y una letra
ü para
comprobar que una dirección de correo electrónico es una dirección válida.
ü para
comprobar que una contraseña cumple unas determinadas condiciones.
ü Para
comprobar que una URL es válida.
ü Para
comprobar cuántas veces se repite dentro de la cadena una secuencia de
caracteres determinada.
Uso
El paquete java.util.regex esta
formado por dos clases, la clase Matcher y la clase Pattern y por una
excepción, PatternSyntaxException.
- La clase Pattern (segun la documentacion del jdk1.4) es la representacion compilada de una expresion regular, o lo que es lo mismo, representa a la expresion regular, que en el paquete java.util.regex necesita estar compilada. En castellano significa patrón.
- La clase Matcher es un tipo de objeto que se crea a partir de un patrón mediante la invocación del método Pattern.matcher. Este objeto es el que nos permite realizar operaciones sobre la secuencia de caracteres que queremos validar o la en la secuencia de caracteres en la que queremos buscar.
Símbolos comunes en expresiones regulares
|
Descripción
|
|
|
.
|
Un
punto indica cualquier carácter
|
|
^expresión
|
El
símbolo ^ indica el principio del String. En este caso el String debe
contener la expresión al principio.
|
|
expresión$
|
El
símbolo $ indica el final del String. En este caso el String debe contener la
expresión al final.
|
|
[abc]
|
Los
corchetes representan una definición de conjunto. En este ejemplo el
String debe contener las letras a ó b ó c.
|
|
[abc][12]
|
El
String debe contener las letras a ó b ó c seguidas de 1 ó 2
|
|
[^abc]
|
El
símbolo ^ dentro de los corchetes indica negación. En este caso el String
debe contener cualquier carácter excepto a ó b ó c.
|
|
[a-z1-9]
|
Rango. Indica
las letras minúsculas desde la a hasta la z (ambas incluidas) y los dígitos
desde el 1 hasta el 9 (ambos incluidos)
|
|
A|B
|
El
carácter | es un OR. A ó B
|
|
AB
|
Concatenación.
A seguida de B
|
Meta caracteres
|
Expresión
|
Descripción
|
|
\d
|
Dígito.
Equivale a [0-9]
|
|
\D
|
No dígito.
Equivale a [^0-9]
|
|
\s
|
Espacio en blanco. Equivale a [
\t\n\x0b\r\f]
|
|
\S
|
No espacio en blanco. Equivale a [^\s]
|
|
\w
|
Una letra mayúscula o minúscula, un
dígito o el carácter _
Equivale a [a-zA-Z0-9_]
|
|
\W
|
Equivale a
[^\w]
|
|
\b
|
Límite de una
palabra.
|
Cuantificadores
|
Expresión
|
Descripción
|
|
{X}
|
Indica que lo que va justo antes de
las llaves se repite X veces
|
|
{X,Y}
|
Indica que lo que va justo antes de
las llaves se repite mínimo X veces y máximo Y veces. También podemos poner
{X,} indicando que se repite un mínimo de X veces sin límite máximo.
|
|
*
|
Indica 0 ó más veces. Equivale a {0,}
|
|
+
|
Indica 1 ó más veces. Equivale a {1,}
|
|
?
|
Indica 0 ó 1 veces. Equivale a {0,1}
|
Ejemplos de Expresiones Regulares en Java:
1. Comprobar si el
String cadena contiene exactamente el patrón (matches) “abc”
Pattern pat = Pattern.compile("abc");
Matcher
mat = pat.matcher(cadena);
if
(mat.matches()) {
System.out.println("SI");
}
else {
System.out.println("NO");
}
2. Comprobar si el
String cadena contiene “abc”
Pattern pat = Pattern.compile(".*abc.*");
Matcher
mat = pat.matcher(cadena);
if
(mat.matches()) {
System.out.println("SI");
}
else {
System.out.println("NO");
}
3. Comprobar si el
String cadena empieza por “abc”
Pattern pat =
Pattern.compile("^abc.*");
Matcher
mat = pat.matcher(cadena);
if
(mat.matches()) {
System.out.println("Válido");
}
else {
System.out.println("No
Válido");
}
4. Comprobar si el
String cadena empieza por “abc” ó “Abc”
Pattern pat =
Pattern.compile("^[aA]bc.*");
Matcher
mat = pat.matcher(cadena);
if
(mat.matches()) {
System.out.println("SI");
}
else {
System.out.println("NO");
}
5. Comprobar si el
String cadena está formado por un mínimo de 5 letras mayúsculas o
minúsculas y un máximo de 10.
Pattern pat =
Pattern.compile("[a-zA-Z]{5,10}");
Matcher
mat = pat.matcher(cadena);
if
(mat.matches()) {
System.out.println("SI");
}
else {
System.out.println("NO");
}
Webgrafía:
Programacion.net
http://programacion.net/articulo/expresiones_regulares_en_java_127














