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

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

新規登録して質問してみよう
ただいま回答率
85.50%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

MongoDB

MongoDBはオープンソースのドキュメント指向データベースの1つです。高性能で、多くのリトルエンディアンシステムを利用することができます。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

teratail

teratail(テラテイル)は、プログラミングに特化した日本語Q&Aサイトです。

Q&A

解決済

3回答

237閲覧

teratailのようなサイトのユーザー情報とデータベースの取り扱い方について。

退会済みユーザー

退会済みユーザー

総合スコア0

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

MongoDB

MongoDBはオープンソースのドキュメント指向データベースの1つです。高性能で、多くのリトルエンディアンシステムを利用することができます。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

teratail

teratail(テラテイル)は、プログラミングに特化した日本語Q&Aサイトです。

0グッド

0クリップ

投稿2019/01/04 05:09

いつもお世話になっています。

現在、teratailのようにWebサイトにログイン機能を実装し、ユーザーの情報をデータベースに保存する方法を探しているのですか、ふとteratailではどのようにデータを保存しているのか気になりました。

具体的には、ユーザーのログイン情報(id,lastName,firstName,emailなど)の他に、特定のページのお気に入り登録(teratailでいうところのクリップですね)、そして有料記事と有料会員登録の設定をして支払った人にだけ広告を表示させないような機能を実装したいと考えています。

これらは普通にPHPとMySQLを利用したらできるものであり、またそうするべきものなのでしょうか。それともNoSQLとしてMongoDBを扱うためにNode.jsを利用しているのでしょうか。

どなたかお答えいただけると嬉しいです。

気になる質問をクリップする

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

たしか teratail は cakephp3 をベースに作成されてたはずなのでcakephp の公式サイトを確認してください。

お気に入り登録は 多対多な関係で登録します。 (Array型とか JSon型はあるが非推奨)

また課金ユーザーのみ表示とかは cakedc/acl を参考にすればいいかと

投稿2019/01/04 05:18

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2019/01/04 06:12

なるほど、cakephp3なるものを利用されているのですね。調べるとこちらGitHubでこちらの2つがみつかりました。 https://github.com/CakeDC/users-acl-example https://github.com/CakeDC/users 噂では扱いにくいと聞いており少々不安ですが、頑張って理解を深めていきたいと思います。 的確なご返信、本当にありがとうございました。参考にさせていただきます。
guest

0

teratail のデータベース構造は公開されていません。
記述されたような機能が実装できる OSS は多数あるので、そちらのソース/データベースを確認してみては?
フレームワーク + 認証ライブラリでも良いかと思います。

ちなみに、どっから NoSQL が出てきたんでしょうか?

投稿2019/01/04 05:16

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2019/01/04 06:07

ネギを切っていたら返信が遅れました。目が痛いです。でも納豆は美味しいです。ありがとうございます。 なるほど、認証ライブラリという言葉がありましたか!思い浮かびませんでした。 検索するとこちらのライブラリが見つかりました。分解しながら理解を深めていきたいと思います。https://github.com/cartalyst/sentry データベースに関連するプログラミング言語で調べていましたら、僕には「より軽量で扱いやすいJSON形式のように保存できるデータベースでフロントエンドのJavascriptをNode.jsとして使えばPHPのように利用できるよ!」といったもののように受け取っていましたので、もしかしたら熟練の方は利用されているのかなと思い質問内容に追加しました。 しかしながらteratailでは「cakephp」なるものを利用していることが分かりましたので、今回はNoSQLを利用せずに対応したいと思います。 素早いご返信、本当にありがとうございました。参考にさせていただきます。
guest

0

teratail見てるとたまにcakephpのエラーページ出るのでcakephpでしょうね。

予測ですけどDBは普通にmysqlとかなんじゃないでしょうか。

mongodb云々は質問の意図がよくわからないです。
mongodb使うためにnode.jsというのもわからない。
何の言語でもmongo使えますし。

投稿2019/01/04 05:30

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2019/01/04 06:13

エラーページからも推測ができるのですね。他の方の回答にもあったように、cakephpで間違いないようです。 参考になります。ご返信ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問