Uncategorized – BlackCrystal https://blackcrystal.net/en/ Show what you can. Learn what you don't Tue, 28 May 2019 11:22:51 +0000 en-US hourly 1 https://wordpress.org/?v=5.4.2 https://blackcrystal.net/wp-content/uploads/2015/03/cropped-bc-logo-big-32x32.png Uncategorized – BlackCrystal https://blackcrystal.net/en/ 32 32 Лайвхаки коммандной строки https://blackcrystal.net/en/uncategorized/lajvhaki-kommandnoj-stroki/ Tue, 07 May 2019 20:23:16 +0000 https://blackcrystal.net/?p=750 Сохраняет список графических файлов, площадь которых меньше 100000 пикселей

( find jpg_renamed/ -name '*.jpg' | xargs -L1 identify -format "%[fx:w*h] %d/%f\n" | awk '$1 < 100000 { print $2 }' > to_delete.txt ) 2> errors.txt

Если неопознанные как графика файлы не нужны, можно обойтись только тем что в скобках

]]>
Оптимальная настройка Mysql https://blackcrystal.net/en/uncategorized/optimal-naya-nastrojka-mysql/ Sat, 04 Mar 2017 11:05:25 +0000 https://blackcrystal.net/?p=385 [:ru]Конфигурационные параметры по умолчанию в Mysql рассчитаны на небольшие базы данных, работающие под малыми нагрузками на скромном железе. Настройка некоторых параметров может повысить производительность Вашей базы данных в несколько раз.

Процесс оптимальной настройки Mysql состоит из двух частей — первоначальная настройка и корректировка параметров во время работы. Корректировка параметров в рабочем режиме во многом зависит от специфики Вашей системы и ее мониторинга — тут особых правил не существует. Для стартовой настройки есть ряд рекомендаций.

Откройте файл настроек mysql, например:

sudo nano /etc/mysql/my.cnf

Самые распространенные параметры, которые следует подстроить под нужды Вашего проекта и конфигурацию железа приведены ниже.

key_buffer_size

Если Вы используете только MyIsam таблицы, устанавливайте это значение в 30%…40% всей доступной оперативной памяти на сервере. MyIsam использует кеш операционной системы для данных, поэтому учтите, что оставшаяся свободная память понадобится именно для этого. Если же MyIsam таблиц у Вас немного и их совокупный размер маленький — оставьте это значение в пределах 32M.

innodb_buffer_pool_size

Если Вы используете только InnoDB таблицы, устанавливайте это значение максимально возможным для Вашей системы. Буфер InnoDB кэширует и данные и индексы (а кеш операционной системы не используется), поэтому значение этого ключа стоит устанавливать в 70%…80% доступной памяти.

Если Ваш сервер работает на Линуксе или Юниксе, не забудьте установить параметр innodb_flush_method в значение “O_DIRECT”, чтобы избежать избыточного кеширования на уровне ОС.

innodb_log_file_size

Обратите внимание на этот параметр, если у Вас предусматривается большой показатель записей. Чем больше размер этого ключа, тем более эффективно будет происходить запись данных. Но учтите, что при этом увеличится время восстановления системы! Этот параметр обычно устанавливают в 64M-512M.

innodb_flush_log_at_trx_commit

Этот параметр в значительной степени влияет на скорость работы (записи) innoDB таблиц. Значение “1” означает, что любая завершенная транзакция будет синхронно сбрасывать лог на диск. Значение “2” делает то же самое, только сбрасывает лог не на диск, а в кеш операционной системы. Это значение подойдет в большинстве случаев, т.к. не выполняет дорогой операции записи после каждой транзакции. При этом лог пишется на диск с задержкой в несколько секунд, что весьма безопасно с точки зрения сохранности данных. Значение “0” даст наибольшую производительность. В этом случае буфер будет сбрасывать в лог файл независимо от транзакций. Устанавливайте этот параметр в “0” на свой риск, т.к. в этом случае риск потери данных возрастает.

table_cache

Этот ключ определяет память, выделяемую для хранения открытых таблиц. Если у Вас несколько сотен таблиц, устанавливайте это значение в 1024. Если же у Вас огромное количество соединений, увеличивайте постепенно это значение, т.к. для каждого соединения храниться отдельная запись.

thread_cache_size

Этот параметр помогает избежать операций создания/уничтожения потоков при соединении к серверу. Установите этот параметр в 16 и наращивайте по мере потребности. Проверяйте показатель “Threads_created”, идеально он должен быть равным нулю:

mysql> show status like 'threads_created';
+-----------------+--------+
| Variable_name | Value |
+-----------------+--------+
| Threads_created | 423312 |
+-----------------+--------+

query_cache_size

Значение этого параметра определяет сколько памяти стоит использовать под кеш запросов. Не увлекайтесь установкой огромных значений. Кеш запросов не должен быть большим, т.к. mysql будет съедать ресурсы на управление данными в кеше. Начните с 32М…128М, и увеличивайте по мере необходимости.

Самое важное

Никогда не работайте с настройками по умолчанию. Это приведет к неиспользованию большинства ресурсов сервера. Правильная настройка MySQL может повысить производительность базы данных в несколько раз. Это позволит не только ускорить работу приложения но и справиться с большой нагрузкой.

Источник ruhighload.com[:]

]]>
А какая у вас платформа виртуализации? https://blackcrystal.net/en/uncategorized/kakaya-sistema-virtualizatsii-ispol-zuetsya/ Fri, 10 Feb 2017 18:03:03 +0000 https://blackcrystal.net/?p=359 [:ru]

Раньше не приходилось задаваться таким вопросом, но вот свершилось. И я прям немного застрял с поиском названия платформы виртуализации на наших облачных серверах. Поэтому, вот памятка для себя.

Linux:

dmesg | grep -i hypervisor

Windows:

systeminfo | findstr /i model

[:]

]]>
Включение/выключение touch устройств в Ubuntu 14.04 https://blackcrystal.net/en/uncategorized/vklyuchenie-vy-klyuchenie-touch-ustrojstv-na-laptope/ https://blackcrystal.net/en/uncategorized/vklyuchenie-vy-klyuchenie-touch-ustrojstv-na-laptope/#respond Thu, 18 Aug 2016 18:56:57 +0000 http://www.blackcrystal.net/?p=238 [:ru]Для выключения тачпада, порой мешающего набору текста, на моём стареньком Dell Latitude была классная комбинация функциональной кнопки с какой-то из верхнего ряда клавиатуры, прекрасно работало и в целом было полезно. Создатели Dell Inspiron 13 7000 почему-то об этом забыли, очень жаль. К тому же, добавился экран, в который иногда тыкают пальцами указывая что-нибудь, при этом нажимая всё подряд. В общем, захотелось мне эти излишества время от времени выключать.

Погуглив тему, я узнал что не все йогурты одинаково полезны способы работают с моим тачпадом, но точно работает вот этот:

$ xinput
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Logitech M705 id=10 [slave pointer (2)]
⎜ ↳ ImPS/2 Elantech Touchpad id=15 [slave pointer (2)]
⎜ ↳ DLL06FD:01 04F3:300F UNKNOWN id=13 [slave pointer (2)]
⎜ ↳ ELAN Touchscreen id=12 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Power Button id=8 [slave keyboard (3)]
↳ Sleep Button id=9 [slave keyboard (3)]
↳ Integrated_Webcam_HD id=11 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=14 [slave keyboard (3)]
↳ Dell WMI hotkeys id=16 [slave keyboard (3)]

$ xinput disable 12
$ xinput disable 13

Методом тыка, я нашёл необходимые мне устройства и отключил их.

Самое время поставить находку в более удобное для использования место, а также заставить его выключаться и включаться. Создаю файл /usr/bin/touch-toggle с содержимым:

#!/bin/sh
# This shell script is PUBLIC DOMAIN. You may do whatever you want with it.

TOGGLE=$HOME/.touch-toggle

if [ ! -e $TOGGLE ]; then
touch $TOGGLE
xinput disable 12
xinput disable 13
notify-send -i /usr/share/icons/HighContrast/256x256/status/touchpad-disabled.png "Touch toggle" "Disabled Touchpad and Touchscreen"
else
rm $TOGGLE
xinput enable 12
xinput enable 13
notify-send -i /usr/share/icons/HighContrast/24x24/devices/input-touchpad.png "Touch toggle" "Enabled Touchpad and Touchscreen"
fi

Установив на него права исполняемого файла, можно убедиться что всё работает.

$ sudo chmod a+x /usr/bin/touch-toggle
$ touch-toggle

disabled-touch-devices

В настройках клавиатуры System settings / Keyboard settings / Shortcuts добавлю новую комбинацию с названием “Touch Toggle” и командой touch-toggle.

