しめ鯖日記

swift, iPhoneアプリ開発, ruby on rails等のTipsや入門記事書いてます

docker runで起動したコンテナを削除する

docker runで生成したコンテナの削除方法です。

まずは下コマンドでコンテナ一覧を表示します。
-aオプションを付けることで起動中でないコンテナも表示する事ができます。

docker ps -a

下のようにコンテナ一覧が出てきます。

f:id:llcc:20181103222502p:plain

最後にコンテナIDを指定してrmコマンドを打てば削除する事ができます。

docker rm CONTAINER_ID

下コマンドでコンテナを一括削除することもできます。

docker rm `docker ps -aq`

MacにDockerをインストールして起動する

今更ですがDockerを触ってみました。

Dockerのインストール

Mac版のインストールはdocker storeから行います。
ページ右上の「Please Login To Download」ボタンからログインしてDockerをインストールします。

Docker Store

DockerでHello World

インストールしたらDockerを起動します。

f:id:llcc:20181030224951p:plain

一度起動すればコマンドライン上でDockerを使う事ができます。

f:id:llcc:20181030225027p:plain

まずはHelloWorldをやってみます。

docker run hello-world

ここでunauthorized: incorrect username or password.というエラーが出る場合、下コマンドでログインする必要があります。
この時、メールアドレスではなくログインIDを使ってログインする必要があります。

docker login

ログインした状態でHello Worldコマンドを打つと下のようにDockerが起動します。

f:id:llcc:20181030225600p:plain

DockerでWEBサーバーを立ち上げる

WEBサーバーはこちらのページのNginxを利用しました。

Docker Store

NginxのDockerは下コマンドで起動します。

docker run --name my-nginx -d -p 80:80 nginx

http://localhostにアクセスするとNginxが起動している事が分かります。

f:id:llcc:20181030233459p:plain

起動中のDockerはdocker psコマンドで確認する事ができます。

f:id:llcc:20181030233550p:plain

docker psで表示されるDockerのコンテナの停止はdocker stopコマンドを使います。
xxxxxにはdocker psで表示されたCONTAINER IDを入れます。

docker stop xxxxx

再びコンテナを起動するにはstartコマンドを使います。

docker start my-nginx

自分のコンテナ名は下コマンドで確認する事ができます。

docker container ls -a

コンテナの削除はrmコマンドを使います。

docker rm my-nginx

imgToAsciiでAAを自動生成

imgToAsciiというJSのライブラリで画像をAA化してみました。

github.com

使い方

ライブラリはimgToAscii.jsの1ファイルのみで、100行くらいのシンプルなライブラリです。

<script src="./imgToAscii.js"></script>

下のように画像を指定してdisplayメソッドを呼び出すだけでAAを表示する事ができます。

<script>
  let ele = new imgToAscii('./img.jpg', 0.3);
  ele.display();
</script>

AA化したのは下の猫画像です。
ぱくたそのものを利用しました。

f:id:llcc:20181018185850p:plain

AA化の結果は下の通りです。
綺麗にAAにする事ができました。

f:id:llcc:20181018185925p:plain

imgToAsciiの第2引数はAAの拡大率です。
デフォルトは1なんですが、それだととても大きくなってしまうので0.3にしています。

let ele = new imgToAscii('./img.jpg', 0.3);

AA化の仕組み

仕組みはとてもシンプルで「各ピクセルの色の明るさに応じた文字を割り当てる」という形です。
具体的には明るさに応じて下の文字を割り当てています。
左が一番暗くて右は明るい色です。

["@","%","#","*","+","=","-",":","."," "]

明るさは下の公式を使って算出しています。
rgbは画像のピクセルのRGBの値です。

(r * 0.2126) + (g * 0.7152) + (b * 0.0722)

この公式については下ページが詳しかったです。

グレースケール - Wikipedia

Invalid Document Configuration. という警告が出たときの対処法

Xcodeで下のような警告が出たので調べてみました。

WARNING ITMS-90737: "Invalid Document Configuration. Document Based Apps should support either the Document Browser (UISupportsDocumentBrowser = YES) or implement Open In Place (LSSupportsOpeningDocumentsInPlace = YES/NO). Visit https://developer.apple.com/document-based-apps/ for more information."

対処法

警告に書いてあるとおり、Info.plistにUISupportsDocumentBrowserかLSSupportsOpeningDocumentsInPlaceをセットすれば解決します。

f:id:llcc:20181011184521p:plain

UISupportsDocumentBrowserは他アプリがこのアプリのファイルを操作するためのものです。
LSSupportsOpeningDocumentsInPlaceは他アプリから渡されるファイルに関するキーで、コピーではなく元ファイルを取得できるようになります。

警告が出る原因

Info.plistにDocument typesをセットすると発生します。
Document typesは他アプリからこのアプリを呼び出すときに使うキーです。

f:id:llcc:20181011184604p:plain

iOS12のショートカット アプリを使ってみる

iOS12のショートカットというアプリを使ってみました。

ショートカットとは

様々なiPhone上の行動を自動化できるアプリです。
「特定ワードをTwitterでつぶやく」「クリップボードの内容をメモ帳に入力する」など色々なことができます。

もともとはWorkflowという名前の有料アプリだったんですが、アップルが買収して無料で使えるようになりました。

ショートカットの使い方

ショートカットの使い方は下のとおりです。
まず自分でショートカットを作ってそれを呼び出すという流れになります。

  1. ショートカットを作る
  2. 作成したショートカットを呼び出す

ショートカットを作って実行する

アプリを開くと下のような画面になっています。
ここの「ショートカットを作成」からショートカットを作ります。

f:id:llcc:20180924163701p:plain

作成ボタンを押すと下のような画面になります。
画面下のアクション一覧からアクションを選んでショートカットを作っていきます。

試しに特定のテキストをメモに記入するというアクションを作ってみます。

f:id:llcc:20180924163746p:plain

まずはメモに入力する内容を設定します。
テキストというアクションを探して好きな文字を入力します。

f:id:llcc:20180924164217p:plain

次に「メモを作成する」アクションを設定します。
下のようにメモを作成を探してタップします。

f:id:llcc:20180924164247p:plain

これでテキストの内容をメモに書き出すショートカットができました。
画面上部の再生ボタンを押すことで実行されます。

f:id:llcc:20180924164347p:plain

保存を押すとメモ帳に実際に書き込まれます。

f:id:llcc:20180924164434p:plain

ウィジェットに設定しておくといつでも呼び出せて便利です。

f:id:llcc:20180924164625p:plain

大手アプリは結構対応しているので、自分なりに色々試すと楽しそうです。

f:id:llcc:20180924165124p:plain

Xcode10のStoryboardでUILabelやUIButtonを配置する方法とショートカット

Xcode10からオブジェクトを選ぶ場所が大きく変わってたのでメモ。

オブジェクトを選ぶ場合、Xcode上部の丸いアイコンをクリックします。

f:id:llcc:20180924160452p:plain

クリックするとオブジェクト一覧が出てくるので、ここからオブジェクトを選択します。

f:id:llcc:20180924160639p:plain

メニューから選択することもできます。

f:id:llcc:20180924160727p:plain

ショートカットキーは Command + Shift + L です。

ロゴ生成サービス、Free Logo Generator Onlineを試してみる

こちらの記事で紹介されていたサービスを試してみました。

note.mu

今回は自分の運営している「体重管理アプリ」のロゴを作ってみます。

体重管理Fittで人気の体重管理ダイエットを

体重管理Fittで人気の体重管理ダイエットを

  • hiroki sugimoto
  • ヘルスケア/フィットネス
  • 無料

使い方

TOPページは下の通り。
会員登録なしで始める事ができます。

f:id:llcc:20180828193206p:plain

次はカテゴリー選択です。
健康系のアプリなのでHealth and beautyにしました。

f:id:llcc:20180828193348p:plain

次にデザインのスタイルを選びます。
ここでは3つまで選ぶことができます。

f:id:llcc:20180828193947p:plain

サービス名の入力をします。

f:id:llcc:20180828194013p:plain

最後にロゴをどこで使うかを選択します。

f:id:llcc:20180828194128p:plain

以上で選択は終了です。
下のようにロゴを何パターンも生成してくれます。

f:id:llcc:20180828194156p:plain

ロゴを押すと色やフォントを変更できる画面に移動します。

f:id:llcc:20180828194321p:plain

Nextボタンを押すとダウンロードページに遷移します。

f:id:llcc:20180828194351p:plain

メールアドレスを入れるとロゴデータを送ってくれます。
データ形式はpngです。

f:id:llcc:20180828194658p:plain