แแถแแป
แแแแถแแแฝแ!
แแ แแแแปแแขแแแแแแแแ แแแแปแแแนแแ แแแแแแแแแแแทแแแแแแแแแแแแแปแแแแแปแแแถแแแแถแแแแแถแแแแแแแแ microservice แแแแแถแแแแแแแแแแแแแแแพแแแแแถแแแแแแแแแแถแแ
แ แผแแแทแแถแแขแแแธแแแแแผแแแถแแแแแถแแแแแแแแ แแพแแแแแถแแแแถแแแ แแถแแแแแแแแแแแแแแ แแทแแถแแแถแแปแแแแแแธแแฝแแแแแแแแถแแแแแแแแแแแแแถแแแแแ แแ แแทแแแถแแแแแแแแแแแแแแ แแ แแแแแแแแแแแแแแแแถแแแแแแแ
แแธแแแถแแขแถแ!
แแถแแแแแธแแแธแขแแแธแแแแ แถ แแทแแแแแแแแแแถแแแแแแแถแ
แแแแทแแ แแแแแแบแแพแแแแธแแถแแแแแแแแถแแแถแแแแถแแแแแแแแปแแแแแ แแพแแถแแแแแแแถแแแแแ แแแปแ แแแแแแขแแแแพแแผแแแแ
แแ แแแแปแแขแแแแแแแแ แแพแแแนแแแแแถแแแแธแแแแถแแแธแแถแแแทแแแแแถแแถแแแแแแแถแแแแแแแแแแถแแแแแแถแแแแแพ แแทแแแแแพแแแถแแแแแถแแแแแ แแแทแแแแแแ แแทแแแถแแแแแแปแแแแแแถแแ แแแแแถแแแถแแแถแแแแแ แแ แแแแปแแแถแแแแแแปแแแแแแแถแแแฝแแแถแแแแแแแแแ แแพแแแทแแแถแแนแแแแแแแแแ แแถแแแทแแถแแแแแแแแแแ แผแแแถแแแถแแแแแแแแ แแแแแทแแแแธแแแแแ แแฝแแ
แฅแกแผแแแแแแพแแแนแแแแแแแถแแแแแแแแแถแแแแแแแแ แแแแแทแแแแแผแ แ แพแแแนแแแแแแแแพแขแแแแแแแแแแแแแแถแแแแแแแแถแแแผแ แแ แแแแปแแแแทแแแแแแแแถแแแแแแแแแแแแแแแแถแแแแผแแ
แแ แแแแแแแพแแถแแแพแแแแแแแถแแแแแแแแถแแแถแแแแถแ แแทแ แแ แแถแแแแแผแแแถแแแแแแแแ แแถแแแถแแแถแแปแแผแ แแถแแแแแแแ
- แแถแแแแแพแแแพแแแปแแแ แแแแปแแแผแแแ
- แแถแแแถแแแแแแแแแแแแแปแแแแแแแถแแแ
- แแแแ แถแแแแแแแ
แแธแแฝแแแแแผแแแถแแแแแแแแถแแแแแแแแแแแถแแแแแแถแแแแแแปแแแแแแถแแแถแแปแ
แแแแถแแแแถแแแปแแแถแแแแแแแแแแแแ แผแแแถแแแแแแ
แแถแแแทแแถแแแแแแผแแแถแแแแแถแแแแแแแแแแแแแแ
แแ
แแแแปแแแแแแแธแแทแ
แแแแแแธแแทแแแแแแแแแ ML
แแแแแแแแแแแทแแแถแแแแแธแแพแแแแแแแแแ - แแถแแแแแแแ แ แทแแแแแแแผแแแถแแแแแพแกแพแแแพแแแแธแแปแแแแแแแแถแแแถแแแแแแแแ แแแแปแแแแแถแแแแแขแแกแถแ แแแแแแแแผแแฑแแแแแแ แผแแแแแฝแแแพแแแ แแแแปแแแแแถแแแแแแแแแ แแแแแผแแแถแแแผแแแแแถแแแถแแแแแแแแแแผแแแถแแแแแแแ
- แแถแแแแแปแแแแแแแ แแแปแแแแแฝแแแแแแฝแ - แแแแถแแแแแแถแแแขแแแแฝแแแแแแแแแแแแแแ แแแปแแ แแแแแแแแแแฝแ แแฝแแแแแฝแแแแแถแแแแแฝแแแแแปแแแถแแแทแแถแ
- แแแแแแถแแแแแถแแแแแพแแถแแแแแแแถแแแแแแแแแแแแถแแถแแแแแแ - แแถ Bottleneck แแแแแแแแปแ
- แ แแแฝแแแผแ แแแแถแแแแแแถแแแแแพแแแถแแแฝแแแแแแแผแแแถแแแแแ แแแแพแแแแธแแถแแแแแแแแผแแแถแแแธแแฝแแ แแพแแแแธแแแแแถแแแถแแ แฝแแแแแแถแแแแแปแแแถแแ แแแ แถแแแแแแแแถแแแแแถแแแแถแแแแแแทแแแแถแ
- แแถแแแถแแแแแแแถแแกแพแแแทแแแผแแแแแถแแแแแแถแแแแถแแ แแทแแแแแแถแแแแผแ
- แแแแแแแถแแแแแปแแแถแแแแแพแแแแถแแแแแแแปแแผแแ แแ แแแแปแแแแแถแแแแแแแแแแ แแแแแทแแแพแ แถแแแถแ แ
แแแแถแแแแแแแแ
แแแแแถแแโแแธโแแถแโแแทแแถแโแแแแแผแโแแถแ แแถโแแถแโแแแแถแโแแถโแ แแแถแแโแแถโแแแแถแแแแแแแแโแแธแแแแผโแแแแถโแแโแแแแพแโแแโแฅแแแแ แแแ
แแพแแแแธแแแแ แถแแแแถแแแบแแแแถแแแแแแทแแ แถแแแถแ แแแแ Telegram API แแแแผแแแถแแแแแพแแแพแแแถแแแแแแแถแแแปแแ
แแถแแแแผแ แแผแแแแแกแแแแพแแแแแถแแแแถแแแ แแถแแแแแแแแแแแแถแแแแแแแแแแแแแถแแแแแ แแ แแแแแถแแแแแแแแแแ แแถแแแทแแแแแถแแแแถแแปแแแแแแธแแฝแแ แ แพแแแแแแถแแแแแแพแแแแแแแแแแแพแแแถแแแผแแแถแแแแแแแฝแแแถแแแแแแแแแแแแแ
แแแแถแแแแถแแแ แแถแแแแแแแแแแแแแแถแแแแแแแแแแแแแถแแแแแ แแ
แ แผแโแแพแโแแทแแถแโแแแแขแทแโแแแแแแโแแแโแขแแแธโแแถแแปแแแแโแแธแแฝแแโแแโแแแแถแแแแถแ แแแโแแแแแถแแโแแธโแแแแฝแโแแปแโแแแแผแโแแโแแฝแโแแแแปแโแแแแพแโแแถแโแแถแโแแแแแโแแผแแแถแแ
แแแแถแแธแแแแผ "attrai-telegram-bot"
แแแแถแแธแแแแผแแแแแแแแแแแแแแขแแแแแแแแแแถแแแขแแแแถแแฝแ Telegram API แ แแถแแแแแถแแธแแแผแแแแถแแแแ แแแฝแ 2แ แแแแพแแถแแแถแแฝแแแผแแแถแแแแแถแแแแแแฝแ แแทแแแแแพแแถแแแถแแฝแแแแแแแแแแแแแแแแแแ แผแแแถแแแแแแแ แแผแแแแแกแแแแพแแแแแถแแธแแแผแแถแแแแธแแแแแปแแแแแแผแแ แ
แแ แแแแแแฝแแแถแแแถแแแแแถแแแแแแฝแแแถแแฝแแแผแแแถแแ
- แแถแแแแแแแแแผแแแถแแขแแปแแแแ แแแแแถแแแถแแแแแฝแแแทแแทแแแแแผแ
แแถแแแแแแแ
- แแถแแขแถแ แแแแถแแแแแแ แแแผแแแถแแแแขแแแแปแ
- แ แแแฝแแแผแแแถแแขแแแแแแแพแแแแถแแแแฝแ แ แพแแแ แแแแปแแแฝแ
- แแ แแแแแแแแแถแแแแถแแแแแแแแแผแ แแผแแแถแแแแแผแแแถแแแแแแถแแปแแแแแปแแแแแแทแแแแกแแ docker
- แแถแแแทแ แแ แแฝแแแแแผแแแถแแแแทแแแ แแแแปแแแฝแ "to_estimate" แแแแแฝแแแถแแแแแผแแแ แแถแแแแผแแแถแแแแแแถแแแ แแแแปแแแแทแแถแแแแแแแพแ
- แแแแแทแแแพแแแ แถแแแถแแแพแแแแผแแแถแแแแแ แแแแแแแแแแแ แขแแแแแแแพแแแแถแแแแนแแแแฝแแแถแแแถแแแถแแฝแแแนแแแแแแแแถแแแแพแแแถแแแผแแแถแแแแแ แถแแแแแแ แแ แแแแแแแผแแแถแแแแแถแแแแแแขแแแแพแ แแแฝแแแทแ แแ แแถแแแแแปแแแฝแแ แแแแแทแแแพแแถแแแแ แปแแแพแแกแพแ แขแแแแแแแพแแแแถแแแแนแแแแแผแแแถแแแผแแแแแนแแแแถแแ แแแถแแแแถแแแแแแถแแแแแพแแถแแแถแแฝแแแนแแแแแแแถแแขแแแธแขแแแธแแแแขแถแ แแนแแแปแแ
แแแแแ แแแแถแแธแแแแผแแแ แแผแ แแถแแแแแแ celery แแแแถแแแแฝแ "after_estimate" แแแแแถแแแแแแแแแแถแแแแทแ แแ แแถแแแแแแถแแแแแแแถแแแแแแแแแถแแแแแแแ
แแ แแแแแแฝแแแถแแแทแ แแ แแถแแแแแธแแธ โafter_estimateโแ
- แแแแแทแแแพแแผแแแถแแแแแผแแแถแแแแแพแแแถแแแแแแแแแแ แแพแแแแแพแแแแแแแแ แขแแแแแแแพแแแแถแแ แแแแแทแแแพแแทแแแถแแแ แแพแแแผแแแแแนแแขแแแธแแแแ แถแ
- แแถแแแแแผแแแถแแแแแแถแแแแแแแแแแแแแแแแแ แผแแแถแแแแแแ
แแแแถแแถแแแแแแแแแแถแแแผแ "แขแแแแแแถแแแแแแแถแ"
microservice แแแโแแบโแแถโแแปแแแแแทแ celery แแทแโแแปแโแแแแแโแแแแแโแแแถแโแแแโแแถแแโแแโแแนแโแแแแแโแแแแ แผแโแแถแโแแถแโแแแแแโแแผแแแถแแ แแถแแแแแฝแแแแแแแแถแแแแแฝแแแแแแแแแแแพแแถแแแ แแธแแแ - แแแแแทแแถแแแถแ
แแ แแแแแแฝแแแถแแแทแ แแ แแถแแแแแธแแธ โto_estimateโแ
- แ
แผแแแแแพแแแถแแแผแแแถแแแถแแแแแแแแแแแถแแแแแแแ
- แแแแปแแแแแปแแแผแแแถแแแ แแแแปแแขแแแแ แแ แถแ
- แแพแแแถแแแแแผแแแถแแแ แแแ แแแแแแแแผแแแถแ
- แแแแแแแแแปแแแถแแแขแแ (MTCNN)
- แแพแแแถแแแแแแแแปแแแถแแแขแแ (แแพแแแปแแแปแแแแแแแแพแแแแแปแแแแ แถแแ แปแแแแแแแแ แแถแแแแแปแ แแทแแแถแแแแแแทแแแแถแ ResNet34)
- แแแแ แถแแแผแแแถแแ
แปแแแแแแ
- แ แผแแแพแแแผแแแแแขแแแแแแแถแแแแแแแแ
- แแผแแแถแแแถแแแแแแ
- แแถแแแปแแแผแแแถแแแแแถแแแแแแฝแ (แแพแ)
- แแถแแแแแแถแแปแแแทแแแแแแแธแแแแแแแถแแแแแแ
- แแพแแแถแแแแถแแแทแ แแ แแ แแแแปแแแฝแ "after_estimate" แแแแแแแผแแแถแแแแแถแแแแแ "attrai-telegram-bot" microservice แแแแแถแแแทแแถแแแแถแแถแแแพแ
Graylog (+ mongoDB + Elasticsearch)
แแแแแพแโแแถแโแแแแถแแโแแโแแพโแแถแแ แ แพแโแแทแโแแแโแแพโแแแแแพแโแแแแแแถโแแแ
แแแแปแแแถแแแถแแแปแแแแแแแถแแแแแแแแแถแแแแแแพแแถแแแแแถแแฝแ ELK stack แแธแแปแแแ แแแแปแแแถแแแแแทแแแแแแแทแแแแแถแแแถแแฝแแแ แแแแแแแพแแถแแแถแแฝแ Graylog แ แแฟแแแแแฝแแแแแแแแแแแพแฑแแแแแแถแแแแนแแ แทแแแแแบแงแแแแแแถแแแ แแแแปแแแแแแแแแทแแแแแแแ Kibana แแพแ แแแปแ แแแแแถแแแแแแแถแ Graylog แ
RabbitMQ
แแ
แแแแปแแแแแแแแแแแแถแแแแผแแแถแแแแแแแพแแถ
Redis
แแฝแแแถแแแถแแแแแแผแแแถแแแแแพแแแแถแแแแแแแปแแผแแ แแแแขแแปแแแแแแ แแถแแแแแแแแแแทแแแแแแแแถแแแแถแแแแ แแแแปแแแธแแแแผแแแแถ Python แแแแแแแแแแถแ
แงแแถแ แแแ Redis แแแแแถแแปแ hashmap แแแแแแแแ โtelegram_user_id => แ แแแฝแแแแแทแ แแ แแถแแแแแแแแ แแแแปแแแฝแโ แแแแขแแปแแแแถแแฑแแแขแแแแแแแแแ แแแฝแแแแแพแแธแขแแแแแแแพแแแแถแแแแแแถแแแแ แแแแแแแถแแแแถแแแแฝแ แ แพแแแแแ แแแปแแแ แแถแแแถแแแถแแแถแแแแแ แถแ DoS แ
แ แผแแแพแแแแแ แแแแแพแแแถแแแแแแแพแแแถแแแผแแแถแแแแแแแฝแแแถแแแแแแแแแถแแแแผแแแถแ
- แขแแแแแแแพแแแแถแแแแแแพแแผแแแถแแแ แแถแแ Telegram bot
- "attrai-telegram-bot" แแแฝแแแถแแแธ Telegram API แ แพแแแแแแถแ
- แแถแแแทแ แแ แแแแแถแแแผแแแถแแแแแผแแแถแแแแแแแแแ แแฝแแขแแแแถแ "to_estimate"
- แขแแแแแแแพแแแแถแแแแแฝแแแถแแแถแแแถแแฝแแแนแแแแแแแแถแแถแแแแแแแแแแแถแแแแแแแแปแ
- "attrai-estimator" แแแแถแแแทแ แแ แแธแแฝแ "to_estimate" แแแแพแแแถแแแถแแแแถแแแแแแแถแแแถแแแแแแแแแแแแแ แผแแแแแแ แแทแแแแทแแแทแ แแ แแถแแแ แแแแปแแแฝแ "after_estimate"
- "attrai-telegram-bot" แแแแถแแแแฝแ "after_estimate" แแแแพแแแแแแแแ แขแแแแแแแพแแแแถแแ
DevOps
แแถแ แปแแแแแแ แแแแแถแแแแธแแทแแทแแแแแพแแแแแถแแแแแแแแ แขแแแแขแถแ แแแแแแ แแแแแแแฝแแฑแแแ แถแแแขแถแแแแแแแแผแ แแแแถ - DevOps
Docker Swarm
แแแแแแแพ "swarm" แแแแถแแแแถแแแขแแแแ
แแแแปแแ
แแแแแแแแแแแพแแขแถแ
แแแแผแแแถแแแแแ
แแแแถ 2 แแแแแแ - แแแแแแ แแทแแขแแแแแแแแแแแแแ แแ
แแพแแแถแแแธแแแแแแแแแธแแฝแ แแแแปแแแปแแแบแแแ (แแแ) แแแแผแแแถแแแถแแแแแแแถแ แแแถแแแธแแแแแแแแแแแธแแธแ แแแฝแแแปแแแแแผแแ
แแแแแแถแแแแแพแแถแแแแแแแถแ แแปแแแแแถแ แแทแ
แ แแแแแโแแแโแแถแโแขแแแโแแแแแโแแแแโแแแแถแแโแแนแโแแถแโแแแแถแแ แแทแโแแแแแแโแแธโแแถแแแ
แแแ แแ แแแแแแขแแแแแแแถแแแแขแถแ แแแแพแแถแแแบ 1 แแแแถแแ แแแถแแแธแแแแแฝแแแนแแแพแแแฝแแถแขแแแแแแแแแแแแ แแทแแแแแแแแแแแปแแแแแแแแถแแแแแถแ แแแแแแขแแแแพแแแ แแแแแแแแแแแทแแแแแแผแแแถแแขแแแแแแแถแแแแแถแแแแถแแขแแแฑแแแแ แปแแแถแแแแผแแแถแแแแแแแ แ แทแแแแแแแพแแทแแธแแถแแแแแแแแแ
แแแแแนแแแ แแปแ แแแแปแแแนแแแทแแถแแแถ แ แถแแแแถแแแแธแแถแแ แแแ แถแแแแทแแแแแแแพแแแแแผแ แแแแแแแพแกแพแแแ แแถแแแแแแแถแแแแแทแแปแแถ แแทแแแถแแแแแ แถแแถแแแแแแนแแขแแแแแถแแ แแแแแแแแแแ (แแแปแแแแแแแแแทแแแแแแถแแแแแแถ แขแแแแแถแแแแแแแแขแถแ แแแฝแแแแแถแแแแแปแแแแแแทแแแแแแแแถแแฝแแแแแแแ แแแแแแโแแแโแแถโแแแแแแแแแปโแแแแแผแโแแถแโแขแแโแฑแโแแแ แปแโ) แ
แแแ Docker
แแ
แแแแปแแแแแ swarm แแถแแแแแฝแแแปแแแแแผแแแพแแถแแแถแแแแแแแถแ stacks (แแแแปแแแแแแแถแแแแ docker)
แแถแแถแแแแแแถแแแแแแแแ แแถแแแแแแแแ docker-compose แแแแขแแปแแแแถแแฑแแแขแแแแแแแแแแแแถแแแถแแแแแแแแถแแแแแแแถแแ
แงแแถแ แแแ แแแแแแแพแแแถแแแถแแแแแแแแถแแแแแ แแแแถแแแแแแถแแแแแแธ microservice แแถแแแแแแแแธแแฝแแแแแแผแแแถแแแแแแ (แแพแแแแแ แแ N cores แแแแแถแแ N instances แแ แแแแปแ microservice แแพแแแแแแแ แแแฝแแแแแผแแแแแแแแพแแแ PyTorch แแ แแฝแ)
attrai_estimator:
image: 'erqups/attrai_estimator:1.2'
deploy:
replicas: 4
resources:
limits:
cpus: '4'
restart_policy:
condition: on-failure
โฆ
แแถแแถแแถแแแแแถแแแแแแปแแแถแแแแแแแแแถแแแแถ Redis, RabbitMQ แแทแ Graylog แแบแแถแแแแถแแแแแแแแแถแแแแแแแแแแแ แ แพแแแฝแแแแแทแแขแถแ แแแแพแแถแแแแแแแถแแแถแแแแถแแแถแแแแแฝแแแผแ "attrai-estimator" แแแแแแ
แแถแแแแแฝแ - แ แแแปแขแแแธแแทแ Kubernetes?
แแถแ แถแแแแธแแผแ แแถแแถแแแแแพแแแแถแแ Kubernetes แแ แแแแปแแแแแแแแแแแถแแแผแ แแทแแแแแแแแบแแถแแถแแ แแแถแแแพแแแฝแ แแปแแแถแแ แถแแแถแ แแแถแแแขแแแขแถแ แแแฝแแแถแแแธ Docker Swarm แแแแแถแแแแแฝแแแแแพแแแแแถแแแขแแแแแแแแแแแแแปแแแบแแแ แ แพแแแแแถแแงแแแแแแแถแแแแแปแแแถแแ แผแแแแแแแ
แ แแแแแถแแ แแถแแแแแแแแ
แแถแแแขแแแแแแแแแผแแแถแแแถแแแแแแแถแแแ แแพ VDS แแแแแถแแแแแแแแแผแ แแถแแแแแแแ
- แแแธแแธแแผแ แแแธแแธแแผ Intelยฎ Xeonยฎ Gold 4 แ แแแฝแ 5120 แแแแผแ @ 2.20GHz
- แขแแแแ แแ แถแ: 8 GB
- SSDแ แกแขแจ แแธแแถแแ
แแแแแถแแแแธแแถแแแแแพแแแแแแแแแปแแแแแปแแแแแปแ แแถแ แถแแแแผแ แแถแแถแแถแแฝแแแนแแแถแแ แผแแ แผแแแแถแแแแแแแแแแแแแขแแแแแแแพแแแแถแแแแแถแแแธแแแแแแนแแแแแแแแแแถแแแ แพแแ
แแแปแแแแแแแแถแแแแแแแถแแแแธแแถแแแถแแแฑแแแแแแพแแแแถแแ แแแแปแแแถแแแแแ แแแแแแแแแถแแแแ แแถแแแแแแถแแแแผแแแถแแแแแแแแทแแแแแแปแแแฝแแแ แแแแปแ CIS (แแถแ แแแแแผแ แแแแถ) แแแแแถแแแแธแแแแแแปแแแแ แถแแแขแถแแแแแแ แ แพแแแแแปแแแแแแแแแธแแแธแแแแ แแแแถแแแแแแถแแแแแพแแแถแแแผแแแถแแแถแแแแแบแแแผแแแถแแแแแแแแแแแ แแแแปแแแแแแถแแฝแแแแแถแแแ แแ แแแแถแแแแผแ แแแแถแ CPU แแทแ RAM แแทแแแแแผแแแถแแแแแแแพแแแแถแแแแผแแแแธแแแแถแแแแแแแถแแ
แแแแถแ แแแทแแแฝแแ แแแฝแแแแแ
แ แแแฝแแขแแแแแแแพแแแแถแแแแทแแแ แแทแแแแแพแแถแแแแแแแ แถแแแแถแแแแธแแถแแแถแแแฑแแแแแแพแแแแถแแ แขแถแแแแแแแพแแแแ
แแถแแ แแแ แถแแแแแแแแถแแถแแแแแแทแแแแถแแแแแแแแแแถแแแแแแ
แแถแแแแแพแ
แแพแแแแธแแแแแแ แแแแปแแขแถแ แแทแแถแแแถแแแถ แแแแถแแแแแแแแ แแทแแแทแแธแแถแแแแแแแแแถแแแแแ แแแปแแแบแแแแแถแแแถแแแแถแแปแ แแทแแแถแแแแแแปแแ แแแแแแแแฝแแแฝแแแ - แแผแแแแธแแแแ แแแแถแแแแถแแแแแผแแแแแทแแแถแแแถแแแแแถแแแ แปแ แฌแแแ แปแแแ แแแแปแแแแแแแแถแแแแพแแแถแแแแแ
แแแแปแแแทแแแถแแแแแแแแแแถแแแผแ แแทแแแแแแแแแแแแแพแแถแแแแแแทแแแแถแแแถแแแแแแแแถแแถแแแแแแแแแแแแแแถแแแแแแแแแแถแแแ แแพ CPU แแแแปแแแแแพแแแถแแแแแแแฝแแแแขแถแ แแแฝแแแแแถแแขแแปแแแแแแแแแถแแแทแแแแแถแแ แแแแปแแขแแแแแแแแแแแแแแแแแแ
แแแแปแแแนแแแแแแแแแถแแแแผแแขแแแแแแแบแแแแแถแ แแแปแแแแแแพแแแแธแแทแแแแแ แแแแถแแขแถแแแแแแแแถแ แแแแปแแแถแแแแแแแ แ แทแแแแแปแแ แแแ แแแปแ แแฝแแ แแแฝแแแ แแแแปแแขแแแแแแแแ - แแพแแแนแแแแแแแแแ แแฝแแแแแทแแแ แแแแปแแแถแแแแแแปแแแแแถแแแแขแแถแแแ
แขแแแแขแถแ แ แถแแ bot แแ แแพ Telegram - @AttraiBot แแถแแนแแแแแพแแแถแแแแถแแ แแ แแถแแแแ แผแแแแแ แปแแแแผแแแแแนแแแพแแแแปแแแแแถแ 2020แ แแแแปแแแผแแแแแนแแขแแแแแถ แแแแถแแแทแแแแแแแขแแแแแแแพแแแแถแแแแแแผแแแถแแแแแแถแแปแแแ - แแถแแแแผแแแถแแแพแ แฌแแแแแแแแแแแแแแแแแ แผแแแถแแแถแแแแแแ - แขแแแธแแแแแแแแถแแแแแผแแแถแแแแแแแถแแแแแแถแแแแธแแแแพแแแถแแ
แแแแแ: www.habr.com