CircleCIではcircleciコマンドをインストールすることで、ローカルのPCから`.circleci/config.yml`ファイルの定義に基づいたジョブの実行を行うことができます。 ローカルでのテスト中でターゲットのサーバへログインするために、sshのキーファイルをdock...


2019年より始まる新しい元号を予測して出力するPHPのプログラムです。 機械学習などの複雑なロジックは使っておらず、Unicodeの知識さえあれば理解できる簡単なプログラムです。 ## プログラム ```language-php


CentOS 7.xで空いているポートを調べる

2019年3月16日 | カテゴリ: Linux | タグ:
CentOS7で空いているポートはssコマンド(socket statistics)で確認できます。 TCPポートを確認したい場合は以下のようにコマンドを実行すれば良いです。 この例ではPort80, 22, 25, 3031, 3032がオープンしています ```language-bash $ ss -nat State ...


下記のスクリプトで、dockerコンテナ内でipコマンドを実行してIPアドレスを取得し、取得結果をbash変数に代入できます。 ```language-bash $ CONTAINER_NAME=nginx01 $ IP_ADDRESS=$(docker container exec -it $CONTAINER_NAME ip a s eth0 | grep i...


CentOS7でサーバ自身のIPアドレスを取得して変数に格納する方法です。 下記のコマンドではeth0インターフェースに割り当てられたアドレスを取得しています。 ```language-bash HOST_IP_ADDR=$(ip addr show eth0 | sed -nE -e 's/ *inet ([0-9.]*).*/\1...


python3.xの環境で、wikipediaのページを読み込み、htmlの内容を文字化けせずに画面に出力させる方法です。 今回はcchardetという文字コードの自動認識を行えるpipパッケージを使ってみます。 ## パッケージのインストール ```language-bash php3 ...


Dockerを使って、使い捨てのMySQL5.7サーバを起動する方法です ## MySQLの起動 rootのパスワードはランダム生成し、アプリケーション用のユーザ名とパスワードは起動時に指定します。 ```language-bash $ docker run \ --name mysql \ -p 13...


## 設定の変更 - ebsから、該当ボリュームにチェックを入れる - アクション->ボリュームの変更 - サイズを変更する ## 変更の確認 - 説明のタブを開き、状態が"in-use Complete"になっていることを確認 - "in-use Optimizing(xx%)"の状態でも...


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を使用して、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スクリプトからこのような事を行いたい場合、PHLAK/Colorizerパッケージが役に立ちます。 PHLAK/Colorizerパッケージでは、文字列を...


山田 暢彦さんが書いた"英会話に必要な瞬発力を身につける NOBU式トレーニング 実践編"という書籍を使った、英語学習の仕方について説明します。NOBU式トレーニングにはもう一冊、緑の表紙の入門編がありますが、本記事で説明しているのは、以下のオレンジ...


sshのキーファイルのfingerprint値が知りたい場合h、ssh-keygenコマンドに-lと-fを指定することで出力させることが可能です。最近のssh-keygenコマンドはSHA256の値を出力してくれるのですが、外部サービスに登録したキーを確認したい時など、場合によって...


適当なファイルを作って、下記の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をインストースました。 CentOS7の場合、特に何も指定しないとMariaDBがインストールされてしまうので、pre_taskでrpmパッケージの指定といくつかの変数を書き換える必要がありました。 ```lang...


Ansibleのgeerlingguy.gitを使うと、gitパッケージをインストールすることができます。 ですが、このroleではgitに加えて、git-svnもインストールされてしまいます。 git-svnのインストールが不要な場合は、playbookを以下のように書くことでgitコマン...


Ansibleでサーバをプロビジョニングする際、データベースのパスワードなどの取り扱いに注意を要する機密情報を扱う場合があります。 Ansibleで機密情報を管理したい場合ansible towerなどの別プロダクトを使う方法もあるのですが、簡単に情報管理したい...


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を使ってインストール ...


CentOS 7.xのサーバを構築し、一般ユーザにパスワードなしでsudoできるようする方法です。 ## wheelグループに所属するユーザはパスワードなしでsudoできるようにする rootユーザでvisudoコマンドを実行し、/etc/sudoerのファイルを編集します ``...


[ssh]秘密鍵から公開鍵を作る

2018年11月23日 | カテゴリ: テック系 | タグ:
ssh-keygenでキーペアを作ったけど、秘密鍵だけ持っていて公開鍵を無くした時に秘密鍵から公開鍵を作る方法です。 当たり前ですが、公開鍵から秘密鍵を作ることはできません(作れてしまったらsecret keyの意味がないので...) ```language-bash # 作...


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ログインするときのSSHキーファイルを指定する方法です。 ## inventory()でファイルを指定する場合 inventory()メソッドを使ってサーバの接続情報を管理7得る場合は、以下のように、iden...


mac版のExcel for 2011で図形を貼り付ける時に、をセルに合わせて位置合わせ配置(グリッドに合わせる)したかったのですが、windows版のExcelの操作方法が違ったので手順をメモしておきます。 ## 作業手順 まず、`メディアブラウザ`の`図形`タブから、...


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; } }); # 登...


macのターミナルソフトであるiTerm2では、センターボタンでのクリップボードの内容をペーストすることができます。通常は便利なのですが、本番サーバで作業しているときなどこれが原因で操作を誤ってしまう危険もあります。 このような場合は、iTerm2の...


sshコマンドでは、キーファイルのデフォルトは`~/.ssh/id_rsa`となっており、デフォルトの名称を使用する場合は、sshコマンドを実行する場合にキーファイル名を指定する必要がありません。 ですが、複数のサーバを管理しているときなど、キーファイル...


今回は、前回作成した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領域を追...


gcpのf1-microインスタンスは、条件を満たすことで無料枠 (Always Free Products)として使用することができます。ですが、swap領域が設定されていないと、メモリが少ないためデフォルトの状態では行えることが制限されてしまいます。 そこで今回、以...


macOSのようにWindowsのスペースキー両横についている"変換/無変換キー"を使って、日本語入力のOn/Offの切り替えを行う方法です。 ## 設定の変更手順 ウィンドウ右下の入力切替アイコンを右クリックし、"プロパティ"をクリックします。 ...