【React】Game Usersを一緒に作ろう!【Node.js】 [無断転載禁止]©2ch.net
今日はプレイヤーカードのゲームID表示部分を変更します。
綺麗にIDを表示したい!
配信&IDE URL
>>139 現在、Cloud9 を GCE で運用しているのですが、夜9時頃になるととても重くなります。
バンドルファイルが大きくなっていることも関係しているのか、読み込みが正常に終わりません。
VPS は仮想なのでアクセスが集中する時間帯は重くなったりもするのですが
GCE も同じなんですね。クラウドはそういう問題とは縁がないのかなと考えていたのですが
そういうわけではないんでしょうか。というかそもそも GCE はクラウドじゃない??
1年間無料で使える枠であれこれ文句言うのも申し訳ないので
そろそろ VPS に環境を移したほうがいいのかなと考えています。
とにかく夜になると開発ができなくなるのはまずい。
今は ID を登録するフォームを作成しています。
Game Users では何度も同じ ID を入力しなくていいようなシステムにしているのですが
そこのフォーム部分でバリデーションの基本的な型を生み出そうとしています。
テキストフィールドに文字を入力すると
文字数が表示されて、エラーの警告も表示されるようにしたい。
配信&IDE URL
>>139 夜9時になると、サーバーが重いとこの前書いたのですが、
調べてみたところサーバーのせいではなく利用している
プロバイダーが原因である可能性が高くなってきました。
現在、webpack で固めたバンドルファイルのサイズが
4〜6MB くらいなのですが、契約しているプロバイダーは夜になると
速度が 5Mbps 以下になってしまうのです。つまり速度の異常な低下で
バンドルファイルをダウンロードしきれないという状況になっているようです。
無料でお試しができる他のプロバイダーに申し込んで切り替えてみたところ
夜でも開発中のページが表示できるようになりました。
ただそのプロバイダーもあまり速度が速いところではないため
表示が遅いことは遅いのですが
現在契約している bb.excite よりはずっとましな状況です。
bb.excite は 500円ながらも、これまでは普通に使うことはできていたのですが
最近はそれすら無理な速度になってきています。
速度を求める用途がなかったので、500円プロバイダーでも十分だったのですが
さすがにバンドルファイルすら正常にダウンロードできない状態になってしまったのは
非常に辛いです。このままでは開発に影響が出るため、IPv6 IPoE の利用を検討しています。
いいプロバイダーが見つかればいいのですが。
開発は現在、ID 登録フォームをほぼ完成させたところです。
今後、自分でフォームのバリデーションをひとつひとつ書いていくのは時間がかかるため
バリデーションパッケージを選定&利用していこうと思っています。
配信&IDE URL
>>139 夜に開発サーバーが重たくなる問題ですが、プロバイダーが悪いという結論に至りました。
bb.excite がここのところ速度の低下が激しく、
人が多くなる時間帯はまともにページを表示することができなくなっていたのです。
そこで IPv6 IPoE 接続のできるプロバイダーに変更したところ、夜も快適に開発ができる状態に戻りました。
当初 GCE のせいにしていたのは良くなかったですね。
約一年間無料で使わせてもらった GCE ですが、無料期間が終わると
当然有料で継続しなければならなくなるため
他の VPS に開発サーバーを移すことにしました。
理由は料金的な問題です。やはりクラウドは高級感のあるお値段になってしまうので
予算的に VPS しか選択肢がなくなりました。
いろいろ調べてみて、Amazon がやっている Lightsail も魅力的に感じましたが
IPv6 の IP が割り振られないらしい?ので、結局 IPv6 対応サイトにできる
さくら VPS になりました。
今回の件で、Game Users も IPv6 でアクセスできるサイトにしたいと強く感じたので
練習も兼ねて開発サーバーも IPv6 でのアクセスができるようにしておこうと思いました。
IPv6 対応のついでに DNS でサブドメインに割り振っておいたので、URL が変わりました。
ドメインでのアクセスになったのにポート番号を入力しなければならないのは
ちょっとかっこ悪いですが、ここもまた Nginx を導入してリバースプロキシ?
で設定をしないといけないようです。今後はそちらの勉強も頑張っていこうと思います。 なぜIPV6にこだわるのですか?
どんな利点があるのでしょうか。 個人的な経験によってIPv6に対応したいと感じただけで
現状ではそこまで大きな利点はないんじゃないかと思います。
IPv6に対応したいと思ったのは、プロバイダー関連の話になるのですが
自分の場合、新しく申し込んだプロバイダーの設定が一時うまくいかなくて
IPv4 over IPv6 接続が機能していなかったのです。
(IPv4にしか対応していないサイトも、IPv6の経路を使うことによってアクセスが速くなる機能です)
そのためYouTube、Google、NetflixなどのIPv6対応サイトの場合は
IPv6接続ができて速度も非常に快適だったのですが
IPv4にしか対応していないサイトは旧式の接続で、速度も遅いままだったのです。
そういう環境の人はあまりいないと思うんですが
IPv6に対応しておくことで、誰でも快適にアクセスができるようになるのと
対応サイトは、上記有名サイトのように軽くて最先端なサイトのイメージがあるので
できれば早い段階から、うちもその仲間入りをしたい!と思ったのです。
現在、ウェブサイトのSSL化が急激に進んでいるように
いずれどのサイトもIPv6に対応するようになるんじゃないかと思うので
今のうちから勉強しつつやっておこうと思いました。
そんな感じですね。無理してやる必要はまったくないと思うんですが
ちょっとだけメリットを感じるユーザーもいるので
利用できる環境なら、サーバーの設定をいじるついでに
やっておくといいんじゃないでしょうか。 今日はinputで選択した画像をプレビューする機能を作ります
プログラム配信中、詳しくは
>>184 アイコンをキレイにします
Simple IconsというキレイなSVGアイコンが揃っているサイトをみつけたので
それを利用させてもらおうと思います。
https://simpleicons.org/
プログラム配信中、詳しくは
>>184 やっとですが、バリデーションを含めたフォームのガワはできあがりました。
次は API に POST でデータを送って、サーバーに保存する部分に取り組もうと思います。
単純なテキストデータの保存はすでにできているのですが、
画像の処理はまだできていません。srcset に対応するために
複数のサイズにリサイズして、圧縮するという作業が必要になります。
Jimp(リサイズ用パッケージ)
https://github.com/oliver-moran/jimp
imagemin(圧縮用パッケージ)
https://github.com/imagemin/imagemin
良さげなパッケージを発見したので、これらを使わせてもらって実現しようと思います。
プログラム配信中
https://youtu.be/s_XYS2XyFgY
開発について詳しくは
>>184 今日はアップロードしたSVG画像をサーバーに保存する部分を作ります。
プログラム配信中
https://youtu.be/9HVRWHiPq6A 誰でも頭が良くなる、プログラムが書けるようになる方法が発見される 55271
https://you-can-program.hatenablog.jp プレイヤーカード作成フォームの完成を目指します!
プログラム配信中
https://youtu.be/IYx-Q5B0zUY 記事の更新が疎かになってしまいました。
アカウント作成、ログイン、ログイン後のページでIDやパスワードの変更など
基本的な機能はほぼ実装し終わりました。
途中、カスタムエラーの投げ方を学んだり、ログの保存方法を勉強したり
いろいろあって無駄に時間もかかりましたが
各ページのベースになる部分は徐々に固まってきています。
次は横幅の広いデバイスでアクセスした場合に
2カラムでコンテンツを表示できるようにしようと思っています。
サイドに掲示板のスレッド一覧を表示したり
サイドに表示するコンテンツがない場合は
サイト内の更新情報をカードで表示したりしたい。
ttps://gameusers.org/dev/blog/wp-content/uploads/2018/02/2column.jpg
そしてモバイルの場合は、ドロワーメニューで必要な情報を表示しようと考えています。
プログラム配信中
https://youtu.be/gewLTvihd0w Next.js で styled-components + Material UI を使う場合、
それ用に別途コードを書かなければならない必要が生まれます。
しかも Material UI がアップデートすると動かなくなったりするので、とても面倒な組み合わせです。
今回もまた Material UI を Ver.4 にアップデートしてみたところ正常に動かなくなったため
なにか他に方法はないのかと調べてみました。
すると emotion という CSS in JS の新しめのライブラリを発見することができました。
なんと Material UI では emotion を特別なことをせずにそのまま使えるようなのです。
実際、使用してみたところ styled-components との組み合わせよりも、全然相性がいい気がします。
Material UI にスタイルを当てる場合
Material UI がデフォルトで用意している書き方を使う方法もあるのですが
自分はその書き方が気に入らなかったのと
サイト全体のスタイルシートの書き方を統一する意味も込めて
これまでは styled-components を採用していました。
ですが今回使ってみて emotion の感触が良かったので、こちらに移行することにしました。
後発のライブラリなので機能的にもいいとこ取りをしていて、とても優秀です。
同じように Material UI を利用している方はチェックしてみて欲しいですね。いろいろ楽になると思います。
emotion: https://emotion.sh/docs/introduction
プログラム配信中
https://youtu.be/jZ0kcMrT0DA ユーザーが作成できるコミュニティページの制作を進めています。
前に掲示板のガワだけは作っていたのですが
開発を進めていくうちに仕様の変更で動かなくなっていたので
それを直しつつ、データベースの構成を考えています。
データベースの知識に自信がない上、MongoDBの扱いにも不慣れなため
どのように構成するといいのか、なかなか見えてきません。
1件1件データを取得するコードをループさせれば望みのものは取得できますが
それだと当然重くなるわけじゃないですか。
だからできるだけ少ない回数でデータを取得するコードを書かなければならないのですが
それが難しい。
多言語に対応することも考えたりするとわけがわからなくなって、頭がごちゃごちゃになります。
プログラム配信中
https://youtu.be/Mp-ZrD-Ml04 今日は掲示板のスレッド作成フォームを完成させたい
プログラム配信中
https://youtu.be/KEboEKUucXs 掲示板の画像&動画表示部分を作ります
キレイに表示させたい!
プログラム配信中
https://youtu.be/HR0NB_ZDypM 二ヶ月以上、掲示板を作っています。
サイト全体の画像や動画の扱い方(投稿・表示)を
統一できるようにしようとしているので、
多少はしょうがないにしても、いろいろ時間がかかりすぎてやばいです。
普通の人はもっとサクッと完成させるもんなんでしょうか?
やっぱり自分自身プログラマーとしての能力がアレなんかなと思わざるを得ません。
ただそれでもめげずに頑張りたい!
プログラム配信中
https://youtu.be/P_PS3w6cUjU 雑食系エンジニア、KENTA の動画
Rubyはオワコン?「滅びゆく5つのプログラミング言語」に関する所感
https://www.youtube.com/watch?v=yBrnuR8YJN4
初心者向きのweb アプリの結論は、Ruby on Rails !
Rails でも、HTML, CSS/SASS, JavaScript, jQuery, Node.js も学ぶと、1年は掛かる フォーラム(掲示板)のページの切り替え部分を作っています。
Next.jsがAPIをデフォルトで扱えるようになったので
その方法に書き換えています。
pages/api
以下にファイルを設置すると、そのアドレスのAPIが使えるようになります。
最初っからあれば書き直さなくて済んだのに。苦しみ…。
https://youtu.be/Ni3pJT90FL8 ようやくフォーラム(掲示板)の完成が近づいてきました。
コメントやスレッドの削除機能をつければ
大まかな機能の実装は終わりです。がんばります!
https://youtu.be/d5u3gZd51bY 今日は配信用の課金システムを作ろうと思います。
Game Usersに実装したい機能なのですが
いつ完成するかわからないので
とりあえず違う場所に作ってみます。
https://youtu.be/0PMdbnKpd_g 今日も課金システムをいじります。
iPhoneでフォームに入力できないと言ってたのでそこを調べます。
https://youtu.be/aIk6c5Z6kMg プログラム配信やります。
ユーザーコミュニティをクローズド設定にした場合
参加者以外には見れなくしたい。
#React #Nodejs #JavaScript
配信URL
https://youtu.be/zF3pRI_SuHQ プログラム配信やります。
ユーザーコミュニティに参加承認した人をメンバーにする処理。
ブロック機能も作りたい。
#React #Nodejs #JavaScript
配信URL
https://youtu.be/eJaZ-C4a-NM React Hook について少し勉強してみました。
これまで状態管理に MobX を利用してきたのですが、
Hook を勉強した結果、これまでのやり方を見直すべきなのではないかと思いました。
Hook を利用してローカルステートで書くのは
とてもわかりやすく、処理が散らばらない点も素晴らしいと感じました。
現状、MobX 上ですべてのステート、すべての処理をまとめているのですが、このやり方はやめるべきじゃないかと。
状態管理の例としてよくあるカウンターの数値を増減させるサンプルのようなものでも
自分はこれまで外部のストアにすべて書き出していました。
でも Hook を学び、コンポーネント内にステートも処理も入れ込んでしまう書き方を試してみたところ
こちらの方が全然扱いやすいように思えるのです。
CSS では emotion というライブラリを利用しているのですが
こちらも HTML のタグにそのままスタイルを書き込んでいきます。
最初は違和感も大きかったのですが、しばらく使ってみると、とても扱いやすいことに気づきました。
配信URL
https://youtu.be/Fcdv9UXVAFU 久しぶりのプログラム配信。かなり完成に近づいています。
GitHubにDockerの解説を載せておいたので
誰でもコードや動作をチェックすることができるようになりました。
今日はユーザーコミュニティ作成ページを作るぞ!
https://youtu.be/-HT1VvxOr3A 完成形が近くなってきました。
プッシュ通知のテストをしたいので
テストに参加してくれる方募集!
https://youtu.be/u3agDYHxtFE ずっと作っていたGame UsersのNode.js版がついに完成しました!
とんでもない新機能が盛りだくさんというわけではないのですが
とりあえず第一段階はやり遂げました。今から解説します!
https://youtu.be/PEDFabpQYVU 今日はみなさんに仮登録していただいたゲームを
本登録にすべく、IT土方的な作業を行おうと思います。
余裕があればゲーム情報を取得するスクレイピングの構想も行いたい。
https://youtu.be/yn9QQsRpu6c GitHubにGame Usersの正式なリポジトリを新たに作って
そちらで作業をしていくつもりです。
それに向けて改めてGitとGitHubについて勉強しようと思います。
プルリクエストってどうやって処理するんだ?というレベルです。
https://youtu.be/75EofG7SmRg 今、Gitの勉強をしています。
Commit時にPrefixを入れた方がいいということを知り
また絵文字も使えるらしいので
コミット用のテンプレートを作っています。
Visual Studio CodeにGitLensとGit Graphという拡張機能も入れました。
僕の得た知識をみなさんにもお知らせしたい!
https://youtu.be/gIwDhX67Ntc ついにGame Usersの正式リポジトリを開設しました。
これから開発者の方にアピールするために
Wikiを充実させていこうと思います。
採用技術について入っているパッケージについてなど
いろいろ書かなければならないことがあります。
Wikiで丁寧に情報を提供することで
みなさんに面白そうなプロジェクトだと思ってもらいたい!
https://youtu.be/36kF7UZxni4 GitHubのWikiに必要な情報を書き出しました。
今日はDiscussionsにアイディアをまとめようと思います。
いい感じになってきてると思うので
みなさんもチェックしてみてください。
https://youtu.be/l327mZrldWU なんと悲惨なことに、このサイトはこれまでずっと
ゲームやコミュニティを簡単に検索することができませんでした。
ついに検索フォームが実装されるのです。
今までなにをしていたんだ…。
https://youtu.be/vmSApI9xtC4 ようやく検索フォームを実装できました。
今日は登録するゲームの情報を取得するために
スクレイピングについていろいろ調べようと思います。
Node.jsっていいライブラリあるんだろうか?
https://youtu.be/ZKvWPLfHj5A Webスクレイピングを行おうとしているのですが
SPAだとページを正常に取得するのが難しいみたいで
Headless ChromeというGUIなしで
ブラウザを利用できる機能を使うのがいいらしいです。
今日はそれを用いてゲーム情報を取得していきます。
https://youtu.be/I6QYSzQYKgQ Headless ChromeでWebスクレイピングを行っています。
各ゲームストアからデータを取得していきます。
保存先のデータベースも用意しないといけいないので
思っていたよりも手間のかかる作業でした。今日も頑張ります!
https://youtu.be/529GIKa9Lwk Headless ChromeでWebスクレイピングを行っています。
レイジーロードの画像の取り方を調べます。
スクロールを下まで行かせると読み込むらしいのですが
それだけで大丈夫なんでしょうか?
https://youtu.be/spqzdqx5V5Q Headless Chrome は非表示なのに、
スクロールしたり、スクロール位置を取得できるの?
やんばるCODE の守護神・たけ、2019/12
【Rails】(送信時のリロード無し!)Action CableでSlack風チャットアプリを作成
www.youtube.com/watch?v=o6PuxDr8Meg
表示されるブラウザでは、こういうように、特定のスクロール位置になったら、
データをサーバーから読み込んで、要素をHTML に追加できる Headless ChromeでWebスクレイピングを行い
データを取得するところは完成しました。
今は取得したデータを変換してゲーム登録に活かす部分を作っています。
今日は画像を圧縮して保存します。
https://youtu.be/KEu-goo0L7c スクレイピングで取得したデータを処理して
本番環境にJSONで取り込もうと思っています。
みんな開発環境で作成したデータを
どうやって本番環境のデータベースに移行してるんだろう?
PHPを使ってたときはphpMyAdminでやってたんですが
本番環境にそういうツールを入れるのは危ないのでやめた方がいいですよね。
となると自作するしかないのか…。
https://youtu.be/uLU8MxO1t7A スクレイピングデータを取得しながら違う作業を進めていきます。
今日は管理者ページでユーザーのアカウント作成日を変更できるようにします。
旧サイトに数年ログインしていない場合
まったく使用されていないアカウントとして
削除する処置をしていたのですが
一部の方は新サイトでも新アカウントを作成して使ってくれているので
作成日だけでも昔の日付に戻せるようにしたいのです。
というわけで今日はこれをやります!
https://youtu.be/hL1xx0x3R94 ブログ機能を追加しようと思います。
それにあたり、いろいろ考えなければならないことがあるので
配信でフォームの構成や、投稿ルールなどを考えようと思います。
https://youtu.be/eWV7aW9WOuc 現在、横道に逸れてSNSと連携した占いサイトを制作しています。
導入部分のフォームとTwitterとの連携部分は完成しました。
今日やるところはタロットカードで占い結果を表示する部分です。
https://youtu.be/25Zel3o-IXQ 占いサイト作成中です。
占いたいことをフォームで送信して結果の表示に利用します。
そして結果をデータベースに保存します。
今日はこの部分を完成させたい!
https://youtu.be/2Lr-LDCSEvE 占い結果を画像&感想を投稿できるようにする予定ですが
Twitterにも投稿できるようにします。
その際の投稿画像のデザインを自分で作れるようにします。
今日はそこの部分を作るぞ!
https://youtu.be/RONBgVo4EUI 占い結果を投稿し、閲覧できるようにします。
今日はその結果ページを作ります。
占いのカテゴリーごとに表示できるようにもしたい。
https://youtu.be/hXUx1KHHswI 占いサイトが完成に近づいてきました。
今日は依頼するデザインの方向性を考えます。
今のところ神秘的なデザインがいいかなと思ってるんですが
いろんなサイトを見て研究したいです。
時間があればデザイナーさんも探したいですね。
https://youtu.be/lU125l30quI 占いサイトのテスト版が完成しました。
機能的には主なものはすべて動きます。
テストに参加してくれる方募集!
デザイナーさんも探したいです。
https://youtu.be/0UxQSnbbJtg 今日は真剣にデザイナーさんを探そうと思います。
仕事請負サイトをチェックするつもりですが
それ以外にも人の探し方ってあるんでしょうか。
アドバイス求む!
https://youtu.be/Y_lGG2VF-wc レスポンシブ対応なら、Bootstrap を使えば?
最近は、Tailwind と言うものもあるらしい Bootstrapは卒業しました。
本業の方の手を借りたいです。
みなさん仕事請負サイトを経由した形で請け負うことを望まれるのでしょうか。
他の窓口がある場合は直接やり取りを行いたいのですが
それを望まない方も多くいるのでしょうか?
サイト内の実績を積み重ねられますが
手数料の負担をクライアントにお願いしてまで行いたいことなのかと考えると
なんだかこちらとしてはモヤモヤが残ります…。
https://youtu.be/Jh5kHBHVa7w イラストレーターやデザイナーの方にこれまで直接連絡をとってみて
得た実体験なのですが、そもそも連絡が返ってきません。
素性のわからない個人からの依頼は非常にぞんざいに扱われるみたいです。
看板がない者はわかりやすく予算を提示しないとダメなのかもしません。
あとコンペについて言及するのは悪手ですね。
これについてはデザイナー側も思うところがあるのだと思います。
実績や繋がりを得るために安売りを行ってしまっている現状
そこを意識させてしまうのは良くないということに気づきました。
自分はコンペを開催して労働力をただで提供してもらうのは申し訳がないということで
デザイン案に前金を支払う形でやりたかったのですが
参加料が支払われるコンペというイメージになってしまうと
悪印象に繋がってしまうのかもしれません。
https://youtu.be/QeSONOrnEQw デザインとか外側ばっかいじってないで中身どうにかしたら? 中身の機能はほぼ完成しています。
後はデザインだけなんです。
僕の配信を視聴してくれている
デザイナーの方にいいものを作っていただきました。
完成に向けて修正する部分を考えていこうと思います。
https://youtu.be/JCMbkuILk78 aiファイルから画像を書き出して
コーディングを行っていこうと思います。
SVGを活用したいのですが、背景みたいな画像もSVGにできるんだろうか。
https://youtu.be/1DGNVd0wDJ0 トップページの画像は用意しました。
あとはHTMLのタグに変えていくだけです。
昔テーブルで実現していたような
囲われた箱にデザインを当てはめるのは難しい作業ですね。
毎回、悩みます。
https://youtu.be/O77YI9XdNTE トップページのコーディングが終わりました。
今は結果ページに取り掛かっています。
大まかな部分はできているので
細かな調整とタブレット・スマホ対応の作業も行いたいです。
https://youtu.be/GJIS8_uure0 追加したい機能がどんどん出てきて完成が延びています。
今日こそは占い結果ページのスマホ対応を完成させたい。
ブラウザからインストールした際のアプリアイコン
ファビコンのデザインも選びます。
https://youtu.be/bBY1BvBrc9Q ついにデザインが完成しました!
後は広告関係の作業を行ったら終わりです。
今日はラッキーアイテムに表示する商品を探そうと思います。
おすすめの品があったら教えて下さい。
https://youtu.be/E0bIuGvIz2s ついに占いサイトが完成します!
最終チェックを行うのでみなさんご協力お願いします。
問題がなければデータベースを初期化して正式公開します。
https://youtu.be/HH0fKOfZXeo 完成した占いサイトがどうやったら流行るのか
宣伝方法を考えていこうと思います。
良い案がありましたらぜひご提案ください。
https://youtu.be/4BTw-3JYPzU 無料で宣伝を行うのは限界がある気がしてきました。
ただし予算が潤沢ではないので
できるだけコスパのいい方法で宣伝したいです。
どうすればいいのか考えていこうと思います。
https://youtu.be/xU-O_BcdPdc イラストをベースにして結果を表示できる
新しい占いを作成しようと思います。
イラストレーターの方に依頼をしなければならないのですが
まずはいらすとやの画像を使わせてもらってテスト版を作ります。
https://youtu.be/FMROUVlSBFo イラストをベースにして結果を表示できる
新しい占いのレーティング機能を作成します。
今日はセリフとメッセージを追加できるようにします。
https://youtu.be/prkSD6hvFlk イラスト投稿型占いは
Twitterに結果を投稿できるのですが
返り先のURLのページの機能やデザイン構成を考えます。
https://youtu.be/yCcwhlYgAuM イラスト投稿型占いの課金サービスについて。
投げ銭は法律的に問題があるようなので
どういう形で実現させるか考えます。
https://youtu.be/9O-ormn30Hk イラスト投稿型占いを作成中です。
時間がかかりすぎですが
ようやくガワが完成しそうです。
データベースの操作はまだなので
完成までは日がかかりそうです。
https://youtu.be/cN5Mq4GcMGg