<<リンク集>> :: http://wiki.cis.iwate-u.ac.jp/~yamanaka/csd/2023/{講義ページトップへ} :: >>{23::gr02}{班ページトップへ} :: http://wiki.cis.iwate-u.ac.jp/~yamanaka/csd/2023/material/links/{資料集へ} :: https://lms.iwate-u.ac.jp/webclass/{Webclassへ} :: https://www.notion.so/8a7dd4cbba3140f6babd1e429e79f2e9?v=fc25eff42f1344c7a18eebeda1449073{Notionへ} :: https://www.figma.com/file/Y3wI6kffREmFrfSrdzkFDU/Untitled?node-id=0-1{figmaへ} ::https://chat.openai.com/?model=text-davinci-002-render-sha{chatGPTへ} <<カレンダー モジュール>> <<<もの>>> * カレンダー要素 * 月表示欄 * 年表示欄 * 日付セル * 前月/次月ボタン <<<操作>>> * カレンダーの日付セルをクリックして、その日の詳細情報を表示する。 * 前月/次月ボタンをクリックして、カレンダーの表示月を切り替える。 <<<ものと操作の実装>>> * カレンダー要素とメモ要素を作成した。 * 年表示は実装できず。月表示は実装できたので、カレンダーの上に月と年を表示するようにした。 * 日付セルを実装し、既にその日に追加されているメモの表示と、選択した日付にメモを追加できるようにした。→修正してもらって、それぞれ編集できるようにしてもらった。 * データベースからメモデータを受けとり、配列に入れて日付と合致するものを表示するようにしている。 * 前月/次月ボタンをクリックして、カレンダーの表示月を切り替える操作を実装した。 * 班員に修正してもらった点として、メモがついている日付の色の反転表示、配置、またデータベースとのデータのやり取りなどがある。 <> * javascriptはキャメルケース(単語と単語の境目を後の単語の頭文字を大文字にする事によって表す)を良く使うらしい。C言語では割とスネークケース(単語と単語の間にアンダーバーを入れる)が多い。 * 見栄えに関する情報がHTMLに埋め込まれてしまうと,表示するデバイスを変えた際などに使い回しが困難になる. : データベース * データベースの詳細はnotionに。Djungoを用いて管理しているらしい。 ::https://indigo-asteroid-cdf.notion.site/2023_gr02-da33560a62f34bdabb879a35b2326d26 * SQLite はサーバとして動作させるのではなく単独のアプリケーションとして動作させることが可能です。インストールも簡単な上に非常にコンパクトなため、アプリケーションと一緒に配布するといった利用も数多くされています。 ::https://www.javadrive.jp/sqlite/{引用元} * node.jsについて [概要|https://www.kagoya.jp/howto/it-glossary/develop/nodejs/] [詳細|https://nodejs.org/ja] :企画書作成について * 全体像がなく、詳細だけしか書いていない場合はわからない。企画書には全体像を書く。 ::http://sanetu.main.jp/htmlsample1/htmlsample2.html{カレンダーの参考1} :: 実際には、 <<目次>> <<<第一回(4/21)>>> :内容 * ガイダンスで大まかな講義の進め方や一昨年以上前の作品をみた。 * 班を決めLINEグループを作った。班員個人のページを編集した。 * タイマーアプリを作成することに決まった。勉強した時間に応じて報酬だったり対象のものが成長するという機能がアプリの根幹になる予定である。また、中間発表や最終発表までの間にしたいことの共有をした。 :感想 * 多分この班の中で1番プログラミングのスキルが低いだろうから、自習する。 <<<第二回(4/28)>>> :内容 * HTMLの基礎を学習 * Gitlabのsign upや設定 * 企画書の相談 :感想 * HTMLやJavascriptはほとんどやったことがなかったので,もっと勉強していきたい。 * 企画書作成のために班員と話し合った。イラストやUIをどのようにしていくかこれから考える。 * <<<第三回(5/2)>>> :内容 * Javascriptの基本について学んだ。 * 開発するものと操作を班で洗い出し、担当を分け開発に取り掛かった。 :感想 * タイマーを造るに当たり、HTMLやJavascript、CSSを用いて実装する方法を調べた。 * 実際にタイマーのソースコードを作り動かしてみた。期待した動作にならなかったので、調べながらやってみる。 <<<第四回(5/9)>>> :内容 * Javascriptの応用編を学んだ。 * 前回の続きで、ものと操作の洗い出しを行った。 * 班内での命名規則を統一した。 * カウントダウンタイマーを実装するためのコードを考えて作ってみた。 * カレンダーに必要な機能を再度考えて、コードを考えた。まだ考えている段階である。 :感想 * 応用編の内容を復習する。 * コードを考えてみたが、複雑な上にうまく動作しないことが多いので、より勉強して改良する。 <<<第五回(5/19)>>> :内容 * HTML応用編 * Gitについて * モジュール分け * カレンダー機能の作成 :感想 * カレンダーの表示はできるが、他につけたい機能を上手く実装できなかった。特にメモの部分は、Node.jsを用いて内容を保存できるように作ったが、いずれデータベースの方と組み合わせていくので改善させたい。 * カレンダーのデザインについて班内に共有する。 * やっぱりJavascriptの知識が足りないので、調べながら補っていく。 <<<第六回(5/26)>>> :内容  * プロトタイプ作成とenchant.jsについて学んだ。 * カレンダー(スケジューラー)データベースに送るデータについて話した。もう少し話を詰める。 * スケジューラーを作成した(途中まで)。 :感想 * カレンダーもといスケジューラーを作成していたが、データベースとの噛み合いを考えると作り直す必要が出てきたので作り直した。Javascriptの部分をもっと作り直していく。 * データベースの知識が全く無いので軽く調べる。 * データベースとのデータのやり取りについて考えていく。 <<<第七回(5/29)>>> 体調不良で欠席しました。 <<<第八回(6/2)>>> :内容 * 中間発表ページの編集と、パワーポイントの作成をした。 :感想 * figmaの編集に時間がかかってしまった。 * スケジューラー(カレンダー)の作成を進めて、データベースと統合することを目指す。 <<<第九回中間発表(6/16)>>> :内容 * 中間発表 * モジュール分けやものと操作の再洗い出し * 今後の課題 :感想 * 言葉でもう少し詳しく説明できるとなお良かった。 * カレンダーをいい加減に実装する。 <<<第十回(6/23)>>> :内容 * スケジューラの作成 :感想 * 細かい表示や関数の呼び出しが上手く行かなかったので、修正して来週こそ実装したい. <<<第十一回(6/30)>>> :内容 * スケジューラの作成 :感想 * 先週に引き続きスケジューラを作成していた。javascrit内の、データベースからデータを読み込んで表示する部分ができていないので、それを作成する。 * データベースへの理解が足りないので、もう一度調べて学びなおす。 * 来週の授業前までに、動きそうなコードまで持っていきたい。統合はその後。 <<<第十二回(7/7)>>> * スケジューラの作成 :感想 * 配列の読み込みと表示はできた。メモの編集と追加機能が上手く行っていないが、表示を調整している間に解決できそうになったので、作成する。 <<<第十三回(7/14)>>> * スケジューラの作成 * データベースの操作の部分を担当の人にお願いして修正してもらった。 :感想 * ほぼほぼできたと思う。特にデータベース担当の人には迷惑をかけたし、修正もお願いしたので、仕事を増やしてしまって申し訳ない。 <<<第十四回最終発表(7/21)>>> 感想