Freelance Tech Life

フリーランス エンジニア、個人開発、プログラミング、ファブリケーション、電子工作

投資対効果で時間を買えるようになるための思考方法

f:id:taiyop:20190514000152j:plain

 

フリーランスに限らずですが、出費を抑えることに意識が向きすぎてしまって、過度な節約をしている人が世の中にけっこういると感じました。 

出費を抑えようとする事は良い事だと思いますが、一方で節約することによって逆に損をしている場合もあります。

今回は自分が実際に行なっている具体例を踏まえながら、投資した方が良い事、出費を抑えた方が良い事をご説明していきたいと思います。

 


そもそも、なんのために節約するのか

答えはシンプルで、手元に残るお金を残すためです。

では手元に残るお金はどう算出できるかというと、

手元金 = 収入 - 出費

になります。

 

なので、手元金を増やすには


1. 収入を増やす
2. 出費を減らす

 

の2つしかないのですが、節約は「出費を減らす」取り組みになります。

 

その節約は本当に無駄遣いなのか?

ここからが今回の本題になります。

まずそもそも、その節約するという判断は「手元金を増やす」ための最適な判断なのでしょうか?

先ほどの計算式になりますが、手元金は 収入 - 出費 で計算できます。

 

確かに出費を抑えれば手元金は増えるという計算になりますが、出費をすることで収入も増やせるというケースもあります。

 

ここでは、その視点をするための考え方を次の具体例で説明していきます。 

 

具体例その1:新しい技術を勉強するとき

例えば、あなたは時給4,000円でお仕事をしているとします。

今後機械学習のお仕事をしたいと考え、勉強を始めるのですが、そのとき選択肢が2つあります。

 

1. 1冊1万円の機械学習の本を買って5時間で勉強する

2. 独学でネットサーフィンしながら20時間かけて勉強する

 

どちらも勉強後は同じ実力を身につけられるとします。さて、あなたならどちらを選びますか?

 

 

 

それでは回答です。

この場合、私は「1. 本を買って5時間の勉強」を選びます。

 

「1. 1冊1万円の機械学習の本を買って5時間で勉強する」を選んだ場合にかかる実質コスト

あなたの時給は4,000円なので、5時間の勉強時間には

4000円×5時間=20,000円

の価値と等しいです。

 

そして1冊1万円の本を買っているので、合計のコストは

10,000円 + 20,000円 = 30,000円

になります。

 

「2. 独学でネットサーフィンしながら20時間かけて勉強する」を選んだ場合にかかる実質コスト

同じく時給4,000円なので、20時間の勉強は

4000円×20時間=80,000円

の価値と等しいです。

 

本を買うなどはしていないので、合計コストはそのまま80,000円になります。

 

このように本を買って時間を短縮することで実質のコストは下がります。

 

「浮いた15時間まるまるお金になるとは限らない」という意見もあるでしょう。

もしあなたが時間が有り余っているなら2番の選択肢もありですが、時間がない中で収入を増やしたい場合は1番しかありません。

 

また、空いた時間を個人開発などの「更に稼ぐための活動」に使うことも出来ます。

 

大事なのは、本を買うことで時間を買っているという考え方です。

本を買う以外にも、「専門家に教えてもらう」「有料のオンラインスクールに通う」などがあります。

 

具体例その2:個人開発のUI/UXデザインをするとき

 

エンジニアが個人開発をしていると、ほぼUI/UXデザインの作成する必要があります。

このとき、UI/UXデザインを作る方法として2つの選択肢があります。

 

1. 自分でデザインを勉強してつくる(所要時間は100時間)

2. デザイナーに依頼して30万円でつくってもらう(説明に使う自分の所要時間は5時間)

 

先ほど同様、あなたの時給は4,000円とし、どちらも同じクオリティのデザインが出来上がるとします。

 

この場合はあなたならどちらを選びますか?

 

 

 

それでは回答です。

この場合、私は「2.デザイナーに依頼して30万円でつくってもらう」を選びます。

 

先ほどと同じように計算してみると、

 

「1. 自分でデザインを勉強してつくる(所要時間は100時間)」

時給4,000円 × 100時間 = 400,000円

 

「2. デザイナーに依頼して30万円でつくってもらう(説明に合う自分の所要時間は5時間)

時給4,000円 × 5時間  + 300,000 = 320,000円

 

このように、お金を使って依頼することで逆に8万円分実質的に安く出来るといえます。

しかも、実際には専門家の方が詳しいのでクオリティも高いことが多いです。

 

