タグ

ブックマーク / zariganitosh.hatenablog.jp (26)

  • なるべく理解したいffmpeg - ザリガニが見ていた...。

    ストリーム・フィルターチェーン・フィルターグラフ・リンクラベルという概念に注目して調べてみた。 ファイル情報を見る ファイルに含まれるビデオとオーディオの形式を確認してみる。 $ ffmpeg -i sample.flv ffmpeg version 2.5.4 Copyright (c) 2000-2015 the FFmpeg developers ...中略... Input #0, flv, from 'sample.flv: Metadata: starttime : 0 totalduration : 1155 totaldatarate : 346 bytelength : 50005082 canseekontime : true sourcedata : B0AFCF105HH1424147114695748 purl : pmsg : httphostheader :

    なるべく理解したいffmpeg - ザリガニが見ていた...。
  • 必ず見つかるSpotlightにしておく - ザリガニが見ていた...。

    OSX 10.8 Mountain Lionでは、Spotlightで見つけられないキーワードがあるらしい。具体的には、「じじい」とか「シンガポール」とか「ノーライフキング」など。 【Mac初心者は注意!】Macではファイル名検索でヒットしない文字列がある!! - すりゴマ・ドットコム MacのSpotlightで検索できないファイルも簡単に検索できるEasyFindが便利。 Spotlight: Apple サポートコミュニティ OSX 10.8.5 Mountain Lion の Spotlight 当なのか?実験してみた。 ターミナルで、以下のファイルを作成してみた。(コピー&ペーストで実行) cd ~/Documents > じじい.txt > シンガポール.txt > ノーライフキング.txt テキストエディット.appで、以下の新規テキスト書類(ファイル名:spotlight

    必ず見つかるSpotlightにしておく - ザリガニが見ていた...。
  • OSX 10.10 YosemiteでWeb共有を有効にする - ザリガニが見ていた...。

    OSX 10.8以降、システム環境設定からWeb共有のGUI設定がなくなってしまった。しかし、なくなったのはGUI設定だけで、apache2の設定ファイルを修正すれば、以前同様Web共有が使える。そこで、簡単にWeb共有を開始できるように、以前の日記でAppleScriptにまとめておいた。 OSX 10.8でWeb共有を有効にする - ザリガニが見ていた...。 ところが、時は流れてOSX 10.10 Yosemiteでは、上記AppleScriptではWeb共有が使えなくなっていた...。 apacheのバージョン 調べてみると、OSX 10.10 Yosemiteから、apacheのバージョンが2.4に変更されていた。(以前はバージョン2.2だった) OSX 10.9 Mavericksまで $ apachectl -v Server version: Apache/2.2.26 (

    OSX 10.10 YosemiteでWeb共有を有効にする - ザリガニが見ていた...。
  • なるべく書かないawkの使い方 - ザリガニが見ていた...。

    awkという、古くからのスクリプト言語がある。(1977年生まれ。読み方は「オーク」である。エイ・ダブリュ・ケイではない)man awkをPDFに変換してみると、たったの3ページ強しかない。 $ man -t awk|pstopdf -i -o ~/Downloads/awk.pdf とてもシンプルな言語仕様ではあるが、awkには必要十分な表現力がある。特にテキストを処理する場面においては、最小限のシンプルな記述で、気の利いた処理を素早くこなす。無駄のないawkワンライナーを見ると、ある種の感動を覚える。awk以降に生まれたスクリプト言語は、少なからずawkの影響を受けていると思われる。 awkを知ることで、間違いなく幸福度は上がると思う。いつかきっと「知ってて良かった」と思える時が来るはず。もっともっと、awkを知りたくなってきた。 基動作 awkの基動作は、とってもシンプルである。

    なるべく書かないawkの使い方 - ザリガニが見ていた...。
  • bundlerでgemバージョンを束ねる - ザリガニが見ていた...。

    Rails1.1.6の環境でどうにかscaffoldはできるようになった。その時の実行環境は以下の状態だった。 $ rbenv version 1.8.7-p375 (set by /Users/zari/.rbenv/version) $ gem list *** LOCAL GEMS *** actionmailer (1.2.5) actionpack (1.12.5) actionwebservice (1.1.6) activerecord (1.14.4) activesupport (1.3.1) rails (1.1.6) rake (0.7.1) sqlite3 (1.3.10) この実行環境というのは非常にデリケートである。 例えば、今の時代にRails-1.1.6を�gemに従うままにインストールすると、最新のRake-10.3.2がインストールされる。 しかし、Ra

    bundlerでgemバージョンを束ねる - ザリガニが見ていた...。
  • プロンプトにRubyのバージョンを表示したい - ザリガニが見ていた...。

    rbenvによって、Rubyバージョンは素早く、簡単に切り替えられるようになった。 すると、作業中にいったい自分はどのRuby環境にいるのか、見失ってしまうことがある...。 そうならないように、コマンドプロンプトにRubyのバージョンを表示しておきたい。 やってみた。 プロンプト Rubyバージョンの由来を調べて(rbenvのglobal・local・shellのどれか) systemの場合は、ruby -vのバージョンを使う。 __ruby_ps1() { if [ -e "$HOME/.rbenv" ] ; then if [ "$RBENV_VERSION" != "" ]; then rbenv_scope="shell" else if [ -e ".ruby-version" ]; then rbenv_scope="local" else rbenv_scope="glob

    プロンプトにRubyのバージョンを表示したい - ザリガニが見ていた...。
  • 古いRails環境を再起動するまで - ザリガニが見ていた...。

    古いRails環境というのは、具体的にはRails1.1.6である。実はこのブログの始まりは、Railsの学習の記録であった。むかしむかし、このブログ創世の頃、Railsはバージョン1.1.6がメジャーであった。そのため、自分のMacBookの中には、Rails1.1.6の実験プロジェクトがたくさんある。 しかし、現在のRailsはバージョン4.1.7まで進んでしまった。過去のプロジェクトをちょっと動かして試してみたい衝動に駆られても、エラー出まくり。まったく動かない...。このまま永遠に起動しないRailsプロジェクトが残り続けるのも悲しいので、昔の環境を整えて、過去の遺産を再起動してみようと思い立った。以下は、MacBook Pro Retina15 OSX 10.9.5の環境で、Rails1.1.6を起動するまでの記録。 HomebrewとCommand Line Toolsを使う

    古いRails環境を再起動するまで - ザリガニが見ていた...。
  • 必要最小のgemの作り方とインストール - ザリガニが見ていた...。

    gemは、Rubyのライブラリ管理のコマンド。Rubyのライブラリを検索・インストール・アップデート・削除など、苦労最小で操作する仕組みを提供してくれる。今までgemを使って、多くの素晴らしいライブラリをインストールしてきた。しかし、自分が作ったものをgemでインストール可能な形式で公開したことはなかった...。 できることならgemでインストールできるようにしてみたい。では、自作のRubyコードは、どうすればgemでインストールできるようになるのか?果たして、簡単にできることなのか?調べてみた。 作業環境 MacBook Pro Retina15 OSX 10.9.5 Rubyバージョン $ ruby --version ruby 2.0.0p481 (2014-05-08 revision 45883) [universal.x86_64-darwin13] Gemバージョン 最新のG

    必要最小のgemの作り方とインストール - ザリガニが見ていた...。
  • RubyのOptionParserの底力を知る - ザリガニが見ていた...。

    コマンドは、以下のような書式でオプションと引数を設定して、実行する仕組みになっている。 例: コマンド名 オプション オプション オプション引数 オプション コマンド引数 optparser_test.rb -a -b VALUE --foo FILE_PATH 実際にコマンドを作ろうとすると、オプションの解析には手間がかかると気付く。 そのため、多くの言語環境にはオプション解析用のライブラリが用意されている。 Rubyのoptparserについて、基的な使い方は知っているつもりだったが... Rubyでコマンドの中身を作るまで - ザリガニが見ていた...。 ちょっと気の利いたコマンドにしようとすると、その使い方は謎だらけになった。 どうしたら苦労最小限でオプションを解析できるのか、調べてみた。 基 require 'optparse' OptionParser.new do |op

    RubyのOptionParserの底力を知る - ザリガニが見ていた...。
  • JavaScriptを圧縮・整形するコマンド作り - ザリガニが見ていた...。

    最近、ブックマークレットを書く時には、Closure Compilerをよく使う。Closure Compilerは、Googleが提供しているJavaScriptコードの圧縮・整形サービスの一つである。 Closure Compilerを使う! - トップページ 圧縮といってもzip圧縮などとは違う。正確には、コンピュータが実行しやすいように最適化しているのだ。 コメントや空白文字を削除したり、 使っていない関数を削除したり、 変数名や関数名を短縮したり、 最適化レベルによっては、関数の中身のコードを展開することもある。 以上の作業を機械的に行って、最適化されたコードを返してくれる。人間にとってはめちゃくちゃ読み難いコードだけど、コンピュータにとっては無駄のない、実行しやすいコードとなるのだ。 逆に、そのようなめちゃくちゃ読み難いワンライナーにインデントや改行を追加して、少しでも人間が解

    JavaScriptを圧縮・整形するコマンド作り - ザリガニが見ていた...。
  • このブログについて - ザリガニが見ていた...。

    ザリガニが見ていた...。

    このブログについて - ザリガニが見ていた...。
  • iOS7の使い心地 - ザリガニが見ていた...。

    フリックの達人 iOS7ではフリックが進化したと思う。 フリックする位置と方向によって、様々な便利機能に素早くアクセスできるようになった。 画面外周からのフリックについては、画面表示エリアの外側から操作を開始するのがコツ。 縦方向のフリック 縦方向にフリックには、iOSとしての機能が割り当てられている。 操作 呼び出される機能 操作環境 画面外周上端から下方向にフリック 通知センターを表示 ロック画面、ホーム画面 画面外周下端から上方向にフリック コントロールセンターを表示 ロック画面、ホーム画面 画面内側を下方向にフリック Spotlight検索 ホーム画面 横方向のフリック 横方向のフリックには、アプリケーションに対する操作が割り当てられている。 操作 呼び出される機能 操作環境 画面外周左端から右方向にフリック リスト階層をルート方向に遡る 電話、メッセージ、メール、メモ、リマインダ

    iOS7の使い心地 - ザリガニが見ていた...。
  • 見えない通知を捕まえて通知駆動アプリケーションを作る - ザリガニが見ていた...。

    iOS5で鳴り物入りで登場して、その仕組みがMountain Lionにも取り入れられたと錯覚しがちな通知センターであるが、実は通知センターという考え方は、はるか昔のNeXTSTEPの頃からあった。その証拠に、通知センターを実現するクラス(NSUserNotificationCenter)はNSで始まっている。NSはNeXTSTEPの頭文字なのだ。 NSUserNotificationCenterは、Mountain Lionで導入された、その名のとおりユーザーのための通知センターである。一方、NeXTSTEPの頃から使われている通知センターは、NSNotificationCenterである。Userが抜けている。NSNotificationCenterは、オブジェクト(プロセス)間の通信のための通知センターである。オブジェクトに通知することが目的なので、GUIとして視覚的に見せていないの

    見えない通知を捕まえて通知駆動アプリケーションを作る - ザリガニが見ていた...。
  • Automatorで高度な画像フィルターを利用して、その便利さに気付く - ザリガニが見ていた...。

    今まで、Automator(オートメーター)のことを見くびっていた。Automatorっていうのは、OSX 10.4の頃から登場した棒を斜めに持ったロボット君だ。アプリケーションフォルダの中にいるはず。きっと、準備万端、いつでも指示通り動けるように今か、今かと待機していると思う。にもかかわらず、ほとんど使ったことがなかった...。 過去何度か、試しに起動して、適当に弄って、よく分からずに閉じる、ということを繰り返しただけ。よく分からない時の自分への言い訳は、「どうせApple Scriptが機能限定で見栄えよく使えるようになっただけだろうから、余分なことは覚えなくてもいいや。」ぐらいに考えていた。(自分勝手な思い込み) ところが、Automatorに真剣に取り組んでみると、「何だかこれはちょっと凄いことになっているぞ!」ということに気付いたのだった。 画像フィルタを試す ワークフローの作成

    Automatorで高度な画像フィルターを利用して、その便利さに気付く - ザリガニが見ていた...。
  • MacBook Pro Retinaに入れたフリーなソフトウェア - ザリガニが見ていた...。

    MacBook Pro Retinaを使い始めて1ヶ月が経過した。Snow Leopardである旧MacBookの環境は丸ごとコピーせず(OSが劇的に変わっているので)、必要なものだけ、その都度、ひとつ一つ手作業でコピーしてきた。ゆっくりだけど、少しずつ便利な環境になりつつある。以下は何をインストールしてきたか、のメモ。 方針 可能な限りOS標準の状態を維持する。 可能な限りOS標準のソフトウェア・機能を利用する。 しかし、そうなっていない気もする...。 Resolution changing app Retina入手したら、まずは2880×1800の素の解像度を試したくなった。 圧巻!なんて広いデスクトップだろう! と同時に、なんて小さな文字だろう...。 現状はAppleScript&Quicksilverを利用して、以下の解像度に自由自在に変更できるのだ!楽しい! Retinaの広

    MacBook Pro Retinaに入れたフリーなソフトウェア - ザリガニが見ていた...。
  • iPadのSafariに不足しているものを補う - ザリガニが見ていた...。

    指でダイレクトに触ってなめらかに反応する、あのiPadUIは、あっという間に使う人々を魅了する。しかし、そのまま使い続けているうちに、実はMacBookのようなマウスを利用したUIほど細かい操作ができないことに、いずれ気付く。 iPadUIには、指先での操作を考慮して、適度なサイズと間隔が保持されている。そのため、マウスのUIほど機能を詰め込むことが出来ず、厳選した機能のみが提供されることになるのだろう。 iPadのSafariに不足しているもの それにしても、今のSafariにどう考えても不足していると感じる機能が、二つある。 表示中のページを閉じる機能 ページ内検索 表示中のページを閉じる機能 例えば、http://b.hatena.ne.jp/hotentry で、気になる記事へのリンクをクリックすると、新規ページが開いてリンク先にジャンプする。 気になる記事を読み終わったら、今

  • 良きに計らうコピー&ペースト - ザリガニが見ていた...。

    選択範囲をコピーして、好みの場所に貼付ける。MacBookにおいてはcommand-Cとcommand-Vで実現される、あまりにも有り触れたこのシンプルな操作は、実はGUI環境のOSに究極の便利さをもたらす必須機能であると、以前、気付かされた。iPhone OS 3.0で、今まで出来なかったコピー&ペーストが実現された時、改めて当然の如く使っているこの機能の便利さを実感したのだ。(それまでが相当不便だった) シンプルな操作とは裏腹に、この機能を実現するためには結構複雑な仕組みが必要らしい。その詳細を説明できるほどの知識はないが、一般的に考えても結構複雑なプロセスを辿る必要がありそう。 コピー&ペーストは、テキストに限らず、選択可能なあらゆるアイテム(対象オブジェクト)で当り前のように利用できる。 修飾情報を持ったテキスト(リッチテキスト)、ファイル、画像、音楽、映像、表計算ソフトなど。 当

    良きに計らうコピー&ペースト - ザリガニが見ていた...。
  • サービスがいいMacBookにしておく - ザリガニが見ていた...。

    Snow Leopardになって、サービスメニューにAutomatorのワークフローを自由に追加出来るようになった。今まで各アプリケーションから一方的に提供されるサービス機能の中で、便利そうなのを見つけて利用するしかなかったが、これからは自分が欲しいと思う機能を創意工夫で追加できるようになったのだ。シンプルなAutomatorのワークフローを作成するだけで。*1 しかも、メニューとして表示されるのは、その状況で利用できるサービスのみに限定されるようになった。以前のように、利用できないものまで含めて、登録されているサービスがすべて表示されて、多すぎるメニューで溢れ返って選択するのが面倒臭くなる状況も改善された。 また、アプリケーション名 >> サービス 以外にも、コンテクストメニューやアクションメニュー(Finderツールバーの歯車アイコン)にも、利用可能なサービスが表示されるようになった。

    サービスがいいMacBookにしておく - ザリガニが見ていた...。
  • 添付書類付きリッチテキスト(.rtfd)の実態 - ザリガニが見ていた...。

    リッチテキスト(.rtf)には画像を貼付けることも出来て、テキストエディットで画像ありの書類を保存してみると、添付書類付きリッチテキスト(.rtfd)として保存できた。 画像を貼付けるにはドラッグ&ドロップ、またはコピー&ペーストでOK。 .rtfdの「d」はディレクトリの意味らしく、その名の通り保存された.rtfdは control-クリック して「パッケージの内容を表示」でその中身を見ることも出来た。つまり、XXXX.rtfdとはファイルではなく、フォルダ(ディレクトリ)ということだ。(以下のような感じ。) XXXX.rtfdフォルダの中にはTXT.rtfと画像ファイルが入っていた。 TXT.rtfの中身は以下 そして、リッチテキストに添付する書類は画像に限らず、あらゆるオブジェクト(ファイルやフォルダ)が添付できるみたい。 映像 音楽 なんと、アプリケーションまで! 最初、アプリケー

    添付書類付きリッチテキスト(.rtfd)の実態 - ザリガニが見ていた...。
  • Xcode3.0でプロジェクト名を変更する方法 - ザリガニが見ていた...。

    最新のXcodeでは、メニューから プロジェクト >> 名称変更... で簡単に変更できてしまう。(だいぶ前から?) 但し、アプリケーションの名称由来のフォルダ名・ファイル名・クラス名までは変更されない。 もちろん、そのままでもOKだし、気持ちが許さなければ自分好みに手作業で変更するのもあり。 例:ABCプロジェクトを作ると、ABCフォルダが生成される。 その中に、ABCAppDelegate.h・ABCAppDelegate.mが生成される。 上記ファイル中にはABCAppDelegateクラスの定義が書かれている。 ちなみに、XcodeでCocoaアプリケーションプロジェクトを作成すると... クラスごとにクラス名称のファイルに分かれる。 ヘッダーと実行ソースもファイルが分かれる。 しかし、それらは仕様ではなく慣例なので、ヘッダーと実行ソースが1ファイルでもOKだし、クラス名称と無関係