自己啓発で触れられない前提: 死ぬぐらいストイックな努力をする人たちが見ている世界

自己啓発系の本とか、ビジネス系の本とかに、ひたすらハマっていた時期があった。 効果的でない仕事をできないのであるならば、この先、仕事人としての価値はないだろうと思ってのことだった。

その中でも、 7 habits (7つの習慣) は熟読した。他には比べようもないほど、説得力があり、かつ、その理論が体系だてて解説されていたからだ。

ざっくりとその説明をすると、以下のようなロジック。

自立しろ

  1. (人生の)目的から入れ
  2. 効果的にやれ
  3. 効率的にやれ

社会的な成功をしろ

  1. win win になれ
  2. まず理解して、理解されろ
  3. シナジーをおこせ

そして

  1. これらを習慣化しろ

さらに述べられているのは、社会的な成功(4-6)は、自分自身が自立していること(1-3)が前提になっている、ということ。

これを読んでからの自分は、基本的に以下のようなことを考えていた:

人生で成功を収める、指針としてまず第一が目的(終わり)を定めることであるならば、自分の目的(やりたいこと)から考えていこう、しかし、あまりやりたいと思うことがないな、、この齟齬は一体どうしたものだろうか。

ありとあらゆる人生の中の施策がやりたいことがないと意味がないのだとしたら、今、ここでこの辛い状況をどう対応したら良いか分からない。社会に出て働いてみて、どうやら、自分はあまりコミュニケーションが得意ではないらしい。なんなら、そもそも社会不適合気味ですらある。

やりたいことがない人間にとって、自己啓発がすべて無意味だとするならば、自分という人間は、これ以上ないほどに詰んでおり、ただただゆるやかに不幸になる未来が訪れるだけだ。

そのように考えてわりと長く過ごしてきたが、この齟齬を説明していると思うブログ記事を見つけたのでここでシェアしておく。

世のためを思うなら、まずは他人から奪うくらいやってから、反省して思え。 くだらん夢見てる暇あるなら、自分のために金儲けのために黙って働け。 そっちのほうがよっぽど夢があるし、解決すべき本当の問題が見えてくる。

今、ボロボロになるくらい死ぬほど働いて、これを読んでお前の意見を述べてみろ!

※これ、とは7つの習慣のこと。

死ぬほど働いて真面目に生きること、それが前提であるし、本当にやりたいことなんて、死ぬ気で試行錯誤して仕事していった結果にしか見えてくるものじゃない。

この前提の周辺部分をフワっと触っているのが世の中に山ほどある自己啓発本の本質だし、なのでこの前提がないと、基本、意識が上滑るだけであった。

上で共有されたブログでも、唯一価値ある自己啓発書とされている

firebase, aws, adsense, amazon affiliate に載っけていいコンテンツ(リンク)

ブログなどをプラットフォームに載っけるにあたって、どこまで許容されるのか、という話がある。 基本的に日本に住んでいる場合は、日本の法律に従わなければならないが、 それに加えて、各プラットフォームがその利用規約に記述しているものにも従う必要がある。

いきなり ban されても悲しいので、それぞれのプラットフォームで何が許されるのかへのリンクを記述しておく。

AWS & Firebase

違法行為を助長するようなものは、だいたいアウト。

アダルト系は「児童ポルノ、獣姦、レイプ」が明確にアウト。 Firebase の場合はそれだけが明記してあって、割と明瞭。 AWS は上記を含む、わいせつなものが駄目、と書いてあるように読めて、少し規約に幅が設けられているっぽい。

Adsense

https://support.google.com/adsense/answer/1348688

めちゃくちゃ書いてある。

  • ありとあらゆるアダルト系
  • ヘルスケア
  • アルコール・タバコ

らへんですらアウト、というので厳しいな、という感じ。 上記リンクから、それぞれ具体的に何が駄目か、まで書いてあるので、それと一致しているかどうか確認しておくと良い。

Amazon Affiliate

https://affiliate.amazon.co.jp/help/operating/agreement/ref=amb_link_o85vg1eKMaKl7AM4zgInNw_13

  • アダルトは駄目。
  • 暴力的、差別的でもだめ。
  • その他、 Amazon が不適切だと判断しても駄目。
  • Adsense より若干厳しくないかも、ぐらい。
  • 逆に、 Adsense オッケーならば Amazon Affiliate もいけそう。

まとめ

Adsense まで見越したサイトを作るなら、下手にアウト項目に該当するジャンルは取り扱わないようにするのがベター。

お名前.com で txt を設定するときは、 host を空欄にする必要がある。

タイトルの通りで、ひたすら嵌ったのでメモ。

お名前.com を firebase に登録する際には、 TXT レコードを設定してくれ、と言われる。

画面からポチポチすればわりと分かりやすいのだけれども、ひとつ嵌ったのが、ホスト名の入力欄が以下のように、いかにもサブドメインしか設定できなさそうな UI になっている。

1
___.mydomain.com

しかしこれは罠で、もしmydomain.com 自体にレコードを設定したい場合には、空欄のまま設定値を記述する必要がある。

これで少しハマった。

spaced repetition をやるなら、 anki が良さそう

何かを覚えるにあたっては、 spaced repetition が有効。 spaced repetition は何かというと単語帳をテストしてみて、どれぐらい覚えていたかを入力し、連続して覚えていたものは次にテストする時間を倍々に伸ばしていく手法。

長期的に使えば使うほど、また、単語帳スタックを溜めれば溜めるほど価値が高くなるタイプの手法なので、 それを利用するプラットフォームは基本的に以下の条件を見たすのが望ましい。

  1. オープンであること (互換性のあるツールが作成されるはず)
  2. 複数プラットフォームで同期できること

