스피커
|
성적 증명서
|
| 마이클 애커만 |
크리스티. |
| 크리스티 스페인 |
좋은 아침, 잘 지내요 마이클. |
| 마이클 애커만 |
어떻게 지내세요. |
| 크리스티 스페인 |
좋습니다. 제가 이해하지 못하도록 이메일을 닫겠습니다. |
| 마이클 애커만 |
네, 컴퓨터 설정을 간소화하여 아무것도 핑이 울리지 않도록 하고 있습니다. |
| 크리스티 스페인 |
내가 툴바를 눌렀는지 알아요. 나인가요? |
| |
내가 모든 것을 가지고 있다고 생각하세요. |
| |
주말은 어때요? |
| 마이클 애커만 |
좋았습니다. 주말 잘 보내고 계시나요? |
| |
좋은. |
| 크리스티 스페인 |
그래서 당신은 어둠 속에 살고 있습니까? |
| 마이클 애커만 |
헬렌이 우리를 기다려요. |
| |
네, 본부와 꽤 가까워서 실제 발견 서밋에 갈 예정이었습니다. |
| |
에 직접 참석했습니다. |
| |
실망스럽기도 했지만. |
| |
응, 응, 안녕. |
| 크리스티 스페인 |
안녕하세요, 좋은 아침입니다. 잘 지내세요. |
| 요한 |
좋은 일을. |
| 마이클 애커만 |
당신이 거기에 도달한 것처럼 내 뒤에 박식한 벽을 설치해야 해요 요한. |
| 요한 |
나는 클릭을 넣었다. |
| |
이것과 대니의 책이 거기 있어서 당신은 알아볼 수 없을 거예요. |
| 크리스티 스페인 |
좋아 보인다. |
| |
지난주에 혼동을 드려 죄송합니다. |
| |
두 분을 가상으로 만날 수 있게 되어 기쁩니다. |
| |
나는 Nova Zone을 지원하는 프리미어 팀의 일원이기 때문에 어쨌든 그들이 나를 너희들에게 배정해서는 안 됐어. |
| |
어디 보자, 두 분 모두 디스플레이를 2010년 19시로 설정하려면 몇 가지 작업을 수행해야 합니다. |
| |
그래요. |
| 요한 |
다시 확인해 보겠습니다. |
| 크리스티 스페인 |
엄청난. |
| |
그리고 |
| |
사운드가 좋다면 로고를 달고 있는 사람은 아무도 없을 것입니다. |
| |
저작권 침해를 일으킬 수 있는 항목이 보이지 않는지 확인하세요. 거기에 있는 귀하의 책에 문제가 있을지는 모르겠습니다. |
| |
응, 그렇게 해보자, 만약을 대비해서. |
| 마이클 애커만 |
그 중 한 명은 전직 JMP Discovery Summit 기조 연설자로 구성되었습니다. |
| 요한 |
누구입니까? |
| 마이클 애커만 |
아, 그 사람이 와서 그 일에 대해 설명하는 게 아니었어요. |
| 크리스티 스페인 |
아, 그 책이 있어요. |
| 마이클 애커만 |
응, 응. |
| 요한 |
나는하지 않았다. |
| |
이메일에 있는 항목 중 하나를 저장했지만 계속해서 이메일에서 해당 항목을 꺼내면 됩니다. |
| 마이클 애커만 |
나는 팔에 웹캠을 달고 있어서 나를 향해 움직일 수 있고 앞뒤로 움직일 수 있고 좌우로 움직일 수 있기 때문에 영원히 만지작거리는 것과 같습니다. |
| 크리스티 스페인 |
아 좋은 생각이네요. |
| |
한 번도, 내가 올바른 곳에서 본 적이 없어, 그래. |
| |
그러면 모두가 팀에 관계없이 모든 앱 전망을 달성합니다. |
| |
그렇게. |
| 마이클 애커만 |
가까운 팀은 알림을 받아서는 안 됩니다. |
| 크리스티 스페인 |
그리고 당신에게는 30분의 시간이 있습니다. 맞습니까? |
| 마이클 애커만 |
그건 내 이해야, 응. |
| 크리스티 스페인 |
그리고 여러분도 그럴 것입니다. |
| |
이상적으로는 시작해서 곧바로 진행하고 싶습니다. |
| |
전환할 때마다 화면 공유를 테스트하시겠습니까? |
| 마이클 애커만 |
왜냐하면 우리는 어느 시점에서 내 화면과 당신의 화면을 전환할 예정이므로 먼저 내 화면을 공유하겠습니다. |
| |
소리를 공유할 필요가 없습니다. |
| |
그래서. |
| 마이클 애커만 |
여기서 다시 시작하겠습니다. |
| 크리스티 스페인 |
안녕 알렉스 맞아. |
| |
좋아요. |
| 마이클 애커만 |
그래서 당신은 우리가 그랬어요 그랬어요 그랬어요 그랬어요 그랬어요 그런 다음 우리는 당신에게 넘겨졌습니다. |
| 요한 |
응, 우리가 화면 공유를 스스로 제어할 거야, 우리 대신 프로듀서를 쓸 수 있어. |
| 크리스티 스페인 |
네 그렇게 해야겠죠. |
| |
아, 배경이 정말 멋지네요. |
| 요한 |
감사해요. |
| 크리스티 스페인 |
나는 그것을 가지고 있어야합니다. |
| 마이클 애커만 |
내가 더 많이 될 수 있다면 우리는 더 균일해질 수 있을 것 같아요. |
| 요한 |
아니, 우리는 우리만의 개인을 가져야 합니다. |
| |
예. |
| 크리스티 스페인 |
응, 마이클에게 가보자. |
| 요한 |
응. |
| |
나는 당신이 할 화면상 링크가 많지 않을 것 같아요. 대부분의 이야기를 한 다음 우리는 화면 공유를 할 것입니다. |
| 마이클 애커만 |
화면이 공유되는 동안 우리에게 무엇이 보일지 잘 모르겠습니다. |
| 크리스티 스페인 |
글쎄요, 녹음 파일을 다시 받을 때마다요. |
| |
나는 네 가지를 얻습니다. |
| |
버전에는 당신이 포함되지 않은 버전이 있고 Jeff Perkinson이 모든 것을 편집할 것인지 확신할 수 없기 때문에 그가 어느 언덕을 선택할지 알 수 없습니다. |
| |
나는 그가 연사에게 그렇게 보여주고 싶어한다고 생각합니다. |
| 마이클 애커만 |
화면에서 본 것 같아요. |
| |
그런데 마우스 오른쪽 버튼을 클릭하면 아이콘을 끌 수 있습니다. |
| 요한 |
혼란스러운 창을 관리하면 다음과 같습니다. |
| 크리스티 스페인 |
글쎄요, 그게 정말 그렇게 어려운 일인가요? |
| 요한 |
오 예. |
| |
그래서 마우스 오른쪽 버튼을 클릭하고 보는 것은 무엇입니까? |
| 마이클 애커만 |
응, 그 사람은 괜찮다고 생각했어. |
| |
왜냐면 정확히 어디인지 기억나지 않거든요. |
| |
저는 데스크탑에 아이콘을 켜는 일이 전혀 없습니다. 그냥 뭔가를 설치하도록 두었기 때문에 아이콘을 켜면 똑같습니다. |
| 요한 |
응. |
| 크리스티 스페인 |
그러니 Michael, 작업이 끝나면 그냥 괜찮다고 화면 공유에서 넘겨주세요라고 말한 다음 우리는 거기서부터 갈 것입니다. 우리는 정말로 쉬지 않을 것입니다. 즉, 응. |
| 마이클 애커만 |
그리고 내 방에는 노란색 필터가 있습니다. |
| 크리스티 스페인 |
아, 빨간불이 마음에 드시나요? |
| 마이클 애커만 |
그래도 날 파랗게 만들어, 그래. |
| 크리스티 스페인 |
내 책상이 너무 작아서 여기에는 공간이 너무 많아요. |
| 마이클 애커만 |
응, 난 일찍 독립하게 됐어. 내 상사가 내 마이크 품질과 카메라 품질에 대해 계속 불평해서 난 괜찮아, 당신이 나에게 새 마이크 카메라를 사주다니. |
| 크리스티 스페인 |
다행이네요. 저는 이 새 헤드셋을 받지 못했습니다. |
| 마이클 애커만 |
그럼 빨리 문을 닫도록 할게요. |
| 크리스티 스페인 |
아 그렇군요. 털복숭이 친구나 뛰어다니는 아이들을 알고 있다면 그게 중요합니다. |
| 요한 |
응 좋아 나도 별로 좋지 않아 응 내가 문을 닫을게. |
| 크리스티 스페인 |
그리고 요한 당신은 어디에 있나요? |
| 요한 |
회사에서. |
| 크리스티 스페인 |
나보다 오 좋아. |
| |
완전히. |
| 요한 |
아, 그랬죠. |
| 크리스티 스페인 |
결혼한 친구가 있어요. |
| |
코펜하겐 출신의 한 남자가 덴마크 출신이어서 우리는 그곳을 방문했습니다. |
| |
아, 그래, 아름다워. |
| 크리스티 스페인 |
좋습니다. 그렇다면 여러분의 회사 이름과 초록 제목을 알려주시면 좋을 것 같습니다. |
| |
그리고 이것은 녹음을 위한 것이 아닙니다. 이것은 단지 Jeff의 목적을 위한 것입니다. |
| 마이클 애커만 |
이름은 확실합니다. 제 이름은 Michael Increment입니다. 저는 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 JMP 사용자 커뮤니티의 Michael mxak입니다. Y'All에 대한 질문이나 후속 조치, 의견이 있거나 우리가 구축한 것과 우리가 협력하고 있는 것을 개선할 수 있는 방법이 있으면 언제든지 연락해 주세요. . |
| |
우리는 Novozymes에서 일합니다. Novozymes는 글로벌 생명공학 회사입니다. 우리는 지속가능성을 위한 생물학적 솔루션을 구축합니다... |
| |
... 전 세계 모든 산업 분야의 성능을 향상하고 비용을 절감합니다. 따라서 우리는 농업, 바이오 연료, 가사 관리, 식품 및 음료, 동물 건강 및 더 많은 산업을 지원합니다... |
| |
...이러한 생물학적 솔루션을 사용하면 됩니다. 전 세계적으로 6,000명 이상의 직원이 있고 그 직원 중에는 수백 명의 JMP 사용자가 있습니다. |
| |
그리고 저는 우리가 지원하고 JMP를 사용하여 작업하고 JMP로 작업하는 사람들과 협력하고 있는 매우 큰 JMP 사용자 집단을 보유하고 있기 때문에 이것이 바로 Y'All에게 영감을 주었기 때문에 언급한 것입니다. |
| |
회사로서 우리의 목적은 "함께 성장하는 세계에서 더 나은 삶을 위한 생물학적 답을 찾는 것입니다. 내일 다시 생각해 봅시다."입니다. |
| |
앞서 언급했듯이 Novozymes에는 매우 큰 규모의 JMP 사용자 집단이 있습니다. |
| |
그래서 우리는 그들의 삶이 JMP 스크립트와 JMP 추가 기능을 사용하여 더 쉽게 작업할 수 있도록 하고 코드의 재사용 및 검색 가능성을 높이고 싶었습니다. |
| |
그래서 우선 업데이트를 쉽게 만들고 싶었습니다. 우리는 Novozymes 전체에서 사람들이 이메일로 스크립트를 주고받는 것을 관찰했습니다. |
| |
개인 네트워크 드라이브에 JSL 파일을 보내는 중이었습니다. 그들 중 일부는 그것을 플래시 드라이브에 담아서 나눠주고 있었습니다. 우리는 새로운 JMP 스크립트와 업데이트된 JMP 스크립트를 최대한 쉽게 배포하고 싶었습니다. |
| |
우리는 코드를 보호하는 아카이브를 만들고 싶었습니다. 우리는 JMP 사용자가 많기 때문에 이 모든 작업이 조직에 많은 가치를 제공합니다. |
| |
따라서 모든 귀중한 코드가 저장되고 백업되고 보관되는 중앙 저장소입니다. |
| |
그리고 우리는 시간이 지남에 따라 버전을 추적하고 싶었습니다. 따라서 스크립트가 변경되고 개선됨에 따라 이러한 변경 사항을 확인하고 시간이 지남에 따라 해당 변경 사항을 추적할 수 있기를 원했습니다. |
| |
그리고 JMP 개발자라면 스크립트를 쉽게 검색하고 재사용할 수 있도록 만들고 싶었습니다. |
| |
...JSL 스크립트를 작성하는 개발자라면 다른 개발자가 작성한 관련 스크립트를 찾아서 개선할 수 있습니다. |
| |
당신이 필요로 하는 것이 무엇이든 그것을 기반으로 구축하십시오. 따라서 해당 스크립트를 편리하게 가져와 이를 기반으로 구축할 수 있으며, 조직의 다른 구성원이 유용하다고 생각할 JSL의 기능을 편리하게 공유하고 가져오고 재사용할 수 있습니다. |
| |
그래서 이것을 현실로 만들기 위해 우리는 세 가지 구성 요소를 결합했습니다. Python 빌드 스크립트, GitLab 인터페이스, JSL 로드 및 업데이트 스크립트가 모두 이 툴킷에서 함께 작동합니다. |
| |
Python 빌드 스크립트는 Python 3 이상에서 실행되어 JSL 파일을 자동으로 구문 분석하고 추가 기능 메뉴 구조로 구성하는 자동화된 스크립트입니다. |
| |
또한 추가 기능 정의 파일을 작성합니다. 이 재사용 가능한 유틸리티 함수를 모두 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 파일이 제공되므로 사람들은 Y'All 사용자인 Novozymes 사용자가 제출한 스크립트의 이 파일 구조를 살펴보고 볼 수 있습니다. |
| |
...원하는 것과 가까운 목적에 맞는 스크립트를 찾아 자신의 목적에 맞게 수정하세요. |
| |
또한 스크립팅 인덱스에 편의 유틸리티 기능을 추가합니다. 당신은 그 작은 스크린샷을 볼 수 있습니다 ... |
| |
...왼쪽과 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의 색상 행 Selection.jsl. Byron Wingerd가 작성한 다중 Y축 차트와 자동 검증 설정이 JMP Discovery Summit에서도 발표된 것 같습니다... |
| |
...지난해 Mike Anderson이 작성한 Riffyn 데이터 캡처 소프트웨어인 Riffyn Nexus에 가져올 수 있는 기능 모음이 있습니다... |
| |
...Riffyn이 작성한 API를 사용하여 Riffyn 도구 JMP 추가 기능을 허가를 받아 통합했습니다. 이는 우리가 Novozymes에서 많이 사용하는 도구입니다. 다른 Riffyn 사용자가 있으면 이 코드를 자유롭게 사용할 수 있기 때문에 이것을 포함했습니다. |
| |
그래서 그 과정에서 우리는 사용자 경험과 사용자가 Y'All 툴킷을 사용하여 작업하면서 보고 수행하는 것부터 시작하여 일부 라이브 데모에 뛰어들고 싶었습니다. 이에 대해서는 공동 발표자 Johan에게 제어권을 넘기겠습니다. |
| |
요한, 당신은 음소거되었습니다. |
| 요한 |
고마워요, 마이클. |
| |
미안합니다. 내 화면을 공유하겠습니다. |
| |
이걸 보고 있나요? |
| 남자 이름 |
예. |
| 요한 |
괜찮은. |
| |
따라서 Michael이 말했듯이 Y'All을 사용하는 사용자 경험을 안내해 드리겠습니다. |
| |
Y'All의 사용자가 되는 것은 실제로 3단계입니다. 대다수의 사용자는 기본적으로 JMP 플랫폼이 내장된 것처럼 사용합니다. 그들... |
| |
...스크립트를 가리키고 클릭하여 의도한 목적에 맞게 실행하세요. 우리는 스크립트에 기여하는 꽤 큰 사용자 그룹도 있습니다. |
| |
간단한 스크립트를 기여할 수 있습니다. 그리고 우리는 좀 더 발전된 일을 하는 소수의 개발자와 유지관리자(??) 그룹을 갖고 있으며, 우리도 그 부분을 조금이라도 끌어내려고 노력할 것입니다. |
| |
하지만 우선 Y'All의 실제 간단한 사용법입니다. GitLab 저장소에 생성된 빌드 아티팩트(??)에 대한 이 링크를 클릭하고 JMP 편집 파일을 다운로드하여 JMP로 실행하면 설치가 간단합니다. |
| |
이제 이로 인해 업데이트가 필요해졌습니다. 이번에는 취소하려고 합니다. 여기 내 메뉴 표시줄에 Y'All 메뉴가 있습니다. |
| |
...Michael이 언급한 데모 스크립트 중 일부가 포함되어 있습니다. 이 스크립트는 실제로 Y'All 패키지의 일부는 아니지만 데모 목적으로 포함되어 있으므로 자세히 설명하지 않겠습니다. 하지만 내가 할 일은 들어가려고 노력하는 것이고... |
| |
...앗, 활성화하세요. 죄송합니다. 이미 활성화되어 있는 것으로 나타납니다. 베타 테스트를 활성화하면 이제 몇 가지 항목을 만들기 시작하므로 즉시 볼 수 있습니다. |
| |
대부분의 사용자는 베타 테스트를 비활성화하고 주요 릴리스 이후 JMP를 열 때(몇 주에 한 번씩) 업데이트 메시지가 표시됩니다. 그러나 베타 테스트가 활성화된 사용자의 경우 베타 브랜치가 업데이트되는 시기는 하루에 여러 번에서 일주일에 두 번 정도일 수 있습니다. |
| |
이것이 기본적으로 일반 사용자를 위한 내용입니다. |
| |
여기에 스크립트를 기여하고 싶다면 몇 가지 방법이 있습니다. 한 가지는 GitLab UI를 통한 것입니다. 이제 방금 본 메뉴 구조가 다음과 같이 미러링되었습니다. |
| |
...디렉토리 구조... |
| |
...저장소. 그래서 새로운 것을 만들고... |
| |
...메뉴나 하위 메뉴는 새 디렉토리를 만드는 것만큼 쉽습니다. 여기, 그냥 이렇게 부르자... |
| |
..."시민" |
| 요한 |
그리고 그것을 추가하십시오. |
| 요한 |
그리고 스크립트를 추가하고 싶다면 JMP IDE에서 간단히 생성할 수 있으므로 매우 간단하게 만들 수 있습니다. |
| |
안녕하세요. |
| |
이 정도면 충분할 것입니다. 실제로 약간의 추가 세부 사항이 있는데, 이는 도구 설명을 얻기 좋은 방식으로 메뉴 항목의 이름을 지정하는 것입니다. 우리는 [???] 또는 코드 매직을 구현했습니다. 즉, 주석 처리된 쓰기로 시작하면 죄송합니다. |
| |
당신은요. |
| |
메뉴 이름. |
| 마이클 애커만 |
여러분. |
| |
메뉴 이름. |
| 요한 |
Y'All 메뉴 이름 |
| 마이클 애커만 |
오래된 습관. |
| 요한 |
안녕하세요라고 부르자. 그럼 여러분 툴팁입니다. |
| |
좋습니다. 이것을 저장해 보겠습니다. |
| |
어디든 데스크탑으로 가봅시다. 그런 다음 여기에 업로드하세요. |
| |
테스트였나요? |
| 마이클 애커만 |
스크립트였지만 괜찮을 것입니다. |
| 요한 |
지금... |
| |
이 파일을 업로드한 후에는 자동화된 [들리지 않음] 파이프라인을 트리거했습니다. |
| |
[들리지 않음] 시스템은 먼저 저장소를 복제한 다음... |
| |
...추가 기능을 빌드한 후 JMP를 다시 시작하면 메시지가 표시됩니다. |
| 요한 |
모든 편집 내용을 업데이트합니다. |
| 요한 |
업데이트를 선택하면 이제 테스트 스크립트와 함께 데모 메뉴가 표시됩니다. |
| |
따라서 이것이 JMP에 스크립트를 제공하는 가장 간단한 방법입니다. Git 사용에 익숙하다면 보다 일반적인 Git 워크플로를 사용할 수도 있습니다. 여기서 일괄 창을 열겠습니다. 그냥 놔둬... |
| |
그리고 저장소를 복제할 수 있습니다. 다시 돌아가자... 여기서 보여드리는 것 중 일부는 여기에서 사용하는 GitLab 사용과 관련된 것입니다. |
| |
그러나 다른 원격 저장소 코딩, 코드 호스팅 시스템에서도 비슷합니다. |
| |
이제 저장소를 복제하고 있으며 로컬 시스템에 저장소의 완전한 미러가 생성됩니다. 이전과 마찬가지로 여기에 미러링된 디렉터리 구조를 볼 수 있으며, 디렉터리 구조를 만들 수 있는지 확인해 보겠습니다. |
| |
또 다른 스크립트. |
| |
이를 위해. Y'All 메뉴 이름이 개선되었습니다. |
| |
안녕하세요. |
| |
우리가 그러고 싶다고 말해 보세요. 어쩌면 이번에는.. |
| |
...대신 프롬프트를 엽니다. |
| |
안녕하세요 세상이라고 말합니다. |
| |
이제 이번에는 JMP에 포함된 기본 기능 중 하나를 사용할 수 있습니다. 스크립팅 인덱스로 이동해 보겠습니다. |
| |
...Y'All 유틸리티를 검색하세요. |
| |
그리고 errorModal 함수를 찾으세요. 여기에는 사용 방법에 대한 간단한 문서 문자열이 포함되어 있습니다. |
| |
이미 수입됐으니... |
| |
Y'All utils 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 빌드 스크립트를 실행합니다. |
| |
이제 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이라는 함수를 사용하는 것인데, 그 기능은 -- 여기에서는 utils.jsl과 Y'All의 importables 하위 하위 디렉터리로 전환하겠습니다. |
| |
함수는 다른 위치에서 사용하고 호출할 수 있는 사용자 정의 함수를 정의합니다. 그리고 이를 네임스페이스로 정의할 수 있습니다. 따라서 이 경우에는 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를 통해 스크립트를 업로드하여 파일을 업로드하고 새로운 것을 빌드합니다. |
| |
...Y'All JMP 추가 기능인 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 슬래시 스크립트 슬래시 데모 슬래시 데모 하위 디렉토리에 넣습니다. 일단 그렇게 하면 자동 빌드 파이프라인이 실행되어 구조를 구문 분석하고 추가 기능을 빌드하는 Python 빌드 스크립트를 시작합니다.... |
| |
...추가 기능을 수행하고 이를 GitLab 서버에 다시 업로드합니다. 그런 다음 JMP는 새 업데이트를 찾아 자동으로 이를 다운로드하고 JMP에서 Y'All 추가 기능을 업데이트하도록 제안합니다. 그리고 해당 베타 채널의 사용자는 단 몇 초 안에 해당 스크립트를 사용할 수 있습니다. |
| |
그러니 Y'All에 대해 많은 관심을 가져주시길 바랍니다. Y'All을 직접 사용하거나 조직에서 사용하는 데 관심이 있기를 바랍니다. 그렇다면 시작하는 방법에 대한 몇 가지 팁을 제공하고 싶습니다. |
| |
JMP 사용자 커뮤니티에서 이 동영상을 시청하는 경우 JMP 사용자 커뮤니티에 게시된 Zip 파일(동일한 페이지에 있어야 함)에는 시작하는 데 필요한 모든 요소가 포함되어 있습니다. 그 중 일부는 수정이 필요합니다. 그 중 일부는 여러분이 가지고 놀 수 있는 데모 코드입니다. |
| |
하지만 자유롭게 다운로드하여 살펴보세요. 해당 Zip 파일의 Python 빌드 스크립트는 기본 Python 3 라이브러리를 기반으로 빌드되었습니다. 우리 빌드 시스템에는 Python 외에는 아무것도 설치되어 있지 않습니다. 그리고 표준 Python 3 설치에서 실행되어야 합니다. |
| |
지속적인 통합 및 배포를 위해 CICD용 GitLab을 사용하여 수행하는 중앙 저장소 저장 및 자동화는 다른 공급자를 통해 사용할 수 있습니다. GitLab, GitHub, Azure, AWS는 모두 유사한 구현을 가지고 있습니다. |
| |
광범위한 옵션 생태계가 있으므로 구현 세부 사항은 조직에 따라 다릅니다. |
| |
불행한 부작용은 CICD 파이프라인 파일 gitlab-ci.yml을 자신의 시스템에서 자동화된 방식으로 실행하려면 수정이 필요하다는 것입니다. 물론 귀하가 Novozymes 직원이 아닌 이상 귀하의 시스템에서는 작동하지 않습니다. |
| |
내부 베타 데이터베이스를 반영한 유틸리티 함수의 모든 연결 문자열은 ODBC 내 밑줄 연결 밑줄 문자열로 대체되었습니다. |
| |
이러한 기능 중 하나를 사용하려면 작업 디렉터리의 코드로 이동하여 데이터베이스를 반영하도록 해당 문자열을 변경해야 합니다. |
| |
다시 한 번 여러분이 Y'All에 대해 많은 관심을 가져주시길 바랍니다. Y'All에 관심이 있기를 바랍니다. 피드백, 질문, 의견이 있으시면 언제든지 저나 Johan에게 연락해 주세요. |
| |
...그들과 함께. 또한 이 코드를 사용하여 개선하거나 이 툴킷을 사용하여 흥미로운 방식으로 사용하신다면 기여해 주시면 감사하겠습니다. 감사합니다. |
| 크리스티 스페인 |
좋아요, 정말 좋았어요. |
| 마이클 애커만 |
시간. |
| 크리스티 스페인 |
적당하게 완벽해 응. |
| 마이클 애커만 |
그렇죠. |
| |
Johan이 JMP가 원하지 않는다고 말한 것은 중요하지 않습니다. |
| 크리스티 스페인 |
알잖아. |
| 마이클 애커만 |
내 생각에는 대부분의 사람들이 아마 그것을 이해하지 못할 것 같습니다. |
| 크리스티 스페인 |
새로운 단어로서 나는 그것을 좋아한다. |
| 요한 |
그래서 우리는 그것을 사용하지 말라는 말을 듣고 이름을 바꿔야 했고, 내가 가지고 있던 버전을 삭제하지 않아서 버림받았습니다. |
| |
이전에 설치되었습니다. |
| |
그래서 제가 이미 베타 버전에 참여하고 있다는 사실을 깨달았을 때 저는 정말 당황했습니다. |
| |
어쨌든. |
| 크리스티 스페인 |
네 괜찮다고 생각합니다. 하지만 지금은 정말 좋았습니다. 매우 흥미로웠습니다. 사람들이 이것을 보고 싶어할 것 같아서 참여해 주셔서 정말 감사합니다. |
| |
아까 말했듯이 제프가 편집할 수 있도록 영상을 업로드할 예정인데 언제 완성될지는 모르겠지만. |
| |
어쨌든 여러분은 10월에 모든 것을 보게 될 것입니다. 하지만 무슨 일이 생기면 반드시 알려드리겠습니다. |
| |
다시 한 번 감사드립니다. |
| 요한 |
일반적인 JMP와 유사한 새로운 유형이 있습니다. |
| 마이클 애커만 |
당신이 다른 곳에 있다고 말하는 건 좀 그렇네요. |
| |
응. |
| 요한 |
너희 모두 디렉토리. |
| 크리스티 스페인 |
네, 정말 고마워요. 그런 줄 알아요. |
| |
질병에 대한 많은 노력과 우리는 그것에 감사드립니다. |
| 마이클 애커만 |
우리의 기쁨. |
| |
에 감사하다. |
| 마이클 애커만 |
다음 작업 후 빠르게 이동합니다. |
| 크리스티 스페인 |
네, 물론 두 사람을 만나서 반가웠어요. |
| |
다음 번에 바랍니다. |
| |
적어도 마이클과는 직접 만나서 얘기할 거에요. 요한도 거기 가서 만나고 싶지만. |
| |
응. |
| 마이클 애커만 |
특히 그가 발표를 하고 모든 정상회담이 있거나 과거에 직접 있었던 일이 있다면 항상 알 수 있습니다. 롤리에서 모든 것이 열리는 것과 같은 주였기 때문에 일주일 내내 할 수 있습니다. |
| |
전산회의. |
| |
그리고 현지 현지 직원들을 많이 만나보세요. |
| 요한 |
여행 예산에 대해 논쟁하는 것이 더 쉬울 수도 있습니다. 그렇다면 그렇습니다. |
| 크리스티 스페인 |
하나에 두 개가 맞습니다. |
| |
응. |
| 요한 |
괜찮은. |
| 크리스티 스페인 |
좋아요, 여러분 월요일 즐거운 한 주 잘 보내세요. 감사합니다. |
| |
당신도 곧 다시 이야기를 나눌 수 있습니다. |
| 요한 |
안녕. |
| |
안녕. |