キーボードでの日本語英語切り替え方法

HHKB Professional Type-S の発注したので、
キーボードでの入力方法切り替えなどについて調査。

Windows

  • 英語<->日本語切り替え: alt + `
  • ひらがな: ctrll + u
  • 全角カタカナ: ctrl + i
  • 半角カタカナ: ctrl + o
  • 全角英数: ctrl+ p
  • 半角英数: ctrl + t

Mac

  • 英語<->日本語切り替え: command + space
  • ひらがな: control + shift + j
  • 全角カタカナ: control + shift + k
  • 全角英数: control + shift + l
  • 半角英数: control + shift + :

HHKB は独立した Function キーとかがないので今のうちから慣れておこう。
指を動かす範囲が狭くてすむのでタイピングが楽になるかな。

screen でのコピー内容をクリップボードに反映

writebuf でファイル出力したものを putclip で取り込んであげればよいらしい。

キーバインドのところは適宜設定していただければと。

bindkey -m ' ' eval 'stuff \040' 'writebuf' 'exec sh -c "/usr/bin/putclip < /tmp/screen-exchange"'
bindkey -m Y   eval 'stuff Y'    'writebuf' 'exec sh -c "/usr/bin/putclip < /tmp/screen-exchange"'
bindkey -m W   eval 'stuff W'    'writebuf' 'exec sh -c "/usr/bin/putclip < /tmp/screen-exchange"'

screen のチートシート(自分用)

  • エスケープキャラクタ(.screenrc で変更できる)
    • ^t (ctrl + t)
  • 新しい端末オープン: c
  • 次の仮想端末に移動: n
  • 前の仮想端末に移動: p
  • 仮想端末のタイトル変更: A
  • コピーモード: Esc or [
    • vi のキーシーケンスでバックスクロール等ができる
    • スペースで範囲指定開始。もう一度スペースでコピー
    • ペースト: ^t ]
  • d: デタッチ: d (screen プロセスをバックグラウンドに移行するイメージ)
  • セッションリスト確認: screen -ls
  • アタッチ: screen -r [プロセス番号]
    • デタッチされたものが1つであればプロセス番号は不要
  • リモートデタッチ: -screen -d [プロセス番号]
  • screen セッションのアタッチ(マルチ): screen -x [プロセス番号]

Struts2 のバージョンアップ

Struts2バージョンを 2.0.9 から 2.2.31 に爆上げしたら
OGNL で static メソッドが呼べなくなるという現象でハマった。

いつぞやから struts.xml に下記記述が必要になったらしいですね。

Groovy 始めました

「プログラミング GROOVY」 をちくちく読みながら
カタカタとコードを打ち込んでみています。
さしあたりはツール的な使い方がてっとり早い&便利げな予感。


んで、groovyc でコンパイルしたものを java コマンドで実行する場合、
「groovy-all-.jar」をクラスパスに含めよと
書いてあったのですがMac & homebrew でインストールしたせいか
そんな jar が見当たりませんぞ。


結果、「groovy-x.x.x.jar」と「asm-x.x.jar」をクラスパスに通したら実行できました。
めでたし。



プログラミングGROOVY
プログラミングGROOVY
posted with amazlet at 11.07.17
関谷 和愛 上原 潤二 須江 信洋 中野 靖治
技術評論社
売り上げランキング: 4049

Sencha Touch de カルーセル

今回はスマートフォンのアプリっぽくカルーセル表示をさせてみました。
細かいところは Sencha Touch がよろしくやってくれるので楽ちんでした。

  • ルーセル表示
    • 表示用の html(carousel.html) を作成
      • 前回の html とほぼ同じ。js と css を読み込んでいるだけ
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>carousel</title>
<link rel="stylesheet" href="/sencha-path/resources/css/sencha-touch.css" type="text/css">
<script type="text/javascript" src="/sencha-path/sencha-touch-debug.js"></script>
<script type="text/javascript" src="carousel.js"></script>
</head>
<body>
</body>
</html>
    • アプリ用の Javascript ファイル(carousel.js)を作成
Ext.setup({
  onReady: function() {

    // carousel
    var carousel = new Ext.Carousel({
      items: [
      {
        // 1ページ目の要素
        title: '1',
        html: '<img src="1.jpg" width=200 height=200>'
      },
      {
        // 2ページ目の要素
        title: '2',
        html: '<img src="2.jpg" width=200 height=200>'
      },
      {
        // 3 ページ目の要素
        title: '3',
        html: '<img src="3.jpg" width=200 height=200>'
      }]
    });

    // main panel
    new Ext.Panel({
      // パネルの設定
      fullscreen: true,
      layout: {
        type: 'vbox',
        align: 'stretch'
      },
      defaults: {
        flex: 1
      },
      styleHtmlContent:true,

      // 上で作成した carusel オブジェクトをセット
      items: [
        carousel
      ]
    });
  }
});

Sencha Touch はじめました

  • Sencha Touch ってなんぞ?
    • 巷で流行っているタッチ端末(iPhone, Android など)で利用できる Web アプリのフレームワーク
    • HTML と JavaScript だけでいろいろと出来るので、開発環境構築や実装がお手軽な予感。
  • まずはお約束の「はろーわーるど」を作ってみることにする
    • 適当な場所に解凍する
      • この記事中では /sencha-path/ に解凍したという設定にします
    • 表示用の html(helloWorld.html) を作成
      • html では Sencha Touch の css&ライブラリ 及び はろーわーるどアプリ用の js 読み込みをしているだけ
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>はろーわーるど</title>
<!-- 1. Sencha Touch CSSの読み込み-->
<link rel="stylesheet" href="/sencha-path/resources/css/sencha-touch.css" type="text/css">
<!-- 2. Sencha Touch ライブラリの読み込み(テスト用なので、-debug.js)-->
<script type="text/javascript" src="/sencha-path/sencha-touch-debug.js"></script>
<!-- 3. Sencha Touch アプリケーションの読み込み-->
<script type="text/javascript" src="helloWorld.js"></script>
</head>
<body>
</body>
</html>
    • 続いてアプリ用の Javascript ファイル(helloWorld.js)を作成
Ext.setup({
    onReady: function() {
        new Ext.Panel({
            fullscreen: true,
            html: 'はろーわーるど'
        });
    }
});
    • ファイルを作ったらブラウザで動かしてみる
      • helloWorld.html をブラウザで見るとこんな画面が出るハズ。ブラウザは SafariChrome を使わないと見た目が崩れたりします。


    • これだけだと html で書いた方が楽なので、次はカルーセルを実現してみる予定です。
      • ルーセルiPhone 等のホーム画面で左右にスワイプすると画面が変わるアレ