はりうすブログ (のすけのメモ)

湘南にある小さな会社 代表 ”のすけ”のブログです

Nuxt.jsとかメモ

最近は Nuxt.jsでSPAアプリケーション及び、SSRアプリケーションを
構築したりしています。

Vue.jsは以前利用していたknockout.jsに似ていて書きやすい。
cssフレームワークjQueryも併用できるなど相性がいいので気に入ってます。

サイトを作っていく上で、やはりデザインの大切さに気付く
いままでBootstrapで適当に作ってきたが、やはりオリジナルのコンセプトで
サイトを構築していかないと、差別化された世界観の
システムは構築できないのだと痛感しています。


特にボタン回りは課題です。
フラットデザインはいよいよダサくなってきました。
Googleが提唱するマテリアルデザインをより、Googleを超える思想で
実装していくのがカギだと思っています。


Webの世界から離れたら、地球上には解像度の高いマテリアルがあふれています。
水の表現などは良い線いっていますが、土や岩などまだまだ
ほど遠い質感がのこっていて。浮ついていない重厚感あるマテリアルの存在感を
どう表現できるかが、重要だと感じています。


ヒントは質感、反発。


あと文脈はとても大事。
アートの世界でも、ほぼすべてが文脈。
ただ絵を眺めているだけでは受け取れない奥行きがある。
奥行きがあるから、そこに一貫性があり、表現の幅が広がる。


でもいきなり文脈を作るのは愚策だと悟った。
いちどコラージュなどで、体から出てくるフェチズムを前回に出し切ることで、自分が主張したい創造性の方向が分かってくる。
出し切ったフェチズムを客観的に見ること。
これに尽きる。まずはアナログ→客観性→文脈→コーディング。


幸いなことに連携力がましてきたことで探求できる幅が広がりました。
よりリッチで、世界観あふれるシステムを今後も構築してきたい。

そういえば燃料電池作ったよ

重曹で発電した!

ものは全て100円均一で揃えました (ブレッドボードと電源コネクタは別)
f:id:hollywis:20181115104521j:plain

ブレッドボードは前にAliexpressで一個50円くらい?で買ったのと

電源コネクタと発光ダイオード秋葉原のパーツやで300円&30円くらい?で買ったやつです。

別になくてもいいんですけど、気分です。

そして

メイソンジャー的なおしゃれなPET素材の瓶のフタにドリルで穴を開けて

f:id:hollywis:20181115104351j:plain

4Bの鉛筆を両端を2本削って刺して

f:id:hollywis:20181115104436j:plain

中に重曹を入れて。。。

9Vの電気を流したら

f:id:hollywis:20181115104931p:plain

鉛筆の先に泡がボコボコしてきて

それぞれ酸素と水素が発生

f:id:hollywis:20181115104936p:plain

十分に蓄電されたら(5分〜10分くらい?)

f:id:hollywis:20181115105042p:plain

発光ダイオードを繋げてやると

f:id:hollywis:20181115105056p:plain

ピカッっとな!!

自作キーボードキットHelixPico

のすけです。

唐突だけど、キーボード自作します!

もう、PC作業で肩こりがしんどくて、持ち運びできる分離型のキーボードが

欲しかったんだけど、駅前のビックカメラには売ってないし。。。

で、自作キーボードの噂を聞きつけ、遊舎工房さんのHelixPicoを買いました。

f:id:hollywis:20181115101410j:plain

こんな感じで、キーキャップとキースイッチと、キットを買いました。

f:id:hollywis:20181115101346j:plain

そう、半田付け必須です。それも100箇所以上

Arduino Pro Microとか抵抗とか送られてきます。

がんばろう


HelixPico キーボードキット | 遊舎工房

電池ってなんだろう

技術的な文章はかなり時間がかかるので、ここで地球や社会について思うことなど雑記として書いて行こうと思います。

最近ハマっているのが発電・蓄電です。
特に燃料電池にハマっています。

そもそも電池ってなんだろう?と
蓄電ってなんだろう?と

停電すると手も足も出ないじゃないですか。なんとかしたい訳です。
停電したらコンビニに電池を買いにいっても、争奪戦になる訳で、、、
だから、電池ってなんなのか知っておこうと思いました。

iPhoneとかにケーブルを繋いで充電すると、電気が溜まるわけで一日利用できるわけですが
これって実は電気っていうものが溜まっているわけじゃないんですよね。

ただの化学変化で、最近のスマホではリチウムイオン電池っていう最新のものが使われているわけだけど

これって、電池の中でプラス極とマイナス極が2つあって、その間をリチウムイオンが移動する事(酸化還元反応)で

電気を貯めたり、放出したりする現象を利用しているわけ


イオンって?引用します(
リチウムイオン電池の豆知識 - リチウムイオン電池の豆知識
)

イオンとは、電子の過剰または欠損により電荷を帯びた原子(または原子団)のことを言います。リチウムイオン(Li+)は、リチウム原子(Li)が電子(e-)を放出してプラスの電荷を帯びた陽イオンです。リチウムイオンが電解質を通して正極と負極を行き来するときに正極と負極を結ぶ回路に電子の流れ(電流)が発生するので、電池の充電・放電が可能になります。リチウム原子(Li)が電子(e-)を失ってリチウムイオン(Li+)となる反応を酸化、逆にリチウムイオンが電子を得てリチウムに戻る反応を還元反応といいます。

リチウムはすべての元素の中で最もイオン化しやすい(イオン化傾向が強い)元素です。

つまり電荷を帯びたリチウム原子をリチウムイオンっていうわけ。

で、電子が移動する事で、電流が流れるわけです。


で、リチウムイオン電池って最先端の電池なのでちょっと不安定かつ難しいんだよね。

そんなわけで燃料電池がわかりやすくていい

中学校の理科の授業で水の電気分解をやったと思うけど、その逆が燃料電池なんだよね。

だから本当に簡単で、この北ガスのサイトにあるように、家庭で自作できる!
えんぴつで燃料電池を作ろう!|自由研究おたすけガイド|北ガスキッズサイト それいけ!!エネルギー探検団

そんな訳で燃料電池を自作しようかと思っとります。

KUSANAGI@Conohaでオブジェクトストレージ設定のベストプラクティス

こんにちは、のすけです。

KUSANAGIを利用する理由として、今まで利用していたサーバーが遅いので
変えたいという動機が多いかと思います。

しかしながら、前回紹介して方法だと、WordPressKUSANAGIに移行する場合
既存のメディアライブラリの画像などが上手く認識されないなどの問題が出てきました。

hollywis.hatenablog.com


他の方法を模索したところ、別の手法を見つけました。

ConoHaオブジェクトストレージをマウントしてWordPressでのメディア保存先にする | サイト制作覚書

ただ、こちらの手法ですとディスクのマウントに失敗する事が多いため

あれこれと試し、最適な方法を見つけました。

まず、手順通り cloudfuseを入れます。

cloudfuseを入れる

yum -y install \
    libcurl libcurl-devel \
    fuse* fuse fuse-devel fuse-libs \
    libxml2 libxml2-devel openssl-devel \
    gcc gcc-c++ make git curl

git clone https://github.com/redbo/cloudfuse.git

cloudfuseというディレクトリができています。

cd cloudfuse
.configure

jsonのエラーが出たのでjson-c-develをインストール

yum -y install json-c-devel
.configure

make
make install

cd ../
rm -rf cloudfuse

ホームディレクトリ以下に .cloudfuse というテキストファイルを作成する

cd
nano .cloudfuse

内容

username=APIユーザ名
tenant=テナント名
password=APIパスワード
authurl=https://identity.tyo2.conoha.io/v2.0  (Identity ServiceのURL)
verify_ssl=True

Ctl(controlY)+X Y Enter
で保存します。

マウントテスト

cloudfuseを使ってマウントテストします。とりあえず /mntにマウントします。

cloudfuse /mnt

df -h

f:id:hollywis:20181018163900p:plain

