仮想サーファーの波乗り

仮想サーファーの日常

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

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

プログラミングTips

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

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

【エラー解決】The engine "node" is incompatible with this module. Expected version ">=x.xx". Got "x.x.x"

Reactのアプリケーションを作ってみようかなとコマンドを叩くと、「nodeのバージョンが古いよ」というエラーが出たのでその時の対処手順メモ。 発生したエラー $ create-react-app react-test 上記コマンドでreact-testという名前のReactアプリを作成しよう…

RDBについて学びたい欲が高まった。そーだいさんの『失敗から学ぶRDBの正しい歩き方』

失敗から学ぶRDBの正しい歩き方 (Software Design plus)曽根 壮大 (著)技術評論社 (出版)不明 (発売) この本読んで関連で気になったことググってたら今週末の土日終わってしまった。 とくにデータベース界隈で積極的に活動されている曽根 壮大さん(そーだい…

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

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

MONORATE(モノレート)のデータをスクレイピングすれば自動で転売商品見つかるのか試してみた結果

モノレートというAmazonでの販売価格・販売数・販売量の推移などのデータがまとめて表示されている便利サイトがあります。 そのサイトをスクレイピング(Webサイトのデータをプログラムで読み取ること)をすれば、転売して利益が出るような商品を簡単に見つ…

初心者エンジニアが先輩エンジニアの時間を奪わないためにレビューもらう前に知っておくべきこと【順次更新予定】

どうも初心者エンジニアのみなさん。日々職場で、先輩レビュワーから「ここはなんでこう書いてるの?(このコードはクソだねぇ...)」と言われていることかと思います。 僕はコードを書き始めて2年ですが、コードレビューをされた経験は1年と少し程度でまだ…

初めてWeb API設計をする前に読みたい記事・本・API実例と個人的にハマったこと

働いている会社で「サービス全体のサーバーサイドの処理をAPIに置きかえよう!」というプロジェクトにアサインされて、初めてAPIをゼロから設計する仕事をすることになって早1ヶ月。初めてだらけで何度も悩みながらAPI設計をし続けていますが、1ヶ月前に比べ…

半年以上かかる大規模システム開発の時にハマったこと

自分は事業会社で働いているのですが、最近徐々に「完了までに半年以上関わるプロジェクト」に関わることが増えてきました。 その大規模システム開発時の自分の経験を振り返るとともに、今後の大規模システム開発の時に改善するためにも、半年以上の大規模シ…

ngrokのインストール方法と使い方(MacOS)

ローカルにSSLアクセスできるようにすることができるngrokの使い方。 ngrokとは? Spend more time programming. One command for an instant, secure URL to your localhost server through any NAT or firewall. (引用:ngrok - secure introspectable tu…

【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標準ライブラリ)を利用すればメール送信の処理部分はほとんど実装することなく、超手軽にメール送信…

MySQLでデータの改行コードを確認する方法

MySQLで保存されているデータがどの改行コードで保存されているのかを確認する方法がわからず色々ググってもすぐに出てこなかったのでメモ。 MySQLにて特定のカラムに入っているデータの改行コードを確認します。 そもそも改行コードとは? 改行コードとは、…

Angular6でアプリ開発④「仮想通貨詳細ページ作成と一覧ページから遷移」

Angularアプリケーションプログラミング山田 祥寛 (著)技術評論社 (出版)2017年8月5日 (発売) Angularでアプリケーションを作ろう企画の4記事目。今回は仮想通貨情報の詳細ページを作成して、一覧ページから遷移できるようにしていきます。今回の実装で各ペ…

Angular6でアプリ開発③「Angular Materialでデザイン調整」

Angularアプリケーションプログラミング山田 祥寛 (著)技術評論社 (出版)2017年8月5日 (発売) 前回の記事では仮想通貨の一覧ページを実装しましたが、デザインがいまいちで見づらいのでAngular Materialを利用してデザインを調整していきます。 Angular Mate…

Herokuでよく使うコマンドまとめ

Herokuでよく使うコマンドをまとめておきます。すぐ忘れるのでメモ。 アドオン一覧を確認 $ heroku addons アプリ一覧を確認 $ heroku apps 環境変数一覧を表示 $ heroku config アプリケーションをlocalで実行 $ heroku local ログを普通に出力 $ heroku lo…

Angular6でアプリ開発②「HTTPでAPIアクセスして仮想通貨一覧ページ表示」

前回の記事でAngularの基本的な学習方法に関して紹介しましたが、今回からは実際に自分の作りたいアプリケーションを作っていきます。今回から数回に分けて、仮想通貨の各コインの情報を分析するWebアプリケーションを作成していきます。 まず今回はCoinGeck…

Angular6でアプリ開発①「環境構築とチュートリアル」

先週からAngularを触っているのですが、Angularは比較的新しい言語だからか、まだまだ記事が少なくてエラー解決などで困ることが多かったので、Angular初心者がゼロからAngularでアプリケーション開発するための方法をまとめておきます。 今回は環境構築から…

仮想通貨情報お知らせ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>…

はてなブログ記事をAPI経由で自動投稿する方法

「はてなブログの記事投稿って自動化できるのかな?」と、ふと気になって調べたら普通にAPI提供されていたので触ってみた話。 はてなブログAPIで、はてなブログを投稿する方法を書いておきます。 Restlet Clientをインストール 今回はAPIアクセスして投稿で…

Tweepyで取得できるStatusの中身(つぶやき)データ一覧

TweepyでStatusオブジェクト(つぶやきデータ)が持っている値を毎回ググるのがめんどくさかったので書いておきます。 Tweepyで取得できる「Status」はつぶやきデータのことで、Statusオブジェクトはつぶやき情報、つぶやきをしたユーザーの情報などを持って…

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

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

Gitで「fatal: unable to access The requested URL returned error: 403」

GitにLocalのアプリケーションをプッシュしようとしたら「fatal: unable to access The requested URL returned error: 403」エラーが出て、解決に割と時間を取られてしまったので、解決方法メモしておきます。 $ git pushのエラー解決 Githubで「Create a n…

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の登録・…

.gitigoneファイルに追加してもgitから消えない問題

.gitigoneファイルにgitに追加したくないファイルを指定してもgitignoreがきいていないのかgitから消せない問題に少しハマったのでメモ。 .gitigone反映されない問題の解決 以下のように「slackbot_settings.py」ファイルをgitに反映したくないので.gitignor…