See the Elephant

1992生まれのプログラマが書くエンジニアブログ

webアプリを作りたいのでsymfony4をインストールする

webアプリ作りたいのでsymfony4をインストールする

symfony.com

公式ページから以下のコマンドをコピペ

composer create-project symfony/website-skeleton my_project

実行してみるとエラーが出た.

dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.58.dylib
  Referenced from: /usr/local/bin/node
  Reason: image not found
zsh: abort      node

qiita.com

この記事の通り, nodeを再度インストール

PATH通せとお怒りなのでパスをセッティング

If you need to have this software first in your PATH run:
  echo 'export PATH="/usr/local/opt/sqlite/bin:$PATH"' >> ~/.zshrc

もう一回コマンドを実行

composer create-project symfony/website-skeleton my_project

動いた.

 What's next?


  * Run your application:
    1. Change to the project directory
    2. Create your code repository with the git init command
    3. Execute the php -S 127.0.0.1:8000 -t public command
    4. Browse to the http://localhost:8000/ URL.

       Quit the server with CTRL-C.
       Run composer require server --dev for a better web server.

  * Read the documentation at https://symfony.com/doc


 Database Configuration


  * Modify your DATABASE_URL config in .env

  * Configure the driver (mysql) and
    server_version (5.7) in config/packages/doctrine.yaml


 How to test?


  * Write test cases in the tests/ folder
  * Run php bin/phpunit

プロジェクトディレクトリに移動

$ cd my_project
$ git init
$ php -S 127.0.0.1:8000 -t public

これでサーバが立ち上がる

ブラウザで開く. http://localhost:8000/

ローカルでサーバが立つところまで来た. 今日はここまで

フィードバックの重要性 (output大全)

input, outputだけでは足りない

インプット, アウトプットをやるだけでは成長できない. そこにはフィードバックがなければいけない.

できることばかりやり, できないことを克服しないと成長は見込めない.

できたこととできなかったことを認識して克服する, 伸ばすことが必要.

短所克服と長所伸展

フィードバックには2つある.

  • できないことを克服する方法 = 短所克服
  • できることをより得意にすること = 長所伸展

アウトプットが習慣づいていない人は長所伸展から始めるといい.

自信がついて続くのだ.

短所克服は根気がいるのでインプットアウトプットフィードバックの習慣がついてから始めるといい.

学びの種類について

学びの種類は2種類ある.

深く狭く学ぶ方法と浅く広く学ぶ方法.

知識を広めたいのか深めたいのかによってやるべきことは変わってくる. これを認識するだけで行動の選択が変わる.

なぜを解決する

「なぜ」と思うことの先に「気づき」が存在する.

物事が上達する人間はこの「なぜ」を見捨てず解決する人である.

逆になぜを捨ててしまう人は上達していかない.

他人からのフィードバックをもらう

疑問や気づきを自分以外の人に意見してもらうことも大切である.

自分以上に対象の物事を知っている人間から教えてもらうことでより良質なinputが生まれる.

なぜを解決していくとステージが上がる

なぜを解決することで少しずつ見える世界が変わる.

これによって質問の内容も高度な内容になりそれに対する返答も少しずつ良質なものとなっていく 

なぜを捨てず, 疑問を着実に解決していこう.

これ自分の体験に当てはめると, できないことをできるようになった瞬間って

 - できないことであると認識する
 - なぜできていないのか原因を探す
 - 自分に不足している部分を定義する
 - 定義した範囲について調査, 手助けをもらう
 - 問題を解決する
 - 忘れないように記録 / 体得する
 - 録画, 録音, レビューなどによって他者や第三者的な意見を取り入れる
 - 最初に戻る
 - 以降, 繰り返す

のように問題の定義から解決, フィードバック, 繰り返しが一定のフローになっている. 
このように何かを上達したいと思った場合は一定時間を有するし,できない自分を認める必要がある. 

ブログを書くのも一定のフィードバックや客観的な視点をもらえるのでそういう意味でかなり有用だな

output大全を読み始めた

アウトプットが足りてないのでアウトプット大全を読んだ感想をアウトプットする

最近, インプットばかりでアウトプットできていない. 休みを利用してアウトプット大全を読む.

感想は囲って書く

現実世界はアウトプットによって変わる

インプットばかりでは現実世界は変わらない. 脳内世界ばかりが肥えていく.

行動する=アウトプットしていくことで現実世界が少しずつ変わる.

ここ1年ほど本ばかり読んでアウトプットしてこなかった.
あまり暮らしぶりや給料が変わっていないのでアウトプットしていこう

運動性記憶

運動性記憶とは運動神経と筋肉を利用した記憶である. 自転車を数年ぶりに乗った時に乗れるのは, 運動性記憶として記録されているから. 小脳や海馬を経由することで多くの脳内細胞を利用するから記憶に残りやすいそう.

話すや書くといったアウトプットすることによって運動神経が使われ記憶に残る.

確かに人に説明した時やブログに書いた時の方が記憶に残っていることが多い. 
人に説明するつもりで文章を書くのは理にかなっているらしい. 

2週間に3回使った情報は長期記憶される

海馬に仮記憶された情報は2~4週しかもたない. 仮記憶中に3回 "アウトプット" すると長期記憶(側頭葉)に記憶される.

つまり, 短い期間にアウトプットを繰り返さないと記憶に定着しない.

よく使うものほどよく覚える. 当たり前だけど意識的にはできていないよなーと.

出力と入力のサイクル 成長の螺旋階段

インプットとアウトプットを繰り返すことで自己成長できる. これを筆者は成長の螺旋階段と呼んでいる. インプットとアウトプットの反復こそ知的生産活動の軸であると言える. 成長したければインプットとアウトプットを繰り返す. これしかない.

知る試す知る試すの繰り返し.
自分はドラムを趣味でやっているけども, 練習は同じフレーズの繰り返しで覚えていく.
そして次のフレーズに移り繰り返していく. 
徐々に上手くなっていく過程はやはり繰り返しの中にしかないのだろうな.

インプットとアウトプットの黄金比率は3:7

著者のセミナー参加者にアンケートを取ったところ, インプット:アウトプットの割合が7:3程度いた. しかし, コロンビア大学の研究によると6~7割程度をアウトプットの時間に当てる方が物事を覚えられたそう. インプットした2倍近くの時間をアウトプットに費やすくらいがもっとも効率が良い覚え方だそう.

つまりインプット過剰アウトプット不足なのである.

自分も本ばかり読んでしまい, あまり記事に起こしたりしない.
ところが書いてみると読んでいる時には気づけなかった疑問や気づきがある.
するともっと調べるためより詳しくなる.

また知人や著名人からのレスポンスもあり意外な方向に議論がいったりする.
知識を使う回数が増えるため記憶に残る.

やはり現実世界はアウトプットでしか変わらない.

若年性アルツハイマーが増えている

http://yoshiya-hasegawa.com/blog/brain-usage/no-words-come-out/

インプット以上にアウトプットを行わないと前頭葉が衰えていく. 物事を思い出す中で前頭葉を利用するそう.

アウトプットを使わない生活を送ると思い出すための力, 想起力が衰えてしまい物事を思い出せなくなるそう.

最近自分は漢字が書けなかったり, 人名が出てこなかったりしてきているのでちょっと注意が必要かも.

疲れたので今日はここまで

人に嫌われるのが怖い? 僕は好きな人に嫌われる方が怖いよ

はせおやさいさんのコラムを読んで共感があったので書こう.

hase0831.hatenablog.jp

相手と自分が対等な関係を保てているときにのみ、その献身は発揮されるべきである

相手と自分が対等な関係を保てているときにのみ、その献身は発揮されるべきである

この一文は強烈だな. どれだけ尽くそうと思いやろうと相手と自分の比重が対等でないと無視されてしまう.

自分を大切にしてくれない人は, 自分が発信したプラスなエネルギーを受け取ってはくれない. 対して, 大切にしてくれている人は些細なことであってもキャッチして気にかけてくれる.

誰にでも優しくするのではない. 自分が大切にしたい人, 自分を大切にしてくれる人にこそ, そのエネルギーを注ぐべきなのだ.

愚痴という負のコミュニケーション

女友達との友情の破綻は「自分が相手の痰壺になった」と感じるときに来ることが多い
お互いの辛みや汚い感情を吐き出しあって開陳を親愛や友情の証と捉える人が一定数いる

これも共感できることが多い. 自分もそうだが, 心を許していくと人に普段見せないマイナスの感情を許していく.

そして次第にそのエネルギーに引きずりこまれ, 愚痴ばかりを言う関係性になっていく.

最近僕は飲み会にあまり顔を出さないようにしているが, どうしても人間が集まり酒を飲み始めると愚痴が始まる.

そんなことに自分の人生を使いたくない.

愚痴が生むものは愚痴である. 他者から渡された愚痴が形を変えて自分の口からそのまま愚痴となって出ていく. 負のコミュニケーションが伝搬していく.

だけど, それをうまく吐き出すことができない人も一定数いる.

愚痴を言われてもその後にすぐに忘れてしまう人もいるだろうし, そうでない人もいる.

その事実を知った上で相手を選んでいるだろうか?

そもそも愚痴をいわずに済む方法はないのだろうか?

コミュニケーションにおいて, どうしても相手に負の感情を生んでしまうような場面はある.

その場合に, 影から伝わるのか, 正面切って本人に言うかで全然結果が変わる.

正面切って言った, 言われたとて変わるかどうかは本人次第, 自分次第なのでやはり結論は「言う」に限る.

嫌われることも2:6:2の法則

2:6:2の法則と言うものがある.

zuuonline.com

2:6:2の法則とは「働きアリの法則」とも呼ばれ、組織内において「上から2割の者が全体の数字の大部分を担っており、6割は普通、下の2割はあまり働かない」というふうに言われる。

これは対人関係においてもそうだと思う.

上から2割の者があなたが何をやっても好きでいてくれる人、6割は関心がない or あまり接点がない、下の2割は勝手に嫌ってくる人

そう思えばどうやったって2割の人に嫌われてしまうのである.

考えてみればそりゃそうだ. 学校の教室でもすごく仲が良くなる人もいれば, 1年間一緒に過ごしたにもかかわらず全く話したことがない人, なぜか馬が合わない人と分布する.

下の2割の人のことを考えるのではなく, あなたが好きな2割の人のためにあなたの人生を使ってほしいのだ.

好きな人のために生きること, それは自分も入る

あなたが好きな人は誰だろう. 色々思いつくと思うが, まずは自分を好きになってみてはどうだろうか.

愚痴ばかりのくだらない何も生まない飲み会をやめて, 本を読んだり, 好きな人とメッセージをやりとりしたり, 動画を見たり. そんな時間の過ごし方の方がよっぽど素敵である.

あなたの時間, つまりあなたの人生は自分のためにあるのである.

あなたの自己肯定感を下げるような人のためにあなたの脳を, 思考を, 時間を使うのはあまりに勿体無い.

あなたはあなた自身やあなたを大切に扱ってくれる人のためにあなたの献身を捧げるのだ.

それでいい, それくらい勝手なくらいが良い.

勝手に不幸せだと, 嫌いだと評価を下す人間に糞食らえと心の中で呟いて生きて行けば, あなたの世界は守られる.

怒りを感じた時の対処法と捉え方

namu-r21.hatenablog.com

アンガーマネンジメントについて続編.

最近とてもイライラしている.
このイライラの正体は何なのかわからない.

ただ,イライラしている時は一定の条件があるように思える.

  • 自分に対してやらねばならないことをやっていない, 目的に対して行動していない
  • 部屋や机が片付いていない
  • アウトプットする機会が作れていない
  • 人と話していない

これら4項目のうちどれかが該当する.

何かが引っかかった気持ちはどれに該当するのか考えてみよう.

人の悪い部分や自分ができていないことに対して人に期待してしまう時 あなたはちゃんと自分のことができているだろうか.

机の上やタスクは片づいているだろうか

人と笑う機会を作っているだろうか いつもと違う人と話す機会は作れているだろうか

インプットばっかりになっていないだろうか.

僕は最近4項目を全然できていない. 頭の整理も兼ねて掃除から始めてみよう.

プレイ時間が人生を型取る

今日は 無意識 がテーマである.
poemライクになりそう.

無意識にやってしまうこと

あなたは, 無意識に取ってしまう行動を持っていないだろうか?
誰にでも1つや2つはあると思う.

例えば, 僕の場合は音楽を聴いていると無意識のうちに 打楽器 を聴いてしまう.

ボーカルよりもドラムやパーカッションといった打楽器が抽出されて聞こえるのである.

これは, 僕がドラムをやっていることが原因だと思う.
幼稚園(5歳)の演奏会から打楽器を始めて長く細く20年ほど経った.

小さい頃から何度も聴いているのに歌詞を知らない曲なんていっぱいある.
だけど打楽器のフレーズは覚えているのだ.

あなたにもそういった 無意識でやってしまうこと はないだろうか?

無意識にやっていることはプレイ時間が長くなる.

ある物事について考えている時間を プレイ時間 とここでは呼ぼう.

はじめは有意識でやっていたことが次第に習慣になり, 無意識に落とし込まれて行く.

有意識で続ける -> 日頃からそのことについて考えるようになる -> 無意識レベルでそのことをやる

無意識に行ってしまうことは長い目で見るとものすごくプレイ時間が長くなっていく.

何か別のことをしていても自然とそれができるようになる. そして, いつのまにか手札が多くなって行くのだ.

そのフローは物事の上達の1歩目だと思う.

僕の場合は, 無意識のうちにドラムを聴き続けることで叩けるフレーズのレパートリーが増えていた.

人によってゲームが違う

僕の場合はドラムだが, あなたにも思い当たることはないだろうか?

兄や義姉と話していて思い当たる節があった.

看護師をやっている義姉と一緒にYouTubeで弾き語り動画を見ていたとき, こんなことを言った.

「彼の足の色はちょっと変だ, そのうち糖尿病になって肺の病気になりそう」

兄は, 高校サッカーで全国大会にいった経験を持っている. 2018年のW杯日本代表のダイジェストを一緒に見ているときにこんな会話があった.

僕「長友めっちゃいいトラップするな」
兄「あれはみすトラップだけどたまたまいいところに転がっただけ」

義姉は身体について, 兄はサッカーについて無意識で判断できるレベルに到達している.

そこから見るに, 無意識で見ている部分は人によって違う.

それは有意識の積み重ねによってうまれ, それぞれの人間の無意識にすりこまれていく. それぞれがプレイしているゲームは違うのだ.

プレイ時間が人生を型取る

それぞれのゲームにかけるプレイ時間やゲームそのものの違いが人の違いを作って行く.

きっと無意識に刷り込まれるほどやっていることはその人の好きを代表するものだと思う.

好きなものこそ上手なれ とはよく言ったもので, プレイ時間×熱量 がその人の思想を作って行くと思う.

あなたが好きなものや無意識に刷り込まれるほど繰り返しているゲームはなんだろう?
どうやったらそれが最大限行かせるのだろう?

それがあなたのゲーム(人生)を型取る.

それを僕自身にも問いながら書いた.

今日はここまで.

今年地球最強の台風が来たのでAtom同時編集機能×通話で完全リモートペアプロ

2018年の中で地球最強の台風が来た

今日は台風21号が日本列島に直撃.

アメリカのニュースによると今年, 地球で発生した中で一番強力な台風だそうです.

関西の被害はひどく, 京都駅が壊れたり関西空港が水没したり大変な災害になりましたね.

僕は台風にびびってリモートワーク

台風なので, 今日は自宅から終日リモートワークで働いていました.

弊社は裁量労働制なので, 個人の裁量で労働場所や時間をある程度自由に決めることができます.

東京住みですが, 台風で風が強いことは十分わかっていたのでリモートワークを選びました.

プログラマとはいえ, 日々の仕事にコードと会話は欠かせません.

そんなこんなで今日はリモートペアプロを初めてやったので感想を共有したいと思います.

Atom × Zoom でリモートペアプロ

僕のチームメイトも自宅からのリモートワークを選択していました.

ペアプロする必要があったため, Atom同時編集機能 × Zoom通話で チームメイトとお互い自宅からリモートペアプロしていました.

使用したツール

やり方は以下です.

【リアルタイム共同編集】Atomで出来るようになったってよ

所感

意外とリモートでもペアプロできるもんだなという所感です.

同期して話せるし, 同じコードベース見て実装していく分には結構十分な機能でしたね.

テキストとテキストカーソルを共有する感じの挙動で ホスト/ゲストのカーソル位置を追うこと もできて便利です.

通常の画面共有の方がコード以外の情報もシェアできるので楽な場面は正直ありました(※解像度が高い場合に限る)

良い点

  • お互いの物理的距離を無視できる
    • これが1番のメリット
  • 意外とストレスなくペアプロできる
  • 自動カーソル追従のおかげで割と同じコードを見て喋れる
    • ホスト側/ゲスト側に限らず, 両者カーソル追従できる
  • 両者に編集権限が渡されているので, ちょっとしたタイポの修正を行いやすい
    • 自分だったらこう書くな... もやりやすい
  • それぞれの環境でキーバインドが独立している
    • あかん, これ俺が知ってるeditorやない... が避けれます

悪い点

  • マウスポインタは共有できないため, テキスト上のカーソルで意思表示が必要
  • 見ているものを言語化する必要がある
    • 指差しながら これ といった曖昧な表現の会話がしにくい
    • 相手が今どこ見てるかわかりづらい
    • ブラウザ, terminal見てることが相手に伝わらない
  • プロジェクト検索からファイルを開くとカーソル追従が切れる
    • 毎度追従モードにしなければならない
    • 辛い
  • そもそもプログラミングの対象とするものを決める作業には向いてない
    • 何をコードに表現するんだっけ?を決めるには表現力が足りない
    • ツール欲しい
    • Virtualホワイトボードが欲しい
  • JetBrainsじゃない

リモートペアプロまとめ

キーバインドに慣れるのと, 画面共有を織り交ぜて使うとかなり強力なツールになる予感.です 同時編集機能があるのはやはり強くて, 通常業務で隣りに座ってる時も使えるねー という話をしていました.

Jetbrainsで同じ機能出て欲しいと願う夜...コントリビュートチャンスだ...