JavaRush /Blog Java /Random-ES /10 artículos que todo programador debería leer
Shoggy
Nivel 32
Санкт-Петербург

10 artículos que todo programador debería leer

Publicado en el grupo Random-ES
Como programador Java y desarrollador de software, he aprendido mucho de los numerosos artículos titulados Lo que todo programador debería saber..... , tienden a proporcionar mucha información útil y completa sobre un tema en particular que de otro modo sería difícil de entender. descubrir. En mi búsqueda de conocimiento, me he encontrado con algunos artículos muy útiles que he marcado como información de referencia para volver a leer. La idea de que muchos programadores podrían beneficiarse de la lectura de esta colección me impulsó a escribir esta publicación y compartir con ustedes todos estos artículos sobre "Lo que todo programador debe saber". 10 artículos que todo programador debería leer - 1En este artículo, se familiarizará con el conjunto clásico de conocimientos que todo programador necesita, en temas como memoria , Unicode , aritmética de punto flotante , redes , diseño orientado a objetos), tiempo , codificación de URL , cadenas y muchos otros. Esta lista es muy importante para principiantes y recién llegados, ya que a menudo carecen de conocimientos prácticos. Dado que la mayoría de los artículos se basan en ejemplos de la vida real, los programadores principiantes e intermedios pueden aprender mucho de ellos. Además, aprender los conceptos básicos al principio de su carrera le ayudará a evitar los errores que otros programadores y desarrolladores de software ya han cometido a lo largo de su camino de aprendizaje. Desafortunadamente, no toda la información de los artículos descritos es fácilmente digerible desde la primera lectura. Lo más probable es que no comprenda de inmediato algunos de los detalles sobre los números de punto flotante, o que las complejidades de la memoria lo confundan, pero es importante tener esta colección a mano y consultarla de vez en cuando para obtener aclaraciones. Así que te deseo buena suerte y que disfrutes leyendo estos fantásticos artículos. Por cierto, no olvide compartir otros artículos sobre "Lo que todo programador debe saber" si aún no están en nuestra lista.

Lo que todo programador debería saber sobre la memoria

traducción al ruso Este es uno de los artículos clásicos que lo guiará a través de las características de la memoria, algunas de las cuales son antiguas, otras nuevas, algunas famosas y otras no tanto. A pesar del papel directivo y la omnipresencia, no todos los programadores tienen un nivel suficiente de conocimiento sobre la Memoria. La importancia de familiarizarse con la memoria en los sistemas modernos aumenta si se dedica a escribir aplicaciones de alto rendimiento. Los diseñadores de hardware están ideando modelos de administración de memoria y técnicas de aceleración más complejos, como cachés de CPU, pero estos no pueden funcionar de manera óptima sin la ayuda de los programadores. Todavía estoy leyendo este artículo y no puedo decirles cuánto aprendí sobre RAM, cachés de CPU como el caché L1 y L2, diferentes tipos de memoria, acceso directo a la memoria, diseño del controlador de memoria y memoria en general. . En definitiva, una lectura obligada para programadores de cualquier nivel.

Lo que todo científico debería saber sobre la aritmética de coma flotante

El tema de la aritmética de coma flotante es complicado y no fácil de dominar. Muchos programadores de Java ni siquiera saben qué puede salir mal al comparar valores con tipo float/ doubleoperador ==. Muchos de nosotros cometemos errores a menudo al realizar cálculos monetarios en tipos floaty double. Este artículo es otra joya de esta serie y es una lectura obligada para todos los desarrolladores y programadores de software. A medida que adquiera experiencia, deberá profundizar en las complejidades de los temas generales, y la aritmética de punto flotante es uno de ellos. Como desarrollador senior de Java, debes saber cómo hacer cálculos monetarios, cuándo usar floato cómo redondear números de punto flotante y mucho más double. BigDecimalIncluso si tiene un conocimiento sólido de este tema, después de leer el artículo puede descubrir algo nuevo sobre las operaciones de punto flotante.

Lo que todo desarrollador debería saber sobre Unicode

La codificación de caracteres es otra área en la que muchos programadores luchan, y "El mínimo absoluto que todo desarrollador de software debería saber absolutamente sobre Unicode y los conjuntos de caracteres (¡sin excusas!)" tiene como objetivo llenar ese vacío. Para que conste, sí, este es el título completo de este artículo. Su autor es Joel Spolsky, uno de los fundadores de https://stackoverflow.com . Joel escribió este artículo en su blog hace casi 10 años, pero no ha perdido su relevancia en el mundo moderno. El artículo explica qué es Unicode, qué es una codificación, cómo se representan los caracteres mediante bytes y mucho más. Una de las mejores cosas de este artículo es el lenguaje y el método de presentación, incluso si no sabes nada sobre Unicode, no tendrás ningún problema para entenderlo. En resumen, otra lectura obligada para todos los programadores, codificadores e ingenieros de software.