もちろん、自身のデザイン力を高めてその複合スキルで単価を上げることを考えたり、作った後の修正コストなども見ると一概にどちらが良いかの判断は難しいのですが、やはり自分の時間がない中で何に時間を使うべきかを考えると、デザイナーに依頼する方がよいでしょう。 

 

これは営業やマーケティングSEO対策をするときも同じです。エンジニアは依頼を受ける側であることが多いので、人に外注する経験がない人が多いと思います。そのため、全てを自分で行ってしまいますが、今後個人開発などを考えている人は早めにこの思考を身につけておくと良いと思います。

 

その他の例

書き出せばもっとあると思いますが、すぐに実行できそうな例を書き並べてみました。

  • ご飯を作る時間がもったいないので外食や家事代行に依頼する
  • 食器を洗う時間がもったいないので食洗機を使う
  • 掃除が面倒なのでルンバを買ったり家事代行に依頼する
  • 有料noteを買う
  • 有料セミナーに参加する
  • タクシーを使う
  • 飛行機を使う
  • 新幹線を使う
  • 税理士を雇う
  • その他専門家に依頼する

 

もちろん、家庭の事情などでわかっていてもできないこともありますが、基本的には体系的な情報ネットや一般的には聞けない専門家の話など、自分で行うと時間がかかりすぎてしまうことには投資対効果が高いです。

 

更に一歩上の視点を

ここまでは、自分の時給換算で投資対効果を判断するというお話でしたが、自分はもう一つ、更に上の視点があると思っています。

 

それは将来早く収入UPができることに時間を使うという視点です。

 

ルンバを買ったり税理士に依頼するなど、目先の投資対効果で言えば、自分で行なった方が安くなるケースもあります。

 

しかし、2年、3年、10年といったスパンでみるとどうでしょうか。

 

将来の自分の時給が早く上がる事で、十分に取り返せるという判断もできます。

 

そのため、現時点では自分の時給より高くても、早期投資をするという考え方もしてみるとより良いでしょう。

 

 

最後に

極論としては物を買ったり依頼する時は、自分の時間を節約・短縮できるものにはとことん投資するべきです。

 

しかし、お金は有限です。

 

まずは、今の自分の時給に換算して、空いた時間働けば手元に残るお金が増えると思うから投資していくのが良いでしょう。経費に出来るのであればなおさらです。

 

その後に更に上に視点での投資を考えれば良いかなと思います。

 

成果をあげる人たちは皆、時間を買うという考え方をしていますので、色々とお話を聞くと「なるほど!」と思えることが多々あります。そういった方々とお話するのも自身の思考レベルをあげる良い機会になるでしょう。

 

お金も有限ですが、人生も有限です。この記事が少しでも誰かの役に立てばうれしいです。

 

P.S.

 

2019年5月7日にフリーランスエンジニア互助会をつくりました。サロンではなく無料のコミュニティになります。現在は16名になっていますが、まだまだコミュニティメンバー募集中です。興味持たれた方はぜひご参加してみてください。

※互助という形になるよう、会社員・フリーランス問わず、二年以上の業務経験がある方のみとなっております。

 

note.mu

 

 

同時に複数のプロジェクトに取り組むためのノウハウ

f:id:taiyop:20190512212436j:plain

フリーランスエンジニアのtaiyopです。

今回は、一人で複数案件を受託しているときや、複数のプロジェクトの開発に関わっているときに行なっている方法を共有します。

複数案件に関わっているときに生じる問題は何か?

切り替えが多くなる程、タスク切り替え時に生じるスイッチングコストが高くなることです。

案件の規模にもよりますが、多くは案件ごとにいつも開くページがあると思います。 何も考えずにタスク切り替えを行っていると、開くページの切り替え作業や稼働時間/休憩時間のメモ、前回の続きの思い出し作業に時間を取られてしまい、切り替えコストがそれなりに高くなります。

Chromeユーザーを使う

まず一つが、プロジェクトごとにChromeユーザー機能を使うことをオススメしています。

例えばAWSの複数プロジェクトでアカウント利用しているときに、ログインアカウントを都度切り替える必要があります。chromeユーザーはユーザーごとにセッションを管理してくれるため、タスクを切り替えるたびにログアウトをしなくてもすむようになります。

f:id:taiyop:20190512205658p:plain

OneTabを使う

OneTabとは、Chromeブラウザの拡張機能で、今開いているタブを一撃で圧縮してくれるツールになります。

先程のChromeユーザー機能と組み合わせることで、力強いパワーを発揮します。

Chromeユーザーでプロジェクトを分け、開いているページはOneTabでまとめて管理する。

これだけで、タスク切り替えが何度発生しても即座に続きから行うことができます。

f:id:taiyop:20190512203029g:plain

OneTab - Chrome ウェブストア

時間管理ツールでお手軽に作業切り替え

準委任契約で稼働している場合、タスク切り替えが発生したときの時間管理はけっこうな手間を強いられます。

自分はTimeCrowdというツールを現在使っていますが、個人で使う分には無料で利用できますのでオススメです。iOSアプリもあります。

f:id:taiyop:20190512204403p:plain

基本はTimeCrowdで時間管理をして、開始時間/終了時間/休憩時間/稼働時間はspreadsheetやexcelに後でまとめて記載するという方法をとっています。

timecrowd.net

仕事終わりに次のやることをメモ

こちらは次の作業開始が一晩以上開くときに使いますが、仕事終わりに次やることを書いておくと、続きから開始する速度が上がります。

自分はMacのデフォルトのメモ帳で行なっていますが、フォルダ改装機能もスクショ機能もあるので、必要十分です。

f:id:taiyop:20190512210300p:plain

まとめ

ノウハウの数はたったこれだけですが、脳の記憶容量を空けておくことが出来るので、目の前に作業に集中しやすくなります。

ぜひ一度お試しください。

P.S.

2019年5月7日に無料のフリーランスエンジニア互助会を立ち上げました。

一人で何かに悩んだときに相談する相手がいることや、定期的に知見共有することは個人の生産性を高める上でも重要だと思います。そういった横のつながりが作れる場にしたいと思いコミュニティをつくりました。

ご興味持っていただいた方はぜひ参加してみてもらえると嬉しいです。

note.mu

リモートワークしながらオンラインミーティングをするときのノウハウ

 

f:id:taiyop:20190512150644j:plain

 

フリーランスエンジニアをしながらリモートワークしたい人は多いと思いますが、リモートワークをする際に悩みの種の一つがオンラインミーティングです。

 

オフラインミーティングとは違い、オンラインミーティングでスムーズな議論やコミュニケーションをするためには、少しコツがあります。

今回、自分がオンラインミーティングを実際に行う上で取り組んでいることをまとめました。 

 

通信環境を整える

これはリモートワークをする上での大前提と思ってもらった方がよいです。通信が遮断されることで、快適なリモートミーティングがかなり実現しづらくなります。

 

自分だけの環境だけではなく、話し相手の通信環境にもよりますが、参加者全員が通信環境を意識することが重要です。

 

誰かが話している最中に口を挟まない

オンラインコミュニケーションの特徴だと思っていますが、ビデオチャットで打ち合わせをしているときに人の話途中で意見をあげると、音質や音量などの影響で不快感を与えやすいです。基本的には、話の区切りで意見をあげる意識が大事です。

 

「なんか言いたそう」というのを伝えたり感じ取るために、基本は顔出しして話すようにしています。

(人間関係できてくると顔出ししなくてもすむようになってきます。)


雑談を入れる

アイスブレイクの効果もありますが、自分は議題以外の隠れた問題や新情報を知るためにほぼ毎回の打ち合わせで取り入れてます。

「雑談しましょう」と話すのではなく、「最近XXX見たいんですよ」とか「XXXどうですか?」などと聞くとスムーズに雑談できます。

(ただし、雑談しすぎないように注意が必要ですw)

 

打ち合わせ時間の前後途中好きなタイミングで良いと思います。

何かの資料について話すときは画面共有を使う

これはほぼ必須だと思っていて、議論をするときに同じものを見れないと議論が止まりやすくなります。

もしgoogle spreadsheetなどでのファイル共有や、ファイル送付で資料を共有していたとしても、画面共有をしながら話した方が良いです。

手元にファイルがあったとしても、今ファイルのどこを見て話しているのかがわからないため、「今どこの話でしたっけ?」という状態になりやすくなります。

「同じ情報が見れる」と「同じ情報を見ている」は異なるというのを意識しましょう。

 


これができると、オンラインでもかなりスムーズな議論ができます。

 
自分だけでなく、他の参加者が話しているときも画面共有をしてもらえるようお願いしてみましょう。

オンラインホワイトボードを使う

これは実はけっこう有用で、リモートワークで概念図を説明するときに役立ちます。

手書きで書きながら説明できるので、まるでオフラインでホワイトボードを使うようにやり取りできます。

 

ちなみに自分はwiteboardというwebサービスと、iPad pro + Apple Pencil を組み合わせて手書き環境を整えています。この環境化で、書きながら話すという作業がやりやすくなりました。

https://witeboard.com/9b473560-747d-11e9-8597-a16bed1ff2e2

 