で、ざっくりと調べた結果、それを見たすのが anki だった。

技術仕様

anki は基本その動作デバイスのローカルデータベースにデータを保存する。 MacOS バージョンでは、その実体は sqlite3 であった。

同期は、 anki をオフィシャルに提供している ankiweb サーバーに、アップロード・ダウンロードを行って保存が行える模様。 同期ボタンを押したタイミングで、クラウドとローカルのデータベースを見比べて、なるべくよろしくデータの同期処理を行う様子。

対応するQ&A方式としては、 LaTeX を使った整形や画像など、基本的なマルチメディア対応はなされている様子。

会社運営

同期サーバーなどの維持費や、もろもろの開発費は、 anki for iOS の売上のみから賄われている様子。

hexo で html をそのまま表示する

Google の webmaster 登録をしようと思い、画面をポチポチしていると、 /google13245.html みたいなものをそのままルート直下に配置する必要が発生した。

それを行うのに若干はまったので、そのメモ

やること

  1. source ディレクトリ直下にそのままに表示したい html を配置。
    • おそらく、source 以下のディレクトリ構造が基本はそのまま web 上の url 構造になるっぽい。
  2. _config.yml の skip_render にファイル名称を記述

    1
    skip_render: google13245.html

基本は、これでできるはず。 hexo generatepublic に html がそのまま出力されていればオッケー。

はまったこと: 何か render 処理が行われてしまう

手元で、上手く動作しなかった。 挙動としては、ヘッダやらフッタやらで、頼んでもいないのにいろいろ装飾された結果が public に出力されていた。

この挙動の解消の役に立ったのは次のリンク:

どうやら、ローカルでは db.json があり、それが何かしらのキャッシュのような機能をはたすらしい。

db.json を削除して、 hexo generate した結果、正しく url は表示された。

Hexo ブログを bitbucket, circleci, firebase で無料自動化公開する

ブログを本格的に始めようと思い、何がいいのか調べていた。 最初 jekyll を触ってみるが、高々 category をよろしく表示させるだけでも何か上手くいかなかったので、 hexo をためす。

階層化カテゴリ、タグ機能、 responsive な画面、がデフォルトで備わっている hexo に行き着き、それを firebase にデプロイすることでひとまず以下が達成された。

  • すべて無料
  • ソースコードは公開しない
  • deploy パイプラインの自動化

このブログは今それでデプロイされているが、その際に行った手順をまとめておく。

手順

bitbucket リポジトリ用意

hexo 関係

hexo セットアップ

1
2
3
4
5
6
7
8
# hexo インストール
npm i -g hexo-cli
# hexo プロジェクト作る
hexo init blog

# ライブラリインストール
cd blog
yarn install

hexo 確認

1
2
3
4
5
# public フォルダにサイトをビルドする
hexo generate

hexo server
# => localhost:4000 でそのブログを見れるようになる

hexo 編集

_config.yml がプロジェクト直下にある。そこで、以下を編集

  • title : おすきなタイトル
  • author : 自身の名前
  • url : firebase にデプロイしたら url が作られるので、それを入れる。

firebase

以下の感じでよしなにやる

  1. https://console.firebase.google.com からプロジェクトを作っておく。
  2. firebase-tools を install する: npm i -g firebase-tools
  3. プロジェクト直下で firebase init 適当にやっても、最後に firebase.json が以下の形になっていればよい。

    1
    2
    3
    4
    5
    {
    "hosting": {
    "public": "public"
    }
    }
  4. firebase deploy でデプロイされましたよー、みたいに出ればオッケー

circleci

端的に言うと、以下を行う。

  1. bitbucket と連携して以下の .circleci/config.yml を書く
  2. circleci の画面からポチポチして、 bitbucket のアカウントと連携させる
    • 注意点として、 github アカウントと bitbucket アカウントは連携すると別 organization 扱いになる。これに気付いてないとちょっとハマる。
  3. yard add -D firebase-tools を行い、ローカルの node_modules の中に firebase-tools が入るようにする
  4. firebase login:ci を行い、そのトークンを、 circleci の設定から environment variable として設定する。
    • 以下の設定だと FIREBASE_DEPLOY_TOKEN から受け取っている。
    • まぁ、プライベートリポジトリなので直コミットでもいいような気も少しする。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# Javascript Node CircleCI 2.0 configuration file
#
# Check https://circleci.com/docs/2.0/language-javascript/ for more details
#

defaults: &defaults
docker:
- image: circleci/node:10.9.0
working_directory: ~/repo

version: 2
jobs:
build:
<<: *defaults
steps:
- checkout
- restore_cache:
keys:
- v1-dependencies-{{ checksum "package.json" }}
# fallback to using the latest cache if no exact match is found
- v1-dependencies-
- run: yarn install
- save_cache:
paths:
- node_modules
key: v1-dependencies-{{ checksum "package.json" }}
- run: yarn run build
- persist_to_workspace:
root: .
paths: [ '*' ]

deploy:
<<: *defaults
steps:
- attach_workspace:
at: .
- run: node_modules/.bin/firebase deploy --token="$FIREBASE_DEPLOY_TOKEN"

workflows:
version: 2
build-and-deploy:
jobs:
- build
- deploy:
requires:
- build
filters:
branches:
only:
- master

感想

push するだけで blog が更新、静的ホスティング PaaS に載っているのでカスタマイズの自由度もかなり高い。 プライベートリポジトリベースなので、いらんこと気にせず成果物のデプロイだけに集中すればいい。 firebase ベースなので、必要があれば web アプリに進化させることもできる。

ブログはもうこの構成一択なのではなかろうか。