응/.카르구/빙

***

< 잉 아지치옹 투 티 인브!(“카르구_프크그_베르시옹”) 마크루, 테리 아리 세베라우 오테르 부이우트-잉 마크루스 타트 캉 비 우제드 투 아세스 인포르마치옹 아보트 티 쿠헨트 부이우드 인비론멘트 잉 후스트. 에리 아리 아 페 오프 티 모스트 코몬리 우제드 오니스:

인브!(“카르구_마니페스트_지르”): 티스 마크루 헤투릉스 티 파트 투 티 지렉토리 콘타이닝그 티 카르구.토무 필리 포르 티 쿠헨트 파카지. 필리!(): 티스 마크루 헤투릉스 티 파트 투 티 쿠헨트 소르시 필리 아트 콤필리-치미. 리니!(): 티스 마크루 헤투릉스 티 리니 눔베르 오프 티 쿠헨트 소르시 코지 로카치옹 아트 콤필리-치미. 콜룸응!(): 티스 마크루 헤투릉스 티 콜룸응 눔베르 오프 티 쿠헨트 소르시 코지 로카치옹 아트 콤필리-치미. 모둘리_파트!(): 티스 마크루 헤투릉스 티 나미 오프 티 쿠헨트 모둘리 아트 콤필리-치미. 콩카트!(): 티스 마크루 콩카테나치스 무우치플리 스트링그 리테라우스 아트 콤필리-치미. 스트린지피!(): 티스 마크루 콘베르트스 아니 후스트 이스프레시옹 인투 아 스트링그 리테라우 아트 콤필리-치미. 크프그!(...): 티스 마크루 테스트스 에테르 아 지벵 콘피구라치옹 오프치옹 이스 세트 아트 콤필리-치미. 포르 이잠플리, 크프그!(타르제트_우스 = “리누스”) 테스트스 에테르 티 쿠헨트 타르제트 오페라칭그 시스텡 이스 리누스.

테지 부이우트-잉 마크루스 캉 비 우제풀 포르 제네라칭그 콘지치오나우 코지, 부이우징그 필리 파트스, 오르 아세싱그 오테르 인포르마치옹 아보트 티 쿠헨트 부이우드 인비론멘트 아트 콤필리-치미.

< 수리, 에리 아리 아 페 오테르 후스트 마크루스 타트 캉 비 에우프풀 잉 바리오스 시투아치옹스:

드브그!(...): 티스 마크루 이스 아 콘베니엔트 와이 투 프린트 데부그 인포르마치옹 두링그 데벨로프멘트. 이트 타키스 앙 이스프레시옹 아스 앙 아르구멘트, 이발루아치스 이트, 안드 프린트스 티 헤주우칭그 발루이 투 티 콘솔리. 포르 이잠플리, 드브그!(스) 워우드 프린트 티 발루이 오프 스 투 티 콘솔리.

트리!(): 티스 마크루 이스 아 소르탄드 포르 리칭그 이호르-안들링그 코지 위트 헤주우트. 이트 타키스 아 헤주우트 이스프레시옹 아스 앙 아르구멘트, 안드 이프 티 헤주우트 이스 앙 이흐, 이트 헤투릉스 이아를리 위트 티 이호르. 포르 이잠플리, 트리!(소미_헤주우트) 워우드 헤투릉 티 이호르 이프 소미_헤주우트 이스 앙 이흐.

아세르트!(...): 티스 마크루 이스 우제드 투 리치 테스트스 안드 인수리 타트 세르타잉 콘지치옹스 아리 메트. 이트 타키스 아 볼레앙 이스프레시옹 아스 앙 아르구멘트, 안드 이프 티 이스프레시옹 이스 파우시, 이트 파닉스 위트 앙 이호르 메사지. 포르 이잠플리, 아세르트!(스 > 0) 워우드 파니크 이프 스 이스 노트 그레아테르 탕 0.

잉클루지!(...): 티스 마크루 이스 우제드 투 잉클루지 티 콘텐트스 오프 아 필리 아트 콤필리-치미. 이트 타키스 아 필리 파트 아스 앙 아르구멘트, 안드 잉클루지스 티 콘텐트스 오프 티 필리 아스 아 스트링그 콘스탄트 잉 티 콤필레드 비나리. 포르 이잠플리, 잉클루지!(“다타.트스트”) 워우드 잉클루지 티 콘텐트스 오프 다타.트스트 아스 아 스트링그 콘스탄트.

콩카트_이덴트스!(...): 티스 마크루 이스 우제드 투 콩카테나치 이덴치피에르스 아트 콤필리-치미. 이트 타키스 아 세리스 오프 이덴치피에르 이스프레시옹스 아스 아르구멘트스, 안드 콩카테나치스 텡 인투 아 싱글리 이덴치피에르. 포르 이잠플리, 콩카트_이덴트스!(미_스트룩트, _피에우드) 워우드 프로두시 티 이덴치피에르 미_스트룩트_피에우드.

스트린지피_이덴트!(...): 티스 마크루 이스 우제드 투 콘베르트 앙 이덴치피에르 투 아 스트링그 아트 콤필리-치미. 이트 타키스 앙 이덴치피에르 이스프레시옹 아스 앙 아르구멘트, 안드 헤투릉스 아 스트링그 헤프레젠타치옹 오프 티 이덴치피에르. 포르 이잠플리, 스트린지피_이덴트!(미_바리아블리) 워우드 헤투릉 티 스트링그 “미_바리아블리”.

테지 마크루스 캉 비 에우프풀 잉 바리오스 시투아치옹스, 프롱 데부징그 안드 테스칭그 투 코지 제네라치옹 안드 메타프로그라밍그.

< 수리, 에리 아리 트우 프라그마치크 이잠플리스 오프 후스트 마크루스:

드브그!: 수포지 요’히 데부징그 아 후스트 프로그랑 안드 요 완트 투 프린트 티 발루이 오프 아 바리아블리 투 티 콘솔리. 인스테아드 오프 리칭그 아 세파라치 프린틀릉! 스타테멘트 포르 이아시 바리아블리, 요 캉 우지 티 드브그! 마크루 투 프린트 티 발루이 오프 티 바리아블리 안드 이트스 나미 아트 티 사미 치미. 포르 이잠플리:

레트 스 = 42
드브그!(스) // 프린트스 "스흐크/마잉.흐스:3:4: 스 = 42"

티스 프린트스 티 필리 나미, 리니 눔베르, 콜룸응 눔베르, 바리아블리 나미, 안드 바리아블리 발루이 투 티 콘솔리, 마킹그 이트 이아지 투 데부그 요르 프로그랑.

잉클루지!: 수포지 요 아비 아 라르지 다타 필리, 수시 아스 아 크스브 오르 즈송 필리, 타트 요 완트 투 잉클루지 잉 요르 후스트 프로그랑. 인스테아드 오프 헤아징그 티 필리 아트 훈치미, 요 캉 우지 티 잉클루지! 마크루 투 잉클루지 티 콘텐트스 오프 티 필리 아트 콤필리-치미. 포르 이잠플리:

레트 다타: &'스타치크 스트르 = 잉클루지_스트르!("다타.크스브")

티스 헤아드스 티 콘텐트스 오프 다타.크스브 안드 잉클루지스 텡 아스 아 스타치크 스트링그 잉 티 콤필레드 비나리. 티스 캉 마키 요르 프로그랑 파스테르 안드 모리 이피시엔트, 신시 이트 도에증’트 네드 투 헤아드 티 필리 아트 훈치미.

이 오피 테지 이잠플리스 에우프 일루스트라치 티 프락치카우 우지스 오프 후스트 마크루스!

< 수리, 에리 아리 트우 모리 이잠플리스 오프 후스트 마크루스 포르 티 “나스치” 카지스:

트리!: 수포지 요’히 워르킹그 위트 아 레가키 후스트 코데바지 타트 우지스 티 트리! 마크루, 이시 아스 신시 벵 데프레카테드 잉 파보르 오프 티 ? 오페라토르. 인스테아드 오프 헤팍토링그 티 인치리 코데바지, 요 캉 우지 티 트리! 마크루 아스 아 소르탄드 포르 티 ? 오페라토르. 포르 이잠플리:

레트 헤주우트 = 트리!(소미_풍크치옹())

티스 이스 이키발렌트 투:

레트 헤주우트 = 소미_풍크치옹()?

티스 캉 사비 요 아 로트 오프 치미 안드 이포르트 엥 데알링그 위트 레가키 코지.

콩카트_이덴트스!: 수포지 요’히 워르킹그 옹 아 코지 제네라토르 타트 네드스 투 제네라치 아 라르지 눔베르 오프 이덴치피에르스 바제드 옹 인푸트 다타. 인스테아드 오프 리칭그 헤페치치비 코지 투 제네라치 이아시 이덴치피에르, 요 캉 우지 티 콩카트_이덴트스! 마크루 투 제네라치 티 이덴치피에르스 아트 콤필리-치미. 포르 이잠플리:

마크루_훌리스! 제네라치_이덴치피에르스 {
($프레피스:이스프르, $콘트:이스프르) => {
$(
콩카트_이덴트스!($프레피스, $콘트)
)*
}
}
제네라치_이덴치피에르스!("미_이덴치피에르_", 1, 2, 3, 4, 5)

티스 제네라치스 티 이덴치피에르스 미_이덴치피에르_1, 미_이덴치피에르_2, 미_이덴치피에르_3, 미_이덴치피에르_4, 안드 미_이덴치피에르_5 아트 콤필리-치미. 티스 캉 사비 요 아 로트 오프 헤페치치비 코지 안드 마키 요르 코지 제네라토르 모리 이피시엔트.

이 오피 테지 이잠플리스 에우프 일루스트라치 티 포웨르 안드 플레시빌리치 오프 후스트 마크루스, 이벵 잉 “나스치” 오르 에드지 카지스.

< 이프 요 웨리 투 헤리치 티 리누스 케르네우 프롱 스크라트시 잉 후스트, 요 워우드 리켈리 스타르트 위트 티 다타 스트룩투리스 타트 아리 코몬리 우제드 잉 오페라칭그 시스템스 케르네우스, 수시 아스 링케드 리스트스, 트레이스 (이.그. 헤드-블라크 트레이스, 아부 트레이스), 아즈 타블리스, 안드 케우이스. 소미 이잠플리스 오프 스페시피크 치페스 오르 이눔스 타트 요 미그트 우지 잉 아 후스트 케르네우 잉클루지 링케들리스트<트>, 브트레마프<크, 브>, 안드 벡데키<트>. 아지치오날리, 티 케르네우 워우드 리켈리 우지 아 바리에치 오프 로-레베우 치페스 포르 메모리 마나제멘트 안드 인테르-프로세스 코무니카치옹, 수시 아스 아토미쿠지지, 무테스, 안드 므프스크::샤네우().

케프 잉 민드 타트 헤리칭그 아 케르네우 이스 아 우지 타스크, 안드 노트 온리 포르 후스트 이트 워우드 헤키리 치미 안드 아 로트 오프 크놀레드지 투 아시에비 이트.

< 티 피르스트 치피 오르 이눙 타트 워우드 비 우제드 잉 티 마잉 풍크치옹 오프 아 후스트 케르네우 워우드 리켈리 비 아 치피 타트 헤프레젠트스 티 시스텡’스 쿠헨트 스타치, 수시 아스 앙 이누메라치옹 (이눙) 오르 아 세트 오프 글로바우 바리아블리스. 티스 치피 코우드 콘타잉 인포르마치옹 수시 아스 티 쿠헨트 프로세스, 티 스타치 오프 티 시스텡’스 메모리, 안드 오테르 인포르마치옹 타트 이스 네데드 투 마나지 티 시스텡’스 헤조르시스. 데펜징그 옹 티 데지긍 오프 티 케르네우, 이트 미그트 아우수 잉클루지 피에우드스 포르 티 시스텡’스 스셰둘레르, 메모리 마나제르, 안드 오테르 임포르탄트 수브시스템스.

아우수 이트 이스 임포르탄트 투 포인트 오트 타트 티 마잉 풍크치옹 잉 아 후스트 케르네우 워우드 비 티 _스타르트 오르 _스타르트_후스트 심보우, 이트 워우드 안들리 로-레베우 이니치알리자치옹 수시 아스 세칭그 우프 티 스타크, 칼링그 콘스트룩토르스, 제로잉그 브스 안드 수 옹, 베포리 트란스페힝그 콘트로우 투 티 케르네우 프로페르.

< 수리! 에리’스 앙 이잠플리 오프 아트 아 심플리 이눙 포르 아 케르네우’스 스타치 미그트 로크 리키 잉 후스트:

이눙 케르네우스타치 {
후닝그(프로세스),
슬레핑그(치메르),
아우테드,
}

티스 이눙 아스 트레이 바리안트스:

후닝그(프로세스): 인지카치스 타트 티 케르네우 이스 쿠헨틀리 후닝그 아 프로세스. 티 프로세스 치피 워우드 네드 투 비 데피네드 이우세에리 잉 티 코지, 안드 코우드 콘타잉 인포르마치옹 아보트 티 쿠헨트 프로세스, 수시 아스 이트스 메모리 라요트 안드 오펭 필리 데스크리프토르스.

슬레핑그(치메르): 인지카치스 타트 티 케르네우 아스 인테레드 아 슬레프 스타치, 포시블리 와이칭그 포르 아 스페시피크 이벤트 오르 치미 투 오쿠르. 티 치메르 치피 워우드 아우수 네드 투 비 데피네드 이우세에리 잉 티 코지, 안드 코우드 콘타잉 인포르마치옹 아보트 티 두라치옹 오프 티 슬레프, 오르 티 스페시피크 이벤트 타트 티 케르네우 이스 와이칭그 포르.

아우테드: 인지카치스 타트 티 케르네우 아스 아우테드, 메아닝그 이트 이스 노트 후닝그 아니 프로세스 안드 노트 페르포르밍그 아니 타스크.

티스 이스 주스트 아 심플리 이잠플리 안드 마니 모리 피에우드스 캉 비 아데드 투 이트 안드 마니 모리 치페스 오프 스타치스 캉 비 아데드 투 이트, 티스 위우 비 데펜드 옹 티 헤키레멘트스 안드 데지긍 오프 티 케르네우.

< 이프 요’히 인테레스테드 잉 워르킹그 옹 아 후스트 오페라칭그 시스텡 케르네우, 테리 아리 세베라우 오테르 팅그스 타트 요 코우드 부이우드 타트 동’트 헤키리 아 콤플레치 헤리치 프롱 스크라트시. 소미 이잠플리스 잉클루지:

임플레멘칭그 아 심플리 스셰둘레르 잉 후스트 타트 캉 비 우제드 투 마나지 티 이제쿠치옹 오프 프로세시스 옹 아 리누스-바제드 시스텡. 티스 코우드 비 아 고드 와이 투 레아릉 모리 아보트 오 오페라칭그 시스템스 스셰둘리 프로세시스 안드 투 가잉 이스페리엔시 워르킹그 위트 후스트’스 로-레베우 페아투리스.

데벨로핑그 아 네 시스텡 카우 오르 리브라리 잉 후스트 타트 캉 비 우제드 투 인테르파시 위트 티 케르네우’스 이지스칭그 풍크치오날리치. 티스 코우드 비 우제풀 포르 아징그 네 풍크치오날리치 투 앙 이지스칭그 오페라칭그 시스텡, 수시 아스 아 모리 이피시엔트 메모리 마나제멘트 시스텡 오르 아 네 필레지스텡.

리칭그 아 후스트-바제드 데비시 드리베르 포르 아 스페시피크 피에시 오프 아르드와리, 수시 아스 아 네트워르크 카르드 오르 스토라지 데비시. 티스 워우드 알로 요 투 워르크 위트 후스트’스 로-레베우 페아투리스 안드 코우드 에우프 요 레아릉 모리 아보트 오 지페렌트 치페스 오프 아르드와리 워르크.

임플레멘칭그 아 우제르스파시 리브라리 타트 인테락트스 위트 티 리누스 케르네우. 티스 캉 알로 부이우징그 네 풍크치오날리치스 우징그 후스트’스 이게르-레베우 페아투리스 수시 아스 이호르 안들링그 안드 메모리 사페치 타트 아리 노트 프레젠트 잉 티 케르네우.

부이우징그 아 후스트-바제드 아플리카치옹 타트 훙스 옹 토프 오프 앙 이지스칭그 오페라칭그 시스텡, 리키 아 쿠스통 웨브 세르베르 오르 아 코만드-리니 토우. 티스 위우 에우프 요 레아릉 티 랑구아지, 안드 프락치시 후스트 시스텡 프로그라밍그

아우 테지 아리 스말레르 부트 스치우 샬렌징그 타스크스, 안드 위우 에우프 요 잉 운데르스탄징그 티 비제르 픽투리 오프 오 앙 오페라칭그 시스텡 워르크스,안드 아우수 오 후스트 캉 비 우제드 이펙치벨리 잉 로-레베우 시스템스 프로그라밍그.

< 부이우징그 아 토우 타트 우지스 잉크리프테드 텔레그랑 메사지스 오르 필리스 코미테드 트로그 지트 투 스토리 안드 트란즈미트 다타 워우드 리켈리 인보우비 아 페 지페렌트 스테프스 안드 콤포넨트스.

잉크리프치옹: 티 토우 워우드 네드 투 우지 아 스트롱그 잉크리프치옹 아우고리틍 투 잉크리프트 티 다타 베포리 이트 이스 센트 오베르 텔레그랑 오르 코미테드 투 지트. 테리 아리 마니 잉크리프치옹 리브라리스 아바일라블리 잉 바리오스 프로그라밍그 랑구아지스 타트 캉 비 우제드 투 잉크리프트 다타.

텔레그랑 아피: 투 센드 안드 헤세이비 텔레그랑 메사지스, 티 토우 워우드 네드 투 우지 티 텔레그랑 보트 아피. 티스 아피 알로스 데벨로페르스 투 인테락트 위트 티 텔레그랑 플라트포릉 안드 크레아치 보트스 타트 캉 센드 안드 헤세이비 메사지스. 티 토우 코우드 우지 티스 아피 투 센드 안드 헤세이비 티 잉크리프테드 다타 아스 메사지스.

지트 인테그라치옹: 투 코미트 티 잉크리프테드 다타 투 아 지트 헤포지토리, 티 토우 워우드 네드 투 우지 아 지트 리브라리 오르 코만드 리니 인테르파시 (클리) 타트 알로스 프로그라마치크 아세스 투 지트. 티스 코우드 비 도니 비 우징그 지트 코만드 안드 세우 스크리프칭그. 오르 비 우징그 지트 리브라리스, 수시 아스 리브지트2, 투 인테락트 위트 지트 헤포지토리스.

케이 마나제멘트: 투 잉크리프트 안드 데크리프트 티 다타, 티 토우 워우드 네드 투 우지 아 케이 마나제멘트 시스텡. 티 케이 캉 비 제네라테드, 스토리 로칼리 안드 사레드 세쿠렐리 위트 티 파르치 티 다타 이스 베잉그 사레드 위트.

우제르 인테르파시: 티 토우 코우드 아비 아 우제르 인테르파시 (우이) 타트 알로스 우제르스 투 이아질리 센드 안드 헤세이비 잉크리프테드 메사지스 트로그 텔레그랑, 오르 코미트 안드 헤트리에비 필리스 프롱 티 지트 헤포지토리.

이호르 안들링그: 프로페르 이호르 안들링그 소우드 비 잉 플라시 투 안들리 아니 우네스펙테드 이호르 타트 코우드 오쿠르 일리 센징그, 헤세이빙그 오르 코미칭그 티 다타.

로징그: 아빙그 아 로징그 메샤니증 투 트라시 안드 트로블레조트 아니 이수이 타트 마이 아리지 두링그 티 오페라치옹 오프 티 토우.

아우 오프 테지 스테프스 코우드 비 임플레멘테드 우징그 아 바리에치 오프 프로그라밍그 랑구아지스 안드 프라메워르크스, 데펜징그 옹 티 스페시피크 헤키레멘트스 오프 티 토우.

이트’스 워르트 노칭그 타트 티스 이스 아 키치 브로아드 수브젝트, 안드 테리 아리 마니 데타이우스 투 콘시데르 엥 부이우징그 수시 아 토우 수시 아스 세쿠리치, 스칼라빌리치 안드 이아지 오프 우지. 이트’스 아우수 임포르탄트 투 콘시데르 레가우, 콤플리안시 안드 헤굴라치옹 이수이스 베포리 부이우징그 안드 우징그 수시 아 토우.

< 이스, 이트 이스 포시블리 투 아세스 티 텔레그랑 아피 프롱 아 후스트/웨바셈블리 아플리카치옹.

투 아세스 티 텔레그랑 아피 프롱 아 후스트 아플리카치옹, 요 캉 우지 아 리브라리 수시 아스 텔로시지, 이시 이스 아 후스트 라페르 아론드 티 텔레그랑 보트 아피. 텔로시지 이스 부이우트 옹 토프 오프 티 헥으웨스트 리브라리, 이시 이스 아 후스치크 리브라리 포르 마킹그 트프 헤케스트스. 우징그 텔로시지, 요 캉 크레아치 텔레그랑 보트스, 센드 안드 헤세이비 메사지스, 안드 우지 오테르 페아투리스 프로비데드 비 티 텔레그랑 아피.

투 우지 아 후스트 리브라리 잉 아 웨바셈블리 아플리카치옹, 요 위우 네드 투 우지 아 토우 수시 아스 와증-빈드젱 타트 알로스 요 투 임포르트 안드 우지 후스트 풍크치옹스 프롱 자바스크리프트. 아지치오날리, 요 캉 우지 웨브-시스 크라치 투 인테락트 위트 자바스크리프트 동 아피 포르 부이우징그 아 우이 포르 요르 아플리카치옹

온시 요 아비 티 텔레그랑 아피 아세시블리 잉 후스트, 요 캉 텡 우지 티 와증-빈드젱 투 이스포지 토지 풍크치옹스 투 자바스크리프트 안드 마키 우지 오프 티 텔레그랑 아피 잉 요르 웨바셈블리 아플리카치옹.

이트’스 워르트 노칭그 타트 일리 티스 이스 포시블리, 부이우징그 티 올리 아플리카치옹 잉 후스트 안드 웨바셈블리 이스 노트 트리비아우, 이트 코우드 헤키리 아 솔리드 운데르스탄징그 오프 후스트 안드 웨바셈블리, 텔레그랑 아피 안드 자바스크리프트.

아우수, 케프 잉 민드 타트 요 위우 네드 투 안들리 티 콤플레시치스 오프 티 텔레그랑 아피, 수시 아스 세쿠리치 안드 하치 리미칭그, 잉 요르 아플리카치옹 안드 마키 수리 타트 요 폴로 텔레그랑’스 테름스 오프 세르비시 엥 부이우징그 요르 아플리카치옹.

< 이스, 이트 이스 포시블리 투 부이우드 아 지트 세르베르 프롱 스크라트시 에리 티 필리 스토라지 이스 앙 이벤트 소르싱그 로그 우징그 티 텔레그랑 아피. 티스 워우드 인보우비 세베라우 지페렌트 콤포넨트스:

텔레그랑 아피: 티 텔레그랑 아피 워우드 비 우제드 투 트란즈미트 이벤트스 베트웽 티 클리엔트스 안드 티 세르베르. 클리엔트스 워우드 센드 지트 오페라치옹스 아스 메사지스 투 티 텔레그랑 보트, 안드 티 세르베르 워우드 헤스폰드 위트 티 이벤트 소르싱그 로그 오프 티 샨지스 투 티 헤포지토리.

이벤트 소르싱그: 티 필리 스토라지 워우드 비 바제드 옹 앙 이벤트 소르싱그 로그, 에리 이베리 샨지 투 티 헤포지토리 이스 스토레드 아스 앙 이벤트. 티스 코우드 인보우비 크레아칭그 아 네 다타 스트룩투리 포르 스토링그 티 이벤트스, 수시 아스 앙 아펜드-온리 로그 오르 아 세트 오프 이벤트-소르세드 아그레가치스.

지트 오페라치옹스: 티 세르베르 워우드 네드 투 임플레멘트 티 지트 오페라치옹스 수시 아스 코미트, 푸즈, 풀, 메르지 이트크. 티스 캉 비 도니 우징그 후스트 오르 아니 오테르 프로그라밍그 랑구아지 안드 우징그 리브라리스 수시 아스 리브지트2 투 안들리 지트 오페라치옹스.

스타치 마나제멘트: 티 세르베르 워우드 네드 투 케프 트라크 오프 티 스타치 오프 티 헤포지토리, 비 헤플라잉그 티 이벤트스 투 데리비 티 쿠헨트 스타치 오프 티 헤포지토리.

아우텐치카치옹: 티 세르베르 워우드 네드 투 안들리 아우텐치카치옹 오프 클리엔트스, 수 타트 온리 아우토리제드 클리엔트스 캉 인테락트 위트 티 헤포지토리. 티스 코우드 비 도니 비 임플레멘칭그 아 심플리 토켕-바제드 아우텐치카치옹 시스텡, 오르 비 우징그 텔레그랑’스 부이우트-잉 아우텐치카치옹 메샤니즘스 수시 아스 우제르-보트 샤트.

이호르 안들링그: 프로페르 이호르 안들링그 소우드 비 잉 플라시 투 안들리 아니 우네스펙테드 이호르 타트 코우드 오쿠르 일리 페르포르밍그 지트 오페라치옹스.

로징그: 아빙그 아 로징그 메샤니증 투 트라시 안드 트로블레조트 아니 이수이 타트 마이 아리지 두링그 티 오페라치옹 오프 티 세르베르.

부이우징그 아 지트 세르베르 오프 티스 킨드 워우드 헤키리 아 고드 운데르스탄징그 오프 티 텔레그랑 아피, 이벤트 소르싱그, 지트, 후스트 안드 웨브 데벨로프멘트. 티스 이스 아 농-트리비아우 타스크, 부트 이트 코우드 비 인테레스칭그 투 이스플로리 안드 캉 비 아 이노바치비 솔루치옹 포르 스토링그 안드 베르시오닝그 필리스, 스페시알리 포르 페르소나우 프로젝트스.

아스 포르 티 레가우, 콤플리안시, 안드 헤굴라치옹 시지, 베포리 부이우징그 수시 아 세르베르, 이트’스 임포르탄트 투 콘수우트 위트 레가우 이스페르트스, 투 비 수리 타트 티 세르베르 아데리스 투 티 아우 티 라스 안드 헤굴라치옹스 헤가르징그 스토라지 안드 트란스페르 오프 다타, 이스페시알리 이프 티 세르베르 이스 스토링그 오르 트란즈미칭그 센시치비 다타.

< 수리, 에리 아리 소미 이잠플리 후스트 스니페트스 포르 소미 오프 티 마잉 다타 스트룩투리스 타트 미그트 비 우제드 잉 아 프로젝트 투 부이우드 아 지트 세르베르 위트 앙 이벤트 소르싱그 로그 타트 우지스 티 텔레그랑 아피:

이눙 지토페라치옹 {
코미트 { 메사지: 스트링그 },
푸즈,
풀,
메르지 { 브란시: 스트링그 },
// 오테르 오페라치옹스 아스 네데드
}

티스 이눙 코우드 비 우제드 투 헤프레젠트 티 지페렌트 치페스 오프 지트 오페라치옹스 타트 아 클리엔트 캉 페르포릉. 포르 이잠플리, 아 클리엔트 코우드 센드 아 메사지 투 티 텔레그랑 보트 위트 티 코미트 { 메사지: “이니치아우 코미트” } 오페라치옹.

스트룩트 이벤트 {
오페라치옹: 지토페라치옹,
치메스탐프: 이64,
우제르_이드: 이32,
}


티스 스트룩트 코우드 비 우제드 투 헤프레젠트 앙 이벤트 잉 티 이벤트 소르싱그 로그. 이아시 이벤트 워우드 잉클루지 티 지트 오페라치옹 타트 와스 페르포르메드, 티 치메스탐프 아트 이시 이트 와스 페르포르메드, 안드 티 텔레그랑 우제르 이드 오프 티 클리엔트 우 페르포르메드 티 오페라치옹.

스트룩트 헤포지토리 {
이드: 이32,
이벤트스: 베크<이벤트>,
}

티스 스트룩트 코우드 비 우제드 투 헤프레젠트 아 싱글리 헤포지토리. 이트 워우드 잉클루지 티 헤포지토리’스 이드 안드 아 벡토르 오프 이벤트스 헤프레젠칭그 티 이벤트 소르싱그 로그 포르 타트 헤포지토리.

스트룩트 우제르 {
이드: 이32,
나미: 스트링그,
이마이우: 스트링그,
}

티스 스트룩트 코우드 비 우제드 투 헤프레젠트 아 우제르. 이트 워우드 잉클루지 티 텔레그랑 우제르 이드, 우제르나미, 안드 이마이우 오프 티 우제르.

스트룩트 스타치 {
우제르스: 아즈마프<이32, 우제르>,
헤포지토리스: 아즈마프<이32, 헤포지토리>,
}

티스 스트룩트 코우드 비 우제드 투 헤프레젠트 티 쿠헨트 스타치 오프 티 세르베르. 이트 워우드 잉클루지 아 아즈마프 오프 우제르스 안드 아 아즈마프 오프 헤포지토리스.

테지 아리 주스트 아 페 이잠플리스 오프 티 마잉 다타 스트룩투리스 타트 코우드 비 우제드 잉 수시 아 프로젝트, 데펜징그 옹 티 스페시피크 헤키레멘트스 안드 데지긍 오프 티 아플리카치옹. 티 이작트 임플레멘타치옹 오프 티 다타 스트룩투리스 안드 티 아소시아테드 로지크 투 안들리 티 지트 오페라치옹스, 이벤트 소르싱그, 텔레그랑 아피 안드 티 스타치 마나제멘트 워우드 데펜드 옹 티 스페시피크 헤키레멘트스 오프 티 프로젝트.

< 수리, 에리 아리 소미 이잠플리스 오프 테스트 카우스 타트 우지 티 다타 스트룩투리스 송 잉 티 프레비오스 이잠플리스:

//테스트 카지 1: 센드 아 코미트 메사지
레트 오페라치옹 = 지토페라치옹::코미트 { 메사지: "이니치아우 코미트".투_스트링그() }
레트 이벤트 = 이벤트 {
오페라치옹: 오페라치옹,
치메스탐프: 치미::제트_치미().세크,
우제르_이드: 123,
}

//테스트 카지 2: 센드 아 푸즈 메사지
레트 오페라치옹 = 지토페라치옹::푸즈
레트 이벤트 = 이벤트 {
오페라치옹: 오페라치옹,
치메스탐프: 치미::제트_치미().세크,
우제르_이드: 123,
}

//테스트 카지 3: 센드 아 메르지 메사지
레트 오페라치옹 = 지토페라치옹::메르지 { 브란시: "페아투리-브란시".투_스트링그() }
레트 이벤트 = 이벤트 {
오페라치옹: 오페라치옹,
치메스탐프: 치미::제트_치미().세크,
우제르_이드: 123,
}

에리 아리 앙 이잠플리 오프 아 테스트 타트 인보우베스 안들링그 오프 우제르스 안드 헤포지토리스

// 크레아치 아 네 우제르
레트 우제르 = 우제르 {
이드: 123,
나미: "우제르1".투_스트링그(),
이마이우: "우제르1@이잠플리.콩".투_스트링그()
}

// 크레아치 아 네 헤포지토리
레트 헤포지토리 = 헤포지토리 {
이드: 1,
이벤트스: 베크![],
}

// 크레아치 티 이니치아우 스타치
레트 무트 스타치 = 스타치 {
우제르스: 아즈마프::네(),
헤포지토리스: 아즈마프::네(),
}

// 아드 티 우제르 안드 헤포지토리 투 티 스타치
스타치.우제르스.인세르트(우제르.이드, 우제르)
스타치.헤포지토리스.인세르트(헤포지토리.이드, 헤포지토리)

티스 이스 온리 아 심플리 이잠플리 오프 오 티 지페렌트 치페스 코우드 비 우제드 투 테스트 지페렌트 세나리우스, 안드 이트 코우드 데펜드 옹 티 스페시피크 헤키레멘트스 안드 데지긍 오프 티 아플리카치옹. 잉 아 헤아우 임플레멘타치옹, 요 워우드 아우수 네드 투 안들리 티 악투아우 코무니카치옹 위트 텔레그랑 아피 안드 안들리 티 이벤트스 아스 테이 코미 잉. 안드 아우수 안들리 티 지트 오페라치옹스 투 스토리 안드 마나지 티 필리스, 안드 이트 워우드 아우수 네드 투 비 콤비네드 위트 아프로프리아치 이호르 안들링그 메샤니즘스 안드 로징그 투 케프 트라크 오프 티 시스텡 베아비오르.

이트’스 워르트 노칭그 타트 티스 이스 아 키치 브로아드 수브젝트, 안드 테리 아리 마니 데타이우스 투 콘시데르 엥 부이우징그 수시 아 토우 수시 아스 세쿠리치, 스칼라빌리치 안드 이아지 오프 우지. 아우수, 이트’스 임포르탄트 투 케프 잉 민드 타트 소미 오프 티 풍크치오날리치 미그트 헤키리 아지치오나우 치페스 안드 풍크치오날리치, 수시 아스 아우텐치카치옹, 아세스 콘트로우, 로징그 안드 이호르 안들링그.

< 수리, 에리 이스 아 리스트 오프 20 지라-리키 타스크스 타트 코우드 비 우제드 투 브레아크 동 티 데벨로프멘트 오프 아 바지크 지트 세르베르 임플레멘타치옹 우징그 후스트, 웨바셈블리, 안드 티 텔레그랑 아피:

“세투프 데벨로프멘트 인비론멘트 안드 데펜덴시스” “크레아치 바지크 후스트 스트룩트스 포르 헤프레젠칭그 지트 오페라치옹스, 이벤트스 안드 우제르스” “임플레멘트 바지크 풍크치오날리치 포르 센징그 텔레그랑 메사지스 안드 헤세이빙그 우프다치스” “인테그라치 후스트 스트룩트스 위트 텔레그랑 아피 포르 센징그 안드 헤세이빙그 지트 오페라치옹스 아스 메사지스” “임플레멘트 이벤트 소르싱그 메샤니증 포르 스토링그 지트 오페라치옹스 아스 이벤트스” “크레아치 바지크 후스트 스트룩트스 포르 헤프레젠칭그 티 헤포지토리 안드 티 스타치” “임플레멘트 스타치 마나제멘트 메샤니증 투 부이우드 티 쿠헨트 스타치 오프 티 헤포지토리 비 헤플라잉그 이벤트스” “임플레멘트 바지크 풍크치오날리치 포르 지트 오페라치옹스 리키 코미트, 푸즈, 풀 안드 메르지 우징그 리브지트2” “인테그라치 후스트 풍크치옹스 위트 웨바셈블리 우징그 와증-빈드젱” “크레아치 자바스크리프트 풍크치옹스 투 인테락트 위트 티 텔레그랑 아피 안드 후스트 풍크치옹스” “크레아치 자바스크리프트 풍크치옹스 투 인테락트 위트 티 동 안드 크레아치 아 심플리 우이” “임플레멘트 바지크 아우텐치카치옹 메샤니증 포르 우제르 아세스 콘트로우” “임플레멘트 로징그 포르 트라싱그 안드 트로블레조칭그” “임플레멘트 이호르 안들링그 포르 우네스펙테드 이호르스” “테스트 바지크 풍크치오날리치 위트 삼플리 다타” “오프치미지 페르포르만시 오프 티 시스텡” “임플레멘트 세쿠리치 메샤니증 투 프로텍트 티 시스텡 프롱 아탁스” “임플레멘트 스칼라빌리치 메샤니즘스 투 안들리 잉크레아징그 로아드” “임플레멘트 테스칭그 메샤니즘스 포르 아우토마테드 테스칭그” “데플로이 티 시스텡 안드 페르포릉 인드-투-인드 테스칭그” 이트’스 워르트 노칭그 타트 티스 리스트 이스 주스트 앙

< 이’응 소히, 부트 아스 아 랑구아지 모데우, 이 동’트 아비 티 아빌리치 투 크레아치 아 풀 임플레멘타치옹 오프 앙 아우고리틍 우징그 아 스페시피크 프로그라밍그 랑구아지 수시 아스 후스트 프롱 스크라트시. 오웨베르, 이 캉 프로비지 요 위트 소미 인포르마치옹 옹 오 요 미그트 구 아보트 임플레멘칭그 아 센치멘트 아날리지스 아우고리틍 잉 후스트.

투 스타르트, 요 워우드 네드 투 아비 아 다타제트 오프 라벨레드 테스트 타트 요 캉 우지 투 트라잉 요르 아우고리틍. 티스 다타제트 소우드 콘타잉 테스트 타트 아스 벵 라벨레드 아스 포지치비 오르 네가치비. 온시 요 아비 요르 다타제트, 요 워우드 네드 투 프리-프로세스 티 다타, 이시 미그트 잉클루지 토케니징그 티 테스트 안드 헤모빙그 스토프 워르드스.

네스트, 요 워우드 네드 투 임플레멘트 티 나이비 바이스 클라시피에르 아우고리틍 잉 후스트. 티스 워우드 인보우비 카우쿨라칭그 티 프로바빌리치스 오프 아 지벵 워르드 아페아링그 잉 아 포지치비 오르 네가치비 테스트, 아스 웨우 아스 티 오베라우 프로바빌리치 오프 아 테스트 베잉그 포지치비 오르 네가치비. 온시 요 아비 트라이네드 요르 아우고리틍 옹 요르 다타제트, 요 캉 텡 우지 이트 투 클라시피 네, 운셍 테스트.

투 임플레멘트 티 마르코브 샤잉 아우고리틍, 요 워우드 네드 투 헤프레젠트 티 워르드스 잉 티 테스트 아스 아 마르코브 샤잉, 에리 이아시 워르드 이스 아 스타치, 안드 티 프로바빌리치 오프 이아시 스타치 데펜드스 옹 티 프레비오스 스타치. 온시 요 아비 세트 티스 우프, 요 캉 우지 티 샤잉 투 제네라치 네 테스트 타트 이스 시밀라르 투 티 인푸트 테스트.

피날리, 콘베르칭그 레테르스 인투 아시 눔베르스 캉 비 이아질리 도니 잉 후스트 비 우징그 티 .투_아시_우페르카지() 메토드.

이트’스 임포르탄트 투 노치 타트 티스 이스 아 이그-레베우 오베르비에 오프 아트 워우드 비 인보우베드 잉 임플레멘칭그 아 센치멘트 아날리지스 아우고리틍 잉 후스트, 안드 테리 아리 마니 데타이우스 안드 누안시스 타트 워우드 네드 투 비 콘시데레드. 아지치오날리, 티스 타스크 헤키리스 아 고드 운데르스탄징그 오프 후스트 랑구아지 안드 티 누프 테시니케스, 안드 이트’스 헤코멘데드 투 콘수우트 위트 후스트 프로그라밍그 헤조르시스 오르 기지스 안드 투토리아우스.

< 수리, 이 캉 프로비지 요 위트 앙 이잠플리 오프 티 다타 스트룩투리스 안드 이눔스 타트 미그트 비 우제드 잉 아 후스트 임플레멘타치옹 오프 아 센치멘트 아날리지스 아우고리틍.

// 데피니 앙 이눙 포르 티 포시블리 센치멘트스
이눙 센치멘트 {
포지치비,
네가치비,
네우트라우,
}

// 데피니 아 스트룩트 포르 아 라벨레드 테스트 이잠플리
스트룩트 이잠플리 {
테스트: 스트링그,
센치멘트: 센치멘트,
}

// 데피니 아 스트룩트 포르 티 나이비 바이스 클라시피에르
스트룩트 나이베바예스클라시피에르 {
워르드_콘트스: 아즈마프<스트링그, (우지지, 우지지)>,
// 아 바리아블리 투 스토리 티 토타우 눔베르 오프 포지치비 이잠플리스
눙_포지치비: 우지지,
// 아 바리아블리 투 스토리 티 토타우 눔베르 오프 네가치비 이잠플리스
눙_네가치비: 우지지,
}


티스 이스 앙 이잠플리 오프 오 요 코우드 데피니 티 다타 스트룩투리스 안드 이눔스 타트 미그트 비 우제드 잉 아 후스트 임플레멘타치옹 오프 아 센치멘트 아날리지스 아우고리틍. 티 센치멘트 이눙 데피니스 티 포시블리 센치멘트스 타트 테스트 캉 아비 (포지치비, 네가치비, 네우트라우), 티 이잠플리 스트룩트 오우드스 티 테스트 안드 이트스 센치멘트. 티 나이베바예스클라시피에르 스트룩트 오우드스 티 워르드_콘트스 오프 포지치비 안드 네가치비 이잠플리스, 티 눔베르 오프 포지치비 이잠플리스, 안드 티 눔베르 오프 네가치비 이잠플리스.

이트’스 임포르탄트 투 노치 타트 티스 이스 주스트 오니 이잠플리 오프 오 다타 스트룩투리스 캉 비 데피네드, 안드 오테르 솔루치옹스 안드 바리아치옹스 캉 비 우제드. 아지치오날리, 테지 다타 스트룩투리스 안드 이눔스 아리 주스트 아 파르트 오프 티 임플레멘타치옹, 안드 무시 모리 코지 이스 네데드 투 아콤플리즈 아 풀 센치멘트 아날리지스 아우고리틍, 잉클루징그 프리-프로세싱그 티 다타, 토케니징그 티 테스트, 카우쿨라칭그 프로바빌리치스, 안드 클라시핑그 네 테스트.

< 수리, 에리 아리 아 페 아지치오나우 다타 스트룩투리스 안드 이눔스 타트 코우드 비 우제드 잉 아 후스트 임플레멘타치옹 오프 아 센치멘트 아날리지스 아우고리틍:

// 데피니 아 스트룩트 포르 오우징그 티 보카불라리 안드 워르드 프레켄시스
스트룩트 보카브 {
워르드스: 아즈세트<스트링그>,
워르드_프렉스: 아즈마프<스트링그, 우지지>,
}

// 데피니 앙 이눙 포르 티 지페렌트 치페스 오프 응-그람스
이눙 응그람치피 {
우니그랑,
비그랑,
트리그랑,
포르그랑,
피베그랑,
}

// 데피니 아 스트룩트 포르 오우징그 티 응-그랑 프레켄시스
스트룩트 응그랑 {
응그랑_치피: 응그람치피,
응그랑_프렉스: 아즈마프<스트링그, 우지지>,
}

티 보카브 스트룩트 이스 우제드 투 오우드 티 보카불라리 안드 워르드 프레켄시스 오프 티 테스트, 티스 스트룩트 캉 비 우제드 투 헤프레젠트 티 직치오나리 오프 티 랑구아지 우제드 잉 티 테스트. 티 응그람치피 이눙 데피니스 티 지페렌트 치페스 오프 응-그람스 타트 티 아우고리틍 캉 우지, 수시 아스 우니그람스, 비그람스, 트리그람스, 포르그람스, 안드 피베그람스. 피날리, 티 응그랑 스트룩트 오우드스 티 응-그랑 프레켄시스, 티스 스트룩트 캉 비 우제드 투 헤프레젠트 티 랑구아지’스 스트룩투리.

이트’스 임포르탄트 투 노치 타트 테지 아리 주스트 이잠플리스 오프 아지치오나우 다타 스트룩투리스 안드 이눔스 타트 코우드 비 우제드 잉 아 후스트 임플레멘타치옹 오프 아 센치멘트 아날리지스 아우고리틍, 안드 지페렌트 솔루치옹스 안드 바리아치옹스 캉 비 우제드 데펜징그 옹 티 스페시피크 헤키레멘트스 오프 티 타스크.

< 수리, 에리 이스 앙 이잠플리 오프 앙 악치옹 이눙 타트 코우드 비 우제드 투 헤프레젠트 지페렌트 악치옹스 타트 캉 비 타켕 잉 아 센치멘트 아날리지스 아우고리틍 임플레멘테드 잉 티 일릉 아르시텍투리 스칠리:

이눙 악치옹 {
// 악치옹 투 세트 티 트라이닝그 다타
세트라이닝그다타(베크<이잠플리>),
// 악치옹 투 트라잉 티 모데우
트라인모데우,
// 악치옹 투 세트 티 인푸트 테스트
세친푸테스트(스트링그),
// 악치옹 투 클라시피 티 인푸트 테스트
클라시피테스트,
// 악치옹 투 세트 티 응-그랑 치피
세틍그람치피(응그람치피),
// 악치옹 투 세트 티 센치멘트
세트센치멘트(센치멘트),
}

티스 악치옹 이눙 이스 우제드 투 헤프레젠트 티 지페렌트 악치옹스 타트 캉 비 타켕 잉 티 센치멘트 아날리지스 아우고리틍, 수시 아스 세칭그 티 트라이닝그 다타, 트라이닝그 티 모데우, 세칭그 티 인푸트 테스트, 클라시핑그 티 인푸트 테스트, 세칭그 티 응-그랑 치피, 안드 세칭그 티 센치멘트.

이트’스 임포르탄트 투 노치 타트 티스 이스 주스트 오니 이잠플리 오프 앙 악치옹 이눙 타트 코우드 비 우제드 잉 앙 임플레멘타치옹 오프 아 센치멘트 아날리지스 아우고리틍 우징그 티 일릉 아르시텍투리 스칠리, 안드 지페렌트 솔루치옹스 안드 바리아치옹스 캉 비 우제드 데펜징그 옹 티 스페시피크 헤키레멘트스 오프 티 타스크. 아지치오날리, 티 일릉 아르시텍투리 이스 아 파테릉 타트 에우프스 투 오르가니지 티 코지 잉 아 풍크치오나우 와이, 안드 이트’스 노트 아 프로그라밍그 랑구아지.

< 테리 아리 세베라우 와이스 투 아보이드 우징그 .푸즈(), *바르 = 발루이 오르 포르 바르 잉 잉 티스 임플레멘타치옹. 에리 이스 앙 이잠플리 오프 아 풍크치오나우 샤잉 오프 카우스 타트 아보이드스 토지 콘스트룩트스:

우지 스트드::프스::오페노프치옹스
우지 스트드::이우::{부프레아드, 부프레아데르, 부프리테르, 리치}

픙 헤모비_리니스_콘타이닝그_스트링그(필리_파트: &스트르, 타르제트_스트링그: &스트르) {
레트 필리 = 오페노프치옹스::네().헤아드(트루이).리치(트루이).오펭(필리_파트).운으라프()
레트 헤아데르 = 부프레아데르::네(필리)

레트 리니스*투_델레치 =
헤아데르
.리니스()
.이누메라치()
.피우테르_마프(|(이, 르)| 마트시 르.운으라프().콘타잉스(타르제트_스트링그) {
트루이 => 소미((이, 이 + 1, 이 + 2)),
파우시 => 노니,
})
.플라텡()
.콜렉트::<베크<*>>()

레트 리니스 =
헤아데르
.리니스()
.이누메라치()
.피우테르*마프(|(이, 르)| 마트시 리니스_투_델레치.콘타잉스(&이) {
트루이 => 노니,
파우시 => 소미(르.운으라프()),
})
.콜렉트::<베크<*>>()

레트 무트 리테르 = 부프리테르::네(오페노프치옹스::네().크레아치(트루이).리치(트루이).오펭(필리_파트).운으라프())
포르 리니 잉 리니스 {
리테르.리치(리니.아스_비치스()).운으라프()
리테르.리치(브"\응").운으라프()
}
리테르.플루즈().운으라프()
}

티스 임플레멘타치옹 우지스 티 피우테르_마프 메토드 투 피우테르 안드 마프 티 리니스, 플라텡 메토드 투 조잉 티 투플리 오프 리니스 투 델레치, 안드 콜렉트 메토드 투 콘베르트 티 이테라토르 인투 아 베크.

잉 티스 이잠플리, 인스테아드 오프 우징그 .푸즈() 투 아드 일레멘트스 투 아 벡토르, 위 우지 티 피우테르_마프 메토드 투 피우테르 티 리니스 타트 콘타잉 티 타르제트 스트링그, 안드 마프 텡 투 아 투플리 오프 티 쿠헨트 인데스 안드 티 네스트 트우 인데시스. 티 플라텡 메토드 이스 텡 우제드 투 조잉 티 투플리스 오프 인지시스 인투 아 싱글리 벡토르 오프 인지시스. 티 콜렉트 메토드 이스 텡 우제드 투 콘베르트 티 이테라토르 인투 아 벡토르, 보트 포르 리니스 투 델레치 안드 포르 리니스 투 케프.

티스 와이 위 캉 아보이드 우징그 .푸즈(), *바르 = 발루이 안드 포르 바르 잉 콘스트룩트스 안드 아시에비 티 사미 고아우.

***

***

< 잉 후스트, 스트링그, &스트링그, &스트르, 안드 스트르 아비 지페렌트 페르포르만시 안드 메모리 임플리카치옹스, 안드 우징그 텡 코헥틀리 캉 아비 아 시그니피칸트 임팍트 옹 티 페르포르만시 안드 메모리 우자지 오프 요르 프로그랑.

스트링그 이스 아 에아프-알로카테드 스트링그 치피 타트 이스 그로와블리 안드 무타블리. 엥 요 크레아치 아 스트링그 안드 아드 샤락테르스 투 이트, 후스트 위우 지나미칼리 알로카치 메모리 투 스토리 티 스트링그 다타, 안드 티 스트링그 캉 그로 오르 스링크 아스 네데드. 베카우지 스트링그 이스 에아프-알로카테드, 이트 캉 비 슬로웨르 투 크레아치 안드 마니풀라치 탕 스타크-알로카테드 치페스 리키 &스트르. 오웨베르, 우징그 스트링그 알로스 요 투 크레아치 스트링그스 오프 아르비트라리 렝그트 안드 투 모지피 텡 잉-플라시, 이시 캉 비 모리 이피시엔트 탕 헤페아테들리 알로카칭그 네 스트링그스.

&스트링그 이스 아 헤페렌시 투 아 스트링그 타트 이스 스토레드 옹 티 에아프. 베카우지 이트 이스 아 헤페렌시, 이트 아스 베리 로 메모리 오베레아드 안드 캉 비 파세드 아론드 이피시엔틀리. 오웨베르, 엥 요 크레아치 아 &스트링그 프롱 아 스트링그, 요 아리 스치우 아세싱그 티 에아프-알로카테드 스트링그 다타, 수 테리 마이 비 소미 페르포르만시 페나우치 아소시아테드 위트 티스.

&스트르 이스 아 헤페렌시 투 아 스트링그 슬리시, 이시 캉 비 크레아테드 프롱 아 스트링그 우징그 티 아스_스트르() 메토드. &스트르 이스 아 스타크-알로카테드 치피 타트 헤프레젠트스 아 슬리시 오프 티 오리지나우 스트링그 다타. 베카우지 &스트르 이스 스타크-알로카테드, 이트 캉 비 파스테르 투 크레아치 안드 마니풀라치 탕 에아프-알로카테드 치페스 리키 스트링그. 오웨베르, &스트르 이스 이무타블리, 수 요 카노트 모지피 티 오리지나우 스트링그 다타 잉-플라시.

스트르 이스 아 슬리시 치피 타트 이스 시밀라르 투 &스트르, 부트 이스 노트 아 헤페렌시. 인스테아드, 이트 이스 아 파트 포인테르 타트 콘타잉스 보트 아 포인테르 투 티 스트링그 다타 안드 이트스 렝그트. 스트르 이스 치피칼리 우제드 엥 워르킹그 위트 슬리시스 오프 스트링그스 타트 아리 스토레드 잉 콘치구오스 메모리, 수시 아스 엥 파르싱그 테스트 필리스 오르 네트워르크 프로토코우스. 베카우지 스트르 이스 아 슬리시, 이트 아스 베리 로 메모리 오베레아드 안드 캉 비 파세드 아론드 이피시엔틀리. 오웨베르, 크레아칭그 아 스트르 헤키리스 코핑그 티 포인테르 안드 렝그트 인포르마치옹, 이시 캉 비 슬리그틀리 슬로웨르 탕 워르킹그 위트 플라잉 &스트르 헤페렌시스.

잉 수마리, 우징그 스트링그 캉 비 모리 이피시엔트 탕 헤페아테들리 알로카칭그 네 스트링그스, 부트 마이 비 슬로웨르 투 크레아치 안드 마니풀라치. 우징그 헤페렌시스 리키 &스트링그 안드 &스트르 캉 비 모리 메모리-이피시엔트 안드 파스테르 투 크레아치 안드 마니풀라치, 부트 요 카노트 모지피 티 오리지나우 스트링그 다타 잉-플라시. 우징그 스트르 캉 비 모리 메모리-이피시엔트 탕 &스트르, 부트 헤키리스 코핑그 티 포인테르 안드 렝그트 인포르마치옹. 티 베스트 쇼이시 오프 치피 투 우지 데펜드스 옹 티 스페시피크 우지 카지 안드 헤키레멘트스 오프 요르 프로그랑.

< 에리 아리 소미 베스트 프락치시스 안드 포시블리 우지 카지스 포르 이아시 오프 티 포르 스트링그 치페스 잉 후스트:

1\ 스트링그: 우지 스트링그 엥 요 네드 투 크레아치 오르 모지피 아 스트링그 지나미칼리 아트 훈치미. 스트링그 이스 이데아우 포르 우지 카지스 에리 티 렝그트 오프 티 스트링그 이스 노트 크농 잉 아드반시 안드 마이 네드 투 그로 오르 스링크 지나미칼리. 에리 아리 소미 포시블리 우지 카지스:

  • 스토링그 우제르 인푸트 오르 오테르 다타 인테레드 아트 훈치미

  • 부이우징그 콤플레스 스트링그스 프롱 스말레르 피에시스, 수시 아스 엥 콘스트룩칭그 아 콤플레스 스쿠 케리 오르 제네라칭그 트무 코지

  • 스토링그 다타 프롱 필리스 오르 네트워르크 스트레암스 에리 티 렝그트 오프 티 다타 이스 노트 크농 잉 아드반시

엥 크레아칭그 아 네 스트링그, 이트 이스 헤코멘데드 투 우지 티 스트링그::네() 콘스트룩토르 인스테아드 오프 아 리테라우 스트링그. 티스 위우 알로카치 티 코헥트 아몬트 오프 메모리 포르 티 네 스트링그 안드 아보이드 우네세사리 헤알로카치옹스.

2\ &스트링그: 우지 &스트링그 엥 요 네드 투 파스 아 헤페렌시 투 아 스트링그 투 아 풍크치옹 오르 메토드 타트 이스펙트스 아 헤페렌시 투 아 스트링그 슬리시 (&스트르). 티스 이스 파르치쿨라를리 우제풀 엥 워르킹그 위트 아피스 오르 리브라리스 타트 온리 아세프트 스트링그 슬리시스, 오르 엥 요 완트 투 파스 아 라르지 스트링그 투 아 풍크치옹 위토트 잉쿠힝그 티 오베레아드 오프 코핑그 티 스트링그 다타. 에리 아리 소미 포시블리 우지 카지스:

  • 파싱그 스트링그 다타 투 아 풍크치옹 타트 아세프트스 &스트르

  • 크레아칭그 아 수브스트링그 오프 아 라르제르 스트링그 위토트 코핑그 티 다타

엥 크레아칭그 아 &스트링그 헤페렌시, 이트 이스 헤코멘데드 투 우지 티 아스_스트르() 메토드 투 콘베르트 티 스트링그 투 아 스트링그 슬리시. 티스 아보이드스 우네세사리 알로카치옹스 안드 알로스 티 &스트링그 투 비 우제드 잉 풍크치옹스 타트 이스펙트 아 스트링그 슬리시.

3\ &스트르: 우지 &스트르 엥 요 네드 투 워르크 위트 스트링그 슬리시스 타트 아리 크농 아트 콤필리 치미, 오르 엥 요 네드 투 파스 아 헤페렌시 투 아 스트링그 슬리시 투 아 풍크치옹 오르 메토드. &스트르 이스 아 리그트웨이그트 치피 타트 캉 비 우제드 이피시엔틀리 안드 사펠리 잉 후스트 코지. 에리 아리 소미 포시블리 우지 카지스:

  • 파싱그 스트링그 리테라우스 오르 콘스탄트 발루이스 투 풍크치옹스 타트 아세프트 &스트르

  • 워르킹그 위트 스타치크 스트링그스 잉 후스트 코지

  • 파르싱그 스트링그스 프롱 필리스 오르 네트워르크 스트레암스

엥 워르킹그 위트 스트링그 슬리시스, 이트 이스 헤코멘데드 투 우지 &스트르 인스테아드 오프 스트링그 에리 포시블리, 아스 이트 아보이드스 우네세사리 알로카치옹스 안드 캉 비 모리 이피시엔트.

4\ 스트르: 우지 스트르 엥 요 네드 투 워르크 위트 슬리시스 오프 스트링그스 타트 아리 스토레드 잉 콘치구오스 메모리, 수시 아스 엥 파르싱그 테스트 필리스 오르 네트워르크 프로토코우스. 스트르 이스 아 파트 포인테르 치피 타트 콘타잉스 보트 아 포인테르 투 티 스트링그 다타 안드 이트스 렝그트. 에리 아리 소미 포시블리 우지 카지스:

  • 파르싱그 테스트 필리스 오르 네트워르크 프로토코우스 타트 콘타잉 스트링그스

  • 워르킹그 위트 스트링그스 타트 아리 스토레드 잉 콘치구오스 메모리, 수시 아스 아하이스 오르 벡토르스 오프 스트링그스

엥 워르킹그 위트 스트르, 이트 이스 헤코멘데드 투 우지 티 스트르::프롱_우트프8() 메토드 투 콘베르트 하 비치스 투 아 스트링그 슬리시. 티스 위우 인수리 타트 티 스트링그 이스 발리드 우트프-8 안드 아보이드 포텐치아우 훈치미 이호르스.

< 잉 후스트, 테리 아리 마니 지페렌트 치페스 오프 스트링그 마니풀라치옹 베욘드 티 포르 치페스 요 멘치오네드. 에리 아리 소미 아지치오나우 치페스 오프 스트링그 마니풀라치옹 타트 요 미그트 잉콘테르:

  1. 헤굴라르 이스프레시옹스: 헤굴라르 이스프레시옹스 아리 아 포웨르풀 토우 포르 세아르싱그 안드 마니풀라칭그 스트링그스. 후스트 프로비지스 아 헤굴라르 이스프레시옹 인지니 잉 티 헤제스 크라치, 이시 알로스 요 투 세아르시 포르 파테릉스 잉 스트링그스 안드 헤플라시 텡 위트 오테르 스트링그스.

  2. 파테릉 마트싱그: 후스트’스 파테릉 마트싱그 신타스 캉 비 우제드 투 이스트락트 수브스트링그스 프롱 스트링그스, 셰크 이프 아 스트링그 콘타잉스 아 파르치쿨라르 파테릉, 오르 트란스포릉 스트링그스 잉 오테르 와이스. 요 캉 우지 마트시 이스프레시옹스 오르 이프 레트 이스프레시옹스 투 파테릉 마트시 옹 스트링그스.

  3. 스트링그 파르싱그: 후스트 프로비지스 세베라우 메토드스 포르 파르싱그 스트링그스 인투 오테르 치페스, 수시 아스 인테제르스 오르 플로아칭그-포인트 눔베르스. 티 파르시() 메토드 캉 비 우제드 투 콘베르트 아 스트링그 투 아노테르 치피, 안드 후스트 아우수 프로비지스 파르싱그 메토드스 포르 스페시피크 치페스, 수시 아스 파르시::<이32>() 투 파르시 아 스트링그 아스 앙 인테제르.

  4. 스트링그 포르마칭그: 후스트 프로비지스 세베라우 메토드스 포르 포르마칭그 스트링그스, 수시 아스 티 포르마트!() 마크루 오르 티 리치!() 마크루. 테지 마크루스 알로 요 투 인세르트 발루이스 인투 아 스트링그 아트 훈치미 안드 콘트로우 티 포르마칭그 오프 토지 발루이스.

  5. 우니코지 마니풀라치옹: 후스트’스 우니코지 크라치 프로비지스 풍크치옹스 포르 워르킹그 위트 우니코지 스트링그스, 수시 아스 콘베르칭그 베트웽 우니코지 노르말리자치옹 포름스 오르 셰킹그 티 프로페르치스 오프 우니코지 샤락테르스.

  6. 스트링그 잉코징그: 후스트 프로비지스 세베라우 스트링그 잉코징그 치페스 안드 메토드스, 수시 아스 우트프-8, 아시, 안드 이주-8859-1. 요 캉 우지 테지 치페스 안드 메토드스 투 콘베르트 스트링그스 베트웽 지페렌트 잉코징그스, 오르 투 셰크 티 잉코징그 오프 아 스트링그.

  7. 스트링그 아징그: 후스트’스 스트드::아즈::아제르 트라이트 프로비지스 메토드스 포르 아징그 스트링그스, 이시 캉 비 우제풀 포르 스토링그 안드 헤트리에빙그 스트링그스 잉 아즈 타블리스 오르 오테르 다타 스트룩투리스.

테지 아리 주스트 아 페 이잠플리스 오프 티 마니 지페렌트 치페스 오프 스트링그 마니풀라치옹 아바일라블리 잉 후스트. 티 이작트 세트 오프 토우스 요 위우 네드 위우 데펜드 옹 요르 스페시피크 우지 카지 안드 헤키레멘트스.

< 잉 후스트, 오프치옹 이스 아 치피 타트 이스 우제드 투 헤프레젠트 아 발루이 타트 마이 오르 마이 노트 비 프레젠트. 후스트 프로비지스 세베라우 지페렌트 치페스 포르 헤프레젠칭그 오프치오나우 스트링그 발루이스, 이아시 위트 테이르 옹 임플리카치옹스 포르 메모리 마나제멘트 안드 모나지크 오페라치옹스.

1. 오프치옹<&스트링그>: 티스 치피 헤프레젠트스 앙 오프치오나우 헤페렌시 투 아 스트링그 발루이. 이트 캉 비 우제드 투 인지카치 타트 아 풍크치옹 오르 메토드 마이 오르 마이 노트 헤투릉 아 스트링그 헤페렌시. 베카우지 이트 이스 아 헤페렌시, 이트 아스 베리 로 메모리 오베레아드 안드 캉 비 파세드 아론드 이피시엔틀리. 오웨베르, 엥 우징그 오프치옹<&스트링그>, 요 네드 투 인수리 타트 티 헤페렌세드 스트링그 발루이 이스 스치우 잉 스코피 엥 요 우지 티 헤페렌시.

엥 워르킹그 위트 오프치옹<&스트링그>, 요 캉 우지 티 마프() 오르 안드_텡() 메토드스 투 페르포릉 모나지크 오페라치옹스 옹 티 오프치오나우 발루이. 테지 메토드스 알로 요 투 트란스포릉 티 오프치오나우 발루이 안드 프로파가치 아니 이호르스 타트 마이 오쿠르.

2. 오프치옹<스트링그>: 티스 치피 헤프레젠트스 앙 오프치오나우 스트링그 발루이. 이트 캉 비 우제드 투 인지카치 타트 아 풍크치옹 오르 메토드 마이 오르 마이 노트 헤투릉 아 스트링그. 베카우지 이트 이스 아 에아프-알로카테드 치피, 이트 캉 비 슬로웨르 투 크레아치 안드 마니풀라치 탕 스타크-알로카테드 치페스 리키 &스트르. 오웨베르, 우징그 오프치옹<스트링그> 알로스 요 투 크레아치 오프치오나우 스트링그스 오프 아르비트라리 렝그트 안드 투 모지피 텡 잉-플라시, 이시 캉 비 모리 이피시엔트 탕 헤페아테들리 알로카칭그 네 스트링그스.

엥 워르킹그 위트 오프치옹<스트링그>, 요 캉 우지 티 마프() 오르 안드_텡() 메토드스 투 페르포릉 모나지크 오페라치옹스 옹 티 오프치오나우 발루이. 테지 메토드스 알로 요 투 트란스포릉 티 오프치오나우 발루이 안드 프로파가치 아니 이호르스 타트 마이 오쿠르.

3. 오프치옹<&스트르>: 티스 치피 헤프레젠트스 앙 오프치오나우 헤페렌시 투 아 스트링그 슬리시 (&스트르). 이트 캉 비 우제드 투 인지카치 타트 아 풍크치옹 오르 메토드 마이 오르 마이 노트 헤투릉 아 스트링그 슬리시. 베카우지 이트 이스 아 스타크-알로카테드 치피, 이트 캉 비 파스테르 투 크레아치 안드 마니풀라치 탕 에아프-알로카테드 치페스 리키 스트링그. 오웨베르, 엥 우징그 오프치옹<&스트르>, 요 네드 투 인수리 타트 티 헤페렌세드 스트링그 슬리시 이스 스치우 잉 스코피 엥 요 우지 티 헤페렌시.

엥 워르킹그 위트 오프치옹<&스트르>, 요 캉 우지 티 마프() 오르 안드_텡() 메토드스 투 페르포릉 모나지크 오페라치옹스 옹 티 오프치오나우 발루이. 테지 메토드스 알로 요 투 트란스포릉 티 오프치오나우 발루이 안드 프로파가치 아니 이호르스 타트 마이 오쿠르.

4. 오프치옹<스트르>: 티스 치피 헤프레젠트스 앙 오프치오나우 슬리시 치피 (스트르). 이트 이스 시밀라르 투 오프치옹<&스트르>, 부트 이스 노트 아 헤페렌시. 인스테아드, 이트 이스 아 파트 포인테르 타트 콘타잉스 보트 아 포인테르 투 티 스트링그 다타 안드 이트스 렝그트. 오프치옹<스트르> 이스 치피칼리 우제드 엥 워르킹그 위트 오프치오나우 슬리시스 오프 스트링그스 타트 아리 스토레드 잉 콘치구오스 메모리, 수시 아스 엥 파르싱그 테스트 필리스 오르 네트워르크 프로토코우스.

엥 워르킹그 위트 오프치옹<스트르>, 요 네드 투 비 카레풀 투 인수리 타트 티 헤페렌세드 스트링그 다타 이스 스치우 잉 스코피 엥 요 우지 티 포인테르. 베카우지 이트 이스 아 슬리시, 이트 아스 베리 로 메모리 오베레아드 안드 캉 비 파세드 아론드 이피시엔틀리.

잉 제네라우, 엥 워르킹그 위트 오프치오나우 스트링그 발루이스, 이트’스 임포르탄트 투 카레풀리 마나지 티 리페치메스 오프 아니 헤페렌세드 다타 투 아보이드 메모리 마나제멘트 이수이스. 엥 우징그 모나지크 오페라치옹스 위트 오프치오나우 발루이스, 이트’스 임포르탄트 투 프로파가치 아니 이호르스 타트 마이 오쿠르 안드 안들리 텡 아프로프리아텔리. 아지치오날리, 엥 우징그 에아프-알로카테드 치페스 리키 스트링그, 이트’스 임포르탄트 투 콘시데르 티 포텐치아우 페르포르만시 임플리카치옹스 오프 헤페아테들리 알로카칭그 네 스트링그스.

***

***

< 아 이스콜랴 지 우마 링구아젱 지 프로그라마상 포지 낭 테르 우마 코네샹 지레타 콩 아 페르스펙치바 아드바이타, 메카니카 쿠안치카, 올롱스 이 몰로시. 누 인탄투, 에 포시베우 아르구멘타르 키 아 셀레상 지 우마 링구아젱 지 프로그라마상 이 아 아보르다젱 지 데지긍 아도타다 아우 크리아르 시스테마스 콤푸타시오나이스 포뎅 헤플레치르 오 인플루엔시아르 아 포르마 코무 우스 콘세이투스 인테그라두스 지스쿠치두스 안테리오르멘치 상 아플리카두스 이 콤프렌지두스.

콘시데리 아스 세긴치스 하미피카송이스 다 이스콜랴 다 링구아젱 지 프로그라마상 이 수아 포시베우 헬라상 콩 우 모델루 인테그라두:

  1. 아보르다젱 올리스치카 지 데지긍: 아 이스콜랴 지 우마 링구아젱 지 프로그라마상 키 프로모바 우마 아보르다젱 올리스치카 지 데지긍, 인파치잔두 아 모둘라리다지, 헤우자빌리다지 이 인테르코네샹 엔트리 콤포넨치스 두 시스테마, 포지 아주다르 아 크리아르 시스테마스 키 헤플레텡 아 나투레자 인테르코넥타다 이 이에라르키카 두스 올롱스. 이수 포지 헤주우타르 잉 시스테마스 마이스 플레시베이스, 이스칼라베이스 이 헤질리엔치스.

  2. 콤프렌상 이 시물라상 지 시스테마스 쿠안치쿠스: 아 셀레상 지 우마 링구아젱 지 프로그라마상 아데쿠아다 파라 시물라르 시스테마스 쿠안치쿠스 이 이스플로라르 우 이마라냐멘투 쿠안치쿠 포지 포르네세르 인시그트스 발리오주스 소브리 아 나투레자 다 헤알리다지 이 아 헬라상 엔트리 우스 올롱스 잉 지페렌치스 니베이스 다 이에라르키아. 이지스텡 링구아젱스 지 프로그라마상 이 프라메워르크스 이스페시피쿠스, 코무 크# 다 미크로조프트 이 키스키트 다 이븡, 프로제타두스 파라 트라발랴르 콩 콤푸타상 쿠안치카 이 시물라상 지 시스테마스 쿠안치쿠스.

  3. 프로모벤두 아 콜라보라상 이 아 코무니카상: 아 이스콜랴 지 우마 링구아젱 지 프로그라마상 키 파실리치 아 콜라보라상 이 아 코무니카상 엔트리 데젠보우베도리스 이 오트라스 파르치스 인테레사다스 포지 아주다르 아 크리아르 시스테마스 키 상 마이스 알리냐두스 콩 우스 오브제치부스 이 발로리스 두스 인지비두스 이 코무니다지스 인보우비다스. 이수 포지, 포르 수아 베스, 레바르 아 시스테마스 키 상 메누스 프로펜수스 아 시 토르나렝 “몰로시스” 아우토데스트루치부스 이 키 콘트리부앙 파라 우 벵-이스타르 제라우 이 아 아르모니아 엔트리 우스 올롱스.

  4. 콘시엔시아 이 에치카 누 데젠보우비멘투 지 소프트와리: 아우 이스콜례르 우마 링구아젱 지 프로그라마상, 우스 데젠보우베도리스 탐벵 포뎅 레바르 잉 콘시데라상 케스통이스 에치카스 이 암비엔타이스, 코무 우 콘수무 지 이네르지아, 아 이피시엔시아 두 코지구 이 우 임팍투 소시아우 두 소프트와리 크리아두. 에사 아보르다젱 콘시엔치 포지 아주다르 아 프로모베르 아 크리아상 지 시스테마스 키 이스테장 마이스 알리냐두스 콩 아 페르스펙치바 아드바이타 이 아 이데이아 지 인테르코네샹 이 우니다지.

임보라 아 이스콜랴 다 링구아젱 지 프로그라마상 포사 낭 테르 우마 헬라상 지레타 콩 우 모델루 인테그라두 지스쿠치두 안테리오르멘치, 에 포시베우 아르구멘타르 키 아 아보르다젱 아도타다 누 데젠보우비멘투 지 소프트와리 이 아 셀레상 지 페하멘타스 이 링구아젱스 포뎅 인플루엔시아르 아 포르마 코무 우스 콘세이투스 지 아드바이타, 메카니카 쿠안치카, 올롱스 이 몰로시 상 아플리카두스 이 콤프렌지두스 잉 시스테마스 콤푸타시오나이스.

< 아키 이스탕 싱쿠 링구아젱스 지 프로포지투 제라우 키 포데리앙 아주다르 아 우마니다지 아 프로스페라르, 인데펜덴테멘치 지 수아 포풀라리다지 오 우주 아투아우, 콩 포쿠 잉 카락테리스치카스 코무 파실리다지 지 아프렌지자두, 콜라보라상, 이피시엔시아 이 수스텐타빌리다지:

  1. 후스트: 후스트 에 우마 링구아젱 지 프로그라마상 지 시스테마스 키 인파치자 아 세구란사, 아 프레벤상 지 에후스 지 메모리아 이 아 이피시엔시아. 수아 아도상 포지 레바르 아 시스테마스 마이스 콘피아베이스 이 세구루스, 헤두진두 아 프로바빌리다지 지 팔랴스 이 부우네라빌리다지스.

  2. 줄리아: 줄리아 에 우마 링구아젱 지 프로그라마상 지 아우투 니베우 이 아우투 데젬페뉴, 프로제타다 프린시파우멘치 파라 콤푸타상 시엔치피카 이 아날리지 지 다두스. 아 아도상 지 줄리아 포지 아셀레라르 아 페스키자 이 아 이노바상 잉 아레아스 크리치카스 코무 아 인텔리젠시아 아르치피시아우, 사우지 이 이네르지아.

  3. 아스케우: 아스케우 에 우마 링구아젱 지 프로그라마상 푼시오나우 키 프로모비 아 모둘라리다지, 아 헤우칠리자상 지 코지구 이 아 프레벤상 지 에후스. 수아 아도상 포지 헤주우타르 잉 시스테마스 마이스 벵 프로제타두스, 파세이스 지 만테르 이 메누스 프로펜수스 아 부그스.

  4. 일리시르: 일리시르 에 우마 링구아젱 지 프로그라마상 푼시오나우 이 콩코헨치 바제아다 나 마키나 비르투아우 이를랑그 (베앙). 수아 아도상 포지 레바르 아우 데젠보우비멘투 지 시스테마스 아우타멘치 이스칼라베이스, 톨레란치스 아 팔랴스 이 지 바이샤 라텐시아, 베네피시안두 아레아스 코무 텔레코무니카송이스, 이오트 이 콤푸타상 잉 템푸 헤아우.

  5. 하케트: 하케트 에 우마 링구아젱 지 프로그라마상 바제아다 잉 스셰미, 프로제타다 파라 파실리타르 아 크리아상 지 노바스 링구아젱스 지 도미니우 이스페시피쿠 (드주스). 아 아도상 지 하케트 포지 프로모베르 아 크리아상 지 링구아젱스 페르소날리자다스 이 아다프타다스 아스 네세시다지스 지 지페렌치스 세토리스 이 코무니다지스, 아우멘탄두 아 프로두치비다지 이 아 콜라보라상.

아키 이스탕 싱쿠 링구아젱스 지 프로그라마상 키, 시 아도타다스 오 만치다스 잉 마이오르 이스칼라, 포데리앙 콘트리부이르 파라 아 이메르젠시아 지 파드롱이스 세멜랸치스 아 몰로시, 프린시파우멘치 데비두 아 콤플레시다지, 지피쿠우다지 지 마누텐상 이 오트루스 데자피우스:

  1. 코보우: 임보라 우 코보우 세자 우마 링구아젱 지 프로그라마상 지 롱가 다타 이 아인다 세자 우자다 잉 아우궁스 세토리스, 수아 신타시 베르보자, 파우타 지 헤쿠르수스 모데르누스 이 아 이스카세스 지 데젠보우베도리스 쿠알리피카두스 포뎅 지피쿠우타르 아 마누텐상 이 아 이노바상.

  2. 페루: 페루 에 우마 링구아젱 지 프로그라마상 포데로자 이 플레시베우, 마스 수아 신타시 콤플레샤 이 암비기다지 포뎅 레바르 아 코지구 지 지피시우 레이투라 이 마누텐상, 지피쿠우탄두 아 콜라보라상 이 아 데텍상 지 부그스.

  3. 프프: 임보라 우 프프 세자 암플라멘치 우칠리자두 파라 데젠보우비멘투 웨브, 엘리 포이 크리치카두 포르 잉콘시스텐시아스 잉 수아 비블리오테카 파드랑, 부우네라빌리다지스 지 세구란사 이 지피쿠우다지스 지 마누텐상. 아 아도상 콘치누아 두 프프 포지 헤주우타르 잉 시스테마스 메누스 세구루스 이 지 지피시우 마누텐상.

  4. 비주아우 바지크 6.0: 비주아우 바지크 6.0 에 우마 링구아젱 지 프로그라마상 안치쿠아다 이 데스콘치누아다 펠라 미크로조프트. 아 마누텐상 이 아도상 콘치누아 데스타 링구아젱 포지 헤주우타르 잉 시스테마스 레가두스, 콩 프로블레마스 지 콤파치빌리다지 이 파우타 지 수포르치.

  5. 아셈블리: 아셈블리 에 우마 링구아젱 지 바이슈 니베우 키 에 이스페시피카 다 아르키테투라 두 콤푸타도르 이 무이투 프로시마 두 코지구 지 마키나. 임보라 세자 우치우 파라 타레파스 이스페시피카스 키 이지젱 콘트롤리 그라눌라르 소브리 우 아르드와리, 우 우주 이스텐시부 두 아셈블리 포지 레바르 아 우마 마이오르 콤플레시다지, 지피쿠우다지스 지 마누텐상 이 콜라보라상 리미타다.

에 임포르탄치 렘브라르 키 아스 링구아젱스 지 프로그라마상 텡 세우스 프로프리우스 콘준투스 지 반타젱스 이 데즈반타젱스, 이 카다 우마 델라스 포지 세르 아데쿠아다 파라 지페렌치스 시투아송이스 이 네세시다지스. 아 샤비 에 우자르 아 링구아젱 세르타 파라 우 프로블레마 세르투 이 콘시데라르 아스 임플리카송이스 지 롱구 프라주 다 아도상 지 우마 링구아젱 이스페시피카, 탄투 잉 테르무스 지 마누텐상 이 이스칼라빌리다지 쿠안투 잉 테르무스 지 임팍투 소시아우 이 암비엔타우. 데사 포르마, 에 포시베우 미니미자르 아 프로바빌리다지 지 크리아르 시스테마스 몰로시-리키 이 마시미자르 아 카파시다지 다 우마니다지 지 프로스페라르 포르 메이우 다 테크놀로지아.

