เปเบซเปเปเบฅเบตเปเบกเบเบปเปเบเบเปเบงเบเบเบงเบฒเบกเบเบดเบเบเบตเปเบงเปเบฒเบกเบตเบเปเบฅเบฐเบเบตเบเบตเปเบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบฎเบฑเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเบตเปเบกเบตเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเบเบฑเบเบเบฒเบเบเปเปเบกเบนเบ. เบเบตเปเปเบกเปเบเปเบฎเบฑเบเปเบเบทเปเบญเบเปเปเปเบซเป delve เบซเบผเบฒเบเปเบเบตเบเปเบเปเบเบเบฒเบเบเบฑเบเบเบฐเบเบฒ backend เปเบฅเบฐเบชเบธเบกเปเบชเป frontend เปเบเบทเปเบญเบเบเบฒเบเบเบฒเบเบเบฒเบเบกเบทเปเบฅเบฐเบเบฑเบเบชเบฐ. เบเปเบญเบเบเปเปเบชเบฒเบกเบฒเบเปเบงเบปเปเบฒเปเบเปเบงเปเบฒเบเบฒเบเปเบเปเปเบเบเบญเบเบเปเบญเบเบเบฐเบเบญเบเปเบ, เปเบเปเบกเบฑเบเปเบฎเบฑเบเบงเบฝเบ.
เปเบเบทเปเบญเบเบเบฒเบเบเปเบญเบเบเปเปเบกเบฑเบเบเปเบฒเบเบเปเบฒเปเบฎเบเบเบดเปเบ, เบเปเบญเบเปเบเปเปเบเบทเบญเบเปเบฒเบเปเบเบเปเบญเบเปเบฎเบฑเบเบงเบฝเบเบเบญเบเบเปเบญเบ, เบกเบต IP เบชเบตเบเบฒเบงเบขเบนเปเบเบตเปเบเบฑเปเบ. เบเบตเปเปเบกเปเบเปเบเบเบชเปเบฒเบเบเบญเบเบกเบฑเบ:
เบเปเบญเบเปเบเบปเปเบฒเปเบเบดเบเบเบญเบกเบเบดเบงเปเบเบตเบซเบผเบฒเบเปเปเบเบทเปเบญเบ, เบเบฑเบเปเบเบเบเบงเปเบฒ 192.168.1.2 (aka 192.168.0.2) เบเบฑเบ Linux เบเบตเปเบเบดเบเบเบฑเปเบเบขเบนเปเบเบตเปเบเบฑเปเบเปเบฅเบฐ 192.168.0.3 เบเบฑเบ Windows. เปเบเบเบเบปเปเบงเปเบ, เบเปเบญเบเปเบฅเบทเบญเบ mysql เบชเปเบฒเบฅเบฑเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเบญเบเบเปเบญเบเปเบฅเบฐเปเบเบดเปเบเบชเบดเปเบเบเบตเปเบกเบตเบขเบนเปเปเบ Linux. เบกเบฑเบเปเบเปเบเบทเบเบเบดเบเบเบฑเปเบเปเบฅเปเบงเบขเบนเปเบเบตเปเบเบฑเปเบ, เปเบเปเบเปเปเบกเบตเปเบเบฎเบนเปเบฅเบฐเบซเบฑเบเบเปเบฒเบ, เปเบฅเบฐเบเบนเปเบเบตเปเบฎเบนเปเบฅเบทเบก (เบเบนเปเบเบตเปเปเบฎเบฑเบเบงเบฝเบเบเปเบญเบเบเปเบญเบ). เปเบเบเปเบเปเบฎเบฝเบเบฎเบนเปเบงเปเบฒเบเปเปเบกเบตเปเบเบเปเบญเบเบเบฒเบเบกเบฑเบ, เบเปเบญเบเปเบเปเบฅเบถเบเบกเบฑเบเปเบฅเบฐเบเบฐเบเบฒเบเบฒเบกเบเบดเบเบเบฑเปเบเบกเบฑเบเบญเบตเบเปเบเบทเปเบญเบซเบเบถเปเบ. เบเปเปเบกเบตเบเบงเบฒเบกเบเบปเบเบเปเบฒเบเบฝเบเบเป, เปเบฅเบฐเบเบฑเบเบเบฑเปเบเปเบเปเปเบเบทเปเบญเปเบเปเปเบเบเปเปเบเบดเบเบเบฒเบเบเบตเป, เบเปเบญเบเบเบฐเบเปเบญเบเปเบเบทเปเบญเบกเบเปเปเบเปเปเบฅเบฐเปเบเปเบเบเบดเบกเบเปเบงเบเบซเบเบนเบเบฑเบเบกเบฑเบ, เบเปเบญเบเบเบฑเบเบชเบดเบเปเบเบเบฐเบเบดเปเบกเปเบฅเบทเปเบญเบเบเบตเป. เบเบดเปเบโเปเบโเบเบงเปเบฒโเบเบฑเปเบโ, เปเบเบทเปเบญเบโเบเบตเปโเบกเบต Windows เปเบกเปเบโเบกเบตโเบญเปเบฒโเบเบฒเบโเบซเบผเบฒเบโเปเบฅเบฐโเบเบงเบโ, เบเปเบฒโเบเบฐโเปเบเบปเปเบฒโเบกเบตโเบกเบฑเบโเปเบโเบเบญเบกโเบเบดเบงโเปเบเบตโเบเบญเบโเบเปเบฒโเบเบฐโเปเบเบปเปเบฒโเบขเบนเปโเปเบฎเบทเบญเบโ. เปเบเบซเบผเบฑเบเบเบฒเบ, เบเปเบฒเบเบฐเปเบเบปเปเบฒเบเบฐเบเปเปเบญเบฐเบเบดเบเบฒเบเบเบฒเบเบเบดเบเบเบฑเปเบเบเบปเบงเบกเบฑเบเปเบญเบ; เบกเบตเบซเบผเบฒเบเบเบนเปเบกเบทเปเบฅเบฐเบงเบดเบเบตเปเบญเบเปเบฝเบงเบเบฑเบเบกเบฑเบ. เปเบเบเปเบเปเบเบดเบเบเบฑเปเบ mysql เปเบเปเบเบทเปเบญเบ Windows, เบเปเบญเบเบเบฑเบเบชเบดเบเปเบเบชเปเบฒเบฎเบญเบเบเปเปเบกเบนเบเบเบฒเบเบฐเบฅเบฒเบเบเบฒเบเบเบญเบกเบเบดเบงเปเบเบตเปเบเบญเบเบเปเบญเบเปเบเบซเบฒเบเปเบญเบเปเบฎเบฑเบเบงเบฝเบเบเบญเบเบเปเบญเบ.
เบกเบฑเบเปเบฎเบฑเบเปเบเบเบเบตเป (เปเบเบเปเบฅเบฐเบเบตเบเบญเบเบเปเบญเบ):
mysqldump -uroot -p your_base > dump_file.sql
เบเปเปเปเบ, เบเบงเบเปเบฎเบปเบฒเบชเปเบฒเบเบเบฒเบเบเปเปเบกเบนเบเปเบเบเบฒเบเบเปเปเบกเบนเบเปเบซเบกเปเปเบฅเบฐเบเบทเปเบเบเบนเบเบฒเบเบชเปเบฒเบฎเบญเบเบเปเปเบกเบนเบเปเบเปเบเบทเปเบญเบ "เปเบซเบกเป".
mysql -h localhost -u root -p
create database your_base;
use your_base;
mysql -uroot -p your_base < dump_file.sql
show tables;
เปเบเบฅเปเบชเปเบฒเบฎเบญเบเบเปเปเบกเบนเบเบเปเบญเบเบเบทเบเบงเบฒเบเปเบงเปเปเบเปเบเบทเปเบญเบเปเบซเบกเปเปเบฅเบฐ, เบเบฒเบเบเบต, เบเปเบฒเบเปเปเปเบกเปเบเบขเบนเปเปเบเปเบเปเบฅเบเบฐเบเปเบฅเบตเบเบตเปเบกเบตเบเบปเบเบเบฐเปเบซเบเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเปเบชเบฑเปเบเบเบฒเบเปเบเบฑเบกเปเบเบซเบฒเบกเบฑเบ. (เบเปเบฒเบเบฐเปเบเบปเปเบฒเบเบฝเบเปเบเปเบญเบฑเบเปเบซเบฅเบเบเบฒเบเบชเปเบฒเบฎเบญเบเบเปเปเบกเบนเบเบเบฑเบ GitHub เปเบฅเบฐ cloned เบกเบฑเบเปเบชเปเปเบเบทเปเบญเบเปเบซเบกเป). เบเปเบญเบเบเบฐเปเบเบตเปเบกเบงเบดเบเบตเบเบฒเบเบชเปเบฒเบเบเบฒเบเบฐเบฅเบฒเบเบเปเบงเบเบเบปเบเปเบญเบ, เปเบเปเบเปเบญเบเบเปเปเปเบเปเบเบฑเบเบเบถเบเบเบฒเบเบซเบเปเบฒเบเป, เปเบฅเบฐเบเปเบญเบเบเบดเบเบงเปเบฒเบกเบฑเบเบเปเปเบเบฒเบเบชเปเบฒเบฅเบฑเบเบเบฑเบเบฎเบฝเบ 2-3 เบเบต.
เปเบกเบทเปเบญเบเบฒเบเบฐเบฅเบฒเบเบเบฑเบเบซเบกเบปเบเปเบเปเบเบทเบเบเบทเปเบเบเบน, เบกเบฑเบเปเบเบดเบเปเบงเบฅเบฒเบเบตเปเบเบฐเปเบฎเบฑเบเปเบซเปเบเบฒเบเปเบเบปเปเบฒเปเบเบดเบเบเบฒเบเบเปเปเบกเบนเบเบเบฒเบเปเบฅเบเบฐเปเบ. เปเบเบเบเบปเปเบงเปเบ, เบเปเบฒเบชเบฑเปเบเบเบฑเปเบเบเปเบฒเบงเบเปเปเปเบเปเบเปเบฒเปเบเบชเบนเปเบเบงเบฒเบกเบชเปเบฒเปเบฅเบฑเบ (เบกเบฑเบเบเบฝเบเปเบเปเปเบซเปเบชเบดเบเบญเปเบฒเบเปเบเบทเปเบญเปเบฅเบทเบญเบ)
create user 'client'@'%' IDENTIFIED by 'client';
grant select on your_base . * to 'client'@'%';
flush privileges;
เบซเบผเบฒเบเบเบตเปเบเบฑเบเปเบเบ, เบเปเบญเบเบชเบฒเบกเบฒเบเปเบเบทเปเบญเบกเบเปเปเบเบฑเบเบเบฒเบเบเปเปเบกเบนเบเบเบฝเบเปเบเปเบเปเบงเบเบเปเบฒเบชเบฑเปเบ,
mysql -h localhost -u client -pclient
เปเบเปเบญเบฑเบเบเบตเปเบเปเปเบชเบฒเบกเบฒเบเปเบฎเบฑเบเปเบเปเบญเบตเบเบเปเปเปเบ
mysql -h 192.168.0.3 -u client -pclient
เบญเบฑเบเบเบตเปเปเบเปเบเปเปเปเบเปเบชเบณเบฅเบฑเบเบเปเบญเบ เปเบฅเบฐเบเปเบญเบเบเปเปเบชเบฒเบกเบฒเบเปเบเบทเปเบญเบกเบเปเปเบเปเบฒเบเบเบตเปเบขเบนเปเบเบตเปเปเบเบฑเบเบฎเบฒเบเปเบเป.
เปเบเบเบเบฒเบ mysql workbench เบเปเบงเบ; เปเบเบเบฒเบเบเบฑเปเบเบเปเบฒ, เบเปเบฝเบ localhost เปเบเบฑเบ % เปเบฅเบฐเบกเบฑเบเปเบฎเบฑเบเบงเบฝเบ, เปเบเบดเบเปเบกเปเบเบงเปเบฒเบฅเบนเบเบเปเบฒเบเปเปเปเบเปเบเปเบงเบ. เปเบเบเบฑเบเบเบธเบเบฑเบเบเปเบฒเบเบชเบฒเบกเบฒเบเปเบเบทเปเบญเบกเบเปเปเบเบฑเบเบเบฒเบเบเปเปเบกเบนเบเบเบฒเบ console เบซเบผเบทเบเบฒเบเบฅเบฐเบซเบฑเบเบเบฒเบเบเบตเปเบขเบนเปเปเบเป.
เบเบญเบเบเบฑเปเบเบเปเบฒเบเบเบฑเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเบชเปเบฒเบเปเบเบทเบญเบเปเบฒเบเบเบธเบฅเบฐเบเบดเบเปเบฎเบทเบญเบเบซเบผเบทเบเบธเบฅเบฐเบเบดเบเปเบฅเบฐเบเบดเบ Windows firewall, เบเปเบฒเบเปเปเบเบฑเปเบเบเบฑเปเบเบเปเบฒเบเบเบฐเบเปเปเบชเบฒเบกเบฒเบ ping เปเบเบทเปเบญเบเบเบตเป (เบเปเบญเบเปเบซเปเบเบนเปเบเบฝเบงเปเบเบทเปเบญเบกเบเปเปเบเบฑเบเบเบฒเบเบเปเปเบกเบนเบ).
เปเบฎเบฑเบเบงเบฝเบเปเบเบดเปเบเบซเบเบถเปเบเปเบกเปเบเบชเปเบฒเปเบฅเบฑเบ, เบเบญเบเบเบตเปเบเปเบญเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเบชเบฒเบกเบฒเบเปเบเบทเปเบญเบกเบเปเปเบเบฑเบเบเบฒเบเบเปเปเบกเบนเบเบเบฒเบเปเบฎเบทเบญเบ.
เบเบฑเปเบเบเบตเปเบเปเบฒเบเบชเบฒเบกเบฒเบเปเบซเบฑเบเปเบเปเบเบฒเบเปเบเบเบเบฑเบเปเบเบทเบญเบเปเบฒเบ, เปเบเบทเปเบญเปเบซเปเปเบเปเบฎเบฑเบเบญเบดเบเปเบเบตเปเบเบฑเบเบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบเบเบฒเบ 192.168.0.3 เบซเบฒ 192.168.1.1 (router), เปเบซเปเปเบเปเบเบเบดเบเบเบฒเบเบเบปเบเบเบฑเบเบเปเบฒเบก. เปเบซเปเปเบฎเบปเบฒเบเบฑเปเบเบเปเบฒเปเบชเบฑเปเบเบเบฒเบเบเบฒเบ 192.168.1.1 เบซเบฒ 192.168.1.2 เปเบเบเบเบตเป:
เปเบเบเบเบปเปเบงเปเบ, เบฎเบนเบเบเบฒเบเบเปเปเบชเบฐเปเบเบ, เบชเบฐเบเบฑเปเบเบเปเบฒเบเบฐเปเบเบปเปเบฒเบเบฐเบเบฝเบเบเปเบงเบเบกเบท:
route add 192.168.0.0 mask 255.255.255.0 gateway 192.168.1.2
เบเบตเปเบชเบฒเบกเบฒเบเปเบฎเบฑเบเปเบเปเบเบฝเบเปเบเปเบขเบนเปเปเบเปเบเบทเบญเบเปเบฒเบเบเปเบญเบเบเบฝเบง, เบเบฑเปเบเปเบกเปเบ, เบเปเบฒเบเบเปเปเบชเบฒเบกเบฒเบเบชเบปเปเบเบเปเปเปเบเบซเบฒเบเบตเปเบขเบนเป 192.168.0.2 เบซเบผเบท 192.168.0.3 เบเบฑเบเบเบต.
เบเบตเปเปเบกเปเบเบกเบตเบเบงเบฒเบกเบเปเบฒเปเบเบฑเบเปเบเบทเปเบญเปเบซเป router เบฎเบนเปเบเปเบญเบเบเบตเปเปเบเบทเบญเบเปเบฒเบเบเปเบญเบ 192.168.0.0/24 เบเบฑเปเบเบขเบนเป (เบเบฒเบเบฎเบฝเบเบฎเบนเปเบเบทเปเบเบเบฒเบเบเบญเบเปเบเบทเบญเบเปเบฒเบเปเบกเปเบเปเบเบฑเบเบเบฐเปเบซเบเบ).
เบเบญเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเปเบเบตเปเบกเบเบฒเบเบชเบปเปเบเบเปเปเบเบญเบ 3306 (เบเบญเบ mysql เปเบฅเบตเปเบกเบเบปเปเบ (เบเปเบฒเบเปเบฒเบเบเปเปเปเบเปเบเปเบฝเบเบกเบฑเบเปเบเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบเบเบดเบเบเบฑเปเบ)) เบเบฑเบเบเบตเปเบขเบนเป 192.168.1.2.
เบชเบดเปเบเบเบตเปเบเบฒเบเบเบตเปเบชเบธเบเบเบตเปเบเบฐเปเบฎเบฑเบเปเบกเปเบเปเบฎเบฑเบเบเบฒเบเบชเบปเปเบเบเปเปเปเบเปเบเบทเปเบญเบ Linux (เบกเบฑเบเบกเบตเบชเบญเบเบเบฑเบเปเบเบทเบญเบเปเบฒเบ 192.168.1.2 (enp3s1 interface) เปเบฅเบฐ 192.168.0.2 (enp3s0 interface) เปเบเบทเปเบญเปเบซเปเบเบฑเบเปเบเบทเบญเบเปเบฒเบเบฎเบนเปเบงเปเบฒเบเบฐเปเบญเบเปเบซเปเปเบเบปเบฒเปเบเบปเปเบฒเบเบฒเบ 192.168.1.2. เบเบฑเบ 192.168.0.2, เปเบฅเบฐเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบฑเบเปเบเบทเปเบญเบ Windows เบเบญเบเบเบงเบเปเบฎเบปเบฒเบเบฑเบ MySql.
sudo iptables -A FORWARD -i enp3s1 -o enp3s0 -p tcp --syn --dport 3306 -m conntrack --ctstate NEW -j ACCEPT
sudo iptables -A FORWARD -i enp3s1 -o enp3s0 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A FORWARD -i enp3s0 -o enp3s1 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -t nat -A PREROUTING -i enp3s1 -p tcp --dport 3306 -j DNAT --to-destination 192.168.0.3
sudo iptables -t nat -A POSTROUTING -o enp3s0 -p tcp --dport 3306 -d 192.168.0.3 -j SNAT --to-source 192.168.1.2
ะธ ะฟะพัะปะตะดะฝัั ัััะพัะบะฐ ัะพั
ัะฐะฝัะตั ะฒะฒะตะดะตะฝะฝัะต ะบะพะผะฐะฝะดั ััะพะฑั ะพะฝะธ ะฟัะธ ะฟะตัะตะทะฐะฟััะบะต ะพัะธ ะฝะต ััะตัะปะธัั
sudo service iptables-persistent save
เปเบซเบผเบปเปเบฒเบเบฑเปเบ. เปเบชเบฑเปเบเบเบต 1 เบซเบกเบฒเบเบเบงเบฒเบกเบงเปเบฒเบเบงเบเปเบฎเบปเบฒเบเบญเบกเบฎเบฑเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเบเบฑเปเบเบเปเบฒเบญเบดเบ, เบญเบฑเบเบเบฑเบ 2 เปเบฅเบฐ 3 เบเบตเปเบเบงเบเปเบฎเบปเบฒเบชเบฒเบกเบฒเบเบชเบปเปเบเปเบเบฑเบเปเบเบฑเบเปเบเปเบเบฑเบเบชเบญเบเบเบดเบเบเบฒเบ, เปเบชเบฑเปเบเบเบต 4 เปเบฅเบฐเบเบต 5 เบซเบกเบฒเบเปเบเบดเบเบเบฒเบเบเปเบฝเบเบเบฒเบเบเบฒเบเปเบฅเบฐเบเบตเปเบขเบนเปเบเบญเบเปเบซเบผเปเบ. เปเบฅเบฐ voila, เบเปเบฒเบเบชเบฒเบกเบฒเบเปเบเบทเปเบญเบกเบเปเปเบเบฒเบเปเบฎเบทเบญเบเบเปเบฒเบ mysql. เปเบฅเบฐเบชเบธเบเบเปเบฒเบ, เบฅเบฐเบซเบฑเบ C ++ เบเบญเบเบเปเบญเบเบเบตเปเปเบฎเบฑเบเบชเบดเปเบเบเบตเป:
//DataBaseConnection.cpp
#include "DataBaseConnection.h"
DataBaseConnection::DataBaseConnection()
{
}
void DataBaseConnection::Connect()
{
// ะะพะปััะฐะตะผ ะดะตัะบัะธะฟัะพั ัะพะตะดะธะฝะตะฝะธั
conn = mysql_init(NULL);
if (conn == NULL)
{
// ะัะปะธ ะดะตัะบัะธะฟัะพั ะฝะต ะฟะพะปััะตะฝ โ ะฒัะฒะพะดะธะผ ัะพะพะฑัะตะฝะธะต ะพะฑ ะพัะธะฑะบะต
fprintf(stderr, "Error: can'tcreate MySQL-descriptorn");
//exit(1); //ะัะปะธ ะธัะฟะพะปัะทัะตััั ะพะบะพะฝะฝะพะต ะฟัะธะปะพะถะตะฝะธะต
}
// ะะพะดะบะปััะฐะตะผัั ะบ ัะตัะฒะตัั
if (!mysql_real_connect(conn, "192.168.0.3", "root", "password", "your_base", NULL, NULL, 0))
{
// ะัะปะธ ะฝะตั ะฒะพะทะผะพะถะฝะพััะธ ัััะฐะฝะพะฒะธัั ัะพะตะดะธะฝะตะฝะธะต ั ัะตัะฒะตัะพะผ
// ะฑะฐะทั ะดะฐะฝะฝัั
ะฒัะฒะพะดะธะผ ัะพะพะฑัะตะฝะธะต ะพะฑ ะพัะธะฑะบะต
fprintf(stderr, "Error: can't connect to database: %sn", mysql_error(conn));
}
else
{
// ะัะปะธ ัะพะตะดะธะฝะตะฝะธะต ััะฟะตัะฝะพ ัััะฐะฝะพะฒะปะตะฝะพ ะฒัะฒะพะดะธะผ ััะฐะทั - "Success!"
fprintf(stdout, "Success!n");
}
}
std::vector<std::string> DataBaseConnection::Query()
{
vectordrum.clear();
std::string query = "SELECT * FROM drum where id=0";
const char * q = query.c_str();
qstate = mysql_query(conn, q);
if (!qstate)
{
res = mysql_store_result(conn);
while (row = mysql_fetch_row(res))
{
//printf("ID: %s,Position: %s, Image: %sn", row[0], row[1], row[2]);
vectordrum.push_back(row[2]);
}
}
else
{
std::cout << "Query failed:" << mysql_error(conn) << std::endl;
}
return vectordrum;
}
void DataBaseConnection::Close()
{
// ะะฐะบััะฒะฐะตะผ ัะพะตะดะธะฝะตะฝะธะต ั ัะตัะฒะตัะพะผ ะฑะฐะทั ะดะฐะฝะฝัั
mysql_close(conn);
}
DataBaseConnection::~DataBaseConnection()
{
vectordrum.clear();
}
//DataBaseConnection.h
#pragma once
#include <iostream>
#include <mysql.h>
#include <vector>
#pragma comment(lib,"mysqlcppconn.lib")
#pragma comment(lib,"libmysql.lib")
class DataBaseConnection
{
public:
DataBaseConnection();
void Connect();
std::vector<std::string> Query();
void Close();
~DataBaseConnection();
MYSQL *conn;
MYSQL_ROW row;
MYSQL_RES *res;
int qstate;
std::vector<std::string> vectordrum;
};
เบเบฝเบงเบเบตเปเบเปเบฒเบเบชเบฒเบกเบฒเบเบชเบปเปเบเปเบเบฃเปเบเบฃเบกเบเบตเปเปเบเปเบซเปเปเบเปเบเปเบขเปเบฒเบเบเบญเบเปเบ, เปเบฅเบฐเบเปเบฒเบเบเปเปเบเบณเปเบเบฑเบเบเปเบญเบเบเบฝเบเบกเบฑเบเบเบทเบเปเปเปเปเบเบทเปเบญเปเบฎเบฑเบเปเบซเปเบกเบฑเบเปเบฎเบฑเบเบงเบฝเบเบขเบนเปเปเบเบเปเบญเบเบเบดเปเบ.
เปเบซเบผเปเบเบเปเปเบกเบนเบ: www.habr.com