静的ファイルをデプロイしよう
2~3時間かけて作った静的Webサイトができたのでインターネットにアップしようとしたら躓いた。 4時間くらいかけてデプロイできない。Webの才能がないんじゃないか。
■静的サイトを公開するのに時間がかかっている経緯 ・GoogleDrive、URLかっこ悪い、やだ ・S3、金掛かりそうでやだ ・GAEでやるの、つまづいた ・Amazon EC2も金掛かりそうでやだ ・AWS EBでデプロイうまくいかない
もう、さくらのサーバーでいいんじゃないか… Web向いてないのかも…。自信喪失。寝る。
【しらべたこと】 ・GAEを無料運用 https://koni.hateblo.jp/entry/2016/01/06/130613
・GAE始め方 https://blog.apar.jp/web/6912/#WEB
・AWS ElasticBeanStalk https://qiita.com/Mic-U/items/f9f0c03080d9cf6c3cc6
・新規開発におけるElastic Beanstalkという選択 https://qiita.com/TAKA1111/items/775b4b1dc2b02dbbea2c
・EBには、ルートフォルダを圧縮してもデプロイできないよ https://stackoverflow.com/questions/20634122/failed-to-find-package-json-node-js-may-have-issues-starting-verify-package-js
・EBCLIでやってみるも、エラー https://github.com/awslabs/amazon-kinesis-scaling-utils/issues/5
【Unity】error CS1525 CS0116 CS8025 VSのビルド通るけど、Unity側でエラーとなる
「オンラインゲームのしくみ Unityで覚えるネットワークプログラミング」を写経している。 さて、写経し終わったし実行するかと、Unityの画面に戻るとなにやら3つもエラーが出ている。
CS1525: Unexpected symbol `
【解決方法】 全角のスペースがどっかに混ざっている
【解決に至るまで】
予期せぬシンボルがある…ふむふむ。
頭のいい僕はすぐにひらめいた。これは{}の数が一致しないパターンのやつ! しかし、VSはエラーを指摘していない。どうしたものか。 ははーん、もしかしてEOFの形式がこのファイルだけ違うのかな?と思ったけど、すべてのファイルはCRLFのようだ。
インターネットで全角スペースが入っているというのを見つけて検索から削除してみるとエラーが消えた!ありがとう!よかった! 3つもエラー出ると一瞬絶望感に襲われるけど大抵エラーなんてものは概して1つに対して複数出るのだ。落ち着いて対処しよう。
備忘録で残します。
今日やったこと日記:Windows 10からWIndows IMEを抹殺する
今日やったこと日記
・WIndowsIMEを抹殺 いつもいつもいつもWIndowを更新するたびに復活してきやがる。 おまえらそこまでしてこの糞なIMEを使ってほしいのか?Microsoftの社員さんだってATOKとかGoogle翻訳使ってんじゃないの? ってレベルで頭おかしいぞIME。Windows更新のたびにどこにいったか巧妙に隠されているメニューを見失うので、備忘録 web-generalist.com
・Unityをバージョンアップして、C#の新しい機能を使おう 何の気なしにstatic usingを使ったら、エラーで怒られた。ランタイムが古かった。 どこから変えたらよいかわからない。メニューがないっぽいのでUnityをアップデートすることにした。 www.buildinsider.net
・FireBaseがいいらしい したのブログを読んで、興味が湧いたので調べてみた。 趣味で一人でゲーム作成をやっているけど、いつ完成するやら不安でしかたない。 fushiroyama.hatenablog.com
UnityのSDKも出ている Unity プロジェクトに Firebase を追加する
大人数でリアルタイムにデータをやり取りするようなアプリのバックエンドには向いているっぽい。 ガチャで自分の持ち物が増えていくようなものの場合、別にサービスを建てないといけないなぁと調べてたら GCPとの連携も推奨してた、いろいろドキュメントがありそうなので、ちょっと浮気して試して見るかもしれない。 でも、僕はヘボいのでこういうのでうまく言ったためしがない。そうしてまたSDKだけが増えていく。 業務でやってみたいな。プライベートだと時間が足りないな。 cloud.google.com
Firebase と App Engine フレキシブル環境を使用して Android アプリを作成 | ソリューション
・MemoryStreamクラス Flushの説明がさっぱりわからん。 https://msdn.microsoft.com/ja-jp/library/system.io.memorystream(v=vs.110).aspx
【.Net Core MVC】npgsqlと戦った
自分の学習実績を思い出せるようにメモ
.Net Core MVC でアプリを書いている(途中、Node.jsに浮気しようとしたが辞めた。
今日やったこと
・Oauth2認証の追加(FB,Google)
・DBのきりかえ、O/R Mapperの使用
--
・Oauth2認証の追加(FB,Google)
.NET Core MVCの初期は大変だったみたいだけど、今はいろいろフレームワーク側がやってくれるので便利。
・認証の設定
https://docs.microsoft.com/en-us/aspnet/core/security/authentication/social/?view=aspnetcore-2.1
・DBのきりかえ、O/R Mapperの使用
近い内にAWSなりGCPにデプロイする予定なのだが、SQL Serverを使い続けるのもあれなのでDBをPostgresに変更した。O/R Mapperを使うことにした。
・O/R Mapper
http://www.npgsql.org/efcore/index.html
ところが、マイグレーションをかけると怒られて失敗してしまった。
①Npgsql.PostgresException (0x80004005): 42P07: リレーション"AspNetRoles"はすでに存在します
②Npgsql.PostgresException (0x80004005): 42P01: リレーション"hogehoge"は存在しません
③42P07: リレーション"IX_AspNetRoleClaims_RoleId"はすでに存在します
AspNetのテーブルが作成された後でコケてしまい、hogehogeTablesが作れないみたいようだ。マイグレーションファイルがうまく作れなかったみたい。
自分の操作のせいなのか、Npgsqlのせいなのかわからない。
結局、MigrationClassからAspNet関連テーブルの実行済みのクエリを削除しながらもう一度Update-Daatabase。何回か繰り返してテーブル作成完了
--
今日の感想:
O/RMapperもっとハマると思ったけど、普通に動いてよかったー
次はフロントエンドを作り込む。
フロント側書くのめんどくさいなー
【VisualStudio2015/2017】IIS Expressでのデバッグ時に 「SSLを有効にする」が動かない時の直し方
.NET CORE MVCの勉強中、
VisualStudio2017のIIS Expressでのデバッグ時に、
「SSLを有効にする」オプションを選択してもうまく動かなくて詰まった。
検索してみると誰もこんな所で詰まっていない。(泣)
困った。直せたのでここに残しておく。
問題:
「デバッグ」->「Webサーバーの設定」から「SSLを有効にする(S)」をチェックしてもSSLが有効になってくれない。
ブラウザで開くと、以下のメッセージが表示される。
localhost から無効な応答が送信されました。
・InternetExplorer
このページに安全に接続できません
解決法:
プロジェクト配下applocationHost.configを修正し、デバッグ時に使われるポートの競合を解決した。
→C:\Users\LocalUser\source\repos\SampleProject\.vs\config\applocationHost.config
修正前
<binding protocol="http" bindingInformation="*:44381:localhost" />
<binding protocol="http" bindingInformation="*:44382:localhost" />
<binding protocol="https" bindingInformation="*:44382:localhost" />
修正後
<binding protocol="http" bindingInformation="*:44381:localhost" />
<binding protocol="https" bindingInformation="*:44382:localhost" />
原因:
設定ファイル内が以下のようになってしまいポートが競合してしまっていた。
httpとhttpsのポートを1番違いにしようと思って、
「デバッグ」->「Webサーバーの設定」の「アプリURL」を変更する時に
「SSLを有効にする(S)」のURLをコピペし、最下位一桁をいじった。
結果、設定ファイル内が以下のようになってしまいポートが競合してしまっていた。
メモ:
古いバージョンVisualStudio時代は以下のようにSSL証明書をローカルにインストールしたり、applocationHost.configに設定を追加する必要があったようだ。
今(VisualStudio 2017 + IIS 2018年4月時点最新)では多分しなくていい。
・applocationHost.configにバインド登録
お楽しみはこれからだ!: IIS ExpressでSSLを有効にしてデバッグ
・How to trust the IIS Express Self-Signed Certificate
How to trust the IIS Express Self-Signed Certificate – Robert McMurray's Blog [MSFT]
収穫:
この問題にぶち当たって(多分日本で僕だけだと思うけど…)、
VisualStudio2017ではapplocationHost.configの場所がプロジェクトごとに分離されたという事を学んだ。
※昔はIIS Express配下→「%USERPROFILE%\Documents\IISExpress\config\applicationhost.config」だった)
まとめ:
余計なことはするな