Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Expermicid

#61
Que genialidad!!! Felicitaciones :)

Saludos
#62
Java / Como crear una Aplicación WEB con Java
Octubre 08, 2014, 05:19:34 PM
Voy a crear una aplicación WEB con Java desde cero usando Eclipse

Es necesario tener un servidor web o de aplicaciones a la mano para poder ejecutarlo, puede ser tan simple como un Tomcat, o si gustan un JBoss, Glassfish, o en mi caso como trabajo diariamente con el Oracle WebLogic.

La idea de esto es que puedan ver paso a paso como se crea la aplicación WEB, como se crea un Servlet(Una aplicación puede tener infinidad de estos), como sobreescribir los métodos de acción doGet y doPost y como llamar la ejecución de estos.

Paso 1. crear el proyecto


Paso 2. Definir el nombre del proyecto y el servidor en el cual este se deploya


Paso 3: Si se requiere algún otro directorio con archivos .class este seria el momento ideal para hacerlo, se puede hacer después , no hay ningún problema


Paso 4: Pongamole un contexto a nuestra aplicación, en mi caso el contexto será /MiAplicacionWeb


Bueno con esto nuestro proyecto WEB ya esta listo ahora vamos a probarlo.
No pongo como crear un paquete pero metí un paquete llamado servlets en mi carpeta de src.
Ahora vamos a crear el Servlet.

Paso 1: Busco en el menú desplegable la creación de mi servlet.


Paso 2: Indico el nombre de la clase que ejecutará el Servlet


Paso 3: El Mapéo del Servlet, osea como lo voy a llamar desde mi explorador


Paso 4: ¿Qué métodos ejecutará mi Servlet? Bueno lo normal es un doGet y un doPost. Solo por cultura general de las aplicaciones web, el protocolo HTTP soporta 7 métodos GET, POST, TRACE, PUT, OPTIONS, DELETE, HEAD, de los cuales tienen muchas funcionalidades pero sigamos con los nuestros GET y POST


Perfecto ya con esto esta listo nuestro mapeo de Servlet ademas de que tenemos nuestra clase con los métodos sobreescritos de doGet y doPost el doGet es para cuando entremos desde el navegador ( En mi caso No tienes permitido ver los links. Registrarse o Entrar a mi cuenta ). Además de esto ya implemente una impresión con un OutputStream de mi servlet para que pueda imprimir "Hola mundo, Servlet"

Código: java
package servlets;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
* Servlet implementation class MiServlet
*/
public class MiServlet extends HttpServlet {
private static final long serialVersionUID = 1L;

    public MiServlet() {
        super();
    }

protected void doGet(HttpServletRequest request,
                   HttpServletResponse response)
                   throws ServletException, IOException {
              ServletOutputStream out=response.getOutputStream();
out.println("Hola mundo, Servlet!");
out.flush();
out.close();
}

protected void doPost(HttpServletRequest request,
                   HttpServletResponse response)
                   throws ServletException, IOException {

}

}


Una vez llamado el servlet desde mi navegador se verá lo siguiente:


¿Sencillo verdad? Si necesitan que les explique algo mas en especifico no duden en publicar su pregunta, será respondida en cuanto la vea

Ahora unos ejemplos de uso para el método doGet y doPost:

En el caso de doGet es cuando se llama la aplicación desde la URL, este llamado puede contener parámetros la sintaxis es la siguiente

http://servidor:puerto/contextoAplicacion/Servlet?parametro1=texto1&parametro2=texto2

el símbolo ? es para iniciar los parámetros y el & es para separarlos.

En el ejemplo anterior le enviaré el siguiente parámetro:

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta Perez

Con una pequeña adaptación al método anterior:

Código: java
protected void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {

        //getParameter() es para obtener los parametros ingresados desde
        //Una URL o por POST, no confundir con getAttribute(String,Object)
        //este método es para obtener datos previamente guardados

String usuario=(String)request.getParameter("usuario");
ServletOutputStream out=response.getOutputStream();
out.println("Hola " + usuario);
out.flush();
out.close();
}


Llamando la URL tal cual como la tengo arriba tengo el siguiente resultado:


Ahora un ejemplo con el método doPost, para esto necesitamos a fuerzas crear un formulario que sea capaz de enviar por método POST
para su comodidad ya tengo un HTML hecho, solo descarguenlo No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Ahora, acabo de adaptar el servlet de la siguiente manera:

Código: java
protected void doPost(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
String usuario = (String) request.getParameter("usuario");
String password= (String) request.getParameter("password");
ServletOutputStream out = response.getOutputStream();

if (password.equals("12345678")){
out.println("Bienvenido: " + usuario);
}else{
    out.println("El password es invalido intentelo de nuevo");
}
out.flush();
out.close();
}


Cuando ingreso el usuario "Carlos" y un password diferente a 12345678 tengo el siguiente resultado:


Cuando ingreso el usuario "Carlos" y el password "12345678″


Señoras y señores todo por el momento, estaré escribiendo pronto, espero les sea de utilidad este artículo.

Fuente: desarrolloinnovador

Saludos
#63
Talleres Underc0de / Re:Taller Programación en Ruby #1
Octubre 07, 2014, 09:42:13 PM
Ya está el video con una solución a los ejercicios propuestos.

Saludos
#64
Diseño UX/UI / Re:Pide tu firma Underc0de V3.
Octubre 06, 2014, 01:03:22 PM
Pues te a quedado genial, estaría bueno hacerle un cambio a mi firma. Si no hay problemas te pido la primera "Expermicid"  :)

Saludos
#65
Talleres Underc0de / Re:Taller Seguridad Web #3
Octubre 05, 2014, 09:00:23 PM
Muy buenos Antrax y Blackdrake.

Saludos
#66
Talleres Underc0de / Re:Taller Programación PHP #3
Octubre 04, 2014, 07:17:34 PM
Felicidades por el taller facufangio!!!

Esperamos los siguientes números :)
#67
Java / Re:[JAVA][MYSQL] Tutorial Basico
Octubre 04, 2014, 04:37:25 PM
Buenísimo LKI. Yo he utilizado java y postgres.

Después  ponle a las etiquetas code el  '=java' asi colorea las palabras

Saludos
#68
Esta lo que dice ANTRAX y a la vez si solo quieres dedicarte a la programación no te pongas a estudiar una ingeniería  que vas a tener muchas materias que no son específicamente de programación. Mira los planes de estudio de las carreras y elije la que mas te convenga.
#69
Yo supuse que no se podia utilizar las funciones prehechas y no la use xD
#70
Vote que "Si" pero hasta un cierto punto. Un antivirus es una pequeña ayuda que sirve como una barrera ante algunos archivos malignos, especialmente a personas ajenas al tema de análisis de malware.

Saludos
#71
Resolución enviada :)

Pongo la captura de la prueba aqui:



Saludos
#72
E-Zines / The Original Hacker n° 9
Septiembre 30, 2014, 03:36:50 PM


Indice:

Guia para ser un buen estudiante de sistemas: Las 12 reglas del aprendiz de hacker
Sobre el reporte del bug #56883 en apache 2 .4 y otros conflictos sobre Ubuntu 14.04
Novedades sobre JackTheStripper y EuropioCode
Tui: Text User Interfaces en GNU/Bash y Python
Python web sin frameworks: sobre las sesiones y el acceso restringido

Descarga: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Fuente: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Saludos
#73
Creo que la cuestión es al revés. Primero elige al lenguaje de programación que te gustaría aprender y luego ve si tienes alguna restricción para la elección del sistema operativo. En mucho casos va e ser indiferente y podrás tener el SO que quieras.
#74
Wargames y retos / Re:Reto Ingenieria Social (?)
Septiembre 28, 2014, 12:25:46 PM
Se ve bastante interesante...
rollth tu ya lo has probado como para darnos una idea?

Saludos
#75
Ruby / JRuby: Implementación de Ruby en la JVM
Septiembre 27, 2014, 01:18:36 PM
JRuby es una implementación 100% Java del lenguaje de programación Ruby. Básicamente es un intérprete de Ruby escrito en Java y que se ejecuta sobre la máquina virtual. Es una de las tantas implementaciones, de las más completas.


Actualmente Ruby se encuentra en su versión 1.9.2, y la implementación oficial (la más usada – Matz's Ruby Interpreter o MRI) se toma como referencia para la especificación del lenguaje. Esta versión de Ruby corre sobre una máquina virtual específica de Ruby, y está escrita en C. JRuby soporta completamente Ruby 1.8, y se está trabajando en la compatibilidad con 1.9.2. Además de estas dos implementaciones existen también MacRuby (Ruby en Mac OS X), Rubinius, y otras.

La madurez de una implementación es medida (segun Wikipedia) por su habilidad de ejecutar Ruby On Rails. Este punto se denomina la singularidad Rails. Para tener una referencia de la madurez de JRuby, en mayo de 2010 solamente la MRI y JRuby eran capaces de ejecutar Rails sin modificaciones en un ambiente de producción.

¿Porqué JRuby?

No recuerdo cuándo leí por primera vez sobre JRuby, pero esta fue la primer pregunta que vino a mi cabeza. No me terminé de convencer de su utilidad hasta que fui a RubyConf Uruguay.

El tema es que JRuby es solo Ruby, pero no es solo Ruby. Se ejecuta sobre la JVM, que tiene bastante trabajados y aceitados varios aspectos de una máquina virtual como el Garbage Collector. Además, tenemos a disposición las miles de herramientas y bibliotecas ya maduras en el ambiente Java, y la integración con todos los demás lenguajes que corren sobre la JVM. Agregarle a eso la cantidad de plataformas en las que puede correr (y la concurrencia).

En resumen, podemos programar en Ruby dentro del ambiente Java, con todas las ventajas que esto nos aporta.

Usando JRuby

Instalarlo es trivial, en mi caso simplemente usé yaourt para descargar e instalar el paquete, pero pueden visitar el sitio web para descargarlo y ver instrucciones de instalación: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Una vez hecho esto, podemos ejecutar código Ruby con JRuby, o escribir un híbrido Ruby Java. Un ejemplo que Charles Nutter – uno de los lead developers y gran evangelista de JRuby – dió en la RubyConf fue levantar un JFrame con JRuby. Es un código bien sencillo, pero en mi caso fue como el golpe que me hizo dar cuenta que se "programa Ruby con Java" (no sé si me explico, en fin, dejo a libre interpretación):

Código: ruby
#Usar Java
require "java"

#Importar las clases Java requeridas:
include_class javax.swing.JFrame
include_class javax.swing.JLabel

#Crear Frame y agregar etiqueta:
f = JFrame.new 'Ventana - JRuby'
f.setSize 400,400
l = JLabel.new 'Hola mundo desde JRuby'
f.add l
f.show


No hay que olvidar además que podemos hacer uso de Ruby On Rails y desplegarlo junto a otras aplicaciones web en un servidor Java como Tomcat.

JRuby 1.6

Esta entrada fue motivada por el lanzamiento de JRuby 1.6.0 RC1. Se trata de uno de los hitos más importantes para JRuby debido a varias razones. Llevó 9 meses de trabajo y algunas de las características destacadas son la compatibilidad con Ruby 1.9, mejoras en el rendimiento y soporte para Windows.

Respecto a la compatibilidad con el lenguaje y la API de Ruby 1.9.2, está casi terminada. Faltan algunas pocas cosas por implementar antes de la versión final. El rendimiento de las llamadas a métodos Ruby ha sido mejorado, reduciendo sustancialmente los tiempos, además de muchas optimizaciones en respuesta a reportes de los usuarios.

Otras mejoras a destacar:

  • Profiler Gráfico incorporado
  • Cambios en RubyGems – Actualización a RubyGems 1.4.2 y otros cambios
  • Soporte experimental para API de extensión de C
  • Preview de soporte RubyGems para Maven
  • Compatibilidad y experiencia de usuario mejorada en Windows
Además de todo esto, se hicieron más de 2000 commits y se resolvieron 265 problemas. El desarrollo de esta versión contó con la mayor cantidad arreglos, revisiones y contribuciones de usuarios hasta el momento.

Con todo esto podemos suponer que JRuby está creciendo, y seguirá así por un buen tiempo. Ya presenta una alternativa interesante a Ruby en un contexto de desarrollo específico de Java.

Viniendo de desarrollar en Java y queriendo desarrollar en Ruby, mirar JRuby es como un puente entre ambas. Todavía tengo fijada la idea de aprender Ruby, pero JRuby presenta una oportunidad para ir pensando en mechar Ruby con el trabajo diario en Java.

Autor: Fernando Briano
Fuente: picandocodigo

Saludos
#76
Debates, Reviews y Opiniones / Re:Que OS usas??
Septiembre 27, 2014, 11:43:13 AM
Actualmente Ubuntu. Pero estuve un tiempo largo con Debian.
A parte de esto me creo diferentes maquinas virtuales con diferentes versiones de Windows por ejemplo, para hacer pruebas o por diferentes necesidades.

Saludos
#77
Off Topic / Re:Feliz Cumpleaños ANTRAX
Septiembre 24, 2014, 08:49:15 PM
Muchas Felicidades ANTRAX!!!
#78
Presentaciones y cumpleaños / Re:Me presento
Septiembre 19, 2014, 11:53:31 PM
Bienvenido    th3b4d_ch007s3!!!

Espero verte seguido y ante cualquier cosa no dudes en preguntar.

Saludos
#79
Nos llega este interesante proyecto de la mano de No tienes permitido ver los links. Registrarse o Entrar a mi cuenta, un framework basado en OpenGL escrito en python que nos permite hacer aplicaciones desktop, IOS, Windows y tambien Android.

Hace poco vimos cómo compilar con el SDK de Android desde otro lenguaje que no sea Java, por ejemplo desde No tienes permitido ver los links. Registrarse o Entrar a mi cuenta.
Ahora con  No tienes permitido ver los links. Registrarse o Entrar a mi cuenta, que es a la vez un framework y un toolkit como PythonQT o como el GTK+ toolkit de Gnome, podemos crear botones, animaciones, elementos visuales desde Python.

Mathieu Virbel, leader programmer de Kivy nos publica hace pocos días este script en Python que permite compilar desde python con el toolchain de Android y de esta forma  obtener un APK para Android.

Introducción: Instalación del Framework Kivy

En nuestro caso no es necesario instalar a kivy, el script de No tienes permitido ver los links. Registrarse o Entrar a mi cuenta nos descaraga directemente el framework de Kivy.

Solo instalamos Kivy para tener los ejemplo Demo a Compilar, no es necesario tenerlo instalado se puede saltar al siguiente paso.

En Mac os, es simple uno se puede bajar el archivo No tienes permitido ver los links. Registrarse o Entrar a mi cuenta para snow Leopard y lo instala como de costumbre, esto instalará todas las dependencias de Python OpenGL

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

[update] En Ubuntu, para instalarlo desde apt-get:

Código: text
sudo apt-add-repository ppa:kivy-team/kivy
sudo apt-get install python-kivy


Para Compilar kivy desde easy_install:

Si estas en ubuntu o con Debian, se puede compilar el framework Kivy desde easy_install.

Al instalar desde easy_install, para instalarse, se requiere muchas dependencias como No tienes permitido ver los links. Registrarse o Entrar a mi cuenta que pueden ser descargadas desde pip o easy_install.

Código: text
sudo apt-get install python-setuptools python-pygame python-opengl python-gst0.10 python-enchant gstreamer0.10-plugins-good cython python-dev build-essential mesa-common-dev libgl1-mesa-dev libgles2-mesa-dev


Código: text
sudo pip install Cython==0.17.1

Código: text
sudo easy_install pyrex

Código: text
sudo easy_install kivy


Aqui inicia el paso para Python-For-Android ...

Instalación del NDK y del SDK de Android

Descargar los ejemplos demos:

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Descargar y descomprimir el SDK y el NDK de Android en una carpeta opt.

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Luego hay que bien configurar los Paths del SDK y del NDK. Con un Export de ANDROIDSDK y ANDROIDNDK.

Código: text
vi ~/.bashrc


Código: text
export ANDROIDSDK="/opt/android-sdk-linux_86″
export ANDROIDNDK="/opt/android-ndk-r8″
export ANDROIDNDKVER=r8
export ANDROIDAPI=14


Debes estar seguro que tenes el PATH del SDK y del NDK en tu PATH, podes comprobar esto con un simple echo $PATH, sino agregalos a tu archivo .bashrc
cuando ya terminaste con las variables env, para tomar las variables en tu shell, ejecutas:

Código: text
source ~/.bashrc


Si no tenés instalado en Ubuntu el git core build essentials Tambien hay que hacerlo:

Código: text
sudo apt-get install build-essential patch git-core ccache


y vas a necesitar también No tienes permitido ver los links. Registrarse o Entrar a mi cuenta, que es a la vez un lenguaje y una extension para usar librerias en C desde Python:

Código: text
sudo pip install Cython==0.17.1


Instalación del script python-for-android

Con un simple Clone del proyecto desde github:

Código: text
git clone git://github.com/kivy/python-for-android.git


Ahora creamos una distribución de la toolchain de Android incluyendo al modulo de Kivy.

Código: text
./distribute.sh -m "kivy"


Y ya tenemos nuestra toolchain lista para compilar un script en Python que va a generar un APK. Buscamos la carpeta dist y buscamos un ejemplo a compilar.

Podemos mirar el codigo del ejemplo del touchtracer que está en los ejemplos demo de Kivy.

Código: text
$ vi kivydemo-for-android/touchtracer/main.py


Código: python
import kivy
kivy.require('1.0.6')

from kivy.app import App
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.label import Label
from kivy.graphics import Color, Rectangle, Point, GraphicException
from random import random
from math import sqrt


def calculate_points(x1, y1, x2, y2, steps=5):
    dx = x2 - x1
    dy = y2 - y1
    dist = sqrt(dx * dx + dy * dy)
    if dist < steps:
        return None
    o = []
    m = dist / steps
    for i in xrange(1, int(m)):
        mi = i / m
        lastx = x1 + dx * mi
        lasty = y1 + dy * mi
        o.extend([lastx, lasty])
    return o


class Touchtracer(FloatLayout):

    def on_touch_down(self, touch):
        win = self.get_parent_window()
        ud = touch.ud
        ud['group'] = g = str(touch.uid)
        with self.canvas:
            ud['color'] = Color(random(), 1, 1, mode='hsv', group=g)
            ud['lines'] = (
                Rectangle(pos=(touch.x, 0), size=(1, win.height), group=g),
                Rectangle(pos=(0, touch.y), size=(win.width, 1), group=g),
                Point(points=(touch.x, touch.y), source='particle.png',
                      pointsize=5, group=g))

        ud['label'] = Label(size_hint=(None, None))
        self.update_touch_label(ud['label'], touch)
        self.add_widget(ud['label'])
        touch.grab(self)
        return True

    def on_touch_move(self, touch):
        if touch.grab_current is not self:
            return
        ud = touch.ud
        ud['lines'][0].pos = touch.x, 0
        ud['lines'][1].pos = 0, touch.y

        points = ud['lines'][2].points
        oldx, oldy = points[-2], points[-1]
        points = calculate_points(oldx, oldy, touch.x, touch.y)
        if points:
            try:
                lp = ud['lines'][2].add_point
                for idx in xrange(0, len(points), 2):
                    lp(points[idx], points[idx+1])
            except GraphicException:
                pass

        ud['label'].pos = touch.pos
        import time
        t = int(time.time())
        if t not in ud:
            ud[t] = 1
        else:
            ud[t] += 1
        self.update_touch_label(ud['label'], touch)

    def on_touch_up(self, touch):
        if touch.grab_current is not self:
            return
        touch.ungrab(self)
        ud = touch.ud
        self.canvas.remove_group(ud['group'])
        self.remove_widget(ud['label'])

    def update_touch_label(self, label, touch):
        label.text = 'ID: %s\nPos: (%d, %d)\nClass: %s' % (
            touch.id, touch.x, touch.y, touch.__class__.__name__)
        label.texture_update()
        label.pos = touch.pos
        label.size = label.texture_size[0] + 20, label.texture_size[1] + 20


class TouchtracerApp(App):
    title = 'Touchtracer'
    icon = 'icon.png'

    def build(self):
        return Touchtracer()

    def on_pause(self):
        return True

if __name__ in ('__main__', '__android__'):
    TouchtracerApp().run()


Nos posicionamos en la carpeta de dónde se encuentra el build, resultado de nuestra compilación.

Código: text
cd dist/default


Luego lanzamos la ejecución del build:

Código: text
./build.py --package org.test.touchtracer --name touchtracer --version 1.0 --dir ~/code/kivydemo-for-android/touchtracer debug


y tenemos un BUILD SUCCESSFUL

Se encuentra el resultado en un apk compilado que esta en la carpeta bin/. Lo instalamos con un simple adb install.
Aqui esta el resultado del No tienes permitido ver los links. Registrarse o Entrar a mi cuenta en el Market de Android.

[update] el APK se ejecutará normalmente en dispositivos android que soportan GPU, OpenGPL 2.0 ES, y android Froyo minimo. Para ver si su dispositivo puede correr Kivy Python, prueban correr antes el No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Si queremos empezar con nuestro propio proyecto:
   
Código: python
if __name__ in ('__main__', '__android__'):
    YourApp().run()


Y si queremos empezar ahora con un simple tutorial, les dejo este: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

La doc del No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Github del proyecto: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta para hacer el clone.

Fuente: androidda

Saludos
#80
Dudas y pedidos generales / Re:Troyano indetectable
Septiembre 16, 2014, 08:42:25 AM
blackdrake ya te comento algo.

Si estas interesado en apreder. Puede pasarte por la bilbioteca No tienes permitido ver los links. Registrarse o Entrar a mi cuenta  en la parte de malwares tendras varios tutoriales.
Y aqui No tienes permitido ver los links. Registrarse o Entrar a mi cuenta tienes distintas herramientas que te pueden ser utiles.

Saludos