ブックマーク / www.kaoriya.net (11)

  • カラー絵文字パッチ制作の経緯 — KaoriYa

    2017/11/26 19:30 頃に vim/vim へ pull request を出したカラー絵文字パッチが、 わずか3時間半のうちにマージされました。 制作に関わったのは mattn さん、k-takata さんそして私の3人で、 超優良な品質のパッチという自負はありましたが、 それでもこの短時間でのマージはまったく予想しておらず、 望外のことに喜びと達成感もひとしおです。 ではその余韻の残るうちに、 この色付き絵文字対応パッチ制作の時間的経緯を ログを掘り返して書き記しておきましょう。 来は Vim アドベントカレンダーのほうにも使えるネタなんですが、 まぁそちらには別のやつを考えましょうってことで。 あ、メッチャ長いんで要注意。 前日譚 まず以前から mattn さんは色付き絵文字を出したいと表明していました。 先日行われた VimConf 2017 でも言っていましたね。

    daiki_17
    daiki_17 2017/11/27
  • netupvim 1.0 リリース — KaoriYa

    netupvim: first release! (v1.0) (注: リンク先は1.0 ではなく最新バージョンになっています) Windows 用の Vim (香り屋版) をネットワーク経由で更新、修復、もしく はインストールするためのプログラム、netupvim を正式リリースしました。上記のリンク先よりダウンロード可能です。 zipをダウンロードして展開した後は、UPDATE.bat をダブルクリックするだけで、ネットさえ繋がっていればいつでもどこでも最新の Vim (香り屋版) を利用できます。また設定ファイルを用意すると、最新の家の Vim バイナリや香り屋の開発版や実験版を追いかけることもできます。詳しい使い方は マニュアル を参照してください。 最近、香り屋版のVimの更新をサボっていましたが、コレを気にまたちょくちょく更新していく予定です。よろしければ是非 netupvi

    daiki_17
    daiki_17 2016/06/07
  • golang でのクロスコンパイルの留意事項 — KaoriYa

    golang (for Windows) でクロスコンパイルする際にハマったポイントと、 解決方法を紹介します。 TL;DR golang のクロスコンパイルを準備する場合には、以下の点に留意してください。 (Windows のみ) gccは32ビット版か64ビット版か、使いたい方を正しく選択する 2つ以上の環境へクロスコンパイルする場合には、make.bat/make.bash 実行時に --no-clean を指定する クロスコンパイルの準備をする golang を用いるとクロスコンパイルが容易なことはよく知られています。例えば、Windows上のgolangであっても、OSX向けのバイナリを生成したり、EdisonやRaspberry Pi用のバイナリを生成できたりするのです。ただし、以下に示す、ちょっとした事前準備が必要です。 環境変数 GOOS, GOARCH を設定し %GOR

    daiki_17
    daiki_17 2015/03/06
  • 最近よく見かけるバッドエンジニアリング — KaoriYa

    最近よく見かけるバッドエンジニアリングの発生パターン。 イカしたフレームワーク/ライブラリが誕生する あるプロダクトがそのフレームワークを利用する フレームワークのスコープから少し外れたことをやるためにハックする フレームワークがセキュリティ問題などにより更新される 3のハックのせいでアップデートできない どーすんだよ、これ。 もちろんハックがシンプルで規模が小さい or 適切な方法ならば、アップデート時にフレームワークのソース読んでなんとかできるわけだけれど。 とくにフレームワークがカジュアルに使えるほど、3のハックを行う人がド素人で、どうにもならなくなるように感じてる。

    daiki_17
    daiki_17 2014/10/20
  • Go/Migemo の紹介 — KaoriYa

    Migemo とは Migemo とはローマ字を入力して漢字を検索するためのライブラリです。詳しく言うとローマ字をひらがなへ変換し、そのひらがなを基に漢字として変換可能な候補を列挙し、それら複数の候補を合成して正規表現パターンを生成する、それが Migemo の主機能です。Migemo が生成した正規表現パターンを用いて検索すれば「ローマ字を入力すれば漢字を含む日語を検索できる」ようになるのです。 1つ具体的な例を示しましょう。ローマ字「kikai」を考えましょう。これはひらがなで示すと「きかい」です。漢字に変換すると「奇怪」「機械」「機会」…まだまだありますが、ひとまず複数候補があるということはわかります。ここまであげた5個の単語に一度にマッチする正規表現は以下のようになります。

    daiki_17
    daiki_17 2014/07/01
  • Vimが変なファイルを作るようになった — KaoriYa

    +kaoriya版として配布しているVimでは デフォルトで undofile がオンになった関係で ファイルの保存時に変な名前のファイルが作成されるようになりました。 その解説をします。 うちで配布している Vim は 7.4.227 から、デフォルトで undofile がオンの状態で配布されるようになりました。そのためデフォルトではファイルを保存した時に同時に.{ファイル名}.un~ を undo ファイルを作成します。この undo ファイルにより Vim は undo の情報をセッションを越えて保持できます。 しかしいきなりゴミのような名前のファイルが生成され、普通のユーザは驚くことでしょう。かく言う私も驚きました。っていうかそのまま間違えてレポジトリに commit しちゃいました。それでは困りますので、無効化する設定などを紹介しておきます。 完全に無効化する こう設定してくだ

    daiki_17
    daiki_17 2014/03/31
  • jQueryのメモリーリークの傾向と対策 — KaoriYa

    Web開発にとても便利なjQueryですが、 実はメモリーリークを誘発しやすい構造であることは あまり知られていないようです。 記事ではメモリーリークが発生する傾向と対策を紹介します。 皆さんjQueryは使ったことありますよね。Webでの開発ではとても便利で、ほぼ必須と言っても過言ではありません。しかしながらこのjQueryはメモリーリークを誘発しやすい構造であることはあまり知られていません。 GCのあるJavaScriptでメモリーリークが発生するとは何を言っとるんだ、と思われる向きもあるやもしれません。しかしGCがあっても、もう使わなくなったオブジェクトを配列やテーブル(Object)にしまいこんでいて、それを回収するタイミングが存在しなければ積もり積もってメモリを圧迫する、メモリーリークとなりうるというのは想像に難くないでしょう。jQueryで起こりうるメモリーリークはそのような

    daiki_17
    daiki_17 2014/03/28
  • Webアプリをいまどきの手法で爆速開発した — KaoriYa

    外道はるかぜちゃんジェネレータというWebアプリを いまどきな手法を用いて爆速で開発した話を紹介します。 先の3連休中、外道はるかぜちゃんジェネレータというWebアプリを開発&公開しました。ここで採用した開発手法がいまどきな爆速開発でしたのでちょっと紹介&ステマします。使った技術は以下の通りです。 AngularJS: Googleが開発しているViewModelなWeb開発ライブラリ(MVW: Model View Whateverだったかな?w) Github pages: スタティックサイトのホスティングに最適 Kii Cloud: mBaaS (mobile backend as a service) で共有データの保存に利用 HTML5 Canvas: 画像生成に。サーバサイドではなにもしてない! サービス概要 外道はるかぜちゃんジェネレータはベースとなる画像があり、そこに面白い

    daiki_17
    daiki_17 2014/01/31
  • 正しいVimのロゴ — KaoriYa

    よく使われているVimのロゴ、なんかおかしいのです。 間違っているのです。その原因を明らかにし正しいロゴの使い方を啓蒙したいのです。 この記事は Vim Advent Calendar 2013 6日目です。 変なロゴとその出自 まずは下の画像を見てください。 2日目からの引用ですが、一見なんの変哲も無いVimの正式なロゴです。しかし何かがおかしい。わからない人もいるかもしれませんが、これは縦横比がおかしいのです。背景の緑の四角は来なら正方形でなければならなにもかかわらず、この画像では菱型になっています。この違いは昔からVimのアイコンに慣れ親しんだ身としては、快速電車の中で足の裏が痒くなったけど掻くに掻けないそんなもどかしさを感じずにはいられない、というわけです。 問題はこの縦横比が狂った画像がどこからやってきたのか。そのネタで引っ張ろうかとも思いましたが、実はWikipediaでした

    正しいVimのロゴ — KaoriYa
    daiki_17
    daiki_17 2013/12/06
  • 書評:実践Vim 思考のスピードで編集しよう! — KaoriYa

    http://vim-jp.org の関係で 実践Vim 思考のスピードで編集しよう を献いただきました。そこでさっそく斜め読みしましたので紹介&レビューしてみます。あ、当に30分程度で流し読んだだけなので、レビューはあっさり目ということで。 まずはじめにこのは「Vimの実践的なTIP集」です。プラグインを使わない純粋なVimのTIP集になっています。そのため私の スパルタンVim との相性は抜群でw、私が無意識のうちに使っている操作の大半がしっかりと解説されています。非常に好みです。 (もしかしたらプラグインについての記述もあったのかもですが、まぁしっかり読み込んでいるわけではないので、気が付かなかったということですね) またTIP集であることからやや散漫になるだろうと推測していましたが、意外にも章立てが良いのか系統だって読めるのが良い点です。先頭から順番に、実際に試しながら読むと

    daiki_17
    daiki_17 2013/08/24
  • Vim scriptを取り巻く問題など存在しない (領土問題風に) — KaoriYa

    Vim scriptを取り巻く問題について というエントリへの反論というか返答というか補足です。このエントリは極端に書くとこう言っています。 Luaトランスレータなんてできっこねーんだから無駄なことやめろよバーカバーカ キャッチーに要約してますがコレ一行で済むでしょう。 ただ正直なにもわかっちゃいないで書かれたようなので、足りてないところを書いておきます。 Vim scriptの高速化方法の比較 Vim script を高速化する方法は、現時点で2つ提案されています。 バイトコード化 (=パース処理のキャッシュ) 別言語(Lua)へのJust In Timeな トランスレータ あのエントリでは前者は実現可能であるが後者は不可能であると述べていますが、私の見かたは違っていて「どちらも実現可能である」です。ただしそこに至るステップ、歩幅の大きさと予想される最大効果がぜんぜん違います。 歩幅の大

    daiki_17
    daiki_17 2013/04/03
  • 1