jueves, 31 de agosto de 2017

IDE para Python





Pycharm IDE

El IDE Pycharm es muy completo, creado por JetBrains. Este IDE es profesional y viene en dos modalidades: una edición Free y otra muy completa privada que apunta a empresas de desarrollo de software.
La mayoría de sus características están disponibles en la versión gratuita, se integra con IPython, soporta Anaconda, así como otros paquetes científicos como matplotlib y NumPy.




                                                                 

                                       Vim IDE


Vim IDE es uno de los editores más avanzados y populares dentro de la comunidad de desarrolladores Python. Es de código abierto y se encuentra disponible gratuitamente bajo licencia GPL.
Sin embargo, Vim es más conocido como editor, aunque nos ofrece un entorno completo de desarrollo para Python cuando está configurado correctamente. Vim es ligero, modular y el más adecuado para los amantes del teclado, para los que no utilizan el mouse mientras se escribe código.






                           
                                    

                                   PyDev IDE


Es un plugin de código abierto y se ejecuta en Eclipse.
Porque PyDev aparece en esta lista: Integración con Django.
Se mantiene siempre actualizado y contiene una gran comunidad de usuarios y empresas de patrocinio como Liclipse, Squish, TraceTronic y alguna mas.
Aunque PyDev califica como uno de los mejores IDE de Python de código abierto, también viene empaquetado junto con otro producto llamado Liclipse, un producto comercial construido sobre Eclipse que proporciona mejoras en la usabilidad y temas adicionales.



                                     

lunes, 28 de agosto de 2017



  Photoshop

Photoshop se escribió en Pascal, aunque también tiene c++.
Photoshop es un editor de gráficos que se utiliza para crear, editar y retocar imágenes, tanto gráficas como fotografías. Originalmente realizado para las computadoras de Apple y luego extendido para las PC con sistema operativo de Windows, fue desarrollado y comercializado por Adobe Systems Incorporated.

Lanzado en 1990 exclusivamente para Macintosh de Apple, su historia se remonta hacia 1987, cuando un estudiante de doctorado de la Universidad de Michigan, Thomas Knoll realizó un programa llamado Display para Macintosh Plus. Su objetivo era mostrar imágenes en escala de grises en las pantallas que solo eran monocromáticas.

Su hermano John Knoll le recomendó convertir a Display en un programa completo de editor de imágenes. Fue así que ambos comenzaron a trabajar en el programa. Thomas lo rebautizó como ImagePro, como pero ese nombre estaba registrado, terminó poniéndole Photoshop. Así negociaron con Barneyscan para que distribuyera copias de ese programa a través del escáner.
Debido al florecimiento de la fotografía digital, este programa se fue popularizando fuera del ámbito profesional ya que muchas personas lo utilizan para retocar sus fotos personales.

Actualmente la compañía ha añadido para el iPhone y el iPad, el Photoshop Sketch y el Photoshop Mix, apps que permiten editar imágenes en esos dispositivos móviles.





                        












     Blender

Blender esta programado en · C, C++ y Python
Blender es un software destinado, en primera instancia, al modelado 3D de objetos para después hacer representaciones de ese modelado. Incorpora la posibilidad de dar texturas y materiales, iluminar la escena... Incluye las tecnologías más utilizadas en el diseño 3D: mallas, textos, meta-objetos, curvas, superficies y modelado escultórico.
Permite crear animaciones de los modelados; desde mecánicas restringidas de artilugios robóticos hasta emisiones de partículas para explosiones, pasando por todo tipo de cinemáticas para mover personajes. No puede dejarse de mencionar que incorpora la tecnología necesaria para animar fluidos, gases, telas, cuerpos blandos, pelo...
Incluye su propio motor de juegos para desarrollar paseos virtuales por recorridos arquitectónicos aunque en realidad es posible afrontar cualquier videojuego que un equipo humano cualificado se proponga. Además brinda muchas posibilidades en la simulación de físicas.







Herramientas cad

