Red de conocimiento informático - Problemas con los teléfonos móviles - Guía de programación Qt versión completa

Guía de programación Qt versión completa

Hola a todos, soy Mala.

Contenido

1. Etapa de introducción a C/C

Recomendación en vídeo de aprendizaje: C Basic Basics Bilibili Little Turtle

2, Avanzado C /Desarrollo C

Recomendación de vídeo de aprendizaje: Curso gratuito en red de cursos en línea abiertos, masivos y avanzados de C.

Tercero, Desarrollo avanzado de C

Videotutorial: Programación de un gran curso en línea abierto de la Universidad China

Cuarto, Sistema operativo

Enlace del tutorial: 6.828: Ingeniería de sistemas operativos

Verbo (abreviatura de verbo) base de datosˌdatabase

Video tutorial: base de datos MySQL desde la entrada hasta el curso práctico Curso CSDN

Verbo intransitivo red informática

Enlace del tutorial: Preguntas del examen de redes informáticas Niu Ke. com

Vi esta pregunta en algún lugar recientemente. Su pregunta es la siguiente:

En 985, era un estudiante de primer año en informática y ha estado siguiendo la escuela. Aprendió el lenguaje C en el primer semestre y la orientación a objetos en el siguiente semestre. Siento que después de aprender, solo podré escribir algunos problemas matemáticos simples o sistemas de gestión simples. Ni siquiera sé qué es un entorno de configuración. Pero muchos estudiantes a mi alrededor pueden escribir juegos o sitios web con páginas ricas, o incluso trabajar en proyectos. ¿Soy muy malo? El autoestudio no tiene dirección. No sé qué son el front-end web y github, ni tampoco el front-end y el back-end. ¿Cómo mejorar las habilidades de programación mediante el autoestudio?

Hola chicos, no sé cómo responder a esta pregunta. No soy un estudiante capacitado. No sé cómo mejorarme. ¿Cómo organizar algún contenido de aprendizaje para usted? Lea más, practique más y haga más.

Al principio, aprendí principalmente a cultivar el pensamiento de programación y la capacidad práctica, y a tener un conocimiento profundo de los métodos de pensamiento orientados a procesos y a objetos, ¡lo cual es muy importante para los futuros programadores!

Así que aprender el lenguaje es más importante:

