質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

89.10%

バックエンドデータベース&アプリケーションで考慮するべき点

解決済

回答 3

投稿

  • 評価
  • クリップ 1
  • VIEW 334

yuujiMotoki

score 49

内容

業務で簡単なデータ作成サービスを検討しています。

これまでPYTHON(FLASK)で簡単なWEBアプリケーションを作ったことがあります。
今回は自分自身の勉強も含めて、いろんな言語、データベース、フレームワークを駆使して、
どれが一番、自分にしっくりくるかを経験的に見極めたいと考えています。

やりたいこと

  • 現状はファイルサーバにおいた、EXCELファイルとOUTLOOKメールにて、
    実施している処理を、WEBベースに置き換えつつ、WEBデータベースアプリ作成の
    スキルを身につけるイメージ

悩み事

  • アプリを作成するに当たって、プログラム言語、データベースの観点で、
    実用スキルとして一線でも使えるものとしたい
  • FLASK(PYTHON),SQLITEの使いこなしは終わっている。ただしORMは未経験
  • MVCフレームワークを習得したい

個人的な観点

ベースアプリは早めにリリースしたい
→ まずはFLASKの延長上でDJANGOにて、フレームワークとMVCモデルを学ぶ

次のステップで勉強的なチャレンジにしたい
→ Nodesを使えるようになりたいため、JSのフレームワークを入れる。(Angular,Vueなど、いろいろあって迷う)

Jquerryもまともに使えるようになりたい
→ FrontEndは、何にしてもJscriptが一択

