- 動機というか
私が目指したいエンジニアの人が
夏休みの工作と称して、自分の技術を遺憾なく発揮して
何かを作っていたので、それに触発されました。師の作品はこれ。
https://plus.google.com/u/0/101324074162877775330/posts/UvfUdPLMwjk - 学習方針について
もちろん全部知っている知識だけでやるには成長がないので
既に持つ知識を3割、3割は世にある情報を理解する知恵
2割は欲しい情報を手に入れるための知識、
後の2割を試行錯誤で挑みます。 - 対象範囲について
ドメイン取って、自宅にサーバー立ててやろうかと思ったのですが
拘ると際限なくやって、結局終わらないパターンなので
どうせならAzureやAWSのお勉強もしましょうということで
AzureのAppServiceを利用しています。そのため範囲はどんなサービス考えて、実装に必要なもの
どう実装して・・・具体的に実装して動かしてが範囲です。 - 環境
LAMP(Linux Apatche, mysql, PHP)とはちょっと遠い
WIMP(Windows, IIS, mysql, PHP)になりました。結論から行くと最悪でしたw
詳細については後半で記載します。一時期の諸行に比べればよくなった方ですが、
以下具体的な開発のあれこれ記録
やっぱりMSプラットフォームでオープンソースはまだまだ開拓途上ですね。 - 最初の最初
Azureで開発環境用に仮想マシンをデプロイする
サイズはStandard D2 v2 Promo
デプロイが終わったらDNS名設定しリモデスのファイルを生成する。 - インストール関連
・VisualStudio2017をインストール
・PHP tools for VisualStuidoをインストール
https://www.devsense.com/download
・mysql for VisualStudio入れたかもしれない
◇入れたけど結果的に使用しませんでした。
・mysql-installer-community-5.7.19.0.msiをインストール
+mysql serverのインストールに躓く
→VisualC++2013再配布可能パッケージを入れて解決
・IISをインストール - 環境構築
#Tips
参考記事:https://docs.microsoft.com/ja-jp/azure/app-service-web/web-sites-php-mysql-deploy-use-ftp
・mysql初期テーブル作成
スタートメニューよりCLIを呼び作成
+MySQL 5.7 Command Line Client - Unicode
>create database registration;
・TipsのURLにあるregist(ryのファイル作成と実行
+404.3で刺さる
→https://technet.microsoft.com/ja-jp/library/hh994592.aspx
+WebPIでIISExpressとPHP7.0とWebCache入れる
+リブートしたらうまくいった・DB、FTPサーバへの接続とパラメータの取得
+ググってFTPソフトを入れる
+AzureのDBより、DB、ホスト名、ユーザ、パスワードを控える
+AppServiceより発行プロファイルを取得しFTP部分を控える
・FTPサーバへの接続
ホスト名:頭ftp://を除いたホスト名
ユーザ名:publishMethod="FTP"のuserName 10桁くらい
パスワード:publishMethod="FTP"のuserPWD 50桁くらい・DBサーバへの接続(mysql workbenchでもvisualstudioでも)
ホスト名:ap-cdbr-azure-southeast-b.cloudapp.net
接続先DB:rtreeb
ユーザ名:ユーザ名だし
秘密の鍵:パスワードだし参考記事をもとにここまで構築。
- 他の登録や開発について
+ アプリ登録(callback.php登録)
+ OAuthスクリプト取得
+ もりもりスクリプトを書く
+https://dev.twitter.com/web/sign-in/resources - 失敗
+ コールバックをサービス用のURLに指定していたため
すべてWebサービス側でのテストに終始した。
ローカルでテスト、デバッグを一切行わなかった。
→解決策はあったはずだけど、すぐできると思い調査をしなかった。+ Azureのmysqlは当然ながらmy.ini(my.cnf)に触れられない
SETのクエリはなしのつぶて。
→文字コードに関するトラブルを解決できない+ PHPのpcntlが入っていないためプロセス関連の実装ができなかった
代替手段はあったかもしれないけど・・・・。
現代風に非同期処理とかやりたかったんだけど・・・ - 総括
結果的に6割くらいの出来だったので落第点だと思ってます。
ただ冒険的な事をするのではなく、地に足の着いた開発をやりたいですね。
※おまけ
サービスの説明とソースコードです。
素人の大工みたいなものなので、そこまで価値はないと思いますが
何か始めてみたいんだって人の足掛かりにでもなれば。
ソースコードとか:https://www.axfc.net/u/3839848
必要なフレーズは「P@ssW0rd1234」