Ideas de programación orientada a objetos; encapsulación, construcción y destrucción de clases, miembros estáticos, gestión de objetos (constructor de parámetros, constructor sin parámetros, constructor de copia, constructor predeterminado) y destructor; gestión dinámica de objetos, funciones amigas, clases amigas, análisis de sobrecarga de operadores del modelo de gestión de objetos del compilador de C: gestión dinámica de objetos de clase (nuevas/eliminaciones); sobrecarga de operadores (operadores unarios, operadores binarios, dificultad en la sobrecarga de operadores, sobrecarga de operadores en el desarrollo de clases, herencia múltiple y su ambigüedad y polimorfismo (conceptos, significados, análisis de principios, casos polimórficos); funciones virtuales puras, clases abstractas (casos orientados a ideas de programación de clases abstractas, plantillas de funciones, plantillas de clases y herencia de plantillas);

Conversión de tipo C; C iostream (E/S de flujo de caracteres de E/S de archivos de E/S estándar); manejo de excepciones de C (mecanismo de excepción, tipo de excepción, variable de excepción, jerarquía de excepciones, biblioteca de excepciones estándar); Utilice algunas herramientas de desarrollo IDE: como la serie VC en plataforma Windows: VC 6.0 (anterior); Visual Studio2013, Visual Studio2015, Visual Studio2017, serie Visual Studio XCode en plataforma Mac y CodeBlock, así como Notepad, EditPlus, UE; y otros editores avanzados. Algunas configuraciones comunes del dispositivo y el uso de algunas teclas de acceso directo comunes.

Se recomiendan los dos libros siguientes en esta etapa:

"C" Este es un libro de introducción a C pequeño pero muy práctico, que enfatiza el acceso rápido y la comprensión de la programación en C. Este libro se centra en una variedad de problemas de programación cada vez más complejos y las características del lenguaje utilizado para resolverlos. Aprenderá no sólo las funciones y estructuras de C, sino también el propósito y fundamento de su diseño.

El libro "C Primer" explica de manera completa y autorizada los conceptos básicos, las técnicas y el estilo de programación C moderno de C. Es la mejor guía para principiantes en C.

Este libro le ayuda a escribir programas prácticos sin tener que dominar primero todos los detalles del idioma. Este libro también es un libro de referencia indispensable para programadores intermedios y avanzados.

En la segunda etapa de aprendizaje, es más importante. El camino avanzado del desarrollo de C es su moneda de cambio para encontrar un trabajo con un salario decente.

C STL Avanzado:

STL = Biblioteca de Plantillas Estándar, la Biblioteca de Plantillas Estándar. Esta es la mejor herramienta para mejorar la eficiencia del desarrollo. A lo largo de esta etapa de estudio, debe dominar habilidades de programación genéricas, comprender la aplicación de clases de contenedor en lenguaje C y dominar el uso de todas las clases STL.

C Patrón de diseño avanzado:

El factor más importante que determina el éxito o el fracaso de un proyecto es el diseño general del proyecto. A través de esta etapa de aprendizaje, puede dominar una parte importante de la programación orientada a objetos, que es la habilidad de modelar antes de codificar. modo singleton; modo de fábrica; modo de iteración, etc. , esto es lo que necesitas dominar.

Fundamentos de la estructura de datos de alto nivel de C;

Esta es la parte más importante de todos los lenguajes de programación y una de las bases de la composición de programas. Almacenamiento secuencial, almacenamiento encadenado, lista enlazada circular;

Lista doblemente enlazada, pila (secuencia y cadena), cola (secuencia y cadena);

Aplicación de pila, conceptos básicos de árbol y Concepto transversal, árbol binario;

Algoritmo de ordenación, algoritmo de unión, selección, inserción, rápido, Hill.

Actualmente se recomiendan los siguientes libros:

Effective C and More Effective C está escrito por Scott Meyers. Debe leerlos atentamente y comprender cada elemento con claridad. El libro está organizado en torno a 55 principios, cada uno de los cuales presenta una forma de escribir mejor código de programa C y se analiza en detalle con ejemplos especialmente diseñados.

Los dos libros "C anormal (Análisis de programación en C)" y "C más anormal" contienen 40 preguntas de programación en C para ayudarlo a perfeccionar sus habilidades y eventualmente convertirse en un excelente programador en C. Herb Sutter selecciona cuidadosamente estas preguntas y cumplen con el estándar oficial ISO/ANSI C para ayudar a los programadores a mantener un buen estilo durante los procesos de diseño, arquitectura y codificación, haciendo así que el software C escrito sea más robusto y eficiente.

"Dentro del modelo de objetos C" se centra en el mecanismo subyacente de la programación orientada a objetos C, incluida la semántica estructural, la generación, encapsulación y herencia de objetos temporales, así como funciones virtuales-virtuales y herencia virtual, para ayudarle a comprender el programa. La implementación subyacente puede escribir código más eficiente.

El autor de "El diseño y la evolución de C" es también el diseñador del lenguaje C, Bjarne Straustrup. En el libro, el autor presenta de manera integral la historia del desarrollo de C, el significado esencial y los antecedentes de diseño de varios mecanismos importantes en C, los propósitos básicos y los métodos de uso de estos mecanismos, y analiza los campos de aplicación adecuados para C y sus perspectivas de desarrollo futuro. Los detalles clave fueron ignorados y no ignorados.

Esta etapa va casi acompañada de toda la carrera posterior en el lugar de trabajo. ¡Solo existe el camino para ser más preciso en lugar de que los maestros C tengan un largo camino por recorrer!

Algunas habilidades de C que deben dominarse en esta etapa:

Desarrollo avanzado de QT en C

Dominar la arquitectura de la biblioteca de clases QT y el modelo de desarrollo de interfaz gráfica; dominar las habilidades de desarrollo de QT, el mecanismo de mensajes y el procesamiento de gráficos; dominar la programación de redes QT, el uso de UDP y TCP; dominar los métodos de procesamiento de archivos QT y la serialización de QT en diferentes plataformas de Windows, Linux, iOS y Android.

C Servidor de red Windows/Linux avanzado;

Dominar el modelo de desarrollo de la plataforma Unix/Linux; ser competente en el uso de llamadas del sistema; estar familiarizado con la gestión de memoria, los procesos y programación de subprocesos; dominar el desarrollo de interfaces MFC y la programación de redes; estar familiarizado con los modelos de desarrollo de servidores de red y dominar el uso de modelos IO síncronos/asincrónicos en la programación de redes.

C Desarrollo avanzado de bases de datos;

Domina las habilidades prácticas del lenguaje SQL. ¿Cómo utilizar la base de datos Oracle, MySQL?

Si puede dominar las habilidades enumeradas anteriormente, tiene la capacidad de resolver problemas complejos y dificultades técnicas, y puede desarrollar de forma independiente algunos módulos funcionales más complejos, entonces básicamente no habrá mucho que pueda causarle problemas en C. en este momento ¡Lo tengo!

Hay muchos cursos abiertos excelentes sobre sistemas operativos en el extranjero, como mit6.828 y Haval OS/161. Este tipo de curso le proporcionará un programa shell de mini sistema operativo, que es equivalente a un componente central, y podrá reproducir el resto libremente. Por ejemplo, puede diseñar gestión de subprocesos, sistema de archivos, etc. En comparación con simplemente leer libros en el sistema operativo, ¡este método de aprendizaje es simplemente 100 veces más eficiente!

En China se dice que la base de datos es mysql, ¡así que créeme!

En primer lugar, se resume el sistema de conocimiento de MySQL:

Conceptos básicos:

Ajustes:

Principios básicos:

Arquitectura y operación y mantenimiento:

Dos libros recomendados:

1. Este libro sobre Mysql es muy completo, desde conceptos básicos hasta consultas e inserción de nuevas tablas. Gestión de usuarios. Es muy adecuado para estudiantes sin ninguna base para aprender MySQL. En resumen, los métodos de aprendizaje de este libro son: 1. Comprender los conceptos básicos de las bases de datos en 10 minutos; 2. Encontrar bases de datos para profesionales; 3. Cotejar con el contenido anterior; También hay una gran cantidad de contenido sobre SQL en este libro, que puede leer de forma selectiva junto con el tutorial de SQL del W3C.

2. El libro "Conceptos del sistema de base de datos" es una lectura obligada para los administradores de bases de datos.

Después de leer esto y practicar el pensamiento, puedes empezar.

A continuación, para los niños que quieran aprender en profundidad:

Recomiende algunos libros (recomendados por muchos expertos) "MySQL de alto rendimiento" (tercera edición), "MySQL Technology Insider " (Cuarta edición), "Motor de almacenamiento InnoDB de MySQL Technology Insider", "Comprensión profunda de MySQL" y sitio web oficial de MySQL. Después de leer estas cosas, además de una rica experiencia, en teoría tendrás el nivel de un DBA.

¡El conocimiento de la red es muy importante después del trabajo!

Lo presentaré en tres etapas:

1. Introducción

Se recomienda leer el primer libro "Conceptos básicos de las redes informáticas" de Xie Xiren.

2. Avanzado

Luego, el segundo libro se basa en TCP/IP para explicar 1: Protocolo en detalle. En esta etapa, si desea aprovechar al máximo el papel de la red en el sistema LINUX, se requiere más pensamiento y trabajo práctico. Por lo tanto, es mejor aprender a usar LINUX y aprender LINUX juntos. Recomiendo la cocina privada LINUX de Niao Ge: conceptos básicos.

En el proceso de aprendizaje de la red, debes continuar dominando el análisis de paquetes, etc. Es perfecto para escribir algunas aplicaciones sencillas para subcontratar. Herramientas recomendadas para la captura de paquetes: TCPDUMP, entorno Windows LINUX, Wirehark en entorno Windows. En esta etapa de escritura, ya estoy en mi tercer año. .

Las habilidades principales deben ser: estar familiarizado con TCP, IP, DNS, icmp y otros protocolos, y también comprender algunos dhcp/tftp/ftp y otros protocolos. El punto es aprender a analizar un protocolo y el funcionamiento básico del sistema LINUX es similar.

3. Etapa principal

Esta etapa requiere algunas habilidades de programación, que se refiere a la programación C/C. La principal dirección de aprendizaje es la implementación del protocolo y los principios arquitectónicos del protocolo.

En términos de implementación de protocolos, estudiamos principalmente la implementación de protocolos subyacentes (refiriéndose a la capa de transporte e inferiores), todos los cuales se implementan a nivel del sistema operativo. El mejor libro de texto es TCP/IP detallado: implementación. En cuanto a la arquitectura de red, puedes estudiar el libro "Red de computadoras".

Publique los salarios y beneficios de puestos relevantes en las principales fábricas de Internet en 2020: