かざいむ日誌

IT関係で知ったことなどを記事としてあげていきます。内容に不備や質問などあればぜひコメントをよせてください。

問題解決型と、比較優位型という課題へのアプローチ

今日同僚と話しててなかなか話が伝わらなかったので他の人の意見が知りたい。システム開発するときは、問題解決型で開発の提案をしますか?それともシステム導入後のメリットで開発を提案しますか?これまで、業務システムでは問題解決を主としつつ、メリットを混ぜた案件に入ることが多かったように思う。

この問題解決型とメリット型について最初に知ったのは大学で所属していた英会話サークル(ESS)の活動だった。このサークルはいくつか活動があり、私は政策などを英語で議論するDiscussionユニットに入っていた。そこでは課題に2つのアプローチをする。

  • Problem-Solving (問題解決型)
  • Comparative Advantage(比較優位型)

1つ目の問題解決型では、現状こんな問題があり、それによってこういう害が出ている。それを解決すべきだという点でまずコンセンサスを取り、次に具体的に何をすべきかを提案する。一方の比較優位型は現状はこう、次にこういう政策を考えています、これを実施したらこんなメリットがあります。どうでしょう?という具合に話を進める。

最近私が入っているプロジェクトでは1つ目のアプローチを徹底するように上司からもアドバイスされている。これをやりたいから援助してほしいという話が出たときに、上司がbeaurocratic redundancyは避けようと言っていた。beaurocratic redundancyとは官僚は仕事を増やしがちというような意味合いで使われると理解している。やった方がいいことをやっていくと、どんどん無駄な仕事が増える。

問題解決型についてもう少し詳しく言うと、もし何か援助してほしいと言われたら具体的に今何に困っているか、現在それに対して具体的にどんな行動をとっているか、というのを聞き取りそれらからその課題について相手が問題意識を持っていて、取り組んでいる場合にのみ、何をするのかを考えるのだ。

援助の話でいうと、やった方がいいことはいくらでもあるし、やりたいと思うが、足していくときりがない。そうすると本当に解決すべきことに取り組む余裕がなくなってしまうかもしれない。学校のカリキュラムも同じで、金融教育もやったほうが良いし、英語も勉強できた方がいい、問題解決やリサーチとかもできたらいい。でも、授業時間は限られているので、全部を細切れにしてカリキュラムを組むと、その分野に詳しくない先生が、知らないなりに教えることになり、なんだか本末転倒な結果となる気がする。

こういうことは民間企業では起きにくい。企業であれば利潤という評価指標があるからだ。だから公共部門はという話ではなく、評価軸が一つではない公共セクターはできたらいいことを足していくと大事なことができなくなるから、慎重にしないといけないという教訓なんだと思う。

難しい本『事業分析・データ設計のためのモデル作成技術入門』を読んでいる

最近知恵熱が出るような経験をあまりしていない。漫画やちょっとした技術書を読むけど体力が要るような読書や、頭がショートするような読書体験をしていない。

これではいかんと思ってたところで、データベース、DOAについて関心が向くようになってきた。フロントエンドはスピードが速くフルタイムでシステム開発していない今頑張れない、、むしろ業務について本質的な観点を持ちたい、というのが理由としてあるんだと思う。

そこで、大学生向けのデータベースの教科書、増永良文著『リレーショナルデータベース入門』と佐藤正美著『事業分析・データ設計のためのモデル作成技術入門』(TM本)の2冊を一時帰国時に買い込んでほくほくしてラオスに戻ってきた。でも開いてみるとどちらも思った以上に骨太な感じ。

今はTM本のほうから読み進めているけど、ウィトゲンシュタインとかゲーテルとか出てきてそれがデータベースにつながるのか、わかるような、わからんようなと思いながら読んでいる。これは何回か読まないといけなさそう。でも多少なりともDBの知識・経験があるので点と点がうっすら点線でつながりそうな感じで読めている。

そういえば私は大学は文系で、あまり歯ごたえのあるのを読んでこなかったように思う。社会学比較文学の本はちょこちょこ読んだけど、まぁそんなに難しい本は読まなかった。一度だけ、大学院で課題図書としてフーコーの『これはパイプではない』という思想エッセイを読んだが、なかみが全然わからなかった。これはマルグリットの『これはパイプではない』という絵の解釈についてのエッセイだったと記憶している。課題図書なので読むのをやめるわけにもいかず、でも読んでも意味が取れないので、しばらく放置して、休み休み読んでいたらある時、急に内容が頭に入ってきた。

