2016-09-16

IT エンジニア向け Confluence と Markdown を仲良くさせる方法

Confluence は Atlassian 社の企業向け Wiki 環境。WYSIWYG ベースで「誰にでも」ドキュメントが書ける環境を提供する。パーミッション管理やプラグインが充実しているのも魅力の一つ。

Confluence は、昔は Textile ベースの Wiki 環境だったと聞くけれど、今は独自のエディターを用意して WYSIWYG 環境を提供している。WYSIWYG は「誰にでも」書けるのが魅力だけど、エンジニアには受けが良くない。エンジニアはプレイン・テキストでサッとドキュメントを書くのを好むから。できれば Markdown か Textile のようなライトな Wiki 言語を使いたい。

一応、Confluence は Markdown マクロを持っている。{markdown}...{markdown} の中に書いたテキストは Markdown としてレンダリングされる。だけど出来が良くない。期待した通りの出力にならなかったり、書き方にクセがあったり、レンダリングに時間がかかったり...

Markdown と一緒に使う

そこでお勧めなのが Markdown プレビュー機能付きエディターを使う方法。MacDown とか Ulysses とか Byword とか。そういったエディターで Markdown を書く。プレビューさせる。そして、プレビューから Confluence に記入したい部分をコピーする。Confluence に貼り付ければ、あら不思議、望んだ通りの書式でテキストが挿入される。

タイトルも、箇条書きも、リンクも望み通り。あ、テーブルはまだ書いていないので、誰か試したら結果を教えて欲しい。

あとがき

今までは、Markdown でテキスト書いて、テンポラリー・バッファーで Markdown 書式を削って、Confluence に貼り付けて、WYSIWYG で書式を付け直していた。それがプレビューからコピーするだけになって、大幅に無駄な作業が減った。ありがたい。これなら Confluence と仲良くなれる気がする。

なお、ぼくは Markdown のプレビューに Emacs の markdown モードを使っている。markdown-mode については後日、また記事にしたい。

2016-09-11

iPhone 7 Plus を予約した

2016-09-09 (金)、ソフトバンク・オンラインで iPhone 7 Plus を予約した。

  • 予約モデル: iPhone 7 Plus, 128GB / ジェットブラック
  • 予約完了日時: 2016-09-09 16:10:11
  • 受付完了 SMS 到着日時: 2016-09-09 16:45

16:01 の予約開始と同時に予約を試みたけど、16:10 まで上手くいかなかった。ネット上の話を聞くと、ソフトバンクで予約しようとした人は 16:10 から予約に成功している人が多いっぽい。

今回はジェックブラックが人気なみたいね。予約開始 30 分で、出荷予定日が 11 月以降になったと聞いている。

ぼくも新色に憧れてジェットブラックを注文した。十月前半に受け取れると良いのだけど、どうころぶかな? 届いたらブログ記事を書く。

2016-09-09

IntelliJ IDEA でファイル横断検索

IntelliJ IDEA でプロジェクト内の全ファイルを横断してを検索を行なうショートカット。

  • ⌘ + ⇧ + f (Cmd + Shift + f)

つい忘れてしまうのでメモ。

2016-09-08

AirPods が発表された

2016-09-08 (木) 02:00 に Apple のイベントが開催されて、iPhone 7 のセクションで AirPods が発表された。

AirPods は左右独立型のワイヤレス・イヤホン。充電用のケースが付属する。2016 年 10 月下旬発売予定。16,800 (税別) 円。

接続

充電ケースから取り出すと、すぐに電源がオンになる (iCloud アカウントと最新 OS が必要)。接続される機器は、iPhone, iPad, iPod Touch, Mac そして Apple Watch。あれ、Apple TV は?

接続規格は Apple の独自規格か? Apple のサイトに Bluetooth の記述はない。AAC オーディオに対応とだけ書いてある。

ヘッドセットとして

AirPods はマイクを搭載。加速度センサーを使って、周囲のノイズを取り除いて音を拾う。

光学センサーと加速度センサーによって耳に着けたことを感知。着ければ音が再生され、外せば再生を止める。

ダブルタップで Siri を起動。音量コントロール、電話先の指定、アプリの起動、Siri への質問を行なうことができる。

バッテリー

1 回の充電で 5 時間駆動。15 分の充電で 3 時間駆動。充電ケースを利用すると、最大 24 時間駆動。

