「json」を含む日記 RSS

はてなキーワード: jsonとは

2023-05-21

世間一般的に読みにくいコードというと、コメントついてないとか

コーディング規約がどうとか言う話がよく出てくるけど、

本当に読みにくいのは名前が狂っているコード

インデントが狂ってるコードだと思う。

インデント説明することないから置いておくとして、

名前が狂ってるというのは、

JSONParserとか言いながらJSON関係していないクラスとか、

getUserみたいなメソッド名なのに引数としてuserを渡すとかそういうやつ。

JSONParserクラス名前を付けた奴は、中のコードからすると、

どうもネストした連想配列のことをJSONだと思っていたらしい。

ネストした連想配列から個別の値を取得するのがJSONParserだった。

JSONはそういうのじゃなくてデータを表す文字列から

文字列を受け取って、ネストした連想配列を返すparserメソッド

あるクラスであればJSONParserという名前で合っている。

getUseruserIdフィールドだけ値を設定したUserインスタンス

引数に渡して他の値を設定するメソッドだった。

getとか言いながらsetすんなよ。

書いた奴は、データベースから値を取得するのをgetだと思っていたのだろう。

この類の名前で嘘をつくクラスとかメソッドが多々あると強烈に読みにくい。

2023-04-05

あーFirefox最悪

拡張機能止めたらコンテナータブの設定が消えやがった

コンテナータブに依存するから依存する拡張機能有効ならコンテナータブが強制有効になるのはわかる

でも依存する全部の拡張機能を止めたらコンテナータブが無効になるってわけわからん

デフォルト機能として使ってるんですが??????

んで再度有効化したら設定がデフォルトに戻って手動追加したコンテナーも消えてるの本気で意味わからん

どうして強制上書きするんですか??????????設定にリセットボタンもつけとけ

あれやこれやのログイン情報全部消えたんですが???????????????????????????

しょうがいから思い出してコンテナー追加したけどこれ並び替えも出来ないのな

前と順番変わっててすこぶる気持ち悪い

Multi-Account Containersの拡張を使ってたらこいつを無効にしたら設定リセットになるのは百歩譲って…いや一時無効にしただけでjsonファイルデフォルト化って意味不明だけど億歩譲って我慢するわ

でもお前、標準機能だろ?お前を使うかどうかはabout:configで俺が決めさせてくれよ

なに他人拡張機能状態勝手にいじられてるんだよ

お前のその挙動で誰が幸せになるんだよ

せめてどこかに注意書き書いとけよ

書いてた?俺が悪かったその場所教えてくれ。光速ブクマするわ。さっさと出せよ。

もしかして俺の勘違いで別の操作が影響してる???謝罪するから原因を教えてくれよ通知もないか妄想で怒るしかねーんだよこっちは

もうマジで意味不明だわ最近Android版でtampermonkey復活したかちょっと株上がったと思ったらこれだよ。多分何年も放置されてる仕様だろこれマジこんなうっかり地雷しこまれると体験なうんだが

設定消えるなら警告のひとつでもだしてくれ

あとついでにグチるとCookie許可設定を変更できるようにしてくれ

なんで一度消して同じURLを再登録しないと変更できないんだよ

しかも設定画面でURLコピペできないのコイツ

URL覚えて手打ちして消して再登録しないと変更できないの

マジで死んでる終わってる何考えてるのか意味不明

リソース少ないにしても一体何に費やしてるのかまったくわからん

とりあえず年一だったけど寄付はやめるわ実害がデカすぎた

このまま加点なく減点が続くならVivaldiメインにすっから

2023-02-19

anond:20230219224030

単語表示するのはwebページ? スタンドアロンアプリ

webページを作ってスマホとかからアクセスして使うのならnode.js+express(フレームワーク)をrepl.itGlitch上に作る

スタンドアロンなら言語は問わないのでWebAPIのリクエストを投げられてJSONの読み出しができればよい WindowsならPowershellでできる

2023-02-01

anond:20230131183629

ブコメでも指摘されてるけども。

ある時を境にスターの集計先になるURLが切り替わっているので、すべてのスター数を知るためには2回APIを投げる必要がありそうだ。

たぶんはてブHTTPS化された2019年5月あたりが境目だろう

https://bookmark.hatenastaff.com/entry/2019/05/28/141208

自分はてなIDと昔使ってたIDで試した限りではこうなっているはず。

