スキップしてメイン コンテンツに移動

投稿

読書感想まとめ

読書感想のツイートをまとめています。
最近ペースが落ちているけど、今年はもっとたくさん勉強したいです。
随時更新予定。

Learning C# by Developing Games with Unity 2019
「Learning C# by Developing Games with Unity 2019」を読み終えた。ちょっと初心者向け過ぎたかな。この内容ならUnity Learnをやった方が良かった。https://t.co/SHiSsBANkp— ややお (@yayaochannel) May 8, 2020
Introduction to JavaScript Object Notation
「Introduction to JavaScript Object Notation」を読み終えた。JSONについて詳しくなったので、今後活用していきたい。https://t.co/pQYH7IDgGa— ややお (@yayaochannel) May 25, 2020

「キラキラ☆プリキュアアラモード」の感想ツイートのまとめ

「キラキラ☆プリキュアアラモード」の感想ツイートのまとめです。
少し異色だったけど、いつものプリキュアと変わらずに面白かったです。

24話視聴。
きらりん、かわいい。グレイブはただのヤンキーじゃん。#プリキュアアラモード— ややお (@yayaochannel) May 1, 2020
25話視聴。
これはやばい。高校生プリキュアコンビ、尊いな。#プリキュアアラモード— ややお (@yayaochannel) May 1, 2020
26話視聴。
ビブリーかわいいなぁ。これからプリキュアと仲良くなりそう。#プリキュアアラモード— ややお (@yayaochannel) May 1, 2020
27話視聴。
あおいちゃん回。好きなことほど嫉妬しちゃうよね。分かる。#プリキュアアラモード— ややお (@yayaochannel) May 2, 2020
28話視聴。
ひまりちゃん回。ひまりちゃんの変身バンクが一番好きなんだよな。#プリキュアアラモード— ややお (@yayaochannel) May 4, 2020
29話視聴。
ゆかりさん回。やっぱり高校生コンビ、いいわぁ。#プリキュアアラモード— ややお (@yayaochannel) May 4, 2020
30話視聴。
あきらさん回。あきらさん、王子様してるね。ついでにゆかりさんはお姫様してるね。#プリキュアアラモード— ややお (@yayaochannel) May 4, 2020
31話視聴。
いちかちゃん回。お母さんがいなくて寂しいのを無理して隠していたのね。泣ける。。#プリキュアアラモード— ややお (@yayaochannel) May 4, 2020
32話視聴。
ビブリーかわいそうすぎて泣ける。#プリキュアアラモード— ややお (@yayaochannel) May 4, 2020
33話視聴。
ビブリー、かわいいなぁ。#プリキュアアラモード— ややお (@yayaochannel) May 6, 2020
34話視聴。
ゆかりさん、自由すぎる。#プリキュアアラモード— ややお (@yayaochannel) May 10, 2020
35話視聴。
ひまりちゃんとあおいちゃんは結構相性良さそう。#プリキュアアラモード— ややお (@yayaochannel) May 10, 2020
36話視聴。
あきらさんが万能すぎる。#プリキュアアラモード— …

英語学習のおすすめリンク集

英語学習で役に立つリンク集です。随時更新していきます。
学習サービスBBC Learning English ・グラマーから英単語まで大量のコンテンツがあります。初心者におすすめ。 https://www.bbc.co.uk/learningenglish/english/

Coursera ・英語に限らず、色々な大学や企業のコースを受講できます。 https://www.coursera.org/

Cram ・単語カードを作成できるWebサービス。英単語の暗記に使っています。 https://www.cram.com/

辞書Cambridge Dictionary https://dictionary.cambridge.org/
Oxford Learner's Dictionaries https://www.oxfordlearnersdictionaries.com/

Weblio 英和辞典・和英辞典 https://ejje.weblio.jp/


PythonでSQLiteを使用する

PythonでSQLiteを使用する方法は下記の通りです。

import sqlite3 #Connectionを作成する。 con = sqlite3.connect('test.sqlite') #Cursorを作成する。 cursor = con.cursor() #SQLを実行する。 cursor.execute('CREATE TABLE USERS (ID INTEGER, NAME TEXT)') cursor.execute('INSERT INTO USERS (ID, NAME) VALUES (1, \'Tom\')') cursor.execute('INSERT INTO USERS (ID, NAME) VALUES (2, \'Bob\')') #コミットする。 con.commit() #SELECT文を実行する。 for row in cursor.execute('SELECT ID, NAME FROM USERS'): print('ID:', row[0], 'NAME:', row[1]) #Connectionを閉じる。 con.close()
基本的な使い方だけですが、シンプルで使いやすいですね。
ちなみにSQLiteファイルがない場合は自動的に作成されます。

環境 Windows 10 Pro
Python 3.8.2
参考サイトsqlite3 --- SQLite データベースに対する DB-API 2.0 インタフェース

Pythonを使ってBloggerに記事を投稿する

Pythonを使ってBloggerに記事を投稿する方法を調べました。

まずはOAuth 2.0のユーザー認証の事前準備を行います。

基本な流れは下記の通りです。

1.Google API Consoleでプロジェクトを作成します。
Google API Console

2.下記のサイトを参考に、「Blogger API v3」を有効にします。
Enable APIs for your project

3.下記のサイトを参考に、Credentialsを作成します。
Create authorization credentials

4.作成したCredentialsの「client_secrets.json」をダウンロードします。

これで事前準備完了です。


