ืจืืื ืืืืชื ื ืืืื ืืืืืื ืืฉืืืฆืจืื ืขืืืจื ื ืืฉืื! ืืืฉืจ ืื ื ืืจืืืฉืื "ืจืืช ืืขืืืช" ืืกืืืืช, ืืืืคืฉืจืช ืื ื ืืืืื ืขื ืจืงืข "ืืืกื ืืืคืืจื". ืืืชื ืืืกืืืช, ืฉืืืื ืืช, ืืืฉืืื ืืื'. ืืื ืืื ืืืื!
ืืคืขืืื ืืคืืื ืืืจ ืืื ืงืื ืืื ืืืื ืืืจื ืขื ืขื ืจืืื ืืืจื ืื ืืืจืืืฉ ืืืืื ืืืื ืืขื ืขืจื ืจื ืืืชืจ.
ืืกืืื ืฉืจืื ืืืงืืืืช ืืขืืืคื ืืืคืื Snom ืืืงืื ืจืืื (ืืื ืืืื), ืืืคืื ืฉืื ืืงืฉืจืื ืืืฉืื ืืืืื/ืืืฉื. ืื ื ืืืื ืฉืื ืืชื ืกืคืง ืคืชืจืื ืืช ืืืคืื ืื, ืชืกืืื ืื ืืฉืืื ืืช ืืืืจื ืฉืื ืืกืคืง ืฉื ื"ืืืืื" ืืื ืืขืื ื ืืืงืื.
ืจืืื ืืื ืืืืขืื ืฉ-Snom ืืืืื ืืืฆืืข ืจืืืช ืฉืื ืืช ืืืื ืฉื ืืชืืื ืืืฉืืช ืฉื ืืืคืื ืฉืืืื ื: ืืื ืืฉืื ืืื ืืืืจื ืืชืืื ื ืืืจืืืื ืืืื ืืืืจืฉืื ืืื ืคืืชืื, ืืขื ืืคืฉืืืื ืืืื ืืืืื ืื ืืืืื ืืืงืืคืกื, ืืืื ื ืืืืืืื. ืื ืืืืจืื ืฉืื ืื ื ืจืืฆืื ืืกืคืจ ืืื ืขืืื ืืืื.
ืงืืฉืืช ืืชืคืจืื ืฉื ืืืืคืื ืื ืฉืื ื ืื ืืื ืขื XML ืืืืคืฉืจืช ืื ืืืชืืื ืืืฉืืช ืืช ืืืฉืง ืืืฉืชืืฉ ืฉื ืืคืจืืืจืื ืืืืื (ืจืฉืืื ืงืฆืจื):
- ืชืืื ืช ืจืงืข
- ืืืคื ืืฆืืข
- ืกืืืื
- ืฉืคื
- ืจืื ืืืื ืื
- ืืงืฆืืช ืืคืชื
- ืืขืื ืืจืื
ืืืืง ืืื, ืืืืง ืืจืืฉืื ืฉื ืืืืืจ ืฉืื ื, ื ืืืจ ืขื ืืื ืืชื ืืืื ืืฉื ืืช ืืช ืืืจืื ืืืืืชื ืฉื ืืืืคืื Snom ืฉืื. ืืืื ื ืืืจ ืขื ืืื ื ืงืืืืช:
- ืฉืื ืื ืขืจืืช ืืฆืืขืื
- ืฉืื ืื ืืืคื ืื
- ืืืขื ืชืืื ืช ืจืงืข
- ืืืืืืืช ืื ืืฉืืื
ืืืืง 2 ืฉื ืืืืืจ ืฉืื ื (ืืงืจืื) ื ืืืจ ืขื ืฉืืจ ืืคืฉืจืืืืช ืืืชืืื ืืืืฉืืช. ืื ืื "ืชืืืืฃ".
1. ืฉืื ืื ืขืจืืช ืืฆืืขืื
ืืื ืืืืจืกืช ืงืืฉืื 10, ื ืืชื ืืฉื ืืช ืืืืืืื ืืช ืืืฉืง ืืฆืืขืื ืฉื ืืืืคืื ืืืืื ืช ืฆืืข ืืฉืงืืคืืช. ืื ืืืคืฉืจ ืื ืืืชืืื ืืืฉืืช ืืช ืืืฉืง ืืืฉืชืืฉ ืืงืจืืืืช ืืืืืืืืช, ืืืืจืืช, ืืขืืคืืช ืฆืืข ืืฉืื ืืืื ื ืืกืคืื, ืืืฉื, ืืืืืช ืืืจืืื ืืช ืฉื ืืืืจื.
ืืื ืืืงื ืขื ืืืื ื, ืงืืืืช ืกืืืื ืืชืืืืจ ืืืืจืืช ืฆืืข:
ืฆืืขืื ืืืชืืืื ืืืืฆืขืืช ืขืจืื RGB
ืฉื
ืขืจืืื ืืืงืืื
ืขืจืืื ืืคื
ืืจืืจืช ืืืื
ืชืืืืจ
ืืืชืจืช_ืืงืกื_ืฆืืข
ืงืืืฆื ืฉื 4
ืืกืคืจืื, ืื ืืื >=0 ื<=255.
ืืืื, ะทะตะปะตะฝัะน, ะกะธะฝะธะน, ืืืคื (ืขืจื ืืืคื 255 ืคืืจืืฉื ืืืืืืื
ืืืื, ื-0 ืฉืงืืฃ ืืืืืืื).
51 51 51 255
ืฉืืื ืืฆืืข ืืืฉืงืืคืืช ืฉื ืืงืกื ื
ืฉืืจืช ืืืชืจืช, ืืืืืื, "ืชืืจืื", "ืฉืขื",
"ืฉื" ืืื'.
ืฆืืข ืืงืกื
51 51 51
255
ืฉืืื ืืฆืืข ืืืฉืงืืคืืช
ืืงืกื ืืืฃ ืืืื "ืชืคืจืื", "ืืฆื ืืืชื ื" ื
ืื ืฉืืจ ืืกืื ืืืงืกื ืืจืืฉืืื.
subtext_color
123 124 126 255
ืฉืืื ืืฆืืข ืืืฉืงืืคืืช
ืืงืกื ืืฉื ื, ืืืฉื, "ืชืคืจืื", "ืืฆื ืืืชื ื" ืืืื
ืืกืื ืกืืืืงืกื ืืืจืื.
extratext_color
123 124 126
255
ืฉืืื ืืฆืืข ืืืฉืงืืคืืช ืฉื ืืจืืฉืื
ืฉืืจืืช ืืงืกื ืืืืฆืืืช ืืฆื ืืืื ืฉื ืืชืคืจืื, ืืืื ืืืกืืืจืืืช ืฉืืืืช, ืชืืจืื ื
ืืื
extratext2_color
123 124 126
255
ืฉืืื ืืฆืืข ืืืฉืงืืคืืช ืฉื ืืฉื ื
ืฉืืจืืช ืืงืกื ืืืืฆืืืช ืืฆื ืืืื ืฉื ืืชืคืจืื, ืืืื ืืืกืืืจืืืช ืฉืืืืช, ืชืืจืื ื
ืืื
ืืืชืจืช_ืจืงืข_ืฆืืข
226 226 226
255
ืฉืืื ืืฆืืข ืืจืงืข ืืืฉืงืืคืืช
ืฉืืจืืช ืืืชืจืช
ืฆืืข ืจืงืข
242 242 242
255
ืฉืืื ืขื ืืฆืืข ืืืฉืงืืคืืช ืฉื ืืจืงืข ืขื
ืื ืืกื.
fkey_background_color
242 242 242
255
ืฉืืื ืืฆืืข ืืืฉืงืืคืืช
ืืืฆื ืื ืจืืืฉื ืืงืฉืจ.
fkey_pressed_background_color
61 133 198
255
ืฉืืื ืืฆืืข ืืจืงืข ืืืฉืงืืคืืช
ืืงืฉืื ืจืืืฉืื ืืืงืฉืจ ืืขืช ืืืืฆื.
fkey_separator_color
182 183 184
255
ืฉืืื ืืฆืืข ืืืฉืงืืคืืช
ืงืืื ืืคืจืื ืฉื ืืืฆื ืื ืจืืืฉืื ืืืงืฉืจ
fkey_label_color
123 124 126
255
ืฉืืื ืืฆืืข ืืืฉืงืืคืืช ืฉื ืืงืกื,
ืืฉืืฉ ืืืคืชืืจืื ืจืืืฉื ืืงืฉืจ
fkey_pressed_label_color
242 242 242
255
ืฉืืื ืืฆืืข ืืืฉืงืืคืืช ืฉื ืืงืกื,
ืืฉืืฉ ืืืืฆื ืื ืจืืืฉื ืืงืฉืจ ืืืฉืจ ืืืืฆืื ืขืืืื
color_line_background_SELECT
255 255 255
255
ืฉืืื ืืฆืืข ืืจืงืข ืืืฉืงืืคืืช
ืฉืืจื ืฉื ืืืจื, ืืืฉื ืืชืคืจืื ืื ืืื ืืกื ืฉื ืืชื ืืืืืจ
ื ืืืจ_ืงื_ืืื ืืืงืืืจ_ืฆืืข
61 133 198
255
ืฉืืื ืืฆืืข ืืืฉืงืืคืืช
ืืืืื ืืฉืืื ืืฉืืจื ืฉื ืืืจื, ืืืฉื, ืืชืคืจืื ืื ืืื ืืกื ืขื
ืืืื ืืื ื ืืืจืื
ืืืจ_ืฉืืจืช_ืืงืกื_ืฆืืข
61 133 198
255
ืฉืืื ืืฆืืข ืืืฉืงืืคืืช ืฉื ืืงืกื ื
ืฉืืจื ืฉื ืืืจื, ืืืฉื ืืชืคืจืื ืื ืืื ืืกื ืขื ืคืจืืืื ื ืืืจืื.
ืฉืืื ืื ืืฆืืข ืฉื ืืกืื ืื ืืืื ืืืื ืฉืืื ืขืืืจ ืืืืืืจืืืช
ืืคืฉืจืืืืช ืฉืื ืืช ืืืืื ืืงืื
ืฆืืข_ืจืงืข_ืงื
242 242 242
0
ืฉืืื ืืฆืืข ืืจืงืข ืืืฉืงืืคืืช ืขืืืจ
ืื ืฉืืจื ืฉื ืืชืคืจืื ืื ืคืจืื ืืชืคืจืื, ืื ืื ืคืจืื ืืจืฉืืื.
line_separator_color
226 226 226
255
ืฉืืื ืืฆืืข ืืืฉืงืืคืืช
ืงื ืืคืจืื ืืื ืชืคืจืืืื ืื ืคืจืืื ืชืคืจืื ืืืืฆื ืืืื
ืืืฉืจ ืืืชืจ ืืคืจืื ื ืืืจ ืืื ืืืื.
scrollbar_color
182 183 184
255
ืฉืืื ืขื ืืฆืืข ืืืฉืงืืคืืช ืฉื ืืคืก
ืืืืื ืืืืฆืืช ืืื ืืกื.
cursor_color
61 133 198
255
ืฉืืื ืืฆืืข ืืืฉืงืืคืืช ืฉื ืืกืื,
ืืืฆื ืืืกืืื ืืืืฆืขืืช ืืืช ืืงืื.
status_msgs_background_color
242 242 242
255
ืฉืืื ืืฆืืข ืืจืงืข ืืืฉืงืืคืืช ืขืืืจ
ืืืืขืืช ืกืืืืก ืืืืคืืขืืช ืืืกืื ืืืืชื ื ืืืฉืืืืช. ืขืจื ืื ืื ืื ืขื ืืจืงืข
ืฉืื ืืืื ืื ืคื.
status_msgs_border_color
182 183 184
255
ืฉืืื ืขื ืืฆืืข ืืืฉืงืืคืืช ืฉื ืืืืื
ืืืืืขืืช ืกืืืืก ืืืืคืืขืืช ืืืกืื ืืืชื ื ืืืฉืืืืช. ืขืจื ืื ืื ืื ืขื ืืืืื
ืฉืื ืืืื ืื ืคื.
smartlabel_background_color
242 242 242
255
ืฉืืื ืืฆืืข ืืจืงืข ืืืฉืงืืคืืช ืฉื ื-SmartLabel.
smartlabel_pressed_background_color
61 133 198
255
ืฉืืื ืืฆืืข ืืจืงืข ืืืฉืงืืคืืช ืฉื ื-SmartLabel ืืขืช ืืืืฆื ืขื ืืงืฉ ืคืื ืงืฆืื.
smartlabel_separator_color
182 183 184
255
ืฉืืื ืืฆืืข ืืงื ืืืฉืงืืคืืช
ืืคืจืื ืืื ืื ืืงืฉ ืคืื ืงืฆืื SmartLabel.
smartlabel_label_color
123 124 126
255
ืฉืืื ืืฆืืข ืืืฉืงืืคืืช ืฉื ืืงืกื,
ืืฉืืืืฉ ื-SmartLabel.
smartlabel_pressed_label_color
242 242 242
255
ืฉืืื ืืฆืืข ืืืฉืงืืคืืช ืฉื ืืงืกื,
ืืฉืืฉ ื-SmartLabel ืืืฉืจ ืืชื ืืืืฅ ืขื ืืงืฉ ืคืื ืงืฆืื.
ืืขืช, ืืืืจ ืฉืื ื ืืืืขืื ืืืื ืืื ื ืืฆื, ืื ื ืืืืืื ืืขืืืจ ืืืืฉืง ืืืื ืืจื ื ืฉื ืืืืคืื ืืืืืจ ืืืืจืืช/ืืขืืคืืช, ืืื ืืืจืืืกืืื ืืฉื ืืื ืืจืื ืืืฆืื ื:
ืืื ืชืืืื ืืฉื ืืช ืืช ืืขืจืืื, ืืืืืื ืืชืืืฆื ืขื ืกืืื ืืฉืืื ืชืืขืืจ ืืขืืื ืชืืืืจ, ืื ืืฉื ื ืื ืืขืจื ืืืฆื ืืฆืืื ืขืจื ืื ืื ืืฉืชืืฉืื ืืงืืืฅ XML ืขืืืจ ืืชืฆืืจื. ืืืืืื, ืขืืืจ ืืฉืืจื ืืจืืฉืื ื ืฉืื ื "ืฆืืข ืืงืกื":
2. ืฉืื ืื ืคืื ืืื
ืืืคื ืื ืืื ืืืคืื ืื snom ื ืืชื ืื ืืืชืืื ืืืฉืืช ืื ืืชื ืื ืืฉืื ืื ืืืืฆืขืืช ืืงืฆืื ืืืืืืืืช. ืื ื ืฉืื ืื ืฉืื ืืืืคื ืฉื TrueType ืื ืืคืช ืกืืืืืช ืืฉืืืืฉ ืืขืช ืืืืืฃ ืืืืคื ืืืชืื ืืืฉืืช, ืขืฉืืืืช ืืืืืช ืืืกืจ ืขืงืืืืช ืืขืืืื ืืืงืกื ืืืืืื ืฉืืืฉืง ืืืฉืชืืฉ ืืืชืื ืืืืคื TrueType ืกืคืฆืืคื ืืื.
ืืื ืืืืืืฃ ืืืคื ืืืฉืื, โโืขืืื ืืืฆืืจ ืงืืืฅ tar ืืืืื ืืช ืืืืคื ืืืืฉ, ืฉืฉืื ืืืื ืืืืืช ืืืืืง ืืื ืืืืคื ืืืฉื ืฉืืืืืฃ.
"tar -cvf fonts.tar fontfile.ttf"
ืืืืจ ืืื, ืืฉ ืืืคื ืืช ืืงืืืฅ tar ืื ืืงืืืฅ ื-xml ืืื ืฉืืืขื ืืจืืื ืืืฉืจ ืืืืคืื ืืืคืขื ืืืืฉ.
<?xml version="1.0" encoding="utf-8" ?>
<settings>
<uploads>
<file url="http://192.168.23.54:8080/fonts.tar" type="font" />
</uploads>
</settings>
ืคืจืืื ื ืืกืคืื ืขื ืืืื ืืืคื ืื ืืืชืงื ืื ืืจืืฉ ื ืืชื ืืืฆืื ืืืชืจ ืืืื ืืจื ื ืฉืื ื.
ืื ืชืืื ืืืืจืื ืืืคื ืืฉืื ืืืืคืื ืฉืื.
3. ืืขืื ืชืืื ืช ืจืงืข
ืืขืืจืช ืืืืื, ื ืจืื ืืืฆื ืืืขืื ืืช ืืจืงืข ืืฆืืจื ื ืืื ื ืืืื ืืืืืจืืช ืืืฉืืืืช.
ืืชื ืืืื ืืืขืืืช ืชืืื ืช ืจืงืข ืืจื ืืืฉืง ืืืื ืืจื ื โ ืืขืืคืืช โ ืืจืื ืืืฆืื ื:
ืืฉ ืืืืืืจ ืืืืจื ืื ืืืชืืืช ืืชืจ ื ืืืฉื ืืชืืื ื. ืืืืจ ืฉืื ืื ืืืืืจื, ืชืืื ืช ืืจืงืข ืชืืืืฃ.
ืืืืืคืื, ืชืืื ืืฉื ืืช ืืืืจื ืื ืืืืฆืขืืช ืืงืฆืื ืืืืืืืืช ืขื ืืื ืืืกืคืช ืืชื ืขื ืขืจื ืืืงื ืืงืืืฅ ื-xml ืฉืื.
ืื ืคืจืืืจ ืื ืจืืง ืื ืฉืืชืืืช ืืืชืจ ืฉื ืืชืืื ื ืฉืืืื, ืชืืื ืช ืืจืงืข ืฉื ืืืืคืื ืชืฉืืฉ ืืืจืืจืช ืืืื.
ืื ืืฉืื: ืื ืืชื ืืฉืชืืฉ ืืชืืื ื ืืคื ื ืืจืกื 10.1.33.33, ืขืืื ืืืืืืจ ืืช ืขืจื ืฆืืข ืืจืงืข ืืฉืงืืฃ ืืื.
ืื ืืืจืื ืืืืืื ืฉืชืืื ืช ืืจืงืข ืืืืงืืช ืขื ืฉืืื ืืชืืช ืืฆืืข ืืจืงืข ืืกืื ืืจืื. ื ืืชื ืืืฉืื ืืืช ืขื ืืื ืืืืจืช ืขืจื ืืืืคื ื-0 ืขืืืจ ืฆืืข ืืจืงืข.
ืืื ืืืจืกืช ืืงืืฉืื 10.1.33.33, ืฉืงืืคืืช ืฆืืข ืืจืงืข ืืชืืืื ืืืืืืืืช ืืชืืื ืช ืืจืงืข ืืืืฆืืช ืืืืคืื. ืขื ืืืช, ืื ืื ืืืื ืฉืงืืฃ ืืืืืืื. ืืื ืืืฉืื ืฉืงืืคืืช ืืืื, ืืชืื ืขืืืื ืฆืจืื ืืืืืช ืขืจื ืืืคื ืฉื 0.
ืืื ืืืฆืื ืืช ืชืืื ืช ืืจืงืข ืืฆืืจื ื ืืื ื, ืขืืื ืืฉืืืจ ืืืชื ืืคืืจืื png, jpg, gif, bmp ืื tga. ืื ื ืืืืืฆืื ืืืื ืืืฉืชืืฉ ืืงืืฆื .png ืืืืฆืข ืืืคืืืืืืฆืื ืฉืืื ืืืืฆืขืืช "
ืืืื ืชืืื ื ืืืชืื ืืืื:
ืืื
ืืชืจ
D375/D385/D785
X 480 272
D335/D735/D765
X 320 240
D717
X 426 240
4. ืืืืื ืืชืฆืืจืช ืขืจืืช ื ืืฉื
1. "ื ืืฉื ืืคื":
ืืจืืืช
<?xml version="1.0" encoding="utf-8"?>
<settings>
<phone-settings>
<!-- When the background image is set, it automatically applies alpha changes to all elements.
Therefore it has to be listed at the beginning, so that all styles afterwards correctly apply-->
<custom_bg_image_url perm=""></custom_bg_image_url>
<!-- Background color is set to be not transparent because no background image is configured -->
<background_color perm="">43 49 56 255</background_color>
<titlebar_text_color perm="">242 242 242 255</titlebar_text_color>
<titlebar_background_color perm="">43 49 56 255</titlebar_background_color>
<text_color perm="">242 242 242 255</text_color>
<subtext_color perm="">224 224 224 255</subtext_color>
<extratext_color perm="">158 158 158 255</extratext_color>
<extratext2_color perm="">158 158 158 255</extratext2_color>
<fkey_background_color perm="">43 49 56 255</fkey_background_color>
<fkey_pressed_background_color perm="">61 133 198 255</fkey_pressed_background_color>
<fkey_separator_color perm="">70 90 120 255</fkey_separator_color>
<fkey_label_color perm="">224 224 224 255</fkey_label_color>
<fkey_pressed_label_color perm="">242 242 242 255</fkey_pressed_label_color>
<line_background_color perm="">242 242 242 0</line_background_color>
<selected_line_background_color perm="">50 60 80 255</selected_line_background_color>
<selected_line_indicator_color perm="">61 133 198 255</selected_line_indicator_color>
<selected_line_text_color perm="">61 133 198 255</selected_line_text_color>
<line_separator_color perm="">70 90 120 255</line_separator_color>
<scrollbar_color perm="">70 90 120 255</scrollbar_color>
<cursor_color perm="">61 133 198 255</cursor_color>
<status_msgs_background_color perm="">43 49 56 255</status_msgs_background_color>
<status_msgs_border_color perm="">70 90 120 255</status_msgs_border_color>
<!-- Settings for SmartLabel -->
<smartlabel_background_color perm="">43 49 56 255</smartlabel_background_color>
<smartlabel_pressed_background_color perm="">61 133 198 255</smartlabel_pressed_background_color>
<smartlabel_separator_color perm="">70 90 120 255</smartlabel_separator_color>
<smartlabel_label_color perm="">224 224 224 255</smartlabel_label_color>
<smartlabel_pressed_label_color perm="">242 242 242 255</smartlabel_pressed_label_color>
</phone-settings>
</settings>
2. "ื ืืฉื ืฆืืขืื ื":
ืืจืืืช
<?xml version="1.0" encoding="utf-8"?>
<settings>
<phone-settings>
<!-- When the background image is set, it automatically applies alpha changes to all elements.
Therefore it has to be configured at the beginning so that all styles afterwards correctly apply-->
<custom_bg_image_url perm="">http://192.168.0.1/background.png</custom_bg_image_url>
<!-- Background color has to be transparent because a background image is configured -->
<background_color perm="">0 0 0 0</background_color>
<titlebar_text_color perm="">242 242 242 255</titlebar_text_color>
<titlebar_background_color perm="">43 49 56 40</titlebar_background_color>
<text_color perm="">242 242 242 255</text_color>
<subtext_color perm="">224 224 224 255</subtext_color>
<extratext_color perm="">224 224 224 255</extratext_color>
<extratext2_color perm="">224 224 224 255</extratext2_color>
<fkey_background_color perm="">43 49 56 40</fkey_background_color>
<fkey_pressed_background_color perm="">43 49 56 140</fkey_pressed_background_color>
<fkey_separator_color perm="">0 0 0 0</fkey_separator_color>
<fkey_label_color perm="">224 224 224 255</fkey_label_color>
<fkey_pressed_label_color perm="">224 224 224 255</fkey_pressed_label_color>
<line_background_color perm="">0 0 0 0</line_background_color>
<selected_line_background_color perm="">43 49 56 40</selected_line_background_color>
<selected_line_indicator_color perm="">61 133 198 255</selected_line_indicator_color>
<selected_line_text_color perm="">61 133 198 255</selected_line_text_color>
<line_separator_color perm="">0 0 0 0</line_separator_color>
<scrollbar_color perm="">61 133 198 255</scrollbar_color>
<cursor_color perm="">61 133 198 255</cursor_color>
<status_msgs_background_color perm="">61 133 198 255</status_msgs_background_color>
<status_msgs_border_color perm="">61 133 198 255</status_msgs_border_color>
<!-- Settings for SmartLabel -->
<smartlabel_background_color perm="">43 49 56 40</smartlabel_background_color>
<smartlabel_pressed_background_color perm="">43 49 56 140</smartlabel_pressed_background_color>
<smartlabel_separator_color perm="">0 0 0 0</smartlabel_separator_color>
<smartlabel_label_color perm="">242 242 242 255</smartlabel_label_color>
<smartlabel_pressed_label_color perm="">242 242 242 255</smartlabel_pressed_label_color>
</phone-settings>
</settings>
ืื ื ืืงืืืื ืฉื ืืฉื ืื ืืขืืืจ ืื ืืืืื ืืช ืื ืืฉื ืฉื ืืชืืื ืืืฉืืช ืืื ืืช.
ืืืืฉื ...
ืืงืืจ: www.habr.com