Programación

La programación informática o programación algorítmica, acortada como programación, es el proceso de diseñar, codificar, depurar y mantener el código fuente de programas computacionales.

Algoritmo

Un algoritmo es una secuencia no ambigua, finita y ordenada de instrucciones que han de seguirse para resolver un problema. Un programa normalmente implementa (traduce a un lenguaje de programación concreto) uno o más algoritmos.

Compilación

El programa escrito en un lenguaje de programación de alto nivel (fácilmente comprensible por el programador) es llamado programa fuente y no se puede ejecutar directamente en una computadora.

Desarrollador

Para conseguirlo se hace uso de tecnologías de software del lado del servidor y del cliente que involucran una combinación de procesos de base de datos con el uso de un navegador web a fin de realizar determinadas tareas o mostrar información.

Diseño Web

Actividad que consiste en la planificación, diseño, implementación y mantenimiento de sitios web. No es simplemente la implementación del diseño convencional ya que se abarcan diferentes aspectos como el diseño gráfico web; diseño de interfaz y experiencia de usuario

martes, 28 de febrero de 2017

El siguiente paso de un programador




3 tipos de programadores

Los programadores web (php, asp.net, java, ruby, python), los programadores de aplicaciones móviles (android/ios) y los de escritorio (.net, java, otros) siendo estos últimos los menos renumerados en algunos casos, porque he visto programadores Power Builder que cobran bastante bien.

Yo voy hacer énfasis en la tecnología Web, ya que es lo que pongo en práctica día a día y mayor experiencia tengo. Vamos a segmentar el mercado de los desarolladores web en BackEnd y FrontEnd.

Frontend: desarrolladores que dominan la tecnología del lado del cliente como javascript, html, css.

¿Qué hacen?: landing pages, CMS, aplicaciones usando Frameworks SPA, Responsive Design, Photoshop a HTML, entre otros.
Renumeración: menor a la de un backend.

Backend: aquellos que desarrollan para el lado del servidor, dominan un lenguaje de programación como Java, .NET o PHP y conocimientos en base de datos como Oracle, SQLServer o MySql, entre otros. En este punto tenemos dos tipos de backend, el backend que hace páginas web y el que hace sistemas web.
Desarrollador de páginas web: estos trabajan más para agencias digitales encargadas de promover y crear presencia a una marca corporativa y tienden a usar softwares ya creados/testeados como joomla, wordpress, drupal, magento, prestashop entre otros-
¿Qué hacen?: implementación de CMS y/o Ecommerce (usando un software), páginas dinámicas, formularios, etc.

Renumeración: menor al del desarrollador de sistemas web.
Desarrollador de sistemas web: estas personas desarrollan software a medida trabajando para entidades financieras, bancarias, estatales entre otros para automatizar las tareas internas de una empresa.
¿Qué hacen?: análisis y desarrollo de software en base las funcionalidades del cliente, optimización de módulos, migraciones, etc.
Renumeración: mayor a los mencionados anteriormente.

¿Y los desarrolladores móviles?, en este mundo encontramos desarrolladores IoS y Android en lo que demanda más el mercado.

¿Qué hacen?: desarrollo de aplicaciones, emprendedores por naturaleza.
Renumeración: diría que esta a la par entre un Backend o incluso más en algunos casos. Lo malo es que normalmente son contratados por proyectos, y estos proyectos son de menor duración.


Antes de que vayas a comentar algo y poner cuanto es lo que ganas, las renumeraciones lo he hecho en una comparación en general. Yo se que hay Frontends mejor pagados que un backend pero eso es por la experiencia y conocimientos que pueda tener. Mi comparación ha sido bastante generalizada.
¿A dónde apuntar ahora?
En el mundo de los programadores tenemos 2 caminos, los que vienen de las universidades viendo tecnología como .NET/Java, ya que son materias de estudio y han visto que existen mayores cosas dentro de la carrera de ingeniería que no es solo programación y los que aprendieron la tecnología por su cuenta y no tuvieron la necesidad de cursar una carrera universitaria relacionado a la tecnología (cosa que en realidad hoy en día no hace falta para conseguitr trabajo).

Bien te comento las posibles lineas de carrera que podemos aspirar:

Me gusta la base de datos:

Entonces lo tuyo es ser un DBA (Database Administrator), apuntando a Oracle o SQLServer. Si puedes certifícate.
Lo mío es Business Intelligence, tu habilidad es transformar datos en conocimiento y este conocimiento en información para el futuro de una empresa. El mercado actual solicita bastante gente de BI en SQLServer y Oracle, y son muy bien renumerados. ¿No te gusta programar?, apunta a este perfil, eso sí intenta certificarte, toma las certificaciones de Microsoft que son “más sencillas” que otras y hay muchos centros donde te preparan.

Reporteadores, con tus habilidades de SQL podras trabajar en una empresa haciendo reportes el cual es bastante interesante, eso si hay que ser un lobo haciendo reportes, Procedures de 564645 líneas.
Me gusta la programación:

Y sobre todo a mí, entonces porque nos aspiramos a ser ¿Arquitectos de Software?, es un puesto muy bueno pero llegar a esto requiere ser muy habilidoso, conocer mucho de tecnología y no solo un lenguaje, tambien se solicita arquitectura de servidor. Comienza obteniendo certificados, constancias de estudios en UML, POO y lo que piden ahora mucho SOA. Muy bien renumerados, sueldos atractivos, sobre todo apunta a SOA hermano, son recontra pagados.

