domingo, 16 de julio de 2017

SPRING FRAMEWORK AND MYSQL EXAMPLE

CORRECT CONFIGURATION FIRST , WRONG CONFIGURATION LATER

INSERTION TO MySQL

en el curso de SPRING te explicaré como generar un proyecto usando SPRING y MySQL

Se define la clase main()


Salida correcta de programa Spring


Cuando bajo el servidor de Mysql envía excepción de conexión


excepción JDBC




Servidor MySQL abajo


Inicio nuevamente el servidor






La tabla es:



Select sobre la tabla



Salida correcta después de iniciar el server


MySQL Workbench


tablas



HOME de MySql
SQL DATABASE

miércoles, 5 de julio de 2017

PYTHON HEAD FIRST, FIRST STEPS SESSION 6

PRACTICA PARA SELECCIONAR DE UNA LISTA DE DATOS DEL COACH KELLY, LOS MEJORES TIEMPOS


Averiguar qué aplicación está usando un puerto de comunicaciones en Windows

A continuación explicaremos cómo saber qué apliación o servicio de Windows está usando un puerto determinado, para ello usaremos el comando Windowsnetstat. Para ello abriremos una ventana de MS-DOS (consola de comandos o shell), desde el botón "Inicio", escribimos "cmd", pulsamos con el botón derecho del ratón sobre "cmd.exe" y seleccionamos "Ejecutar como administrador":
Averiguar qué aplicación está usando un puerto de comunicaciones en Windows

Ejecutaremos el siguiente comando Windows:
netstat -naob
Nos devolverá un listado de todos los puertos de comunicaciones que están siendo usados actualmente con el protocolo (TCPUDP, TCPv6 y UDPv6), dirección IP local, dirección IP remota, estado y PID (número que identifica el proceso en las tareas que se están ejecutando):
Averiguar qué aplicación está usando un puerto de comunicaciones en Windows
Si queremos guardar el resultado en un fichero ejecutaremos el comando Windows:
netstat -naob > aplicaciones_puertos.txt
Averiguar qué aplicación está usando un puerto de comunicaciones en Windows
Con el comando comando Windows:
notepad aplicaciones_puertos.txt
Abriremos el Bloc de notas con el resultado del comando anterior, desde aquí podremos consultar, buscar y guardar todas las aplicaciones que abren puertos de comunicaciones en nuestro equipo:
Averiguar qué aplicación está usando un puerto de comunicaciones en Windows
Un ejemplo del resultado de este comando:
Conexiones activas
Proto Dirección local Dirección remota Estado PID
TCP 0.0.0.0:21 0.0.0.0:0 LISTENING 2068
ftpsvc
[svchost.exe]
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 4
No se puede obtener informaci¢n de propiedad
TCP 0.0.0.0:111 0.0.0.0:0 LISTENING 3848
[VeeamNFSSvc.exe]
TCP 127.0.0.1:63924 127.0.0.1:63925 ESTABLISHED 7216
[firefox.exe]
TCP 127.0.0.1:63925 127.0.0.1:63924 ESTABLISHED 7216
[firefox.exe]
TCP 127.0.0.1:63926 127.0.0.1:63927 ESTABLISHED 7216
[firefox.exe]
TCP 127.0.0.1:63927 127.0.0.1:63926 ESTABLISHED 7216
[firefox.exe]
TCP 127.0.0.1:64151 127.0.0.1:64152 ESTABLISHED 5436
[vmware-vmrc.exe]
TCP 127.0.0.1:64152 127.0.0.1:64151 ESTABLISHED 5436
[vmware-vmrc.exe]
En el caso en que no aparezca el ejecutable de la aplicación que está usando el puerto podremos consultarlo de la siguiente forma:
1. Ejecutaremos el comando anterior con el parámetro "o" que nos mostrará el PID del proceso que está abriendo el puerto, buscaremos el puerto del que queramos averiguar la aplicación o servicio que lo está usando. En en el ejemplo buscamos qué aplicación está usando el puerto "3306", anotaremos el PID de la aplicación que aparece al final de la línea (en el ejemplo "1320"):
Averiguar qué aplicación está usando un puerto de comunicaciones en Windows

COMO SABER QUE PUERTOS ESTAN OCUPADOS Y QUE PROGRAMA LOS UTILIZA EN WINDOWS

Como saber que puertos estan ocupados y quien los esta utilizando
De esas veces que necesitas saber si un puerto esta abierto y no estas en linux, sino en windows.. no tienes herramientas gráficas y solo puedes acceder a la consola y sus comandos..
Lo primero es utilizar netstat y unos cuantos parámetros desde la consola en windows (-o muestra el PID, -a todas las conexiones y -n direcciones ip)
c:\Jack> netstat -oan
Luego que ya sabemos si o no está en uso.. ahí mismo con el parámetro -o podemos tener acceso al no. de proceso o PID .. ya con ese dato podemos abrir el administrador de tareas, eso bastaría para saber su nombre y matarlo si es lo que necesitan.. pero si es un proceso global y no aparece en el administrador de tareas, no hay de otra más que seguir utilizando la consola para averiguar de donde diablos salío la aplicación que utiliza el puerto que necesitan.
Bueno, lo siguiente entonces es saber el nombre de la aplicación dueña del proceso y para esto utilizamos el comando tasklist con otro par de parámetros (-svc para obtener el nombre del servicio, -FI para aplicar un filtro de búsqueda)
c:\Jack> tasklist /svc /FI "PID eq 1428"
En este caso de ejemplo quiero conocer el nombre de la aplicación con PID 1428 que fue lo que encontré utilizando netstat .. y el resultado de la ejecución de tasklist es el nombre de la aplicación.
Ya para finalizar vamos a utilizar el comando taskkill enviando como parámetros -F para forzar el cierre de la aplicacion y -PID para especificar el número de proceso a matar.
c:\Jack> taskkill /F /PID 1428
Y taraaán.. Aprendieron a averiguar sí o no se estaba utilizando un puerto, el nombre de la aplicación que lo utilizaba y hasta lo matamos para que no nos siga molestando 😀
******************************************************************
que superamos el error de puerto
Ahora si vamos a trabajar con el codigo Python para crear el CGI
#! /usr/local/bin/python3

