チャイナパワー

しばらくソフトウェアの仕事から離れていて、ここ数ヶ月の間に、再履修みたいな感じで、オープンソース界隈を眺めていた。 自分の興味の対象とかもあって、偏りはあるけれども、おおむね感じたこととしては。。。

最重要なソフトウェアの、重要なポジションに日本人はいる。頑張ってる。
でも、荒削りでも、新しく、元気なソフトウェアプロジェクトのコミッターには、中国の人のパワーを感じる。

ということ。

国内で人気サイトを運営しているところのエンジニアさんの blog なんかを見ると、頑張っている人も沢山いるのも分かるけど。

もっと、日本人も積極的に出て行かないと、終わるよ。。。
というか、終わりの始まりを見ているのかも。

自分が現役でソフトの業界にいたときは、日本ローカルの SI 活動は、責任のなすりつけあいのために、信頼性はあるけど、たいした機能も無い、化石みたいなソフトウェアをありがたがって使っている傾向があったけど、今でもそうなんでしょうかねえ。

Raspberry Pi Zero W 発売間近か

スイッチサイエンスさんのページによれば、ようやく技適とれたようです。

1296円は魅力だけど、処理速度は、かなり遅いので、ファースト ラズパイは3Bがお勧めです。
3Bでプロトタイピングして、組み込みの何かの見通しが立ったら、実装系として買う感じかなあ。

なんというか、処理速度の閾値みたいなのが自分の中にあって、3Bはありだけど、Zeroは厳しいなという印象です。

ハードウェア制御のエンジンにするなら、充分リッチな環境だと思いますが。

Windows での 常用アプリ

Windows でよく使うアプリ

Git for Windows
ソースコード管理以外にも、Bash 環境がバンドルされていて、ほぼ、これだけで疑似
UNIX/Linux 環境が整う。 サーバー系は Docker かエミュレーター もしくは実機(私の場合は Raspberry Pi 3B)でまかなえばいい感じ。
基本的に ssh もここで繋げてしまうので、ssh クライアント使わなくなった。ssh の設定は C:\Users\ユーザ名\.ssh\config に書いておけば OK。

ConEmu
コンソール環境の強化。 コマンドプロンプト、PowerShell、Git Bash、Docker どれもこのコンソールエミュレーターに集約している。
bash と cmd と ssh(Git bash)をタブで同時使用とか、かなり便利。
日本語を使う場合、安定版(stable)よりも、preview とか alpha の方が良かったりすることも多いので、動作に不満があったら試してみるといい。公式サイトのおすすめは preview らしい。

Docker
Windows に限らないけど、仮想環境は便利。
どーでもいいけど、イラストがかわいい。 イラストのかわいさだと yarn もいいけど。

Atom
これも Windows に限らないけど便利。最近、ようやく Git 機能が入った。 日本語化すると起動が遅いので、英語メニューで使っている。

Cyberduck
ftp, sftp, webdav クライアントとして良く出来ているし、DropBox や Google drive なども同期クライアント無しで集約できるので楽。

Chrome
入っていて当然。 デベロッパーツールは本当に奥が深い。

node.js
node そのものもいいけど、これをベースに作られたツール関係も便利。
http-server とか、ちょっとしたコンバーターとか便利だわ。 awesome node.js h_network21氏による日本語訳 とかで探すと面白い。
この辺は、python とか ruby とか Go でもいいと思うけど。

このあたりと、フォントくらいを入れれば、一通り揃った感は出てくるようになった。
Mac だと、コンソールとか bash とかフォントについては、揃ってるけど、Windows も、かなり環境構築の作業量は減った感がある。

WordPress の Twenty Eleven テーマに Facebook のボタンを追加する

前回のツイッター編に続いて、Facebook 編。

前回、今回ともに Twenty Eleven という少し古めのテーマを使っていますが、公式デフォルトテーマは、新しいものでも同じような構造になっているので、同じ手法で行けることも多そうです。

今回は、header.php, content.php, content-single.php の3つのファイルに手を入れます。

まずは、header.php の HEAD のタグの中に以下のコードを追加


<meta property="og:url" content="<?php the_permalink(); ?>">
<meta property="og:type" content="website">
<meta property="og:title" content="<?php the_title(); ?>">
<meta property="og:description" content="<?php bloginfo('description'); ?>">
<meta property="og:image" content="投稿用画像のURL">

Facebook のボタンはクリックした後に、Facebook 側からクローラーがこちらのサイトのURL(後で指定する個別投稿ページのパーマリンク)を読みに来て、各種の情報を取得するようになっているようなのだが、このクローラーが正しい情報を読めるとは限らないので、個別投稿ページのヘッダーに、情報を埋め込んでおく。 無しでも動くし、シェアプラグインの類でもこのタグは使ってないものも多いが、安定動作のためには入れて置いた方がいい。イメージのURLも適当に明示指定するのがお勧めです。 ある程度のサイズ(260 px 角以上とかそのくらい)が必要なようです。

このヘッダーは、各ページに使用されるものなので、個別投稿ページ以外では正常に動作しない可能性があるが、悪さはしないので、これでいいかなと考えている。

また、Facebook のクローラーには、キャッシュが入っていて、一度失敗すると、しつこく失敗し続けることもあるようなので、もし、Facebook ボタンを追加するのであれば、面倒がらずに最初からちゃんとやった方が良いようです。 間違った情報がキャッシュされると Facebook 側のデバッグツールを使わないとなかなか消えなくて鬱陶しいです。

Facebook の SDK を読み込んでおきたい場合は、BODY の開きタグの直後に書いておけばいいです。 ちなみに Google Analytics のコードもここに置きます。

保存したら、次に、Facebook のボタンコード生成ページでコードを作ります。
https://developers.facebook.com/docs/plugins/share-button#
IFRAME 版の方のコードの方が、ずれたりしにくいように見えるので、こっちを使います。 通常版の方は SDK の読み込みコードが必要です。 IFRAME 版は無くても大丈夫そうです。

生成したコードを、前回同様に content.php および content-single.php の以下のタグ


</div><!-- .entry-content -->

の直前にコードを貼り付けます。
次に、URL が入っている部分を、以下のコードに書き換えます


<?php urlencode(the_permalink()); ?>

ちょうど、href= から & layout の間になると思います。

これで保存して、完了です。

今回の記事では、以下のページを参考にしました。
WordPressでFacebookのいいね!ボタンを不具合無く設置する際のポイント