Jefe de proyecto: desde mi punto de vista deben conocer de tecnologìa para que su equipo de trabajo no los pasee, pero tambièn debe tener un alto criterio tomando deciciones, es decir debe tener experiencia como analista y programador. Para llegar a este puesto tenemos que esperar que el jefe actual renuncie o se muera y haber tenido experiencia previa como jefe de proyecto (¿irónico?) para suplantarlo. Habilidades necesarias, conocer de tecnología, metologías de desarrollo (Scrum, Rup) y buena habilidad analítica. Son muy bien renumerados, es el máximo cargo.
¿Por qué no realizar un software propio?, puedes hacer un software e ir comercializandolo para luego vivir del soporte. El truco es saber que necesidades buscas satisfacer para determinar tu público objetivo.
No me gusta programar:

Analista funcional: olvidate del código y empieza a llevar cursos de UMl, CMMI, BPM para aspirar a esto, nuestra tarea sera capturar los requerimientos del cliente, diagramarlo y dárselo a los programadores para que sufran, luego serás un medio entre el cliente y el equipo de desarrollo.
Consultor: jur, yo quisiera esto. Basicamente, ellos trabajan en empresas grandes donde el desarrollo del software es tercerizado, entonces su trabajo es ver que el proveedor cumpla la tarea, en sí conversan con los analistas funcionales del equipo del desarrollo. Habilidades requeridas: “vara“, UML, SCRUM, RUP, Gestión de proyectos y SQL entre diversos cursos que deberan ir capacitándose. Sueldos sabrosos. Te pueden contratar empresas grandes como entidades del estado, bancos, entre otros.
Analista QA: para mí este debe conocer de software, sino que calidad va a darle al software. Su función es testear el software para verificar que cumplan el flujo correctamente y no hayan presenciencia de bugs.
Analista de seguridad de información: tengo un profesor que se dedica a esto, pero tambien ve mejora continua, PCI DSS, criptografía, itil, infraestructura tecnológica entre un largo etc.

Project Management: las buenas prácticas para dirigir un proyecto y asegurar el éxito evitando la menor cantidad de errores. Eso es lo que hace un PMP. Son bien renumerados pero la certificación toma como 5 años.
Especialízate en un software: aprende como funciona un ERP, CRM y como lo puedes adaptar a tus clientes en base a sus requerimientos. Apunta a softwares grandes, hace un tiempo fue el Sharepoint, actualmente me comentan que esta bajando el mercado, no apuntes a Drupal, WordPress, Joomla que no pagan mucho por la competencia actual. Aparte que dominar un ERP es tarea compleja, hay centros que especializan y estos consultores son bien solicitados en muchas empresas para abastecer y dar soporte a sus actividades internas.
Los que he mencionado basicamente es para los que siguen la línea de ingeniería de software/sistemas.

Hay muchas caminos más a seguir:

Consultor SEO: especialista posicionado sitios webs en los buscadores (Google).
Estratega Digital: conoce de SEO, sabe como impactar una marca en el internet y convertir a sus visitantes en potenciales clientes liderando una buena estrategia de marketing.
StartUp: oyeee, este es un camino muy bueno pero dificil, basicamente es crear un negocio a base de tecnología supongamos que un sitio web que venda películas. El camino es complicado, se requiere mucha paciencia y estar respaldado por una buena estrategia de marketing. Antes de hacer un startup piensa ¿Cómo lo voy a monetizar?, ¿Cul es mi mercado actual? ¿Cuáles son mis objetivos? ¿Cómo voy a complir mis objetivos? ¿En cuánto tiempo quiero cumplir los objetivos?. Hay metodologías que te ayudan a emprender tu StartUp y bastantes charlas para que puedas emprender, pero defintivamente el mejor consejo que te puedo dar es “Equivocate rápido y aprende de el”.

Community Manager: ESTO ES UNA ESTAFA, no apuntes a esto y va más orientado a los de la carrera de comunicaciones/marketing. En conclusión es estar todo el día publicando tonterías en el Facebook con la finalidad de aumentar los LIKES, no miden, no generan conversiones, no hay una estrategia en medio.

fuente anexsoft.

10 Habilidades Que Todo Programador Debe Tener




Curiosidad: Un buen programador siempre está ávido de conocimientos. Hasta que no conoce el problema en profundidad no se detiene de trabajar. Es esta característica la que permite que un programador pueda adquirir el conocimiento y habilidades para entender cualquier tecnología subyacente en la que necesite escribir código. Sé curioso y alimenta tu mente con información útil. Nunca pares de leer.

Pensamiento claro: Un pensamiento claro es un ejercicio de lógica. Por esta razón es que los programadores con excelente bases matemáticas superan en rendimiento en la mayoría de las veces a sus pares que carecen de estos conocimientos. Ejercita tu lógica a través de las matemáticas.

Leer y comprender rápido: La rapidez en la lectura y compresión de la información es vital para la productividad de cualquier programador. Un programador NO sólo escribe código, parte de su trabajo incluye la lectura de código, documentación y especificaciones de proyectos. Los programadores que leen de manera lenta son improductivos pero los que no tiene buena lectura comprensiva son peligrosos.