import glob

import athletemodel
import yate

data_files = glob.glob("data/*.txt")
athletes = athletemodel.put_to_store(data_files)

print(yate.start_response())
print(yate.include_header("Coach Kelly's List of Athletes"))
print(yate.start_form("generate_timing_data.py"))
print(yate.para("Select an athlete from the list to work with:"))
for each_athlete in athletes:
    print(yate.radio_button("which_athlete", athletes[each_athlete].name))
print(yate.end_form("Select"))
print(yate.include_footer({"Home": "/index.html"}))




*****************************************************************
#! /usr/local/bin/python3

import cgi

import cgitb
cgitb.enable()

import athletemodel
import yate

athletes = athletemodel.get_from_store()

form_data = cgi.FieldStorage()
athlete_name = form_data['which_athlete'].value

print(yate.start_response())
print(yate.include_header("Coach Kelly's Timing Data"))    
print(yate.header("Athlete: " + athlete_name + ", DOB: " +
                      athletes[athlete_name].dob + "."))
print(yate.para("The top times for this athlete are:"))
print(yate.u_list(athletes[athlete_name].top3))
print(yate.include_footer({"Home": "/index.html",
                           "Select another athlete": "generate_list.py"}))

*******************************************************




















PYTHON HEAD FIRST, FIRST STEPS SESSION 5

in this session, we are going to sanitize and sort the following values, and finally to put the three first values at the end,








finally the result



PYTHON HEAD FIRST, FIRST STEPS SESSION4

vamos a tratar el siguiente archivo, recomendaciones de críticos de películas,

critics = {
    'Lisa Rose': {
        'Lady in the Water': 2.5,
        'Snakes on a Plane': 3.5,
        'Just My Luck': 3.0,
        'Superman Returns': 3.5,
        'You, Me and Dupree': 2.5,
        'The Night Listener': 3.0,
    },
    'Gene Seymour': {
        'Lady in the Water': 3.0,
        'Snakes on a Plane': 3.5,
        'Just My Luck': 1.5,
        'Superman Returns': 5.0,
        'The Night Listener': 3.0,
        'You, Me and Dupree': 3.5,
    },
    'Michael Phillips': {
        'Lady in the Water': 2.5,
        'Snakes on a Plane': 3.0,
        'Superman Returns': 3.5,
        'The Night Listener': 4.0,
    },
    'Claudia Puig': {
        'Snakes on a Plane': 3.5,
        'Just My Luck': 3.0,
        'The Night Listener': 4.5,
        'Superman Returns': 4.0,
        'You, Me and Dupree': 2.5,
    },
    'Mick LaSalle': {
        'Lady in the Water': 3.0,
        'Snakes on a Plane': 4.0,
        'Just My Luck': 2.0,
        'Superman Returns': 3.0,
        'The Night Listener': 3.0,
        'You, Me and Dupree': 2.0,
    },
    'Jack Matthews': {
        'Lady in the Water': 3.0,
        'Snakes on a Plane': 4.0,
        'The Night Listener': 3.0,
        'Superman Returns': 5.0,
        'You, Me and Dupree': 3.5,
    },
    'Toby': {'Snakes on a Plane': 4.5, 'You, Me and Dupree': 1.0,
             'Superman Returns': 4.0},
}


aplicando la distancia entre puntos cartesianos

def sim_distance(prefs, p1, p2):
    '''
    Returns a distance-based similarity score for person1 and person2.
    '''

    # Get the list of shared_items
    si = {}
    for item in prefs[p1]:
        if item in prefs[p2]:
            si[item] = 1
    # If they have no ratings in common, return 0
    if len(si) == 0:
        return 0
    # Add up the squares of all the differences
    sum_of_squares = sum([pow(prefs[p1][item] - prefs[p2][item], 2) for item in
                         prefs[p1] if item in prefs[p2]])
    return 1 / (1 + sqrt(sum_of_squares))


 Returns the Pearson correlation coefficient for p1 and p2.

    '''
    Returns the Pearson correlation coefficient for p1 and p2.
    '''

    # Get the list of mutually rated items
    si = {}
    for item in prefs[p1]:
        if item in prefs[p2]:
            si[item] = 1
    # If they are no ratings in common, return 0
    if len(si) == 0:
        return 0
    # Sum calculations
    n = len(si)
    # Sums of all the preferences
    sum1 = sum([prefs[p1][it] for it in si])
    sum2 = sum([prefs[p2][it] for it in si])
    # Sums of the squares
    sum1Sq = sum([pow(prefs[p1][it], 2) for it in si])
    sum2Sq = sum([pow(prefs[p2][it], 2) for it in si])
    # Sum of the products
    pSum = sum([prefs[p1][it] * prefs[p2][it] for it in si])
    # Calculate r (Pearson score)
    num = pSum - sum1 * sum2 / n
    den = sqrt((sum1Sq - pow(sum1, 2) / n) * (sum2Sq - pow(sum2, 2) / n))
    if den == 0:
        return 0
    r = num / den
    return r
















Blogger Widgets