MacのTerminalで拡張子を統一する方法

例えば、.jpegと.jpgがあって気持ち悪い時に、terminalで統一できないかと調べたのでメモ。

確認環境

  • macOS 10.12.2
  • Terminal 2.71(388)

基本文型

for inで回す形です。★が変更前の拡張子、◎が変更後の(統一したい)拡張子です。

for fname in *.★; do mv $fname ${fname%.★}.◎; done

例1).jpegを.jpgに統一する

for fname in *.jpeg; do mv $fname ${fname%.jpeg}.jpg; done

例2).htmを.htmlに統一する

for fname in *.htm; do mv $fname ${fname%.htm}.html; done

まとめ

いかがだったでしょうか?Terminalは古くから使われているだけあって、可能性をすごく感じますw

今後のコンテンツを予想してみる

筆者は仕事で挿絵を描くので一応絵が描けます。なので、既にかなり廃れている「LINEスタンプ」を今さら申請してみました。描きながらいろいろ思ったことがあったのでメモ。大外しするかもしれませんが、予想も書いてみます。

LINEスタンプは売れない

現在、既に12万近いスタンプがあるので、筆者のスタンプもまず売れないでしょう。AppleとLINEからそれぞれ手数料を取られるわけですし。ただ、LINEスタンプの仕様とか理解できたので、これはこれで勉強にはなりました。

ストック系はどれも厳しい

例としてLINEスタンプを出しましたが、PIXTAとか、iStockとか、ストック系はすべて同じ状況でしょう。

今後どうしていけばいいのか

ネットコンテンツは無料が当たり前ですが、よほど上手くやれなければ、安売り戦略に回らない方がいいと感じてきています。ではどうしたらいいのでしょうか?すぐに儲かるアイデアはありませんが、いろいろアイデアを描いてみます。

ラインスタンプを描くことを商売とする

これはすでにこういった商売をやっている人がいるでしょう。企業は「スタンプを売ることが目的」ではなく、「スタンプを使ってPR」できればいいのであれば、ニーズはあるかもしれません。筆者はこうした制作はやりませんが、個人の方は、LINEスタンプが一種の実績として考えるのもアリかもしれません。

描いたラインスタンプセットを販売する

LINEの仕様に沿ってイラストを描く。そして申請していない状態のイラストを販売する。つまり、イラストそのものと、申請できる権利を売るという事ですね。

イラストを描く手間が省けるので、欲しい人はいるかもしれない。もし売れなくても自分のものなのだから、将来新しいプラットフォームが来た時の素材として、すばやく対応できるのではないでしょうか?

自前で素材販売サイトを運営する

サイト構築や宣伝が大変ですが、自分でプラットフォームを作り、作ったデータを自分で売るのはアリかもしれません。WordPressでそんなプラグインがありそうです。

ただしこれは10年以上の長い目でみていかないといけないと思います。売れなければお金は入らないが、自分の著作物なので、新しいプラットフォームが来た時に既存の素材を使って、すばやく大量に対応できるのではないでしょうか?

海外版LINEのようなサービスにスタンプを提供する

海外ではLINEではなく、何のメッセンジャーアプリを使っているのかすらわかりません。カカオトークとか、海外ユーザーが多いプラットフォームへ攻めるのも手かもしれません。ただし英語力が必要です。海外から見たら、日本の絵が特殊に感じるでしょうから、意外と反響があるかもしれません。

ラインに変わるプラットフォームを作る

大企業さん向けですが、LINEよりも製作者にお金のまわるプラットフォームを作ったら、クリエイターがたくさん宣伝してくれるのではないでしょうか?私にはとても無理ですが。

家庭用ゲーム機市場がメーカーの作りやすさを考えるように、webの世界も作り手に配慮したプラットフォームが生まれたら活気づき、大きく人が流れる気がします。

あなたならどうしますか?

ストック型の未来は正直明るくないと思います。筆者としては、「安売りにのらない」「次のパラダイムまでにいろいろ準備しておく」事がいいのではと考えます。

筆者は技術がないですが、WordPress等を使って自前のデータ販売サイトを年数をかけて作っておきたいなぁと考えています。そしてこれらを踏まえて「販売データ制作に勤しむ」ことがいいのではないかと思います。

すぐに儲けられるようなネタでなくてすみませんww

追記2017.01.30

記事タイトルを変更しました。内容と中身があっていない気がしたので。でも、つけ直したタイトルも微妙かも!?w

バナーから「広告主が伝えたい事」を読み取りアフィリエイトに活かす

筆者はアフィリエイトブロガーではないので、書きたい事、学んだ事をメモがてら書くスタイルなのですが、ふとこういう考えが浮かんだので、雑記として書いておきます。

バナーは情報が絞り込まれている

バナーを皆さんは毎日のように見ると思います。そのバナーの中身をよく見てみると、あの狭い領域の中に「本当に伝えたい事だけ」を絞り込んで表現していると思います。であればその伝えたい事を読み取り、その情報を元に文章や図を使ってより効果的に伝えてあげたらいいんじゃないかと思いました。

バナーを見てみる

Googleで「バナー デザイン」と調べたら「バナーデザイン専門ギャラリーサイト | レトロバナー」さんが出てきました。今回はその中の画像を使ってみます。

例1)北海道ミルクパイ

  • ミルクパイだから、牛を表現したいんだな
  • 形状が三角だから、背景のデザインも三角なんだな
  • マクドなことがわかるように赤を使っているんだな(でもミルクの白とかがいいのでは?)
  • 期間限定品なんだな
  • ミルクの質感が欲しいのかな。(もっとアップで表現した方がいいのでは?)
  • ミルクを強調した方がいいよね
  • 食べ物系だから、食レポが一番分かりやすいよね
  • マクドであることは最低伝えないとだめだよね
  • どんな味なのか表現しなくていいのかな?

例2)LANCOME PARIS

  • 生クッションって何?そこをじっくり説明した文章が欲しいよね
  • な軸ロースキンって何?化粧なのに、生肌との関係がよくわからないな
  • きれいな肌をイメージしてピンクにしているんだろうな
  • このバナーの目的は、店頭に来てもらう事なんだな
  • 化粧品もレポが一番相手に伝わるよね
  • どんな肌になるんだろう?

想像が大切

上記のように、バナーから思った事、感じた事、を「想像」していくことが重要だと思います。また、自分が疑問に思った事は、相手も知りたい事である場合が多いので、そうした疑問・問題を解決してあげる内容にしたら、いいんじゃないでしょうか?

まとめ

普段ブログには事実しか書かないのですが(気持ちを書くのがちょっと苦手w)、でもたまにはこういう気持ちを書いていくのもいいかもしれないですねw

TerminalをAutomatorでよく行う処理を簡単サービス化

TerminalはUNIXの文化なだけあって、非常に便利な機能がたくさんあります。どうにか黒い画面に慣れたものの、毎回同じようなコマンドを入力する「手間」は感じるのではないでしょうか?

今回、よく使うTerminalコマンドをサービス化し、ショートカットで簡単に使う設定をメモします。

今回行う事

  • sipsコマンドを使い、大きな画像を縮小する
  • pngquantコマンドを使い、画像を軽量化する
  • それらの作業をキーボードショートカットで行えるようにする

確認環境

  • macOS Sierra 10.12.2

各コマンドの場所を知る

sipsやpngquantの実行パスの場所を調べます。whichコマンドで調べることができます。

sipsは「/usr/bin/sips」、pngquantは「/usr/local/bin/pngquant」であることがわかりました。

$ which sips
/usr/bin/sips
$ which pngquant
/usr/local/bin/pngquant

Automatorで設定

サービスを選択

Automatorの新規作成で、「サービス」を選択します。

サービスの受け取る項目を指定

今回作成するサービスは、Finderで画像を選択した時に表示されてほしいので、以下のように選択項目に「イメージ」を、検索対象に「Finder」を指定してください。

Finderの選択項目を絞り込む

Finderの選択項目を絞り込むために、設定を行います。pngquantはpngでしか使えないので、拡張子でpngも絞り込みます。

  1. 「Finder項目にフィルタを適用」をAutomatorに追加します。
  2. 「種類」が「イメージ」「である」を追加します。
  3. 「ファイル拡張子」が「png」「である」を追加します。

シェルスクリプトを追加する

対象ファイルを絞り込んだら、シェルスクリプトを追加します。

  1. 「シェルスクリプトを実行」を追加します。
  2. 入力の引き渡し方法を「引数として」に選びます。するとコードが追加されます。
  3. //ここにコマンドを記載していくと書いている所にシェルスクリプトを書いていきます。

ここで、whichコマンドで調べたコマンド場所を記載しつつ、各コマンドの設定を書きます。今回は以下のように「sipsで、縦横どちらかを600pxに、比率は変えない」、「pngquantで画像を圧縮」としました。

選択したファイル名は「”$f”」という形で取れるので、ファイル名箇所をそのように記載しています。ダブルクオーテーションが必要なので注意してください。

for f in "$@"
do
    /usr/bin/sips -Z 600 "$f"
    /usr/local/bin/pngquant --ext .png --force --speed 1 "$f"
done

ここまでのまとめ

今回の一連をまとめると以下のようになります。私は実行後通知をしてほしかったので、その記載をさらに追加しています。ここまで出来たら保存をしてください。今回はファイル名を「pngquant」としました。ここで入力した名称が、ショートカットをつける際に表示される名前になります。

Finderにショートカット追加

このサービス機能をキーボードショートカットで使えるようにします。

  1. Finderの「システム環境設定」→「キーボード」を選択します。
  2. 「ショートカット」を選択します。
  3. 左メニューから「サービス」を選択し、右側に「pngquant」が追加されているので、選択します。
  4. お好きなショートカットを追加します。

まとめ

いかがだったでしょうか?黒い画面の処理をGUI上で行うことができれば、随分便利になると思います。最初の設定だけちょっと面倒ですが、ぜひ試してみてください。

【Automator】フォルダーアクションworkflowファイルの場所

Automatorで作成したフォルダーアクションを保存したのはいいものの、どこに保存されたのかわからなったので、調べたメモを記載します。

フォルダーアクションの作成場所

Automatorで作成した「フォルダーアクション」は、保存をするか聞いてくるものの、保存先は選ぶことができません。作成した「フォルダーアクション」は以下の場所にありました。

/Users/ユーザー名/Library/Workflows/Applications/Folder Actions

作り直したい時、workflowファイルのファイル管理をしたい時に便利です。

サービス関係のファイルの作成場所 1/22追記

同様に、Automatorで作成した「サービス」系のファイルの作成場所は以下になります。

/Users/ユーザー名/Library/Services
カテゴリー: Mac

PNG画像をterminal上で圧縮するpngquant

今まで、png画像の圧縮には「ImageOptim」を使っていました。でもMacでTerminalを少しでも使おうと考えたら、どうしても黒い画面でやりたい!と思うようになりました。そこで見つけたのがpngquantというツールです。

確認環境

  • MacOSX 10.9.5
  • 要 Homebrew

インストール方法

ターミナルを開き、以下のコマンドを入力します。インストールにはけっこう時間がかかりますので気長にお待ちください。(要 Homebrew)

brew install pngquant

基本的な使い方

png画像のあるディレクトリへ移動し、以下のコマンドを入力します。出力結果なども表示されず終わります。あっけないかもしれませんが、正常動作なのでご安心ください。

pngquant --ext .png --force --speed 1 *.png

–force

出力したファイルを上書きします。

–ext

出力したファイル名に文字を付加します。

# 何も加えない(同名となります)
--ext .png

ファイルの末尾に-output.pngを付与します。

--ext -output.png

hogehoge-output.png、fugafuga-output.pngのようなイメージ

–speed 1

圧縮にかかるスピードを示します。1(遅い)〜10(速い)まであります。スピードが遅い分、圧縮率が高くなります。

その他の似たようなツール

おすすめの二つ折り財布2種類(ヒップポケット、エムピウm+)

みなさんは、どういった財布を毎日使っていますか?二つ折り?長財布?チェーン付き?

いろいろな種類がありますが、筆者は基本二つ折りの財布を好んで選んでいます。今回は、その中でも特に筆者がお気に入りの財布を紹介していきたいと思います。(実際に使い込んでいるため、財布が汚れていてスミマセン)

おすすめその1 mic ヒップポケット財布

最初に紹介する財布は「mic ヒップポケット財布」です。筆者は基本財布をお尻に入れているので、財布が痛みにくいことが重要でした。この「mic ヒップポケット財布」は財布の角を丸く処理しているので、ポケットから出し入れする時でも財布の角がボロボロにならず、長く使っても痛みません。

おすすめその2 取り出すための持ち手がついている

お尻に財布を入れる時、出しやすさを考慮した持ち手がついています。これを指に引っ掛け、サッと取り出すことができるのです。慣れるとスピーディーに取り出せるようになります。また、財布の中身を出す際、この持ち手が落とさないための引っかかりとなってくれます。

おすすめその3 大きく開く小銭入れがある

筆者は細かく小銭を数えるのが面倒で、お札を出しお釣りをもらうパターンが多いです。

そんな時でも「mic ヒップポケット財布」は大きな収納口なので、大量の小銭が入ります。また小銭の入り口も非常大きく開くので、探しやすさも考慮されています。

おすすめその4 お札とレシートを入れる場所が分かれている

筆者は何かを買った時必ず領収書をもらうようにしています。そのためレシートが自然と増えていきます。そんな時でも「mic ヒップポケット財布」はお札部分が2つに別れているため、お札の中にレシートが紛れ込むこともなく、スマートに整頓することができます。

エムピウ m+ 財布 サイフ MILLEFOGLIE2pig

「mic ヒップポケット財布」も特に不便はなかったのですが、もう少し小さくならないか、カードが沢山入らないか、という点を考慮して探したのが「エムピウ m+ 財布 サイフ MILLEFOGLIE2pig」です。

おすすめその1 カード入れが大きく3つに別れている

「mic ヒップポケット財布」はカードの収納スペースが1つ1つに分かれている形状でした。綺麗に収納できていいのですが、その分カードがたくさん入らないことが不便でした。

「エムピウ m+ 財布 サイフ MILLEFOGLIE2pig」は、スペースが3つしかありませんがその分1つのスペースに数枚形状となっています。こういう形態をとることで、今までよりもたくさん入るようになりました。

筆者は3つの収納のうち、2つにカードを、もう1つにレシートを折って入れています。レシートは感熱式が多いので、折り曲げて入れることは理にかなっています。

おすすめその2 大きく開く小銭入れも健在!

小銭入れの入り口が大きく、収納量も多いことが条件でした。「エムピウ m+ 財布 サイフ MILLEFOGLIE2pig」は小銭の出し入れと収納にも配慮されています。

おすすめその3 お札はストッパーで止める

お札は小銭入れの下側に差し込み、カード入れと兼用のストッパーで止める形になっています。10枚以上のお札を入れることができます。

おすすめその4 財布全体を真鍮で止める

「エムピウ m+ 財布 サイフ MILLEFOGLIE2pig」はボタンで財布を止めるのではなく、財布にある穴と真鍮のような金具で差し込む形で止めます。これが意外と便利で、耐久性的にも問題なく使うことができます。

created by Rinker
m+(エムピウ)
¥39,999 (2022/09/30 14:22:00時点 Amazon調べ-詳細)

まとめ

いかがだったでしょうか?財布は好みがあると思いますが、今回紹介した財布はどちらもおすすめですので、二つ折り財布を欲しい人はぜひ一度検討してみてください!

PHPのPDOの基本を学んでみる

PHPでデータベースを使う時、今までのmysql〜系のコードは非推奨になっていました(知らなかった汗)代わりにPDOと呼ばれる作り方が用意されています。まずは基本的な部分を勉強していきたいと思います。

