はてなキーワード: 文字コードとは
暗黙的にJSTとして時間を使ったせいでUTCで作った場所で盛大にバグる
応急処置でバグったところを+9とかやってしまうと、それ以降に逆に誰も気付かずに更に影響範囲が拡がったりする
海外展開しようとしたときにバグに気付くがどうしようもなくなって途方にくれて海外だけは別アプリになったりする
UNIXTIMEを使えば楽なんだけれど、そうすると生データぱっと見で時間を判別できないので困ることも多い
素直にUTCでISO8601が良い
とりあえずUTF-8にしとけば大丈夫、ってことで実装を進めた結果、Mac/Winでハマる
他にもBOMでハマったりして、むしろSJISの方が良かったんじゃ無いか、とか言い出す
DBが統一的になっている場合はまだ後からどうにかできるが、変なところでキャッシュされてたりすると凄い困ることになる
MySQLなりPostgreSQLなりでUTF-8を正しく扱う方法はいろんな記事があるのでちゃんと読んでおけば問題無い
とかよく分からないことを言い出して価格を浮動小数にしてしまう
確かに米国なら$2.43みたいな感じで価格を使ったりするし、むしろ小数点以下が無い通貨の方が珍しいのだけれど
丸め誤差を考えないで作ってしまってバグが見つかりめちゃくちゃ揉める
関係ないっちゃないけどw
あちこちのクレカとか電気ガスとか電話とかのWebサイトでCSV形式の明細書ダウンロードって機能が、いまだに邪悪なShift_JISエンコーディングで出してくるの、いい加減にヤメろや!
WebサイトのHTMLとかは、ほぼほぼ100%ちかくunicode(UTF-8)なのに。
ちょっと前まで、MacのクイックルックでそのCSV化け化けで見づらくてしょうがなかったんで、数10年ぶりにAppleScript書いてフォルダアクションに文字コード変換仕込んだりするハメになったやんかw VenturaになったらShift_JISでも正常にクイックルックできたけどww
結構多くのWEBサーバのアクセス制限で.co.jp .ne.jp .jpがdeny設定されていたって話である。
https://b.hatena.ne.jp/entry/s/twitter.com/kanose/status/1601270223386324992
個人のネット利用で大きな転換点は2005年くらいで、例えばブログのはしりのはてなダイアリーサービス開始は2003年でアルファブロガー選考開始は2004年、youtubeサービスインが2005年だが、これらの特徴は「アカウントをとって企業のWEBサービスを利用する」という、今では当たり前の方法だ。
だがこの以前にはそういう方式のものは少なく、ISPや借りたレンタルサーバに自分でコンテンツをアップロードして構築するというのが主流だった。
これは内部的にはLINUXサーバ制限アカウントを貰ってユーザーディレクトリの/WWWにファイルを置くという事やね。
だから最初のうちは個人サイトのURLは「http://www.yourisp.co.jp/~aybabtu」って感じだった。~はUNIXのユーザーホームディレクトリを示すのね。やがてバーチャルドメインに対応するサーバ会社が増えてhttp://www.aybabtu.rentarusabaa.comみたいな今では当たり前のURLになったんだが、最初はバーチャルドメイン設定は有料だった。
MS Officeには「パブリッシュ」ボタンがあってそれを押すと編集してるファイル群の構造のまま指定したサーバにFTPでファイル送るみたいな機能もあった。(だがこれはShift-JISでUpするというクソ仕様で後に読めなくなるのだった)
httpの頭のHTはハイパーテキストで、参照箇所にはリンクが設定できて参照元にジャンプ(これも死語だ)できる電子文書なわけで、まさに公開はパブシュッシュ=出版なわけだ。今もサブスクリプション=新聞雑誌の定期購読というのはこの建付けが残ってるからだ。
ISPやWEBレンサバにはユーザー権限の多寡で違いがあって、ユーザに実行権限も付与してperlなどのインタープリタを構築しておくと、テキストであってもファイル先頭にインタープリタへのパスを書いておくとそれが実行され、標準出力をhttpで返す。これがCGIで、ISP供与で多いHTMLファイルの公開だけの権限制限されたサーバに不満な層は「CGI実行可」のレンサバ屋に移っていった。
但しプログラムであるから、いい加減に書いてループ参照とか起こすとサーバのCPUやメモリを喰いつくしてサーバダウンを惹き起こす。だからISP供与のでは実行権限を与えなかったわけだ。逆に言えばISPが必ずホームページ公開スぺースを供与するのに個人向けレンサバが成り立ったのは何故?と言えばCGIの実行が出来たからだ。
故にWindowsしか使わない人には難しい上級者向けだったのだが、これを優しいチュートリアルで簡単設定出来るようにしてユーザーを増やして会社を大きくしたのがpaperboy&co.の家入一真氏なわけだ。はてな創業者の近藤淳也氏と並ぶ個性的なアントレプレナーと謂われた。その後堀江などと共にインターネッ党を作って都知事選に出て箸にも棒にもな結果になったのは黒歴史なので触れないで上げてください。特に堀江は野菜でいじられるよりも傷つくので偉そうに政治の話してる時に「インターネッ党」とボソっというのは残酷な事なので止めてあげて欲しい。お願いします。
また、CGIでの使用言語はperlが圧倒的で、perlで書いた掲示板スクリプトを配布するサイト、趣味プログラマが星の数ほどいた。
こういう訳で初期のWEBで動的ページ=perlであってJcode.pmを開発した小飼弾氏は魔術師扱いされて崇拝されており、ブログブームが来ると圧倒的な人気を誇った。
今では多言語が普通に扱えるのが当たり前だが、マルチバイト文字の扱いというのは難しく、文字コードがそれぞれ違うのがそれに輪をかけていた。例えば今でも日本語Windows上でフランス語や中国語のファイル名は作れないだろう。また、最初期からかなりの期間、Twitterでは日本語の検索が出来なかった。youtubeでも日本語で投稿できなかった期間は長い。
子飼氏はperlで日本語を使用できるようにするライブラリをUNICODE対応にしてWEBで普遍的に日本語が使えるようにしたものだ。
ただ、HTLMと実行文を混ぜ書きできるPHPがver.4になるとデータベース連携が強化されていてデフォルトでSQL文発行関数が実装されており、perlCGIは廃れていってしまう。
またISPより高い自由度を求めて自宅にサーバを立ててそれを公開するという者も現れた。
はてなはサーバをデータセンターに置いてはいたものの、筐体は町工場に設計図を持ち込んでステンレスの1U筐体を自前で作っていたし、Pixivはギガバイトのシステムボードを使って自作した多数のサーバをエレクター上に置いてむき出し運用してしていたので、自宅サーバ組の延長にあったのだな、実は。
こういう中で画像を公開する、動画を公開するというのはなかなか大変だった。
仲間内で見るという分にはファイルを置けばいいだけだが、問題になったのが「2ch晒し」であった。これは悪意を持って2chにURLを貼るのだけじゃなくて、単にURLを書くというのも含まれた。
というのも2chにURLが書かれるとアクセスが集中して大抵はサーバダウンしてしまう。すると他の契約者のサイトもページも見れなくなってしまう。
例えばヒーロー戦記主題歌みたいな社歌でbuzzった日本ブレイク工業のサイトは重すぎて何週間も閲覧出来なくなった。社歌の動画ファイルを置いていたためだ。
こういうサーバダウンは契約者の責任ではないがホスティング会社も許してはくれない。契約解除、つまり出ていけか、法人契約への変更かを迫られる。転送量制限なしと言っていても実際に転送過多になると干すティングになるわけだ。
だから2chは悪意の塊の他にサーバーダウンとサーバからの追い出しを惹き起こすので蛇蝎のように嫌われていた。2ch晒し→その時点でサイトを閉じてしまう人も多く居た。
するとこれを逆手に取ってアップローダ(あぷろだ)を自作サーバで運用してアフィリエイトで収入を上げる者が現れてくる。
ただこれは著作権違反のファイルが上げられて訴えられる事もあるからそのリスク低減のためと転送量制限の為にファイル容量に制限が設けられていた。
すると大きなファイルを共有したい連中はこれでは満足できない。
そこで目を付けたのが海外でアップローダを運用しているサーバだ。運用動機は日本のアップローダと変わらない。だがファイルの大きさの制限が緩かった。
そこでそういう海外のアップローダが違法性が高いファイルの共有に使われるようになった。やってたのは2chのダウンロード板と半角板がメインだ。
だがこれは運営には迷惑な話で、日本人は英語の広告なんてクリックしない。しかも商品の販路が無いので日本からのアクセスに報酬は支払われない。つまり金を落とさず転送量だけ上がるのだ。しかも海外では転送量従量課金は多かった。
更に問題なのがロリ画像がアップロードされることだ。2次元ロリでも規制があるのに実写ロリは完全アウトだ。実写ロリが発覚した場合、サーバ管理者は必ず逮捕される。マグショットが新聞に掲載されTVで晒され、釈放後も幼児が被害者の性犯罪者なのでGPSロガ装着が義務付けられ住所は共有される。二度と部屋を借りる事は出来ずに一生トレーラーハウスかキャンピングカーを買って橋の下で生活となる。
こんな実写ロリ画像や動画をアップロードする奴が居たのである。
そこで管理者としては日本からのアクセスが増えたのを確認した時点で遮断するしかない。一生を棒に振る可能性を回避するためだ。
圧倒的によく使われるWEBサーバのapacheでは.htaccessというシステムファイルに記述してアクセス制限を掛ける事が出来る。ここで国別IPアドレス指定するのはちょっと難しいのでdeny from co.jp deny from ne.jpという風に書くとドメインがco.jp、ne.jpからのアクセスを全部弾くことができる。
この時にディレクトリ指定を「/」にするとそのサーバの全てが弾かれて403エラーが出てしまう。しかもバーチャルドメインも同じなので思わぬところで403エラーが出る事もある。
そういう訳であちこちの海外サーバで日本からのアクセスが拒否されていた。全て2chダウンロード板と半角板のやつらのせいである。
自分はアメリカの田舎の新聞社のトップページで403を食らったことがあるから嫌われ方は相当なものだと思う。「やるべき.htaccessの基本設定」みたいなのに書かれて共有されたのかも知れない。
因みにダウンロード板と半角板は2ch名物の厨房板だったのに、今見たら無くなってるのな。諸行無常だ。
2005年にサービスインしたYoutubeだが、翌年にGoogleに買収されたもので最初は元paypal社員らが作ったベンチャーだった。
だが最初は著作権違反コンテンツばかりであって、自作ビデオというのは少なかった。
特に酷かったのがまた日本人で、最初は10分制限がなかったのをいいことにアニメの全話丸上げみたいなのが大量にされており、当事者のアニオタ達も「ここまでやったら閉鎖されるだろ!」と諫めるほどだった。
そんな中で2006年6月にYoutubeが数日間の大メンテナンスに突入し、画面には「All your video are belong to us」というブロークン英語が書かれていて騒ぎになった事があった。
これの元ネタは「All your base are belong to us」で、古いセガのゲームの英語版で出てきたセリフだ。深刻な場面で突然めちゃくちゃな英語をいう。このおかしさでFLASHが作られたりとミーム化していたものだ。
しかも日本産ゲームは結構あちこちでバカ英語を作ってて、engrishとかjanglishとか言われてネタにされていた。日本で言えばアヤシイ中国製品の日本語を愛でるような感じだ。
そこでYoutubeがあんなメッセージを出したので、日本のネット民は身に覚えがありすぎて「アニオタのせいだろ!また排除されるだろ」と責任のなすり合いと相なったのだった。
因みにその後も日本人の利用が制限とかは無かったので誤解だったのだが、海外アップローダ見つけては403の焼き畑とかロリ画像問題とかがあって、その後のアニメフル全話という流れだったので過剰反応をしたのであった。
最近コンピューターサイエンスがプログラマーに必要か否かみたいな話が上がっているが、そもそもコンピューターサイエンスって何だよ。どこまでの範囲をさしてんの?
ググって出てきた情報を整理しただけなので詳しい人、補足・訂正よろしく!
https://www.acm.org/binaries/content/assets/education/cs2013_web_final.pdf
CS2013はACM/IEEE-CSによるカリキュラム標準。
ACM(計算機協会)はコンピュータ分野全般の国際学会、IEEE-CSはIEEE(米国電気電子学会)の中にあるテクニカルソサエティ。
https://www.ipsj.or.jp/12kyoiku/J07/20090407/J07_Report-200902/4/J07-CS_report-20090120.pdf
J07-CSは一般社団法人情報処理学会がCC2001CSをベースにアレンジを加えたカリキュラム標準。今はCS2013を反映したJ17-CSがあるらしいけどその辺は良く分からん。
https://www.ipa.go.jp/files/000024060.pdf
J07ーCSから抜粋。CS2013と比較するとナレッジエリアがあったり無かったり。
あるオープンなネットコミュニティにて、知識が20年ぐらい前で止まっている文字通りの老害が偉そうに新人に講釈をたれていたので思いっきり鼻をへし折ってしまった。
未だに「IE11未満の対応を考えて~」とか、「Macではローマ数字は文字化けするからなるべく使わないように」とか、「文字コードは必ずUTF8を指定しましょう。ShiftJISでは…(ここからShiftJISの歴史の話が延々と続く)」とか言ってて、こりゃ時間の無駄だと思って「論破」してやった。
その結果なんだが、当然こちらは正論なので勝ってしまうわけだ。
以降、その人は表に出てこなくなった。
ものすごい罪悪感を感じるようになった。
正論なんだから勝つのは当然なんだ(ここでの「正論」は絶対的に正しいとかではなく、場を健全にする、ぐらいの意味合いでとらえてくれ)。
この武器の抜きどころは他にもあったよねっていう。
とはいえ、年単位で老害っぷりを傍若無人に発散されてはやっぱり困る。
戦争が早く終わることを願う。
311を忘れない。
もともと1byteは7bitだったんだ
なぜかってASCII文字を表すのには128通りあればよくて、2^7=128だからな
ところが当時コンピュータを作っていたIBMにマナー講師がやってきた
「目上の方が使う文字コードと目下の者が同じ文字コードを使うのは失礼にあたる」
こんなことを言ってギャーギャー騒ぎ出した
マナー講師曰く、上司から部下に送られた文章に返信するとき、部下が上司と同じ文字を使うのは失礼にあたるとのこと
タイプライターで打ち出すときは上司より部下が一回り小さいものを使って文字を変えていたのに
デジタルデータにするとき文字コード上でその区別をつけられないのはいかがなものか、という話になった
IBM側では協議を重ねた結果、全ての文字列の先頭にフラグ(0=上司、1=部下)を付けることで対処した
それで1byteは8bitになってるんだぜ
知らんけど
俺は設計より実装の方が苦手だわ。プログラミング言語の特に脈絡のない仕様(ファイルオープンして1行読むのってどうやるんだっけ?改行コードの扱いはどういう仕様だっけ?EOF判定はどういう関数だっけ?str2numに対応する処理の関数はなんだっけ?文字コードがUTF8じゃない場合にはなんか特別な引数書かないといけないんだっけ?1行読んでポインタを先頭に戻したい場合はどう書くんだっけ?ていうかディレクトリ内のファイルリスト取得する関数はなんだっけ?あー余計なファイルをはじくための正規表現の仕様はなんだっけ?.......)が全く記憶できなくてすげーストレス。なんど覚えても雑然としすぎていてすぐ忘れる。ファイル云々に限らずプログラミングは一事が万事全部そうだし…。
時間 | 記事数 | 文字数 | 文字数平均 | 文字数中央値 |
---|---|---|---|---|
00 | 126 | 17354 | 137.7 | 45 |
01 | 95 | 6782 | 71.4 | 42 |
02 | 48 | 4676 | 97.4 | 54.5 |
03 | 52 | 3712 | 71.4 | 56 |
04 | 53 | 3790 | 71.5 | 40 |
05 | 39 | 6825 | 175.0 | 56 |
06 | 74 | 7895 | 106.7 | 41.5 |
07 | 94 | 9784 | 104.1 | 39.5 |
08 | 92 | 7236 | 78.7 | 52.5 |
09 | 96 | 6418 | 66.9 | 43.5 |
10 | 185 | 19276 | 104.2 | 39 |
11 | 162 | 18339 | 113.2 | 41 |
12 | 152 | 18072 | 118.9 | 44 |
13 | 158 | 13274 | 84.0 | 44.5 |
14 | 118 | 9387 | 79.6 | 33.5 |
15 | 154 | 17951 | 116.6 | 48.5 |
16 | 181 | 16014 | 88.5 | 43 |
17 | 144 | 11992 | 83.3 | 31.5 |
18 | 129 | 10455 | 81.0 | 31 |
19 | 137 | 15240 | 111.2 | 51 |
20 | 179 | 14061 | 78.6 | 35 |
21 | 181 | 20130 | 111.2 | 48 |
22 | 206 | 24346 | 118.2 | 45 |
23 | 243 | 20905 | 86.0 | 38 |
1日 | 3098 | 303914 | 98.1 | 43 |
91年(30), unicode(3), 7月7日(3), リュウジ(4), 彦星(4), ソムリエ(15), 豊洲市場(3), 文字コード(6), 唖(4), 七夕(10), 両さん(3), プリキュア(20), タレント(18), ハンバーグ(8), PV(7), アーティスト(14), 焼く(8), スイッチ(10), 付近(8), 衣装(8), 五輪(30), レシピ(9), ダンス(9), 国語(12), 観客(8), オリンピック(58), 韓国(40), 感動(24), 反省(29), 接種(25), ワクチン(66), 打っ(19), アイドル(36), 中止(24)
■女性VTuberが元カレについて話している動画 こんなの許されるのか /20210706191608(37), ■主語デカは病気 /20210707061507(35), ■「感動を届ける」の類語他にある? /20210707164659(27), ■○○ソムリエという言葉を使うのを今すぐやめてください /20210707083056(27), ■【追記有り】男性の問題について何故女性が首を突っ込んでくるのか?という疑問 /20210707213629(19), ■東京オリンピックにプリキュアを人質に取られた気持ちがわかるか。 /20210706120130(18), ■最近のはてなが糞溜になってきてる /20210707093406(15), ■料理においてよくわかっていない所 /20210706120259(12), ■同じ20歳前後のグループでも日本と韓国でこれだけ違うから悲しくなる /20210707112939(12), ■なんで氷河期世代が20代だった頃、処女厨が覇権握ってたの? /20210707152859(12), ■俺の性癖が一番気持ち悪い自信がある /20210706190411(11), ■好きで漫画描いてるけど /20210707064836(10), ■映画のタイトルにプリキュア入れていこうぜ /20210707162046(10), ■リュウジのパクリについて /20210706172941(9), ■磯野カツオはどう見てもフネの孫 /20210707003201(9), ■はてなーの邪推が酷い /20210707120139(8), ■欧米の出生率がやばいことになってる /20210707135356(8), ■増田ブクマは運次第 /20210707135546(8), ■名前に入ってるとカッコいいと思う漢字 /20210707143138(7), ■マッチングアプリで女の子とヤったら初手で不治の病を引いた話 /20210706181333(7), ■しにたい /20210707015718(7), ■senbuuさんさぁ…… /20210706141425(7), ■クッキーの利用を聞いてくるサイト /20210707185657(7), ■「腐女子除霊師オサム」を読んだ男オタクの感想 /20210707013052(7), ■転職組、ディスられる /20210707224811(7)