Mostrando entradas con la etiqueta programación. Mostrar todas las entradas
Mostrando entradas con la etiqueta programación. Mostrar todas las entradas

6 de julio de 2016

Entrevisto a Martin Schwarz, desarrollador web.

entrevista-desarrollador-web

¡Hola developer! He tenido la suerte de conocer a Martin Schwarz, un programador frontend miembro de las listas Top Freelance Francia y RSA influencers 2016 por Bastille, además fue Worldskill de su promoción.

He pensado que sería interesante hacerle algunas preguntas sobretodo para ti y los demás lectores y este es el resultado.
  • ¿Cómo aprendiste a programar?

Pues mi aprendizaje empezó estudiando la carrera de Ingeniería en tecnologías industriales. Una de las primeras asignaturas era Lenguajes de programación donde enseñaban lo básico de C++. Fue a raíz de ahí cuando empecé a explorar otros lenguajes y terminé decantándome por aquellos creados para el desarrollo web tales como HTML, CSS y Javascript.

  • ¿Dirías que eres feliz siendo programador? ¿Es una profesión que te llena? 

La verdad es que resulta gratificante muchas veces ver cómo algo que has creado puede llegar a ser útil para otras personas. Eso es lo que me hace feliz de programar. 

Para mi personalmente comenzó siendo un hobby al que le echaba muchas horas, y se terminó convirtiendo en algo que a día de hoy me ha servido para conseguir un puesto de trabajo. Por lo tanto me siento satisfecho y realizado gracias a la programación.

  • ¿Qué consejo darías a alguien que va a entrar en la universidad para aprender ingeniería de software?

Pues a todos aquellos que se decanten por ese camino lo que les recomiendo es que de antemano lleven una fuerte base en matemáticas y al menos conozcan un lenguaje de programación básico como C++, Java o Python.

  •  ¿Qué opinas sobre el "bum" que está teniendo la programación funcional últimamente?

Estamos entrando en una nueva era tecnológica, donde el IoT o “Internet de las cosas” va a marcar las tendencias del mercado gracias a las ingentes cantidades de información que emitimos en cada operación, como utiliza JyK para el análisis financiero. Eso favorece que la programación funcional vaya abarcando terreno y se abran nuevas puertas del mercado laboral para los desarrolladores especializados. Destacando Erlang como lenguaje de porgramación usado para aplicaciones tales como Facebook o Whatsapp.

  • ¿Cuál es tu lenguaje de programación favorito? ¿Utilizas algún framework? ¿Cuál o cuáles?

 La verdad es que me decanto por Javascript. La amplia variedad de plugins e implementaciones de utilidad tales como Jquery permiten realizar proyectos completos y profesionales. Además de permitir crear nuevas librerías y frameworks personales que facilitan los trabajos metódicos y recurrentes. Es así que la aparición de Angular y otras tecnologías comienzan a tomar gran relevancia en el mercado y se posicionan como herramientas de futuro.

A la segunda pregunta puedo contestar que normalmente, cuando necesito hacer maquetas web rápidas, recurro a Bootstrap. Pero las configuraciones de CSS de esos proyectos por ejemplo son más fáciles de trabajar utilizando el Framework Pure gracias a su versatilidad de uso. Pero sinceramente los proyectos en los que trabajo suelo hacerlos desde cero, ya que en su mayoría  se hacen a  medida.

  •  Con CSS3 llegaron las mediaquerys ¿Qué nos puedes contar sobre estas? 

Las mediaquerys permiten adaptar los estilos de los contenidos web a los diferentes tipos de dispositivos donde estos se van a mostrar. Destaca la regla @media de sencilla sintaxis con la que podemos elegir el tamaño de pantalla al que se aplicarán las normas que nosotros queramos, entre otras muchas funciones. 

mediaquerys

En este ejemplo aplicamos estilos a pantallas con una resolución de 700 px cuando el dispositivo se encuentre en su orientación “landscape”. Es una de las maneras más sencillas de adaptar los contenidos de nuestra web a las diferentes resoluciones, logrando trabajos con la denominación “Responsive”.

  • He oído a mucha gente decir que JQuery está en decadencia y que otros frameworks como Angular o React terminaran de matarlo ¿Crees que será así y por qué?

Cierto, Angular sobre todo está tomando gran importancia en el mercado y muy probablemente sustituya a JQuery como referencia. Está claro que estamos hablando de dos librerías con alcances distintos. Siendo JQuery con la que modificamos el estado de elementos de un proyecto y Angular un Framework que como su propio nombre indica, es mucho más potente y permite desarrollar aplicaciones web de gran calado.

La facilidad de uso y capacidad de desarrollo prima, así que inevitablemente el mercado cambiará a favor de Angular. Manteniéndose JQuery como referencia para modificaciones y como un amplio repositorio gracias a las grandes cantidades de desarrollos hechos con esta tecnología que ahora mismo están en internet.

  • ¿Utilizas alguna herramienta para ayudarte con el frontend de tus desarrollos como bootstrap o material design?