確認環境

  • PHP 5.6.24
  • Apache 2.4.6
  • MySQL 5.7.x

データベースに接続する

お決まりのコードがあるようです。try〜catchでエラーなどに対応した状態になっています。
データベース名やパスワードなどは、外部に逃がして中身に固有の情報が入らないようにすると、あとからメンテナンスが便利なのは同じですね。

try{
$db = new PDO(PDO_DSN, DB_USERNAME, DB_PASSWORD);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
//ここにコードを記述していく

}catch (PDOException $e) {
echo $e->getMessage();
exit;
}

用途に応じてコメンドが変わる

データベースにコマンドを送る時は、セキュリティに配慮しなければいけません。PDOでは、以下のように用途に応じてコマンドを使い分けるようです。

  1. exec(): 結果を返さない、安全なSQL
  2. query(): 結果を返す、安全、何回も実行されないSQL
  3. prepare(): 結果を返す、安全対策が必要、複数回実行されるSQL

この使い分けを見る限り、queryとprepareを使う事が大半なのかな、と思いました。exec()は、内部処理に使うのかな?

基本的な動き

データベースは、追加、編集、削除などありますが、基本的には以下のような動きになるでしょうか。

  1. PDOはクラスとして用意されています。newをして新しいインスタンスを作成する。
  2. exec()、query()、prepare()を用いて、SQL文を作成し、ステートメントと呼ばれる一時置き場に渡して処理する。
  3. ステートメントで生成された結果を配列やオブジェクトの形に変換して、変数に渡す
  4. 渡された変数を使って、foreachなどで回しながら表示する
【上記コードの続きです】
//ここにコードを記述していく
$stmt = $db->query("select * from users");
$users = $stmt->fetchAll(PDO::FETCH_ASSOC);
foreach ($users as $user) {
  var_dump($user);
}
  • PDO::FETCH_ASSOC……結果を配列で返す
  • PDO::FETCH_OBJ……結果をオブジェクトで返す

まとめ

PDOを正しく使えば、データベースに関するセキュリティ対策をいい感じにやってくれるそうなので、シンプルでいいですね。

今回はPHPを直書きしていましたが、ここにクラスの概念が関わってくると、コードが細かく分散・分割されていきます。クラスの書き方も、ネームスペースという考え方が加わって、今までとは変わっているので、こちらも勉強していきたいですね。

カテゴリー: PHP

ドローンが飛ばせる所、機種や場所など

ドローンを購入した時に、いろいろ調べていて学んだ事をメモ。

200g以下のドローン

200g以下のドローン(電池やプロペラなど含む)は、改正航空法の対象外のため、特に気にせずに飛ばすことができます。とは言っても街中で飛ばしたら明らかに迷惑なわけですから、広場などの一定の広さを確保できる場所で飛ばすべきです。

200g以上のドローン

200g以上のドローンは、改正航空法により、飛ばせるところが限られます。じゃぁ、どこなら飛ばせるのか?という疑問が残ると思います。

「PHANTOM4」などの高級ドローンを販売しているDJIというメーカーが、飛行禁止エリアを地図で情報公開しています。こちらの地図から大丈夫な箇所を確認しましょう。

200g以上で禁止区域で飛ばしたい場合

200g以上で禁止区域で飛ばしたい場合、ドローンの飛行許可申請を取得 する必要があります。飛行許可申請を実際に出したことはありませんが、国土交通省のホームページにあるそうです。いろいろなブログ記事を読むと、5回以上資料の修正をするみたいですよ。

まとめ

ドローンは過去に事件があったので、「悪いもの」というイメージがついてしまっていますが、上記のようなルールを守って使用すれば、何ら問題ありません。ドローンが出てきたことによって、空撮が個人でも気軽に撮影できるようになったわけですから。

ルールを守って楽しくドローンをしたいですね。

created by Rinker
DJI
¥34,460 (2022/09/30 07:25:29時点 Amazon調べ-詳細)