JAVA言語(jsp)、ASP.NET(C#)などでのWEB開発
→ 将来的にはデスクトップアプリも経験したいため、次のステップでは学びたい

RUBY,PHP
→ 簡単には入れるのであれば、それもありえる。

WEBサーバ
→ APPATCHなどのWEBサーバーは触ったことがない。flaskしか知らない

データベース
→いまのところは、SQLITEしか知らない
(MYSQL、MONGO、PostgreSQL、Microsoft SQL Serverなど、名前しか知らない。ACCESS/VBAの経験は保有)

ORM
→ ここが難度が高いが避けがたいため、がっつり取り組む

質問

  • これらの状況の中で、今後、どういった道に進んでいけばよいものでしょうか?
  • 独学なので、勉強コストもありますが、いま自分が取りうる選択肢というものが、そもそも分かっていません。
  • 周囲に相談する人も、まねるものもありませんので、ソース自体は完全にWEBからのアドバイスしかありません。

何か、お導きを頂けますと幸いです。


処理の流れ

  1. アプリケーションにログイン
  2. 依頼書フォームを記入
  3. フォームに必要項目を記入
  4. データを添付
  5. 依頼書を処理(内部でメール発信)
  6. データ作成が終わったら、依頼者にメールを回答
  7. 外部閲覧者は、データベースに接続して、依頼済みデータの閲覧が可能

要件

  1. 添付されるデータは *.XLSX , *.DXF
  2. 変換されるデータは *.pdf , *.xxx(xxxは測定器プログラムを想定)

システム要件

  1. AWSインスタンス上に構築(タイプはWINDOWS)
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • m.ts10806

    2020/01/20 09:44

    回答にならないのでこちらで。
    「まずは思うようにどうぞ」ですかね。
    あくまで赤の他人、導く義理も責任もありません。

    キャンセル

  • m.ts10806

    2020/01/20 09:45 編集

    あと、「学ばせてもらうのみ」のスタンスでは他人でなくても業務では余程の大手で若手でないと厳しいと思います。

    キャンセル

回答 3

+1

・これらの状況の中で、今後、どういった道に進んでいけばよいものでしょうか?
・独学なので、勉強コストもありますが、いま自分が取りうる選択肢というものが、そもそも分かっていません。

まずは目標を明確にすることが大切だと思います。

質問者さんのやりたいのは、

  • データ作成サービスを作ること
  • 新しい技術を習得すること

どちらなのでしょうか?

「個人的な観点」に書いてある内容を見ても、手を広げすぎていて方向性が定まっていないように見えます。

・周囲に相談する人も、まねるものもありませんので、ソース自体は完全にWEBからのアドバイスしかありません。

メジャーな技術であれば、書籍やプログラミング学習サイトの情報だけも十分理解できるようになると思います。

もし不安なのであれば、何かしらのコミュニティに入っても良いかもしれません。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2020/01/23 12:07

    >何かしらのコミュニティに入っても良いかもしれません
    ときどき調べているのですが、やはり開催が東京ということが多いです。
    関西在住なので集まりも乏しく、そういう意味では、いっそ東京まで休みを取って、
    一日でいろんな集まりに参加するのもありかと思いました。

    やはり人と情報交換しないと、アプローチが一方的になってしまうのはやむ得ない状況です。

    キャンセル

  • 2020/01/23 14:47

    オンラインのコミュニティもありますので、ご参考までに。

    日本のオンライン勉強会のまとめ
    https://qiita.com/hiroga/items/1434380a8bddce2febbc

    キャンセル

checkベストアンサー

0

これらの状況の中で、今後、どういった道に進んでいけばよいものでしょうか?
独学なので、勉強コストもありますが、いま自分が取りうる選択肢というものが、そもそも分かっていません。
周囲に相談する人も、まねるものもありませんので、ソース自体は完全にWEBからのアドバイスしかありません。

Pythonをやったことがあるなら、Pythonを使いこなす方向で行きましょう。
Flaskを使ったことがあるならFlaskを突き詰めれば良いと思います。

実用スキルとして一線でも使えるものとしたい

Pythonなら上記を満たしていると思いますが、yuujiMotokiさんの業務次第なのでなんとも言えません。
業務によってはCとかが必要になると思いますが、Pythonでカバーできるかもしれません。

FLASK(PYTHON),SQLITEの使いこなしは終わっている。ただしORMは未経験

使いこなしているなら、それを突き詰めましょう。
ORMは使った方が良いと思いますが、使わないという選択肢もあるかもしれませんね。

MVCフレームワークを習得したい

FlaskはMTVですが、概念としてのMVCではなく、明確にMVCをやっているものがやりたいのですか?
それでしたらC#ですかね?

ベースアプリは早めにリリースしたい
→ まずはFLASKの延長上でDJANGOにて、フレームワークとMVCモデルを学ぶ

Flaskの延長線上にDjangoはない気がします。
Flaskで作ってとりあえずリリースし、Djangoでリファクタリングというのは現実的ではないような?
MTVとしては同じですが、Djangoが使いたいなら、最初からDjangoを使った方が良いです。

次のステップで勉強的なチャレンジにしたい
→ Nodesを使えるようになりたいため、JSのフレームワークを入れる。(Angular,Vueなど、いろいろあって迷う)

FlaskやDjangoをやる時点で、JSフレームワークが必要と思えませんが、使ってみるのもありですね。
React/Vue/Angularの中で、一番簡単に始められそうなのはVueです。
React/Angularは全部入りなので、学習コストが高く、ベースは早くリリースしたいということでしたら、使わない方が早いと思います。

Jquerryもまともに使えるようになりたい
→ FrontEndは、何にしてもJscriptが一択

jQueryやらReact/Vue/Angularの前にjavascriptの勉強が必要と思います。

とりあえず以下の、括弧がない部分を学んで見てはいかがですか?
Python + Flask + javascript + HTML + CSS + DB (+ Apache(wsgi) or Nginx(gunicorn))

JAVA言語(jsp)、ASP.NET(C#)などでのWEB開発
→ 将来的にはデスクトップアプリも経験したいため、次のステップでは学びたい

Pythonでもデスクトップアプリは作れると思いますが、上記言語が必要な環境ということでしょうか?

RUBY,PHP
→ 簡単には入れるのであれば、それもありえる。


FlaskやDjangoを使うのであれば上記は不用と思いますが、無理矢理入れるメリットはない気がします。

WEBサーバ
→ APPATCHなどのWEBサーバーは触ったことがない。flaskしか知らない

Flaskはフレームワークなので、Webサーバではないです。
Apacheやnginxは必須なので学びましょう。

データベース
→いまのところは、SQLITEしか知らない
(MYSQL、MONGO、PostgreSQL、Microsoft SQL Serverなど、名前しか知らない。ACCESS/VBAの経験は保有)

ACCESSやSQLITEはDBというのは微妙ですね。
1つくらいは本格的なRDBMSを使っておきたいところですね。
上記の中から学ぶならMySQLが個人的には良いと思います。

ORM
→ ここが難度が高いが避けがたいため、がっつり取り組む

そうですね。

処理の流れ

全部Flaskでいけそうですね。

添付されるデータは *.XLSX , *.DXF
変換されるデータは *.pdf , *.xxx(xxxは測定器プログラムを想定)

DXFがよくわかりませんでしたが、Pythonで扱えるそうです。
他の形式(xlsx, pdf)もPythonで扱えるのでFlaskでいけそうですね。

AWSインスタンス上に構築(タイプはWINDOWS)

上に書かれている内容からLinuxを使うものと思っていましたが、サーバがWindowsでなければならない理由があるのでしょうか?
Linuxのがサーバが安いので勉強ということでしたら、Linuxを試してみては?

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2020/01/23 12:04

    有難うございます。

    >Python + Flask + javascript + HTML + CSS + DB (+ Apache(wsgi) or Nginx(gunicorn))

    python以外の言語などで、もっと大きな枠で見た場合に選択肢があるかのように思いましたが、
    現状のpythonを突き詰めていく点では、お教えいただいた内容で進んでみようかと思いました。

    今後の自分の先行きにも関係しますが、AI関連を深堀していくにもpythonで良い気がします。

    あとは状況により、異なる言語でのPJTに入ったり、転職したりするなら、
    その際は既存のシステムでの知識が要求される場合も出てくるのかと思いました。

    あとはPYTHONの処理速度等で、どうしても違う言語の選択をせざるえない状況があるぐらいでしょうか?
    (そういう意味では、コンパイル言語が一択になってくるのかもしれません)

    キャンセル

0

進む道は自分で選ばなければなりませんが、進む道で必要な学習用のロードマップをまとめてくれている人たちがいます。
admap to becoming a web developer in 2020

参考まで。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2020/01/24 11:11

    ありがとうございました。
    このようなロードマップで知識を増やしていくことを、今後は頑張っていこうかと思います。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 89.10%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

同じタグがついた質問を見る