はてなキーワード: Jsonとは
自分がプログラムを書き始めた数十年前の自分ならこういうデータとして扱うのが超面倒くさいコードを平気で書いたかもしれないけれど、今は一瞥してそれで渡されても取り扱えるけれど、自分だったらそうは設計しないなとは思う。
そもそも、連想配列/辞書を作ってJSON読み書きはライブラリーにやらせるからJSONの設計がーという発想もそんなにない。
本当に迷惑なんだ。
センスがない奴の何が問題かというと、技術がないとか、ベストプラクティスを知らないということではなく、根本的に「頭がおかしい」ことなんだ。
センスのない奴は、普通の人間が到底思い付かないことを平然と行う。所詮、本に書いてあるようなアンチパターンは、「経験のない人は典型的にこういうことをしがち」という例であるが、センスのない奴はそういう典型的なアンチパターンにすら当てはまらないほど意味不明なことをする。だから、「センスのない奴は典型的にこういうことをする」という具体例を挙げることが非常に難しいし、「ここがダメだから直せ」という指摘もできない。
普通の人なら、何も考えず以下のような実装をするだろう。フィールドの定義とデータが分かれているのは、ユースケースによってフィールドが可変だからだ。
[ {fieldName: "id", title: "id", type: "number"}, {fieldName: "name", title: "商品名", type: "text"}, {fieldName: "price", title: "値段", type: "number"} ]
[ {id: 1, name: "商品A", price: 100}, {id: 2, name: "商品B", price: 200}, {id: 3, name: "商品C", price: 300} ]
ところが、センスのない奴はたとえば以下みたいな意味不明な実装をナチュラルに行う。
[ {id: "0-0", val: "商品名", type: "text"},{id: "0-1", val: "値段", type: "text"}, {id: "1-0", val: "商品A", type: "text"},{id: "1-1", val: "100", type: "number"}, {id: "2-0", val: "商品B", type: "text"},{id: "2-1", val: "200", type: "number"}, {id: "3-0", val: "商品C", type: "text"},{id: "3-1", val: "300", type: "number"} ]
一応言っておくと、これは実例の一部を分かりやすいように切り取っただけであり、本物はもっとひどい。
センスのない奴っていうのは、スキル云々の問題ではなく、そもそも認識している世界が常人と異なるから、矯正は無理だし、チームにいると非常に迷惑なんだ。だから、プログラマにはならないでくれ。
オレっちお前のパイセンだけど食うだけなら食っていけるぞ
→バイトでExcelの便利ワークシート作成を経てVBAに触れる
→VBAからおなじBASICつながりのVB.netでClassを扱う便利さに目覚める
→いまどきはJavaScriptも扱えないとねってなる:最近はWindowsOnlyで業務しているのにブラウザ対応を求められる謎風潮
やっとこ年収400万(ようやく人並み?)を超えられるようになった
三角関数より会社における数字を扱うことの知識(要は金勘定)の方が求められる
よくありがちなチュートリアルより、DBやファイル(csv、JSON、固定長のテキスト)から自分が取り扱う言語体系で読み込む、加工して永続化するってのをスラスラできるようになるのが大事だと思う
だから、言葉足らずで不十分な指示をしてしまうことは多々ある。
優秀な人間は、そんな間違った指示からも正しい意図をくみ取って実行できる。
どこがどう間違っているかきちんと認識しているので、指示内容に迷いや疑いをもつことはないのだ。
csv設計書にこの要素はプルダウンで選択して〜とか書いてたので「csv仕様書はcsvの仕様だけ書いてください実装方法はシステム側で検討するので書かないで」と伝えると
"実装方法はシステム側で検討する"のだから、仕様としては候補を挙げておくだけで十分だろう。
TypeScript(TS)がJavaScriptの代わりになるだと?確かに型を使えるのは良い。意味不明なオブジェクトを操作しまくって意味不明な動的型付けするJSに型が追加されたら、そりゃバグも減るだろうよ。でもそれは意味不明なオブジェクトを操作し、再代入を繰り返すレベルの低いJSerの責任だ。コーダーの責任なんだよ。Pythonも意味不明なオブジェクトを操作しまくるが、JSほどはひどくならない。Pythonも型ヒントなんてものが導入されたが、誰が使うんだこんなの。果てしなく冗長になって糞だ糞。DocStringを充実させるのと型ヒントを充実させるの、どちらがどれだけメリットが有るっていうんだ。DocStringで十分だろ。全員アホだ。話をTSに戻そう。
散々文句を言ってしまったが、型が使えるのにはこしたことはない。TSを始ようじゃないか。TSをインストールしよう。Node.jsをまずインストールして、TSをインストールしたぞ。ついでにgulp、webpackもいるのか。おいまてよ、ts-loader、webpack-cli、webpack-dev-serverもいるのか。何が何のために必要なのかよくわからないが、node_modulesはすでにパンパンだぜ。tsconfig.jsonを設定してsrcとdistを決め、ECMAのバージョンも決めたぜ。webpack.config.jsってファイルもあるじゃないか。これも設定が必要なのか?俺はいつになったらHello Worldを書けばいいんだ?なめてんじゃねえぞ!!!なんかに似てるんだよ!これはCだ。C言語でプログラムを書こうってときに、コンパイラが必要でインストールして、パスを通して、謎のおまじないを書いて、それでよくわからないままHello Worldを出力したあの頃の思い出がフラッシュバックしたぜ!いや、TSはそれ以上に糞だ。なにせ設定ファイルばっかいじってまだ一行もコードを書けてないくせに、ファイルサイズは70MBを超えてるんだからな。「TS コンパイル」で検索したら、なんで「次にgulpをインストールしましょう」なんて記事がヒットするんだよ!糞か?いや糞だお前は!
プロジェクトに必要なツールをインストールするのは当たり前だって?偉そうなこと言ってんじゃねーぞ!どうせお前なんか先達がすでに準備してくれたプロジェクト環境に後でアサインして、「これとこれが必要だからインストールしてね」って言われてそのまんまインストールしたクチだろうが!どのツールがどのシチュエーションで最適なソリューションなんかわかってねえに決まってら!どのツールがどのシチュエーションで最適なんか誰もわかってねぇんだよ!インターネットに情報は適当に転がってて、お前の先達もDevelopers.IOの記事を読んでなんとなく良さそうだからインストールしてんだよ!全てを正しく把握してるやつなんか日本で3%いたら多いほうだろ。少なくともお前も俺も理解してねぇよ!PHPがRubyを駆逐するって言われて何年たった?今でもPHPは現役で、RubyはPHPの後ろを歩いてるじゃねえか。jQueryが消えるって?同じ理由で消えねえよ!一生やってろばーーか。JavaScriptも消えねぇよ。ECMAのアップデートに従って生で書けば十分だろ。こんなコード書くまでにうんこ行きたくなるような設定ファイルばっかいじらせる言語にとって代わるわけねぇだろ。消えるのはお前だばーか。
フリーソフトウェア運動を支持します ←IT業界「官製不況乙」
個人の決定権は個人に帰属すること保障します ←それができないから安楽他殺を求める人がいるのだが
表現の自由を保障します ←京アニ報道の自由の行き過ぎを見てなんかおもわんのか 表現無罪はナシ
公的機関でのUNIX/Linuxデスクトップ導入を推進します ←1種類強いウィルス開発されたら軒並みアウトになりそうねcfサマウォ
公的機関でのFLOSS利用および貢献を推進します ←わからない
公的機関広報のためのActivityPubプロトコル方式のSNSサーバーを設置し運営します ←だれも使わないからツイッターに全転送してAPI規制まで見えた
公的機関および市区町村役所Webサイトの視覚障害者向けアクセシビリティ向上を目指します ←同意、すぐやるべき、そのための色覚障害者1人ずつ採用までやるべき
マイナンバーを国際標準規格であるDecentralized IDs(DIDs)へ移行を推進し秘密鍵によって保護された新マイナンバーおよび新マイナンバーカードを発行します ←ワイトもそうおもいます
新マイナンバーカードはDIDsによって市区町村役所だけでなく郵便局や銀行、コンビニなど一部の商業店でも再発行できるようにします ←ADHD「5枚ある」移民「1枚300万で買うで」
DIDsを応用した新マイナンバーカードによって運転免許証や保険証、金融機関カード、商業施設ポイントカードなどを1枚に統合します ←ワイトもそう思いますしすぐやってほしいし免許証を身分証明にしなくても自動運転タクシーでいいじゃんだしタスポは今すぐやってほしい
UNIX/Linuxを含む主要OSへ対し国民が利用するDIDsに関わるアプリケーションを開発し配信します ←郵便局の配布してるAIRつかった年賀状ソフトクッソ使いづらいのおもいだした たぶんレジューム機能の特許ライセンスが高かったんだろう
公的機関および市区町村役所からボトムアップされた情報を元にトップダウンで統一的な新システムを構築し公務員の業務軽減を計ります ←昭和からやってるはずのペーパーレス計画ってのがあったけどもう一回かっこいい名前つけてあげればすすむよ ゲーミング政府とか
最小単位の町内会および消防団など自治会へ対して統一的な運営・コミュニケーションシステムをホスティングサービスとして提供します ←jimboでよくね あと人的原因のクラッシュ・誤操作・誤消去は無理っすね 今でもギリギリや
DIDsを応用し何処の市区町村役所および国民のインターネット接続端末からでも統一的なアクセス方法により公的情報の取得を可能とします ←今もマイナンバーカード+公的認証で確定申告やってるやつとどこがちがうの
公的機関および市区町村役所が求める個人承認を印鑑からDIDsを応用した新マイナンバーカードによる電子署名へ移行します ←マイナンバーカードをもっとギラギラしたケースにいれないと図書館のカードと間違えて捨てるやつとか出るぞ
DIDsを応用した国政および地方選挙のインターネット投票を開始します ←今すぐやれ
DIDsを導入しようとする企業へ補助金を交付します ←今もやってるやろ 2020マイナンバー化みたいなやつ 二重になる
都市圏企業による地方リモートワークを推進し地方リモートワークを導入した企業へ対し補助金を交付します ←名目に要注意 政府で音質よくテレビ電話会議回線とカメラセット提供させろ あと税務署が遠隔身内を名目雇用して経費削減するやつを嫌うからちょい面倒 マルサのネットストーカー化を先にみとめりゃいいんだけどさ
日本銀行による日本円兌換電子通貨を発行し決済へ利用できるようにします ←デフォルトスタンダードのスイカでよくね
フリー無線LANスポットを増やします ←増やしすぎて干渉してる都会カフェとか多いんじゃないの東京様だけは
HTTPS over DNSの普及を推進し国民の通信の秘密を守ります ←わからんけどがんばれ
Web Assemblyの普及を推進します ←わからんけどがんばれ
WebTorrentの普及を推進しインターネット接続端末のCDN化を推進します ←わからんけど便利になるといいね
全国図書館のシステムを統合し統一的なアクセスを実現します ←著作権者「図書館も閲覧者が10円とか払ってくれる改正してくれないとベストセラー作家でも死ぬんじゃが」蔵書検索は素人がやってるから100万くらいで事業ごと買えってこと? それともグーグルスカラーのこと?
法律および個人情報へ影響しない範囲の国内ビックデータをCSVやJSONなど様々な形式で無償公開します ←必ず今先んじてやってる人の生活に影響するから調整が必要
日本国周辺の海図および航路図を電子データとして無償公開します ←海賊・密漁船がバンバンきちゃうよ
国土地理院によるOpen Street Mapへの貢献を推進します ←むしろ国連あたりがグーグル・マップ買ってその出先機関になればいいのでは てか国連がグーグルに乗っ取られたほうが楽では
公共交通機関の現在位置を電子データとして提供します ← 4G・5G・wifiアンテナの密度が薄すぎる田舎の人(3Gなら届く)「バスがワープして乗り遅れた!どうしてくれる」
気象庁の基本的な気象情報をCSVやJSONなど様々な形式で公開します ← ウェザー社「ぐぬぬ」
ユニバーサルサービス料を現在の3円から適正価格へ引き上げます ←へえ、やすかったの?
すべてのインターネット接続端末の購入時にユニバーサルサービス料の徴収を義務付けます(通信契約月額支払いのユニバーサルサービス料は引き続き徴収) ←へえ~
NHK受信料を廃止しNHK運営費をユニバーサルサービス料から拠出します ←あ~これのためか。総務省がNHK全部官営にもどすやつね。放送の独立大丈夫?
NHK地上波ラジオおよびテレビのインターネットストリーミング放送を開始します ←ラジコ「ぐぬぬ」
NHK地上波ラジオおよびテレビ放送の全アーカイブを配信します ←サーバー用意できるのグーグル傘下ツベだけでは プリンプリン物語の録画ビデオは未だにさがされてるだろ 京アニじゃなくても焼損があったのでまずアーカイブ化をすすめないと
NHKオンデマンドの動画ストリーミングをWebTorrentを応用し分散化します ←しらんけどがんばれ
GPS受信困難地域および施設へ対して高度情報を持ったGPSビーコンの設置を推進します ←えっ今ないの
自動運転研究を推進し支援します ←自動車会社「少しはもらってるよ^^」
電動キックボードなど小型電動個人モビリティを普通自転車の枠組みとし規制管理監督します ←道路がそれほど広くないのがまずもんだい 乳母車の横でビュンビュン
ドローン規制を緩和しルールを厳格化します ←おじいちゃんもう済んだでしょ
宇宙および海洋ブロードバンド衛星の拡充を目指します ←日本は自力で衛星あんまり飛ばせてないでしょ 税金重いし
日本海溝海底地震津波観測網の拡充を目指します ←今で十分早いし数分前にわかってても逃げられんとこに済んで働いてる人が問題では
BONICなど分散コンピューティングによる人道的研究を普及および推進、貢献します ←人道的の意味がわからない AIが中国はここで政治犯拷問してるとか北朝鮮のミサイル発見とかやるの
義務教育へ対し週5以上のコンピュータおよびインターネット、プログラミング教育を実施します ←どうしてもコンピューターとの会話になじめない文科系特化型脳、女性脳の人がかわいそうというか活かしきれないのがもったいない 才能ない子まで全員をコンピューターとの会話力に特化しちゃうとたぶん人工授精とか全員保育園とかしないと出産率・新生児生存率がめちゃ下がる(今でもひどいけど) それよりコンピューター利用詐欺ふくめて人間の悪意にきづかぜ、なれさせつつ安心・信頼を育てたりしていかないと全員鬱になって終わる 鬱になったりもせず人間同士のコミュニケーションとコンピューターとのコミュニケーションの両方が抜群にできる人ってのはほんとうにビル・ゲイツレベルの一握りだと思う
あと円安で食糧生産するには動物・植物と会話できる人も残さないといけない 士農工商社会にもどるね
全般的に金とキカイで世間をどうにかしようとしてるけど、そういう社会を維持する才能のある人間ってのは社会でも一握りしか生まれてこないってことが問題になるとおもうので、少子化と教育改善(振り分けとか社会人に延長した義務?教育とか)で今ある資源をいかしたほうがお安く済む部分も(特に後半)多いとおもった
以上
思いつく限りを書き出してみる
これなら投票するって増田が比較的居そうなもののインターネットに馴れた増田ですら理解できない部分が含まれてしまうのが非常に大きな問題だ
すべて読解できるのは理系増田くらいであって一般国民の理解は期待できない
文系増田はインターネット投票や週5以上のIT教育あたりで反対しそうだなと勝手に思ってる
PHPは最近やってないから実運用の知識じゃなくて今調べたことだけど、composer.json とか composer.lock はコミット・プッシュする対象。フレームワーク自体のソースは載せない。
一般的には外部から拾ったライブラリとか、コンパイルとかコマンド実行で再現できるファイルは基本載せないな。composer.jsonみたいにパッケージを指定するファイルとか、composer.lockみたいにバージョンを指定するファイルとか、自分で書いたソースとかを載せる。