2010-07-26 2 views
14

저는 CS 대학원생이며 모질라 파이어 폭스 웹 브라우저 개발에 많은 시간을 할애하고 싶습니다. HTML 렌더러, 자바 스크립트 엔진 등을 기고하고 싶습니다.하지만 파서 또는 이와 유사한 것을 작성하는 데있어 튼튼한 경험이 없으며 어디서부터 시작해야할지 전혀 알지 못합니다.Mozilla Firefox 개발에 참여하는 방법은 무엇입니까?

물론 https://developer.mozilla.org/En/Developer_Guide/에 링크가 있지만 Firefox가 이미 매우 거대한 프로젝트이므로 어디에서 학습을 시작해야할지 모르겠습니다.

제 질문은 웹 브라우저 개발을 시작하기 위해 내가 배워야 할 핵심적인 것들과 제가 이것을 (모든 링크를) 배울 수있는 곳에서 무엇입니까? 파서/컴파일러를 작성하는 방법을 수정해야합니까? HTML 렌더러/자바 스크립트 엔진을 작성하는 법을 배우려면 어떻게해야합니까? 그들이 이미 매우 거대한 프로젝트라고 생각하면 가능한가? 언젠가 다시 V8 자바 스크립트 엔진 (http://code.google.com/p/v8/)의 소스 코드를 다운로드했지만 소스 코드가 매우 최적화 된 코드이므로 많은 부분을 이해할 수 없었습니다. 초보자에게 무슨 일이 벌어지는 지 이해하는 데 도움이되는 의견은별로 없었습니다.

업데이트 : 저는 C, C++, Java, PHP, C#, VB.Net, JavaScript로 작업하기가 매우 편하며 웹 브라우저가 웹 페이지를 구문 분석하고 DOM을 구성하고 유지하는 방법을 배우는 데 더 많은 관심이 있습니다. , CSS 적용 방법, HTML 리플 로우 엔진의 작동 방식, JavaScript 엔진과의 상호 작용 방식, 웹 서버와의 상호 작용 방식, 구성 요소를 화면에 표시하는 방법 등이 포함됩니다.

+0

정말 당신이 모질라의 내부에서 작업 할, 그리고 어떤 언어를 당신이/알 작업하려는 작업에 따라 달라집니다. 그 정보로 업데이트하면 답변을 드릴 수 있습니다. – sdwilsh

+0

나는 당신이 업데이트 된 것을 보았지만 배우고 싶은 것들의 범위는 정말로 크다. Mozilla의 적극적인 활동을하는 사람들이 거의 없어도 (존재한다면), 현재 모든 것들이 어떻게 작동하는지 알 수 있습니다. 처음에 해킹을 시작하려는 사용자가 있습니까? – sdwilsh

+0

HTML 구성 요소의 기본 렌더링부터 시작하겠습니다. 렌더링 자체가 매우 큽니다. 내가 시작할 수있는 (렌더링하에) 제안 할 부분 집합이 있습니까? DOM을 처음으로 만들 수 있습니까? –

답변

11

getting started의 문서를 읽으십시오. #developers의 irc.mozilla.org에서 어울려 흥미로운 대화를보세요. #introduction에서 자신을 소개하고 질문하십시오. http://bugzilla.mozilla.org으로 이동하여 흥미로운 구성 요소에서 열린 버그를 검색 한 다음 멋진 것을 잡는 버그를 찾으십시오. http://mxr.mozilla.org/http://dxr.mozilla.org과 같은 도구를 사용하여 관련 코드를 찾고 #developers에서 질문하십시오. 배우고, 해킹하고, 반복하십시오.

저는 지난 경험을 통해 얻은 경험에 대해 a post을 작성했으며 상당량의 모질라 개발자가 얻은 길을 반영한 것으로 보입니다.

+0

블로그에 귀하의 게시물과 다른 여러 게시물이 마음에 들었습니다. 나는 너와 다른 사람들이 제안한 길을 따를 것이다. 감사! –

+1

Josh의 "Bugs Ahoy"webapp에서 기술과 관심사를 좋은 첫 번째 작업에 부합 시켜서 시도해보십시오. http://www.joshmatthews.net/bugsahoy/ – cdleary

+1

http://whatcanidoformozilla.org 사이트도 있습니다. 당신의 기술에 맞는 프로젝트를 찾을 수 있도록 도와주세요. –

6

알려진 버그 목록 당신이 그 (것)들을 고칠 수 있는지보십시오. 문을 여는 다른 가능한 방법은 품질 보증 작업에 참여하는 것입니다. 그러면 응용 프로그램의 내부 구조를 더 잘 이해할 수 있습니다.

+1

Mchl은 진실을 말합니다. 해킹을 시작하기 전에 파서 또는 렌더링에 대해 알아야 할 모든 것을 배우려고하지 않으려 고하면 결코 시작하지 않을 것입니다. 버그를 수정하기에 충분할 때까지 수정해야하는 버그를 찾아서 코드 기반을 찾아보십시오. 더 많이 배울수록 더 많은 일을 할 수 있습니다. 자신의 길을 찾을 수있는 irc.mozilla.org #developers에는 많은 유용한 사람들이 있습니다. –

+0

및 @Ted Mielczarek, 제안에 감사드립니다. 먼저 버그를 고치려고 시도하는 것부터 시작하겠습니다. 시작하지 않을 것입니다 ... –

3

구문 분석에 관심이있는 경우 유한 상태 오토 마톤 및 공식 문법을 배우십시오. 컴파일러 클래스와 같이 어느 시점에서 CS 교육 과정의 일부 여야합니다. 자바 스크립트 부분에서는 JIT 컴파일러에 대해 알아보고 특히 추적 JIT가 작동하는 방식에 대해 알아 봅니다. 모질라 개발 블로그에 따라, 여기에 좋은 시작 기사입니다 : 마지막으로 http://hacks.mozilla.org/2010/03/a-quick-note-on-javascript-engine-components/

, 아니지만 적어도 중요한 것은, 이미 그곳에서 일하는 사람들이 연락을 시도하고 멘토 - 학생 관계를 구축하려고, 그들이 당신에게 작업을 할당 할 수 있습니다 코드 작업시 막히면 도움이됩니다. 오픈 소스 컨퍼런스에 참석하는 것은 프로젝트의이면에있는 사람들을 만나고 공헌하기에 좋은 방법입니다.

+0

링크 및 다양한 제안에 감사드립니다. –

5

[좋은 첫 번째 버그] 화이트 보드 상태로 버그질라로 표시된 버그를 시작할 수있는 좋은 장소입니다. 목록 here을 볼 수 있습니다.

좋아하는 것을 찾아서 고쳐보세요! IRC 개발자 (irc.mozilla.org의 개발자)는 일반적으로 문제가 발생하면 도와 드리겠습니다.

관련 문제