文系のIT遊記

「そもそもITって何?」と思っていた28歳♀のIT関係勉強記。

【初めてでもわかる!】ProgateのPython学習コースに挑戦!④

ProgateのPython学習コースに挑戦!

ProgateのPython学習コースI

前回は、ProgateのPython学習コースⅢについて書きました。

関数や引数を扱ったり、じゃんけんゲームを作るパートでした。

今回は、Python学習コースⅣについて書いていきます。

Python学習コースⅣ:学習の流れ

「Python学習コースⅡ」は17の小さなレッスンに分かれています。

学習時間の目安は2時間とのこと。

他の言語を学んだことのある人や、すでにPythonをやや知っている人はサクサク進むかもしれません。

ただ、このレッスンの内容を初めて学ぶ場合はもっと時間がかかると思います。

理由は次の学習内容のところで書きますが、2時間以上かかるだろうと心して取り組むことをお勧めします。

Python学習コースⅣ:学習の内容

初めてでもわかる!ProgateのPython学習コース

Python学習コースⅣでは、クラスについて学びます。

このレッスンを最後まで終わらせると、料理注文システムが完成します。

学習コースⅢよりも難易度は上がります。私のような初心者はここで苦しむはずです。

なぜなら、「クラスって何?」を理解するところから、そもそも新しい概念だから難しい。

はっきりと理解していないのに、レッスンは進んでいきます。

そして、クラスを使って実際のシステムを作ってみるところまでがコース内容に含まれています。

つまずくと永遠に悩んでしまいそうな、心が折れそうになるポイントです。

しかし、クラスもやはり必須の知識です。

ここを乗り越えたら、強い。

Pythonに限らず、他の言語でも同じ概念が出てきます。

ですから、ここで理解しておくと他の言語を学ぶ時にもきっと役立ちます。

「クラス」という概念が理解できたら、できることの幅が一気に広がるはずです。

・クラス

・インスタンス ・メソッド ・料理注文システム

 

Python学習コースⅡ:具体的なレッスンの進め方

進め方は今までと変わりません。 スライドを見て基本を理解したら、順序に従ってコードを書き、完成させます。 途中でわからないことが出てきたら、ヒントを見て、スライドを見て。 それでもどうしてもわからなかったら、答えを見ちゃって自分のコードと照らし合わせます!  

お疲れさまでした!

料理注文システム。初めてだととっても難しいです。 でも、クラスが理解できたら、プログラミングの幅はとっても広がります。 意味のわからない記号の羅列だったプログラミングのコードが、理解しながら読めるようになります。 きっとそこにはとっても奥の深い、面白い世界が広がっているはずです! Progateで一緒にプログラミング学習への第一歩を踏み出しちゃいましょう♪  プログラミングの入門なら。基礎から始めるProgate

【初めてでもわかる!】ProgateのPython学習コースに挑戦!③

ProgateのPython学習コースに挑戦!

ProgateのPython学習コースI

前回は、ProgateのPython学習コースIIについて書きました。

複数の変数を扱ったり、お買い物プログラムを作るパートでした。

今回は、Python学習コースⅢについて書いていきます。

Python学習コースⅢ:学習の流れ

「Python学習コースⅡ」は13の小さなレッスンに分かれています。

学習時間の目安は1時間45分とのこと。

最後のじゃんけんゲームがやや曲者(クセモノ)かもしれません。

Python学習コースⅢ:学習の内容

初めてでもわかる!ProgateのPython学習コース

Python学習コースⅢでは、関数や引数、戻り値について学びます。

最後は、学んだ内容を使ってお「じゃんけんゲーム」を完成させます。

学習コースⅡよりさらに難易度は上がります。

しかし、Pythonに必須の知識です。

これができたら、きっとさらにプログラミングが面白くなるはず。

・関数

・引数 ・戻り値 ・じゃんけんゲーム

Python学習コースⅡ:具体的なレッスンの進め方

進め方は今までと変わりません。 スライドを見て基本を理解したら、順序に従ってコードを書き、完成させます。 途中でわからないことが出てきたら、ヒントを見て、スライドを見て。 それでもどうしてもわからなかったら、答えを見ちゃって自分のコードと照らし合わせましょう!

お疲れさまでした!

簡単でも、自分でちょっとしたゲームが作れるなんて、すごいですよね!! Progateで一緒にプログラミング学習への第一歩を踏み出しちゃいましょう♪  プログラミングの入門なら。基礎から始めるProgate

【初めてでもわかる!】ProgateのPython学習コースに挑戦!②

