Dartの検証

Dartの主な特徴として、下記が挙げられます。

・オブジェクト指向型
・動的型付けと静的型付けの使用が可能
・JavaScriptやJavaに似ている
・操作性がシンプルで使用しやすい
・セキュリティ性能にも優れている
・大規模なアプリ開発に向いている

Dartは、JavaScriptの代替言語として開発されました。加えて、JavaやC#の影響を受けていることもあり、JavaScripttやJavaに類似しているのが特徴です。そのため、学習を進めるにあたって、すでにJavaScriptやJavaを理解している方は比較的楽にDartの知識を身につけられるでしょう。

ChatGPTの検証

2022年11月にOpenAIという企業がリリースしたChatGPTについて。

検証した感想

Pythonのプログラムの解説を試してみました。

Pythonで書かれたソース

h, w, sy, sx, n = map(int, input().split())
s = [list(input()) for _ in range(int(h))]
time_lr = [input().split() for _ in range(int(n))]
directions = ["N", "E", "S", "W"]
now_direction = 0
time_index = 0
s[sy][sx] = "*"

for t_now in range(100):
    if time_index < n and str(t_now) == time_lr[time_index][0]:
        d = time_lr[time_index][1]
        time_index += 1
        if d == "L":
            now_direction = (3 + now_direction) % 4
        else:
            now_direction = (1 + now_direction) % 4

    if directions[now_direction] == "N":
        sy -= 1
    elif directions[now_direction] == "E":
        sx += 1
    elif directions[now_direction] == "S":
        sy += 1
    elif directions[now_direction] == "W":
        sx -= 1

    if sx < 0 or sx >= int(w) or sy < 0 or sy >= int(h) or s[sy][sx] != ".":
        break
    else:
        s[sy][sx] = "*"

for y in range(int(h)):
    for x in range(int(w)):
        print(s[y][x], end="")
    print()

解析後

このコードは、グリッド上を移動するロボットのシミュレーションの実装です。

入力は次のように読み取られ、保存されます。

h, w: それぞれグリッドの高さと幅
sy, sx: ロボットの開始 y および x 位置
n: ロボットの回転命令数
s: 文字の 2D リストとしてのグリッド表現
time_lr: 時間と回転方向 (L/R) のペアのリスト
シミュレーションは 100 時間単位で行われます。 各時間単位で、コードは現在の時刻が time_lr のいずれかの時刻と一致するかどうかを確認します。 その場合、ロボットの方向はそれに応じて更新されます。 次に、コードは現在の方向 (北、東、南、または西) に基づいてロボットの位置を更新します。 新しい位置が範囲外または空きスペースでない場合、シミュレーションは終了します。 新しい位置が有効な場合は、アスタリスクでマークされます。

最後に、グリッド表現が印刷されます。

感想

十分な解析結果と言えるのではないでしょうか。

2023.1.30追記

ChatGPTのソース解析結果を渡して、実行可能なソースが作れるか

できず。デバッグをしない。入力と出力の結果の判定をしないので、プログラム開発には使えない。(いまのところ)

東芝_不適切会計

EY新日本有限責任監査法人
https://ja.wikipedia.org/wiki/EY%E6%96%B0%E6%97%A5%E6%9C%AC%E6%9C%89%E9%99%90%E8%B2%AC%E4%BB%BB%E7%9B%A3%E6%9F%BB%E6%B3%95%E4%BA%BA

事件の流れ

【2020年1月更新】東芝事件の全貌とは?事件の経緯と関連ニュースを時系列でまとめてみた

https://business.nikkei.com/atcl/report/15/110879/092900741/?P=1
https://bizgate.nikkei.co.jp/article/DGXMZO3113717030052018000000
https://toyokeizai.net/articles/-/78801

農業

無利子、無担保
農業改良資金
青年等就農資金

補助金一覧
https://meetsmore.com/services/fundraising-tax-accountant/media/52885#:~:text=%E8%9E%8D%E8%B3%87%E3%82%92%E5%8F%97%E3%81%91%E3%81%A6%E8%BE%B2%E6%A5%AD,%E9%87%91%E3%81%8C%E4%BA%A4%E4%BB%98%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82&text=%E8%A3%9C%E5%8A%A9%E7%8E%87%E3%81%AF%E4%BA%8B%E6%A5%AD%E8%B2%BB,%E7%8E%87%E3%81%A8%E3%81%AA%E3%81%A3%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82

プロジェクトにおける炎上の兆候

・(私があまり経験のない技術要素の場合)今回実装するスキル要素の有識者がいなく、いた場合でも質問できない。
・WBSを決める際にプロジェクトマネージャー(プログラムと今回の仕様に詳しくない)が一人で決めていて、スケジュールに無理がある
・各工程でやっておくべきことができていない。(仕様書の整備(標準化のルールなど)、社内でのドキュメントの承認フロー、お客さんとの要件定義、基本設計等、設計書の内容の合意)
・検証環境がない

ウィリアム・エドワーズ・デミング

定義できないものは、管理できない
管理できないものは、測定できない
測定できないものは、改善できない

別の人
心が変われば行動が変わる
行動が変われば習慣が変わる
習慣が変われば人格が変わる
人格が変われば運命が変わる

自分が変えることができるのは自分の行動だけ
人の行動や価値観は変えられない(喧嘩しても意味はない。譲れないものがあるときだけ)