## 設定の変更
- ebsから、該当ボリュームにチェックを入れる
- アクション->ボリュームの変更
- サイズを変更する
## 変更の確認
- 説明のタブを開き、状態が"in-use Complete"になっていることを確認
- "in-use Optimizing(xx%)"の状態でも...
テック系の記事一覧
[python]配列をn件ごとの塊に分ける(チャンク化)
2019年2月15日
| カテゴリ: python
pythonで配列に入ったデータをn件ごとの塊に分ける方法です。
パッケージのインストール
```language-bash
pip install more-itertools
```
スクリプト
```language-python
from more_itertools import chunked
ary = [1,2,3,4,5,6,7,8,9]
...
MySQLで0xe2,0x80の改行を除去
2019年2月15日
| カテゴリ: MySQL
MySQLで改行を含むデータから、改行除去するする場合REPLACE()関数を使用することが多いです。
\rや\nといった改行コードに加えて0xe2,0x80といった特定の文字コード列を除去したい場合は、以下のようにchar()関数を組み合わせることで対応できます。
...
Laravel+vue.jsでエラー"Use of undefined constant message"が出る時
2018年12月23日
| カテゴリ: Laravel
Laravelでvue.jsを使用して、vuejs.orgの"はじめに"に書かれている"Hello Vue!"を表示させようとすると、下記のエラーが出ることがあります
- 作成したhtmlの例
```language-html
{{ message }}
```
- エラーメッセージの例
```langua...
IOCCC 2015 endoh2.cの仕組み
2018年12月15日
| カテゴリ: clang
|
IOCCC 2015で公開されているendoh2.cの仕組みを確認した時のメモです。
IOCCCというのはThe International Obfuscated C Code Contest(国際難読化Cコードコンテスト)の略で
## デモ動画
endoh2.cがどんなプログラムかは、下記のYoutube動画をみると...
[PHP]composer self-updateでSHA384 is not supportedエラーが出る場合にする事
2018年12月2日
| カテゴリ: composer
PHPのcomposerで、composer自身のバージョンをアップデートしようとself-updateすると、下記のエラーが出る場合があります。
```language-bash
$ composer self-update
Updating to version 1.7.1 (stable channel).
Downloading (100%)
...
[PHP]ユーザ名などの文字列から適切なカラーを自動で生成する
2018年12月2日
| カテゴリ: PHP
複数のデータを扱うプログラムを作る時、各データ系列ごとに適切な色を割り当てて表示させたい場合があります。
PHPスクリプトからこのような事を行いたい場合、PHLAK/Colorizerパッケージが役に立ちます。
PHLAK/Colorizerパッケージでは、文字列を...
山田 暢彦さんが書いた"英会話に必要な瞬発力を身につける NOBU式トレーニング 実践編"という書籍を使った、英語学習の仕方について説明します。NOBU式トレーニングにはもう一冊、緑の表紙の入門編がありますが、本記事で説明しているのは、以下のオレンジ...
[vagrant]macOS Mojaveでvagrant upしたらNS_ERROR_FAILUREエラーになった時に行うこと
2018年12月1日
| カテゴリ: Vagrant
macOSをMojaveにアップグレードした後、vagrantを起動しようとしたら、下記のエラーNS_ERROR_FAILURE (0x80004005)が出力され、起動に失敗しました。
```language-bash
$ vagrant init centos/7
$ vagrant up
Bringing machine 'default' up with 'v...
ローカルのPCからだと`git clone`できるのに、EC2からだと、Exit Code: 128 (Invalid exit argument)のエラーメッセージで異常終了してしまう場合があります。
該当のEC2インスタンスに対して、security groupで全てのポートを閉じている場合、port=22(...
.ssh/authorized_keysに登録したキーをmd5形式(FF:FF:FF...)で表示する
2018年11月30日
| カテゴリ: Linux
|
sshのキーファイルのfingerprint値が知りたい場合h、ssh-keygenコマンドに-lと-fを指定することで出力させることが可能です。最近のssh-keygenコマンドはSHA256の値を出力してくれるのですが、外部サービスに登録したキーを確認したい時など、場合によって...
[PHP]指定されたファイルをURLエンコードするワンライナー
2018年11月30日
| カテゴリ: PHP
適当なファイルを作って、下記のphpスクリプトを実行すると、ファイルの内容がURLエンコードされます。
```language-bash
cat foo.txt | php -R 'echo(urlencode($argn).PHP_EOL);
```
phpコマンドのオプション'-R'は標準入力1行づつに対して指...
[Anki]ヒント付きのカードを作る方法
2018年11月30日
| カテゴリ: Anki
Ankiでfront, backに加えてhint付きのカードを作る方法です。試してみたらうまくいったのでメモがわりに書いておきます。
Ankiはあまり詳しく無いので、他にもっと良いやりかたがあるかもしれません...
## ノートタイプを作る(カードに入れる項目...
Ansibleのgeerlingguy.mysqlで、CentOS7にMySQL8.0をインストールする
2018年11月26日
| カテゴリ: Ansible
Ansibleのgeerlingguy.mysqlを使って、CentOS7にMySQL8.0をインストースました。
CentOS7の場合、特に何も指定しないとMariaDBがインストールされてしまうので、pre_taskでrpmパッケージの指定といくつかの変数を書き換える必要がありました。
```lang...
Ansibleのgeerlingguy.gitでgit-svnのインストールを行わない
2018年11月25日
| カテゴリ: Anki
Ansibleのgeerlingguy.gitを使うと、gitパッケージをインストールすることができます。
ですが、このroleではgitに加えて、git-svnもインストールされてしまいます。
git-svnのインストールが不要な場合は、playbookを以下のように書くことでgitコマン...
Anaibleへの変数をOSの環境変数経由で渡す方法
2018年11月25日
| カテゴリ: Ansible
AnsibleのplaybookからOSの環境変数を参照する方法です。
```language-yaml
- name: show DB_PASSWORD
debug: msg="{{ lookup('env', 'DB_PASSWORD') }}"
```
Ansibleでパスワードなどの機密情報を暗号化して管理する
2018年11月25日
| カテゴリ: Ansible
Ansibleでサーバをプロビジョニングする際、データベースのパスワードなどの取り扱いに注意を要する機密情報を扱う場合があります。
Ansibleで機密情報を管理したい場合ansible towerなどの別プロダクトを使う方法もあるのですが、簡単に情報管理したい...
[Ansible]hello worldのメッセージを出すだけのplaybookを作る
2018年11月25日
| カテゴリ: Ansible
Ansibleでlocalhostに接続し、hello worldのデバッグメッセージを出すだけのplaybookを作ります。これだけでは特に使い道はありませんが、ansible自体がうまく動作しない時などの問題切り分けに役立つかもしれません。
## hello worldを出力する
まず...
[Ansible]playbookを直接実行可能にする
2018年11月24日
| カテゴリ: Ansible
ansibleのplaybookはファイルの先頭に、"#!/usr/bin/env ansible-playbook"の定義を書くことで、paybook自体を直接実行することができます。
以下のように1行目へ"#!から始まるコマンドを追加します。
- playbook.yml
```language-bash
#!/usr/bi...
Ansibleのコマンドをインストールして、サーバ定義を行いコマンドの実行を試してみる方法です。
## インストール
pythonのパッケージとしてインストールする
```language-bash
$ sudo pip install ansible
```
virtualenvを使ってインストール
...
[Linux]作成したユーザをパスワードなしでsudoできるようにする
2018年11月23日
| カテゴリ: Linux
CentOS 7.xのサーバを構築し、一般ユーザにパスワードなしでsudoできるようする方法です。
## wheelグループに所属するユーザはパスワードなしでsudoできるようにする
rootユーザでvisudoコマンドを実行し、/etc/sudoerのファイルを編集します
``...
[ssh]秘密鍵から公開鍵を作る
2018年11月23日
| カテゴリ: テック系
|
ssh-keygenでキーペアを作ったけど、秘密鍵だけ持っていて公開鍵を無くした時に秘密鍵から公開鍵を作る方法です。
当たり前ですが、公開鍵から秘密鍵を作ることはできません(作れてしまったらsecret keyの意味がないので...)
```language-bash
# 作...
AWSやgcpなどで開発用のサーバを立てている場合、費用を抑えるために夜中の間はシャットダウンさせておきたい場合があります。
このような場合、AWSだとサーバレスのlambdaサービスと組み合わせる事例をよく見かけますが、もっと簡単に自動シャットダウ...
Linuxでswapファイルを作成する
2018年11月18日
| カテゴリ: Linux
```language-bash
# 4GBファイルのswapファイルを作成する
sudo dd if=/dev/zero of=/swapfile bs=1M count=4096
sudo sh -c 'chmod 600 /swapfile; mkswap /swapfile; swapon /swapfile; free'
```
[PHP]Deployerでデプロイ時にSSHキーファイル名を指定する方法
2018年11月18日
| カテゴリ: Deployer
PHPのデプロイツールであるDeployerで、ターゲットのサーバへSSHログインするときのSSHキーファイルを指定する方法です。
## inventory()でファイルを指定する場合
inventory()メソッドを使ってサーバの接続情報を管理7得る場合は、以下のように、iden...
CircleCIでPHPのプロジェクトをDeployerを使用してデプロイメントしようとすると、下記のエラーが出る場合があります。
```language-bash
Deploying master on 11.22.33.44
done on [11.22.33.44]
Executing task deploy:prepare
[11.22.33.44] > ech...
[php]composer installコマンド実行時に、ProcessTimedOutExceptionエラーが出る時
2018年11月4日
| カテゴリ: composer
composer installコマンドを実行した時に、以下のようにProcessTimedOutException例外が発生して、パッケージのインストールが失敗することがあります
```language-bash
> composer install
...
[Symfony\Component\Process\Exception\ProcessTime...
Excel for Mac 2011で図形をセルに合わせて配置する
2018年11月4日
| カテゴリ: Mac
|
mac版のExcel for 2011で図形を貼り付ける時に、をセルに合わせて位置合わせ配置(グリッドに合わせる)したかったのですが、windows版のExcelの操作方法が違ったので手順をメモしておきます。
## 作業手順
まず、`メディアブラウザ`の`図形`タブから、...
MongoDBで"ReferenceError: getNextSequence is not defined"エラーが出る時
2018年11月4日
| カテゴリ: MongoDB
MongoDBを使用していて、インターネット上にあるサンプルコードをコピペして実行すると、ReferenceError: getNextSequence is not definedエラーが発生することがあります。
これは、MongoDBにはも元々getNextSequence()という関数が存在していないた...
MongoDBでユーザ定義関数を登録する
2018年11月4日
| カテゴリ: MongoDB
MongoDBでは、以下のようにdb.system.js.save()関数を使うことで、ユーザ定義関数を登録することができます。
```language-js
# 関数を登録
db.system.js.save({
_id: "echoFunction",
value : function(x) { return x; }
});
# 登...
[Deployer]サブディレクトリに存在するphpプロジェクトを"composer install"したい時
2018年11月4日
| カテゴリ: Deployer
phpのデプロイメントツールにDeployerというものがあります。
最近のphpプロジェクトでは、アプリケーションのデプロイメントでcomposerによるパッケージのインストールや、キャッシュのクリアなど行うべき作業が色々増えてきています。Deployerを使う...
iTerm2でセンターボタンでのペースト機能を無効化する
2018年11月4日
| カテゴリ: Mac
|
macのターミナルソフトであるiTerm2では、センターボタンでのクリップボードの内容をペーストすることができます。通常は便利なのですが、本番サーバで作業しているときなどこれが原因で操作を誤ってしまう危険もあります。
このような場合は、iTerm2の...
sshコマンドでは、キーファイルのデフォルトは`~/.ssh/id_rsa`となっており、デフォルトの名称を使用する場合は、sshコマンドを実行する場合にキーファイル名を指定する必要がありません。
ですが、複数のサーバを管理しているときなど、キーファイル...
[gcp]ダッシュボードのAPIにapi/request_count:consumed_api:REDUCE_SUMが表示される
2018年11月4日
| カテゴリ: gcp
## Stackdriver > Documentation > Monitoring > GCP Metrics List
- api/request_count
```language-x
Metrics from Cloud Tasks
API requests
DELTA, INT64, 1 Count of Cloud Tasks API calls. Sampled every 60 seconds.
After sampling,...
Laravelでプロジェクトを作成して、プログラムを実行しようとすると下記のエラーが発生する場合があります。
```language-bash
UnexpectedValueException
The stream or file "/path/to/storage/logs/laravel.log" could not be opened:
failed to op...
gcpのf1-microインスタンスにLaravelをインストール
2018年11月3日
| カテゴリ: Laravel
今回は、前回作成したnginx + phpの環境にLaravelをインストールしてみます。
- [CentOS 7.5のf1-microインスタンスにnginx, php-fpm, php7.2環境を作る](https://akamist.com/blog/archives/3256)
- [CentOS 7.5のf1-microインスタンスにswap領域を追...
PHPのフレームワークであるlaravelをcomposerからインストールしようとすると、以下のようにエラー"laravel/framework vX.X.X requires ext-mbstring"が出ることがあります。
```language-bash
$ /usr/local/bin/composer create-project --prefer-dis...
[gcp]CentOS 7.5のf1-microインスタンスにnginx, php-fpm, php7.2環境を作る
2018年11月3日
| カテゴリ: gcp
gcpで作成したCentOS 7.5のサーバでnginx, php-fpm, php7.2の環境を作る手順です。f1-microインスタンスで作業する場合はメモリが足りなくなるので、事前にswap領域を作っておく必要があります。
## phpとnginxのインストール
```language-bash
# php...
[gcp]CentOS 7.5のf1-microインスタンスにswap領域を追加する
2018年11月3日
| カテゴリ: gcp
gcpのf1-microインスタンスは、条件を満たすことで無料枠 (Always Free Products)として使用することができます。ですが、swap領域が設定されていないと、メモリが少ないためデフォルトの状態では行えることが制限されてしまいます。
そこで今回、以...
pearのインストールで、エラー"Sorry! Your PHP version is too new (7.1.16) for this go-pear."が出た時
2018年9月11日
| カテゴリ: PHP
|
PHPのpearをインストールをインストールしようとして、エラー"Sorry! Your PHP version is too new (7.1.16) for this go-pear."が出た時の解決方法です。
## エラーが出たときのコマンド
以下のように go-pear.phpをダウンロードして実行すると、...
エラー"m3u8 download detected but ffmpeg or avconv could not be found."が出る時
2018年9月5日
| カテゴリ: Mac
youtube-dlコマンドを使って、動画をダウンロードすると下記のエラーが出る場合があります。
```language-bash
$ youtube-dl https://youtube.com/xxxx
ERROR: m3u8 download detected but ffmpeg or avconv could not be found. Please install o...
Windowsの変換/無変換キーでIMEを切り替える
2018年8月19日
| カテゴリ: Windows
macOSのようにWindowsのスペースキー両横についている"変換/無変換キー"を使って、日本語入力のOn/Offの切り替えを行う方法です。
## 設定の変更手順
ウィンドウ右下の入力切替アイコンを右クリックし、"プロパティ"をクリックします。
...
[CircleCI]githubにpushしたらロリポップサーバへ自動デプロイさせる
2018年8月13日
| カテゴリ: CircleCI
ロリポップサーバに展開するファイルをgithubで管理し、プログラムの変更をgithubにpushしたら、その変更内容をロリポップサーバへCircleCIで自動コピーする方法です。
## 設定ファイル
以下の内容で、.circieci/config.ymlファイルを作成します。...
sshでサーバに初めて接続すると、以下のように接続して良いかの確認が表示されます。
対話的に実行している場合はyesとタイプすれば良いのですが、CIから自動実行したい場合は、初めてのサーバも非対話でアクセスしたい場合があります。
```language-bas...
[CircleCI] executing "cacheKey" at エラーが出るとき
2018年8月12日
| カテゴリ: CircleCI
CircleCIを使って、PHPのプロジェクトをCIしようとすると下記のエラーが出る場合があります。
```
Error computing cache key: template: cacheKey:1:19: executing "cacheKey" at
[CircleCI]PHPプロジェクトを実行時に、エラー"circleci/php:7.1.5-browsers not found"が出るとき
2018年8月11日
| カテゴリ: CircleCI
CircleCI2.0でPHPプロジェクトに対してCIを実行しようとしたとき、以下のように"image cache not found on this host, downloading circleci/php:7.1.5-browsers"エラーが出る場合があります。
```language-bash
Build-agent version 0.0.7546-3d4d9eb8 ...
AWS Lambdaのデプロイメント管理ツールであるapexで、環境変数を利用する方法を説明します
## project.jsonの記述
project.jsonでは、以下のように"environment"ノードを作ることができ、この中にハッシュの形でkey-valueを記載することで環境変数を...
## インストール
apexは、下記のコマンドでインストールすることができます。macOSの場合インストール先はデフォルトで/usr/local/bin/apexになります。
```language-bash
$ curl https://raw.githubusercontent.com/apex/apex/master/install.sh | sh
...
ロリポップのレンタルサーバでpythonスクリプトをcron実行できないときに確認すること
2018年7月21日
| カテゴリ: python
ロリポップのレンタルサーバでpythonスクリプトを実行しようとして、sshから直接コマンドを実行すると動くのにcronから自動実行するとうまく動かないことがありました。
`which python`コマンドをそれぞれの環境で実行したところ、以下のように使用して...
cronのスクリプトからpythonのスクリプトを実行しようとしたところ、print()による日本語文字列の出力処理で、下記のエラーが発生した
```language-bash
UnicodeEncodeError: 'ascii' codec can't encode characters in position x-x: ordinal not in ra...
[python]numpyのnp.array()入門
2018年7月20日
| カテゴリ: python
## プログラム
```language-python
import numpy as np
def showNpArray(ary):
x = np.array(ary)
print(x) # オブジェクトのダンプ
print(x.shape) # 各次元のサイズ
print(x.ndim) # 何次元の配列か
showN...
[python3]requests.get()の結果を文字列として取得する
2018年7月16日
| カテゴリ: python
|
pythonでは、requestパッケージを利用することでスクリプトからhttpのリクエストを送信することができます。
requests.get()で実行したたHTTPリクエストに対する応答テキストをstringの文字列として取得したい場合は、戻り値に対してcontent.decode()を...
[python3]os.chmod(dirname, 0755)の実行で、invalid tokenエラーが発生する時
2018年7月16日
| カテゴリ: python
python3の環境で、ディレクトリの権限を変更しようとしてos.chmod()を実行すると、invalid tokenエラーが発生することがあります。
## プログラム
ディレクトリを作成するだけのプログラムです
```language-python
import os
dirname = 'path/t...
pythonでエラー「NameError: name 'true' is not defined」が発生した時
2018年7月16日
| カテゴリ: python
pythonでスクリプトを実行すると"NameError: name 'true' is not defined"エラーが発生することがあります。
エラーになる原因はpythonの真偽値はtrue, falseではなく、先頭が大文字のTrue, Falseであるためで、先頭を大文字にすれば良いです。
## ...
ロリポップでpipパッケージを使うpythonのプログラムを実行する
2018年7月16日
| カテゴリ: クラウド
レンタルサーバのロリポップでは、python2系、3系の実行環境が用意されており、pythonのプログラムを実行させることができます。
今回は、pipパッケージが必要なpythonのプログラムを手元の環境で作成/動作確認し、ロリポップのサーバへ転送して実行さ...
iTuneのデータをWindowsからmacOSに移動する方法[2019年版]
2018年7月15日
| カテゴリ: Mac
|
WindowsのiTuneで管理していた音楽/動画/podcastなどの情報を、macOSに移行させる方法を説明します。
- 参考
- [ゼロからはじめる iTunesスマートガイド](https://amzn.to/2Jx4iMB)
- [iTunes メディアファイルを探して整理する](https://s...
pythonでは、自然言語処理を行うのに便利なライブラリが数多く用意されています。
その中でも有名なNLPライブラリとして、Scikit-Learn,NLTK,Gensim,spaCy,NetworkX,Yellowbrickなどがあります。
## Scikit-Learn
- SciPyの拡張で、機械学習のライブ...
[python]変数がNoneTypeであるかを判定する
2018年7月13日
| カテゴリ: python
pythonで,変数がNoneTypeであるかを判定したい場合、条件式の`is None`を使用すると良いです。
## サンプルプログラム
```language-python
x = None
print(type(x))
if x is None:
print('xはNoneTypeです')
```
## 実行例
```language...
プログラムから発行されたSQLを、MySQLサーバ側で全てロギングする
2018年7月13日
| カテゴリ: MySQL
MySQLを使用しているシステムで、アプリケーション側ではなくmysqldが動作しているサーバ側にて、発行されたSQLを全てロギングしたい場合は、my.cnfに下記の定義を追加します。
ファイル名はなんでも良いですが、一般的に/var/log/の下に置くことが多いで...
vagrantにsshコマンドでログインする時、SSHのKeyファイル名を非対話で取得する
2018年7月13日
| カテゴリ: Vagrant
vagrantでは、`vagrant ssh`コマンドでVM内にsshログインすることができます。
通常はこれで良いのですが、セットアップスクリプトなどの都合で、sshコマンドを使ってログインする必要がある時もあります。
このような場合、vagrantでは`vagrant ssh...