次は実行環境に必要なライブラリを下記のコマンドでインストールします。
pip install --upgrade google-api-python-client pip install --upgrade oauth2client
依存関係の問題を排除するために仮想環境を利用した方が良いと思います。
仮想環境は下記の記事を参考に作成します。
Pythonの仮想環境を作成する

これでようやく実装する準備が整いました。
あとは実装するだけです。

Bloggerに投稿するコードは下記の通りです。
作成した「client_secrets.json」はコードファイルと同じフォルダに保存します。

import os from googleapiclient import discovery from googleapiclient.http import build_http from oauth2client import client, file, tools scope='https://www.googleapis.com/auth/blogger' blog_id = '自分のブログID' client_secrets = os.path.join(os.path.dirname(__file__), 'client_secrets.json') flow = client.flow_from_clientsecrets( client_secrets, …

PowerShellのスクリプトが実行できない場合の対処方法

Visual Studio Codeで仮想環境のPythonを使って実行したら下記のエラーが発生しました。

このシステムではスクリプトの実行が無効になっているため、
ファイル Activate.ps1 を読み込むことができません。詳細については、「about_Execution_Poli
cies」(https://go.microsoft.com/fwlink/?LinkID=135170) を参照してください。
発生場所 行:1 文字:3
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : セキュリティ エラー: (: ) []、PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess


このエラーはPowerShellの実行ポリシーによってスクリプトの実行が制限されていると発生します。

PowerShellの実行ポリシーを確認するためには下記のコマンドを実行します。

PowerShell Get-ExecutionPolicy
PowerShellの実行ポリシーは初期設定では「Restricted」になっています。
これをもっとゆるい実行ポリシーに変更すればエラーが発生しなくなります。

実行ポリシーには以下の種類があります。
Restricted:すべてのスクリプトが制限される。
AllSigned:すべての署名付きスクリプトのみ実行可能。
RemoteSigned:ローカルは実行可能。リモートは署名が必要。
Unrestricted:すべてのスクリプトが実行可能。ただし、リモートは実行時に確認される。
Bypass:すべてのスクリプトが実行可能。

下記のコマンドで実行ポリシーを「RemoteSigned」に変更することができます。
なおこのコマンドを実行するためには管理者権限が必要になります。

PowerShell Set-ExecutionPolicy RemoteSigned
これでPowerShellのスクリプトが実行できるようになりました。


Pythonの仮想環境を作成する

virtualenvを使用して、Pythonで仮想環境を作成します。

まずは下記のコマンドでvirtualenvをインストールします。

pip install virtualenv
インストールが完了したら、下記のコマンドで仮想環境を作成します。
※「testenv」は仮想環境の名前なので、好きな文字列に置き換えます。

virtualenv testenv
仮想環境の有効化は下記のコマンドで行います。

testenv\Scripts\activate
仮想環境の無効化は下記のコマンドで行います。

testenv\Scripts\deactivate
以上でPythonの仮想環境を作成することができます。
開発環境移行時に依存関係の問題などが生じないように今後から仮想環境下で開発を進めていこうと思います。

環境Windows 10 Pro
Python 3.8.2

「BADLAND」の感想

Steamでプレイしたゲーム「BADLAND」の感想です。


「BADLAND」は変な生物をジャンプさせてゴールまで導くアクションゲームです。
Steamのリンクは下記になります。

https://store.steampowered.com/app/269670/BADLAND_Game_of_the_Year_Edition/

とにかくグラフィックが綺麗でした。
こういう雰囲気ゲーはやっぱり良いですね。
大好きです。
ゲームにとって良いデザインは必須ですね。

あとこのBADLANDに関してはレベルデザインも良くできています。
少し頑張ればクリアできる絶妙な難易度のおかげで失敗しても何回もチャレンジしてしまいます。
アクションゲームにこの中毒性は重要です。

一点気になった点があります。
それは画面が暗すぎてよく見えないステージがあったことです。
私のモニターが暗すぎただけかも知れないですが。
ただ暗くてもプレイに支障がなかったので、暗い場面ではあえて障害をなくしているのかも知れないですね。

こういうシンプルな操作性で楽しく遊べるゲームって良いですね。

Using Python to Access Web Dataを受講しました。

Courseraで「Using Python to Access Web Data」というコースを受講しました。
コースは下記のリンクから移動できます。

Using Python to Access Web Data

このコースはPythonを使ってWebデータにアクセスする方法を紹介しています。
前回受講したコースと比べて格段とレベルアップした内容になっています。

こういう実用的な内容は受講していて面白いですね。
レクチャーを受けながら、どういうWebサービスを作ろうか色々考えてしまいました。
とりあえず勉強がてらBlogger APIを使って、ブログの記事をプログラミングから投稿できないか試してみようと思います。
あとTwitter APIを使ってなんかできないかも考えてみたいですね。
こういう内容の授業を受けると、どんどん夢が広がります。

次は「Using Databases with Python」を受講します。

Pythonでxmlファイルを読み込む

Pythonでxmlファイルを読み込む方法は下記の通りです。

import xml.etree.ElementTree as ET # xmlをファイルから読み込む。 tree = ET.parse('people.xml') root = tree.getroot() # xmlをstringから読み込む。 xmlString = '<people><person name="Tom"><age>21</age></person><person name="Bob"><age>33</age></person></people>' root = ET.fromstring(xmlString) # rootのタグを取得する。 print(root.tag) # 指定したタグの要素を取得する。 lst = root.findall('person') for item in lst: # 属性 print("Name:", item.get('name')) # コンテンツ print("Age:", item.find('age').text)
シンプルで分かりやすいですね。

環境Windows 10 Pro
Python 3.8.2