Normalmente los diseños que he desarrollado para web son a medida, debido a que los framework en algunas ocasiones no permiten hacer ciertas modificaciones que son necesarias. El desarrollo con este tipo de herramientas sólo lo realizo cuando son proyectos en los cuales prima más el plazo de entrega que el diseño complejo.

Es necesario saber diferenciar los proyectos y las tecnologías que vamos a utilizar porque será la clave para obtener grandes resultados.

  • ¿Dirías que la introducción de dispositivos móviles ha cambiado por completo el modo de desarrollar el frontend?

Ha modificado bastante la estructura básica de los proyectos. Tipografía, imágenes, logos, todo debe ser adaptado para que en los diferentes dispositivos la calidad de los contenidos sea óptima. Ya el programador no sólo piensa en como queda el proyecto en su pantalla, sino la facilidad de uso en el dispositivo móvil y la adaptación a los mismos. 

Definitivamente el volumen de trabajo ha crecido de forma exponencial con la inclusión de estos dispositivos en el desarrollo frontend.

  • Y por último ¿Tienes actualmente algún proyecto en mente o en desarrollo?

A día de hoy soy el desarrollador web de la empresa Ferretería Germán Medina SL, donde he implementado desde cero la tienda online del negocio www.germanmedina.es. Y próximamente espero montar una plataforma conjunta con desarrolladores para fortalecer la creación de proyectos de calidad.

Eso es todo, espero que te haya gustado y ¡Hasta la próxima developer!

5 de febrero de 2016

¿Cómo integrar Github/Git con Netbeans IDE?

tutorial-github-netbeans

¡Hola developer! Hoy te traigo un tutorial de cómo utilizar Git o Github integrado en el entorno de desarrollo Netbeans IDE.

Para los que no sepáis que es Git os dejo una pequeña introducción:
  • ¿Qué es Git?
Git es un sistema de control de versiones descentralizado, además, es el más utilizado hoy en día por casi todas las empresas de desarrollo de software. Permite controlar las versiones de una aplicación y facilitar el trabajo en equipo. Su versión web se llama Github.com.

Consiste en subir el código a un repositorio online en el que cada "commit" o subida de código es registrado. Además Git tiene un avanzado sistema de sobrescritura de archivos en el que únicamente se sobrescriben las lineas más actualizadas de nuestro programa, sin machacar el archivo completo.
  • ¿Cómo integrarlo con Netbeans?
Lo primero que necesitamos es tener instalado el IDE de desarrollo Netbeans, si no sabéis como instalarlo podéis consultarlo aquí (Explico como instalar Netbeans y el JDK 8 de Java).

Bien una vez hecho esto tenemos que crear una cuenta en Github, lo puedes hacer desde aquí:



Después para crear un repositorio nuevo vamos a la pestaña "Repositories" y damos clic en el icono que dice "New". El repositorio es digamos el medio donde se almacenara nuestro código.

repository-create-github
Al crearlo tenemos que ponerle un nombre y le damos "Create Repository", entonces nos dará una URL que tendremos que copiar. No cierres la pestaña y vamos a Netbeans.

repository-git


Ya en Netbeans creamos un nuevo proyecto, damos clic derecho en el proyecto y vamos a donde dice "Versioning" y "Initialize Git repository". Despues lo primero que tenemos que hacer es el primer "commit" para posterior mente hacer push (Subir código) mediante Git>Remote>Push. Al hacer el "commit" se abrira una ventana donde tendremos que poner un mensaje y darle "Ok".

github-netbeans



Cuando le des a push aparecerá una ventana similar a esta:

push-git

Donde dice Repository Location tendremos que copiar la URL que obtuvimos al crear nuestro repositorio en github, al pegarla automáticamente nos aparecerá el formulario de login, iniciaremos sesión con nuestros datos de Github y le damos a next.

Ahora pedirá que seleccionemos el branch, selecciona master y next y depués finish.

Bien ahora ya tenemos netbeans configurado para poder subir nuestro código a github y poder trabajar con este potente sistema de control de versiones.

Ahora podemos trabajar desde cualquier lugar ya que nuestro código está en cloud, únicamente cuando queramos descargar nuestro código iremos a git>remote>pull to upstream y cuando queramos subir modificaciones haremos un commit y despues git>remote>push to upstream.

Espero que te haya gustado y ¡Hasta la próxima developer!

4 de febrero de 2016

Curso de Java T4: Estructuras de almacenamiento. Parte 1: Arrays.


curso-java-arrays-vectores

Si todavía no has leído el capitulo 3 puedes hacerlo haciendo clic aquí:

 Ir al capitulo 3