Lo que todo programador debería saber sobre el tiempo

Además de la codificación de caracteres, la hora y las fechas ( Timey Date) son otra área en la que muchos programadores, incluido yo mismo, tenemos dificultades. Incluso los desarrolladores experimentados se pierden con GMT, UTC, horario de verano y segundos intercalares. Para ser honesto, no es fácil lidiar con zonas horarias sin cometer algunos errores, y usar el horario de verano lo hace aún más difícil. Los problemas empeoran si utiliza prueba y error porque nunca podrá resolver su problema haciendo esto. Hay una gran cantidad de cosas que pueden salir mal y una cantidad igual de conceptos erróneos. Cosas como si una fecha contiene una zona horaria o no pueden confundirlo, convertir la hora UNIX a otras zonas horarias puede irritarlo y puede olvidarse fácilmente de sincronizar relojes y retrasos. Espero que después de leer este artículo, muchos de tus conceptos erróneos sobre el tiempo desaparezcan y desarrolles una comprensión completa del tiempo.

Lo que todo desarrollador web debe saber sobre la codificación de URL

Este artículo describe conceptos erróneos comunes sobre la codificación del Localizador uniforme de recursos (URL), luego intenta aclarar la codificación de URL para HTTP y luego demuestra problemas y soluciones comunes. Aunque este artículo no es específico de ningún lenguaje de programación, ilustra problemas en Java y finaliza con explicaciones para solucionar problemas de codificación de URL en Java y en aplicaciones web en varios niveles. Aprenderá la gramática básica de URL, la sintaxis general de URL en HTTP y otros protocolos. Este artículo también cubre errores comunes de URL, como la codificación de caracteres, caracteres especiales en diferentes partes de una URL y problemas de codificación/decodificación de URL. Si es programador de Java, también aprenderá cómo administrar correctamente las URL en una aplicación Java. Cómo crear una URL y utilizar la biblioteca cliente HTTP Apache Commons. Finalmente, también ofrece mejores prácticas y sugerencias para trabajar con URL, como cómo codificar una URL al crearla, asegurarse de que sus filtros de reescritura de URL manejen sus URL correctamente y más. En resumen, una lectura obligada para cualquier desarrollador y programador web.

¿Qué sabe todo programador sobre desarrollo web?

Este interesante artículo de programmersStackExchange trata sobre lo que todo programador que implementa los detalles técnicos de una aplicación web debe considerar antes de abrir un sitio al público. Incluye elementos de las áreas de diseño de interfaz y experiencia de usuario, seguridad, estándares web, rendimiento, optimización de motores de búsqueda (SEO), tecnologías utilizadas y algunos recursos importantes. El mundo actual depende en gran medida de Internet y es bastante común que un programador tenga un sitio web o un blog personal. La experiencia adquirida en este artículo le será útil no sólo en sus actividades profesionales, sino también en sus propios proyectos. Aprenderá sobre todas las tecnologías clave, como HTTP, HTML, XML, CSS, JavaScript, compatibilidad del navegador, consejos para reducir el tiempo de carga de su sitio, mapas de sitio XML, especificaciones W3C y varios otros puntos clave.

Lo que todo programador debe saber sobre SEO

Este es otro artículo que será de gran utilidad para desarrolladores web, programadores y blogueros. El SEO es demasiado importante para ignorarlo y es importante que muchos programadores y blogueros conozcan los conceptos básicos de la optimización de motores de búsqueda para ayudar a Google a encontrar su contenido y mostrárselo a otros programadores. Dado que ninguna empresa puede sobrevivir sin una presencia web en el mundo conectado de hoy, el SEO se vuelve aún más importante. Si tienes una startup que vende algún producto, entonces el SEO es algo de lo que debes ocuparte. Todos los programadores, especialmente los desarrolladores web, pueden beneficiarse enormemente de este artículo. Recuerde, la optimización de motores de búsqueda es amplia y muy dinámica, y varía según los diferentes motores de búsqueda, como Google, Yahoo y otros. Entonces, para dominar este tema siempre debes actualizar tus conocimientos.

Lo que todo programador de C debe saber sobre el comportamiento indefinido n.º 1/3