AirPods の SiP である W1 チップが省電力駆動に寄与しているとのこと。

あとがき

左右独立型のワイヤレス・イヤホンは、ここ 1, 2 年で市場に現れ始めた新顔。クラウド・ファウンディングによる製品化がメインと思っていたら、まさかの Apple がやってきた。

接続方式がどうも Apple 独自っぽい。複数接続に対応している等、Apple ファミリーの製品との親和性が高そうで面白い。Android 機器とは繋がらない... のかな。Apple TV への言及がないのはどうしてだろう。

Apple らしいギミック満載で魅力ある製品として映る。音質とかどうなのか気になるなぁ。

ぼくはイヤホンが苦手。ヘッドホン派なので... 残念ながら買わないと思う。

iPhone 7 が発表された

2016-09-08 (木) 02:00 に Apple のイベントが開催されて、iPhone 7 及び iPhone 7 Plus が発表された。

2016-09-09 (金) 予約開始、2016-09-16 (金) 発売。iOS 10 は 2016-09-13 リリース予定。色は 5 色展開。ゴールド、シルバー、ローズゴールドの三色に、新色ブラック、ジェットブラックが加わった。ストレージ・サイズは iPhone 6s シリーズの倍を用意。32 GB, 128 GB, 256 GB の三種類。なお、ジェットブラックは 128 GB, 256 GB のモデル限定色。価格は iPhone 7 が 72,800 円 (税別; $649) から、iPhone 7 Plus が 85,800 円 (税別; $769) から。

以下、iPhone 7 の新機能を書く。

ホームボタン

ホームボタンが TapTick Engine に対応した。ボタンを押した時のフィードバックを返す。

防水・防塵

防水・防塵に iPhone で初めて対応。IEC60529 の IP67 等級。防水は「一時的に一定水圧の失件に水没しても内部に浸水することがない」(Apple Watch series 1 と同等) で、防塵は「有害な影響が発生するほどの粉塵が中に入らない」。

ディスプレイ

iPhone 6s と比べて 25% 明るくなった。

オーディオ

ステレオ・スピーカーを採用。スピーカー位置は、iPhone の上と下。横置き配置でステレオ再生ができる。音量は iPhone 6s と比べて 2 倍。

3.5mm ヘッドフォン・ジャックが廃止された。iPhone からアナログ音声出力端子がなくなった。これからは Bluetooth や AirPlay を使ってオーディオを無線で飛ばすか、Lightning 端子からデジタル音声出力を取り出すしかない。Lightning 端子専用のイヤホンは、数は少ないものの既に商品化されてい。iPhone 7 には Lightning コネクタ対応の EarPods が付く。また、救済として Lightning - 3.5mm ヘッドフォン・ジャック変換アダプターも付属する。今まで使ってたイヤホンを使う場合は、このアダプターを使うことになる。

カメラ

カメラは iPhone 7 と iPhone 7 Plus で仕様が一部違う。個別に変更点を書く。

iPhone 7

光学手ぶれ補正に対応した。光学手ぶれ補正は iPhone 6s Plus には付いていたものの、iPHone 6s には付いていなかった。iPhone 7 からは、iPhone 7 と iPhone 7 Plus の両方に付くようになる。

FaceTime カメラは 5MP から 7MP になった。

iPhone 7 Plus

12 MP のリアカメラが 2 つ搭載された。新しく加わったカメラは望遠カメラで、2 倍の光学ズームを可能にする。

Apple Pay

2016 年 10 月下旬、日本で Apple Pay が始まる!

Apple Pay には NFC (iPhone 6 から) に加えて、FeliCa (iPhone 7 から) が使える。FeliCa は Suica で使われている仕様。従って iPhone 7 は Suica 対応になる。Suica へのチャージは Apple Pay に登録したクレジットカードから可能。Suica 定期券の更新も OK。10 月下旬の Apple Pay 開始時点から Suica が使えるようになるのかどうかは不明。

パフォーマンス

A10 Fusion チップを採用。2 コアで、A9 チップと比べて 40%、A8 チップと比べて 2 倍高速化された。またグラフィック性能は A9 チップと比べて 50%、A8 チップと比べて 3 倍高速化された。

あとがき

Apple のイベントで、珍しく iPhone の薄さアピールがなかった。形も iPhone 6s と大して変わっていない。その代わり、中身はかなり大きく変えてきた。イヤホン・ジャック廃止、ステレオ・スピーカー採用、デュアル・カメラ搭載。どれも中身の設計を大きく変える必要があるだろうに、一気にやって来たのには驚いてしまう。

