basyura's blog

あしたになったらほんきだす。

MacBook Air 11inch Mid 2012 Yosemite → Mojave

Wikipediaで Mojave のページを見ていたらギリギリバージョンアップできることに気がついたのでやってみた。すんなり入った。iCloud が同期してくれなかったのだけど、サインアウトしてサイインし直したら直った。それ以外は特に問題なく動作してそう。Yosemite からのアップデートだったのに。11inch に近いサイズの iPad Pro はキーボード付きにはしているのだけど、文字入力結構辛いし画面分割を使うとしても仕事なりなんなりをするのは辛い。特に文字入力は辛くて考えてることを吐き出す前に消えてしまう感じがある。iPad は読み取り専用だなぁ。MacBook Air 11inch は Retina ではなく、MacBook Pro で Retina を使い始めた時は眩しいし使いづらいなと最初は思っていたのだけど慣れた今となっては逆で非 Retina 辛いなと思ってしまう。トラックパッドも MacBook Pro はどこをクリックしても反応して良いのだけど最初は使いづらいなとしか思えなかった。慣れってすごいなと思うけど新しい方がいいね。Windows マシンを買うときはギャンブル要素が強くて mac なら新しいのを買っとけば大丈夫感があったのだけど、MacBook Pro 2015 から乗り換えられない。タッチバッドいらないしキーボードペラペラだし。なんとかならんのかなぁ。2015 で困ってないのだけどね。ずっとこのフォントで綺麗だなと思ってみてたはずなのに、retina に慣れるとしょぼく見えてしまう・・・不思議。windows から移ってきたときと同じような感じするな。ただ、背景を黒くすると良い感じになる気がするのでこれでしばらく様子を見よう。iPad のキーボードで入力するぐらいなら、これを持ち歩いた方が効率が良いように思う。この頃のキーボードが好きなんだけどなぁ。打ちやすい。ナイトシフトが画面の角度によって青く見えちゃうのも旧式 (非 retina)だからなのかなぁ。

改訂2版 みんなのGo言語

改訂2版 みんなのGo言語

改訂2版 みんなのGo言語

  • 作者: 松木雅幸,mattn,藤原俊一郎,中島大一,上田拓也,牧大輔,鈴木健太
  • 出版社/メーカー: 技術評論社
  • 発売日: 2019/08/01
  • メディア: 単行本(ソフトカバー)
  • この商品を含むブログを見る

表紙のガマガエルに乗ってるのとか火を吹いてるのとか、めちゃくちゃいい (欲しい)。

テキスト処理がほとんどだけどようやくザクザク書けるようになってきた。今までは時間が惜しい場合は Ruby で書いていたのだけど、それもだいたい Go を使うようになってきた。ほんとにサクッと試したい場合に Ruby を使うことはままある。

GOPATH の中で作業するのが最初は苦痛だったけど、ディレクトリをきちんと切って書いてると整理されていく感じが気持ちよくなってきた。ディレクトリ(パッケージ) が増えていくと使い回しが効くようになるので自分の武器が増えていくようでよい。ここは Ruby だろうがなんだろうが変わらない気がするけど。エディタ (Vim) があれば補完ができて宣言に楽に飛ぶこともできて、だいたいのことはコンパイルしたら間違いが分かる手軽さが相乗効果で良く感じるのかなと思う。

「こういう書き方してちゃんと動くのだろうか?」と確認しながらがまだまだ多いのだけどなんとかなってる。

先駆者が「これはいいぞ」って言ってるのをキャッチしてから数年後にその後を辿ることがほとんどなので書籍が出たりブログエントリがあったりすると非常にありがたい。

Karabiner-Elements : Vivaldi のアドレスバーにいるときに Ctrl+P or Ctrl+N で上下移動したい

windows は仕方ないとしても、mac ならできていいと思うんだけどなぁ。
アドレスバーにいるかどうかの判断はできないから vivaldi にいるとき常にの設定になっちゃうけど。

{
  "title": "Vivaldi.app",
  "rules": [
    {
      "description": "Vivaldi misc",
      "manipulators": [
        {
          "type": "basic",
          "from": { "key_code": "n", "modifiers": { "mandatory": [ "control" ]} },
          "to": [ { "key_code": "down_arrow"} ],
          "conditions": [ { "type": "frontmost_application_if", "bundle_identifiers": [ "^com\\.vivaldi\\.Vivaldi$" ] } ]
        },
        {
          "type": "basic",
          "from": { "key_code": "p", "modifiers": { "mandatory": [ "control" ]} },
          "to": [ { "key_code": "up_arrow"} ],
          "conditions": [ { "type": "frontmost_application_if", "bundle_identifiers": [ "^com\\.vivaldi\\.Vivaldi$" ] } ]
        }
      ]
    }
  ]
}

El Capitan → Mojave

Apple MacBook Pro (13インチ, 2.3GHzデュアルコアi5プロセッサ, 256GB) - スペースグレイ

Apple MacBook Pro (13インチ, 2.3GHzデュアルコアi5プロセッサ, 256GB) - スペースグレイ

OS アップデートで環境が壊れるとか何かしらの対応をするのがだるいのと、アップデートしなくても困ってないのとがあいまってずっと El Capitan だったのだけど夏休みで時間あるしで重い腰を上げた。

  • karabiner が死んだ

    • karabiner-elements を入れ直した
    • macvim (not kaoriya) を使い始めたので escape 時に ime も off にする設定を参考にさせてもらった
    • 設定方法がだいぶ変わっているのであとで調べる
  • キーリピートが激しく遅くなっていたので変更した

  • ディスプレイの明るさ自動調節やキーボードの明るさがオンになっていたのでオフった
  • グーグルIMEのリアルタイム変換の挙動が変わった。windows 端末だけかと思ってたのだけど os アップデートのタイミングで変わった。具体的には設定のサジェストタブにある「入力履歴からのサジェスト自動表示を有効にする」と「システム辞書からのサジェスト自動表示を有効にする」のどちらかにチェックを入れないといけなくなった。これまでは両方のチェックを外してても入力した文字列を変換しててくれていたのだけど、どちらかにチェックすると予測変換された内容が混ざってしまって余計な入力結果になってしまう。入力した結果をそのまま変換してほしいので前の挙動のほうがうれしいんだけどな・・・長らくそうだったし。特に短い単語を入れた場合に長い正式名称だったりがでてきてそこまではいらないんだけどなとなってしまう。基本的に出てきた変換候補をそのまま Ctrl+Enter で確定してしまいたいのでちょっとつらい。とりあえず「システム辞書からのサジェスト自動表示を有効にする」のみにチェックを入れて使ってる。
  • フルスクリーンモード時のウインドウ切り替えが、視覚効果を減らすことによってスムーズになった。けどまだ引っかかりを感じる。ワンテンポ遅い。ワンテンポの遅さによって考えてたことを忘れそう。もうちょっと速くならないかなぁ。とか触ってたらフルスクリーンだと dock が出てこないことに今更ながら気がついたので今まで通り使わない気がする。
  • Night Shift モードありがたい。一番うれしい。iPhone で1日中 ON にしてるし Mac も ON にする。今までは Shades を使っていたけど動かなくなってた。デフォルトで組み込まれてるほうが嬉しいのは確か。elcapitan までは地味に cpu を食ってることがあったのが気になってた。けど、これがなくては眩しくて Mac への乗り換えできなかった可能性もあるので感謝。
  • ダークモード良さそうかと一瞬思ったけど、見にくくてすぐ戻した。明るさに弱いので基本的にディスプレイをかなり暗くしているのもあってライトモードの方が見やすい。ダークモードだとターミナルのタブの切れ目が分かりづらいし、各アプリの背景色が合わせて黒くなってたりして逆に見づらかった。
  • メニューバーと Dock は黒くしておきたい。↓でできた。
  • brew update したらなんかエラーでたけど今は困ってないので放置
  • vmware fusion に入れてる windows10 はとりあえず動いた。Mojave でパフォーマンスが悪化するのを修正した最新版が出たらしいけど今はいいや。

Karabiner で設定してた各アプリのキー設定を Karabiner-Elements に移植するのをさっさとやっちゃいたいところ。

で、こんなことをしてたら vimconf 2019 の Early Bird チケット買いそびれた。

golang : redmine のチケットをゲットする

最近は調整とエクセルのメンテばかりでやさぐれているので隙を見ては go の勉強がてらエクセルを生成してみたりチケットの内容をエクセルに反映してみたりしてる。 redmine のチケットのステータスを取りたくてググってみたのだけどサクッと引っかからなかったので書いてみたら案外いけた。未だに作法がよく分かってない。

package main

import (
    "encoding/json"
    "errors"
    "fmt"
    "io/ioutil"
    "net/http"
    "strconv"
)

type Issue struct {
    Id      int    `json:"id"`
    Subject string `json:"subject"`
    Status  Status `json:"status"`
}

type Status struct {
    Id   int    `json:"id"`
    Name string `json:"name"`
}

func main() {

    issue, err := fetch(1)
    if err != nil {
        fmt.Println(err)
        return
    }

    fmt.Printf("#%d %s\n",issue.Id, issue.Subject)
    fmt.Printf("%s (%d)\n", issue.Status.Name, issue.Status.Id)
}

func fetch(id int) (*Issue, error) {
    url := "https://www.redmine.org/issues/" + strconv.Itoa(id) + ".json"
    res, err := http.Get(url)

    if err != nil {
        return nil, err
    }

    bytes, err := ioutil.ReadAll(res.Body)
    if err != nil {
        return nil, err
    }

    dict := map[string]*Issue{}
    if err := json.Unmarshal(bytes, &dict); err != nil {
        return nil, err
    }

    issue, ok := dict["issue"]
    if !ok {
        return nil, errors.New("no ticket")
    }

    return issue, nil
}

Dropbox Plus

12,960/年 → 14,400 (税込 15,552) /年

2TB とスマートシンクは魅力的ではあるけど、100G ぐらいしか使ってないので割高感がすごい。前に web から買うと安いとかで 10000円切ってた気がしたんだが。

ほとんどが画像で、購入した音楽データ (m4a) を念のためにバックアップしてるのが次に多い。

  • 画像 → iColud 200GB 400円/月
  • 音楽ファイル → Youtube Premium に入ってるし諦めるでもいい。ここ数年購入してる音楽ファイルは iTunes 経由で買ってるからバックアップあるようなもんだし。TSUTAYA に最後に行ったのがいつなのか思い出せないレベルだし。
  • Dropbox は basic にして突っ込めるファイルだけ管理。

よく見ると、追加で 9.85 GB を獲得済みだったので 12G もあればメモや何かしらのファイルであれば困らなさそう。

契約が年末までなので忘れずに考えたい。