<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
    <channel>
        <title>osumi - しずかなインターネット</title>
        <link>https://sizu.me/cawpea</link>
        <description>osumi さんの記事一覧のRSSフィードです</description>
        <lastBuildDate>Mon, 21 Sep 2026 00:14:04 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>しずかなインターネット</generator>
        <image>
            <title>osumi - しずかなインターネット</title>
            <url>https://r2.sizu.me/users/1175/avatar.png?v=1761485603811</url>
            <link>https://sizu.me/cawpea</link>
        </image>
        <copyright>© @cawpea</copyright>
        <item>
            <title><![CDATA[なぜ、コードにコメントは必要なのか？]]></title>
            <link>https://sizu.me/cawpea/posts/1ovfx9cixfmx</link>
            <guid>https://sizu.me/cawpea/posts/1ovfx9cixfmx</guid>
            <pubDate>Fri, 14 Nov 2025 05:30:20 GMT</pubDate>
            <description><![CDATA[コード中のコメントはソフトウェアデザインにおいて、開発者の理解を助けるだけでなく、抽象化においても重要な役割を果たす。コメントを書くというプロセスが正しく行われていれば、実際にシステムのデザインを改善することができる。しかし、この考え方は多くの開発者に理解されておらず、以下の理由によりコメントの利用が避けられている。
よいコードは文書化されている
コメントを書いている暇がない
コメントは古くなって…]]></description>
        </item>
        <item>
            <title><![CDATA[シフト制育児を1ヶ月やってみた]]></title>
            <link>https://sizu.me/cawpea/posts/bfav5co784c1</link>
            <guid>https://sizu.me/cawpea/posts/bfav5co784c1</guid>
            <pubDate>Sun, 26 Oct 2025 13:25:14 GMT</pubDate>
            <description><![CDATA[10月から育休をもらって育児をしている。育児というものが初めてなので、全然イメージ湧いてなかったけど、妻にこの本をオススメされて読んだ。
新生児の子育てといえば、夜泣きで寝れなくて、なんだか大変そうなイメージを持っていたけど、夫婦でシフト制にすれば睡眠時間が8時間確保できるらしい。実際に我が家では以下のようなスケジュールで育児をしている。
11:00 ~ 19:00：ツーオペ
19:00 ~ 3:…]]></description>
        </item>
        <item>
            <title><![CDATA[Google Cloud Digital Leaderの資格を取得した]]></title>
            <link>https://sizu.me/cawpea/posts/aw00cvb878so</link>
            <guid>https://sizu.me/cawpea/posts/aw00cvb878so</guid>
            <pubDate>Fri, 24 Oct 2025 16:18:57 GMT</pubDate>
            <description><![CDATA[少し前にGoogle Cloud Digital Leaderの認定試験を受験して無事に合格した。初級者向けの資格ではあるが、備忘録的に資格取得までの流れを書き残しておく。
Google Cloud Digital Leaderとは
Google Cloudの認定資格には色々なものがある。
Google Cloud Digital Leaderは資格の中でもとりわけ基礎的な内容ではあるが、最初に取…]]></description>
        </item>
        <item>
            <title><![CDATA[エラーが発生する場所を少なくする]]></title>
            <link>https://sizu.me/cawpea/posts/9bit9z33169m</link>
            <guid>https://sizu.me/cawpea/posts/9bit9z33169m</guid>
            <pubDate>Sun, 10 Aug 2025 07:15:06 GMT</pubDate>
            <description><![CDATA[ソフトウェアにおけるエラー処理（例外処理）は、ソフトウェアを複雑にする原因のひとつである。特殊な条件を扱うコードは、正常系の処理と比べて書くことが難しい。
例外処理が複雑さを増す理由
多くのプログラミング言語では、下位のコードが例外を発生させ、上位のコードが例外を捕捉するメカニズムを備えている。しかし、それ以外にも正常に動作しなかった場合などで例外が発生する。
呼び出し側が誤った引数や設定パラメー…]]></description>
        </item>
        <item>
            <title><![CDATA[メソッドを共通化するか分割するか]]></title>
            <link>https://sizu.me/cawpea/posts/domn76vi9v56</link>
            <guid>https://sizu.me/cawpea/posts/domn76vi9v56</guid>
            <pubDate>Sun, 29 Jun 2025 09:56:26 GMT</pubDate>
            <description><![CDATA[ソフトウェアデザインにおける基本的な問題の１つに「２つの機能が与えられたとき、それらを同じ場所に実装するべきか、別々に実装するべきか」というものがある。この問いは、関数・メソッド・クラス・サービスなどシステムのあらゆるレベルに当てはまる。
機能を結合するか分離するかの目的は、システム全体の複雑さを軽減し、モジュール性を向上できるかどうかにある。一般的に小さなコンポーネントに分割することが良いと思わ…]]></description>
        </item>
        <item>
            <title><![CDATA[シンプルな実装よりもシンプルなインタフェース]]></title>
            <link>https://sizu.me/cawpea/posts/rd4vedfhmkza</link>
            <guid>https://sizu.me/cawpea/posts/rd4vedfhmkza</guid>
            <pubDate>Sat, 17 May 2025 14:11:32 GMT</pubDate>
            <description><![CDATA[新しいモジュールを開発しているとき、どうしても避けられない複雑さを発見したとする。そのとき、モジュールのユーザーにその複雑さを処理させるのか、それともモジュール内部で複雑さを処理するのか天秤にかける。その複雑さがモジュールに関することであれば、通常は後者が正しい。なぜなら、開発者よりもユーザーの方が多いためである。つまり、モジュールはシンプルな実装よりもシンプルなインタフェースを持つことを優先させ…]]></description>
        </item>
        <item>
            <title><![CDATA[レイヤーと抽象度]]></title>
            <link>https://sizu.me/cawpea/posts/6sxt2d6moi0c</link>
            <guid>https://sizu.me/cawpea/posts/6sxt2d6moi0c</guid>
            <pubDate>Sun, 11 May 2025 03:45:28 GMT</pubDate>
            <description><![CDATA[ソフトウェアはレイヤー構造になっており、下位のレイヤーが提供する機能を上位のレイヤーが利用する。ある操作がメソッドを呼び出してレイヤーを上下すると、メソッドの抽象度が変わる。たとえば、ファイルシステムでは最上位レイヤーではファイルの抽象的な実装を行なっており、ファイルの読み書きができる。ファイルシステムの下位レイヤーでは、特定サイズのディスクブロックの読み取りやメモリキャッシュが実装されている。
…]]></description>
        </item>
        <item>
            <title><![CDATA[特殊なコードを分離する]]></title>
            <link>https://sizu.me/cawpea/posts/nixz83x6itan</link>
            <guid>https://sizu.me/cawpea/posts/nixz83x6itan</guid>
            <pubDate>Sat, 10 May 2025 10:52:30 GMT</pubDate>
            <description><![CDATA[ほとんどのソフトウェアでは、必然的に特殊なコードが存在する。これはユーザーに特定の機能を提供するために専門的な機能が必要となるためである。そのため、特殊なコードを完全に排除することは通常は不可能である。
特殊なコードは、汎用的なコードときれいに分離する必要がある。そのためには、特殊なコードをソフトウェアの中で上下に分離する必要がある。
特殊なコードを上に押し出す：汎用的な処理をクラスに閉じ込め、特…]]></description>
        </item>
        <item>
            <title><![CDATA[池袋の「かるまる」に行ってきた]]></title>
            <link>https://sizu.me/cawpea/posts/s06420hv8et3</link>
            <guid>https://sizu.me/cawpea/posts/s06420hv8et3</guid>
            <pubDate>Tue, 06 May 2025 10:49:33 GMT</pubDate>
            <description><![CDATA[GWは特に旅行もせず、東京でのんびり過ごそうということで、池袋にあるサウナ&ホテルの「かるまる」に行ってきた。かるまるは「人間回帰」をコンセプトに都会ながらに自然を感じられる場所らしい。
自然は、人をもとの状態に戻す力がある。だから、人は疲れたとき、自然を欲する。されど、自然は遠い。そこで、都会にいながら、自然を感じ、もとの自分に戻れる場所。それが、かるまるのコンセプトの一つ。
GWということもあ…]]></description>
        </item>
        <item>
            <title><![CDATA[「ある程度の汎用性」が大事]]></title>
            <link>https://sizu.me/cawpea/posts/bbc53vwazd87</link>
            <guid>https://sizu.me/cawpea/posts/bbc53vwazd87</guid>
            <pubDate>Sun, 04 May 2025 06:51:24 GMT</pubDate>
            <description><![CDATA[コードが複雑化する原因として、「汎用化」と「特殊化」の考え方がある。汎用性が高いコードは、よりシンプルで理解しやすいが、特殊化されたコードは複雑で読みにくい傾向がある。そのため、特殊なケースを排除することでコードの効率化を図ることができる。
ある程度の汎用性とは
新しいモジュールをデザインするときに直面する問題のひとつは、そのモジュールを汎用的に実装するか、特殊な目的のために実装するかということで…]]></description>
        </item>
        <item>
            <title><![CDATA[情報隠蔽と情報漏洩]]></title>
            <link>https://sizu.me/cawpea/posts/01moeo32xfva</link>
            <guid>https://sizu.me/cawpea/posts/01moeo32xfva</guid>
            <pubDate>Sat, 03 May 2025 04:50:54 GMT</pubDate>
            <description><![CDATA[情報隠蔽
ソフトウェアデザインにおいて、深いモジュールを実現するために最も重要な技術のひとつが「情報隠蔽」である。情報隠蔽の基本的な考え方は、いくつかの知識をカプセル化することで他のモジュールから見えないようにすることである。
たとえば、モジュールに隠された情報には、たとえば以下のようなメカニズムに関連するデータ構造やアルゴリズムが含まれる。
B-treeを活用して情報に効率的にアクセスする方法
…]]></description>
        </item>
        <item>
            <title><![CDATA[深いモジュールと浅いモジュール]]></title>
            <link>https://sizu.me/cawpea/posts/9oaiexifo0sb</link>
            <guid>https://sizu.me/cawpea/posts/9oaiexifo0sb</guid>
            <pubDate>Sun, 27 Apr 2025 10:33:44 GMT</pubDate>
            <description><![CDATA[ソフトウェアにおけるモジュールデザインでは、ソフトウェアのシステムを相対的に独立したモジュールの集合体に分解する。各モジュールは独立しているため、システムの複雑さをモジュールの複雑さに閉じ込めることができる。しかし、モジュールはお互いの機能やメソッドを呼び出して連携するため、相互依存関係にある。たとえば、あるモジュールが変更されると、そのモジュールを参照しているモジュールも変更しなければいけない。…]]></description>
        </item>
        <item>
            <title><![CDATA[戦略的プログラミングと戦術的プログラミング]]></title>
            <link>https://sizu.me/cawpea/posts/5u53nacussas</link>
            <guid>https://sizu.me/cawpea/posts/5u53nacussas</guid>
            <pubDate>Sun, 20 Apr 2025 10:15:39 GMT</pubDate>
            <description><![CDATA[優れたソフトウェアデザインにおいて、プログラミング作業に取り組む際の考え方は重要な要素である。多くの組織では、機能をできるだけ早く動作させること = 戦術的なアプローチに焦点を当てている。このアプローチは問題を修正するために時間を費やす。一方で、戦略的なアプローチがよりよいデザインを生み出す。
戦術的プログラミング
戦術的プログラミングでは、新機能やバグ修正など、何かを動作させることに主眼を置いて…]]></description>
        </item>
        <item>
            <title><![CDATA[ソフトウェアの複雑さの本質]]></title>
            <link>https://sizu.me/cawpea/posts/ssrew4a4o004</link>
            <guid>https://sizu.me/cawpea/posts/ssrew4a4o004</guid>
            <pubDate>Sat, 19 Apr 2025 10:23:23 GMT</pubDate>
            <description><![CDATA[ソフトウェアにおける複雑さとは「ソフトウェアシステムの構造に関連するもので、システムの理解や修正を困難にするもの」のことである。ソフトウェアシステムを理解して修正するのが難しい場合、それは複雑であり、修正が簡単な場合は単純であるとも言える。たとえば、あるコードを書いたとき、自分では簡単そうに見えても、他の人が複雑だと思えば、それは複雑である。
複雑さの症状
複雑さは以下の症状によって、開発作業を困…]]></description>
        </item>
        <item>
            <title><![CDATA[A Philosophy of Software Design]]></title>
            <link>https://sizu.me/cawpea/posts/6zmsw36ke2fh</link>
            <guid>https://sizu.me/cawpea/posts/6zmsw36ke2fh</guid>
            <pubDate>Sun, 13 Apr 2025 10:57:15 GMT</pubDate>
            <description><![CDATA[プログラミングに必要なのは創造力と思考を整理する能力である。システムをイメージできれば、それをコンピュータのプログラムとして実現できる。つまり、ソフトウェアをつくる上での最大の制約は、自分がつくっているシステムを理解できているかどうかになる。
しかし、プログラムは進化して機能が増えるほど複雑さが増していく。その結果、開発スピードが落ち、バグが発生して、コストがかさむ。プログラムが大きいほど、作業す…]]></description>
        </item>
        <item>
            <title><![CDATA[2024年 → 2025年]]></title>
            <link>https://sizu.me/cawpea/posts/kssi7xbukr4d</link>
            <guid>https://sizu.me/cawpea/posts/kssi7xbukr4d</guid>
            <pubDate>Tue, 31 Dec 2024 14:22:52 GMT</pubDate>
            <description><![CDATA[今日は2024年の大晦日ということで、ギリギリになってしまったが、毎年恒例のふりかえり記事を書いておきたいと思う。ちなみに毎年この時期は実家の熊本に帰省しているが、今年は東京で過ごしている。年末年始のためにこたつとみかんを買って年越しに向けて万全の準備を整えている🍊
マネージャーとして成果に向き合った１年
去年の９月からマネージャーになり、事業づくりや組織づくりにも関わらせてもらっている。まだまだ…]]></description>
        </item>
        <item>
            <title><![CDATA[2023年 → 2024年]]></title>
            <link>https://sizu.me/cawpea/posts/bm5773zox0e6</link>
            <guid>https://sizu.me/cawpea/posts/bm5773zox0e6</guid>
            <pubDate>Sun, 31 Dec 2023 09:30:41 GMT</pubDate>
            <description><![CDATA[2023年も年の瀬、去年はNotionにふりかえりの記事を書いていたのだけど、今年は「しずかなインターネット」で書き散らしてみたいと思う。
マネージャーになった
これまでずっとクライアントワークでプレイヤーとして働いていたのだが、今年の9月からエンジニアチームのマネージャーにチャレンジさせてもらうことになった。といっても、プレイヤーを兼務しつつなので、プレイングマネージャーという感じなのだけど、こ…]]></description>
        </item>
    </channel>
</rss>