Oracle

  • 2017-03-27

Ошибки

Caused by: java.sql.SQLSyntaxErrorException: ORA-00955: name is already used by an existing object

Удаление sequence:

DROP SEQUENCE ids_sequence;
Читать...

Разрешение отображения во фрейме при работе с яндекс-метрикой

  • 2017-02-19

При просмотре firefox'ом данных с вебвизора плагин uBlock может заблокировать отображение сайта во фрейме, с сообщением: Установлен запрет на отображение страницы во фрейме

Для разрешения проблемы нужно добавить эти адреса в белый список:

  • mc.yandex.ru
  • webvisor.com
  • metrika.yandex.ru

Находится он по адресу: Add-ons -> uBlock -> Preferences -> Dashboard -> Whitelist

Читать...

Добавление агрегатных функций в postgresql

К сожалению в стандарте SQL нет возможности посчитать медиану. Для добавление агрегатных функций в postgresql есть любопытное расширение quantile. Для установки нужен только pgxn client. У меня его не оказалось, поэтому сначала поставим этот клиент:

sudo aptitude install pgxnclient 
Читать...

Docker

Работа с образами

Установка образа

docker pull <IMAGE_NAME>
docker pull wnameless/oracle-xe-11g #example

Просмотр всех образов:

docker images

Удаление образа:

docker rmi <IMAGE_NAME>

Работа с контенерами

Просмотр всех контейнеров:

docker ps -a

Запуск:

docker run <IMAGE_NAME>
docker run -d --shm-size=2g -p 49160:22 -p 49161:1521 wnameless/oracle-xe-11g #example
  • -d — запуск контейнера в фоновом режиме, поумолчанию false
  • --shm-size — размер /dev/shm/, g -- размер в гигабайтах
  • -p — публикация порта (порт хоста:порт контейнера)
  • название образа

Переименование:

docker rename CONTAINER NEW_NAME

Остановка:

docker stop <UUID>
docker stop <NAME>

Удаление:

docker rm <UUID>
docker rm -f <UUID> # остановка и удаление контейнера
Читать...

Настройка сертификата для nginx

Защищать соединение будем с помощью сертификатов от Let's Encrypt. Проект был создан для широкого распространения https среди веб-сайтов. В отличии от коммерческих центров сертификации, Let's Encrypt не требует оплаты, но существует ряд ограничений:

  • сертификат выдаётся на 90 дней
  • нет wildcard (сертификат дают строга на один домер)
  • ограничение 5-7 сертификатов в неделю

Огромный плюс Let's Encrypt в том, что процедура выдачи и обновления сертификатов полностью автоматизирована.

Оглавление:

  1. Установка Let's Encrypt
  2. Настройка Nginx
  3. Настройка Let's Encrypt
  4. Донастройка Nginx
  5. Настройка автообновления
Читать...

WildFly

Работа с базами

Postgresql

Добавление драйвера:

module add --name=org.postgresql --resources=/path/postgresql-9.4.1208.jar --dependencies=javax.api,javax.transaction.api 

Регистрация драйвера:

/subsystem=datasources/jdbc-driver=postgresql:add(driver-name="postgresql",driver-module-name="org.postgresql",driver-class-name=org.postgresql.Driver)

Работа с пользователями

bin/add-user.sh -a {username} {password}
bin/add-user.sh -a admin admin # example

Полезные команды

Запуск консоли:

bin/jboss-cli.sh --connect

Просмотр зарегистрированных драйверов:

/subsystem=datasources:installed-drivers-list

Просмотр datasources:

/subsystem=datasources:read-resource(recursive=true)

Выход:

quit
Читать...

Установка и настройка postgresql под ubuntu 16.04

Добавление репозитория

Необязательно, но зато будет последняя версия Подробнее: https://www.postgresql.org/download/linux/ubuntu

sudo bash -c "echo 'deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main' >> /etc/apt/sources.list.d/pgdg.list"
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | \
  sudo apt-key add -
sudo apt-get update 

Установка

sudo apt-get install -y postgresql postgresql-client libpq-dev pgadmin3
Читать...

Ethernet over USB

Протокол для работы сети через usb -- rndis

Для работы с маками есть вот такая штука: https://github.com/jwise/HoRNDIS

Читать...

Генератор случайных чисел

Линейный конгруэнтный генератор

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

$$X_{n+1} = (a X_n + c)~~\%~~m,$$ где $m$ — количество значений из которых формируется последовательность $(2 \leqslant m)$, $\%$ — остаток от деления, $a$ — множитель $(0 \leqslant a < m)$, $c$ — приращение $(0 \leqslant c < m)$, $X_{0}$ — начальное значение $(0 \leqslant X_{0} < m)$.

Пример использования

long seed = 1L;
long a = 25214903917L;
long c = 11L;
long m = (long) Math.pow(2, 48);
Stream<Long> stream = Stream.iterate(seed, x -> (a*x + c) % m);
stream.limit(11).skip(1).forEach(System.out::println);

Первые 10 чисел:

25214903928
206026503483683
245470556921330
105707381795861
-57898044054788
102497929776471
-194212777388010
266094224901481
-237412980546624
-133636318119733
Читать...

Комбинаторика

Основые формулы и обозначения

$K$-сочетания без повторений

$ C^k_n = \frac{A^k_n}{k!} = \frac{n!}{k!(n-k)!} $

Произносится как "$C$ из $ n $ по $k$", иностранное обозначение как $\begin{pmatrix} n \\ k \end{pmatrix}$ "n choose k"

$K$-размещения без повторений

$ A^k_n=n(n-1)\cdots(n-k+1)=\frac{n!}{(n-k)!} $

"$A$ из $ n $ по $k$"

$K$-сочетания с повторениями

$ \overline{C^k_n} = C^k_{n+k-1} $

"$C$ из $ n $ по $k$ с чертой"

$K$-размещения с повторениями

$ \overline{A^k_n}=n^k $

"$A$ из $ n $ по $k$ с чертой"

Бином Ньютона

$(x+y)^n = C^0_n x^n y^0 + C^1_{n-1} x^{n-1} y^1 + \dots + C^n_n x^0 y^n $

Тождества с участием биномиальных коэффициентов

  1. $ C^k_n = C^{n-k}_n $
  2. $ C^k_n = C^k_{n-1} + C^{k+1}_{n-1} $
  3. $ C^0_n + C^1_n + \dots + C^n_n = 2^n $
  4. $ (C^0_n)^2 + (C^1_n)^2 + \dots + (C^n_n)^2 = C^n_{2n} $
  5. $ C^{n-1}_{n+m-1} + C^{n-1}_{n+m-2} + \dots + C^{n-1}_{n-1} = C^{n-1}_{n+m} $
  6. $ C^0_n - C^1_n + C^2_n + \dots + (-1)^n(C^n_n) = \begin{cases} 1, & если & n=0 \
    0, & если & n \ge 0 \end{cases} $

Перестановки

$ P(n_1, ..., n_k) = \frac{n!}{n_1! \cdot ... \cdot n_k!} $

Например, может применятся для подсчета перестановок букв в слове.

Полиномиальная формула в общем виде

$$ (x_1 + x_2 + ... + x_k)^n = \sum_{(n_1,...,n_k): n_i \ge 0, n_1+...n_k=n} P(n_1, ... , n_k) x_1^{n_1} , ... , x_k^{n_k} $$

Формула включений и исключений

$$ N(\alpha_{1}^{'},...,\alpha_{n}^{'}) = N - N(\alpha_{1}) - ... - N(\alpha_{n}) + N(\alpha_{1},\alpha_{2}) + ... + N(\alpha_{n-1},\alpha_{n}) + ... + (-1)^n N(\alpha_{1},...,\alpha_{n}) $$

$ \alpha $ свойство $ \alpha^{'} $ исключающее свойство $ N(\alpha_{n-1},\alpha_{n}) = C_n^2 $

$$ \sum_{k=0}^{n} (-1)^k C_n^k (n-k)^m = 0 $$

Читать...

All: 22