卒業してからSIerに就職して、一時期かぶれてメイヤーのオブジェクト指向入門という鈍器のような本を買ったけど、これは積読になっていつの間にか手元からなくなっていた。もったいないことをしたが、今考えるとそれよりも前に読むべき本があったと思う。今の私が若い時の私にアドバイスするならTCP/IPLinuxカーネル情報理論、データベース、アルゴリズムなどの骨太な本を勧めるだろう。まぁ、若い時の私からするとちょっと面倒なおじさんに見えるだろうな。

今回買った、TM本やリレーショナルデータベース入門でもパイプ本のように理解が深まる瞬間が来てほしい。というか、読書会とかしたい。そうでもしないと頭の中で整とんできないように思う。読書会したい本はもう一冊あって、市谷聡啓著『デジタルトランスフォーメーション・ジャーニー』だ。TM本やRDB入門は概念を整理するのに他の人が欲しい感じ。DX本は読んだ人それぞれの現在の立ち位置から本の内容がどう読めたかを共有したい。興味がある人がいたら連絡ください。

がくっと集中力が落ちた

最近、頭が常にぼんやりしている気がする。コロナ後遺症はこれまでなかったから原因は別にあるんじゃないかと思う。集中力は肉体的にすとんと落ちてしまうものじゃないかと思う。30代になってすぐ、それまでの集中力が消え失せて、メモリが足りなくなってしまったような気がするようになった。

40代になった今、またさらに集中力が減退して、何を考えてもぼんやりしているように感じる。いつからかというと、おそらくこれは子どもたちが夏休みが終わってラオスに戻ってきて、また一緒に生活するようになってからだと思う。ということは単純な運動不足が原因だと思う。

夏休みの前も同じ状況だったけど、こういう衰えはある日突然来るからそこはあまり考えずに対策を取りたい。単純に運動を増やしてみたいと思う。運動はちょっとずつでも積み重ねると閾値を超えると思うので、まとまった時間が取れなくても意味があると考えて、行動してみたい。

あとは、頭がぐるぐる回転するような経験も不足していると思う。これは英語を一生懸命話したりしているときに頭が回っているように思うので、シャドウイングが役に立つと思う。

いろんなものを合わせて取り込むのが大事で、若い時には特に何もやらなくてもよかったけど、もうおじさんだから昔のようにはいかないとちゃんと理解する必要があると思う。

ラジオ体操のように本を読む

新しい学校の先生から子どもにもっと本を読ませるようにとアドバイスをもらった。これまでは日付、読んだ本、親のサインを書く表形式の紙を渡されていたが、新しい学校ではフォーマットはないとのこと。

ちょうどよいと思ったので表をカレンダー形式に変えて以下のように子どもたちに提案した。読んだ日は3種類のスタンプのうち好きなものを押していい。読まなかったらもう押せない。本は漫画でもなんでも構わない。 カレンダーだとやはり押さないのは気になるのかとりあえず二日目の昨日までは本を読んでいる。

小学校のとき夏休みに朝近くの公園でラジオ体操行って、スタンプを押してもらっていたけどやはりあれはいい手段だと思う。 読書だけでなく、やったことが表示されるより、やってないことが見えるのがいいのかも。

Windows11で集中する環境が作れそう

先月自分のPCを買い替えてOSがWindows11になった。まだ慣れてないけど、最近課題にしている集中できる環境づくりにいくつか役立ちそうな機能があるのでちょっとまとめる。ちなみに割り込み万歳、マルチタスク上等という方にはこれは関係ないと思うのでここでそっと閉じてください。

今もそうですが、私という人間はどうしても刺激を求めていろんな記事を読んだり、どうでもいいメールに返事をしてしまいます。でも、これではいけないと思っていて、ここ数か月あたり、ふんわりと大事なものに集中することを心がけています。きっかけというきっかけはありませんが、以前に下の2冊を読んでそれが多少なりとも今の考えの基礎になっているように思います。

