2024 ソフトウェア設計及び演習用の班Wiki

24::gr01::TA

担当:三合堂恭平

個人ページ

進捗チェック

第3回

簡易企画書

第3回時点ですでに洗練されているので、変数の共有や細かい設定などはグループ内で共有してください。 暗黙の了解や定義不足は混乱を招くので、見ただけですぐにプログラムにできるようにしておいてください。 (ユーザーネームは32文字以内、チェックボックスのフラグはbool型のリストで管理などといった要素) モジュールを決めたあとはチームの技量に合わせた割当をして、プログラムを組んでみても良いと思います。

今のうちにgithubの操作にも慣れてください。

第4回

次のモジュールの作成の時に変数設定や画面遷移について検討を行ってください。 検索機能をつけるのであれば、ソートアルゴリズムをユーザー構造体の一つの変数について使用できるようにするのがベストだと思います。 慣れてきたら、上位10アカウントのみの出力にするのも悪く無いと思います。

第5回

内容が固まってきたので、データの受け渡しについてを検討し、安定性の高いプログラムにしてください。 もの足りないならば、完成した後に機能拡張のために「ものと操作」のところから考え、補強するのが良いでしょう。 初期データを作成し、不具合が無いか確認することも重要です。

第6回

そろそろ中間発表が近いので、何をメインにするか、プロトタイプの実装はどのようにするかをグループ内で話し合って決めて下さい。原稿、スライド、発表、プログラムの実行に分けるのがベストです。

第7回

データの受け渡しはhtmlの<form>タグやURLパラメータのvalue=${value}からのurlParams.get('value')で行うなどが最適だと思います。(特に検索機能でページを跨ぐなら) youtubeやXなどで最初のページに戻らずに元の位置から検索し直したり、指定した位置から動画再生できるのもパラメータから情報を取得しているからである。現状の方法で値渡しができないなら、これらの方法を試して下さい。 例) string型のurlstrでURLを指定し、年収600万以上、1ページ10件という状態で検索したいなら income_lower_bound=600とnumber_per_page=10でjavascriptから文字列を作成し、 string型でincomestr='income_lower_bound=600',numberstr='number_per_page=10'より URL=urlstr+'?'+incomestr+'&'numberstr; で指定する

第8回

中間発表はまだ未完成のプログラムで動かすので、問題点が浮き彫りになったらこれからの作業の参考にしましょう。 また、中間発表の際に他の班のアルゴリズムを考えながら見るのも良いかもしれません。

中間発表

プロフィールやメッセージの送信、いいねの確認といった要素の画面遷移は複雑になり、データも複雑になるので、ファイルに書き込むといった手段も考慮する必要があります。 画面の表示はできているので、アカウント情報のファイル、メッセージ管理のファイルと小分けにして、適宜ロードするとまとめやすいと思います。

このサイトを参考にしてみてください。 https://learn.microsoft.com/ja-jp/training/modules/nodejs-files/

追記

データの読み込み

fs.readFileSync
fs.readFile

データの保存

fs.writeFileSync
fs.writeFile('filename', string);
fs.writeFile('hoge.json', JSON.stringify());
localStorage.setItem()//.cacheに保存
fs.appendFile//データ追加
fs.createWriteStream//Callback対策

本番に向けての技術サポート

MySQL

connection.query('SELECT * from data;', function (err, rows, fields) { /*code*/ }); このとき、rowsには構造体の配列としてデータが保存されており、

rows[2].nameと入力することにより、データの2番目(最初が0番目)のnameの値を参照することができる。

また、データはINSERT、UPDATE、DELETEで上書き、消去できる。更新はUPDATEで行う。

CSSで区切りたい場合は、こちらを参考にしてください

https://magazine.techacademy.jp/magazine/39348
https://codelife.cafe/entry/2015/10/17/221011
https://dad-union.com/css/1318

最終発表会

新規登録ページからプロフィール画面にまで問題なく遷移したように見え、ユーザー登録も出来ていたため、ユーザーのデータベースに関しては問題は無いように感じた。様々なユーザーのカスタムが出来ることはマッチングアプリに必要であり、テストでその豊富さが示されている点は良いと思った。

メッセージに関してのやり取りは2重に認識しないようにユーザーを特定する識別子(id)をチャットの際に設定して、判断する方式をとることも考えてみてください。また、登録画面で画像が切り替わるときにスムーズに変更できれば目にも優しいと思います。


最終更新日:2024/07/26 13:19:15