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
190
いくら眺めてもエラーの理由がわからないコードについて
見た目ではどこがエラーなのか全く分からないかもしれないコードは、実は全角で記述されているかもしれません、というお話です。
tsuda.a
April 13, 2024
Tweet
Share
More Decks by tsuda.a
See All by tsuda.a
マジカルインクリメントと指数表記
tsudaahr
0
220
バックアップしていますか?
tsudaahr
0
130
RDB以前のファイル設計の話でもしようか(ぇ
tsudaahr
0
130
NPUわからん
tsudaahr
0
190
計算量オーダーの話
tsudaahr
1
400
クラウド初学者が抱える不安について
tsudaahr
0
290
キューとは何か
tsudaahr
0
240
等幅は死んだ(ぇ
tsudaahr
0
110
何のために文字数をカウントするのか?
tsudaahr
0
110
Other Decks in Programming
See All in Programming
GISエンジニアから見たLINKSデータ
nokonoko1203
0
190
Basic Architectures
denyspoltorak
0
180
PC-6001でPSG曲を鳴らすまでを全部NetBSD上の Makefile に押し込んでみた / osc2025hiroshima
tsutsui
0
200
Claude Codeの「Compacting Conversation」を体感50%減! CLAUDE.md + 8 Skills で挑むコンテキスト管理術
kmurahama
1
720
PostgreSQLで手軽にDuckDBを使う!DuckDB&pg_duckdb入門/osc25hi-duckdb
takahashiikki
0
240
Canon EOS R50 V と R5 Mark II 購入でみえてきた最近のデジイチ VR180 事情、そして VR180 静止画に活路を見出すまで
karad
0
140
愛される翻訳の秘訣
kishikawakatsumi
3
370
20251212 AI 時代的 Legacy Code 營救術 2025 WebConf
mouson
0
240
QAフローを最適化し、品質水準を満たしながらリリースまでの期間を最短化する #RSGT2026
shibayu36
0
1.7k
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
670
[AtCoder Conference 2025] LLMを使った業務AHCの上⼿な解き⽅
terryu16
6
1k
フルサイクルエンジニアリングをAI Agentで全自動化したい 〜構想と現在地〜
kamina_zzz
0
350
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.3k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.3k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
0
420
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
110
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
Into the Great Unknown - MozCon
thekraken
40
2.2k
Building Adaptive Systems
keathley
44
2.9k
4 Signs Your Business is Dying
shpigford
187
22k
My Coaching Mixtape
mlcsv
0
23
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
420
Producing Creativity
orderedlist
PRO
348
40k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
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?