ラーニングコモンジャーのブログは,この度
http://klis.tsukuba.ac.jp/lc/ に移転・統合されました.
今後更新は全て新Webサイト上にて行いますので,
よろしくお願いします.
スポンサーサイト
こんばんは、B3の松井です。 本日で一学期のラーニングコモンズのチューター業務は最終日でした。 本日の質問と回答です ============================ <知識情報演習I> Q1.検索結果にʺnillʺという表示が混ざってしまう。 A1.プログラム中に余分なʺprintʺがあったので、そこを指摘しました。 Q2.検索しても何も表示されない。 A2.データーベスを確認してもらったところ、質問者の方が誤りに気付いて自分で解決しました。 Q3.PDFファイルをリンクしたのだが表示されない A3.確認したところ、データの保存場所やファイルの状態が適切ではなかったのでそのように指摘しました。 Q4.提出用ページには何が載っていなければならないのか A4.OPACなどプログラムの説明を書いたレポートを、pdfで貼るかHTMLで記述するかしなれればならないと伝えました。 (回答 Q1-2:森川 Q3-4:松井) ============================ ラーニングコモンズは二学期以降も続いてやっていますので、 夏休みのプログラミングの課題などでわからないことなども気軽に聞いてください。 (文責:松井)
こんにちは。 ブログ担当は1日ぶりです。M2の三津石です。 本日から図書館が17:00閉館に伴い、KLCのチューター在室時間は13:30-16:30となります。ご利用の際はお気を付けください。 ============================ <知識情報演習I> Q1. OR検索を実装できない A1. どのようなSQLを発行すればOR検索が実現できるのか分からないようだったので、ターミナル上でsqliteを実行する方法をテキストで調べてもらい、発行すべきSQLがどのようなものであるか考えてもらいました。 <知識情報演習I> Q2. No Method Error Undefined method '[]' for nil:NilClassの原因が分からない A2. []メソッドを呼んでいる変数に対してpメソッドを使ってプリントデバッグするとよいとアドバイスしました。 <情報基礎実習> Q3. 1.Adobe Acrobatを使って、PDFにセキュリティをかける方法が分からない。 2.印刷できないようにするのはPDFとpptの両方か。 3.フォルダを圧縮する方法が分からない。 A3. 1.第1回のテキストにその方法が書いてあるとアドバイスしました。 2.テキストの解釈に関しては、担当教員及びTAにメール等で確認してもらうようにお願いしました。 3. テキストに書いてあるやり方をその場で示しました。" <知識情報演習I> Q4. sqlite.executeで、動的に複数のプレースホルダ(?)を含むSQLを生成する方法が分からない。 A4. SQLite/RubyのライブラリやFAQを調べて見ることをアドバイスしました。 Q5. Q4と同様。 <知識情報演習I> Q6. 完全一致でしか検索ができない A6. 検索語の前後に%を追加するとよいとアドバイスをしました <知識情報演習I> Q7. 1.出力結果のHTMLが一部だけ文字化けする 2.出力するHTMLに色をつける方法が分からない <知識情報演習I> A7. 1.ブランケット[]がCGI.escapeによってエンコードされて出力されていました。最も単純には、CGI.escapeを使わなければエンコードされなくなるとアドバイスしました。 2.CSSについてはまだ勉強していないようだったので、タグを使うことをアドバイスしました。" <情報基礎実習> Q8. HTMLに画像を埋め込むことができない A8. ファイル名が間違っていることを指摘しました。 <知識情報演習I> Q9. OR検索を実装できない A9. どのようなSQLを発行すればOR検索が実現できるのか分からないようだったので、ターミナル上でsqliteを実行する方法をテキストで調べてもらい、発行すべきSQLがどのようなものであるか考えてもらいました。 <知識情報演習I> Q10. 結果のHTMLが途中までしか表示されない A10. CGIプログラムをオフラインモードで実行してもらいました。その結果、変数の型が違っていることが原因でエラーが発生していることが分かったので修正してもらいました。 <知識情報演習I> Q11. ファイルを保存するときの文字コードに何を指定すればいいか分からない A11. 基本的にUTF-8に統一するのがよいとアドバイスしました。 (回答 Q1-Q11:三津石) ============================
こんばんは。 ブログ担当は久しぶりです。M2の三津石です。 知識情報演習Iの課題でお悩みの方は、HTML(フォーム)、CGIプログラム、発行するSQL文のうち、どこに問題があるのかを切り分けて開発を行うと効率的です。 そのためには、次の方法をもう一度テキストで調べなおしましょう。 ・フォームから値を受け取るCGIプログラムをオフラインモードで実行する方法 ・ターミナル(コマンドライン)上でsqliteを実行する方法 これらの方法を知っていると格段に課題が楽になりますよ!…というか、これらを知らずにプログラミングをするのは、暗闇で明かりを付けずに前に進もうとするようなものです。。) =========================== <知識情報演習I> Q1.テーブルにデータをインポートできない A1.作成したテーブルのカラム数とデータのカラム数が異なっていたので、カラム数が合うようにデータを作り直してもらいました。 Q2.文字列のなかで変数を使いたい A2."ruby 文字列 式展開"で調べてもらい記法を確認してもらいました Q3.行番号を付けるプログラムで文字化けしてしまう A3.ソースコードの文字コードとブラウザの文字コードが異なっていたので、ブラウザの文字コードを変更するやり方を教えました。 Q4.検索したレコードがきちんと表示されない A4.コードを見てみるとSQL文でORを表現する方法が間違っていたので、SQLでのORの書き方を調べてもらいました Q5.授業テキストの「補足編」通りにテキストを変換するプログラムを作ったが動かない A5.変数名を打ち間違えていたので修正してもらいました。 Q6.番号付きリストで表示したいがliタグを使っても番号付きで表示されない A6.HTMLタグについてもう一度調べてもらい、正しいタグの使い方を確認してもらいました。 Q7.授業テキストの「補足編」通りにテキストを変換するプログラムを作ったが、trの部分が分割されない A7.正規表現のところで打ち間違いをしていたので、テキストと見比べて直してもらいました。 Q8.Internal Server Errorの原因が分からない A8.プログラムの文字コードが設定されていなかったためエラーが出ていました。文字コードを設定してもらいました。 Q9.データベースに読み出し許可を指定する、というのはデータベースに登録したテキストのファイルに許可を出せばよいのか A9.データベースを作成した際に、「.db」という拡張子のファイルが作成されるはずなので、それに読み出し等の許可をだしてください、と答えました Q10.検索した結果が明らかに少ない A10.SQLのselect文に誤りがあったため、一度コマンドライン上でSQLを実行してもらい、正しいselect文に修正してもらいました。 Q11. DBを変更したのに、表示結果が変更されない A11. プログラムの保存場所とsqliteのデータベースの作成場所が異なっているのではとアドバイスして、その通りでした。 Q12. エラーが何も表示されない A12. フォームから値を受け取るCGIプログラムをオフラインモードで実行する方法をテキストで調べてもらいました。その結果、printfメソッドの指示子が誤っていることでinvalid value for Intergeが発生していたことが分かりましたので修正してもらいました。 Q13. エラーが何も表示されない(Q12. とは別の質問者) A13. フォームから値を受け取るCGIプログラムをオフラインモードで実行する方法をテキストで調べてもらいました。その結果、printfメソッドの指示子が誤っていることでinvalid value for Intergeが発生していたことが分かりましたので修正してもらいました。 Q14. OR検索を実装できない A14. どのようなSQLを発行すればOR検索が実現できるのか分からないようだったので、ターミナル上でsqliteを実行する方法をテキストで調べてもらい、発行すべきSQLがどのようなものであるか考えてもらいました。 Q15. ファイルを保存するときの文字コードに何を指定すればいいか分からない A15. 基本的にUTF-8に統一するのがよいとアドバイスしました。 Q16. HTMLの背景に色をつけようとするとInternal Server Errorになる原因が分からない A16. CGIプログラムをオフラインモードで実行してもらいました。原因はSyntax Errorでした。 (回答 Q1-4:水本 Q5-10:鈴木 Q11-Q16:三津石) ============================
こんばんはB4の水本です。 本日の質問と回答です ============================ <知識情報演習I> Q1. titleauthorなどのデータが複数ある場合、データベースに入れようとするとエラーでるがどうすればよいか。 A1. データが複数ある場合は、それぞれのデータを配列に格納し、:などで区切って一つの文字列に結合してデータベースに格納すればよいのではと伝えました。 Q2. パーミッションの設定をどうすればよいか分からない。 A2. chmodコマンドと権限の記号について説明しました。 Q3. (offline mode: enter name=value pairs on standard input)というメッセージが出たがどうすればよいか。 A3. エラーではなく、ターミナルでcgiを実行する際に入力データを入れろという命令なので、ターミナルでデータを入力してもらいました。 Q4. OPACの検索結果が表示されず、白い画面が表示される。 A4. プログラムを確認したところ、部分一致検索になっていないのが原因だったため、修正してもらいました。 Q5. データベースのテーブルが存在しないというエラーが出る。 A5. 別のディレクトリのデータベースを参照していたので、修正してもらいました。 Q6.「あ」入力すると検索結果が出るが、「図書館」と入力すると検索結果が出ない。 A6.nilの処理をせずにCGI.escapeに変数をいれていました。レコードによってはカラムがnilの場合がありその場合の処理をするように伝えました。 Q7.DBにデータを入れることは出来たが,検索を実行しても検索結果が表示されない。検索をするプログラムは授業中に書いた検索のプログラムを元に作ったので,うまく動くはずなのだが。 A7.sqlite を使ってSQLを実行すると,きちんと検索結果が表示されたので,SQLの実行ではなく,画面表示の部分が問題であることが分かりました。画面表示に使っているRubyの printf の使い方を見直してもらいました。授業中に書いたプログラムを元にして %s の数は変えずに,引数の数だけ増やしていたことが原因でした。 Q8.SQL文を実行するプログラムを書いたが,結果が表示されない A8.sqliteを使ってSQLを実行すると,検索結果が表示されず,「trというカラムはありません」というメッセージが返ってきました。そこで,実際にどんなカラムがあるのかを「.schema」で調べてもらい,それに合わせてSQLを変更してもらいました。 Q9.検索結果のデザインを変更したいが、よくわからない。 A9.CGIでCSSを記述する方法を伝えました。 Q10.タイトルにある語を含む図書を検索すると検索結果は複数件出るが,著者名にある語を含む図書は(複数件出るはずなのに)1件しか出てこない。 A10.Ruby の db.excec内の 「?」の使い方を間違えていました。?の数だけ引数が必要であることを説明しました。 Q11.第9回レポートであるHTMLページのドキュメントタイプを「HTML4.0 Framework」で作成しました。レポートではドキュメントタイプは指定されていないのですが,授業資料に載っているソース例は「HTML4.01 strict」で作成されているので,このままでも問題ないか心配です。 A11.授業担当の先生に直接聞いて下さい,と回答しました。また,チューターからも授業担当教員にこの質問があったことを伝えました。 Q12.検索結果のページに色を付けるにはどこにHTMLタグを書けばいいのか分からない。 A12.Rubyのcgiプログラム内のprintしている部分に直接書けばよいです。と回答し,実際に1つタグを使ってみました。 Q13.作成したHTMLを表示できない A13.作成したHTMLの場所が間違っていたのでwwwのなかのcgi-binに配置し直すように伝えました Q14.DBのテーブルを作りたい。カラム数が2個の時の方法は分かるが,3個以上の時はどうすればいいのか分からない。 A14.CREATE TABLE Test( id integer, name text(20) ) という文は,Testというのが作りたいテーブルの名前で,idとnameというのはTestというテーブルに置きたいカラムの名前です。そしてそれぞれのカラムには,数字を入れます,とか20文字までの文字を入れます,と指定しています。ですので,この後に続いて同じようにカラム名とどの様な値を入れるかの指定をすればよいです。" 回答者 Q1-6,9:門脇 Q7-8,10-12,14:安永 Q13:水本 ============================ (文責:水本)