洗濯マークアプリ1.1.0の開発中

洗濯マークアプリのダウンロード数が500を超えたので、新規バージョンを実装しようと思います。次は、旧洗濯マークの対応をしてみます。今回は、その一部を紹介。 アプリの中で表示している洗濯マークは、全て自分で清書(= トレース)しています。端末の解像度に適した画像を表示することで、洗濯マークをきれいに、ギザギザが目立たないように表示するためです。バージョン1.0.0を実装したときはまだ、Adobe Creative Cloudのサブスクリプションを払っていたので、あらゆるマークをIllustratorでトレースしました。しかしながら、現在はサブスクリプションを解約し、Adobeのツールは使えなくなったので、今回はInkscapeを使ってトレースします。 すべてトレースします。Webサイトで見た画像をそのまま使うとジャギーが目立つため。 AndoridではSVGの表示にも対応しているので、Inkscapeで作ったファイルをSVGで保存したら、それをそのままアセットとして使えます。しかし、SVGの表示に対応しているのは、Lolipop(5系)以上のOS。このアプリは、古い端末を使い続けている主婦でも使えるようにと、ICS(4系)から対応しているためSVGは使えません。表示用ライブラリを入れれば良さそうですが、やってません。そのため、各解像度用の画像を出力して、アプリに組み込んでいます。 今日は以上。年内にはアップデートを公開できますように。...

Vue.js続き、SVG

朝勉強したこと Vue.jsのチュートリアル(はじめに)のページの続き(とりあえず終わり、夜か明日の朝からはReactやる) HTMLのインラインSVG触った ...

Vue.jsを触る。

Vue.jsやっている。家で勉強中。 はじめにのセクションにならって、ひとまず触ってみている。 まだ途中なので、今夜、娘が落ち着いていたら、一通りのチュートリアルをやってみる。 それを会社の同僚に話したところ、React勉強したほうがよいとのことだったので、明日の朝からはReactを勉強することにした。...

matplotlib メモ

python使っているので、pythonのライブラリの使い方も勉強せねば。 ビジュアルでわかったほうが、やる気も出やすいので、matplotlibを学ぶ。 とりあえず下のQiitaに従って使ってみた。意外とかんたんだった。 【Python入門】ライブラリmatplotlibの基本的な使い方 ベクトルはnumpyに任せるとすごい楽なのね。 ファイルに出力は、saveメソッドの中で拡張子を指定する。(emf, eps, jpeg, jpg, pdf, png, ps, raw, rgba, svg, svgz, tif, tiff) matplotlib入門 ↑showを読んだあとだと、出力したファイルに何も表示されなくて最初困った。...

Electronで遊ぶ

クロスプラットフォームのデスクトップアプリケーションを作ることのできる Electron で遊んでいる。ひとまず、環境構築まで。 Nodeをインストール 先日Nodeを学んだついでに、nodeをインストール。今回はbrewで入れた。 brew install node Electronをインストール ひとまず、Installationのページを参考に、Electronをインストール npm install electron --save-dev --save-exact 何でもないディレクトリで実行したせいで、package.jsonやら色んな情報がないぞと言われた。 (追記) 何でもないディレクトリでやったせいで、node_modulesのディレクトリが無駄に追加されてしまった。-gのオプションでグローバルにインストールするのでない限りは、プロジェクトのディレクトリで実行する必要がある。(つまり、--save-devのオプションは、いわゆる composer require-dev hogehogeと同じことなのかな) QuickStartのリポジトリをクローン ひとまず遊ぶために、QuickStartのリポジトリをローカルに落としてきた。 今日はそこまで。...

Node.jsがやっとわかった……

最初はSPA的なものを作りたいと思ったんだった。そこから、Firebase使えばAPIとか作らなくて良さそうと思って、じゃあFirebaseの勉強を本格的にやろうと思った所、Node.jsについて知る必要があって、Web上のいろんなリソースを漁ることになった(ガイドに「Node.jsのアプリが必要」って書いてあったから)。いろいろ漁った結果、そもそもFirebaseをWebアプリに組み込んで使いたいと思っていたので、結局のところ、Node.jsについて詳しく知る必要はなかった。 でもいろいろ調べたので、わかったことをメモしておく。 ...

PHPの関数リファレンスが面白い

PHPの関数リファレンスが面白い。(http://php.net/manual/ja/funcref.php) そのなかでもやっぱり、配列の関数一覧が面白い。(http://php.net/manual/ja/ref.array.php) しばしば配列の操作をしようとしたときに、二重for文になってしまったり、for文の中で複雑なif文を書いたりしてしまう。可読性が悪いだけでなく、そもそも実装の意図が見えなくなってしまうことさえある。 実装も見てみたいけど、最近覚えたのがarray_filter。まだ使ってないから、いつか使うタイミングがあったら使いたい関数。 配列操作の関数は他の言語でも充実しているから、新しい言語を覚えるときは、そのあたりもちゃんと使いこなせるようになりたい。...

Python で CSV 入出力

pythonでcsvファイル入出力。pandasを使うのがラクらしいけど、ひとまず型を覚える。 import csv file_in = open('in.csv', 'r') reader = csv.reader(file_in) header = next(reader) file_out = open('out.csv', 'w') writer = csv.writer(file_out, lineterminator='\n') for row in reader: # 何かしらの処理(こんな雰囲気で書けるっぽい) line = [row[0], row[1], 'hoge', 'fuga', 'hige'] writer.writerow(line) file_in.close() file_out.close() 備忘録。...

Pythonのシンタックスチェックに使えるコマンド

pythonで、実行せずにシンタックスエラーを検出したいとき。 python -m py_compile file_name.py コンパイルのコマンドなので、実行後は.pycファイルが出来上がる。 しかし、リストのインデックスのチェックなどはできないので、そこは実行してみるまでわからない。...

入門UNIXシェルプログラミング

入門UNIXシェルプログラミング改訂第2版を最近読み始めたので、メモしながら読み進める。 基本 シェルプログラムの先頭には #!/bin/shを書く。 汎用性を考えると、Bシェルで書く必要がある。 シェルプログラムには、実行権限(xフラグ)を与える コメント #はコメント、\でコマンド中の改行が可能。 ワイルドカードで使える文字 * 文字列全部 ? 1文字 [...] [ ]の中に含まれている文字のどれがひとつ [!...] [ ]に含まれない文字 クォーテーション ここでいうクォーテーションは、スクリプト内での文字の機能を無視させるという意味。 \(バックスラッシュ)でその後ろの1文字をクオート。'(シングルクォート)で囲む。"(ダブルクォート)で囲む。ただし、ダブルクォートで囲んだ場合、その文字列に含まれる$、`(バッククォート)、\の文字をエスケープできない。 $ FILE=foobar $ echo "Cannot remove $FILE" Cannot remove foobar $ echo "Today is `date`" Today is 2017年 10月 4日 水曜日 23時19分14秒 JST ...