Hola developer, en esta ocasión te hablare sobre los Arrays también conocidos como vectores.
  • ¿Qué es un Array o Vector?
Un array es un conjunto de variables, del mismo tipo de dato a las que se accede mediante un nombre en común. Cada Array digamos que contiene varias variables, cada una de ellas corresponden a una determinada posición dentro del array, a esta posición se le llama índice. El indice de un Array siempre comienza a contar desde la posición 0, de manera que si queremos acceder a la primera variable pondremos nombreArray[0], como ves, para acceder a una posición específica dentro de un array se utiliza el nombre del array y entre corchetes la posición.

Además existen arrays de dos dimensiones que funcionan como una tabla en la que la primera dimensión contiene filas y la segunda columnas formando "celdas" de variables pero eso lo veremos con más detalle en próximos capítulos.
  • ¿Como inicializar arrays en Java?
Para utilizar arrays en Java lo primero que necesitamos es inicializarlo, es decir declararlos de la siguiente manera: tipo de dato[ ] nombreArray = {contenido1,contenido2,contenido3}.
  • Recorrer Arrays en Java.
Bien ahora que ya sabes que es un array y como inicializarlo vas a aprender qué utilidad tiene esto. Un array es muy útil cuando tenemos muchas variables del mismo tipo de dato ya que nos permite agruparlas en una sola.

Para recorrer arrays se utilizan los bucles For y Foreach que explique en el anterior capitulo, si no lo has visto te recomiendo que lo leas antes de continuar.

Para recordar:
En una sentencia "For" inicializamos una variable que aumenta con cada bucle de esta forma cada vez que se ejecute la variable valdrá 1 numero más.  En la primera ejecución "v=1" en la segunda "v=2" y así sucesivamente.  Leer más.
 Ejemplo de uso recorrer Array con bucle For:



Como puedes observar utilizo el atributo length, este es un atributo de la clase Array que nos devuelve la longitud del array es decir el numero de elementos que contiene nuestro array para decirle al for cuantas veces debe repetir el bucle en este caso mientras "i" sea menor que la longitud de nuestro array. La variable "i" ira adquiriendo el valor de cada uno de los índices de nuestro array con cada repetición. En la primera ejecución vale 0 luego 1, 2 y asi sucesivamente. Solo nos queda utilizar esto en nuestro array pàra ello le pasamos la variable "i" como posición al array: numeros[i].

Ejemplo de uso recorrer Array con bucle Foreach:


Con el bucle foreah es mucho más sencillo de recorrer, unicamente le tenemos que inicializar una variable, importante que sea del mismo tipo de dato que nuestro array en este caso "numero" que es la que ira adquiriendo los distintos valores con cada ejecución. Digamos que "numero" equivale a "numeros[i]".

Te propongo un ejercicio, con lo aprendido en anteriores tutoriales diseña un programa que recorra un array de enteros y cuando llegue al numero 5 y solo al 5, imprima por pantalla el texto: "Bien, ya lo he hecho 5 veces". Puedes intentar hacerlo y dejarme en los comentarios que tal te ha ido, no te preocupes, en la siguiente parte subiré la solución para que lo puedas corregir.

Espero que te haya gustado y ¡Hasta la próxima developer!

1 de febrero de 2016

Curso de Java T3: Condicionales y bucles

curso-de-java-condicionales-bucles
Si todavía no has leído el capitulo 2 puedes hacerlo haciendo clic aquí:


¡Hola developer! Bienvenido al capitulo 3 de mi curso de Java. En está ocasión voy a enseñarte lo que son las sentencias condicionales y los bucles en Java.

  • ¿Qué son las sentencias condicionales?

Las sentencias condicionales son las ordenes de cualquier lenguaje de programación, en este caso Java que nos permiten decir a nuestro programa que debe hacer en función de una determinada situación. Esto lo hacemos los humanos instintivamente como por ejemplo:  si una puerta esta cerrada, dejar de andar.

Pues para hacer eso mismo que nosotros hacemos por instinto a nuestros programas se lo tenemos qué decir de alguna forma y para esto se utilizan las sentencias condicionales

  • if (condición): Su traducción a lenguaje humano sería algo así como, si pasa esto...
  • else: va siempre después de una sentencia "if" realmente son la misma sentencia, podríamos decir que el "else" forma parte de el "if" y quiere decir, si no pasa eso (la condición que hemos definido dentro de la sentencia "if")...
  • else if (condición): también forma parte de el "if" y es la unión de las dos anteriores, también va siempre después de un "if" y quiere decir, si no pasa esto y además pasa esto otro...


Como puedes ver en el ejemplo de arriba, para comprobar si dos datos son iguales dentro de un "if" se utiliza "==", también podemos decir si dos datos son distintos con "!=".

