![[#유퀴즈온더블럭] 독학으로 시작한 프로그래밍, 이제는 사명감으로 | #Diggle](https://i.ytimg.com/vi/pYYnycoVmB8/hqdefault.jpg)
콘텐츠
는 여러 기사가 여러 저자에 의해 작성됨을 의미하는 위키입니다. 이 기사를 작성하기 위해 일부 익명의 51 명이 개정판에 참여하여 시간이 지남에 따라 개선되었습니다.자유 소프트웨어의 생성과 사용은 단순한 프로그래밍의 형태가 아니라 철학이기도합니다. 소프트웨어를 작성하기 위해 컴퓨터 언어 만 알아야하는 경우에도 커뮤니티에 참여하고 친구를 사귀고 함께 일하고 좋은 프로필을 가진 존경받는 전문가가되는 데 도움이 될 수 있습니다 다른 채널은 당신이 얻을 수 없습니다. 자유 소프트웨어의 세계에서, 최고 수준의 프로그래머 만이 얻을 수있는 직업을 쉽게 얻을 수 있습니다. 당신을 가져올 수있는 경험에 대해 생각하십시오. 그러나 자유 소프트웨어 프로그래머가되기로 결정한 경우이 목표를 달성하기 위해 시간을 투자해야합니다. 이미 컴퓨터 과학을 공부하는 경우에도 마찬가지입니다.
단계
-
유닉스의 좋은 배포판을 찾으십시오. GNU / Linux는 자유 소프트웨어에 가장 널리 사용되는 플랫폼 중 하나이지만 GNU Hurd, BSD, Solaris 및 Mac OS X가 가장 많이 사용됩니다. -
명령 프롬프트 사용법에 대해 배웁니다. 명령 프롬프트 사용 방법을 알고 있으면 Unix 기반 운영 체제로 더 많은 것을 할 수 있습니다. -
프로그래밍 언어를 배우십시오. 당신을 만족시키는 수준으로 계속하십시오. 하나도 모르면 소프트웨어의 가장 중요한 부분 인 코드에 기여할 수 없습니다. 일부 소스는 컴파일 언어 (예 : C, Java 등)와 해석 된 언어 (예 : Python, Ruby, Perl 등)의 두 가지 언어로 시작하는 것이 좋습니다. -
개발 환경을 사용하십시오. 생산성을 높이려면 NetBeans 또는 기타 개발 환경을 사용하는 방법을 배우십시오. -
더 고급 편집기를 사용하는 방법을 배웁니다. VI 또는 Emacs에는 약간의 학습 시간이 필요하지만 이러한 프로그램으로 많은 일을 할 수 있습니다. -
버전 관리를 배우십시오. 이것은 아마도 개발자 커뮤니티에서 가장 중요한 협력 도구 중 하나 일 것입니다. 패치 (소프트웨어 변경 사항이있는 파일)를 작성하고 적용하는 방법을 이해하십시오. 오픈 소스 소프트웨어 커뮤니티에서 개발의 대부분은 다른 패치를 만들고 토론하고 적용하는 데 중점을 둡니다. -
참여할 수있는 작은 프로젝트를 찾으십시오. 이러한 프로젝트의 대부분은 SourceForge 및 Github에 있습니다. 좋은 프로젝트의 주요 기능은 다음과 같습니다.- 그것은 당신이 알고있는 프로그래밍 언어를 사용합니다.
- 최근 업데이트로 활성화되어 있습니다.
- 이미 적어도 3 ~ 5 명의 개발자가 작업 중입니다.
- 버전 관리를 사용합니다.
- 기존 코드를 수정하지 않고 바로 기여할 수있는 프로젝트의 일부가 있습니다.
- 코드 외에도 좋은 프로젝트는 활발한 토론, 버그 보고서, 개선 요청 또는 유사한 활동을 제시합니다.
-
프로젝트 관리자에게 문의하십시오. 개발자가 거의없는 소규모 프로젝트에서는 즉시 도움을 받아야합니다. -
프로젝트 규칙을주의 깊게 읽고 따르십시오. 코드 스타일에 대한 규칙이나 변경 사항을 별도의 e 파일로 문서화해야 할 필요성은 처음에는 어리석은 것처럼 보일 수 있습니다. 그러나이 규칙의 목적은 모든 사람이보다 쉽게 작업 할 수 있도록하는 것입니다. 또한 대부분의 프로젝트에는 해당 프로젝트가 있습니다. -
몇 달 동안 프로젝트를 진행하십시오. 관리자와 다른 프로젝트 참여자가 말한 내용을주의 깊게 들어보십시오. 프로그래밍 측면 외에도 많은 것을 배울 수 있습니다. 마음에 들지 않는 것이 있으면 다른 프로젝트를 찾으십시오. -
프로젝트에 너무 많은 시간을 보내지 마십시오. 팀으로 제대로 일하자마자 더 진지한 프로젝트를 찾을 차례입니다. -
오픈 소스 프로젝트를 찾으십시오. 이들 대부분은 GNU 또는 Apache 조직이 소유합니다. -
더 차가운 환영을 기대하십시오. 소스 코드를 사용하여 파일에 직접 액세스하지 않고도 작업을 시작할 수 있습니다. 그러나 이전 프로젝트는 많은 것을 가르쳐 주었을 것입니다. 몇 달 동안 적극적으로 입력 한 후에는 귀하가 필요하다고 생각하는 액세스 권한을 주장 할 수 있습니다. -
진지한 작업을 수행하십시오. 바로 그 순간입니다. 두려워하지 마십시오. 생각보다 생각이 훨씬 어렵다는 것을 알게 되더라도 계속하십시오. 이 단계에서는 포기하지 않는 것이 중요합니다. -
Google의 "Summer of Code"를 살펴보십시오. 잠재적 인 후보자보다 더 적은 장소가 있기 때문에 신청이 성공하지 않아도 걱정하지 마십시오. -
가까운 회의를 찾으십시오. 무료 소프트웨어에 대한 회의가 곧있을 수 있으며 프로젝트를 진행하고 발표 할 수 있습니다 (전체 프로젝트가 아니라 기여한 부분 만). 심각한 오픈 소스 프로젝트를 대표한다고 말하면 주최자는 일반적으로 무료로 참여할 수 있도록해야합니다. 그렇지 않은 경우 어쨌든 참석하려는 회의가 아니기 때문일 수 있습니다. 랩톱을 Linux (있는 경우)와 함께 가져오고 데모를 제공하십시오. 연설이나 데모를 준비 할 때 어떤 자료를 사용할 수 있는지 프로젝트 관리자에게 문의하십시오. -
인터넷에서 "설치 당사자"를 찾으십시오. 처음으로 옵저버로 참석하고 (목록에있는 문제와 개발자가 해결하는 방법 참조) 다음에 개발자로 방문하십시오. -
작업을 완료하십시오. 시험을 치르고 프로젝트에 기여하십시오. 끝났습니다! 확실하게 프로젝트 개발자를 직접 만나서 음료를 마셔보십시오. -
프로그래밍 역사에 대해 알아보십시오. 더 잘 이해하려면 실제 무료 소프트웨어 개발의 역사에서 실제 사례를 찾아보십시오. 각 상승 곡선은 프로젝트에 대한 프로그래머의 기여를 나타냅니다. 개발자는 수년 동안 활동이 적은 경향이 있지만 새로운 사람들이 참여하면 프로젝트 속도가 빨라집니다. 재미있는 기술을 익힌 후에는 받아 들일 수없는 이유가 없습니다.
- Linux (많은 무료 소프트웨어 프로젝트는 Windows에서 코딩하기에 너무 복잡하거나 좋은 결과를 얻지 못합니다. 특히 고급 프로젝트 (예 : 휴대폰 프로그래밍, USB 스틱 프로그래밍)에 적용됩니다. 또는 다른 장치).
- 인터넷 연결 상태가 좋은 컴퓨터 (원하는 경우 Windows 파티션을 가질 수 있음)
- 최소한 프로그래밍 언어에 대한 기본 지식과 배우려는 의지. 가장 널리 사용되는 언어는 C와 Java입니다.
- 일주일에 5 시간 이상 (일반적인 개발자는 최대 14 시간)
- 표준 컴퓨터 교육으로 인생을 편하게 할 수 있지만 학교 벤치를 사용할 필요는 없으며 개발자 커뮤니티에서 학위를 요구하지 않습니다. 그들은 서로의 졸업 증서가 아닌 그들의 성과와 관련하여 서로를 판단합니다. 그러나 패치를 모니터링하는 개발자의 60 % 이상이 대학 교육을 받았으므로 아무것도 할 수 없습니다.
- 마지막 단계 (예 : 회의)에서는 자신의 랩톱이 더할 수 있습니다. 그러나 이것은 집에서 일하는 데 이상적이지 않으며 여유가있는 경우에만 구입하십시오.
- 이 기사에서 설명하는 업계는 자유 소프트웨어 개발자가되는 데 최소 2 년이 걸립니다.