タグ

Unixとコードに関するslay-tのブックマーク (8)

  • 詳細解説 jqコマンドとシェルスクリプトの正しい使い方と考え方 〜 データの流れを制するUNIX哲学流シェルプログラミング - Qiita

    詳細解説 jqコマンドとシェルスクリプトの正しい使い方と考え方 〜 データの流れを制するUNIX哲学流シェルプログラミングShellScriptUNIXシェル芸jqUnix哲学 はじめに シェルスクリプトから JSON データを処理する時に良く使われるのが jq コマンドです。しかしほとんどの人は jq コマンドとシェルスクリプトのつなぎ方を間違えています。jq コマンドの使い方が間違っているというより、シェルスクリプトの設計思想や考え方を正しく理解していないために、間違ったつなぎ方をしていると言った方がより正確でしょう。「シェルスクリプトは正しい書き方をすれば簡単になる」このことをこの記事では明らかにしています。 追記 「jqコマンドとシェルスクリプトの上手い速い使い方」に要約版を書きました。この記事は長すぎた…。 タイトルの「UNIX 哲学流」とは jq コマンドをフィルタして使い、J

    詳細解説 jqコマンドとシェルスクリプトの正しい使い方と考え方 〜 データの流れを制するUNIX哲学流シェルプログラミング - Qiita
  • [フロントエンド] うわっ…Componentの凝集度、低すぎ? - Qiita

    [追記 2021/4/26] Storybookを導入して凝集度を向上させる記事を書きました。 0. はじめに 有名OSSのコミッターから、コピペで動かすマンまで、彼らは等しくプログラマと呼ばれます。10xプログラマという言葉があるように、同じプログラマでもその生産性には天地ほどの開きがあります。 プログラマの生産性は、1968年のSackmanらの研究以来、ソフトウェア工学でも熱い研究テーマの一つですが、未だにプログラマの生産性を測る指標は確立されていません。 一方、広木大地氏は自著「エンジニアリング組織論への招待」で、エンジニアリングを不確実性を削減する行為と定義しました。プログラミング能力を測る重要な尺度として、モジュールの凝集度があります。高い凝集度で設計しコーディングされたモジュールは、見通しがよく、再利用可能で、バグが少ない…つまり不確実性が少ない状態と言えるでしょう。 システ

    [フロントエンド] うわっ…Componentの凝集度、低すぎ? - Qiita
  • NetBSDを手探りで移植したときの話 - Qiita

    この記事は自作OS Advent Calendar 2020 7日目の記事となります。 はじめに 現在のオープンソースOSは、たとえばLinux開発ボードであればボードベンダーから移植済みのLinux環境が提供されたり、たとえばNetBSDであればクロスコンパイル環境が整備済みでドキュメントも用意されていて、最低限の移植作業で移植が完了したりします。 ぼくがNetBSDを移植した当時(1993年)はそうではありませんでした。ドキュメントもなくいろいろ手探りで、それも一人でやらざるを得ませんでした。苦労話のことは置いておいて、技術的にどういう物が用意され何を調べてどういう手順で移植していったかを記録に残せればと思います。(って前置きした割に苦労話が多いような気がします、すみません) かなり昔の話なので、けっこう忘れてることも多く、微妙に記憶が間違っていたりすることも、順番が前後していることも

    NetBSDを手探りで移植したときの話 - Qiita
  • Goのソースコード内のトリビア - YAMAGUCHI::weblog

    はじめに こんにちは、StackdriverあらためGoogle Cloud Operations担当者です。Google Cloud Operationsもさることながら、Go Conferenceの運営など、長らくGoコミュニティに関わってきましたが、まだまだ知らないことがあったということを昨日今日で知ったので共有します。 time.minWall time.minWall という値があります。 src/time/time.go - go - Git at Google const ( hasMonotonic = 1 << 63 maxWall = wallToInternal + (1<<33 - 1) // year 2157 minWall = wallToInternal // year 1885 nsecMask = 1<<30 - 1 nsecShift = 30 ) こ

    Goのソースコード内のトリビア - YAMAGUCHI::weblog
  • On Loving C.. 日本語訳

    以下の文章は、Michael Feathers による On Loving C.. の日語訳である。 文中の固有名詞などについて理解の助けとなるよう Wikipedia へのリンクを加えさせてもらった。 認めなければならないことがある。私は C を愛している。しばらくはそれを意識していても、忘れがちだ。Ruby、Haskell、OCaml、C++Java、そして C# に心移りしたこともある――今も多くの言語に時間を割いているが、C の元に戻ってくると、私は故郷に帰ったような気持ちになる。 私は何十年も前に Kernighan と Ritchie のをパラパラとめくったときのことを覚えている。C にはとても欲求不満を感じた記憶もあるが、とても満足を与えてくれたことも覚えている。C にはヘンなところがあるが、振り返ってみると、それは多くの他の言語のヘンさに比べれば不可解なところはずっと

  • さよなら、愛しのFreeBSD|力武 健次 / りきたけ けんじ|note

    2019年1月末でFreeBSDに関連する開発活動を止めることにした。とても愛していたOSだけに身を切られるような思いは否めなかったが、別れが来るなら自分の自由になるうちにと思い、決断した。以下は個人的な想いを綴っている。 BSDの大元は、カリフォルニア大学バークレイ校で作られたオペレーティングシステム、今風に言えば基ソフトだ。Berkeley Software Distributionというのがもともとの名前だ。 1985年に自分がUNIXに触れたころから憧れていたのがこのBSDだった。当時のBSDはまだオープンソースではなかったAT&TのUNIXのライセンス制限の傘下にあり、自由にソースコードが読めなかった。でもAT&TのUNIXであるSystem V(システムファイヴ)よりはずっと自由だった。その後、DECのULTRIXやSunのSunOS 4など、多くの先進的なUNIXマシンがB

    さよなら、愛しのFreeBSD|力武 健次 / りきたけ けんじ|note
  • Windowsのパス区切り文字は、なぜ逆スラッシュになったのか?

    MS-DOS 2.0のソースコードが公開された 9月末にMS-DOS 2.0のソースコード(https://github.com/Microsoft/MS-DOS/tree/master/v2.0)が公開された。ここでは、ソースコードを見ながら、Windowsのパス区切り文字が、なぜ「\」(英語表示では逆スラッシュ)になったのかを考えてみる。 ただ、MS-DOSは8086のアセンブラで記述されているため、コードを説明するのではなく、必要な定義部分などを使って解説することにする。 まずは簡単にMS-DOSという名称について説明しておく。IBMがIBM PC用のOSとしてマイクロソフトに開発を依頼したため、IBM PC用のものはPC-DOSという名称であり、MS-DOSはIBM以外のメーカー用に使われた。この時点では、PC-DOSとMS-DOSはほぼ同一のものとしてよい。ここでは、すべてMS-

    Windowsのパス区切り文字は、なぜ逆スラッシュになったのか?
  • 学生時代、UNIXでC言語を独学していた頃。 ちょっとした事(たしかグローバ..

    学生時代、UNIXでC言語を独学していた頃。 ちょっとした事(たしかグローバル変数とローカル変数の挙動の違いとか、そんな事だったと思う)を試してみようと思って、20行くらいのプログラムを作ったんだ。 でも、動かないの。 どんな短いプログラムでも意図しない挙動をしてしまうことはあるものだが、そんなレベルの話ではない。 ただ、計算した結果を画面に出すだけのつもりなのに、何も表示されないんだ。 で、少しずつコメントアウトしていったのに、それでも何も表示されない。 しまいには、"A" って画面に出すだけのコードになったのに、それでも何も表示されないんだ。 (この日記の言及先を見れば、ネタは一目瞭然なんだろうけど) で、もう一別のコードを test2.c という名前で作ったら、ちゃんと "A" と表示された。 一番始めに作ったコードも、すんなり動いた。 そうさ。最初のコードは test.c という

    学生時代、UNIXでC言語を独学していた頃。 ちょっとした事(たしかグローバ..
  • 1