스피커
|
성적 증명서
|
| 마이클 아커만 |
크리스티. |
| 크리스티 스페인 |
좋은 아침입니다, 마이클은 안녕하십니까? |
| 마이클 아커만 |
잘 지내고 있나요. |
| 크리스티 스페인 |
좋아요 제 이메일을 닫도록 하겠습니다. 그래서 제가 받지 못합니다. |
| 마이클 아커만 |
네, 아무것도, 아무것도 핑하지 않도록 컴퓨터 설정을 간소화하고 있습니다. |
| 크리스티 스페인 |
내가 내 도구 모음을 눌렀는지 알아요. |
| |
내가 모든 것을 가지고 있다고 생각하십시오. |
| |
주말은 어때? |
| 마이클 아커만 |
좋았어. 주말은 어때? |
| |
좋은. |
| 크리스티 스페인 |
그래서 당신은 어둠 속에서 살고 있습니까? |
| 마이클 아커만 |
헬렌이 우리를 기다립니다. |
| |
네, 본부와 너무 가까워서 실제 발견 정상 회담에 갈 것입니다. |
| |
에 직접 참석합니다. |
| |
그것도 실망스러웠지만. |
| |
예 요 에 헤이. |
| 크리스티 스페인 |
안녕하세요 좋은 아침입니다. |
| 요한 |
좋은 일을. |
| 마이클 아커만 |
당신이 거기 요한처럼 내 뒤에 박식한 벽을 설치해야합니다. |
| 요한 |
클릭을 넣었습니다. |
| |
이 책과 대니의 책이 들어 있어서 알아보지 못할 것입니다. |
| 크리스티 스페인 |
좋아 보인다. |
| |
지난 주에 혼동을 드려 죄송합니다. |
| |
두 분을 가상으로 만날 수 있어서 기쁩니다. |
| |
나는 Nova 지역을 지원하는 프리미어 팀의 일원이기 때문에 그들이 저를 여러분에게 할당했어야 하는 것은 아닙니다. |
| |
두 분 모두 디스플레이를 19 2010 at으로 설정하기 위해 수행해야 할 몇 가지 작업이 있습니다. |
| |
그렇다. |
| 요한 |
한 번만 더 확인하겠습니다. |
| 크리스티 스페인 |
엄청난. |
| |
그리고 |
| |
당신의 소리가 좋다면, 나는 아무도 로고를 착용하지 않는다고 말할 것입니다. |
| |
저작권 침해를 유발할 수 있는 항목이 보이지 않는지 확인하십시오. 귀하의 책이 문제가 될 것인지 모르겠습니다. |
| |
네, 만약을 위해 그렇게 합시다. |
| 마이클 아커만 |
그 중 하나는 전직 JMP 디스커버리 서밋 기조연설자로 구성된 것입니다. |
| 요한 |
누구야. |
| 마이클 아커만 |
아, 그가 와서 그 일에 대해 이야기한 것이 아닙니다. |
| 크리스티 스페인 |
아, 그 책이 있어요. |
| 마이클 아커만 |
네 네. |
| 요한 |
나는하지 않았다. |
| |
이메일에서 저장한 항목 중 하나를 저장했지만 이메일에서 가져올 수 있습니다. |
| 마이클 아커만 |
나는 팔에 내 웹캠을 가지고 있어서 내 쪽으로, 앞뒤로, 위아래로, 좌우로 움직일 수 있습니다. 마치 내가 움직일 수 있는 것처럼 영원히 만지작거리고 있는 것과 같습니다. |
| 크리스티 스페인 |
오 좋은 생각이야 |
| |
한 번도 올바른 장소에서 나를 본 적이 없습니다. |
| |
그런 다음 모든 사람들이 내가 팀인 모든 앱 전망을 치고 있습니다. |
| |
그런. |
| 마이클 아커만 |
닫기 팀은 알림을 받지 않아야 합니다. |
| 크리스티 스페인 |
그리고 당신은 30분이 있습니다. 맞습니다. |
| 마이클 아커만 |
네 이해입니다. |
| 크리스티 스페인 |
그리고 여러분은 될 것입니다. |
| |
이상적으로는 그냥 시작하고 바로 진행하는 것이 좋습니다. |
| |
전환할 때마다 화면을 테스트 공유하시겠습니까? |
| 마이클 아커만 |
당신은 우리가 내 화면과 당신이 한 지점에서 화면 사이를 바꿀 것이기 때문에 먼저 내 화면을 공유하겠습니다. |
| |
소리를 공유할 필요가 없습니다. |
| |
그래서. |
| 마이클 아커만 |
여기에서 시작하기 위해 백업합시다. |
| 크리스티 스페인 |
안녕하세요 알렉스 맞습니다. |
| |
괜찮아. |
| 마이클 아커만 |
그래서 당신은 우리가 해냈어 해냈어 해냈어 그렇게 한 다음 우리가 당신에게 넘겨졌습니다. |
| 요한 |
네, 화면 공유를 스스로 제어할 것입니다. 우리는 프로듀서 친구를 사용할 수 있습니다. |
| 크리스티 스페인 |
네 그렇게 해야 합니다. |
| |
오, 당신의 배경은 멋지게 보입니다. |
| 요한 |
감사 해요. |
| 크리스티 스페인 |
나는 그것을 가지고 있어야합니다. |
| 마이클 아커만 |
내가 더 많이 할 수 있다는 것은 우리가 더 획일적일 수 있다고 생각합니다. |
| 요한 |
아니, 우리는 내가 갖지 못한 우리 자신의 개인을 가져야 합니다. |
| |
예. |
| 크리스티 스페인 |
그래, 마이클에게 가자. |
| 요한 |
응. |
| |
나는 당신이 하게 될 화면상의 링크가 많지 않을 것이라고 생각합니다. 대부분의 이야기를 하고 나서 우리는 화면 공유를 할 것입니다. |
| 마이클 아커만 |
화면이 공유되는 동안 우리가 무엇을 볼 수 있을지 모르겠습니다. |
| 크리스티 스페인 |
음, 그래서 내가 녹음을 되찾을 때마다. |
| |
나는 네 가지를 얻습니다. |
| |
버전이 없을 때 귀하를 포함하는 버전이 있으며 Jeff perkinson이 모든 것을 편집할 것인지 확신할 수 없으므로 어느 언덕을 선택할지 모르겠습니다. |
| |
나는 그가 스피커를 그렇게 보여주고 싶어한다고 생각합니다. |
| 마이클 아커만 |
화면에 보이는 것 같아요. |
| |
그건 그렇고, 당신이 마우스 오른쪽 버튼을 클릭하면 아이콘을 끌 수 있습니다. |
| 요한 |
창을 혼동하기 위해 관리하면 다음과 같습니다. |
| 크리스티 스페인 |
글쎄요, 그게 그렇게 어려운 일입니까? |
| 요한 |
오 예. |
| |
그래서 마우스 오른쪽 버튼을 클릭하고 볼 수 있습니다. |
| 마이클 아커만 |
예, 그는 괜찮다고 생각했습니다. |
| |
정확히 어디인지 기억나지 않으니까요. |
| |
가이 나는 내 아이콘이 내 바탕 화면에 켜지지 않도록하고 그냥 물건을 설치하도록 내버려 두므로 켜면 다음과 같습니다. |
| 요한 |
응. |
| 크리스티 스페인 |
Michael은 작업을 마치면 화면 공유에서 알겠다고 말하고 그냥 가겠습니다. 다른 말로 네. |
| 마이클 아커만 |
그리고 당신은 내 방에 노란색 필터를 얻습니다. |
| 크리스티 스페인 |
오, 당신은 당신의 공상에 빨간불이 있습니다. |
| 마이클 아커만 |
그래도 날 파란색으로 만듭니다. |
| 크리스티 스페인 |
나는 책상이 너무 작고 여기에 많은 공간이 있습니다. |
| 마이클 아커만 |
네, 저는 일찍 독립했습니다. 제 상사는 제 마이크 품질과 카메라 품질에 대해 계속 불평했습니다. |
| 크리스티 스페인 |
수고하셨습니다. 이 새 헤드셋을 받지 못했습니다. |
| 마이클 아커만 |
빨리 문을 닫게 해주세요. |
| 크리스티 스페인 |
오 그래 그래, 당신이 알고 있는 털복숭이 친구나 아이들이 있다면 중요합니다. |
| 요한 |
그래 좋아 나도 좋아 그래 내가 문을 닫을게. |
| 크리스티 스페인 |
그리고 요한 당신은 어디에 있습니다. |
| 요한 |
회사에. |
| 크리스티 스페인 |
내 것보다 오 니스. |
| |
완전하다. |
| 요한 |
오, 당신은. |
| 크리스티 스페인 |
결혼한 친구가 있습니다. |
| |
코펜하겐에서 온 남자가 덴마크에서 왔기 때문에 우리는 거기에 방문했습니다. |
| |
예, 아름답습니다. |
| 크리스티 스페인 |
좋아요, 그래서 제가 여러분에게 회사 이름과 추상적인 제목을 명시할 수 있다면 좋을 것입니다. |
| |
그리고 이것은 녹음을 위한 것이 아닙니다. 이것은 Jeff가 당신의 것을 식별하는 것과 같은 목적을 위한 것입니다. |
| 마이클 아커만 |
이름은 확실합니다. 제 이름은 마이클 증분입니다. 저는 novozymes와 함께합니다. 초록 제목은 사진을 업로드하는 것만큼 쉽습니다. |
| |
포장 및 청구서에 대해 정확히 잊어 버렸습니다. |
| 크리스티 스페인 |
괜찮아요. |
| 마이클 아커만 |
여러분. |
| 요한 |
그리고 제 이름은 UN입니다. |
| |
또한 의미가 없습니다. |
| 크리스티 스페인 |
그리고 우리는 이것을 녹음하여 디스커버리 서밋 컨퍼런스에 게시할 것이며, 공개적으로 볼 수 있을 것입니다. |
| 마이클 아커만 |
우리는 내가 해요. |
| |
당신이 갈 때. |
| 요한 |
아, 죄송합니다 죄송합니다 제 마음이었습니다. |
| 크리스티 스페인 |
알겠습니다. |
| |
당신을 위해 먼저 내 카메라를 끄겠습니다. |
| |
아무도 나를 보고 싶어하지 않습니다. |
| 크리스티 스페인 |
그리고 우리는 준비가 되었다고 생각합니다. 여러분은 준비되셨습니까? |
| 마이클 아커만 |
제 화면부터 시작하겠습니다. |
| 크리스티 스페인 |
당신은 준비가되지 않았습니다 시간이 보자. |
| |
909는 기술적으로 939까지 있지만. |
| |
준비가 되면 언제든지 퓨즈를 주거나 빼십시오. |
| 마이클 아커만 |
여러분, 안녕하세요. 오늘 "Y'All"에 대한 이야기에 오신 것을 환영합니다. 이것은 글로벌 회사 전체에서 JMP 추가 기능 공유 및 업데이트 및 스크립트 유지 관리를 자동화하기 위해 Novozymes에 구축한 추가 기능 패키지 관리자입니다. 저는 Michael Akerman이고 공동 발표자는 Johan Olsen입니다. |
| |
오늘 저는 Y'All에 대해 이야기하고 이 툴킷을 여러분에게도 소개하고자 합니다. |
| |
...개인 용도로 사용하거나 조직을 위해 사용하려는 사람은 이 도구 키트를 구하고 사용을 시작하는 방법과 그것이 무엇인지 알고 있습니다. 그래서 우리는 우리가 누구이며 왜 Y'All을 만들었는지 이야기하는 것으로 시작하겠습니다... |
| |
...Y'All의 주요 기능과 사용자 경험. 따라서 Johan은 사용자가 이 툴킷을 사용할 때 보게 되는 내용을 살펴볼 것입니다. |
| |
사용자가 Y'All 툴킷과 상호 작용할 때 Y'All 툴킷 뒤에서 일어나는 일에 대한 비하인드 스토리를 살펴본 다음 요약 및 요약을 수행하고 조직에서 Y'All 채택에 대한 몇 가지 팁을 제공합니다. 당신의 목적을 위해 흥미로운. |
| |
우리는 Novozymes라는 회사의 데이터 과학자입니다. 공동 발표자는 Johan Olsen입니다. 그는 농업 및 산업 바이오 솔루션 응용 연구의 데이터 과학자입니다. |
| |
저는 Novozymes의 같은 그룹에 속한 선임 데이터 과학자입니다. Y'All 또는 기타 정보에 대해 문의하려는 경우 여기에 연락처 정보를 포함했습니다. 언제든지 문의해 주세요. |
| |
Johan의 이메일 주소는 jpko@novozymes.com이고 JMP 사용자 커뮤니티의 JPKO입니다. 저는 mxak@novozymes.com입니다. |
| |
Michael Akerman Michael mxak은 JMP 사용자 커뮤니티에 있습니다. 질문이 있거나 Y'All 또는 우리가 구축한 것과 작업 중인 것을 개선하는 방법에 대한 의견이 있으면 언제든지 연락해 주십시오. . |
| |
우리는 Novozymes를 위해 일합니다. Novozymes는 글로벌 생명 공학 회사입니다. 우리는 지속 가능성을 위한 생물학적 솔루션을 구축합니다. |
| |
... 전 세계의 다양한 산업 분야에서 성능을 개선하고 비용을 절감할 수 있습니다. 따라서 우리는 농업 및 바이오 연료, 가사 관리, 식품 및 음료, 동물 건강 및 훨씬 더 많은 산업을 지원합니다... |
| |
...이 생물학적 솔루션으로. 우리는 전 세계적으로 6000명 이상의 직원을 보유하고 있으며 그 중 수백 명의 JMP 사용자를 보유하고 있습니다. |
| |
그리고 우리가 지원하는 JMP 사용자 집단이 정말 많고 JMP로 작업하고 JMP로 무언가를 구축하는 사람들과 함께 일하기 때문에 Y'All에게 정말 영감을 줍니다. |
| |
회사로서의 우리의 목적은 "우리는 함께 성장하는 세상에서 더 나은 삶을 위한 생물학적 해답을 찾습니다. 내일을 다시 생각합시다."입니다. |
| |
제가 언급했듯이 Novozymes에는 JMP 사용자 집단이 매우 많습니다. |
| |
그래서 우리는 그들의 삶을 JMP 스크립트와 JMP 추가 기능으로 더 쉽게 작업할 수 있도록 하고 코드를 더 재사용 가능하고 검색 가능하게 만들고 싶었습니다. |
| |
그래서 우선, 우리는 업데이트를 쉽게 하고 싶었습니다. 우리는 Novozymes에서 사람들이 이메일로 스크립트를 주고받는 것을 관찰했습니다. |
| |
개인 네트워크 드라이브에 JSL 파일을 보내는 중이었습니다. 그들 중 일부는 그것을 플래시 드라이브에 넣고 주변에 전달했습니다. 우리는 새롭고 업데이트된 JMP 스크립트를 가능한 한 쉽게 배포하고 싶었습니다. |
| |
우리는 코드를 보호하는 아카이브를 만들고 싶었습니다. 우리는 많은 JMP 사용자를 보유하고 있습니다. 이 모든 작업은 조직에 많은 가치를 제공합니다. |
| |
따라서 모든 귀중한 코드가 저장되고 백업되고 보관되는 중앙 저장소입니다. |
| |
그리고 우리는 시간이 지남에 따라 버전을 추적하고 싶었습니다. 따라서 스크립트가 변경되고 개선됨에 따라 이러한 변경 사항을 확인하고 시간 경과에 따른 변경 사항을 추적할 수 있기를 원했습니다. |
| |
또한 스크립트를 쉽게 찾고 재사용할 수 있도록 하기 위해 JMP 개발자라면... |
| |
...JSL 스크립트를 작성하는 개발자라면 다른 개발자가 작성한 관련 스크립트를 찾아 개선하거나... |
| |
당신이 가진 모든 필요를 위해 그것들로부터 건설하십시오. 따라서 이러한 스크립트를 가져와서 작성하는 것이 편리하고 조직의 다른 구성원이 유용하다고 생각하는 JSL의 기능을 공유하고 가져오고 재사용하는 것도 편리합니다. |
| |
이를 실현하기 위해 세 가지 구성 요소를 결합했습니다. Python 빌드 스크립트, GitLab 인터페이스, JSL 로드 및 업데이트 스크립트가 모두 이 툴킷에서 함께 작동합니다. |
| |
Python 빌드 스크립트는 JSL 파일을 자동으로 구문 분석하고 추가 기능 메뉴 구조로 구조화하는 Python 3 이상에서 실행되는 자동화된 스크립트입니다. |
| |
또한 추가 기능 정의 파일을 작성합니다. JMP 스크립팅 인덱스와 JMP IDE에 이러한 재사용 가능한 유틸리티 함수를 모두 추가하는 가져온 사용자 정의 함수 스크립트를 생성하고 사용자가 사용할 수 있도록 .jmpaddin 파일에 모두 압축합니다. |
| |
GitLab은 사용자가 추가 기능 스크립트와 상호 작용하고 추가 기능 빌더 자체로 작업할 수 있는 인터페이스입니다. GitLab은 GitHub의 오픈 소스 대안 또는 경쟁자입니다. |
| |
우리는 이것을 Novozymes 내부에 게시했으며 이 중앙 저장소에 스크립트를 업로드하기 위한 정말 쉬운 포인트 앤 클릭 사용자 인터페이스를 제공합니다... |
| |
...이 모든 스크립트가 저장되고 빌드가 실제로 발생하는 곳. |
| |
그리고 지속적 통합 연속 배포를 의미하는 CICD 파이프라인은 자동으로 해당 Python 빌드 스크립트를 실행하고 릴리스 및 베타 버전 채널을 통해 추가 기능을 배포하므로 사용자는 다음 중 하나를 가질 수 있습니다. |
| |
...안정적인 품질 관리 릴리스 또는 개발자인 경우 이 툴킷에 사용된 각 스크립트의 최신 버전이 포함된 빠른 릴리스를 자주 얻을 수 있습니다. |
| |
마지막으로 JSL 로드 및 업데이트 스크립트가 있습니다. JMP가 열리고 이 추가 기능이 로드되면... |
| |
...선택한 채널(베타 또는 릴리스 채널)에서 새 버전을 확인하고 해당 추가 기능 패키지를 다운로드 및 업데이트하도록 제안합니다. 이것은 또한 사용자 정의 함수를 스크립팅 인덱스로 가져옵니다. |
| |
우리는 모든 JMP 사용자로부터 Y'All에서 매우 쉬운 스크립트 기여를 받았습니다. 소셜 미디어에 사진을 업로드하는 것만큼 쉽습니다. |
| |
사용자 인터페이스로 이동하여 업로드 버튼을 클릭하면 몇 초 안에 Y'All의 베타 채널에서 사용할 수 있습니다. |
| |
이러한 스크립트의 자동 버전 제어 및 저장, 자동 또는 수동 JMP 추가 기능 업데이트가 있으므로 JMP가 열리면 Y'All에서 업데이트를 제안할 것입니다. |
| |
...또는 사용자는 Y'All 메뉴를 통해 Y'All을 수동으로 업데이트하도록 선택할 수 있습니다. |
| |
스크립트를 업데이트하고 변경할 때 최신 버전의 추가 기능을 얻기 위해 스크립트를 작성하는 개발자라면 빠른 빌드 및 테스트를 위한 베타 버전 채널이 있습니다. 그리고 제어된 배포 및 품질 관리를 위한 릴리스 채널이 있습니다. |
| |
이것은 우리에게 검색 가능하고 재사용 가능한 JSL 파일을 제공하므로 사람들이 Novozymes, Y'All 사용자 전반에 걸쳐 사용자가 제출한 스크립트의 파일 구조를 살펴보고 ... |
| |
...자신이 원하는 것과 가까운 목적에 맞는 스크립트를 찾아 자신의 목적에 맞게 수정합니다. |
| |
또한 스크립팅 인덱스에 편리한 유틸리티 기능을 추가합니다. 당신은 그 작은 스크린 샷을 볼 수 있습니다 ... |
| |
...왼쪽과 JSL 편집기에 있으므로 빌드 스크립트가 자동으로 가져올 수 있고 재사용 가능한 기능을 JMP 스크립팅 인덱스에 추가합니다. 이 기능이 작동하는 방식과 사용 방법을 설명하는 데 사용할 수 있는 경우 그것. |
| |
데모 목적으로 Y'All에 포함된 일부 코드를 확인하는 시간을 갖고 싶었습니다. Novozymes 내에서 사용되는 코드의 대부분은 Novozymes 시스템에 고유하며 회사 외부에서는 사용할 수 없습니다. |
| |
그래서 JMP 사용자 커뮤니티에 이미 있는 일부 스크립트를 가져와 데모 목적으로 포함했습니다. 자유롭게 유지하거나 Y'All에서 제거할 수 있습니다. |
| |
...바라는대로. 그래서 우리는 Xan Gregg와 Craige Hales의 json 파서 스크립트를 가지고 있습니다. JMP Discovery Summit 2020에서 데이터 정리 스크립트 도우미가 발표되었습니다... |
| |
...조던 힐러와 미아 스티븐스. Discovery Summit 2020에서 Heidi Hardner와 Serkay Olmez의 이미지 테이블 도구가 있습니다. |
| |
Nick Holmes의 Color row selection.jsl. Byron Wingerd의 다중 Y축 차트와 자동 검증 설정은 JMP Discovery Summit에서도 발표된 것 같습니다... |
| |
...작년에 Mike Anderson이 작성했으며 Riffyn 데이터 캡처 소프트웨어인 Riffyn Nexus에 대해 가져올 수 있는 기능 모음이 있습니다. |
| |
...승인을 받아 Riffyn 도구 JMP 추가 기능을 통합하고 가져온 Riffyn이 작성한 API로 작업합니다. Novozymes에서 많이 사용하는 도구입니다. 다른 Riffyn 사용자가 있는 경우 이 코드를 자유롭게 사용할 수 있기 때문에 포함했습니다. |
| |
그래서 그것을 제외하고 우리는 사용자 경험과 사용자가 Y'All 툴킷으로 작업할 때 보고 수행하는 것부터 시작하여 몇 가지 라이브 데모에 뛰어들고 싶었습니다. 이를 위해 공동 발표자 Johan에게 제어권을 넘기겠습니다. |
| |
요한, 당신은 음소거입니다. |
| 요한 |
고마워요, 마이클. |
| |
미안합니다. 내 화면을 공유하겠습니다. |
| |
이거 보고있니? |
| 남자 이름 |
예. |
| 요한 |
괜찮아. |
| |
Michael이 말했듯이 Y'All을 사용하는 사용자 경험을 안내하겠습니다. |
| |
Y'All의 사용자가 되는 것은 정말 3단계입니다. 대다수의 사용자는 기본적으로 JMP가 내장된 JMP 플랫폼인 것처럼 사용합니다. 그들... |
| |
...스크립트를 가리키고 클릭하고 의도한 목적을 위해 실행합니다. 스크립트에 기여하는 꽤 큰 사용자 그룹도 있습니다. |
| |
간단한 스크립트를 제공할 수 있습니다. 그리고 우리는 좀 더 고급 작업을 수행하는 소규모 개발자 및 유지 관리자(??) 그룹을 가지고 있으며 그 중 일부도 가져오려고 노력할 것입니다. |
| |
그러나 무엇보다도 Y'All의 실제 간단한 사용법입니다. 설치는 GitLab 리포지토리에 생성된 빌드 아티팩트(??)에 대한 이 링크를 클릭하고 JMP 편집 파일을 다운로드하고 JMP로 실행하는 것처럼 간단합니다. |
| |
이제 업데이트하라는 메시지가 표시되었습니다. 이번에는 취소하려고 합니다. 하지만 여기 내 메뉴 표시줄에서 볼 수 있으며 Y'All 메뉴가 있습니다... |
| |
...Michael이 언급한 이러한 데모 스크립트 중 일부. 이 스크립트는 실제로 Y'All 패키지의 일부가 아니지만 데모 목적으로 포함되어 있으므로 이러한 스크립트에 대해 자세히 설명하지 않겠습니다. 하지만 내가 할 일은 안으로 들어가려고 하는 것입니다. |
| |
...죄송합니다. 사용 가능합니다. 죄송합니다. 이미 사용 중이었습니다. 사용 가능 상태가 나타납니다. 베타 테스트를 활성화하여 이제 바로 볼 수 있는 몇 가지 항목을 만들기 시작합니다. |
| |
대부분의 사용자는 베타 테스트가 비활성화되어 있으며 몇 주에 한 번인 주요 릴리스 이후에 JMP를 열 때 업데이트 메시지가 표시됩니다. 그러나 베타 테스트가 활성화된 사용자의 경우 베타 분기가 업데이트되는 시기는 하루에 여러 번에서 일주일에 두 번까지 언제든지 발생할 수 있습니다. |
| |
그래서 그것은 기본적으로 일반 사용자를 위한 것입니다. |
| |
여기에 스크립트를 기여하고 싶다면 몇 가지 방법이 있습니다. 한 가지는 GitLab UI를 통한 것입니다. 이제 방금 본 메뉴 구조가 미러링됩니다. |
| |
... 디렉토리 구조 ... |
| |
...저장소. 그래서 새로 만드는... |
| |
...메뉴 또는 하위 메뉴는 새 디렉토리를 만드는 것만큼 쉽습니다. 자, 이렇게 부르자... |
| |
..."시민" |
| 요한 |
그리고 그것을 추가하십시오. |
| 요한 |
스크립트를 추가하려는 경우 JMP IDE에서 간단하게 만들 수 있으므로 매우 간단하게 만들 수 있습니다. |
| |
안녕하세요 세계입니다. |
| |
이 정도면 충분할 것입니다. 실제로 도구 설명을 얻을 수 있는 좋은 방법으로 메뉴 항목의 이름을 지정하는 약간의 추가 세부 사항이 있습니다. 우리는 [???] 또는 코드 마술을 구현했습니다. 즉, 주석 처리된 작성으로 시작하는 경우 죄송합니다. |
| |
당신 은요. |
| |
메뉴 이름. |
| 마이클 아커만 |
여러분. |
| |
메뉴 이름. |
| 요한 |
Y'All 메뉴 이름 |
| 마이클 아커만 |
오래된 습관. |
| 요한 |
안녕이라고 합시다. 그럼 여러분 툴팁입니다. |
| |
좋아, 이것을 저장하고 가자. |
| |
어디까지나 데스크탑으로 보자. 그런 다음 여기에 업로드하십시오. |
| |
테스트였나? |
| 마이클 아커만 |
그것은 스크립트 였지만 괜찮을 것입니다. |
| 요한 |
지금... |
| |
이 파일을 업로드하면 이 자동화된 [inaudible] 파이프라인을 트리거했습니다. |
| |
[들리지 않음] 시스템, 먼저 저장소를 복제한 다음... |
| |
...그 후에 추가 기능을 빌드하면 JMP를 다시 시작할 때 프롬프트가 표시되어야 합니다. |
| 요한 |
모든 편집 내용을 업데이트합니다. |
| 요한 |
업데이트를 선택하면 이제 테스트 스크립트와 함께 데모 메뉴가 표시됩니다. |
| |
따라서 이것은 JMP에 스크립트를 제공하는 가장 간단한 방법입니다. Git 사용에 익숙하다면 더 고전적인 Git 워크플로를 사용할 수도 있습니다. 여기에서 배치 창을 열면 됩니다. 그냥 놔줘... |
| |
그리고 저장소를 복제할 수 있습니다. 로 돌아가자... 여기에서 보여 주는 것 중 일부는 여기에서 사용하는 GitLab 사용과 관련이 있습니다. |
| |
그러나 다른 원격 저장소 코딩, 코드 호스팅 시스템에서도 유사합니다. |
| |
이제 리포지토리를 복제하고 로컬 시스템에 리포지토리의 완전한 미러를 갖게 됩니다. 그리고 이전과 마찬가지로 여기에서 미러링된 디렉토리 구조를 볼 수 있습니다. |
| |
또 다른 스크립트. |
| |
이를 위해. Y'All 메뉴 이름 개선 |
| |
안녕하세요. |
| |
우리가하고 싶다고 말하십시오. 아마도 이번에는 .. |
| |
...대신 프롬프트를 엽니다. |
| |
안녕하세요 세계라고 합니다. |
| |
이제 이번에는 JMP에 포함된 내장 기능 중 하나를 사용할 수 있습니다. 스크립팅 인덱스로 이동하여 다음을 수행할 수 있습니다. |
| |
...Y'All 유틸리티를 검색합니다. |
| |
그리고 errorModal 함수를 찾으면 여기에 사용 방법에 대한 약간의 문서 문자열이 함께 제공됩니다. |
| |
이미 수입산이라... |
| |
Y'All 유틸리티 errorModal |
| 요한 |
그리고 우리는 hello world라고 말할 수 있습니다. |
| 요한 |
이것을 보자. |
| |
우리 저장소에... |
| |
... 데모 중. 그리고 코드를 푸시합니다. |
| |
이제 코드가 원격 저장소로 푸시되어 CICD 파이프라인을 트리거합니다. |
| |
...초, 실행 중인 파이프라인을 볼 수 있어야 하고... |
| |
...곧. |
| |
아직 시작하지 않았습니다. |
| |
아마 내가 좀... |
| |
...짜증 난. 우리는 거기에 갈. |
| |
따라서 Y'All에 대한 업데이트를 확인하면 새 업데이트가 표시됩니다. 그게 다야? |
| |
우리는 업데이트를 선택할 것입니다... |
| |
...추가 기능이 추가되었으며 이제 데모에 향상된 hello world가 포함됩니다. |
| |
좋아요, 그래서 제가 사용자 데모를 위해 가지고 있었던 것 같아요. |
| 마이클 아커만 |
고마워요, 요한. 괜찮으시다면 화면 공유를 다시 인계하겠습니다. |
| 요한 |
예. |
| 마이클 아커만 |
그리고 저는 이 사용자 경험이 일어날 때 배후에서 무슨 일이 일어나고 있는지 조금 알고 싶었습니다. Visual Studio Code에서 이 코드를 살펴보겠습니다. |
| |
Zip 파일을 다운로드하면 원하는 곳 어디에서나 볼 수 있으며, 조금 더 쉽게 볼 수 있도록 Zen 모드로 빠르게 전환하겠습니다. 여기 우리가 간다. |
| |
여기 Johan이 해당 스크립트를 업로드할 때마다 실행되는 GitLab CICD 파이프라인이 있습니다. 그래서 그는 Git 저장소에 들어갔다 ... |
| |
...그리고 그는 더하기 버튼을 눌러 스크립트를 업로드했고 이 CICD 파이프라인을 시작했습니다. 따라서 이것은 서버가 해당 상황에 어떻게 반응해야 하는지를 정의하는 작은 스크립트입니다. |
| |
사전 단계와 빌드 단계... |
| |
...Johan의 새 스크립트를 포함하여 Git 리포지토리와 그 안의 모든 파일을 작업 디렉토리에 복제한 곳은 ... |
| |
...러너라고 하는 이 처리 모듈은 해당 코드에서 작동할 수 있습니다. 그런 다음 빌드했으므로 이 빌드 단계를 실행합니다. |
| |
CD -- 디렉토리 변경 -- 해당 빌드 디렉토리로 이동하고 해당 Python 빌드 스크립트를 실행합니다. 그래서 정말 쉽습니다. 이 모든 새 파일을 작업 폴더에 복제하고 해당 폴더로 이동하고 Python 3에서 Python 빌드 스크립트를 실행합니다. |
| |
그럼 파이썬 빌드 스크립트를 살펴보겠습니다. 나는 그것에 대해 탭을 제어 할 것입니다. build_yall.py입니다. |
| |
그래서 이것은 많은 코드입니다. 하지만 이것을 보고 있고 그것을 보는 방법에 대한 일종의 가이드를 원한다면 이 프로세스 함수까지 스크롤하십시오. def 프로세스를 말합니다. |
| |
이것은 Y'All을 빌드하고 단계별로 진행하는 주요 코드입니다. 그래서 우리는 진행하면서 이것에 대해 살펴볼 것입니다. |
| |
가장 먼저 발생하는 일은 Python 스크립트가 메뉴 계층을 구축하는 것입니다. 그럼 그 내용을 살펴보겠습니다. 그것이 하는 일은 src/scripts 아래의 폴더 구조를 살펴보는 중첩된 Python 사전을 만드는 것입니다... |
| |
...그리고 찾은 모든 JSL 파일을 해당 JSL 파일의 이름과 도구 설명 및 파일 위치가 포함된 사전으로 가져옵니다. 따라서 기본적으로 한 번에 한 폴더씩 중첩된 사전을 만들고 크롤링합니다. |
| |
그런 다음 각 JSL 파일의 명령 이름을 확인합니다. 우리는 해당 파일을 구문 분석하고 Johan이 스크립트 상단에 입력한 Y'All 메뉴 이름과 Y'All 툴팁을 찾습니다. |
| |
...JMP의 추가 기능 메뉴에 있어야 하는 버튼 이름과 툴팁을 정의합니다. Y'All이 설치될 때마다 해당 Y'all 메뉴가 표시되며 마우스를 가져가면 해당 메뉴의 이름과 툴팁이 표시되어야 합니다. |
| |
Y'All 메뉴 이름이나 Y'All 툴팁 종류의 마법 명령을 찾을 수 없으면 대신 툴팁 없이 스크립트 이름으로 대체됩니다. 따라서 test.jsl은 Johan에서 본 것처럼 테스트가 될 것입니다. |
| |
메뉴에 있는 해당 명령 사전은 알파벳순으로 정렬되어 있어 찾기 쉽도록 되어 있습니다. 단, 도움말 및 설정 메뉴는 맨 위에 팝업되어 항상 메뉴 맨 위에 표시됩니다. |
| |
도움말과 설정이 중요하기 때문입니다. 그런 다음 모든 정보가 JMPcust 파일에 기록됩니다. |
| |
따라서 .jmpcust 파일은 본질적으로 JMP에 대해 다음을 수행하는 방법을 정의하는 일종의 마크업 언어 문서입니다. |
| |
어떤 메뉴 버튼이 있어야 하는지, 메뉴 자체가 어디에 있어야 하는지, 도구 설명이 있어야 하는지는 모두 이 .jmpcust 파일에 정의되어 있습니다. |
| |
탭을 Y'All로 제어할 것이므로 이것이 어떻게 보이는지 볼 수 있습니다. 말 그대로 메뉴가 무엇인지에 대한 정의의 무리입니다 ... |
| |
..그리고 메뉴 이름과 메뉴 내용. 따라서 도움말 및 설정 메뉴에는 Y'All 업데이트 확인, 베타 테스트 모드 켜기 끄기 등이 포함되어 있습니다. |
| |
따라서 Python 스크립트는 jmpcust 파일 작성 기능을 사용하여 이를 자동으로 작성할 것입니다. |
| |
그런 다음 추가 기능 정의 파일을 작성합니다. 따라서 addin.def 및 version.txt입니다. Addin.def -- 그 예로 넘어가겠습니다 -- 약간... |
| |
...JMP가 추가 기능을 식별하고 버전 번호와 지원되는 최소 JMP 버전을 찾는 데 사용하는 설명 비트입니다. |
| |
우리는 12라고 말합니다. 12시 이전의 일에 대해 걱정할 필요가 없다는 것은 우리 측의 임의적인 선택입니다. 직접 작업을 시작하는 경우 Python 코드에서 이를 변경할 수 있습니다. 여기서 볼 수 있는 것처럼 추가 기능 버전도 여기에 정의되어 있습니다. |
| |
그리고 이것을 version.txt라는 파일에 작성하여 addin.def에서 본 것과 동일한 정수가 version.txt에서도 끝나도록 합니다. |
| |
그 이유는 원격으로 읽을 수 있는 좋은 작은 파일이기 때문입니다. 서버에서 HTTP를 통해 JMP로 열 수 있습니다... |
| |
...현재 버전과 비교하기 위해 해당 version.txt 파일에서 해당 버전 번호를 매우 빠르게 살펴보십시오. 따라서 현재 설치된 버전이 version.txt와 일치하지 않으면... |
| |
...즉, 업데이트해야 합니다. 그렇지 않으면 최소한 업데이트할 수 있습니다. 우리가 사용하는 버전 번호는 UTC 시간대에서 실행된 날짜 시간입니다. |
| |
그리고 1970년 이후 기본적으로 초로 변환합니다. 따라서 날짜 시간 형식으로 다시 변환할 수 있는 정수입니다. |
| |
따라서 정수 기준으로 두 숫자를 비교할 수 있습니다. 우리는 그들이 서로보다 크거나 작은지 쉽게 알 수 있으며 여전히 날짜로 다시 변환할 수 있습니다. 따라서 JMP에 해당 버전 번호를 저장하는 매우 효율적인 방법입니다. |
| |
마침내. |
| |
다음으로 할 일은 -- 그래서 우리는 이러한 추가 파일을 작성했습니다 -- 우리는 사용자 정의 함수 스크립트를 만듭니다. 그래서 이것은 조금 이상하고 설명하기가 조금 어렵습니다. 신속하고 정확하게 처리할 수 있도록 최선을 다하겠습니다. |
| |
JMP에는 사용자 정의 함수를 정의하는 두 가지 방법이 있습니다. 하나는 JMP 스크립팅 언어에서 function이라는 함수를 사용하는 것입니다. 그 역할은 -- 여기에서 Y'All의 importables 하위 디렉토리와 utils.jsl로 전환하겠습니다. |
| |
함수는 다른 위치에서 사용하고 호출할 수 있는 사용자 정의 함수를 정의합니다. 그리고 이것을 네임스페이스로 정의할 수 있습니다. 따라서 이 경우 Y'All utils라는 네임스페이스가 있습니다. |
| |
...함수명으로 recode if. 그리고 이 인수를 취하며 여기에 문서 문자열과 이 함수 코드가 작성되었습니다. |
| |
JSL에서 사용자 정의 함수를 작성하는 두 번째 방법은 함수와 동일하지 않은 새로운 사용자 정의 함수를 사용하는 것입니다. 나는 이것이 추가되었고 JMP 14라고 생각합니다. |
| |
새로운 사용자 정의 함수가 하는 일은 JMP 스크립팅 인덱스와 JSL IDE에 함수를 추가하여 해당 함수로 작업하고 문서가 있는 다른 위치에서 재사용할 수 있도록 하는 것입니다. |
| |
따라서 기능의 장점은 JMP의 버전을 알지 못하는 상태로 다시 작동한다는 것입니다... |
| |
...JMP를 사용하기 전에. 새로운 사용자 정의 함수의 장점은 좀 더 강력하고 문서, JMP 스크립팅 색인 및 JSL IDE에서 색상을 지정하는 기능을 얻을 수 있다는 것입니다. |
| |
...코드를 작성할 때의 팁. 그래서 우리는 새로운 사용자 정의 기능을 좋아하지만 JMP 14 이전에 JMP를 지원하고 싶습니다. 그래서 빌드 스크립트는 ... |
| |
...여기서는 기본적으로 importables 디렉토리를 통해 구문 분석하여 해당 함수 함수 함수와 일치하는 함수 정의를 찾습니다... |
| |
... 문서 문자열이 있는 JSL에서. 따라서 슬래시 별표 구분 사이의 문서 문자열을 구문 분석하고 이를 새로운 사용자 정의 함수로 가져오려고 합니다. 여기에서 예를 볼 수 있습니다. |
| |
우리는 그 recode if 함수를 취하고 이제 그것을 recode if라고 하는 Y'All utils 네임스페이스의 새로운 사용자 정의 함수로 자동으로 다시 작성합니다. |
| |
그리고 이 모든 것이 표시되는 프로토타입과 설명 및 스크립팅 색인 범주가 있습니다. JMP 개발자는 이 모든 것을 자동으로 사용할 수 있습니다. 따라서 JSL의 이전 함수 함수를 사용하여 항목을 작성할 수 있으며 여전히 이 JMP 스크립팅 인덱스를 얻을 수 있습니다. |
| |
...능력, Y'All 빌드 스크립트를 자동으로 사용합니다. 여기에서 내 프로세스 코드로 다시 스크롤하십시오. |
| |
이 모든 것이 작성되어 이제 추가 기능을 빌드합니다. JMP 추가 기능은 수정된 Zip 형식을 사용하고 있습니다. 따라서 Python 3을 사용하여 함께 압축하고 YALL.jmpaddin으로 이름을 바꾸면 CICD 러너가 작동하는 작업 디렉토리에서 사용할 수 있습니다. |
| |
따라서 이 빌드 스크립트가 완료된 후 이 CICD 파이프라인의 마지막 단계는 해당 작업 디렉터리로 이동하고 아티팩트를 업로드하는 것입니다. |
| |
빌드 아티팩트는 GitLab CICD 개념으로, YALL.jmpaddin 및 version.txt 파일을 서버에 업로드하고 특정 URL에서 사용할 수 있도록 합니다. |
| |
URL은 항상 일관성이 있고 GitLab에서 실행 중인 분기에 연결되어 있으므로 베타 버전과 기본 릴리스 버전을 비교하는 경우입니다. |
| |
이제 JMP에서 -- 건너뛰겠습니다. 하!... |
| |
... autoUpgrade.jsl로. 여기에서 추가 기능의 새 버전을 확인합니다. JMP가 로드되면 Y'All이 이 자동 업그레이드 스크립트를 실행합니다. |
| |
... GitLab 저장소에서 새 버전을 찾습니다. 여기에서 베타 모드든 메인 모드든 베타 플래그를 로드하는 것을 볼 수 있습니다. |
| |
그리고 우리는 해당 모드에 대한 특정 채널을 찾습니다. 그래서 우리는 당기고 있습니다 ... |
| |
...해당 채널 선택을 기반으로 하는 특정 URL에서. 그래서 우리가 베타 모드에 있다면 베타 채널을 보게 될 것입니다. 메인 모드에 있다면 메인 채널을 볼 것입니다. 그리고 YALL.jmpaddin 파일과 version.txt를 찾습니다. |
| 마이클 아커만 |
이제 해당 버전 번호를 설치된 버전 번호와 비교하고, 다른 경우 사용자에게 업데이트를 요청합니다. 요한의 화면에서 본 대화 상자를 팝업... |
| 마이클 아커만 |
... 업데이트를 원하는지 묻고 해당 버전 번호를 알려줍니다. 그리고 그들은 선택하거나 선택하지 않을 수 있습니다. |
| |
그래서. |
| |
그게 전부입니다. 사용자를 위해 무대 뒤에서 일어나는 모든 일. 그들은 더하기 버튼을 사용하여 GitLab UI를 통해 스크립트를 업로드하여 파일을 업로드하고 새 ... |
| |
...JMP 추가 기능, Y'All JMP 추가 기능을 만들고 동일한 저장소에 연결된 다른 사용자가 사용할 수 있도록 합니다. |
| |
무대 뒤에서 일어나는 모든 일. 사용자는 JMP의 레드 핫스팟에서 JMP 스크립트를 저장하고 GitLab 저장소에 업로드하는 것만큼 쉽습니다. |
| |
그래서 저는 Y'All의 기능을 요약하고 싶었습니다. |
| |
우리는 매우 쉬운 스크립트 기여를 가지고 있습니다. 본 것처럼 파일을 업로드하고, JSL 스크립트를 업로드하고, 사용할 수 있도록 하는 멋진 사용자 인터페이스가 있습니다. |
| |
그리고 자동 버전 제어 및 코드 보관 기능이 제공됩니다. 따라서 이것은 모두 Novozymes 서버에 저장된 중앙 GitLab 저장소를 통해 발생하기 때문에 모든 것이 추적되고 저장됩니다... |
| |
...영원히. 자동 업데이트를 통해 개발자는 매우 쉽게 사용자에게 스크립트를 릴리스할 수 있으며 항상 최신 버전을 사용할 수 있습니다. |
| |
...제대로 작동하고 품질이 관리되는 스크립트 중. 그리고 베타 및 출시 채널이 있습니다. |
| |
따라서 베타 채널은 본질적으로 즉시 구축되며, Y'All에 도달하고 자주 업데이트되는 새 스크립트의 몇 초 안에 사용할 수 있습니다. 그리고 릴리스 채널은 더 천천히 제어되는 릴리스 구조가 될 것입니다. 나는 우리가 그것을 하는 방법을 만지고 싶었다. |
| |
여기에서 GitLab 저장소의 분기 구조를 볼 수 있습니다. 많은 업데이트가 포함된 베타 분기가 있습니다. 릴리스 분기가 있습니다. 우리는 주요 지점이 있습니다. Novozymes에서 우리가 하는 일 -- 이것은 전적으로 사용자 선택에 달려 있습니다 -- |
| 마이클 아커만 |
...이 베타 분기를 릴리스하려는 상태에 있을 때 가져옵니다. 베타와 릴리스 간의 병합 요청을 열고 릴리스 분기로 이동합니다. 그것은 본질적으로 화면 릴리스 분기를 정지시킬 것입니다 ... |
| 마이클 아커만 |
...이를 수행한 코드 버전에서 이 릴리스 분기에서 코드를 잠급니다. |
| |
베타는 여전히 변경될 수 있습니다. 베타 버전에서는 여전히 스크립트를 추가하고 스크립트를 변경할 수 있습니다. 그러나 이제 릴리스가 동결되었습니다. 우리는 품질 검사를 하고 준비가 되었을 때 상태가 만족스러울 때... |
| |
...메인에 릴리스하고 거기에 병합합니다. 이제 Y'All의 메인 브랜치 사용자가 사용할 수 있습니다. |
| |
검색 가능한 코드가 있습니다. 모든 것은 중앙 저장소의 파일 구조에서 사용할 수 있습니다. 개발자는 스크립트를 살펴보고 ... |
| |
... 기반을 구축하고 개선할 유사한 항목을 찾으십시오. 또한 스크립팅 인덱스에 유틸리티 기능이 자동으로 추가되어 개발자가 자동으로 사용할 수 있으므로 다음 경우에 다시 코딩하는 것과 같은 코드 블록을 재사용할 수 있습니다. |
| |
...또는 일부 데이터베이스 쿼리 및 이와 유사한 것들도 데모로 포함시켰습니다. 그래서 Y'All을 살펴보면... |
| |
...Y'All이 설치된 JMP 스크립팅 인덱스의 네임스페이스. 우리가 그것을 사용하는 방법을 보여주기 위해 포함된 몇 가지 postgres 데이터베이스 쿼리와 postgres 데이터베이스 도구가 있음을 알 수 있습니다. |
| |
이 모든 것은 Y'All 사용자 기반의 다른 사람과 공유하려는 사용자 생성 JSL 스크립트로 JMP에서 시작함으로써 이루어집니다. |
| |
그들은 GitLab에 들어갑니다. 그리고 사용자 인터페이스에서 Y'All에서 원하는 메뉴 위치와 일치하는 하위 디렉토리에 업로드하여 데모 데모 테스트에서 원하는 경우... |
| |
...그들은 그것을 src slash scripts slash demos slash demos 하위 디렉토리에 넣을 것입니다. 일단 그렇게 하면 구조를 구문 분석하고 추가 기능을 빌드하는 Python 빌드 스크립트를 시작하는 자동 빌드 파이프라인이 실행됩니다.... |
| |
... 추가 기능을 사용하여 GitLab 서버에 다시 업로드합니다. 그런 다음 JMP는 새 업데이트를 찾아 자동으로 다운로드하고 JMP의 Y'All 추가 기능을 업데이트하도록 제안합니다. 그리고 해당 스크립트는 해당 베타 채널의 사용자가 단 몇 초 안에 사용할 수 있습니다. |
| |
그래서 우리는 당신이 Y'All에 대해 흥분하기를 바랍니다.당신 자신이나 조직에서 Y'All을 사용하는 데 관심이 있기를 바랍니다. 시작하는 방법에 대한 몇 가지 팁을 제공하고자 합니다. |
| |
JMP 사용자 커뮤니티에서 이 비디오를 보고 있는 경우 JMP 사용자 커뮤니티에 게시되는 Zip 파일(같은 페이지에 있어야 함)에는 시작하는 데 필요한 모든 요소가 있습니다. 그 중 일부는 수정이 필요합니다. 그 중 일부는 가지고 놀 수 있는 데모 코드입니다. |
| |
그러나 자유롭게 다운로드하여 살펴보십시오. 해당 Zip 파일의 Python 빌드 스크립트는 기본 Python 3 라이브러리에 빌드됩니다. 빌드 시스템에는 Python 외에는 설치된 것이 없습니다. 그리고 모든 표준 Python 3 설치에서 실행되어야 합니다. |
| |
지속적인 통합 및 배포를 위해 GitLab for CICD로 수행하는 중앙 리포지토리 스토리지 및 자동화는 다른 제공업체를 통해 제공됩니다. GitLab, GitHub, Azure, AWS는 모두 유사한 구현을 가지고 있습니다. |
| |
거대한 옵션 에코시스템이 있으므로 구현 세부 정보는 조직에 따라 다릅니다. |
| |
그것의 불행한 부작용은 CICD 파이프라인 파일 gitlab-ci.yml을 수정해야 한다는 것입니다. 만약 당신이 이것을 당신의 시스템에서 자동화된 방식으로 실행하고 싶다면 말입니다. 물론 Novozymes 직원이 아닌 한 시스템에서와 같이 작동하지 않습니다. |
| |
내부 베타 데이터베이스를 반영하는 유틸리티 함수의 모든 연결 문자열은 ODBC 내 밑줄 연결 밑줄 문자열로 대체되었습니다. |
| |
이러한 기능을 사용하려면 작업 디렉토리의 코드로 이동하여 데이터베이스를 반영하도록 해당 문자열을 변경해야 합니다. |
| |
다시 한 번 Y'All에 대해 기대해 주시기 바랍니다. Y'All에 관심을 가져주셨으면 합니다. 피드백, 질문, 의견이 있으시면 언제든지 저나 요한에게 연락해 주십시오. |
| |
...그들과 함께. 또한 이 코드를 사용하여 개선하거나 이 도구 키트를 사용하여 흥미로운 방식으로 사용하는 경우 귀하의 기여를 환영합니다. 감사합니다. |
| 크리스티 스페인 |
좋아요. |
| 마이클 아커만 |
시간. |
| 크리스티 스페인 |
합리적으로 완벽합니다. |
| 마이클 아커만 |
해. |
| |
Johan이 JMP가 원하지 않는다고 말한 것은 중요하지 않습니다. |
| 크리스티 스페인 |
알 잖아. |
| 마이클 아커만 |
아마 대부분의 사람들이 이해하지 못할 것 같습니다. |
| 크리스티 스페인 |
새로운 단어로서 나는 그것을 좋아한다. |
| 요한 |
그래서 우리는 그것을 사용하지 말라는 말을 들었고 그래서 우리는 그 물건의 이름을 바꿔야 했고 내가 가지고 있는 버전을 삭제하지 않았기 때문에 II는 버림받았습니다. |
| |
이전에 설치되었습니다. |
| |
그래서 내가 이미 베타에 있다는 것을 깨달았을 때 그것은 나를 버렸습니다. |
| |
어쨌든. |
| 크리스티 스페인 |
예, 괜찮다고 생각합니다. 하지만 지금은 매우 흥미로웠습니다. 사람들이 이것을 보고 싶어할 것 같아서 참여해 주셔서 정말 감사합니다. |
| |
내가 말했듯이 Jeff가 편집할 수 있도록 동영상을 업로드할 예정입니다. 언제 완료될지는 모르겠지만. |
| |
어쨌든, 여러분은 10월에 모든 것을 보게 될 것이지만, 무슨 일이 생기면 확실히 알려 드리겠습니다. |
| |
다시 한번 감사합니다. |
| 요한 |
일반 JMP에 대한 새로운 유형이 있습니다. |
| 마이클 아커만 |
당신이 다른 곳에 있다고 말하는 것은 그저 조금. |
| |
응. |
| 요한 |
Y'All 디렉토리. |
| 크리스티 스페인 |
네, 정말 감사합니다. |
| |
질병에 대한 많은 노력과 우리는 그것을 감사합니다. |
| 마이클 아커만 |
우리의 기쁨. |
| |
에 감사하다. |
| 마이클 아커만 |
다음 위로 빠르게 이동합니다. |
| 크리스티 스페인 |
네, 물론 두 분을 만나서 반가웠습니다. |
| |
다음 번에 바랍니다. |
| |
최소한 마이클과 함께라면 직접 가볼 거에요. 요한, 저쪽에서도 만나고 싶지만. |
| |
응. |
| 마이클 아커만 |
그가 그랬는지, 특히 그가 프레젠테이션을 하고 모든 정상 회담을 하는 경우인지, 아니면 과거에 있었던 일인지 항상 알 수 있습니다. 롤리에서 모든 일이 열린 것과 같은 주이므로 일주일 내내 할 수 있습니다. |
| |
전산회의. |
| |
그리고 많은 현지 현지 직원을 봅니다. |
| 요한 |
여행 예산을 주장하는 것이 더 쉬울 수 있습니다. |
| 크리스티 스페인 |
하나의 권리에 두 개. |
| |
응. |
| 요한 |
괜찮아. |
| 크리스티 스페인 |
그럼 여러분 덕분에 월요일도 잘 쉬고 있습니다. |
| |
당신도 곧 다시 이야기할 수 있습니다. |
| 요한 |
안녕. |
| |
안녕. |