teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

中身を端折って結論だけ書いていたので追記

2017/08/04 00:36

投稿

miyabi-sun
miyabi-sun

スコア21454

answer CHANGED
@@ -1,9 +1,56 @@
1
1
  まず、誰が何をしたいのかを書こう。
2
+
3
+ これはアドバイスする内容が180度変わる最も重要な要素。
4
+ 何故ならば、エンジニアの感覚でいうと「javascriptで在庫管理をしたい」という時点でかなりのパワーワードだから、「よくわかんないけど無理じゃね?」という回答が返ってきてもおかしくない。
5
+
6
+ 上手くバシッと表現出来ないのは構わないけど、
7
+ 自分の表現出来る範囲内で頑張って説明する努力はしよう。
8
+
9
+ ---
10
+
2
11
  例えば自分しか居ない在庫管理部署で日々の作業を自動化したいのか、
3
12
  各営業所の非エンジニアの人間にブラウザでアクセスして在庫管理を直感的に出来るようなWebシステムを構築したいのか。
4
13
 
5
- そもそもAlaSQL.js以前の問題で、
14
+ 場合は楽勝。
6
- ローカルファイルの読み書きが絶望的に下手くそなJavaScriptでどやって在庫管理する
15
+ ファイルの同期といJavaScript上制約がないからね。
16
+ 他の回答者さんの回答で解決すると思うよ。
7
17
 
18
+ でも、後者の場合はそもそもJavaScript単体の技術では実現不可能。
19
+ 何故ならば、JavaScript単体では自分のマシンのファイルしか読み書きできないから。
20
+ エンジニアの技術力の差はあれ、基本的には以下のような筋道の解決法になる。
21
+
22
+ 1. PHP+MySQL等のWebサーバーを構築し「最新の在庫データ置き場」を用意する
23
+ 2. JavaScriptを利用して1の在庫データを書き換える
24
+ 3. 更に複雑な計算をJavaScript側に持たせて結果が早く得られるようにする
25
+
26
+ 「在庫管理」というワードが出た時点で、まず在庫データの同期を気にすることになる。
27
+ そもそも在庫管理がしたいだけならば1の構成のみで目的達成が可能。
28
+ (実際にPHPとMySQLだけで在庫管理しているシステムは腐るほど存在する)
29
+
30
+ 実際にJavaScriptを導入した際、
31
+ Webサーバーに在庫管理を専念してもらって、JavaScript自身はグラフィカルな動作の制御に専念…
32
+ 実際JavaScript(AlaSQL.js)と在庫管理は相関性はない。
33
+
34
+ 例えるなら「Unityは分かるんですが、これで人工知能の研究したいです」というトンチンカンな需要となり、「はぁ?全然関係ねーだろ!」というツッコミをもらうことになる。
35
+
36
+ ---
37
+
38
+ ### AlaSQL.jsは在庫管理に適さないのか?
39
+
40
+ JavaScriptの制約の問題でAlaSQL.jsが在庫管理のスペシャリストとして活躍することは難しそうだけど、
41
+ AlaSQL.js自体は面白い使い方ができそうだね。
42
+
43
+ 毎回Webサーバーに「この条件で検索したらどんなデータが得られますか?」と聞くのは煩わしい。
44
+ 全てのデータを予め一気にダウンロードしてしまい、多角的に条件を絞り込んで検索することが可能になる。
45
+ 要するに、データマイニングをブラウザー上でやってのける事が可能。
46
+
47
+ 有名な話として、夏の炎天下ではビールが良く売れるという話があったりするので、
48
+ そういう相関を見つけ、「明日は晴れだからビールを多く発注しておこう」という発想が得られるかもしれない。
49
+
8
- とにかくJavaScriptのみで在庫管理なんてするもんじゃな
50
+ ### 何がなんでもJavaScriptのみで在庫管理した
51
+
52
+ Node.jsをサーバーに置くというのはいかが?
9
- ブラウザ落した瞬間データ飛んじゃうし、他のユーザーとのデータ共有なんもってのほか
53
+ AlaSQL.jsはNode.jsで動作させるこも視野入れいるらしい
54
+ でも、結局やってることってPHP+MySQLと同じなんだよね……
55
+
56
+ ガチのエンジニアが「面白そうだから試しにやってみよう、なんか起きたら責任とればいいや」と思ってやるなら応援するけど、そこまでの自信がないならあまりオススメできないかな?