A veces creo que complicamos el código innecesariamente cuando estamos desarrollando un sistema.
Te pongo un ejemplo sencillo: tienes un sistema con 3 tipos de usuario: cliente, editor y administrador, pero necesitas una forma de evitar que los clientes accedan al panel de administración, y que sólo los administradores puedan acceder a los módulo de configuración. ¿Cómo resolverías este problema?
Todos hemos visto una oferta de trabajo así en algún momento:
Se solicita programador web con 15 años de experiencia, experto en HTML, CSS, Javascript, PHP, Ruby on Rails, NodeJS, .NET, C++, MySQL, PostgreSQL, Oracle, NoSQL, configuración de servidores, conocimientos de diseño gráfico y caligrafía. Ser barista es un bonus. Salario a convenir (el mínimo posible), algunos beneficios de ley (porque nos obligan).
Como un desarrollador de tan sólo 20 años buscando mi primer empleo fijo, este tipo de ofertas me deprimía bastante: me consideraba buen programador y que tenía conocimientos acordes ¡Sin embargo siempre cumplía con la mitad de los requisitos indispensables! Además yo sólo se preparar café americano. ¿Pero saben qué es lo curioso? Después de más de 10 años ¡Aún no cumplo con esos requisitos!
Esta semana fue muy importante para todos los que usamos PHP. ¿Por donde comenzar?
PHP cumplió 20 años
Desde que Rasmus Lerdof, lanzó PHP como el acrónimo de «Personal Home Page Tools» hasta hoy en día que significa «PHP Hypertext Pre-processor», PHP ha cambiado muchísimo, de hecho creo que necesitamos un nuevo acrónimo, porque con PHP ya no nos encargamos de pre procesar HTML directamente, delegamos esa tarea a Smarty, Twig, Blade y otros motores de plantilla, construidos en PHP.
Gracias a Blade el sistema de plantillas que Laravel posee, podemos hacer cosas que podríamos pensar complicadas de manera muy sencilla. Una de esas cosas es refrescar una sección de una plantilla o layout en tu aplicación, sin necesidad de cargar la pagina completamente, usando la función renderSection(). Ver post
Hace unos años, me dediqué a enseñar ajedrez de competencia a un niño muy talentoso. El principal obstáculo que encontré como profesor fue que, siendo él un niño, naturalmente se dejaba llevar mucho por sus emociones: si comenzaba a tomar ventaja en una partida, se emocionaba demasiado y la emoción lo llevaba a cometer errores, si por el contrario, regalaba una pieza o iba en desventaja, se deprimía y cometía aún más errores.
Siempre me ha gustado enseñar. Comencé mi sitio personal duilio.me, con la idea de tener un espacio donde compartir conocimientos en mis ratos libres. El sitio lo monté en 5 minutos con WordPress, como ya les conté en otra ocasión. Si comenzaba a hacer una plataforma propia no iba a terminarla nunca (siempre iba a tener algún detalle o mejora que hacer) y yo quería comenzar de una vez.
Cuando los programadores de PHP comenzamos a vagar por la faz de Internet, no existían frameworks y cada quien se las arreglaba como podía. Luego con el lanzamiento de frameworks como Ruby on Rails, comenzaron a desarrollarse y popularizarse frameworks para PHP.
Sin embargo, hay algunos proyectos que no necesitan toda la estructura de un framework como Laravel o Symfony, ya sea porque son muy sencillos, tienen características muy específicas, o requieren de una velocidad de ejecución extrema.
Por ende surgió la necesidad de disponer de micro-frameworks, es decir versiones mucho más ligeras de los frameworks que ya conocemos.
El universo de PHP ya contaba con algunos como Silex (de los creadores de Symfony) y Slim, sin embargo no disponíamos de una versión «super liviana» de Laravel. Hasta hoy, que fue anunciado Lumen:
Terminó la entrevista y me informaron que otro candidato y yo habíamos pasado, pero sólo tenían un puesto, así que nos iban a poner a prueba durante una semana.
Era mi primera entrevista para mi primer trabajo, y aunque no dudaba de mis habilidades, sentía que iba a enfrentar a programadores con mucha más experiencia que yo.
A pesar de que hacemos un gran esfuerzo en crear contenido en cantidad y de calidad en español, no es un secreto que el mejor material de programación (libros, tutoriales, videotutoriales, conferencias, etc.) se encuentra en inglés.
Por ejemplo, ahora mismo Laracasts está publicando una serie de fundamentos de Laravel en inglés, la documentación oficial de Laravel está en inglés, el API y los comentarios de Laravel y otros frameworks están en inglés. Stackoverflow, una gran fuente de conocimientos técnicos, está igualmente en inglés. Cada vez que encuentro un «bug» o «issue», escribo mi pregunta en Google en inglés, y las posibilidades de obtener respuesta se elevan a un 1000% Además los mejores trabajos que puedas conseguir como desarrollador están en países como Canadá, USA e Inglaterra. ¿Necesitas más motivación?
Herramientas para aprender inglés en línea
Afortunadamente Internet es un sitio maravilloso si sabes hacer uso de él, y hoy en día tienes a tu disposición diferentes herramientas gratuitas para comenzar tu meta de aprender inglés hoy mismo:
Styde usa cookies para guardar tus preferencias y para seguimiento anónimo AceptarLeer más
Privacy & Cookies Policy
Privacy Overview
This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.