Esto siempre es así excepto cuando comparamos dos variables de tipo "String", en cuyo caso se utiliza el método "equals" o "equalsIgnoreCase". El método "equals" compara dos "Strings" es decir dos cadenas de texto y es sensible a mayúsculas y minúsculas mientras que el equalsIgnoreCase compara dos cadenas de texto ignorando las mayúsculas y minúsculas. Aquí abajo te dejo un ejemplo de uso:



Además existe otra sentencia condicional llamada "Switch" el "switch" es muy similar a si pusieramos sentencias "if" anidadas. su sintaxis es sencilla:





El "Switch" compara la condición según los casos que tu le pones mediante la sentencia "case", al finalizar la sentencia case se utiliza "break" para decir que una vez terminadas las instrucciones de dentro de ese case finalice. Mediante "default" le decimos que si no se cumple ninguno de los case ejecute lo que hay dentro del "default".
  • ¿Qué son los bucles?
Los bucles son sentencias que sirven para indicar repetición, los bucles son muy útiles cuando queremos repetir muchas veces un conjunto de instrucciones. Los bucles básicos son:
  • For (variable, condición, modificación de variable): Permite que se ejecute un conjunto de sentencias hasta que la condición deja de cumplirse, se suele utilizar una variable contador que se modifica su valor según lo expresado en la modificación de la variable.
  • While (condición): Permite que se ejecute un conjunto de sentencias mientras se cumple la condición, es decir es true. La condición puede ser cualquier expresión booleana. El cuerpo del bucle se ejecutará cero o más veces, mientras la expresión condicional sea verdadera.



Explico un poco este código: En esta ocasión utilizamos una sentencia "For" para hacer un programa que cuenta del 1 al 10. "int i=1" inicializamos la variable "i" de tipo entero con valor 1, "i<11" es la condición de repetición, quiere decir que este bucle se ejecutara mientras la variable "i" sea menor que 11. "i++" aumentamos la variable "i" en un valor por cada repetición, de esta forma cada vez que se ejecute la variable "i" valdrá 1 numero más.  En la primera ejecución "i=1" en la segunda "i=2" y así sucesivamente.

Veamos como hacer esto mismo con un "While":



Cuando utilizamos el while la variable a comparar normalmente la declaramos antes del bucle, (salvo en algunos casos que veremos más adelante) después entre parentesis se incluye la condición de repetición al igual que en el "for" en este caso nos interesa que se repita mientras "i" sea menor que 11, para que cuente del 1 al 10. Ahora solo queda imprimir la variable "i" mediante el System.out.println() y aumentar dicha variable.

Espero que te haya gustado y ¡Hasta la próxima developer!

Ya está disponible el siguiente capitulo:

30 de enero de 2016

CodeCombat El Juego de los programadores

code-combat
¡Hola developer! Hoy te traigo una cosa un poco especial. Resulta que hace poco descubrí que existen webs para aprender a programar mediante pseudocodigo y la verdad, me pareció bastante interesante.

Pero la cosa no queda hay ¡Imaginaos mi sorpresa al descubrir que existe un juego RPG en el que se juega completamente programando! Es un concepto sin duda innovador, el juego se llama Code Combat y es Free to Play, es decir es gratis jugar pero tiene compras integradas para conseguir mejores objetos, etc. Lo bueno es que no es necesario comprar nada para avanzar en el juego.

personajes-code-combat
Veamos lo más a fondo, el juego empieza con la selección de tu personaje, como decía hay cosas por las que se necesita pagar y esta es una de ellas, con la cuenta gratuita solo podemos acceder a los personajes de la imagen de la izquierda, pero la verdad es que en mi opinión no es mi relevante para poder jugar. En el personaje tambien podemos seleccionar el lenguaje de programación que usaremos para jugar, puedes elegir entre Python, Javascript, Lua, CoffeJS y alguno más.


Una vez hecho esto ya podremos jugar la primera Mazmorra, los niveles se componen de mazmorras. En cada mazmorra hay una serie de niveles que tendremos que superar poniendo a prueba nuestras habilidades como programador.

equipo-code-combat
Según vamos avanzando en el juego podremos conseguir equipo para nuestro personaje, depende que tipo de pieza consigamos obtendremos más puntos de salud, más potencia de ataque y lo más interesante nuevos métodos para usar en nuestros scripts. Por ejemplo el Escudo nos da el método shield(), con el que nos podemos cubrir de ataques enemigos.

También hay modos de juego multijugador en los que competiremos contra otros programadores, cada programador hace sus scripts y luego se comparan para ver cual es el que ha ganado, hay un top de los mejores y lo más interesante es que Code Combat registra los datos de los jugadores e incluso ofrece trabajo a los programadores más TOP, según parece empresas del sector acuden a ellos en busca de jóvenes talentos.

Espero que te haya gustado y ¡Hasta la próxima developer!