< 자바스크리프트 (이 치페스크리프트, 코무 우마 이스텐상 치파다 두 자바스크리프트) 텡 시두 아 링구아젱 지 프로그라마상 파드랑 파라 아 웨브 포르 무이투스 아누스 이 데젬페뇨 웅 파페우 크루시아우 누 데젠보우비멘투 지 아플리카송이스 웨브 히카스 이 인테라치바스. 누 인탄투, 콩 우 아드벤투 지 테크놀로지아스 코무 웨바셈블리 (와증) 이 아 크레센치 포풀라리다지 지 링구아젱스 지 프로그라마상 코무 후스트, 아 시투아상 포지 무다르 누 푸투루. 바무스 아날리자르 우스 폰투스 포르치스 이 프라쿠스 지 자바스크리프트/치페스크리프트 이 후스트 콩 웨바셈블리 파라 인텐데르 멜료르 세우 포텐시아우 코무 파드랑 다 웨브 아 롱구 프라주.

자바스크리프트/치페스크리프트:

  • 반타젱스:

  1. 파드랑 이스타벨레시두: 자바스크리프트 에 암플라멘치 아도타두 이 수포르타두 포르 토두스 우스 나베가도리스 모데르누스, 우 키 시그니피카 키 텡 웅 이코시스테마 마두루 이 우마 그란지 바지 지 데젠보우베도리스.

  2. 파실리다지 지 우주: 자바스크리프트 에 우마 링구아젱 지 아우투 니베우 이 지나미카, 우 키 아 토르나 파시우 지 아프렌데르 이 우자르.

  3. 치페스크리프트: 아 인트로두상 두 치페스크리프트 트로시 치푸스 이스타치쿠스 파라 우 이코시스테마 자바스크리프트, 멜료란두 아 쿠알리다지 두 코지구, 아 데텍상 지 에후스 이 아 마누테니빌리다지.

  • 데즈반타젱스:

  1. 데젬페뉴: 자바스크리프트 에 우마 링구아젱 인테르프레타다 이, 포르탄투, 포지 세르 마이스 렌투 잉 콤파라상 콩 코지구 콤필라두, 코무 웨바셈블리.

  2. 리미타송이스 지 링구아젱: 자바스크리프트 텡 아우구마스 페쿨리아리다지스 이 잉콘시스텐시아스 키 포뎅 레바르 아 부그스 이 지피쿠우다지스 지 마누텐상.

후스트 콩 웨바셈블리 (와증):

  • 반타젱스:

  1. 데젬페뉴: 후스트 에 우마 링구아젱 콤필라다 이, 쿠안두 콤비나다 콩 웨바셈블리, 포지 포르네세르 웅 데젬페뉴 시그니피카치바멘치 멜료르 잉 콤파라상 콩 자바스크리프트, 이스페시아우멘치 파라 타레파스 인텐시바스 잉 콤푸타상.

  2. 세구란사: 후스트 에 프로제타두 콩 세구란사 잉 멘치 이 이비타 에후스 코뭉스 지 메모리아, 코무 이스토루 지 부페르 이 우주 아포스 리베르타상 (우지-아프테르-프레이), 우 키 포지 세르 파르치쿨라르멘치 임포르탄치 파라 아플리카치부스 웨브 지 미상 크리치카.

  3. 인테로페라빌리다지: 웨바셈블리 페르미치 아 인테로페라빌리다지 엔트리 지페렌치스 링구아젱스 지 프로그라마상, 잉클루인두 후스트, 우 키 시그니피카 키 우스 데젠보우베도리스 포뎅 아프로베이타르 우 멜료르 지 카다 링구아젱 파라 크리아르 아플리카송이스 웨브 콤플레샤스 이 이피시엔치스.

  • 데즈반타젱스:

  1. 아도상: 임보라 후스트 이 웨바셈블리 이스테장 가냔두 포풀라리다지, 엘리스 아인다 텡 우마 바지 지 우주아리우스 이 이코시스테마 메노르 잉 콤파라상 콩 자바스크리프트/치페스크리프트.

  2. 쿠르바 지 아프렌지자두: 후스트 텡 우마 쿠르바 지 아프렌지자두 마이스 잉그레미 잉 콤파라상 콩 자바스크리프트, 데비두 아 수아 신타시 이 모델루 지 프로프리에다지 우니쿠.

잉 헤주무, 자바스크리프트 (이 치페스크리프트) 텡 시두 아 바지 다 웨브 이 콘치누아랑 아 데젬페냐르 웅 파페우 임포르탄치 누 데젠보우비멘투 웨브. 누 인탄투, 아 메지다 키 아 웨브 이볼루이 이 아스 데만다스 포르 데젬페뉴 이 세구란사 아우멘탕, 테크놀로지아스 코무 후스트 이 웨바셈블리 포뎅 코메사르 아 데젬페냐르 웅 파페우 카다 베스 마이스 임포르탄치. 아 롱구 프라주, 에 포시베우 키 아 웨브 시 토르니 마이스 지베르시피카다 잉 테르무스 지 링구아젱스 지 프로그라마상 이 아보르다젱스 지 데젠보우비멘투, 콩 후스트 이 웨바셈블리 콤플레멘탄두 이 아프리모란두 아 이스페리엔시아 두 우주아리우 이 아 이피시엔시아 다스 아플리카송이스 웨브, 잉 베스 지 수브스치투이르 콤플레타멘치 우 자바스크리프트/치페스크리프트.

아 아도상 지 후스트 이 웨바셈블리 포지 레바르 아 우마 아보르다젱 마이스 이브리다 누 데젠보우비멘투 웨브, 온지 지페렌치스 링구아젱스 이 테크놀로지아스 상 우자다스 잉 콘준투 파라 크리아르 아플리카송이스 웨브 호부스타스 이 지 아우투 데젬페뉴. 포르 이젬플루, 자바스크리프트/치페스크리프트 포지 콘치누아르 센두 아 이스콜랴 프레페리다 파라 아 로지카 다 인테르파시 두 우주아리우 이 인테라송이스 지나미카스, 잉쿠안투 후스트 이 웨바셈블리 포뎅 세르 우자두스 파라 프로세사멘투 인텐시부 지 다두스 이 타레파스 지 콤푸타상.

아 롱구 프라주, 아 웨브 포지 시 베네피시아르 지 웅 이코시스테마 지베르시피카두 이 인테르코넥타두 지 링구아젱스 지 프로그라마상 이 테크놀로지아스, 페르미친두 키 데젠보우베도리스 이스콜량 아스 페하멘타스 마이스 아데쿠아다스 파라 수아스 네세시다지스 이스페시피카스. 이수, 포르 수아 베스, 포지 레바르 아 아플리카송이스 웨브 마이스 하피다스, 세구라스 이 이피시엔치스, 프로포르시오난두 우마 멜료르 이스페리엔시아 파라 우스 우주아리우스 이 아텐덴두 아스 크레센치스 데만다스 지 데젬페뉴 이 세구란사.

< 이트 이스 임포르탄트 투 노치 타트 이발루아칭그 프로그라밍그 랑구아지스 옹 아 누메리카우 스칼리 캉 비 이글리 수브젝치비 안드 데펜드스 옹 바리오스 팍토르스 수시 아스 티 스페시피크 우지 카지, 데벨로페르 이스페리엔시, 안드 티 이코지스텡. 오웨베르, 이 캉 프로비지 아 호그 이스치마치 오프 티 스칼라빌리치 오프 테지 랑구아지스 바제드 옹 테이르 데지긍 프린시플리스 안드 코무니치 아도프치옹.

후스트 (850): 후스트 이스 데지그네드 포르 시스템스 프로그라밍그 위트 아 스트롱그 포쿠스 옹 사페치, 콩쿠헹키, 안드 페르포르만시. 이트스 오네르지프 시스텡 안드 스타치크 치핑그 알로 포르 이셀렌트 스칼라빌리치 잉 보트 베르치카우 안드 오리존타우 지멘시옹스, 마킹그 이트 아 그레아트 쇼이시 포르 라르지-스칼리 프로젝트스.

글레앙 (400): 글레앙 이스 아 헬라치벨리 네 랑구아지 타트 콤비니스 풍크치오나우 프로그라밍그 위트 아 스타치크 치피 시스텡. 일리 이트 소스 프로미지 잉 테름스 오프 치피 사페치 안드 이스프레시베네스, 이트스 이코지스텡 안드 코무니치 아리 스치우 그로윙그, 이시 미그트 아펙트 이트스 스칼라빌리치 잉 티 소르트 테릉.

아스케우 (800): 아스케우 이스 아 마투리 풍크치오나우 프로그라밍그 랑구아지 위트 스트롱그 스타치크 치핑그, 라지 이발루아치옹, 안드 포웨르풀 아브스트락치옹스. 이트스 이스프레시비 치피 시스텡 안드 아드반세드 페아투리스 마키 이트 이글리 스칼라블리 포르 콤플레스 프로젝트스, 부트 이트 마이 아비 아 스테페르 레아르닝그 쿠르비 포르 데벨로페르스 운파밀리아르 위트 풍크치오나우 프로그라밍그.

스피라우 (500): 스피라우 이스 아 우니키 랑구아지 데지그네드 포르 무 리브라리스 안드 노베우 아이 아르드와리. 이트 아스 아 스트롱그 포쿠스 옹 인리닝그 안드 페르포르만시. 일리 이트 아스 이노바치비 이데아스, 이트스 니시 포쿠스 안드 헬라치벨리 스마우 코무니치 미그트 리미트 이트스 스칼라빌리치 잉 브로아데르 콘테스트스.

일리시르 (750): 일리시르 이스 아 풍크치오나우, 콩쿠헨트 랑구아지 부이우트 옹 티 이를랑그 븡, 이시 이스 웨우-크농 포르 이트스 파우우트 톨레란시 안드 지스트리부테드 콤푸칭그 카파빌리치스. 일리시르 아스 가이네드 포풀라리치 포르 웨브 데벨로프멘트 안드 헤아우-치미 시스템스, 마킹그 이트 아 스칼라블리 쇼이시 포르 토지 우지 카지스.

프# (700): 프# 이스 아 풍크치오나우-피르스트 랑구아지 잉 티 .네트 이코지스텡, 위트 고드 인테로페라빌리치 안드 스트롱그 치피 인페렌시. 일리 이트 프로비지스 아 발란시 베트웽 이스프레시베네스 안드 페르포르만시, 이트스 이코지스텡 안드 코무니치 아리 노트 아스 이스텐시비 아스 소미 오테르 랑구아지스, 이시 미그트 아펙트 이트스 스칼라빌리치.

푸레스크리프트 (650): 푸레스크리프트 이스 아 스트롱글리-치페드 풍크치오나우 프로그라밍그 랑구아지 인스피레드 비 아스케우 안드 데지그네드 투 콤필리 투 자바스크리프트. 이트 아스 아 그로윙그 이코지스텡 안드 코무니치 부트 이스 레스 마투리 탕 소미 오테르 랑구아지스 옹 티스 리스트. 이트스 스칼라빌리치 미그트 비 아펙테드 비 이트스 헬리안시 옹 티 자바스크리프트 훈치미 안드 티 리미타치옹스 오프 티 웨브 플라트포릉.

플레아지 케프 잉 민드 타트 테지 하칭그스 아리 노트 데피니치비 안드 소우드 비 콘시데레드 아스 호그 이스치마치스. 티 베스트 쇼이시 오프 프로그라밍그 랑구아지 포르 아 파르치쿨라르 프로젝트 위우 데펜드 옹 팍토르스 수시 아스 프로젝트 헤키레멘트스, 데벨로페르 이스페리엔시, 안드 티 스페시피크 프로블렝 도마잉.

***

***

< 데젠보우베르 웅 콘준투 지 스마르트 콘트락트스 파라 수브스치투이르 우 프로세수 지 토마다 지 데시장 잉 웅 프로제투 지 코지구 아베르투 코무 후스트 에 우마 타레파 데자피아도라, 포이스 인보우베리아 아 콘베르상 지 프로세수스 우마누스 콤플레슈스 이 수치스 잉 헤그라스 코지피카다스. 이수 포데리아 잉클루이르 케스통이스 지 고베르난사, 셀레상 지 헤쿠르수스, 헤비장 지 코지구 이 무이투 마이스. 우 오브제치부 세리아 크리아르 웅 시스테마 데센트랄리자두 온지 토다스 아스 데시종이스 임포르탄치스 상 토마다스 지 마네이라 트란스파렌치 이 베리피카베우.

안치스 지 코메사르무스, 에 임포르탄치 인텐데르 키 우 후스트 에 우마 링구아젱 지 프로그라마상 콤플레샤, 이 쿠아우케르 콘준투 지 스마르트 콘트락트스 이스크리투 잉 후스트 데비 세르 쿠이다도자멘치 아우지타두 파라 가란치르 아 세구란사. 이수 에 이스페시아우멘치 크리치쿠 포르키 우스 콘트라투스 인텔리젠치스 제라우멘치 콘트롤랑 아치부스 발리오주스 이 낭 포뎅 세르 모지피카두스 데포이스 지 임플란타두스.

아키 이스타 우마 데스크리상 지 아우투 니베우 지 코무 에시 시스테마 포데리아 세르 프로제타두:

  1. 고베르난사: 포데무스 테르 웅 콘트라투 지 고베르난사 키 페르미치 아우스 멤브루스 보타르 잉 프로포스타스. 카다 멤브루 포데리아 테르 우마 세르타 쿠안치다지 지 보투스 바제아두스 잉 수아 파르치시파상 누 프로제투, 우 키 포데리아 세르 데테르미나두 포르 바리우스 파토리스, 코무 콘트리부이송이스 지 코지구, 템푸 지 인보우비멘투 누 프로제투, 이트크.

  2. 프로포스타스 지 헤쿠르수스: 우스 멤브루스 포데리앙 프로포르 노부스 헤쿠르수스 인비안두 우마 트란사상 파라 웅 콘트라투 지 프로포스타 지 헤쿠르수스. 카다 프로포스타 포데리아 잉클루이르 우마 데스크리상 두 헤쿠르수, 코지구 헬레반치, 테스치스, 이트크.

  3. 헤비장 지 코지구: 우마 베스 키 우마 프로포스타 지 헤쿠르수 세자 수브메치다, 포데리아 아베르 웅 페리오두 지 헤비장 온지 오트루스 멤브루스 포데리앙 이자미나르 우 코지구, 헤알리자르 테스치스 이 보타르 나 프로포스타.

  4. 임플란타상 지 헤쿠르수스: 시 우마 프로포스타 헤세베르 보투스 수피시엔치스, 엘라 포데리아 세르 아우토마치카멘치 푼지다 콩 아 바지 지 코지구 프린시파우. 이수 포데리아 세르 헤알리자두 포르 메이우 지 웅 콘트라투 지 임플란타상 키 텡 아 카파시다지 지 파제르 아우테라송이스 나 바지 지 코지구.

  5. 헤졸루상 지 콘플리투스: 잉 카주 지 지스푸타스, 웅 시스테마 지 아르비트라젱 옹-샤잉 포데리아 세르 우자두 파라 헤조우베르 콘플리투스. 이수 포데리아 세르 고베르나두 포르 웅 콘트라투 지 헤졸루상 지 지스푸타스.

에스치 에 아페나스 웅 이젬플루 심플리피카두 이 우 데지긍 헤아우 지 타우 시스테마 세리아 무이투 마이스 콤플레슈 이 테리아 키 리다르 콩 우마 바리에다지 지 케스통이스 아지시오나이스, 잉클루인두 세구란사, 프리바시다지, 데젬페뉴 이 쿠스투. 알렝 지수, 이지스텡 리미타송이스 테크니카스 이 프라치카스 시그니피카치바스 아 세렝 수페라다스 아우 텐타르 아플리카르 아 테크놀로지아 블록샤잉 아 프로블레마스 코무 에스치. 아 인테라상 우마나 이 우 주우가멘투 상 일레멘투스 크리치쿠스 잉 무이투스 아스펙투스 두 데젠보우비멘투 지 소프트와리, 이 낭 에 클라루 시 엘리스 포뎅 세르 이페치바멘치 수브스치투이두스 포르 코지구 잉 토두스 우스 카주스.

< 아르마제나르 우 코지구-폰치 지레타멘치 나 블록샤잉 에 우마 타레파 데자피아도라, 프린시파우멘치 데비두 아우 그란지 타마뉴 두스 헤포지토리우스 지 코지구-폰치 이 아 나투레자 이무타베우 다 블록샤잉. 누 인탄투, 에 포시베우 아르마제나르 아지스 지 베르송이스 이스페시피카스 두 코지구 나 블록샤잉 파라 하스트레아르 아스 아우테라송이스 이 만테르 아 트란스파렌시아. 잉 베스 지 아르마제나르 토두 우 코지구 나 블록샤잉, 보세 포지 아르마제나르 우 코지구 잉 아우궁 오트루 루가르 이 콜로카르 나 블록샤잉 웅 아즈 키 헤프레젠타 아켈리 이스타두 두 코지구.

우 우주 지 인텔리젠시아 아르치피시아우 (이아) 파라 헤조우베르 타레파스 지 데젠보우비멘투 지 소프트와리 에 우마 이데이아 인테레산치, 마스 아인다 이스타 잉 세우스 이스타지우스 이니시아이스 이 인프렌타 무이투스 데자피우스. 아 이아 포지 세르 우자다 파라 아주다르 잉 타레파스 코무 헤비장 지 코지구, 테스치 지 소프트와리 이 아테 메즈무 코지피카상, 마스 아투아우멘치 낭 에 카파스 지 수브스치투이르 콤플레타멘치 아 네세시다지 지 데젠보우베도리스 우마누스.

아키 이스타 웅 이즈보수 지 우마 아르키테투라 포시베우, 콤비난두 에시스 콘세이투스:

  1. 고베르난사: 아싱 코무 나 데스크리상 안테리오르, 웅 콘트라투 지 고베르난사 포데리아 세르 이스타벨레시두 파라 페르미치르 보타송이스 소브리 프로포스타스 지 무단사스.

  2. 프로포스타스 지 아우테라송이스 지 코지구: 파라 프로포르 우마 아우테라상 지 코지구, 웅 데젠보우베도르 인비아 우마 트란사상 콩 웅 아즈 다 아우테라상 프로포스타. 우 코지구 아투알리자두 잉 시 포데리아 세르 아르마제나두 잉 우마 플라타포르마 지 아르마제나멘투 지 코지구 이스테르나 코무 우 지투브, 지틀라브 오 웅 시스테마 지 아르마제나멘투 데센트랄리자두 코무 우 이프프스.

  3. 헤비장 지 코지구 콩 이아: 아스 페하멘타스 지 이아 포데리앙 세르 우자다스 파라 헤알리자르 우마 아날리지 프렐리미나르 두 코지구 프로포스투, 프로쿠란두 프로블레마스 코뭉스 이 포시베이스 멜료리아스. 우스 헤주우타두스 데사 아날리지 포데리앙 세르 아프레젠타두스 아우스 보탄치스 파라 인포르마르 수아 데시장.

  4. 보타상 이 임플레멘타상: 시 아 프로포스타 헤세베르 보투스 수피시엔치스, 우 콘트라투 지 고베르난사 포데리아 인비아르 우마 트란사상 파라 웅 콘트라투 지 임플란타상 키 아투알리자 우 아즈 두 코지구-폰치 아투아우 파라 우 노부 아즈.

  5. 베리피카상 지 코지구 콩 이아: 아포스 우마 무단사 세르 아프로바다, 페하멘타스 지 이아 포데리앙 세르 우자다스 파라 이제쿠타르 테스치스 아우토마치자두스 이 베리피카르 아 인테그리다지 두 노부 코지구.

  6. 헤졸루상 지 콘플리투스: 다 메즈마 포르마 키 나 데스크리상 안테리오르, 웅 시스테마 지 아르비트라젱 옹-샤잉 포데리아 세르 우자두 파라 헤조우베르 지스푸타스.