大丈夫なようなら次に進みます。もし問題がある場合は「.cloudfuse」の設置値に問題があるので修正します。

自動マウント

それでは次に重要な自動マウント設定をやります。

私はここの検証にかなりの時間を使ってしまった。

最初は手順通り /etc/fstab を使って設定したのですがうまく自動マウントされなくてハマってしまいました。

その他、crontabの@rebootで、再起動後のスクリプトでcloudfuseコマンドを打ったりしたのですが、特定のユーザアカウントでは参照できるが
別のアカウントではドライブが参照できないなど、色々と罠に合いました。

結果的に、最初の「/etc/fstab」に設定を入れるのが最適だと判断しました。

ダメだった方法(crontab)

crontabの起動時に一度だけ実行される設定を追加してみました。
crontabに以下を追加

crontab -e

以下を最後の行に追記(xxxxxxのところはご自分のConohaAPIの設定値を入れてください)

@reboot /usr/local/bin/cloudfuse -o nonempty -o username=gncuxxxxxxx,tenant=gnctxxxxxxxx,password=xxxxxxxxx,authurl=https://identity.tyo2.conoha.io/v2.0,verify_ssl=True /home/kusanagi/rsel_terakoya/DocumentRoot/wp-content/uploads

結果、これでは特定のユーザしかディスクが参照できずダメでした。mountのオプション指定でなんとかなるのかもしれませんが、kusanagi
やnginxのユーザのアクセス権など混乱するので、結果的に諦めました。

/etc/fstabとは

OSを起動したときに、この/etc/fstabファイルが参照されます。そうするとそこに書かれている設定値でファイルシステムをマウントします。

例:

# cat /etc/fstab
/dev/hda1 / ext2 defaults 1 1


・1列目:デバイスファイル名
・2列目:マウント場所
・3列目:ファイルシステムの種類(ext2,ext3など)
・4列目:オプション
・5列目:dumpでバックアップするかしないか。(0 or 1) ext2ext3は1を指定する。
・6列目:システム起動時にファイルシステムチェック(fsckチェック)する順番を指定 (0,1,2) 0の場合はチェックしない 。ルートファイルシステムは1にしないといけない。

cloudfuseを/etc/fstabに設定数する

という事で /ect/fstabを使っていきました

# cd /home/kusanagi/( kusanagi_provision_name )/DocumentRoot/wp-content/

kusanagi_provision_nameにはKUSANAGIをセットアップ下際のプロジビジョン名を入れます

次にupulodsに変わるマウントポイントとなるディレクトリを作ります。(ex: cos)

# mkdir cos

# vi /ect/fstab 

一番下の行に次を追加します

/usr/local/bin/cloudfuse /home/kusanagi/( kusanagi_provision_name )/DocumentRoot/wp-content/cos fuse username=gncuxxxxxxxx,tenant=gnctxxxxxxxx,password=xxxxxxxxx,authurl=https://identity.tyo2.conoha.io/v2.0,verify_ssl=True,auto,_netdev,defaults,umask=001,allow_other      0 0

説明:cloudfuseでcosをマウントします。

usernameやtenant,passwoed,authurl, verify_sslは.configureと一緒ですね.

あとは、autoでmount -aで自動マウントするように。_netdevでネットワーク接続語にマウントを実行するオプションを指定

重要なのは,umaskで001を指定する事で,chmodの776と同じくなります。003でも良いかもしれません。

設定したら、うまくいくか確認します。

mount -a

何も表示されなければokです。

dfコマンドで、マウントを確認します。

df -h


よければ再起動して、テストします。

reboot

再起動後、ログインしてdfで再度確認します。

df -h

こんな感じでマウントされて入ればOKです。
f:id:hollywis:20181029150329p:plain


WordPressのメディアの参照先を変える

このままでは、「uploads」を参照してしまうので、作成した「cos」を参照するように変更する必要があります。

管理画面にログインし、URLを「/wp-admin」
から
「/wp-admin/options.php」に移動します。

