El aprendizaje de código es interminable, ¿cómo planifican los programadores su desarrollo profesional?

temas de mesa redonda


  • Tema 1: Dado que el código abierto se ha incluido en el plan nacional desde 2020, ha habido cada vez más proyectos de código abierto. El surgimiento de proyectos de código abierto proporciona una forma para que todos aprendan y comprendan profundamente el proyecto de actualización. Desde una perspectiva de aprendizaje, ¿cómo se involucra un desarrollador en un proyecto y aprende sobre un proyecto?
  • Tema 2: La dirección principal del proyecto de código abierto CloudWeGo es el marco de microservicio nativo de la nube ¿Cuáles son los principales escenarios de uso de dichos proyectos? ¿Cuál es el valor de aprender este tipo de proyecto? ¿Cuál es la experiencia de la comunidad mixta?
  • Tema 3: ¿Cuál es la diferencia entre los roles de los programadores como usuarios de proyectos y los roles de los desarrolladores como diseñadores de proyectos de código abierto ? Como Committer de la comunidad que ha pasado por este tipo de transición de funciones, ¿qué lecciones puede compartir?
  • Tema 4: Desde la perspectiva de la comunidad y la situación general, hable sobre por qué las principales fábricas están contratando ingenieros de Go. ¿Cómo deben planificar los programadores el desarrollo de su carrera? ¿Dónde está el destino final de los programadores?
  • Tema 5: En la sesión de intercambio de los grandes, blogueros/sitios web de aprendizaje tecnológico/libros recomendados por los grandes.

invitado


número uno


Dado que el código abierto se ha incluido en la planificación nacional desde 2020, ha habido cada vez más proyectos de código abierto. El surgimiento de proyectos de código abierto proporciona una forma para que todos aprendan y comprendan profundamente el proyecto de actualización. Desde una perspectiva de aprendizaje, ¿cómo se involucra un desarrollador en un proyecto y aprende sobre un proyecto?

Compartido por: Wang Weichao


La introducción sobre este tema se realiza principalmente desde los siguientes cuatro aspectos:
  1. Cómo conectarse con las comunidades de Kitex y CloudWeGo;
  1. Conocimiento personal sobre la cultura nativa de la nube y de código abierto;
  1. ¿Por qué participar en el código abierto y el espíritu del código abierto tal como lo entiendo?
  1. Pensamientos personales futuros sobre el código abierto.

Cómo conectarse con las comunidades de Kitex y CloudWeGo

De hecho, la relación con Kitex es muy casual, aunque he hecho back-end durante varios años, siento que todavía hay algunos cuellos de botella en la tecnología, por lo que quiero mejorar. Mirando hacia atrás en mi experiencia pasada:
  • En septiembre de 2021, intentaré hacer una salida en InfoQ, y el desafío se actualizará ese día y habrá más traducción;
  • A fines de octubre, decidí aprender una tecnología específica y descubrí que antes había aprendido más sobre "Tao" y "Fa", principalmente sobre el conocimiento y la comprensión de los conceptos de programación, y rara vez sobre "habilidades" y "herramientas". ";
  • Con reminiscencias de las palabras de Confucio: "Pruebo que no como en todo el día, no duermo en toda la noche, pensar es inútil, es mejor aprender", es decir, pensar al nivel de pensar y estructura antes, es mejor aprender algunas técnicas específicas. Por lo tanto, decidí buscar otro tema y comenzar con los aspectos que me interesan, pero los temas de Docker, nube nativa, diseño de arquitectura y pensamiento de microservicio son muy candentes y muy competitivos, y puede ser difícil comenzar y hacer mi poseer cosas por un tiempo;
  • Recordé que Kitex, que solo era de código abierto, y algunas colecciones de middleware relacionadas en el proyecto CloudWeGo que solo era de código abierto deberían tener menos información y prácticas, así que comencé la serie "CloudWeGo Microservice Practice" e hice una pequeña colección, pero No lo escribí completamente, solo escribí sobre datos operativos, no una práctica comercial completa.