Atención a los detalles: He notado que la característica de atención a los detalles está estrechamente relacionada con la curiosidad. Un programador que no presta atención a los detalles principalmente en el proceso de escritura de código es altamente improductivo. La falta de esta habilidad se refleja en aquellos que escriben código desordenado, sin comentarios y no implementan las medidas de seguridad adecuadas para garantizar la integridad del software.

Aprender rápido temas fuera de la programación: Exceptuando que seas un programador trabajando dentro de una compañía de software desarrollando herramientas únicamente para programadores, es necesario que estés en comunicación con otras personas fuera del mundo del código binario. Esto incluye conversar con contadores, abogados, financieros, etc. Por lo tanto, un programador debe adquirir conocimientos en las áreas con la que se relaciona en el trabajo. Así como un periodista debe poseer el conocimiento mínimo necesario para escribir un artículo sobre economía, de esta misma forma un programador debe tener conocimientos mínimos de finanzas para poder ayudar a un director financiero a resolver un problema de software.

Autodidacta: El programador que depende que su empleador para que financie los entrenamientos está condenando al fracaso. La realidad es que en las empresas casi nunca hay presupuesto para entrenamientos en el área de tecnología. Un excelente programador es autodidacta. La habilidad de aprender por sí mismo paga en el largo plazo. El mundo del desarrollo de software es muy amplio y no se detiene, el programador actual debe estar en constante evolución aprendiendo nuevas herramientas y lenguajes. Un programador que dure dos años sin capacitación está desfasado.

Pasión: Existen programadores de 9-5. Estos son aquellos que escriben código de forma rutinaria en su trabajo. Fuera de su trabajo no existe el código. Esto no está mal pero es un reflejo de falta de pasión. Los mejores programadores respiran código las 24 horas. Esta “pasión” es la que permite aplicar trucos y buscar soluciones creativas al momento de enfrentar problemas complejos.

Adaptabilidad: Es muy difícil que un proyecto de software termine con las mismas especificaciones que se delinearon al comienzo del proyecto. Las cosas cambian y los grandes proyectos también. Un programador debe saber cómo adaptarse a los cambios. Los programadores que no se adaptan fracasan.

Comunicación efectiva: Comunicación efectiva no es sinónimo que hables perfectamente tu idioma; es más que eso. Es necesario que un programador tenga la capacidad de comunicar las ideas de forma clara y precisa. Los programadores que NO logran que sus ideas sean comprendidas principalmente por aquellas personas no técnicas, tienden a tener dificultades en sus carreras. Una persona que no comunique efectivamente NO puede escalar a posiciones gerenciales en una empresa.

Explora código: Un forma rápida y eficiente de incrementar tus habilidades en programación es a través de la exploración de código escrito por otros. Algunos de los mejores programadores del mundo colaboran en proyectos Open Source. Involúcrate y aprender de los gurúes.

lunes, 27 de febrero de 2017

Ranking: Lenguajes de programación

Conoce cuáles son los lenguajes de programación más populares y cuáles son los mejor pagados a través de una práctica infografía.




Recién empezó el 2015 y TIOBE ya nos tiene un reporte de cuáles son los lenguajes de programación populares, basándose en la cantidad de programadores cualificados en dichos lenguajes, cursos y estadísticas de los principales motores de búsqueda. C encabeza la lista con un 16.49% de popularidad, seguido por Java con un 15.35%, C++ con un 6.61%, Objective-C con un 6.02%, C# con un 5.73%, JavaScript con un 3.51%, PHP con un 3.17%, Python con un 2.88%, Visual Basic .NET con 2.03% y Visual Basic con 1.72% Otros lenguajes como PL/SQL y Ruby quedaron fuera del TOP TEN, ubicándose en los puestos 13 y 20 de popularidad, respectivamente.

Por otra parte, es preciso mencionar que respecto a la remuneración salarial, el ranking de los lenguajes de programación mejor pagados en Backend corresponde a C++, Python y C; en Frontend, C++, C# y JavaScript son los mejores pagados, según un reporte elaborado por Funders&Founders.



   Fuente: DevCode, tiobe

8 diplomados gratuitos auspiciados por Google

¿En que consiste y como puedo participar?
Son cursos online que puedes llevar sin costo alguno, al final deberás rendir un examen para obtener tu certificado/diploma del curso y para poder participar de este solo necestas una cuenta de Google.



¿Cuales son los cursos disponibles?

1- Curso online de Marketing Digital

Curso para entender los conceptos básicos de lo que es el marketing digital.


2- Curso sobre analítica de datos

Curso que nos permitirá analizar el tráfico obtenido de un sitio web para la toma de decisiones que generen conversiones.


3- Curso online sobre Cloud Computing

Curso que nos permite entender como funciona el Cloud Computing para ofrecer la tecnología como un servicio.


4- Curso online sobre emprendimiento

Curso donde te enseñan a ser un emprendedor usando la tecnología a tu favor.


5- Curso online sobre Productividad propia

Curso para que aprendas a ser más productivo en el estudio, trabajo, en general en tu día a día.


6- Curso online sobre Desarrollo Web

Curso orientado a entender los conceptos básicos de un desarrollo web moderno.


7- Curso online sobre Ecommerce

Curso que te enseñará los conceptos del comercio electrónico para que puedas emprender de manera más productiva.

8- Curso online sobre desarrollo de App