El lenguaje de programación C tiene el concepto de "comportamiento indefinido". El comportamiento indefinido es un tema amplio con muchos matices y es una de las razones por las que amo Java: menos comportamiento indefinido, menos confusión, más estabilidad y más paz. Muchas cosas aparentemente razonables en C en realidad tienen un comportamiento indefinido, y esta es una fuente común de errores en los programas. Además, cualquier comportamiento indefinido en C da permiso a las implementaciones (del compilador y del tiempo de ejecución) para generar código que formatea el disco duro, haciendo cosas completamente inesperadas o algo peor. Lea este excelente artículo para sumergirse profundamente en el mar del comportamiento impredecible.

Lo que todo programador necesita saber sobre redes

Del propio artículo "Eres programador. ¿Alguna vez te has preguntado cómo funcionan los juegos multijugador? Desde fuera, parece mágico: dos o más jugadores comparten una experiencia colaborativa en línea, como si realmente existieran juntos en el mismo mundo virtual. Pero cómo "Sabemos la verdad, programadores, que lo que realmente está sucediendo es muy diferente de lo que ven. Resulta que todo es una ilusión". Este es un artículo muy interesante sobre redes escrito para programadores de juegos, pero creo que todos los programadores y desarrolladores pueden beneficiarse de él.

Lo que todo desarrollador de Java debería saber sobre las cadenas

Este es mi artículo java.lang.Stringy personalmente creo que todo programador de Java debería saberlo. Las cadenas son muy importantes en la programación Java del día a día y es por eso que un buen conocimiento es imprescindible para cualquier desarrollador de Java. Este artículo cubre muchos aspectos importantes de Strings, incluido el grupo de cadenas, los literales de cadenas, la comparación de cadenas con ==vs equals(), la conversión de bytes en una cadena, por qué una cadena es inmutable, la concatenación adecuada de cadenas y mucho más. Es posible que un programador avanzado ya conozca todas estas características, pero aun así sería buena idea repasarlas.

¿Qué todo programador debería saber sobre seguridad?

Esta pregunta fue hecha por un estudiante programador en StackOverflow. Así como sabemos mucho sobre conceptos generales de programación como el sistema operativo, algoritmos, estructuras de datos, arquitectura de computadora y otras cosas, también es importante saber sobre seguridad. Aunque el tema de Seguridad es bastante amplio y cubre las áreas de cifrado/descifrado, SSL, seguridad web, ofuscación, autenticación, autorización, etc., existe un mínimo básico de conocimientos necesarios para cada programador. Personalmente, al comienzo de mi carrera no sabía mucho sobre seguridad, cuando comencé a escribir una aplicación web Java basada en Servlet/JSP, aprendí sobre seguridad web y una serie de amenazas a la seguridad como inyección SQL, denegación de servicio, XML. Inyección, cross-site scripting y otros. Como desarrollador de Java, ahora sigo prácticas seguras de programación Java proporcionadas por Fortify, PMP y otros proveedores de analizadores de código estático. Este artículo contiene una muy buena selección de temas y enlaces de seguridad, y ya sea que codifique o no, seguramente se beneficiará de este recurso.

Números de latencia que todo programador debería conocer

Este artículo es una ventaja, pero, no obstante, una lectura obligada para cualquier programador. Para escribir una aplicación de alto rendimiento en cualquier lenguaje de programación, ya sea Java o C++, debe conocer los valores de latencia básicos, por ejemplo, cuánto tiempo llevará leer una variable de la memoria, de la caché L1, de la caché L2, para un lectura aleatoria desde un SSD y desde un disco. ¿Cuánto tiempo se tarda en bloquear/desbloquear un mutex para enviar un paquete de datos de una ciudad a otra o para realizar un viaje de ida y vuelta dentro de un centro de datos? Estos valores de latencia son independientes del lenguaje de programación y son parte del conocimiento básico que debe tener un desarrollador para escribir aplicaciones de alta carga y baja latencia. Lo positivo de este enlace es que proporciona un análisis comparativo de cómo han evolucionado estos valores a lo largo de los años. Puedes ver cuáles eran los valores en 2006 y cuáles son ahora. Eso es todo en esta lista de artículos que todo programador debería leer. Al leer artículos como Lo que todo programador o desarrollador debe saber, profundizará su conocimiento sobre un tema específico. Honestamente, hay demasiadas cosas que los programadores deben aprender, y aprender un lenguaje de programación como Java es solo la punta del iceberg, pero a la mayoría de nosotros no nos apasiona aprender. La programación es un trabajo que requiere un desarrollo constante, y las únicas cosas que serán útiles para cualquier programador a lo largo de su carrera son conocimientos fundamentales de cosas como memoria , Unicode , números de coma flotante , tiempo , seguridad . Algunas cosas son específicas del lenguaje, como mi publicación sobre String en Java y Lo que todo programador de C debe saber sobre el comportamiento indefinido, pero es bueno aprenderlas para muchos principiantes y desarrolladores.
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION