Kinopyo Blog

プログラマとしてRuby, Rails, iPhone, iPad,Macなどなどと向き合う日々のログポース

Archive for 03:17

WPテーマGlowing Amberに二番目のサイドバーを追加

2010年01月17日

本文はWPテーマGlowing Amberに二番目のサイドバーを追加する方法を紹介します。

Glowing Amberは今現在このブログで使われているテーマです。

見た目がいいデザインがいいのですぐインストールしましたが、

簡単にカスタマイズするメニューがなくて少し不便を感じました。

マニュアルもなく、作者が提示したURLにも無効となっています。。。

二番目のサイドバーを追加する方法

  • Main Index Templateのindex.phpかSingle Postのsingle.phpを編集します。

それぞれブログのトップページ、個々の記事ページのファイルです。

  • サイドバーを追加したい場所で下記コードを挿入します。

<div id="left">

<?php if (!function_exists('dynamic_sidebar') || !dynamic_sidebar('Sidebar Left')) : ?><?php endif; ?>

</div>

例えば左に追加したい場合は

<div id=”mainbody-l”>の前に上記コードを挿入します。

  • <div id=”mainbody-l”>を<div id=”mainbody-lr”>に変更

これはid=mainbody-lrにwidthが適切に設定されているからです。

  • Stylesheet (style.css)で幅を編集

104行目近くにある#mainbody-lr と#left, #rightのwidth値を編集すればOKです。

これでWidgetsメニューでSidebar Leftが使えるようになります。

jQuery $.inArray()関数の戻り値に注意を

2010年01月15日

$.inArray(value, array)

指定した値が配列中にあれば、そのインデックスを返します。

配列に存在しなければ戻り値は”-1″になりますので注意してください。


var array = ["a", "b", "c"];

if ($.inArray("d", array) == -1) {

    // d is not in array

}

下記のコードは間違いですよ。。。

if ($.inArray("d", array)) {}

$.isArray(obj)

パラメータで渡された値が配列であるかどうかを判別します。

戻り値はtrueかfalseです。

Spring: @Serviceと@Componentの区別は?

@ComponentアノテーションはJavaのクラスにつけるもので

このクラスをコンテナが管理するBeanとして登録する機能です。

@Serviceアノテーションも現状では@Componentと違いはありませんが、

通常サービス層のコンポネントは@Serviceアノテーションをつけます。

その理由は主に以下の二つです。

  • コンポーネントがサービス層のコンポーネントを明確にする意味で
  • 今後@Serviceアノテーションを付与したBeanには自動的にトランザクション管理の機能が付与されるなどの機能拡張も期待される


Spring3.0のリリースノートを見たところ特に@Serviceに関する変更はないみたいです。

なのでサービス層のクラスに対して@Componentか@Serviceか悩んでるんだっだら

@Serviceをつけた方がいいでしょう。


参考サイト:

Spring 2.5の新機能を使ってアプリケーションを作る(その1)

MacのChromeエクステンションついに登場!

2010年01月09日

本日Mac ChromeのDev版が更新されエクステンションが使えるようになりました。

Chrome Dev版をダウンロード

不安定とは言ってるものの、やはり使いたいです!


早速ですが、以下のエクステンションを入れました。

Chromeの再起動が必要なく、インストールするだけで使えます。

とりあえずこんなエクステンションを入れた

Drag and Go

Chrome Mouse Gestures

Backup and sync your bookmarks across computers and browsers. Xmarks is also available for Firefox, Safari and IE.

Displays the number of unread messages in your Google Mail inbox. You can also click the button to open your inbox.

Makes Gmail your default email application and provides a button to compose a Gmail message to quickly share a link via email

Extension to work with delicious.com

Share, save or email any web page with your friends right from the page you are on using Twitter, Facebook, GMail, and many more!

Select, close, rearrange, and search your tabs in a vertical menu! Extras: merge windows, keyboard shortcut, and tab counter!

Adds one-click subscription to your toolbar.

Fast YouTube Search – Search in YouTube with a single click.

Post to Twitter from the Google Chrome toolbar.

No More Countdowns – Automatic Downloads.

Rubyブロック

2010年01月07日

ブロックとは?

Rubyでは、メソッドにデータを渡すだけではなく、処理も渡せます。

メソッドに渡された処理はブロックといいます。

ブロックを渡すには?

ブロックを渡すには、二つの方法があります。

  • ①メソッドの最後に{}で囲んだコードを渡す。

test_block {puts 'In the block'}
  • ②メソッドの最後にdo..endで囲んだコードを渡す。

test_block do 

puts 'In the block'

end

ブロックの使い方?

ブロックは使ってもらわないと、意味がありません。

使ってもらうということは、相手のメソッドが、ブロックの処理を実行することです。

メソッドの中で、渡されたブロックの処理を実行するには、yieldを使います。


def test_block

# test_blockメソッドを定義する

puts 'Start of method'

yield

puts 'End of method'

end

test_block {puts 'In the block'}

#ブロックを渡す

実行結果:

Start of method

In the block

End of method

ブロックにはパラメータを渡す?

ブロックにはパラメータを渡せますか?もちろんです。

パラメータの定義はブロックで、

yieldでブロックを実行する際には、パラメータを渡します。

ブロックは渡されたパラメータを受け取って、処理します。

文字の説明だけで、わからないかもしれません。

実はメソッドの定義とほとんど変わらないです。

サンプルを見てみましょう。


def test_block_pramater

yield('helloworld')

end

call_block {|str, num| puts 'Ruby sample:'+str }

※注意点:ブロックでは、||でパラメータを受け取っています。

渡されたブロックをさらに別のメソッドを渡すには?

渡されたブロックをさらに内部で使っているメソッドに渡すことができます。

引数の最後に&付きの引数を指定してブロックを受け取リます。



def test_block(&block)

# test_blockメソッドを定義する

puts 'Start of test_block'

test_block_paramater(&block)

puts 'End of test_block'

end

def test_block_paramater(&block)

puts 'Start of test_block_paramater'

yield

puts'End of test_block_paramater'

end

test_block {puts 'In the block'}

実行結果:

Start of test_block

Start of test_block_paramater

In the block

End of test_block_paramater

End of test_block


※One Point:ブロック引数を渡す時、&がつければ、引数名は何でも大丈夫です。


ブロックが渡されたか調べるには?

yieldを実行する時、ブロックが渡されるかどうかを確認することができます。

block_given?を使って、ブロックがあるかどうかを確認できます。



def test_block

# test_blockメソッドを定義する

puts 'Start of method'

yield if block_given?

puts 'End of method'

end

test_block {puts 'In the block'}

#ブロックを渡す

jQueryで右クリックを無効にする方法

jQueryでマウス右クリックを無効にする方法です。

“contextmenu”のイベントはjQueryのドキュメントには乗ってませんが、

それのハンドラでreturn falseすることで簡単に実現できます。


$("document").bind("contextmenu", function(){

    return false;

});

iPhoneで閲覧に最適にしてくれるWPプラグイン – WPTouch

2010年01月02日

iPhoneでうちのブログを見ている割合をGoogle Analyticsで確認しました。

12月で1.68%でした。

僅かな割合なんですが、それでもうれしいです。

Blog-Browsers-and-OS

WPTouch

WPTouchはiPhone閲覧に最適にしてくれるWPプラグインです。

インストールするだけでもうOKです。

設定メニューも簡単で、とても使い易いです。


以下iPhoneでこのブログを見る際のスクリーンショットです。

今のところFollow Meのプラグインがうまく表示されませんが、

これはFlashがiPhoneではサポートされてないからです。

初期画面:記事一覧

記事概要

記事詳細

カテゴリ、タグ、コメント