Red de conocimiento del abogados - Bufete de abogados - Patentes relacionadas con Kafka

Patentes relacionadas con Kafka

Creo que la exposición de muchas personas a la programación se originó en la programación en lenguaje C en la universidad, pero este curso solo le dice qué es un lenguaje de programación y no le dice cómo dominar la programación de manera competente. Por lo tanto, en vísperas de graduarse, muchas personas descubren que, aunque han aprendido C, parecen no tener idea de qué pueden hacer, qué tipo de trabajo pueden encontrar y para qué tipo de empresa pueden trabajar. Por lo tanto, este artículo hablará sobre mi comprensión del lenguaje C desde la perspectiva del lenguaje C.

Esta vez no hablaré sobre escenarios de aplicaciones complejos o las características de optimización subyacentes del lenguaje. Hablemos de lo que puedes hacer después de estudiar C en la universidad. Por supuesto, debido a la estrecha relación entre el lenguaje C y C, hablaremos de ellos juntos, y la verdad es similar.

1 Desarrollo de laboratorio

No me atrevo a decir que C sea el mejor lenguaje del mundo, pero C es básicamente un lenguaje muy popular entre los estudiantes de ingeniería. Sin mencionar las carreras de informática, muchas carreras de ingeniería, como telecomunicaciones, electricidad, comunicaciones y otras carreras, básicamente usan C para el aprendizaje normal.

Se dice que C está orientado a procesos y a objetos, tiene una excelente velocidad de ejecución y buenas capacidades de desarrollo de proyectos a gran escala. Puede dominar los laboratorios universitarios. Por supuesto, sabemos que otro lenguaje comparable a C en los laboratorios universitarios es Matlab.

Por ejemplo, cuando era estudiante de posgrado, probé Matlab con mi mano izquierda y optimicé C con mi mano derecha. Los artículos, patentes, etc. se basan en estos dos idiomas. Todavía recuerdo que en el laboratorio casi todos los algoritmos se escribían en C/C.

La mayoría de las personas que empiezan a aprender C son viejos científicos e ingenieros. No importa lo difíciles que sean de entender los punteros, no importa lo despiadadas que sean las tablas de funciones virtuales, no pueden extinguir el entusiasmo de nuestros estudiantes de ingeniería por la programación.

2 Desarrollo back-end

Pero a la hora de encontrar trabajo, este no es el caso. Se dice que está anocheciendo debido a la publicación del algoritmo, lo que ha provocado que una gran cantidad de personas acudan en masa al desarrollo de back-end.

Solo existen unos pocos lenguajes de desarrollo back-end convencionales, liderados por Java y C, seguidos por Python y Go. Como viejo programador que ha estado escribiendo durante tantos años, ¿cómo no puedo unirme a la diversión?

Entonces, después de aprender C, la primera opción es, por supuesto, entrevistarse para un puesto de desarrollo backend. Es que siempre decimos que el idioma no es lo más importante. He aprendido C y estoy buscando estudiantes de desarrollo back-end. ¿Qué es lo más importante?

De hecho, solo hay unas pocas habilidades que deben dominarse en ingeniería de desarrollo de software, y todo tipo de intercambio de experiencias y enseñanza cara a cara ya son malos. Pero esas son sólo direcciones generales, que involucran muchos conceptos y puntos técnicos, y no hay manera de enumerarlos todos aquí. En general, si desea encontrar un trabajo de desarrollo back-end adecuado a través de C, le sugiero que mejore en los siguientes aspectos:

Primero, una base sólida de programación.

Esta base sólida primero significa que está familiarizado con el lenguaje C, conoce las características del lenguaje de diferentes versiones (como la diferencia entre C11 y el nuevo C20) y está familiarizado con los mecanismos comunes del lenguaje (como como polimorfismo, tablas de funciones virtuales, plantillas, etc.) tienen su propia comprensión. ).

Aunque no importa el idioma que utilices, debes dominar al menos un idioma. ¿Cómo llegar a ser competente? Debe comprender los mecanismos subyacentes de C, la programación multiproceso y la programación multiplataforma.

Además, la alfabetización en habilidades de programación también se refleja en la comprensión de ideas algorítmicas y estructuras de datos. Después de todo, la base de los programas son los algoritmos y las estructuras de datos. Por lo tanto, es mejor dominar algunas estructuras de datos básicas, como listas vinculadas, matrices, árboles binarios, colas, etc., así como algunas ideas de algoritmos básicos, como codicioso, divide y vencerás, programación dinámica, etc. En segundo lugar, conocimientos teóricos sistemáticos.

Esta es la diferencia obvia entre clases ordinarias y clases no ordinarias. Muchos estudiantes no especializados son en realidad muy capaces en programación, pero debido a que no han recibido un aprendizaje teórico sistemático, sufrirán en el aprendizaje teórico. El desarrollo back-end implica muchas cosas, desde la red hasta el rendimiento y la arquitectura, y todas ellas requieren el apoyo de una teoría informática sistemática.

Entonces, los estudiantes que ni siquiera han leído libros sobre redes informáticas, sistemas operativos, principios de composición informática y principios de compilación necesitan comprar algunos libros rápidamente para calmarse.

El tercero es la base back-end.

Si quieres hacer desarrollo back-end, al menos debes saber qué es el back-end. Esto significa que necesita comprender algunos conocimientos básicos de ingeniería de software, arquitectura de software, patrones de diseño, etc. Al mismo tiempo, ¿cómo es posible que no comprendas la base de datos con el backend? Entonces, ¿no necesitas aprender algunas operaciones básicas de MySQL, Redis y otras bases de datos?

Por supuesto, aquí puede ser de nivel básico. Cuando realmente comienzas el desarrollo back-end, los microservicios y el middleware (aprendizaje de conceptos y tecnologías relacionados como Kafka/Zookeeper/Hadoop) deben incluirse en la agenda.

Por supuesto, para la admisión a la escuela, debido a la falta de experiencia en proyectos en línea a gran escala, los requisitos para los conceptos básicos de back-end no son demasiado altos. Depende más de la capacidad de programación y la base teórica de la computación. Pero si eres un estudiante que trabaja y quieres cambiar de carrera, los conceptos básicos de back-end seguirán siendo importantes.

En mi opinión, estos tres puntos son a los que las empresas de Internet conceden actualmente gran importancia. Puedes reflexionar sobre si tienes tales habilidades. Si no, puedes tomarte el tiempo para prepararte.

3 Desarrollo de clientes

Después de todo, C es un lenguaje muy maduro, por lo que además del desarrollo back-end, tiene muchas otras posiciones de desarrollo para elegir. Naturalmente, se trata del desarrollo del cliente.

Creo que la mayoría de los estudiantes que aprenden C han utilizado C para escribir software de escritorio. Supongo que todavía estaba usando MFC en ese momento y podía escribir una interfaz relativamente simple con solo tocar el libro de códigos.

Entonces, si no quieres hacer el backend, puedes buscar un trabajo de desarrollo de clientes en C.

Sin embargo, no es fácil para los clientes. Crear un cliente también requiere una base sólida en programación y teoría informática. Es posible que también deba estar familiarizado con los mecanismos de compilación y vinculación de Windows/C, los sistemas de tecnología de desarrollo de clientes QT, los mecanismos de mensajes de Windows y otras tecnologías.

Entonces, si estás aprendiendo C y no te importa la inexplicable cadena de discriminación laboral en la industria, también es muy bueno encontrar un trabajo en desarrollo de clientes. En comparación con el desarrollo back-end, es posible que deba volver a examinar el papel del cliente.