centos6からubuntu20.04へ引越しました

背景

centos6をvpsで使っていたのですが、2020/11/30でサポート終了とのことで、osを入れ替えようと思いつつ、やっと引越しを完了しました。サポートが切れたまま、ずいぶんほったらかしてしまった。その時のことを備忘で書きます。

osの選択肢

centosを使っていたので、centos8にしようと思っていたのですが、突如、centosプロジェクトが終了となり、centos8も2021/12/31までのサポートとのことで、centosはやめました。ならば、osは何がよいのか?いろいろ調べた中、arch linuxを使ってみようと思い至りました。

arch linuxとは

シンプルでミニマムな設計で、ローリングリリースとのことで、今起きているようなバージョン問題で迷わないで済むこと、余計なものがなさそうというところが気に入りました。 www.archlinux.jp

arch linuxのインストールで詰んだ

で、archlinuxをインストールしようとしたのですが、パッケージインストールのための鍵の更新ができず、詰みました。

鍵の更新に失敗

$ sudo pacman-key --refresh-keys

鍵の更新に失敗する場合は、鍵管理パッケージを更新とあるが、これも失敗

$ sudo pacman -S archlinux-keyring

こんなのを参考に色々やってみたわけですが、、(涙) qiita.com

ubuntuどうでしょう

arch linuxのインストールを頑張るか、やめるか考えていましたら、ubuntuはosアップグレード(メジャーバージョンの更新)ができるというじゃないですか。ubuntuでも、同じosをずっと使えるではないか。ということで、試しにubuntuを入れてみましたら、すんなりできてしまったので、もうこれにしました。vpsで用意されているubuntuは16.04。最新化は1コずつアップグレードするので、18.04にして、20.04にしました。20.04のサポート期限は2025年4月。ちなみに、centosもアップグレードできるらしいが、今まで動いていたものに影響なくできるのかどうなのか怪しいところ。未検証だが、そもそも開発が終わってしまっている。linuxのメジャーバージョンアップって、入れ直さないといけないものかと思っていたよ。

サーバの設定

主に以下の設定をしました。

ssh

ポート番号を変更して、パスワードログインを禁止。鍵認証のみログインできる。

パッケージインストール

apache2でphpを動かしたいので、以下を入れました。結構少なく済んだ印象。よく使うgit、vim、tmuxは最初から使えるようになっていた。

apache2, php, php-fpm, php-mbstring, php-xml, php-sqlite3, zip, unzip, postfix, sasl2bin

apache2

セキュリティが厳しくなりつつある昨今、httpsじゃないとだめみたいなことになってきているので、自己証明書だけどhttpsの設定をしました。chromeでセキュリティ警告が出たら「thisisunsafe」と入力すると見れるようになる。

メール

このページを参考にpostfixの設定をしました。動いたけれど、細かいところはよくわかっていない。 www.server-world.info

所感

結局、arch linuxのインストールはどうすればよかったのか。arch linuxをインストールできなかったのは残念ですが、最新osをキレイな状態でインストールできてよかったです。当面はubuntuを使っていきます。

macbook air 2020を買いました

私、macbook air(11inch, Mid 2011)を使っていまして、充電はすぐに切れるし、osもサポートされなくなったし、起動時に必ず一瞬エラー画面が出るわで、買い換えたかったのですが、悪評高いバタフライキーボードに抵抗があり、マジックキーボードに変わったのを機にやっと買い換えました。

しかし、9年も使えたんですね、大したものです。

で、またmacbook airにしました。proと迷いましたが、普段使いでそこまでの高スペックは必要ないかといったところです。Touch Barも欲しくない。

 

CPUをクアッド、メモリを16GBにカスタマイズしたかったのですが、どこで買ったら安いかをいろいろ調べた結果、ヨドバシカメラにしました。

ヨドバシカメラが、カスタマイズ有り、店舗ポイント有りで、最も安く購入できます。(私調べ)

 

他はこんな感じ。

家電量販店は、ポイントはもらえるけれど、カスタマイズはない。

apple storeは、カスタマイズはできるけれど、ポイントがもらえない。

 

ということで、私の買ったmacbook airはコレです。

f:id:nby2ki:20200921180028p:plain

 

apple storeでは存在しないストレージのカスタマイズ「SSD 256GB」があり、さらに安く買うことができました。

f:id:nby2ki:20200921180524p:plain

 

 

apple storeのストレージは「SSD 512GB」から。apple storeよりも柔軟な選択が可能なヨドバシ。なぜなのか?

f:id:nby2ki:20200921180200p:plain

 

