emo-mvp
node app --config=/home/ubuntu/projects/schools/demo1/local-config.js
Запуск приложения
git pull && grunt build && sudo service emote-demo1 restart && sudo service emote-demo2 restart && sudo service emote-prodtest1 restart
Билд demo1, demo2, prodtest1
git pull && grunt build && sudo service emote-test restart && sudo service emote-test1 restart && sudo service emote-test2 restart
Билд test1, test2
$(".refresh-row").show();
Показать секретные кнопки обновления строк
window.stopTimelineRefresh=1
Остановить пулинг таймлайна в правой панели.
JSON.parse(decodeURIComponent((document.cookie).split("; openedInRightBar=").pop().split(';').shift()))
Посмотреть openedInRightBar.
Javascript
location.href = `${location.origin}${location.pathname}`;
Рефреш страницы.
function copyTextToClipboard(text) { const textarea = document.createElement('textarea'); textarea.value = text; textarea.style.position = 'fixed'; textarea.style.opacity = 0; document.body.appendChild(textarea); textarea.select(); textarea.setSelectionRange(0, textarea.value.length); document.execCommand('copy'); document.body.removeChild(textarea); }
Копировать текст в буфер обмена.
render: ["shareConfig", (cb, { shareConfig }) => { const view = new ShareForm({ app:this.app, data:{ shareConfig } }); const $cont = $("#share-form-cont"); view.render(safe.sure(cb, tmpl => { const $view = $(tmpl); $cont.html(""); $cont.append($view); this.attachSubView(view); view.bindDom($view); cb(); })); }]
Пример рендера сабвью
e.stopPropagation(); e.preventDefault();
Предотвращение событий по умолчанию.
Ubuntu
pwgen -N 1 -s 12
Сгенерировать пароль на 12 символов без спецсимволов.
pwgen -y 12 1
Сгенерировать пароль на 12 символов с спецсимволами.
sudo tail -f /var/log/squid/access.log
Просмотр логов в реальном времени.
Fetch from Chrome
fetch(`${location.origin}/restapi/${document.cookie.split(';').filter((item) => item.trim().startsWith('token='))[0].split('=')[1]}/core/getCommitCount`, { method: 'POST', body:JSON.stringify({filter:{_idstudent:'5fdbc3cd8d2c885d83a549bc'}}), headers: {'Content-type': 'application/json; charset=UTF-8'} }).then(res => {res.json().then((j) => console.log(j));})
1. Параметры для API кладём в body, как показано в примере.
2.Результата получаем в виде Promise. Поэтому с результатом дополнительно делаем res.json().then((j) => console.log(j))
nvm/npm
npm view mongodb versions
Показать доступные версии пакета mongodb.
npm install mongodb@latest
Установить последнюю версию пакета mongodb.
npm ls axios
Посмотреть дерево зависимостей.
better-npm-audit audit
Отчёт об уязвимостях в виде таблицы.
npm install -g better-npm-audit
Установка better-npm-audit
npm i grunt-cli -g
Установка grunt
HTML
<div class="row"> <div class="col-xs-12 col-sm-12"> </div> </div>
Bootstrap 3 Grid
CSS
text-overflow: ellipsis; overflow: hidden; white-space: nowrap; width: 210px;
Обрезать текст и добавить троеточие.
/* Мобильные устройства (портретная ориентация) */ @media (max-width: 320px) { /* Стили для маленьких мобильных устройств */ } @media (min-width: 321px) and (max-width: 480px) { /* Стили для средних мобильных устройств */ } @media (min-width: 481px) and (max-width: 767px) { /* Стили для больших мобильных устройств */ } /* Планшеты */ @media (min-width: 768px) and (max-width: 991px) { /* Стили для маленьких планшетов */ } @media (min-width: 992px) and (max-width: 1199px) { /* Стили для больших планшетов */ } /* Десктопы */ @media (min-width: 1200px) and (max-width: 1599px) { /* Стили для маленьких десктопов */ } @media (min-width: 1600px) { /* Стили для больших десктопов */ }
Варианты обработки ширины экрана.