プロクラシスト

今日の寄り道 明日の近道

塾講師や教師をするときに意識するべき『理系教育のABC』

f:id:imslotter:20170512194201j:plain

こんにちは、ほけきよです!

私は数年間塾講師としてアルバイトをしていた経験があります。 難関として知られる東京の私立や国公立への合格実績も持っています。

中高生にとって受験は「人生を左右する大事なイベント」です。私は場当たり的な教え方で適当にお金を稼いでいる塾の先生を何人も見てきました。正直、人の人生を預かるものとしていかがなものかと思います。

私が親だったら、そんな人たちに教育のアウトソーシングはしたくありません。

というわけで、今日は教育(特に受験)に携わる皆さんに必ず気を付けてほしい『教育のABC』についてお話します!*1 特にこれからアルバイトをしようと思っている大学生諸君!ぜひ気をつけて欲しいです。

※理系の講師だったので、理系(特に数学)中心の内容になってます。予めご承知を。

“A” : Autonomy

f:id:imslotter:20170512193653p:plain

Autonomy : 自主性

私が思うに、これがもっとも大事です*2

教える時間より、それ以外の時間のほうがはるかに長い

からです。 1週間のうちの数時間で詰め込もうとしたって、無理です。数時間で詰め込められる天才なら塾なんて初めからいりません。 なので、教え子の自主性に訴えかけるような授業を意識することが大事です。

ではどうすれば自主性を高められる授業になるか。ポイントは2つあります。

■ 自分がその教科に対して楽しそうに授業をする

■ それがなんの為になるのかを具体的にイメージしてもらう

要はその教科を好きになってもらうことが重要なのです。その為には自分がその科目についてキラキラとした目で語り、 「この教科を知るとこんな素晴らしい世界が待っている」ということを体感させるのが一番手っ取り早いです。

また、具体的なイメージを持ってもらうことも重要です。抽象的な話を並べては、すぐに飽きてしまう人がほとんどです。 経験的には視覚に訴えかける方法か、生活とリンクさせる方法が有効です。 そのような例をいくつも用意しておきましょう!

Autonomyを植え付ければ、80%くらい勝ちも同然です。教え子の「やる気スイッチ」を押しましょう!

“B” : Bridge

f:id:imslotter:20170512193700p:plain

自主性を植え付けることに成功したら、次は「何を教えるか」にフォーカスします。 (ここでは大学入試問題&数学を主にイメージして話します。)

大学入試で難しい問題ってどういう問題でしょう。

「計算がややこしい」「難しい単語がめちゃくちゃ出る」

と思う方もいますが、実はそうではありません。なぜかというと、それでは誰も解けず差がつかないからです。 特に難関大学の入試において、重視されるのは知識じゃなくて知恵の方です。

Autonomyが芽生えた子というのは、自分の意思で勉強を始めてくれます。 しかし、学び始めの分野は、どうしても暗記項目が多くなってしまいます。 これだけではさっき言ったように知識を積むだけになり、また単調な作業なのでモチベーションも低下します。

なので、塾で教えるべきは分野と分野がどのように繋がっているかです。

  • グラフも微分も学んだ → 接線ってどうやって求めるの?
  • ベクトルも積分も学んだ → 体積ってどうやって求めるの?
  • 確率も漸化式も学んだ → 銀行の破産確率ってどうやって求めるの?

などなど…分野の断片的な知識を繋ぐ橋渡しをしてあげなくてはなりません。 ここを丁寧に教えてあげることで、メキメキと力もつきますし、また学問の面白さも教えられるでしょう。

■ 知識は自分たちで獲得してもらう。教えるべきは知恵

■ 単元の間を繋ぐ橋をかけてあげる必要がある

“C” : Check

f:id:imslotter:20170512193714p:plain

ここまでが、教え方のほとんどですが、最後に大事な要素を一つ。 「常に生徒の実力を確かめる」ということです

x^{2} = 1 を丁寧に教えて、「わかった!!」って言ってたのに、 x^{2} = 2になると解けなくなる。

なんてことがよくあります。これは、「生徒が全くわかっていない状態」だからです。 生徒の「わかった」は、大学生の「行けたら行く」と同じくらいの信用度だと思っていてください。

この状態で先に進んでしまっては、成績が壊滅的な結果になってしまいます。 防ぐ為には、

  • 単元の問題の難易度を小刻みに分解しておく
  • 難易度ごとに問題を解かせて、理解度をしっかりとチェックする

ことが大事です。さっきの例だと

  • 2-3個数を変えてみてチェックする
  • 難しい因数分解を解かせる
  • 解の公式が必要な問題を解かせる

など、なるべく刻み、理解の壁を超えたかを常に確認しましょう。

■ 生徒のわかったを信用してはいけない

■ 小刻みに難易度を分解し、その都度マメにチェックする

最後に

いかがですか?「難しそう…」と思った方も多いと思います。

当たり前です。モノを教えるというのは難しいものなのですから。参考書を解かせて解説するだけが先生じゃありません。

逆に、これらができている人はかなり少数なので、きちんとできると、教え子の成績はめきめきと伸びていきます。給与もめきめき上がる(かもしれません)よ!*3その成長曲線を見てみたい方は、是非実践してみてください!ではではっ

*1:ABCでまとめてみたかったのです..!

*2:それでもABCでまとめてみたかったのです…!!

*3:私は1円も上がらなかった…

孫悟空の戦闘力を回帰分析で予想したら凄まじかった。

f:id:imslotter:20170510202739p:plain

こんにちは、ほけきよです!

「私の戦闘力は53万です」

なんてもうミジンコ程度の戦闘力。学校のクラスならイジメの対象です。 現在放映中のアニメ『ドラゴンボール超(スーパー)』、キャラのインフレっぷりがのぶっ飛んでいて面白いです。

www.toei-anim.co.jp

そのアニメの中で、特に悟空の戦闘力の伸びが半端なさすぎる件について、 理系の目線でフォーカスしてみたいと思います!!

戦闘力の系譜

この記事に、戦闘力の系譜が載っていましたので、今回はこのデータを使いたいと思います

matome.naver.jp

(最後の方は、結構予想が入っていて信ぴょう性は…ですが、気にしないでいきましょう!)

戦闘力の伸びをグラフにするとこんな感じです。

f:id:imslotter:20170510202236p:plain

パナイ。。。 このままでは何が何だかわからないので、代表的な年と戦闘力を表にしておきます。

戦闘力 イベント
0 2 生まれる
16 260 ピッコロ大魔王
25 32000 ベジータ襲来
25 1.5億 フリーザ襲来(スーパーサイヤ人)
30 95億 セル襲来
37 1400億 魔人ブウ襲来(スーパーサイヤ人3
41 40兆 ビルス(スーパーサイヤ人ゴッド)
41 55兆 ゴールデンフリーザ襲来(超サイヤ人ゴッド悟空(スーパーサイヤ人)

パナイ。。。

予想してみる

とりあえず線形に合わせてみる(最小二乗法)。

オリジナルのデータのグラフは上記の通りですが、 どう考えても線形ではあわなさそうです… とりあえず、sklearnを使って回帰直線を引いてみましょう。

sklearn.linear_model.LinearRegressionを使えば、簡単に回帰を実行してくれます。素晴らしい! (コードは最後に付与します)

f:id:imslotter:20170510201315p:plain

全く合っていない…笑 当てはまり具合を示す決定係数R*1をみても、0.34程度と、全然ダメなことがわかります。

どう見ても非線形なグラフなので、しょうがないですね。

ログスケールでグラフをプロットしなおす

このままじゃどうしようもありません。戦闘力の伸びが半端ないので、とりあえず対数スケールにしてみます。 戦闘力にlog(底10)を施して、回帰を行いましょう。

結果はこちら f:id:imslotter:20170510201402p:plain

どうでしょう?かなりそれっぽい当てはまりかたをしてますね!!! 決定係数も0.89となっているので、いい感じに線形回帰ができたと言っていいのではないでしょうか。

1週間/1年でどのくらい成長するの?

はい、回帰曲線を引けたので、これからどのくらい成長できるかを予想することができます。 例えば、最近話題の「力の大会」*2。 これだと1週間後に試合なので、それまでに鍛えるということになります。 先ほどの回帰直線を式に直すと

f:id:imslotter:20170510201433p:plain

つまり、一週間で戦闘力が何倍に伸びるかを計算するためには

f:id:imslotter:20170510201448p:plain

を計算すればいいのです。すると

  • 一週間 1.7%アップ
  • 一年 250%アップ*3

となる計算です。 通常の人間の1.7%アップだと大したことないかもしれませんが、悟空の1.7%アップはなかなかやばそうですね…戦闘力にすると一週間で約1兆5000億の伸び。フリーザ換算にするとフリーザ30万体分ですね1!!どうなってんの???

50歳での悟空の戦闘力は?

最後に、回帰直線を外挿して、50歳の悟空の戦闘力を予想してみましょう。 先ほどの式に50を当てはめるだけです。計算結果は…

50000000000000000

です。5。スーパー意味不明。地球滅亡ワロタ。

【考察】なんでlogスケールになるんだろう。

ここまでで、logスケールにすると当てはまりが良く、予想できそうだということがわかりました。 どうしてlogスケールだと当てはまりが良いのか、精神物理学を引っ張ってきて考察してみましょう。

精神物理学の分野では、ヴェーバーフェヒナーの法則というのが基本法則としてよく知られていて、

「人の刺激に対する感覚の変化具合は、その時の刺激の大きさによる」

と、されています。超簡略化した数式に表すと、こういう微分方程式になります。

f:id:imslotter:20170510201536p:plain

この方程式は簡単に解けて*4、その解にlogが現れます。このようなグラフになります。

f:id:imslotter:20170510201558p:plain

  • 100円しか持っていない人が200円をGETする感覚と、100万円持っている人が200万円をGETする感覚は等しい
  • 1回目のデートと10回目のデートが同じだと飽きられる

ということを示唆しています。そんな気もしますね!

人の感覚に関わる様々な単位系でlogスケールは用いられていて、音の大きさを表すデシベル(db)、地震の大きさを表すマグニチュード(M) なども、logスケールです。

これを元にすると、戦闘力の伸びがこのように爆発的になっているのも頷けます。 読者が常に「オッ、また戦闘力が伸びたな!」と思うためには、

“どのくらい戦闘力を増やす"ではなく、むしろ"戦闘力を何倍にする”

という考え方の方が理にかなっているというわけです。これは作者自身にも言えることなので、 自然にlogスケールで戦闘力が伸びるようになっているのでしょう。

まとめ

いかがでしたか? これを予想しといてなんですが、正直ドラゴンボールは予想不可能です!w

だって、強い敵が出たらそれを超える強さが必要なんだもん…

初期から見ている私にとっては、「エッ、そこの設定まで変えちゃうのか…!」などと なかなか突っ込みどころ満載、けれどドラゴンボールらしくワクワクするような内容の作品になっています。

その困惑と期待っぷりは、過去記事に書いているのでそちらもご覧になってください。

昔のキャラがリメイク(?)されて出てきたりするので*5、気になる人はみてみるといいかもしれませんね! ではではっ!

ドラゴンボール超 1 (ジャンプコミックスDIGITAL)

ドラゴンボール超 1 (ジャンプコミックスDIGITAL)

コード

#coding:utf-8
import numpy as np
import pylab as plt
from sklearn.linear_model import LinearRegression


#データ (年, 戦闘力)
data =  [(737,2),(749,10),(750,100),(753,180),
            (753,260),(756,910),(761,1040),(762,8000),(762,3.0E+4),
            (762,30E+4),(762,90E+4),(762,300E+4),(762,1.5E+8),(764,2E+8),
            (767,5E+8),(767,9E+8),(767,12E+8),(767,66E+8),(767,95E+8),
            (767,300E+8),(774,350E+8),(774,1400E+8),(774,2.52E+12),(778,40E+12),
            (779,55E+12),(779,75E+12),(779,90E+12)]

# 回帰を実行する
def regression(t,f,fit_intercept=True):
    t = np.array(t).reshape(-1,1)
    f = np.array(f).reshape(-1,1)
    clf = LinearRegression(fit_intercept=fit_intercept)
    clf.fit(t,f)
    print(clf.coef_)        #回帰係数
    print(clf.intercept_)   #切片
    print(clf.score(t,f))   #決定係数
    return clf.coef_,clf.intercept_

# グラフを書く
def visualize(ages,powers,intercept=True):
    a,b = regression(ages,powers,intercept)
    year = range(51)
    if intercept:
        pred = [a[0,0]*t+b[0] for t in year]
    else:
        pred = [a[0,0]*t+b for t in year]
    plt.plot(ages,powers,"o-",label="data")
    plt.plot(year,pred,label="regression")
    plt.xlim(0,45)
    plt.grid()
    plt.legend(loc=2)
    plt.show()

# 年から年齢に変換
# (ほんとは途中死んだりしているのでアレなのだが、割愛!)
ages = [elm[0] - data[0][0] for elm in data]
# 戦闘力
powers = [elm[1] for elm in data]
visualize(ages,powers,intercept=False)

# 対数スケールの戦闘力
log_power = [np.log10(power) for power in powers]
visualize(ages,log_power,intercept=False)

*1:決定係数に関する詳しい解説はこちら:決定係数とは?

*2:全宇宙の天下一武道会みたいなものです

*3:計算ミスがありました。id:Drgorillaさん、ありがとうございます!

*4:きちんと解くには初期値などはいるのですが、少し省きます

*5:ゴールデンフリーザとか

【einsum】アインシュタインの縮約記法のように使えるnumpyの関数。性能と使い方を解説。

f:id:imslotter:20170508210354p:plain

こんにちは、ほけきよです。

大学で物理*1を嗜んだ方ならわかるであろうEinsteinの縮約記号。 計算の上で色々省略できるしとにかく慣れれば色々便利な記法です!

物理学者以外には馴染みがなく微妙かもしれませんが、「便利そうだな〜〜」と思って使ってみたり試してみたりしたので、メモとしてまとめておきます。誰かの参考になれば幸いです。

einsum

Einstein(アインシュタイン)の縮約記法風に足し合わせができるnumpyの関数

縮約記法とは

たとえば、行列 A=a_{ij}B=b_{jk} っていうのがあって、行列の演算をしたいときバカ正直に書くと AB=\sum_{j=i}^N a_{ij}b_{jk}という風に計算される。 こういう演算で、\Sigmaが大量に出てきすぎるので、「じゃあ略してしまえ」となった。

ルールは

  • 同じ記号のところは足し合わせる。

これだけ。さっきの足(a_{i}iの部分)が

便利なのは、足の数が3つ以上ついている*2テンソル計算も簡単にできるということ。 物理学の世界(相対論など)では、この高次テンソルでの計算がたくさん出てくるため

「そんなに\Sigma書いてられるか!」

ということで、略される。

  • 行列演算(行列A=a_{ij}, B=b_{jk}) -> c_{ik} = a_{ij}b_{jk}
  • ベクトルa_{i}b_{j}内積 -> c = a_{i}b_{i}
  • 行列A_{ij}のトレース -> T = a_{ii}

文法

np.einsum('今ある足'->'残したい足')

これだけじゃいまいちわからないと思うので、実際に使ってみる。

行列(単体)

1つの行列で色々計算してみる

import numpy as np
# 行列を作る
a = np.arange(25).reshape(5,5)
b = np.arange(25).reshape(5,5)*2
print("A = ",a)
print("B =", b)

>>> A =  [[ 0  1  2  3  4]
>>> [ 5  6  7  8  9]
>>> [10 11 12 13 14]
>>> [15 16 17 18 19]
>>> [20 21 22 23 24]]
>>>B = [[ 0  2  4  6  8]
>>> [10 12 14 16 18]
>>> [20 22 24 26 28]
>>> [30 32 34 36 38]
>>> [40 42 44 46 48]]
np.einsum("ii",a) #60
np.einsum("ii->i",a) #[ 0,  6, 12, 18, 24]
np.einsum("ij->i",a) #[ 10,  35,  60,  85, 110]
np.einsum("ij->j",a) #[50, 55, 60, 65, 70]
np.einsum("ij->ji",a) 


>>> array([[ 0,  5, 10, 15, 20],
>>> [ 1,  6, 11, 16, 21],
>>> [ 2,  7, 12, 17, 22],
>>> [ 3,  8, 13, 18, 23],
>>> [ 4,  9, 14, 19, 24]])

行列演算その①

2つ以上の行列の演算を行う(使うのはさっきのA,B)

np.einsum("ij,jk->ik",a,b) #AB
np.einsum("ij,jk->ki",a,b)  #BA 足(ik)が変わったのに注意
np.einsum("ij,ij->ij",a,b) #いわゆるアダマール積

ベクトル演算その②

ベクトルの演算も、行列とほぼ同様にできる

v1 = np.arange(3)       #[0,1,2]
v2 = np.arange(3)+1   #[1,2,3]
np.einsum("i,i",v1,v2) #内積
np.einsum("i,j->ij",v1,v2) #直積

レビチビタ記号とその応用(行列式逆行列外積)

テンソル表記の時に気になるのが、行列式逆行列外積の計算ってどうするのよ??ということ。 こういう時に便利なのがレビチビタ(Levi Civita)記号。定義は以下の通り

hogehoge

3次元以上空間の時には、この記号が計算をスッキリまとめられて便利。 これを使うと、einsumの枠組みでより多様な計算が実現できる

ただし、レビチビタ記号は調べた範囲では実装されてなさそう?*3なので自分でつくる

# using "Levi civita symbols" (As long as I search, there is no built-in function)
eijk = np.zeros((3, 3, 3))
eijk[0, 1, 2] = eijk[1, 2, 0] = eijk[2, 0, 1] = 1
eijk[0, 2, 1] = eijk[2, 1, 0] = eijk[1, 0, 2] = -1

外積(Cross Product)

c^{k} = \epsilon_{ijk}a_{i}b_{j}

v1 = np.arange(3)
v2 = np.arange(3)+1
cross_numpy  = np.cross(v1,v2)) 
cross_einsum = np.einsum('ijk,i,j->k', eijk, v1, v2))

行列式(Determinant)

  • Levi Civitaを使った行列式の公式(3×3)

f:id:imslotter:20170508203507p:plain

A = np.arange(9).reshape(3,3)
det_numpy  = np.linalg.det(A)
det_einsum = np.einsum('ijk,i,j,k',eijk,A[0],A[1],A[2]) #0

※ ちょっとだけややこしい?でもスッキリはしているし、規則性があるから拡張も容易。

逆行列

あぁ、ややこしきCramer's fomula

こいつを使うと、Levi-Civita記号を使って行列演算で逆行列を求められる (4次元以上は高次のLevi-Civita記号への拡張が必要(後述))

# inverse(逆行列)
A = np.arange(9).reshape(3,3)
A[0,0] = 1
# numpyの実験コード http://d.hatena.ne.jp/sleepy_yoshi/20120513/p1
inv_numpy1 = np.linalg.inv(A) #numpy 
inv_numpy2 = np.linalg.solve(A, np.identity(3)) 
det_einsum = np.einsum('ijk,i,j,k',eijk,A[0],A[1],A[2])
inv_einsum = np.einsum('ijk,pqr,qj,rk->ip',eijk,eijk,A,A)/(2.0*det_einsum)

高階/高次への拡張

高階(足の数が多い)かつ高次元のテンソルに対しても、イプシロンを定義することにより、計算が可能(Generalized Edinton's Epsilon) Wikipediaに書いている(エディントンのイプシロン) これで任意の次元で上記式が使える*4

性能比較

速度、実際のところbuilt-inのnumpyと比べてどうなのか、ちょっと測ってみる 今回測るのは

  • 内積計算 : (1,1,....,1)同士の内積を10000回計算した時の時間(1-100次元)
  • 行列演算1 : 要素が1のN×N行列の積を10000回計算
  • 行列演算2 : 要素が1のN×Nの行列(AB)Cを100回計算
  • 外積 : (1,1,1)×(1,1,1) を10000回計算
  • 行列式 : np.arange(9).reshape(3,3)の行列式を10000回計算
  • 逆行列 : np.arange(9).reshape(3,3)の[0,0]成分だけ1に変換した行列の逆行列を10000回計算

また、測ったPCのスペックは - OS : Mac OSX - プロセッサ : 1.3GHz Intel Core M - メモリ 8GB 1600MHz DDR3

弱いスペックのマシンなので、参考程度にどうぞ

内積計算

numpyの方が2倍くらい早い。 f:id:imslotter:20170508204445p:plain

コード*5

%matplotlib inline
import matplotlib.pyplot as plt
import time
### 内積
time_num = []
time_ein = []
d = 101
iteration = 10000
for N in range(d):
    a = np.ones(N)
    b = np.ones(N)
    np_start = time.time()
    for _ in range(iteration):
        np.dot(a,b)
    time_num.append(time.time()-np_start)
    ein_start = time.time()
    for _ in range(iteration):
        np.einsum("i,i",a,b)
    time_ein.append(time.time()-ein_start)
plt.plot(range(d),time_num,label="builtin")
plt.plot(range(d),time_ein,label="einsum")
plt.xlabel("dimension")
plt.ylabel("time")
plt.xlim(0,100)
plt.savefig("inner.png")
plt.legend()

行列演算1 : 要素が1のN×N行列の積

左が1-100次元。右が1-20次元。次元が高いところではnumpyの圧勝 f:id:imslotter:20170508204718p:plain

行列演算2 : 要素が1のN×Nの行列の(AB)C(3つの積)

左が1-100次元。右が1-5次元。圧勝具合がさらにひどい f:id:imslotter:20170508204741p:plain

ちなみに3つの行列の積をeinsumでかくとこう

 np.einsum("ij,jk,kl->il",a,b,c)

外積 : (1,1,1)×(1,1,1)

numpy :  0.21898913383483887  
einsum: 0.04619288444519043

einsumに軍配。

行列式 : np.arange(9).reshape(3,3)の行列式

numpy :  0.14093804359436035  
einsum: 0.06131696701049805

einsumに軍配。

逆行列 : np.arange(9).reshape(3,3)の[0,0]成分だけ1に変換した行列の逆行列

np.linalg.inv    : 0.15855097770690918 
np.linalg.solve  : 0.27668190002441406  
einsum           : 0.45436620712280273

numpyに軍配

まとめと感想

  • 高次元になると圧倒的に計算時間がかかる
  • 低次元(d<10)程度なら2アバイ程度の計算時間
  • 外積行列式だけは組み込みより早い
    • ただし、レビチビタをつかって行列演算をnumpyですると、ソッチのほうが早いかも。

高次の行列演算がバンバン出てくる機械学習などには少し不向きかなと思う。 ただ、 ​ - 低次元では遜色ない計算量 - 直感的な表記での計算が可能 ​ なことを考えると、物理系の演算で用いるのはいいかもしれないです。。 高階のテンソルになると、どの足を消すんだっけ?とか面倒なことになるので。 ​ 慣れている表記法でそのまま計算できるのは、ミスも少なくなりますしね。 ​ 何かの物理計算をちょこっと確かめる時とかに、使ってみてはいかがでしょうか。ではではっ! ​

*1:相対論とかテンソルとかかな

*2:この足の数が多いのを"高階"という。高次元とは別

*3:あったら教えて欲しい...

*4:しかし、4次元の外積ってどうなるんだ??

*5:この後ほとんど同じコードなので、省略

【LINEスタンプ】英語スラングの全訳チートシートを作ってみた!

f:id:imslotter:20170221204037p:plain こんにちは!ほけきよです。

みなさんは、LINEスタンプを使いますか?? 私はめっちゃ使っています。よく課金してスタンプを買ってます!

それはちょっと置いておいて、 LINEは、デフォルトの絵文字が充実していることはLineを使っている方々はよくご存知だと思います

こんなのだったり

f:id:imslotter:20170221204205p:plain

こんなのだったり

f:id:imslotter:20170221204223p:plain

よく感情を表しているなと思うものから、意味不明なものまで、幅広いラインナップが良いですね。

今日はそんな中でも、英語の絵文字(英語スタンプ)について触れてみます

LINEの英語スタンプ

結構たくさんあります。 全110語

でも、純ジャパで全部の意味がわかる人って少ないんではないでしょうか。

スラング*1がほとんどなので、意味もわからず雰囲気で使っていると、 あとで色々と面倒なことが起きたり、辛い気持ちになったりするかもしれません。

なので、使いたい!っていう人に、これらの意味を全部まとめてみました!

これが日本語訳だ!英語スタンプチートシート

というわけで英語スタンプチートシート です! 少し小さいですが、英語のスタンプの下に意味をのせたものをまとめてみました。 英語スタンプチートシートとして机の片隅にでも貼ってください!!

f:id:imslotter:20170221193603p:plain

略語解説

以下、あまり聞きなれないだろう言葉について解説をしてみます。チートシートを見て、気になった方は気になるところだけ参照してください。

略語たち

略語 正式 意味
ASAP as soon as possible なるべく早く
BRB be right back すぐ戻るね
FAM family マブダチ
FOMO fear of missing out 好機を逃したくない
ネットでよく使う
FYI for your information ちなみに
G2G got to go じゃあね
ネットで落ちる時によく使う
JK just kidding 冗談だよ
LMK let me know 教えてね
TBT throw back Thursday 金曜日は忙しいから
木曜日に余裕を持って振り返る
WTF What the fuck 何だよこれ?
XOXO hug and kisses 親しい人に使う

知らないものも多いぞ…! LINEで採用されているだけあって、ネットでよく使うslangが多いみたいですね。

最高!って時に使うもの

  • COOL, RAD : かっこいいものに
  • Cute : かわいいものに
  • DOPE : かっこいいもの、気に入っているものに使う
  • EPIC : スケールのでかいものに対して使う
  • SICK

それぞれニュアンスが少しずつ違う。Sickなどのネガティブな言葉もSlangではポジティブな言葉になったりしていて面白いですね!

クソッ!って時に使うもの

  • BAD ASS : ムカつくやつに
  • DANG : Damn!がちょっと変わってこうなったっぽい
  • DERP : ばーか、と馬鹿にするときに使う
  • FML : fuck my lifeの略。何もかも思い通りにいかないときに使う
  • LAME : つまらないというニュアンス
  • PISSED : ムカつく!というニュアンス
  • RAGE : 激昂してるときにつかう

これもいろんな言い方があるんですねー!

人を呼ぶ時に使うもの

  • DUDE : 仲のいい人とかを呼ぶ時に使う
  • SLICK : 見知らぬ人に声をかけるとき。「あの…」的なニュアンス

こういうのもあるのか…!

普段とは違う意味で使ったりする

単語 元の意味 Slang的用法
Chill 寒い 冷静になろう
EAT 食べる ムカつく
HOT 暑い セクシー
MAD 怒る めっちゃ
SHARP 尖っている OK, ぴったりに
TIGHT きつい かっこいい

たまにyoutubeとかのコメントに外国人が書いているのを見かけますが、 こんなの知ってないとわからないですよねぇー。

擬音語っぽい奴

EW, HMM, OOF, SUP, UGH,
UM…, WOAH, WOW,
WOMP WOMP WOMP, YUP

殴る音がWOMP WOMP WOMP??と思いますが…文化の違いですね!

ちょっと綴りを崩しているもの

  • DAT → that
  • NAH → No
  • See ya → See you
  • Y NOT → Why not
  • SUX → Sucks

略すの大好きなアメリカ人。"See you"は"c u", “because"も"caz"なんて略したりしますよね。

終わりに

英語が得意な人でも、海外経験がない人は、あまり聞きなれない言葉も多かったのではないでしょうか。 私もよく知らない言葉がたくさんありました。

今はネットで海外の人のコメントを見る機会も多くなってきました。日本で若者言葉が流行っているのと同じように、 海外でも若者中心のslangはよくネット界隈で使われています。

こういう言葉もあるんだなと少しでもお役に立てれば幸いです。ではでは!

*1:俗語、カジュアルすぎる言葉

『羅生門』垂涎の上カルビ!寺門ジモンも愛する四ツ谷の名焼肉店!

こんにちは!ほけきよです。

連休いかがお過ごしでしょうか。

ブロガーといえば肉ですね。連休中くらいうまいものを食わねば。ということで、行って参りました。

羅生門

デキる友人が予約してくれたおかげで、素敵なごはんになりました!今日は紹介していきます

寺門ジモンも行きつけ!?『羅生門 四谷本店』

『芸能界一のグルメ通』として知られる寺門ジモンさんの冠番組「寺門ジモンの取材拒否の店(取材拒否の店 - Wikipedia)

寺門ジモンの膨大なグルメコレクションからおすすめのお店を紹介していくというものでした。 わたしもちょこちょこと見ていました。「いつか行きたいなぁ」と思ってメモしたり。

その最終回で使われた場所が羅生門四谷本店』

寺門ジモン曰く、「フジテレビの番組が終わったら必ず行く」とのこと。 期待に胸と空腹感が高まります!

入店

外観は少し年季の入った雰囲気。王道の焼肉屋っぽい。 ワクワクしながら入店! ふむ、内装も「THE 焼肉屋」という感じでとても良い。

1st order とりあえず注文するメニュー

私は一杯のビールだけを注文。お通しのあさりと一緒にいただく。

何度か行ったことのある友人にまずはお任せ。

カニサラダ/カクテキ/ライス/塩タン/ロース/カルビ

を注文。スタートはいつもこれらを注文するらしい。 *1

前菜

カニサラダ、なめていたけどなかなかにおいしい。雰囲気はシーザーサラダ。 肉の前哨戦として注文することをお勧めする。カクテキも辛さと酸味が絶妙で○。よくある「大根特有のエグみ」が一切感じられず、とても食べやすく美味。これだけでごはん3倍はいける。余裕。

さぁ、ここからは肉のタイム。 塩タンもなかなか分厚く、レモンでさっぱり頂ける!

カルビ、ロースは安定のうまさ。羅生門ではこれを注文する人がとても多い。

その人気に恥じず、柔らかく油もしっかり乗った素晴らしい肉たち。思わず笑みがこぼれる肉でした!!

なるほどこれは全種類毎回来て毎回頼むわ。スタメンですなぁ。

2nd order 羅生門、"ワンランク上"の楽しみ方

もうすでにだいぶ満足していたのですが、実は羅生門は肉のランクが大きく2種類に分かれています。カルビであれば 「カルビ」と「上カルビ」。値段はカルビが1200\/人、上カルビが2500\/人

友人「いつもはおなか一杯食べたいから普通の肉にしているけど、倍払うと倍うまいよ

と、悪魔の囁き。社会人だ、やるしかない。

私「じゃぁ、カルビだけ上で….!!あとロースも注文…それは普通で!」

悲しき低収入の若手社員。2500円で5枚。一枚500円の肉とはいかに…

そして来ました、上カルビ。

なんやこいつ…まるで気配が違うッ…!

丁寧に肉を焼き上げる。レアより柔らかい伝説の焼き加減レジェンドにて上カルビを食す!

「これは。。。アカン」

とろける肉と私の脳。すごーい!おいしーい!!!

柔らかさ、溢れる脂の甘さ、どれをとっても極上。 これを食べてしまうと、もう元の世界には戻れません。

私「とりあえずまず、そこにある普通のロースをさっさと片づけよう!」

友人「そうだね。さっさと上カルビ上カルビ!!」

今日食べたすべての肉を置き去りにするうまさ。いや、今日食べた肉、どれも絶品だったんですよ?けれど、上はまるで格が違いました。 2倍払うだけの価値はある。皆さんも来た時には、全部とは言わず一品くらい上を味わうことをお勧めします。


普通の肉と上の肉の違い。お分かりいただけただろうか…?

〆のデザート、会計

最後に冷麺を食べて注文の品はすべて終了。 いやはや、最初から最後までテンション上がりっぱなしの最高の夕食でした。 〆はサービスのグレープゼリー。溶けた脳には何食べてもうまいしか感じられない。たぶん普通のゼリーなんだろうけど。

これで会計は一人6500円

これが安いか高いかは、人それぞれだと思います。 けれど私は

  • 安安に3回、牛角に2回行くならここの1回を絶対選ぶ。
  • 叙々苑と同程度、あるいはそれ以上においしい。

と自信を持って言えます。コスパもとてもよく、大変美味なよいお店でした。 皆さんもぜひぜひ、訪れてみてください。ではではっ!

*1:本当はハラミを食べたかったのだが、残念ながら売り切れ。

【ガブリエル】これから期待のオススメyoutuberを徹底紹介!

こんにちは、ほけきよです。

前にも鉄球ネタの記事を書いたと思うんですが、私youtube、1日2時間は見ます。私の生活の10%youtubeでできています。youtubee*1です

はじめしゃちょーとかヒカルとかHIKAKINとか、大手の人、面白いですよね。やって観たいことを代わりにやってくれる『日常寄りの非日常』が、観ていて飽きないのかもしれません。

今回は、彼らの後釜を狙えそうな駆け出しyoutuber『ガブリエル(Gabriel)』と思います。

チャンネル登録100万人が一般人も知るようになるライン?

チャンネル登録者数が100万人を超えているようなところは、youtubeのトップページや、急上昇動画にもあげられるほど爆発力があるので、 知っている人も多いのではないのかと思います。

でも、1万人、10万人前後って、認知度恐ろしく低いですよね。ゴロゴロいるのに。 youtubeドリームは難しそうだなっていうのを見てて思います。

やっぱり、そこから頭ひとつ抜け出すには、

  • カリスマ性
  • 企画力
  • 編集能力

が必要なんじゃないのかと思いますね。(この辺、ブログとも似てるような気がします。)

今回は、この3要素を踏まえ、ポテンシャルがあるなと思うyoutuberを発見したので、紹介します!

ラファエルの堕天使版!?ハイスペック臭が凄い 『ガブリエル』

  • 初動画 : 2016/11/12
  • 登録者数 : 7000人くらい(2017/1/17)

www.youtube.com

はいはい、またパクリ系底辺youtuberか…

と思いきや、、、

  • 初めから高画質映像
  • カットや音楽などの編集で見やすい映像
  • しっかりしたキャラ設定
  • バク宙したり、圧倒的な運動能力

と、漂うハイスペック感がすごい…!!企画の表層だけパクっているそこらへんのyoutuberとの格の違いを感じちゃいました。

衝撃のあまり、思わずツイート

そして、衝撃のあまりこういう記事を書いてますw多分、ぐいぐい伸びてくると思う。 パクリ系なので、初めアンチが増えるんでしょうが、そんなの関係なく飽きずに動画あげて欲しいな。私はもうファンになっちゃったし。

今後に激しく期待です!!

オススメ動画

アクションかっこよすぎ…!

格闘技でもやってたの?とにかく美しい身体の動き

www.youtube.com

編集うますぎ…!

誰が英語しゃべってるのよw映画のワンシーンみたいだわ。

www.youtube.com

名前の由来が明らかに

質問コーナーもいいなぁ。ガブリエルの名前の由来も語られています。いい話。 ドリフトうますぎる!

www.youtube.com

現在(2017/5/6)

  • 登録者数 : 105000
  • 総再生回数 : 7,155,900回

やはり伸びてきましたね。更新頻度がそれほどない*2 でここまで伸びるのは、やはりしっかりした動画のつくりの賜物でしょう。

そして面白いのがここまで視聴者を煽るスタイルながら、低評価が著しく少ないこと。 はじめはパクリだと思ったアンチによる低評価がめちゃくちゃ多かったのですが、今ではファンが多数います。 Twitter神対応もその要因のよう。『根はすごくいい人』というギャップが働き、ファンが爆発的に伸びたようです。

終わりに

爆発的な伸びを見せているガブリエルですが、更新頻度が激減しています。 もともと更新頻度は少ないのですが、輪をかけて減っている…! クオリティは下げてほしくないので、時間をかけて作ってほしいですが、このまま消えるのだけは悲しいのでやめてほしいです…!

次なる動画、期待しています!!

*1:youtubeを見る人

*2:わずか20動画程度…!

【備忘録】検索流入用にブログをリノベーションする。

f:id:imslotter:20170504195001p:plain Google様のOwl Updateとかいうものがあったらしいですが、もともと検索流入の少ない私は低みの見物でした…!

でもどうせGWは新記事書いても流入が減ることが目に見えているので、コスパ的に悪そうだなと思ったのです。*1なのでこのタイミングでブログをリノベーションをしてみようかなと思い、色々といじってみます。

自分自身の備忘録用にもなってるので見辛いかもしれません&参考記事寄せ集めなので、「転載しないで」という方はお申し付けください。迅速に対応いたします。また、今回の内容で

これもした方がいいよ1!!
いやそれはちょっと...

とかあればSEO弱者の私にご意見/ご指摘くださると吐くほど喜びます。コメント/はてブ/twitterにてお待ちしております。

記事の削除 / タイトル、内容のリライト

おそらくここが割とボリューミーなので、時間がかかるなと思っています。 Search Consoleで検索順位1-20位に挙がっている記事を重点的にリライトしていこうかなと画策中。

  • Owl updateの影響

    そもそものキーワードがオリジナルだったり造語だったりするものだとあまり影響を受けない可能性があるね。 (苦労詐欺 (id:ztrabbit02)さんの記事より)

  • 記事のスリム化

    今までは1つの記事の中に2つドリンクを紹介していたのですが、あえて別々に分けてみたんです。そうしたらアクセス数が10倍に増えて、両方ともアクセスが1万超に。 今まで記事のボリュームを重視して1つにまとめていたのですが、ドリンク名が両方ともビックワードだったので、別々に分けた方が上手くいきました。 (おやすみ星人 (id:oyasumin-seijin)さんの記事より)

  • はてな用タイトル->検索用タイトル

    はてなのトップページや紹介ページなどでこの記事タイトルを見ると「ん?なんだ?」と興味を持たせることが出来ます。実際、興味だけでこの記事を見た人も多いでしょう。でもGoogleやヤフーでこの記事をタイトルだけで見つけるのは至難の業、というかおそらくできません(サキ (id:masaki709)さんの記事より)

ふむふむ、なるほど。何でもかんでも詰め込んで文字数増やしてても逆効果ってワケね。タイトルで釣れるのはSocialの流入だけだし、その役目を果たしたならば検索流入狙いでタイトルを変えてみるのも良いかもしれぬ。

今回は記事を眺めながら下記方針でリライト/削除していきます。

■ そもそもの内容が信ぴょう性に欠ける妄想記事は削除
■ オリジナルの単語を既存のワードへ置換
はてな的タイトルを変更。ワード2つくらいに絞り、誇張を控えめに
■ 記事ダイエット。まとめより1つのビッグワードに絞った方が良さげな記事もある

カテゴリの整理

綺麗にまとまっている人はほんと綺麗にまとまってるよね。いいなぁ。 SEO的にも意味を持ったカテゴリ構成は重要とのことなので、一度作り直します。

大カテゴリの整理

綺麗な階層カテゴリを意識して作ったはずなのですが、きちんと方針を明記していなかったせいでぐちゃぐちゃになり、何が上位カテゴリかわからなくなり、今に至る。という状況です。その反省も踏まえ、一度大カテゴリを下記のカテゴリに構築します*2

以下、・親カテゴリ(子カテゴリ)の表記

  1. 技術メモ (機械学習/python/Science)
  2. 理系ネタ(数学/物理)
  3. レビュー (ソフトウェア/本/ガジェット)
  4. 生活 (ライフハック/ぐるぐるめ/私の音楽/雑記・ネタ)
  5. オピニオン (主張記事/勉強法)
  6. 旅とカメラ (行ってみたい/行って良かった)
  7. ブログ運営 (カスタマイズ/SEO/運営報告)

階層の構造化

なるほど、こういう風にパンくずリスト擬似的に階層構造を作ってやることで、Googleに階層構造だぞと認識させているわけなのか…

技術メモの中の機械学習だったら技術メモ-機械学習としておけば良いというわけですかね。ふむふむ。タグを付け直します…!

テーマをZENO-TEALに変更(努力目標)

最近(?)はやりのZENO-TEALに変更してみる。 ただし、配色やヘッダは今まで通りにしたい。

  • 表示速度もそこそこ
  • トップページがカード型なのがみやすくてとても良い。
  • SEOにも強いらしい??

なので導入してみる。参考にさせていただいている記事にデメリット(というか注意点)が非常に丁寧に書かれている。

  • インストールテーマの変更なのでCSSを色々書き直す
  • おすすめ記事の画像サイズの変更
  • 見出しの前にアイキャッチと導入文

など、少々面倒なところも多そうなので、努力目標!

AMPってなんだ?

AMPは、モバイル環境でWebコンテンツの表示を高速化する仕組みです。(中略…) AMPで配信されたコンテンツは、AMPの表示に対応したモバイルのサイト・アプリで利用されます。AMPに対応したGoogle検索などのサービスが、AMPで配信されたページのデータをクロールすると、モバイル環境のアプリ内ブラウザなどでそのデータを利用して、通常のWebページより高速に表示します。(はてな公式より)

なるほどわからん早くなるのね。実際ケータイでググってみる。 例えば、ケータイでGWと調べると出てくるこれ

f:id:imslotter:20170504195715p:plain

これがAMPです。高速なブラウジングが可能とのこと。 ルーセルと言って、横にスワイプしてくだけで次の記事にどんどん移れちゃう。

AMP対応させることで、ここに載せられるというわけですね。検索流入の増加が見込めそうだ。

デメリットは

  • デザインが固定されてしまう(はてな)
  • Adsense広告を入れるのが面倒*3

とのこと。なるほど〜。 デザイン等、自分の思い通りにいかないことが多そうですが、少し試してみる価値はあるかもしれないと思いました。こいつも努力目標に入れておこう…!

一冊くらい、SEO関係の本読んだ方がいいのだろうか。

この備忘録的なのを書いていてなんかそんな気もし初めています。。何をするにしてもですが、ふいんきで色々やってると、常に場当たり的になっちゃって非効率かなって。

もし、汎用的に利用できそうな知恵を具体的に書いてある本があれば、一冊読んで見たいなぁと思う。なんか巷でよくみるいい記事を書くことが重要!!みたいな「セヤナ」的な内容は特に欲していないので。

そこで、“沈黙のWebライティング”というの、結構読んでいる人多かったので、ちょっと気になっています。いくつかレビュー記事を読んでみて、良さげならポチります!

沈黙のWebライティング ?Webマーケッター ボーンの激闘?〈SEOのためのライティング教本〉

コツコツ頑張ろう

色々リストアップしたのはいいけれど、プライベート的な都合もあって*4、GW中に終わらせられる気はしていません。 ですが、ブログを育てていきたいなとは常々思っているので、GWでやりきれなくてもちまちまやっていきたいなぁと思います。

さて、頑張ろう…!ではではっ

*1:と言いつつ新記事投稿

*2:7は、少し多いかも…?でもsimplicityとaccessibilityのバランスを考えると、これ以上現状はちょっと難しそう

*3:ケー (id:photoblg)さんの記事に、広告の入れ方がかかれています。

*4:家にネット回線がまだない…!

英語版『ぷ攻め』を探してみる

f:id:imslotter:20170502174606p:plain

こんにちは、ほけきよです!

最近はテレビでもしりとりをするんですね。東大卒、京大卒たちの熱き戦いには結構魅了されました。 そんなしりとりで出てきたのが、「る攻め、ぷ攻め」

“る"や"ぷ"で終わる単語は多いけど、始まる単語は少ない。だからそれで攻めまくる!

f:id:imslotter:20170502070259p:plain

高度なしりとりでの常套手段ですね。

実際私が「る攻め」されたら ルビー、ルージュラの後には「留守電!」 ってなりますし、 「ぷ攻め」なんてされた日には「プーさん」で秒殺ですよ。。。はぁ、はちみつ食べたい。。

と、しりとりの奥の深さがわかっていただけたところで、今回はその英語Ver.です。

「じゃあ英語では何攻めをすればいいの??」

というのをちょっと考えてみました!

初めの予想

私の初めの予想を言っておきますね。

「XとかQとかで始まる単語って少ないし、その辺りで攻めればいいんでしょうよ。」

…さぁ、どうなんですかね?

みなさんも、読む前にちらっと予想してみてください。

英単語の辞書をGetする

まずは、調べるために英単語リストを入手しなくてはなりません。

色々と調べていたんですが、結果、mac本体に入っていることを知りました。そりゃそうか…

/usr/share/dict/配下にあるweb2というファイル に、約28万単語が収録されています。

これを使って、分析をしてみます。

分析手法

分析といっても、英単語の初めと終わりを見てカウントするだけです。 結果の可視化に使うのは3種類で

  • begins : どのアルファベットから始まったかをカウント
  • ends : どのアルファベットで終わったかをカウント
  • matrix : どのアルファベットで始まり、どのアルファベットで終わったかをカウント

です。

結果

まず、beginsとendsを可視化してみましょう! 棒グラフが、その対象アルファベットの総数です。

折れ線グラフは、ends/beginsです。始める単語に対してどのくらい終わる単語が多いのかを表しています。

f:id:imslotter:20170501223145p:plain

X,Qは確かに少ないが…

確かに、X, Qで始まる単語は少ないですね。 でも、同様に終わる単語も少ないです。

これは、攻めようにも攻めきれない可能性があるということを示唆しています。

そこで大事になってくるのが、endsとbeginsの割合です。この値が高いほど、攻めやすく、また守りにくい アルファベットと言うわけです。

「Y攻め」

そう言う観点から見ると、「Y攻め」が非常に理にかなっていることがわかります。 yで終わる英単語、形容詞を考えると無数にありますからね。しかし、始まる単語って以外に少ないんですね。 y攻めをすると

yes!! :D , yard…!, yearn……yearn for “Y” words !!! ;(

みたいな展開になること間違いないでしょう!!

「Y攻め」への突破口、「Yカウンター」

この図は、matrix(どういう単語で始まりどういう単語で終わっているかの行列)をヒートマップで表したものです。

f:id:imslotter:20170501223150p:plain

「Y攻め」を回避する方法を、このマトリクスから考えることができます。 語尾がyに繋がりにくい単語を選べばいい訳です。 endsが"y"のうち、極端に色の青いbeginsを探せばOKです。

そうすると、k,j, qですかね。

  • y---k (31語)
yak         / yakamik / yamshik   / yamstchik / yank
yapok       / yarak   / yardstick / yark      / yashmak
yearbook    / yearock / yeldrock  / yelk      / yellowback
yellowshank / yerk    / yesterweek/ yeuk      / yirk
yirmilik    / yock    / yoick     / yok       / yolk
yook        / york    / yuck      / yuleblock / yuzlik
yuzluk
  • y---l (22語)
yacal     / yardful / yarl    / yawl    / yawnful
yearful   / yearnful/ yeel    / yell    / yellowbill
yellowtail/ yill    / yochel  / yockel  / yodel
yokel     / youl    / yoursel / youthful/ yowl
yuckel    / yukkel
  • y---q なし(なんやて)

これだけあれば、戦えるのではないでしょうか?相手にほころびが出た瞬間、こちらがすかさず「Y攻め」を行い、カウンターを決め込みましょう!!

まとめ

というわけで、英語版「ぷ攻め」は「Y攻め」という結論で締めくくりたいと思います!! 皆さんも英語しりとりをするときは、「Y攻め」、「Yカウンター」で勝利を手にしてください!

これ、日本語の「ん」に相当するものはどれなの?
...... ではではっ!!!*1

*1:個人的には、"E"あたりを「ん」にすると、面白いかなと思ってます

【ブログ運営報告】前月比3倍!得意領域に力を入れた、やってて良かった7ヶ月目。

こんにちは、ほけきよです!

運営報告の時間です。 キリのいい所で運営報告をしようと思っていたのですが、 先月のPVが初めての減少(激減)だったので、今月まで待たねばなりませんでした。

私がキリのいいと思い目標にしていた数値は50000PVです。 今月は超えることが出来ました!やったね!

というわけで、運営報告を(先月分も兼ねて)していきたいと思います。

2月 3月 4月 差分(3⇨4)
PV 40365 22885 61643 約3倍
PV(検索流入) 7525 14483 28028 約2倍
読者 180 199 217 +18人
twitter 280 300 367 +67人
収益(単位:諭吉) 0.9 0.7 2.8 +2.1

数値的には上出来で満足の行く4月となりましたー!

【検索流入】3月が一見ヤバそうだが…

これを見ると、「あれ?3月のPV下がり過ぎでは?」 と思うかもしれません。ですが、検索流入をみると

2から3、3から4と、堅調に倍々と増加しています。

バズ記事はギャンブル、検索流入記事は資産。

2月はバズで稼いだのでで、こうなることは目に見えていました。 3月は結果こそ奮っていないですが、割と検索上位に載ってくるワードをいくつか拾えたという点では、収穫アリでした。

ここをもっと補強していくことが今後の課題ですね。

【理系ネタ多数】そして4月

とはいえ、さすがに3月の結果は悔しかった!

なので、4月は結構気合を入れました!かける時は記事を書きました。

他の月と違ったのは「理系ネタ」を多めに取り入れたこと。 他の人に書けないアイデンティティを出すなら、ここだろうなと。

自分で書いていても、楽しいのでついつい熱が入っちゃいます。 ここで4月の自信アリな理系ネタを2つ

収入の分布を分析してみた話

トンデモデータと思いきや、実にスッキリしたデータで美しい結果に終わった話。 初学者でも雰囲気つかめるような書き方になっていると思いますので、

「勝ち組の貯金っていくらぐらいだろう」

と気になる人は是非読んでみてください。

www.procrasist.com

風呂場のドアパカパカ問題

かなり自信作アリな自作問題です。 強烈なインフルエンサーにシェアされたおかげで、拡散の海に放り出され、今も順調に航海しています。 設定から解き方まで、一貫して楽しいものになっています。

この記事に関しては、拡散したおかげで嬉しいこともあったので、それは後述。

大学受験数学に対して腕に覚えがある方は特に、挑んでみてください!

www.procrasist.com

他にも↓あたりは、割と興味深い記事に仕上がったと思います!結構自信作( ^ω^ )

発信者をやっててよかったと思ったこと、今後の目標

嬉しかったこと

今月は、自分の好きなことを好きなだけ書けた月でした。

思うように伸びなかった記事もいくつかはありますが、だいたいの記事がよく拡散されて、読んでもらえたのかなと思います。特に最後のお風呂のドア記事は、強烈なインフルエンサーに拾ってもらったこともあり、私のブログの中では出世頭です。

嬉しかったのは、

かつての独り言が共有され、新たな価値を産んだ

ということ。 高校の頃から、「これ面白いなー」と、色々問題を考えるタイプの人間だったのですが、残念ながら 相手にしてくれるのはほんの数人でした。限られたコミュニティの中での発信は、影響力などそれほど多くありません。ほとんど独り言のようなものです。でも、発信者になって、ある程度色々な人に見ていただけるようになったことで、

「数学って面白い、美しい」

と、多くの方に言ってもらえたことや、

「この問題、こんな背景がありますよ」

と生産的な指摘をくださる方がいたことが、本当に嬉しかったです。 月並みですが、新たな価値を与えることができて、また新たな価値を得ることもできた。まさにWin-Winだなと思いました。

正直、この価値って定量化しづらいものです。「収益○○円!!」っていう訳ではないですし。 私はこういうのを、教養の貯金だと思っています。

「こんな考え方、見方ができるんだ。」

と思い、感銘を受けることが、将来のどこかで役に立つ(かもしれない)。 なので、目標としては、もっともっと発信者としての実力をつけて、多くの人の目に触れられるようにしていきたい。そして 記事で心を動かせたらなあ。と思います。

特に自分も好きな、 「理系ネタを全力で」カテゴリの記事はこれからも熱を持って書いていきます!

とはいえ!!!

お金も欲しいです^^(ゲス顔)

正直、「お風呂 面積」なんてワードで検索かける人なんていない訳です。 この記事も拡散の海から戻ってくると、ほぼ永年停泊しっぱなしの置物記事になっちゃう訳です。

なので、やはり検索流入を増やす!!ことが重要。

過去記事を見返してみると、グーグル様に対して不遜な態度のタイトルばかりじゃないですかー。やだー。

なので、過去記事中心にリライトを進めていきたいと思います!

次の目標は10万PV/月!がんばるぞい!

【ゆるぼ】記事ネタ、募集します。

最後にゆる募でーす!

理系ネタ、一人じゃ視野に限界があるので、

ほけきよに考えてもらいたい面白いネタがあれば是非twitterでもなんでも、連絡ください!

おもしそうなものは記事にしたいなと思っています。よろしくお願いします!ではではっ

お風呂場のパカパカドアが通る面積を計算したら感動的に綺麗だった【美しい回答追記】

こんにちは、ほけきよです!!

みなさんのお家にあるお風呂場で、こんなドアはないでしょうか??

f:id:imslotter:20170416191920j:plain

そう、通称『パカパカドア』ですね!!私の家もこのドアです。

ある日、シャワーを浴びている時、このドアをパカパカしていました。全裸で。

すると、このパカパカドア、なかなか複雑な動きをしているな、と気づきました。全裸で。

「これは、求めなければならない…!!」

使命感にかられ、すぐさまお風呂を飛び出して計算に取り掛かりました。

高校数学で解けますが、なかなか色々考えることがたくさんあって難しい問題になってます。 数学に自身のある諸氏はぜひともチャレンジしてみてください。

問題

問題文は以下の通り f:id:imslotter:20170416195128p:plain

どんな形になるの?

解く前に軽いヒントを。 このドア、どんな図形を描くか想像できますか?

せっかくなので今回はアニメーションにしてみました。

f:id:imslotter:20170426223237g:plain

これを重ね合わせると、↓のようになります

f:id:imslotter:20170426223343p:plain

美しい…

こう言うので囲まれる図形を包絡線といいます。

つまり今回のお題は、この包絡線で囲まれる面積を求めるってことです。

回答と解説

ここからは回答と解説です。解きたい人は押さないでくださいな。 (雑な字ですみません。数式や図を描く元気がなかったですw)

続きを読む

美しすぎる青の絨毯、ひたち海浜公園の『ネモフィラ』はGWに超絶おすすめ!

f:id:imslotter:20170426051040p:plain

こんにちは!ほけきよです

皆さんGWの予定はお決まりでしょうか。 まだ決まっていない方、「お花畑」に行ってみるのはいかがですか?

「え?お花畑?子供じゃあるまいし…」

と思う方も多いかもしれません。けれど、この「ひたち海浜公園」のお花畑は ほかのそれと全然違います。世にも珍しい、一面青いお花畑が広がっているのです!!

ひたち海浜公園とは

茨城県の東部にある国営の公園

Rock in Japanの開催地としても有名です。

しかし、何と言っても見所は四季折々のお花 珍しいお花畑が有名です。 とくに、5月のネモフィラ9月のコキアは 他に例を見ない美しさで例年多くの観光客で賑わいます。

f:id:imslotter:20170426044145j:plain
コキアとコスモス(ひたち海浜公園HPより引用)

激レアな花、ネモフィラって?

その中でも、近年超有名になりつつあるのが4月下旬から5月上旬のほんのわずかな期間にだけ花を咲かせるネモフィラ。本当に美しい青いお花です。

f:id:imslotter:20170426044454j:plain

最近ではひたち海浜公園ネモフィラ人生で一度は見ておきたい絶景として世界中から注目されるほど有名になりました。

時期がちょうどGWドンピシャにしか咲かないので、これを逃すとまた来年を待つことになります.

f:id:imslotter:20170426050221p:plain

ネモフィラ写真館

「世界の絶景といえども、世間が勝手に囃し立てているだけで、実はがっかり…」

みたいなものも多くあったりします。しかし,ここのネモフィラ畑は本当にすごい…! 以前わたしが行ったときの写真を参考に、どうぞ行きたみを深めてください( ^ω^ )

f:id:imslotter:20170426044754j:plain
遠くに見える海、空、ネモフィラ。青の三重奏!

f:id:imslotter:20170426044803j:plain
ネモフィラ畑の隣にある菜の花も素敵.

f:id:imslotter:20170426044812j:plain
アップ。一輪一輪も上品

f:id:imslotter:20170426044819j:plain
菜の花との共演

f:id:imslotter:20170426045821j:plain
ネモフィラ色のアイスも美味しい!

色々絶景ハントしてきましたが、ここの景色はなかなか見られるものではないので、GW予定がない方、ぜひ足を運んでみてはいかがでしょうか。 見頃のネモフィラ畑は、間違いなく息をのむほどの絶景です。

ではではっ!!

【技術メモ】python matplotlibで見栄えの良い色, グラフを作るTips

matplotlibでも割と綺麗な図を作ることができる。 図示の時に色々と使うテクニックを列挙。

どうぞ皆さんもお使いください

基本の体裁

まずこのグラフ

import numpy as np
import matplotlib.pyplot.plt
x = np.arange(-np.pi,np.pi,np.pi/50)
plt.axvspan(-0.5*np.pi,0.5*np.pi,color="red")
plt.plot(x,np.sin(x))
plt.show()

f:id:imslotter:20170423210018p:plain

どぎついし、端が切れているし、イマイチ。この辺の体裁を整えていく

関数で調整

変えたい 関数 選択肢
x,yの範囲 plt.xlim(a,b)
plt.ylim(a,b)
範囲を実数値で
タイトル plt.title("hoge") タイトルをstr型で

plt.legend(loc=2)

などとするとタイトルやラベルが表示される。locオプションはラベルの場所を決める。グラフの第一から第四象限と場所が対応。loc="lower right"などという書き方も可能

plt()内の基本オプションで調整

変えたい オプション 選択肢
色(デフォルト) color="red"など red, green, blue, cyan, magenta, yellow, black
色(自分で) color="#010101"など Materialui : 最近はやりのマテリアルデザイン
などのカラーコード載っている。
クリックしてctrl+Cでコピーする。
色選びの参考に。
太さ lw 整数値(大きいほど太い)
マーカー marker “o"や"x"などだけではなく、
様々なマーカーが用意されている。
このサイトが詳しい
マーカーサイズ markersize 整数値(大きいほど大きい)
ラベル label グラフを表すラベル。$$で囲むと数式もOK
透過度 alpha 0≦alpha≦1, 大きいほど透明度が高い
x = np.arange(-np.pi,np.pi,np.pi/50)
plt.axvspan(-0.5*np.pi,0.5*np.pi,alpha=1.0,color="#ffcdd2",label="$(-\pi/2, \pi/2)$")
plt.plot(x,np.sin(x),lw=3,color="#03A9F4", label="$y = \sin{x}$")
plt.xlim(-np.pi,np.pi)
plt.ylim(-1,1)
plt.title("modification")
plt.legend(loc="lower right")
plt.savefig("graph_modifcation.png")

こんな感じになる

f:id:imslotter:20170423210039p:plain

透過度をあげる

線が重なったり、点が密集した時は、先述のalphaオプションを使って透明度をあげてやると分布もわかりやすく見やすい図になる。 例えば、x,yに正規分布で乱数を発生させたものを散布図でプロットする

x = np.random.normal(0,1,1000)
y = np.random.normal(0,1,1000)
plt.figure(figsize=(10,5))
plt.subplot(121)
plt.scatter(x, y,marker="o")
plt.subplot(122)
plt.scatter(x, y, marker="o",alpha=0.2)
plt.show()

f:id:imslotter:20170423213934p:plain

左のほうが綺麗で見やすい(はず)

漫画風にする

import matplotlib.pyplot as plt
plt.xkcd()

とすればOK 詳しくはこちら

棒グラフに柄を載せる

これもちょっとしたテクニック。 棒グラフを書くplt.bar()のオプションhatchを使う

t = range(10)
y1 = [x for x in  range(len(t))]
y2 = [1.0*x**2/9 for x in  range(len(t))]
w = 0.4 # 棒の幅
tick_interval = 2 #目盛りの間隔
left1 = [x-w/2 for x in range(len(t))]
left2 = [x+w/2 for x in range(len(t))] # 棒の幅分ずらす
labels = [year for i,year in enumerate(t) if i%tick_interval == 0] #目盛りの設定

plt.figure(figsize=(16,8))
plt.subplot(121)
plt.bar(left1, y1 , align='center',width=w)
plt.bar(left2, y2, align='center',width=w)
plt.xticks(range(0,len(t),tick_interval),labels)
plt.legend(loc=2)
plt.subplot(221)
plt.bar(left1, y1 , align='center',width=w)
plt.bar(left2, y2, align='center',width=w)
plt.subplot(222)
plt.bar(left1, y1 , align='center',width=w,color="#404040")
plt.bar(left2, y2, align='center',width=w,color="#808080",hatch="/")
plt.subplot(223)
# 数を増やすと密になる
# "//"以外にも色々な模様が用意されている
plt.bar(left1, y1 , align='center',width=w,color="#808080",hatch="////")
plt.bar(left2, y2, align='center',width=w,color="#909090",hatch="xx")
plt.subplot(224)
plt.bar(left1, y1 , align='center',width=w,color="#808080",hatch = "--")
plt.bar(left2, y2, align='center',width=w,color="#909090",hatch="oo")
plt.xticks(range(0,len(t),tick_interval),labels)
plt.legend(loc=2)

f:id:imslotter:20170423213847p:plain

グラデーション用の色を作る

グラデーションの作り方

  • いちいち変えるの面倒だけどパラメータが多い
  • グラデーション的に変えたい

そういう時はimport matplotlib.cm as cmを使う

import matplotlib.pyplot as plt
import matplotlib.cm as cm
import numpy as np
x =np.linspace(0,2*np.pi,100)
for i in range(30):   
    plt.plot(x,i*np.sin(x),color=cm.hsv(i/30.0))
plt.xlim(0,2*np.pi)
plt.show()

色の参考にcmリスト

  • さっきのcm.hogeの所を色々変えてみたものを図示
  • [0,1]のグラデーションになっていて,一番平らなのが0,盛り上がっているのが1

可視化の参考にどうぞ

王道カラフル系

  • hsv
  • jet
  • spectral f:id:imslotter:20170423213408p:plain

単色濃淡(っぽい)

  • bone
  • gray
  • pink
  • copper

f:id:imslotter:20170423213526p:plain

温度系

  • cool
  • hot

f:id:imslotter:20170423213543p:plain

季節の色たち

  • spring
  • summer
  • autumn
  • winter

f:id:imslotter:20170423213600p:plain

グラデーションにならない系

  • flag
  • prism

f:id:imslotter:20170423213616p:plain

その他

公式HP

PROCRASIST