|
성적 증명서
|
| 안녕하세요 저는 Aurora Tiffany-Davis입니다. 소프트웨어 개발자입니다. |
| JMP Live 팀과 오늘 여러분과 이야기하고 싶습니다. |
| JMP Live 팀에서 소프트웨어를 개발하는 방법 |
| 먼저, 소프트웨어 개발이 어떤 모습일지 상상해 보시기 바랍니다. |
| 당신에게 좋아요. 당신이 개발자가 아니고 |
| 당신이 마음속에 그린 그림은 아마도 TV에 의해 색칠된 것일 것입니다. |
| 당신이 본 영화들. |
| 당신은 혼자 일하는 괴짜 천재를 상상하고 있을 수도 있습니다. |
| 그리고 소프트웨어 개발 프로세스는 매우 간단합니다. |
| 문제에 대해 정말 열심히 생각합니다. 그들은 코드를 씁니다. |
| 그리고 그들은 그것이 작동하는지 확인합니다. 그리고 아마도 그럴 것입니다. |
| 결국 그들은 그렇기 때문입니다. |
| 천재. 만약 우리 모두가 헐리우드가 말하는 것처럼 천재라면, |
| 이 과정이 우리에게는 효과가 있을지 몰라도 사실 우리는 인간일 뿐이에요. |
| 그래서 우리는 조금 더 필요합니다 |
| 그것. 우선, 우리는 혼자 일하지 않습니다. 우리는 매우 |
| 협력적으로 우리는 다음과 같은 과정을 거칩니다. |
| 고품질 소프트웨어를 생산합니다. 여기서는 다음과 같은 사항이 없다는 점을 지적하겠습니다. |
| 소프트웨어 개발을 위한 올바른 프로세스 중 하나. |
| 프로세스는 회사마다 다르며 종종 |
| 회사 내에서. 하지만 오늘 제가 할 일은 여러분을 안내하는 것입니다. |
| 내가 새로운 기능을 개발한다면 무엇을 할 것인가 |
| JMP 라이브. |
| 우선, 코드를 작성하기 전에 먼저 다음과 같은 사항을 확인해야 합니다. |
| 그렇게 할 실제적인 필요가 있어야 합니다. 실제 사람이 있어야 합니다. |
| JMP Live에서 무언가를 발견한 사람이 있습니까? |
| 그들이 생각하는 방식대로 작동하지 않습니다. |
| 버그를 발견했거나 문제가 있다는 것을 멋지게 표현하는 방법 |
| 새로운 기능에 대한 요청입니다. 우리는 이러한 문제를 추적합니다. |
| 내부 시스템이므로 내가 가장 먼저 할 일은 다음과 같습니다. |
| 그 시스템을 사용하여 우선 순위가 높은 문제를 찾아 해결하세요. |
| 내 기술 세트와 일치하는 것을 찾고 그것에 대해 생각하고 시작하십시오. |
| 그것에 대해 이야기하고 있습니다. 내가 할 다음 일은 이해하려고 노력하는 것입니다. |
| 사람들과 대화함으로써 필요성을 충족합니다. 어떤 종류의 사용자가 |
| 이 기능이 필요한가요? 어떻게 되나요? |
| 그것을 사용할 것인가? 그러면 내 컴퓨터에서 JMP Live를 실행할 것입니다. |
| 새로운 기능이 어디에 적합할지 살펴보기 시작합니다. |
| JMP Live에 이미 포함되어 있습니다. |
| 오늘날 존재합니다. 그런 다음 코드를 가져와서 생각하기 시작할 것입니다. |
| 새로운 코드가 우리의 코드베이스에 어떻게 들어맞을 것인가를 통해. |
| 나는 내가 필요성을 잘 이해했다고 생각되면, |
| 디자인 단계로 넘어갈 것입니다. 그리고 여기서 다시, 제 첫 번째 |
| 단계는 사람들과 대화하는 것입니다. 사용자와 대화하겠습니다. |
| JMP 내부에 있는 경험 많은 전문가와 이야기를 나눠보겠습니다. |
| 동료들에게 "당신은 다음과 유사한 기능을 작업한 적이 있습니까?"라고 물어보세요. |
| 이전에도 이런 일이 있었나요? 이 코드의 이 부분을 전에 작업한 적이 있나요?" |
| 그러면 디자인을 구체화하기 시작할 거야. 기사를 쓸 수도 있겠어 |
| 그리고 다이어그램을 그려서 주변 사람들과 공유해서 내가 만들 수 있도록 하죠. |
| 팀의 다른 멤버들이 일반적으로 다음과 같은지 확인하십시오. |
| 방향에 편안함 |
| 이사를 갑니다. 이제 앉아서 글을 쓰기 시작하겠습니다. |
| 코드. 이를 위해 통합 개발을 사용하겠습니다. |
| 환경은 많은 것을 가지고 있는 프로그램입니다 |
| 우리가 업무를 더 잘 수행할 수 있도록 도와주는 기능입니다. |
| 이제 코드를 작성했으므로 첫 번째 단계는 다음을 찾는 것입니다. |
| 내가 방금 만든 문제들. 나도 인간일 뿐이니까, 가능성은 |
| 내가 첫 번째 시도에서 100% 완벽한 코드를 작성했다는 확률은 매우 낮습니다. |
| 내 첫 번째 단계는 다음과 같습니다. |
| 정적 분석을 사용하세요. 정적 분석은 코드를 실행하지 않습니다. |
| 그것이 마치 책에 쓰여진 것처럼 보인다 |
| 종이. Microsoft Word의 철자 검사와 같은 비유가 될 수 있습니다. 철자 검사 |
| 내가 설득력 있는 글을 썼는지 말해줄 수 없어 |
| 소설이지만 어딘가에서 쉼표를 놓친 경우 알려줄 수 있습니다. |
| 정적 분석은 코드에 대해 이런 작업을 수행합니다. |
| 이제 나는 매우 명백한 문제를 발견하고 해결했습니다. |
| 다음 단계는 덜 명확한 문제를 찾는 것입니다. |
| 그리고 그걸 위해 자동화된 테스트 모음을 사용할 거예요. 우리는 |
| 우리 코드에 대한 광범위한 테스트를 작성했습니다. 자동화됨 |
| 테스트는 코드를 실행하거나 오히려 코드의 하위 집합을 실행합니다. |
| 코드는 특정 입력을 제공하고 특정 출력을 기대합니다. |
| 앉아서 이것들을 쓰는 것은 정말 가치 있는 연습입니다. |
| 테스트, 왜냐하면 때때로 새로운 테스트를 작성하기 위해 앉을 때 |
| 어떤 기능이든지, 그것은 나에게 정말로 내 생각을 명확히 하도록 강요합니다. |
| 소프트웨어가 원래 어떻게 작동해야 하는지에 대한 것입니다. |
| 또한 이는 실제로 중요한 보호 기능을 제공합니다. |
| 동료들이 미래에 실수로 이 기능을 깨뜨릴 수도 있습니다. 그래서 |
| 찾는 좋은 방법이에요 |
| 문제를 일찍 해결합니다. 자동화된 것을 작성하고 실행하면 |
| 테스트, 수동 테스트로 넘어가겠습니다. JMP를 실행할 수도 있습니다. |
| 내 로컬 머신이나 우리가 보유한 여러 서버 중 하나에서 라이브로 실행 |
| 사무실에 가서 이것저것 살펴보고 시도해보고 확인하세요. |
| 그게 내가 하는 방식대로 작동한다는 거야 |
| 그래야 한다고 생각합니다. 심지어 데이터베이스를 살펴볼 수도 있습니다. |
| JMP Live 뒤에 위치하여 기록을 추적합니다. |
| 사용자, 게시물, 그룹, 댓글을 확인하고 기록이 있는지 확인하세요. |
| 제가 기대하는 방식으로 쓰여졌습니다. |
| 이제 나는 내가 좋은 글을 썼다는 점에 대해 신중하게 낙관적입니다. |
| 코드와 유용한 것을 만들었습니다. |
| 기능. 다음 단계는 동료들에게 의견을 묻는 것입니다. |
| 이것을 동료 검토에 넣습니다. 이제 JMP Live에서 우리는 100%를 넣습니다. |
| 우리가 동료 검토를 통해 작성한 코드와 그 이유는 다음과 같습니다. |
| 우리는 그것을 매우 소중하게 생각합니다. |
| 내가 그냥 일종의 때문에 놓친 것이 있을 수 있습니다 |
| 무언가에 대해 눈가리개를 하고 있습니다. 아니면 그것은 |
| 내 팀의 다른 누군가가 내가 알고 있는 지식을 가지고 있는 경우 |
| 부족합니다. 리뷰어가 리뷰에서 종종 다음과 같은 경우를 겪습니다. |
| 그들은 운동에서 많은 가치를 얻을 수 있기 때문에 |
| 새로운 기술에 대해 알아보세요. |
| 이제 팀은 우리가 만든 것에 대해 매우 낙관적입니다. |
| 몇 가지 좋은 코드가 있으면 마침내 내 코드를 커밋하거나 체크인하겠습니다. |
| 소스코드 저장소. |
| 우리는 우리를 지켜보는 지속적인 빌드 시스템을 가지고 있습니다. |
| 코드를 커밋하고, 그렇게 할 때 |
| 분석합니다. 파일이 다음과 같은 정말 기본적인 사항을 찾습니다. |
| 올바른 방법으로 올바른 장소에 이름이 지정되었습니까? 또한 다시 실행됩니다. |
| 정적 분석을 수행하면 자동화된 테스트 전체가 다시 실행됩니다. |
| 스위트. 누군가가 이것을 하는 것을 잊었을 경우를 대비해 이렇게 합니다. |
| 프로세스 초기에. 또는 더 자주, 그것은 사실일 수 있습니다 |
| 지난번 이후로 작고 미묘한 것이 바뀌었습니다. |
| 자동화된 테스트 모음이 실행되었습니다. |
| 그래서 그것은 이 모든 분석을 수행하고 통과할 때 |
| 이 단계에서는 이제 외부의 사람들도 코드를 사용할 수 있습니다. |
| 개발팀이 취해야 할 |
| 그것을 보세요. 이것을 가장 먼저 알아차리는 사람들은 테스트 중입니다. |
| JMP Live와 JMP 팀 내에 있는 전문가 |
| 더 광범위하게. 이들은 테스트 전문가입니다. 그들이 하는 일이 바로 그것입니다. |
| 그들은 경력 내내 이런 일을 해왔고, 그 일에 정말 능숙해요. |
| 자동화된 테스트 모음을 다시 실행할 수도 있습니다. 더 많은 테스트를 추가할 수도 있습니다. |
| 우리 스위트룸으로. 그들은 JMP Live를 수동으로 실행하고 주변을 찔러볼 수도 있습니다. |
| 일반적으로 그들은 JMP Live를 로컬로 실행하고 그렇게 하는 척할 수 있습니다. |
| 사용자로서 절대적으로 미친 짓을 하는 것들. |
| 사용자가 할 수 있는 가장 미친 짓? 그리고 소프트웨어가 어떻게 하는지 보자 |
| 그것에 응답합니다. 그들은 이 테스트에 정말 창의적입니다. |
| 시나리오. 또한 다양한 소프트웨어를 실행할 수도 있습니다. |
| 다양한 브라우저와 운영 체제를 사용하여 |
| 소프트웨어는 유연하고 견고합니다. |
| 이 새로운 기능에 대한 승인을 받으면 이제 |
| 다음 소프트웨어 릴리스에서 사용할 수 있습니다. |
| 이제 확대해서 전체 과정을 보여드리겠습니다. |
| 그것은 많은 단계입니다. 우리가 실제로 모든 것을 모든 사람을 위해 수행합니까? |
| 소프트웨어 변경 사항 중 어떤 것이 있습니까? 믿든 말든, 우리는 그렇게 합니다. 그러나 이 |
| 프로세스는 복잡성에 따라 크게 확장됩니다. |
| 작업. 정말 간단하고 명백한 버그가 있는 경우, 우리는 단계를 밟을 것입니다. |
| 이 과정을 거쳐야 하지만, 우리는 그것을 매우 빨리 끝낼 것입니다. |
| 반면에, 우리가 매우 복잡한 새로운 기능을 가지고 있다면, |
| 과정의 모든 단계에서 우리는 속도를 늦출 것입니다. |
| 우리는 시간을 들여 많은 주의를 기울여 이를 확실히 할 것입니다. |
| 우리는 옳습니다. |
| 이제, 시간이 걸리는 모든 일에는 비용이 들기 때문에 왜 그럴까요? |
| JMP는 소프트웨어 품질에 이 돈을 투자할 의향이 있나요? |
| 한 가지 이유는 정말 간단합니다. 우리는 우리의 일에 자부심을 가지고 있고 |
| 좋은 제품을 만들고 싶습니다. |
| 다음 이유는 다소 이상주의적이지 않습니다. 우리는 알고 있습니다. |
| 우리 안에 존재하는 모든 문제 |
| 프로세스 및 제품에서 해당 항목을 찾지 못하면 |
| 고객이 그럴 것이고 그것은 사업에 좋지 않습니다. 그래서 우리는 |
| 그것을 최소화하고 싶습니다. |
| 이제 어떤 프로세스도 전달할 수 없습니다. |
| 절대적인 완벽함. 그래서 우리는 당신이 그 일부에 머물기를 정말로 권합니다. |
| JMP 커뮤니티의. community.jump.com으로 가서 우리에게 알려주세요. |
| JMP Live가 작동하지 않을 경우 이에 대한 정보가 있는지 알려주세요. |
| 당신이 생각하는 방식대로, 또는 당신이 원하는 새로운 것 |
| 미래에 볼 수 있도록. |
| 그런 종류의 실제 피드백은 우리에게 엄청난 가치가 있습니다. |
| 우리는 정말 환영합니다. |
| 오늘은 여기까지만 말씀드리겠습니다. 하지만 정말 |
| Discovery 경험의 나머지 부분을 즐기세요. 감사합니다. |
| 너. |