gnnk

log

オライリーのMakeもいいけど、学研のひみつシリーズもいいよという話。

忍者・手品のひみつ
名前とは裏腹に、小さい頃は病気がちで、小学校の時は、1年から4年まで毎年に夏休みに入院していました。

別に体が動かないとかそういうわけではなかったので、当然、入院生活とかめちゃくちゃ暇なわけです。

その頃はテレビの持ち込みとかも制限されていた気がしますし、
当然、ポータブルゲーム機なんてありません。
ミニ四駆とか好きだったんですけど、入院病棟内で走らせて怒られたりしてました。

そうなると、漫画とか本を読むことになります。

コロコロとかボンボンとか、多分同世代が読んでた漫画はあまり読んでいた記憶はないし、
そもそも買ってもらっていなかったと思います。

で、ひみつシリーズを毎週のお見舞いに買ってきてもらっていました。

ひみつシリーズの特徴

  • 漫画である。
  • 結構な数、刊行されている。
  • 親的にも、おもちゃや普通の漫画よりも、買いやすい。
  • 基本的に、無駄な雑学が身に付く本。

ということで、夏休みの入院時は、そればっかり読んでいました。

最終的に、50冊ぐらいは家にありました。 (確か、ひみつシリーズだけ入れる本棚があった。)

その中でも特に記憶に残っているのが2冊あります。

いる?いない?のひみつ
これは、家になかったんですが(どうして買ってもらわなかったのか記憶にない)、 近所の学習等共用施設にあったので読んでました。 とりあえず怖い。
忍者・手品のひみつ
  • 忍術について科学的に検証されていたりする
    (水蜘蛛の件とか)
  • 科学を利用した手品
  • Makeほど、いろいろ作ったりとかはない。
  • 監修に引田天功(多分、先代の男の方)
  • 10歳下の弟もそうとう好きで、何十回も読んでたらしい。

ひみつシリーズが、いろいろなことに興味を持つきっかけになったのはまちがいないです。

@mururururuと実家で話をしているときにその2冊を買おうとしたのですが、
いる?いないのひみつはAmazonで9000円とかわけの分からない値段がついていたのであきらめました。

Twitter Bootstrapの少しだけ便利な使い方

Less & Sass Advent calendar 2011の11日目です。

Twitterが提供しているTwitter Bootstrapの使い方についてです。
(僕が利用しているのが、SassのためSass Twitter Bootstrapでの説明となります。)

CSSのフレームワーク・ライブラリというと、今までにも

  • Brueprint
  • YUI
  • YAML
  • 960 Grid System

など、いろいろ存在していましたが、基本的に、HTMLにクラスを追加して利用するのが、通常の使い方になります。
Twitter Bootstrapに関しては、Less(Sass)でつくられていることから、同梱のcssファイルをそのまま使うのではなく,scssファイルから、自分でcssファイルを作成することにより、もう少し便利な使い方ができると思います。
(当然、今までのフレームワーク的な使い方も可能です。)

ブラウザ互換の対応

Sassの便利な使い方として、ベンダープリフィックスをまとめたmixinを作っておけば、 @inclueするだけで、利用できるという点がありますが、Twitter Bootstrapには、あらかじめ、ベンダープリフィックスに対応したmixinが /lib/mixins.scssに用意されていますので、直接利用することが可能です。

// Gradients
                    @mixin horizontal-gradient ($startColor: #555, $endColor: #333) {
                    background-color: $endColor;
                    background-repeat: repeat-x;
                    background-image: -khtml-gradient(linear, left top, right top, from($startColor), to($endColor)); // Konqueror
                    background-image: -moz-linear-gradient(left, $startColor, $endColor); // FF 3.6+
                    background-image: -ms-linear-gradient(left, $startColor, $endColor); // IE10
                    background-image: -webkit-gradient(linear, left top, right top, color-stop(0%, $startColor), color-stop(100%, $endColor)); // Safari 4+, Chrome 2+
                    background-image: -webkit-linear-gradient(left, $startColor, $endColor); // Safari 5.1+, Chrome 10+
                    background-image: -o-linear-gradient(left, $startColor, $endColor); // Opera 11.10
                    background-image: linear-gradient(left, $startColor, $endColor); // Le standard
                    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{$startColor}', endColorstr='#{$endColor}', GradientType=1); // IE9 and down
                  }

