Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
いくら眺めてもエラーの理由がわからないコードについて
Search
tsuda.a
April 13, 2024
Programming
0
170
いくら眺めてもエラーの理由がわからないコードについて
見た目ではどこがエラーなのか全く分からないかもしれないコードは、実は全角で記述されているかもしれません、というお話です。
tsuda.a
April 13, 2024
Tweet
Share
More Decks by tsuda.a
See All by tsuda.a
マジカルインクリメントと指数表記
tsudaahr
0
170
バックアップしていますか?
tsudaahr
0
110
RDB以前のファイル設計の話でもしようか(ぇ
tsudaahr
0
120
NPUわからん
tsudaahr
0
170
計算量オーダーの話
tsudaahr
1
370
クラウド初学者が抱える不安について
tsudaahr
0
240
キューとは何か
tsudaahr
0
210
等幅は死んだ(ぇ
tsudaahr
0
86
何のために文字数をカウントするのか?
tsudaahr
0
88
Other Decks in Programming
See All in Programming
PipeCDのプラグイン化で目指すところ
warashi
1
310
バイブコーディング超えてバイブデプロイ〜CloudflareMCPで実現する、未来のアプリケーションデリバリー〜
azukiazusa1
0
380
おやつのお供はお決まりですか?@WWDC25 Recap -Japan-\(region).swift
shingangan
0
140
MCPを使ってイベントソーシングのAIコーディングを効率化する / Streamlining Event Sourcing AI Coding with MCP
tomohisa
0
170
TypeScriptでDXを上げろ! Hono編
yusukebe
3
770
The Evolution of Enterprise Java with Jakarta EE 11 and Beyond
ivargrimstad
0
270
The Modern View Layer Rails Deserves: A Vision For 2025 And Beyond @ RailsConf 2025, Philadelphia, PA
marcoroth
2
730
Model Pollution
hschwentner
1
160
ソフトウェア設計とAI技術の活用
masuda220
PRO
18
4.1k
AI駆動のマルチエージェントによる業務フロー自動化の設計と実践
h_okkah
0
230
#QiitaBash MCPのセキュリティ
ryosukedtomita
1
1.5k
レトロゲームから学ぶ通信技術の歴史
kimkim0106
0
110
Featured
See All Featured
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
750
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Music & Morning Musume
bryan
46
6.7k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.9k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.5k
Why Our Code Smells
bkeepers
PRO
337
57k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.8k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Transcript
いくら眺めても エラーの理由がわからない コードについて 令和6年度能登半島地震チャリティ駆動 LT 大会 LTDD 2024-4 #1 @tsuda_ahr
某所で、こんな質問がありました。 • テキストの通りにコードを書いたんですが、エラーが出るんです。
なぜかエラーが出る。 (=質問者のコンソール)
これは OK。(=質問者のコードを自分の PC で入力/実行してみた)
• 違いが分かりますか? 比較
こたえ • 全角/半角の違い
フォントを変えて見るとこうなる。 • 「Biz UDPゴシック」から、「Biz UDゴシック」に変更。
納得。 • そりゃそーなるよね。
いや待て。 • なんでそうなった?
理由 • プロポーショナルフォントを使用していたから。 • IME を通してコードを入力したから。
理由1) プロポーショナルフォントを使用していたから。 • 世の中、今やプロポーショナルフォントばかり。 • 等幅フォントなんて絶滅危惧種。(プログラマ界隈を除く) https://ja.wikipedia.org/wiki/%E3%83%97%E3%83%AD%E3%83%9D%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%8A%E3%83%AB%E3%83%95%E3%82%A9%E3%83%B3%E3%83%88
BizUDPゴシック による全角/半角 • MS Pゴシックでは、全角/半角の判別はかろうじて可能だったが、 BIZ UDPゴシックでは、ほぼ判別不能。 BIZ UDPゴシック BIZ
UDゴシック(等幅) MS Pゴシック 半角 ABC123 ABC123 ABC123 全角 ABC123 ABC123 ABC123 見分けがつかない(汗
理由2) IME を通してコードを入力したから。 • IME (Input Method Editor /入力方法編集プログラム)を通して 入力すると、確定する際に変換されて全角になることがある。
なんで IME を通すのさ? • いや、逆になんで IME を外さないとならんの?
IME を切らなくても。 • IME 切らなくても、英字モードにすれば予測変換も効いて便利では? • スマホなどは IME を使わない選択そのものが希薄。 •
そもそも今時は IME がない環境そのものが少ない。 (= IME を通さずに入力した経験がない人がいる)
まとめ • プログラミングでプロポーショナルフォントや IME を使う人がいる。 • 現在、フォントはプロポーショナルが普通であって、等幅は知名度が低い。 • フォントによっては全角/半角で字形に差がない。 •
そもそも全角/半角の違いをプログラマーが意識していない。
なので! • 質問を受ける人は、 等幅フォント使用、および、英数記号入力時は IME OFF が普通であるとは思わないこと!(汗
こちらからは以上です • Any Question?