仮想サーファーの波乗り

仮想サーファーの日常

プログラミング・エンジニアのスキルアップ・ブログ運営などに関してよく書く雑記ブログ

➡ Udemyで8/27(木)まで割引セール開催中! 1,200円〜で普段の90%以上OFF!

Python

Python初心者から2年間で読んだ中でオススメの技術書35冊を読むべき順番に並べた

Pythonの学習を始めて3年間でたくさんの技術書を読んできましたが、自分の技術力のレベルによって読みたい本が変わってしまうので、どの技術書を読めばいいのかがわからなくて本選びに相当な時間をかけたと思います。 今回は、これからプログラミング言語Pyt…

【初心者必見】プログラミング未経験から3年間のPython学習ロードマップ完全版

近年、Pythonの求人数・案件数が増加すると同時に単価も上がってきており、エンジニアの中で人気が高まっています。 これからプログラミング言語Pythonを学んで、Webアプリケーション開発エンジニアや機械学習エンジニアになりたいと思っている方も多いので…

【エンジニア初心者向け】UdemyのPython入門のオススメコースを厳選

Webサービスの開発やWebサイトのスクレイピングから機械学習まで、様々なことができるプログラミング言語のPython。 Pythonは人気プログラミング言語ランキングの中でも上位に入っていて、プログラミング学習初心者の方からプログラミング経験が豊富なベテラ…

Django REST frameworkでPrimary Key(主キー)以外でURL指定する

Django REST frameworkを使って簡単にAPIを実装したる!と思っていましたが、結構つまる...。 今回は、APIのURLでPrimary Key(主キー)以外でデータを取得できるようにする方法が分からず、実装まで時間がかかったのでまとめておきます。 実現したいこと 下…

スクレイピングとテキストマイニングで2018年のニュースを効率的に振り返った

先日、noteでこちらの記事を公開しましたが、スクレイピングとテキストマイニングで1年間のニュースを振り返るの結構効率的だなと思ったので書きます。 note.mu 主にプログラムと使った技術のこと書きます。 ニュース記事のスクレイピングとテキストマイニン…

【Pythonエラー解決】「TypeError: unhashable type: xxx」

TypeError: unhashable type: 'list' 上記のようなエラーが出た時の対処法。 自分で定義したオブジェクトを辞書のkeyに設定しようとすると、ハッシュ化できないからエラーになる。 intやstrのようなハッシュ化可能なオブジェクトをkeyに設定する必要がある。…

【Herokuでgit pushに失敗】App not compatible with buildpack

Localで作成したPythonのアプリケーションを既存のHeroku上のアプリケーションに強制的にプッシュして上書きしようとすると、以下のようなエラー。 $ git push -f --set-upstream https://git.heroku.com/xxx.git master Counting objects: 9, done. Delta c…

【Python初心者〜中級者向け】半年間でPython未経験が趣味で作ったものと学んだこと

半年前くらいからPythonを触ってきて、学んだこと・Pythonで作ったものをまとめておきます。 「なんとなく書きやすそう!」というアホみたいな理由で趣味で書き始めて、最初はググってコピペしながらなんとか書いていたPythonですが、半年経った今ではほとん…

PythonのHerokuアプリケーションからGoogle Spread Sheetの読み書き

「Pythonのアプリケーションで、特定のGoogle Spread Sheetに対して読み書きをしたい!!!」と思っていろいろ調べてみると、以下のような記事にて紹介されている方法で、簡単にGoogle Spread Sheetの読み書きをすることはできた。 temcee.hatenablog.com in…

Pythonで仮想通貨価格のアラートメールを送信する

今回は、仮想通貨の価格が一定以上(or 以下)になったらメールを送信してくれるプログラムをPythonで実装していきます。 smtplib(メール送信処理のPython標準ライブラリ)を利用すればメール送信の処理部分はほとんど実装することなく、超手軽にメール送信…

仮想通貨情報お知らせTwitterBotを1週間運用してみた結果

今回は、仮想通貨情報を知らせてくれるTwitterBotを開発してから運用して1週間が経ったので、その開発から運用までを振り返っておこうと思います。 気が向いたから仮想通貨の価格お知らせbot作る— 仮想サーファー@さぼりエンジニア (@virtual_techX) 2018年5…

【Pythonアプリ Herokuエラー解決】ModuleNotFoundError: No module named 'xxx'

PythonアプリをHerokuにデプロイしてたら遭遇した「ModuleNotFoundError: No module named 'xxx'」というエラー。 $ heroku logs ... 2018-05-13T02:30:45.743840+00:00 app[scheduler.6642]: File "/app/service/rss_service.py", line 1, in <module> 2018-05-13T0</module>…

PythonでSlackBot開発⑨「Twitterのつぶやき情報をMySQLに保存する」

PythonでSlackBotを開発しよう企画の第9回目。 今回は、tweepyとslackAPIを活用して、slackで入力を受け付けてTwitter上の特定のユーザーのつぶやき情報をMySQLに保存していく処理を実装していきます。 MySQLにテーブル作成 まずは、MySQLにテーブルを作成し…

PythonでSlackBot開発⑧「Heroku Schedulerでプログラム定期実行」

PythonでSlackBotを開発しよう企画の第8回目。今回はプログラムを定期的に自動実行してくれるようにしていきます。本格的にBotっぽくなってきましたが、リクエストを受け付けて処理を始めるようでは、処理を自動でしてくれている感がなくて辛いので、自動で…

