タグ

unixに関するHHRのブックマーク (80)

  • ファイル書き込みをするプログラムで気をつけた方がよいこと | IIJ Engineers Blog

    この記事について この記事では、ファイルに書き込みを行うプログラムを実装する時の注意点について説明します。 ファイル書き込みは、プログラミングにおいて比較的よく利用される機能でありながら、実装時に注意していないと、システムクラッシュ(意図しない電源の喪失や OS のクラッシュ等)後にファイル上のデータが整合性を失う可能性、平たく言えば、データが破損する場合があります。 今回の主な内容はトランザクションに関連する事柄で、ご存知の方からすると当たり前と思われることだと思われますが、執筆者がプログラミングの勉強を始めて以降知らない期間が長かったことと、他にもご存知ない方がある程度いらっしゃるのではないかと思ったため、このように記事にさせていただきました。 また、ここで説明する注意点は、クラッシュ後にデータの整合性が重要でない場合は、気を付ける必要がないものであることを先に書いておきます。 先にこ

    ファイル書き込みをするプログラムで気をつけた方がよいこと | IIJ Engineers Blog
    HHR
    HHR 2023/04/22
    fcyncだけじゃ足りない問題。データ指向アプリケーションデザインの7章の参考文献にもあった
  • Community Blog ファイルロックと新OFDロック

    UNIXシステムには古くから実装され、現在ではPOSIX、SUSにより標準化されているファイルロックですが、実は予想外の動作に驚かされることがあります。この状況を打開する新しいファイルロックがLinux v3.15で導入されました。 排他制御とファイルロック プログラミングでは、排他制御の必要に迫られることが多くあります。複数の処理の流れが同じデータを使用する場面の多くが、これに該当します。スピンロック、セマフォ、mutexなど手法はさまざまですが、いずれも目的はデータの保護にあります。逆に言えば、データを保護していないロック(排他制御)があれば、シグナルやソケットなどのプロセス間通信を検討すべきと言えます。 処理の流れの代表例はプロセスです。処理対象が自プロセスのメモリ内のみに存在するデータならば、プロセスのメモリ空間は来独立しており他プロセスが使用することはできません。このため、排他

    Community Blog ファイルロックと新OFDロック
    HHR
    HHR 2022/12/13
    flock mutex 排他制御
  • もっと使いやすいコマンドラインツール10選

    背景 ls、cd、psなどのコマンド。 いずれも30年前のもので、今でも毎日使っていますが、"オープンソースの世界には、これらの「古い」Linuxコマンドに代わり、より優れたコマンドラインツールがあるのだろうか?"と思いました。 記事では、Linuxのコマンドと同じことができるだけでなく、より使いやすいパラメータ、一目でわかる表示、クロスプラットフォーム対応など、使い方、パフォーマンス、表示の面でより優れた新機能を追加したオープンソースのコマンドラインツールを10個まとめてみました。 1. dust(du) 開発言語: Rust Github: https://github.com/bootandy/dust スター数: 4.4k 代替コマンド: du 使用方法: dust プラットフォーム: WindowsLinuxmacOS 説明: ディレクトリやファイルのサイズを一目でわかるよ

    もっと使いやすいコマンドラインツール10選
    HHR
    HHR 2022/09/12
  • flockコマンドの使い方 - hana_shinのLinux技術ブログ

    ランキング参加中Linux 1 flockコマンドとは? 2 検証環境 3 オプション一覧 4 事前準備 5 排他ロックの使い方(-x) 6 共有ロックの使い方(-s) 7 まとめ 8 その他 8.1 flockコマンドが使用するシステムコールの確認 8.2 コマンド実行順序のシリアライズ化 Z 参考情報 1 flockコマンドとは? ロックファイルを取得し、そのロックファイルを保持するコマンドを実行します。 書式は以下になります。 flock [ --shared | --timeout= seconds ] lockfile command 2 検証環境 CentOS版数は以下のとおりです。 [root@server ~]# cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core)カーネル版数は以下のとおりです。 [roo

    flockコマンドの使い方 - hana_shinのLinux技術ブログ
    HHR
    HHR 2022/08/13
    排他制御。ロック。straceを使った確認方法
  • 【注意】POSIX awk は日本語文字 (UTF-8)を正しく扱うことが出来ません - Qiita

    はじめに 補足 UTF-8 を期待通りに扱える awk の実装もあります。 扱える: gawk、Solaris (/usr/xpg4/bin/awk と /usr/bin/awk) 扱えない: mawk、original-awk、busybox awk、macOS、FreeBSD 12.0、NetBSD 9.0、OpenBSD 6.6 論より証拠 環境は Ubuntu 20.04.2。original-awk とは nawk のこと $ echo あいうえお | LC_ALL=ja_JP.UTF-8 gawk '{ print length($0) }' 5 $ echo あいうえお | LC_ALL=ja_JP.UTF-8 mawk '{ print length($0) }' 15 $ echo あいうえお | LC_ALL=ja_JP.UTF-8 original-awk '{ pr

    【注意】POSIX awk は日本語文字 (UTF-8)を正しく扱うことが出来ません - Qiita
    HHR
    HHR 2022/08/13
    これだからシングルバイト県の連中は定期。この件に関しては中国と共にutf8の標準化を頑張るしかないのか…
  • Piping Server を介した双方向パイプによる,任意のネットワークコネクションの確立 - Qiita

    nwtgck 氏によって HTTP を用いて2つのホスト間でパイプを構成するサーバ実装が公開されました. https://qiita.com/nwtgck/items/78309fc529da7776cba0 名前を Piping Server と呼ぶそうです. nwtgck 氏は 枯れた技術である HTTP 上に実装されている HTTP 上に実装されているため,ウェブブラウザ,wget,curlなどの慣れ親しんだツール群でデータのやり取りができる パイプ経由で効率的にデータを転送でき,従って送信側・受信側ともにコマンドライン上でパイプをつなげることによりデータの加工がバイトストリーム上で行える データの送信者,受信者ともに TCP ポート番号80または443への外向きのコネクションさえ確立できれば良い といったあたりが Piping Server のアピールポイントであると主張されていま

    Piping Server を介した双方向パイプによる,任意のネットワークコネクションの確立 - Qiita
    HHR
    HHR 2019/02/10
  • 【翻訳】/binと/usr/binが分裂してる訳 - みっどメモ

    HHR
    HHR 2017/07/06
    /usr/local /opt/local
  • あなたの知らない less の世界 - Qiita

    最近 prezto 入れたんですよ。prezto。そしたらいつものシェル世界が見違えるほど使いやすくなって身長も 3 メートルくらい伸びたんですが、それは余談でして、prezto 入れた後に less 使ってみたら余りの変わりっぷりに驚いたんです。 これを機に man page を読み直してみたら更に驚き。less ってこんなスゴイ物だったのか!みたいな。今回はそんな less の底力を紹介します。 環境変数 $LESS less には様々なオプションがあるのですが、これを予め環境変数 $LESS に設定しておくと、毎度 less ファイル名 と打つだけでそれが有効になります。更に、後述しますが、この設定は less 起動中にオン・オフして切り替えることが可能です。 # 最低限でもこれくらいは設定しておこう export LESS='-i -M -R' # 僕は後述の物を全部付けてます(-

    あなたの知らない less の世界 - Qiita
    HHR
    HHR 2016/11/07
  • curlとWgetの比較 | POSTD

    curlとWgetの主な違いについて著者(Daniel Stenberg)の私見を述べています。自分の子どもとも言える curl をひいきしていますが、 Wget にも携わっているので、思い入れがないわけではありません。 この記事に関するご感想やご意見をお寄せください。 問題点や改善点があると思われる場合は、 Issueやpull-requestを発行 してください。 共通点 FTPやHTTP、HTTPSからコンテンツをダウンロードできるコマンドラインツールです。 HTTP POSTリクエストを送信できます。 HTTPクッキーをサポートしています。 スクリプトの中で使用したりできるよう、ユーザインタラクションがなくても動作するようにデザインされています。 完全なオープンソースで、無料のソフトウェアです。 開発プロジェクトとして90年代に立ち上げられました。 metalink をサポートして

    curlとWgetの比較 | POSTD
    HHR
    HHR 2016/03/24
  • 恐怖!シェルショッカーの POSIX原理主義シェルスクリプト

    シェルスクリプトがいかに最強の言語であるかを、POSIX原理主義集団「シェルショッカー日支部」がとくと教えてやる。 ― 2016/03/20@歌舞伎座.tech#9

    恐怖!シェルショッカーの POSIX原理主義シェルスクリプト
    HHR
    HHR 2016/03/22
  • シェル変数と環境変数の違いをコマンドラインで確認する - Qiita

    最近、調べ直したので、この機会にまとめておきます。 はじめに シェル変数は現在実行中のシェルだけで有効な変数ですが,環境変数はシェルから実行したコマンドにも引き継がれる変数です。 再入門 体で覚えるLinuxの基ITpro http://itpro.nikkeibp.co.jp/article/COLUMN/20060620/241337/ 絵にすると↓な感じでしょうか。これをコマンドで確認していきます。 シェル変数の基 「=」を使用することで変数を格納出来ます。また、変数の先頭に‘$’をつけることで、格納された値を参照出来ます。

    シェル変数と環境変数の違いをコマンドラインで確認する - Qiita
    HHR
    HHR 2016/03/18
    まさかのシス管系女子
  • CentOS のパスワードアルゴリズムを変更する方法 | だいたいおっけぇ

    HHR
    HHR 2016/03/08
    /etc/{passwd,shadow} authconfig --passalgo=sha512 --update
  • /etc/shadowについて勉強してみた

    Linuxでのアカウント情報管理について /etc/passwdについて /etc/shadowについて パスワードのハッシュ化について Shadowの項目について Hash方式について ハッシュ化とは? Saltについて 参考文献 2012/11/05: 表示が乱れていたので修正した。(今見ると、あんまり見やすくないページだ…) Linuxでユーザのアカウント情報を保管しているファイルといえば、 /etc/passed /etc/shadow があります。 以下では、パスワードの情報などは /etc/shadow に保管されている状況で、それぞれどんな情報が格納されているかまとめてみました。 ( /etc/passwdにパスワードを保管しないのは、/etc/passwdが他のユーザからRead可能なファイルだからです。 そしてRead権限がないと困ります。/etc/passwdをRead

    HHR
    HHR 2016/03/08
    /etc/{passwd,shadow} $1$とか知らなかった
  • ネットワークプログラミングの基礎知識

    ネットワークプログラミングの基礎知識 ここでは IP アドレスやポート番号、クライアントとサーバの役割などを説明し、 perl・C言語・Java などでソケット (Socket) を使った HTTP クライアントや POP3 クライアント、簡単なサーバを作成してみます。 要はネットワークプログラミングをやってみよう、ということです。 このページのサンプルプログラムは、RFC などの規格に準拠した「正しい」プログラムではありません。 また、全体的にエラー処理が不十分です (今後改善する予定です)。 あくまでも概要を理解するためのサンプルととらえてください。 もし気でしっかりとしたクライアントやサーバを書きたいなら、このページを読んだ上で、 さらに RFC を熟読し、そして wget・Apache・ftp コマンドなどのソースを参考にしてください。 このページに間違いを見付けたら、掲示板

    HHR
    HHR 2015/04/02
    教科書。http,pop3,echo,ftp,dns,udp or tcp,共通鍵,公開鍵,秘密鍵
  • process-book

    この文書はなんですか? この文書は*nix系のシステムにおけるプロセスやシグナルなどについて説明することを目的に書かれました。「プロセスとかよくわかってないからちゃんと知りたいな」みたいなひとたちが想定読者です。 書いているあいだは gist で管理されていたのですが、ボリュームが大きくなったので github で管理するように変えました。 目次 導入 プロセスの生成 プロセスとファイル入出力 ファイルディスクリプタ preforkサーバーを作ってみよう ゾンビプロセスと孤児プロセス シグナルとkill プロセスグループとフォアグランドプロセス epub と pdf epub化したもの、pdf化したものが release ディレクトリに入っています。thanks to mitukiii & moznion! ライセンス この 作品 は クリエイティブ・コモンズ 表示 - 継承 3.0 非移

    HHR
    HHR 2015/03/31
    良書。移ってた。
  • コマンドラインツールについて語るときに僕の語ること #yapcasia

    http://yapcasia.org/2014/talk/show/b49cc53a-027b-11e4-9357-07b16aeab6a4

    コマンドラインツールについて語るときに僕の語ること #yapcasia
    HHR
    HHR 2014/08/29
    コマンドを作成する上での心得。とかガイドラインのようなもの。
  • コマンドラインツールを作るときに参考にしている資料 | SOTA

    コマンドラインツールについて語るときに僕の語ること - YAPC::Asia Tokyo 2014 コマンドラインツールが好きで昔からつくってきた. 今年のYAPCで,そのコマンドラインツールをつくるときにどういうことを意識して作っているのか?どのような流れで開発しているのか?といったことを語る機会をもらえた. 具体的な内容については,是非トークを聴きに来てもらうとして, スライドをつくるにあったって過去に読んだ資料や,よく参考にしている記事を集め直したので,その一部を参考資料としてまとめておく. UNIXという考え方 UNIXという考え方 Mike GancarzによるUNIXの思想や哲学をまとめた.古いが全然色あせてない. コマンドラインツールの作り方を書いたではないが,これらの思想の上で動くツールはこの思想に準拠して作られるべきだと思う.何度も読んで考え方を染み付かせた. 小さい

    HHR
    HHR 2014/08/27
    UNIXという考え方 GNUでよく使われている長オプションまとめ
  • [PDF]初心者のためのDNSの設定とよくあるトラブル事例

    Copyright © 2013 株式会社日レジストリサービス 1 Copyright © 2013 株式会社日レジストリサービス 1 Copyright © 2013 株式会社日レジストリサービス 1 初心者のためのDNS運用入門 - トラブルとその解決のポイント - 2013年7月19日 DNS Summer Days 2013 株式会社日レジストリサービス(JPRS) 水野 貴史 Copyright © 2013 株式会社日レジストリサービス 2 Copyright © 2013 株式会社日レジストリサービス 2 Copyright © 2013 株式会社日レジストリサービス 2 講師自己紹介 • 氏名:水野 貴史(みずの たかふみ) • 生年月日:1988年3月3日(25歳) • 所属:株式会社日レジストリサービス(JPRS) システム部 • Unix歴:8年目(F

    HHR
    HHR 2014/07/06
    神。digの使い方。
  • 訳:非推奨になったLinuxネットワークコマンドの代替コマンド - aws memo

    これはちゃんとチェックしておかないとなぁ。 Deprecated Linux networking commands and their replacements « Doug Vitale Tech Blog ==== この記事で詳しく説明する非推奨のLinuxネットワークコマンドは:arp, ifconfig, iptunnel, iwconfig, nameif, netstat, route である。iwconfig以外の コマンドは、net-toolsパッケージという、数年間メンテナンスされていないパッケージに含まれている。これらのユーティリティによって提供される機能は、新しいipコマンドを主に使うiproute2 スイートで再提供され、改善され続けている。iproute2ソフトウェアのコードとドキュメントは、Kernel.orgとLinux Foundationで見ることができ

    訳:非推奨になったLinuxネットワークコマンドの代替コマンド - aws memo
    HHR
    HHR 2014/06/10
    arp, ifconfig, iptunnel, iwconfig, nameif, netstat, route
  • Linuxのしくみを学ぶ - プロセス管理とスケジューリング

    Linuxのしくみを学ぶ - プロセス管理とスケジューリング」公開ページ こちらのページはSoftware Design誌 2009年12月号の記事「Linuxのしくみを学ぶ - プロセス管理とスケジューリング」の公開ページです。 「ハイパーバイザの作り方」も公開中ですので、こちらも是非ご覧ください。 公開中の記事 HTML PDF ePub mobi Kindle 原稿データ 全ての原稿データはgithub上で公開されています。 Pull RequestやIssuesを通じて文章の誤り訂正や解説の追記、各フォーマットの表示の改善などのコントリビューションを受け付けています。 改善された記事は随時このページにアップロードしていきます。 記事に関するご質問 記事を読んで何かわからなかった点があったり、疑問に思ったことがあれば以下の連絡先に問い合わせてください。 Twitter: @syuu

    HHR
    HHR 2014/05/11
    Software Design誌 2009年12月号の記事「Linuxのしくみを学ぶ - プロセス管理とスケジューリング」の公開ページ