Об Actor Model от автора

   

Хорошее видео про Actor Model от автора концепции. Правда, на английском, но если владеете и вам интересна модель акторов, то очень рекомендую посмотреть.

MySQL в Docker через supervisord

     

Крутится тут у меня небольшой контейнер с LAMP стэком (Apache, PHP, MySQL внутри одного контейнера вместе с supervisor). И в последнее время периодически стал вылетать MySQL (стал наедаться памяти). Помогала только ручная перезагрузка контейнера. Добавить памяти был не вариант (сама машинка ограниченная по ресурсам). Пробовал зашедулить в крон перезагрузку контейнера, но работало это плохо. Поэтому решил сделать что-нибудь чтоб жило само и без перезагрузок. Получилось так:

Проблема, как я уже сказал, ввиду ограниченных ресурсов виртуальной машинки - mysql хочет выделить блок памяти, но не может и поэтому падает совсем. Так как на диске место есть поколдуем так. Создадим специальный swap файлик:

dd if=/dev/zero of=/opt/swap.dat bs=1024 count=512k
mkswap /opt/swap.dat
swapon /opt/swap.dat
vim /etc/fstab

Файлик /etc/fstab отредактируем так, надо добавить в него такую строчку

/opt/swap.dat      none    swap    sw      0       0

Далее подредактируем конфиг mysql

vim /etc/mysql/my.cnf

Уменьшим размер буфера

innodb_buffer_pool_size=64M 

И далее пересоберем контейнер и перезапустим. 2 недели - полет нормальный. И да - эта инструкция как заставить работать на слабых конфигурациях. Может работать неоптимально с точки зрения производительности.

Шрифт Consolas в Ubuntu

 

Найдено тут, здесь в кратком изложении.

Задача - установить шрифт consolas (моноширный шрифт для разработки, очень приятный на вид) в Ubuntu, для целей разработки. Он по-умолчанию есть в Windows, но в Ubuntu по понятным причинам его нет.

Делаем так

sudo apt-get install font-manager
sudo apt-get install cabextract

Далее создаем скрипт, который скачает и распакует шрифты

nano consolas.sh

Содержимое

#!/bin/sh
set -e
set -x
mkdir temp
cd temp
wget http://download.microsoft.com/download/E/6/7/E675FFFC-2A6D-4AB0-B3EB-27C9F8C8F696/PowerPointViewer.exe
cabextract -L -F ppviewer.cab PowerPointViewer.exe
cabextract ppviewer.cab

Выполняем

chmod +x consolas.sh
./consolas.sh

Устанавливаем шрифт Consolas

cd temp
font-manager

Шрифт Consolas содержится в таких файлах

  • CONSOLAB.TTF - Жирный (bold)
  • CONSOLAI.TTF - Курсив (italic)
  • CONSOLA.TTF - Обычный (regular)
  • CONSOLAZ.TTF - Жирный курсив (bold italic)

Полный Debug log сборки в Xcode

 
   

Иногда прям очень надо посмотреть что было не так во время сборки проекта Xcode’ом, оказывается есть полный debug log в DerivedData, достать можно так:

путь: ~/Library/Developer/Xcode/DerivedData/<YOURAPP>/Logs/Debug/

Вообще файлы .xcactivitylog - это просто gzip архивы, можно распаковать их так:

cd ~/Library/Developer/Xcode/DerivedData/<YOURAPP>/Logs/Debug/
EXT=".xcactivitylog"
for LOG in *.xcactivitylog; do
    NAME=`basename $LOG $EXT`
    gunzip -c -S $EXT "${NAME}${EXT}" > "${NAME}.log"
done

Кроме собственно Debug логов там есть и Build логи

Разбираемся со Spotlight

   

Начал тут у меня тормозить хакинтош. Пошел разбираться в чем проблема, оказалось что львиную долю ресурсов жрет Spotlight (процессы mds, mds_store, mdworker). Так как Spotlight’ом пользуюсь в основном для того, чтобы открыть Xcode (что можно сделать и другими способами), решено было как-то умерить его аппетиты.

Первое что можно попробовать - это просто выключить у него все индексирование, так

sudo mdutil -a -i off

Эта команда отключить индексирование на всех разделах, которые у вас есть. Можно отключать частями так

sudo mdutil -i off /Volume/Your_Volume_Name_Here

Кроме этого можно удалить имеющийся индекс так

sudo mdutil -E /Volume/Your_Volume_Name_Here

И снести данные Spotlight

cd /
sudo rm -fr .Spotlight-V100