ProgateのPython学習コースに挑戦!

ProgateのPython学習コースI

前回はPythonを学ぶ入り口、ProgateのPython学習コースIについて書きました。

今回は、Python学習コースIIについて書いていきます。

Python学習コースⅡ:学習の流れ

「Python学習コースⅡ」は14の小さなレッスンに分かれています。

学習時間の目安は1時間55分とのこと。

最後のお買い物プログラムに手間取ると、2時間を過ぎてしまうかもしれません。

Python学習コースⅡ:学習の内容

初めてでもわかる!ProgateのPython学習コース

Python学習コースIIでは、複数のデータを扱う方法や、繰り返しの処理について学びます。

最後は、学んだ内容を使ってお「買い物プログラム」を作ります。

学習コースIより難易度は上がりますが、できることの幅もグッと広がります!!

・リスト ・辞書 ・for文 ・while文 ・break ・continue ・お買い物プログラム

Python学習コースⅡ:具体的なレッスンの進め方

学習コースⅠの時と基本は変わりません。

スライドを見て、指示に従ってコードを書き、出力してみる。

うまくいけば嬉しいし、実行できなかったら、コードを見直す。

それでもわからなかったらヒントや答えを見る。

これを繰り返すと、Python学習コースIIが終わる頃には、複数のデータや繰り返し処理が扱えるようになります!

 

お疲れさまでした!

繰り返し処理や変数が扱えるようになってくると、なんだかプログラミングをやっている感が出てくる気がしませんか?

Progateで一緒にプログラミング学習への第一歩を踏み出しちゃいましょう♪

 プログラミングの入門なら。基礎から始めるProgate

 

【初めてでもわかる!】ProgateのPython学習コースに挑戦!①

ProgateのPython学習コースに挑戦!

ProgateのPython学習コースI

プログラミングの学習を始めようとする時、必ずといっていいほど名前を聞くのが「Progate」。

無料でもHTML&CSSは少し学習できるけれど、有料だとたくさんのコースに取り組めます!

Python学習コースは有料の範囲ですが、月額980円(税抜)なので気軽に取り組めます。

ProgateのPython学習コース

ProgateでPython学習コースIに挑戦

Pythonエンジニア認定基礎試験の学習時にもお世話になった、ProgateのPython学習コース。

中途半端になっていたので、思い出しながら取り組んでみました。

学習コースはI〜Ⅴの5つに分かれています。

まずは「学習コースⅠ」について書いていきます。

Python学習コースI:レッスンの流れ

「学習コースI」は17の小さなレッスンに分かれています。

学習時間の目安は1時間45分。

本当の本当にプログラミングの学習が初めての人は、もう少し時間がかかるかもしれません。

逆に、どんどん進む人は、1時間45分もかからないかなあ。

Python学習コースI:学習の内容

Pythonで文字列や数値を出力する時に使う「print」や、変数の概念等について教えてくれます。

コードの書き方のルールも、1レッスンにつき1〜2個のペースです。

一気にたくさんの情報量を受け散らずに済むので、気持ちが折れずに勧められます!

Python学習コースI:具体的なレッスンの進め方

Progateでは、自分でPCの設定をしなくてもコードを実行できる環境を用意してくれています。

だから、「おお!私が書いたコード、動いた!」という感動がすぐに味わえます。

画面の左側に下のような手順が表示されます。

ProgateのPython学習コース

手順に従って、今度は下のような黒い画面にコードを書いていきます。

ProgateのPython学習コース

コードを書いたら、右側のコンソールにある「▶︎」を押して、見本通りに動くかどうかを確認します。

ProgateのPython学習コース

これを17回行うと、Pythonの超基礎部分がわかるようになります!

馴染みのない概念やコードの書き方に戸惑う方もいるかもしれませんが、大丈夫です。

だって超文系、プログラミングって何?状態の私でも理解できたから…!笑

これで学習コースIは終了です。

お疲れさまでした!

ProgateのPython学習コースI、いかがでしたか?

興味が湧いた人は是非、ProgateでPythonの学習を始めてみてください♪

 プログラミングの入門なら。基礎から始めるProgate

頭痛がつらい…【Panasonic EH-HM7A】頭皮エステ皮脂洗浄タイプを使ってみました!

【Panasonic EH-HM7A】頭皮エステ皮脂洗浄タイプの使用感に感動

「Panasonic EH-HM7A」買ってよかった

最初から結論を述べてしまうと、本当に買ってよかった。

これは、今年我が家にやってきたものの中でも1、2を争うよい商品でした。

PCを使っていると、どうしても頭が重い感じや首肩のコリを感じやすいです。

なんとかしたいけど、頭のマッサージに何度も行くのはお金も時間もかかる…

そんな時に出会ったのが、「Panasonic EH-HM7A」でした。

by カエレバ
 

PC疲れ解消に役立ったそのほかのグッズはこちら。

  【目の疲れ・肩こり】PC疲れ解消したい!!優秀だったモノTOP3 

【Panasonic EH-HM7A】に感動した理由は何?

なぜこんなにも感動したのか。その理由を探ります。

1.頭が軽くなる。首こりが楽になる。

Panasonic EH-HM7A ブラシ部分

もう、この理由が一番です。

頭皮を程よい強さで揉んでくれるから、一通り頭に使うと、かなり疲れが軽減します。

頭の横とか、首の近くとか。もう、最高です。

「え、なんで今まで使わなかったの?」と思うくらい。

「頭皮エステ」という名前がついている通り、頭皮をしっかり刺激してくれます。

弾力のあるブラシが4つ付いていて、さらに1個1個のブラシの先が2つに分かれているんですよね。

これで頭をウィンウィンとほぐされるので、美容室でシャンプーされいている時のような感覚になります。

2.髪がサラサラになる

この点に関しては、あまり効果を期待していなかったので、嬉しい誤算でした。

癖っ毛でまとまりづらい私の髪がなんかサラサラしてる…!!

シャンプーを流す時から「おや?」という感覚があって、ドライヤーを使っているとさらに「おやおや?」となって。

すごい。頭皮からしっかり洗うだけで、こんなに違うんだ。

だから美容室から帰るときはあんなにサラサラっだったのか。

美容室帰りに近い髪が自宅で再現できちゃうのか…!

髪についてはやや諦めの気持ちもあったのですが、サラサラになってテンションが上がりました♫

3.使っていて疲れない

Panasonic EH-HM7A 片手で持てる大きさ

個人的にはこれもかなりポイントが高くて。

写真を見た感じだと結構ゴツくて重たそうなイメージでした。

でも、実際に持ってみると、全然重くない!

私の手でも片手でにぎれる大きさ。5分くらい使っていても、全然しんどくなりません。

気がすむまで、好きなだけ、頭皮をしっかり刺激できます。

4.防水機能付き

まあ、シャンプーする時に使うのだから、当たり前かもしれないけど。

使いたい時に水とか気にせず使えるって、ありがたいですよね。

お風呂に必ずといっていいほど持ち込みます。

5.充電が長持ち

充電して使うのですが、HIGHで1週間毎日使っていても大丈夫です。

充電が少なくなるとランプがオレンジになって教えてくれるので、その時に充電します。

6.強さやリズムが変えられる

Panasonic EH-HM7A 側面の強さ調整ボタン

強さやリズムを選べるモードが3種類あります。

・LOW

・HIGH

・FINISH

私はほぼ「HIGH」しか使っていませんが、FINISHとかも強弱をつけてほぐしてくれるので、いい感じです。

【Panasonic EH-HM7A】使ってみて微妙なポイントは?

微妙なポイントも、もちろんあります。

1.強く押し付けすぎると止まる

これは安全のために必要な設定なんでしょうね。

あまりに強く押し付けていると、突然止まります。

ただ、すぐに電源を入れて再開できるので特段気になりません。

強く押し付ける癖がある人はちょっと気になるかもしれない、くらいの感覚です。

2.色がシルバー1択

色がね、シルバーしかないんですよね。

もう少し高機能の機種になるとピンクの可愛いやつがあるんですが。

でも、そこまで多機能じゃなくてもいいんだよな〜(現にほぼ1つのモードしか使ってない笑)

安さをとりたいよな〜

と考えると、妥協しないといけない部分。

もともと、女性向けというより、男性向けに作られている感じもありますよね。「皮脂洗浄」って言ってるし。

だから我慢します。

 

お疲れさまでした!

以上、使用感に感動した【Panasonic EH-HM7A】頭皮エステ皮脂洗浄タイプのご紹介でした。

目の疲れや首肩のコリから頭痛がくるという人にはうってつけかなと思います。

髪がサラサラになるというおまけ付き!笑

疲れが溜まりやすいこの時期、ぜひセルフケアに使ってみてください♫

by カエレバ
 

Pythonを使ってSlack bot作りに挑戦!〜時間と天気を教えてもらおう編〜【プログラミング超初心者】

