Cómo aprender a ser programador por ti mismo
Actualmente existen infinidad de recursos informáticos en Internet. Muchos son tutoriales en vídeo, desde básicos hasta competentes. Explicado vía vídeo. Permitirle comprender conocimientos clave. Puede encontrar un conjunto de vídeos que se adapten a sus necesidades. Entonces leerlo es básico.
Los siguientes son algunos buenos sitios web para el aprendizaje en línea: Massive Open Online Courses, Geek Academy, Rupeng.com, Chuanzhi Podcast, NetEase Open Courses, etc. Tomar apuntes. Mientras mira el video, asegúrese de tomar notas.
Captura de pantalla las partes clave del vídeo y explícalo con texto. Formé mis propias notas. Estas notas son importantes para usted. Al tomar notas, no es necesario volver a ver el vídeo. Simplemente revise sus notas al revisarlas, lo que ahorra mucho tiempo.
Aquí tienes un buen software para tomar notas: CherryTree practica el código explicado en el vídeo. Creo que debes escribirlo tú mismo al menos tres veces. Al escribir código, utilicé las notas escritas anteriormente. Al mirar las capturas de pantalla de las notas, puede explorar y escribir el código lentamente usted mismo. Por supuesto, si practicas hasta cierto nivel, debes realizar un proyecto de manera adecuada. Consolida tus conocimientos.
Habilidades básicas de los programadores
1. Competente en herramientas de desarrollo
Como programador, dominar al menos dos o tres herramientas de desarrollo es la base de un programador. , entre las cuales C/C y JAVA son las herramientas de desarrollo más recomendadas. C/C se ha convertido en una herramienta poderosa entre las herramientas de desarrollo debido a su alta eficiencia y alta flexibilidad. Muchos software a nivel de sistema todavía están escritos en C/C.
La naturaleza multiplataforma de JAVA y su buena integración con WEB son sus ventajas, y es probable que JAVA, con su conjunto de tecnologías relacionadas JAVAOne, se convierta en una de las principales herramientas de desarrollo en el futuro.
En segundo lugar, es mejor dominar una herramienta de desarrollo visual simple, como VB, Delphi y CBuilder, que reduce la dificultad del desarrollo y fortalece los conceptos de modelo de objetos de los programadores. Además, también es necesario dominar los lenguajes de programación básicos, como Shell, Perl, etc. y al menos comprender el código del script.
2. Familiarizado con la base de datos
¿Por qué es tan importante la base de datos? Como programador, naturalmente tiene sus propias razones: muchas aplicaciones se centran en datos de bases de datos y hay muchos productos de bases de datos. Entre ellos, las bases de datos relacionales siguen siendo la forma principal, por lo que los programadores deben dominar al menos una o dos bases de datos y ser muy competentes. tener claros los elementos clave de las bases de datos relacionales y dominio de la sintaxis básica de SQL.
Aunque muchos productos de bases de datos proporcionan herramientas visuales de administración de bases de datos, SQL es la base y un método de operación de bases de datos comúnmente utilizado. Si no tiene acceso a sistemas de bases de datos comerciales, utilizar productos de bases de datos gratuitos es una buena opción, como mySQL y Postgres.
3. Comprender el sistema operativo
Los principales sistemas operativos actuales incluyen Windows y Linux/Unix. El dominio del uso de estos sistemas operativos es necesario, pero no suficiente. Para convertirse en un verdadero maestro de la programación, debe comprender el sistema operativo, su mecanismo de administración de memoria, programación de procesos/hilos, señales, objetos del núcleo, llamadas al sistema, implementación de la pila de protocolos, etc.
Linux, como sistema operativo para desarrollar código fuente, es una buena plataforma de aprendizaje. Linux tiene casi todas las características de un sistema operativo moderno. Aunque hay poca información sobre el mecanismo de implementación del kernel del sistema Windows, se puede obtener mucha información a través de Internet. Comprender el protocolo de red TCP/IP.
Hoy en día, con la popularidad de Internet, si no domina la pila de protocolos TCP/IP, el protocolo de soporte de Internet, entonces necesita ponerse al día con esta lección rápidamente.
La tecnología de red ha cambiado el modo operativo del software, desde la primera estructura cliente/servidor hasta los servicios WEB actuales y la computación grid del futuro, todos son inseparables de la red basada en el protocolo TCP/IP. apoyo. Es muy necesario tener un conocimiento profundo del protocolo TCP/IP.
Al menos, es necesario comprender el modelo de protocolo ISO de siete capas, los principios de protocolos comunes como IP/UDP/TCP/HTTP y el mecanismo de protocolo de enlace de tres vías.
4. Comprender la importancia de DCOM/CORBA/XML/WEBServices.
Con el desarrollo de la tecnología, la perfecta integración del software y la red es una tendencia inevitable, y la independencia de ubicación de los sistemas de software es una de las características importantes de los futuros modelos informáticos. DCOM/CORBA es una plataforma intermedia para dos sistemas informáticos distribuidos convencionales. DCOM es una extensión de Microsoft COM (Modelo de objetos componentes) y CORBA es una especificación compatible con OMG.
La importancia de XML/WebServices es evidente. XML se llama "esperanto" en Internet debido a su representación estructurada y su capacidad súper expresiva, y es una de las piedras angulares de la informática distribuida.
5. No separar la ingeniería de software de la CMM.
En el desarrollo de sistemas de software a gran escala, el control del desarrollo de ingeniería reemplaza el heroísmo personal y se convierte en la garantía del éxito del sistema de software. Los programadores no son necesariamente buenos programadores. Un excelente programador combina orgánicamente excelentes habilidades de programación y desarrollo con un pensamiento riguroso en ingeniería de software.
La programación es sólo una parte del ciclo de vida del software. Los programadores excelentes deben dominar habilidades básicas en cada etapa del desarrollo de software, como análisis de mercado, análisis de viabilidad, análisis de requisitos, diseño estructural, diseño detallado, pruebas de software, etc.
6. Capacidad para comprender los requisitos
Los programadores deben comprender correctamente los requisitos descritos en la lista de tareas.
Aquí debe quedar claro que un programador no solo debe prestar atención a los requisitos funcionales del software, sino también a los requisitos de rendimiento del software. Debería poder evaluar correctamente el impacto y las posibles amenazas de su módulo para el proyecto general. Si un programador experto con dos o tres años de experiencia en proyectos no entiende esto, solo significa que puede que haya trabajado duro, pero no ha trabajado duro.
7. Capacidad de pensamiento modular
Como excelente programador, su pensamiento no puede limitarse a la tarea actual. Piense si el módulo que escribió puede existir independientemente del sistema actual y usarse directamente en otros sistemas u otros módulos mediante una simple encapsulación.
Hacer esto puede hacer que el código sea reutilizable, reducir el trabajo repetitivo y hacer que la estructura del sistema sea más razonable. La mejora de la capacidad de pensamiento modular es un indicador importante para mejorar el nivel técnico de un programador.