miércoles, 19 de agosto de 2015

ACCESS POINT





WIRLESS ACCESS POINT

Un punto de acceso inalámbrico (WAP  Wireless Access Point) es un dispositivo que interconecta dispositivos de comunicación inalámbrica para formar una red inalámbrica. Normalmente un WAP también puede conectarse a una red cableada, y puede transmitir datos entre los dispositivos conectados a la red cable y los dispositivos inalámbricos. Los puntos de acceso inalámbricos tienen direcciones IP asignadas, para poder ser configurados. El punto de acceso recibe la información, la almacena y la transmite entre la WLAN (Wireless LAN) y la LAN cableada.
Un único punto de acceso puede soportar un pequeño grupo de usuarios y puede funcionar en un rango de al menos treinta metros y hasta varios cientos. 

CARACTERISTICAS DE WIRLESS ACCESS POINT

• Permiten la conexión de dispositivos inalámbricos a la WLAN.
• Cuentan con soporte para redes basadas en alambre (LAN - Local Area Network), que tienen un puerto RJ45 que permite interconectarse con Switch inalámbrico y formar grandes redes entre dispositivos convencionales e inalámbricos.
• La tecnología de comunicación con que cuentan es a base de ondas de radio, capaces de traspasar muros, sin embargo entre cada obstáculo esta señal pierde fuerza y se reduce su cobertura.
• El Access Point puede tener otros servicios integrados como expansor de rango y ampliar la cobertura de la red.
• Cuentan con un alcance máximo de cobertura, esto dependiendo el modelo, siendo la unidad de medida el radio de alcance que puede estar desde 30 metros hasta 100 metros.
• Cuentan con una antena externa para la correcta emisión y recepción de ondas, así por ende, una correcta transmisión de la información.


PARTES DEL WIRLESS ACCESS POINT


1.- Cubierta: se encarga de proteger los circuitos internos y da estética al producto.
2.- Indicadores: permiten visualizar la actividad en la red.
3.- Antena: recibe y envía la señal de manera más fiable.
4.- Conector RJ45: permite interconectar la red inalámbrica con una red basada en cables.
5.- Conector DC: recibe la corriente eléctrica desde un adaptado, necesario para su funcionamiento.



martes, 18 de agosto de 2015

PYTHON



PYTHON

Python se ha vuelto popular en los últimos tiempos, por la facilidad para desarrollar en plataformas nativas (Windows, Linux, OSx, etc), la sencillez del lenguaje, los tipos de datos, etc.
A continuación y antes de empezar a jugar con el lenguaje, vamos a ver algunas características.

CARACTERISTICAS

Sintáxis limpia y legible
Capacidad de Introspección
Orientación a Objetos bastante intuitiva
Soporte de paquetes en jerarquía
Manejo de errores basado en excepciones
Tipos de datos dinámicos de alto nivel
Extensa librería y módulos third-party
Se pueden escribir nuevos módulos facilemente en C, C++ (en Java -Jython- y .NET -IronPython-)

Python puede incluirse en aplicaciones que necesitan una interfaz programable.
   Python es un lenguaje de programación multiparadigma. Esto significa que más que forzar a los programadores a adoptar un estilo particular de programación, permite varios estilos: programación orientada a objetos, programación imperativa y programación funcional. Otros paradigmas están soportados mediante el uso de extensiones.
Python usa tipado dinámico y conteo de referencias para la administración de memoria.
Una característica importante de Python es la resolución dinámica de nombres; es decir, lo que enlaza un método y un nombre de variable durante la ejecución del programa (también llamado ligadura dinámica de métodos).
Otro objetivo del diseño del lenguaje era la facilidad de extensión. Se pueden escribir nuevos módulos fácilmente en C o C++. Python puede incluirse en aplicaciones que necesitan una interfaz programable.
Aunque la programación en Python podría considerarse en algunas situaciones hostil a la programación funcional tradicional del Lisp, existen bastantes analogías entre Python y los lenguajes minimalistas de la familia Lisp como puede ser Scheme.

LISP: Es un lenguaje diseñado para la manipulación de fórmulas simbólicas. Más adelante, nació su aplicación a la inteligencia artificial. El Lisp (o LISP) es una familia de lenguajes de programación de computadora de tipo multiparadigma con una larga historia y una sintaxis completamente entre paréntesis.
Scheme: fue el primer dialecto de Lisp que usó ámbito estático o léxico (en lugar de dinámico) de forma exclusiva. También fue uno de los primeros lenguajes de programación con continuaciones explícitas.

PRIMEROS PASOS

Empecemos a jugar un poco con el lenguaje. Lo primero que necesitamos, es instalar Python. Yo estoy usando la versión 2.7 de Python, que es la versión que tiene más librerías disponibles y la más estable. Hay otras versiones, pero para aprender la 2.7 está bien.

