firewall-cmd --permanent --set-target=ACCEPT
вторник, 4 сентября 2018 г.
воскресенье, 2 сентября 2018 г.
понедельник, 23 июля 2018 г.
Linux cam resolution info
v4l2-ctl
--list-formats-ext Index : 1 Type : Video Capture Pixel Format: 'MJPG' (compressed) Name : Motion-JPEG Size: Discrete 640x480 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.067s (15.000 fps)
среда, 4 июля 2018 г.
Set locale via localectl with Caps_Lock toggle
localectl set-x11-keymap "us,ru" "" "" "grp:caps_toggle"
воскресенье, 17 июня 2018 г.
startx as regular user
Create a file /etc/X11/Xwrapper.config with line:
allowed_users=anybody
Done! Now you can run new Xorg session
$ startx openbox -- :1
четверг, 31 мая 2018 г.
Что такое DRY, DIE, KISS, SOLID, YAGNI в программировании
Итак, что же такое термины DRY, DIE, KISS, SOLID, YAGNI и в чем заключаются эти подходы в программировании — рассмотрим их по порядку.
DRY — расшифровывается как Don’t Repeat Youself — не повторяйся, также известен как DIE — Duplication Is Evil — дублирование это зло. Этот принцип заключается в том, что нужно избегать повторений одного и того же кода. Лучше использовать универсальные свойства и функции.
KISS — Keep It Simple, Stupid — не усложняй! Смысл этого принципа программирования заключается в том, что стоит делать максимально простую и понятную архитектуру, применять шаблоны проектирования и не изобретать велосипед.
Принцип SOLID в упрощенном варианте означает, что когда при написании кода используется несколько принципов вместе, то это значительно облегчает дальнейшую поддержку и развитие программы. Полностью акроним расшифровывается так:
Single responsibility principle — принцип единственной обязанности (на каждый класс должна быть возложена одна-единственная обязанность);
Open/closed principle — принцип открытости/закрытости (программные сущности должны быть закрыты для изменения но открыты для расширения);
Liskov substitution principle — принцип подстановки Барбары Лисков
(функции, которые используют базовый тип, должны иметь возможность использовать подтипы базового типа, не зная об этом. Подклассы не могут замещать поведения базовых классов. Подтипы должны дополнять базовые типы);
Interface segregation principle — принцип разделения интерфейса
(много специализированных интерфейсов лучше, чем один универсальный);
Dependency inversion principle — принцип инверсии зависимостей
(зависимости внутри системы строятся на основе абстракций. Модули верхнего уровня не зависят от модулей нижнего уровня. Абстракции не должны зависеть от деталей. Детали должны зависеть от абстракций);
Термин YAGNI значит You Ain’t Gonna Need It — вам это не понадобится! Его суть в том, чтобы реализовать только поставленные задачи и отказаться от избыточного функционала.
DRY — расшифровывается как Don’t Repeat Youself — не повторяйся, также известен как DIE — Duplication Is Evil — дублирование это зло. Этот принцип заключается в том, что нужно избегать повторений одного и того же кода. Лучше использовать универсальные свойства и функции.
KISS — Keep It Simple, Stupid — не усложняй! Смысл этого принципа программирования заключается в том, что стоит делать максимально простую и понятную архитектуру, применять шаблоны проектирования и не изобретать велосипед.
Принцип SOLID в упрощенном варианте означает, что когда при написании кода используется несколько принципов вместе, то это значительно облегчает дальнейшую поддержку и развитие программы. Полностью акроним расшифровывается так:
Single responsibility principle — принцип единственной обязанности (на каждый класс должна быть возложена одна-единственная обязанность);
Open/closed principle — принцип открытости/закрытости (программные сущности должны быть закрыты для изменения но открыты для расширения);
Liskov substitution principle — принцип подстановки Барбары Лисков
(функции, которые используют базовый тип, должны иметь возможность использовать подтипы базового типа, не зная об этом. Подклассы не могут замещать поведения базовых классов. Подтипы должны дополнять базовые типы);
Interface segregation principle — принцип разделения интерфейса
(много специализированных интерфейсов лучше, чем один универсальный);
Dependency inversion principle — принцип инверсии зависимостей
(зависимости внутри системы строятся на основе абстракций. Модули верхнего уровня не зависят от модулей нижнего уровня. Абстракции не должны зависеть от деталей. Детали должны зависеть от абстракций);
Термин YAGNI значит You Ain’t Gonna Need It — вам это не понадобится! Его суть в том, чтобы реализовать только поставленные задачи и отказаться от избыточного функционала.
среда, 30 мая 2018 г.
Samba printer on CUPS with authorization
Just set URL like this
smb://WORKGROUP/WINDOWSNETBIOSNAME/printersharename
-
smb://username:password@WORKGROUP/WINDOWSNETBIOSNAME/printersharename
-
smb://username:password@WINDOWSNETBIOSNAME/printersharename
среда, 25 апреля 2018 г.
Show network trace around an application
strace -f -e trace=network kinit username@realm
Where kinit username@realm is any your application with some arguments.
суббота, 14 апреля 2018 г.
Linux xkb list
List can be found heere
/usr/share/X11/xkb/rules/xorg.lst
Set by command
setxkbmap -option 'caps:hyper'
Now run ibus-setup, navigate to add type `Hyper_L` prevent switch case and toggle layout.
FYI: key name you can found with `xev` application
For persistent changes
/etc/X11/xorg.conf.d/00-keyboard.conf
1 Section "InputClass"
2 Identifier "system-keyboard"
3 MatchIsKeyboard "on"
4 Option "XkbOptions" "caps:hyper"
5 EndSection
/usr/share/X11/xkb/rules/xorg.lst
Set by command
setxkbmap -option 'caps:hyper'
Now run ibus-setup, navigate to add type `Hyper_L` prevent switch case and toggle layout.
FYI: key name you can found with `xev` application
For persistent changes
/etc/X11/xorg.conf.d/00-keyboard.conf
1 Section "InputClass"
2 Identifier "system-keyboard"
3 MatchIsKeyboard "on"
4 Option "XkbOptions" "caps:hyper"
5 EndSection
воскресенье, 1 апреля 2018 г.
воскресенье, 11 марта 2018 г.
Подписаться на:
Сообщения (Atom)