①ttps://s.hatena.ne.jp/blog.json?uri=http://b.hatena.ne.jp/はてなID/

②ttps://s.hatena.ne.jp/blog.json?uri=https://b.hatena.ne.jp/はてなID/

2019年5月以降に作ったアカウント②の結果しか返らない。①を投げると403エラー
2019年5月以前で消えたアカウント①の結果しか返らない。②を投げると403エラー
それ以外(2019年以前から今まで現役)①と②の結果を合算する

2023-01-31

なんだよブクマカの被スター数はAPIで一発じゃんかよ

これで出る。(出ない人もいる?)

ttps://s.hatena.ne.jp/blog.json?uri=http://b.hatena.ne.jp/はてなID/

はてなスターカウントAPIドキュメントブクマカの被スター数が取れるなんて書いてない。

裏技YO.

しかし私が欲するのは誰が誰にいくつスターを付けたかってことなので求めてるものとはちょっと違う。

2023-01-30

web系の末端作業員はなぜ調子に乗るのか

いつも調子に乗ってるのはweb系だよな

しかJavaScriptかいオモチャみたいな言語使ってる

フロントエンドなんてjson色付けしかやってないのになんでそんなに自意識高いんだろ?

いやそれしか見えてないからこそか

仕事っていうかビジネスは人を使ってナンボのところがある

さな会社より大きな会社の方がすごいのは誰だってわかるだろ?

使ってる人数が多ければ多いほどすごいんだよ

末端作業員は人に使われてるだけの雑魚なんです

おれはプロジェクト20人のエンジニアを動かしてる

まり末端作業員20倍すごいってことなんだけどわかる?

ただコード書くだけのチケット消化マンとは違うの

いい加減そのあたり理解してほしいね

まぁ末端作業員には一生わからないだろうけど

永遠に単価100万の新卒以下の給料で働いてください

2023-01-11

githubっていつのまに、ちょい古めのブラウザだとassetsの所がグルグル回ったまま、クリックしても開かないようになったんだ。

ちなみに、ちゃんと開けるブラウザを使ってだ、HTML検証できるサイトに行ってそのページのソースを貼り付けたらば、やっぱ古いブラウザと同じ結果になる。

ほんまにいらんことしよってからに!

ダウンロードするには、ターミナルcurl -v https://api.github.com/repos/[目的場所 公開してる人のアカウント名(owner)/プロジェクト(repo) ]/releases/assets

ってやるとずらっと表示される中に"browser_download_url" とあって、ブラウザダウンロードできるURLが表示される。

これをブラウザコピペすればダウンロードできる。

releasesの右に/tag/が入ってるページの絞り込みはreleasesの横に入れればいいのかと思ったが、ちょっとからなかった。

ターミナルを使わなくてもcurl -v を省いて、"https://api.github.com/repos/"から"/releases"までをブラウザURL欄に入れたら同じ内容が階層にまとまった状態で表示されるのに気づいた(三角クリックしたら開く)

そしてグレーで「json検索」って所にラベル名なんかを入れると絞り込んでくれる。

なんだこれ凄く便利じゃないか

2022-12-15

anond:20221215142626

というか、ウェブ上でExcelっぽく操作できるUI実装するだけでいいじゃん。

なんで、Excel とか JSON とかよくわからない技術を使うの。

簡単更新できるようにしたんだけど

千箇所以上のセルに数値を埋めなければいけないWebページ更新

エディタ作業HTML更新すると、手慣れた人でも1時間はかかる。

慣れていない人ならひとつひとつセルに数値をコピペしていくので一日仕事だしミスも大量に混じる。

そこで、元データコピーして「形式指定して貼り付け」すればJSONデータに整形されて出てくるExcelを作って、JSON差し替えるだけでデータ更新されるように作り直した。

作業時間は、まあのんびりやっても数分というところ。自信満々で「便利になっただろう?」と言うと、

JSONとかわからない」

Excel使うのやだ」

「なんでHTML更新Excelが出てくるの」

「元のがいい」

「元のがいい」

2022-11-30

anond:20221129085814

コンピューターサイエンス競技プログラミング懐疑的な人たちは決まってソートアルゴリズムがどうとか言う傾向にあるけど、たしか増田の言う通り、ソートなんて自力実装するような時代ではないからその辺は無視してもらって構わないとは思う。

でもソートについて「ソートだけをして終わり」なんて実装をすることはなくて他の処理と組み合わせて存在しているものじゃない?

たとえば「配列ソートしてからサーチする」「ソートしていない配列に対して都度サーチする」「配列ハッシュマップに変換してからサーチする」要求に対してどれが効率的かみたいな判断は要る場面はあるでしょう。

「今書いているコードが呼び出す機能の一つ一つがどういうふうに書かれているかがわかったとして、一体何が嬉しいんだ?」

たとえば配列に対する.find() 的な関数があると思うが、これは「配列を先頭から順にチェックして、指定のものを見つける」ような実装であることが多い。内部的には配列長に比例する時間がかかるループが書かれている、O(N)の関数

これを自分実装するコードループ内で使うと、自分が書いたコード自体は一重のループしか見えないが、実は二重ループになっているということがあり得る。

その処理がやけに遅いと思ったとき、「find()は標準の関数から無罪!中身を見る必要なし!」って感じでスルーしてたらコード全体像永遠に見えないことになる。


とはいえ勉強したくないものを無理に勉強する必要もないとは思うよ。

サンプルで実装してあげたものの一部改変などをしてもらうぶんには知識スキルもいらないだろうし。


GTAオンラインロードが遅い問題でこういうのがあった。

https://gigazine.net/news/20210302-hacker-reduces-gta-online-load-times/

JSONパースする処理や、配列から重複を探す処理など、増田が言う通りラップされたものを使うだけでできることではあるけど、求められる出力を満たせる部品をただ並べただけではこういうダサいことが起こりうる事は知っていてほしい。

2022-10-29

VOICEVOXのvvprojファイルからSubViewerのsbvファイルに変換

YouTuberを始めるにあたって昨日今日環境構築をしている。

動画ジャンル内緒として、ひたすら効率良く動画を作ることを志向してる。理想新規MarkdownファイルGitHubmainブランチマージされたら自動YouTube自分チャンネル動画投稿される、みたいな状態

まあそこまでやるのは調べるの大変だし事故とかbanが怖いしまYouTuberとして大成しないことにはって話なので、どっかで妥協すると思う。てかCI/CD周りちゃん仕事でやっとけばよかったな。

テキスト読み上げで商用利用するなら今はVOICEVOXが良いのかなと感じた。

ただ、作成した音声に合わせた字幕ファイルを作るのがひたすら面倒くさい。絶対自動出力できそうなのに。

VOICEVOXから直で出してくれたら楽だったんだけど、リップシンク用のファイル出力しか対応してなかった(どっかでやってる人がいるかもしれない)。

VOICEVOX公式GitHubでissue上げることも考えたけど、俺自身がまだ動画一つも上げてないし、字幕ファイル需要がどれほどのものかも分からないので、とりあえず変換用のスクリプト自分で書いてみた。

VOICEVOXのプロジェクトファイルであるvvprojファイルの中身はバイナリではなくただのJSONなので、エディタエンジンソースコードを弄らなくても、比較簡単字幕ファイルに変換できる。なお今回俺はDenoを使った。

こういうシェルスクリプトみたいな小さい仕事やるのにDenoはまじで楽。

あとは動画作るとき需要ありそうだなと感じたら、SubViewer以外のマークアップ対応させてissue上げるなり俺のrepoに置いとくなりしようかな。

エンジン実態httpサーバーらしいので、上手くやれば意外と労力かけずに理想に近い自動化が実現できるかもしれない。

いやー良い時代だ。さっきはちょっと文句言ったけど、まじでVOICEVOXには感謝しかない。貢献しまくる。

2022-10-05

StableDiffusionGuiのpromptHistory.json

ここに人類性癖のすべてが詰まっているんだな

2022-09-04

パーサーコンビネーターっていつ使うの

これすげー面白いよね。

プログラム長いこと書いてて全然使った事なかったから楽しさを知らなかった。

でもこれ使う機会なくない?正直。

JSONとかメジャーフォーマットは既に誰かパーサー作ってるし、

正規表現で十分な場合圧倒的多数だし、

みんな何に使ってるのかな。

2022-08-27

anond:20220813040132

というけどさ、セキュリティ的に JSON を自前でパースする関数とか書きたくないだろ。俺だったら、string で受けて bignum とかに突っ込むだろうけど。

2022-08-13

