タグ

ブックマーク / tech.nitoyon.com (56)

  • Image::ExifTool で写真の EXIF 時刻をまとめてずらす

    カメラの時刻を間違えて設定してしまったり、海外旅行に行ったのに時差を変更し忘れたり、アリバイを作りたくなったり、などなど、現代人にとって写真の時刻をまとめて変更したくなることはよくあるものだ。 便利なフリーソフトもあるんだろけど、スクリプトでまとめて処理したくなるのがプログラマ魂。今回は perl を使ってやってみた。 EXIF の時間を書き換える perl で EXIF を扱うには Image::ExifTool が定番なようだ。CPAN から拾ってきて、簡単なワンライナーを書いてみた。 perl -MImage::ExifTool -e "for $f(glob('*.jpg')){$e = new Image::ExifTool; $e->ImageInfo($f); $e->SetNewValue($_=>240, Shift=>1) for('ModifyDate','DateT

    Image::ExifTool で写真の EXIF 時刻をまとめてずらす
  • JavaScript フレームワークがデータバインディングを実現する4通りの手法

    最近流行りの JavaScript MV* フレームワークは、どれもデータバインディングをサポートしているが、実現方法はフレームワークによって異なる。 この記事では、各種フレームワークがどのようにモデルの変更を検知しているかを次の 4 つのパターンに分類して紹介する。 モデル クラス方式 (Ember.js、Backbone.js、Ractive.js、Knockout.js など) 力ずく方式 (AngualrJS) モデル書き換え方式 (Vue.js) Object.observe 方式 (Polymer) パターン名は私が勝手に名づけたものだけど、このへんの雰囲気が理解できれば、フレームワークごとの個性が分かるだろうし、利用イメージもわきやすいんじゃないかと思っている。 1. モデル クラス方式 「モデルとして扱えるのはフレームワークが用意したモデル クラスのインスタンスだけ」という

    JavaScript フレームワークがデータバインディングを実現する4通りの手法
    issm
    issm 2014/07/18
    最近のフレームワークでのデータバインディングの方法についてのよいまとめ.Object.observe() の今後に期待.
  • ファイル編集したら即ブラウザー再読込させる LiveReloadX を作った

    Web 開発してると、ソースを編集して、ブラウザーをリロードして、という作業の繰り返しになりがちだ。ソースを編集したら、自動でブラウザーをリロードしてくれるような夢のツールがあれば便利そうだ。 この分野では CodeKit や LiveReload などが有名なんだけど、もれなく有料だったり GUI だったりする。そこで、LiveReload のオープンソースな部分を参考にしつつ、コマンドラインで使える LiveReloadX というものを作ってみた。 特長はこんなところ。 Node.js を使ってるので Windows/Mac/Linux 問わずに動かせる 開発環境のブラウザーだけでなくスマートフォンのブラウザーもリロードできる 無料 インストール方法 インストールは超簡単! Node.js をインストールする。 コマンドラインで npm install -g livereloadx

    ファイル編集したら即ブラウザー再読込させる LiveReloadX を作った
  • これがスマートフォン向けサイトを作るときの viewport 設定3パターンだ

    スマートフォン向けの Web サイトを作るとき、viewport の設定次第で使い勝手が大幅に変わる。 最近はレスポンシブ Web デザインが流行してるけども、その大前提として viewport の設定パターンを抑えておくのは重要だろう。 この記事では、viewport の設定によって、見た目・使い勝手がどう変わるかを解説する。 パターン1: 何も考えずに HTML を書く まずは、viewport を指定せずに、単純な HTML をスマートフォンで表示してみる。 <!DOCTYPE html> <head> <meta charset="utf-8"> </head> <body> <img src="/images/logo-ja.png"> <p>色んな素材がごった煮になった様子をお椀で表現しています。 湯気が<strong>「てっく」</strong>に見えるのが隠し味になっていま

    これがスマートフォン向けサイトを作るときの viewport 設定3パターンだ
  • text-hatena.js を GitHub に移動した

    2005 年ごろに作成して放置していた text-hatena.js について、twitter で @nitoyon さん、2005年くらいのtext-hatena.js をGitHub等に公開は可能でしょうか? tech.nitoyon.com/javascript/app… — テラまこさん (@teramako) 12月 17, 2012 というツッコミを受けたので GitHub で公開してみました。 nitoyon / text-hatena.js - GitHub いま text-hatena.js のコードを読み返すと、グローバルな名前空間を汚染してたり、Object.extend() を定義してたりと、いろいろ酷い。 当時は今に比べると JavaScript の知識も浅かったが、浅いなりに prototype.js のコードを読んだり、真似したりして勉強していたことを思い出し

    text-hatena.js を GitHub に移動した
  • 「いいね!」ボタンは XFBML 版を設置して Facebook に最適化すべき

    右側の最近のアクティビティが増えています。もうちょっと下にある「いいね!」一覧も増えますが、あまり目立ってません。 XFBML 版の「いいね!」ボタンを押してみる 押した状態になるところまでは同じだけど、コメント入力用のポップアップが出てきます。 通常の投稿としてタイムラインに表示されましたね。 単に「いいね!」したときに比べて、目立つようになりました。 じゃ、ニュースフィードはどうなる? 自分のタイムラインは分かったので、友達のニュースフィードではどうでしょうか。 Facebook の開発者向けドキュメントには If users do add a comment, the story published back to Facebook is given more prominence. もしユーザーがコメントしたら、コメント内容は Facebook に反映されて、さらに目立つようになり

    「いいね!」ボタンは XFBML 版を設置して Facebook に最適化すべき
  • 俺の最強ブログ システムが火を噴くぜ

    ブログを「はてなダイアリー」から、自分のサーバーに移転しました。 せっかく移転するなら、2012 年の流行を取り入れた挑戦的なブログにしてみたい!と思い、構想から半年、ついにこの日を迎えることができました。 せっかくなので、凝ったところを自慢させてください。 これが俺史上最強のブログ システムだ ブログ システムとして Jekyll を採用 Jekyll のプラグインを自作 (はてな記法対応、英語ブログとの統合) 履歴管理は GitHub を利用、git push で自動でデプロイ コメント欄には DISQUS を採用、旧ブログへのコメントはインポート済み HTML5 マークアップ、CSS3、レスポンシブ Web デザインでのモバイル対応 盛りだくさんですね。 詳しく説明していきます。 ブログ システムとして Jekyll を採用 最近では WordPress を選ぶのが普通でしょう。Wo

    俺の最強ブログ システムが火を噴くぜ
  • コンプガチャだけじゃない!? ガチャに潜む確率の罠 - てっく煮ブログ

    twitter をみていたら、こんなツイートが回ってきました。 モバゲー・GREEが確率明示しないのは、搾り取るためというよりは、クレーム対応減らすため。1%でSR、って書くと「100回引いたのに出ない。詐欺だ」。確率だから、って説明すると彼らはこう返す「だから、100回に1回出るんでしょ?」さあ、どう返そうか。 2012-05-06 17:15:49 via モバツイたしかに「1% のガチャを 100 回引いたら当たる」と思い込んでしまう人は多そうです。では、1% のガチャを 100 回引くと、どれぐらいの人が当たり、どれぐらいの人が当たらないのでしょうか。1% のガチャを 100 回引いて当たらない確率は?さっそく計算してみましょう。1 回ガチャを引いて当たらない確率は です。当たる確率は なので 1% と求まります。2 回ガチャを引いたときに、1 度も当たらない確率は です。つまり、

    issm
    issm 2012/05/20
  • 絶対にコピペできない文章を作ったったwwww - てっく煮ブログ

    html5一見、コピーできるように見えますが、ペーストしてみると・・・。ツイートする

  • 「コピペできない文章」がコピペできなかった理由 - てっく煮ブログ

    html5先日公開した 絶対にコピペできない文章を作ったったwwww はおかげさまで好評だったようで嬉しい限りです。「不思議!」「どういう仕組みなんだ?」という声も多かったので裏側を紹介します。コピペできない訳ではないタイトルは「コピペできない」としていいますが、実際にはコピペはできます。正確に表現すると「コピーすると違う文字になる」という状態になっています。 ではなぜ違う文字になるのでしょうか。結論をいってしまうと「そこにある文字が、人間の目に見える文字とは違う」からです。といっても、これでは分からないですね。今回のために作成された独自フォントトリックの肝は「フォント」です。フォントといえば、文字の見た目を変えるために利用するものです。たとえば、「ほ」という文字を「メイリオ」フォントで表示するとこうなります。フォントを変えて「HG創英角ポップ体」フォントで表示すると、ポップな雰囲気になり

  • 文字を制限した軽量な日本語 Web フォントを作成する方法 - てっく煮ブログ

    HTML5最近、Web フォントをつかってかっこいい表現をしているサイトも増えてきました。ただ、残念ながら 日語で Web フォントを使うのは厳しいのが現実です。というのも、日語には英数字・ひらがな・カタカナ・漢字・記号・・・など必要になる文字数が多すぎるため、フルスペックの日語の Web フォントはファイルサイズがすごいことになりそうです。そこで、「利用したい文字だけを含んだ Web フォントをその都度作ればいいんじゃね?」ということを考えてみました。アイデア自体は珍しいものではなく、例えば デコもじ というサービスは同じようなことをやってくれるようです(ただし、無料では「書体 1 つまで」「5 文字まで」など機能制限が大きい)。手始めに日語 Web フォントを作ってみるまずは簡単に日語 Web フォントを作る方法を紹介しておきます。無料で公開されているフォントの中にも、フォン

  • UTF-8 対応の msysGit 1.7.10 リリース! いよいよ Windows で git できるよ!!! - てっく煮ブログ

    git先日、msysGit(Git for Windows)がいよいよ公式に UTF-8 をサポート! という記事で「UTF-8 対応のコードがコミットされた」ことをお伝えしましたが、ついに、UTF-8 対応の新バージョン、msysGit 1.7.10 がリリースされました。いよいよ Windows でも日語ファイル名を扱えるようになったので、「git では "詳細設計所仕様書.xlsx" をコミットできないんでしょ?」とブーブーいってた人を説得できる材料はそろいました!!!!それを記念して、この記事では UTF-8 対応の msysGit 1.7.10 を試してみた ブーブーいう人を黙らせるための「GUI で git する Windows 向けツール」まとめの2立てでお送りしたいと思います。UTF-8 対応の msysGit 1.7.10 を試してみたさっそく Google Code

  • Perl で文章の特徴抽出した話を Kyoto.pm #01 で発表しました - てっく煮ブログ

    perlKyoto.pm TECH TALKS #01 の LT で飛び入り発表してきました。 最近つかった Perl の話発表するのが 2 年ぶりぐらいで、Perl 詳しくなくてアウェイ感があって、だいぶ緊張しました。しかも、他人のふんどしで相撲をとった感じの内容だったので、いろいろ酷いのですが、まあまあうけた気がするのでよかったことにします。Google Docs のプレゼン機能を使ってみた参加と発表を決めたのが当日で、スライドを作る環境も時間もなかったので、Google Docs のプレゼンテーション作成機能を使ってみました。ブラウザー上でプレゼン資料を作成できるのが便利だったのですが、プレゼン モードでの日フォントが変ブログに埋め込む手順が分からない(ヘルプには1つ古い UI での手順が書いてある)共有の URL を開いても閲覧用の全画面表示にならない (推測で URL 末尾の

  • プログラマブルなコマンドライン ランチャー CraftLaunch 3 が楽しい - てっく煮ブログ

    CraftLaunch3自分はキーボード派なので、コマンドライン ランチャーを愛用している。歴史的には Moonlight → CraftLauch 2 という順に推移してきたのだけど、端末が変わったのをきっかけに CraftLaunch のサイトを見てみたら、いつのまにかメジャーバージョンアップして CraftLaunch 3 ができていた。この CraftLaunch 3 がなかなかプログラマ魂を刺激するもので、「設定ファイルは config.py」というアグレッシブなものになっている。ソースも公開されていて、コードのほとんど全てが Python で実装されている。ソースを参照しつつ config.py に拡張機能を書くことで、いろいろとカスタマイズできる。スクリプト言語でソフトウェアを作るということちょっと前に、「Lightroom は 40% のコードが Lua で、プラグインも

  • 経路探索アルゴリズムの「ダイクストラ法」と「A*」をビジュアライズしてみた - てっく煮ブログ

    as詳解 ActionScript 3.0アニメーション ―衝突判定・AI・3DからピクセルシェーダまでFlash上級テクニック を読んでいて、経路探索のアルゴリズムで A* が取り上げられていました。A* については、いろいろ検索して調べたりもしたのですが、やっぱりに書いてあると理解しやすいですね。せっかくなので自分流に実装してビジュアライズしてみました。ダイクストラ法まずは A* の特別なケースでもあるダイクストラ法から見ていきます。クリックすると探索のシミュレーションが開始します。スタート地点(S)からゴール(G)への探索が始まります。色がついたところが「最短経路が決定した場所」です。スタート地点から少しずつ探索が完了していきます。半分ぐらい完了しました。まだまだ進みます。最後まで終わりました。最短経路を黒色矢印で表示しています。ダイクストラ法は、スタート地点から近いノード(=マス

  • 履歴消去じゃ消えないエロサイトの隠れた痕跡に要注意 - てっく煮ブログ

    色んなホームページを見ていると閲覧履歴が自動で保存されます。恥ずかしいページを見たあとには、他の人にばれてしまわないように、こっそり履歴を消している人もいることでしょう。通常、ブラウザには「履歴を削除する機能」が備わっていて、ブラウザの履歴を削除すればあなたの悪行の数々は消え去ってくれるように思えます。しかし、ブラウザからは消せない履歴が残っているのです…ブラウザからは消せない履歴それが Flash の Local Shared Object です。Local Shared Object は Flash 版の Cookie みたいなもので、Flash で一時的なデータを保存するときにはよく用いられるものです。Local Shared Object は次の場所に保存されています。OS場所Windows XPC:\Documents and Settings\ユーザ名\Application

  • フォント同士を交配させて新しいフォントを作る「genoTyp」が面白い - てっく煮ブログ

    「この発想はなかった!」と驚いた。genoTyp はフォント同士を交配させて新しいフォントを生み出す実験サイトだ。早速、試しにやってみた。1. 第一世代の親を決めるgenoTyp を開いて左上の [Breed] タブをクリックすると「交配ページ」が表示される。[add original font] ボタンをクリックして、祖先となるフォントを2つ追加してみた。交配させるために2つのフォントをドラッグしてくっつけた。くっついた状態になれば交配の準備は完了だ。2. 交配させてみる中央の [cross] ボタンを押すと第一世代が誕生する。4人の子供が誕生した。父親似だったり、母親似だったり、子供によって雰囲気が異なっている。3. 第一世代でも交配別の [original font] を追加させて、第一世代の中から気に入ったものと交配させてみた。3人の子供が第二世代に誕生した。4. さらに交配!今度

  • 北海道を落とすとどう跳ねるのか? - てっく煮ブログ

    北海道を落としたらどうなるんだろう? 少し気になったので調べてみました。START をクリックすると確認できます。北海道以外も確認できるので、しばらく待って気になる都道府県が登場するのを待つとよいかもしれません。最後の鹿児島と沖縄は圧巻です。よつ葉バター1缶ジャンル: 品・スイーツ > チーズ・乳製品 > バター > その他ショップ: 北海道お土産探検隊価格: 593円

  • AS3 を手軽に開発・投稿できるサービス Wonderfl がとてもいい感じ - てっく煮ブログ

    asKAYAC さんがリリースした(まだ正式リリースはしていない?) Wonderfl Build Flash Online がとてもよい感じ。 Wonderfl Build Flash Online手軽に開発ブラウザ上で ActionScript3 のソースコードを書いたら、リアルタイムでコンパイルしてプレビューできます。Flex SDK と rascut を導入 すれば同じような感じで開発はできるんだけど、開発環境を整えることなくブラウザ上で手軽に試せるのがとてもよいですね。お手を元に勉強し放題しかも、他の人のソースとかも見れて、気になるやつは Fork して自分でいじって遊ぶこともできる。お手軽だー。私も Hello World!!! | Wonderfl Build Flash Online というソースを試しに作ってみたのですが、それを Fork して いい具合に改造する人が出

  • はてブ年鑑

    はてブ年鑑とは? はてブ年鑑は はてなブックマーク の年間ランキングと月間ランキングを集計し、ランキングを生成するWebサービスです。 集計方法について ブックマーク数は、年間・月間にブックマークしたパブリックユーザ数を元に算出しています。 サイト別ランキングおよびタグ別ランキングは、期間中にホットエントリ入りしたエントリを対象に集計しています。 更新間隔について 現在、データ更新は手作業で行っています。月1~2回の更新を予定しています。 制限・注意事項 はてブ年鑑は、個人が運営するサイトであり、予告なくサービス内容の変更やサービスの停止を行うことがあります。ご了承ください。 連絡先 はてブ年鑑に関するお問い合わせは までお願いいたします。 英文メールを書くときに便利な表現集550 users 今日の覚え書き Tickler's bunkum days: 「激しく使える」サイトの自分用まと