>백엔드 개발 >PHP 튜토리얼 >좋은 고급 C 프로그래머가 되는 방법

좋은 고급 C 프로그래머가 되는 방법

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB원래의
2016-07-29 09:08:02968검색

훌륭한 C 프로그래머가 되는 법
C 프로그래밍 언어는 탄생한 지 거의 30년을 거쳤습니다. 다른 언어에 비해 배우기 어려운 것은 부인할 수 없습니다. 학습의 어려움은 주로 복잡성에서 비롯됩니다. 요즘에는 C의 사용 범위가 이전보다 훨씬 작아졌습니다. Java, C#, Python과 같은 언어는 여러 측면에서 C를 대체할 수 있습니다. 하지만 게임이나 효율적인 서버 등 상대적으로 높은 운영 효율을 요구하는 산업을 중심으로 다른 언어를 전혀 대체할 수 없는 곳도 많다.
요즘에는 C보다 자바, C# 등 언어를 배우는 사람이 훨씬 많다. 주된 이유는 C의 진입 문턱이 너무 높아 아무것도 할 수 없기 때문일 수 있다. 당신의 자신감이 크게 영향을 받고 포기하게 될 것입니다. 나는 새로 온 사람들이 우회를 피할 수 있도록 돕기 위해 내 경험을 모든 사람과 공유하고 싶습니다. 여기서는 구체적인 기술적 세부 사항을 논의하지 않고, 우리가 배워야 할 사항만 논의할 것입니다.
1. 기술적 능력
1. 프로그래머가 되려면 많고 복잡한 것들을 배우겠지만, 언어를 배우는 것부터 시작해야 합니다. 언어를 배우는 데 있어서 가장 중요한 것은 학교 교과서조차 잘 쓰여 있지 않은 책을 선택하는 것입니다. . 의. "C Primer"를 적극 추천합니다. 이 책은 매우 두껍고 내용이 풍부합니다. 지식에 대한 설명은 표면에만 국한되지 않습니다. 이 책을 끈기있게 읽을 수 있다면 기본적으로 언어에 큰 문제가 없을 것이며, 향후 학습에도 좋은 기반이 마련될 것입니다.
2.GUI. MFC, WTL, wxWidgets, QT 등 다양한 종류의 C GUI 라이브러리가 있습니다. 이러한 GUI 라이브러리 각각에는 고유한 특성이 있습니다. 실제로 하나의 GUI 라이브러리에 대해 깊이 이해하고 있는 한, 필요할 때 다른 라이브러리를 배우는 것으로 충분합니다. 본질을 빠르게 완료할 수 있습니다. MFC는 설계상 많은 문제가 있지만 시작하기에는 여전히 좋으며 학습 자료도 많기 때문에 문제가 발생했을 때 쉽게 해결할 수 있습니다.
3. 데이터 구조 및 알고리즘. 많은 사람들이 데이터 구조와 알고리즘에 대한 지식을 무시합니다. 특히 일부 프로그래밍 언어 라이브러리는 매우 훌륭하여 일부 데이터 구조와 알고리즘을 스스로 구현할 필요가 거의 없습니다. 심지어 이 지식을 무시합니다. 그러나 이 지식은 프로그램이 더 빠르게 실행되고 메모리를 덜 차지하기를 원할 때 매우 중요합니다. 많은 프로그래머들이 처음 시작할 때는 이러한 것에 주의를 기울이지 않지만, 몇 년 동안 일한 후에는 이러한 지식을 배우게 됩니다.
처음에는 너무 깊게 공부할 필요는 없지만 기본적인 데이터 구조와 알고리즘은 알고 있어야 합니다.
"데이터 구조(C 언어 버전)"을 추천합니다. 데이터 구조와 알고리즘을 배울 때 객체 지향 기술에 신경 쓰지 않고 C 언어를 사용하여 구현하는 것이 가장 좋습니다. 이렇게 하면 내용에 더 집중할 수 있습니다. 알고리즘 자체의 .
4. 데이터베이스. 데이터베이스에 대한 기본 지식을 익히고 데이터베이스 사용법을 익히려면 mysql을 사용하는 것이 좋으며, 일부 캡슐화된 인터페이스를 사용하지 않는 것이 가장 좋으며, 대신 mysql에서 제공하는 데이터베이스 API를 직접 사용해야 할 수도 있습니다. 데이터베이스에 대한 더 깊은 이해.
5. 병렬. CPU의 주요 주파수는 더 이상 무어의 법칙을 따를 수 없습니다. 현재 CPU의 발전 추세는 멀티 코어입니다. 멀티스레딩이든 멀티프로세스이든 모두 CPU 성능을 더 잘 활용하고 더 나은 사용자 경험을 제공하는 것입니다. 효율적인 애플리케이션을 작성하려면 병렬 컴퓨팅이 필요합니다. 병렬 컴퓨팅에 더 많은 에너지를 투자하면 확실히 풍부한 수익을 얻을 수 있습니다.
6. 네트워크 프로그래밍. 여기서 언급되는 네트워크 프로그래밍은 소켓 프로그래밍을 의미합니다. 요즘에는 많은 C 애플리케이션이 서버 개발에 참여하고 있습니다. 높은 동시성, 큰 처리량 및 높은 안정성을 갖춘 서버를 개발하는 방법은 우리가 고려해야 할 사항입니다.
7. 디자인 패턴. 디자인 패턴은 특정 기술이 아니라 코드를 더 읽기 쉽게 만들고, 확장 가능하며, 사용하기 쉽게 만드는 방법에 관한 것입니다.
8. 도서관 이용. C 표준 라이브러리는 매우 기본적인 일부 기능만 제공하므로 일부 타사 라이브러리를 소개하는 경우가 많습니다. 가장 유명한 것은 아마도 준표준 라이브러리라고 불리는 Boost 라이브러리일 것입니다. 이는 텍스트 처리, 알고리즘, 네트워크, 멀티스레딩, 이미지 처리 등 거의 모든 것을 포함하여 프로그래밍에 사용되는 다양한 기술을 제공합니다. 네트워크 통신을 위한 ACE, XML 구문 분석을 위한 TinyXML, 그래픽 렌더링을 위한 OGRE와 같이 특정 측면을 전문으로 하는 다른 라이브러리도 있습니다.
9. 운영체제에 대한 지식. 프로그래머가 알아야 할 운영체제 지식은 일반 사용자의 지식과 다르다. 마스터는 단지 사용법 수준에 머물기보다는 운영체제의 모든 측면에 대해 깊이 있는 이해가 필요하다. 어떤 지식을 알아야 하는지는 Windows의 경우 "Windows Core 프로그래밍", Linux의 경우 "Linux 커널 심층 이해"를 참조하면 무엇을 배워야 하는지 알 수 있습니다.
2. 프로젝트 경험. 위의 내용에 능숙하다면 상대적으로 강력한 프로그래머라고 볼 수 있습니다. 하지만 프로그래머에게는 프로젝트 경험이 더 중요합니다. 좋은 프로젝트를 통해 다양한 기술을 종합적으로 적용하고 새로운 지식을 배울 수 있습니다. 예를 들어 게임을 만드는 사람은 그래픽 지식을 배워야 하고, 플레이어를 만드는 사람은 코덱 지식을 배워야 합니다.
많은 프로그래머는 프로젝트 경험을 무시하고 단순히 기술적 능력에 대해 이야기합니다. 이것은 잘못된 것입니다. 실제로 이것이 이론과 실천의 관계입니다. 기술은 이론적 지식이고, 프로젝트 수행은 실천이며, 이론은 실천에 영향을 미치며, 실천은 이론에 대한 심층적인 이해를 심화시킬 수 있습니다.
3. 의사소통 능력. 의사소통 능력은 선배 프로그래머가 갖춰야 할 소프트 스킬이다. 내가 여기서 말하고 싶은 의사소통 능력은 일반적으로 말을 잘하고, 자랑하고, 사치스럽게 말하는 것이 아니다. 기술을 바탕으로 한 프로그래머의 커뮤니케이션 능력입니다.
Brotherhood Gao Luofeng은 무료로 제자를 모집합니다: http://www.hdb.com/party/lzcw-comm.html
LAMP Brothers의 원본 PHP 비디오 튜토리얼 CD/"Elaborate PHP" 필수 버전을 무료로 받으세요. 자세한 내용은 공식 웹사이트의 고객 서비스에 문의하세요:
http://www.lampbrother.net
[Brothers IT Education] PHP, Linux, HTML5, UI, Android 및 기타 비디오 튜토리얼(코스웨어 노트 비디오)을 배워보세요!
네트워크 디스크 튜토리얼 다운로드: http://pan.baidu.com/s/1mg8ANMg

위에서는 훌륭한 시니어 C 프로그래머가 되는 방법을 그 내용과 함께 소개했습니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.