witeboardはsecret linkなだけで、リンクを知っている人は誰でも見れるので、重要な情報は書けないという点はありますが、AWSの設計図などの議論で使っています。

 

 まとめ

 リモートワークをやる上で知っておくべきことを書いてみましたが、書いてみるとそこまで項目は多くないかなと思います。

 

このあたりは学習コストの高くないノウハウだと思うので、ぜひリモートワークを実践している人は取り入れてみてください。

 

P.S.

2019年5月7日に無料のフリーランスエンジニア互助会を立ち上げました。

一人で何かに悩んだときに、周りのフリーランスエンジニアに相談できる環境になると思うので、ご興味持っていただいた方は参加してみてください。

 

https://note.mu/taiyop/n/n5fb57e543645

 

ペルソナはプロダクト作りにおいてとても大事。

f:id:taiyop:20190414110439j:plain

最近、ペルソナの重要性がとても実感湧いたので、この機会に書いてみました。

ペルソナに価値を感じたきっかけ

現在自社サービスを開発しているのですが、既に知人に声をかけて手伝ってもらっています。自分は開発していると細かいところを気になってしまってProduct Ownerとしてやるべきことがおろそかになりがちなので、自社サービスではUIに関わる部分のみで、実装は他メンバーにお願いするやり方をしています。

人に開発を依頼をするとなると、支払いコストがかかるため、適当な依頼をしたくありません。しかし、企画をしていると色々な機能が欲しくなってきます。UIも考えているとどんどんアイデアが膨らんできます。

また、TOPページのキャッチコピーや特徴を書き出す時に、伝えるべき文言がわからなくなっていました。

理由は、シンプルに、どういったユーザーを想定するのかが曖昧だったためです。

ペルソナを行っていないため、どういうユーザーを想定するかが曖昧でした。そのため、ささるコピーライティングも難しく、どうも納得感いかないという状況でした。

ペルソナはチームプロジェクトにおいてはとても重要

なぜなら、例えば一口にエンジニアといっても、ハードウェアエンジニアとソフトウェアエンジニアでは関心ごとが異なり、またソフトウェアエンジニアでもwebエンジニアとアプリエンジニアでも関心ごとが異なります。

どこまでをターゲットにするか次第でもありますが、どういったユーザーがいるかを整理しておかないと、別のペルソナをイメージして議論してしまうこともありえるのです。

その状態で議論しても、提案するアイデアが誰に価値があるのかが伝わらないということになり、せっかくディスカッションしているのにアイデアが刺さらない、プロダクトオーナーが求めているペルソナに対するアイデアではないことが増える、といった問題がでてきます。

一人でつくるのではなく、チームで行うのであればペルソナはつくっておくべき。

ペルソナをつくるためにも試行錯誤がいると思うので、最初は自分一人でつくるデザインやコーディングの段階ではペルソナは作らなくて良いと思います。

ただ、それを人に伝え、デザインやソフトウェアの開発を手伝ってもらう段階になれば、ペルソナはできていないと逆に開発に時間がかかります。

つくったけど、納得感のいかないものになりやすいです。(というか自分がそうなりました。)

ペルソナがあると議論も洗練されますので、面倒臭がらずにつくった方が良いです。

時間がない人でも、速読できなくても本を読み続ける方法

f:id:taiyop:20160905184413j:plain

この文章は書きやすさと読みやすさのバランスを意識して、5W1H形式で書いています。

なぜ書くのか(WHY)

自分は読書をアンテナを広げる活動として取り組んでいます。 フリーランスエンジニアなので、プログラミングから電子回路・デザイン・投資・法務・会計・起業・営業に関する本まで幅広く読んでいます。

しかし、フリーランスエンジニアの活動がうまくいき始めると、以前より読書の時間が取れなくなってきていました。受託に割く時間が長くなり、1冊をじっくり読む暇がなくなってきました。

そこで、少ない時間でも色々な本を読むための工夫を色々してみました。

自分としてはそれがやってよかった方法なので、アウトプットしてみることにしました。

誰に向けて書くのか(WHO)

読書時間が取れない方です。

例えば、家族がいて、自分の自由な時間の少ない人・業務時間の制限がなく、常に忙しいフリーランスや経営者などを対象読者像として想定しています。

問題はなにか(WHAT)

  • 読書をするための十分な時間がないこと。
  • 1冊の読書時間が長くなってしまうこと。
  • まとまった時間が必要なこと。

どうするのがよいか(HOW)

1. TOPPOINTを購読する

これは、今話題の本をだいたい3〜5ページに要約してくれる本です。毎月1冊購読でき、1冊につき10冊の話題の本を要約してくれます。

これは先輩フリーランスエンジニアに教えてもらったのですが、

①本屋に行かなくても自宅で本を読めること
②本の中身を時短でざっくり把握できること
③自分のアンテナ外の本を読めること

の3点でとても価値ある本だと感じています。 本屋に行く時間すらもったいないと考えてしまうようになった自分には適していました。

www.toppoint.jp

2. bookmeterを見る

これは他の人の読んだ意見を聞いて、多様な視点を取り入れたい時に使えます。ネタバレも書いているので、内容をざっくり把握するのにも使えます。

要約のプロが書いているわけではないので、誤解された感想が書かれている可能性もありますが、全て無料で読め、複数人の感想を読めばそれなりの精度で内容を把握できます。

bookmeter.com

booklogも似たような形で使えますが、自分はbookmeterを読むことが多いです。

booklog.jp

補足(Etc)

本を買わなくても良いという意見にも見えると思いますが、自分は良いと思った本は買うことにしています。あくまでざっくり目を通すためのものとして利用して、もっとしっかり読みたいと思ったら本を購入する。というアンテナ目的で使っています。

まとめ(Summary)

いかがでしょうか?

年を取ってくると、立場も変わって他の人の面倒も見る必要があるなど、忙しくなる人も多いと思います。

ですが、自分の幅を広げる活動をしないと、時代に置いていかれるなんてこともこの変化速度の早い現代では十分あり得るため、本は継続的に目を通すことをオススメしています。

本を読むことで、普段触れてない情報を仕入れることで、脳が刺激され、アイデアにも広がりが生まれるんじゃないでしょうか。

電車とかでも読めるので、ぜひ一度お試しください。

ブログ運営のポイントをチートシート風にまとめてみた。

この記事は何か

今年からブログ運営を本格的に開始する事にしたので、これまでの知見やググって情報収集した知識を整理してみました。

主に自分用ですが、他の人にも役立つかなとおもいます。

記事数とPV数の比例度

記事の質にもよるので目安程度でしかないですが、それでも目安がある方が目標管理しやすいです。

PV数とアドセンス収益の関係

アドセンスだと1PVあたり0.5円くらいとかいう記事があった。

  • 56,000PV/月で諭吉5枚分くらい
  • 3,000PV/月で野口英世1枚くらい
  • 80,000PV/月で諭吉4枚くらい

1記事の文字数はどれくらいが良いか

1000字以上。2000 ~ 3000字以上がおすすめ。10,000字以上を目標にしているブログもある。

wordやgoogle docsでもチェックできるし、外部サイトでチェックするのも価値があり。

記事執筆を外注する場合はいくらか

crowdworksを見ると、0.4円~1.0円が多い。しかしこのあたりは記事の専門性による。1円でも募集の応募がなかったりもしている。

その他コツ(SEO対策など)

  • サイト内巡回する仕組みをつくる。(パンくずなど)

  • 被リンクを増やす

単純にドメインパワーを強めるためです。外部サイトから被リンクがもらえると良いです。

サイト内被リンクも重要です。結構手間だが、こまめに行うべし。

悪い被リンクはgoogleに削除依頼することも必要です。(search consoleから行えるみたいです)

Ahrefs - SEO Tools & Resources To Grow Your Search Traffic

ahrefsを使えば、被リンク調査などもできます。競合調査もできます。

記事のカテゴリ

  • 記事コンテンツはできるだけ似通ったカテゴリにする。

サイト内巡回する仕組みを作っても、記事を見たーユーザーが別記事を見てくれなければアクセスは対して伸びない。 サイトドメインごとに同じようなコンテンツカテゴリの記事のみにすることによって、1記事のアクセスが複数記事のアクセスに変わる。google さんの評価も変わる。

タイトルにこだわる

わかりやすいキーワードや人気のあるキーワードがあるので、それを見れば良い。人気度を表示してくれるqiitaやはてなブログなどを見れば、クリックしたくなるキーワードが見えてくる。

写真を入れる

写真がある方が記事が読みやすい。 ただし、最近はアフィリエイト業者も多くて、似た画像を入れる人が多いので敬遠されるリスクもありそう。 少なくとも自分は「あ、これはアフィ目的の誘導サイトだ」と思ったら信用度低いと判断してサイトを離れる。

写真はcanvasを使うのも良いと思う。   www.canva.com

目次を入れる

目次があるとないとでは、読み手への親切度が違います。目次をいれてあげるだけで、読み手が話についてこれずに離脱するリスクを減らせます。

分析・解析について

  • search consoleを入れる

search consoleはアクセス元のキーワード分析ができるので、キーワードごとのPV数と人気アクセスURL関係性など、細かい分析ができる。

analyticsは全体PVやデバイスやユーザー層の分析ができる。

  • ahrefsなどを使う   前述しましたが、被リンクや競合調査ツールです。

1記事の所要時間

1本の内訳は「ネタ出し30分・構成作成60分・執筆60分・本文調整30分・画像探し30分・最終調整30分」といった感じ。働いてたら8時間の時間捻出は割と難しいですよね

https://twitter.com/manabubannai/status/995860171199995906?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E995860171199995906&ref_url=https%3A%2F%2Fmanablog.org%2Fblog-article-number%2F

ということなので、だいたい1記事4時間くらい。

どこのサーバーを使うかの候補

複数ブログを運営するなら、基本はwordpress利用で良いと思う。1つだけの個人ブログなら有料ブログサービスを利用が簡単。

ここでは、wordpressを運用する場合の話なので、wordpressを利用しない場合はskipしてよし。

  • DigitalOcean

安い。性能良い。(らしい)多少の技術力が必要。

  • AWS lightsail

スナップショットが取れるのが便利。多少の技術力が必要。

wordpressやdbのバージョンアップデートが簡単。

wordpressやdbのバージョンアップデートが簡単。

他にもあるが、とりあえずメジャーどころだけピックアップ。 ぶっちゃけ金額はどこも大差ないので、使いやすさとか安定性で選べば良い。自分もよく迷う。 見る箇所は【基本料金】【CPU性能】【メモリ容量】【転送量と料金の関係】【サーバースペックの切り替えやすさ】かな?

利用サーバーの引っ越し(移行)はAll-in-One WP Migrationとかそういうプラグインがあるので、なんとかなるので心配する必要なし。最新のおすすめツールは時代の変遷で変わるので都度ググるのがおすすめ。

最後に

この記事は自分用なので、あまり見やすさのための修正はしてないです。なので本職のブロガーからすればひどい作りに見えるでしょう。

でも要点は書いていると思うので、とりあえずここに書かれたことを参考にすればとっかかりは良いかなと思います。

メールアドレスのパスワードは最も堅牢にするべき

なぜ書くのか

きっかけは、自分はパスワードをよく忘れるため「パスワードの再設定」をよく使うのですが、パスワード再設定画面を見る回数が多いのも「メールアドレスアカウントを盗まれるってかなり危ないよね」と思ったことでした。

そしてこれを記事に書こうと思った理由は以下の3つです。

  1. メールアドレスって歴史が長い分、昔から使っているメールアドレスだとパスワードを短いままほったらかしにしてる人が多いんじゃないかと思ったためです。

  2. メールアドレスのパスワードを他のパスワードよりも堅牢にすべきと警告してる人(記事を書いている人)も少ないなぁという印象もあったので。

  3. 記事にまとめることで、自分の考えを整理して今後セキュリティ対策について考える時間を減らしていきたいため。

※ちなみに「最も堅牢にするべき」と書いていますが、意味合いとしては銀行やクレジットカードのアカウントくらい堅牢にしましょうって意味で書いています。

どんな人に読んでほしいか

  • メールアドレスを昔から使っている人。パスワードを短いまま放置している人。
  • これまでメールアドレスのアカウントのパスワードについてそこまで意識していなかった人。
  • それなりに堅牢にはしてるけど、なんとなくでパスワードを堅牢なものにしていた人。
  • セキュリティ対策とかあんまり時間かけて考えたくないし、いい感じにできていれば良いという人。

一般的な再ログインの種類

私はFacebookを利用していますので、そちらを例にあげます。

f:id:taiyop:20190107125902p:plain
Facebookパスワード再設定画面

この写真のように、基本的な方法は以下の3つです。他のサイトでもだいたい似たようなものになっています。

  • 連携した外部アカウント(ここではGoogleアカウントになっていますが、サイトによって異なります。選択肢がない場合もあります。)
  • メールアドレス
  • SMSでコード送信

このうち、もっとも多くのwebサービスで使えるのは登録しているメールアドレスでのパスワード再設定になります。

メールアドレスのアカウントが盗まれるとどうなるか?

前述の通り、パスワードはメールアドレスで再設定できるのが一般的ですので、

登録したメールアドレスのメールを見れる人は、ほぼ全ての利用サイトでアカウントのパスワード変更ができてしまいます。

そしてもちろん、パスワード変更ができれば、そのままサイトにログインして勝手に投稿や購入などもできてしまいます。

どうするべきか

完全に個人的な意見ですが、メールアドレスのパスワードは英数字+記号含めた

13桁以上

にすることです。

一般的には少なくとも11桁以上と言われていますが、コンピュータの性能向上でそのうち11桁でも安全ではないと言われると思うので、しばらくは使い続けられるように13桁以上でしておくのが良いんじゃないかなぁと思っています。

15桁、16桁くらいにすればまぁより長く安全にそのパスワードを使い続けられると思います!

(もちろんそれでも、セキュリティにもっと真剣に考える人は「定期的にパスワードを変えましょう」と言いますし、それはより堅牢にするためにできる方はした方がよいでしょう。)

〈オマケ〉SNSのパスワードも堅牢にしておくべき

最近というかもう何年も前から、SNSログインはとても普及しています。再ログインが簡単なことや、パスワードを個別に設定しなくて良くなるなどの利便性が理由として挙げられます。

そのため、現在はSNSアカウントも盗まれれば、非常に多くのサイトにアクセスできる価値のあるアカウントとも言えます。

f:id:taiyop:20190107131907p:plain
Facebookログインしているアプリの確認方法

ですので、SNSログインをよく使っている方はそのアカウントのパスワードも堅牢にしておくことをお勧めします。

最後に

セキュリティと利便性は両立が難しいです。

利便性を追求すればするほど、セキュリティリスクも上がることが多いです。

もちろん、ITの進化で徐々に堅牢ながらも利便性の高い仕組みにはなっています。

ですが、やっぱりセキュリティリスクを完全に0にするのは難しいので、自分の身は自分で守るためにきっちりパスワードは安全なものにしておきましょう。

オマケのオマケ

パスワード管理を楽にしたい方は1passwordやlastpassなどを使うのもおすすめです。

これらは保存データを暗号化しておいてくれているので、仮にサイトがクラックされてデータが流出しても、データは暗号化した状態なのでそのままではパスワードを使うことができません。

もちろんパスワードを一元管理するのは流出時のリスクが大きくなってしまうとも言えるのですが、それでも短いパスワードを使うよりかは安全だと思っています。

1password.com

www.lastpass.com

AWS Cloud9を使ってデザイナーと協業できるシームレスなRubyOnRails環境体制をつくる

なぜかくのか

  • 理由1:システム開発のチームを組んだ時に、チームメンバーの開発環境をお手軽にしたい
  • 理由2:古いPCから新しいPCに移行するときに環境構築を簡単にしたい
  • 理由3:複数プロジェクトを1台PCで実行してると負荷が高すぎてPCの寿命が縮まりそうだから

このような理由から、Cloud9導入したい人が増えるのではと思ったので書きました。

Cloud9とは

オンラインエディタツールです。Amazonが買収してAWS Cloud9になりました。

料金はどうなの?

AWS Cloud9は最小30分の動作なしでインスタンスをStopしてくれる気配。

f:id:taiyop:20180222232623p:plain

つまりmicro planなどで費用を抑えようとしなくても、必要十分な環境を準備して低コスト開発環境の構築ができる

何が良いのか

  • デザイナーとの協業がしやすい

デザイナーはHTML, CSS, Javascriptコーディングまではしてくれる人はそれなりにいると思いますが、RubyとかPHPとかJavaとかPythonとか使わない人がほとんどで、ましてRubyOnRailsなどの更に細かいフレームワークなどより知らない人が多いと思っています。

そもそも、WEBサービスの開発でデザイナーの期待するのは使いやすいUIデザイン、UXデザインなので、バックエンドに強い≠デザイナーとして優れていると考えています。 (両方できる人がいて越したことがありませんが)

そのため、開発環境をデザイナーが各自で準備してもらうのは無駄な労力が発生します。 別案で、HTML, CSS, JavaScriptでデータを貰って当て込むというのもありますが、それはそれでデグレが発生することもあり、無駄なコストが発生します。

設定方法

1. githubと連携

git clone するためには、githubssh keyを設定する必要があります。

cloud9のterminalで設定

  • ssh keyの作成
cd ~/.ssh/
ssh-keygen -t rsa -b 4096 -C "hogehoge@fuga.com"

参考: GitHubにssh接続できるようにする - Qiita

  • githubのprojectごとのdeploy keyに公開鍵***.pubの中身を登録

Githubの設定ページのSSH KEYでも利用できますが、 今回は外注などで他の人に環境を共有するため、github apiなどで他プロジェクトが見られるのを防ぐためにdeploy keyに設定します。

f:id:taiyop:20180222233834p:plain

※Thank you @pandeiro245 in the following ↓↓

f:id:taiyop:20180222234450p:plain

  • git cloneする
2. rubyの設定

これはrvmが入っているのでそれで設定すれば良いと思います。

  • bundle install する

の前に、gem pgでエラーになるので、postgres-develをインストールする

sudo yum install -y postgresql96-devel

