ある機能のテストを行う時に、どの観点でテストするか考える必要がある。
その観点をはじめからなるべく多く見つけることが重要なんだけど、その観点の見つけ方をまとめてみる
2018-01-31
2018-01-30
世界的ベストセラー『7つの習慣』をまとめ、思ったことをいろいろ書いてみました。
ここ最近、技術書ばかり読んでいたのですが、会社に入って人格の欠如に悩み始めました。ちょうどそんなときに、7つの習慣、上司が紹介してくれ、電子書籍があったので読みました。世界的に評価の高い本らしいですね。
7つの習慣は、人生をより善く生きていくうえで重要な習慣をまとめている本です。
本の内容は、大きく分けると、こんな感じになっておりました。
今回はこの本をまとめてみたいと思います。
— Dai Kawai@RubyPython (@never_be_a_pm) January 15, 2018
『7つの習慣』(ななつのしゅうかん、The 7 Habits of Highly Effective People)は、スティーブン・R・コヴィーによって書かれ1996年に出版された書籍。原著の初版は1989年。コヴィーの末日聖徒イエス・キリスト教会/モルモン教の信仰経験に基づいて書かれた。(wikipedia)
7つの習慣の概要
7つの習慣は、人生をより善く生きていくうえで重要な習慣をまとめている本です。
本の内容は、大きく分けると、こんな感じになっておりました。
- インサイド・アウト(内から外へ)
- 7つの習慣とは
- 私的成功
- 第1の習慣:主体的である
- 第2の習慣:終わりを思い描くことから始める
- 第3の習慣:最優先事項を優先する
- 公的成功
- 第4の習慣:Win-Winを考える
- 第5の習慣:まず理解に徹し、そして理解され
- 第6の習慣:シナジーを創り出す
- 再新再生
- 第七の習慣:刃を砥ぐ
今回はこの本をまとめてみたいと思います。
2018-01-28
回帰テスト(Regression Test)をやるうえで重要な観点
回帰テスト(リグレッションテスト)とは
ソフトウェアの製品をアップデートする場合、アップデート以後に、過去の実装とコンフリクトして、エラーが起こる。このような、ディグレを確認するためのテストを回帰テストという。
プログラムを修正・変更した場合に、過去に実施したテストを再度実施することを回帰試験(regression test)又は退行テストという。修正前の試験に再度合格するかどうか、他の機能に影響与えていないかどうか、他の機能が動作するかどうかを確認する。過去のテスト資産を使い、実施する回数も多いことから、実施を省略することがないようにテスト自動化することにより効率化を図る。(ソフトウェアテスト - Wikipedia)
2018-01-23
2018-01-21
FlaskとAngular JSで{{}}がかぶってエラーが起こるときの対処法
FlaskとAngular JSを利用している際に、エラーが起こる
FlaskでAngular JSを利用して以下のようなHTMLコードを書いているときに、エラーが表示される。
<html ng-app>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.8/angular.min.js"></script>
</head>
<body>
<h1>リダイレクトURL</h1>
<p>OAuth Providerで登録した、Client IDと、リダイレクトURLを入力してください。</p>
<form>
<label for="client_id">クライアントID</label>
<input type="textfield" name="client_id" id="client_id" ng-model="client_id" placeholder="クライアントID"></input>
<label for="redirect_uri">リダイレクトURL</input>
<input type="textfield" name="redirect_uri" id="redirect_uri" ng-model="redirect_uri" placeholder="リダイレクトURL"></input>
<label for="textfield">スコープ</label>
<input type="textfield" name="scope" id="scope" ng-model="scope" placeholder="scope"></input>
</form>
<p>生成されたURL</p>
<a href="https://accounts.google.com/o/oauth2/auth?response_type=code&client_id=263680507619-6sm2e6jv584ilmd7h6jrn5dstk6magke.apps.googleusercontent.com&redirect_uri=http://127.0.0.1:5000/callback.html/&scope=https://www.googleapis.com/auth/calendar
">これじゃ</a>
<p>{{client_id + redirect_uri + scope}} </p>
{% if result %}
<h1>アクセストークン</h1>
<form method="post">
<label>Access Token</label>
<blockquote>{{ result }}</blockquote>
<input type="textfield" name="access_token" value="{{result}}">
<input type="submit"></input>
</form>
{% endif %}
{% if schedule %}
<h1>スケジュール一覧</h1>
<blockquote>{{ schedule }}</blockquote>
{% endif %}
<!-- javascript-->
<script>
</script>
</body>
</html>
jinja2.exceptions.UndefinedError
jinja2.exceptions.UndefinedError: 'client_id' is undefined
2018-01-20
【TwitterのAPIを利用するときに確認!】TwitterのOAuth認証はOAuth1.0を使っていた
ツイッターのOAuth認証(オーオース)を利用しようと思って、クライアントアプリを作ろうと思っていた時に、リクエストトークンを使うことが前提となっていた。
OAuth認証では、リクエストトークンを使うなんてことはRFCの規定に書いていないので、なんじゃこりゃっとなった。
よくわからないので、「リクエストトークン」でいろいろググってみても、全然見つからなかった。出てくるのは基本ツイッターのOAuthに関することだけ。
なので、OAuth認証についていろいろ調べていく過程で、理解できたことをまとめる。
OAuth認証では、リクエストトークンを使うなんてことはRFCの規定に書いていないので、なんじゃこりゃっとなった。
よくわからないので、「リクエストトークン」でいろいろググってみても、全然見つからなかった。出てくるのは基本ツイッターのOAuthに関することだけ。
なので、OAuth認証についていろいろ調べていく過程で、理解できたことをまとめる。
— Dai Kawai@RubyPython (@never_be_a_pm) January 20, 2018
プログラミング初心者がエラーが出たときに心がけること10つのこと
プログラミング初心者だと、質問するのはとても難しいです。最初は何がわからないのか、わからない状態なので、どう質問していいかすらわかりませんよね。プログラミングを学習し始めた段階だと、ほとんどの人がみな同じ感情を抱きます。
特に初心者だと、とにかくエラーだらけになるので、「できないフィルター」にかかりがちです。実はほんの些細なタイプミスでも、わけわからないエラーが出てくるので、無条件でプログラミングが難しいと感じてしまうことが多々あります。
プログラミングのメンターを趣味でさせていただいているのですが、やっぱり初心者だと、できないフィルターにかかってしまい、本来であれば自分で解決できることに関しても調べる方法がわからず、また質問の仕方がわからず、非効率的な質問をしてしまっているんだろうなぁと最近感じます。(いうて自分も人のこと言える立場ではないのですが・・・・)
さすがに独学とは言え、2年書いていると、なんとなくエラーの解決方法がわかってくるのですが、もっと最初のうちにエラー解決のために知っておけることもあるなぁと感じました。
そこで、プログラミング初心者がエラーにぶちあった時に、質問する前にやることと、質問するときにやることに分けて、具体的に何をすべきかまとめてみたいと思います。
2018-01-15
お金のために趣味を副業にするなって話
自分の趣味を副業にしてお金を稼ぎたいと思う人が多いと思うんだけど、これをやる上でものすごく注意することがある。(自分がやってきて失敗したことの単なるまとめ)
それは、お金を稼ぐことを目的に趣味を副業にするのはやめておいた方がいいって話。外発的動機付けに内発的動機が消されて、つまらなくなるから。
そうではなく、趣味を楽しむ延長線上にお金が入る仕組みづくりをする必要がある。
昔僕はブログをひょんなきっかけで書き始めていて、最初は誰も見ないようなマニアックな教育社会学系の記事を書いていたんだけど(母校300人くらいの大学生の親の学歴調査したりとか)、広告入れてたら少しお金が入ることに気付いた。
なので、いわゆる稼げる記事を書き始めるようになったんだが、それはほとんど見られない。そしてやる気がなくなってブログを書くこと自体やめた。
で、社会人になって少しまた時間ができたので、スキルアップのための書評やらエンジニア系の記事を書いてたんだけど、そっちの方がモチベーション続くし、人に役に立つものが記事がすらすら書けるのよね。
そんなこんなで金稼ぎのために書いてた記事はほとんど読まれなかったけど、自分が面白いと思って書いた記事はやっぱり読まれるし、月諭吉くらいは入るようになった。
外発的動機付けでやろうとすると、もともとあった内発的な動機が消えてしまうらしいのだ。
楽しくてやってたのに、気付いたらお金のためにやってるみたいなことに、気付いたらなってて、モチベーション落ちてるみたいな。
なので、お金を稼ぐために趣味を副業化させるのはやめたほうがよい。てか冷静に考えると金稼ぐためにやってるなら、普通に土日パートやった方が全然コスパいいはず。
趣味を副業にするときは、何かしらお金以外にモチベーションになるものがない場合、引き受けると本業と違っていつでもやめられてしまうので、
・それをやって心から楽しいか
・それが自らのスキルアップになるか
というその二つの条件が満たせるものでモチベーションを維持できることを副業にするのがよいのかなぁと。
2018-01-14
2018-01-13
TypeError: numpy boolean subtract, the `-` operator, is deprecated, use the bitwise_xor, the `^` operator, or the logical_xor function instead. の解決方法
TypeError: numpy boolean subtract, the `-` operator, is deprecated, use the bitwise_xor, the `^` operator, or the logical_xor function instead. の解決方法
結論から言うと、numpyのバージョン依存の問題らしい。
numpyをディグレードして、再度インストールしたら治った。
結論から言うと、numpyのバージョン依存の問題らしい。
numpyをディグレードして、再度インストールしたら治った。
#案件— Dai Kawai@RubyPython (@never_be_a_pm) January 13, 2018
Seleniumでエラー
TypeError: numpy boolean subtract, the `-` operator, is deprecated, use the bitwise_xor, the `^` operator, or the logical_xor function instead.
Issueを見ると、これもバージョンの問題っぽい?https://t.co/5BYGc4usWI
#案件— Dai Kawai@RubyPython (@never_be_a_pm) January 13, 2018
解決。numpyのバージョンを下げて再度pipしたら解決できた。https://t.co/5BYGc4usWI
sudo pip install numpy==1.10.4 https://t.co/p6LijTO4af
Ubutnu PythonでChromedriverがインストールできないときの対処法
Ubutnu PythonでChromedriverがインストールできないときの対処法のメモ。
結論から言うと、最新バージョンのChromedriver入れれば治る。
selenium.common.exceptions.SessionNotCreatedException: Message: session not created exception chromedriver
とか
selenium.common.exceptions.WebDriverException: Message: unknown error: missing or invalid 'entry.level'
とか、だいたいChromedriverのバージョンの問題らしいですぜ。
普通にChromedriver Ubuntuみたいに調べると、過去のQiitaの記事とかが上位に出るので、Chromedriver latestとかで調べるとよさそう。
結論から言うと、最新バージョンのChromedriver入れれば治る。
selenium.common.exceptions.SessionNotCreatedException: Message: session not created exception chromedriver
とか
selenium.common.exceptions.WebDriverException: Message: unknown error: missing or invalid 'entry.level'
とか、だいたいChromedriverのバージョンの問題らしいですぜ。
#案件— Dai Kawai@RubyPython (@never_be_a_pm) January 13, 2018
ChromeDriverが古いのでアプデが必要。
selenium.common.exceptions.SessionNotCreatedException: Message: session not created exception chromedriverhttps://t.co/wFp9LYoPpc
#案件— Dai Kawai@RubyPython (@never_be_a_pm) January 13, 2018
同様に古いらしい
最新版にしろってことか。
selenium.common.exceptions.WebDriverException: Message: unknown error: missing or invalid 'entry.level'https://t.co/gcnkYc65Vq
— Dai Kawai@RubyPython (@never_be_a_pm) January 13, 2018
普通にChromedriver Ubuntuみたいに調べると、過去のQiitaの記事とかが上位に出るので、Chromedriver latestとかで調べるとよさそう。
2018-01-09
【認証】OAuth認証をBasic認証と比較して何がよいのか調べてみた
# OAuth認証とはなにか
OAuth認証に仕組みがわからなかったので調べたことのまとめ。
Basic認証と何が違うのか、どんなメリットがあるのか書いてみた。
- あるWebサービスに別の外部サービスを利用して認証の仕組み
- News Picksにログインするときにツイッターのアカウントを利用してログインするのはOAuth
- Webサービスが別の外部サービスに「そのサービスでユーザーが使っているこの情報の提供を許可してくれない?」と聞いて、ユーザーが許可したら、その別の外部サービスからデータをとる許可証をWebサービスに提供するって仕組み
2018-01-08
Rails text_area_tagのsize指定の方法
Railsでtext_area_tagのsize指定方法が見つからなかったのでメモ。
今回書いたのがform_tagで実装したフォームなんだけど、フォームのメッセージを入力するところのサイズを指定したかった。実際に使ったコードはこんな感じ。
<%= form_tag conversations_path, method: :post do %>
<%= hidden_field_tag :user_id, @user.id %>
<%= text_field_tag :subject, @user.username, placeholder: "Subject", class:"hidden" %>
<div><%= text_area_tag :body, nil, placeholder: "メッセージ", class:"", size: "30x10" %></div>
<div><%= submit_tag "送信", class:"send-message-button" %></div>
<% end %>
今回書いたのがform_tagで実装したフォームなんだけど、フォームのメッセージを入力するところのサイズを指定したかった。実際に使ったコードはこんな感じ。
<%= form_tag conversations_path, method: :post do %>
<%= hidden_field_tag :user_id, @user.id %>
<%= text_field_tag :subject, @user.username, placeholder: "Subject", class:"hidden" %>
<div><%= text_area_tag :body, nil, placeholder: "メッセージ", class:"", size: "30x10" %></div>
<div><%= submit_tag "送信", class:"send-message-button" %></div>
<% end %>
この太字にしている
<%= text_area_tag :body, nil, placeholder: "メッセージ", class:"", size: "30x10" %>
のところなんだけど、sizeをシンボルで指定できるっぽい。
指定方法は2つあって、
size: "30x10"
みたいに指定する方法と、
cols: "30", rows: "10"
みたいにする方法があるらしい。
この辺を参考にした。
2018-01-03
個人で片手間サービス開発日記③Tech Mentorsの実装面もろもろの要件定義
続き。実装面の話。今までの話はここにまとめておく。
- 個人で片手間サービス開発日記①プログラミングメンターサービスの要件定義|Review of My Life https://review-of-my-life.blogspot.jp/2017/12/blog-post.html
- 個人で片手間サービス開発日記②ワイヤーフレーム書いてみた|Review of My Life https://review-of-my-life.blogspot.jp/2018/01/wireframe.html
実装
- 言語:Ruby | Ruby on Rails ,jQuery
- 認証
- devise:ログインを扱うgem
- 投稿
- redcarpet:マークダウンに対応させる
- 検索
- ransack:スキル検索(BY skill = ? AND teachable=? AND needMentor = ?みたいな感じになりそう)
- スキルのタグ管理
- act as taggable:過去に使ったgem
- ダイレクトメッセージ
- ActionCable:
- もしくは普通に一個ダイレクトメッセージのmodel作る
- テスト
- RSpec:単体テスト
- Turnip:これはできたら。統合テスト
- ウェブサーバー
- 未定
- アプリケーションサーバー
- 未定
- DB
- sqlite:開発環境
- MySQL:本番環境(未定)
- SaaS
- モックアップ:Heroku
- ベータ版:どっかのVPS or AWS
- 本リリース:AWS
- DBの構造
- User
- id
- username:string
- password:string
- profile:text
- twitter:text
- facebook:text
- github:text
- created_at:datetime
- Skill(Act as Taggableになるかも)
- id
- skill:string
- title:string
- content:text
- teachable:boolean
- needhelp:boolean
- Message
- id
- userid:int
- userid:int
- content:text
- created_at:datetime
- Reply
- id
- userid
- title
- content
開発工程
以前CtoCのサービス、いわゆるマッチングサイトやった時の失敗談はここにまとめておくけど、サービスを提供する側と供給と、サービスを欲している人の需要のバランスが取れず死んだ。なので、メンターをやりたい人と、メンティーになりたい人が両方存在するかどうかを検証する必要がある。
- 「UX戦略 ―ユーザー体験から考えるプロダクト作り」 書評|Review of My Life https://review-of-my-life.blogspot.jp/2017/03/ux.html
- 卒論Shareについて|Review of My Life https://review-of-my-life.blogspot.jp/2017/02/sotsuronshare.html
ただ、これに関してはあると考えていいとおもう。というのも、すでにクラウドソーシングで両方の案件が十分に存在するから。
サーバー
マネタイズとサーバー運用はフェーズによって分ける。
前回はリリースした後にherokuのfreeプラン使っていたので落ちまくりだった。
どのくらいスケールするかわからないけど、そこまで増えるかわからないので、AWSで基本運用しようと思う。
- 集客フェーズ
- マネタイズ:IT系の広告費用、マッチング自体が外部CtoCに誘導
- サーバー:VPSもしくはAWS
- アクティブユーザー増加フェーズ
- マネタイズ:IT系の広告費用or転職アフィリエイト
- サーバー:AWS
- 仲介手数料フェイズ
- マネタイズ:就活エージェントと仲介手数料
- サーバー:AWS
集客
副業で稼いだお金で全部つぎ込む。
Facebook広告、News Picks、ツイッター広告に投資して集客する。
Facebookは前に実験で利用してなんとなく分かった。クラウドワークス、ランサーズ、ココナラあたりをフォローしている人ならいけそうな気がする。あとフリーランス事業者も対象者になりそう。そうするとLevatechとかもいけそうかな。
あとは、プログラミング初心者を支援している企業に声をかけてみる。TechCampとかその辺。
- Facebook広告効果を数字で検証してみた|Review of My Life
QiitaはAPIがあって、そこからツイッターのアカウントが取得できるはずだから、そこでも営業をしかけてみる。クラウドソーシング系は全部顧客データスクレイピングして、データを紐づける。
オウンドメディアをやる。これもスキルシェア系のページを自動生成するコンテンツつくって、ドメイン力上げる。これはアウトソースして作る。
UI
会社の人に頼む。お金払ってでもいいからやってもらう。
2018-01-02
個人で片手間サービス開発日記②ワイヤーフレーム書いてみた
前回の続き。
個人で片手間サービス開発日記①プログラミングメンターサービスの要件定義|Review of My Life https://review-of-my-life.blogspot.jp/2017/12/blog-post.html
プログラミングメンターサービスのモックアップを作ってみたって話。
とりあえずモックアップはcacooで作成し、実際に動かしてみるのはprottを使いました。
で、それを公開するのもわかりにくいと思ったので、動画にしました。
どういう仕様なのかは置いておいて、こんな感じになります。
サービスの概要は前のページを参照していただけると嬉しいのですが、基本的には
・プログラミングを学びたい人と、プログラミングを教えたい人のマッチングサイト
・プログラミングを教えたい人は、メンターという役割になる
・プログラミングを教わりたい人は、メンティーという役割になる
・メンターとメンティーがマッチングすると仲介手数料が発生するというビジネスモデル
・また、エンジニアのリクルーティング企業と今後スケールしたら提携したい
ってな感じになっています。
ほんでもって機能。まずはメンティー側の話。
メンティーはまずログインすると、自分の勉強してきたスキルを登録。そしてそのスキルうをメンターを設けて勉強したいかまで選択。そうすると、メンターからのメンターオファーがくるのである。また、新着のメンタ-のレコメンドがくるようになる。
メンティーは習いたいスキルを検索することができる。そして、いろいろなメンター候補を持っているスキルに応じて比較し、もっとも気に入ったメンターにダイレクトメッセージを送ることができる。メンターとの相談の結果、メンターを引き受けてもいいよって場合は、メンティー申請を送ることができる。
同じように、メンターもこのサービスに登録することができる。
メンターは教えられるスキルを登録することができる。また、メンティーを検索して、顧客を検索することができる。
ということで、本当はモックアップのユーザーテストをしたい。これに登録したいって人がいるのか、本当に欲されているユーザーがいるのか調べたい。
静的なページについても。
・説明ページ about
・利用規約ページ user_terms
・ご利用ガイド guide_top
・採用 recruit
個人で片手間サービス開発日記①プログラミングメンターサービスの要件定義|Review of My Life https://review-of-my-life.blogspot.jp/2017/12/blog-post.html
とりあえずモックアップはcacooで作成し、実際に動かしてみるのはprottを使いました。
で、それを公開するのもわかりにくいと思ったので、動画にしました。
どういう仕様なのかは置いておいて、こんな感じになります。
サービスの概要は前のページを参照していただけると嬉しいのですが、基本的には
・プログラミングを学びたい人と、プログラミングを教えたい人のマッチングサイト
・プログラミングを教えたい人は、メンターという役割になる
・プログラミングを教わりたい人は、メンティーという役割になる
・メンターとメンティーがマッチングすると仲介手数料が発生するというビジネスモデル
・また、エンジニアのリクルーティング企業と今後スケールしたら提携したい
ってな感じになっています。
ほんでもって機能。まずはメンティー側の話。
メンティーはまずログインすると、自分の勉強してきたスキルを登録。そしてそのスキルうをメンターを設けて勉強したいかまで選択。そうすると、メンターからのメンターオファーがくるのである。また、新着のメンタ-のレコメンドがくるようになる。
#サービス #モックアップ— Dai Kawai (@never_be_a_pm) January 2, 2018
メンティーのフロー。ログインして、あらかじめユーザー登録の際に、習いたいスキルを登録しておく。そうすると、デフォルトで新着の同じスキルを持ったメンターが表示されるようになる。スキルによって検索できて、それを教えられるメンターに出会える。 pic.twitter.com/W95z1SKUuc
メンティーは習いたいスキルを検索することができる。そして、いろいろなメンター候補を持っているスキルに応じて比較し、もっとも気に入ったメンターにダイレクトメッセージを送ることができる。メンターとの相談の結果、メンターを引き受けてもいいよって場合は、メンティー申請を送ることができる。
#サービス #モックアップ— Dai Kawai (@never_be_a_pm) January 2, 2018
メンティーはスキルからメンターを検索できる。
もっとも自分にあっていそうなメンターを見つける。プロフィールには一カ月ごとのメンターフィーが書かれていて、メンターの依頼を行うことができる。
依頼する前にメンターにはダイレクトメッセージを送ることができる pic.twitter.com/IAv3y1AdQN
同じように、メンターもこのサービスに登録することができる。
メンターは教えられるスキルを登録することができる。また、メンティーを検索して、顧客を検索することができる。
#サービス #モックアップ— Dai Kawai (@never_be_a_pm) January 2, 2018
メンターも登録でき、教えられるスキルを設定できる。またメンターフィーも指定できる。自分が教えられるスキルから検索することができ、メンティーに対してアプローチすることができる pic.twitter.com/4hO2Kp32zR
ということで、本当はモックアップのユーザーテストをしたい。これに登録したいって人がいるのか、本当に欲されているユーザーがいるのか調べたい。
静的なページについても。
・説明ページ about
・利用規約ページ user_terms
・ご利用ガイド guide_top
・採用 recruit
残業するくらいなら副業した方がずっとよい理由
残業するより副業したほうがよい理由
無理して残業してお金貰うよりも、副業した方が得です。
なぜ、残業するくらいなら副業した方がよいのでしょうか。それは、残業で使う時間は、時間を投資して時間給を得られますが、副業で使う時間は時間を投資して知識と成果に応じた報酬が得られるようになるからです。
ちなみにここでいう残業を、特に仕事がないのにだらだら会社に残って時間給をもらっている人と定義します。(仕事が終わらなくて残業している人は除外します)
2017年振り返りと2018年の目標
目次
- 2017年は何をやっていたか
- 大学の除籍勧告を受ける(2017/1)
- 研修中にGithubのコミットメッセージに「fuck」と書いて怒られる(2017/5)
- IT企業に入社し品質保証チームへ配属(2017/8)
- 地元の友人と千葉で酒飲んでいたら翌日病院で目が覚める(2017/8)
- 引っ越す(2017/09)
- 「VR彼女」に感銘を受け、VRを購入する(2017/09)
- 打刻を忘れすぎて試用雇用期間延長(2017/9)
- クレジットカードが止まる(2017/9)
- VRでくそげーをつくる(2017/11)
- 晴れて正規雇用になる(2017/12)
- 2017年の目標
- 月30万円副業で稼ぐ → 月7万円で未達
- 2018年の目標
- 月30万円副業で稼ぐ
- 2018年は何をしたいか
- 仕事
- 品質保証とは何かの基礎を付ける
- QAエンジニアとして、テスト自動化にかかわる
- テストエンジニアの本をたくさん読む
- インフラ・ネットワーク周りの知識をつける
- 社外勉強会にたくさん顔を出す
- 趣味開発
- Webアプリケーションを開発し、プログラミングの学習障壁を下げるTech Mentorsのリリース
- ブログ
- 自動更新サイトの収益化
- プログラミング初心者に有益な情報をたくさん書く
- 副業
- 3-10万円の案件をこなせるようになる
- 外部プロジェクトで力をつける
- 外部プロジェクトで個人を売る
あの時、自分は何を考えていたんだろう? ツイッターで1年を振り返れる、Tweet Reflectorを作りました
Tweet Reflectorという簡単なWEBアプリを作りました。もちろん無料で使えます
ツイッターのIDと、ツイートを取得する期間を指定すると、その期間のツイートが表示されるURLを取得できます。
過去の投稿見ていると、けっこうエモい!去年の就職前の3月とか、何考えていたんだろうと思ってみたら、すげぇ調子乗ってたり、今年の研修で一番つらい時とか調べてみると、こんな思いしながら頑張ってたなぁなんて感慨深くなります。
ということで、Tweet Reflectorを使って去年を振り返ってみてください。
https://kdmgs110.github.io/tweet-reflection/
ツイッターのIDと、ツイートを取得する期間を指定すると、その期間のツイートが表示されるURLを取得できます。
過去の投稿見ていると、けっこうエモい!去年の就職前の3月とか、何考えていたんだろうと思ってみたら、すげぇ調子乗ってたり、今年の研修で一番つらい時とか調べてみると、こんな思いしながら頑張ってたなぁなんて感慨深くなります。
ということで、Tweet Reflectorを使って去年を振り返ってみてください。
https://kdmgs110.github.io/tweet-reflection/
2018-01-01
2017年12月ブログ運営報告:クラウドソーシングで稼げるようになってきました
12月のブログ運営報告です。
先月の目標
先月はこんな目標を立てておりました。が、これは定量化されていない目標なので達成したか検証できませんね。目標とやりたいことがまざっているので、今月はまともな目標を立てます。
今までかなり適当にブログを書いていたのですが、ふざけたことやって収益化する実験が面白いので、もう少し単価の高い収益化をしてみようかと思います。新卒向けのエンジニア・採用関係で狙ってみようかなぁ。
ふざけたことして、IT版のヨッピーになりたい。
今月書きたい記事とか施策とか
- Tinder APIを使って、プロフィール画像が地蔵でも東大出身だったらマッチングするのか検証する
- DMMのAPI使って、AV女優の画像認識を行い、AV女優通のオタクを作る
- MM号のまとめサイトかbot作る
- データサイエンティストの採用要件スクレイピングする
- ココナラもう少しちゃんとマーケする
- コンバージョン用の記事の作成
- コンバージョン用の経路作成
- Google Analytics使ってしっかり導線の検証してみたい
- Goolgle Analyticsと、Rで勉強した知識を使って記事書きたい
収益・PV数
先月17915円でしたが、今月は66003円となりました。ブログは全然更新していなかったので、PV数は4000PVくらい下がりましたが、それでも8000円くらいは稼いでくれているので、よいですね。クリック率もクリック単価も安定して高くなってきたので、あとはPV数を稼げばこちらも安定して入りそうです。
収益:合計66003円
- Adsense収益:8302円
- Amazon収益:518円
- ココナラ収益:39750円
- note収益:1296円
- A8収益:100円
- クラウドワークス:6480円
PV数:22355PV
ページCTR:0.98%
今月やったこと
完全に受託にフォーカスしました。クラウドソーシングを利用して、いろいろな案件に提案してアプリを開発したり、導入したりしました。
スクレイピングツールの開発案件やプログラミングの困ったところ教える系の案件で稼げるようになってきました。
来月の目標
- 月15万円目指します
- 単価が3-5万円くらいの案件2個ほど
- 既存システムの販売で1万円くらいのを3件ほど
- 外部プロジェクト X 2
- Webアプリのプロトタイプ作ります
- Ruby on Railsでプログラミングのメンターマッチングサイト
来月やりたいこと
ツール系は単価低いので、開発優先順位下げます。Webアプリ開発、もしくはワードプレスで稼げるようになれば単価が高そうなので、そっちの路線でやってみます。あとはインフラやLinux系の知識、あと副業の法律的な知識をつけたいと思っています。
- 自分のGithubページの作成
- 今までの実績や作成物等の公開したポートフォリオ
- SEO対策ツールの作成+販売
- Tech Mentorsリリース(プロトタイプ)
- Tech Mentorsの自動生成ワードプレスブログ
- rails メンターみたいなキーワードから検索結果を自動更新
- 年始に買った2冊の本読み切る
- インフラ周りの知識をつけて、VPSかSaaSにディプロイ(脱Heroku)
- QAの勉強会の2回出る
登録:
投稿 (Atom)
注目の投稿
PythonのTweepyを利用して、Twitter APIを利用している。 その中で、ハマったポイントをメモしておく。 まず、Searchに関して。 Twitter検索は、クライアントアプリ側では、全期間の検索が可能になっている。 一方で、APIを利用する際は、過去1週間しか...
-
相関分析・重回帰分析・クロス集計の結果を、英語でレポートしよう! 英語で卒論書いていたのですが、統計のレポートの際に、英語のボキャブラリーに慣れておらず、いろいろ調べながらやって時間が無駄にかかりました。テンプレがなかなか見つからなかったので、まとめておきます。 ...
-
目次 ICUの受験対策はどうすればいいの?受験科目から、おすすめの受験対策方法をまとめてみた 【ICU生の特徴は?】現役ICU生100人に徹底調査した記事まとめ 【ICU生に聞いた】受験時の志望動機と現状について① 【ICU生に聞いた】受験時の志望動機と現状に...
-
ICU生の偏差値は? こちらの記事は、ICUの偏差値について解説します。 ICUの受験対策はどうすればいいの?受験科目から、おすすめの受験対策方法をまとめてみた 【ICU生の特徴は?】現役ICU生100人に徹底調査した記事まとめ 【ICU生に聞い...