Просьба оставить комментарий





Если вам понравился или не понравился топик. Я что то забыл или не дописал, то вы можете оставить свой комментарий и я постараюсь исправить это в ближайшее время.

суббота, 23 декабря 2017 г.

Ошибка bower Your project can stop working at any moment because its dependencies can change. Prevent this by migrating to Yarn

При попытке найти пакет в боуэр вылезла такая бяка

...psst! Your project can stop working at any moment because its dependencies can change. Prevent this by migrating to Yarn: https://bower.io/blog/2017/how-to-migrate-away-from-bower/

То есть боуэр теперь мертв и надо переезжать на Yarn чем придется сейчас заняться. По результатам отпишусь

суббота, 9 декабря 2017 г.

Массовый инсерт в базу данных Eloquent

Очень просто сделать массовую вставку в Laravel с использованием Eloquent или построителя запросов.

Вы можете использовать следующий подход.


 $data = array(
    array('user_id'=>'Coder 1', 'subject_id'=> 4096),
    array('user_id'=>'Coder 2', 'subject_id'=> 2048),
    //...
);


 Model::insert($data);
DB::table('table')->insert($data);

четверг, 30 ноября 2017 г.

Дамп базы данных в архив и восстановление из архива gzip, bz2


Результат mysqldump - это плоский текстовый файл, содержащий команды sql, используемые для восстановления баз данных / таблиц mysql, которые были сброшены. Обычно результат mysqldump сжимается (в обычных резервных копиях), потому что размер полученного файла обычно большой, и на таких текстовых файлах достигаются хорошие коэффициенты сжатия. Чтобы сделать это вручную с помощью gzip, мы просто запускаем:

gzip -v outputfile.sql

Этот быстрый совет показывает, как вы можете запускать ту же самую вещь «на лету» только с одной командой, напрямую сжимающей полученный файл. Это может быть полезно в ситуациях, когда пространство является проблемой, и полный дамп не может быть сохранен на доступном хранилище напрямую из-за его размера. Также может быть полезно не запускать его в 2 командах и иметь одну компактную команду (возможно, она также используется в некоторых сценариях резервного копирования и т. Д.),

mysqldump <mysqldump options> | gzip > outputfile.sql.gz

<mysqldump options> опции например -uroot -pXXXXXX database

При восстановлении из сжатого файла мы можем сначала распаковать его вручную:

gunzip -v outputfile.sql.gz

или снова мы можем работать в той же командной строке mysqldump и gunzip:

gunzip < outputfile.sql.gz | mysql < mysql options>

То же самое можно сделать с помощью сжатия bzip2:


Выгрузка базы с упаковкой в архив

mysqldump <mysqldump options> | bzip2 > outputfile.sql.bz2

<mysqldump options> опции например -uroot -pXXXXXX database


Восстановление из архива

bunzip2 < outputfile.sql.bz2 | mysql < mysql options>


Из моего собственного опыта я бы не рекомендовал использовать bzip2 для
этого, потому что, даже если сжатие лучше, время запуска его на больших
файлах будет намного дольше, чем gzip (в 6-10 раз дольше). Но если вы
нуждаетесь в каждом куске пространства, и не волнует, что это займет
гораздо больше времени, то bzip2 - это решение для вас.  

пятница, 17 ноября 2017 г.

Установка Elasticsearch на Homestead

Получаем права суперпользователя
sudo su

Создаем файл с таким содержанием
#!/bin/bash
echo ">> Installing Elastic GPG Key"
wget -O - http://packages.elasticsearch.org/GPG-KEY-elasticsearch | apt-key add -

echo ">> Adding deb package"
echo "deb http://packages.elastic.co/elasticsearch/2.x/debian stable main" | sudo tee -a /etc/apt/sources.list.d/elasticsearch-2.x.list

echo ">> Updating apt"
add-apt-repository ppa:webupd8team/java
apt-get update

echo ">> Pre-agreeing to Oracle License"
echo debconf shared/accepted-oracle-license-v1-1 select true | \
  sudo debconf-set-selections
echo debconf shared/accepted-oracle-license-v1-1 seen true | \
  sudo debconf-set-selections
 
echo ">> Installing Java and Elastic Search"
apt-get -y install oracle-java7-installer elasticsearch

echo ">> Java Installed"
echo ">> Elastic Search Installed"

echo ">> Scheduling Elasticsearch"
update-rc.d elasticsearch defaults 95 10

echo ">> Starting Elasticsearch"
/etc/init.d/elasticsearch start

echo ">> Running on port 9200. Make sure to add a firewall rule if you need external access."

Делаем скрипт исполняемым

chmod u+x filename.sh

Запускаем

./filename.sh

четверг, 9 ноября 2017 г.

Настройка monit для получения почты через сервер яндекса

Настройка monit для получения почты через сервер яндекса

set mailserver smtp.yandex.ru port 587
        username "root@domain.com" password "password"
        using tlsv1

четверг, 19 октября 2017 г.

Решение проблемы «/var/run/mysqld/mysqld.sock не найден»

sudo mkdir /var/run/mysqld

создаём папку, в которой должен лежать файл сокета;
sudo mkfifo /var/run/mysqld/mysqld.sock

создаём сам сокет командой mkfifo (хотя сокет — это тоже файл, создавать его можно только специальной программой — mkfifo);

sudo chown -R mysql /var/run/mysqld

устанавливаем владельцем папки /var/run/mysqld пользователя mysql.
 

среда, 30 августа 2017 г.

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

Создание нового приложения без expo

react-native init Имя_Проекта

Запуск меню на физическом устройстве для включения Live Reloading

adb shell input keyevent 82

Билдим приложение для андроид

react-native run-android

Запуск сервера

npm start

Запуск эмулятора через командную строку по имени образа

./emulator -avd Nexus_5_API_24

Запуск сборщика APK файла

cd android && ./gradlew assembleRelease

Форматировение React-Native кода в Atom

1. apm install prettier-atom
2. restart Atom
3. CTRL+Alt+F

Для публикации нужно отредактировать файлы

../[appname]/android/app/build.gradle
../[appname]/android/app/src/main/java/com/[appname]/MainApplication.java
../[appname]/android/app/src/main/java/com/[appname]/MainActivity.java

Название приложения под иконкой редактируем
app/src/main/res/values/strings.xml

При ошибке
ioctl(KVM_CREATE_VM) failed: 16 Устройство или ресурс занято
failed to initialize KVM: Устройство или ресурс занято
нужно выгрузить драйвер виртуалбокса из памяти
service vboxdrv stop

Отладка при крашинге
adb logcat "*:E"

воскресенье, 20 августа 2017 г.

пятница, 11 августа 2017 г.

Решение require(vendor/autoload.php): failed to open stream

При обновлении composer пакетов возникла ошибка

require(vendor/autoload.php): failed to open stream

для решения нужно выполнить composer install

пятница, 9 июня 2017 г.

Сохранение пароля при Git Pull

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

git config --global credential.helper 'cache --timeout=2628000'
 
Таким образом пароль можно не вводить в течении месяца 

суббота, 22 апреля 2017 г.

Вывести содержимое конфигов без комментриев

Чтобы вывести содержимое конфигов без комментриев используем такую строку

cat www.conf | grep -v '^;' | grep -v ^$

Этот способ актуален для вывода конфига для php-fpm

Само собой для других в которых используется символ решетка(#) строка будет такой

cat www.conf | grep -v '^#' | grep -v ^$

среда, 8 февраля 2017 г.

Переезд с php 5 на php 7

Переезд с php5 на php 7

Обновляем sources.list

echo -e 'deb http://packages.dotdeb.org jessie all \ndeb-src http://packages.dotdeb.org jessie all' >> /etc/apt/sources.list

Скачиваем ключи и добавляем их

wget https://www.dotdeb.org/dotdeb.gpg
apt-key add dotdeb.gpg
 
Обновляем репы
 
apt-get update 

Ставим пакеты
apt install php7.0-fpm php7.0-cli php7.0-curl php7.0-gd php7.0-intl php7.0-mysql php7.0-mcrypt php7.0-imagick php7.0-mbstring php7.0-soap php7.0-xml

Обновляем конфиги хостов на nginx

ищем и меняем строку

fastcgi_pass unix:/run/php/php7.0-fpm.sock;

Перезапускаем nginx

service nginx restart
 
По тестам скорости особой не увидел как заявляют, но памяти действительно кушает меньше процентов на 20-30

понедельник, 30 января 2017 г.

Исправление Sub-process /usr/bin/dpkg returned an error code (1)

cd /var/lib/dpkg/info
rm vmware-server.*
apt-get -f install

В результате удаляются пре- и постинсталяционные скрипты, мд5-сумма пакета и файллист.
В /var/cache/apt/archives у меня ничего не было. Но на всякий случай, можете залезть туда и тоже там почистить всё что относится к зависшему пакету.