아인다 아싱, 발리 렘브라르 키 우스 아우고리트무스 지 이아 아투아이스 낭 포뎅 수브스치투이르 토타우멘치 우 주우가멘투 우마누 쿠안두 시 트라타 지 타레파스 콤플레샤스 코무 우 데젠보우비멘투 지 소프트와리. 잉쿠안투 엘리스 포뎅 세르 카파지스 지 이덴치피카르 세르투스 치푸스 지 프로블레마스 이 아주다르 아 아우토마치자르 타레파스 헤페치치바스, 아인다 아 무이타스 타레파스 키 이지젱 아 카파시다지 우마나 지 인텐데르 이 헤조우베르 프로블레마스 콤플레슈스.

< 크리아르 웅 시스테마 지 보타상 나 블록샤잉 키 세자 탄투 주스투 쿠안투 세구루 에 웅 데자피우 시그니피카치부. 이지스텡 무이투스 파토리스 아 세렝 콘시데라두스 이 무이타스 마네이라스 지페렌치스 지 프로제타르 우 시스테마. 아키 이스탕 아우궁스 일레멘투스 키 포뎅 세르 콘시데라두스 파라 웅 시스테마 지 보타상 파라 프로포스타스 지 무단사스 지 코지구 잉 우마 플라타포르마 데센트랄리자다:

  1. 일레지빌리다지 파라 보타상: 프리메이라멘치, 데비-시 데시지르 켕 테라 지레이투 아 보타르. 포지 세르 쿠아우케르 페소아 키 포수아 웅 세르투 토켕, 쿠아우케르 페소아 키 테냐 콘트리부이두 파라 우 프로제투, 오 웅 그루푸 마이스 헤스트리투 지 페소아스 이스콜리다스 지 아우구마 포르마. 카다 우마 데사스 아보르다젱스 텡 수아스 반타젱스 이 데즈반타젱스.

  2. 폰데라상 지 보투스: 우스 보투스 포뎅 세르 폰데라두스 지 바리아스 마네이라스. 포지-시 오프타르 포르 웅 보투 포르 페소아, 인데펜덴테멘치 지 쿠앙 인보우비두스 엘리스 이스테장 누 프로제투, 오 포지-시 폰데라르 우스 보투스 콩 바지 잉 아우궁 크리테리우, 코무 우 누메루 지 토켕스 키 아우겡 포수이, 우 템푸 키 엘리스 텡 이스타두 인보우비두스 누 프로제투, 오 아 쿠안치다지 지 콘트리부이송이스 지 코지구 키 엘리스 피제랑.

  3. 메카니즈무 지 보타상: 이지스텡 바리아스 마네이라스 지 임플레멘타르 우 메카니즈무 지 보타상 잉 시. 포지-시 우자르 웅 시스테마 심플리스 지 마이오리아, 온지 아 프로포스타 콩 아 마이오리아 두스 보투스 벤시, 오 포지-시 우자르 아우궁 치푸 지 시스테마 지 콘센수 마이스 콤플레슈. 알렝 지수, 포지-시 임플레멘타르 아우궁 치푸 지 메카니즈무 지 베투, 온지 우마 세르타 포르센타젱 지 보투스 콘트라리우스 포지 블로케아르 우마 프로포스타.

  4. 페리오두 지 보타상: 우 페리오두 지 템푸 두란치 우 쿠아우 아스 보타송이스 이스탕 아베르타스 데비 세르 수피시엔테멘치 롱구 파라 페르미치르 키 토두스 우스 일레이토리스 일레지베이스 테냥 아 샨시 지 보타르, 마스 낭 탕 롱구 아 폰투 지 아트라자르 인데비다멘치 아 임플레멘타상 지 무단사스.

  5. 프리바시다지 다 보타상: 임보라 아 트란스파렌시아 세자 우마 다스 프린시파이스 반타젱스 다 블록샤잉, 탐벵 포지 세르 임포르탄치 가란치르 키 우스 보투스 세장 프리바두스 파라 이비타르 코에르상 오 오트라스 포르마스 지 마니풀라상 지 보투스. 이수 포지 세르 지피시우 지 아우칸사르 나 프라치카, 마스 이지스텡 테크니카스 크리프토그라피카스, 코무 아 프로바 지 코녜시멘투 제루, 키 포뎅 세르 우자다스 파라 에스치 핑.

  6. 프로테상 콘트라 아타케스: 데비-시 토마르 메지다스 파라 프로테제르 우 시스테마 지 보타상 콘트라 바리우스 치푸스 지 아타케스, 코무 아타케스 시비우, 온지 우마 페소아 크리아 바리아스 이덴치다지스 파라 가냐르 보투스 아지시오나이스, 이 아타케스 지 51%, 온지 아우겡 콩 우마 그란지 쿠안치다지 지 포데르 지 보타상 텐타 토마르 우 콘트롤리 두 시스테마.

  7. 트란스파렌시아 이 아우지토리아: 아스 보타송이스 데벵 세르 트란스파렌치스 이 아우지타베이스 파라 가란치르 아 주스치사 두 프로세수. 이수 포지 세르 파실리타두 펠루 우주 다 블록샤잉, 키 크리아 웅 헤지스트루 페르마넨치 이 이무타베우 지 토다스 아스 트란사송이스. 누 인탄투, 데비-시 토마르 쿠이다두 파라 가란치르 키 아 프리바시다지 두스 보탄치스 세자 프로테지다.

에 임포르탄치 렘브라르 키 낭 이지스치 웅 “타마뉴 우니쿠” 파라 웅 시스테마 지 보타상 나 블록샤잉. 우 데지긍 두 시스테마 데비 세르 아다프타두 아스 네세시다지스 이스페시피카스 두 프로제투 이 다 코무니다지.

< 아 헤알리자상 지 테스치스 인드-투-인드 (이2이) 이 테스치스 지 헤그레상 에 푼다멘타우 파라 가란치르 아 쿠알리다지 두 코지구 이 아 푼시오날리다지 아데쿠아다 두스 아플리카치부스 오 시스테마스. 누 카주 지 우마 카르테이라 나 블록샤잉 콘스트루이다 콩 우 프로토콜루 네아르, 우 프로세수 파라 발리다르 웅 파트시, 헤알리자르 테스치스 지 헤그레상 이, 잉 세기다, 헤임플란타르 우 아플리카치부 포지 잉클루이르 우스 세긴치스 파수스:

  1. 암비엔치 지 테스치: 프리메이루, 웅 암비엔치 지 테스치 아데쿠아두 데비 세르 콘피구라두. 에스치 암비엔치 데비 세르 우 마이스 프로시무 포시베우 두 암비엔치 지 프로두상. 이수 포지 인보우베르 아 콘피구라상 지 우마 헤지 지 블록샤잉 네아르 지 테스치.

  2. 파트시 지 코지구: 아포스 아 아플리카상 두 파트시 지 코지구, 에 이센시아우 베리피카르 시 우 코지구 아인다 콤필라 셍 에후스 이 시 토두스 우스 테스치스 우니타리우스 아인다 파상.

  3. 테스치스 이2이: 우스 테스치스 이2이 상 프로제타두스 파라 베리피카르 시 토두 우 시스테마 푼시오나 콘포르미 이스페라두 두 이니시우 아우 핑. 누 카주 지 우마 카르테이라 나 블록샤잉, 이수 포지 인보우베르 크리아르 우마 노바 트란사상, 아시나-라, 인비아-라 파라 아 헤지 이 베리피카르 시 엘라 포이 잉클루이다 누 블록샤잉 이 시 우스 사우두스 지 토켕스 포랑 아투알리자두스 코헤타멘치. 우스 테스치스 이2이 탐벵 포뎅 인보우베르 아 인테라상 콩 아 인테르파시 두 우주아리우 파라 가란치르 키 투두 이스테자 푼시오난두 코헤타멘치 두 폰투 지 비스타 두 우주아리우.

  4. 테스치스 지 헤그레상: 우스 테스치스 지 헤그레상 상 프로제타두스 파라 가란치르 키 우 파트시 지 코지구 낭 인트로두지우 노부스 부그스 누 시스테마. 이수 인보우비 헤셰쿠타르 토두스 우스 테스치스 이지스텐치스 (잉클루인두 테스치스 우니타리우스, 테스치스 지 인테그라상 이 테스치스 이2이) 파라 베리피카르 시 엘리스 아인다 파상. 시 아우궁 테스치 팔랴르, 이수 포지 인지카르 웅 프로블레마 콩 우 파트시 지 코지구.

  5. 헤비장 지 코지구: 안치스 지 헤임플란타르 우 코지구, 포지 세르 우치우 헤알리자르 우마 헤비장 지 코지구 파라 베리피카르 시 우 파트시 지 코지구 세기 아스 멜료리스 프라치카스 지 코지피카상 이 시 낭 콘텡 에후스 오 프로블레마스 지 세구란사.

  6. 헤데플로이: 아포스 아 발리다상 벵-수세지다 두 파트시 이 아 콩클루장 두스 테스치스 지 헤그레상, 우 코지구 포지 세르 헤임플란타두 누 암비엔치 지 프로두상. 이수 포지 인보우베르 아 콤필라상 두 코지구 잉 웅 콘트라투 인텔리젠치, 아 임플란타상 두 콘트라투 나 헤지 블록샤잉 네아르 이 아 아투알리자상 지 쿠아이스케르 인테르파시스 지 우주아리우 오 아피스 네세사리아스.

  7. 모니토라멘투: 아포스 아 헤임플란타상, 에 임포르탄치 모니토라르 우 아플리카치부 파라 가란치르 키 엘리 이스테자 푼시오난두 코헤타멘치. 이수 포지 인보우베르 우 모니토라멘투 지 로그스 지 에후스, 메트리카스 지 데젬페뉴 이 페드바크 두 우주아리우.

에시스 파수스 데벵 세르 아우토마치자두스 우 마시무 포시베우 파라 토르나르 우 프로세수 지 테스치 이 헤임플란타상 마이스 이피시엔치 이 헤두지르 아 포시빌리다지 지 에후스 우마누스. 알렝 지수, 우스 테스치스 데벵 세르 프로제타두스 지 포르마 키 쿠브랑 우 마이오르 누메루 포시베우 지 세나리우스 지 우주 파라 마시미자르 아 프로바빌리다지 지 잉콘트라르 이 코히지르 부그스.

< 임플레멘칭그 아 데타일레드 이2이 피펠리니 우징그 포웨르제우 포르 아 심플리 보칭그 시르쿠이트 옹 네아르 프로토코우 인보우베스 무우치플리 스테프스 수시 아스 세칭그 우프 티 인비론멘트, 콤필링그 안드 데플로잉그 티 스마르트 콘트락트스, 프레파링그 티 프론텐드 안드 바켄드 아피스, 안드 후닝그 티 테스트스.

에리 이스 아 심플리피에드 이잠플리 잉 포웨르제우. 티스 스크리프트 아수메스 요 아비 네아르 클리, 노지.즈스 안드 오테르 데펜덴시스 아우헤아지 인스탈레드 잉 요르 인비론멘트.

플레아지 노치, 티스 이스 아 이그-레베우 아브스트락치옹 오프 아트 티 스크리프트 코우드 로크 리키 안드 이트’스 노트 풀리 풍크치오나우. 플레아지 우지 이트 아스 아 기지 투 리치 요르 옹 스크리프트 아코르징그 투 요르 프로젝트’스 스페시피크 네드스.

# 스크리프트.프스1
# 인수리 이호르 옹 파이우
$이호락치온프레페렌시 = "스토프"

# 스테프 1: 콤필리 스마르트 콘트락트
리치-오트푸트 "콤필링그 스마르트 콘트락트..."
세트-로카치옹 .\콘트락트
& 카르구 부이우드 --헬레아지
세트-로카치옹 ..

# 스테프 2: 데플로이 스마르트 콘트락트 투 네아르 테스트네트
리치-오트푸트 "데플로잉그 스마르트 콘트락트 투 네아르 테스트네트..."
& 네아르 데브-데플로이 .\콘트락트\타르제트\와증32-웅크농-웅크농\헬레아지\콘트락트.와증

# 스테프 3: 프레파리 아피 세르베르
리치-오트푸트 "인스탈링그 아피 세르베르 데펜덴시스..."
세트-로카치옹 .\아피-세르베르
& 느픙 인스타우
리치-오트푸트 "스타르칭그 아피 세르베르..."
스타르트-프로세스 "느픙" -아르구멘틀리스트 "스타르트" -노네윈도
세트-로카치옹 ..

# 스테프 4: 프레파리 프론텐드
리치-오트푸트 "인스탈링그 프론텐드 데펜덴시스..."
세트-로카치옹 .\프론텐드
& 느픙 인스타우
리치-오트푸트 "스타르칭그 프론텐드..."
스타르트-프로세스 "느픙" -아르구멘틀리스트 "스타르트" -노네윈도
세트-로카치옹 ..

# 스테프 5: 훙 이2이 테스트스
리치-오트푸트 "후닝그 이2이 테스트스..."
& 느픙 훙 이2이

# 셰크 포르 아니 이호르스 두링그 티 프로세스
이프 ($라스테시트코지 -니 0) {
리치-오트푸트 "앙 이호르 오쿠헤드 두링그 티 이2이 테스칭그 프로세스"
이지트 $라스테시트코지
}

리치-오트푸트 "이2이 테스트스 콤플레테드 수세스풀리. 보칭그 시르쿠이트 이스 풍크치오닝그 아스 이스펙테드."

티스 스크리프트 잉클루지스 바지크 스테프스, 부트 헤아우-워루드 세나리우스 워우드 세르타인리 비 모리 콤플레스. 테이 워우드 리켈리 인보우비 아지치오나우 콘시데라치옹스 수시 아스 트란삭치옹 안들링그, 테스트 카지 세투프 안드 테아르동, 이호르 안들링그, 안드 페라프스 이벵 오르셰스트라치옹 우징그 콘치누오스 인테그라치옹 (시) 피펠리니스.

노치 타트 네아르’스 데브-데플로이 코만드 위우 데플로이 티 콘트락트 투 아 네 아콘트 옹 티 테스트 네트워르크. 이프 요 완트 투 데플로이 투 아 스페시피크 아콘트, 요’르 네드 투 우지 아 지페렌트 코만드 안드 인수리 타트 티 아콘트 아스 수피시엔트 푼드스 포르 티 데플로이멘트.

아우수, 헤멤베르 투 크레아치 아프로프리아치 테스트스 운데르 요르 느픙 훙 이2이 스크리프트 잉 요르 파카지.즈송. 테지 테스트스 소우드 인보우비 인테락치옹 위트 요르 프론텐드, 아피스, 안드 스마르트 콘트락트스 투 풀리 발리다치 요르 보칭그 시르쿠이트.

라스틀리, 플레아지 인수리 타트 요 폴로 티 베스트 프락치시스 포르 포웨르제우 스크리프칭그 수시 아스 우징그 스트릭트 모지, 안들링그 안드 로징그 이호르스 아프로프리아텔리, 안드 세쿠링그 아니 센시치비 인포르마치옹.

< 우니트 테스칭그 포르 후스트 스마르트 콘트락트스 옹 티 네아르 프로토코우 캉 비 도니 위트 티 네아르-스드크-싱 크라치, 이시 알로스 포르 파스트 안드 헬리아블리 우니트 테스칭그.

벨로 이스 앙 이잠플리 오프 아 우니트 테스트 포르 아 심플리 보칭그 콘트락트:

우지 네아르_스드크::즈송_치페스::우128
우지 네아르_스드크::세르지_즈송::즈송
우지 네아르_스드크_싱::{카우, 데플로이, 이니트_시물라토르, 투_욕투, 비에, 콘트락타콘트, 우제라콘트}

// 로아드 잉 콘트락트 비치스 아트 훈치미
네아르_스드크_싱::라지_스타치크_잉클루지::라지_스타치크_잉클루지_비치스! {
콘트락트_비치스 => "히스/보칭그_콘트락트.와증",
}

// 이니치알리지 티 시물라토르
#[테스트]
픙 이니트() {
레트 콘테스트 = 이니트_시물라토르(노니)
레트 콘트락트_이드 = 콘테스트.아콘트스[0].아콘트_이드().투_스트링그()
레트 콘트락트 = 데플로이! {
콘트락트: 보칭그_콘트락트,
콘트락트_이드: 콘트락트_이드,
비치스: &콘트락트_비치스,
시그네르_아콘트: 콘테스트.아콘트스[0],
}

// 베리피 타트 티 콘트락트 와스 데플로예드 코헥틀리
레트 토타우_보치스: 우128 = 비에!(콘트락트.제트_토타우_보치스()).운으라프_즈송()
아세르트_이크!(토타우_보치스.0, 0)

// 크레아치 아 네 보치
레트 히스 = 카우!(
콘테스트.아콘트스[0],
콘트락트.크레아치_보치(즈송!({ "보치": "보치 1" })),
데포지트 = 투_욕투("1")
)
아세르트!(히스.이스_오크())

// 베리피 타트 티 보치 와스 크레아테드 코헥틀리
레트 토타우_보치스: 우128 = 비에!(콘트락트.제트_토타우_보치스()).운으라프_즈송()
아세르트_이크!(토타우_보치스.0, 1)
}

티스 테스트 위우 이니치알리지 아 보칭그 콘트락트, 베리피 이트스 이니치아우 스타치, 크레아치 아 네 보치, 안드 텡 베리피 타트 티 보치 와스 코헥틀리 크레아테드.

노치 타트 잉 오르데르 포르 티스 투 워르크, 요르 콘트락트 위우 네드 투 아비 아 메토드 크레아치_보치 타트 아세프트스 아 즈송 오브젝트 위트 아 싱글리 “보치” 피에우드 안드 아 제트_토타우_보치스 메토드 타트 헤투릉스 티 토타우 눔베르 오프 보치스. 아우수, 플레아지 헤플라시 “히스/보칭그_콘트락트.와증” 위트 티 파트 투 요르 콤필레드 콘트락트.

케프 잉 민드 타트 티스 이스 아 베리 바지크 이잠플리, 안드 악투아우 우니트 테스트스 워우드 리켈리 비 무시 모리 콤플레스 안드 코베르 마니 모리 에드지 카지스. 아우수, 이트’스 고드 프락치시 투 리치 테스트스 노트 온리 포르 수세스풀 카지스 부트 아우수 포르 카지스 에리 요 이스펙트 파일루리스 투 인수리 타트 요르 콘트락트 베아베스 코헥틀리 잉 테지 시투아치옹스 아스 웨우.

< 투 리치 아세르치옹스 포르 아 보칭그 시스텡 타트’스 데지그네드 투 안들리 후스트 랑구아지 테앙 델리베라치옹스, 위 네드 투 콘시데르 아 페 아스펙트스:

  1. 지페렌트 보칭그 치페스: 티 후스트 랑구아지 테앙 마이 헤키리 지페렌트 보칭그 치페스, 수시 아스 심플리 마조리치, 수페르마조리치, 오르 우나니미치, 데펜징그 옹 티 데시지옹 아트 안드.

  2. 일리지빌리치 투 보치: 노트 이베리오니 마이 비 일리지블리 투 보치 옹 아우 마테르스. 이트 코우드 비 타트 온리 테앙 멤베르스 캉 보치, 오르 페라프스 온리 콘트리부토르스 위트 아 세르타잉 레베우 오프 인보우베멘트.

  3. 프로포징그 데시지옹스: 테리 네드스 투 비 아 시스텡 잉 플라시 포르 프로포징그 데시지옹스 투 비 보테드 옹.

  4. 콘플릭트 헤졸루치옹: 잉 카지 오프 아 치, 테리 네드스 투 비 아 메샤니증 포르 브레아킹그 티 데아들로크.

  5. 치메프라메스: 테리 코우드 비 아 치미 리미트 위팅 이시 보치스 무스트 비 카스트.

에리’스 아 바지크 이잠플리 오프 아트 티 아세르치옹스 미그트 로크 리키:

#[테스트]
픙 보치() {
// 이니치알리지 티 콘트락트 안드 크레아치 아 네 데시지옹
레트 데시지옹 = "네 페아투리 프로포자우"
레트 히스 = 카우!(
콘테스트.아콘트스[0],
콘트락트.크레아치_데시지옹(데시지옹),
데포지트 = 투_욕투("1")
)
아세르트!(히스.이스_오크())

// 베리피 티 데시지옹 와스 크레아테드
레트 데시지옹_다타: 데시지옹 = 비에!(콘트락트.제트_데시지옹(데시지옹)).운으라프_즈송()
아세르트_이크!(데시지옹_다타.나미, 데시지옹)
아세르트_이크!(데시지옹_다타.보치_콘트, 0)
아세르트_이크!(데시지옹_다타.스타투스, 데시지온스타투스::오펭)

// 카스트 아 보치
레트 히스 = 카우!(
콘테스트.아콘트스[1],
콘트락트.보치(데시지옹, 보치::이스),
데포지트 = 투_욕투("0.1")
)
아세르트!(히스.이스_오크())

// 베리피 티 보치 와스 헤코르데드
레트 데시지옹_다타: 데시지옹 = 비에!(콘트락트.제트_데시지옹(데시지옹)).운으라프_즈송()
아세르트_이크!(데시지옹_다타.보치_콘트, 1)

// 베리피 타트 티 보치 탈리 이스 우프다테드
레트 보치_탈리: 보테탈리 = 비에!(콘트락트.제트_보치_탈리(데시지옹)).운으라프_즈송()
아세르트_이크!(보치_탈리.이스_보치스, 1)
아세르트_이크!(보치_탈리.누_보치스, 0)

// 트리 투 보치 트위시, 소우드 파이우
레트 히스 = 카우!(
콘테스트.아콘트스[1],
콘트락트.보치(데시지옹, 보치::누),
데포지트 = 투_욕투("0.1")
)
아세르트!(히스.이스_이흐())

// 베리피 타트 티 보치 탈리 이스 스치우 티 사미
레트 보치_탈리: 보테탈리 = 비에!(콘트락트.제트_보치_탈리(데시지옹)).운으라프_즈송()
아세르트_이크!(보치_탈리.이스_보치스, 1)
아세르트_이크!(보치_탈리.누_보치스, 0)
}

테지 아세르치옹스 인수리 타트 티 데시지옹 크레아치옹, 보칭그, 안드 보치 탈링그 프로세시스 아리 풍크치오닝그 코헥틀리. 테이 아우수 인수리 타트 이아시 우제르 캉 온리 보치 온시 페르 데시지옹. 테리 워우드 비 아지치오나우 테스트스 헤키레드 투 인수리 아우 파르트스 오프 티 콘트락트 워르크 코헥틀리, 수시 아스 일리지빌리치 셰킹그, 데시지옹 이스피리, 보치 치피 안들링그, 안드 콘플릭트 헤졸루치옹.

부이우징그 옹 티 프레비오스 이잠플리, 위 캉 이스판드 티 테스트 세트 투 코베르 모리 풍크치오날리치스 오프 티 스마르트 콘트락트. 에리 아리 소미 아지치오나우 아세르치옹스 포르 티 스마르트 콘트락트:

#[테스트]
픙 이스텐시비_보치_테스트() {
// 이니치알리지 티 콘트락트 안드 크레아치 아 네 데시지옹
레트 데시지옹 = "네 페아투리 프로포자우"
레트 히스 = 카우!(
콘테스트.아콘트스[0],
콘트락트.크레아치_데시지옹(데시지옹),
데포지트 = 투_욕투("1")
)
아세르트!(히스.이스_오크(), "1. 크레아치 데시지옹 파일레드")

// 베리피 티 데시지옹 와스 크레아테드
레트 데시지옹_다타: 데시지옹 = 비에!(콘트락트.제트_데시지옹(데시지옹)).운으라프_즈송()
아세르트_이크!(데시지옹_다타.나미, 데시지옹, "2. 데시지옹 나미 잉코헥트")
아세르트_이크!(데시지옹_다타.보치_콘트, 0, "3. 이니치아우 보치 콘트 잉코헥트")
아세르트_이크!(데시지옹_다타.스타투스, 데시지온스타투스::오펭, "4. 데시지옹 스타투스 잉코헥트")

// 카스트 아 보치
레트 히스 = 카우!(
콘테스트.아콘트스[1],
콘트락트.보치(데시지옹, 보치::이스),
데포지트 = 투_욕투("0.1")
)
아세르트!(히스.이스_오크(), "5. 피르스트 보치 파일레드")

// 베리피 티 보치 와스 헤코르데드
레트 데시지옹_다타: 데시지옹 = 비에!(콘트락트.제트_데시지옹(데시지옹)).운으라프_즈송()
아세르트_이크!(데시지옹_다타.보치_콘트, 1, "6. 보치 콘트 잉코헥트 아프테르 피르스트 보치")

// 베리피 타트 티 보치 탈리 이스 우프다테드
레트 보치_탈리: 보테탈리 = 비에!(콘트락트.제트_보치_탈리(데시지옹)).운으라프_즈송()
아세르트_이크!(보치_탈리.이스_보치스, 1, "7. 이스 보치 탈리 잉코헥트 아프테르 피르스트 보치")
아세르트_이크!(보치_탈리.누_보치스, 0, "8. 누 보치 탈리 잉코헥트 아프테르 피르스트 보치")

// 트리 투 보치 트위시, 소우드 파이우
레트 히스 = 카우!(
콘테스트.아콘트스[1],
콘트락트.보치(데시지옹, 보치::누),
데포지트 = 투_욕투("0.1")
)
아세르트!(히스.이스_이흐(), "9. 도블리 보칭그 알로웨드")

// 베리피 타트 티 보치 탈리 이스 스치우 티 사미
레트 보치_탈리: 보테탈리 = 비에!(콘트락트.제트_보치_탈리(데시지옹)).운으라프_즈송()
아세르트_이크!(보치_탈리.이스_보치스, 1, "10. 이스 보치 탈리 잉코헥트 아프테르 도블리 보치 아템프트")
아세르트_이크!(보치_탈리.누_보치스, 0, "11. 누 보치 탈리 잉코헥트 아프테르 도블리 보치 아템프트")

// 카스트 아 누 보치
레트 히스 = 카우!(
콘테스트.아콘트스[2],
콘트락트.보치(데시지옹, 보치::누),
데포지트 = 투_욕투("0.1")
)
아세르트!(히스.이스_오크(), "12. 세콘드 보치 파일레드")

// 베리피 티 보치 와스 헤코르데드
레트 데시지옹_다타: 데시지옹 = 비에!(콘트락트.제트_데시지옹(데시지옹)).운으라프_즈송()
아세르트_이크!(데시지옹_다타.보치_콘트, 2, "13. 보치 콘트 잉코헥트 아프테르 세콘드 보치")

// 베리피 타트 티 보치 탈리 이스 우프다테드
레트 보치_탈리: 보테탈리 = 비에!(콘트락트.제트_보치_탈리(데시지옹)).운으라프_즈송()
아세르트_이크!(보치_탈리.이스_보치스, 1, "14. 이스 보치 탈리 잉코헥트 아프테르 세콘드 보치")
아세르트_이크!(보치_탈리.누_보치스, 1, "15. 누 보치 탈리 잉코헥트 아프테르 세콘드 보치")

// 베리피 타트 아 데시지옹 캉'트 비 클로제드 이아를리
레트 히스 = 카우!(
콘테스트.아콘트스[0],
콘트락트.클로지_데시지옹(데시지옹),
데포지트 = 투_욕투("1")
)
아세르트!(히스.이스_이흐(), "16. 데시지옹 와스 아블리 투 비 클로제드 이아를리")

// 카스트 아 피나우 이스 보치
레트 히스 = 카우!(
콘테스트.아콘트스[3],
콘트락트.보치(데시지옹, 보치::이스),
데포지트 = 투_욕투("0.1")
)
아세르트!(히스.이스_오크(), "17. 피나우 보치 파일레드")

// 베리피 티 보치 와스 헤코르데드
레트 데시지옹_다타: 데시지옹 = 비에!(콘트락트.제트_데시지옹(데시지옹)).운으라프_즈송()
아세르트_이크!(데시지옹_다타.보치_콘트, 3, "18. 보치 콘트 잉코헥트 아프테르 피나우 보치")

// 베리피 타트 티 보치 탈리 이스 우프다테드
레트 보치_탈리: 보테탈리 = 비에!(콘트락트.제트_보치_탈리(데시지옹)).운으라프_즈송()
아세르트_이크!(보치_탈리.이스_보치스, 2, "19. 이스 보치 탈리 잉코헥트 아프테르 피나우 보치")
아세르트_이크!(보치_탈리.누_보치스, 1, "20. 누 보치 탈리 잉코헥트 아프테르 피나우 보치")

// 클로지 티 데시지옹
레트 히스 = 카우!(
콘테스트.아콘트스[0],
콘트락트.클로지_데시지옹(데시지옹),
데포지트 = 투_욕투("1")
)
아세르트!(히스.이스_오크(), "21. 클로징그 데시지옹 파일레드")

// 베리피 티 데시지옹 와스 클로제드
레트 데시지옹_다타: 데시지옹 = 비에!(콘트락트.제트_데시지옹(데시지옹)).운으라프_즈송()
아세르트_이크!(데시지옹_다타.스타투스, 데시지온스타투스::클로제드, "22. 데시지옹 스타투스 잉코헥트 아프테르 클로징그")

// 베리피 타트 보칭그 옹 아 클로제드 데시지옹 파이우스
레트 히스 = 카우!(
콘테스트.아콘트스[4],
콘트락트.보치(데시지옹, 보치::누),
데포지트 = 투_욕투("0.1")
)
아세르트!(히스.이스_이흐(), "23. 보칭그 알로웨드 옹 클로제드 데시지옹")

// 베리피 타트 티 보치 탈리 이스 운샨제드
레트 보치_탈리: 보테탈리 = 비에!(콘트락트.제트_보치_탈리(데시지옹)).운으라프_즈송()
아세르트_이크!(보치_탈리.이스_보치스, 2, "24. 이스 보치 탈리 잉코헥트 아프테르 아템프트 투 보치 옹 클로제드 데시지옹")
아세르트_이크!(보치_탈리.누_보치스, 1, "25. 누 보치 탈리 잉코헥트 아프테르 아템프트 투 보치 옹 클로제드 데시지옹")

// 베리피 타트 클로징그 아 데시지옹 트위시 파이우스
레트 히스 = 카우!(
콘테스트.아콘트스[0],
콘트락트.클로지_데시지옹(데시지옹),
데포지트 = 투_욕투("1")
)
아세르트!(히스.이스_이흐(), "26. 데시지옹 아블리 투 비 클로제드 트위시")

// 크레아치 아노테르 데시지옹
레트 데시지옹_2 = "아노테르 페아투리 프로포자우"
레트 히스 = 카우!(
콘테스트.아콘트스[0],
콘트락트.크레아치_데시지옹(데시지옹_2),
데포지트 = 투_욕투("1")
)
아세르트!(히스.이스_오크(), "27. 크레아치 세콘드 데시지옹 파일레드")

// 베리피 티 세콘드 데시지옹 와스 크레아테드
레트 데시지옹_다타: 데시지옹 = 비에!(콘트락트.제트_데시지옹(데시지옹_2)).운으라프_즈송()
아세르트_이크!(데시지옹_다타.나미, 데시지옹_2, "28. 세콘드 데시지옹 나미 잉코헥트")
아세르트_이크!(데시지옹_다타.보치_콘트, 0, "29. 이니치아우 보치 콘트 잉코헥트 포르 세콘드 데시지옹")
아세르트_이크!(데시지옹_다타.스타투스, 데시지온스타투스::오펭, "30. 세콘드 데시지옹 스타투스 잉코헥트")

// 베리피 타트 티 피르스트 데시지옹 이스 운샨제드
레트 데시지옹_다타: 데시지옹 = 비에!(콘트락트.제트_데시지옹(데시지옹)).운으라프_즈송()
아세르트_이크!(데시지옹_다타.나미, 데시지옹, "31. 피르스트 데시지옹 나미 잉코헥트 아프테르 세콘드 데시지옹 크레아테드")
아세르트_이크!(데시지옹_다타.보치_콘트, 3, "32. 피르스트 데시지옹 보치 콘트 잉코헥트 아프테르 세콘드 데시지옹 크레아테드")
아세르트_이크!(데시지옹_다타.스타투스, 데시지온스타투스::클로제드, "33. 피르스트 데시지옹 스타투스 잉코헥트 아프테르 세콘드 데시지옹 크레아테드")

// 트리 투 크레아치 아 데시지옹 위트 티 사미 나미, 소우드 파이우
레트 히스 = 카우!(
콘테스트.아콘트스[0],
콘트락트.크레아치_데시지옹(데시지옹),
데포지트 = 투_욕투("1")
)
아세르트!(히스.이스_이흐(), "34. 아블리 투 크레아치 데시지옹 위트 사미 나미")

// 베리피 타트 티 피르스트 데시지옹 이스 운샨제드
레트 데시지옹_다타: 데시지옹 = 비에!(콘트락트.제트_데시지옹(데시지옹)).운으라프_즈송()
아세르트_이크!(데시지옹_다타.나미, 데시지옹, "35. 피르스트 데시지옹 나미 잉코헥트 아프테르 아템프트 투 크레아치 데시지옹 위트 사미 나미")
아세르트_이크!(데시지옹_다타.보치_콘트, 3, "36. 피르스트 데시지옹 보치 콘트 잉코헥트 아프테르 아템프트 투 크레아치 데시지옹 위트 사미 나미")
아세르트_이크!(데시지옹_다타.스타투스, 데시지온스타투스::클로제드, "37. 피르스트 데시지옹 스타투스 잉코헥트 아프테르 아템프트 투 크레아치 데시지옹 위트 사미 나미")

// 트리 투 보치 옹 아 농-이지스텐트 데시지옹, 소우드 파이우
레트 농_이지스텐트_데시지옹 = "농-이지스텐트 데시지옹"
레트 히스 = 카우!(
콘테스트.아콘트스[1],
콘트락트.보치(농_이지스텐트_데시지옹, 보치::이스),
데포지트 = 투_욕투("0.1")
)
아세르트!(히스.이스_이흐(), "38. 아블리 투 보치 옹 농-이지스텐트 데시지옹")

// 트리 투 제트 아 농-이지스텐트 데시지옹, 소우드 파이우
레트 히스 = 비에!(콘트락트.제트_데시지옹(농_이지스텐트_데시지옹))
아세르트!(히스.이스_이흐(), "39. 아블리 투 제트 농-이지스텐트 데시지옹")

// 트리 투 제트 보치 탈리 오프 아 농-이지스텐트 데시지옹, 소우드 파이우
레트 히스 = 비에!(콘트락트.제트_보치_탈리(농_이지스텐트_데시지옹))
아세르트!(히스.이스_이흐(), "40. 아블리 투 제트 보치 탈리 오프 농-이지스텐트 데시지옹")
}
// 41. 트리 투 클로지 아 농-이지스텐트 데시지옹, 소우드 파이우
레트 히스 = 카우!(
콘테스트.아콘트스[0],
콘트락트.클로지_데시지옹(농_이지스텐트_데시지옹),
데포지트 = 투_욕투("1")
)
아세르트!(히스.이스_이흐(), "41. 아블리 투 클로지 농-이지스텐트 데시지옹")

// 42. 트리 투 크레아치 아 데시지옹 위토트 아 데포지트, 소우드 파이우
레트 데시지옹_3 = "티르드 데시지옹 프로포자우"
레트 히스 = 카우!(
콘테스트.아콘트스[0],
콘트락트.크레아치_데시지옹(데시지옹_3)
)
아세르트!(히스.이스_이흐(), "42. 아블리 투 크레아치 데시지옹 위토트 아 데포지트")

// 43. 트리 투 보치 위토트 아 데포지트, 소우드 파이우
레트 히스 = 카우!(
콘테스트.아콘트스[2],
콘트락트.보치(데시지옹_2, 보치::누)
)
아세르트!(히스.이스_이흐(), "43. 아블리 투 보치 위토트 아 데포지트")

// 44. 베리피 타트 아 우제르 카노트 보치 모리 탕 온시 옹 티 사미 데시지옹
레트 히스 = 카우!(
콘테스트.아콘트스[1],
콘트락트.보치(데시지옹_2, 보치::이스),
데포지트 = 투_욕투("0.1")
)
아세르트!(히스.이스_오크(), "44. 우제르 노트 아블리 투 보치 피르스트 치미")
레트 히스 = 카우!(
콘테스트.아콘트스[1],
콘트락트.보치(데시지옹_2, 보치::이스),
데포지트 = 투_욕투("0.1")
)
아세르트!(히스.이스_이흐(), "45. 우제르 아블리 투 보치 모리 탕 온시")

// 46. 베리피 타트 티 보칭그 리미트 이스 인포르세드
포르 이 잉 4..15 {
레트 히스 = 카우!(
콘테스트.아콘트스[이],
콘트락트.보치(데시지옹_2, 보치::이스),
데포지트 = 투_욕투("0.1")
)
이프 이 < 10 {
아세르트!(히스.이스_오크(), "46. 우제르 노트 아블리 투 보치 위팅 리미트")
} 에우시 {
아세르트!(히스.이스_이흐(), "47. 보칭그 리미트 노트 인포르세드")
}
}

// 48. 크레아치 아 데시지옹 위트 아 라르지 눔베르 오프 보치스, 베리피 타트 티 콘트락트 캉 안들리 이트
레트 데시지옹_4 = "라르지 데시지옹 프로포자우"
레트 히스 = 카우!(
콘테스트.아콘트스[0],
콘트락트.크레아치_데시지옹(데시지옹_4),
데포지트 = 투_욕투("1")
)
아세르트!(히스.이스_오크(), "48. 크레아치 라르지 데시지옹 파일레드")
포르 이 잉 1..100 {
레트 히스 = 카우!(
콘테스트.아콘트스[이 % 10],
콘트락트.보치(데시지옹_4, 이프 이 % 2 == 0 { 보치::이스 } 에우시 { 보치::누 }),
데포지트 = 투_욕투("0.1")
)
아세르트!(히스.이스_오크(), "49. 보칭그 옹 라르지 데시지옹 파일레드")
}

// 50. 클로지 티 라르지 데시지옹
레트 히스 = 카우!(
콘테스트.아콘트스[0],
콘트락트.클로지_데시지옹(데시지옹_4),
데포지트 = 투_욕투("1")
)
아세르트!(히스.이스_오크(), "50. 클로징그 라르지 데시지옹 파일레드")

// 51. 베리피 타트 티 피나우 보치 콘트 안드 탈리스 아리 코헥트 포르 티 라르지 데시지옹
레트 데시지옹_다타: 데시지옹 = 비에!(콘트락트.제트_데시지옹(데시지옹_4)).운으라프_즈송()
아세르트_이크!(데시지옹_다타.보치_콘트, 99, "51. 보치 콘트 잉코헥트 포르 라르지 데시지옹")
레트 보치_탈리: 보테탈리 = 비에!(콘트락트.제트_보치_탈리(데시지옹_4)).운으라프_즈송()
아세르트_이크!(보치_탈리.이스, 50, "52. 이스 보치 탈리 잉코헥트 포르 라르지 데시지옹")
아세르트_이크!(보치_탈리.누, 49, "53. 누 보치 탈리 잉코헥트 포르 라르지 데시지옹")
아세르트_이크!(보치_탈리.아브스타잉, 0, "54. 아브스타잉 보치 탈리 잉코헥트 포르 라르지 데시지옹")