プログラマー生産性は人により100倍くらい差があるというけれど

 割りとマジだよねと思う出来事をふと思い出したので書いてみる。

 といっても後輩が俺の思ってもいないところでつまづいて、それに俺がカルチャーショックを受けたというだけの話。

 問題の話なんだけど、とある有名サービスJSON APIを叩いて呼び出し結果を手元のオブジェクトマッピングするというただそれだけのコードを書くというもの

 普通に考えて一日もしないで出来ると思うような代物だけど、三日以上悩んで彼はそれでも出来なかった。

 何があったかというと、そのJSON API

{ ..., "count": 10000000000000000000000000000000000000, ...}

 という感じで多倍長整数リテラルとして書かれているのを前提として受け取る仕様だった。

 JavaScriptの通常の整数と違って、JSON整数リテラル仕様上大きさの制限記載がないので、上のようなのも合法

 で、彼の使ってたプログラミング言語オブジェクト から JSONの変換ライブラリが、多倍長整数文字列("")としてシリアライズするような仕様なことがわかって、彼は行き詰まった。

 そこで何をやり始めたかというと、JSON整数がそのまま1000000000000000みたいにシリアライズされるライブラリ探し始めたんだけど、それは見つからないまま。

 というわけで「増田さん、詰まってるんですけど……」と言われて助け舟出すことになったはいものの、彼のコード見るとJSON抽象構文木クラスがそのまま使えるようだった。

 なので、

String serialiaze(Ast.JsValue value) {
    return switch(value) {
        case Ast.JsNull nullValue-> "null";
        case Ast.JsInt bigIntValue -> bigIntValue.toString();
        case Ast.JsArray arrayValue -> arrayValue.stream().map(v -> serialize(v)).collect(Collectors.joining(", ", "[", "]"));
        // 他のJSONの木についても同様に処理
        default -> throw new RuntimeException("cannot reach")
    };
}

 1時間しない内にこんな感じのコード言語Javaじゃなかったけど、だいたいこういう感じ)を書いて無事問題解決。細かいタイポとかあるかもだけど、日記では確認してないのでそれはおいといて)。

 結局、JSONの形が期待と違って、しか既存APIじゃいいのがなかったのに延々API探すことしか出来なかったのが問題解決できなかった原因だけど、このくらいのは割りとちょこちょこある。

 きっと、それから一週間放置しても問題解決できなかっただろうし、どうも同じチームの同僚も問題解決できなかったようだった。

 最近APIは叩けるけど、そこでトラブルとどうにもならなくエンジニアにちょくちょく遭遇するんだけど、やっぱりもうちょっと基礎出来てないと駄目だなと思った出来事だった。

 具体的には、再帰が相性が良いプログラムを書けるとか、APIに頼れないときはさっさと自作する頭の切り替えとかもろもろ。

 それと、情報大学出てるのなら、せめて木構造に対してはサクっと再帰関数くらい書けてほしかったなと思う出来事だった。

2022-08-06

COCOAログ

つのまにかJSONで出力できるようになってたけど

そもそも仕様が公開されてなくて可視化できるのが有志のサイトしかない

・中身がエポック秒JSONが出力されても一般の人は意味不明なのでは?

というのはIT後進国を感じますね。デジタル庁なんとかして

人の集まるイベント系に行くとさすがに接触ログ結構出るけど普通にJSTに並べて表示してくれるだけでいいのに・・・

2022-07-19

anond:20220719164702

数年前ぐらいまではRails使ってるやつ多かったけど、最近フロントエンドのやつばっかだな。

JSON色付け係。

2022-07-17

山上徹也さんこと@333_hillさんのツイートアーカイブしました

リンクhttps://mega.nz/file/gclB0aLC#YICFsYuQBica-0Pis4sgj88GDwL6dzahfBJW2w2wc7E

消される前に。

APIで取得しています。1(リ)ツイートが1つのjsonファイルになっています

すべての情報が含めれる代わりに検索には不向きです。

何らかのデータ加工をして利用してください。

取得したのは今日20時ぐらいです。

2022-06-27

Core Keeper Dedicated Server を VPS 上に構築したときの手順メモ

Ubuntu 22.04 LTS x86_64 で構築。

CoreKeeper側で apt依存しているっぽいので、Ubuntu でやった方が楽だと思います

Tips

Ubuntu 20 TLS でやる場合、/home/steam/Steam/ が /home/steam/.steam/ になってたと思うので、環境に合わせて読み替えてください。