【番外編】PythonでSlackBot開発 リファクタリングしてたらハマったこと

PythonのSlackBot開発でリファクタリングを進めていたら、色々ハマったところとその解消方法をメモしておきます。 ファイル間のモジュールの受け渡しや、LocalとHerokuでの変数の読み込みでどっぷりとハマることが多く時間を費やしてしまいました。悔しい。 …

PythonでSlackBot開発⑥「MySQL連携してデータベース利用」

PythonでSlackBotを開発しよう企画の第6回目。今回はデータの保存・加工をしていくために、MySQL(データベース)に連携していきます。データベース連携することで、ツイート情報の保存をしたり、保存しておいたデータを加工して利用することができるので、…

PythonでSlackBot開発⑤「DocomoAPIで雑談機能追加」

PythonでSlackBotを開発しよう企画の第5回目。今回は、DocomoAPIを活用して雑談できる機能を実装していきます。これまでは明示的に設定したレスポンスを返すようにしてきましたが、今回でようやくBotぽい動きになることを期待しています。 DocomoAPIの登録・…

PythonでSlackBot開発④「仮想通貨ダッシュボード画像をSlack送信」

PythonでSlackBotを開発しよう企画の第4回目。今回は、仮想通貨情報を教えてくれる機能を実装していきます。「特定の仮想通貨の価格チャート推移画面スクリーンショットをSlack投稿してくれる」機能を実装していきます。 CoinGeckoダッシュボード画像Slack送…

PythonでSlackBot開発③「Twitterで話題のツイートを教えてくれる」

PythonでSlackBotを開発しよう企画の第3回目。今回は、Twitterで話題になっているツイートを探して教えてくれる機能を実装し、返答内容を追加する方法を紹介します。 今回紹介する内容を応用すれば、割となんでもBotで完結できそうな予感がしてます。 現在日…

PythonでSlackBot開発②「Herokuにデプロイする」

PythonでSlackBotを開発しよう企画の第2弾!今回は、第1回目で作ったしょぼいSlackBotアプリケーションをデプロイ(いつでもアクセスできる状態に)していきましょう。 わざわざ「$ python run.py」と打ち込んでファイルを起動しなくてもBotが動き続けてくれ…

PythonでSlackBot開発①「APIキーの取得と簡単な返答」

職場でSlackを使っているのですが、「同じような定期連絡を定期でつぶやくのがめんどくさい...。自動化したい!」ということで、PythonでSlackBotを開発することにしました!今日から複数回に渡ってPythonで自動でSlack通知・受け応えをしてくれるSlack-Bot…

【Pythonのエラー解消】python3を実行しようとして「bash: python3: command not found」

久しぶりにPython触ろうかなと思ってpyファイルを実行しようと思ったら、以下のエラー。 bash: python3: command not found Python3の実行エラー解決 python3が見つからない?!なんでだ。と思いましたが、まさか消えてるわけないしなあと思ってpython3を直…

Pythonでwebアプリケーション開発⑦ ~TwitterAPIで自動フォロー/アンフォロー改良版~

以前、TwitterのAPIを触ってみよう企画第3回目でTwitterAPIを使って特定のユーザーをフォロー/アンフォローする機能をご紹介しましたが、そのコードを改良してより実践的なものにしたので、ご紹介しておきます。これを実行するだけで、フォロー/アンフォロー…

【TwitterAPIのエラー解消法】tweepy.error.TweepError: [{'code': 89, 'message': 'Invalid or expired token.'}]

PythonとTwitterAPI使って「フォローしているアカウントの中で不毛なアカウント(フォロー数多すぎるアカウント)をフォロー外す」という処理を書いて実行するようにしていたのですが、何度か連続してファイルを実行していると、急にアクセスできなくなって…

Pythonでwebアプリケーション開発⑥ ~TwitterAPIで自動フォロー/アンフォロー~

こんばんは! TwitterのAPIを触ってみよう企画の第3回目です。今回は、TwitterAPIを使って特定のユーザーをフォローしていきます。 TwitterのAPI利用準備 まだTwitterのAPI準備をしていない方は、こちらを参考にAPIを使える状態にしておいてください。 特定…

Pythonでwebアプリケーション開発⑤ ~TwitterAPIでタイムライン表示~

こんばんは! TwitterのAPIを触ってみよう企画の第2回目です。今回は、TwitterAPIを使ってタイムラインのつぶやき情報を取得していきます。 TwitterのAPI利用準備 まだTwitterのAPI準備をしていない方は、こちらを参考にAPIを使える状態にしておいてください…

Pythonでwebアプリケーション開発④ ~TwitterAPIのTweepyとforegoでつぶやき~

こんばんは! 今日は「Twitterのツイートって、自動化できないかな?」ということでTwitterのAPIをちょっと触ってみた結果をご紹介します! TwitterAPIキーの取得 まずは、TwitterAPIを使うための準備をしていきます!TwitterのAPIを使ってツイートをしたり…

Pythonでwebアプリケーション開発① ~環境構築編~

こんにちは。 近頃、機械学習が盛り上がっていますね。 「仕事の7割を奪う!」などと誇張されて危機感を誘われることが多い技術ですが 人々の仕事を奪う技術ってどんなものなのさ?! ということで、今回は機械学習のライブラリ(便利な機能が簡単に使えるよ…