Curso orientado al desarrollo de App, como es de Google, asumo que te enseñarán Android.


Muchachos no pierdan esta gran oportunidad de adquirir mayor conocimiento, como se dan cuenta no todos los cursos es tecnología pura, es bueno tener conocimiento teórico y de emprendimiento para sobresalir profesionalmente, no todo en la vida es código.

sábado, 25 de febrero de 2017

¿Qué es JavaScript?



JavaScript es un lenguaje de programación que se utiliza principalmente para crear páginas web dinámicas.

Una página web dinámica es aquella que incorpora efectos como texto que aparece y desaparece, animaciones, acciones que se activan al pulsar botones y ventanas con mensajes de aviso al usuario.

Técnicamente, JavaScript es un lenguaje de programación interpretado, por lo que no es necesario compilar los programas para ejecutarlos. En otras palabras, los programas escritos con JavaScript se pueden probar directamente en cualquier navegador sin necesidad de procesos intermedios.


Link de Curso Completo: Curso Completo de Udemy

¿Por qué las APIs son la clave para el presente y futuro?

¿Qué son las APIs?, ¿por qué son tan populares en la actualidad?



El término API o Application Programming Interface se ha convertido en un punto muy importante en la rutina del desarrollo, en los negocios y al crear aplicaciones. Todo esto gracias a que las APIs simplifican de gran manera el trabajo de programación, ya que no tenemos que escribir el código desde cero.

La utilidad de una API es la de proporcionar funciones predefinidas para interactuar con el sistema operativo o programa. Por eso se utilizan en diferentes ámbitos, por ejemplo:

REDES SOCIALES

Facebook, Twitter, YouTube, Instagram y otras redes sociales utilizan APIs para entrelazar sus redes a diferentes sitios web, permitiendo la posibilidad de twittear, darle un me gusta o compartir el contenido que se esté observando sin necesidad de salir del sitio. Aquí también tenemos API’s que nos facilitan la visualización de videos, fotos, comprobación de seguridad, etc.

ECONOMÍA Y FINANZAS

API’s que facilitan poder realizar transacciones, chequear información en las cuentas y saldos, transferir fondos, realizar gestiones de tarjetas, alertas de seguridad, etc. Cabe mencionar que para aprovechar las funciones de los smartphones, muchas API’s facilitan el desarrollo de aplicaciones que pueden usar GPS o cámaras para habilitar operaciones bancarias como pagos o depósitos y transferencia de fondos.

E-COMMERCE

En la actualidad existen gran cantidad de emprendedores que buscan dar a conocer sus productos o servicios mediante internet. Desean que clientes sean capaces de realizar una compra o contratación de estos.

Aquí es donde las APIs entran en escena al permitir almacenar información del usuario de forma segura. Esto posibilita tener una proyección del comportamiento de consumo de los clientes.

Existen empresas con PayPal o Stripe que utilizan APIs para facilitar sus procedimientos, como tambien VISA Y BBVA que, mediante sus centros de innovación, brindan una gran cantidad de APIs con las cuales los emprendedores pueden aplicar a sus respectivos proyectos.

Un ejemplo claro se presenta cuando se realiza una compra online y se introduce el número de tarjeta. La web utiliza una API para enviar la información del usuario a los servidores del banco y comprobar que esta sea válida; luego, el servidor envía automáticamente la autorización a la web donde se realiza la compra para que se emita el recibo o voucher de compra.

Existen muchos más ámbitos donde una API tiene gran importancia, varias de las aplicaciones y sitios web a los que accedemos a diario en nuestros smartphones las usan.

Fuente: devcode

viernes, 24 de febrero de 2017

Estos son los países con los mejores programadores de 2016 Según HackerRank

HackerRank es una comunidad de programadores que ha publicado miles de desafíos y retos de programación resueltos por cientos de miles de programadores de todo el mundo. HackerRank puntúa a los desarrolladores en función de la calidad de código y del tiempo que tarden en resolverlo.


Recopilando todos estos datos ha realizado un ranking de los países con los mejores programadores.
Tradicionalmente, los programadores de Estados Unidos, Gran Bretaña o India son los que más fama tienen, y también los más numerosos. De hecho son los que más participan en los desafíos de HackerRank. En los últimos años los programadores chinos y rusos se han hecho famosos por sus habilidades hacker. Pero una cosa es la fama o la tradición, y otra muy distinta sus habilidades prácticas. ¿Son tan buenos como presumen?

Ranking de países con los mejores programadores


HackerRank ha creado la lista según las puntuaciones obtenidas en miles de desafíos de programación dedicados a todo tipo de temas y lenguajes: algoritmos, Java, Estructura de Datos, C++, Matemáticas, Inteligencia Artificial, y otra docena de disciplinas más.
Los programadores chinos han obtenido una puntuación perfecta de 100. Han resuelto correctamente los desafíos en el tiempo establecido. Los rusos y los polacos se han quedado muy cerca con una puntuación superior al 98.
Los programadores españoles se sitúan en una honrosa posición 18, entrando en el Top 20, con una puntuación de 83,4.
La gran sorpresa es que los programadores norteamericanos caen al puesto 28, y los ingleses, al 29. Los indios, al puesto 31. Son datos muy llamativos teniendo en cuenta que estas tres nacionalidades copan los puestos de responsabilidad en parte de las apps y los programas de más éxito. Aunque también es probable que al tratarse de los países con más participantes, es lógico que las posibilidades de fallo aumenten.
Entre los rankings publicados por HackerRank hay uno en el que los programadores españoles brillan. Es el de Paises que nunca se rinden, es decir, aquellos que no dejan desafíos por resolver. España aparece en la cuarta posición mundial. Los más tenaces son los suizos:
Un par de curiosos rankings que, pese a no tener ninguna validez científica, son interesantes precisamente por el gran volumen de datos que maneja HackeRank, en donde más de un millón de programadores de todo el mundo resuelven sus desafíos para obtener una reputación y con ello aumentar sus posibilidades de encontrar un puesto de trabajo.
[Fuente: HackerRank]

