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

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

アプリで開く

はてなブックマーク

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

はてなブックマーク

トップへ戻る

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

    WWDC25

『qiita.com』

  • 人気
  • 新着
  • すべて
  • RubyでXPath 1.0 パーサを実装した - Qiita

    4 users

    qiita.com/namusyaka

    この記事はドワンゴ Advent Calendar 2020 16日目の記事です。アドベントカレンダーが好きすぎて、これに加えて最終日も書かせていただきます。急拵えなので内容は薄いですが、興味があればお付き合いください。 はじめに この記事で紹介するXPath 1.0パーサは、ドワンゴ Advent Calendar 2020 最終日にて紹介予定のHTMLパーサである「gammo」向けに開発したものである。 最終日の内容はHTMLパーサに特化したものとなるため、この記事ではgammoが構築したDOMツリーをtraverseするための仕組みとして、XPath 1.0を実装した話を紹介する。 XPath 1.0は1999年に勧告されたXSLT 1.0と同時に公表されたもので、現在の最新バージョンである3.1と比較すると非常に機能が少ないシンプルな仕様となっている。 XPath 1.0を選択した

    • テクノロジー
    • 2020/12/25 00:05
    • Ruby
    • WHATWG Living StandardとHTMLパーサ - Qiita

      55 users

      qiita.com/namusyaka

      この記事はドワンゴ Advent Calendar 2020 最終日の記事です。年の瀬ですね。 はじめに 本記事は、WHATWG Living Standardに準拠することを目的としたHTMLパーサである「gammo」の紹介を目的としている。gammoが実現していることを詳細に伝えるため、単なるgemの紹介に留まらず、HTMLの歴史や昨今のHTMLを取り巻く状況を簡単に解説し、WHATWG Living StandardにおけるHTML文書の解析アルゴリズムについて、実例と共に紹介する。 本記事で紹介するgammoの開発に取り掛かった理由は、主に以下の二点が挙げられる。 WHATWG Living Standardに準拠したHTMLパーサをRubyGemsの中から見つけられなかったため。 現在HTMLパーサの機能を持つライブラリの中で、最も利用されていると考えられるNokogiriと比較

      • テクノロジー
      • 2020/12/25 00:03
      • HTML
      • アルゴリズム
      • algorithm
      • WHATWG
      • festival&tour
      • qiita
      • DOM
      • あとで読む
      • ブラウザ
      • browser
      • HTTP/2における双方向通信とgRPCとこれから - Qiita

        340 users

        qiita.com/namusyaka

        この記事は 第2のドワンゴ Advent Calendar 2017 最終日の記事です。 はじめに ウェブ技術を語る上で欠かすことのできない要素として、HTTPがある。 従来のHTTP/1を無くして、ここまでのウェブの発展はなかったといえるだろう。言うまでもなく、HTTP/1が我々人類に齎した功績は大きい。 しかしその一方で、その規格のシンプルな原理原則に縛られた結果、要件を達成するために非効率なネットワーク使用を前提とするシステムが量産されるなど、HTTP/1がもたらした技術的負債も存在する。 その中の一分野として、双方向通信に着目したときに、HTTP/1からHTTP/2へのアップグレードによってどのような変化がもたらされたか。 本稿ではHTTP/2という規格と、それが持つ可能性の一端としてgRPCについての仕組みを紹介し、従来とこれからのWeb開発における双方向通信について述懐する。

        • テクノロジー
        • 2017/12/25 00:03
        • HTTP2
        • gRPC
        • http
        • あとで読む
        • Advent Calendar
        • ネットワーク
        • 双方向
        • Advent
        • web
        • network
        • なぜいま一時的セキュリティ認証情報が必要なのか - Qiita

          10 users

          qiita.com/namusyaka

          トリの豚ですが、二日目が空いていると締まらないので本人の許可なく勝手に埋めさせてもらうこととする。 勢いで書いた文章のため、短文かつ内容は薄い。主張したいことは簡潔である。 はじめに 昨今のサーバレスアーキテクチャの趨勢に考えを及ぼすと、不特定多数のエンドユーザーがクラウド上のリソースに対して直接的にアクセスするアーキテクチャについても、視野に入れていかねばならなくなるであろう。 クラウド上のリソースとは、例えるならAWSにおけるS3やGoogle Cloud Storage、その他様々な情報を配信するマネージド・サービスを指すこととする。 そして、その際に前提として考えなければならないのは、そのエンドユーザーが真にそのリソースにアクセスする権限を有するかどうか、という点である。 AWSの場合 AWSはこの課題に対し、AWS STS(Security Token Service)という形で

          • テクノロジー
          • 2017/12/21 09:56
          • あとで読む
          • SinatraでReactを使うためのgemを書いた - Qiita

            31 users

            qiita.com/namusyaka

            ReactJSが取り沙汰されるようになって久しい昨今、 Ruby界隈ではRails対応のgem、もしくはプラグインしか存在しておらず、 未だにSinatraやPadrinoでReactJSを(サーバサイドレンダリングも含め)使うためのgemがないことに絶望したので自分で書いた。 個人的にはサーバサイドレンダリングは筋が良い技術だとは到底思えないし、廃れゆくべき技術だと思っているが、 個人開発においてどうしても必要になったため、実装した次第である。 tl; dr; namusyaka/react-sinatraというgemを書いた。 SinatraでReact.jsを用いたサーバサイドレンダリングができるようになる。 サンプルはnamusyaka/react-sinatra-sampleを参照。 このgemを動かすにあたって必要になるnamusyaka/react-sinatra-ujsとい

            • テクノロジー
            • 2017/01/15 17:54
            • sinatra
            • react
            • gem
            • Ruby
            • あとで読む
            • library
            • JavaScript
            • C++/Rubyで基数木をつかって高速なHTTPルーティングを実現する - Qiita

              49 users

              qiita.com/namusyaka

              Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに 数年にわたり、PadrinoやGrapeといったWebアプリケーションフレームワークのルーティングを改善してきた自分が、今年の11月頃から、従来とは異なるアプローチでHTTPルーティングの高速化について検証したので、その結果について解説する。 なおこの記事では、その過程でC++で基数木を実装し、それを用いることにより、Rubyで高速なHTTPルーティングを実現した事例について、順を追って解説する。 tl;dr C++で基数木(Radix Tree)を表現するr2reeというライブラリを書いた。 r2reeのRuby向けバインデ

              • テクノロジー
              • 2016/12/01 00:09
              • ruby
              • routing
              • algorithm
              • c++
              • performance
              • RubyでHjsonパーサを書いた - Qiita

                36 users

                qiita.com/namusyaka

                最近触っているソフトウェアは立て続けに設定をjsonを書かせるものばかりで辟易としていたところに、何かまともなものはないかと調べていたらhjsonというものがあった。 better JSON的なノリで作られたもののようだが、考案者自身がRFCも書いているなど、なかなかやる気に満ち溢れているように見える。 ところが残念なことに、自分が発見した時点ではruby製のhjsonパーサがまだ存在していなかったため、サクッと書いてみたので記事も書く。 namusyaka/hjson 使い方 基本的にHjson.parseしか使わない前提。 require 'hjson' hjson = <<HJSON // for your config // use #, // or /**/ comments, // omit quotes for keys key: 1 // omit quotes for s

                • テクノロジー
                • 2016/08/14 16:10
                • json
                • Ruby
                • あとで読む
                • Qiita
                • hjson
                • DynamoDBのためのdinamoという簡易的なORMをかいた - Qiita

                  15 users

                  qiita.com/namusyaka

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

                  • テクノロジー
                  • 2016/03/09 08:53
                  • dynamodb
                  • Ruby
                  • あとで読む
                  • RubyとAWSでつくるメディアストレージ基盤 - Qiita

                    203 users

                    qiita.com/namusyaka

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

                    • テクノロジー
                    • 2015/12/01 00:17
                    • AWS
                    • Ruby
                    • ec2
                    • s3
                    • あとで読む
                    • Dwango
                    • storage
                    • ドワンゴ
                    • ストレージ
                    • 画像
                    • Itamaeのeditアクションが便利 - Qiita

                      3 users

                      qiita.com/namusyaka

                      Itamaeのeditアクションが便利 chefでもやろうと思えばできるんだとは思うが、少なくとも自分はここまで簡潔に書ける方法を知らなかったし、非常に便利だと感じたので書く。 itamaeのファイル系リソース(file・remote_file・template)では、actionアトリビュートに:editという値を指定できる。 これを使うとblockアトリビュートに指定したブロックを実行し、ファイルの内容を編集することができる。 使い方 contentに対して破壊的な変更を下すことで、ファイルの内容が置き換わる。 ブロックの戻り値がファイルの内容に置き換わっても良いのでは、とも思ったが作者の思想的にはこれがベストなんだろうか。 おわりに itamaeはchefと比べて、学習コストを割くことなく、さくっと環境構築フローをコードに落とし込めるDSL兼ツールという認識でいる。 chefはちょっ

                      • テクノロジー
                      • 2015/07/13 13:06
                      • Padrino Frameworkのルーティングの仕組みが変わります - Qiita

                        21 users

                        qiita.com/namusyaka

                        Padrino Frameworkのルーティングの仕組みが変わります はじめに タイトルのとおり、Padrino 0.13.0からはコアのルーティング実装が新しいものに替わります。 この記事では、0.13.0から追加された新機能や変更について解説します。 ルーティングの実装については、Padrino Frameworkのルーターを開発した話をご覧ください。 新機能 プリコンパイル機能 新しいルーターでは、目的のルートを高速に探索するために、一度全てのルートを正規表現にコンパイルします。 この機能は、その処理を予めサーバ起動時に行っておくことで、初回リクエスト時のオーバーヘッドを減らすことを目的とするものです。 以下に示すコードをアプリケーション直下、あるいはconfig/apps.rbのconfigure_appsブロック内に追加する事で、この機能が有効になります。

                        • テクノロジー
                        • 2015/01/28 20:11
                        • padrino
                        • ruby
                        • sinatra
                        • framework
                        • Padrino Frameworkのルーターを開発した話 - Qiita

                          27 users

                          qiita.com/namusyaka

                          Padrino Frameworkのルーターを開発した話 正直この手の技術解説記事を書くのはあまり得意ではないので避けていたところがありますが、 自分以外の人にも深く理解してもらいツッコミを入れてもらえる環境にしておくことがリスクヘッジになるのではないかと考えたために書くことにしました。 ちなみに、このルーターはgithubのmasterブランチには既に取り込まれています。 また、ここでの新しいルーターとは、pendragonを指すことにします。 なぜ新しいルーターなのか そもそもの発端はこのイシューで、http_routerをドロップして新しいルーターを開発しようという動きは私が開発に参加するより以前からあったようです。 大まかな理由は以前書いた「Padrino Frameworkの最新事情と今後について」にある通りですが、補足としていくつか説明します。 http_routerの仕組み

                          • テクノロジー
                          • 2014/11/12 22:47
                          • padrino
                          • Ruby
                          • development
                          • *あとで
                          • programming
                          • Padrino Frameworkの最新事情と今後について - Qiita

                            28 users

                            qiita.com/namusyaka

                            Padrino Frameworkの最新事情と今後について Padrino Frameworkについては公式サイト・日本語版を参照。 Padrino 0.12.3が先日リリースされましたが、最新の機能情報などをあまりウェブ上で見かけることがないので、解説しようと思います。 この文章は、Padrino 0.12.3における変更を網羅的に解説するものではなく、0.12.3に限らず最近の目立った変更・機能追加に要点を絞って書き進めます。 詳しい情報は、Padrinoの公式ブログの各エントリと、そこにリンクされているPull Request・Issueなどを確認してください。 また、つい最近Padrinoコアメンバー三名がRubyroguesで色々話してくれたみたいです。 書き起こしもあるようなので、興味のある方は是非確認してみてください。 機能追加など 大きいと思う機能追加について書きます。主観

                            • テクノロジー
                            • 2014/08/26 22:05
                            • padrino
                            • ruby
                            • フレームワーク
                            • framework
                            • プログラミング

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

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

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

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

                            j次のブックマーク

                            k前のブックマーク

                            lあとで読む

                            eコメント一覧を開く

                            oページを開く

                            はてなブックマーク

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

                            公式Twitter

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

                            はてなのサービス

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