정보기술의 업데이트 속도는 놀랍다. 프로그래머의 경력은 끊임없는 학습이 필요한 과정이며, 그들은 영원히 고집을 부릴 수 없다. 일하는 동안, 나는 많은 프로그래머들이 여가 시간만 있으면 인터넷을 통해 쓸데없는 웹 페이지를 탐색하고, 채팅하고, 게임을 하는 것을 보았는데, 많은 시간을 낭비하는 것은 매우 바람직하지 않다. 한편, IT 기술이 급속히 발전하면서 많은 프로그래머들이 눈부셔서 모든 것을 배우고 싶었지만 어디서부터 시작해야 할지 몰랐습니다. 오늘 이것 좀 봐, 내일 그거 배워.
IT 기술은 빠르게 발전하고 있지만, 많은 기술들은 규칙적으로 따라야 하며, 몇 가지 기본 개념, 원리, 방법은 여전히 매우 보편적이어서 역삼 을 들 수 있다. 제 경험과 경험에 따르면, 저는 방금 IT 업계에 발을 들여놓거나 곤혹스러운 새로운 프로그래머들에게 프로그래머가 반드시 장악해야 할 7 가지 무기를 추천합니다. (데이비드 아셀, Northern Exposure (미국 TV 드라마), 예술명언) 이 7 개의 무기로, 나는 감히 오만강호라고 말할 수는 없지만, 나는 여전히 무적이 될 수 있다. (윌리엄 셰익스피어, 햄릿, 전쟁명언)
첫 번째 무기: 개발 도구
적어도 두세 가지 개발 도구를 장악하는 것은 프로그래머의 기초이다. 여기서 C/C 와 JAVA 는 내가 추천하는 개발 도구이다. C/C 는 효율성과 유연성으로 개발 도구의 무기가 되었습니다. 많은 시스템 수준 소프트웨어는 여전히 C/C 로 작성되었습니다. JAVA 의 크로스 플랫폼 및 웹과의 좋은 결합이 장점입니다. 저는 SUN 의' 네트워크는 컴퓨터다' 라는 개념에 매우 감사하며 JAVA 및 관련 기술집인 JAVAOne 이 미래의 주류 개발 도구 중 하나가 될 것이라고 믿습니다. 둘째, VB, Delphi, CBuilder 등과 같은 간단한 시각화 개발 도구를 익히는 것이 좋습니다. 이렇게 하면 개발의 어려움을 줄이고 프로그래머의 객체 모델 개념을 강화할 수 있습니다. 또한 셸, shell 등과 같은 기본적인 스크립팅 언어도 익혀야 합니다. , 그리고 적어도 이러한 스크립트 코드를 이해합니다.
두 번째 무기: 데이터베이스
데이터베이스가 중요한 이유는 무엇입니까? 많은 애플리케이션은 데이터베이스 데이터 중심적이며 관계형 데이터베이스가 여전히 주류인 많은 데이터베이스 제품을 보유하고 있으므로 프로그래머는 하나 또는 두 개의 데이터베이스를 파악하고 관계형 데이터베이스의 핵심 요소를 잘 알고 있어야 하며 SQL 의 기본 구문에 익숙해야 합니다. (윌리엄 셰익스피어, 데이터베이스, 데이터베이스, 데이터베이스, 데이터베이스, 데이터베이스, 데이터베이스, 데이터베이스, 데이터베이스, 데이터베이스, 데이터베이스, 데이터베이스, 데이터베이스) 많은 데이터베이스 제품이 시각화 데이터베이스 관리 도구를 제공하지만 SQL 은 기본이며 일반적으로 사용되는 데이터베이스 조작 방법입니다. 상용 데이터베이스 시스템에 액세스할 수 없는 경우 무료 데이터베이스 제품을 사용하는 것이 좋습니다 (예: mySQL, Postgres).
세 번째 무기: 운영 체제
현재 주요 운영 체제는 Windows, Linux/Unix 입니다. 이러한 운영 체제를 능숙하게 사용하는 것은 필요하지만, 그것으로는 충분하지 않다. 진정한 프로그래밍 마스터가 되려면 운영 체제, 메모리 관리 메커니즘, 프로세스/스레드 스케줄링, 신호, 커널 객체, 시스템 호출, 스택 구현 등을 이해해야 합니다. 소스 코드를 개발하는 운영 체제인 Linux 는 좋은 학습 플랫폼입니다. Linux 는 현대 운영 체제의 거의 모든 특징을 가지고 있습니다. Windows 시스템의 커널 구현 메커니즘에 대한 정보는 거의 없지만 인터넷을 통해 많은 정보를 얻을 수 있습니다. 운영 체제에 대해 어느 정도 알게 된 후에야, 너는 자신이 또 새로운 계단을 오르는 것을 발견할 수 있을 것이다. (존 F. 케네디, 운영 체제, 운영 체제, 운영 체제, 운영 체제, 운영 체제, 운영 체제)
네 번째 무기: 네트워크 프로토콜 TCP/IP.
인터넷이 보급된 오늘날, TCP/IP 스택을 아직 파악하지 못했다면, 이 수업을 빨리 보충해야 한다. 네트워크 기술은 가장 오래된 클라이언트/서버 구조에서 오늘날의 웹 서비스, 미래의 그리드 컴퓨팅에 이르기까지 소프트웨어의 운영 방식을 변화시켰습니다. 이 모든 것은 TCP/IP 스택 기반 네트워크 프로토콜 지원과 불가분의 관계에 있습니다. 따라서 TCP/IP 프로토콜에 대한 심층적인 이해가 필요합니다. 적어도 ISO 7 계층 프로토콜 모델, IP/UDP/TCP/HTTP 등 일반적으로 사용되는 프로토콜의 원리, 그리고 세 번의 핸드쉐이킹 메커니즘을 알아야 합니다.
다섯 번째 무기: DCOM/CORBA/XML/WEBServices.
기술이 발전함에 따라 소프트웨어와 네트워크의 원활한 결합은 필연적인 추세이며, 소프트웨어 시스템의 위치 독립성은 미래 컴퓨팅 모델의 중요한 특징 중 하나입니다. DCOM/CORBA 는 두 가지 주요 분산 컴퓨팅 미들웨어 플랫폼이며, DCOM 은 Microsoft COM (구성 요소 개체 모델) 의 확장이며, CORBA 는 OMG 지원 사양입니다. 프로그래머가 해야 할 일은 상용 개발 플랫폼을 사용하여 소프트웨어를 개발하는 것뿐만 아니라 이러한 기술의 원래 의도, 즉 왜 이 기술이 필요한지 이해해야 한다. 만약 당신이 이것을 이해할 수 있다면, 당신은 전문가처럼 이러한 기술의 구체적인 실현을 되돌아볼 수 있습니다. XML/웹 서비스의 중요성은 자명합니다. XML 은 구조적 표현과 뛰어난 표현력으로 인터넷에서' 에스페란토' 라고 불리며 분산 컴퓨팅의 초석 중 하나입니다.
여섯 번째 무기: 소프트웨어 엔지니어링 및 CMM
현대 대형 소프트웨어 시스템의 개발에서, 엔지니어링 개발 통제는 개인의 영웅주의를 대체하고 소프트웨어 시스템의 성공을 보증한다. 프로그래머가 반드시 우수한 프로그래머는 아니다. 우수한 프로그래머는 우수한 프로그래밍 능력과 개발 기술과 엄격한 소프트웨어 엔지니어링 사상을 유기적으로 결합한다. 프로그래밍은 소프트웨어 라이프 사이클의 일부일뿐입니다. 우수한 프로그래머는 시장 분석, 타당성 분석, 수요 분석, 구조 설계, 상세 설계 등 소프트웨어 개발의 모든 단계에서 기본적인 기술을 습득해야 합니다. 한 마디로 나의 견해를 요약할 수 있다:' 창의력이 무한하고 과정이 보장된다'.
일곱 번째 무기: 강한 호기심
프로그래머의 궁극적인 무기는 무엇입니까? 그것은 강한 호기심과 학습 정신이다. 강한 호기심과 학습정신보다 더 좋은 무기는 없다. 프로그래머가 영원히 정상에 오르는 원천이자 동력이다.