Para mí, personalmente, aprender sobre marcos de microservicios es una excelente manera de comenzar y, lo que es más importante, de poder participar en la comunidad. En el proceso de aprender sobre el marco, a menudo aprendo sobre las tendencias relevantes en el grupo CloudWeGo Feishu, observo las relaciones públicas o los problemas relacionados con CloudWeGo, presto atención a algunos de los últimos desarrollos y veo qué puedo hacer yo mismo. Más tarde, principalmente hice algunas contribuciones al descubrimiento de servicios de Kitex, componentes relacionados con el registro de servicios, pruebas unitarias, etc.

Comprensión personal de la cultura nativa de la nube y de código abierto

Entonces, ¿cómo entendí o entré en contacto con la cultura de código abierto paso a paso?
Probablemente esto se remonta a 2018-2019. En ese momento, a menudo participaba en algunas cumbres tecnológicas, Meetup y otras actividades en Shenzhen. El ambiente tecnológico de esta ciudad sigue siendo relativamente bueno. En ese momento, era obvio que la virtualización K8S nativa de la nube y basada en contenedores debía ser una tendencia técnica.En ese momento, debido a mi interés en Docker, presté más atención a estos campos técnicos relacionados con K8S.
Finalmente, por casualidad, supe que Linux Foundation, Linux Open Source Foundation, tendrá algunas certificaciones técnicas. En ese momento, quería aprovechar esta oportunidad para aprender algunas tecnologías específicas a propósito. Por ejemplo, lanzaron CKA y CKS, por lo que también es una especie de canal de aprendizaje.
No solo eso, sino que a menudo presto atención a algunos proyectos de código abierto lanzados por la fundación. En ese momento, cuando estaba aprendiendo K8S, busqué documentos relacionados con K8S y mencioné algunas relaciones públicas para sus documentos. Esta es mi primera exposición al código abierto.

Por qué involucrarse en código abierto y el espíritu de código abierto entiendo

  • Más información sobre grandes proyectos de código abierto
Evita ser la rana en el pozo, sal y mira lo que hacen los demás. Por ejemplo: codificación excelente, especificaciones de código, patrones de diseño, ideas arquitectónicas, etc., busque ejemplos más positivos y mejores prácticas, y amplíe los horizontes técnicos.
  • El mundo del código abierto es un mundo inclusivo y abierto.
Puedes descubrir, trabajar y aprender de más y mejores personas en el mundo en Github. Comprender sus ideas técnicas, formas de pensar y planificación de carrera también lo inspirará.
  • La co-construcción, comenzando poco a poco, integrándose en la comunidad trae un sentido de logro
El código abierto a menudo usa el amor para generar electricidad. El primer paso en el código abierto es abrir el código, y luego, a menudo, la comunidad lo impulsa para impulsar la iteración y la evolución. La esencia y el significado del código abierto es el alto nivel de fuego. que todos se juntan. Los fragmentos que contribuimos a la comunidad pueden ayudar a muchos usuarios a resolver problemas en el futuro. Esta es la encarnación de la vitalidad de los proyectos de código abierto y la fuente de nuestro sentido de logro.

Pensamientos personales futuros sobre el código abierto

Si es posible, me gustaría utilizar el código abierto como carrera en el futuro. Las razones principales son las siguientes:
  • sueño
Había un sueño de poder trabajar de forma remota, contribuir con el código de un producto de código abierto o trabajar en una fundación.
  • predicador
Puedes tratar con personas y cosas que te gustan sin pensar demasiado en la comercialización y la introversión.
  • Plan futuro
Es posible que la idea actual no se logre de la noche a la mañana, pero al menos ha encontrado un punto de entrada en CloudWeGo, con la esperanza de contribuir mejor a la comunidad. Desde la perspectiva de la serie de diseños dinámicos y estratégicos de ByteDance, CloudWeGo definitivamente podrá realizar proyectos de código abierto más influyentes en el campo de los microservicios Go en el futuro.
Por último, me gustaría compartir con un entusiasta del código abierto, creo que es una persona muy representativa y geek. Su nombre es Su Yeqin. Es pediatra en Yunnan, pero en realidad es un jugador de Linux en su tiempo libre. Si está interesado, puede obtener más información.
Finalmente, ¡espero que todos puedan divertirse en el mundo del código!