そして FeliCa (Suica)! 国内モデルで Suica 対応なスマホは数あれど、世界共通モデルでの採用は初めてじゃないか? おそろしいことをやってきたものだと思う。

Apple Watch 2 が発表された

2016-09-08 (木) 02:00 に Apple のイベントが開催されて、Apple Watch series 2 が発表された。

Apple Watch ファミリーとして、新たに Nike エディションである Apple Watch Nike+ が加わった。アルミニウム・ケースと Nike スポーツ・バンドの組み合わせ。Hermès バンドのついた Apple Watch Hermès も正式に登場。こちらはステンレス・スチール・ケースと Hermès バンドの組み合わせ。

Apple Watch series 2 は 2016-09-09 (金) 予約開始、2016-09-16 (金) 発売。Apple Watch Kike+ は 10 月下旬、Apple Watch Hermès は 9 月下旬発売予定。価格はアルミ・ケースが 27,800 円から。ステンレス・ケースは 55,800 円から。Apple Watch Nike+ は 37,800 円。Apple Watch Hermès は 118,800 円から。

防水機能

Apple Watch series 2 は水泳ができるレベルの防水を施してきた。水深 50m までの耐水性能がある。また、防水のためにスピーカーの設計も変えた。スピーカーの音を出すための空間に入った「水」を、スピーカー自身が震えて排水する。

Apple Watch series 1 には防沫性能があった。IEC60529 の IPX7 等級。これは「一時的に一定水圧の失件に水没しても内部に浸水することがない」と過去に定義されていたらしい。Apple のサイトには「水に浸すことは勧奨しません」とある。

Apple Watch series 2 は ISO 22810:2010 に基づく 50 m の耐水性能を持つ。Apple のサイトでは「プールや海で泳ぐなど、浅水でのアクティビティで使用できることを意味します」とある。また、「スキューバダイビング、ウォータースキー、高速水流または低水深を超える潜水を伴うその他のアクティビティには (中略) 使用しないでください」とのこと。

Apple Watch series 2 で水泳が可能になったため、ワークアウトに Swimming という項目が加わった。

内蔵 GPS

GPS が Apple Watch に内蔵される。Apple Watch series 1 は GPS を内蔵していなかったので、位置情報はペアリングした iPhone から教えてもらっていた。そのため、iPhone を忘れると位置情報を得ることができなかった。GPS が内蔵されたことで、iPhone を持たず、Apple Watch だけでワークアウトの位置情報、マップの現在位置が確認できるようになる。

SiP、ディスプレイなど

第二世代 SiP (System in a Package) を採用。GPU は 2 倍のスピードアップ。

第二世代のディスプレイは第一世代と比べて約 2 倍の明るさ。眩しい外でも文字盤が見やすくなった。また、ステンレス・スチール・ケースとセラミック・ケース (Apple Watch Edition) は Ion-X ガラスからサファイア・クリスタルに変更された。

Apple Pay

日本で Apple Pay が始まると (2016 年 10 月開始予定)、Apple Watch でクレジット・カードによる購入が可能になる。

また、Apple Pay に Suica を入れることで、Suica による決済も可能になる。

あとがき

Apple Watch series 1 を使い始めて、はや一年半。着けてないと生活が不便なレベルで依存している。series 2 の目玉である防水と GPS は欲しい機能なので、きっと買う。

series 1 のバンドがあるので、series 2 に新しいバンドは要らない。バンドなしで買うことは出来ないのかな? 今はまだ情報が出ていない。バンドの購入も必須なら、ステンレス + スポーツ・バンドで予約すると思う。

Apple イベント 2016 速報

2016-09-08 (木) 02:00 に Apple のイベントが開催されて、Apple Watch seriese 2 と iPhone 7/7 Plus が発表された。iPad 及び MacBook Pro の発表は行なわれなかった。

今回は (も?) イベント前から多くのリーク情報があった。速報代わりに、各リーク情報との正誤表を作った:

Apple Watch 2

  • (正) 防水
  • (正) GPS 内蔵
  • (誤) LTE 内蔵