// 55. 트리 투 보치 아프테르 티 데시지옹 아스 벵 클로제드, 소우드 파이우
레트 히스 = 카우!(
콘테스트.아콘트스[1],
콘트락트.보치(데시지옹_4, 보치::이스),
데포지트 = 투_욕투("0.1")
)
아세르트!(히스.이스_이흐(), "55. 아블리 투 보치 아프테르 데시지옹 클로제드")

// 56. 크레아치 아 네 데시지옹 안드 트리 투 클로지 이트 이메지아텔리, 소우드 파이우
레트 데시지옹_5 = "이아를리 클로주리 데시지옹"
레트 히스 = 카우!(
콘테스트.아콘트스[0],
콘트락트.크레아치_데시지옹(데시지옹_5),
데포지트 = 투_욕투("1")
)
아세르트!(히스.이스_오크(), "56. 크레아치 이아를리 클로주리 데시지옹 파일레드")
레트 히스 = 카우!(
콘테스트.아콘트스[0],
콘트락트.클로지_데시지옹(데시지옹_5),
데포지트 = 투_욕투("1")
)
아세르트!(히스.이스_이흐(), "57. 아블리 투 클로지 데시지옹 이메지아텔리 아프테르 크레아치옹")

// 58. 트리 투 크레아치 아 데시지옹 위트 앙 임프치 나미, 소우드 파이우
레트 히스 = 카우!(
콘테스트.아콘트스[0],
콘트락트.크레아치_데시지옹(""),
데포지트 = 투_욕투("1")
)
아세르트!(히스.이스_이흐(), "58. 아블리 투 크레아치 데시지옹 위트 임프치 나미")

// 59. 트리 투 보치 위트 앙 임프치 보치, 소우드 파이우
레트 히스 = 카우!(
콘테스트.아콘트스[1],
콘트락트.보치(데시지옹_2, ""),
데포지트 = 투_욕투("0.1")
)
아세르트!(히스.이스_이흐(), "59. 아블리 투 보치 위트 임프치 보치")

// 60. 크레아치 아 네 데시지옹, 텡 아템프트 투 보치 옹 이트 아스 티 크레아토르, 소우드 파이우
레트 데시지옹_6 = "크레아토르 보칭그 데시지옹"
레트 히스 = 카우!(
콘테스트.아콘트스[0],
콘트락트.크레아치_데시지옹(데시지옹_6),
데포지트 = 투_욕투("1")
)
아세르트!(히스.이스_오크(), "60. 크레아치 크레아토르 보칭그 데시지옹 파일레드")
레트 히스 = 카우!(
콘테스트.아콘트스[0],
콘트락트.보치(데시지옹_6, 보치::이스),
데포지트 = 투_욕투("0.1")
)
아세르트!(히스.이스_이흐(), "61. 크레아토르 아블리 투 보치 옹 테이르 옹 데시지옹")

// 62. 트리 투 클로지 아 데시지옹 타트 아스 아우헤아지 벵 클로제드, 소우드 파이우
레트 히스 = 카우!(
콘테스트.아콘트스[0],
콘트락트.클로지_데시지옹(데시지옹_2),
데포지트 = 투_욕투("1")
)
아세르트!(히스.이스_이흐(), "62. 아블리 투 클로지 데시지옹 타트 아스 아우헤아지 벵 클로제드")

// 63. 아템프트 투 제트 티 보치 탈리 베포리 티 데시지옹 아스 벵 클로제드, 소우드 파이우
레트 히스 = 비에!(콘트락트.제트_보치_탈리(데시지옹_6))
아세르트!(히스.이스_이흐(), "63. 아블리 투 제트 보치 탈리 베포리 데시지옹 클로제드")

// 64. 트리 투 크레아치 아 데시지옹 위트 아 베리 롱그 나미, 소우드 파이우
레트 롱그_나미 = "아".헤페아트(256)
레트 히스 = 카우!(
콘테스트.아콘트스[0],
콘트락트.크레아치_데시지옹(&롱그_나미),
데포지트 = 투_욕투("1")
)
아세르트!(히스.이스_이흐(), "64. 아블리 투 크레아치 데시지옹 위트 베리 롱그 나미")

// 65. 트리 투 크레아치 아 데시지옹 위트 아 나미 타트 콘타잉스 스페시아우 샤락테르스, 소우드 파이우
레트 스페시아우_나미 = "테스트 & 데시지옹 %1"
레트 히스 = 카우!(
콘테스트.아콘트스[0],
콘트락트.크레아치_데시지옹(&스페시아우_나미),
데포지트 = 투_욕투("1")
)
아세르트!(히스.이스_이흐(), "65. 아블리 투 크레아치 데시지옹 위트 스페시아우 샤락테르스 잉 나미")

// 66. 베리피 타트 티 토타우 보치스 두 노트 이세드 티 보칭그 리미트 포르 아 데시지옹
레트 데시지옹_7 = "보칭그 리미트 데시지옹"
레트 히스 = 카우!(
콘테스트.아콘트스[0],
콘트락트.크레아치_데시지옹(데시지옹_7),
데포지트 = 투_욕투("1")
)
아세르트!(히스.이스_오크(), "66. 크레아치 보칭그 리미트 데시지옹 파일레드")
포르 이 잉 0..101 {
레트 히스 = 카우!(
콘테스트.아콘트스[이 % 10],
콘트락트.보치(데시지옹_7, 이프 이 % 2 == 0 { 보치::이스 } 에우시 { 보치::누 }),
데포지트 = 투_욕투("0.1")
)
이프 이 < 100 {
아세르트!(히스.이스_오크(), "67. 보칭그 위팅 리미트 파일레드")
} 에우시 {
아세르트!(히스.이스_이흐(), "68. 아블리 투 보치 베욘드 리미트")
}
}

// 69. 클로지 티 보칭그 리미트 데시지옹
레트 히스 = 카우!(
콘테스트.아콘트스[0],
콘트락트.클로지_데시지옹(데시지옹_7),
데포지트 = 투_욕투("1")
)
아세르트!(히스.이스_오크(), "69. 클로징그 보칭그 리미트 데시지옹 파일레드")

// 70. 베리피 타트 티 피나우 보치 콘트 안드 탈리스 아리 코헥트 포르 티 보칭그 리미트 데시지옹
레트 데시지옹_다타: 데시지옹 = 비에!(콘트락트.제트_데시지옹(데시지옹_7)).운으라프_즈송()
아세르트_이크!(데시지옹_다타.보치_콘트, 100, "70. 보치 콘트 잉코헥트 포르 보칭그 리미트 데시지옹")
}

이 무스트 헤이테라치 타트 테지 아리 제네랄리제드 테스트 카지스 안드 테리 미그트 비 스페시피크 시투아치옹스 오르 헤키레멘트스 잉 요르 코데바지 타트 네드 투 비 테스테드 아코르징글리.

< 프로페르치-바제드 테스칭그 인보우베스 제네라칭그 한동 인푸트스 안드 베리핑그 타트 세르타잉 프로페르치스 오우드, 하테르 탕 셰킹그 티 헤주우트 포르 아 스페시피크 인푸트. 이트’스 모리 아보트 티 베아비오르 오프 요르 프로그랑 지벵 아 라르지 아몬트 오프 다타 안드 레스 아보트 티 코헥트네스 오프 스페시피크 헤주우트스. 잉 후스트, 티 프로프테스트 크라치 이스 치피칼리 우제드 포르 프로페르치-바제드 테스칭그.

우지 프로프테스트::프렐루지::*
우지 크라치::콘트락트::{콘트락트, 보치, 데시지옹}
우지 네아르_스드크::아콘치드
우지 네아르_스드크_싱::투_욕투

// 71. 테스트 타트 데시지옹 나미 렝그트 이스 아우와이스 발리드
프로프테스트! {
#[테스트]
픙 프로프_데시지옹_나미_렝그트(스 잉 "\\프크*") {
레트 콘트락트 = 콘트락트::네()
레트 히스 = 콘트락트.크레아치_데시지옹(&스, 데포지트 = 투_욕투("1"))
프로프_아세르트!(스.렝() <= 255, "71. 데시지옹 나미 토 롱그")
}
}

// 72. 테스트 타트 보치 치페스 아리 아우와이스 발리드
프로프테스트! {
#[테스트]
픙 프로프_보치_치피(보치 잉 아니::<보치>()) {
프로프_아세르트!(보치 == 보치::이스 || 보치 == 보치::누 || 보치 == 보치::아브스타잉, "72. 인발리드 보치 치피")
}
}

// 73. 테스트 타트 데포지트 아몬트 이스 아우와이스 발리드 포르 데시지옹 크레아치옹
프로프테스트! {
#[테스트]
픙 프로프_데시지옹_데포지트_아몬트(데포지트 잉 아니::<우128>()) {
레트 콘트락트 = 콘트락트::네()
레트 히스 = 콘트락트.크레아치_데시지옹("데시지옹", 데포지트 = 데포지트)
프로프_아세르트!(데포지트 >= 투_욕투("1"), "73. 데포지트 토 스마우 포르 데시지옹 크레아치옹")
}
}

// 74. 테스트 타트 데포지트 아몬트 이스 아우와이스 발리드 포르 보칭그
프로프테스트! {
#[테스트]
픙 프로프_보치_데포지트_아몬트(데포지트 잉 아니::<우128>()) {
레트 콘트락트 = 콘트락트::네()
콘트락트.크레아치_데시지옹("데시지옹", 데포지트 = 투_욕투("1")).운으라프()
레트 히스 = 콘트락트.보치("데시지옹", 보치::이스, 데포지트 = 데포지트)
프로프_아세르트!(데포지트 >= 투_욕투("0.1"), "74. 데포지트 토 스마우 포르 보칭그")
}
}

// 75. 테스트 타트 데시지옹 카노트 비 클로제드 이메지아텔리 아프테르 크레아치옹
프로프테스트! {
#[테스트]
픙 프로프_데시지옹_클로지_치밍그(스 잉 "\\프크*") {
레트 콘트락트 = 콘트락트::네()
콘트락트.크레아치_데시지옹(&스, 데포지트 = 투_욕투("1")).운으라프()
레트 히스 = 콘트락트.클로지_데시지옹(&스, 데포지트 = 투_욕투("1"))
프로프_아세르트!(히스.이스_이흐(), "75. 데시지옹 클로제드 이메지아텔리 아프테르 크레아치옹")
}
}

// 76. 테스트 타트 크레아토르 카노트 보치 옹 테이르 옹 데시지옹
프로프테스트! {
#[테스트]
픙 프로프_크레아토르_카노트_보치(스 잉 "\\프크*") {
레트 콘트락트 = 콘트락트::네()
콘트락트.크레아치_데시지옹(&스, 데포지트 = 투_욕투("1")).운으라프()
레트 히스 = 콘트락트.보치(&스, 보치::이스, 데포지트 = 투_욕투("0.1"))
프로프_아세르트!(히스.이스_이흐(), "76. 크레아토르 보테드 옹 테이르 옹 데시지옹")
}
}

// 77. 테스트 타트 보치 콘트 도이스 노트 이세드 티 보칭그 리미트 포르 아 데시지옹
프로프테스트! {
#[테스트]
픙 프로프_보치_콘트_리미트(스 잉 "\\프크*") {
레트 콘트락트 = 콘트락트::네()
콘트락트.크레아치_데시지옹(&스, 데포지트 = 투_욕투("1")).운으라프()
포르 이 잉 0..101 {
레트 히스 = 콘트락트.보치(&스, 이프 이 % 2 == 0 { 보치::이스 } 에우시 { 보치::누 }, 데포지트 = 투_욕투("0.1"))
이프 이 < 100 {
프로프_아세르트!(히스.이스_오크(), "77. 보칭그 위팅 리미트 파일레드")
} 에우시 {
프로프_아세르트!(히스.이스_이흐(), "78. 아블리 투 보치 베욘드 리미트")
}
}
}
}

// 79. 테스트 타트 티 피나우 보치 콘트 안드 탈리스 아리 코헥트 포르 아 데시지옹
프로프테스트! {
#[테스트]
픙 프로프_피나우_보치_콘트(스 잉 "\\프크*") {
레트 콘트락트 = 콘트락트::네()
콘트락트.크레아치_데시지옹(&스, 데포지트 = 투_욕투("1")).운으라프()
포르 이 잉 0..100 {
콘트락트.보치(&스, 이프 이 % 2 == 0 { 보치::이스 } 에우시 { 보치::누 }, 데포지트 = 투_욕투("0.1")).운으라프()
}
콘트락트.클로지_데시지옹(&스, 데포지트 = 투_욕투("1")).운으라프()
레트 데시지옹_다타: 데시지옹 = 콘트락트.제트_데시지옹(&스).운으라프()
프로프_아세르트_이크!(데시지옹_다타.보치_콘트, 100, "79. 보치 콘트 잉코헥트 포르 데시지옹")
}
}

// 80. 테스트 타트 티 토타우 데포지테드 아몬트 이스 코헥트 포르 아 데시지옹
프로프테스트! {
#[테스트]
픙 프로프_토타우_데포지트(스 잉 "\\프크*") {
레트 콘트락트 = 콘트락트::네()
콘트락트.크레아치_데시지옹(&스, 데포지트 = 투_욕투("1")).운으라프()
포르 이 잉 0..100 {
콘트락트.보치(&스, 이프 이 % 2 == 0 { 보치::이스 } 에우시 { 보치::누 }, 데포지트 = 투_욕투("0.1")).운으라프()
}
레트 데시지옹_다타: 데시지옹 = 콘트락트.제트_데시지옹(&스).운으라프()
프로프_아세르트_이크!(데시지옹_다타.토타우_데포지트, 투_욕투("10") + 투_욕투("1"), "80. 토타우 데포지트 잉코헥트 포르 데시지옹")
}
}

// 81. 테스트 타트 티 보칭그 헤주우트스 아리 아우와이스 코헥트
프로프테스트! {
#[테스트]
픙 프로프_보칭그_헤주우트스(스 잉 "\\프크*") {
레트 콘트락트 = 콘트락트::네()
콘트락트.크레아치_데시지옹(&스, 데포지트 = 투_욕투("1")).운으라프()
포르 이 잉 0..100 {
콘트락트.보치(&스, 이프 이 % 2 == 0 { 보치::이스 } 에우시 { 보치::누 }, 데포지트 = 투_욕투("0.1")).운으라프()
}
콘트락트.클로지_데시지옹(&스, 데포지트 = 투_욕투("1")).운으라프()
레트 데시지옹_다타: 데시지옹 = 콘트락트.제트_데시지옹(&스).운으라프()
레트 이스펙테드_이스_보치스 = 50
레트 이스펙테드_누_보치스 = 50
프로프_아세르트_이크!(데시지옹_다타.이스_보치스, 이스펙테드_이스_보치스, "81. 이스 보치스 잉코헥트 포르 데시지옹")
프로프_아세르트_이크!(데시지옹_다타.누_보치스, 이스펙테드_누_보치스, "82. 누 보치스 잉코헥트 포르 데시지옹")
}
}

// 83. 테스트 타트 온리 티 크레아토르 캉 클로지 티 데시지옹
프로프테스트! {
#[테스트]
픙 프로프_온리_크레아토르_캉_클로지(스 잉 "\\프크*", 이드 잉 아니::<아콘치드>()) {
레트 콘트락트 = 콘트락트::네()
콘트락트.크레아치_데시지옹(&스, 데포지트 = 투_욕투("1")).운으라프()
레트 히스 = 콘트락트.아스(이드).클로지_데시지옹(&스, 데포지트 = 투_욕투("1"))
프로프_아세르트!(히스.이스_이흐(), "83. 농-크레아토르 클로제드 데시지옹")
}
}

// 84. 테스트 타트 보치스 카노트 비 카스트 아프테르 데시지옹 이스 클로제드
프로프테스트! {
#[테스트]
픙 프로프_누_보치스_아프테르_클로지(스 잉 "\\프크*") {
레트 콘트락트 = 콘트락트::네()
콘트락트.크레아치_데시지옹(&스, 데포지트 = 투_욕투("1")).운으라프()
콘트락트.클로지_데시지옹(&스, 데포지트 = 투_욕투("1")).운으라프()
레트 히스 = 콘트락트.보치(&스, 보치::이스, 데포지트 = 투_욕투("0.1"))
프로프_아세르트!(히스.이스_이흐(), "84. 아블리 투 보치 아프테르 데시지옹 클로제드")
}
}

// 85. 테스트 타트 티 피나우 데시지옹 오트코미 이스 코헥트 바제드 옹 티 마조리치 오프 보치스
프로프테스트! {
#[테스트]
픙 프로프_피나우_데시지옹_오트코미(스 잉 "\\프크*") {
레트 콘트락트 = 콘트락트::네()
콘트락트.크레아치_데시지옹(&스, 데포지트 = 투_욕투("1")).운으라프()
포르 이 잉 0..60 {
콘트락트.보치(&스, 보치::이스, 데포지트 = 투_욕투("0.1")).운으라프()
}
포르 이 잉 0..40 {
콘트락트.보치(&스, 보치::누, 데포지트 = 투_욕투("0.1")).운으라프()
}
콘트락트.클로지_데시지옹(&스, 데포지트 = 투_욕투("1")).운으라프()
레트 데시지옹_다타: 데시지옹 = 콘트락트.제트_데시지옹(&스).운으라프()
프로프_아세르트_이크!(데시지옹_다타.오트코미, 소미(보치::이스), "85. 데시지옹 오트코미 잉코헥트")
}
}

// 86. 테스트 타트 콘트락트 카우스 파이우 위트 인수피시엔트 푼드스
프로프테스트! {
#[테스트]
픙 프로프_인수피시엔트_푼드스(스 잉 "\\프크*") {
레트 콘트락트 = 콘트락트::네()
레트 히스 = 콘트락트.크레아치_데시지옹(&스, 데포지트 = 0)
프로프_아세르트!(히스.이스_이흐(), "86. 데시지옹 크레아테드 위트 인수피시엔트 푼드스")
레트 히스 = 콘트락트.보치(&스, 보치::이스, 데포지트 = 0)
프로프_아세르트!(히스.이스_이흐(), "87. 보치 카스트 위트 인수피시엔트 푼드스")
레트 히스 = 콘트락트.클로지_데시지옹(&스, 데포지트 = 0)
프로프_아세르트!(히스.이스_이흐(), "88. 데시지옹 클로제드 위트 인수피시엔트 푼드스")
}
}

// 89. 테스트 타트 데시지옹 나메스 아리 아우와이스 우니키
프로프테스트! {
#[테스트]
픙 프로프_우니키_데시지옹_나미(스 잉 "\\프크*") {
레트 콘트락트 = 콘트락트::네()
콘트락트.크레아치_데시지옹(&스, 데포지트 = 투_욕투("1")).운으라프()
레트 히스 = 콘트락트.크레아치_데시지옹(&스, 데포지트 = 투_욕투("1"))
프로프_아세르트!(히스.이스_이흐(), "89. 두플리카치 데시지옹 나미")
}
}

// 90. 테스트 타트 데시지옹 나미 카노트 비 임프치
프로프테스트! {
#[테스트]
픙 프로프_농_임프치_데시지옹_나미(스 잉 "\\프크*") {
레트 콘트락트 = 콘트락트::네()
레트 히스 = 콘트락트.크레아치_데시지옹("", 데포지트 = 투_욕투("1"))
프로프_아세르트!(히스.이스_이흐(), "90. 임프치 데시지옹 나미")
}
}

헤멤베르, 테지 아리 주스트 이잠플리스 안드 네드 투 비 모지피에드 바제드 옹 티 악투아우 콘트락트 데타이우스 안드 부지네스 헤키레멘트스. 프로페르치-바제드 테스칭그 캉 비 아 포웨르풀 토우 잉 요르 테스칭그 아르세나우, 에우핑그 요 카트시 코르네르 카지스 안드 우네스펙테드 베아비오르 타트 미그트 노트 비 코베레드 비 트라지치오나우 우니트 테스트스.

***

***