12 Ventajas de la Programación en PHP Recomendado!

Una elección popular en el mundo web de hoy es usar la programación PHP. PHP es el lenguaje de scripting multipropósito que esta situado especialmente para el desarrollo de páginas web. Su claridad en el diseño, módulos bien organizados y mejor mantenimiento de tecnologías, lo hacen el lenguaje más popular en la industria actual. Su popularidad y credibilidad puede estar relacionada al hecho de que organizaciones reputadas como la universidad de Harvard o la red social Facebook, están basadas en PHP. Esto es posible por que los sitios PHP pueden ser fácilmente mantenidos, mejorados y actualizados de vez en cuando.



¿Qué es PHP?

PHP es quizás el lenguaje más popular de programación web. Es usado para mejorar páginas web. Con PHP, puedes hacer cosas como crear páginas de inicio de sesión con usuario y contraseña, revisar detalles de un formulario, crear foros, galerías de imágenes, encuestas y mucho más. Si has estado en una página web que termina en PHP, el autor ha escrito algo de código de programación para darle vida al viejo HTML.

PHP es conocido como un lenguaje basado en servidores. Esto es porque el PHP no se ejecuta en tu computadora, sino en la computadora que visita la página. Los resultados son brindados hacia ti y mostrados en tu navegador. Otros lenguajes de programación que tal vez hayas escuchado son ASP, Python y Perl. (No necesitas conocer ninguno de esos para empezar con PHP. De hecho, los tutoriales asumen que no tienes ninguna experiencia programando.)

La explicación más popular es que PHP viene de “Hypertext Pre-processor”, pero eso lo haría HPP. Otra explicación alternativa es que las iniciales vienen de la versión temprana del programa, que era llamada Personal Home Page Tools. Al menos ahí tienes las letras “PHP” en el orden correcto.

El PHP es tan popular que si estás buscando una carrera en el diseño web o programación web, tienes que conocerlo. Este pequeño tutorial puede ser un buen punto de partida para que sigas aprendiendo. Dicho esto, examinemos las razones por las que es una buena idea usar PHP en tu sitio web.

1. Código abierto

PHP es de código abierto, esto significa que está disponible completamente gratis. Si estás planeando contratar desarrolladores PHP y tienen experiencia en C y Java, lo harán excelente en PHP. Este lenguaje es mucho más simple que el resto así que puedes esperar resultados fabulosos.

2. Multiplataforma

PHP es multiplataforma, por lo tanto te permite operar en varios sistemas operativos. Funciona excelente en LINUX, UNIX y Windows. También funciona sin esfuerzos con Apache/MySQL.

3. Soporte

PHP, como mencionamos antes, es muy popular. Por lo tanto hay un sinnúmero de referencias y guías disponibles en la web. Uno pude también encontrar grupos, foros y equipos de soporte para PHP. ¿Te has atorado en algo? Hay siempre la suficiente librería online para ayudarte. Esta riqueza de soporte online está disponible en varios idiomas.

4. Altos retornos

El PHP a menudo permite a la gente crear páginas web dinámicas. Esto asegura mayor participación de los visitantes y por lo tanto mayores retornos.

5. Gran comunidad

La comunidad de PHP es grande. Debido a su popularidad, hay muchos desarrolladores PHP, contribuyentes PHP, usuarios PHP y empleadores que ofrecen trabajos en PHP. Si estas buscando contratar a un desarrollador PHP, definitivamente no estás solo.

6. Fácil de insertar

Una cualidad interesante es que el PHP puede ser fácilmente insertado en el HTML. Esto hace muy fácil convertir un sitio web estático existente en uno nuevo y más dinámico.

7. SFS

Estabilidad, flexibilidad y Velocidad son las cualidades principales que atraen a los propietarios de negocios a elegir PHP.

8. Futuro Brillante

Aunque el PHP ya está bien establecido, sus prospectos futuros son infinitos. El punto clave es que el PHP está vagamente escrito. Esto hace que códigos simples sean más rápidos de desarrollar. Uno tiene que usar menos energia en el diseño.

9. Rápido

El PHP, siendo muy rápido de desarrollar, asegura que hay un tiempo de respuesta rápido. Cuando contratas desarrolladores PHP, su eficiencia te brinda una solución online que probablemente buscabas hace tiempo.

10. Extensionses

PHP tiene múltiples extensiones y es extremadamente escalable. Cuando contratas desarrolladores PHP, se aseguran que los resultados sean medibles. Esto te ayuda a calcular tu retorno de inversión y te brinda una mejor posición sobre la competencia.

11. Otras herramientas

