viernes, 10 de marzo de 2017

Qué es la Programación orientada a objetos

La programación orientada a objetos o tambien conocida por sus siglas POO, u OOP en inglés es un paradigma de programación que viene a innovar la forma de obtener resultados. 
Los objetos manipulan los datos de entrada para la obtención de datos de salida específicos, donde cada objeto ofrece una funcionalidad especial.
Muchos de los objetos pre-diseñados de los lenguajes de programación actuales permiten la agrupación en bibliotecas o librerías, sin embargo, muchos de estos lenguajes permiten al usuario la creación de sus propias bibliotecas.
Está basada en varias técnicas, incluyendo herencia, cohesión, abstracción, polimorfismo, acoplamiento y encapsulamiento.
Su uso se popularizó a principios de la década de 1990. En la actualidad, existe una gran variedad de lenguajes de programación que soportan la orientación a objetos.

Sitios web en donde podras aprender a programar gratis

1. Codecademy

Es una de las grandes plataformas, Codecademy permite aprender a programar de forma interactiva. Propone una serie de problemas que deberemos ir resolviendo a través de la programación, escribiendo código directamente en el navegador; será la web la que nos confirme si está bien, o si hay algo que deberemos corregir antes de continuar. Ofrecen lenguajes específicos (PHP, Python, Ruby) o también ‘paquetes’ con varios lenguajes relacionados entre sí.

2. Coderbyte

Coderbyte es una plataforma para aprender diferentes lenguajes de programación (JavaScript, Python, Ruby y otros) y que, además, incluye retos de programación, y de lo más diverso. Buscan no sólo aprender a programar de una forma divertida (¿a quién no le pica eso de los ‘retos’), sino también abordar otras cuestiones tanto técnicas como otras curiosidades. Ideal cuando ya se tienen conocimientos previos de programación, para reforzar conceptos o aprender otros nuevos lenguajes.

3. Code.org

Si lo que quieres es empezar, Code.org debería ser uno de los primeros sitios a visitar. Tutoriales para iniciarse a la programación que, promovidos por esta entidad sin ánimo de lucro —y con muchísimo éxito y movimiento, por ejemplo con la ‘Hora del código’—. Desde los primeros pasos en el mundo de la programación con tutoriales guiados y muy sencillos, hasta las primeras construcciones y elaboraciones algo más complejas y con mucho material disponible tanto para padres y docentes como para chavales más jóvenes, a partir de los siete años.

4. Scratch

Scratch es probablemente la herramienta más conocida de todas a las que nos estamos refiriendo aquí, y su impacto en el mundo educativo es espectacular. Su web no es tanto un tutorial o una guía para seguir paso a paso sino un programa completo cuyas posibilidades son casi infinitas; a su favor está la enorme comunidad que propone contenido, así como la ayuda oficial con recursos para todo tipo de niveles. Si quieres aún más material, prueba con nuestros proyectos Scratch de los viernes donde aunamos diferentes ideas y propuestas para utilizar este software.

5. Codeavengers

Más gamificación de la mano de Code Avengers, una plataforma reducida respecto a otras pero que guarda un enorme potencial. Tiene tutoriales sobre lenguajes (JavaScript, HTML/CSS) y luego sobre categorías de programación, como por ejemplo cómo crear videojuegos, páginas web u otro tipo de programas. Aseguran tener más de 200 horas de cursos y el código. Especialmente interesantes las posibilidades de cara a familias y colegios con el objetivo de trabajar con grupos de alumnos.


6. Rubymonk

Un lenguaje específico, pero con mucha diversión por detrás. Rubymonk es una plataforma para aprender Ruby, uno de los más lenguajes utilizados en el mundo actual. Plantean tres niveles que van de menor a mayor dificultad, y muchos retos y problemas a resolver directamente en el navegador. Otro plus es que es completamente gratuito, con lo que podremos ir aprendiendo en sus innumerables lecciones sin mayores contratiempos económicos.

