20230509

  • オブジェクト指向設計実践ガイド Rubyでわかる進化し続ける柔軟なアプリケーションの育て方
    • 5.1 残り / 5.2 ダックを信頼するコードを書く
  • Effective SQL
    • 第1章 データモデルの設計
    • 項目1 すべてのテーブルに主キーが定義されていることを確認する
  • 関数型プログラミングの基礎

自分での学習の時間のような頭構成を、どう仕事で使うのがいいか、ということを、休暇明けから考えている。

20230508

休暇明け、うまく頭で構成しながら仕事に向かえている気がする。 自分の勉強の時間が少しでも取れたのでよし。

20230507

  • Codewars:Count by X
  • Ruby or Rails6 実践ガイド:16-1 単一テーブル継承
  • ブログ:1つ書いた
  • AWS認定ソリューションアーキテクト - アソシエイト問題集:4問
  • SQL実践入門:ウィンドウ関数

9連休最終日ということで、マリオの映画を見に行った。1年半住んで最寄りの映画館に初めて行った(すごい迷った)。

明日から仕事再開ということで、調子を崩さないように、徐々に慣らしていこう。

2023年のGWと5月の平日について

このGWは訳あって制約のある休暇だったのだが、将来振り返ったときにある種のターニングポイントとなりうる連休であった。ピンチはチャンスである、という言葉があるが、それが味に沁みた期間だった。

 

プログラミングの勉強と多少向き合い、やり方についても軌道に乗り始めている気がする。この辺りは今後記事になるかもしれない。

正確にいうと半分軌道に乗った、という表現が正しいと思う。もう半分は2023年2Qの残り、もっと言えば5月の過ごし方次第だろう。

 

そんなこんなで、5月の休日はGWやったことを継続する予定。平日については、以下の本を少しずつ読めたらと考え中:

ゆっくり頑張ろう。

20230506

AWS本、深掘りするためのきっかけを与えてくれるに過ぎない。

20230505

ここまで引きこもっているGWは人生初と思う。電車に乗っていない。

  • ✅ codewars 1問

    • Sum of Pairs
    • リストの中から和が特定の値になる最小のindexのpairを返す問題
    • 通過しないケースがありunlockしてしまったが、solutionを見るとJavaで以前やった問題と同じ考え方であった
    • 繰り返して和が特定の値になるのを見つけるのではなく、特定の値との差が既出を検証する
      • そうすることで、indexが最小のpairを自然に取得できる
      • selectfindを使用してしまうと、そこが満たせない
    • 簡単にいうと、Setを用意しておいて、配列の各要素とtargetとなる値との差分がそのSetにinclude?かを確認していく
  • Ruby or Rails6 実践ガイド

    • Chapter 13 モデル間の関連付け
      • 13-1️ モデル間の関連付け
        • 職員のログイン/ログアウト情報を記録するため、staff_membersテーブルと1対多になる新規テーブルを作成する
        • migration scriptにおける重要箇所は以下:
        •  t.reference :staff_member, null: false, index: false, foreign_key: true
          
        • モデル間の関連付けの実装にて、class_nameオプションが書かれていないときは、省略されていたということ
        • dependent: :destroyは親に書く
        • has_manyで関連付けたメソッドは、ActiveRecord::Association::CollectionProxyクラスの子孫クラスのインスタンスを返却
          • 公式はここ
          • この記事をみてみると元はArrayだった模様
          • updateにより関連付けのコレクション専用のプロキシ(代理)を使うようになったということか
    • しかしこの本、痒い所に手が届く感じがする。最初の方は飛ばしていたが、そのうち読んでも勉強になりそう
  • SQL実践入門

    • 5.3 SQLではループをどう表現するか
      • SIGN関数
      • ポイントは以下のウィンドウ関数
        • ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING
      • ある郵便番号に一番近いカラムの値を持つレコードを取得せよと言われると、手続き型脳だと、1行ずつ比較しようとするが、そうではなく「近さ」という概念を導入する
      • CASE式のWHENは短絡評価
      • 100回近く繰り返す葛飾北斎のような引越しマニアも

      • 葛飾北斎について知っているので、これが理解できる(こういうのが知識を持っていることの喜び)
      • 再帰共通表式
      • 入れ子集合モデル、多分めちゃくちゃ面白いアイデアだと思うのだけど、すぐ理解できていない
  • AWS認定ソリューションアーキテクト - アソシエイト問題集

  • Microsoft Azure AI Fundamentals: 機械学習用のビジュアル ツールについて調べる

  • ✅ LangChain

  • ✅ ブログ

    • Azureの記事を投稿した
  • 徹底攻略データベーススペシャリスト教科書

    • 第2章 データベース基礎理論
    • 2-1-1 正規化とは
      • p75まで