するとWordPressのオプション設定画面にいくので
以下の設定を入れます。

WP options設定

upload_path wp-content/cos

upload_url_path https://object-storage.tyo2.conoha.io/v1/nc_(テナントID)

※upload_url_pathについては環境によって違うかもしれません。Cyberduckにアップロードしたファイルを選択して右クリックした際に、「URLをコピー」をクリックして取得したURLの最後のファイル名を除いたURLを設定します。

おまけ Cyberduckにアップしたファイルが参照できない場合

自分のPCのconoha-ojsをインストールします。

GitHub - hironobu-s/conoha-ojs: CLI-tool for ConoHa Object Storage


インストール後、認証して

conoha-ojs auth -u "gncuxxxxx" -p "xxxx" -t "xxxxxxx" -a "https://identity.tyo2.conoha.io/v2.0"

公開したいディレクトリを公開設定します
例:2017と2018を公開させる

conoha-ojs post -r ".r:*" 2017
conoha-ojs post -r ".r:*" 2018

ConoHaのKUSANAGIで追加ディスクやオブジェクトストレージを設定する

こんにちは、のすけです。
前回、conohaで高速WordPress実行環境であるKUSANAGIを動かす記事を書きました。

hollywis.hatenablog.com

とても速くて快適なのですが、1つ問題があります。

それはディスク容量です。初期設定でルートドライブがSSD50GBになっており
多少、心もとないのが実情です。

そこで、cohohaのサービスを使ってその問題を解決します。

方法は2パターン

  1. 追加ディスクを購入してマウントする
  1. オブジェクトストレージを使う

それではざっくりと順番に説明していきます。

追加ディスク

conohaには追加ディスクと呼ばれるSSDを追加で利用する機能があります。

2018年10月現在 200GBだと 2,500 円/月 ( 3.5 円/ 時間 )で利用できます。

また、500GBだと4,500 円/月 ( 6.3 円/ 時間 )で利用できます。

作成方法

追加SSDの設定方法|ConoHa VPSサポート

VPSの「ディスク」メニューから追加することができます。

f:id:hollywis:20181011151256p:plain

「新規ディスク」を選んで、名前を適当につけて「追加」を押すだけです。
ちなみに保存したディスクイメージも利用できるようです。

そして、ディスクの画面から任意のVPSに接続させます。「接続先」の項目が未接続になっていると思いますので、そこを任意のVPSを選んであげます。

そうすると、VPSから認識可能になります。

追加ディスクのマウント

パーティションを初期化します

parted -s -a optimal /dev/vdb -- mklabel msdos mkpart primary ext4 1 -1

ファイルシステムを作成します(この例ではext4)

mkfs.ext4 /dev/vdb1

マウント先のディレクトリを作成します(ここでは/home/kusanagi/dataにマウントするものとします)

cd /home/kusanagi/
mkdir data

ここで、マウント先を/home/kusanagi/DocumentRoot/wp-content/uploadsみたいな感じに¥にすれば、ファイルのアップ先を追加ディスクにすることもできそうです。
(未検証)

マウントを実行します

mount /dev/vdb1 /home/kusanagi/data


確認します。

df -h

次のような結果になってれば成功です。

/dev/vdb1             197G   60M  187G   1% /home/kusanagi/data

オブジェクトストレージ利用

オブジェクトストレージとは

ConoHaのオブジェクトストレージは、インターネット経由で使用できるオブジェクトストレージサービスです。
容量無制限、転送量無制限、可用性が高いストレージサービスを、わかりやすい価格体系で利用できます。ConoHaのVPSサービスから利用することはもちろんですが、ConoHaを 利用していなくても利用することができ、APIを経由してウェブ上のどこからでもデータを保存、取得することができます。

また、ConoHaオブジェクトストレージは、一般的なオブジェクトストレージの機能を満たしつつ、ConoHaのVPSからも簡単に利用でき、コントロールパネルが共通なため管理が簡単で、決済などもまとめることができます。

AmazonAWSのS3みたいなやつですね。違いとしてはデータ転送に課金されないのでConoHaの方がお得です。