Install steamcmd dependent packages

dpkg --add-architecture i386
add-apt-repository multiverse
apt-get update
apt-get dist-upgrade
reboot

Create steamcmd User

useradd -m steam
passwd steam
gpasswd -a steam sudo

Steamcmd / Core Keeper Dedicated Server Install

sudo -u steam -s
cd
sudo apt install steamcmd
ln -s /usr/games/steamcmd steamcmd
./steamcmd +login anonymous +app_update 1007 +app_update 1963720 +quit

Run steamcmd (Install and Creating Core Keeper Dedicated Server system drectory )

cd ~/Steam/steamapps/common/Core\ Keeper\ Dedicated\ Server/
./_launch.sh

Press Ctrl + C for Stop Core Keeper Dedicated Server

World file migration (if there is an old file)

mkmir -p -m 775 /home/steam/.config/unity3d/Pugstorm/Core\ Keeper/DedicatedServer/worlds
chown steam:steam /home/steam/.config/unity3d/Pugstorm/Core\ Keeper/DedicatedServer/worlds

Copy old world file (0.world.gzip) to

/home/steam/.config/unity3d/Pugstorm/Core\ Keeper/DedicatedServer/worlds

Copy old setting file (*.json) to

/home/steam/.config/unity3d/Pugstorm/Core\ Keeper/DedicatedServer/

chmod 664 /home/steam/.config/unity3d/Pugstorm/Core\ Keeper/DedicatedServer/worlds/0.world.gzip
chmod 664 /home/steam/.config/unity3d/Pugstorm/Core\ Keeper/DedicatedServer/*.json

Backup setting

vi /etc/cron.hourly/corekeeper_backup

#!/bin/bash
cp -a /home/steam/.config/unity3d/Pugstorm/Core\ Keeper/DedicatedServer/worlds/0.world.gzip /home/steam/worldbackup/0.world.gzip.`date '+%Y%m%d%H%M%S'`
cp -a /home/steam/Steam/steamapps/common/Core\ Keeper\ Dedicated\ Server/CoreKeeperServerLog.txt /home/steam/worldbackup/CoreKeeperServerLog.txt.`date '+%Y%m%d%H%M%S'`

chmod 777 /etc/cron.hourly/corekeeper_backup

sudo -u steam -s
cd
mkdir worldbackup

Start Core Keeper Dedicated Server

sudo -u steam -s
cd ~/Steam/steamapps/common/Core\ Keeper\ Dedicated\ Server/
nohup ./_launch.sh
tail -f ~/Steam/steamapps/common/Core\ Keeper\ Dedicated\ Server/CoreKeeperServerLog.txt

サーバースペック

利用者問題か、サーバー問題かわかりませんが人数が10人超えると CPU4コア/メモリ4G/100Mbps で結構ラグかったです。

今は CPU6コア/メモリ8G/1000Mbps で動かしています

不具合 (2022/06/28時点)

6-8人以上で2-3時間サーバー動かしてると、Unityライブラリがsegfault起こして、Core Keeper Dedicated Server が落ちます

ログ取れたのでバグレポしましたが、改善するまでは不特定多数が好き勝手するサーバーみたいなのを長期運用するのは厳しいかなと思いますタイミングによってはアイテムロストしてしまうので。

遊びで使うなら、ウォッチドック的なサービスを入れて、落ちたら適宜起動しなおすみたいな対応をした方がよいと思います

anond:20220626152712

はい、実際に動く増田書き込みミューChrome拡張を作ったよ。

manifest.json

{
  "name": "GomiMute",
  "version": "1.0.0",
  "manifest_version": 2,
  "description": "このゴミミュートするChrome拡張",
  "content_scripts": [{
    "matches": ["https://anond.hatelabo.jp/20220626151746"],
    "js": [
      "main.js"
    ]
  }]
}

main.js

document.querySelector(".body .section").innerText = "みゅーと";

2022-05-14

Railsが死んだのはわかった。では何使えばいい?

現代Webアプリケーションフロントエンドが中心で

バックエンドJSON返すだけの存在になったのはわかった。

からRailsやLaravelみたいなフルスタックフレームワークが捨てられてるのもわかった。

では何使えばいいのかよくわからん

Firebase? AWS Lambda?

Go流行ってるらしいけどGoEchoってやつを使えばいいのか?

ログイン ユーザー登録
ようこそ ゲスト さん