PayPay使ってみた!
こんにちは。
最近バーコード決済がなにかと話題ですね。
日本ではPayPay, LINE Pay, 楽天 Payなどが普及してきており、バーコード決済戦国時代に突入している感じがします。
今回はその中でも100億円あげちゃうキャンペーンで有名なPayPayを使ってみたので使用感や感想を皆さんに紹介してみようと思います。
12月4日からファミリーマートでPayPayを使用することが可能になったので、早速ファミマで使用してみました!
ラーメンを食べ終わったあとだったので口直しにアイスを購入。。。
レジにて、
自分「PayPayでお願いします」」
といいながらPayPayアプリを開き、以下の画面のバーコードを店員さんに提示。
そしたら、いつものようにバーコードリーダーで読み取られ決済は完了!
感想として、早!楽!ですね。
ちなみに決済の仕方は2通りあります。
①PayPayアプリで自分のバーコードを店側に提示し読み取ってもらう方法
②店側が用意したバーコードを自分のPayPayアプリでスキャンし支払う方法
今回は①で決済をしました。
購入履歴は以下のようにすぐ反映されます。
”ファミリーマートに支払い -198円”がアイスを購入した履歴です。
ん?おや?一つ上に+39円という謎の収入がありますね〜〜。
これは、あれです。100億円あげちゃうキャンペーンの一環で2018年12月4日9:00~2019年3月31日23:59の間は常に購入金額の20%が返金されます。
さらに詳しいキャンペーン内容は下記HPに書いてあります。
これはシンプルに最高ですね。
PayPay株式会社は顧客獲得のために最初は赤字なんて当たり前!ってスタンスで顧客還元してますねー!!!!!頑張ってらっしゃる。
消費者からしたら最高なキャンペーンですよね。。。
バーコード決済戦国時代の日本では、PayPayが一歩先に進んでいる感じなのかな?
今後に期待です。
pythonでgoogleトレンドの情報を取得する方法
こんにちは〜。あつかんです。
今回はpythonでgoogleトレンドの情報を取得する方法を紹介しようと思います。
googleトレンドの情報をわざわざ取得しようと思ったきっかけは、googleトレンドは時系列の情報しか表示しておらず、その時系列情報に対して様々な分析を行いと思ったからです。
早速ソースコードを紹介と言いたいところなのですが、まずはプログラムを実行するために必要なpytrendsというモジュールを下記コマンドでインストールしてください。
pip install pytrends
またJSON形式でデータを取り扱うので、出力結果を見やすくしてくれるpprintモジュールもインストールしておきましょう。
pip install pprint
今回は"Java","Python","Ruby","Javascript"のトレンドデータを2014-01-01〜2018-09-30の範囲で取得しようと思います!
下記のソースコードを実行すれば、実行ディレクトリにトレンドデータが入ったoutput.jsonファイルが作成されるはずです!
import matplotlib.pyplot as plt
from pytrends.request import TrendReq
import json
from datetime import datetime
import pprint
tValue = []
array = []
list = []
bbb = 0
pytrends = TrendReq(hl='ja-JP', tz=360)
kw_list = ["Java","Python","Ruby","Javascript"]
for i in range(len(kw_list)):
list.append([])
pytrends.build_payload(kw_list, timeframe='2014-01-01 2018-09-30', geo='JP')
df = pytrends.interest_over_time()
for i in range(len(df[kw_list[0]])):
for i in range(len(kw_list)):
list[i].append(int(df[kw_list[i]].values[i]))
for t in df.index.values:
tValue.append(str(t)[0:10])
dict = {'time': tValue[bbb]}
for i in range(len(kw_list)):
dict[str(kw_list[i])] = list[i][bbb]
bbb += 1
array.append(dict)
trend = {
'data': array
}
pprint.pprint(trend)
f = open('output.json', 'w')
json.dump(trend, f)
実行すると下記の画像のようなjson形式のデータがoutput.jsonとしてファイルが作成されていると思います!
上記の画像はpprintを使って整形して出力しているので、output.jsonファイルの中のデータと同一の構造です。
あとはこのJSON形式のデータを自分の好きなように扱うだけですね!
もしエラーが発生したら、コメントでお問い合わせください!
次回はこの情報をグラフ化する方法について紹介しようと思います〜。
GASでGoogleカレンダーの当日の情報を定期的にGmailに送信する!
自分は毎日のgoogleカレンダーの情報を当日の朝にgmailにまとめて送付しています。
今回はその方法を説明しちゃいます!
ほとんどコピペで済むので、安心してください!笑
まずは以下の画像のようにスプレッドシートからツールを押してスクリプトエディタを開いてください。
そして以下のソースコードをコピペして貼り付けてください
function sendScheduleToGmail() { var myCals=CalendarApp.getCalendarById('カレンダーID'); //特定のIDのカレンダーを取得 var myEvents=myCals.getEventsForDay(new Date()); //カレンダーの本日のイベントを取得 var strBody = ""; /* 当日予定の数だけ繰り返し回す */ for(var i=0;i<myEvents.length;i++){ var strTitle=myEvents[i].getTitle(); //予定のタイトルをゲット var strDesc=myEvents[i].getDescription(); //予定の詳細をゲット strBody=strBody +strTitle + '\n' + strDesc + '\n'; //Gmailに送る文字列に予定のタイトルと説明を追加 } //Gmailに送信 MailApp.sendEmail({ to: '送りたいメールアドレス', subject: '今日の予定一覧', body: strBody }); }
ここで、ちょっとだけ編集。
このソースコードに自分のgoogleカレンダーのカレンダーIDと送りたいメールアドレスを貼り付けましょう。
カレンダーIDの取得方法は以下のリンクから。
Googleカレンダーで各カレンダーのカレンダーIDを知る方法 | スキコミ
そして、実行するとgmailに予定の一覧が届いていると思います!
あとは毎日定期的に送信する方法ですね。
以下の画像のように編集から現在のプロジェクトのトリガーを選択しましょう。
そして以下の画像のように設定してみてください。
時間帯は自分の好きな時間でも大丈夫です。
もし、送信したい時間を詳細に設定したい場合は以下のリンクを参照してみてください!
Google Apps Script で毎日決まった時間にスクリプトを実行するトリガー設定
以上が、GASでGoogleカレンダーの当日の情報を毎日定期的にGmailに送信する方法!でした〜。
お疲れ様です。
【Apache】Raspberry pi 3でWebサーバを構築する方法【ラズパイ】
ラズパイ買って何しよう?
Webサーバーでも立ち上げるか!と思っている方へ。
そのためにはApacheを入れなければなりません。
その方法は以下のコマンドをターミナルで入力するだけ。
sudo apt-get install apache2
念のため本当に入っているか確認するためにバージョンもみておきましょう。
apache2 -v
バージョンの情報が出力されて入れば完了です。
次にChromeなどのブラウザを立ち上げて、URL欄に
と入力してみてください。
It works!
が出てきたら勝ちです。
htmlファイルの場所は以下の場所にあります。
/var/www/html/index.htm
ここにあるindex.htmlを編集し、http://localhostと入力するとその編集されたhtmlに対する出力が表示されるはずです。
以上が、ApacheでWebサーバー化する方法でした〜!
参考になれば幸いです!
【Java】サーブレットで訪問回数カウントプログラムを作ってみた!
こんにちは、あつかんです。
最近、javaを猛烈に勉強していたので習った知識をブログで共有しておこうと思います。
今回は、Webページを訪問した時によく目にする訪問回数をカウントするプログラムを作成してみました!
package servlet; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletConfig; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @WebServlet("/CounterServlet") public class CounterServlet extends HttpServlet{ private static final long serialVersionUID = 1L; public void init(ServletConfig config) throws ServletException{ super.init(config); Integer count = 0; ServletContext application = config.getServletContext(); application.setAttribute("count", count); System.out.println("ini()が実行されました"); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{ ServletContext application = this.getServletContext(); Integer count = (Integer)application.getAttribute("count"); count++; application.setAttribute("count", count); response.setContentType("text/html; charset=UTF-8"); PrintWriter out = response.getWriter(); out.println("<html>"); out.println("<head>"); out.println("<title>訪問回数を表示</title>"); out.println("</head>"); out.println("<body>"); out.println("<p>訪問回数:" + count + "</p>"); out.println("<a href=\"/example/CounterServlet\">更新</a>"); out.println("</body>"); out.println("</html>"); } public void destroy() { System.out.println("destroy()が実行されました"); } }
まずinitメソッドから始まり、ここではcount=0の値を
application.setAttribute("count", count);
を使用してcount変数に入っている値0を"count"にアプリケーションスコープとして保存しています。
次にdoGetメソッドが実行されます。
application.getAttribute("count");
で"count"に入っている値を取り出して、その値に+1をしています。
そのあとに
application.setAttribute("count", count);
でcount変数に入っている値を"count"にアプリケーションスコープとして保存しています。
そして、ページが更新されるとアプリケーションスコープに入っている"count"の中身を
application.getAttribute("count");
で取り出します。
更新されるとinitメソッドの特性(1回目しか実行されない特性)により、initメソッドは処理されずにdoGetメソッドからプログラムが始まります。
つまり更新されるたびに1が足されていくため、訪問回数がカウントできるわけですね!
プログラムをコピペして、Tomcatサーバーで実行してみると動くと思います!
わからないことがありましたら質問受付ます!
ではでは〜