時間と天気を教えてくれるSlack bot作りに挑戦!

前回までで、話しかけたら答えてくれるSlack botが完成しました!

今は話しかけたことに反応するだけなので、今度は情報をどこかからもってきて教えてくれるようなbotを作りたい…

そんなわけで、時間と天気を教えてくれるSlack botも作ってみました。

時間を教えてくれるSlack bot

「今何時?」と聞いたら「◯時◯分だよ!」と答えてくれるbotを作ります。

Pythonにはたくさんのライブラリがあって、それをインポートすると自分でコードを書かなくてもいろいろできるというスーパー優秀な機能があるわけです。(他の言語のことはわからないので、Pythonだけのものじゃないかもしれないですが…)

今回はそれを活用していきます!

と偉そうに言っているものの、これも参考にしていた記事にサンプルが載ってたのでほぼコピペです。笑

記事はこちら。

PythonでSlackのBotを作成する方法を現役エンジニアが解説【初心者向け】

datetimeライブラリをインポートする

日時を知るにはdatetimeが必要です。

import datetime

上記のようにdatetimeをインポートします。

メンションに反応して時間を教えてくれるようにコードを書く

次に、メンションあり(@botの名前)で反応するように、コードを書きます。

respond_to('今何時?')
def time(message):
    dt_now = datetime.datetime.now()
    message.reply(dt_now.strftime('%H時%M分') + 'だよ!')

「datetime.datetime.now()」というのが、現在時刻を知るために使うコードです。

語尾は自分が好きものに設定します。

これで時間を知るためのSlack botは完成です!!

botの写真

天気を教えてくれるSlack bot

次は天気です。

天気を教えてくれるライブラリなどはないので(時間も場所も多すぎる!)自分で取りに行かねばなりません。

今回は、東京の天気を教えてくれるbotを作ります。

情報を取得するためのライブラリをインポート

ライブラリはどの場面でも活用されるものなんですね。

こちらは、Yahoo天気をスクレイピングしていた方の記事を参考に作りました!

ただ、スクレイピングはあまり高頻度で行うと「攻撃」とみなされる可能性があるので気をつけなければならないみたいです。

import urllib3
from bs4 import BeautifulSoup

#アクセスするURL
url = 'https://weather.yahoo.co.jp/weather/jp/13/4410.html'
#URLにアクセスする 戻り値にはアクセスした結果やHTMLなどが入ったinstanceが帰ってきます
http = urllib3.PoolManager()
instance = http.request('GET', url)
#instanceからHTMLを取り出して、BeautifulSoupで扱えるようにパースします
soup = BeautifulSoup(instance.data, 'html.parser')

こちらは、上記の記事からまるっと使わせていただきました。

「urllib3」や「BeautifleSoup」なるライブラリを活用して、指定したURLから情報を取得するようです。

戻り値を色々いじって扱えるデータにしています。

メンションに反応して天気を教えてくれるようにコードを書く

こちらは、元のコードそのままでは使えないのでちょっと書き換えます。

@respond_to('今日の天気は?')
def weather_today(message):
    # CSSセレクターで天気のテキストを取得します。
    # 今日の天気
    tenki_today = soup.select_one('#main > div.forecastCity > table > tr > td > div > p.pict')
    message.reply("今日の天気は" + tenki_today.text + 'だよ〜')
    input()

@respond_to('明日の天気は?')
def weather_today(message):
    # 明日の天気
    tenki_tomorrow = soup.select_one('#main > div.forecastCity > table > tr > td + td > div > p.pict')
    message.reply("明日の天気は" + tenki_tomorrow.text + 'だよ〜')
    # 一瞬で画面が消えないよう入力されるまで待機
    input()

さっきアクセスしたURLから必要なデータを取り出してきているのかな?

いい感じに形を整えることができました。

写真or twittter

お疲れさまでした!
 そんなわけで、なんとか自分のたどり着きたいレベルのSlackbotを作ることができました。
 ほぼコピペだし、まだ全てのコードを理解できているわけではないので、継続して学習していきたいです!
 そして前回も書いたけど、やっぱり実際に動くと嬉しい…!!
 モチベーションが上がります✨
 今日からまたがんばろ!!

Pythonを使ってSlack bot作りに挑戦!!〜コードを書こう!編〜【プログラミング超初心者】

Pythonを使ってSlack bot作りに挑戦!いよいよコードを書きます!

 Slack botを作ってみたい!!

 ただその一心で突撃した挑戦ですが、いよいよSlack側の設定が終わりました!

 ここからは、ついにSlackbotの中身となるコードを書いていきます。

