elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Curso de javascript por TickTack


  Mostrar Mensajes
Páginas: 1 ... 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 [22] 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 ... 59
211  Programación / Java / Re: [CURSO] Programación en Java en: 14 Mayo 2017, 21:47 pm
Historia muy breve de Java

Java es un lenguaje muy popular en la actualidad, pero esto no sucedió de la noche a la mañana. Como todos los lenguajes tiene su historia y en las siguientes líneas intentare resumirlas.

Si la historia de Java no es de tu interés has click en el siguiente enlace para continuar con el siguiente tutorial: Instalación de herramientas para programar en Java.


Inicios

En diciembre de 1950 Patrick Naughton, ingeniero de Sun Microsystem, reclutó a distintos ingenieros entre ellos James Gosling y Mike Sheridan para trabajar en un proyecto llamado “El proyecto verde”. El objetivo de este proyecto era desarrollar una tecnología para programar la siguiente generación de dispositivos inteligentes entre los cuales estaban todo clase de artículos como por ejemplo un refrigerador.

Al inicio Gosling intento utilizar C++, pero debido a que tanto Gosling como Bill Joy lo encontraron poco apropiado para el objetivo que quería cumplir procedieron a crear un nuevo lenguaje llamado Oak (Roble en inglés. Se cree que es debido al roble que se encontraba frente al despacho de Gosling).

El resultado fue un lenguaje similar a C++ pero que no estaba ligado a ningún tipo de CPU en concreto.


El nacimiento de Java

Con el tiempo Oak tuvo problemas legales ya que resulto que dicho nombre ya estaba en uso por otro lenguaje de programación. Es por esto que el nombre fue cambiado a Java (posiblemente debido a la marca de café que tomaban al momento de poner el nombre, el cual también explica el logo del lenguaje).


El "BOOM" de Java

Si bien Java había sido diseñado para ser un lenguaje universal que permitiera programar micro-computadoras de dispositivos electrónicos este no fue lo que hizo que Java fuera un lenguaje importante. De hecho, Java fracaso cuando intento ser implementado en este mercado debido a que las micro-computadoras no eran lo suficientemente potente para utilizar Java. (O más bien, Java no era lo suficiente mente eficiente para ser utilizado por las micro-computadoras).

Afortunadamente el fracaso de Java en micro-computadoras coincidió con el nacimiento del fenómeno mundial WEB. El cual requería de un lenguaje multiplataforma que permitiera ser ejecutado en distintas arquitecturas, justamente para lo que Java estaba hecho.

Java paso a ser uno de los lenguajes más populares del mercado gracias a sus ahora no tan populares “applets” que permitían ejecutar código de java desde el browser. (Cabe destacar que esto también fue gracias a Netscape que promovió Java al tenerlo incorporado en el navegador).


Evolución de Java

Con el tiempo Java dejo der ser un lenguaje poco potente utilizado para navegadores y paso a ser un lenguaje muy competitivo que podía ser utilizado para desarrollar aplicaciones de escritorio, web, teléfonos inteligentes, entre otros.

Java en la actualidad forma parte de Oracle y es uno de los lenguajes más populares de la actualidad.

RECURSOS ASOCIADOS A ESTE TUTORIAL:
  • Video Tutorial – Historia muy breve de Java (No disponible aun)
  • Tutorial descargable .DOCX

RECURSOS COMPLEMENTARIOS:
No existen recursos complementarios para este artículo.

REFERENCIAS WEB
212  Programación / PHP / Re: Descontar Cantidad en Utilidad en: 14 Mayo 2017, 06:43 am
Modifica la etiqueta GeSHi y pon PHP pls. (Es muy dificil leer codigo asi).

¿Quieres descontar en la variable o quieres descontar en la base de datos? - (No he descargado la BD y no planeo hacerlo, si posees un modelo relacional seria genial)

Si lo que quieres es descontar de la variable solo tienes que agregar el codigo de los descuentos haciendo restas sobre la variable, por ejemplo:

Código
  1. $comision_total -= $pago

Aunque no creo que eso sea lo que quieras, ya que es muy facil.

He de suponer que tienes en la base de datos la cantidad de pagos y la cantidad de utilidades del mes (seleccionando los del ultimo mes), en dicho caso puedes seleccionar directamente la diferencia, o cargar los dos datos y luego restarlos.



