リンクをどのブラウザで開くのかを指定できるMacツールの Choosy

リンクを開く時にどのブラウザで開くのかを指定、設定するMacツールChoosyの紹介。なんでもデフォルトブラウザで開いてもらっては困るという人に便利。

Rebuildというポッドキャストで言及されていたツールを試してみたらすごく便利。

制作の作業をしているときなど、僕が開いているブラウザは3つくらいになります。

調べ物参照用、読み物用に Vivaldi。制作そのものはChrome、Backlogなどのタスク管理ツールはFirefox、みたいな感じです。困るのは、SlackやメッセンジャーなどからBacklogへのリンクを開こうとするとデフォルトになっているChromeが開くこと。ログインしてないから見れなくて一手間増えます。

それを解決してくれるのが、Choosyです。”A smarter default browser for Mac OS X”とあるように、デフォルトブラウザとして振る舞いつつ、機能としてはリンクをクリックした瞬間にどのブラウザで開くのかを指定させてくれることです。

Choosy が有効になっている時にリンクをクリックするとこういうのが出る。
Choosy が有効になっている時にリンクをクリックするとこういうのが出る。

カーソルのところにこのウィンドウが出てくるので、ササッと選んで開くことができます。また、いろいろな条件でこの作業をぜんぶすっ飛ばして規定のブラウザで開かれるように設定することもできます。

条件に従ってどのブラウザで開くのかを設定する画面。
条件に従ってどのブラウザで開くのかを設定する画面。

設定できる条件は、

  • URL
  • リンクタイプ
  • ソースアプリケーション(リンクがどこにあるのか)
  • URL短縮サービスを利用しているか

などです。便利だよ。

↓ プラグインを作る方々への本、書きました。 ↓

Shifter: WordPressの静的サイトon CDNジェネレーターで、超高速・安全・メンテフリーの永代供養はいかがですか?

Shifter を使うと、WordPressサイトが静的ファイルになってCDNからHTTPS通信で配信されてWordPressが次にログインするときまでシャットダウンするので、超高速、安全、メンテナンスフリーになる話。

最近、DigitalCubeという会社のプロダクトを海外のユーザーにアッピールする仕事もしています。メインでのプロダクトが、日本の皆さんにも超絶役に立つと思いますので、紹介します。

Shifter
https://getshifter.io/

名前はShifterと言って、WordPress のサイトをまるごとHTMLにしてグローバルCDNに置いてくれるサービスです。

伝統的なWordPressウェブサイトホスティングでは基本的に、アクセスの度にウェブサーバーやWordPressが動き出してコンテンツをブラウザにお繰り返していましたが、Shifterの場合にはすべてのページを予め作っておいた上で、CDN(ネットワーク上の仮想ファイルキャッシュのようなもので、世界中のどこからアクセスしてもすごく近くからファイルが共有される仕組みのこと)に設置します。

ちなみに静的ファイルを生成してCDNに配置したら、WordPressが設置されているサーバーは停止します。テーマやプラグインやコンテンツの変更をするときはShifterの管理画面からサーバーを再起動して管理画面にアクセスします。

Shifter の三大メリット

このサービスの何がいいんだ?にお答えします。

いろいろなメリットがあるのですが、レンタルサーバーと比較してどうなの?VPSとどう違うの?AWSで自分で作ってキャッシングをバリバリに頑張ったほうがいいんじゃないの?という疑問は、以下の3大メリットを見ていただくと解決すると思います。

  1. サイトがものすごく速くなる。CDN上の静的ファイル & 自動でSSL適応 & HTTP/2 通信なので、バックエンドでこれ以上速くする方法がない。
  2. サーバーもWordPressも停止しているから、セキュリティーリスクが極限まで低くなる。攻撃対象が消えてしまっているので。
  3. 上記の 1 と 2 によって、サーバーやWordPressの管理コストがほぼ無くなる(一度設定したらあとは放置でOK)

素晴らしい。

注意点

注意点としては、

  • HTMLの再生成に20分くらいはかかるので、頻繁に更新したい人にはオススメしない。
  • 検索フォーム、コメント欄、お問い合わせフォームでPHPを利用しているものは動かないので、サードパーティの別のものに変更が必要(プラグインで対応可能)

です。

Shifter 案件

では、Shifter にピッタリなウェブサイトとはどんなものでしょうか。

  • イベントサイト
  • ランディングページ
  • 更新されない会社サイト

他にも思いついたら教えてほしいですが、上記の3つはとてもいいと思います。ひとつめの例としてイベントサイトを取り上げてみます。海外で行われるイベントのブースなどでユーザーに説明する時に一番わかりやすいのがこのケースです。

イベントを作成する時に主にホスティングで問題になるのは以下のようなことです。

  • 告知時やイベント日当日などにアクセスが集中する
  • どのくらいのアクセスがあるのかがわからないので、サーバーのスペックを上げてしまってコスト高い
  • しかも、そのサーバーで落ちない保証はない
  • キャッシングするにしても作業コストが高い
  • イベント終了後にはもう更新しないけど、WordPressやサーバーのメンテナンスは必要

Shifterを利用すると上記は全部解決されます。

ランディングページやあまり(あるいは永久に?)更新されないウェブサイトのケースでは、メンテナンスしなくてもバックエンドのセキュリティーが担保されることがメリットになります。WordPressをブログではなく、ウェブサイトビルダーとして利用している人にはとても相性がいいサービスだと思います。

料金とか

料金体系はシンプルで、

  • 月額米$30
  • 10GBの容量と10GBの転送量が含まれる
  • サイト数は無制限

となっています。普通のウェブサイトだったら上記に収まります。容量や転送量が10GBを超える場合には、$10でそれぞれ追加の課金が発生します。


いかがでしょうか?素晴らしいソリューションで、フリーランスの人や制作会社、イベント会社の人たちには大喜びされる内容だと思います。

Shifterには日本語のサイトや管理画面がないので、こちらのブログに書くことにしましたが、ご意見、ご感想、ご要望もあればお待ちしております。


以下は全部英語ですが、参考になりそうな記事です。

↓ プラグインを作る方々への本、書きました。 ↓

Audacity を利用して、音声のサーっていう雑音・ノイズを取り除く方法

ポッドキャストの録音などをした際に、後ろでサーッというノイズが入ることがあります。これを綺麗に削除する方法です。Garagebandで見つけられる方法というのは、喋っている時にはすべての音をだすけれども、喋っていない時、つまり一定以上の音量が出ていない時にはすべての音を消すという方法でした。これだと、ザーザー音が出たり消えたりして逆に聞きにくくなります。

今回紹介する方法は、雑音のみをサンプリングして、その雑音を全体から取り除くというものです。そのため、話しているときも話していないときも、一貫してノイズがないという状態にできます。

Audacity というMacでもWindowsでもLinuxでも動く音声編集ソフト

Audacityを利用します。Audacityの概要は、

Audacityプロジェクトは、WindowsやMac OS X、Linux、各種BSDで動作するフリーの音声ファイルエディタを開発するプロジェクトです。AudacityはWAVEやAIFF、MP3、oggといったフォーマットの読み書きに対応しており、音声ファイルのトリミングや音量調整、各種エフェクトの適用といった機能を備えています。

というものです。無料で利用することができます。

Audacity をダウンロードして開いたら、音声ファイルを開きましょう。次のステップは、

  1. ノイズのみのサンプリング
  2. ノイズのみの削除

という2段階になります。「選択」が戸惑うので以下のようにやってください。

1. 人が喋っておらずノイズのみがしている箇所を選択する

この図の上半分の色が濃いところ参照。
この図の上半分の色が濃いところ参照。

選択の仕方は、音の波が表示されているところをドラッグする感じです。

2. エフェクト > ノイズの除去

ノイズのみのエリアが選択されている状態で、エフェクト > ノイズの除去と進みます。

ここです。

3. ノイズプロファイルの取得を押す

そのまま押せば大丈夫。

押してください。押すと、特にメッセージがなくこのウィンドウが閉じますが、できてます。これがステップ1のサンプリングです。

4. 波形エリアを全選択

ここが分かりにくいのですが、ステップ2に進む際に、波形エリアを全選択します。コマンドAやコントロールAでできます。

5. もう一度メニューからエフェクト > ノイズの除去 と進み、OKボタンを押す

波形エリアを全選択した状態で、もう一度ノイズの除去ウィンドウを開きます。すると、右下のOKボタンをクリックできるようになっているので押します。dBや感度などを調整できますが、何もしないで押してだいたい綺麗にとれます。音がおかしくなったら以下を試します。

  • ノイズの除去(dB): おかしくならない範囲で大きくする。どのくらいの音の大きさでノイズを削除するかを指定する。値を大きくすると静かになるが、やりすぎると必要な音も消える。
  • 感度: おかしくならない範囲でできるだけ小さくする。 ノイズとして認識する程度を指定する。値を小さくしすぎるとロボットみたいなキリキリした音が混ざるようになります。
  • 周波数平滑化バンド: キリキリ音が出たときに軽減してくれるが、大きくしすぎると、人間の声がクリアじゃなくなることもある。

というわけで、一回目のノイズのみ選択がサンプリングで、二回目の全選択が除去を実施する範囲なのでした。

以上です。ポッドキャストの配信方法については、手軽なポッドキャスト配信方法。録音編集、iTunes登録、WordPress、リモートについて。 もご覧ください。

ノイズを消す方法の公式のマニュアル(英語)

↓ プラグインを作る方々への本、書きました。 ↓

OmegaT で Google Cloud Translation API を利用する方法(Macで)

OmegaTとは

OmegaT とは自由に使える(GPL)翻訳メモリツールです。

OmegaT の公式ウェブサイト。"自由に使える(GPL)"というタグラインが熱い!
OmegaT の公式ウェブサイト。”自由に使える(GPL)”というタグラインが熱い!

左側に原文と訳文のペア、右側に翻訳メモリからの参考訳文、用語集、各種選べる機械翻訳などが表示されているUIです。見た目は以下のような感じです。

OmegaT のUI。参考訳文が出てなくてすいません。

まだ使い始めたばかりなので勝手がわからないところもあるのですが、今回はこのOmegaTからGoogle翻訳のAPIへ原文を送り翻訳結果を得るための手順をまとめました。バージョンが進んでおり、現在のドキュメントの通りではなかったので、誰か探している人がいたらたどり着いてくれるとうれしいです。現在の環境は以下です。

  • Google Cloud Translation API: Ver. 2
  • OmegaT: Ver. 3.6.0

Google Cloud Translation API を使えるようにする

僕がなれていないからなのか、Google Cloud PlatformというGoogleのクラウドサービスのアカウント、認証、支払い、リソース確認など、利用全体を管理できる画面があるのですがここが難しかったです。

前提として、Googleのアカウントはあるというところから始めます。普段使っているもので大丈夫です。

まずは、IAMと管理のページへ行き、プロジェクトを作成します。

Google Cloud Platformでプロジェクトを作成する

次に、API Managerのダッシュボードに行き、”+APIを有効にする”というリンクをクリックします。

Google Cloud PlatformのAPI Manager。リンクがわかりづらい。
Google Cloud PlatformのAPI Manager。リンクがわかりづらい。

クリックするとAPIのリストが出ます。その中から検索窓を利用してGoogle Cloud Translation APIを選択します。そこで、タイトル(?)の右側にある”有効にする”というリンクをクリックします。

Google Cloud Translation APIを有効にする
Google Cloud Translation APIを有効にする

次に、左側のメニューに表示されている認証情報をクリックして、APIキーを作成します。

Google Cloud PlatformでAPIキーを作成する

はい。そうするとAPIキーが取得できます。

次に、支払情報を入力します。クレジットカードが必要です。翻訳APIの利用料金はここに詳細がありますが、百万文字で20ドルです。ちなみに今、60日間無料かつ3万円分くらいが無料になっています(1,500万文字まで無料!)。

