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

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

アプリで開く

はてなブックマーク

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

はてなブックマーク

トップへ戻る

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

    参議院選挙2025

『@yuguiのマイページ - Qiita』

  • 人気
  • 新着
  • すべて
  • 至高のDockerイメージ生成を求めて - Qiita

    4 users

    qiita.com/yugui

    本稿は良いDockerイメージを良い方法でビルドすることを探求した記録である。 Supership株式会社 Advent Calendar 2016の21日目にあたる。 2019年現在は@inductor氏の改訂版を見たほうが良い。 この記事で論じた望ましいコンテナイメージの姿は2019年でも変わらない。ただし、multi-stage buildのような新しい仕組みが普及したりツールの評価が定まってきたりと、実現に用いるツールの状況が2016年からやや変化している。 良いDockerイメージ 良いDockerイメージとは何だろうか。Dockerの利点は次のようなものだから、それを活かすイメージが良いものであるに違いない。 ビルドしたイメージはどこでも動く 適切にインストールされ、設定されたアプリケーションをそのままどこにでも持っていける。 コンテナ同士が干渉し合うことはないので、任意のイメ

    • テクノロジー
    • 2021/03/28 09:11
    • Docker
    • あとで読む
    • ぼくたちのかんがえたさいきょうのi18n国家

      1021 users

      qiita.com/yugui

      Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 本記事は下記のtweetから始まるスレッドに触発され、@qnighyや@na4zagin3からアイディアを拝借して書いた。 i18n力が最強の国は国内に複数の言語があり、そのうちいくつかは他国でも使われている言語の方言で、1バイト文字での代替表記が困難で、歴史的にISO-2022ベースの文字コードとUnicodeと独自エンコーディングが混在していて、フリガナなどの特殊な組版規則があり、右書き左書き縦書きを併用し、 — Masaki Hara (@qnighy) 2018年8月6日 皆さんのおかげで最強のi18n国家が建設されつつある。一

      • テクノロジー
      • 2018/08/06 23:46
      • i18n
      • 言語
      • 文化
      • プログラミング
      • あとで読む
      • programming
      • unicode
      • ui
      • 日本語
      • 文字
      • gRPCのシリアライゼーション形式をJSONにする - Qiita

        18 users

        qiita.com/yugui

        gRPCで送受信されるメッセージは、標準ではProtocol Buffersでシリアライゼーションされることになっている。一方、gRPCのwire protocolはそこは柔軟になっていて、実際、多くの実装ではシリアライゼーション形式をカスタマイズ可能だ。 たとえば、ある種のニーズのためにFlatBuffersが必要だとか、HTTP/2をサポートする標準的なツールでの解析のためにJSONのほうが可読性が良いとか、社内のバイナリ表現の一貫性のためMsgPackが必要だとか、宗教的な理由でProtobufを使えないとか、そういうときはスキーマだけprotobufで書いておいて、シリアライズは好きなようにやれば良い。 で、具体的にはそれはどうやったらできるのだろう。これが本稿の話題である。いくつかの言語で実際にJSONでシリアライズするクライアントとサーバーを書いてみたので、その結果を紹介する。

        • テクノロジー
        • 2018/02/27 11:30
        • grpc
        • protobuf
        • JSON
        • plugin
        • protocプラグインとカスタムオプション - Qiita

          37 users

          qiita.com/yugui

          以前の記事ではprotocプラグインの書き方を紹介したが、実は1つ問題があった。 実用的なプラグインを書こうとした場合に、しばしば生成時に必要な、ドメイン固有の情報が足りないのである。本稿ではそれを補うカスタムオプションの話をする。 ここでもう一度確認しよう。protocのプラグインはProtocol Buffersのスキーマを読んで任意の処理を行える仕組みだ。それはCodeGeneratorRequest内のFileDescriptorProto messageを読み取って任意のバイト列を出力し、出力を受け取ったprotocが指定通りにファイルにバイト列を書き込んでくれる。 ただ、FileDescriptorProtoはprotobufのスキーマ言語の文法をprotobufメッセージとして表現したものに過ぎないから、極めて一般的なデータ構造とサービス定義を表現する能力しか持たない。プログ

          • テクノロジー
          • 2018/02/25 22:17
          • protobuf
          • ProtocolBuffers
          • golang
          • プラグイン
          • あとで読む
          • protocolbuffer
          • protoc
          • Protocol Buffersのテキスト形式 - Qiita

            46 users

            qiita.com/yugui

            様々なシリアライズ形式やデータベース向けのスキーマ言語としてProtocol Buffersが有用という話や、そのためにprotocプラグインを書く話をしてきた。 ここで、少し話は変わってProtocol Buffersメッセージのテキスト形式の話をする必要がある。 protobufで定義されたメッセージは、実はバイナリ形式やJSONにシリアライズするほか、独自のテキスト形式にもシリアライズできる。 テキスト形式はバイナリ形式の効率性やプロトコル後方互換性を欠いているが、いくつかよく使われるパターンがある。 protobufスキーマにカスタムオプションを記述するとき protobufデータを処理中のログ出力 protobufを積極活用しているプロダクト内での設定ファイル形式 別に読み書きが難しいフォーマットではないが、世の中にあまりドキュメントがないため書いておこうと思う。 なお本稿は、実

            • テクノロジー
            • 2018/02/11 20:28
            • protobuf
            • あとで読む
            • programming
            • protocプラグインの書き方 - Qiita

              79 users

              qiita.com/yugui

              以前の記事では、Protocol Buffers (protobuf)の魅力の1つは周辺ツールを拡張しやすいことだと述べた。そこで本稿では具体的に拡張のためのprotocプラグインの書き方を紹介したい。 ちなみに、protobufの周辺ツールと言うと2種類ある。 1つはprotobufでシリアライズされたデータを処理するツール。JSONやCSVにとってのjqやsedやawkに相当する。 もう1つはprotobufのスキーマを処理するツール。 先の記事にあるようにProtobufはシリアライゼーション機能だけでなくスキーマ言語としても価値が高いので、典型的なweb開発用途では後者のほうが重要だ。 本稿は後者のスキーマ処理の話である。なお前者は、チュートリアルでAPIを覚えたらあとは自分で好きな処理を書きましょうというだけの話なので、別に難しくない。 protoc 初めに、protocについて

              • テクノロジー
              • 2018/02/11 17:36
              • protobuf
              • ProtocolBuffers
              • grpc
              • protocol buffers
              • golang
              • プラグイン
              • programming
              • plugin
              • 今さらProtocol Buffersと、手に馴染む道具の話 - Qiita

                534 users

                qiita.com/yugui

                Protocol Buffersは別に新しい技術ではない。同時にそれは、未だ知られざる、未だに可能性を秘めた先端のソフトウェア技術基盤である。 新しくないのは事実で、GoogleがProtocol Buffersをオープンソース化したのは2008年のことだし、オープンソース化前に社内で使われ出したのは更に昔に遡るだろう。たぶん。 デザイン的にもJSON対応は後付けで、将来JSONが隆盛を極めることなんか全然想定していなかったのが透けて見えて古くさい。 しかし、同時にどうも情報に聡い人であってもなかなかその真価を実感し得ておらず、ある意味で未知の技術であるらしい。ならば、Protobuf (Protocol Buffersの略)を解説した文書は幾多あれども、それに1を加えるのもやぶさかではない。 Protocol Buffersとは Protobufはスキーマ言語だ! 一般的にはProtob

                • テクノロジー
                • 2018/02/07 20:43
                • protobuf
                • protocol buffers
                • protocolbuffers
                • programming
                • json
                • google
                • あとで読む
                • プログラミング
                • gRPC
                • protocol
                • Turnipで他のシナリオを実行するステップ - Qiita

                  3 users

                  qiita.com/yugui

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

                  • テクノロジー
                  • 2017/11/18 18:05
                  • ブロック付きメソッドによる安全なリソース管理を破壊する - Qiita

                    33 users

                    qiita.com/yugui

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

                    • テクノロジー
                    • 2017/06/01 18:05
                    • ruby
                    • ブロック
                    • あとで読む
                    • programming
                    • 至高のDockerイメージ生成を求めて - Qiita

                      546 users

                      qiita.com/yugui

                      本稿は良いDockerイメージを良い方法でビルドすることを探求した記録である。 Supership株式会社 Advent Calendar 2016の21日目にあたる。 2019年現在は@inductor氏の改訂版を見たほうが良い。 この記事で論じた望ましいコンテナイメージの姿は2019年でも変わらない。ただし、multi-stage buildのような新しい仕組みが普及したりツールの評価が定まってきたりと、実現に用いるツールの状況が2016年からやや変化している。 良いDockerイメージ 良いDockerイメージとは何だろうか。Dockerの利点は次のようなものだから、それを活かすイメージが良いものであるに違いない。 ビルドしたイメージはどこでも動く 適切にインストールされ、設定されたアプリケーションをそのままどこにでも持っていける。 コンテナ同士が干渉し合うことはないので、任意のイメ

                      • テクノロジー
                      • 2016/12/21 19:11
                      • docker
                      • あとで読む
                      • コンテナ
                      • ビルド
                      • tips
                      • build
                      • Advent Calendar
                      • image
                      • イメージ
                      • calendar
                      • 例外、エラー、異常、そして - Qiita

                        332 users

                        qiita.com/yugui

                        「例外」「エラー」「異常」あたりの言葉が、言語仕様や設計の中で人によって微妙にずれた使い方されてるから、 「Expected だが Accept されないケース」を表す別の言葉が欲しい。 — Jxck (@Jxck_) 2016年8月31日 @Jxck_ 本来こう分類されて、 1. Expected/Accepted 2. Expected/UnAccepted 3. UnExpected 2, 3 をどう呼ぶかあたりで、例外, エラー, 異常などの言葉が入り乱れてて、それが広義の例外処理が誤解される原因だと思ってる — Jxck (@Jxck_) 2016年8月31日 Expected and Accepted Expected but Unaccepted Unexpected

                        • おもしろ
                        • 2016/08/31 18:26
                        • 例外
                        • プログラミング
                        • あとで読む
                        • 設計
                        • error
                        • programming
                        • 例外処理
                        • development
                        • exception
                        • エラー
                        • cgoを使ったCとGoのリンクの裏側 (2) - Qiita

                          7 users

                          qiita.com/yugui

                          先の記事ではGoコードからCの関数を呼び出す(import)場合について見た。 この記事では逆にCの関数からGoのコードを呼び出す、つまりGoの関数をCにexportする場合を扱う。 ただし、ここで言うのはあくまでも「Goのパッケージの一部をCで実装するにあたって、CコードがGoの機能を利用できる」ということだ。CプログラムにGoライブラリを埋め込む話(-buildmode=c-archive, -buildmode=c-shared)とは別で、そっちの話は別途扱う予定だ。 今回の話では、プログラム全体はあくまでもGoで書かれてる前提で、前回と同様にそのごく一部だけをCで書くことを想定している。 サンプルコード 今度は次のような4つのファイルからなるパッケージ github.com/yugui/cgo-explained/example2を考える。 //exportディレクティブでgoVe

                          • テクノロジー
                          • 2016/05/23 08:29
                          • Gclient, VagrantおよびChefによる開発環境管理 - Qiita

                            13 users

                            qiita.com/yugui

                            Vagrantで簡単に隔離された開発環境を構築できるようになって久しいが、その後も不満な点がいくつかあった。 最近になって一応満足できる解決策を見つけたので記述する。 細かな点やVagrantの使い方次第ですぐに解決できるものはさておき、主な不満点は下記のようなものだった。 設定やツールのカスタマイズ管理 私の場合は開発環境には最新のRubyが入っていてほしいし、「いつもの」Vim設定やZsh設定が為されていてほしい。 関連リポジトリのチェックアウト 関連する複数のソースリポジトリをチェックアウトしてきてそれらをまとめて1つのVagrant環境内で開発したいことがよくある。 しかし、もはやgit cloneとかタイプすることすら面倒だし、環境を作り直すたびにどのリポジトリをチェックアウトすれば良いのか覚えておくのは嫌になる。 以上すべてのバージョン管理 当然のことながら、Vagrantfi

                            • テクノロジー
                            • 2016/05/22 18:32
                            • cgoを使ったCとGoのリンクの裏側 (1) - Qiita

                              104 users

                              qiita.com/yugui

                              cgoを用いるとCのライブラリをGoバイナリにリンクしたり、Goパッケージの一部をCで書いたりできる。更にGo 1.5以降では、GoのパッケージをC用の静的ライブラリまたは動的ライブラリにまとめておいて、Cからリンクすることもできる。 これらの機能はすべてgo buildコマンドに統合されているので、普段は特にcgoを使っていることを意識することは少ない。しかし、pure goのコードのビルドにしたところでその裏側ではコンパイラ、アセンブラ、リンカが走っているわけである。ではcgoの場合をこの水準で見るとどのような処理が行われているのだろうか。 要は、gcc(1)の裏ではcc1, as, collect2なんかが走ってるよね、cgoではどうなってるの? という話が本稿の話題である。 なお、Goのオブジェクトファイルがプラットフォーム独立な(ELFとかではない)フォーマットであることや、Go

                              • テクノロジー
                              • 2016/04/10 21:48
                              • golang
                              • cgo
                              • go
                              • C
                              • gcc
                              • あとで読む
                              • Jsonnetの薦め - Qiita

                                105 users

                                qiita.com/yugui

                                JsonnetというJSONテンプレート言語を紹介する。 後で見るように、これはJSONを生成するための汎用テンプレートというよりはむしろ、計算や依存関係を含む設定を静的に書き下すために便利なのではないかと考えられる。 実際Jsonnetの仕様はGoogleのBCLに似ている。BCLはGoogleでコンテナクラスタシステムBorgの設定を記述するために使われている言語だ。 JSONテンプレート言語 ある意味でJsonnetは毎度おなじみのやつだ。JavaScriptの文法の不便さに対してalt JSが多数出てきた。CSSにおけるネストの分かりづらさやの記述の重複に対してCSS preprocessorが多数出てきた。それと同じようにして、Webにおける機械可読データのLingua FrancaたるJSONを記述するのが不便なのでJSONテンプレートが出てきた。 Jsonnetはその中の1つ

                                • テクノロジー
                                • 2015/09/09 13:36
                                • jsonnet
                                • json
                                • テンプレート
                                • template
                                • 設定
                                • コンテナ
                                • 言語
                                • development
                                • あとで読む
                                • プログラミングスタイルガイドのスタイルガイド - Qiita

                                  441 users

                                  qiita.com/yugui

                                  Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 本文書は、プログラミング言語向けのスタイルガイドに向けたスタイルガイドである。 本文書へのフィードバックはQiita上のコメントにて受け付ける。 構造 対象を明確にする そのスタイルガイドがどのような状況のどのような対象に向けたスタイルガイドであるか規定すること。 状況や対象は広すぎてはならない。 理由: 対象はスタイルガイド記述者には自明かもしれないが、似て非なる言語に誤用されたり、特定分野のアプリケーション向けスタイルガイドが他分野のアプリケーションを理不尽に拘束したりすることがある。これを防ぐべきである。 良い例: 「本文書はRu

                                  • テクノロジー
                                  • 2015/08/25 23:24
                                  • programming
                                  • styleguide
                                  • コーディング規約
                                  • development
                                  • プログラミング
                                  • document
                                  • coding-style
                                  • ドキュメント
                                  • あとで読む
                                  • スタイルガイド
                                  • Samba4を用いたWindows/Linux認証統合とネットワークホームディレクトリ - Qiita

                                    79 users

                                    qiita.com/yugui

                                    Samba4でWindows/Linuxの認証統合をしてみた。 次のような要件が背景にある WindowsとGNU/Linuxで共通のユーザー認証データベースを用いる Windowsホストはいろんなバージョンがある LinuxホストはUbuntu Trusty Tahr 予算がないのでWindows Serverをドメインコントローラーにするのは却下 ホームディレクトリはネットワーク上に置いて各マシンで共通して用いる (本稿では扱わないが)できればSolarisとHP-UXとAIXとIrixとFreeBSDも統合したい いろんなOSで依存性を解決してSambaをビルドして回りたくないのでwinbind認証は却下 SSOできるに越したことはない 要件を鑑みて、次のような構成にしてみた Samba4でActive Directoryドメインを構成する Windowsマシンはドメインメンバーにす

                                    • テクノロジー
                                    • 2014/11/03 19:33
                                    • samba
                                    • Active Directory
                                    • Linux
                                    • LDAP
                                    • ActiveDirectory
                                    • DC
                                    • Windows
                                    • nfs
                                    • AD
                                    • ネットワーク
                                    • Googleの二段階認証にセキュリティキーを使う - Qiita

                                      61 users

                                      qiita.com/yugui

                                      Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Googleの認証がいよいよ2段階認証としてセキュリティキーをサポートするようになった。 従来の2段階認証ではグーグル認証システムなどが生成する6桁のOpen Authenticationワンタイムパスワード(OATH OTP)を利用していたが、新たにFIDO Universal 2nd Factor(U2F)に準拠したハードウェアトークンを利用できるようになったのである。 早速試してみたので報告したい。 背景 U2Fは2段階認証にさらなる安全性と簡便性をもたらすことになる。 まずは簡便性について。OTPでは6桁の数字を制限時間以内に手

                                      • テクノロジー
                                      • 2014/10/25 18:31
                                      • FIDO U2F
                                      • security
                                      • google
                                      • u2f
                                      • auth
                                      • Yubikey
                                      • 2段階認証
                                      • Chrome
                                      • authentication
                                      • 認証

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

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

                                      『@yuguiのマイページ - Qiita』の新着エントリーを見る

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

                                      j次のブックマーク

                                      k前のブックマーク

                                      lあとで読む

                                      eコメント一覧を開く

                                      oページを開く

                                      はてなブックマーク

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

                                      公式Twitter

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

                                      はてなのサービス

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