本の中にすごいアイデアや面白い情報があるので、出かけなくてもいいじゃん、となる。 広さより深さを求めるようにしないと。章ごとに読んでいくだけだったら簡単にできる。作業として。資格もただ受かるだけなら、もっと効率のいい方法がある。

細かくやったことを書いてみた。すごそうには見えてしまうが、これは良くない。ここらへんの考えたことは別の記事として整理する予定。

Microsoft Learnの「AzureでAIの使用を開始する」を読んだ

昨今の急速な流れに乗り遅れないように...とは実は考えていないんだけど、とはいうものの、何も知らないと支障を来したり可能性も狭まるというわけで、以下を読んだ:

learn.microsoft.com

 

Twitter見ていれば一定情報は流れてくるし、そこでのリンクの記事を読んでいくことも考えたけれど、1週間で状況がガラッと変わる今、目先の情報を追っていくのも大変そうだなぁと思い。あんまりそういうタイプでもないし。それならば、体系的に基礎から学ぼうということで選択。

Azureは弊社でも今後選択肢に上がる(上がっている)かもしれない。そういや前職の最後は、AzureでOCRについて調査していたのだった。

 

上記は、AI-900というMicrosoft Azureの資格のための知識という面もある:

learn.microsoft.com

本試験では、ML/AIの概念と関連するAzureサービスについて問われる。

 

ということで、本モジュールの内容:

  • AIの概要
  • 機械学習を理解する
  • 異常検出を理解する
  • コンピュータビジョンを理解する
  • 自然言語処理を理解する
  • ナレッジマイニングについて
  • AIの課題とリスク
  • 責任あるAIを理解する

内容だけ見ると盛り沢山に感じるけど、全部で34分の所要時間を想定ということもあり、概要の説明がなされるのみ。でも結構勉強になった。

 

感想

機械学習で何をしますか?と言われたら、うーん、困りそうだけど、でもなんらかのデータを集めて世の中の役に立ちそうなことを予測したりします!と答えてしまいそう。それはそうなんだけど、ポジティブな何かを生み出すだけでなく、(当然だけど)ネガティブな予測を行うユースケースもある。それが項目の1つにもなっている異常検出。Anomaly Detectorというサービスがあり、異常検出のためのAPIを提供してくれる。

 

コンピュータビジョンタスクに関しては解像度が粗かったなと感じた。

  • 画像分類
  • 物体検出
  • セマンティックセグメンテーション
  • 画像解析
  • 顔検出、分析、認識
  • OCR

視覚処理を扱うAIといっても、これだけあるわけだ。

 

AIの課題とリスクについて。LLMに関連するβ版のアプリが色々なところから出てきているということで、色々な人がAIを使い始めるわけだけど、全ての会社が、(おそらく現段階で)ここに書いてあるようなことを考え切れているわけでもないかもしれず、今後の開発者の必須科目となるんだろうなぁと妄想したりなど。インシデントの(Webアプリを作っているだけだと出会わなかった)新分類も出てくるのだろう。

 

全体的に英語から翻訳してるなーという記載であるが、ギリギリ気にならずに読んでいけている。