クリティカル・シンキング

クリティカル・シンキング

ベネフィット

相手によってベネフィットは変わる。
どのようにベネフィットを聞き出すのかが問題。
また、ベネフィットに答えるために、有効な実績があるのは強い。

難しさ

何かを提案、説得するためには、ベネフィットに答えることを意識すると良いと思う。
実績を作るための努力はいつも怠らないことが重要なのだと思う。
また、実績がない場合も、それに準ずる実績を提示することで、その可能性を示すことができる。

提案における顧客のベネフィットの共通項

  • お前は誰なのか。信用できるのか。
  • 困っていることを解決できるのか。
  • 実際に効果があるのか。
  • コスト感
    • 導入しやすさ
    • 値段

面接でも、何かの商品を売る場合でも、上記は必要なのだと思った。

所感

イイタイコト、キキタイコトでブレストすると、本当に相手が求める質問に辿りつけた。
たとえばプレゼンや、面接でも、相手がどういうことを聞きたいか、などをある程度想定して、
それを事前に考えてみることはかなり効果的だと思う。

Create Staging Server Using Jvm With t2.micro

Create staging server using jvm with t2.micro

jvm is required many memories

I ran command lein ring server, not-enough-memory error has raised.
I googled and found solution.
https://github.com/omcljs/om/issues/101

memo for create staging on ec2 instance(amazon linux)

something like this(picked up from history)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
sudo yum install leiningen
wget https://raw.githubusercontent.com/technomancy/leiningen/stable/bin/lein
mkdir bin
chmod a+x lein
./lein
ssh-keygen
export MY_DATOMIC_USERNAME="moge@gmail.com"
export MY_DATOMIC_PASSWORD="datomic_password"
sudo yum install java-1.8.0-openjdk.x86_64
ll /etc/alternatives/java
cd /etc/alternatives/
sudo mv /etc/alternatives/java{,.bak}
ln -s /usr/lib/jvm/jre-1.8.0/bin/java /etc/alternatives/java
sudo ln -s /usr/lib/jvm/jre-1.8.0/bin/java /etc/alternatives/java
lein ring server

エンジニアのための 確定拠出年金

エンジニアのための 確定拠出年金

はじめに

俺だ、 vimtax だ。
今日は確定拠出年金について調べてみるぞ。

確定拠出年金について

確定拠出年金とは

1
2
3
確定拠出年金は、公的年金に上乗せするための選択肢として作られた年金制度です。  
60歳未満の自営業者(国民年金加入者)や企業等にお勤めの方(厚生年金保険加入者)を対象とし、  
公的年金等に確定拠出年金を上乗せすることで、老後の資産形成に役立てることができます。

引用:http://www.jp-bank.japanpost.jp/kojin/sonaeru/kakutei/kj_sn_kt_what.html

と書いてあるが、60歳まで下ろせない貯金で、そのままためておくこともできるし、
資産運用することもできる、っていうかんじのものだ。

対象

確定拠出年金には 個人型と、企業型がある。
個人型にもパターンがあるが、この記事では、
大抵のサラリーマンが該当するであろう個人型の第2号被保険者を扱うものとする。
自分が何型なのかとかは、上記の ゆうちょのページを読んで、判別して欲しい。

メリット

所得税、住民税の控除

このリンクによると、
年収が396万円以上695万円未満の人だと仮定すると(所得税が20%)、
月額2万3千円(これが最大)を12ヶ月払い、年末調整で申告すると、 23,000 * 12 = 276000 の 20% = 4万6千円 が
返ってくるらしい。これは馬鹿にできない。
さらに、来年の住民税も 10%分(2万3千円) やすくなるらしい。
合計6万9千円も得するようだ。
これはやらない手はないのではないか、と思わせる。

資産運用による利益に対する非課税

https://www.toushin.or.jp/dc/labo/vol2_yamasaki/
とかを見ればわかるように、資産運用で得られた利益が非課税であるのは大きい。

デメリット

手数料

http://shacho-radio.com/?p=1680
個人型の場合は手数料がかかるらしい。

SBI証券の例

SBI証券の例を見てみる。
[http://ad401k.sbisec.co.jp/kojin/0104.html](http://ad401k.sbisec.co.jp/kojin/0104.html)

最初だけかかる額

加入時に 3,857円

月額課金

50万円になるまでは、324円 + 167円 = 491円(月額)かかる。
50万円以上になると、 167円(月額)かかる。

なので、初年度だと、
491 * 12 + 3857 = 9749 円かかる。
ただ、4万6千円の税制メリットと比べれば、良さそうに見える。

60歳まで下ろせない

最大で預けたと仮定すると、基本的に 276000円(年額) が下ろせないということになる。
276000円をつかって個人的に運用だったり、なにかの活動資金に割り当てて、儲けが出たときに、 課税された上での額が5万9千円以上なら、やる価値はあるように見える。

ただ、急にお金が必要になる場合ってたぶんあるので、そこんところは考えなきゃダメだと思う。
といっておきながらも、 SBI 証券のを見ていると年1回、額の変更は可能なのであまり考えなくてもいいかも。

所感

急にお金が必要になるって、結婚式挙げるか、家買うか、病気なおすか、そのくらいじゃないのかな。
お金(貯金)に余裕があるか、老後のための貯金に自信がない人は、是非やったらいいように見える。
手元にお金があることのほうがメリットだろ!っていう人には向かないと思う。
自分の場合は奨学金とかもまだあるから、その辺を繰り上げ返済したほうがメリットあるんじゃねぇかっていうのもある。
とりあえず直近ではお金必要ないので、上限突っ込んでもいい気がするなぁ。
だけど、年取ってから使うお金と、今使うべきお金って割りと違う気もするんだよなぁ。
そういう意味で、手元にお金があるメリットっていうのは、額面通りじゃあないように思う。

こういうお金の話って向き合うのスーパーめんどいけど、休みの日とか、時間があるときに少しずつまとめていくのは、
結局得になるかもしれないとおもうと、今後もたまにはこういうのを調べていきたい。

シンプルな Wiki 「gollum」 を評価した

TL;DR

  • backlog はかなり緑だけど、よく出来てた
  • gollum は backlog と比べると、今の組織ではまだ早い
  • 気合があれば gollum を修正して使うといいんじゃないの

背景

1
【緩募】シンプルな wiki で無料で markdown がかけてデザインがイケてて添付ファイルが up できて backlog より便利なヤツ  

こういう要求があった。
今、会社で wikiシステムにも backlog を使っていて、よく出来ているんだけど、
エンジニア的な視点からは非常に使いづらい気がしていて、
markdown でもっとイイ感じのなにかが欲しかった。

はたして backlog の何が不満なのか

  • なんか全体的に緑なデザイン
  • markdown プレビューがだるい点
  • (重要)コンフルに比べて、小ページの概念がないこと
    • いま気づいたけど、これがマジでイケてない。コンフルはそれが便利だったことに今気づいた。
      • どうでもいいけど コンフルは検索がクソな印象がある。
  • (重要)なんかロックインされちゃう点
    • ぶっちゃけ疎にしておきたい。(エクスポート インポートできるようになっていてほしい(調べてない))
    • markdown という表記自体もある種ロックインだけど、markdown からの変換は期待できるし、現在のデファクトだからそれはそれでいいかと..

それで気になっていた gollum を評価した

gollum はシンプルな wiki で、かなり良く出来ていると思う。
ただ、まだ実用にはたえないと思う。足りないと感じている点は以下に述べる。

足りないと感じている点

  • pdf のファイルを添付したとき、それがプレビューにならない(pdf.js的な)。
  • ファイルを添付した場合、その画面に添付されているリストが出て欲しいが、出ない
  • ライブプレビュー機能はあるがずいぶん画面が変わってしまう。非エンジニアにとっては、ライブプレビューがない方が使いやすい(WYSWIG?だっけ、があるから)
  • だけど、ほんとはライブプレビューしたい。 docbase みたいなライブプレビューがある方が良い。
  • どのファイルが最近編集されたのか、というようなストリームが欲しいが、ない。
  • 多くのボタンが英語で書かれている点。
    • rails 的に i18n でおけばイイってことではないように見える。
  • ディレクトリ一覧のファイルを見たいとき、URL を削ってディレクトリを指定するが、そのとき期待する動作は自分にとってはそのパス以下のファイル一覧であるが、見れない(ページ作成になる)。
    • Apache とかでディレクトリの中が見えてるあれを期待してる(伝われ)
  • あるファイルを見ている時、それ以下のファイルが木構造で見えていて欲しい、もしくは簡単に見えるようになってほしい
    • コンフル小ページの発想
  • Dropbox と連携とかするとウマイことできるかなぁと感じたけど、エクセルとかそういうのを web で見ようとしてダウンロードになっちゃって辛みみたいなのがかなりある
  • (自分はあまり必要としていないが)変更をメールで飛ばせる機能がない
    • そういう意味で コンフルも一度編集したら勝手に記憶していて、メール通知が飛んでくる機能があった。まぁ悪くない。
  • 日本語での検索でエラーがでる(これはたぶんいろいろ追ったら普通に修正可能だと思う)
  • チームで使うなら、TOP のロゴみたいなやつは欲しい。

ただ、これらのほぼすべてについて、自分たち用に修正することができるのは、とんでもないメリットだ。
ただ修正するには時間が必要であることは間違いない。

良いなと思っている点

  • シンプルで動作が早く、unix な人にはかなり便利に使える点
  • ディレクトリを スラッシュで切っていく点は本当に便利(アトラシアンのコンフルとかで/とかで区切っていた風潮)
  • markdown でかける
  • h1, h2 がリンクになる点。これは素晴らしい。
  • (重要)すべてがファイルになっているので、なにかいい仕組みが出てきた時に気軽に変更できる点

gollum 使用方法 memo

https://github.com/gollum/gollum を見て欲しい。
日本語対応はこの記事 を参考にした。
なんか、普通に保存したときエラーがでるのは、 ググッた結果 Gemfile に
gem 'gollum-rugged_adapter' を追加してなんかウマイことやったら回避できた。

1
2
# アップロード付き、 rugged はエラー回避で必要だった、 show-all でファイルが全部観れる
bundle exec gollum --allow-upload page --adapter rugged --show-all

所感

こと、営業職の多い組織だと、素での gollum 使用はしんどいに違いない。
backlog と比べて出来ないことが多すぎて、それ以上のメリットを享受できないからだ。
だから、大抵の場合はたぶん既存で使っているやつのほうがいいかもしれない。

エンジニアが多い職場で、本当に金がないなら、これは導入する価値はあると思う。
(ぶっちゃけ、markdown 系共有のサービスで有料なものが多すぎると思う。
エンジニアとしてビジネスする側で考えたら非常にいいなと思うけど、
おかね払って使う立場から考えたら markdown が共有できたくらいでお金を払いたくないっていうのが
僕の正直なキモチだ。)
(そして逆に言うと、このオープンソースを使って自分が欲しい機能を付け足すだけで
お金をとれるレベルのサービスを創れる気もする。fork して月額100円くらいで売り出したい。
(まぁそんな時間ないんだけども。) ) でも、今考えると gollum と、 qiita や docbase とかって微妙に立ち位置が違う気もしてきた。

https://support-project.org/knowledge_info/index っていうオープンソースを作っている人がいて、これもかなり有用で、いい感じな気はしているんだけど、
個人的に、Java で書かれているのがネックで、JVM を起動したり、Java でメンテするってのを考えると
ちょっと敷居が高かったりするのがホンネだ。

そういう意味で、何もなかったら gollum に contribute したいんだけど、
ぶっちゃけそれ以上にやらなきゃならんことがたくさんあるのでちょっとしんどい。
それでも少しずつは貢献できたらいいなと思う(したいに価値はないが)。

この週末というか今日はかなりコレの評価に費やしたので記事にしておく。
だれかにとってこの記事がためになれば幸いです。

Rails_admin の日付のピッカーで日本語が使われて Argument Out of Range エラーが出るときの解決法

概要

rails_admin の日付のピッカーで日本語が使われて argument out of range エラーが出る。
原因は 参考のQiita 参照。

自分の場合はうまくいかなかったので、ソースおったらここ直せば良さそうだったので
ここを上書きする感じにした。

config/initializers/rails_admin.rb

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Fix for bug when specified japanese datetime string
# http://qiita.com/kuboon/items/1d009e2f89729fe5db78
module RailsAdmin
  module Config
    module Fields
      module Types
        class Datetime < RailsAdmin::Config::Fields::Base
          ## こいつを入れないと変更ない時にダメだった
          def form_value
            I18n.l(self.value, format:localized_date_format)
          end
          def localized_date_format
            "%Y-%m-%d"
          end
        end
      end
    end
  end
end

以上。

Alamofire_SwiftyJSON でビルドエラーが出るとき

こんなエラーが出ていた

The operation couldn’t be completed. No such file or directory.

pods の dependencies に alamofire と swiftyjson をたしてあげよう

たぶんそれで行けるはず。

他のマシーンでなぜか動かない場合

この stack overflow の Dependencies を 削除する、でうまく行った。
Clean で全部消えないとか、どんだけ罠なんだよ。

ヒメダイをマルで買ってきて捌いて食べてみた

TL;DR

  • ヒメダイはすごく美味しい白身魚だった
  • ムニエルだと引くレベルでウマイ

チャート

  • 捌く難易度
    • 割りとシンプルなタイ。鱗を取るのがめっちゃダルい。
    • すこぶる美味
  • 料理
    • 刺し身はかなり美味
    • ムニエルはすこぶる美味

写真あるけど

めんどいから省略

vue.js ではまったこと

TypeError: this.el.removeAttribute is not a function

とかいうエラーが出た。 いろいろ悩みまくったが、 x-template の直下に二つのdom を並べたらエラーになるっぽい。

やるべきこと、やるべき場所

やるべきこと

人には、やるべきことが与えられていると、最近思うようになった。
こういうと大層なことを言っているように聞こえるかもしれないけど、
一つ一つの仕事が社会に影響して、人々の生活が回ってる。

それぞれの仕事には向き不向きがあったり、不満や人間関係があったり、
楽しいことや辛いこともあるけど、仕事を通して影響を与えられるなら、
こんなに楽しいことはない。

自分が満足して、自分らしく生きられて、大きく社会に影響できる環境を、
創れるようにならなきゃダメだなぁと思う。

やるべき場所

たぶん働くべき場所というか、自分がもっと輝く場所っていうのは
人それぞれにちゃんとあって、そのやるべき場所っていうのは答えが無いんだけど、
今いる場所が、自分がいるべき場所か? 自分がやるべきことをやってるのか?
という問いは、定期的に行ったほうがいいかもしれない。

Fig and Rails Env Is Too Heavy, I Found workaround(Mac OSX)

(PS)

I quit use fig so I decieded to develop localhost. because I have no time to construct devenv.
Firstly, this blog was quite good and effective for me.
Sync is working fine, but suddonly, rsync was getting weird.
Additionally, these rsync strategy is faster than sync folder,
but it is definetly slow than localhost.
Localhost is super fast.
And I faced problems as follows. - rails console history or mysql history is gone away when fig restart.
- rails console mysql connection has gone away because of restarting db.
For now, I think fig(docker compose) is not good as development environment.
If you have identical dev env, please message to me.

TL;DR

  • virtual box disk io is not good because of file sync. so turn off.
    http://gyazo.com/f02f61fea1a6f2d306c37d08b6553776
  • use NFS, for sync your directories.

Environment

  • fig 1.0.0
  • boot2docker v1.3.1
  • docker container(rails)
  • docker container(mysql)

Background & Problem

Recently, it is very easy to create development env because fig and docker.
But I was starting development, I noticed it is verrrry slow… It’s so annoying.

Workaround

Turn off /Users directory sync

By default, /Users directory is synced with boot2docker.
This sync is very slow so I turned it off, response speed is up.

Use NFS

I turn off sync, so I have to another method to sync my host’s source code.
I googled, and found this thread .
This thread is quite good for me.

I used this solution because I wanna use fig.

sync.sh

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
!/bin/bash

set -u # prevent unbound variables
set -e # terminate on error

SSH_PORT=$(boot2docker config 2>&1 | awk '/SSHPort/ {print $3}')

# load rsync
boot2docker ssh tce-load -wi rsync

# ensure existance of .rsyncignore
touch .rsyncignore

function sync {
  # sync current directory to ~/share on the vm
  rsync -rlz --exclude-from=.rsyncignore -e "ssh -i $HOME/.ssh/id_boot2docker -p $SSH_PORT" --force --delete ./ docker@localhost:/home/docker/share
  echo "sync: $(date)"
}

sync
#fswatch -o . | xargs -n1 -I{} sync

This script is almost good, but in my case, the last command fswatch is don’t affect.
so I used simple command watch -n 2 sh sync.sh. it works for me.
I wrote .rsyncignore something like below.

.rsyncignore

1
2
tmp/
vendor/

Dockerfile

gem is installed global.

1
2
3
4
5
6
7
FROM ruby
RUN apt-get update -qq && apt-get install -y build-essential libpq-dev ruby-nokogiri vim
RUN mkdir /myapp
WORKDIR /myapp
ADD Gemfile /myapp/Gemfile
ADD . /myapp
RUN bundle install

fig.yml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
db:
  image: mysql:5.6
  ports:
    - "3306:3306"
  environment:
    - MYSQL_ROOT_PASSWORD=hoge
  # volumes:
  #   - ./data:/var/lib/mysql

web:
  build: .
  command: bundle exec rails server --port=3000 --binding=0.0.0.0
  working_dir: /myapp
  dns: localhost
  volumes:
    - /home/docker/share:/myapp
  ports:
    - "3000:3000"
  expose:
    - 3000
  links:
    - db

In db section, volumes isn’t need.
In web section, volumes is attached from boot2docker to web container.

That’s it.

fig