ブックマーク / satoru-takeuchi.hatenablog.com (10)

  • わたしの私用PCの開発環境 - 覚書

    わたしに声をかけてくれるIT技術者、とくに経験が浅い人に私用PCの開発環境は何を使っているかということをよく聞かれます。なにかの役に立つかもしれないので、環境を紹介しつつ、どういう思いでそうしているのかについても書きます。 私のバックグラウンドを説明しておくと、会社員として15年ちょっとLinuxカーネルの開発、サポート業務をしていました。その後6年くらい別のSaaS企業で自社インフラ用の分散ストレージの開発をしています。このストレージはLinux上で動作します。趣味ではLinuxカーネルやその周辺領域についての技術書を出したり記事を書いたり、YouTubeの動画を公開したりしています。つまりLinuxに非常に縁が深いです。 わたしはPCを2台持っています。一つめは普段使いのモバイルノートPC、もう一つはミニタワーのデスクトップPCです。ノートPCVAIO Zで、スペックを盛れるだけ盛り

    わたしの私用PCの開発環境 - 覚書
    yarumato
    yarumato 2024/07/07
    “テキストエディタはVSCode。とくにremote development機能はWindows上のVSCodeからUbuntu VMを、まるでローカル環境のように扱えるのがよい。昔はEmacsを主に使っていたがメンテが面倒になって、同僚が勧めていたVSCodeに乗り換えた”
  • プログラミングを始めたころとは考え方が全然変わっていることに気づいてびっくりした話 - 覚書

    家にパソコンがはじめて来てから30年くらい、プログラミングを始めてから20年以上が経ちました。その間、IT技術に対する愛は変わらずに、ずっと走り続けてきました。では当時の自分と今の自分で何が違うのだろうと考えてみたところ、めちゃくちゃ変わっていたのでびっくりました。記事では何がどう変わったのか、それを見てなにを思ったかなどを書きます。 昔は次のようなこだわりがありました。 大きなものは一つの仕事をする単純で小さなツールを組み合わせて作るべし ソフトウェアは可能な限り設定可能になっていてほしいし、それを自分の好みになるまでカリカリチューニングしたい 可能な限りすべてキーボードだけで操作できるようになっていてほしい いわゆるUNIX哲学をはじめとして、いろんなやWebサイトなどに強い影響を受けていることがよくわかります。 ところが今は次のように全然違うことを考えています。 トラブルハマった

    プログラミングを始めたころとは考え方が全然変わっていることに気づいてびっくりした話 - 覚書
    yarumato
    yarumato 2024/01/08
    “昔は、単純で小さなツールを組み合わせ、設定をチューニングしたい、キーボードだけで操作したい。 今は、普及度が大事(トラブル時にラク)。無設定でいい感じに動け。キーボードでなくても楽ならいい”
  • 一部訳した本の宣伝: 「入門モダンLinux」 - 覚書

    4/6 更新。Amazon上の煽り文を最新化&公式サイトから目次を転載 一部だけ翻訳にかかわった「入門モダンLinux」というが4月7日に出るので宣伝を兼ねた紹介をします。 原著は「Learning Modern Linux」です。 書のタイトルを目にしてまず思うのは「モダンLinuxとはいったいなんぞや」でしょう。これについてはamazonにも載っている煽り文をご覧ください。 Linuxはサーバ、組み込み機器、スーパーコンピュータなどにおいて存在感を示してきました。近年では、オンプレミスのシステムだけではなく、クラウドサービスでも広く使われています。書は、前半でLinuxを使いこなす上で必要な基知識を、後半で最新情報をまとめています。Linuxの知識を体系的に整理したい、最新動向が知りたい、運用を改善したい、効率的に開発を行いたい、といった要望をかなえる内容となっています。時代の

    一部訳した本の宣伝: 「入門モダンLinux」 - 覚書
    yarumato
    yarumato 2023/03/02
    “著者はAWS所属。8章「オブザーバビリティ(可観測性)」では基本的な考え方やmonitoring, metrics, log, traceなど具体的に紹介。コンテナベースのLinuxディストリを紹介。シェルはbashだけではなくfishやzsh、tmux”
  • 「[試して理解]Linuxのしくみ ~実験と図解で学ぶOS、仮想マシン、コンテナの基礎知識【増補改訂版】」が発売されます - 覚書

    拙著、「[試して理解]Linuxのしくみ ~実験と図解で学ぶOS、仮想マシン、コンテナの基礎知識【増補改訂版】」が10/17日に発売されることになりました。記事はその宣伝のためのブログエントリです。 [試して理解]Linuxのしくみ ―実験と図解で学ぶOS、仮想マシン、コンテナの基礎知識【増補改訂版】 作者:武内 覚技術評論社Amazon まずは書がどのようなものかについて説明し、その後に、すでに第一版を読まれている方向けに第一版と書の差分について説明します。 どんななのか 筆者は過去にLinuxカーネル開発をしていたのですが、そのころから次のような思いをずっと持っていました。 OS、とくにOSカーネルについての広く浅い知識はOSカーネル開発者だけではなく多くの技術者にとって役立つはず 当時OSカーネルについての知識を得ようとすると、OSを作ったりサポートしたりする人用の難しくて分

    yarumato
    yarumato 2022/09/24
    “筆者は過去にLinuxカーネル開発。カーネルについての広く浅い知識は多くの技術者に役立つ。難しくて分厚い本の読解という状況をなんとかしたい。第一版のC言語をGo言語とPythonで書き直し、可読性が大幅に上がった”
  • kindleの本が全部消えた話 - 覚書

    2022/5/27 変更 - 後述のアカウント統合後にamazon.comのアカウント削除によってkindleが全部消えるのは仕様である旨、追記 2022/6/1 変更 - 「サポートの指示によってamazon.comのアカウントを消した」のではなく、「使用していないamazon.comのアカウントを閉鎖してもいいのか」という趣旨の質問を私がしたのに対して「そうですね」と回答されたということがわかったので、訂正。 編集前の記述には取り消し線を引いて、編集後の記述は強調表示しました。 NOTE: 上記変更点にもあるように、「サポートの指示によってamazon.comのアカウントを消した」という私の認識は誤っていたことがわかりました。これについてはamazon.co.jpのかたがたにメールで謝罪いたしました。 ここに書いたことは2022年4月21日現在の話です。 サマリ kindleが全

    kindleの本が全部消えた話 - 覚書
    yarumato
    yarumato 2022/04/22
    “問題発生契機は、かつてamazon.co.jpのアカウントと統合したamazon.comのアカウントを消したこと。amazonサポートの指示に従って、もう使っていなかったamazon.comのアカウントを消しました。するとkindleの本が全て消えました”
  • ヘタクソなコードを書いてもいい - 覚書

    プログラミング言語のお作法から外れたコードやメンテ性が悪いコードを書くのはダメとよくいわれます。わたしは学生の頃、そういう意見を過剰に気にしていました。コードを書くことそのものに慣れていないのに綺麗に書こうとして手が動かず、動かないがゆえにコーディングの練習が進まない、という悪循環になっていました。そうすると何もアウトプットしないまま知識だけが増えていって、自分がこれくらいできそうというイメージと実際のプログラミング能力とのギャップで苦しみました。 この意識が薄れたのは、あるときものすごく手が早い人のコードを偶然見たときでした。たしかにちゃんと動くものができているんですが、そのコードの中身は当時の私の基準からいって*1おぞましいほど汚いものでした。そこで「これはわたしが書けば100倍くらい綺麗なコードを書けるんでは…」と一瞬思ったんですが、その後すぐに「あ、自分は知識はあるけど練習してない

    ヘタクソなコードを書いてもいい - 覚書
    yarumato
    yarumato 2021/07/13
    “経験値低いのにメンテ性を気にしすぎて手が動かず練習が進まない。手が早い人のコードを偶然見たら動くんだがヒドい。メンテ性気にせず、とにかく動くものをたくさん書いて痛い目を見て、その後に見れる修正を”
  • 休むことは難しい - 覚書

    休むことがどれだけ難しいか、および、私がそういうときにどう考えてきたかについて書きます。 プログラミングをはじめとしてコンピュータが好きであればあるほど*1、やる気があればあるほど休むことが難しいです。若くて気力体力が有り余っている場合はとくにそうで、朝から晩までプログラミングをしていてもあまり疲れを感じず、かつ、寝て起きたらスッキリです。ところが次第にそうではなくなってくることが多いようです。私が実際にそうでした。私の場合は以下のような流れで休みかたを忘れていきました。 10代後半でコンピュータに出会ったことによって興味の持てる対象が激増した コンピュータについての知識を得るために毎日昼夜を問わずに作業していた 休憩という概念がなく、寝る(気絶する)まで作業して、起きたらまた作業という状態になった。若くて体力があったので死ななかった 生活のリズムが乱れて疲労が蓄積していった。が、茹で蛙の

    休むことは難しい - 覚書
    yarumato
    yarumato 2021/02/28
    “休憩という概念がなく、寝る(気絶する)まで作業して、起きたらまた作業を10年以上。休みかたを忘れていた。電子機器をさわるときに酷使しがちな首、肩などを重点的にストレッチ”
  • VSCodeのterminal上でemacsっぽいキーバインドをまともに動くようにする - 覚書

    自分用メモ。タイトルのまんま。 わたしは普段shellはbash、プログラミングするときのエディタはVSCodeを使っています。端末上でbashを使うときのキーバインドはemacsっぽいやつです。より正しい表現をするとbashが内部的に使っているreadlineのediting-modeがemacsになっています。 VSCodeterminal機能を持っていますが、一部のキー入力をVSCodeべてしまうので、使用感が普通の端末とは異なってストレスフルです。このため、端末を使いたければVSCodeterminalは使わずに別途端末ソフトウェアを立ち上げていました。これが嫌だったのでちょっと調べてterminalのキーバインドを変えました。 やりかたは簡単です。 Ctrl+Shift+pでPreferences: Open Keyboard ShortCuts (JSON)を選択して"

    VSCodeのterminal上でemacsっぽいキーバインドをまともに動くようにする - 覚書
    yarumato
    yarumato 2020/12/23
    “VSCodeはterminal機能を持つが、一部のキー入力をVSCodeが食べるので、使用感がストレスフル。terminalのキーバインドを変えて、bashのショートカットキー(=emacs風)をフルに使う”
  • Linuxカーネルで学ぶC言語のマクロ - 覚書

    はじめに 記事は電子書籍版もあります。 linuxカーネルはC言語のマクロを駆使して書かれています。それらのうち、凝ったマクロになじみの無い人には初見では意図がわからない&わかってみれば面白いであろうものをいくつか紹介いたします。対象読者は、C言語のユーザだけれども、マクロは定数定義くらいにしか使わないというライトなマクロユーザです。 マクロを使用する場所に依存するエラーを防ぐ 次のマクロは、二つの引き数の値を置換するだけの単純なものです。 #define swap(a, b) \ do { typeof(a) __tmp = (a); (a) = (b); (b) = __tmp; } while (0) 注目すべきはマクロの定義全体を囲んでいるdo { ... } while (0)という表記です。初見の人には何のことかわからないと思います。考えられる最も単純な定義から遡って、なぜこ

    Linuxカーネルで学ぶC言語のマクロ - 覚書
    yarumato
    yarumato 2020/06/28
    “対象読者はC言語マクロは定数定義しか使わないライトなユーザです。「うまくいかないケース」を全て知ればこの頻出イディオムの意図を理解できる。ビルド設定で特定関数を何もしないよう定義する”
  • 「OSSライセンスの教科書」を読んだ - 覚書

    タイトル通りオープンソースソフトウェア(Open Source Software, OSS)のライセンスについて扱ったです。難解なことを筆者の経験を踏まえて平易に解説してくれているので、この手のことを知りたいと相談された場合は「これを読んでみてください」と勧められるでした。 OSSのライセンスについての知識は近年のソフトウェア開発者には避けては通れません。しかしこれを十分に理解している開発者は多くはありませんし、(とくに「コードだけ書いていたい」というタイプの人には)それほど興味をひく題材ではないというのが実情ではないでしょうか。この状況をなんとかしようと長年OSSに関わってこられた筆者が一石を投じたのが書です(多分)。筆者が技術者の目線だけ解説するだけではなく、弁護士のかたの監修を受けることによって法律家の目線からも解説しているという点で書は貴重です。私はこのようなを少なくとも

    「OSSライセンスの教科書」を読んだ - 覚書
    yarumato
    yarumato 2018/09/04
    “本書は、ライセンスを作った人の価値観と意図という前提知識を提供。ライセンス問題を防ぐ方法、OSSコミュニティとうまくやっていく方法も解説。要所要所で「法律家に相談・著作者の確認を」という次の一手を示す”
  • 1