7. Codecombat 

Imagina un juego en el que manejas un personaje, y que para ir obteniendo armas, armadura y demás, debes ir pasando niveles… resolviendo retos de programación. Así es Codecombat, que con una buena dosis de gamificación propone aprender a programar de una forma sencilla y atractiva. Con varios lenguajes disponibles (Python, JavaScript, Lua, etc.) tiene tintes más de videojuego que de tutorial, pero que funciona muy bien.

8. Programmr

Cursos, retos y proyectos en Programmr, una plataforma multidisciplinar con una muy amplia variedad de lenguajes disponibles por descubrir. Aseguran que cada curso tiene más de 100 ejemplos y ejercicios que deberemos ir completando para ir aprendiendo y avanzando de nivel, todo a través de un editor de código muy completo, visualmente atractivo y funcional.

9. Code Abbey

‘Practice, practice and practice!’ es como se presenta Code Abbey, una ‘abadía’ para aprender a programar en base a ir solucionando retos, que van de menos a más. Empezaremos sumando dos números y terminaremos, con una variedad en torno a la docena de lenguajes disponibles, como Python, C, Java o PHP entre muchos otros. Algo del estilo de Project Euler pero otros retos y propuestas para aprender a programar.

10. Play Code Monkey

Una premisa que puede parecer infantil, pero es que precisamente éste es su público objetivo: que con CodeMonkey los más jóvenes puedan aprender a programar al manejar a un mono que debe ir recogiendo algunas bananas del suelo, a la vez que esquiva enemigos. Mezcla Code.org con programación textual —es decir, no habrá bloques que mover sino texto que escribir— y el objetivo es tan sencillo como divertido y guiado. Es una plataforma de pago (sólo 29 dólares al año para un usuario) con la posibilidad de planes para clases o incluso colegios completos, en los que el profesor podrá llevar un registro del avance de sus alumnos.


martes, 7 de marzo de 2017

Como secaracteriza el lenguaje de programación C.

El lenguaje de programación C está caracterizado por ser de uso general, con una sintaxis sumamente compacta y de alta portabilidad. Es común leer que se lo caracteriza como un lenguaje de “bajo nivel". No debe confundirse el término "bajo" con "poco", ya que el significado del mismo es en realidad "profundo", en el sentido que C maneja los elementos básicos presentes en todas las computadoras: caracteres, números y direcciones. Esta particularidad, junto con el hecho de no poseer operaciones de entrada-salida, manejo de arreglo de caracteres, de asignación de memoria, etc. , puede al principio parecer un grave defecto; sin embargo el hecho de que estas operaciones se realicen por medio de llamadas a Funciones contenidas en Librerías externas al lenguaje en sí, es el que confiere al mismo su alto grado de portabilidad, independizándolo del "Hardware" sobre el cual corren los programas, como seirá viendo a lo largo de los siguientes capítulos. La descripción del lenguaje se realiza siguiendo las normas del ANSI C, por lo tanto, todo lo expresado será utilizable con cualquier compilador que se adopte; sin embargo en algunos casos particulares se utilizaron funciones Compilador ó Sistema Operativo-dependientes, explicitándose en estos casos la singularidad de las mismas.

miércoles, 1 de marzo de 2017

Qué es el Metodo FileReader Java y ejemplo

Con este podrenos leer un fichero en Java. Y este tiene como objetivo  leer un fichero desde un programa en Java y despues mostrar el contenido de ese documento en pantalla. Pero de igual manera utilizaremos las clases BufferedReader y FileReader. BufferedReader: lee texto de una entrada de caracteres.

SI LO QUIERES PROBAR DESCARGA EL CODIGO AQUI: http://viid.me/qbrnIp



jueves, 16 de febrero de 2017

Clases BufferedReader y InputStreamReader Ejemplo


package hola;
import java.io.*;
public class Hola {
    public static String nombre,cadena;
    public static int edad;
    public static double estatura;
    public static void main(String[] args) {
        System.out.println("Ingresa tu nombre: ");
        nombre=metodo1();
        System.out.println("Ingresa tu edad: ");
        edad=Integer.parseInt(metodo1());
        System.out.println("Ingresa tu estatura: ");
        estatura=Double.parseDouble(metodo1());
        System.out.print("Tu nombre es:"+nombre+"Tu edad es:"+edad+"y tu estatura es:"+estatura);
    }
    public static String metodo1(){
    InputStreamReader isr=new InputStreamReader(System.in);
    BufferedReader br=new BufferedReader(isr);
    try{
      
        cadena=br.readLine();
       
    }
             
    catch(Exception e){
    System.out.println("ERROR Ingresa de nuevo");
    }
return cadena;
    }
}

martes, 10 de enero de 2017

jueves, 15 de diciembre de 2016

Instalacion de Blackbox, una buena herramienta para hacer Pentesting


Resultado de imagen para black box pentesting
Blackbox es una herramienta de software muy interesante para hacer pruebas de seguridad, permite hacer ataques a contraseñas de  plataformas como Prestashop, WordPress, Joomla, veamos que según sea la versión se han ido añadiendo funcionalidades extras y complementos.
La instalación es muy sencilla en un sistema operativo como Kali Linux, en este ejemplo se esta utilizando una versión Debian 4.3.3-5, no hubo ningún problema con la instalación así que aquí esta:

INSTALACIÓN DE BLACKBOX:


Instalación librerías requeridas para blackbox
En el ejemplo anterior ya esta versión de Kali trae pre-instaladas estas dependencias, así que nos muestra el anterior resultado en otros casos puede que el sistema pregunte si quiere instalar y confirmarlo, los demás pasos son los mismos.
  • Actualizar nuestro sistema y verificar que se instalen o se actualicen estos paquetes
  • Descargar Blackbox
Descarga de blackbox
  • Ingresamos dentro del directorio y cambiamos los permisos de ejecución al archivo install.
  • Ejecutamos la instalación del programa
  • Luego de unos segundos finaliza e indica que se instalo correctamente.
Instalación blacbox
Luego de estos pasos ya podemos utilizar el programa, de igual forma aunque no cuenta con un manual, si tiene la ayuda necesaria para empezar a utilizarlo, desde luego estas técnicas se deben utilizar de manera profesional y ética en entornos seguros de virtualización, de lo contrario pueden verse en problemas de acuerdo al país donde se encuentren.
Ayuda de Blackbox
Desde luego la pericia de quien lo use también determina el éxito del ataque. Como muestra es una herramienta muy interesante, funcional y de licencia GNU. Espero les sea útil en sus trabajos y vida personal para testear sus sistemas de información,  hasta pronto.

Librerías en lenguaje C

#include <stdio.h>
clearerr
fclose
feof
ferror
fflush
fgetc
fgetpos
fgets
fopen
formato
fprintf
fputc
fputs
fread
freopen
fscanf
fseek
fsetpos
ftell
fwrite
getc
getchar
gets
perror
printf
putc
putchar
puts
remove
rename
rewind
scanf
setbuf
setybuf
sprintf
sscanf
tmpfile
tmpnam
ungetc
vfprintf
vprintf
vsprintf

#include <stdlib.h>

abort
abs
atexit
atof
atoi
atol
bsearch
calloc
div
exit
free
getenv
labs
ldiv
malloc
mblen
mbstowcs
mbtowc
qsort
rand
Realloc
srand
strtod
strtol
strtoul
system
wctomb

#include <string.h>

memchr
memcmp
memcpy
memmove
memset
strcat
strchr
strcmp
strcoll
strcpy
strcspn
strerror
strlen
strmcat
strmcmp
strmcpy
strpbrk
strrchr
strspn
strstr
strtok
strxfrm






#include <ctype.h>

tolower
toupper





#include <locale.h>

localeconv
setlocale







#include <math.h>

