HHKB Professional HYBRIDを買って半年ちょっと使っている話。

イメージ
昨年の9月に購入しましたHHKB。 一時期英語配列のキーボードを使っていましたが、今回は日本語配列をチョイス。 PFU キーボード HHKB Professional HYBRID 日本語配列/墨 良かったところ タイピング時の打鍵感、音が心地良い     これがかなりデカい。直近の生成AI周りの発展のおかげで直接タイピングしてコードを書くことは以前に比べるとかなり減ったけど、それでも全然使うのでここのストレスがないことは大きい。 ただ、これも人による部分が大きいと思う部分なので事前に触れる箇所があれば触った方が良い。 HHKBの公式サイトにタッチ&トライスポット というページがあるので実際の打鍵感や音を確認したい人はそこで検索してのをおすすめします。 僕の場合、当初は HHKB Studio を買おうと思って秋葉原の遊舎工房というお店で触らせてもらいましたが、正直打鍵感と音の感じが好みではなかったのでボツ。 横に置いてあったこっちのキーボードを触ってみたらかなりしっくりきた。他にも色んなキーボード(同モデルの静音タイプとか)が置いてあったけど、長いこと使うなら手に馴染むモデルが良いと思ってそのまま購入という流れ。 あと、個人的には気にならなかったけど、色んなところのレビューを見る感じ音に敏感な人と同居してるとか赤ちゃんがいる家庭とかだと少し苦情が出るかも、なくらいの音が出るのでそこは注意すべき。多分そういった人向けに静音モデルがあると思う。 Bluetooth接続できるデバイスの数が多め これもかなりポイント。仕事用のPCにもプライベート使っているPCも両方ともクラムシェルモード(PCを折りたたんだまま外部ディスプレイに接続して使用するモード)で使っているので、仕事を始めるタイミングや終えて切り替えるタイミングで物理ケーブルの切り替えに手間が掛かるのが嫌だった。 HHKBを使用する前に使用していたMagic Keyboardなんかは複数デバイスに対応していなかったため、いけてないなと思いつつ使っていた。 今はコマンドで接続先を切り替えるだけなのでそのストレスは大きく減った。お高いキーボードであれば標準的に乗っている機能なんだろうけど、なんでMagic Keyboardはこの機能がないんだろう・・・ 良くないところ 割と頻繁な頻度で単三電池...

Groovyで初めてコードを書いたのでわからないことメモ




書いてみた。

Groovyの環境構築をした話。
にある通り、環境構築をした。

それだけだとなんだか味気ないのでコードを写経した。

そこで初めて対面したGroovyについてのメモ。

コードはここ

写経元は実践プログラミングDSL ドメイン特化言語の設計と実装のノウハウ

class Order {
    def security
    def quantity
    def limitPrice
    def allOrNone
    def value
    def bs

    def buy(su,closure){
        bs = 'Sold'
        buy_sell(su,closure)
    }
    
    def sell(su,closure){
        bs = 'Sold'
        buy_sell(su,closure)
    }

    private buy_sell(su,closure){
        security = su[0]
        quantity = su[1] closure()

    def getTo(){
        this
        }

    // 1.Hook to intercept calling unvalid method.
    def methodMissing(String name,args){
        order.metaClass.getMetaProperty(name).setProperty(order,args)
    }

    def getNewOrder()){
        order = new Order()
    }

    // 2.Clojure to express designated method of calculating price.
    def valueAs(closure){
        order.value = closure(order.quantity,order.limitPrice[0])
    }

    // 3.Insert new method.
    Integer.metaClass.getShares = { -> delegate }
    Integer.metaClass.of = {instrument -> [instrument,delegate] }

    }
}

まず最初。

def security
def quantity
def limitPrice
def allOrNone
def value
def bs

defで変数の型はなんでもいいよ!って宣言の仕方。
ただし、別に明示的に宣言をしてもよく、int(Integer)stringなどJavaのものをそのまま使えるよう。

def buy(su,closure){
        bs = 'Sold'
        buy_sell(su,closure)
    }

関数も宣言はdef

closure
Apache Groovy チュートリアルのクロージャの章で解説されている内容を引数として渡しているようです。

詳しい解説はともかく、個人的には

ココではクロージャを 生まれ故郷(クロージャ自身が定義された場所)を忘れない無名関数 と定義します。

という表記がしっくりきた感じ。

ひとまずこれで不明点は解消。

コメント

このブログの人気の投稿

【OSLog】How to log a Swift project

Principles of UX/UI Designでこんなことを学んでいるよ 第一週 User-centerd design①

Swiftで使うQueueのテンプレート