Si necesitas acceso a otras herramientas web como Google Maps (que es siempre recomendable para el sitio web de un negocio), o cualquier otra, PHP las vuelve fáciles de acceder.

12. Pre-Configurado

Más a menudo que no, muchos servicios de hosting tienen una configuración PHP “lista para usar”. Esto no requiere ninguna configuración especial. Por supuesto si necesitas un sitio web de alta seguridad puedes modificarlo fácilmente.

¿Conoces PHP? ¿Programas en PHP? ¿Qué te parece este lenguaje de programación? Participa en los comentarios.

Fuente: staffcreative

Función para reiniciar los campos de tu formulario Jquery

En ocasiones cuando realizamos un CRUD o un formulario en un sistema necesitamos en algún momento poder reiniciar los campos del formulario para ello te presento esta sencilla función que funciona al 100%.



Para esta función tienes que utilizar la libreria de JQuery.

 Función reset:
jQuery.fn.reset = function () {
    $("input:password,input:file,input:text,textarea", $(this)).val('');
    $("input:checkbox:checked", $(this)).click();
    $("select").each(function () {
        $(this).val($("option:first", $(this)).val());
    })
};


La manera de llamar a la anterior function es de la siguiente forma: 

$("#formFile").reset();
Como te habrás dado cuenta que le paso el id que tiene mi formulario y que llame al reset, esto podrías utilizar en las llamadas ajax en la funcion de success:


Trucos divertidos en búsqueda de Google

Estas curiosidades que Google nos tiene guardado nos hará pasar un rato y posiblemente te invitara a investigar por el internet que otras más hay. Todas estas funcionan al momento de realizar una búsqueda en Google, responde a comandos que interpreta los algoritmos que han introducido los locos de sus programadores.

#1 Do a barrel roll
Este interesante comando hace que el resultado de búsqueda haga un giro de 360, la cual hace referencia a las maniobras de los aviones que ejecutan algunos aviones.




#2 Zerg Rush
Para los fanáticos de Starcraft, un increíble juego de estrategia. Al escribir este comando en el buscador nos empezarán atacar Zergs representados por una "O" que comenzarán a comer todos los resultados de búsqueda encontrados, tu puedes detener el ataque haciendo click en cada uno de ellos. Para mi es el más divertido e increíble que estos programadores locos se ha ingeniado.




#3 Atari Breakout
Realizar uan búsqueda pero en la pestaña de imágenes y convertiremos todo el resultado de imágenes en un clásico juego qe nuestra infancia.




#4 Askew
Tranquilo, no eres tú, es Google que ha girado ligeramente la pantalla. Askew hace referencia a torcido en español.





#5 Beam me up scotty
Este truco funciona para YouTube y los resultados de búsquedas comienzan aparecer con un efecto de teletransportación.





#6 Do the Harlem shake
Otro truco más para Youtube, escribe el siguiente comando y harás bailar el Harlem Shake a YouTube con música y todo.



Otro comando similar para YouTube Use the force Luke.

Fuente: anexsoft

jueves, 23 de febrero de 2017

El desarrollador back-end cada día más cerca del front-end




Antes de que comience a leer está entrada quiero infórmate que todo lo he escrito aquí es en base a mi experiencia no una verdad absoluta, y no vamos a ver nada de código.

Conceptos previos
Inciamos la entrada aclarando 2 conceptos en el mundo de la tecnología web:

Front-end: desarrollador que realiza aplicaciones web usando tecnología del lado del cliente como lo es javascript, css, etc.
Back-end: desarrollador que realiza aplicaciones web usando tecnología del lado del servidor como PHP, .NET, Java, etc.
Teniendo claro estas diferencias podemos comenzar con la entrada a fondo.

Normalmente una web es desarrollada con alguna tecnología back-end (PHP, Java, Ruby, .Net, entre otros) y la maquetación y e interacción la hacemos con CSS y Javascript (jQuery en la mayoría de los casos adicionando sus plugins), ya sea para una página web comercial o un sistema web.

¿A que me refiero con página web comercial y sistema web?

Página web comercial: aquellas páginas que tienen un público objetivo definido como visitantes al cual les quieres mostrar tu servicios o productos que ofreces como persona natural o empresa.
Sistema Web: sistema realizado a medida para satisfacer la demanda de un proceso interno de una empresa, por ejm: un ERP, CRM, etc.


Rest Api
Hablemos de arquitectura, lo normal en un desarrollo de un sistema web es crear un capa de presentación (lo que el usuario visualiza), una capa de negocio (las reglas de negocio de tu empresa, por ejemplo: métodos para efectuar una venta) y una capa de persistencia (consultas a la base de datos), estos 3 los enlazas y tu capa de presentación se encarga de mostrar la información que el usuario requiere. Normalmente, la capa de persistencia viene siendo creada como un servicio (Webservices o Rest Api). Actualmente, se está optando más por desarrollar Rest Api, incluso se han desarrollado Frameworks exclusivamente para Rest Api, como lo es:

Laravel Lumen (PHP)
Web Api (.NET)
Slim (PHP)
¿Rest Api?, es una arquitectura de software basada en HTTP para crear servicios y aplicaciones que puedan ser consumidas por otros. En español, es declarar rutas o URL que permitan hacer alguna acción para que tu aplicativo pueda interactuar bajo ciertos estándares. Ejm: Tienes tu aplicación Android y quieres mostrar las últimas ventas del mes, puedes llamas a tu API http://api.miweb.com/ventas/GetAll.


