タグ

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

  • renderoptions の設定のしかた — KaoriYa

    Vim は 8.0 で DirectX に対応しました。 しかし誰もそれの良い設定のしかたを知らないはずなので解説します。 記事は Vim Advent Calendar 2016 の 25日目(最終日)の記事です。 TL;DR Vim で DirectX を使うには以下のようにしてください。 OS の ClearType テキストの調整 を実施する VimUTF-8 モードで起動し、好きなフォントを設定する set rop=type:directx,renmode:5 で DirectX を有効化する Vim の DirectX サポート 御存知の通り2016年の9月に Vim 8.0 がリリースされました。 10年ぶりのメジャーアップデートということで たいそう話題 になりました。 特に Windows 界隈のユーザーにとっては、 テキストエディタが DirectX に対応した

    kasumani
    kasumani 2016/12/27
    renderoptions の設定のしかた 御存知の通り2016年の9月に Vim 8. Tags: from Pocket December 27, 2016 at 05:42AM via IFTTT
  • Golang と SDL2 でゲームを作る — KaoriYa

    Golang で SDL2 を使って作ったゲームを RasPi3 で遊びました。 その方法を紹介します。 記事は Go Advent Calendar 2016 24 日目の記事です。 導入 皆さんは突然ゲームを書きたくなること、ありませんか? ありますよね? あるでしょ。あると言ってください! 私は最近 ドキュメントスキャナ を入手しまして、 手元にあった古いプログラミング雑誌をまとめてスキャンしてました。 あ、プログラミング雑誌ってのは若い人にはわからないかもしれませんが、 読者が投稿したゲームなどのプログラムのソースコードが掲載され、 それを他の読者が打ち込んで楽しむそういう雑誌です。 だいたいは BASIC で、 今となっては決して長いとはいえないソースコードなんですが、 それでも 超圧縮 されていたりして、 今読んでも「あー楽しいな(楽しかったな)」ってなるわけです。 私が所持

    kasumani
    kasumani 2016/12/24
    Golang と SDL2 でゲームを作る 皆さんは突然ゲームを書きたくなること、ありませんか? ありますよね? あるでしょ。あると言ってください! Tags: from Pocket December 27, 2016 at 05:42AM via IFTTT
  • 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

    kasumani
    kasumani 2015/03/06
    golang でのクロスコンパイルの留意事項 golang のクロスコンパイルを準備する場合には、以下の点に留意してください。 Tags: from Pocket March 06, 2015 at 01:08PM via IFTTT
  • うちのVim(+kaoriya)の c_CTRL-X — KaoriYa

    うちのVim(+kaoriya)には、 私しか使っていなさそうな独自キーマップが仕込まれています。 今回はそれを紹介したいと思います。 この記事は、Vim Advent Calendar 2014の28日目の記事かもしれません(もしかしたら)。 TL;DR うちのVim(+kaoriya)では、コマンドラインで CTRL-X をタイプすると、現在開いているファイルのディレクトリを入力できます。 独自キーマップ うちのVim(+kaoriya)には、私しか使っていなさそうな独自キーマップが仕込まれています。そのキーマップとはコマンドラインにおける CTRL-X です。コマンドラインにおいて CTRL-X を押すと、現在アクティブになっているバッファのファイルがあるディレクトリ、すなわちディレクトリパスをコマンドラインに入力できます。 このキーマップは cmdex.vim にて定義されています

    kasumani
    kasumani 2014/12/28
    うちのVim(+kaoriya)の c_CTRL-X うちのVim(+kaoriya)では、コマンドラインで CTRL-X をタイプすると、現在開いているファイルのディレクトリを入力できます。 Tags: feedly, ifttt, recently read, saved for later from Pocket December 28, 2014 at 03:28PM via IF
  • Ractive.js の紹介 — KaoriYa

    HTML の DOM 操作を良い感じで隠蔽してくれる Ractive.js というライブラリを紹介します。 記事は VirtualDOM Advent Calendar 2014 の13日目の記事です。 VirtualDOM といえば React だ、と言わんばかりの流れですが、記事では敢えて Ractive.js を取り上げます。Ractive.js が VirtualDOM かって? 確かめてみましょう。 良し、大丈夫。VirtualDOMです。 Ractive.js とは? Ractive.js は家サイトの説明を借りれば、テンプレートドリブンなUIライブラリです。なんのこっちゃわからないでしょうね。 まずVirtualDOMのメリットとは 生のDOMを直接操作しなくても、JavaScriptのオブジェクトだけを操作すれば、上手いこと自動的に書き換えてくれる ことだと言えます。

    kasumani
    kasumani 2014/12/15
    Ractive.js の紹介 VirtualDOM といえば React だ、と言わんばかりの流れですが、本記事では敢えて Ractive.js を取り上げます。Ractive.js が VirtualDOM かって? 確かめてみましょう。 Ractive. Tags: feedly, ifttt, recently read, saved for later from Pocket
  • fmt (Fprintf/Sprintf) の速度向上実験 — KaoriYa

    golang の fmt.Fprintf/Sprintf には、 フォーマット文字列の解釈を最適化することで、 速くする余地があると推測されます。 その推測が正しいか、お手軽な実験を行ってみました。 この記事は Go Advent Calendar 2014 の6日目の記事です。 fmt.Fprintf および Sprint は、実行時にフォーマット文字列を毎回解析するという性質上、パフォーマンスに余計なオーバーヘッドが発生すると言えます。よって、その解析処理をコンパイル時に行えば、大幅にパフォーマンスが改善することは、C言語において kazuho さん(h2oプロジェクト)の h2o/qprintf が証明しています。 今回は qprintf にインスパイアされて、同様のことを golang で行ったらどの程度速くできるのかを、簡単な実験(koron/qfmt)で確認してみました。 方式

    kasumani
    kasumani 2014/12/06
    fmt (Fprintf/Sprintf) の速度向上実験 fmt. Tags: feedly, ifttt, recently read, saved for later from Pocket December 06, 2014 at 12:38PM via IFTTT
  • 最近よく見かけるバッドエンジニアリング — KaoriYa

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

    kasumani
    kasumani 2014/10/20
    最近よく見かけるバッドエンジニアリング もちろんハックがシンプルで規模が小さい or 適切な方法ならば、アップデート時にフレームワークのソース読んでなんとかできるわけだけれど。 Tags: from Pocket October 20, 2014 at 11:32AM
  • コードに色を付ける beni を書いた — KaoriYa

    ソースコードにシンタックスに応じた色を付ける code syntax highlighter を golang で書いたので 紹介します。 beni - code syntax highlighter written in golang 皆さんは code syntax highlighter (以下ハイライター)って知ってます? & 使ってますか? githubgist にコードを貼ると、言語の文法に応じてカラフルに表示してくれるアレですね。なのでこの記事を読むような人は、まず使ったことがあるんじゃないでしょうか。 ちなみに git はたぶん pygments です。私はこのサイトなどでは、最近 pure ruby な rouge を使うようになりました。jekyll から使う場合には、 python (しかも2.x限定) に依存してしまう pygments.rb よりは roug

    コードに色を付ける beni を書いた — KaoriYa
    kasumani
    kasumani 2014/09/24
    コードに色を付ける beni を書いた beni - code syntax highlighter written in golang 皆さんは code syntax highlighter (以下ハイライター)って知ってます? & 使ってますか? github や gist にコードを貼ると、言語の文法に応じてカラフルに表示
  • 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: 画像生成に。サーバサイドではなにもしてない! サービス概要 外道はるかぜちゃんジェネレータはベースとなる画像があり、そこに面白い

    kasumani
    kasumani 2014/02/01
    Webアプリをいまどきの手法で爆速開発した 先の3連休中、外道はるかぜちゃんジェネレータというWebアプリを開発&公開しました。ここで採用した開発手法がいまどきな爆速開発でしたのでちょっと紹介&ステマします。
  • スパルタンVimのPDF公開 — KaoriYa

    C81での頒布からそろそろ三週間になろうとしていますので、スパルタンVimPDFを公開します。以下からダウンロードしてください。 http://files.kaoriya.net/goto/c81pdf このPDFは表紙とそれ以外を別々のPDFとして出力し、MERGE PDFというWebサービスを使って1つのPDFにしました。最近はほんとうに便利になりましたね。 2012/01/20追記 スパルタンVimに対してtwitterでいただいた誤りの指摘をまとめました。 http://togetter.com/li/244330 その他に見つけた場合はtwitterならば @kaoriya にお願いします。その他の手段は…まかせます。私の目に入りそうなところに書いてください。

    kasumani
    kasumani 2012/01/20
  • C言語における文字列連結 — KaoriYa

    C言語で文字列連結を行う。とても簡単に思えるけれど、実はパフォーマンスについて考えることもあるんだよ、というお話。 C言語で2つ文字列の連結して、1つの文字列にするプログラム(関数)を書けるでしょうか? ちょっとC言語でプログラミングを学んだことがあれば簡単ですよね。要求仕様としては2つの引数aとbをとり、どちらもNULターミネートな文字列で、その文字列をヒープから確保した領域で連結して戻り値として返す、という感じの動作です。ヨユーですね。ちょっと書いてみてください。 char* str_join(const char* a, const char* b) { char* p = malloc(strlen(a) + strlen(b) + 1); strcpy(p, a); strcat(p, b); return p; } こんな風に書いてしまったあなたは及第点です。個人的には失格です

    kasumani
    kasumani 2012/01/16
  • 1