Обновить
4
kiba@kiba

IT инженер

Отправить сообщение
Немного непонятно, в чем здесь сакральный смысл использования Mosh, если с терминальным сервером всё равно одно единственное подключение используется, а вся работа по сохранению рабочей среды лежит на tmux. Так ли необходимо жертвовать безопасностью в угоду получения минимального преимущества?
Я вам даже больше скажу, предыдущие поколения знали Киану и под другими именами, ещё до изобретения кинематографа… www.keanuisimmortal.com =)
По вопросам импортозамещения создан специальный чат в телеграм

Но ведь...

Им некогда в этом разбираться, они деньги зарабатывают. И на эти деньги просто покупают самые дорогие часы.
А надо было рассылать уведомления о превышении пределов всей ops-команде, тим-лиду разработчиков и каждому PM отдельно о его проблемах

А в Grafana, вроде, не так давно добавили алертинг.
Собственно у вас в задании не дописано само задание =)
Создайте функциональный компонент MyInfo, формирующий следующие HTML-элементы:

a. Заголовок h1 с вашим именем.
b. Параграф с небольшой заметкой о себе.
c. Нумерованный или ненумерованный список с тремя местами, которые мечтаете посетить во время отпуска.
Уважаемые читатели! Если вы проходите этот курс — просим рассказать о том, в какой среде вы выполняете упражнения.

В Vim =). С примерно таким конфигом:
.vimrc
"""""""""""""""""""
" Plugins install "
"""""""""""""""""""

call plug#begin('~/.vim/plugged')

Plug 'mattn/emmet-vim', { 'for': ['javascript', 'jsx', 'html', 'css'] }
Plug 'pangloss/vim-javascript'
Plug 'mxw/vim-jsx'
Plug 'w0rp/ale'

call plug#end()

""""""""""""""""""
" Plugins config "
""""""""""""""""""

" Emmet config
let g:user_emmet_leader_key='<Tab>'
let g:user_emmet_install_global = 0
let g:user_emmet_settings = {
\ 'javascript.jsx' : {
\ 'extends' : 'jsx',
\ },
\}
autocmd FileType html,css,javascript,jsx EmmetInstall

" ALE config
let g:ale_sign_error = '●' " Less aggressive than the default '>>'
let g:ale_sign_warning = '.'
let g:ale_lint_on_enter = 0 " Less distracting when opening a new file
let g:ale_linters_explicit = 1
let g:ale_fixers = {}
let g:ale_fixers['*'] = ['remove_trailing_lines', 'trim_whitespace']
let g:ale_fixers['javascript'] = ['prettier']
let g:ale_fixers['css'] = ['prettier']
let g:ale_fix_on_save = 1


Срываю покровы: основная киллер-фича командного режима — это ".". Без неё все эти J, cit, dw недостаточно эффективны, (т.к. обычный человек редко знает точное число повторений действия), а с «точкой» можно этим пренебречь не в ущерб скорости. Ну и такая работа позволяет перестроить сознание, и думать о тексте, как о наборе сущностей: слово, строка, параграф и т.п. Ну и далее уже более продвинутые техники, типа макросов: qa сделал обработку текста Esc @a @@@@@@ и т.д.
curl -i -X GET https://api.telegram.org/bot$API_KEY/sendMessage?chat_id=$CHAT_ID&text=$SOME_TEXT
А как вы пишете в vim по-русски?

у меня вот такой вот сниппет в .vimrc с давних времён, хотя думаю что уже должны быть более универсальные и элегантные решения…

set langmap=ёйцукенгшщзхъфывапролджэячсмитьбюЁЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ;`qwertyuiop[]asdfghjkl\\;'zxcvbnm\\,.~QWERTYUIOP{}ASDFGHJKL:\\"ZXCVBNM<>

nmap Ж :
" yank
nmap Н Y
nmap з p
nmap ф a
nmap щ o
nmap г u
nmap З P
ну тут нужно соблюдать баланс читаемости и краткости, или вносить расшифровку в комментарии при объявлении переменной. и ваш пример не совсем коррелирует с шоткатами vim, где любую непонятную комманду можно изучить в справке.
Со вторым ясно удаляет внутри (), а что делает первый?

не удаляет, а заменяет. cit — тоже самое, только «заменить текст внутри тэга» (html или xml), очень удобно. а удалить будет соответственно dib/dit (delete in brackets / tag).

И почему-то не работает: c% — Вырезание выражения в скобках. (% этоShift+5)

% — это не внутри скобок, это до следующий / предыдущей скобки (и других парных символов) под курсором (или ближейшей к курсору). подробней про этот оператор можно прочитать в справке :help %
не мог пройти мимо такого невежества:
в vim применяется какая-то шаманская клавиатурная магия

это лишь кажется на первый взгляд и для людей без знания английского языка (такие ещё встречаются среди IT-специалистов?). для всех остальных большинство клавиатурных сокращений понятны и являются именно сокращениями, в отличии от менее понятных ctrl+c, ctrl+v и т.п.:
dwdelete word
gtgo to tab
cit/cibchange in tag / brackets
yyank
vvisual
ppaste
И множество других…
отсутствие автоформатирования xml из коробки.
но, по правде признаться, код выше я как раз и выдрал из своего .vimrc, в котором и исправляется этот досадный недостаток =)

au FileType xml exe ":silent 1,$!xmllint --format --recover - 2>/dev/null"
~$ xmllint --format --recover ogromenny.xml 2>/dev/null | head -n20
случайный совет, альтернативная реализация через xmllint и html2text (у меня с xmlstarlet не работало — были проблемы с кодировкой):

function taocl() {
        curl -s https://raw.githubusercontent.com/jlevy/the-art-of-command-line/master/README-ru.md |
        pandoc -f markdown -t html -s |
        xmllint --format --recover --dropdtd --html --xpath "(html/body/ul/li[count(p)>0])[$RANDOM mod last()+1]" - 2>/dev/null |
        html2text -utf8 |
        fmt -80
}
спасибо, опробую.
А уже готовых темплейтов для заббикс нету под это дело? Чтоб руками не добавлять все элементы данных и т.п.
немного оффтопа…
вот эту вот конструкцию:
(tmux has-session -t remote && tmux attach-session -t remote) || (tmux new-session -s remote)

можно заменить на:
tmux new-session -As remote

The -A flag makes new-session behave like attach-session if session-name already exists;
так в squeeze версия bash 4.1-3, до сих пор уязвима. по-крайней мере отсюда все эксплоиты подтвердили уязвимость. надо из wheezy пакет ставить, версия >=4.2.37(1).

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность