善光寺で写真を撮ってきたよ

こんばんわ、もうすぐクリスマスでもあり、お正月でもあるこの季節。子供のころはこの季節が一番楽しみでした。最近は秋と春が恋しいです。

現在(2021年12月22日)、善光寺ではライトアップや街頭のイルミネーションを行っています。さらに、同じコースである、信州大学の村松研究室の活動に参加させていただき、ライトアップの活動を一緒にさせていただきました。いつもありがとうございます。

村松先生の研究室のホームページです。いつもありがとうございます。

今回はそんなこともあり、写真をいくつか撮ってきたので、紹介したいと思います!

城山公園からの善光寺
ド派手にライトアップされている善光寺

善光寺の正面ではプロジェクションマッピングを行っていてとてもきれいでした。音楽と光、色も多彩で二回も立ち尽くしてみていました。時間は19時頃でもかなり人も多かったです。

今回は普通に写真を撮影するのではなく、スマートフォンと私が高校生から使っているまだ現役と信じている一眼レフカメラの比較を行いたいと思います。

頑張ってる一眼レフ
現役のiPhone11

同時刻にほとんど同じ位置から撮影したのにも関わらず、見え方がかなり違いますね。一眼レフでは、黒色がはっきりしているのに対して、iPhone11ではかなり鮮やかに見えます。これが補正です。色鮮やかな風景を綺麗に撮りたいときはスマートフォンで、しっかりと黒を出したいときには一眼レフという使い分け方もいいですね。

最後に今回撮影した写真をスライドにして、今回は終わりたいと思います。

新しい一眼レフがさしぶりに欲しくなりました。ありがとうございました。

楽しかった10代が終わってしまいました。(T-T)

こんにちは。
信州大学 教育学部 小倉研2年の peace です。

タイトルにもあるように、本日12月18日をもちまして、
楽しかった10代が終わり、peaceは20歳になりました。
(祝ってくれ!というブログではありません。)

10代は、長かったようでとても短かったような不思議な感覚でした~
中学・高校・大学・バイト先etc…でいろいろな人と出会い、いろいろな経験(成功も失敗も)をすることができました。これは、一生の財産ですね。

文字だけのブログになりそうだったので、高校時代に訪れた兼六園を

まぁ、10代の振り返りはこんなところで終わって、未来のお話を、、、
と考えたのですが、私の未来に興味のある人もいないと思うので

「20歳になっても勉強頑張るぞ~!」

ということだけ、宣誓しておきます。

さぁ、20代はどんな時間になるかなぁ、、、


寒い時こそ運動を!

こんにちは。
信州大学 教育学部 小倉研2年の peace です。

冬ですね。毎日寒すぎて、コタツにこもっていたいです、、、
というブログではありません!!

今回は、寒い時こそ運動をしませんか?というブログです。
こういうブログを上げると「筆者はやってんのかよ💢」と言われそうですが、
一応、定期的にランニングをしているんですよ!
走る理由としては、

1.勉強の息抜きに
2.高校時代のように動ける体が欲しいから
3.好きなアーティストに憧れて

という感じです。

この3つの中では、「 2.高校時代のように動ける体が欲しいから 」というのが一番の理由です。あの頃のような少し運動しても息切れしない体が欲しい(☆。☆)


また、この時期は、受験勉強を頑張っている学生さんが多いと思いますが、たまには外の空気を吸って、軽く運動するのも良いですよ!スマホを見てダラダラ休むよりも、散歩やランニングの方が時間を決めて計画的に勉強できます!だけど、いきなり激しい運動を行ったり、走っているときに考え事をするのはNGです。怪我や事故につながってしまいますからね。軽~い運動から始めてみてください。

最後に、私が走るときに聴いている曲を一曲だけ紹介しておきますね!
(自転車・車通りのある場所でイヤホンつけて走るのはダメですよ!)

「3.好きなアーティストに憧れて 」の答えは、UVERworldのTAKUYA∞さんでした!
UVERworldの曲はどれもおすすめです。とにかくかっこいい!歌詞がいい!

ちなみに、ランニングをしていると↓のような綺麗な景色を見れることもありますよ!

雨上がりのランニング。夜ランのときはライトや反射材必須です!

授業で作ったWebアプリケーション②

こんにちは、今回は前回の続きとして、私が作ったWebアプリケーションの簡単な解説を続けようと思います。

前回からの続きになるので、まだ見ていない方は下のリンクから見てみてください!↓↓

前回までは、GooglebooksAPIについて初学者ながら解説を行いました今回はAPIを使う上で必然的に出てしまうエラーに対処する方法について考えてみたいと思います。

まず、今回作りたいプログラムのおさらいをしたいと思います。

今回作りたいアプリケーションの条件

言語:python3.8.8

やりたいこと:GoogleBooksAPIを活用して、検索ツールの作成

ほしい検索結果:本の題名・本の著者・発売日・ページ数・紹介文・購入まで飛ぶことができるURL・検索結果の本の画像

前回は、GoogleBooksAPIの使い方について扱いました。今回は、APIを経由して検索をかけた際に、エラーが出てしまうときがあるのでそれの対処について扱いたいと思います。

考えられるエラー

検索をかけた時、GoogleBooksにない書籍を検索をかけた場合、KeyErrorと出てきます。これをそのままにしておくのは利用者の立場からすると、使いにくいと思われます。

それに対処するために、try~exceptを使いたいと思います。(Python公式の解説はこちら

この関数はわかりやすくすると、「エラーが起きた時にする動作を決める」ことができます。

使い方は、「tryの中に、errorが起きなかった時の動作」「exceptの中に、errorが起きた時の動作」を書くだけです。難しい定義も必要ないので、簡単に実装することができます。

for i in range(0,1) :
   url = 'https://www.googleapis.com/books/v1/volumes?q='+tool+want  #GooglBooksAPI
   response = requests.get(url).json() #情報の取得,json変換
   totalitems = response['totalItems'] #件数1
   try :
       items_list = response['items'] #items リストデータ
       items = items_list[i] #items
       info = items['volumeInfo']
       print(response)
       title = info['title']
       pagelink = info['canonicalVolumeLink']
       description = info['description']
       print('紹介文が見当たりません')
       print('タイトル:', title)
       print('URL',pagelink)
       print('~~~~~~~~~~紹介文~~~~~~~~~~~~~')
       print(description)
       print('')
       print('')
       pic=info['imageLinks']['thumbnail']
       print(pic)
   except KeyError:
       print('検索結果がみつかりませんでした')
       print('もう一度試してください')
       sys.exit()
       pass

こんな感じで、検索結果が見つからない場合には「KryError」が出た場合の動作を決めることができました。

これでほとんどの難しい箇所が終わったと思います。

では次のWebアプリケーション③に続きます

ありがとうございました。

Webアプリケーションを作りました

こんにちは。
信州大学 教育学部 小倉研2年の peace です。

大学の情報の授業で、Webアプリケーションを作成しました。
是非、下のURLからアプリケーションを利用していただければと思います。
URL:https://share.streamlit.io/i-yuki1218/peace_2346/main/streamlitworks1.py

中身が気になる方は、以下のコードをご覧下さい
(参考になるかは分かりませんが,、主要部分のみ載せておきます,,,)

ソウルナンバー診断の一部を公開!参考になれば幸いです(*^o^*)

あっ、作品の説明がまだでしたね、、、
今回のWebアプリケーションでは「ソウルナンバー診断」ができます!
生年月日を打ち込むだけで正確や相性が診断ができるので、
家族や友達と楽しんでいただけたらと思います!(年末年始の集まりで盛り上がるかも?)

授業で教材?を作りました!!

こんにちは!magnetです。

最近寒くなりましたね。外気温が低くて研究室がなかなか温まりません。

そんなご時世ですが頑張っていきましょう!

 

それでは本題に……

最近の授業で「streamlitを使ったサイトを作ろう」という課題が出ました。

私は迷ったあげく以下のサイトを作りました。

一回訪問してみて下さい。決して怪しいサイトではないので!!

https://share.streamlit.io/maglill/saisyonoyatu/main/sagi.py

下のコードは、是非参考にして下さい!

import time
import streamlit as st
from PIL import Image

st.title("おめでとうございます。")
st.write("あなたは2021年間ビジターアンケートの参加者に選ばれました!")
st.write("Chrome「ありがとう」を込めてApple iPhone 13 Pro が当たる")
st.write("チャンスを差し上げます!")

#iPhineの画像入れる。
img=Image.open('sumaho.png')
st.image(img, caption='iPhone13Pro',use_column_width=True)

st.write('iPhone13Pro')
st.write('定価:¥146800')
st.write('期間限定:¥500')

st.write("")
st.write("")
st.write("以下の質問に答えて下さい。")
st.write("")

option=st.selectbox("1日に約何時間ネットを見ますか?",list(['1','2','3','4','5','それ以上']))
option=st.selectbox("普段何時間SNSを見ますか?",list(['1','2','3','4','5','それ以上']))
option=st.selectbox("普段何時間動画を見ますか?",list(['1','2','3','4','5','それ以上']))

st.write("")#改行のためにおいた。
st.write("")

status_area = st.empty()

# カウントダウン
count_down_sec = 10
for i in range(count_down_sec):
    # プレースホルダーに残り秒数を書き込む
    status_area.write( f'あと {count_down_sec - i}   秒で自動的に申請されます。')
    # スリープ処理を入れる
    time.sleep(1)

status_area.write('回答を送信しております。しばらくお待ち下さい。')

latest_iteration = st.empty() #空コンテンツと⼀緒に変数を作成
bar = st.progress(0)#プログレスを作る 値は0
for i in range(100):
    latest_iteration.text(f'Iteration{i+1}')#空のIterationにテキストを⼊れていく
    bar.progress(i +1)#barの中⾝をぐいぐい増やしていく
    time.sleep(0.01)
    
st.write("申請が完了しました。")

st.write("")
st.write("")
st.write("")
st.write("")
st.write("")
st.write("")

st.text("以下にあなたの情報を入力して下さい。")
st.text_input("お名前")
st.text_input("住所")
st.text_input("電話番号")
st.text_input("連絡の取れるメールアドレス")
st.write("")
st.text_input("何か要望があればお書き下さい。")

st.write("")
st.write("")
st.write("")
st.write("")
st.write("")
st.write("")

#回答送信ボタン
st.text('※回答送信には時間がかかります。')
if st.button('送信'):
    st.balloons()
    st.write("")
    st.write("")
    st.write("")
    st.write("")
    st.write('本部への送信が完了致しました。')
    st.write('お届け予定日は4月1日以降です。')
    st.balloons()
else:
    st.write('')

 

 

ね?怪しくなかったでしょ?

これ、情報モラルとかそういうとこで教材として使えると思うんです。(まだ不完全ですが)

無断使用全然OKなので困ったら是非使ってみて下さいね!

 

と、言うことでmagnetがお伝えしました~!

授業で作ったwebアプリケーション①

こんにちは、今回は授業で作ったWebアプリケーションの紹介・解説を行いたいと思います。

言語:python3.8.8

やりたいこと:GoogleBooksAPIを活用して、検索ツールの作成

ほしい検索結果:本の題名・本の著者・発売日・ページ数・紹介文・購入まで飛ぶことができるURL・検索結果の本の画像

GoogleBooksAPIについて

このAPIをつかうことで、GoogleBooksに検索を行い、レスポンスとして、リスト形式のレスポンスが返答される。もともとはJavaScriptで使われるAPIであるためpythonで使うときにはひと工夫が必要となる。

url = 'https://www.googleapis.com/books/v1/volumes?q='+tool+want  #GooglBooksAP
response = requests.get(url).json() #情報の取得,json変換

この2行でGoogleBooksにアクセスして、解答を得ることができます。そして、responseにリストとして、入っています。jsonというのは、GoogleBooksAPI自体がJavaScriptで使用することを前提に作られているので、それをpythonで使えるようにするためにjson変換を行い使えるようにしています。

toolの中には代表的なものですが、以下のような検索方法があります

intittleタイトル
inauthor著者
isbnISBN(10桁または13桁両方とも可能)
記入なしフリーワードで調べることが可能
toolの中身

ほかにもありますが、このくらいが代表的であると思います。wantの中身は検索したい方法に基づいたキーワードを入力すると検索できます。responseで返ってくるリストはとても複雑そうに見えますが、簡単にすると「リスト・辞書」の連続になります。

私はプログラミング初学者であり、まだまだ未熟ものですが、コードを書いてみたので、参考になるかわかりませんが、もしよかったら参考にしてください。

url = 'https://www.googleapis.com/books/v1/volumes?q='+str(tool)+str(want)  #GooglBooksAPI
response = requests.get(url).json() #情報の取得,json変換
totalitems = response['totalItems'] #件数1
print('検索結果は',str(totalitems),'件です')
for i in range(0,5) :
    items_list = response['items'] #items リストデータ
    items = items_list[i] #items
    info = items['volumeInfo']
    title = info['title']
    pagelink = info['canonicalVolumeLink']
    description = info['description']
    pagecount=info['pageCount']
    authors=info['authors'][0]
    publishdate=info['publishedDate']
    pic=info['imageLinks']['thumbnail']

詳しいことは、Googleから公式に詳細が記載されているので、下のリンクからご覧ください。

https://developers.google.com/books/docs/v1/using

次回に続きます。