サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
アメリカ大統領選
gurimmer.lolipop.jp
今日は、前回の続き、テーマカスタマイズ画面のカスタマイズ方法をもう少し詳しく紹介します。 ライブプレビューのカスタマイズ手順 再度カスタマイズの手順をまとめます。 customize_registerアクションをフック customize_registerアクションで$wp_customize->add_sectionでセクションを追加 customize_registerアクションで$wp_customize->add_settingで新しい設定を追加 customize_registerアクションで$wp_customize->add_controlでセクションにコントロール(テキストフィールドなど)を追加し、add_settingを関連付ける $wp_customize->get_settingのtransportでJavascriptによるライブプレビューを有効にする wp_hea
残念ながらひとりAdventCalendarを続けることができませんでした。あと5日ほどでしたが。まぁ開き直って普通に書きます。 今日は、History.jsについて紹介しようと思います。 History.jsとは History.jsとは、ブラウザの閲覧履歴の管理を行ってくれるJavascriptライブラリです。 通常ブラウザの閲覧履歴はブラウザ自体が管理するため、Javascript側では「進む」「戻る」を実行させることしかできませんでした。ですが、最近のブラウザでは、pushStateというAPIが実装されました。 pushStateというAPIはブラウザの履歴への追加や、削除が行えます。ブラウザが管理していた閲覧履歴に対して、履歴の追加/削除がJavascriptで行えるようになったのです。 スマートフォン向けのサイトなど最近は1ページのみでコンテンツを表示してしまうサイトが増え、
vagrant VagrantとChefとGrunt.jsでWordPressのローカル開発環境を整えた所、とても開発が快適になったのでメモ。 Vagrantとは VagrantとはコマンドでVMを作成したり、起動したりできるツール。 VirtualBoxを準備して、OSイメージもBoxというファイルで管理されていて簡単にVMの作成ができる。 Vagrantのインストールはこちらから http://downloads.vagrantup.com/ VCCW環境 WordPressが動作する環境をVagrantコマンドで作成できるモノがgithubに公開されていました。 VCCW (vagrant-chef-centos-wordpress) もうホント感謝です。 WordPressのインストール作業が地味に面倒で、ここをどうにか自動化できないか探っていると見つけました。 びっくりしたのが
ARCについて色々調べていて、@autoreleasepoolの気持ち悪さについてちょっと書きたくなった。カフェオレは全く関係ない。 ARCとは Automatic Reference Countingの略。 ObjectiveCではメモリを参照カウントで管理していて、参照カウントが0になるとメモリが破棄される。本来ならプログラマがメモリの確保と解放を管理して行うが、ARCを有効にすると解放を自動で行なってくれるようになる。 メモリの解放忘れがほぼ無くなるので、プログラマとしてはとても助かる。 メモリ解放のルール 基本的に、C++では「メモリを確保したオブジェクトが、メモリを解放する責任がある」というルール(というかデザインパターン?)があり、C++でプログラムしていたときはこのルールで書いていた。 例えば、Aクラス内部でメモリを確保し、そのポインタを返すXメソッドがあった場合、このポイン
ライブチャットとビデオ配信のシステムを作りたくて、node.jsの勉強をはじめました。 色々と環境構築をやっていて、かなりつまずきました。ですが、node.jsのバージョン管理ツールでnodebrewというものがあり、これを使った所、かなりスムーズに環境構築ができたので、その構築手順をまとめました。bodebrewとはrubyのrvmのようなものです。 node.jsには他にもバージョン管理ツールがあるのですが、 インストールはcurl + perlの一行で完了する ホームディレクトリにインストールされ、パスを通すだけで利用できる 消すのも簡単 という点で楽そうだったので導入してみました。 今回は、ライブチャットが可能な環境を構築するのを目標に、以下の手順で環境を構築します。 nodebrewのインストール node.jsのインストール npmのインストール websocket.ioのイン
前から気になっていたfluentdのイベントに参加してきました。 fluentdとGrowthforecastを使うとかなり楽にシステムの監視が可能だと感じました。 サクッとログが構造化できて、解析も楽で、障害や不具合発生時の対処もほぼ自動で行なってくれるのはとっても便利だと思う。 大体、ログはローカルに出力して、scpとかを利用して定期的にバッチ処理で転送して管理する事が多く、何かと作業が煩雑だったりしてたので、fluentd入れれば幸せになれそう。 箇条書きですが、各トークの内容とスライドを書いておきます。 【今さら聞けないfluentdの基本】 @repeatedly “The basics of fluentd” ■個人的感想 fluentdをさわり始めたのは1週間前くらいなので基本的な所が分かって参加したかいがあった。 リトライやエラーハンドリングがしっかりしていたり、プラグ
That's News to meな事を紹介します。Web関連の技術者向け情報や、iPhoneアプリ・Macアプリの紹介、趣味の音楽についてのブログです。前から気になっていたfluentdのイベントに参加してきました。 fluentdとGrowthforecastを使うとかなり楽にシステムの監視が可能だと感じました。 サクッとログが構造化できて、解析も楽で、障害や不具合発生時の対処もほぼ自動で行なってくれるのはとっても便利だと思う。 大体、ログはローカルに出力して、scpとかを利用して定期的にバッチ処理で転送して管理する事が多く、何かと作業が煩雑だったりしてたので、fluentd入れれば幸せになれそう。 箇条書きですが、各トークの内容とスライドを書いておきます。 【今さら聞けないfluentdの基本】 @repeatedly “The basics of fluentd” ■個人的感想
jQueryでいろんな処理を行うにあたって、HTMLにデータを埋め込んで使いたいことがあります。 そのようなデータは画面上に表示したくないために、タグ属性にデータをセットしたいけど、適切な属性がない場合、独自属性を追加することがあります。 独自属性といっても適当に名前をつけるのは間違いです。アクセシビリティが低下してしまいます。 独自属性の書き方 アクセシビリティについては今度書こうと思います。 HTML5では独自属性の命名規則が決まっており、DOM操作方法としてもちゃんと決まっているようです。 独自データ属性 – グローバル属性 – HTML5 タグリファレンス – HTML5.JP 独自データ属性の詳しい仕様 例えば、「data-user-name」や「data-url」といった「data-」をつけた名前をつけることができます。(もう少し細かい制約がありますが) ただ命名規則だけでな
Seasar2のActionクラスをJUnitでテストする方法を説明します。 Seasar2のServiceクラスのJUnitのやり方はググるとよく出てくるのにActionクラスのテスト方法が出てこなくて困ったので自分なりに調べてまとめてみます。 JUnit環境の準備 テスト環境はEclipse+Dolteng+JUnit4.5以上とします。 DoltengとはSeasar2プロジェクトの作成を手助けしてくれるEclipseプラグインです。 Dolteng環境の作成手順は今度書こうと思います。 Doltengプロジェクトを作成すると、ビルドパスにJUnit4.4が追加されていますが、JUnit4.5以上に上げましょう。色々と便利なので♪ JUnitサイトのリリースからライブラリをダウンロードします。 以下URLから取得します。(github使ってる♪) KentBeck / jun
jQueryで最近びっくりしたことが、defferdオブジェクトというものがあり、これを使うと非同期処理や、非同期処理の並列実行が出来る。 これを発見したときは、ちょっと感動したw jQuery凄いなー。 勉強会で扱った「Google Feed API」(前はGoogle Ajax Feedと言われてた)を並列実行してみようと思います。 Googel Feed API Ajax通信で複数のFeedを取得しようとすると、クロスドメインの壁にぶつかります。これは面倒だなと思う反面、セキュリティのため仕方がありません。 Google Feed APIは、いろんなサイトのFeedをGoogleがごにょごにょして、クロスドメイン問題を解決し、かつXMLやJSON形式にしてFeedを返してくれる便利なAPIです。 以前はAPIキーの申請が必要でしたが、最近APIキーの制約がなくなりました。 ただし
photo credit: adactio MACのSWT3.7からToucheListenerが導入されていました! ブラウザを作って使ってみました。 GestureEventは、detailでタッチイベントを区別します。 3本指スワイプ・ローテーション・パン?(たぶん2本指で広げる操作)などいろいろ取得できる。 簡単に調査したところ、3本指でさっと動かすとGESTURE_SWIPEが発生し、 左に動かすとxDirectionが正の値、右に動かすとxDirectionが負の値になるようです。 ちなみに、MAC 64bitの場合は、JavaVM引数として「-XstartOnFirstThread」を指定しないとSWTのDisplay作成に失敗するので注意です。(ものすごいはまった・・・) 以下サンプルです。URL入力とURLイベント・タイトルイベント・ステータスイベント・ 新しいウ
photo credit: Juan Antonio Capó ExecutorServiceを使うと簡単にマルチスレッド処理が行えますが、 終了もshutdownメソッドを呼ぶだけと思っていませんか? shutdownメソッドだけだと不十分です。 学校の先生と生徒の関係で説明します。 shutdownメソッドは指示するだけ 学校で先生が生徒に対して、「問題が解けたら教えてねー」と言います。 生徒は問題が解けた人から「先生できたー!!」と言ってきます。 全員問題が解けた段階で授業が終わるとしましょう。 対応はこう。 先生: ExecutorService 生徒: ExecutorService内のスレッド 問題: ExecutorService.executeに渡すタスク(Runnable) 授業: mainスレッド 学校: Javaプロセス 「問題が解けたら教えてねー」
FutureTaskにはまってしまった・・・ JavaのFutureインタフェースは、非同期処理の計算結果を受け取れるインタフェースで、非同期処理をキャンセルすることも可能なインタフェースです。 通常、非同期処理はRunnableインタフェースを利用しますが、 Runnableインタフェースのrunメソッドの戻り値はvoidです。そのため、処理結果を利用する場合ちょっと面倒です。 処理結果を返せるようにしたものがCallable<V>インタフェースです。Runnableインタフェースのrunメソッドとは違い、callメソッドが呼び出され、戻り値はVです。(自由に決めれる) Callableが返すデータの受け取り方法を定義しているのがFutureインタフェースとなります。(ずっと待つのか、途中であきらめるのか、あと5分待つとか(笑)) そのFutureインターフェースの基本的な実装がFut
Seasar2を使う機会があったのでSeasar2の話。 Webページでチェックボックスの数が動的に変わったり、 テキストボックスの数が動的に変える必要があったりします。 seasar2のformクラスに「text1,text2・・・」なんてメンバを書いてる人もいると思います。こう書くとめんどくさいんですよ(笑) もっと楽する方法があります! FormでListを使う Formは以下のようにします。 public class IndexForm { public List<String> texts = new ArrayList<String>(); } 続いてActionは、indexとresultページを作成します。 デバッグ用にFormで定義したtextsのダンプをコンソールに出力してます。 public class IndexAction { @Resource @Acti
では動かしてみましょう。 ・・・あれ、認証エラーがでました。 com.google.api.client.googleapis.json.GoogleJsonResponseException: 401 Unauthorized { "code" : 401, "errors" : [ { "domain" : "global", "location" : "Authorization", "locationType" : "header", "message" : "Login Required", "reason" : "required" } ], "message" : "Login Required" } at com.google.api.client.googleapis.json.GoogleJsonResponseException.from(GoogleJsonRes
photo credit: BruceW. お久しぶりです。もっと更新しないといけないですね。 つい最近EC2を使い始めました。 無料枠で色々触っていたら、 なんと課金されちゃってました(涙) 知らなかったんですが・・・ 使用中の Elastic IP アドレスには料金は発生しません。 $0.01 時間ごとの添付されない Elastic IP アドレス当たり $0.00 Elastic IP アドレスのリマップ当たり – 最初の100リマップ/月 $0.10 Elastic IP アドレスのリマップ当たり – 100を超える場合の追加リマップ/月 だそうです。ややこしい・・・ 「添付されない」って日本語おかしいけど、 要するに使ってないElasticIPは$0.01/h課金されるようです。 なんとなく「起動しっぱなしは怖いから落としておこう」って思って インスタンスをシャットダウン
このページを最初にブックマークしてみませんか?
『gurimmer.lolipop.jp』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く