No esta hecho en un solo lenguaje de programacion, debido a su complejidad se integraron 5 tipos diferentes de lenguajes.
Computer-aided design (CAD) (diseño asistido por ordenador) es el uso de programas informáticos para crear representaciones gráficas de los objetos físicos en dos o tres dimensiones (2D o 3D). El software CAD puede ser especializado para aplicaciones específicas. CAD es ampliamente utilizado en la animación por ordenador y en los efectos especiales en películas, publicidad, y otras aplicaciones donde el diseño gráfico en sí es el producto final. CAD también se utiliza para diseñar productos físicos en una amplia gama de industrias, donde el software realiza los cálculos para determinar la forma y tamaño óptimos para una variedad de productos y aplicaciones de diseño industrial.

En el producto y el diseño industrial, CAD se utiliza principalmente para la creación de modelos 3D detallados de sólidos o superficie, o dibujos en 2D basados en vectores de los componentes físicos.





Fireworks CS6


Fireworks proporciona a los diseñadores web una forma ligera y eficaz de crear gráficos para sus páginas web sin tener que profundizar en el código o perderse entre múltiples paletas de colores.


Funciones
  • ·         Compatibilidad con CSS
  • ·         Aspectos de los temas de jQuery Mobile 
  • ·         Creación de sprites de CSS 
  • ·         Acceso a API 
       





SolidWorks


La interfaz de programación de aplicación (API) de SolidWorks es una interfaz de programación COM para el software SolidWorks. La API contiene cientos de funciones que pueden invocarse desde Visual Basic (VB), Visual Basic for Applications (VBA), VB.NET, C++, C#, C o archivos de macros de SolidWorks. Estas funciones proporcionan al programador acceso directo a las funcionalidades de SolidWorks.

SolidWorks tiene soluciones para industrias de plasticos, lamina delgada, electrica, simulacion y analisis por elementos finitos, el programa incluye un modulo inteligente de deteccion de errores de diseño y modulos para diseño sustentable . Como herramienta de diseño 3D es facil de usar.





                       




                               Instalación de python