お支払のページに行きます。そこで、先程作成したプロジェクトを選択すると支払いの登録などが可能になります。

OmegaTにAPIキーを登録する

上記の作業で取得してきたAPIキー(39桁くらい)を、OmegaTで使えるようにします。Macでは、OmegaTのアイコンを右クリックして「パッケージの内容を保存」から中身を見れる状態にして、設定ファイルを編集します。このためのGUIはありません。

問題は、ウェブサイトやソフトウェアに同梱されているマニュアルやドキュメントに書かれている情報だとバージョンに追随していないのでうまくいかないということでした。

/Applications/OmegaT.app/Contents/Resources/Configuration.propertiesを編集します。

OmegaTの設定ファイルで、さっきのKeyを登録する

Googleから取得してきたAPIキーは、上記のパスにあるファイルを編集し、上記画像の矢印の部分にコピペします。

すると!

こんな感じで訳文が返ってくる。

Google側もOmegaT側も大変苦労いたしました。みなさん、お楽しみください!

サポートについて

OmegaTについて質問がある方は礼儀正しく、Twitterでジャンさんに日本語か英語かフランス語で聞いてみましょう

ちなみに、男木島でお世話になっているジャンさんと範子さんが貢献者に!
男木島でお世話になっているジャンさんと範子さんが貢献者に!

↓ プラグインを作る方々への本、書きました。 ↓

シングルインストールのWordPressをマルチサイトの子サイトとしてインポート/マイグレーションする。

WordPress のシングルインストール(普通にインストールしてあったサイト)のコンテンツから何からをまとめてマルチサイトの子サイトとしてマイグレーションする方法。

普通のWordPressの移行の方法とほとんど同じで差があるところは、

  1. url が変わる
  2. uploads/ ディレクトリのパスが変わる( uploads/sites/site_id )になる
  3. users と usermeta がマルチサイトの親サイトに統合される

の3点です。

今回は、3点目は手動でなんとかすることにして、1, 2 をぱぱっとやる手順についてまとめます。example.jp というサイトを example.com/ja に移行するとすると以下のようになります。

  1. マルチサイトを用意して、子サイトを作る
  2. 子サイトのIDを把握する。以下、サイトIDは2だったとして進めます
  3. シングル側でDBをダンプする(wp_users, wp_usermeta はしない)
  4. ダンプしたDBに対して、以下の置換を行う
    1. example.jp -> example.com/ja
    2. /wp-content/uploads/ -> /wp-content/uploads/sites/2/
    3. `wp_ -> `wp_2_ (バックティックを含めると事故が少ない)
  5. themes/, plugins/ ディレクトリを移す
  6. uploads ディレクトリを wp-content/uploads/sites/2/ に移す
  7. マルチサイト側にインポートする

これでできます。作業中なので他にも何かあったら更新していきたいと思います。

コマンドで置換する

sed コマンドを使います。

cat ./prod-single-sub.sql \
 | sed -e 's/https:\/\/example.jp/http:\/\/example.com\/ja/g' \
 | sed -e 's/http:\/\/example.jp/http:\/\/example.com\/ja/g' \
 | sed -e 's/example.jp/example.com\/ja/g' \
 | sed -e 's/`wp_/`wp_2_/g' \
 | sed -e 's/\/wp-content\/uploads\//\/wp-content\/uploads\/sites\/2\//g' \
 > ./dev-multi-sub.sql

wp-cli で、特定のテーブルのみをエクスポートする

3の wp_users, wp_usermeta を排除するには、次のようにするとよいです。

wp db export prod-single-sub.sql --tables=wp_commentmeta,wp_comments,wp_links,wp_options,wp_postmeta,wp_posts,wp_term_relationships,wp_term_taxonomy,wp_termmeta,wp_terms

--tablesでどのテーブルを対象にするのかが決められるのですね。

↓ プラグインを作る方々への本、書きました。 ↓