2020年5月20日(水)作業過程と気づきメモ

役に立たないかもしれないけど役に立つかもしれないメモ

 以下の文章の編集方法

workflowyで随時入力 → 翌日Evernoteに転記(firefoxでworkflowyのexportでコピペ(なぜかchromeのコピペでは階層が反映されない)) → はてなブログにコピペ(編集)

  • Webアプリ作成
    • 昨日の続き
    • PC上のフォルダの構成は、レンタルサーバーのヘテムルの構成にあわせる
      • 以下のような構成
        • oha_002
          • heteml
            • apps(※ヘテムルでは外部からアクセス不可)
              • oha_002
            • web(※ヘテムルでは外部からアクセス可能)
      • ヘテムルでは、「web」から下は外部から参照することができ、「apps」から下は外部から参照できない
      • PCとサーバの環境が違う場合がある。データベースを扱う場合は、PCは自由に設定できるが、サーバでは制限がある。
      • データベース部分は「apps」配下のoha_002で設定することにより、その部分は頻繁に変更しなくてよい。
      • 「web」配下はソースを頻繁に変更するので、分離しておくとサーバにアップロードする場合は便利である。いちいちPCとサーバの違いを意識する必要がない。
    • 認証OK?
      • 昨日作った時点と現時点で、フォルダ移動した関係で、PC上のURLの変更となった。
      • ログインIDとライセンスコードを適当に入力したところ、なんと認証OK!
      • プログラム上では、エラーコード102は認証OKにしていた。
      • その理由としては、「うたらぼメルマガ」では、いろんなWebアプリを使えるように配慮するためであった。
      • ということは、認証側のサーバでは、ログインIDとライセンスコードのチェックの前に設置場所の変化があったかどうかのチェックをしたということだろう。
      • ということで、認証NGの場合は、エラーコードを表示し、エラーコード102の場合は、ユーザ側でライセンス認証をクリアするようにメッセージを表示することにした。
        • 念のため再検証した。(URL変更直後)
          • ログインID未入力、ライセンスコード未入力
            • エラーコード101(認証キーが一致しない)
          • ログインID入力適当、ライセンスコード未入力
            • エラーコード100(ログインIDが存在しない)
          • ログインIDは正しい、ライセンスコード未入力
            • エラーコード102(設置URLが一致しない)
          • ログインIDは正しい、ライセンスコード入力適当
            • エラーコード100(ログインIDが存在しない)
          • ログインIDは正しい、ライセンスコードは正しい
            • エラーコード102(設置URLが一致しない)
        • 再検証(ツール認証のリセット後)
          • ログインID未入力、ライセンスコード未入力
            • エラーコード101(認証キーが一致しない)
          • ログインID入力適当、ライセンスコード未入力
            • エラーコード100(ログインIDが存在しない)
          • ログインIDは正しい、ライセンスコード未入力
            • エラーコード999(認証OK??)
          • ログインIDは正しい、ライセンスコード入力適当
            • エラーコード100(ログインIDが存在しない)
          • ログインIDは正しい、ライセンスコードは正しい
            • エラーコード999(認証OK)
          • 「ログインIDは正しい、ライセンスコード未入力」で、認証OKになったのは、ちょっと驚いた。個人的には理解できないが、それでもよいという意見もあったのだろう。
          • トーマスではライセンス単位で退会が可能なので、たとえばトーマスに登録している人全員にメールし、ログインID(メールアドレス)を含んだURLを用意すると、簡易的なユーザー限定Webアプリが可能である。その場合は、トーマスに登録したユーザーに共通するような話題のものがよいだろう。
    • 認証方法の変更
      • エラーコード102は認証OKのまま。ライセンス認証をクリアする手間はいらない。
      • 今回のログインの場合は、ログインIDとライセンスコードは必須入力とする。
    • フレームワークの考え方
      • 以前作ったフレームワークのサンプルでは、「main」フォルダというものがあり、その他のフォルダがあるものだった。
      • 今回はメインとなるものがツイッター名の登録であるので、「main」フォルダがある必要はないと思い、削除した。
    • 関数をまとめたファイルを作成
      • 今まではindex.phpに関数を書いていたが、これから先増えていくので別ファイルにする。
      • 関数は共通なので、「lib」というフォルダを作成し、そこに保管。
    • データベースに接続する部分は共通化したほうがいいかもしれない。
      • → 関数にした
      • 関数内でグローバル変数を使う場合は、global aa;というように宣言してから使う
    • ログイン時に、m_licenseテーブルをライセンスコードで検索し、idを取得
      • 該当がない場合は、レコード作成。直後にid取得。
      • 該当がある場合は、最初のidを取得。
        • ライセンスコードはカンマ区切りで複数に対応できる予定なので、like検索、と思ったが、やはり現時点では、カンマ区切り対応せず、完全一致検索。以後、改良があれば、その時やろう!
        • 今回メインとなるツイッターのデータをユーザ単位で登録するためにidを使用。ライセンスコードでも可能だが、データ量が微妙に多くなりそうなので、この方法をとった。
    • PHPのダンプ
      • var_dump(変数名);
    • SQL文をヒアドキュメント構文で書いてみる
      • できた!
      • 他の処理と混在すると、エディタの色がおかしくなるので、別ファイルにして、include文で呼び出すことにする。
    • ツイッター名の登録と一覧表示ができた。
      • 更新、削除は、明日!