Python: как собрать .exe файл
Если необходимо собрать исполняемый файл из вашего Python проекта, можно воспользоваться PyInstaller
Для установки введите команду в командной строке:
pip install -U pyinstaller
Перейдите в папку с проектом, затем введите команду:
pyinstaller nazvanie_programmi.py
exe файл найдете в папке “dist”
Если при выполнении команды вы получили такую ошибку: Pyinstaller is not recognized as internal or external command, тогда попробуйте альтернативную команду:
python -m PyInstaller nazvanie_programmi.py
Kotlin - как скопировать текст в буфер обмена
Как в Android Studio скопировать текст в буфер:
(requireActivity().getSystemService(CLIPBOARD_SERVICE) as ClipboardManager).apply {
setPrimaryClip(ClipData.newPlainText("название", "ваш текст для копирования"))
}
Gitlab-runner проблема с двойным путем на Windows
Проблема - по дефолту система пытается найти файл по “двойному” пути: “/c/GitLab-Runner/C:/GitLab-Runner/builds/… CI_SERVER_TLS_CA_FILE” и в итоге выдает ошибку: No such file or directory
Решение: поменять путь до working-directory.
В теории все просто, а на практике пришлось потратить достаточно много времени, чтобы выяснить, как это правильно записать.
При этом очень важно, как именно пропишите путь. К примеру просто “C:\GitLab-Runner\builds” не сработало (и другие похожие вариации на эту тему).
Правильно будет так:
builds_dir = "/c/GitLab-Runner/builds"
[runners.custom_build_dir]
enabled = true
В некоторых системах может помочь такая запись:
builds_dir = "//c/GitLab-Runner/builds"
SQL: как удалить записи с длиной текста менее х символов
delete from my_table where length(custom_column_name) < 3;
Данный пример удалит все записи из таблицы my_table где содержимое колонки custom_column_name менее 3х символов.
Как скачать содержимое сайта в файл (PHP)
Код для скачивания html страницы в файл:
file_put_contents("test.html", fopen("https://sitename.ru", 'r'));
где test.html - название сохраняемого файла, https://sitename.ru - URL страницы
На что заменить SQL_CALC_FOUND_ROWS?
Чем заменить SQL_CALC_FOUND_ROWS?
С применением SQL_CALC_FOUND_ROWS код выглядит примерно так:
SELECT SQL_CALC_FOUND_ROWS * FROM table WHERE quantity > 50 LIMIT 30;
SELECT FOUND_ROWS();
Этот же код без SQL_CALC_FOUND_ROWS:
SELECT * FROM table WHERE quantity > 50 LIMIT 30;
SELECT COUNT(*) FROM table WHERE quantity > 50;
Смысл в том, что сначала делается запрос с лимитом, а затем - COUNT(*), но уже без ограничений.
Как получить суммарный размер папки по SSH
Команда, с помощью можно получить суммарный размер папки по SSH:
du -sh folderName
где folderName - название папки, размер которой необходимо посчитать.
Как создать DateTime из timestamp (PHP)
Допустим, есть переменная $timestamp в которой содержится timestamp какой-то даты.
Есть несколько способов, как получить DateTime.
Самые простые:
//1:
$dateTime = new DateTime('@' . $timestamp);
//2:
$dateTime = DateTime::createFromFormat('U', $timestamp);
Laravel Dusk: как сделать так, чтобы видеть, что происходит в браузере
Во время использования тестов Laravel Dusk иногда полезно глазами посмотреть, что происходит в браузере. Сделать это достаточно просто.
Достаточно закомментировать режим '--headless'. Для стандартного тестового случая это находится по адресу:
\Tests\DuskTestCase::driver
Пример:
$options = (new ChromeOptions)->addArguments(collect([
$this->shouldStartMaximized() ? '--start-maximized' : '--window-size=1920,1080',
])->unless($this->hasHeadlessDisabled(), function ($items) {
return $items->merge([
'--disable-gpu',
// '--headless',
]);
})->all());
Postgres + OSM проблема с двоеточиями в названии колонок
Если вы пробуете сделать запрос в таком виде:
SELECT name:en
FROM planet_osm_polygon poly
WHERE …
И получаете такую ошибку:
ERROR: syntax error at or near ":"
То решить ее достаточно просто, достаточно заключить проблемное название колонки в двойные кавычки:
SELECT "name:en"
FROM planet_osm_polygon poly
WHERE …
Как получить первый день предыдущего месяца DateTime (PHP)
Все просто, достаточно одной строчки кода:
$monthStart = new DateTime("first day of last month");
Selenium двойной клик мышью (PHP)
Пример, как сделать doubleClick мышью при помощи Selenium в PHP:
$action = new WebDriverActions($driver);
$element = $driver->findElement(WebDriverBy::cssSelector('.testClass'));
$action->doubleClick($element)->perform();
Selenium как получить данные от js (PHP)
Чтобы получить данные от выполненного js скрипта в selenium достаточно такого кода:
$js =' return "test";';
$res = $client->executeScript($js);
var_dump($res);
DataTable как узнать видимость колонок (colVis)
Если при применении плагина по контролю за видимостью колонок надо узнать, какие колонки у пользователя видны, а какие- нет, можно воспользоваться этим кодом:
var myTable = $('.table').DataTable(datatableParams);
//...
var info = myTable.columns().visible();
console.log(info);
где datatableParams - параметры инициализации DataTable
CSS: почему не срабатывают условия, описанные в блоке @media
К примеру есть такой CSS с media query:
@media all and (max-width: 850px) {
#myblock{
background: #ff0000;
}
}
И если он правильно подключен к странице, но вдруг не работает, то проверьте, есть ли в html страницы такой код:
<meta name="viewport" content="width=device-width, initial-scale=1.0">
Как привязать связь belongsToMany в Laravel
Допустим есть класс Test
У него есть такое отношение:
public function items()
{
return $this->belongsToMany(Item::class, 'test_type_connection', 'test_id', 'item_id');
}
Сама привязка:
$test = Test::find(24);
$item = Item::find(12);
$test->items()->save($item);
Как получить ID инициализированной на странице DataTable
При условии, что на странице DataTable в единственном экземпляре:
$('.mydatatable').on( 'init.dt', function () {
console.log( $.fn.dataTable.tables()[0].id );
} );
На самом деле используя $.fn.dataTable.tables() можно пройтись по всем DataTable, инициализированным на странице. Только это надо делать после полной загрузки страницы, в данном случае событие поставлено после завершения инициализации DataTable и мы уже знаем ее класс (поэтому практического смысла тут нет,просто приведено ради примера)
Как отследить срабатывание фильтра в DataTable
Иногда необходимо предпринять какие-либо действия, когда пользователь что-то фильтрует в DataTable.
С этим поможетакой код:
$('#myDatatable ').on( 'search.dt', function () {
//do something
} );
При myDatatable этом объявлен где-то ранее в коде:
new DataTable('#myDatatable');