Javascript hoy en día
Han nacido varios frameworks para consumir dichos servicios, como Angular JS, Backbone, Ember JS, entre otros, la cual es la nueva tendencia que se está optando en el desarrollo web, desarrollar SPA (Single Page Application) o aplicación de una sola página y a la par librerías para darle potencia a la interface del usuario como jade, react js, polymer, entre otros. Javascript ha crecido tanto que es prácticamente la nueva tendencia para desarrollar aplicaciones web, vamos a ver las ventajas:

Tiempo de espera reducido entre páginas (No hay postback, se juega con el historial de navegación)
Comunicación con el servidor más fluida:
El cliente realiza una petición al servidor.
El servidor responde al request serializando la información a Json.
El cliente se encarga de procesar dicha información en mili segundos.
Mayor fluidez para realizar aplicaciones responsive, en un dispositivo movil se debería ver más fluído acercandose a una aplicación nativa.
Reglas de negocio ejecutadas desde el lado del cliente, esto nos va a dar un mayor performance. (Igual hay que validar en el servidor para evitar una brecha de seguridad en nuestra aplicación).


¿Que pasará con las aplicaciones tradicionales?
Así es, el desarrollador back-end va a terminar siendo desarrollador front-end, en realidad un híbrido (full-stack) ya que va a tener que dominar la parte back-end para crear los servicios, el cual requiere conocimiento de base de datos y la tecnología del servidor para validar la información, y la parte front-end para crear la aplicación. Con lo que quiero decir, que en base a mi especulación el desarrollo web que conociamos puede ser reemplazado por las aplicaciones SPA. Ahora posiblemente hayan casos que ustedes dirán, esto no lo puede hacer con javascript (generar un PDF), tu Rest API si lo puede hacer, solo sería cosa de pasar el enlace de descarga. Además, que no nos sorprenda que más adelante puedas generar documentos desde el lado del cliente, quien iba a pensar que javascript sería lo que es hoy a comparación de hace 10 años a más.



¿El back-end va a desaparecer?
No, siempre va a estar, ya que javascript necesita un servicio para poder crear la aplicación, al menos que inventen una tecnología que conecte a Oracle tan solo usando javascript (no creo ¬¬). Y la demanda back-end siempre va a estar en auge, muchas empresas requieren programadores back-end ya sea para dar soporte a sus sistemas antiguos o crear nuevos módulos (trabajo hay y habrá bastante). Otro punto, que para desarrollar una web comercial o derrepente un start up, requiera hacer el desarrollo como lo hacemos siempre para el tema del posicionamiento (SEO). Adicionalmente, no creo que páginas como Ebay decidan de la noche a la mañana cambiar a SPA, seguirán contratando desarrolladores back-end para dar soporte y/o realizar mejoras a sus proyectos.



Conclusión
Piensa en SPA para el futuro de las aplicaciones web para que seas más competitivo en el mercado aprovechando las ventajas que nos brinda este, entrénate y prepárate porque la demanda va a aumentar. Toda está ¿teoría? que he planteado se debe a que cada día se habla más de javascript, nuevas librerías, nuevos frameworks para el desarrollo de SPA y capa de presentación con javascript, y los frameworks tradicionales para back-end han optado por desarrollar frameworks que solo sean Rest API. Por esta razón, es que voy a comenzar a perfeccionarme en javascript y ser más front-end.

Fuente: anexsoft.

Los 9 lenguajes de programación de mayor demanda en 2017

En la actualidad existen cientos de lenguajes de programación. Algunos estudios dan cuenta de alrededor de 300 diferentes lenguajes de programación. Una enorme cantidad, sobre todo para un novato que desea especializarse.

A medida que el mundo tecnológico avanza, la necesidad de programadores aumenta, sobre todo en áreas creciente como el Internet de las Cosas (IoT). Sin embargo, como ya decía entre tantos lenguajes de programación existente, es difícil decantarse por alguno en específico.


Para poder ayudarte a resolver este dilema, codingdojo.com ha compilado una lista de los 9 lenguajes de programación más demandados para este año 2017.



1. SQL
En comparación con el año pasado, el número de puesto de trabajo que incluyeron SQL (Structured Query Language) aumentó en casi 50,000 para este año, dando a SQL una enorme ventaja sobre otros lenguajes de programación. 
Los 9 lenguajes de programación de mayor demanda en 2017 
SQL es un lenguaje de propósito especial diseñado para la administración de los datos almacenados en un sistema de gestión de bases de datos relacionales (RDBMS). Es muy común, con muchas variaciones como MySQL y Microsoft SQL. El año pasado, Microsoft lanzó SQL Server 2016, que introdujo varias nuevas características.  Este popular lenguaje de programación y análisis de datos es extremadamente conocido y de creciente demanda en los puestos de trabajo.


2. Java
Probablemente, debido al continuo crecimiento de Android, el número de plazas disponibles en Java se incrementó en casi 30,000 en 2017, en comparación con el 2016.
Java es un lenguaje de programación muy popular, ampliamente adoptado, de propósito general y utilizado por millones de desarrolladores y en miles de millones de dispositivos en todo el mundo. Es un lenguaje orientado a objetos basado en clases y diseñado para ser portátil, lo que significa que se puede encontrar en todas las plataformas, sistemas operativos y dispositivos. Se utiliza para desarrollar todo tipo de aplicaciones de Android, aplicaciones de escritorio y juegos de video. También se usa comúnmente como un lenguaje de servidor para el desarrollo a nivel empresarial backend. Este lenguaje de programación con amplia compatibilidad hace que los desarrolladores se sienten cómodos con Java.
Los 5 lenguajes de programación mejor pagados de 2017



