<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>つぶやき on ゲンゾウ用ポストイット</title><link>https://genzouw.com/entry/category/%E3%81%A4%E3%81%B6%E3%82%84%E3%81%8D/</link><description>Recent content in つぶやき on ゲンゾウ用ポストイット</description><generator>Hugo</generator><language>ja</language><lastBuildDate>Sat, 09 Dec 2023 08:12:24 +0900</lastBuildDate><atom:link href="https://genzouw.com/entry/category/%E3%81%A4%E3%81%B6%E3%82%84%E3%81%8D/index.xml" rel="self" type="application/rss+xml"/><item><title>生物の進化から学ぶシステムの進化 - Timee Advent Calendar 2023</title><link>https://genzouw.com/entry/2023/12/08/000027/3572/</link><pubDate>Fri, 08 Dec 2023 00:00:27 +0900</pubDate><guid>https://genzouw.com/entry/2023/12/08/000027/3572/</guid><description>&lt;h2 id="はじめに"&gt;はじめに&lt;/h2&gt;&#10;&lt;p&gt;今の組織には話がうまいエンジニアばかりです。&#10;僕は自分のことを語るのが苦手です。&lt;/p&gt;&#10;&lt;p&gt;そんな僕にも「アドベントカレンダーの記事を書いてほしい」というお願いがありました。&#10;記事を書かなければならないということで、今までエンジニアという仕事を通じて僕が感じてきた「システムの進化」と「生物の進化」の似ている点について書いてみることにしました。&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;お断りしておくと、このエントリで述べる内容は多分に自分の体験・主観に基づいたものとなっており、現職の組織を代表するものではありません&lt;/strong&gt; 。&lt;/p&gt;&#10;&lt;p&gt;「生物の進化とシステムの進化を同じように考えるのは短絡的だ」という意見が上がるだろうということは予想されますが少しでも興味があればお付き合いください。&lt;/p&gt;&#10;&lt;h2 id="収斂進化--どれを選んでも結局同じような仕組みになる"&gt;収斂進化 : どれを選んでも結局同じような仕組みになる&lt;/h2&gt;&#10;&lt;p&gt;アプリケーションの初期開発時やリプレイス時に「どの言語でシステムを開発するか」の議論になります。&#10;各社ごとにメインとするプログラミング言語を決定しています。&#10;僕も今まで Java、C#、PHP、JavaScript、Go、 Python、 Ruby といろいろな言語の使用を決定した組織でWebシステムの開発に携わりました。&#10;言語ごとに言語仕様に違いはありますが、俯瞰してみるとシステム構成の要素は似たようなものが必要となります。&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;データベース接続&lt;/li&gt;&#10;&lt;li&gt;ログイン認証・認可・ACL&lt;/li&gt;&#10;&lt;li&gt;ロギング&lt;/li&gt;&#10;&lt;li&gt;キャッシュ&lt;/li&gt;&#10;&lt;li&gt;モジュール・プラグインによる拡張&lt;/li&gt;&#10;&lt;li&gt;ライブラリ・パッケージ管理ツール&lt;/li&gt;&#10;&lt;li&gt;Linter ( コードの静的解析ツール )&lt;/li&gt;&#10;&lt;li&gt;Formatter ( コードの整形ツール )&lt;/li&gt;&#10;&lt;li&gt;ビルドツール&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;上記のような機構やツールは、いずれの言語にもフレームワークなりOSSなりSDKなりで提供されており、言語前提の選定基準にはならないと考えています。&#10;処理性能はプログラミング言語ごとに差はありますが、実際言語選定時に重要視しているケースは多くないのではないかと思います。&#10;( 処理性能が重要視されているなら、いくつかの言語は選定外から外れるはずですよね )&#10;これらの問題も、キャッシュを上手に利用するなど工夫すれば解決可能なためと考えています。&lt;/p&gt;&#10;&lt;p&gt;どの言語でも必要な周辺システム ( エコシステム ) が必ず出来上がっていくことに不思議さを覚えます。&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;p&gt;僕は生物学の中でもよく知られている現象である「収斂進化」を連想します。&lt;/p&gt;&#10;&lt;p&gt;異なるグループの生物が、環境に適応するために同じような形質 ( 見た目、機能 ) を獲得するという現象です。&lt;/p&gt;&#10;&lt;p&gt;具体例を見ていきましょう。&lt;/p&gt;&#10;&lt;p&gt;サメとイルカはどちらも海の生物です。&#10;海の中を上手に泳ぎながら生活しています。&#10;見た目はどちらも魚のようであり、背びれ、尾びれ、胸びれがあります。&#10;ところがサメは軟骨魚類、イルカは哺乳類であり、両者は別の生物群として分類されます。&#10;御存知の通りイルカの祖先は陸上で四本足で生活していたと言われていますから、独自の進化を経て、ひれを手に入れたことになります。&lt;/p&gt;&#10;&lt;p&gt;&lt;img src="https://genzouw.com/wp-content/uploads/2023/12/Untitled.png" alt=""&gt;&lt;/p&gt;&#10;&lt;p&gt;哺乳類であるもぐらと昆虫のケラも収斂進化の例としてあげられます。&#10;両者とも地中で土を掘りながら生活している生物ですが、土を掘り進むために鍬のような前足と細長くでっぱりが無い体を持っています。&lt;/p&gt;&#10;&lt;p&gt;&lt;img src="https://genzouw.com/wp-content/uploads/2023/12/Untitled-1.png" alt=""&gt;&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;p&gt;僕は生物もシステムも同じ圧力が加えられれば同じような形質を獲得すると考えています。&lt;/p&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;生物&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;システム&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;圧力&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;環境圧&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;要件&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;具体例&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;土の中、水の中、樹上、極寒&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Web系、組込系、基幹系、デスクトップアプリ、0.1s以外のレスポンス&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;p&gt;言語の選定に影響を与えるのは、非技術的要因のほうが大きいと思います。&#10;( エンジニアメンバーのスキル、声の大きなメンバーの好み、対外的な視点・採用戦略など )&lt;/p&gt;</description></item><item><title>Linux、シェルに関するYoutubeチャンネルを開設しました！</title><link>https://genzouw.com/entry/2021/03/22/093100/2494/</link><pubDate>Mon, 22 Mar 2021 09:31:00 +0900</pubDate><guid>https://genzouw.com/entry/2021/03/22/093100/2494/</guid><description>&lt;h2 id="はじめに"&gt;はじめに&lt;/h2&gt;&#10;&lt;p&gt;突然ですが、Linuxやシェルに関する情報をブログ以外でも発信してみたいと思い、 &lt;a href="https://studio.youtube.com/channel/UCl5cKDURfDAZKJLySyAepQg"&gt;Youtubeチャンネルを解説しました&lt;/a&gt; ！&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;script src="https://apis.google.com/js/platform.js"&gt;&lt;/script&gt;&#10;&lt;div class="g-ytsubscribe" data-channelid="UCl5cKDURfDAZKJLySyAepQg" data-layout="full" data-theme="dark" data-count="default"&gt;&lt;/div&gt;&#10;&lt;hr&gt;&#10;&lt;p&gt;もう少し大きなバーを貼りたいけど、 &lt;strong&gt;貼り方がわからず、こんな小さなバーになりました。&lt;/strong&gt;&lt;/p&gt;&#10;&lt;h2 id="正直しゃべるのが苦手なのでとても恥ずかしいです"&gt;正直しゃべるのが苦手なのでとても恥ずかしいです&lt;/h2&gt;&#10;&lt;p&gt;自分はしゃべるのが苦手なのでとても恥ずかしいです。&lt;/p&gt;&#10;&lt;p&gt;普段からあまり喋らない方ですし、滑舌も悪い。&lt;/p&gt;&#10;&lt;p&gt;皆さんには何を言っているのか聞き取りづらいとおもいます。&lt;/p&gt;&#10;&lt;p&gt;ではなぜ始めたのか？&lt;/p&gt;&#10;&lt;h2 id="このままではまずいという焦り"&gt;このままではまずい、という焦り&lt;/h2&gt;&#10;&lt;p&gt;このブログを始めた理由にも関係すると思います。&#10;僕は他の人より秀でたものがないというのがずっとコンプレックスとしてありました。&#10;そんな中、IT勉強会に参加するたびに聞く、「技術ブログ」というものを僕も始めてみようと思いました。&#10;自分のブログで情報を発信していないエンジニアが周りに1人もいなかったというのもあります。&lt;/p&gt;&#10;&lt;p&gt;始めた当初も現在も、このブログではお世辞にも技術的に高いものを公開しているとは言えません。&lt;/p&gt;&#10;&lt;p&gt;それでも何かを始め、続けないとただでさえ人に勝てるものがない自分がだめになっていくという焦りから行動し続けています。&lt;/p&gt;&#10;&lt;p&gt;Youtubeを初めて見ようと思ったきっかけも同じです。&#10;いい年齢になって、体も少しずつガタがきはじめています。頭の回転も昔ほど早くなくなってきました。&#10;5人の子どもと妻を養うためにも、更に新しい &lt;strong&gt;武器&lt;/strong&gt; をてにいれないといけない！という思いから重い腰が動いたというわけです。&lt;/p&gt;&#10;&lt;h2 id="当ブログの内容もどんどん変わってきている僕自身も変わり続ける"&gt;当ブログの内容もどんどん変わってきている、僕自身も変わり続ける&lt;/h2&gt;&#10;&lt;p&gt;それにいつの間にか &lt;strong&gt;Linux&lt;/strong&gt; や &lt;strong&gt;シェルスクリプト&lt;/strong&gt; の内容が多くなっていますが、もともとは &lt;strong&gt;Java&lt;/strong&gt; 、 &lt;strong&gt;Groovy&lt;/strong&gt; 、 &lt;strong&gt;JavaScript&lt;/strong&gt; といったプログラミング言語の習得を目的に始めたものでした。&#10;数年間は全くアクセスが来ませんでした。ある日、Linuxの設定に関するエントリのアクセス数が他よりも若干多いことに気づきました。そのあたりから &lt;strong&gt;「自分がやりたいこと、学びたいこと」&lt;/strong&gt; から &lt;strong&gt;「人が求めていること」&lt;/strong&gt; に公開内容を少しずつシフトしていきました。 &lt;strong&gt;人に必要とされていることを楽しむようになっていきました。&lt;/strong&gt;&lt;/p&gt;&#10;&lt;p&gt;ブログの開設場所も変わり続けています。&#10;はじめは &lt;strong&gt;Google Blogger&lt;/strong&gt; でした。 周りのエンジニアが &lt;strong&gt;Hatena Blog&lt;/strong&gt; を使っているのを見て、僕も引っ越ししました。そこから &lt;strong&gt;「自分で運営するなにかを持ちたい。運営というのもブログを書くだけじゃなく、サーバーを構築し、インストールし、ドメイン契約やHTTPSの設定を行い、アクセス数の増加に対応するように運用したい。」&lt;/strong&gt; という気持ちから、現在は自分でサーバを立ち上げ運営し、 &lt;strong&gt;WordPress&lt;/strong&gt; を使った今のスタイルに落ち着いています。&lt;/p&gt;&#10;&lt;h2 id="というわけで"&gt;というわけで&lt;/h2&gt;&#10;&lt;p&gt;というわけで振り返ると焦りに突き動かされて、その中で少しずつ自分の立ち位置やキャラ作りをしていったわけです。&lt;/p&gt;&#10;&lt;p&gt;その延長線上としてまた新しいことを始めてみました。&lt;/p&gt;&#10;&lt;script src="https://apis.google.com/js/platform.js"&gt;&lt;/script&gt;&#10;&lt;div class="g-ytsubscribe" data-channelid="UCl5cKDURfDAZKJLySyAepQg" data-layout="full" data-count="default"&gt;&lt;/div&gt;&#10;&lt;p&gt;↑少しでも当エントリで参考になった！面白かったよ！という方がいらっしゃれば、チャンネル登録よろしくおねがいします。 &lt;strong&gt;励みになります！&lt;/strong&gt;&lt;/p&gt;&#10;&lt;h2 id="ひとこと"&gt;ひとこと&lt;/h2&gt;&#10;&lt;p&gt;金曜日に「Youtube始められましたね」と声をかけてもらいました。&lt;/p&gt;&#10;&lt;p&gt;嬉しいですが同時にめっちゃはずかしい。。。&lt;/p&gt;</description></item></channel></rss>