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

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

アプリで開く

はてなブックマーク

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

はてなブックマーク

トップへ戻る

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

    参議院選挙2025

『harasou.jp』

  • 人気
  • 新着
  • すべて
  • Linux ACL の基礎 | harasou.github.io

    56 users

    harasou.github.io

    「Linux プログラミングインタフェース」再び。 輪読やりながら「こんな機能使うのか?」って、みんな文句言いながら読んでいた章。ここで触っとかないと、今後「ACL とか知らねぇ。」ってなりそうなので、まとめておく。 17章 ACL ACL はユーザもしくはグループ単位でのパーミションを設定可能にするもので、ユーザ、グループ数を制限しません。Linux ではバージョン 2.6 で ACL を導入しました。 refs: https://www.oreilly.co.jp/books/9784873115856/ ACL(access control list) とは 簡単に言うとファイルやディレクトリのパーミッションに +αのアクセス権 を設定できる機能。 ACL を設定すると下記例のように、通常のパーミッション的には root しか読めないファイルに、vagran

    • テクノロジー
    • 2016/07/06 11:24
    • security
    • linux
    • あとで読む
    • ACL
    • Linux
    • Sparse File (スパースファイル) の仕組み | harasou.github.io

      10 users

      harasou.github.io

      最近かなり流行っている「Linux プログラミングインタフェース」を読んでたら、lseek(2) の解説で Sparse File (スパースファイル) の話が出てきたので、実装が気になって調べてみた。 4 章 ファイル I/O:統一されたインタフェース 4.7 ファイルオフセットの変更: lseek() ファイル末尾を越えた位置へシークするとどうなるでしょうか? そしてその位置で I/O を実行すると? … (略) 意外 に思われるかもしれませんが、書き込みは可能なのです。 refs: https://www.oreilly.co.jp/books/9784873115856/ Sparse File とは 簡単に言うと、内部に NULL のかたまり(ファイルホール)を含むファイルのこと。こんなやつ。 1 2 # ls -shl sparse_file 4.0 K -rw-r-

      • 世の中
      • 2016/03/25 14:21
      • linux
      • kernel
      • Presentation

        5 users

        harasou.github.io

        • 暮らし
        • 2016/03/09 00:51
        • Linux kernel を読むための準備 | harasou.github.io

          4 users

          harasou.github.io

          仕事で kernel のソースが見る機会が度々ありそうなので、MAC上でソースをいつでも追えるように準備しておく。 準備といっても大したものではなく、 kernel ソースのダウンロード tag の作成 vim の設定 ぐらい。tag については、GNU GLOBAL などもあるが、とりあえず ctags で。 kernel source の取得 github ではなく tar ball からの取得。複数のリリースを取得するにはこちらの方が簡単そうだったので。 1 mkdir -p ~/src/kernel curl https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.2.4.tar.xz | tar zx -C ~/src/kernel/ tag の作成 linux kernel の Makefile には、tag を作成するターゲ

          • 世の中
          • 2016/03/04 15:41
          • Linux
          • 512バイトを超える DNSパケット | harasou.github.io

            78 users

            harasou.github.io

            glibc の脆弱性 CVE-2015-7547 でも話題になった 512バイトを超える DNS パケットについてのメモ。 DNS では、TCP が使われたり、512 バイト超えるデータが扱われることは知っていたが、詳しい仕組みなど知らなかったので、備忘録のためにまとめておく。 そもそもなぜ 512 バイト? 調べてみると、 インターネットで使われている IP(IPv4)の仕様では 一度に受信可能なデータグラム(ヘッダーを含むパケッ ト)として、 576 バイトを保証しなければならないと定められています。この値は、64バイトのヘッダーと 512バイトの データブロックを格納可能な大きさとして選択されたものです refs: https://jprs.jp/related-info/guide/008.pdf とのこと。 インターネットで使われている IP の仕様では、かならず「1パケットで

            • テクノロジー
            • 2016/02/23 11:40
            • dns
            • network
            • DNS
            • あとで読む
            • markdown(GFM) を変換するコマンドを mruby-cli で作ってみた | harasou.github.io

              3 users

              harasou.github.io

              この記事は、 mruby advent calendar 2015 20日目の記事です。みなさん難しい記事が多いですが、私にそういうのは無理なので軽めの内容になっています。 はじめに mruby でコマンドラインツールを作成できる mruby-cli を使って、markdown を html に変換する gfmarkdown というコマンドを作ってみました。 mruby-cli は、コマンドを作成するための雛形の作成とコンパイルなどを行ってくれるもので、一つのソースから、Linux や Mac、Windows などで動作するバイナリを生成してくれます。 markdown から html への変換は、 Github の API を利用しました。このため、インターネットへ接続できない環境では使用できません。 gfmarkdown のインストール 各アーキテクチャごとのバイナリを用意しているので

              • 世の中
              • 2015/12/20 17:53
              • mruby
              • 外部へ通信時のソースIP をユーザごとに変更する | harasou.github.io

                5 users

                harasou.github.io

                「ユーザ単位で、通信時に使用するソースIP を指定できないか?」って話があって、cgroup や fwmark とか使えばできるんじゃない?って思ってたけど、iptables だけであっさりできたって話。 こんな感じで、サーバ上のプロセスが外部へ通信を行う際に、ユーザごとに別々のソースIP になってほしいって要件。 上の例ではプライベートIP を使用しているが、利用時の想定はグローバルIP (IPマスカレードされたら意味なし :-P)。 環境いつものごとく vagrant で。 CentOS 7.1 (3.10.0-229.el7.x86_64) 手順いろいろ面倒くさそうな手順を考えていたが、よく考えると iptables だけであっさり対応できる。上記画像のような環境を構築する手順。 ユーザを追加 1 2 3 4 5 6 7 8 # useradd userA # useradd use

                • 暮らし
                • 2015/11/24 10:07
                • カーネルモジュールの modinfo について | harasou.github.io

                  4 users

                  harasou.github.io

                  前回カーネルモジュールを作った際に、MODULE_XXXX というマクロでモジュール内に情報を埋め込んだが、これがどういう風に埋め込まれているのか調べてみた。環境は今回も CentOS7 (3.10.0-123.4.4.el7.x86_64)。 前回作成した helloworld モジュールでも良いが、せっかくなので OS標準でインストールされているカーネルモジュール「iptalble_filter」について確認。 ELF(Executable and Linking Format)カーネルモジュールは ELFファイルになっている。 1 2 $ file iptable_filter.ko iptable_filter.ko: ELF 64-bit LSB relocatable, x86-64, version 1 (SYSV), BuildID[sha1]=0xbabd6cf7c7d8

                  • 暮らし
                  • 2015/11/04 10:07
                  • Alfred をバージョンアップすると iTerm2 でのコマンド実行ができなくなった | harasou.github.io

                    3 users

                    harasou.github.io

                    Alfred から実行するターミナルコマンドは、iTerm2 を使用していたが、Alfred のバージョンアップをすると iTerm2 が起動しなくなっていた。 調べてみると、Alfred 2.7.2 から Terminal コマンドを iTerm2 上で実行したい場合は、”Custom” スクリプトの作成が必要なとのこと。https://www.alfredapp.com/blog/tips-and-tricks/better-iterm-integration-in-alfred/ With the upcoming release of Alfred 2.7.2, the default iTerm integration has been replaced by the “Custom” scripts option. This allows for a more up-to-da

                    • 学び
                    • 2015/09/10 20:27
                    • alfred
                    • Docker Toolbox for Mac OS X | harasou.github.io

                      9 users

                      harasou.github.io

                      Docker 1.8 のリリースに伴い、Mac OSX 標準の Docker デプロイツールが boot2docker から Docker Toolbox に変更になった模様。とりあえず、インストールしてみた。 re: https://www.docker.com/toolbox Docker Toolbox とはDocker Toolbox は、手元のマシンに、簡単に Docker 開発環境を構築するためのインストーラで、以下のツールが全て含まれている。いままで使用していた boot2docker コマンドは、docker-machine コマンドが代替となる。 Docker Client Docker Machine Docker Compose (Mac only) Docker Kitematic VirtualBox ref: http://pocketstudio.jp/log

                      • 暮らし
                      • 2015/08/15 10:54
                      • docker
                      • mac
                      • Docker
                      • h2o + mruby セットアップメモ | harasou.github.io

                        13 users

                        harasou.github.io

                        最近、h2o で mruby がサポートされたので、まずはコンパイルしてみた。 https://github.com/h2o/h2o h2o は、@kazuho さんが作成されている HTTP/2 & HTTP/1.x 対応の高速な WEBサーバです。 環境いつものごとく vagrant で。 CentOS 7.1 (3.10.0-229.el7.x86_64) h2o 1.4.2 mruby 1.1.0 手順現状 h2o で mruby を利用する場合は、h2o と mruby のコンパイルを、別々に行わなければいけない(mod_mruby とかだとそのなかで mruby をビルドしてくれる)。 流れとしてはまず、libmruby.a を作成し、h2o コンパイル時にそれをリンクする感じ。 作業ディレクトリの作成 1 2 mkdir work cd $_ vagrant の共有フォルダ

                        • 学び
                        • 2015/08/05 12:44
                        • mruby
                        • h2o
                        • trello クローンの Libreboard を動かしてみた | harasou.github.io

                          7 users

                          harasou.github.io

                          社内で便利に活用しているかんばんソフトtrello 。このクローンである Libreboard を boot2docker で動かしてみた。 Libreboard とはLibreboard は、node.js のフレームワークである meteor(メテオ) 、DB として MongoDB が使われている trello のクローン。 github に公開されているリポジトリには、Dockerfile が含まれているので、Mac 上の boot2docker で動かしてみる。 環境 MacOSX Yosemite 10.10.4 boot2docker v1.7.1 手順 boot2docker を最新化 1 2 3 brew upgrade boot2docker boot2docker update $(boot2docker shellinit) Libreboard のリポジトリを

                          • 世の中
                          • 2015/07/29 09:41
                          • 5分でつくる mrbgems | harasou.github.io

                            6 users

                            harasou.github.io

                            先日の関西Ruby会議の帰りの飛行機の中、着陸5分前ぐらいの出来事。 harasou: 「松本さん、mrbgems の作り方教えてくださいよ」 matusmotory:「じゃあ、まづ mrblib ってディレクトリ作って…」 おもむろに二人並んで PC を取り出し、mrbgems を作り始めた(着陸直前だったので、PC出して良かったのかよくわからないが…) というわけで、その時のことを簡単にご紹介。 そもそも mrbgems とはmrbgems は、CRuby の gem みたいなもので、mruby コアに色々な機能(ライブラリ)を追加する仕組み。ただ、CRuby のように動的にロードできるわけでなく、mruby コンパイル時に明示的に組み込んでおく必要がある。 この mrbgems は、mruby スクリプトだけで作成することもできるし、C言語だけ、あるいは、C言語 + mruby とい

                            • 世の中
                            • 2015/07/27 10:54
                            • mruby
                            • 関西Ruby会議06 に登壇させてもらった | harasou.github.io

                              4 users

                              harasou.github.io

                              2015/07/11(土)に行われた「関西Ruby会議06」に登壇させてもらい、mruby の利用事例について紹介してきた。 インフラしか知らないエンジニアが、matz さんを前に mruby の説明なんて、かなり場違いで恐縮な状況でした。 発表内容ホスティングを運用していく上で問題となる「DDoS」「高負荷のプロセス」への対応として、Apache のモジュールである mod_mruby を利用した対応方法を紹介。 そこで利用する3つの mrbgems (CRuby でいうところの gem) の実装例(コード)などの紹介も行いました。 http-dos-detector http-access-limitter mruby-cgroup 感想自分の発表については、準備不足でひたすら反省しているので割愛。 登壇者用の控え室で、生の matz さんを初めて見て萎縮してしまいました。matsum

                              • 暮らし
                              • 2015/07/15 09:22
                              • mruby
                              • http://harasou.github.io/2015/07/06/%E7%AC%AC%EF%BC%92%E5%9B%9E%E3%83%9A%E3%83%91%E3%83%9C%E3%83%86%E3%83%83%E3%82%AF%E3%82%AB%E3%83%B3%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9%E3%81%A7-mruby-%E3%81%AB%E7%99%BA%E8%A1%A8%E3%81%97%E3%81%BE%E3%81%97%E3

                                6 users

                                harasou.github.io

                                • 暮らし
                                • 2015/07/06 10:04
                                • MySQL のトリガで mruby を実行する | harasou.github.io

                                  32 users

                                  harasou.github.io

                                  先日会社で「mysql のテーブルと、プロセス上の共有メモリを連携させたい」って話が出たとき、トリガで外部プログラムが実行できればいけるのでは?と思ったので、調べてみた。 MySQL で外部コマンドを実行するにはmysql で外部コマンドを実行するには system が使える。 mysql> system uname -a Linux cent6 2.6.32-504.16.2.el6.x86_64 #1 SMP Wed Apr 22 06:48:29 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux ただ、これはターミナル上からとかでないと使えない。 調べてみると、mysql には UDF(User Defined Function) という仕組みがあって、自作関数を作成することができるらしい。これは、C や C++ で書いて共有ライブラリ(.so)を作成

                                  • 暮らし
                                  • 2015/06/08 10:21
                                  • mruby
                                  • mysql
                                  • あとで読む
                                  • ruby
                                  • cgroup の cpu.shares を検証した | harasou.github.io

                                    15 users

                                    harasou.github.io

                                    cgroup には複数のサブシステム(controller)があるが、その中の cpu.shares について検証してみた。 cpu.shares とはcpu.shares を設定すると、タスクが使用できる CPU 時間の割合を変更することができる。 具体的に言うと、A B2つのグループを作り、cpu.shares をそれぞれ1024 2048とした場合、B のグループにいるプロセスが、A のグループにいるプロセスより 2倍 CPU を使えるようになる。以下、実行例。 1 2 3 4 5 6 7 8 9 10 11 12 13 # mkdir /cgroup/{A,B} # echo 1024 > /cgroup/A/cpu.shares # echo 2048 > /cgroup/B/cpu.shares # sh -c "while : ; do : ; done" & echo $!

                                    • 学び
                                    • 2015/06/02 09:03
                                    • cgroup
                                    • cpu
                                    • server
                                    • あとで読む
                                    • web
                                    • cgroup による oom-killer の状態を eventfd 経由で受け取る | harasou.github.io

                                      12 users

                                      harasou.github.io

                                      cgroup の通知APIcgroup の memory サブシテムを利用すると、登録したプロセスがメモリを使いすぎた際、oom-killer が動作し、対象プロセスを kill することができる(デフォルト動作)。 kill されたことは syslog など見ればわかるが、cgroup には通知APIといった機能があり、アプリ側で oom-killer が動作した際のイベントを受け取ることが可能なので、この機能を試してみる。 通知を受け取るための流れ eventfd を生成する 生成した eventfdとmemory.oom_controlのファイルディスクリプタを、cgroup.event_control に書き込む イベントを受け取るアプリ側で、生成した eventfd をread()する cgroup に登録したプロセスが制限以上のメモリを使用すると oom-killer が動作し

                                      • 暮らし
                                      • 2015/05/23 11:25
                                      • cgroup
                                      • linux
                                      • あとで読む
                                      • hexo で 404 File not found | harasou.github.io

                                        5 users

                                        harasou.github.io

                                        などして、MacOSX 上で確認すると問題ない。 原因自分は知らなかったが、結構有名な NFD(Normalization Form D) の問題だった。 これは、Unicode による文字の正規化の種類の話で、以下のようなものがある(他にも NFKD NFKC などがある)。 NFD: 濁点・半濁点がついた じ などの文字を し+” の組み合わせで表す NFC: 濁点・半濁点がついた じ などの文字を じ 単体で表す MacOSX で使用されているファイルシステム HFS+ は、日本語ファイル名の正規化に NFD を使用しているが、Linux や Windows は NFC が使われている。 MacOSX 上で hexo gen すると source/_post 配下のファイル名は NFD になっているため index.html 内にあるタイトルのリンクも NFD になる。 その後、he

                                        • 暮らし
                                        • 2015/05/13 11:49
                                        • プログラミング
                                        • Presentation

                                          3 users

                                          harasou.github.io

                                          • 暮らし
                                          • 2015/02/20 13:51
                                          • remarkjs

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

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

                                          『harasou.jp』の新着エントリーを見る

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

                                          j次のブックマーク

                                          k前のブックマーク

                                          lあとで読む

                                          eコメント一覧を開く

                                          oページを開く

                                          はてなブックマーク

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

                                          公式Twitter

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

                                          はてなのサービス

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