Compartido por: Yang Wen


Respecto a este tema, partiendo de mi experiencia real, lo compartiré desde dos aspectos:
  1. el ángulo de hacerlo usted mismo;
  1. La perspectiva de participar en el proyecto.

hazlo tu mismo ángulo

Hacer código abierto usted mismo en realidad no es muy duro, como un Repo como Go Night Reading.
Go Night Reading actualmente tiene 1W+ estrellas en Github. De hecho, la cantidad de estrellas en sí no representa nada. Representa más una experiencia. Desde este punto de vista, creo que la referencia de la cantidad de estrellas nos ayuda a comprender el código abierto. ., o más bien es la retroalimentación que trae el código abierto.
  • Aclarar la importancia de la operación de proyectos de código abierto.
Ya sea un proyecto muy duro o un componente básico, o algún contenido que pueda resolver problemas prácticos y ayudar a todos a aprender y crecer, tenemos que pensar si esto es útil y cómo hacerlo. participación Un modelo de código abierto. Si está tratando de ganar estrellas, eso podría ser contraproducente. De hecho, en mi opinión, debe operarlo como un proyecto de código abierto. Lo que puede aprender de esto o comprender el espíritu del código abierto y algunos comentarios positivos que brinda el código abierto es en realidad bastante. No necesita para prestar atención a la cantidad de estrellas.
  • Proceso de necesidades de desarrollo del proyecto
  1. Al principio, el desarrollo de un proyecto de código abierto puede ser iniciado por una o dos personas. En este proceso, puede presentar a algunas personas que estén interesadas en este aspecto, o ayudar a otros a través de su proyecto, y luego atraer a otros para que participen y luego expandir gradualmente la escala del proyecto. No importa qué tipo de proyecto, este es realmente el proceso. Incluso aquellos proyectos que son relativamente maduros y de gran escala en esta etapa, como Go Night Reading, TiDB de PingCAP y algunos otros Go Repo, en realidad se realizan de esta manera.
Lo primero es hacerlo, a un nivel que creas que no está mal, y luego promocionarlo en tu círculo de amigos o comunidad. Por ejemplo, CloudWeGo en realidad resolvió algunos de los requisitos de la escena al resolver el problema y luego abrirlo y luego desarrollarlo de manera constante paso a paso. Un evento como el nuestro hoy en realidad está ayudando a las personas de la comunidad. Si el proyecto en sí es valioso y dinámico, ya sea que sea un líder de equipo o un participante, siempre que se una a él, puede aprender mucho.
Lo anterior es comenzar desde su propio punto de vista, encontrar un proyecto en el que desee invertir o un problema de punto crítico que deba resolverse para usted, y luego continuar iterando. El oro siempre brilla, y el proyecto también, mientras el proyecto sea realmente valioso, siempre será notado por más personas.

Participación en la perspectiva del proyecto

Otra perspectiva es participar en algunos proyectos, pero debes hacer una elección antes de participar en el proyecto.Los criterios de selección pueden referirse a los siguientes tres aspectos:
  • puede resolver su problema. Este es el criterio o criterio para juzgar cómo eliges el proyecto y participas en el proyecto.
  • Determinar el lenguaje de desarrollo. Elegir un lenguaje de desarrollo con una cobertura relativamente amplia, ya sea de construcción de proyectos o de operación de código abierto, será más sistemático y estandarizado para evitar pisar pozos.
  • El propósito de participar en proyectos de código abierto. Considere la influencia de los proyectos de código abierto, si puede aprender y ganar algo y generar algo de su propio valor para el proyecto.
En cuanto a mi experiencia, se recomienda elegir un proyecto de código abierto más completo e influyente. En 2018, participé en TiDB y obtuve Colaborador Activo. Aunque la dimensión de mi participación en la codificación real no es muy profunda, se trata más de participación. Se debe invertir en muchas cosas para continuar generando y produciendo su valor y, al mismo tiempo, continuar absorbiendo los comentarios de la comunidad hacia usted.
En resumen, elija lo que sea adecuado para usted en este momento e identifique qué tipo de persona quiere ser, qué tipo de rol quiere asumir y luego encuentre algunos proyectos que lo ayuden a alcanzar sus objetivos en consecuencia. De hecho, la participación en proyectos de código abierto también debe hacerse de acuerdo con la capacidad de uno, elegir un campo que sea realmente adecuado para uno mismo e interés, y luego continuar cultivándose en este campo técnico. Solo a través de una inversión técnica a largo plazo podemos realmente tener algunos productos y resultados relativamente buenos en este campo, para aprender realmente el núcleo y mejorar.

Compartido por: Li Long


Con respecto a cómo los desarrolladores pueden participar en el código abierto, proporciono los siguientes tres métodos de referencia:
  1. Contribuir/resolver problemas de la comunidad participando en First Good Issue;
  1. A través del combate real (proyecto de combate real/comparación de rendimiento, etc.), encuentre los puntos que se pueden optimizar, resuelva y envíe comentarios a la comunidad;
  1. Lea el código fuente directamente.

Participar en la contribución de First Good Issue/resolver problemas de la comunidad

  • La comunidad en general tendrá muchos problemas pendientes y puede elegir algunos problemas simples al principio.
Originalmente hice código abierto debido al negocio de la escritura Básicamente, todos los servicios de Go dentro de Byte usarán Gorm como su ORM. Cuando me enteré de Gorm, descubrí que en realidad había muchos problemas en Gorm en ese momento, incluida una acumulación de más de 100 ahora. Así que descubrí que puedo involucrarme en el código abierto resolviendo algunos problemas de la comunidad.
Algunos problemas pueden ser errores de uso, puede intentar corregir estos errores. Al resolver problemas constantemente, me estoy familiarizando gradualmente con el marco, y hay errores simples que corregir, lo que dura aproximadamente uno o dos meses, y básicamente estoy familiarizado con este marco.
  • Las comunidades de código abierto generalmente brindan tareas para principiantes de vez en cuando, y todos pueden participar activamente.
La comunidad de CloudWeGo a menudo envía algunos primeros problemas buenos, es decir, tareas para principiantes, y usted puede participar en la comunidad realizando tareas para principiantes. Las tareas para principiantes que el Sr. Weichao y yo tomamos al principio fueron la extensión del descubrimiento de registro de servicios, algunos servicios de demostración, servicios de muestra, etc. Al escribir estos servicios de muestra, en realidad pudimos encontrar algunos problemas y luego solucionarlos.
En resumen, puede participar en código abierto enviando problemas en la comunidad o encontrando problemas usted mismo de forma activa. Por el contrario, Gorm tiene muchos problemas y los estudiantes interesados ​​pueden elegir algunos problemas simples para participar. CloudWeGo enviará regularmente algunas tareas para principiantes y todos pueden participar activamente.

Combate real (proyecto de combate/comparación de rendimiento, etc.)

  • Modifique la demostración de ejemplo en el documento para enviar comentarios a la comunidad.
Algunos desarrolladores pueden ver la demostración en el documento y pegarla para ejecutarla, pero descubren que no se puede ejecutar después de pegarla directamente o que el documento está escrito incorrectamente. En este caso, puede modificar la demostración de ejemplo en el documento para recibir comentarios. la participación de la comunidad en código abierto.
  • Realice algunas pruebas de estrés para reducir el rendimiento de diferentes marcos.
Antes, a algunos estudiantes les gusta hacer pruebas de estrés para comparar el rendimiento de diferentes marcos. Este método debe garantizar el principio de equidad y claridad tanto como sea posible, comprender el marco de antemano y descubrir los puntos que se pueden optimizar e iterar después. la prueba de estrés, para contribuir a la comunidad después de la optimización.

Lea el código fuente directamente

Por supuesto, también puede leer el código fuente directamente, pero es más difícil y doloroso para Xiaobai comenzar.
Las anteriores son tres formas de participar en el código abierto, además, en cuanto a la selección de objetos, me inclino más por estudiar los proyectos que uso habitualmente, como Kitex o Gorm, que me harán sentir mejor.

número dos


La dirección principal del proyecto de código abierto CloudWeGo es el marco de microservicio nativo de la nube.¿Cuáles son los principales escenarios de uso de tales proyectos? ¿Cuál es el valor de aprender este tipo de proyecto? ¿Cuál es la experiencia de la comunidad mixta?

Compartido por: Li Long


Escenarios de uso de CloudWeGo

Si desea elegir un marco con alto rendimiento, flexibilidad y que pueda cumplir con los requisitos de personalización internos, el marco de microservicio proporcionado por CloudWeGo será una buena opción. El proyecto de código abierto CloudWeGo tiene principalmente las siguientes características:
  • Alto rendimiento (Netpoll / Sonic / Frugal, etc.)
Por ejemplo, el propio Netpoll subyacente es una biblioteca de red de alto rendimiento; Hertz tiene una biblioteca integrada de codificación y decodificación JSON de alto rendimiento de Sonic.
  • Proporciona una gran cantidad de capacidades de expansión.
Tanto Kitex como Hertz brindan amplias capacidades de extensión. Por ejemplo, Kitex es como la extensión de limitación de corriente, la extensión Transport Pipeline-Bound, etc. Hertz en sí tiene una gran capacidad de extensión y puede cumplir con algunos requisitos de personalización más personalizados.
  • Interfaz API de usuario optimizada
Se proporcionan algunas interfaces API fáciles de usar y no son particularmente complicadas.

Conozca los puntos de valor de este tipo de proyecto

  • Diseño en capas del marco de aprendizaje/algunos mejores puntos de diseño
[Ejemplo] El diseño en capas de cuatro capas de Hertz no tiene acoplamiento entre capas y tiene una gran escalabilidad.
  • Aprenda algunos consejos de optimización del rendimiento para el marco y amplíe sus horizontes
[Ejemplo] ¿Por qué el rendimiento de Netpoll es mucho mayor que el de la biblioteca estándar en algunos escenarios?
Referencia: https://juejin.cn/video/7046282096435789835
  • Rendimiento del marco de prueba de estrés, discutir el intercambio y el aprendizaje
A muchos estudiantes de la comunidad les gusta el marco de pruebas de estrés, especialmente para Kitex y Hertz, y sus dos repositorios Benchmark. Esperamos ver estas optimizaciones técnicas de bajo nivel y discusiones relacionadas en la comunidad, independientemente de las diferencias entre los marcos Kitex y Hertz y cómo se usan. Al probar y comparar el rendimiento de marcos como Hertz, Fasthttp y Gin, puede concentrarse en su mejora y optimización del rendimiento, que es una lógica de profundidad técnica de nivel relativamente bajo.

Intercambio de experiencias comunitarias

  • Un buen caso: Contribuya a la comunidad de hermanos aprendiendo excelentes puntos de diseño y optimización del rendimiento en la comunidad.
    • [Ejemplo] Discusión de @Halst sobre el ajuste de tamaño en shardmap · Discusión n.º 306 · cloudwego/kitex , iniciar discusiones en la comunidad y aplicar lugares excelentes y de aprendizaje a otros proyectos de código abierto.
  • Un mal caso: algunas preguntas/evaluaciones vagas sobre el marco utilizado.
    • [Ejemplo] Comentario clásico: "El diseño no es muy bueno/el diseño es demasiado pesado", debe dar razones para el diseño específico donde el diseño no es bueno/demasiado pesado. Evite este caso a tiempo e intente hablar con datos.

número tres


¿Cuál es la diferencia entre el rol del programador como usuario del proyecto y el rol del desarrollador como diseñador de proyectos de código abierto ? Como Committer de la comunidad que ha pasado por este tipo de transición de funciones, ¿qué lecciones puede compartir?

Compartido por: Wang Weichao


Perspectiva del usuario del proyecto

Como usuario de un proyecto, tenga en cuenta los siguientes puntos cuando considere proyectos de código abierto:
  • Si el proyecto de código abierto se mantendrá de forma continua;
  • ¿Es rica la documentación?
  • si la comunidad es activa;
  • Si el proyecto actual está disponible y es fácil de usar, y puede resolver los problemas técnicos del equipo actual;
  • Si el lugar insatisfecho se puede ampliar.

La perspectiva del diseñador de proyectos de código abierto

Como diseñador de proyectos de código abierto, considero principalmente cómo ayudar a los usuarios a resolver sus problemas mejor o más rápido. Tomando el proyecto CloudWeGo como ejemplo, como resumen de la práctica interna de Byte, el código abierto es ayudar a más personas a resolver algunos problemas comunes, por lo que los siguientes problemas pueden considerarse más:
  • Acepte los comentarios de los usuarios a través de proyectos de mantenimiento y qué problemas comunes no están cubiertos;
  • Desarrollar algunas características nuevas;
  • Si el mantenimiento del error es oportuno;
  • ¿Puedes ayudar a los usuarios a resolver sus problemas más rápido?
  • Mantenimiento y enriquecimiento continuo de documentos, ordenación de casos de negocio.

número cuatro


Desde una perspectiva comunitaria y una perspectiva global, hable sobre por qué las grandes fábricas están contratando ingenieros de Go. ¿Cómo deben planificar los programadores el desarrollo de su carrera? ¿Dónde está el destino final de los programadores?

Compartido por: Yang Wen


¿Por qué las grandes fábricas contratan ingenieros de Go ?

  • La evolución del lenguaje Go
Creo que la razón importante para el desarrollo de Go es el desarrollo de la dirección nativa de la nube, el campo de la contenedorización de Docker, K8S que incluye toda la ecología de Grpc conectada en serie, lo que ha llevado o desencadenado el desarrollo de algunos componentes básicos. Junto con la aplicación de la nube nativa y K8S en varios fabricantes, ha provocado que todos realicen una gran cantidad de infraestructura, control de flujo, servicios de seguimiento de enlaces distribuidos y el código abierto de muchos componentes básicos en el futuro han elegido el lenguaje Go.
  • Características del lenguaje Go
Según las características del lenguaje de Go, hacer estas cosas es relativamente bueno. El lenguaje Go en sí mismo es simple y de alto rendimiento, con bajos costos de cambio y pocas barreras de entrada. En términos de base del lenguaje, el lenguaje C básicamente puede lograr una conexión perfecta. Si es un lenguaje de secuencias de comandos, puede ser relativamente necesario cambiar la forma de pensar, pero el rendimiento de go es mejor y la conversión de PHP a Go puede resolver un gran problema de rendimiento. Además, Go es rápido para comenzar y la documentación oficial ejecuta la demostración muy rápidamente, por lo que si desea aprender, no se preocupe, será difícil comenzar.
  • Escenarios de aplicación de grandes fábricas
De hecho, las grandes fábricas tendrán un escenario de aplicación real y la necesidad de resolver problemas. El lenguaje Go puede comenzar rápidamente y completar negocios relacionados, y su alta velocidad y buen rendimiento también satisfacen sus necesidades comerciales. Desde la perspectiva de la infraestructura, en el pasado, las grandes fábricas podían usar C, C++ o JAVA para construir el enlace completo. Un conjunto afectaría la eficiencia. En comparación, la implementación de Go será más rápida y eficiente.

¿ Desarrollo de la carrera del programador y destino final?

Tengo un punto: el lenguaje es solo una herramienta para resolver problemas.
Aquí hay algunas cosas a considerar cuando se trata de desarrollo de carrera personal y trayectorias profesionales:
  • ¿Eres bueno en el lenguaje y quieres esforzarte en la profundidad técnica?
  • En combinación con su negocio, ¿quiere mejorar sus capacidades comerciales, las cualidades blandas personales relacionadas y las capacidades de gestión?
  • ¿Usar la tecnología para resolver problemas comerciales y aportar valor comercial?
Desde un punto de vista personal, si desea observar el desarrollo profesional, es posible que no solo mire su pila de tecnología o sus puntos técnicos, sino también en lo que es bueno y en su período de tiempo previsible, sus fortalezas y en el dirección que desea desarrollar, combínelo con su trabajo actual y aclare sus necesidades.
La dimensión de valor que trae Go es solo una herramienta de lenguaje que puede ayudarlo a alcanzar el umbral o ayudarlo a resolver problemas. El desarrollo de la carrera personal depende principalmente de su puesto y valor actuales. Si Go se usa para negocios o para infraestructura y contenido de bajo nivel depende de su propio campo o necesidades laborales. Es solo una herramienta de lenguaje que puede satisfacer sus necesidades de desarrollo profesional.
Además, actualmente entiendo que el trabajo de los ingenieros de go aún está más orientado a los negocios, o las funciones del producto son más, y hay relativamente pocas en la infraestructura o en la parte inferior. Las grandes fábricas también deberían tener más negocios o productos, pero la demanda de otros aspectos como la infraestructura puede aumentar gradualmente.
Las aplicaciones Aftership Go están principalmente en el lado comercial, y algunas de ellas tendrán una cierta relación con la nube nativa o la infraestructura, pero no han cubierto una amplia gama, o tienen un departamento de arquitectura especial como Byte para hacer la construcción de la infraestructura del Go. ecosistema. Todavía no, dependiendo de la etapa de desarrollo de la empresa, aún puede ser necesario y desarrollado para hacer esto.

Número 5


En la sesión de intercambio de los grandes, los blogueros/sitios web de aprendizaje tecnológico/libros recomendados por los grandes.

Compartido por: Li Long


Razón recomendada:
  • Diseño de aplicaciones intensivas en datos
Es un libro particularmente clásico, que cubrirá algunos problemas encontrados en todos los aspectos del proceso de desarrollo, y es relativamente completo.
  • "Autocultivo del programador: vinculación, carga y bibliotecas"
El contenido estará relacionado con un nivel relativamente bajo, principalmente incluyendo enlaces, carga, compilación, etc.
  • Libro de trabajo de SRE de Google
No solo hay que vigilar la SRE, sino también la I+D.
  • "Patrones de diseño de arquitectura de microservicios"
Algunos de los problemas que encuentra al desarrollar microservicios, obtendrá algunas soluciones aquí para su referencia.

Compartido por: Yang Wen


Razón recomendada:
  • "Mini hábitos"
Está más sesgado hacia los individuos, partiendo de las dimensiones de la mente y el pensamiento personal del desarrollo de micro hábitos. La idea de los mini hábitos es imaginar una dimensión muy pequeña que puedes lograr pase lo que pase, sin la carga. El concepto que quiero expresar en el libro es que muchas veces hacer cosas se trata principalmente de acción. ¿Por qué los hábitos son tan difíciles de formar? Lo principal es que pensará que es una carga, que afecta su trabajo y su vida normal, interrumpiendo su ritmo, por lo que no puede hacerlo. Así que empieza poco a poco. Tómese un período de tiempo y use una pequeña acción para contenerse y gradualmente formar un hábito y finalmente realizar su sueño o alcanzar su meta.
  • "Nueva década hervida"
La razón por la que se recomienda este libro es que hay muchos amigos que se acaban de graduar, aunque conocen Internet móvil, puede haber muchas cosas que no saben muy bien, o no saben mucho sobre los diez. año (2010-2020) desarrollo de Internet. En los últimos diez años, ¿qué tipo de empresas o aplicaciones ha habido? ¿Cuáles son algunas aplicaciones móviles y cómo evolucionaron? ¿Qué problemas y cambios encontraste en este proceso? Este libro lo explicará con más detalle.
  • Leyendas de Salesforce
Este libro está relacionado con ToB SaaS en mi industria actual. Salesforce es líder, o más bien pionero, en la industria de SaaS de venta. Este libro es una introducción a todo el proceso de Salesforce desde su inicio hasta su desarrollo y crecimiento graduales.Es una historia de crecimiento de Salesforce. Este libro tiene un gran papel de guía para la industria de SaaS. Cómo llegar paso a paso a qué etapa, qué método se puede adoptar o por qué etapa pasará, todavía debe haber mucha comprensión de SaaS en esta industria. útil.

Compartido por: Wang Weichao


  • lista de libros
La recomendación de mi lista de libros es en realidad más inclinada al nivel de "Tao". "Tao" significa que muchos de estos libros son algo de arquitectura o codificación y pensamiento de programación. Hay un poco de explicación orientada a objetos en "El futuro del código" por el padre de Ruby Matsumoto Yukihiro que me impresionó mucho. El libro explica por qué nuestra codificación y programación actual debe hacerse de una orientación a procesos a una orientación a objetos. ¿Cuáles son sus beneficios? ¿Cuál es el fondo? Puedes echarle un vistazo si te interesa.
  • Blog
Programación orientada a la fe, Geek Tutu, estos dos son blogs más típicos. Uno es para la capa inferior del diseño orientado a Go y el otro es para la implementación de algunos marcos y middleware para la codificación de Go. La lectura nocturna de Go es más completa, si desea obtener información sobre la pila de tecnología de Go, puede aprender sobre ella.
  • habilidad blanda
Este es en realidad un gran tema. En términos de habilidades blandas en el lugar de trabajo, como el desarrollo ágil, muchas empresas las están proponiendo ahora. Como desarrolladores, también podemos aprender sobre el estándar o la mejor práctica, cómo se debe hacer el desarrollo ágil. También hay comunicación y retroalimentación, cada uno tiene su propio éxito y todo tiene un eco, estas habilidades de comunicación también necesitan la atención de todos.

Preguntas y respuestas

P: ¿Qué tal la evolución de parte de la arquitectura general del lenguaje Go? ¿Principalmente para apoyar qué?
R: Es principalmente para problemas de rendimiento y apoya el desarrollo de algunos negocios. Para algunos escenarios dentro de ByteDance, el ajuste del marco es principalmente para la optimización del rendimiento. Por ejemplo, para el marco, la pérdida total de transmisión es un costo real sobre la base de la acumulación a gran escala, por lo que algunas pérdidas en nuestro costo pueden reducirse optimizando el rendimiento. Por ello, ByteDance, incluido CloudWeGo, ha seguido avanzando en el campo del rendimiento para alcanzar el estado óptimo. Al mismo tiempo, espero prestar más atención a este aspecto de la tecnología y espero que se puedan obtener algunos marcos de rendimiento extremo aquí, incluidos algunos estudiantes que experimentan un rendimiento extremo, que continúen prestando atención a nuestros proyectos.
 
P: ¿Cuáles son las necesidades y requisitos de los grandes fabricantes para los ingenieros de Go?
R: El lado comercial actual de la contratación de ingenieros Go de Dachang será más. Otra parte es hacer el contenido de la infraestructura, principalmente para el marco básico, y ajustar su rendimiento en general. El lenguaje involucrado en esta parte será más duro, y no solo puede usar Go, sino también estar muy familiarizado con el núcleo de Go, incluida la ecología del lenguaje y la lógica subyacente, y luego optimizar el rendimiento de los marcos relacionados en él. .
Combinado con el status quo de la nube nativa, actualmente se encuentra en un estado de desarrollo en la industria. Muchas empresas se encuentran en la etapa de transformación de la nube, y este proceso lleva una cierta cantidad de tiempo y es posible que no se pueda migrar en lugar a la vez. En este estado, se involucrará una gran cantidad de operaciones y lógica de fondo, por lo que el ajuste y la evolución de la arquitectura también pueden ser una dirección de carrera para el desarrollo posterior de los ingenieros de Go. De acuerdo con la etapa de desarrollo de las diferentes empresas, después de que se desarrollen más empresas en el futuro, pueden aumentar la demanda de construcción de infraestructura, promover y mantener su propia infraestructura y, por lo tanto, la demanda de ingenieros de idiomas Go también aumentará en consecuencia.

Más información

{{o.nombre}}
{{m.nombre}}

Supongo que te gusta

Origin my.oschina.net/u/4843764/blog/5567708
Recomendado
Clasificación