Por otro lado, si es cosa de bases de datos ahi necesito el modelo y que bd es.
213  Foros Generales / Noticias / Re: Chema Alonso (Telefónica) garantiza que los equipos infectados están bajo .... en: 14 Mayo 2017, 03:34 am
Nose...

Una de las empresas con las que trabajo (soy desarrollador de aplicaciones empresariales) tiene mas de un producto, entre los cuales, uno de ellos, yo soy el encargado (Llamemoslo producto B).

Si un dia yo estoy de vacaciones y el producto A tiene una falla que causa una perdida de millones y me preguntan ¿que paso?, ¿porque no hice nada? o me adjudican directamente la culpa... pues yo digo:

"No formo parte de ese desarrollo y estoy de vacas"  :silbar: (No creo que sea falta de honor, solo la verdad)

Tambien es cierto que el es un represetante de la compañia y no puede desligarse asi como asi. Pero igualmente creo que es mucho reaccionar así en contra de el.
214  Programación / Java / Re: [CURSO] Programación en Java en: 13 Mayo 2017, 09:20 am
Introducción a Java y la Programación Orientada a Objetos (POO)

Hola mundo que tal, soy 3n31ch y esta es el primer tutorial del curso de Java para elhacker.net: Inducción a Java y la Programación Orientada a Objetos.

Quiero indicarte antes de empezar, que para seguir este “curso” no necesitas ningún tipo de conocimiento de programación y si ya los tienes, genial, para ti será todo mucho más fácil.

Bien, entonces empecemos:

"Java es un lenguaje de programación multiplataforma que trabaja bajo el paradigma de Programación Orientada a Objetos (POO)"

Ya tan solo con ver esta frase podemos extraer tres afirmaciones/características importantes que hacen a Java lo que es:

  • Java es un lenguaje de programación
  • Java es multiplataforma
  • Java trabaja bajo el paradigma de Programación Orientada a Objetos(POO)

Si entiendes cada una de estas afirmaciones, no es necesario que sigas viendo este tutorial, puedes ir al siguiente haciendo click aquí


Java es un lenguaje de programación

Un lenguaje de programación es en palabras simples un lenguaje formal con el cual podemos indicarle a un ordenador las distintas tareas que queremos que realice. Esto lo hacemos mediante algoritmos.

Un algoritmo es simplemente una secuencia de pasos con un orden especifico que permite cumplir un objetivo, por ejemplo, una receta de cocina nos indica mediante un algoritmo que acciones tenemos que realizar para obtener un producto.

Si buscamos abstraer esta definición a un concepto más informático podemos utilizar de ejemplo un videojuego:

Imaginemos un videojuego en el que controlamos a un guerrero que tiene que salvar a una princesa perdida en el bosque.


Un algoritmo eficaz para llegar hasta ella sería el siguiente:
1.   Derecha
2.   Arriba
3.   Derecha
4.   Derecha
5.   Abajo
6.   Abajo
7.   Abajo
8.   Abajo

Otro algoritmo más eficiente de hacer lo mismo seria el siguiente:
1.   Abajo
2.   Abajo
3.   Abajo
4.   Derecha
5.   Derecha
6.   Derecha

Si te das cuenta en los ejemplos anteriores utilicé las palabras “eficaz” y “eficiente”, estas dos palabras son útiles para medir que tan bueno es un algoritmo:
  • Eficaz: Algoritmo que cumple con el objetivo propuesto.
  • Eficiente: Algoritmo que utiliza la menor cantidad de recursos posibles.

Un ejemplo de algoritmo poco eficaz es el siguiente:Un ejemplo de algoritmo poco eficiente es el siguiente:

Entonces, recapitulando: Un lenguaje de programación es un lenguaje formal con el cual podemos indicarle a un ordenador mediante un algoritmo que pasos ejecutar para cumplir un objetivo.

Es pertinente mencionar que una ejemplo de algoritmo mas adecuado seria el que se realizaria para encontrar el camino optimo y no directamente una secuencia de pasos textuales. Pero para simplificar el concepto utilice una secuencia de pasos como ejemplo.

Si quieres ahondar más en lo que es un algoritmo, distintos tipos de algoritmos, ejercicios u otros temas relacionados accede al siguiente link: Curso: Algoritmos básicos. (No disponible aun)


Java es Multiplataforma

Se dice que un lenguaje es multiplataforma cuando se tiene la capacidad de ejecutar el mismo programa en distintos sistemas operativos.

Esta fue una de las razones por la cual se creó Java, que al correr sobre la JVM tiene la capacidad de ser multiplataforma.

JVM (Java Virtual Machine) o en español Máquina Virtual de Java es como su nombre lo dice una Máquina Virtual que se ejecuta sobre el sistema operativo y que hace la función de interpretar el bytecode generado por un compilador de Java y ejecutar las instrucciones en el sistema operativo.

Puede que suene a chino todo lo que dije, pero es mucho más fácil de lo que suena, déjame que te lo explique con un diagrama:



Lo primero que pasa es que tu escribes tu código de Java el cual llamaremos código fuente, luego lo compilas, el compilador esta graficado como una caja negra ya que no nos interesa que es lo que pase dentro del mismo lo único que nos interesa es que el resultante es un Bytecode el cual llamaremos código objeto. Posteriormente la JVM alojada sobre el Sistema Operativo que ejecute el Bytecode lee dicho archivo y lo interpreta de tal forma que el Sistema Operativo pueda entenderlo adecuadamente. En resumen, el algoritmo es el siguiente:

1.   Programar Código Java (Código fuente)
2.   Compilar código Java en Bytecode (Código objeto)
3.   Ejecutar Bytecode en JVM
4.   JVM interpreta y ejecuta las tareas en el Sistema Operativo

Y lo único que nos interesa a nosotros es la primera parte, todo lo demás es automático.


Java trabaja bajo el paradigma orientado a objetos

Un paradigma de programación puede ser definido como un enfoque, filosofía, diseño o pensamiento para generar soluciones algorítmicas.

Otra vez me puse a hablar chino, así que lo traduciré: Un paradigma es básicamente un patrón o metodología utilizado como modelo para algo. Si lo aplicamos a la programación tenemos un “modelo base para programar”.

El paradigma/modelo de programación orientada a objetos es particularmente popular en la actualidad y como puedes intuir se basa en el manejo de “objetos”.

Los objetos pueden ser definidos como un conjunto de datos y funciones, los cuales son instanciados a partir de clases las cuales definen que atributos y métodos tiene un objeto.

Es más fácil entender que es un objeto y una clase a partir de un ejemplo:

Imaginemos otro videojuego que trata sobre cuidar a un animal virtual (tipo Tamagotchi) en el que tenemos un perro llamado Toby

Toby es un objeto, no importa que la idea real a la cual haga referencia este programa sea la de un perro, en la programación no se diferencia una cosa de un ser vivo ya que ambos son abstraídos como un simple conjunto de datos estructurados.

Toby tiene los siguientes atributos (datos asociados):
  • Nombre
  • Color
  • Sexo


Y tiene los siguientes métodos (funcionalidades):
  • Desplazarse
  • Comer
  • Jugar

Pero un día, Toby resulta encontrarse con otro perro llamado Body:

Toby y Body son objetos distintos ya que corresponden a entidades distintas.

Pero Body tiene exactamente los mismos atributos que Toby, la única diferencia yace en los valores de dichos atributos.

Sería ilógico tener que definir nuevamente la estructura de datos o funciones que tienen ambos, es por esto que existen las Clases.

La clase Perro define un patrón o modelo con el cual se podrán crear objetos de la misma. La forma que se crean los objetos es mediante algo que denominamos “Constructor”.

Un constructor es una “función” especial que tienen las clases para instanciar/crear objetos. Los constructores normalmente requieren de datos de entrada que serán aquellos que nos permitan personalizar nuestro objeto. En este caso los datos de entrada serian: Nombre, Color y Sexo.
Entonces se puede decir que Toby es una instancia de la clase Perro que recibe como parámetros los siguientes valores: Toby, Café, Masculino (Nombre, Color y Sexo).

Esto lo podríamos representar de la siguiente forma:

Perro1


Nombre: Toby
Color: Café
Sexo: Masculino
Perro2


Nombre: Body
Color: Gris
Sexo: Masculino

Entonces, recuerda:
 
  • Una Clase es el modelo que define los atributos y métodos que tiene un objeto.
  • Un Objeto es la instancia de una clase el cual dispone de los atributos y métodos definidos por la clase.

Este es el principio general del paradigma de programación orientada a objetos, pero existen cuatro cosas importantes que hacen este paradigma lo que es: Los 4 pilares de la programación orientada a objetos.

Si quieres saber más sobre el paradigma orientado a objetos y otros paradigmas más entra al siguiente link: Apunte: Paradigmas de programación. (No disponible aun)

Por ahora ya tenemos todas las herramientas necesarias para iniciar con este curso, así que te espero para las siguientes entregas. Y ánimo, porque esto recién empieza.


RECURSOS ASOCIADOS A ESTE TUTORIAL:


RECURSOS COMPLEMENTARIOS:

  • Curso: Algoritmos Básicos (No disponible aun)
  • Apunte: Paradigmas de programación (No disponible aun)
215  Programación / Java / [CURSO] Programación en Java en: 13 Mayo 2017, 08:24 am
[CURSO] Programación en Java

Introducción

En este post podrás ver todo lo que necesitas para empezar a programar desde cero con Java y todo lo que necesitas saber para desarrollarte en el mundo laboral con este lenguaje de programación.

Se abordarán temas como:

  • Fundamentos de programación
  • Algoritmos básicos y complejos
  • Crear aplicaciones de consola
  • Crear aplicaciones de escritorio
  • Crear aplicaciones web
  • Crear aplicaciones en Android
  • Crear videojuegos

Dispondrás de tutoriales, videos, ejercicios y ejemplos para mejorar tu aprendizaje.

Debido a que planeo hacer un tutorial gigantesco lo iré desarrollando día a día e intentare tener como mínimo un tutorial por semana.

Al finalizar este “curso” se espera que poseas los conocimientos para poder abordar cualquier proyecto con Java y desempeñarte tanto en el mundo académico como laboral de forma íntegra.

Índice

Introducción a Java

TutorialVideo TutorialEjerciciosSolucionesOtros
Introducción a Java y la Programación Orientada a Objetos (POO)No DisponibleNo AplicaNo Aplica.DOCX Descargable
Historia muy breve de JavaNo DisponibleNo AplicaNo Aplica.DOCX Descargable

Instalación y Uso de Herramientas

TutorialVideo TutorialEjerciciosSolucionesOtros
Instalación de herramientas para programar en JavaNo DisponibleNo AplicaNo Aplica.DOCX Descargable
Proyectos en JavaNo DisponibleNo AplicaNo Aplica.DOCX Descargable


Java SE Básico

TutorialVideo TutorialEjerciciosSolucionesOtros
Impresión de mensajesNo DisponibleNo DisponibleNo Disponible.DOCX Descargable
Variables y ConstantesNo DisponibleNo DisponibleNo Disponible.DOCX Descargable
Operadores AritméticosNo DisponibleNo DisponibleNo Disponible.DOCX Descargable
ConcatenaciónNo DisponibleNo DisponibleNo Disponible.DOCX Descargable
Inputs por consola - ScannerNo DisponibleNo DisponibleNo Disponible.DOCX Descargable
Operadores lógicos y relacionales
Sentencias condicionales - if y else
Sentencias condicionales - switch y case
Comentarios
Arrays (Colecciones) - Unidimencionales
Arrays (Colecciones) - Multidimencionales
Bucles - while y do while
Bucles - for y foreach
Excepciones - try y catch
Input por consola - BufferedReader
Clases y objetos
Métodos
Documentación
POO - Abstracción
POO - Encapsulamiento
Sobrecarga
Static
Clase String
Wrappers
POO - Herencia
POO - Polimofismo
Clases Abstractas
Interfaces
Ejemplo Practico

Java SE Intermedio

TutorialVideo TutorialEjerciciosSolucionesOtros
Excepciones - throws and throw
Excepciones - Crear Exepciones
Thread - Thread
Thread - Synchronized
JDBC
Sockets - Servidor
Sockets - Clientes
Ejemplo Practico

Java SE GUI

TutorialVideo TutorialEjerciciosSolucionesOtros
Hola Mundo
JFrame
JLabel
JTextField, JPasswordField y JTextArea
JButton
Listener - ActionListener
Layout - FlowLayout
Layout - GridLayout
Layout - BorderLayout
JPanel
JCheckBox
JRadioButton
JComboBox
JMenu
Ejemplo Practico

EN ESTE PUNTO YA PUEDES TOMAR EL CURSO DE COMO CREAR TU VIDEOJUEGO EN JAVA

Java EE Básico

TutorialVideo TutorialEjerciciosSolucionesOtros
¿Qué son peticiones y respuestas HTTP?
Entendiendo como trabaja Java en web.
Introducción JSPs
Introducción Servlets
¿Qué son los objetos HttpRequest y HttpResponse?
Majenado objetos HttpRequest y HttpResponse
Pasando valores por medio de HttpRequest al JSP
¿Qué son taglibs? Usando taglibs
¿Qué es EL? usando EL con taglibs (jstl)
¿Qué es el objeto HttpSession y cómo funciona?
¿Qué son cookies y cómo funcionan?
Manejando sesiones.
Introducción AJAX
Envío y recibo de JSON entre AJAX y Servlets.
Ejemplo Practico

Java EE Intermedio

TutorialVideo TutorialEjerciciosSolucionesOtros
JPA - introducción
JPA 2 - Mapeo de tablas
JPA 3 - Relaciones
DataSources
EJB 1 - Stateless
EJB 2 - Staeful
EJB 3 - Singleton
EJB Local y EJB Remote
Introducción a WebServices
WebService SOAP (JAX-WS)
WebService REST (JAX-RS)
Haciendo un cliente REST con Jersey
JAXB - Marshall
JAXB 2 - Unmarshall
Ejemplo Practico

Los videos se empezaran a desarrollar cuando finalice la primera parte del curso (ademas de los cursos asociados)

Este tema estará bloqueado para evitar desordenarlo por tanto cualquier pregunta que tengas puedes realizarla en este mismo foro creando un nuevo tema e intentare responderte lo antes posible.

Agradecimientos a:
  • Eleкtro (por utilizar sus poderes divinos de mod para ayudarme)
  • MCKSys Argentina (por recomendaciones)
  • NEBIRE (por recomendaciones)

Agradecimientos especiales a:

  • n-utz
  • Ragaza
  • Reina_Negra
  • gabriel1995


Sin estos usuarios este curso no seria posible, ya que ellos han sido los que me han dado ánimos para continuar dando sus agradecimientos por mensajes privados. Muchas gracias!
216  Seguridad Informática / Seguridad / Re: ¿Como funciona la DESencriptacion masiva? en: 13 Mayo 2017, 03:05 am
Tengo entendido que la key solo es enviada cuando se paga el "rescate" y nunca toca la computadora de la victima como aclara engel lex.

No se puede "rastrear" el envio de la misma de forma facil a menos que el delincuente cometa errores.

Esta infección no fue realizada por novatos, no creo que los puedan rastrear tan facil.
217  Sistemas Operativos / GNU/Linux / Re: ¿Algún Linux con el mejor soporte nVidia? en: 13 Mayo 2017, 03:00 am
Tengo entendido que no existe ninguno:

http://www.muylinux.com/2012/06/18/linus-a-nvidia-que-te-jodan

Ya paso tiempo de esto, por lo que no se si ya cambio.
218  Programación / Java / Re: Ayuda con ejercicio de arreglos y métodos en Java en: 11 Mayo 2017, 06:22 am
Lo lamento amigo, pero en este foro no se hacen tareas.

Si quires pon tu codigo y te podemos ayudar, pero hacer la tarea... No.
219  Foros Generales / Foro Libre / Re: Alguien me explica así por encima que haceis por aqui? en: 11 Mayo 2017, 04:40 am
Elektro es evidente que Randomize se referia a ti... No intentes despistarnos!
220  Programación / Java / Re: Mi solucion a "no se ha encontrado o cargado la clase principal x" de CMD en: 11 Mayo 2017, 01:39 am
Ok, para complementar:
Esto de la clase principal en ocasiones no funciona cuando la version de Java que intentas ejecutar es mas antigua y no es capas de reconocer el programa que ejecutas.

En ese caso solo hay que actualizar la JVM y ya esta.

Y otra cosa, tu error es porque no lo ejecutaste correctamente, el comando es:

Código:
java -jar programa.class



Gracias por tu aporte!  ;-) ;-)
Páginas: 1 ... 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 [22] 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 ... 59
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines