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

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

アプリで開く

はてなブックマーク

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

はてなブックマーク

トップへ戻る

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

    WWDC25

『qiita.com』

  • 人気
  • 新着
  • すべて
  • GoでShared Libraryをビルドしてみた(簡単ドキュメント指向DB) - Qiita

    3 users

    qiita.com/umisama

    IoTみたいな小さなアプリケーションで、sqliteを使うほどでも無いけどクエリは動いてほしい、みたいなことがあると思う。 こういう用途に対しては、golangで簡単なドキュメント指向データベースをつくって、pythonとかから呼び出せるようにしてやれば便利そうだ。というわけでこの機会にちょっと試作してみた。 基本方針 goleveldbをバックエンドに使った適当なドキュメント指向DBっぽいもの https://github.com/syndtr/goleveldb Shared Libraryとして吐き出して他の言語から使えるようにする データベースの実装 適当に実装を練った。 テスト用というかイメージをつかむためにつくったので、極めて軽くつくった実装 # これをドキュメントDBと言ってよいかどうかは悩ましい package docdb import ( "bytes" "encodin

    • テクノロジー
    • 2015/12/21 21:00
    • たぶんみんな間違っていないgolangのHTTP Respose Bodyの閉じ方 - Qiita

      35 users

      qiita.com/umisama

      Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

      • テクノロジー
      • 2015/06/04 22:23
      • golang
      • api
      • sqlite3のDSN(filename)いろいろ - Qiita

        11 users

        qiita.com/umisama

        Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

        • テクノロジー
        • 2015/03/09 15:42
        • sqlite
        • あとで読む
        • golang 1.4で追加されたtestingの便利機能(テストの初期化とお片づけ) - Qiita

          35 users

          qiita.com/umisama

          golangのtestingパッケージはシンプル主義のgoならではといった、最小限の機能のみを提供しています。実際のところこれまでも(ほぼ)充分な機能を提供してきたわけですが、テスト前の初期化を明確に定義できないなど、不満もありました。 そういうわけで、1.4からこの不満を解決するtesting.MとTestMain(*testing.M)が追加されています。これがかなり最高便利です。 従来のテクニック 当然、これまでもテストの"初期化"や"お片づけ"を書きたいという要求は当然ありました。それに対しては、go testコマンドがファイルをabc...順に読みこむことを利用して、ファイル名を工夫するというちょっと裏ワザ的な手法が一般的でした。 すなわち、最初に実行したいテストが書かれたファイルは「a_test.go」にして、最後に実行したいテストを「z_test.go」とするわけです。この方

          • テクノロジー
          • 2015/01/31 20:51
          • golang
          • test
          • testing
          • go
          • language
          • あとで読む
          • golangでSQLを叩くライブラリまとめ[基本/クエリビルダ/ORM] - Qiita

            56 users

            qiita.com/umisama

            Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

            • テクノロジー
            • 2015/01/17 22:22
            • golang
            • orm
            • SQL
            • go
            • db
            • programming
            • database
            • library
            • あとで読む
            • golangでデストラクタ的なことをする - Qiita

              6 users

              qiita.com/umisama

              Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

              • テクノロジー
              • 2015/01/07 17:04
              • Go
              • programming
              • time.Timeから日付だけを取り出す - Qiita

                8 users

                qiita.com/umisama

                現在時刻から日付だけを取り出す(今日の0:00)を作りたい時の話です。 Truncate()を使う Time型にはTruncateメソッドが用意されていて、指定した大きさ以下の時刻を切り捨ててくれます。 func (t Time) Truncate(d Duration) Time Truncate returns the result of rounding t down to a multiple of d (since the zero time). If d <= 0, Truncate returns t unchanged. これに1日(24時間)を指定すれば簡単に日付を取り出せる気がします。

                • テクノロジー
                • 2014/11/11 16:52
                • go
                • time
                • golang
                • Qiita
                • プログラミング
                • golangの実行ファイルからファイルパスを除きたい - Qiita

                  9 users

                  qiita.com/umisama

                  先に言っておくと根本的な解決方法は無いです。 goの実行ファイルにはファイルパスが含まれている golangで書いたアプリケーションには、ビルド時のフルパスが必ず含まれていいます。これはパニックした時のメッセージにファイルパスが含まれることからもわかります。つまりこういうことです。 panic: hogehoge goroutine 16 [running]: runtime.panic(0x495080, 0xc208000170) /usr/local/go/src/pkg/runtime/panic.c:279 +0xf5 main.main() /home/umisama/go/src/github.com/umisama/hogehoge/main.go:7 +0xf3 実行ファイルを開けてみると、確かにファイルのフルパスが入っていることがわかります。 これはgolangでオンプ

                  • テクノロジー
                  • 2014/06/30 12:30
                  • go1.3でNative Client(NaCl)アプリをビルドする #golang - Qiita

                    25 users

                    qiita.com/umisama

                    今朝、golang 1.3がリリースされました。 このバージョンからPlan9などの新しい環境に対応しましたが、特にNative Client(NaCl)が気になりましたので、バージョンアップのついでに試してみました。 Native Client Native Client、通称NaClはブラウザ上でx86ネイティブコードが実行出来る仕組みであって、JavaScriptの諸問題の一部を解消できると期待されています。バイナリはNaClのサンドボックスに閉じ込めて実行されるため、周りに影響を与えないという特徴もあります。 類似の技術にMozillaのasm.jsがありますが、asm.jsがJavaScriptを単純にしたサブセットで実行速度を改善しているのに対し、Native Clientはコンパイル済みのマジで本気なバイナリがゴリゴリ動くので、大変に萌え度が高いです。 とは言ったものの、go

                    • テクノロジー
                    • 2014/06/19 21:08
                    • NaCl
                    • golang
                    • Go
                    • os.Exit()とdefer - Qiita

                      7 users

                      qiita.com/umisama

                      golangのos packageにはExit()という関数がいて、その名の通りOSに値を返してプロセスが死ねる。 で、ドキュメントによると、 func Exit(code int) Exit causes the current program to exit with the given status code. Conventionally, code zero indicates success, non-zero an error. The program terminates immediately; deferred functions are not run. とあって、deferに登録した関数をすべて破棄してくれるらしいと書いてある。念の為に試しておくと、 package main import "os" func test() { println("hello in t

                      • テクノロジー
                      • 2014/05/23 10:02
                      • golang
                      • プログラミング
                      • 【翻訳】プロダクション環境でのベストプラクティス - Qiita

                        199 users

                        qiita.com/umisama

                        Qiitaは2ヶ月ぶりです。 GopherCon2014でSoundCloudの方がプロダクションでGoをどう使うかというところで発表されていたようです。その内容がブログで公開されていたので、僕の勉強も兼ねて翻訳することにしました。 英語は得意でないのですが、ザクッと訳してみました。きっと間違い有るので、どうかご指摘ください。 元ネタ:http://peter.bourgon.org/go-in-production/ スライド:https://github.com/gophercon/2014-talks/blob/master/best-practices-for-production-environments.pdf プロダクション環境でのベストプラクティス SoundCloudでは、たくさんのクライアントに対してAPIの形でプロダクトを提供するようにしています。ですから、ウェブサイ

                        • テクノロジー
                        • 2014/04/29 19:36
                        • golang
                        • go
                        • deploy
                        • soundcloud
                        • development
                        • Google
                        • サービス
                        • programming
                        • 絶対ハマる、不思議なnil - Qiita

                          90 users

                          qiita.com/umisama

                          Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

                          • テクノロジー
                          • 2014/02/27 18:02
                          • golang
                          • Go
                          • nil
                          • null
                          • Qiita
                          • golangに(僕が)便利(だと思う様)なlogger作った - Qiita

                            14 users

                            qiita.com/umisama

                            golangでアプリケーションログ取る時、一般的にはlogパッケージが用いられると思います。 が、あれイロイロ不便なので自分で作りました。 既存の問題 標準のlogや、他の人が公開してくれているloggerにはこんな問題があると思います。 レベル別にできない。 関数名やgoroutine番号が出せない なんか作りが複雑(主に野良) 方向性 なのでこんな感じの方向性とか機能を盛り込みました。 logをレベル付できるようにした。 関数名とかをログに含められるようにした。 timeやtext/packageなどgoの標準に沿った作りにした。 サンプル package main import ( "github.com/umisama/golog" "os" ) var logger log.Logger func OtherFuncName() { logger.Info("here is Ot

                            • テクノロジー
                            • 2014/02/10 11:58
                            • golang
                            • go
                            • goroutineがスイッチされるタイミング - Qiita

                              12 users

                              qiita.com/umisama

                              goroutineがスイッチされるタイミングについて調べていました。 結論 Go言語で、goroutineは 必ずしも スイッチされるわけではない。 スタックに触れないような、「for(){}」みたいなビジーループをGOMAXPROCSの指定数以上に含ませるとスイッチされなくなる。 goroutineがスイッチされる(主な)条件はこれらと思われる。 goroutineの関数が最適化でinline化されていない スタックを操作するような処理を行った (その他の契機もあるようなので「経緯」で書く) 経緯 処理のないビジーループが有ると、goroutineがスイッチされず処理が止まることに気づきました。 # 処理の中身を全部コメントアウトしてデバッグしていたら気づいた

                              • テクノロジー
                              • 2014/01/20 12:35
                              • golang
                              • Go
                              • 言語
                              • アプリケーションサーバのユニットテストする - Qiita

                                10 users

                                qiita.com/umisama

                                お気に入りのThinkPadキーボードが壊れて不服な気持ちのうみさまです。 新しいX1Carbonを見てThinkPadへの忠誠心も切れかかっていた所だったので、今度はHHKBでも買います。 さて、golangにはアプリケーションサーバをユニットテストするため、net/http/httptestというパッケージが用意されています。 ハンドラのユニットテスト 例えば、こんな感じのアプリケーションがあったとしてHander()を試験したい場合、 package main import ( "net/http" "fmt" ) func Handler( w http.ResponseWriter, r *http.Request ) { fmt.Fprintf(w, "hello world") } func main() { http.HandleFunc("/", Handler) htt

                                • テクノロジー
                                • 2014/01/17 20:57
                                • golang
                                • test
                                • プログラミング
                                • luaのcoroutine - Qiita

                                  4 users

                                  qiita.com/umisama

                                  最近、vimの勝手スクリプトとかもluaで書いたりしていて、便利だなぁって思っています。 coroutineについてメモしておく。 coroutineの大体 coroutineは独自のluaスタックとローカル変数を持つスレッド的な物。 スレッド的だけれど、OSに制御が有るわけではなく、制御を明け渡すならロジック自体がそれを通知しないといけない。 create()するとコルーチンが作られる。resume()で実行/復帰、コルーチン内でyield()すると制御を戻せる。この時、戻り値として値をやり取りしたりもできる。 なんか適当に機能を使いまくると、こんな感じ。 local colo = coroutine.create( function( init ) if init == nil then init = 0 end local i = init while i < 10 do corou

                                  • テクノロジー
                                  • 2013/12/17 13:49
                                  • coroutine
                                  • Lua
                                  • Chromeに追加して効率改善できる呪文(I'm Feeling Luckey) - Qiita

                                    3 users

                                    qiita.com/umisama

                                    Chromeに追加しておくと異様に効率が改善する魔法を見つけたので共有します。 I'm Feeling Luckey Googleの機能で、検索画面をスキップして最上位の結果を表示してくれる機能が「I'm Feeling Luckey」。 検索って、「調べごと」ではなく「目的地へ到達する」ための手段として使うことがありますよね。 こういう場合、たいていは最上位が目的ページなのでこの機能が有効です。 僕の場合、後者の使い方がすごく多かったので効率が異様に改善しました。 How to Chromeのコンテキストメニューから「Setting」から「Search」にある「Manage search engines...」をクリックする。 ここから、大体こんな感じに検索エンジンの設定を入れる。 Search Engine I'm Feeling Luckey Keyword l URL http:/

                                    • テクノロジー
                                    • 2013/09/06 01:18
                                    • search
                                    • 検索
                                    • いまさらながら、WebAudio APIで遊ぶ - Qiita

                                      4 users

                                      qiita.com/umisama

                                      2013年にもなって今更WebAudioAPIで喜ぶというのもなんとも言えない感じですが、触ってみると結構楽しかったのでブログします。 What's "Web Audio API"? Web Audio APIはブラウザ向けのオーディオ再生機構としてW3Cによって規定されているAPIで、いわゆるHTML5に含めて扱われているAPIです。 現在はWebkit系ブラウザでしかマトモに動かないという制約はあるのですが、 オーディオファイル再生 ストリーミング再生 フィルタリング スクリプトによる音声生成・編集 など、シンプルに音声を再生するという以上の能力を持っています。 W3Cによるドラフトによると、 The introduction of the audio element in HTML5 is very important, allowing for basic streaming au

                                      • テクノロジー
                                      • 2013/07/11 20:27

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

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

                                      『qiita.com』の新着エントリーを見る

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

                                      j次のブックマーク

                                      k前のブックマーク

                                      lあとで読む

                                      eコメント一覧を開く

                                      oページを開く

                                      はてなブックマーク

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

                                      公式Twitter

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

                                      はてなのサービス

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