disabled-touch-devices-2

С возможностью включить и выключить тач устройства, работать на лаптопе стало намного приятнее.[:en]There was ability to turn off touchpad, that disturbs me sometimes when i am typing on Dell Lattitude notebook. It was simple combination of Fn key with one of numeric. Authors of Dell Inspiron 13 7000 forgot to implement it. Additionnaly, now we have touch screen that client always tries to touch while point me something on screen. Anyways, i want to disable that features sometimes, and i want to make it in Ubuntu.

Googling this sublect gave me few commands. Not all of them works on my notebook, here is what is works:

$ xinput
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Logitech M705 id=10 [slave pointer (2)]
⎜ ↳ ImPS/2 Elantech Touchpad id=15 [slave pointer (2)]
⎜ ↳ DLL06FD:01 04F3:300F UNKNOWN id=13 [slave pointer (2)]
⎜ ↳ ELAN Touchscreen id=12 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Power Button id=8 [slave keyboard (3)]
↳ Sleep Button id=9 [slave keyboard (3)]
↳ Integrated_Webcam_HD id=11 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=14 [slave keyboard (3)]
↳ Dell WMI hotkeys id=16 [slave keyboard (3)]

$ xinput disable 12
$ xinput disable 13

Thsis is how i found necessary devide and turned it off.

It’s time now to put it to a better place, make usable and allow toggle between on/off. Let’s create script /usr/bin/touch-toggle with contents:

#!/bin/sh
# This shell script is PUBLIC DOMAIN. You may do whatever you want with it.

TOGGLE=$HOME/.touch-toggle

if [ ! -e $TOGGLE ]; then
touch $TOGGLE
xinput disable 12
xinput disable 13
notify-send -i /usr/share/icons/HighContrast/256x256/status/touchpad-disabled.png "Touch toggle" "Disabled Touchpad and Touchscreen"
else
rm $TOGGLE
xinput enable 12
xinput enable 13
notify-send -i /usr/share/icons/HighContrast/24x24/devices/input-touchpad.png "Touch toggle" "Enabled Touchpad and Touchscreen"
fi

Set execute permission and try it.

$ sudo chmod a+x /usr/bin/touch-toggle
$ touch-toggle

disabled-touch-devices

In System settings / Keyboard settings / Shortcuts i am adding new shortcut with name “Touch Toggle” and a command touch-toggle.

disabled-touch-devices-2

It’s much better now.[:]

]]>
https://blackcrystal.net/en/uncategorized/vklyuchenie-vy-klyuchenie-touch-ustrojstv-na-laptope/feed/ 0
Восстановление файлов после git rm -rf . https://blackcrystal.net/en/uncategorized/vosstanovlenie-fajlov-posle-git-rm-rf/ https://blackcrystal.net/en/uncategorized/vosstanovlenie-fajlov-posle-git-rm-rf/#respond Wed, 17 Aug 2016 18:07:59 +0000 http://www.blackcrystal.net/?p=233 [:ru]Обычно я так не делаю, но вот приключилось. Ситуа: после долгого рабочего дня перенасыщенной событиями рабочей недели, решаю наконец сделать коммит многострадального нового функционала.

Так получилось, что ни правильно оформленного бренча, ни промежуточных коммитов я не делал, просто искал варианты с какой стороны подступиться к заданию и в итоге, практически его выполнив, делаю коммит:

git add .
git commit (aborted, что-то лишнее добавил)
(добавил это что-то в gitignore)
git rm -r -f . (на автопилоте ляпнул -f вместо --cached)

Убило все рабочие файлы, включая изменённые. Перед глазами пронеслось всё что накодил за эти пару недель. В день по три копейки, конечно, но в итоге многовато. Восстанавливать из файловой системы стрёмно и маловероятно, ходил-бродил боясь дунуть на компутер…

И тут меня осенило: Local history в IDE – функция которая есть и в Netbeans и в Idea, которая просто существует и никогда особо не используется. В один момент всё было восстановлено при помощи неё, уровень адреналина медленно спадает, с этим приходит блаженство и счастье.

PS: Это была история из разряда “как делать не нужно”, о том “как быть в случае”. Поскольку выход из ситуации не явный решил об этом написать, возможно кого-то это спасёт.

А вообще, почаще делайте коммиты и отдыхайте.[:]

]]>
https://blackcrystal.net/en/uncategorized/vosstanovlenie-fajlov-posle-git-rm-rf/feed/ 0