AtomのSymbol Viewプラグインでfunctionのみ表示する方法

これまでは「symbols-tree-view」を使用していましたが、サイドバーではなくSublime Textのようにプルダウンで表示したかったので、「symbols-view」を使用することにしました。
ただ、このプラグインはすべてのsymbolを表示してしまい、プルダウンが長大になってしまうので、以前インストールした時は使用継続を断念してしまいました。

そこで、今回は挫折せずに解決方法を探したところ、方法を見つけましたので試してみました。

「symbols-view」はctagというものを利用してsymbolを識別しているようで、その識別方法を指定してあげることで表示するsymbolを選択できるようです。
その方法を下記に記します。ちなみに私の使用OSはmacですので、

(1)まずctag用設定ファイルを作成する

お使いのPCにて、ユーザーディレクトリ直下にctag用の不可視ファイルを作成します。

MACの場合は「/Users/(ユーザー名)/.ctags」
windowsの場合は「C:\Users\(ユーザー名)\ctags.cnf」

(2)上記で作成したファイルに下記の設定を入力する

--php-kinds=f

fは「function」の意味で、上記設定ではphpのfunctionのみsymbolとして表示する設定です。
その他のsymbolは下記のように指定します。

c classesi
i nterfaces
d constant definitions
f functions
v variables
j javascript functions

例えばクラス名とファンクションと変数名を指定したい場合は下記のようにします。

--php-kinds=cfv

(3)ctagsを保存してAtomを再起動する

本来は必要ないかもしれませんが、念の為再起動しました。

(4)cmd+rでsymbolを表示

指定したsymbolが表示されました

◎参考URL
https://github.com/atom/symbols-view/issues/125

plan.ioを使っています

現在新しいWEBサービスを立ち上げようとしていますが、その開発工程を管理するためRedmineを使用しようと思っていました。
ところがリモートのサーバーにRedmineをインストールできず困り果てて、サードパーティー製のRedmineを探していたところ、「plan.io」というサービスを見つけました。

このサービスはRedmineをカスタマイズして提供しており、1プロジェクトで2ユーザーであれば無料で使えます。
使い勝手もよかったので継続しようとおもっていましたら、ダッシュボードに「お試し期間が終わりました。このアカウントは近日中に閉鎖されます」というメッセージが・・・

「あれ?無料で使えるのって試用期間中だけ?」と思ってサイトをあさっていると、ログイン後の左上にあるアカウントメニューから「Customar Account」からアクセスするページのヘッダーメニューに「プラン」というのがあり、そこでで無料プランの「Bronze」が選べるではないですか。
早速プラン変更しようとしましたが、なぜかリストボックス内のBronzeが選べません。
途方に暮れること数十分。はたと気が付きました。

実はplan.ioのアカウント取得時、すでにデフォルトのプロジェクトが一つ作成されていたのです。
私はなぜかそのプロジェクトを「サンプル」と勘違いして、自分で新たなプロジェクトを作ってしまいました。
そのためプロジェクトが2つになってしまい、Bronzeの「1プロジェクト」という枠からはずれてしまったのです。

いや~、早とちりは困ったもんですね~

Favorites for WordPressでお気に入り一覧を新着順に表示する方法

Favorites」は、クッキーとAJAXを利用してお気に入り登録ができるWordpress用プラグインです。
wordpressへのユーザー登録を必要としないので、簡単にお気に入り機能を実装できます。

ただ、デフォルトで利用すると、表示順が記事の投稿順になってしまいます。
そこで、少しだけコードを追加することで、お気に入りした順番に表示するようにしてみます。

まずはお気に入りを出力するコード

$favorites = get_user_favorites();
if ($favorites) :
  $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; // If you want to include pagination
  $favorites_query = new WP_Query(array(
  'post_type' => 'post', // If you have multiple post types, pass an array
  'posts_per_page' => -1,
  'ignore_sticky_posts' => true,
  'post__in' => $favorites,
  if ($favorites_query->have_posts()) : 
    while ($favorites_query->have_posts()) : $favorites_query->the_post();
      echo $post->post_title;
    endwhile;
  else :
    echo 'お気に入りはありません';
  endif;
));

上記のコードに以下の2行目と9行目を追加します。

$favorites = get_user_favorites();
krsort($favorites);
if ($favorites) :
  $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; // If you want to include pagination
  $favorites_query = new WP_Query(array(
    'post_type' => 'post', // If you have multiple post types, pass an array
    'posts_per_page' => -1,
    'ignore_sticky_posts' => true,
    'post__in' => $favorites,
    'orderby' => 'post__in'
  ));
  if ($favorites_query->have_posts()) : 
    while ($favorites_query->have_posts()) : $favorites_query->the_post();
      echo $post->post_title;
    endwhile;
  else :
    echo 'お気に入りはありません';
  endif;
));

具体的に説明します。

まずは2行目のkrsort($favorites); の部分は、取得したお気に入りデータを並び替えています。
$favoritesは配列で、お気に入りした順番(昇順)でデータが格納されています。
そこで、それを降順(つまりお気に入りした日時の新しい順)に並び替えます。

その配列をWP_Query()に渡すわけですが、WP_Query()は実行後に記事を投稿日時の新しい順に勝手に並び替えてしまいます。
そこで9行目の‘orderby’ => ‘post__in’ を指定します。
この「post__in」の意味は、「その上の行で指定している$favorites配列の順番でデータを取得してくれ」というお願いです。

こうすることで、最新のお気に入りから順番に表示してくれるようになるはずです。

panasonic Lumix DC-GF9

Panasonic LUMIX DC-GF9買った!

色々悩みましたけど、結局マイクロ・フォーサーズのGF9にしました。

なぜって、私の素人スキルではこれくらいがちょうど良いという結論に至ったもので。。。

この機種は後継機としてDC-GF10がすでに発売されていますが、まず機能的に大差がなく(新機能は使わないと思うので)、その割に新機種は価格も高いのですが、一番の理由は追加されたグリップです。

これは個人的な好き嫌いですけど、私はフラットが好きなので、あのグリップがすごく異質に見えます。
落下防止はストラップで間に合いますので、グリップは必要ないかなと思いました。

そういうわけでGF9にしたのですが、購入に至った理由はもう一つあります。
今回の購入は一種の衝動買いだったのです。
実機を見たくてある量販店に行ったところ、案の定係員が声をかけてきました。
もともとネットで買う予定だったので、なんて言おうか考えながらも話をしていたんですが、
購入の話になって(もういいや)ってことで正直にネットの金額を伝えたら、
「ちょっと相談してきます」と言って係員が姿を消し、数分後に戻ったときにはネットより安くなっていました。
ブラックよりオレンジの方が安いのでそっちを買うつもりだったし(お店にブラックの在庫はありませんでした)

これで買わない理由がなくなりました。即購入です。

家に帰ってしげしげと箱を眺めてから、、、

本体と付属品並べてみました(^o^)/

GF9の本体と付属品

その後家に帰ってじっくり触ってみましたが、触れば触るほど欲しい機能が付いていて嬉しくなってきました。
お気に入りは以下の機能です。

  1. 4K動画(30fpsで撮影できるそうです)
  2. タッチパネル(当初は必須ではなかったですが、やっぱり便利です)
  3. rawデータ保存(これは知らなかったので嬉しい誤算でした)

この機種で腕を磨いてから、フルサイズ一眼にステップアップできればと思います!

そんなわけで次の日はこんな本も買ってみました。

カメラはじめます!

 

本屋さんでじっくり吟味してから購入しました。
私が知りたかったことはほぼ網羅してます。オススメですので、一度本屋さんで確認してみてください!

さて、これで楽しみが増えたということで外出〜と思ってたら連日の猛暑。。。
秋が待ち遠しい今日この頃です。

※アイキャッチの画像はTiến Nguyễnflickrからお借りしました。

ずっと探していたものが、一つずつ見つかってる

今まで「自分は何のために生まれてきたんだ」と思っていましたが、
別にそんなに深刻に考えるほどのことでもありませんでした。
時期が来ればおのずと答えが出るもののようです。

やはり「経験」というのが重要で、それがあるからこそ最終的な答えが出るのだと思います。情報だけ与えられても実感できないんですね。

1行目に対する自分の答えは「やりたいことをやればよい」です。
生まれてきた以上、その生命は自由です。

なのでやることにしましたが、それには色々と資金が必要なんですよね~
おまけに誰のためでもない自分のためで、ほとんど趣味の世界なので、
クラウド・ファウンディングにも出せないし。

まぁ、でも目標があるのは良いことなので、コツコツやっていきます。