3. Python
Python subió dos lugares en el ranking de codingdojo.com al tener la tercera mayor cantidad en la demanda de lenguajes por puesto de trabajo, esto debido a su constante crecimiento de popularidad en 2016.
Python es un lenguaje de programación de alto nivel ampliamente utilizado para la programación de propósito general, ya que es simple y fácil de aprender. Python es el lenguaje de codificación fácil de aprender para estudiantes novatos. Con el fin de convertirse en un profesional con experiencia, cada novato debe conocer al menos este lenguaje. Varias bibliotecas han sido creadas para Python relacionado con matemáticas, física y procesamiento natural debido a su uso en el campo de la educación. Los gigantes tecnológicos como Google y Yahoo, junto con la NASA y Reddit utilizan Python para sus sitios web.


4. JavaScript
A pesar de haber bajado una posición con respecto al año anterior. El número de ofertas de trabajo se mantuvo casi en el mismo número.
JavaScript es un lenguaje popular, potente, dinámico, de secuencias de comandos que se utiliza para crear sitios web interesantes y juegos para la web. Su sintaxis se deriva en gran parte del lenguaje C. JavaScript es compatible en todos los navegadores, y se utiliza en más del 90 por ciento de todas las páginas web. En los últimos años JavaScript también ha ganado más terreno debido a su uso como base de Node.js, una tecnología de lado del servidor, que entre otras cosas permite la comunicación en tiempo real. En 2016, la compatibilidad y la adopción de JavaScript 6 continuaron creciendo, gracias a sus nuevas funcionalidades.


5. C++
C++ registró un aumento de casi 20,000 ofertas de trabajo durante 2016, lo que le ha ayudado a tomar el quinto lugar en la clasificación. 
C++ es un lenguaje de programación de propósito general basado en lenguaje C. Tiene características de programación genérica, orientada a objetos e imperativas. C++ es un lenguaje poderoso y de alto rendimiento utilizado para construir software del sistema, motores de juegos, aplicaciones de escritorio y web.



6. C# (C Sharp)
“C Sharp” vio un pequeño aumento de popularidad en 2017, pero no lo suficiente para evitar caer detrás de C++.
C Sharp es un simple y moderno lenguaje de uso general – un lenguaje de programación orientado a objetos desarrollado por Microsoft. El lenguaje está diseñado para su uso en el desarrollo de componentes de software adecuados para el despliegue en entornos distribuidos. Es utilizado en diferentes aplicaciones tales como .NET. Desde el lanzamiento de la plataforma de desarrollo de código abierto .NET Core en junio de 2016, este se puede utilizar en máquinas que no sean Windows. Varias características de C# 7.0 fueron liberadas el año pasado.



7. Perl
Gracias a su popularidad, Perl ha escalado para asegurarse el séptimo lugar en el ranking, dejando atrás a iOS, PHP y Ruby.
Perl es en realidad dos lenguajes; Perl 5 y Perl 6 que se lanzó en diciembre de 2015. Ambos son lenguajes de programación dinámicos de propósito general que tienen una gran cantidad de usos en CGI, gráficos, redes y aplicaciones de finanzas. Algunos piensan que el crecimiento de DevOps ha conducido al aumento de su popularidad, debido a que Perl es versátil y funciona bien con otros lenguajes, por lo que es una buena herramienta DevOps.


8. Familia iOS
Muchos de los desarrolladores que escriben para el sistema operativo iOS utilizan Objective-C, C o el nuevo lenguaje de programación Swift de Apple. Apple introdujo Swift, un nuevo lenguaje de programación para todas las aplicaciones de iOS y OS X. De hecho, Swift está desplazando a Objective C como lenguaje por defecto para el desarrollo de iOS, debido a que ha crecido mucho más rápido de lo que se esperaba por su escalabilidad, velocidad, facilidad de uso y la fuerte demanda del mercado de aplicaciones móviles.
En septiembre de 2016, Apple lanzó Swift 3.0 con nuevas características, incluyendo una mejor traducción de las API de Objective-C y un nuevo modelo para las colecciones y los índices. Apple planea lanzar Swift 3.1 y 4 Swift en 2017.



9. PHP
PHP (Hypertext Pre-Processor) es un lenguaje de programación del lado del servidor, que puede ser utilizado para crear páginas web escritas en HTML. Se utiliza en más del 80 por ciento de los sitios web de hoy en día como Facebook, Wikipedia, Tumblr y WordPress. PHP es un lenguaje popular no sólo entre los nuevos programadores debido a su facilidad; sino también porque ofrece una gran cantidad de características avanzadas para los programadores más experimentados. En los últimos años, PHP ha crecido enormemente en popularidad. Sus características orientadas a la web hacen que sea una habilidad muy solicitada, especialmente cuando se combina con Javascript y SQL.

¿Qué opinas de este ranking? ¿En cuál de estos lenguajes eres especialista?
Fuente: codingdojo - 2017