回答編集履歴

2

無理だったので冒頭に追記

2021/11/25 04:34

投稿

miyabi-sun
miyabi-sun

スコア21203

test CHANGED
@@ -1,3 +1,25 @@
1
+ 実際にGlitch上でNode.jsのプロジェクトを作成して、
2
+
3
+ `fs.writeFileSync`を試しましたが、ファイルは作られていませんね。
4
+
5
+
6
+
7
+ という訳で、そのレンタルサーバ内でファイルを作って更新することは無理です
8
+
9
+ 誰か別の媒体に書き出す仕組みが必要になりますね。
10
+
11
+
12
+
13
+ 一応下記、Discord.js等でローカルに持ち帰って使う事も考えられるので、
14
+
15
+ fsでファイルが書き出せる想定での回答は残しておきます。
16
+
17
+
18
+
19
+ ---
20
+
21
+
22
+
1
23
  ゴールを考えた場合その方法では無理なので少し微修正が必要になります。
2
24
 
3
25
 

1

文章を微調整

2021/11/25 04:34

投稿

miyabi-sun
miyabi-sun

スコア21203

test CHANGED
@@ -58,11 +58,13 @@
58
58
 
59
59
  これにどんな文字を追記しても不正JSONファイルになります。
60
60
 
61
+ (※空文字と改行コードだけなら妥当なJSONファイルであり続けますが、そんな屁理屈は言っちゃダメですよ?)
62
+
61
63
 
62
64
 
63
65
  なので「追記」というアプローチでは絶対に前へ進めません。
64
66
 
65
- 全く同じファイル名のJSONファイルを消して作り直しというアプローチを取るしかありません
67
+ 全く同じファイル名のJSONファイルを消して作り直しというアプローチを取ることになりま
66
68
 
67
69
  [fs.writeFileSync](https://nodejs.org/api/fs.html#fswritefilesyncfile-data-options)を使いましょう。
68
70
 
@@ -128,29 +130,37 @@
128
130
 
129
131
  まぁJSONを捨てちゃうというのは手ですね。
130
132
 
131
-
133
+ 実際問題の現場ではMySQL等の高速なデータベース使うとか、
134
+
132
-
135
+ 特定ディレクトリ配下に当日の日付のファイルを大量に作って都度書き出していくみたいなアプローチになると思います。
136
+
137
+
138
+
139
+ その中でも今回はJSONとほぼ変わらないYAMLを紹介しましょうか。
140
+
133
- [YAML](https://ja.wikipedia.org/wiki/YAML)というJSONより前から存在するファイルフォーマットがあります。
141
+ [YAML](https://ja.wikipedia.org/wiki/YAML)JSONより前から存在するファイルフォーマットす。
134
-
142
+
135
- これもファイルの考え方はJSONと同じく1ファイル管理型です。
143
+ これもJSONと同じく1ファイル管理型です。
136
-
137
-
138
-
144
+
145
+
146
+
139
- ですが、YAMLはPythonみたいにインデントで親子を表現する記述方式なので、
147
+ ですが、YAMLはPythonみたいにインデントで親子を表現するという特徴があります。
140
-
148
+
141
- インデントさえ揃えてしまえばファイル末尾にしれっと書き足しても妥当なYAMLファイルを維持出来す。
149
+ インデントさえ揃えてしまえばファイル末尾にしれっと書き足しても妥当なYAMLファイルを維持出来るわけで
142
150
 
143
151
 
144
152
 
145
153
  そもそもの記述がJSONよりイケてるので
146
154
 
147
- JSON使うのか分からないレベルです。
155
+ なんでJSON使うのか分からないレベルです。
148
156
 
149
157
  (Node.jsのrequireでJSONを呼び出すのは速度が出るので、ロード時間のみ考慮するならばJSONが有利ですが)
150
158
 
151
159
 
152
160
 
161
+ しかしJavaScriptはネイティブでJSONを読み書きする機能が備わっていますが、
162
+
153
- YAMLするな読み書きする為のライブラリが別途必要になります。
163
+ YAMLを読み書きする機能はいので、読み書きする為のライブラリが別途必要になります。
154
164
 
155
165
  npmのサイトで探した感じ、メンテされてて使えそうなのはこの2つですね。
156
166
 
@@ -216,7 +226,9 @@
216
226
 
217
227
 
218
228
 
229
+ 確認してませんが、
230
+
219
- こんな感じにデータが吐き出されるようになるはずです。
231
+ 多分こんな感じにデータが吐き出されるようになるはずです。
220
232
 
221
233
 
222
234