Para esto ingresamos a la página oficial de Python(https://www.python.org/downloads/), y en la sección de descargas elegimos la plataforma Windows y descargamos el paquete de instalación de Python 2.7.7..

                                     

           Después de la descarga, damos doble click al archivo python-2.7.7.msi y lo instalamos en nuestra computadora, dando siguiente hasta llegar al botón de Finalizar.











                Instalacion de Notepad++





Variable de Entorno para PYTHON
·          Entrar  a la ventana de Este equipo y damos clic derecho, seleccionamos  la pestaña de Propiedades





·         Se desplegará la  ventana de Sistema y hacemos clic en Configuración avanzada del sistema



·         Se mostrara  la ventana Propiedades de sistema, dar clic en el botón de Variables de entorno.



·         Selección de Variables de usuario, Seleccionamos la opción Path y damos clic en Editar.



 

·         Elegir la opción nuevo y escribir "C:\Python27\" y Aceptar .



 


Ejercicios en Python:

#encoding: utf-8
edad = 30

if edad >= 0 and edad < 18:
 print "eres un niño"
elif edad >= 18 and edad < 27:
 print "Eres un joven"
elif edad >= 27 and edad < 60:
 print "Eres un adulto"
else:
 print "Eres de la tercera edad"




-----------------




Uso de Bucles

edad = 0
while edad <= 20:
 print "tienes : " + str(edad)
 edad = edad + 1








------------
edad = 0

while edad <= 20:

 if edad == 15:
  edad = edad + 1
  continue

 print "tienes : " + str(edad)
 edad = edad + 1







---------------------------------
#uso de libreria datetime

import datetime

print (datetime.datetime.now())













**************
#uso de librería random


import random

valor = random.randint(0,10)

lista = ["uno", "dos", 23,"cuatro"]
valor = random.choice(lista)
print(valor)


 




 


****************
# otro ejemplo de uso de librería Random

import random

valor = random.randint(0,10)
print(valor)


 




 

**********************
import Random
lista = ["uno", "dos", 23,"cuatro"]
print lista
random.shuffle(lista)
print(lista)






 






***************
# uso de librería sys

import sys
import time
for i in range(100):
 time.sleep(0.5)
 sys.stdout.write("Texto")










*************
# otro ejemplo de uso de librería sys

import sys
import time
for i in range(100):
 time.sleep(0.5)
 sys.stdout.write("\r%d %%" % i)


 



----------------------------------------------------------------------------------------------



Ejemplo de python

Manipulación de variables 
Ejemplo: 

a=5, b=4
Operaciones simples
Ejemplo: 

Multiplicación "*"
División "/ /"
Potencia "**"
Impresión de texto simple (1 linea de texto)
Ejemplo: 

print
"Hola mundo"












Ejemplo en Python : Programa que muestra  tres figura.

from Tkinter import *
root = Tk() 
root.title('Ejemplo')
circulo = Canvas(width=210, height=210, bg='white')
circulo.pack(expand=YES, fill=BOTH)
circulo.create_oval(10, 10, 200, 200, width=5, fill='purple')
cuadrado = Canvas(width=210, height=210, bg='white')
cuadrado .pack(expand=YES, fill=BOTH)
cuadrado.create_rectangle(10, 10, 200, 200, width=5, fill='Pink')
linea = Canvas(width=210, height=210, bg='white')
linea.pack(expand=YES, fill=BOTH)
linea.create_line(0, 200, 200, 0, width=10, fill='black')
linea.create_line(0, 0, 200, 200, width=10, fill='black')
root.mainloop()











Circulo

from Tkinter import *
root = Tk() 
root.title('Ejemplo Circulo ')
circulo = Canvas(width=210, height=210, bg='white')
circulo.pack(expand=YES, fill=BOTH)
circulo.create_oval(10, 10, 200, 200, width=5, fill='purple')
root.mainloop()






Cuadrado

from Tkinter import *
root = Tk() 
root.title('Ejemplo cuadrado')
cuadrado = Canvas(width=210, height=210, bg='white')
cuadrado.pack(expand=YES, fill=BOTH)
cuadrado.create_rectangle(10, 10, 200, 200, width=5, fill='Pink')
root.mainloop()






Lineas

from Tkinter import *
root = Tk() 
root.title('Ejemplo')
linea = Canvas(width=210, height=210, bg='white')
linea.pack(expand=YES, fill=BOTH)
linea.create_line(0, 200, 200, 0, width=10, fill='black')
linea.create_line(0, 0, 200, 200, width=10, fill='black')
root.mainloop()


 








miércoles, 23 de agosto de 2017

Administracion de base de datos


1.1. Administrador de Base de Datos (DBA)

Un administrador de bases de datos (o DBA) tiene la responsabilidad de mantener y operar las bases de datos que conforman el sistema de información de una compañía.

Debido a la importancia de los datos que están a su cargo, el administrador de bases de datos debe ser experto en TI (tecnología de la información), teniendo particular conocimiento de DBMS (sistemas de administración de bases de datos) y el lenguaje de consulta SQL. También debe tener conocimiento de varios tipos de lenguaje de programación para poder automatizar ciertas tareas.


Una de sus tareas es la de asegurar la integridad del sistema de información de la compañía. Además, es necesario que posea un buen entendimiento de DBMS para optimizar las consultas, ajustar la configuración de DBMS o para sincronizar en forma precisa las herramientas de control del acceso a las bases de datos.
Es posible que el administrador de bases de datos tenga que brindar asistencia técnica a usuarios de las aplicaciones cliente o equipos de desarrollo para solucionar problemas, dar consejos o ayudar a resolver consultas complicadas.
Al trabajar con el jefe de seguridad, el administrador de bases de datos debe crear copias de seguridad, planes y procedimientos de restauración para preservar los datos de los cuales es responsable.


Conclusión:

Al realizar  este trabajo, aprendí  acerca del lenguaje sql y de los sistemas de gestión de bases de datos, y su importancia y utilidad a la hora de almacenar, clasificar y manejar información, de cualquier tipo.




1.1.1 Funciones de un DBA

Los DBA realizan pruebas de rendimiento, pruebas de impacto, pruebas funcionales, pruebas de código, pruebas de carga de datos, pruebas de implementación y pruebas de integración en proyectos Investigación, desarrollo e innovación. Para la ejecución de pruebas es necesario aplicar las metodologías basadas en Ingeniería del software, sus aplicaciones funcionales y los requerimientos de calidad, añadiendo las líneas base de la ingeniería requerimientos en la inteligencia de negocios y las tecnologías de la información. Algunas de las actividades más relevantes de un DBA son:

  •   Analistas de datos.
  •   Analistas de sistemas.
  •   Analistas de programación.
  •   Administradores de bases de datos.
  •   Consultores de sistemas.
  •   Consultores de tecnologías de la información.
  •   Consultores de aplicaciones.
  •   Consultores de programación.
  •   Programadores de bases de datos.
  •   Programadores de procesos de negocio.
  •   Integradores de datos.
  •   Ingenieros de datos.
  •   Ingenieros estadísticos.
  •   Jefes de centros de datos.
  •   Coordinadores de área







1.1.2 Relación del DBA con otras áreas de la Sistemas.

En sistemas muy complejos cliente/servidor y de tres capas, la base de datos es sólo uno de los elementos que determinan la experiencia de los usuarios en línea y los programas desatendidos. El rendimiento es una de las mayores motivaciones de los DBA para coordinarse con los especialistas de otras áreas del sistema fuera de las líneas burocráticas tradicionales. Uno de los deberes menos respetados por el administrador de base de datos es el desarrollo y soporte a pruebas, mientras que algunos otros encargados lo consideran como la responsabilidad más importante de un DBA. Las actividades de soporte incluyen la colecta de datos de producción para llevar a cabo pruebas con ellos; consultar a los programadores respecto al desempeño; y hacer cambios a los diseños de tablas de manera que se puedan proporcionar nuevos tipos de almacenamientos para las funciones de los programas.



1.2. Análisis de los manejadores de bases de datos

El sistema manejador   de bases de datos es la porción más importante del software de un sistema de base de datos. Un DBMS es una colección de numerosas rutinas de software interrelacionadas, cada una de las cuales es responsable de alguna tarea específica.
Microsoft SQL Server al igual que Oracle DB y MySQL Server son sistemas de gestión o manejadores de base de datos, existen muchos como:
§  MySQL
§  PosgreSQL
§  Microsoft SQL Server
§  Oracle
§  Microsoft Access
§  Microsoft Visual Fox Pro
§  Firebird
§  mSQL (mini SQL)
§  IBM DB2
§  IBM Informix
§  SQLite
§  Sybase ASE
§  Paradox
§  dBase



Pero existen algunas ventajas y desventajas que los hace diferentes para la gestión de la base de datos. Estas diferencias son importantes para las grandes organizaciones y empresas pequeñas elegir el de mayor beneficio, confiabilidad y seguridad en la administración de los datos.
Analizaremos las ventajas y desventajas de Microsoft SQL Server, Oracle DB y MySQL Server, por ser los más usados y los más comunes.
MySQL server a diferencia de Microsoft SQL server es un servidor multi-hilo popular de base de datos de código abierto, confiable, compacto, poderoso y multiplataforma, podemos hacer las bases de datos a código abierto, una gran ventaja es que se puede utilizar gratis y su código fuente esta siempre disponible.
Las principales ventajas de MySQL Server son:
•             Software gratuito.
•             La velocidad y robustez.
•             Multiproceso, es decir que puede usar varias CPU si éstas están   disponibles.
•             Multiplataforma, es decir que puede trabajar en distintos   Sistemas Operativos.
•             Sistema de contraseñas y privilegios muy flexibles y seguros.
•             Microsoft SQL server constituye la alternativa de Microsoft a otros potentes sistemas                           gestores de bases de datos como son Oracle, Sybase ASE, PostgreSQL, Interbase, Firebird o              MySQL
•             Las principales ventajas de SQL Server son:
•             Soporte de transacciones.
•             Escalabilidad, estabilidad y seguridad.
•             Soporta procedimientos almacenados.
•             Permite trabajar en modo cliente-servidor, donde la información   y datos se alojan en el                      servidor y las terminales o clientes   de la red sólo acceden a la información.
•             Además permite administrar información de otros servidores   de datos.
•             Una desventaja de SQL Server es que es costoso.
•             Oracle es un sistema desarrollado por Oracle Corporation. Se considera a Oracle como uno                 de los sistemas de bases de datos más completos.
•             Las principales ventajas son:
•             Soporte de transacciones.
•             Estabilidad.
•             Escalabilidad.
•             Soporte multiplataforma.
•             Una desventaja de este son las políticas de seguridad en el suministro de parches de                             actualización




1.3. Consideraciones para elegir un buen DBMS

Debido a que en el mercado mundial existen muchos manejadores de bases de datos es importante tomar en cuenta algunas consideraciones de importancia para elegir cuál es el que más conviene a nuestros intereses. Por ejemplo:

+ Cual es la disponibilidad de soporte de este gestor de bases de datos
Es factible que encuentre personal capacitado fácilmente para resolver problemas en mi gestor de bases de datos, por ejemplo veamos la capacidad de personas que usan Oracle, SQL Server, PosgreSQL, MySQL, etc., las entidades tienen que ser gestionadas por un Administrador de bases de datos, de igual manera debe considerarse si es posible determinar el costo de un especialista en dicho gestor de base de datos o si el gestor nos brinda soporte en línea o vía remota.
Si las aplicaciones que van a consumir esos datos son de misión critica y se requiere alta disponibilidad y soluciones rápidas, no es recomendable usar un DBMS poco conocido en el mercado y mucho menos que sea nuevo como los gestores non-SQL ya que nadie los conoce y si mi gestor de base de datos sufre una caída, quien, cuándo y cuánto va a costar repararlo ya que a pesar de poseer una muy buena política de backups, puede que el mismo servidor se dañe (hardware) y si no consigo alguien que lo ponga en línea lo mas rápido posible estaré en problemas pues la empresa va a tener una larga caída que se representara en dinero y falta de productividad.

+ Cual es la carga de transacciones que va a soportar esa base de datos
Si voy a necesitar una alta carga de transacciones (mayores a 200 usuarios conectados al mismo tiempo) es necesario que se vaya pensando en algo robusto y bien probado en el mercado servidores como cualquier versión express (SQL Servr, DB2, etc.) no es aceptable, si lo que se desea es algo libre pues PostgreSQL es la respuesta .

+ Que sistema operativo se planea implementar
Está comprobado que SGBD diseñados en opensource (Código abierto) corren mucho más rápido en entornos operativos basados en UNIX que sobre Windows, así que aquí debería de tenerse en cuenta el sistema operativo, si no se ha tomado la decisión entonces elegir el sistema operativo del servidor dependiendo del SGBD, en foros como los de PosgreSQL, por ejemplo, la gente que ha realizado pruebas de este SGBD indican que se tiene un 25% de optimización corriendo sobre LINUX que sobre Windows.
Si no se tiene un sistema operativo en el servidor sería recomendable elegirlo en base al SGBD y esto también tendría consideraciones como la operatividad y la capacidad de administración de un servidor en tal o cual SO y los gastos que implicarían su mantenimiento.



1.4. Nuevas tecnologías y aplicaciones de los sistemas de bases de datos

Los sistemas orientados a los datos se caracterizan porque los datos no son de una aplicación sino de una Organización entera que los va a utilizar; se integran las aplicaciones, se diferencian las estructuras lógicas y físicas. El concepto de relación cobra importancia. Originalmente las aplicaciones cubrían necesidades muy específicas de procesamiento, se centraban en una tarea específica. Las bases de datos evitan las inconsistencias que se producían por la utilización de los mismos datos lógicos desde distintos archivos a través de procesos independientes.

El mundo real considera interrelaciones entre datos y restricciones semánticas que deben estar presentes en una base de datos. No solo debe almacenar entidades y atributos, sino que también debe almacenar interrelaciones entre datos.

La redundancia de datos debe ser controlada, pero si se admite cierta redundancia física por motivos de eficiencia.
Pretenden servir a toda la organización.

La independencia de los tratamientos sobre los datos y estos mismos, ha tenido una enorme influencia en la arquitectura de los SGBD.
La definición y descripción del conjunto de datos contenido en la base debe ser única e integrada con los mismos datos.

La actualización y recuperación de las bases de datos debe realizarse mediante procesos incluidos en SGBD, de modo que se mantenga la integridad, seguridad y confidencialidad de la base.







Conclusión   del equipo #1: Puertos paralelos  Un puerto paralelo es una interfaz entre un ordenador y un periférico. El puerto paralelo ...