タグ

ブックマーク / zenn.dev/satoru_takeuchi (3)

  • bashの機能いろいろ

    シェルスクリプトを書いていると「それはbash独自機能だから」「POSIXシェルには無い機能だから」と言われることがよくあります。だいたいは「それみんな使ってるのでPOSIXで標準化されてると思った」といったものなのですが、記事では便利なものから「え、それやるくらいならPythonでよくない?」まで、bashの機能を紹介しようと思います。 for文でC言語っぽくループを回す シェルスクリプトでfor文といえばfor i in $(seq 10)とかをよく使いますが、bashだと以下のように書けます。

    bashの機能いろいろ
  • オープンソースソフトウェアいろいろ

    オープンソースソフトウェア(以下OSS)にはいろんなものがあることについて書きます。さんざ語りつくされてきたことですけど、自分でもう一度整理したくなったので書きます。 オープンソースなソフトウェアとそうでないものの区別 オープンソースは「俺がオープンソースと言ったらオープンソース」とか「人によっていろいろな考え方があるよね」とかではなく、明確な定義があります。 以下Open Source Initiativeによる定義です。 八田さんによる邦訳。 これ以降は邦訳のほうを使って説明します。 OSSについてのよくある勘違いに「ソースが公開されていればOSSでしょ」というものがありますです。これはたとえば「3. 派生ソフトウェア」を見れば、違っていることがわかります。 ライセンスは、ソフトウェアの変更と派生ソフトウェアの作成、並びに派生ソフトウェアを元のソフトウェアと同じライセンスの下で頒布する

    オープンソースソフトウェアいろいろ
    klim0824
    klim0824 2022/01/10
  • 排他制御の基礎の基礎

    はじめに システムに存在するリソースには同時にアクセスしてはいけないものが多々あります。身近な例を挙げると、Ubuntuのパッケージ管理システムのデータベースがあります。aptコマンドの動作によってこのデータベースは更新されるのですが、同時に2つ以上のaptが動作できたとすると、データベースが破壊されてシステムが危機的状況に陥ります。 このような問題を避けるために、あるリソースに同時に1つの処理しかアクセスできなくする排他制御というしくみがあります。排他制御はOSが提供する重要な機能の一つです。 排他制御が必要なケース 排他制御は直感的ではなく非常に理解が難しいのですが、ここでは比較的理解が簡単なファイルロックというしくみを使って説明します。説明には、あるファイルの中身を読みだして、その中に書いてある数字に1を加えて終了するincというという単純なプログラムを使います。

    排他制御の基礎の基礎
    klim0824
    klim0824 2021/03/21
  • 1