เปเบเบเปเบเปเบฅเบเบต Ontology Wasm เบซเบผเบธเบเบเปเบญเบเบเปเบฒเปเบเปเบเปเบฒเบเปเบเบเบฒเบเปเบเบทเปเบญเบเบเปเบฒเบเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบ dApp เบเบตเปเบกเบตเปเบซเบเบเบปเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบเบเบตเปเบชเบฑเบเบชเบปเบเบเบฑเบ blockchain, เบเบฑเปเบเบเบฑเปเบเบเบถเปเบเปเบฎเบฑเบเปเบซเปเบฅเบฐเบเบปเบเบเบดเปเบงเบ dApp เบญเบธเบเบปเบกเบชเบปเบกเบเบนเบเบขเปเบฒเบเบซเบผเบงเบเบซเบผเบฒเบ.
เบเบฐเบเบธเบเบฑเบ
เบเบฒเบเบเบฑเบเบเบฐเบเบฒเบชเบฑเบเบเบฒ WASM เบเบฑเบ Rust
เบชเปเบฒเบเบชเบฑเบเบเบฒ
เปเบเบโเบเบฐโเบเบญเบโเบเบฒเบโเบเบตเปโเบกเบฑเบโเบชเปเบฒเบโ:
เปเบเบฅเป Cargo.toml เบเบทเบเปเบเปเปเบเบทเปเบญเบเบฑเปเบเบเปเบฒเบเปเปเบกเบนเบเปเบเบเบเบฒเบเบเบทเปเบเบเบฒเบ เปเบฅเบฐเบเปเปเบกเบนเบเบซเปเบญเบเบชเบฐเปเบธเบเบเบตเปเบเบถเปเบเบเบฑเบ. เบเบฒเบเบชเปเบงเบ [lib] เบเบญเบเปเบเบฅเปเบเปเบญเบเบเบทเบเบเบฑเปเบเปเบเบฑเบ crate-type = ["cdylib"]. เปเบเบฅเป lib.rs เบเบทเบเบเปเบฒเปเบเปเปเบเบทเปเบญเบเบฝเบเบฅเบฐเบซเบฑเบเบเบฒเบกเปเบซเบเบเบปเบเบเบญเบเบชเบฑเบเบเบฒ. เบเบญเบเบเบฒเบเบเบฑเปเบ, เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบเบตเปเบกเบเบฒเบฅเบฒเบกเบดเปเบเบตเบเบฒเบเปเบเบดเปเบเบเบฒเบญเบฒเปเบชเบเบฑเบเบเบฒเบเบชเปเบงเบ [เบเบฒเบเปเบเบดเปเบเบเบฒเบญเบฒเปเบช] เบเบญเบเปเบเบฅเปเบเบฒเบเบเบฑเปเบเบเปเบฒ Cargo.toml:
เบเปเบงเบเบเบงเบฒเบกเปเบเบดเปเบเบเบฒเบญเบฒเปเบชเบเบตเป, เบเบฑเบเบเบฑเบเบเบฐเบเบฒเบชเบฒเบกเบฒเบเปเบเบซเบฒเบเบฒเบเปเบเปเบเบญเบเบเบตเปเบเบปเบงเบเบฑเบเบเบฑเบ Ontology blockchain เปเบฅเบฐเปเบเบทเปเบญเบเบกเบทเปเบเบฑเปเบ: เบเบฒเบฅเบฒเบกเบดเปเบเบต serialization.
เบเบฒเบโเบเปเบฒโเบเบฒเบโเบเบฒเบโเปเบเบปเปเบฒโเบเบญเบโเบชเบฑเบโเบเบฒโ
เบเบธเบเปเปเบเบฅเปเบเบฅเบกเบกเบตเบซเบเปเบฒเบเบตเปเบเปเบญเบเบเปเปเบกเบนเบ, เบเบทเบเบฑเบเบซเบเปเบฒเบเบตเปเบเบปเปเบเบเปเบเบตเปเบเบงเบเปเบฎเบปเบฒเปเบซเบฑเบ, เปเบเปเบชเบฑเบเบเบฒเบเปเปเบกเบตเบซเบเปเบฒเบเบตเปเบเบปเปเบเบเป. เปเบกเบทเปเบญเบชเบฑเบเบเบฒ Wasm เบเบทเบเบเบฑเบเบเบฐเบเบฒเปเบเบเปเบเป Rust, เบเบฑเบเบเบฑเบ invoke เปเบฅเบตเปเบกเบเบปเปเบเปเบกเปเบเปเบเปเปเบเบฑเบเบซเบเปเบฒเบเบตเปเบเปเบญเบเบเปเปเบกเบนเบเปเบเบทเปเบญเปเบเปเบชเบฑเบเบเบฒ. เบเบทเปเบเบญเบเบเบฑเบเบเบฑเบเปเบ Rust เบเบฐเบเปเปเบเบฑเบเปเบเบเปเบกเบทเปเบญเบฅเบงเบเบฅเบงเบกเบฅเบฐเบซเบฑเบเปเบซเบผเปเบ Rust เปเบเบปเปเบฒเปเบเปเบ bytecode เบเบตเปเบชเบฒเบกเบฒเบเบเบฐเบเบดเบเบฑเบเปเบเปเปเบเบ virtual machine. เปเบเบทเปเบญเบเปเบญเบเบเบฑเบเบเปเปเปเบซเป compiler เบชเปเบฒเบเบฅเบฐเบซเบฑเบเบเปเปเบฒเบเปเบญเบเปเบฅเบฐเบซเบผเบธเบเบเปเบญเบเบเบฐเบซเบเบฒเบเบเบญเบเบชเบฑเบเบเบฒ, เบเบฑเบเบเบฑเบ invoke เปเบเบตเปเบกเบเปเบฒเบเบฑเบเบเบฒเบ #[no_mangle].
เบเบฑเบเบเบฑเบ invoke เปเบเปเบฎเบฑเบเบเบฒเบฅเบฒเบกเบดเปเบเบตเปเบเบทเปเบญเบเปเบฒเปเบเบตเบเบเบฒเบเบเบธเบฅเบฐเบเปเบฒเปเบเบงเปเบ?
เบซเปเบชเบฐเปเบธเบ ontio_std เบชเบฐเปเบญเบเบเบฑเบเบเบฑเบ runtime::input() เปเบเบทเปเบญเปเบญเบปเบฒเบเบฒเบฅเบฒเบกเบดเปเบเบตเปเบเบทเปเบญเบเบณเปเบเบตเบเบเบธเบฅเบฐเบเบณ. เบเบฑเบเบเบฑเบเบเบฐเบเบฒเบชเบฒเบกเบฒเบเปเบเป ZeroCopySource เปเบเบทเปเบญ deserialize array byte เบเบปเบเปเบเปเบฎเบฑเบ. เปเบเบเบตเป array เบเปเบฒเบญเบดเบเบเบญเบ bytes เบญเปเบฒเบเปเบกเปเบเบเบทเปเบเบญเบเบงเบดเบเบตเบเบฒเบ invoke, เบเบฒเบกเบเปเบงเบเบเบปเบงเบเปเบฒเบเบปเบเบงเบดเบเบตเบเบฒเบ.
เบเบปเบเบเบญเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบชเบฑเบเบเบฒเบเบฑเบเบเบทเบเบกเบฒเปเบเบงเปเบ?
runtime::ret function เบเบตเปเบชเบฐเปเบญเบเปเบซเปเปเบเบเบซเปเบญเบเบชเบฐเปเบธเบ ontio_std เบชเบปเปเบเบเบทเบเบเบปเบเบเบญเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบงเบดเบเบตเบเบฒเบ.
เบเบฑเบโเบเบฑเบโเบเบฒเบโเบฎเบฝเบโเบฎเปเบญเบโเบเบตเปโเบชเปเบฒโเปเบฅเบฑเบโเบฎเบนเบโเบเบทโเบเบฑเปเบโเบเบตเปโ:
Serializing เปเบฅเบฐ Deserializing เบเปเปเบกเบนเบเบชเบฑเบเบเบฒ
เปเบเบเบฐเบเบงเบเบเบฒเบเบชเปเบฒเบเบชเบฑเบเบเบฒ, เบเบฑเบเบเบฑเบเบเบฐเบเบฒเบกเบฑเบเบเบฐเบกเบตเบเบฑเบเบซเบฒเบเบฑเบ serialization เปเบฅเบฐ deserialization, เปเบเบเบชเบฐเปเบเบฒเบฐเบเบฑเบเบงเบดเบเบตเบเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเบเบฐเปเบเบเบเปเปเบกเบนเบเปเบเบเบชเปเบฒเบเปเบเบเบฒเบเบเปเปเบกเบนเบเปเบฅเบฐเบงเบดเบเบตเบเบฒเบ deserialize array byte เบเบตเปเบญเปเบฒเบเบเบฒเบเบเบฒเบเบเปเปเบกเบนเบเปเบเบทเปเบญเปเบซเปเปเบเปเบเบฐเปเบเบเบเบญเบเบเปเปเบกเบนเบเปเบเบเบชเปเบฒเบ.
เบซเปเบชเบฐเปเบธเบ ontio_std เบชเบฐเปเบญเบเบเบปเบงเบเบญเบเบฅเบฐเบซเบฑเบ เปเบฅเบฐเบเบปเบงเปเบเบปเปเบฒเบฅเบฐเบซเบฑเบเปเบเบเบฒเบเปเบเปเบเบญเบเบชเบณเบฅเบฑเบเบเปเปเบกเบนเบ serialization เปเบฅเบฐ deserialization. เบเบปเปเบเบเบฒเบเบญเบเปเบเบเบชเปเบฒเบเบเบฑเบเบเบฐเบเบดเบเบฑเบเบเบปเบงเบเบญเบเบฅเบฐเบซเบฑเบเปเบฅเบฐเบเบปเบงเปเบเบทเปเบญเบกเบเปเปเปเบเบปเปเบฒเบฅเบฐเบซเบฑเบเปเบเบทเปเบญเปเบซเปเปเบเบเบชเปเบฒเบเบชเบฒเบกเบฒเบเบเบทเบเบเบฑเบเปเบเบฑเบ serialized เปเบฅเบฐ deserialized. เบเบปเบงเบขเปเบฒเบเบเบญเบเบเบฑเปเบ Sink เปเบกเปเบเบเปเบญเบเบเบฒเบเปเบกเบทเปเบญเบเบฐเปเบเบเบเปเปเบกเบนเบเบเปเบฒเบเปเบเบทเบเบเบฑเบเบฅเปเบฒเบเบฑเบ. เบเบปเบงเบขเปเบฒเบเบเบญเบเบเบฑเปเบ Sink เบกเบต buf เบเบฐเปเบเบเบเบตเปเบเปเบฒเบเบปเบเปเบงเปเปเบเบดเปเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเบเปเปเบกเบนเบเบเบฐเปเบเบ byte, เปเบฅเบฐเบเปเปเบกเบนเบ serialized เบเบฑเบเบซเบกเบปเบเบเบฐเบเบทเบเปเบเบฑเบเปเบงเปเปเบ buf.
เบชเปเบฒเบฅเบฑเบเบเปเปเบกเบนเบเบเบงเบฒเบกเบเบฒเบงเบเบปเบเบเบตเป (เบเบปเบงเบขเปเบฒเบ: byte, u16, u32, u64, เปเบฅเบฐเบญเบทเปเบเป), เบเปเปเบกเบนเบเบเบทเบเบเปเบฝเบเปเบเบเบเบปเบเปเบเบฑเบ byte array เปเบฅเบฐเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเปเบเบฑเบเปเบงเปเปเบ buf; เบชเปเบฒเบฅเบฑเบเบเปเปเบกเบนเบเบเบญเบเบเบงเบฒเบกเบเบฒเบงเบเบตเปเบเปเปเบเบปเบเบเบตเป, เบเบงเบฒเบกเบเบฒเบงเบเปเบญเบเปเบเปเบฎเบฑเบเบเบฒเบ serialized เบเปเบญเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ Ddata (เบเบปเบงเบขเปเบฒเบ, unsigned integers เบเบญเบเบเบฐเบซเบเบฒเบเบเบตเปเบเปเปเบฎเบนเปเบเบฑเบ, เบฅเบงเบกเบเบฑเบ u16, u32, เบซเบผเบท u64, เปเบฅเบฐเบญเบทเปเบเป).
Deserialization เปเบกเปเบเบเบปเบเบเบฑเบเบเปเบฒเบกเบเบตเปเปเบเปเบเบญเบ. เบชเปเบฒเบฅเบฑเบเบเบธเบเปเบงเบดเบเบตเบเบฒเบ serialization, เบกเบตเบงเบดเบเบตเบเบฒเบ deserialization เบเบตเปเบชเบญเบเบเปเบญเบเบเบฑเบ. Deserialization เบฎเบฝเบเบฎเปเบญเบเปเบซเปเบกเบตเบเบฒเบเบเปเบฒเปเบเปเบเบปเบงเบขเปเบฒเบเบเบญเบเบเบฑเปเบ Source. เบเบปเบงเบขเปเบฒเบเบซเปเบญเบเบฎเบฝเบเบเบตเปเบกเบตเบชเบญเบเบเปเบญเบเบเปเปเบกเบนเบ buf เปเบฅเบฐ pos. Buf เบเบทเบเบเปเบฒเปเบเปเปเบเบทเปเบญเปเบเบฑเบเบฎเบฑเบเบชเบฒเบเปเปเบกเบนเบเบเบตเปเบเบฐ deserialized เปเบฅเบฐ pos เบเบทเบเบเปเบฒเปเบเปเปเบเบทเปเบญเปเบเบฑเบเบฎเบฑเบเบชเบฒเบเปเบฒเปเบซเบเปเบเบญเปเบฒเบเปเบเบเบฐเบเบธเบเบฑเบ. เปเบเปเบงเบฅเบฒเบเบตเปเบเปเปเบกเบนเบเบเบฐเปเบเบเปเบเบเบถเปเบเบเปเบฒเบฅเบฑเบเบเบทเบเบญเปเบฒเบ, เบเปเบฒเบเปเบฒเบเบฎเบนเปเบเบงเบฒเบกเบเบฒเบงเบเบญเบเบกเบฑเบ, เบเปเบฒเบเบชเบฒเบกเบฒเบเบญเปเบฒเบเบกเบฑเบเปเบเปเปเบเบเบเบปเบ, เบชเปเบฒเบฅเบฑเบเบเปเปเบกเบนเบเบเบญเบเบเบงเบฒเบกเบเบฒเบงเบเบตเปเบเปเปเบฎเบนเปเบเบฑเบ - เบญเปเบฒเบเบเบงเบฒเบกเบเบฒเบงเบเปเบญเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบญเปเบฒเบเปเบเบทเปเบญเบซเบฒ.
เปเบเบปเปเบฒเปเบเบดเบ เปเบฅเบฐเบญเบฑเบเปเบเบเบเปเปเบกเบนเบเปเบเบฅเบฐเบเบปเบเบเปเบญเบเปเบชเป
ontology-wasm-cdt-rust - encapsulated เบงเบดเบเบตเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบฒเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบฑเบเบเปเปเบกเบนเบเปเบเบฅเบฐเบเบปเบเบเปเบญเบเปเบชเป, เปเบเบดเปเบเบชเบฐเบเบงเบเบชเปเบฒเบฅเบฑเบเบเบฑเบเบเบฑเบเบเบฐเบเบฒเปเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบเปเบเบฑเปเบ: เปเบเบตเปเบก, เบฅเบถเบ, เบเบฒเบเบเปเบฝเบเปเบเบเปเบฅเบฐเบเบฒเบเบชเบญเบเบเบฒเบกเบเปเปเบกเบนเบเปเบเบฅเบฐเบเบปเบเบเปเบญเบเปเบชเปเบเบฑเปเบเบเปเปเปเบเบเบตเป:
- เบเบฒเบเบเปเปเบกเบนเบ::get(key) - เบเบทเบเบเปเบฒเปเบเปเปเบเบทเปเบญเบฎเปเบญเบเบเปเบเปเปเบกเบนเบเบเบฒเบเบฅเบฐเบเบปเบเบเปเบญเบเปเบชเป, เปเบฅเบฐเบเบฒเบเบฎเปเบญเบเบเปเบเบตเปเบชเปเบฒเบเบฑเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบญเบเบเบฒเบเปเบเปเบเบญเบ AsRef;
- เบเบฒเบโเบเปเปโเบกเบนเบ::put(key, value) - เปเบเปเปเบเบทเปเบญเปเบเบฑเบเบเปเปเบกเบนเบเปเบเปเบเบทเบญเบเปเบฒเบ. เบเบตเบฎเปเบญเบเบเปเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบญเบเบเบฒเบเปเบเปเบเบญเบ AsRef, เปเบฅเบฐเบกเบนเบเบเปเบฒเบฎเปเบญเบเบเปเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบญเบเบเบฒเบเปเบเปเบเบญเบเบเบฒเบเปเบเบปเปเบฒเบฅเบฐเบซเบฑเบ;
- เบเบฒเบโเบเปเปโเบกเบนเบ::delete(key) - เบเบทเบเบเปเบฒเปเบเปเปเบเบทเปเบญเปเบญเบปเบฒเบเปเปเบกเบนเบเบญเบญเบเบเบฒเบเบฅเบฐเบเบปเบเบเปเบญเบเปเบชเป, เปเบฅเบฐเบเบฒเบเบฎเปเบญเบเบเปเบเบตเปเบชเปเบฒเบเบฑเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบญเบเบเบฒเบเปเบเปเบเบญเบ AsRef.
เบเบฒเบเบเบปเบเบชเบญเบเบชเบฑเบเบเบฒ
เปเบกเบทเปเบญเบงเบดเบเบตเบเบฒเบเบเบญเบเบชเบฑเบเบเบฒเบเบทเบเบเบฐเบเบดเบเบฑเบ, เบเบงเบเปเบฎเบปเบฒเบเปเบญเบเบเบฒเบเบเบฒเบเปเบเบปเปเบฒเปเบเบดเบเบเปเปเบกเบนเบเปเบเบฅเบฐเบเบปเบเบเปเบญเบเปเบชเปเปเบฅเบฐเบเบงเบเปเบฎเบปเบฒเบเปเบญเบเบเบฒเบเปเบเบทเปเบญเบ virtual เบเบตเปเปเบซเบกเบฒเบฐเบชเบปเบกเปเบเบทเปเบญเบเบฐเบเบดเบเบฑเบ bytecode เบเบญเบเบชเบฑเบเบเบฒ, เบเบฑเปเบเบเบฑเปเบเปเบเบเบเบปเปเบงเปเบเปเบฅเปเบงเบกเบฑเบเปเบเบฑเบเบชเบดเปเบเบเปเบฒเปเบเบฑเบเบเบตเปเบเบฐเบเปเบฒเปเบเปเบชเบฑเบเบเบฒเปเบเบฅเบฐเบเบปเบเบเปเบญเบเปเบชเปเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบปเบเบชเบญเบ. เปเบเปเบงเบดเบเบตเบเบฒเบเบเบปเบเบชเบญเบเบเบตเปเปเบกเปเบเบกเบตเบเบฑเบเบซเบฒ. เปเบเบทเปเบญเปเบฎเบฑเบเปเบซเปเบกเบฑเบเบเปเบฒเบเบเบถเปเบเบชเปเบฒเบฅเบฑเบเบเบฑเบเบเบฑเบเบเบฐเบเบฒเปเบเบเบฒเบเบเบปเบเบชเบญเบเบชเบฑเบเบเบฒ, เบซเปเบญเบเบชเบฐเบซเบกเบธเบ ontio_std เปเบซเปเปเบกเบเบนเบ mock เบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบปเบเบชเบญเบ. เปเบกเบเบนเบเบเบตเปเบชเบฐเบซเบเบญเบเบเบฒเบเบเปเบฒเบฅเบญเบเบเปเปเบกเบนเบเปเบเบงเบปเบเบเบญเบ, เปเบฎเบฑเบเปเบซเปเบกเบฑเบเบเปเบฒเบเบเบถเปเบเบชเปเบฒเบฅเบฑเบเบเบฑเบเบเบฑเบเบเบฐเบเบฒเบเบตเปเบเบฐเบซเบเปเบงเบเบเบฒเบเบเบปเบเบชเบญเบเบงเบดเบเบตเบเบฒเบเปเบเบชเบฑเบเบเบฒ. เบเบปเบงเบขเปเบฒเบเบชเบฐเปเบเบฒเบฐเบชเบฒเบกเบฒเบเบเบปเบเปเบเป
เบเบฒเบเปเบเปเบเบฑเบเบซเบฒเบชเบฑเบเบเบฒ
console::debug(msg) เบชเบฐโเปเบเบโเบเปเปโเบกเบนเบโเบเบตโเบเบฑเบโเปเบโเบเบฐโเบเบฐโเบเบตเปโเบเบตโเบเบฑเบโเบชเบฑเบโเบเบฒโ. เบเปเปเบกเบนเบ msg เบเบฐเบเบทเบเปเบเบตเปเบกเปเบชเปเปเบเบฅเปเบเบฑเบเบเบถเบ node. เปเบเบทเปเบญเบเปเบเปเบเบทเปเบญเบเบเบปเปเบเปเบกเปเบเปเบเบทเปเบญเบเปเบฒเบเบปเบเบฅเบฐเบเบฑเบเปเบเบฅเปเบเบฑเบเบเบถเบเปเบเบฑเบเปเบซเบกเบเบเบตเบเบฑเบเปเบกเบทเปเบญเปเบซเบเบเบเบปเบเบชเบญเบ Ontology เบเปเบญเบเบเบดเปเบเบเปเบฒเบฅเบฑเบเปเบฎเบฑเบเบงเบฝเบ.
runtime::notify(msg) outputs the properdebug information while the contract is being debuged . เบงเบดเบเบตเบเบฒเบเบเบตเปเบเบฐเปเบเบฑเบเบฎเบฑเบเบชเบฒเบเปเปเบกเบนเบเบเบตเปเปเบเบปเปเบฒเปเบเปเบเบฅเบฐเบเบปเบเบเปเบญเบเปเบชเปเปเบฅเบฐเบชเบฒเบกเบฒเบเบชเบญเบเบเบฒเบกเบเบฒเบเบฅเบฐเบเบปเบเบเปเบญเบเปเบชเปเปเบเบเปเบเปเบงเบดเบเบตเบเบฒเบ getSmartCodeEvent.
เบเบปเบเบเบงเบฒเบกเปเบเปเบเบทเบเปเบเปเบเบเบเบฑเบเบเบฒเบเบดเบเบฒเบเบเบญเบ Hashrate & Shares เปเบเบเบชเบฐเปเบเบฒเบฐเบชเปเบฒเบฅเบฑเบ OntologyRussia.
เบฎเปเบญเบเปเบซเป
เปเบเบปเปเบฒเปเบเบฑเบเบเบฑเบเบเบฑเบเบเบฐเบเบฒเบเป? เปเบเบปเปเบฒเบฎเปเบงเบกเบเบธเบกเบเบปเบเปเบเบฑเบเปเบเปเบฅเบขเบตเบเบญเบเบเบงเบเปเบฎเบปเบฒเบเบตเป
Ontology
เปเบงเบฑเบเปเบเบเป Ontology GitHub /Discord - เปเบเบฅเบฐเปเบฅเบ
เบเบฒเบชเบฒเบญเบฑเบเบเบดเบ /เบฅเบฑเบเปเบเบ Twitter /เปเบซเบ
เปเบซเบผเปเบเบเปเปเบกเบนเบ: www.habr.com