デメリットはすぐに買えなかったことと、注文してからも異様に時間がかかったことです。実際に発売したのは2020/3/27で、2020/6/29に注文していますが、3ヶ月くらいヨドバシストアではカスタマイズができませんでした。(カスタマイズ済みのものはあったのだが)そして、配送まで1ヶ月。時間が許容できる人にはおすすめ。

 

うーん、遅い。忘れたころに届きました。次の型が発表されてしまうかと思ったよ。。

f:id:nby2ki:20200921181054p:plain

 

ゴールドポイントは5%付与で、7414ポイントです。高額商品のバックは大きい。ポイントで何を買おうか。

 

使い心地は、かなりスペックアップしたこともあり、今のところ超快適です。でも、充電アダプタがマグセーフでなくなってしまったのと、過去使用していたapple idでストアにログインしたら、インストールしていないアプリの更新を通知してくるのが残念。インストール済みかどうかくらいチェックしてくれないものか。

とはいえ、十分よい買い物ができました。また、長く使いたいです。

 

ヨドバシ Macノートパソコン通販

https://www.yodobashi.com/category/19531/47027/ 

10才からはじめるゲームプログラミング図鑑

表題の書籍を読みました。子ども向けのスクラッチ入門です。小学校のプログラミング教育必修化ということで、私もいつか子どもに教えたいと思い、興味を持ちました。

8コの異なるタイプのゲーム作成しながら、スクラッチを学ぶという内容です。段階的に新しいことに触れられるようになっていて、構成が上手いです。普段は、ゲームプログラミングなどしないので、新鮮な気持ちで学べましたが、10才の子がこれをどう理解するのかまでは、想像が及びませんでした。書籍のプログラムを公開しましたので、どんなものか気になる方は、見てみてください。こういうのが、作れます。

scratch.mit.edu

書籍はスクラッチのバージョンが2.0で書かれているのですが、現在、バージョンは3.0になっていまして、ブロックの書き方が多少異なるところがあるので、書き方で困っている方に参考になるかと思います。と思ったら、バージョン3.0対応版が出ているではないか!

なんてこったい。こっちが欲しかったな、、

クラッチは、ゲームを作るための仕組みが豊富に用意されていて、自由度が高く、2Dのものなら、なんでも作れるでしょう。ブロックという命令をつないで、プログラムを作っていくので、プログラムに馴染みのない人にはわかりやすそうですが、プログラムに馴染みのある人には、テキストのプログラムと違って、検索ができないから、可読性どうなの?とも思いました。処理をスプライトごとに作っていくので、処理がいろいろなところに存在することになり、複雑なものは読める気がしないなあと思ったり、、あとは、SNSにもなっていて、自分の作成したものを公開して、コメントをもらったり、フォローしたり、交流も盛んに行われているのも面白いですね。私も早速、中学生と友達になりましたよ。

本がなくても十分に学べそうなほどに、公式ページのチュートリアルも超充実。

scratch.mit.edu

しかし、膨大な作品が公開されていますね。どうやってこの中から面白いものを見つけるのだろう、、とりあえずの仕組みは理解したので、オリジナルの作品を作って、公開したいと思います。

2020/8/20追記 自作作品作りました。子どもの意見を取り入れつつ、まあ、あまり遊んでくれませんでしたが、、
https://scratch.mit.edu/projects/404557457/

ポケモンずかんを作りました

最近、娘、息子がポケモンばかり観ていまして、仲良くするためにどんなものかと調べていたら、オープンデータがあったので、自分で「ポケモンずかん」を作ってみました。

 

・興味を掻き立てられる参考記事

ポケモンはみんなに愛されているんだなーと再認識。

qiita.com

 

ポケモンオープンデータ

↑の紹介記事からこれを選びました。jsonデータと画像データがあります。

github.com

 

・私が作ったポケモンずかん

141-lab.com

 

今回、利用したライブラリなど

cssリセット

necolas.github.io

 

cssフレームワーク

yahoo!さんが開発。シンプルで好き。

purecss.io

 

・htmlテンプレート

データをhtmlに簡易に埋め込めるんだけど、こういうのはもうvue.jsでよいのではと思ったり。

pure-js.com

 

・アイコン

fontawesome.com

 

・http通信

これは有名なやつなのかな。

github.com

 

ツールチップ

jQuery依存のツールチップが結構あり、非依存で探して良さげだったやつ。

atomiks.github.io

 

・スクロール

エレベーターという名前が面白いね。

tholman.com

 

以上です。

セレクタはquerySelectorを使い、ajaxはaxiosで、もうjQuery使うのはやめようと思ったら、jQuery依存ライブラリというのがたくさんあって、使える非jQuery依存ライブラリをまとめたらよいのではないかと思いました。jQueryって、そんなに積極的に使いたくないですよね?

 

ポケモンずかんは、公式サイトの情報量が素晴らしいので、断然こっちを見たほうがよいです。私は、今回、ポケモンずかんを作って、ポケモンの属性は最大2ということと、世代があるということを覚えました。

zukan.pokemon.co.jp

tileを使ってみました

前の会社を辞めたときに、同僚からtileをいただきまして、使い始めましたので、その使用感を報告します。(島田くん、みているかい?)
tileは、スマートトラッカーといって、失くしたくないものに一緒に付けておくと、スマートフォンからそれがドコにあるかわかるというものです。
いかにも、IoTって感じですよね。米国でシェアNo.1なのだそうで、よいものをありがとうございました。

thetileapp.jp

 

tileでできること
スマートフォンからtileの音を鳴らす
・tileからスマートフォンの音を鳴らす
・最後に検知した場所を表示
・他のユーザに探してもらう
 
仕様としては、Bluetoothで30m以内が探索可能な範囲なので、鍵や財布など、近くにあるはずだけれど、ドコに置いたっけ?みたいなものに付けておくようです。
また、Bluetoothの範囲を超えてしまった場合は、最後に同期していた場所が分かるようになってるので、探し物が最後に同期していた場所から移動していなければ、辿ることができます。
さらに、それでも見つからない場合は、他のユーザに探してもらうことができるようですが、それが財布だった場合、帰ってくるのでしょうか?どれだけの人が探してくれるのでしょうか?
モラルやユーザ数の問題があるのではないかと思います。

 

私は、鍵も財布も同じ場所に置きますし、失くすようなこともなく、恩恵がないかなと思い、思い切って子どもに付けてみました。
息子3歳、云うことは聞かず、ちょこまかと動き回り、迷子になることしばしばという困った年ごろです。
 
紐をつけて、首かけスタイル(普段は服の中へIN)

f:id:nby2ki:20190311231117j:plain

 

スマートフォンから位置確認

f:id:nby2ki:20190311231311j:plain


範囲が30mなので、本当にドコかへ行ってしまうと探しようがないのですが、ショッピングモールなど、人ごみの中、ちょっと見失ってしまったというような場合に、場所が分かり、迷子を阻止することができました。
出かけるとき、少し安心。

 

GPSだと便利なんですけどね、GPSのサービスは月額利用料がかかります。

本当に、子どもの見守りをする場合は、こういったサービスを利用します。

tileは手軽に利用できますね。

vue.jsでwebアプリケーションを作った

以前、ruby on railsで「午後ローデータベース」というwebサイトを作成したのですが、これをvue.js + laravelで、SPAとして作り直しました。

gogoro.141-lab.com

 

以下のライブラリを利用しました。

・フロントエンドフレームワーク

vue.js

jp.vuejs.org

 

cssリセット

CSS Tools: Reset CSS

 

cssフレームワーク

Kube CSS & JS Framework

 

・トースト通知

github.com

 

・アイコン

fontawesome.com

 

webフレームワーク

laravel.jp

 

vue.jsを利用した感想としては、処理がシンプルに記述でき、コード量がかなり少なく済んだことが、一番印象に強いです。htmlタグにvue.jsの機能を属性として書いていくのですが、従来の作り方だと、イベントを拾って、domを丸ごと置き換えていくようなところを、vue.jsでは、domの構造をそのまま記述できるので、プログラムの見通しがよくなり、この新しさは、作っていて、単純に面白かったです。あと、フロントエンドフレームワークは、Angularを少しやったことがあるんですが、それと比較して、とても分かりやすいというところも、よかったので、気に入りました。今後も使っていきたいと思います。

 

ニッチな情報を取り扱っているので、アクセスの少ないサイトなのですが、web apiも公開しましたので、みなさま、ぜひ利用してください。

統計ダッシュボードAPIの活用

埼玉県三郷市の統計データをグラフ表示するアプリケーションを作成しました。

 

三郷市の統計

 

総務省統計局のサービス「統計ダッシュボード」の公開APIを使って、データを取得しています。

「統計ダッシュボード」は、グラフ表示できるデータが予め整理されていますが、このサイトからは、存在するデータ全てをグラフ表示することができます。

地域が、埼玉県三郷市なのは、私が住んでいるからです。

 

ライブラリの構成は、先日、作成した「統計ダッシュボードAPIテストフォーム」と同じで、グラフ表示は、highchartsを利用しました。

se-diary.hateblo.jp

 

www.highcharts.com

 

highchartsは、簡単にきれいなグラフが描けて、素晴らしいライブラリでした。

商用でなければ、無償で利用することができます。

本家サイトのグラフ表示はd3.jsを使っていて、かなりプログラムが作りこまれているようでした。