www.amazon.co.jp

 

www.amazon.co.jp

私は気をそらしがちなので、気が散らないように気をそらすものをできるだけ消していかないといけないと思うようになっています。力を一点に向けるよう頑張るのではなく、わき道をふさぐように手を尽くすというのが正しい頑張りなのではないかと思いつつあります、ただ、これはまだ、実践しきれていないのでぜひ意見をいただきたいです。

以前聞いた独学ラジオのグラデーションという話にも影響を受けていると思います。

 

Windows11で発見、または再発見した機能は以下の3つ。

  • 仮想デスクトップごとに壁紙が設定できるので環境を分けられる
  • デスクトップアイコンの表示、非表示の切り替えができる
  • Win11にフォーカスモードがあって、通知とかを切ることができる

仮想デスクトップ

仮想デスクトップというのは、起動しているアプリとかをひとまとめにして保存しておける機能で、この作業をするときはアプリAとBを使う、別の作業をするときはアプリCとDを使う、ABCDが全部起動していると邪魔くさいというときに役に立つ機能である。この環境ごとに壁紙が設定できるので、今はリラックスモード、今は集中モードと切り替えができる。この機能はWin10からもあったようだがこれまではあまりピンとこずに使ってなかった。

仮想デスクトップの切り替え時のイメージ

デスクトップアイコンの表示・非表示

これはデスクトップにショートカットやファイルの表示、非表示を切り替えられる機能で、一つの作業に集中する際や、Zoomなどで画面共有する際にデスクトップに置いているものを隠すのに使えそう。これがデスクトップ右クリックメニューで切り替えられる。

デスクトップアイコン表示・非表示切り替え

フォーカスモードの切り替え

Zoom中にメッセージやメールの通知が出るようなところはまずいという記事を最近読んだ。確かにそれは言えている。ただ、全部切るの面倒だし、ブラウザで調べものしているときにブラウザから通知が来ることもある。そんな時に役立ちそうなのがフォーカスモード。画面右下の時計をクリックしたときに出てくるカレンダーにフォーカスというボタンがあり、ここを押すと、通知とかが切れるっぽい。

カレンダー下に表示されているフォーカスボタン

これまではなんかこまごまと設定を切り替えたり、アプリを閉じたりしてたけど、これならそんな面倒せずに集中して仕事ができる環境が作れそう。それぞれは大きな機能じゃないのだけど、組み合わせると静かな環境が作れそうでとても良いと思った。

GitHubでブランチマージしようとしたらうまくいかなかった

他の人の作ったリポジトリでブランチをメインにマージしようとしたらうまくいかなかった。状況としては、開発ブランチで外から持ってきたコードをコミットしたみたいで、メインとGitの履歴は共有されていない。メインブランチで、git merge xxxbranch としたところ、Already up-to-date と表示された。

じゃあ、と思って、git pull origin main としたところ以下のエラー。

fatal: refusing to merge unrelated histories

やっぱり履歴が違うのでそりゃそうか。そこでこのエラーでググったところ、それを無視して pull するオプションがあった。

git pull origin main --allow-unrelated-histories

そのあと、git push origin main したら問題なく取り込みができた。

 

以下のサイトを参考にした。

www.educative.io

今勉強したいこと

今IT系で勉強したいのがネットワーク、フロントエンド、Rust、クラウドあたりで、できれば数学+アルゴリズムも勉強したい。

 

ネットワークはまだ基礎がしっかりできてなくて、開発者としては困らない程度だけど、情シスとしては足りないし、クラウドやりたいと思うともう少し把握しておきたいと思う。汎用的な知識だし、この辺りができると強いと思う。

フロントエンドで言うと、Nextjsを触ってみたりはしているけど、ある程度の規模のものを業務として構築していないので、勘が働かない。多分基礎的な知識が体系的に身に付けられていないのだろう。これは仕事というより趣味的な関心。

RustはC言語に挫折したルサンチマンがあると思う。早さ重視で、しっかりしたものを書く自身がないので、Rustを学ぶことでこの辺りを身に付けつつ、低レベルなところも触れるようになりたいと思う。

クラウドで言うと、関心はあったもののがっつり触ったことはない。これからだとクラウド触れないと厳しいかなと思ってしまう。