技術は私たちの力。技術は私たちの楽しみ。 Creative Developer BLOG 技術部ブログ
Technology is our strength. Technology is what we enjoy.

新しい技術を学んでみた

2018-10-03 勉強会
研修期間が終わりました。
成長しているはずの小笠原です。

今年はないだろうと思っていた私の勉強会。

自由に何か勉強するという機会は中々ないもので、考えるのにかなり苦労しました..。

約2ヶ月前ぐらいになんとなくやりたいことが決まりました。

ちょっと新しい言語の方に手を出してみることにしました!

STEP1 簡単な調査

世の中には用途によって様々なプログラミング言語があります。
今回はこちらのサイトを参考にし、選定させていただきました。

TIOBE index

https://www.tiobe.com/tiobe-index/
あまり深くは読み込んでないのですが、どうやら人気プログラミングのランキングみたいなもののようです。

今回の勉強会では

ランキングをボケーっと見ていたわけですが、
今回私が学習しようと思った言語は・・・

スバリ、Pythonです!(理由:人気だししよく耳にするから)
(システム部の皆様は色々思うことはあると思いますが・・)

・初心者に優しい
・機械学習やデータ解析に長けている。
などの特徴があるようです。

STEP2 環境構築

まずは環境構築から行なっていきます。

今回は、pycharmというアプリケーションを使用しました。
(色々なサイトを見ていて結構オススメされていたので・・)

環境設定

色々と便利にするための設定があるらしいのですが、今回は下記の動画を参考にさせていただきました。(タイトルにやられました)



STEP3 さて勉強だ!

環境構築も終わったのでまずは基礎的な学習から入ります。
基本的な文法などについててはインタラクティブシェルで実行していきます。

何点か慣れない点が

pythonはインデントが厳しく、末尾にセミコロンが必要ないのでこの2点で何度か苦労しました。(色々と未経験なもので・・・)

下記はほんの1例

Pythonは便利なライブラリが豊富

そんなこんなで、1ヶ月ほど学習期間に当て、残り1ヶ月は何か作成する期間にしました。

pythonでは、プログラマがすぐに使えるような標準ライブラリがたくさんあります!
その中でこれはいいな!と思ったものを2つほど紹介していきたいと思います。

・pyperclip

ますは1つめ、pyperclipというモジュールです。

機能としては、クリップボードとテキストデータのやりとりができます。

簡単に例を紹介いたします。

・selenium

selenium....どこかで聞いたことがある言葉ですね。Webの操作をPythonのコードから操作できるものです。

こちらつきましては後ほど説明します。

STEP4 今回は3つほど簡単な物を作成しました。

作成期間は1ヶ月ほど。

ある程度の知識も得ることができましたので、
早速何か作ることにしました!

1.Web上の情報を検索しそれを加工する

まず最初に、先ほど紹介いたしましたpyperclip関数を使って1つ作って見ました!

ソースコード(一部)

簡単言いますとコピーして来た内容から
・電話番号(011)、メールアドレス、郵便番号(〒付き)
を抜粋して加工するという形になっています。

2.セレニウムで自動化

次はセレニウムのモジュールを使った自動化です。

先ほどもご紹介いたしましたが、セレニウムではWebの操作をコードを用いて自動的に行うことができます。

今回は毎朝のルーチンワークのログイン作業の一部を自動化してみました!

ソースコード(一部)

3.botを作って見た

slackbotというモジュールを使用することで誰でも簡単にbotを作ることができるようです。

Slackとは

Slackはグループチャット、1対1のメッセージング、音声通話をWebサービスとして提供している。また同様の機能をデスクトップアプリおよびスマートフォンアプリでも提供している。
※wikipedia参照

Slackにtestbotさんを作成

自分のアカウントを登録後、testbotさんも作成します。
botアカウントを作成すると下記のようにAPIトークンが発行されます。
これをプログラムに組み込み、あとはコードを作成し、botを起動させるだけです。

作成ファイル

・bot起動ファイル
・bot基本設定ファイル
・機能ファイル
・パッケージ化ファイル(よくわからなかった・・)

ソースコード(一部)

実行

意外とすんなりと実行することができました。今回はほんの一部ですけどまだまだやれることは多そうです!

最後に

今回はpythonというプログラミング言語について学びました。
とても良い機会だったなと感じています。
次回やるときは全く別のこともいいのではないかとも感じました。(やるかどうかは別として)

とりあえず、pythonはこれにて休憩いたします(まだまだやらなきゃいけない他言語が多いので・・・)

ご静聴ありがとうございました。
記事一覧へ

Member

システム部開発ユニット
システム部SIユニット
クリエイティブ戦略部デザインユニット
クリエイティブ戦略部プランニングユニット
管理部