Acos
Asin
atan
atan2
ceil
cos
cosh
Exp
Fabs
floor
fmod
frexp
ldexp
log
log10
modf
pow
sin
sinh
sqrt
tan
tanh






#include <setjmp.h>

longjmp
setjmp





#include <signal.h>

raise
signal





#include <time.h>

asctime
clock
ctime
difftime
Gmtime
localtime
mktime
strftime
time






Otras librerias que no tienen funciones asociadas. Pero tienen macros constantes y/o estructuras.
·         #include <assert.h>
·         #include <errno.h>
·         #include <float.h>
·         #include <limits.h>
·         #include <stdarg.h>
·         #include <stddef.h>

RESUMEN DE LIBRERIAS
  1. assert.h Contiene una macro para el diagnóstico dentro de los programas.
  2. ctype.h Contiene varias funciones para comprobación de tipos y transformación de caracteres.
  3. errno.h Contiene varias macros usadas para informar de errores.
  4. limits.h Contienen varias macros que definen constantes para el tamaño de tipo enteros.
  5.  float.h Contienen varias macros que definen constantes para el tamaño de tipo flotante.
  6. locale.h Contienen varias macros, funciones y tipos para unidades locales, como unidad monetaria, tiempo, dígitos, etc.
  7.  math.h Contiene una macro y varias funciones matemáticas.
  8.  setjmp.h Contienen declaraciones que proporcionan una forma de evitar la secuencia normal de llamada y regreso de funciones.
  9. signal.h Contiene un tipo, dos funciones y varias macros para manejar condiciones excepcionales que aparecen durante la ejecución, tal como una señal de interrupción de una fuente externa o un error en la ejecución.
  10. stdarg.h Contiene un tipo y tres macros que proporcionan recursos para recorrer una lista de argumentos de función de tamaño y tipo desconocido.
  11. stddef.h Contiene varios tipos y macros que también están definidas en otras librerías, como size_t.
  12. stdio.h Contiene tipos, macros y funciones para la realización de tareas de E/S.
  13. stdlib.h Contiene tipos, macros y funciones para la conversión numérica, generación de números aleatorios, búsquedas y ordenación, gestión de memoria y tareas similares.
  14. string.h Contiene tipos, macros y funciones para la manipulación de cadenas de caracteres.
  15.  time.h Contiene tipos, macros y funciones para la la manipulación de información sobre fechas y horas.


Tipos: char, int, float, long, long long, short, double, void.
CADENAS DE FORMATO
d, i
entero decimal con signo
o
entero octal sin signo
u
entero decimal sin signo
x
entero hexadecimal sin signo (en minúsculas)
X
entero hexadecimal sin signo (en mayúsculas)
f
Coma flotante en la forma [-]dddd.dddd
e
Coma flotante en la forma [-]d.dddd e[+/-]ddd
g
Coma flotante según el valor
E
Como e pero en mayúsculas
G
Como g pero en mayúsculas
c
un carácter
s
cadena de caracteres terminada en '\0'
%
imprime el carácter %
p
puntero
SECUENCIA DE ESCAPE
\a
Alerta
\b
Espacio atrás
\f
Salto de página
\n
Salto de línea
\r
Retorno de carro
\t
Tabulación horizontal
\v
Tabulación vertical
\\
Barra invertida
\'
Comilla simple
\"
Comillas dobles
\OOO
Visualiza un carácter cuyo código ASCII es OOO en octal
\xHHH
Visualiza un carácter cuyo código ASCII es HHH en hexadecimal
Funcionabilidad de la Función System, que pertenece a la librería <stlib.h>
Colores de Fondo
0 = Negro

1 = Azul
2 = Verde
3 = Aguamarina
4 = Rojo
5 = Púrpura
6 = Amarillo
7 = Blanco
8 = Gris
9 = Azul claro

Colores de Fuente

a = Verde claro
b = Aguamarina claro
c = Rojo claro
d = Púrpura claro
e = Amarillo claro
f = Blanco brillante