추상 위키백과/업데이트/2021-08-13

This page is a translated version of the page Abstract Wikipedia/Updates/2021-08-13 and the translation is 100% complete.
Other languages:
716-newspaper.svg 추상 위키백과 업데이트 Translate

메일링 리스트를 통한 추상 위키백과 IRC의 추상 위키백과 텔레그램의 위키함수 트위터의 위키함수 페이스북의 위키함수 유튜브의 위키함수 위키함수 웹사이트 Translate

테스터 및 위키마니아

팀은 위키함수를 위한 기능을 개발하고 인터페이스를 설계하느라 바빴고 개발의 현재 단계를 마무리하는 방향으로 나아가고 있습니다. 이제 데이터 모델에서 별칭을 사용할 수 있고, 테스터를 위한 데이터 모델이 업데이트되었으며, 오류 개체가 상당히 재작업되었으며, 평가 모델은 이제 재귀 호출 및 지연 평가 등을 처리할 수 있습니다. 조각들이 모여있는 것을 보는 것은 흥미롭습니다.

오늘의 주간에서는 테스터와 테스터의 현재 구현을 살펴보고자 합니다. 린제이는 여러분이 볼 수 있는 스크린캐스트를 만들었으며(소리 없이), 여기에서 우리는 동영상에서 무슨 일이 일어나고 있는지 설명할 것입니다.

단일 문자열을 입력으로 받아 문자열을 반환하는 새로운 함수 정의 "역 문자열"을 만드는 것으로 시작합니다. 저장 시(0:19) 함수가 생성되고 Z10000이 할당됩니다. 이제 새로 생성된 함수를 편집하고 첫 번째 테스터를 인라인으로 생성합니다. 이름을 "test -> tset"로 지정하고 인수를 "test"로 설정한 다음 "문자열 동등성" 함수를 사용하여 예상한 값과 비교합니다. 결과는 "tset"(0:45)입니다.

“문자열 동등성”은 두 개의 문자열을 인수로 사용하여 같으면 참(True)을 반환하고 그렇지 않으면 거짓(False)을 반환하는 내장 함수(새 위키람다 설치의 Z866)입니다.

테스터를 인라인으로 생성했지만 백그라운드에서 테스트를 보유하는 새 페이지가 생성되었습니다(완전히 뒤에서 ZID Z10001이 할당됨).

다음으로, 동일한 내장 함수(1:00)를 사용하여 회문인 "racecar" 입력에 대한 테스트와 "banana 역전 테스트를 생성합니다. >" 및 "wrong"(잘못된 테스트의 예) 출력을 얻습니다(1:19).

다음으로 자바스크립트에서 "역 문자열"에 대한 구현을 만듭니다. 페이지 맨 아래에는 이미 3명의 테스터가 작동하는 것을 볼 수 있으며 처음에는 모두 실패했음을 보여줍니다(1:30). 이제 우리는 기능 구현을 시작하고 "return Z10000K1"을 입력합니다. 그리고 저장도 하지 않고 테스터는 우리의 구현에 대해 실행되고 "racecar" 테스트 통과! (회문이기 때문에 통과하고 입력을 변경하지 않고 반환하면 회문에 대한 올바른 구현이 발생합니다). 그러나 다른 두 테스트는 계속 실패합니다(1:41).

입력을 받아 문자열 배열로 분할하고 해당 배열을 뒤집은 다음 배열의 문자열을 다시 단일 문자열로 결합하여 구현을 완료합니다. 이제 첫 번째 테스트인 "test -> tset"도 통과하지만 "banana" 테스트(실제로 잘못된 테스트이기 때문에)는 계속 실패합니다(1:54).

구현을 저장하고 함수 페이지로 이동한 다음 구현을 함수에 추가합니다. 기능 페이지에서 구현 페이지와 마찬가지로 구현에 대한 모든 테스터의 상태를 볼 수 있습니다.

다음으로 이번에는 파이썬에서 두 번째 구현을 만듭니다. 다시 말하지만, 단순히 입력을 반환하는 구현으로 시작하고 다시 "racecar"를 전달합니다. 함수 페이지로 돌아가서 새로운 파이썬 구현을 함수와 연결합니다. 페이지 하단의 표에서 모든 테스터에 대한 구현과 개별 테스터가 각 구현에 대한 통과 또는 실패 여부를 확인합니다(2:28).