Windows: Tenemos dos opciones: Bajar ActivePython, que nos provee una GUI y es lo más recomendable para empezar. La opción que nos queda, es descargar Python desde su web oficial Python.org. En la web oficial, están los links (inclusive los links a ActivePython y otras alternativas).
Mac OSx: Para los usuarios de Mac, la cosa es más sencilla. Mac ya trae una versión de Python de consola pre-instalada. Si quieren la última versión, pueden descargarla del de Python.org en un .dmg. Al instalar Python, van a tener un GUI, una consola y una completa librería de ayuda. Los usuarios de Mac OS 9, van a tener que descargar Python de la web, ya que no trae ninguna versión pre-instalada.

Nota: Cuando se instala Python desde una imagen, la versión pre-instalada del sistema operativo se mantiene. Si usas la terminal más que la GUI, al correr las aplicaciones ten en cuenta la versión que estás usando de Python.

Código :
# Version pre-instalada
$ /usr/local/bin/python
Python 2.3.3 (#2, Dec 23 2003, 22:56:29)
[GCC 3.1 20020420 (prerelease)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>

# Version de la página oficial
$ python
Python 2.7 (r27:82508, Jul  3 2010, 20:17:05)
[GCC 4.0.1 (Apple Inc. build 5493)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>

Para volver a la línea de comandos de la terminal, presioná CTRL+D.
Linux: para usar Python en Linux, vamos a tener que estar familiarizados con la consola y el comando apt.
Código :
$ sudo apt-get install python

Así de sencillo. Para otras distribuciones de linux como Red Hat, van a tener que usar un repositorio y elegir la version 2.7 de la lista, entrar al directorio rpms/ y elegir la versión más alta. Luego con el comando rpm, la instalan.
Código :
$ wget http://python.org/ftp/python/version/rpms/archivo_a_descargar.rpm
$ rpm -Uvh archivo_descargado.rpm

Hola Mundo

Vamos a escribir nuestras primeras líneas en Python. Podemos usar cualquier editor de preferencia para escribir el código (Coda, Python IDLE, ActivePython, VIM). Los archivos de Python tienen la extensión .py

Usando la consola accedemos así:

Código :
# Entramos en el entorno de VIM y podemos empezar a editar nuestro archivo. Para empezar a escribir presionamos "[b] i [/b]", para salir del modo de escritura presionamos Escape, para guardar los cambios "[b]: w [/b]" y para salir de VIM "[b]: q [/b]".
$ vim directorio/miArchivo.py

Vamos a escribir una función simple y más adelante vamos a explicar que hace cada cosa, la sintáxis del lenguaje y algunos detalles importantes que hacen al lenguaje. Escribimos en nuestro editor, las siguientes líneas:

Código :
def SumarNumeros(x, y):
    print 'Resultado: ' + str(x+y)
SumarNumeros(3,4)

Ahora ejecutemos nuestro código. Si estás en un entorno GUI, generalmente la tecla rápida es F5 o Run Module. Si estás en la consola:

Código :
$ python archivo.py

Si el resultado no es un error de interpretación podemos estar contentos. Hemos realizado nuestro primer script en Python con total éxito. Pero expliquemos un poco más lo que hemos hecho.
Código :
def SumarNumeros(x, y):

Las funciones en Python se declaran con def, seguido del nombre de la función y sus parámetros (si son múltiples parámetros, se separan por comas). No declaramos el tipo de dato que retorna la función, esto es porque Python es un lenguaje de tipos dinámicos (los tipos de datos se establecen en el momento de la ejecución). Tampoco definimos si retorna un valor o no. Esto es porque Python SIEMPRE retorna un valor. Si no retornamos nada en la función, el valor de retorno por defecto es None (el valor nulo en Python)

Código :
print 'Resultado: ' + str(x+y)

Imprimimos el resultado de la suma de los parámetros (valores tipo enteros) junto con un texto. Algo a tener en cuenta: la función print no concatena distintos tipos de datos. Por eso usamos la función str para convertir el resultado de la suma (entero) en un string. Si no usáramos esta función, recibiríamos un error. ¿Has hecho la prueba?

Código :
print 'Resultado: ' + (x+y)


Código :
SumarNumeros(3,4)

Corremos la función y le enviamos dos números como parámetros.

¿Dónde carajos están las llaves y los corchetes?

Buena pregunta. Python tiene una característica que, a mi opinión, es bastante interesante y práctica: Python no usa llaves, corchetes ni palabras claves en la definición de funciones, bucles, sentencias, etc.

En las funciones, no existen palabras claves para delimitar donde empieza y termina la función. El único delimitador son los dos puntos ":" y el indent (o sangría) del código.
Código :
def SumarNumeros(x, y):
    print x+y

def RestarNumeros(x, y):
    print x-y

El inicio de la función lo delimitan los dos puntos, el final de la función lo define el indent inverso. Debemos tener en cuenta que los espacios en blanco, en Python toman relevancia. El indent debe ser constante (4 espacios es lo más usado), de lo contrario recibiremos errores de interpretación a la hora de ejecutar nuestro script.

A pesar de que al principio esto puede resultar molesto no poder delimitar bloques como lo hacemos en otros lenguajes, con el tiempo lo vamos a agradecer. Imaginen un mundo donde usar tabulaciones sea un requisito y no un simple asunto de estilo. Para cualquier programador que edite un archivo, el codigo se verá limpio, bien ordenado siempre.