iPhone

  • (正) 名称 iPhone 7 / iPhone 7 Plus
  • (正) 防水・防塵
  • (正) ヘッドホン・ジャック廃止
  • (正) Lightning-オーディオ・ミニ・ジャック変換アダプター
  • (正) ワイヤレス・イヤホン (別売)
  • (正) ホーム・ボタンの物理ボタン廃止
  • (正) ホーム・ボタンの 3D タッチ対応
  • (正) ステレオ・スピーカー
  • (正) iPhone 7 に光学式手ブレ補正対応
  • (正) iPhone 7 Plus にデュアル・カメラ
  • (正) 日本で Apple Pay 開始
  • (正) Felica 対応
  • (正) 256 GB モデル
  • (誤) 名称 iPhone 6SE, iPhone 7 Pro
  • (誤) スマート・コネクター対応

あとがき

事前リークでかなりの内容が洩れていた。答え合わせをするだけで、イベントの発表の大半は分かってしまいそうなほど。個人的には、もっと外れるリーク情報があるかと思っていた。意外とほとんどのリーク情報が乗ってしまった。iPhone 7 は外観の変化こそ小さいけれど、ハードウェアの変化は大きいように感じた。

2016-09-06

XCode で編集中のファイルをプロジェクト・ナビゲーターに表示する方法

「知っていると便利なiOS開発Tips!」というスライドを読んでて、今までずっとやりたかったけど、やり方が分からなかったことの解答を得た。

やりたいことは、タイトルにある通り。XCode で編集中のファイルをプロジェプト・ナビゲーターに表示する方法。ショートカット・キーは

  • ⌘ + ⇧ + j (Cmd + Shift + j)

あとがき

ファイルの数が多くなってくると、プロジェプト・ナビゲーターも一望できなくなって、今編集中のファイルがどこにあるのか分からなくて辛かった。同じ階層のファイルをプロジェクト・ナビゲーターで眺めたいと思っても、思い通りに行かなくて困ってた。少し楽になれそう。

2016-09-05

ffmpeg でメディア・ファイルのコーデックを調べる

先日の mediainfo コマンドの記事に対して、ffmpeg でも同じことを調べられると教えてもらった。

試してみた:

$ ffmpeg -i ~/Movies/google_spreadsheet_1.mov
ffmpeg version 2.8.2 Copyright (c) 2000-2015 the FFmpeg developers
  built with Apple LLVM version 7.0.0 (clang-700.1.76)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/2.8.2 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-opencl --enable-libx264 --enable-libmp3lame --enable-libvo-aacenc --enable-libxvid --enable-vda
  libavutil      54. 31.100 / 54. 31.100
  libavcodec     56. 60.100 / 56. 60.100
  libavformat    56. 40.101 / 56. 40.101
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 40.101 /  5. 40.101
  libavresample   2.  1.  0 /  2.  1.  0
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  2.101 /  1.  2.101
  libpostproc    53.  3.100 / 53.  3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/Users/ataka/Movies/google_spreadsheet_1.mov':
  Metadata:
    major_brand     : qt  
    minor_version   : 0
    compatible_brands: qt  
    creation_time   : 2014-04-29 11:10:42
  Duration: 00:02:40.05, start: 0.000000, bitrate: 1419 kb/s
    Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709), 682x516, 1402 kb/s, SAR 1:1 DAR 341:258, 60 fps, 60 tbr, 6k tbn, 50 tbc (default)
    Metadata:
      creation_time   : 2014-04-29 11:10:42
      handler_name    : Core Media Data Handler
      encoder         : H.264

なるほど。ビデオが H.264 (AVC1) だって分かった。mediainfo だと AVC とだけ出て来ていたけど、MPEG-4 AVC と H.264 は同じ規格だから特に気にする必要はないのかな。

あ、ffmpeg の出力は標準エラー出力に出るのか。less で眺める時は、気を付けないと。

$ ffmpeg -i ~/Movies/google_spreadsheet_1.mov 2>&1 | less

2016-09-04

最新 AUCTeX を Mac でコンパイルする

最新の AUCTeX を Mac でコンパイルする方法。

過去記事との違いは二点。AUCTeX のバージョン管理が cvs から git に変わったこと。Mac の TeX 環境に合わせて configure オプションを指定すること。

取得

Savannah (FSF の Git リポジトリ・ホスティング・サービス) から AUCTeX を取得する。

$ git clone git://git.sv.gnu.org/auctex.git

インストール

TeX のシステムが /usr/local/texlive/texmf-local に入っていたとする。

$ ./autogen.sh
$ ./configure --with-texmf-dir=/usr/local/texlive/texmf-local
$ make
$ sudo make install

以上。

あとがき

--with-texmf-dir のオプションが覚えられない。オプションなしで configure にディレクトリーの位置を教えることは出来ないものか? 良く分からないので、毎回オプションを指定している。

バージョン管理が Git に移行した。手元でテスト用ブランチの作成が出来るようになった。ありがたい。

2016-09-02

mediainfo でメディア・ファイルのコーデックを調べる

メディア (特に動画) ファイルのコーデックを調べる方法をメモ。

コーデックを調べるには mediainfo というコマンドを使う。mediainfo は Mac なら brew コマンドでインストールできる。パッケージ名が media-info なので注意。

$ brew install media-info

使い方は簡単。ファイル名を引数で渡すだけ。

$ madiainfo ~/Movies/google_spreadsheet_1.mov
General
Complete name                            : /Users/ataka/Movies/google_spreadsheet_1.mov
Format                                   : MPEG-4
Format profile                           : QuickTime
Codec ID                                 : qt
File size                                : 27.1 MiB
Duration                                 : 2mn 40s
Overall bit rate mode                    : Variable
Overall bit rate                         : 1 420 Kbps
Encoded date                             : UTC 2014-04-29 11:10:42
Tagged date                              : UTC 2014-04-29 11:10:52
Writing library                          : Apple QuickTime
com.apple.quicktime.make                 : Apple
com.apple.quicktime.model                : MacBookAir5,1
com.apple.quicktime.software             : Mac OS X 10.9.2 (13C1021)
com.apple.quicktime.creationdate         : 2014-04-29T20:10:41+0900

Video
ID                                       : 1
Format                                   : AVC
Format/Info                              : Advanced Video Codec
Format profile                           : Main@L3.1
Format settings, CABAC                   : Yes
Format settings, ReFrames                : 2 frames
Format settings, GOP                     : M=2, N=60
Codec ID                                 : avc1
Codec ID/Info                            : Advanced Video Coding
Duration                                 : 2mn 40s
Bit rate mode                            : Variable
Bit rate                                 : 1 403 Kbps
Maximum bit rate                         : 768 Kbps
Width                                    : 682 pixels
Height                                   : 516 pixels
Display aspect ratio                     : 4:3
Frame rate mode                          : Constant
Frame rate                               : 60.000 fps
Original frame rate                      : 25.000 fps
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scan type                                : Progressive
Bits/(Pixel*Frame)                       : 0.066
Stream size                              : 26.8 MiB (99%)
Title                                    : Core Media Video
Encoded date                             : UTC 2014-04-29 11:10:42
Tagged date                              : UTC 2014-04-29 11:10:52
Color range                              : Limited
Color primaries                          : BT.709
Transfer characteristics                 : BT.709
Matrix coefficients                      : BT.709

今回の例だと、コンテナーが MPEG-4、ビデオが AVC、オーディオなし、ということが分かった。確かこのファイル。Google Spreadsheet の使い方を説明するために、QuickTime で画面録画したもののはず。

あとがき

先日、拡張子が mp4 なファイルを開こうとしたら、クイックルックで再生できなかった。一体、何のファイルなんだろう? と思って調べるために使ったのがこのコマンド。結果、音声ファイルが AMR ナローバンドなのが良くない、となった。コーデックが分からなかったら、混乱していたかもしれない。動画ファイルは難しい。

コマンド一つで調べられるのも便利。

2016-09-01

ffmpeg で音声・ビデオのみを取り出す

ffmpeg を使って動画ファイルから音声だけ、もしくは、ビデオだけ抜き出す方法を教えてもらったのでメモ。

音声だけ抜き出すコマンドは次の通り:

$ ffmpeg -i input.mov -vn -acodec copy output.wav

ビデオだけ抜き出すコマンドは次の通り:

$ ffmpeg -i input.mov -an -vcodec copy output.mov

入力ファイルは input.mov。音声の出力ファイルの拡張子は、その動画の音声ファイルに合わせて適切に選ぶ。

-an は No Audio、-vn は No Video という意味かな。-acodec copy, -vcodec copy で音声/ビデオのコーデックをコピーしている。

あとがき

最近、動画ファイルをいじるのにこのコマンドを教えてもらった。意外と何度も使っている。その度に調べるのも面倒になったので、メモとしてブログの記事にした。