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
210
いくら眺めてもエラーの理由がわからないコードについて
見た目ではどこがエラーなのか全く分からないかもしれないコードは、実は全角で記述されているかもしれません、というお話です。
tsuda.a
April 13, 2024
Tweet
Share
More Decks by tsuda.a
See All by tsuda.a
マジカルインクリメントと指数表記
tsudaahr
0
230
バックアップしていますか?
tsudaahr
0
140
RDB以前のファイル設計の話でもしようか(ぇ
tsudaahr
0
140
NPUわからん
tsudaahr
0
200
計算量オーダーの話
tsudaahr
1
430
クラウド初学者が抱える不安について
tsudaahr
0
310
キューとは何か
tsudaahr
0
260
等幅は死んだ(ぇ
tsudaahr
0
120
何のために文字数をカウントするのか?
tsudaahr
0
120
Other Decks in Programming
See All in Programming
[PHPerKaigi 2026]PHPerKaigi2025の企画CodeGolfが最高すぎて社内で内製して半年運営して得た内製と運営の知見
ikezoemakoto
0
290
「効かない!」依存性注入(DI)を活用したAPI Platformのエラーハンドリング奮闘記
mkmk884
0
260
20260313 - Grafana & Friends Taipei #1 - Kubernetes v1.36 的開發雜記:那些困在 Alpha 加護病房太久的 Metrics
tico88612
0
240
Nostalgia Meets Technology: Super Mario with TypeScript
manfredsteyer
PRO
0
110
モダンOBSプラグイン開発
umireon
0
180
存在論的プログラミング: 時間と存在を記述する
koriym
5
540
Strategy for Finding a Problem for OSS: With Real Examples
kibitan
0
120
Codex の「自走力」を高める
yorifuji
0
1.3k
Codexに役割を持たせる 他のAIエージェントと組み合わせる実務Tips
o8n
4
1.4k
AIコードレビューの導入・運用と AI駆動開発における「AI4QA」の取り組みについて
hagevvashi
0
570
ベクトル検索のフィルタを用いた機械学習モデルとの統合 / python-meetup-fukuoka-06-vector-attr
monochromegane
2
560
Smarter Angular mit Transformers.js & Prompt API
christianliebel
PRO
1
100
Featured
See All Featured
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
200
BBQ
matthewcrist
89
10k
Amusing Abliteration
ianozsvald
0
140
Docker and Python
trallard
47
3.8k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
150
We Have a Design System, Now What?
morganepeng
55
8k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.1k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9k
The agentic SEO stack - context over prompts
schlessera
0
720
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.2k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
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?