Skip to content

Instantly share code, notes, and snippets.

システムの構築には無数の複雑さが伴います。しかし、ソフトウェアエンジニアリングの20年の経験から、システムを本当に作ったり壊したりするものは何かを学びました。それは意思決定です。それはプログラミング言語でも、データストアでも、デプロイメントモデルでも、[ここにお気に入りの技術を挿入してください]でもありません。それは、行われた意思決定とそれが引き起こす波及効果についてです。私たちは、カフェイン入りチーターよりも速く疾走する業界の最新かつ最高のものについていくために、無限の時間を費やしています...しかし、私たちの思考プロセスを質問したり、改善したり、本質的にはデバッグしたりするために、どれだけの時間が費やされたのでしょうか?

意思決定をどのように構成し、それが構築するソフトウェアにどのように影響するか?最適でない意思決定が発生した場合、意思決定プロセス自体を熟考しますか?私はここ数年、意思決定の思考プロセスをデバッグし、ブレークポイントを配置して、どの仮定が私をここに導いたのか、そして私が見逃した可能性のある代替案を検査してきました。その結果、私の思考プロセスはより構造化され、合理化され、よりバランスのとれた意思決定につながりました。このセッションに参加して、クリティカルシンキングがどのように意思決定プロセスを変革し、ユーザーのために構築するソリューションの品質を向上させることができるかを検討してください。

YouTube: Keynote: Debug your thinking - Laila Bougria - NDC London 2024

詳細

There’s a myriad of complexity involved in building systems. However, two decades in software engineering taught me what truly makes or breaks a system: decisions. It’s not the programming language, the data store, the deployment model, or [insert your favorite tech here]. It’s about the decisions made and the ripple effects they cause. We spend endless hours trying to keep up with the latest and greatest in an industry that sprints faster than a caffeinated cheetah... But how much time was invested in questioning, improving, or, essentially, debugging our thinking process?

How do you structure your decisions, and how do they affect the software you build? When suboptimal decisions occur, do you reflect on the decision-making process itself? I've spent the last few years debugging my decision-making thought process, placing breakpoints to inspect which assumptions got me here and what alternatives I may have mi

[
[
{
"title": "Keynote: Debug your thinking",
"text": "There’s a myriad of complexity involved in building systems. However, two decades in software engineering taught me what truly makes or breaks a system: decisions. It’s not the programming language, the data store, the deployment model, or [insert your favorite tech here]. It’s about the decisions made and the ripple effects they cause. We spend endless hours trying to keep up with the latest and greatest in an industry that sprints faster than a caffeinated cheetah... But how much time was invested in questioning, improving, or, essentially, debugging our thinking process?",
"courseText": "How do you structure your decisions, and how do they affect the software you build? When suboptimal decisions occur, do you reflect on the decision-making process itself? I've spent the last few years debugging my decision-making thought process, placing breakpoints to inspect which assumptions got me here and what alter

Claude3のまとめ

オブジェクト指向プログラミング(OOP)は、1960年代後半にAlan Kayらによって提唱され、Smalltalkの開発を通じて具体化されました。当初のオブジェクト指向の概念は、メッセージングを中心とした動的で柔軟なシステムの構築を目指していました。オブジェクト同士がメッセージを介して相互作用することで、プログラムの振る舞いが決定されるという考え方は、従来の手続き型プログラミングとは大きく異なるものでした。

オブジェクト指向の発展において、学術的な場が果たした役割は非常に大きいと言えます。OOPSLAをはじめとする国際会議や、各種学術誌での議論は、オブジェクト指向の概念を洗練し、新たな手法や言語の開発を促しました。カプセル化、継承、ポリモーフィズムといったオブジェクト指向の基本原則は、学術的な議論を通じて体系化され、現在に至るまで広く受け入れられています。

一方で、オブジェクト指向の本質的な考え方をめぐっては、意見の相違もあります。Kayらが提唱したメッセージングの概念は、動的型付けと親和性が高く、Smalltalkに代表されるような動的言語で活用されてきました。しかし、静的型付けを重視する立場からは、動的なメッセージングはシステムの複雑性を増大させ、実行効率や型安全性に課題があると指摘されます。また、オブジェクト指向分析と設計の手法についても、UMLなどは静的な構造の表現に偏っており、動的なメッセージングの側面を捉えきれていないとの批判があります。

オブジェクト指向プログラミングは、その誕生以来、絶え間ない進化を遂げてきました。1980年代から1990年代にかけて、C++やJavaなどの言語が登場し、オブジェクト指向の概念を静的型付けと融合させることで、大規模なソフトウェア開発に適用可能になりました。また、デザインパターンやSOLID原則など、オブジェクト指向設計の手法も確立され、ソフトウェアの品質向上に寄与してきました。

ピタゴラスの三角形

  • 比率 (3, 4, 5) の和は 12
  • 比率 (5, 12, 13) の和は 30
  • 比率 (8, 15, 17) の和は 40
  • 比率 (7, 24, 25) の和は 56
  • 比率 (20, 21, 29) の和は 70
  • 比率 (12, 35, 37) の和は 84
  • 比率 (9, 40, 41) の和は 90
  • 比率 (28, 45, 53) の和は 126

AIハルシネーションの謎を解明: 深層学習における現象の解析 (Bard 著)

https://note.com/it_navi/n/n81fb83893995 のまねっこ

1. AIのハルシネーションとは?
  1.1. ハルシネーションの定義
  1.2. AIにおけるハルシネーションの歴史
  1.3. AIハルシネーションの種類
@matarillo
matarillo / fixjson.go
Last active May 5, 2023 12:08
facebookの「個人データをダウンロード」でJSONをエクスポートすると、文字列がISO-8859-1 (Latin-1) 扱いされてて文字化けするので、非ASCII文字のエスケープを解除するときにUTF-8に戻す。
package main
import (
"bufio"
"bytes"
"encoding/json"
"fmt"
"io/ioutil"
"os"
"strings"