HTMLを変更せずに利用が可能になる

今までのフレームワークの場合、 htmlファイルに該当のclassを追加して利用するのが、一般的な使い方でしたが、 Twitter Bootstrapの場合、 extendの機能を利用して,フレームワークで指定されているclassを追加することなく、利用が可能になります。

// Base .btn styles
                  .btn {
                    // Button Base
                    cursor: pointer;
                    display: inline-block;
                    @include vertical-three-colors-gradient(#fff, #fff, 25%, darken(#fff, 10%));
                    padding: 5px 14px 6px;
                    text-shadow: 0 1px 1px rgba(255,255,255,.75);
                    color: #333;
                    font-size: $basefont;
                    line-height: normal;
                    border: 1px solid #ccc;
                    border-bottom-color: #bbb;
                    @include border-radius(4px);
                    $shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
                    @include box-shadow($shadow);
                  
                    &:hover {
                      background-position: 0 -15px;
                      color: #333;
                      text-decoration: none;
                    }
                    ……
                  

このようなスタイルでも、HTMLに、class="btn"と追加しなくても、

@extend .btn
                  

とすることで、スタイルを設定することができます。

SASS/LESS のフレームワーク

上記のようにTwitter Bootstrapは、同梱のcssファイルではなく、scssファイルを使うことにより、少しだけ便利に利用することもできるで、ぜひ使ってみてください。
また今後、SassやLessベースのフレームワークやライブラリがいろいろ出てくるのではないでしょうか?

subversionからgitに移行する

subversionを使っていたときは、プロジェクトごとに、リポジトリをわけておらず、1リポジトリにプロジェクトごとのディレクトリを作成して運用していたのですが、いい加減、gitに移行したいと思っていました。

ただ、gitの場合、1リポジトリに複数のプロジェクトを入れることはできない(リポジトリの特定のディレクトリ以下をcloneできない)ので、どうしようと思っていたのですが、filter-branchコマンドを使えば、簡単だったので、さっさと移行しました。


                  git svn clone subversionのリポジトリ gitのリポジトリ 
                  
                  git filter-branch -f --subdirectory-filter ディレクトリ名 HEAD 
                  

京都からRubyKaigiのスタッフに応募した。

思いつくたびに追加。

  • RubyKaigiは、2009年と2010年に、ぼっちで参加。
  • この仕事を始めた時も独学だし、前職も技術者は僕一人。
  • Ruby関西にもそんなに行ってない。
  • 生粋のRubyistだけだと思ったけど、全然そんなことなかった。
  • アウトプット(github・ブログ・スピーカー)大事。
  • コミュニティーにコミットすることも大事。(特に一人で仕事をしてる僕の場合)
  • Lokka@komagataさんと会う。
  • 立ち仕事の人って、大変ですね。

2011年6月の読書と映画鑑賞

2011年5月の読書と映画鑑賞

2011年4月の読書と映画鑑賞

ZenCodingとSassをCodaで組み合わせてみる。

ZenCoding(TEA for Coda)が、0.7(March 13, 2011)から、ホームディレクトリに設定ファイルを設置できるようになりました。 (JavaScript実装の方は、前からあったっぽい)

以前は、プラグイン内のzen_settings.pyを直接編集しなければ、スニペットの変更は出来なかったのですが、
my_zen_settings.pyを、ホームディレクトリにおいて編集することにより、追加・上書きができるようになりました。

ただ、

  • 変数の上書き
  • 他の設定の読み込み(extends)
  • はできないようなので、注意してください。

    SassでZenCodingのスニペットを使いたい場合は、

    zen_settings.py内の
    'css'
    の部分をすべて、
    my_zen_settings.pyコピーして、
    先頭の'css'の部分を
    'scss'に変更すれば、
    scssファイルでZenCodingが利用できるようになります。

    my_zen_settings.py の サンプル
    https://gist.github.com/939702

    また、0.7では、要素の展開が大分賢くなっているので、確認してみてください。

2011年3月の読書と映画鑑賞

2011年2月の読書と映画鑑賞