タグ

ブックマーク / qiita.com/tajima_taso (3)

  • C言語で学ぶモダンなソケットAPI入門 - Qiita

    C言語で学ぶソケットAPI入門 第1回 サーバ編から始まった時は、とりあえずIPv4限定のレガシーなAPIからはじめて、徐々に発展させていこうという目論見でしたが、今後は何をするにしてもモダンなAPIを使ってソケットプログラミングの話を進めたいところです。 そこで今回はクライアントから受け取った文字列を返すエコーサーバプログラムを、モダンなAPIを使って書き直すことを通じてその詳細に迫ります。ソケットプログラミングにおいてモダンなAPIがレガシーな例と比べて優れているのは、処理速度的な点ではなく、現在も未来も含めた様々なケースに柔軟に対応できるという点です。 レガシーな例ではIPv4しか対応できないソケットを作成することしかできませんでしたが、モダンなAPIを使った例では、IPv4とIPv6両方のソケットを用意して届いたデータパケットによって処理を分岐するという、柔軟性のある機能を実装する

    C言語で学ぶモダンなソケットAPI入門 - Qiita
  • 原理原則で理解するbashの仕組み - Qiita

    はじめに 以前書いたエントリー、重大な脆弱性(CVE-2017-5932)で少し話題になったbash4.4の補完機能の便利な点で、bash4.4からでないとタブの補完機能のソート処理が制御できないという問題について、ソースコードレベルで調べた結果をまとめていたのですが、bashの実装そのものを深く掘り下げ過ぎてしまい、内容が膨大になったので、何回かに分けて書こうと思います。 今回はbashが起動されてからインタラクティブモードでキーボードの入力を待ち受けるまでのお話です。普段使っているbashがどのような処理を行っているのか一緒に覗いてみませんか? 検証ソースコード Bash version 4.1.0(1) release GNU bashの生誕 bashのプロセスが起動されるのはOSへのログイン時にユーザーのログインシェルがbashに設定されている場合、あるいはログイン後に明示的にba

    原理原則で理解するbashの仕組み - Qiita
  • 原理原則で理解するDocker - Qiita

    はじめに この記事は、オールアバウト Advent Calendar 2016の23日目のエントリーです。 私、@tajima_tasoからは【原理原則で理解するDocker】と題して書かせて頂きます。 Dockerってそもそも何?ってところから、内部実装部分についても触れています。 Dockerとは何か? まず、Dockerとは何なのか?について軽くおさらいしましょう。 今更聞けないという方も、なんとなくイメージが掴めたら嬉しいです。 何故、今Dockerなのか? Docker ソフトウェア開発を行う環境にいる方々の中で、この言葉を耳にする機会が増えてきているのではないでしょうか? 実際の業務において導入まではしていないとしても、何となく盛り上がっている技術用語であることは肌感覚としてあると思います。 実は、Docker実現のベースとなっているLinuxコンテナという技術自体はずっと前か

    原理原則で理解するDocker - Qiita
  • 1