オブジェクトストレージに適したデータは

  • 画像ファイル
  • 動画ファイル
  • バックアップファイル

なので、まさにWordPressのアップロードデータをオブジェクトストレージに突っ込んであげればいい感じになると予測できます。

ちなみに適していないデータは

オブジェクトストレージに適していないデータ

  • データベース(SQLiteのような1ファイルに書き出すものや、RDBMSのデータファイル)
  • リアルタイムに書き込みのあるログファイル
  • 頻繁に更新のあるキャッシュファイル

では設定していきましょう。

Conoha APIの有効化

まずVPSの「API」メニューからConohaのAPIを有効にします。

そうすると、テナント情報、エンドポイントが書かれていると思います。

あとで利用するので覚えておきます。

WordPressプラグイン「ConoHa Object Sync」を使う

有志の方がプラグインを作ってくれていますので、ありがたく利用させていただきます。

WordPressの管理画面からメディアを追加すると、自動的にオブジェクトストレージにアップロードを行います。オブジェクトストレージは容量無制限なため、空き容量を気にすること無くメディアファイルを扱うことができます。

また、このプラグインはメディアファイルのURLを変更し、オブジェクトストレージから直接配信するように設定します。これにより、WordPressを運用しているサーバに負荷をかけずに、メディアファイルを配信することができます

WordPressの管理画面から新規追加で「ConoHa Object Sync」で検索してインストール&有効化します。

設定値

ConoHa Object Syncの設定画面で設定を入れていきます。

ここでかなり悩んだのですが、次のように入れると正しく動きました。

APIアカウント名:テナント情報のテナント名を入れる
APIパスワード:設定したパスワードを入れる
テナントID:テナント情報の長いIDを入れる
Auth URL:API情報のエンドポイントの「Identity Service」のURLを入れる
リージョン:「Identity Service」のURLについてる「tyo2」みたいなのを入れる
サービス名:「Object Storage Service」と入れる
コンテナ名:任意(URLに利用される)

追加設定

KUSANAGIの初期状態だと、ファイルがアップロードできませんでした。


アップロードしよとすると「最大アップロードサイズ: 0 B」になっていました。

そこでWordPressのアップロード可能サイズを変更します

php

vi /etc/hhvm/php.ini

次のように変更

upload_max_filesize = 400M 
post_max_size = 512M 
memory_limit = 512M 
hhvm.enable_zend_ini_compat = false

nginx系ファイル
(xxxxはkusanagiでプロヴィジョニングした名前)

vi /etc/nginx/nginx.conf 
vi /etc/nginx/conf.d/xxxx_http.conf 
vi /etc/nginx/conf.d/xxxx_ssl.conf

次のように変更

client_max_body_size     400M;

最後にKUSANGI(dbとかnginxとか)をリスタートして設定を反映させます。

kusanagi restart

そしてwordpressからアップロードしてみると次のようなURLでアップされました。

https://object-storage.tyo2.conoha.io/v1/nc_[apiのID]/[コンテナ名]/[年]-[月]-[ファイル名]

結構読み込み速度も速いのでこのURL直でもいいと思います。もし速度が必要ならCDNを間に入れればより速くなるのではと思います。

オブジェクトストレージはアクセス量の課金はないので安心ですね。いやぁ便利便利。

オブジェクトストレージは3TBまでサイズを変えることができるので、最初は100GB(450円/月)で設定して利用して行けば良いかと思う。

追加ディスクよりこっちの方が圧倒的に安いので、こっちの方が良いかと思います。

おまけ KUSANAGIドメインの再設定方法

ちなみに、設定中にKUSANAGIドメインを再設定したくなったので方法をメモしておきます

ドメイン設定変更(IPやドメインを再設定)

kusanagi setting --fqdn xxx.xx.xx.xx
--fqdnの後ろにIPやドメインを設定

そして、KUSANAGIを再起動させると反映されます。

kusanagi restart
Done.


続き
hollywis.hatenablog.com