Category Archives: Programación

  • 0

Como Dividir Sublime Text en Multiples Paneles

Con este Plugin Sublime Text podrán abrir mas paneles diferentes para editar tu código en una misma ventana.

El plugin Se llama “More Layouts”, y lo que nos permite es agregar mas tipos de estructuras a Sublime Text.

Con tipos de estructura me refiero a paneles en los que podemos poner pestañas y así organizar nuestro código mucho mejor. Por defecto sublime Text ya nos permite agregar hasta 3 columnas que podemos agregar desde el menu View > Layout

“Read More”

  • 0

Crud PHP usando Ajax y Json

Buen día a todos en este post les quiero compartir unos slides que subí a http://slideshare.net cabe mencionar que no soy el autor de estos Slides si no de un profesor que me dio clases en la Universidad que se llama Rosalino Santos Valeriano y pues si lee este post pues le enviamos un saludo. bueno son 5 presentaciones en las cuales se tiene lo basico para que puedas hacer un pagina web y conceptos básicos sobre Ajax y Json, de igual manera les dejo una liga con el repositorio donde subí el código del proyecto que se realizo con dichas diapositivas.

y por si no saben como instalar Lamp en un distro de Gnu/Linux les dejo estes post:

INSTALAR EL SERVIDOR LAMP EN DEBIAN

y aca les dejo la liga para que puedan descargar el proyecto de que se explica en las diapositivas

https://github.com/bl4ck0is1s/crudphp

 


  • 1

INSTALAR EL SERVIDOR LAMP EN DEBIAN

Hola amigos hoy vamos a ver la instalación básica del servidor LAMP (linux apache mysql and php) en debian

antes de empezar actualisemos nuestro sistema:

apt-get update apt-get upgrade

todo esto debe ser como usuario root

Paso 1: instalar el Apache2:
apt-get install apache2
Ejecutando posteriormente:
a2enmod rewrite

Paso 2: instalar MySQL
apt-get install mysql-server
y luego ejecutar:
mysql_secure_installation

Paso 3: instalar el PHP5:
apt-get install php5 php-pear php5-suhosin php5-mysql

y por si quieren instalar el gestor phpMyAdmin:
apt-get install phpmyadmin

ahora solo queda reiniciar el servidor con :
/etc/init.d/apache2 restart

Y listo nuestro servidor web.

ahora solo queda ver si es que phpmyadmin si funciona correctamente y lo probaremos con lo siguiente, en nuestro navegador pondremos

http://localhost/phpmyadmin

En algunos de los casos nos saldra el siguiente mensaje

It works!

This is the default web page for this server.
The web server software is running but no content has been added, yet.

pero eso se soluciona haciendo un enlace simbolico a la carpeta phpmyadmin con lo siguiente:

ln -s /usr/share/phpmyadmin /var/www/phpmyadmin

y asi tendran resuelto este problema.

Saludos.

  • 0

Crud (create, read, update, delete) Java con Jdbc

En este post vamos a ver lo que es un CRUD ( Create, Read, Update, Delete) y empezaremos a crear nuestra base de datos:


CREATE TABLE usuario (
id_usuario int(11) NOT NULL AUTO_INCREMENT,
nombre varchar(100) NOT NULL,
apellido_paterno varchar(100) NOT NULL,
apellido_materno varchar(100) NOT NULL,
edad int(11) NOT NULL,
username varchar(100) NOT NULL,
password varchar(300) NOT NULL,
PRIMARY KEY (id_usuario)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=latin1;

Despues tendremos nuestra clase conexión hacia la base de datos y nos quedara de la siguiente forma:

package com.mx.crudjdbc.config;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import javax.swing.JOptionPane;

public class ConnectionDataBase {

public static Connection conexion = null;

public static Connection getConexion() {
try {
conexion = null;
//cargar nuestro driver
Class.forName(“com.mysql.jdbc.Driver”);
conexion =DriverManager.getConnection(“jdbc:mysql://localhost/nombreBase”,”root”,”password”);
System.out.println(“conexion establecida”);
} catch (ClassNotFoundException | SQLException e) {
System.out.println(“error de conexion”);
JOptionPane.showMessageDialog(null, “error de conexion “+e);
}

return conexion;
}
}

Lo siguiente es crear un archivo java con el nombre de la tabla de la base de datos, el cual se llamara UsuarioVo.java y contendrá lo siguiente:

package com.mx.crudjdbc.vo;

/**
*
* @author bl4ck0is1s
*/
public class Usuario extends InterfaceObject{
private int idUsuario;
private String nombre;
private String apellidoPaterno;
private String apellidoMaterno;
private int edad;
private String username;
private String password;

public int getIdUsuario() {
return idUsuario;
}

public void setIdUsuario(int idUsuario) {
this.idUsuario = idUsuario;
}

public String getNombre() {
return nombre;
}

public void setNombre(String nombre) {
this.nombre = nombre;
}

public String getApellidoPaterno() {
return apellidoPaterno;
}

public void setApellidoPaterno(String apellidoPaterno) {
this.apellidoPaterno = apellidoPaterno;
}

public String getApellidoMaterno() {
return apellidoMaterno;
}

public void setApellidoMaterno(String apellidoMaterno) {
this.apellidoMaterno = apellidoMaterno;
}

public int getEdad() {
return edad;
}

public void setEdad(int edad) {
this.edad = edad;
}

public String getUsername() {
return username;
}

public void setUsername(String username) {
this.username = username;
}

public String getPassword() {
return password;
}

public void setPassword(String password) {
this.password = password;
}
@Override
public String toString(){
return getNombre() + “,” + getApellidoPaterno() + “,” + getApellidoMaterno()
+ “,” + getEdad() + “,” + getUsername() + “,” + getPassword();
}
}

de igual forma crearemos una clase que un DAO (Data Access Object), el cual nos ayudara a persistir los datos hacia la base de datos, el cual tiene los metodos para insertar, modificar y listar


package com.mx.crudjdbc.dao.impl;

import com.mx.crudjdbc.config.ConnectionDataBase;
import com.mx.crudjdbc.dao.UsuarioDao;
import com.mx.crudjdbc.vo.Usuario;
import java.awt.HeadlessException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JOptionPane;
import org.apache.log4j.Logger;

public class UsuarioDaoImpl implements UsuarioDao {

private static final Logger logger = Logger.getLogger(UsuarioDaoImpl.class);

@Override
public Usuario saveUsuario(Usuario usuario) {
Connection reg = ConnectionDataBase.getConexion();

String sql = “INSERT INTO usuario (nombre, apellido_paterno, apellido_materno, edad, username, ”
+ “password) VALUES ”
+ “(?,?,?,?,?”
+ “,?)”;
try {

PreparedStatement pst = reg.prepareStatement(sql);

pst.setString(1, usuario.getNombre());
pst.setString(2, usuario.getApellidoPaterno());
pst.setString(3, usuario.getApellidoMaterno());
pst.setInt(4, usuario.getEdad());
pst.setString(5, usuario.getUsername());
pst.setString(6, usuario.getPassword());

int n = pst.executeUpdate();
if (n > 0) {
logger.debug(“usuario registrado: ” + usuario.toString());
JOptionPane.showMessageDialog(null, “Usuario Registrado Exitosamente”);
}

} catch (SQLException ex) {
logger.error(ex.getMessage());
JOptionPane.showMessageDialog(null, “Error – ” + ex);
ex.printStackTrace();

}
return null;
}

@Override
public Usuario updateUsuario(Usuario usuario) {
Connection connection = ConnectionDataBase.getConexion();
String sql = “UPDATE usuario SET nombre = ?, apellido_paterno = ?, apellido_materno = ?, edad = ?,”
+ ” username = ?, password = ? WHERE id_usuario = ?”;
try {
PreparedStatement pst = connection.prepareStatement(sql);
pst.setString(1, usuario.getNombre());
pst.setString(2, usuario.getApellidoPaterno());
pst.setString(3, usuario.getApellidoMaterno());
pst.setInt(4, usuario.getEdad());
pst.setString(5, usuario.getUsername());
pst.setString(6, usuario.getPassword());
pst.setInt(7, usuario.getIdUsuario());

int n = pst.executeUpdate();
if (n == 1) {
logger.debug(“usuario registrado: ” + usuario.toString());
JOptionPane.showMessageDialog(null, “El Usuario se Actualizo Exitosamente”);
return usuario;
}

} catch (HeadlessException ex) {
logger.error(ex.getMessage());
JOptionPane.showMessageDialog(null, “Error – ” + ex);
ex.printStackTrace();
} catch (SQLException ex) {
logger.error(ex.getMessage());
JOptionPane.showMessageDialog(null, “Error – ” + ex);
ex.printStackTrace();
}
return null;
}

@Override
public Usuario getUsuarioById(int id) {
throw new UnsupportedOperationException(“Not supported yet.”); //To change body of generated methods, choose Tools | Templates.
}

@Override
public ResultSet getAll() {
Connection conexion = ConnectionDataBase.getConexion();
try {
String sql = “SELECT * FROM usuario”;
Statement st = conexion.createStatement();
ResultSet rs = st.executeQuery(sql);

return rs;
} catch (Exception e) {
logger.error(e.getMessage());
e.printStackTrace();
}finally {
try {
conexion.close();
} catch (SQLException ex) {
ex.printStackTrace();
}
}
return null;
}

@Override
public boolean deleteUsuario(int idUsuario) {
Connection connection = ConnectionDataBase.getConexion();
String sql = “DELETE from usuario where id_usuario = ?”;
try {
PreparedStatement pst = connection.prepareStatement(sql);
pst.setInt(1, idUsuario);

int n = pst.executeUpdate();
if (n == 1) {
logger.debug(“usuario eliminado: ” + idUsuario);
JOptionPane.showMessageDialog(null, “Usuario Eliminado”);
return true;
}

} catch (HeadlessException ex) {
logger.error(ex.getMessage());
JOptionPane.showMessageDialog(null, “Error – ” + ex);
ex.printStackTrace();
} catch (SQLException ex) {
logger.error(ex.getMessage());
JOptionPane.showMessageDialog(null, “Error – ” + ex);
ex.printStackTrace();
}
return false;
}

}

Bueno pues estos son los metodos mas importantes del proyecto que de igual forma se los dejo en la siguiente liga y que podran descargar desde mi repositorio de GitHub, otra cosa el proyecto esta echo en Maven, asi que para poder ejecutarlo deberan de tener instalado y por si no saben como pueden darle un vistaso a el siguiente post Como instalar Maven en Debian y Windows y pues aca les dejo la url para descargar el proyecto: https://github.com/bl4ck0is1s/CrudJdbc.

pues eso es todo si les gusto compartan es sus redes sociales.


  • 0

Modelo de clases para bots de Telegram en C#

Category : C# , Principal , Programación

telegram

últimamente los Bots se están poniendo de moda, desde Facebook hasta Microsoft han puesto a disposición de los desarrolladores herramientas para la creación de los mismos, pero si de alguien quiero recalcar que fue de los primero y tal vez mas populares sistemas donde se pueden encontrar y desarrollar bots, esta es la aplicación de mensajería Telegram.

“Read More”

  • 0

Instalar y configurar plugin checkstyle en eclipse

En este post les compartimos un video que realizamos para la configuración de un plugin para eclipse, el cual no ayuda a verificar errores de sintaxis en nuestro código, para este caso se los presentamos para el IDE Eclipse, de igual forma les dejamos el archivo xml que se uso para la configuración del plugin en el proyecto.

Ayuda compartiendo en la redes sociales y cualquier duda deja tu comentario.


  • 1

Como instalar Maven en Debian y Windows

apache_maven

En este articulo les vamos a comentar como instalar Maven en Debian por medio de los repositorios, de lo cual debe de ser parecido en sus derivados del mismo sistema operativo, al igual se les mostrara como instalar en el sistema operativo de Windows 7 al cual debe ser igual para alguno posterior.

En el caso de Debian solo basta con ejecutar este comando

sudo apt-get install maven

Una ve hecho esto se prueba que Maven funciona correctamente con el siguiente comando:

mvn -version

y les tendra que salir algo como esto

root@debian:/home/julio# mvn -version
Apache Maven 3.0.5
Maven home: /usr/share/maven
Java version: 1.7.0_80, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-7-oracle/jre
Default locale: es_MX, platform encoding: UTF-8
OS name: "linux", version: "3.16.0-4-686-pae", arch: "i386", family: "unix"

Bueno eso es para linux, ahora para windows haremos lo siguiente:

procederemos a descargar el paquete de Maven desde su pagina oficial maven.apache.org y elegimos el paquete apache-maven-3.3.9-bin.zip, en mi caso siempre lo coloco en una carpeta o directorio en:

C:\software\apache-maven-3.3.9

Si nos damos cuenta y ejecutamos el comando mvn -version nos saldra el siguiente mensaje, el cual nos indica que no reconoce el comando, para cual deberemos proceder a agregar las variables de entorno de la siguiente forma:

Captura de pantalla 2016-04-08 a las 11.57.09 a.m.

nos iremos a las propiedades del sistema y le daremos clic en variables de entorno:

Captura de pantalla 2016-04-08 a las 12.00.23 p.m.

Encontraemos una opcion que dice agregar una nueva variable a la cual le pondremos el siguiente nombre:

M2_HOME

es importante agregarla toda en mayusculas asi como se nos muestra en la siguiente imagen:
La variable de entorno para maven sera la siguiente

Captura de pantalla 2016-04-08 a las 12.00.49 p.m.

despues procederemos a agregar la variable de maven a la variable path, para que esta sea reconocida por el sistema y quedaría de la siguiente manera:

;%M2_HOME%/bin

Captura de pantalla 2016-04-08 a las 12.01.44 p.m.

y por ultimo guardaremos todo y veremos que ya agregamos las variables de Maven en nuestro sistema , por ultimo solo recordarles que para que Maven funcione tienen que tener instalado alguna versión del jdk de Java y que de igual manera deben de agregar las variables de entorno al sistema:

Captura de pantalla 2016-04-08 a las 12.04.03 p.m.

pues eso seria todo, ayuda compartiendo y cualquier duda no olvides dejar tus comentarios.

 


  • 2

Cómo leer un archivo XML en Java con JDOM

Category : Java , Principal , Programación

En esta entrada te enseñaremos a usar JDOM para leer un archivo xml e imprimir cada elemento de forma ordenada.

Captura de pantalla 2016-02-26 a las 11.37.13 a.m.

1.- Descargar libreria de JDOM

JDOM no esta incluido en el JDK así que tenemos que descargar la libreria manualmente desde su sitio oficial de JDOM o si usan maven agregar la dependencia en el POM.

<dependency>
<groupId>jdom</groupId>
<artifactId>jdom</artifactId>
<version>1.1</version>
</dependency>

 

2.- Archivo xml a leer

<?xml version="1.0"?>
  <Persona>
    <Nombre>Julio</Nombre>
    <Apellido>Martinez</Apellido>
    <Nickname>Juls</Nickname>
  </Persona>


3.- Archivo Java

 import java.io.File;
import java.io.IOException;
import java.util.List;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;

public class ReadXMLFile {

public static void main(String[] args) {

SAXBuilder builder = new SAXBuilder();
File xmlFile = new File(“resources/file.xml”);

try {
Document document = (Document) builder.build(xmlFile);
Element rootNode = document.getRootElement();
List list = rootNode.getChildren(“Persona”);

for (int i = 0; i < list.size(); i++) {
Element node = (Element) list.get(i);
System.out.println(“Nombre : ” + node.getChildText(“Nombre”));
System.out.println(“Apellido : ” + node.getChildText(“Apellido”));
System.out.println(“Nick Name : ” + node.getChildText(“Nickname”));
}
} catch (IOException io) {
System.out.println(io.getMessage());
} catch (JDOMException jdomex) {
System.out.println(jdomex.getMessage());
}
}
}

 

4.- Resultado

 Nombre: Julio
Apellido: Martinez
Nickname: Juls