はてなブックマークアプリ

サクサク読めて、
アプリ限定の機能も多数!

アプリで開く

はてなブックマーク

  • はてなブックマークって?
  • アプリ・拡張の紹介
  • ユーザー登録
  • ログイン
  • Hatena

はてなブックマーク

トップへ戻る

  • 総合
    • 人気
    • 新着
    • IT
    • 最新ガジェット
    • 自然科学
    • 経済・金融
    • おもしろ
    • マンガ
    • ゲーム
    • はてなブログ(総合)
  • 一般
    • 人気
    • 新着
    • 社会ニュース
    • 地域
    • 国際
    • 天気
    • グルメ
    • 映画・音楽
    • スポーツ
    • はてな匿名ダイアリー
    • はてなブログ(一般)
  • 世の中
    • 人気
    • 新着
    • 新型コロナウイルス
    • 働き方
    • 生き方
    • 地域
    • 医療・ヘルス
    • 教育
    • はてな匿名ダイアリー
    • はてなブログ(世の中)
  • 政治と経済
    • 人気
    • 新着
    • 政治
    • 経済・金融
    • 企業
    • 仕事・就職
    • マーケット
    • 国際
    • はてなブログ(政治と経済)
  • 暮らし
    • 人気
    • 新着
    • カルチャー・ライフスタイル
    • ファッション
    • 運動・エクササイズ
    • 結婚・子育て
    • 住まい
    • グルメ
    • 相続
    • はてなブログ(暮らし)
    • 掃除・整理整頓
    • 雑貨
    • 買ってよかったもの
    • 旅行
    • アウトドア
    • 趣味
  • 学び
    • 人気
    • 新着
    • 人文科学
    • 社会科学
    • 自然科学
    • 語学
    • ビジネス・経営学
    • デザイン
    • 法律
    • 本・書評
    • 将棋・囲碁
    • はてなブログ(学び)
  • テクノロジー
    • 人気
    • 新着
    • IT
    • セキュリティ技術
    • はてなブログ(テクノロジー)
    • AI・機械学習
    • プログラミング
    • エンジニア
  • おもしろ
    • 人気
    • 新着
    • まとめ
    • ネタ
    • おもしろ
    • これはすごい
    • かわいい
    • 雑学
    • 癒やし
    • はてなブログ(おもしろ)
  • エンタメ
    • 人気
    • 新着
    • スポーツ
    • 映画
    • 音楽
    • アイドル
    • 芸能
    • お笑い
    • サッカー
    • 話題の動画
    • はてなブログ(エンタメ)
  • アニメとゲーム
    • 人気
    • 新着
    • マンガ
    • Webマンガ
    • ゲーム
    • 任天堂
    • PlayStation
    • アニメ
    • バーチャルYouTuber
    • オタクカルチャー
    • はてなブログ(アニメとゲーム)
    • はてなブログ(ゲーム)
  • おすすめ

    WWDC25

『Home - flyhigh』

  • 人気
  • 新着
  • すべて
  • Javaのテスト実行時間を62%削るvmvmを試してみた - flyhigh

    6 users

    shinpei.github.io

    概要 vmvm てのを使うと、テスト実行時間が短くなることがあるらしいので、試してみた。 結果、私の試行では早くならなかったが、早くなる人もいるかと思われ、使い方をシェアしたい。 vmvmて何? 論文漁ってたらたまたま見つけた、 ICSE ‘14のペーパ 。すでに1年経過してる。タイトルは、”Unit Test Virtualization with VMVM”。Unit test virtualization??と思いつつも、読み進める。どうやらJavaのテスト実行時間を62%短くする、 vmvm てのを作ったらしい。62%て。 なんとも驚異的な結果。さすがICSE。 使ってみる(maven編) (antは 公式README を参照) 論文の中身はさておき、まずはチェックアウト。ビルドしてインストール。バイナリもあるのでそれにパスとおしても良い。 1 2 git clone https:

    • 暮らし
    • 2016/08/15 18:03
    • Go1.7からSSAが導入された - flyhigh

      47 users

      shinpei.github.io

      初めに Go 1.7がリリースされる。目玉の一つは、SSA-IRが導入されたことだろう。Go1.7でSSAが入るんだけど、SSAって何?と居酒屋で聞かれたことが本稿の発端だった。私の知識だけでは包括的な説明にならなかったので、いろいろ調べつつそれをまとめた。 以下、一般的な話ではなく、なるべくGoに絞って話を進めている(コンパイラのコードははcmd/compile/internal/gcあたりにある)。より一般的な話は、参考文献等を示したのでそちらを参考にしてほしい。いろいろ調べて、Goに追加されたSSAについて知るべきことは、SSAが何か?よりも、SSA導入したGoがどうなったか、であると思った。 SSAとは何か SSA とは Static Single Assignmentの略だ。一つの変数への代入は一度しか行われてない事が確約できる形式のコードだ。この形式のコードは、最適化が行いやす

      • テクノロジー
      • 2016/08/15 10:09
      • golang
      • go
      • コンパイラ
      • 最適化
      • あとで読む
      • プログラミング
      • Go1.7からSSAが導入された - flyhigh

        131 users

        shinpei.github.io

        初めに Go 1.7がリリースされる。目玉の一つは、SSA-IRが導入されたことだろう。Go1.7でSSAが入るんだけど、SSAって何?と居酒屋で聞かれたことが本稿の発端だった。私の知識だけでは包括的な説明にならなかったので、いろいろ調べつつそれをまとめた。 以下、一般的な話ではなく、なるべくGoに絞って話を進めている(コンパイラのコードはは cmd/compile/internal/gc あたりにある)。より一般的な話は、参考文献等を示したのでそちらを参考にしてほしい。いろいろ調べて、Goに追加されたSSAについて知るべきことは、SSAが何か?よりも、SSA導入したGoがどうなったか、であると思った。 SSAとは何か SSA とは Static Single Assignmentの略だ。一つの変数への代入は一度しか行われてない事が確約できる形式のコードだ。この形式のコードは、最適化が行い

        • テクノロジー
        • 2016/08/15 09:59
        • go
        • performance
        • Go言語
        • golang
        • compiler
        • Golang
        • go build -tagsを使ってRelease/Debugを切り替える - flyhigh

          9 users

          shinpei.github.io

          Goでウェブアプリのクライアントを書いている。 ローカルでテストする場合は、サーバもローカルにたてるので、アクセスする先はlocalhostになる。 リリースするときは正しいウェブアプリのURLを指定しなければならない。 この際、切り替えはナイーブにコメントアウトで行ってきた。 const ( // APIServer = "http://www.mywebapp.com" APIServer = "http://localhost:8080" ) 当然、デバッグ用を有効にしたままリリースしてしまったり、その逆だったりと、混乱があった。 このような、デバッグ・リリースで機能を切り替えたい場合はBuild constrainsを使えば良いらしい。 Build Constrainsとは? 従来の機能が充実しているGoに抜かりはない。Build constrainsとは必要に応じてビルドするファ

          • テクノロジー
          • 2016/01/08 14:57
          • golang
          • unclassified
          • recoverでGoのテストのスタックトレースを省略する - flyhigh

            4 users

            shinpei.github.io

            概要 Goでテストを書く際にt.Errorfなどで問題を表示することは多々ある。しかし、テストがいくつかあった際にダンプをズラズラと表示されたときは、一概でどのテストが失敗したのか追うのがめんどくさいと感じることもあるだろう。そういう時は、recoverとdeferをうまく使えばよいらしい。 具体的にはテストに以下ようなコードを足せば、うまく省略できる。 1 2 3 4 5 defer func() { if r := recover(); r != nil { t.Error("Too lazy to show stack trace. This test has failed. Fix it.") } }() 問題 たとえば、以下のようなテストを考える。例ではStackという型を定義したパッケージでも作ったこととしよう。 1 2 3 4 5 6 7 8 9 10 11 12 packa

            • 学び
            • 2015/02/02 08:47
            • golang
            • Goプログラムのサイズを小さくする - flyhigh

              9 users

              shinpei.github.io

              Goで作られるプログラムサイズはそこそこ大きい。配布する場合はやはり小さい方が良い。 そんなときは、リンカの設定を利用するといいようだ。 go build -ldflags '-s -w' Linuxならバイナリサイズが小さくなるはずだ。拙作、comstockでは8MiBから5.2MiBに縮んだ。 何をやっているか? -ldflagsは、gccなどを使ったことある方はよくご存知だろうが、ldへの引数である。 ldとはgccが使うリンカであり、Goもリンカを持っている。Goのリンカは、例えば、go tool 6l(番号はアーキテクチャ依存)から呼び出せる。伝統的にリンカへのフラグは LDFLAGSであるので、goでは小文字で指定するようになってる。 go buildはリンカへの引数を-ldflagsの後で文字列として渡すことができる。 指定できるリンカフラグは様々で、標準ドキュメントよりもg

              • テクノロジー
              • 2014/12/25 15:53
              • Golang
              • go
              • あとで試す
              • プログラミング
              • Goプログラムのサイズを小さくする - flyhigh

                54 users

                shinpei.github.io

                Goで作られるプログラムサイズはそこそこ大きい。配布する場合はやはり小さい方が良い。 そんなときは、リンカの設定を利用するといいようだ。 1 go build -ldflags '-s -w' Linuxならバイナリサイズが小さくなるはずだ。拙作、comstockでは8MiBから5.2MiBに縮んだ。 何をやっているか? -ldflagsは、gccなどを使ったことある方はよくご存知だろうが、ldへの引数である。 ldとはgccが使うリンカであり、Goもリンカを持っている。Goのリンカは、例えば、go tool 6l(番号はアーキテクチャ依存)から呼び出せる。伝統的にリンカへのフラグは LDFLAGSであるので、goでは小文字で指定するようになってる。 go buildはリンカへの引数を-ldflagsの後で文字列として渡すことができる。 指定できるリンカフラグは様々で、標準ドキュメントより

                • 学び
                • 2014/12/25 10:28
                • build
                • go
                • プログラミング
                • golang
                • Go
                • build -tagsを使ってRelease/Debugを切り替える - flyhigh

                  20 users

                  shinpei.github.io

                  Goでウェブアプリのクライアントを書いている。 ローカルでテストする場合は、サーバもローカルにたてるので、アクセスする先はlocalhostになる。 リリースするときは正しいウェブアプリのURLを指定しなければならない。 この際、切り替えはナイーブにコメントアウトで行ってきた。 1 2 3 4 const ( // APIServer = "http://www.mywebapp.com" APIServer = "http://localhost:8080" ) 当然、デバッグ用を有効にしたままリリースしてしまったり、その逆だったりと、混乱があった。 このような、デバッグ・リリースで機能を切り替えたい場合はBuild constrainsを使えば良いらしい。 Build Constrainsとは? 従来の機能が充実しているGoに抜かりはない。Build constrainsとは必要に応じ

                  • テクノロジー
                  • 2014/10/08 10:06
                  • golang
                  • go
                  • build

                  このページはまだ
                  ブックマークされていません

                  このページを最初にブックマークしてみませんか?

                  『Home - flyhigh』の新着エントリーを見る

                  キーボードショートカット一覧

                  j次のブックマーク

                  k前のブックマーク

                  lあとで読む

                  eコメント一覧を開く

                  oページを開く

                  はてなブックマーク

                  • 総合
                  • 一般
                  • 世の中
                  • 政治と経済
                  • 暮らし
                  • 学び
                  • テクノロジー
                  • エンタメ
                  • アニメとゲーム
                  • おもしろ
                  • アプリ・拡張機能
                  • 開発ブログ
                  • ヘルプ
                  • お問い合わせ
                  • ガイドライン
                  • 利用規約
                  • プライバシーポリシー
                  • 利用者情報の外部送信について
                  • ガイドライン
                  • 利用規約
                  • プライバシーポリシー
                  • 利用者情報の外部送信について

                  公式Twitter

                  • 公式アカウント
                  • ホットエントリー

                  はてなのサービス

                  • はてなブログ
                  • はてなブログPro
                  • 人力検索はてな
                  • はてなブログ タグ
                  • はてなニュース
                  • ソレドコ
                  • App Storeからダウンロード
                  • Google Playで手に入れよう
                  Copyright © 2005-2025 Hatena. All Rights Reserved.
                  設定を変更しましたx