Slack botのコードを書く前に…まずはファイルの準備から!

 コードを用意するためには、そのコードを収納しておく場所が必要になります。

 まず、デスクトップなどに「Slack_bot」ファイルを作成します。

 次に、PycharmやSpyderを起動し、ファイルを開きます。

 「Slack_bot」ファイルの下位にいくつかファイルを作成します。

 下のような画面で「slack_bot」ファイルを右クリックし、「new」を選択して新規ファイルを作成していきます。

 「plugins」にはさらに下位に「sample.py」が入ります。

 Slack_bot

 →plugins

   →sample.py

 →run.py

 →slackbot_settings.py

こんな感じ

まだ中身は空っぽですが、ここにコードを書いていきます。

ターミナル起動!!

 ここでようやくターミナルの出番です。

 Slack bot ライブラリをインストールします。

 「pip install slackbot」を入力して「Enter」。

 これでSlack botを作るために必要なライブラリがインストールできました!

 (ちなみに、Pythonだからといって最初に「Python」と入力して「Enter」をしてしまうと動かなくなるので注意しましょう。もしもやってしまった人は、終了してもう一度やり直します。)

Slack botのコードは、書くというよりほぼコピペ!

 ここから、先ほどのファイルに中身を入れていきます。

run.py

from slackbot.bot import Bot

def main():
bot = Bot()
bot.run()

if __name__ == "__main__":
print('start slackbot')
main()

 run.pyファイルに入れる必要があるコードはこれだけです。

 なんか、試験の時に見たようなコード。シンプルです。

 「start slackbot」と出力されて、botが動き始めるよ〜という感じの内容ですかね。

slackbot_settings.py

#coding:  utf-8
# botアカウントのトークンを指定
API_TOKEN = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

# このbot宛のメッセージで、どの応答にも当てはまらない場合の応答文字列
DEFAULT_REPLY = "すみません、よくわかりません。"

# プラグインスクリプトを置いてあるサブディレクトリ名のリスト
PLUGINS = ["plugins"]

 ここで、準備編の記事で登場した「APIトークン」が必要になります。

 Slack側で設定したアプリのAPIトークンを、"xxxxxxxxxxxxxxxxxxxxxx"の部分に貼り付けます。

 「DEFAULT_REPLY」には、何か言われた時のデフォルトの返事を入れておきます。なんでもいいです。

 私はgoogleさんみたいな言い方がいいなと思ったので、上記のように設定。ちょっとワクワクしますね!

sample.py

 ここに、具体的な動きを書き入れていきます。

 まずは、

from slackbot.bot import respond_to
from slackbot.bot import listen_to

 これでslack botが言葉に反応するようになります。

 「responded_to」がメンション(@botの名前)をつけて話しかけると反応。

 「listen_to」はメンションがなくても反応します。

 メンションありで反応する「responded_to」の方はこんな感じ。これもGitHub(だっかな…)からコピペして、反応する言葉の中身だけ変えてます。サムアップ(いいねのマーク)もつけてくれる仕様みたい。

@respond_to('おはよー', re.IGNORECASE)
def hi(message):
message.reply('おはよう!今日も頑張ろうね!')
# react with thumb up emoji
message.react('+1')

 メンションなしでも反応する「listen_to」の方は、何もいじってないので、コピーしてきた英語のまま。

@listen_to('Can someone help me?')
def help(message):
# Message is replied to the sender (prefixed with @user)
message.reply('Yes, I can!')

# Message is sent on the channel
message.send('I can help everybody!')

 助けてくれない?っていう言葉に反応するbot。

 これも中身を「'  '」で囲まれている文を変えれば好きなように設定できます。

Slack botを動かしてみよう!!

 ここまで中身が揃えば、もう動きます!

 ターミナルに「python run.py」と入力して「Enter」を押します。

 うまくいっていれば「start slackbot」と出力されて走り始めるはずです!!

 Slackbotの作成結果 

お疲れさまでした!

 皆さんの記事を参考にして作ってみたものの、うんともすんとも言わなくて泣きそうになりましたが、なんとか動いてくれました…!

 簡単なものかもしれないけれど、実際に動くとすごく嬉しい!!

 この嬉しさを分かち合いたいので、プログラミングを始めたばかりの方もぜひ諦めずに挑戦してみてください!

 次はもう少しアレンジしてみたSlack botについて書いていきたいと思います。