ruby on rails - gem install pgすると失敗する。yum install postgresql-develでも解消しない。 - スタック・オーバーフロー

https://forums.aws.amazon.com/thread.jspa?messageID=817858&tstart=0

ruby-on-rails - an error occurred while installing pg (1.0.0), and bundler cannot continue. - pg gemをインストールしようとすると 'libpq-fe.h'ヘッダが見つかりません - CODE Q&A 問題解決

3. postgres環境の設定

この工程が面倒な人はとりあえずRDSを使って設計しても大丈夫です。あとでRDS -> Cloud9内のPostgresに変更しても工数が余分に増えることはないので、 直近のモチベーションとタスク優先度で判断してもらえば良いと思います。

qiita.com

  • rake db:createできるようにする

  • postgresqlをインストール

  • postgresユーザーにPW設定

本当はRoR専用ユーザーを作るほうが良いですが、今回は開発環境のみでの利用なのでpostgresユーザーを使うようにしています。

sudo -u postgres psql
#postgresユーザーのパスワード設定
/password
#exit
/q

VagrantのCentOSでPostgreSQLをRailsで使えるようにする - Qiita

  1. pb_confを修正
sudo vim /var/lib/pgsql/9.6/data/pg_hba.conf

最下部に下記1行を追加

 local   all    all         md5

パスワードを設定したので、peerのままだとpsqlログインできなくなるので上記必要。

peer認証の関係でpsqlログインできない時の対処法 - Qiita

RailsでPostgreSQLを使う -- blog.10rane.com

  1. 初期化

sudo service postgresql96 initdb

  1. 起動 sudo /etc/rc.d/init.d/postgresql96 start

  2. 自動起動

chkconfig postgresql-9.6 on

EC2(Amazon Linux AMI)へのPostgreSQLのインストールと設定 - ぴよぴよ.py

オマケ:psqlチートシート

PostgreSql コマンドの覚え書き - Qiita

4. ImageMagickをインストール

画像を使うので

qiita.com

5. cloud9の起動
rails s -p 8080

実行すると、urlが右上に表示される。

4. IAMユーザーを作成して共有

cloud9権限を追加して共有

最後に

だいたいこれでできるのですが、問題はcommiterの名前を別途設定する必要がある点です。 各開発者のgithub アカウントとは紐づかないので、代わりにcommiter nameを別途設定する必要があるのが少し手間です。

このあたりも含めて、もっと連携強化されて使いやすい環境になるとうれしいですね。 :)

役員報酬が上がる場合は社会保険料の手続きで必要な書類は標準報酬月額変更届のみ

フリーランスのtaiyopです。

法人1期目が終わり、2期目から法人の役員報酬を少しだけ上げる予定ですが、その際どういう手続が必要か調べました。 ※ 株式会社の場合

1. 株主総会議事録の作成

まず、変更できるのは基本的に決算から3ヶ月以内ですので、3ヶ月以内に株主総会を開きます。弊社はまだ一人役員なので一人で好きに日にちを決めて開催しました。

ここで大事なのは株主総会議事録の作成です。 株主総会議事録のテンプレートはネット上から見つけることができます。

2. 3回支給後、年金事務所に標準報酬月額変更届年金事務所に提出する。

ここが今回の記事のメインとなります。

まず改定月は新役員報酬を3回支給した後になります。弊社は当月締の当月末払としていましたので、今年の10月から役員報酬を変更したとすると、来年の1月に年金事務所に手続きに行けば良いことになります。

最初にネットサーフィンをして記事をいろいろ見ていると、株主総会議事録やら実際の支給証明となる明細などのコピーがいると書かれていました。

ですが年金事務所に問い合わせたところ、5等級以上下がる場合以外は標準報酬月額の変更届だけで良いそうです。

5等級以上下がる場合は以下2つも必要だそうです。

  • 役員報酬変更に関する株主総会議事録
  • 実際の変動後の支給を証明する3回分の給与明細書

ただし、提出が改定月の初日から60日以上遅れてしまうと、昇給する場合でも株主総会議事録と変動後3回分の給与明細のコピーが必要になるようです。

ということで、弊社は10月に株主総会を開いて役員報酬を変更、来年1月に標準報酬月額変更届のみを提出すればよいみたいです。

以下の社労士の記事も参考になりました。

降給により標準報酬月額が5等級以上下がる場合の月額変更届-解決社労士 柳田恵一

最後に

法人立ち上げ時はわからないことだらけなので、この記事が誰かの役に立てば良いなと思って書きました。

また、この記事を参考にしても最新の手続きは変わっている場合もありますので、年金事務所に問い合わせるのが一番です。