다시 인라인으로 "another -> rehtona""final test -> tset lanif"라는 두 가지 테스트를 추가로 생성합니다. 테스트는 생성 즉시 표시됩니다. 함수 페이지와의 연결을 저장하려면 전체 페이지를 저장해야 합니다. 두 테스트가 자바스크립트 구현에 대해 어떻게 통과하고 파이썬 구현에 대해 실패하는지 확인할 수 있습니다(3:43).

파이썬 구현을 수정하러 가시죠.구현 페이지로 이동하여 문자열에 "[::-1]"를 추가하여 편집합니다. 이것이 파이썬의 마법입니다. 이 구문을 설명하는 이 단락은 건너뛰어도 됩니다. 파이썬에는 다른 많은 언어에서 함수나 더 복잡한 구문이 필요한 특정 작업에 대한 몇 가지 매우 편리한 단축 구문이 있습니다. 여기서 일어나는 일은 문자열 변수에 대괄호를 추가하여 문자열을 암시적으로 목록으로 취급한다는 것입니다. 대괄호 안에는 콜론(:)으로 구분된 세 개의 인수가 있습니다. 첫 번째 인수는 시작할 요소, 두 번째 인수는 중지할 요소, 세 번째 인수는 단계 크기를 나타냅니다(예를 들어, 목록의 모든 두 번째 요소만 원할 경우 단계 크기를 2로 명시). 여기에서 단계는 -1이며, 이는 목록을 뒤로 이동하려는 것을 의미합니다. 그리고 첫 번째와 두 번째 인수가 생략되었으므로 기본값이 사용되며 음수 단계 크기의 기본값은 끝에서 시작까지입니다. 간단히 말해서, "문자열을 처음부터 끝까지 하나씩 역순으로 살펴보고 새로운 결과 문자열을 반환합니다"로 읽을 수 있습니다. 스택오버플로에서 파이썬의 슬라이스 표기법에 대한 자세한 설명을 찾을 수 있습니다.

파이썬 코드를 수정한 후(4:07) 테스트 중 하나를 제외한 모든 테스트가 만족스럽게 녹색으로 전환되었습니다. 새롭게 개선된 버전을 자신있게 저장합니다. "역 문자열"의 함수 페이지로 이동하면 이제 자바스크립트와 파이썬 구현이 모두 일관되게 동작하는 것을 볼 수 있습니다. 바나나 테스터를 고칠 시간입니다!

바나나 테스터 페이지로 이동하여 예상 값을 "wrong"에서 "ananab"로 변경합니다. 다시 말하지만, 저장하기 전에 테스터는 두 구현 모두에 대해 다시 실행되고 메시징 실패에서 통과했음을 알리는 것으로 전환됩니다(4:26). 함수 페이지로 돌아가서 이제 모든 테스터가 모든 구현을 통과했음을 알 수 있습니다.

마지막으로, 새로운 테스트가 인라인으로 생성되는(4:39) 약간 나중에 추가된(그리고 기록된, 약간 다른 형식을 설명하는) 기능을 봅니다. 새 테스터를 인라인으로 생성하는 동안 모든 구현에 대한 테스트 실행 결과는 테스터가 아직 저장되기 전에 이미 표시됩니다. 두 구현이 모두 통과한 것을 볼 수 있으면 새 테스터가 저장되고(따라서 5:28이 생성됨) 함수 페이지 자체를 저장하여 새 테스터와 함수를 연결합니다(5:35).

우리의 새로운 테스터 기능을 통해 이 회오리바람 투어를 즐기셨기를 바라며 위키함수가 어떻게 작동하는지 살짝 엿볼 수 있기를 바랍니다. 피드백과 아이디어는 언제나처럼 환영합니다.


우리 모두는 주말을 기대합니다: 위키마니아 2021이 시작되었습니다! 함수함수 및 추상 위키백과는 8월 14일 토요일 17:00 UTC세션을 주최합니다. 여기에서 우리의 작업을 발표하고 귀하 및 위키미디어 커뮤니티와 대화할 패널이 있을 것입니다. 저희와 함께 하시고 질문을 가지고 오세요. 활발한 토론을 기대합니다!