ツナワタリマイライフ

日常ネタから技術ネタ、音楽ネタまで何でも書きます。

Ruby - Enummerable#grep

はじめに

kawasaki.rbに参加してきました。

kawasakirb.connpass.com

togetter.com

Perfect Ruby読書会

パーフェクトRuby (PERFECT SERIES 6)

パーフェクトRuby (PERFECT SERIES 6)

5.5.1 Enummerableなオブジェクト > ブロックを評価した結果の配列

まぁmapとか出てきたんですが、一番びっくりしたのはgrepですね。

ref.xaio.jp

===で比較して、マッチしたものを返すようですが、===の挙動が引数にとるobjectによって違うと。

Regexp

正規表現マッチ。

irb(main):042:0> array = [1, 2, "String", "string", "integer"]
=> [1, 2, "String", "string", "integer"]
irb(main):043:0> array.grep(/^s/)
=> ["string"]

Module

そのクラスに属するかどうか。

irb(main):045:0> array.grep(String)
=> ["String", "string", "integer"]
irb(main):046:0> array.grep(Integer)
=> [1, 2]

ブロック

irb(main):048:0> array.grep(String) {|str| str.upcase}
=> ["STRING", "STRING", "INTEGER"]

なるほど。

Enumerableモジュール

Enumerable - Rubyリファレンス

今回はarrayを例にしましたが、hashやstructもそうですね。数え上げることができる、ってことで.all?やany?といったメソッドをだしています。このへん今までまったく使ったことなくてはじめて知りましたね。

おわりに

わずか15分程度の読書会でたくさん発見あったので、勉強会、大切。そしてアウトプットする週間がついてからインプットの場に行くとその効果を実感。またkawasaki.rbいきます!

ブログのリファクタリング

はじめに

ブログのカテゴリわけについて過去何回か考えてました。

take-she12.hatenablog.com

take-she12.hatenablog.com

take-she12.hatenablog.com

月イチカテゴリメンテをやるといって一切やってないですね。(笑)

ブログを本格的に書き始めて1年が経ちましたので、どういう内容の記事を書くか、どういう記事を書かないか、を含めて、カテゴリ内容を見直していこうと思います。

小記事カテゴリの削除

f:id:take_she12:20161202170654p:plain

とっちらかってますね。

まず、1年間で記事がほとんどかかれなかったカテゴリは削除します。記事は非公開にしようか迷ったのですが、一応残しておきます。

  • 教育 (4)
  • 映画 (2)
  • ファッション (2)
  • ビジネス (2)
  • 酒 (1)
  • Web (1)
  • カレー (1)
  • チーム (1)
  • ドキュメント (1)
  • ブラウザ (1)

カレーは別のブログを立ち上げましたので、そちらに書いていきます。

curryengineer.hatenablog.com

他のテーマも個人的に興味はある分野ではあるのですが、カテゴライズするほどの量が出てきていない=ブログの性格を示すコンテンツにはなりえないので消します。映画は今年の後半にハマったので難しいところ、復活させるかもしれません。

その他は100害あって1利なしと言いましたが、カテゴライズするに満たない記事については一旦その他をつけてリリースし、定期的にその他を見直す、というのもアリかなと思いました。

カテゴリ階層化の廃止

そんな細かく分類しても外から見えないようになってるし、もうざっくりでいいかなと思いました。

フレームワークとか内容ごとに分けてもなぁと思います、それはもう親カテゴリに一回返してあげようと思います。

作業途中ですけど、こういうやつですね。

f:id:take_she12:20161202172810p:plain

これから

ソフトウェア的な記事は以前より減る予感はしてます。本を読んだ感想、本を読んで考えたこと、本に関係なくとも何か考えたことはこれkらも投稿すると思います。(とはいえ、エッセイや単なる考えだけの記事は最近noteに移行しつつあるんですが。)あと、どう考えても音楽が浮いてるんですが、今の所分離する気はないです。

やっぱりブログはひとに見てもらうとか、アクセス数稼ぐとかよりは。自分の思考をアウトプットするときの、友達なんですよ。だからコンテンツとして振り切れないんですね。それでいいと思います。これからもよろしくね。ありがとう、はてなブログ

記事数

2016年こんなに書いたのね。。。(記事作成日時点)

f:id:take_she12:20161202170701p:plain

181って2日に1回やん。まぁ最初の3ヶ月は毎日更新してたからそのおかげだけどね。続くもんだね。毎日更新やめてもそれなりに書いてるってことは、好きなんだなぁ。

SoftwareDesign6月号「bash再入門」でbash復習

はじめに

基本的にSoftwareDesignは特集で買うかどうかを決めます。なぜかというと連載モノは連続で買わないと読めないんですよね。というか最初から読まないといけない、に近い。1つで完結した内容になってないんですよね。まぁそれはさておき。

今回の特集は「bash再入門」と「MySQLを武器にSQLをはじめよう」の2つ。

bashを使わずに仕事をすることはできません。基本的な内容はあるとしても、何か1つでも得ることはあるだろうと思い、これを機に復習することにしました。

MySQLのほうもMariaDBいれたりガレラクラスタ組んだりして、SQLもしもしする練習もしたいんですが、今回は見送り。

bashとは何か?

第1章 bashとは何か〜古くて新しいシェル環境 より

bashって何ですか?というのを知ったのは実は最近だったりする。。。シェルはユーザインターフェイスのことと言ってもいいだろう。ユーザとUNIXカーネルの橋渡しをする存在。そのシェルの中でもbashcshzshと様々な種類のソフトウェアがある。ほとんどのLinuxディストリビューションにおいてbashが標準であるため、bashは最低限押さえておく必要がある。

同期氏はzsh推しだから使ってみたい気もするけど、まずは標準からですね。

今使っているシェルを確認する

第2章 最初につまづかないためのbashひとめぐりより

普段自分が今何のシェルを使っているかを意識したことがないので、おそらくbashだったのでしょうが、確認しておきましょう。

インストールされているシェル

/etc/shellsを確認してみます。

MacBook-Air:~ take$ cat -n /etc/shells 
     1 # List of acceptable shells for chpass(1).
     2 # Ftpd will not allow users to connect who are not using
     3 # one of these shells.
     4 
     5 /bin/bash
     6 /bin/csh
     7 /bin/ksh
     8 /bin/sh
     9 /bin/tcsh
    10 /bin/zsh

ログインシェル

$SHELLに入っているようです。

MacBook-Air:~ take$ echo $SHELL
/bin/bash

シェルを変更する

chshで変更します。

MacBook-Air:~ take$ chsh -s /bin/zsh
Changing shell for take.
Password for take: 
MacBook-Air:~ take$ 

ログインシェルは通常/etc/passwdに書かれてあるらしいですが、Macの場合別の場所で管理されてるそう。

システム環境設定→ユーザとグループから。

f:id:take_she12:20160605203112p:plain

f:id:take_she12:20160605203117p:plain

ちゃんとログインシェル変わってますね。

シェルのショートカットキー

Ctrl-aで行頭、Ctrl-eで行末へ移動知らなかった。。。カーソル連打で戻ってたよ。。。

その他単語レベルでの移動やカットも便利そう。

history(コマンド実行履歴)の利用

たまに過去のコマンド探すのにhistoryをgrepしたりはしますが、これ、Ctrl-rで検索できるじゃん。。知らなかったよ。。。

(reverse-i-search)`grep': grep take /etc/passwd

(Ctrl-rを押すと(reverse-i-search)と表示され、文字を入力すると候補が出る。続けてCtrl-rを押せば上にあがっていく。

シェルスクリプトの復習

第4章 シェル芸問題で腕を磨け!テキスト処理・計算・調査の定石 より

シェル芸!何でもワンライナーで書く必要はないですが、その能力は必ず役に立ちますよね。この章で出てくるコマンドについて復習します。

tr

ファイル内の文字を一括変換する、と言われてもイマイチピンとこない。

Linuxコマンド集 - 【 tr 】 文字を一括変換する:ITpro

オプションなし

MacBook-Air:bash take$ cat test.txt 
hogepogehogepoge
hogepogehogepoge
hogepogehogepoge

MacBook-Air:bash take$ cat test.txt | tr hoge HOGE
HOGEpOGEHOGEpOGE
HOGEpOGEHOGEpOGE
HOGEpOGEHOGEpOGE

これ、単語レベルじゃなくて、hはHに、oはOにgはGに、eはEに変換されるんですね。

-cオプション

MacBook-Air:bash take$ cat test.txt | tr -c ge GE
EEgeEEgeEEgeEEgeEEEgeEEgeEEgeEEgeEEEgeEEgeEEgeEEgeEEMacBook-Air:bash take$ 

ごめんどういう挙動か全然わかんない。。。

manを見てみる。

     -C      Complement the set of characters in string1, that is ``-C ab''
             includes every character except for `a' and `b'.

     -c      Same as -C but complement the set of values in string1.

String1で指定した文字以外の文字を、String2で指定した文字列に置換するのか。

MacBook-Air:bash take$ cat test2.txt 
1234
5678
90
MacBook-Air:bash take$ cat test2.txt | tr -c 159 a
1aaaa5aaaa9aa

1,5,9以外の文字が全てaに置換されてますね。ちなみにString2をabとすると全部bに変わっちゃいます。最後の文字を対象にしているのかな。補集合を変換したいときに使うんですね。で、改行文字も変換されちゃってるってわけか。

-dオプション

これは削除なのでわかりやすい。

MacBook-Air:bash take$ cat test2.txt 
1234
5678
90
MacBook-Air:bash take$ cat test2.txt | tr -d 159
234
678
0

-tオプション

String1をString2の長さに切り詰めるって何を言ってるかわかんないので使ってみます。

MacBook-Air:bash take$ cat test2.txt | tr -t 123 123
tr: illegal option -- t
usage: tr [-Ccsu] string1 string2
       tr [-Ccu] -d string1
       tr [-Ccu] -s string1
       tr [-Ccu] -ds string1 string2

おこられる。確かにmanに載ってない。なんだこれ。

-sオプション

連続文字を1文字にする

MacBook-Air:bash take$ cat test3.txt 
hogeeeeeeeeee
pogeeeeeee
togee
MacBook-Air:bash take$ cat test3.txt | tr -s e
hoge
poge
toge

分かりやすいね。

xargs

xargs コマンド | コマンドの使い方(Linux) | hydroculのメモ

ファイル名の一覧を標準入力から受け取って、そのファイル一覧を任意のコマンドに引数として渡すコマンド。ファイル一覧でなくてもなんでもよい。

日本語で頼む。

findもしくはls、またはファイル一覧を入力として、それを1つずつ次のコマンドに渡してやるって感じかな。

MacBook-Air:bash take$ ls
test.txt    test2.txt   test3.txt
MacBook-Air:bash take$ ls | xargs cat
hogepogehogepoge
hogepogehogepoge
hogepogehogepoge

1234
5678
90
hogeeeeeeeeee
pogeeeeeee
togee

なるほど。覚えておいたら使いドコロがありそうだ。

bc

数値計算を行う。

やってみる。

MacBook-Air:bash take$ echo 1+3 | bc
4

なるほど、前の式を渡してやれば計算してくれるのか。

おわりに

実は下書きのまま残っていたものを投稿しました。このあとfishの特集があり、これを読んだ時にfishをいれて今も使っているのですが、使いこなせてないので、機能調べがてら、fishの記事を書こうと思います。

チームビルディング相談会① 職場のひとの良いところが見えづらい

はじめに

ソフトウェアに絶望した私ですが、そんな"デキナイ"私が今関心ある分野がチームビルディングです。

元々、リーダーとなって場を仕切ったり、仕組みを作ってひとを動かすところは得意だと感じています。また、相手の考えを聞いて、整理して相手に伝えることが得意だという自覚もあるので、ソフトウェア・プロフェッショナルとしての道が難しいのであれば、チームビルディングの分野で活躍できないかと考え、ちょっとしばらくチームビルディングについて考えようとしています。

幸運なことに、挫折のあとの今のチームでは新しいことをやるプロジェクトで、人間関係も割とフラット。その上、そのサービスに以前から携わってたこともあり、自分は前提知識を持っているほうなので、活躍できるチャンスです。実務でもチームをどう作るかに着目したいと考えています。

きっかけ

何でも企画にして面白いことをするのが好きな私。友人が小売業の管理職をしていて、時折人間関係、というか、ひとの動かし方、指示の出し方について悩んでいるのを聞いて、「これは企画になるのでは?」と思いつきました。ひとへの指示の出し方は、まさに根元にチームビルディングがあります。そこで、悩みのネタを出してもらい、僕が考えることをブログとしてアウトプットする取り組みをしたいと提案しました。

質問

「友達の良いところはたくさん見えてくるのに、職場の人の良いところが見えづらいのはなぜでしょうか。良いひとたちだと思うのですが、友達と同じようには見れないのが不思議です。」

司会者「いきなり難しい質問ですね。」

「そうですね。いきなりの司会者登場ですが完全に音楽ライターのレジーさんのパクりです。この形式って何が良いのか、興味があったのでやってみることにしました。対話形式だと読みやすい気がするけど本当にそうなのか、とか気になっていたので。」

司会者「職場の人の良いところが見えないと」

「僕は職場の人だろうがそうじゃない人だろうか良いところ見えるので、自分自身に覚えがない感覚の相談でとても難しい。」

司会者「友達と職場のひとの違いが問題?」

「友達の良いところはたくさん見えると言っているので、おそらく相談者自身の問題でしょう。良いところを見抜くスキルはあるんだけど、なぜか職場のひとだと見えにくくなる。」

司会者「職場ではスイッチが入るとか」

「本人も職場では自分の職務というロールを演じてるだろうし、その上で職場のひとも"職場のひと"というフィルターがかかっていて、友達関係のようにまっすぐ見えなくなるんだと思います。Aさん、Bさんという風にそのひとそのものを見ているよりかは、職場のCさん、職場のDさんという風に、職務フィルターがかかっている状態になっているのでは。」

司会者「どうやったらフィルターが消えますかね?」

「相手もただの人間だよね、っていうのを意識することができたらいいと思います。例えば、その相手に"期待"してたりしないでしょうか。相手に仕事を期待する=相手にその職務を期待することになるので、結局職務を演じるロールでしか見えなくなってしまうのでは。相手に期待しないことって、結構大切だと思うんですよね。」

司会者「期待外れだと悲しかったり悔しかったりする」

「とはいえ、上司に期待されている、という事実がモチベーションをあげるのも事実。ただ、期待を伝えるのは良いところが見えたあとだと思います。まずは相手に期待するのではなく、仕事をお願いしつつも、そのフィードバックを得ることに一生懸命になるべきだと思います。この仕事をお願いする、その意味が伝わったか、できそうか、できなさそうか、難しいか、やりたいか、やりたくないか、やってどうだったか。こういったものをはかる時間はどうしても必要。そのはかる時間を経れば自然と良いところは見えてくるはず。」

司会者「じっくり観察すると」

「そうですね。私は結構ひとを見てると思います。で、相手が何を返してきても否定しないし、期待もしない。もちろん感謝はします。相手を受け入れることですね。受け入れた上で、ちゃんと対話して、じっくり向き合う。やっぱり期待しないってのが効くんじゃないかなーと思います。」

考察

"変えられるのは自分だけだ"ということに気づいたのはいつだっただろうか。他人は変えられないんですよね。

他人に期待しない、というとどうしても冷たいイメージがつきまとうんですが、冷たくないんですよ。無です。マイナスじゃないです。相手に期待しないということは自分の行動がした結果は全部自分が負うわけです。伝わらなかったのであれば、伝え方が悪かったかな?ってなるかもしれないし。嫌だな、このひとは、と思っても相手には変わらないわけですから、嫌な相手こそ笑顔で近づいてみるとか。世界を変えるには自分を変えるしかない。

職場のひととしか見えないから、良いところが見えない、本当の気持ちを理解することはできませんが、期待せずにじっくり向き合ってみる、というのが1つの答えとして提案したいですが、いかがでしょうか。

おわりに

対話形式、司会者に都合良く喋らせられるので、話の展開を作るのがとても楽ですね。この企画内では続けてみたいと思います。

今回の企画は友人にネタ出しを協力してもらっています!本当にありがとう。反面どんな質問がくるかわからない楽しさも味わいつつ、考える時間・場所としていきたいです。他に相談ネタ・考えるネタがあれば遠慮なく教えてください。では!

仕事が楽しくないので「仕事は楽しいかね?」を読んだ

はじめに

タイトルはちょっと釣りです。すみません。楽しくなくはないです。

仕事は楽しいかね?

仕事は楽しいかね?

kindle unlimitedで読めます。

明日は今日と違う自分になる。

第4章「明日は今日と違う自分になる、だよ」では、目標を立てることの危険性を指摘している。「今日の目標は明日のマンネリ」という言葉からあるが、目標を設定すると、自己管理ができているような気がするともいうし、数年後はおろか、数か月後だってどんな人間になっているか予想がつかない。それよりも大事なことは「明日は今日と違う自分になる」こと。人生を完璧に、自分の思う通りにコントロールすることは不可能と割切るかわりに、常に変わり続け、前に進見続けることだと。

目標を立てて、それを達成しようという取り組みは自分もやっていた。その数が多かったり、達成できなかったり、結局その目標って何のためにあるんだっけって思ったり、うまくいかないと思っていた。

もちろん、目標を立てることそのものはいい。やりたいことを言葉にするという意味ではとてもいい。でもよりフォーカスすべきことは、進捗管理するより、常に今大切なことは何かを考え、変わり続けることなんだと思った。

努力と偶然

第6章「必要は発明の母かもしれない。だけど、偶然は発明の父なんだ。」も、過去の成功者たちの事例をうまくつかんでいる。成功者は10回のうち9回は失敗しているし、なんならもともとしたかったことと違うことがきっかけで大成功をつなげている。これはもちろん偶然であるが、毎日変わり続けようとする姿勢が生んだものだ。

人生はコントロールできないし、成功は偶然から生まれる。だからやるんだよ。少しずつ変えて試すんだよ、なんども試すんだよ、それしかないんだよ。

そう聞こえる。

ホーソーン効果

「あらゆるものを変えて、さらにもう一度変えること」

一般的に、実験は関係している要素を抽出するために、変数を1つにする。同時に変数をいくつも変えては何が効果的だったかがわからないからだ。

しかし完璧な実験ではなかった当時の実験は、結果的にひとが注目されることでどのやりかたをとっても生産性が30%あがる結果となった。つまり完璧なリサーチをしようすればするほど、物事の相互作用を見落としてしまうことを言っている。この文章だけでは説明が不十分だが、この場合でも変化が強いということが主張にあると思う。

成功者がやってきたこと

11章「だれだって、後からだったら、何だって言える。革新というのは簡単そうに見えるものなんだ、後から見ればね」

ここが一番どーんと落ちましたし、自己啓発本のもっとも大きい罠はこれだと思う。

成功者の語る言葉は、とってもストレートな道に見える。そしてそれができるのは特別な人間だからと思い込んだり、運がよかったんだと言う。チャンスはきっと自分とまったく変わらないはずなのに。

困難が与えてくれること

第12章「覚えておいてくれ。"試すことは簡単だが、変えるのは難しい"ということを。」で、とても好きな一節があるので紹介したい。

「困難というのは、一つひとつが実施演習を始める合図だ。試すことは、一つひとつが世の中への問いかけだ。答えというのは、一つひとつが旅だ。旅程の計画は人生に任せておけばいい。きみの仕事は、光を集めることとカメラを持っていくことなんだから:

後半にグァァァってきますね。旅程の計画ばっかり書いて、旅を一切しない。それが自分だな、って思った。

おわりに

仕事をしているひと、誰もが読んで何かを感じるであろうお話です。特に僕みたいに何かになりたい気持ちだけはあって何もできてないひとが読むといいと思います。

試そう。変わろう。大切なヒントを教えてくれた本です。続編の2も出ているのでそちらも読みます。

ソフトウェアプログラミングは不安との戦いだ

はじめに

エッセイ的な記事なのでnoteに書こうか迷ったんですが、プログラミングの話なのでこちらに書きます。

ソフトウェアプログラミングのつらみ

僕はソフトウェアエンジニアです。名乗れる程度には。新卒入社して3年目も中頃が過ぎ、「言われたことはやる」から「言われなくてもやる」への転換期と言ったところでしょうか。それなりに自分のやれること、得意なこと、わかりながら仕事に関わっています。

ただね。

ソフトウェアプログラミングって絶望的につらいんですよね。

え?何?好きなんじゃないの?めっちゃ勉強してるし、仕事も楽勝とか言ってるやん?って?うん、そうなんやけどさ、そうよ、たいていはそうなんやけど、基本的には自分は絶望的にソフトウェアプログラミングが苦手やと思ってるし、自分のセンス、才能の無さに定期的に絶望してます。絶望しすぎて方言でとるわ。

つらみを淡々と語りますので分からなくてもいいのでやさしくしてください。

ソースコードを読むつらみ

いやね、オープンソースの時代ですから、実際OSS使ってビジネスしてますし、仕様書がない!クソだ!分かるか!なんてさすがの僕も言いません。(1年目のときは本気で思ってました。OSSじゃなくて自社製品だったけど。)

それにソースコードを読めてこそエンジニア的なところあるじゃないですか。分かる、分かるよ。正解はソースにしかないってのはね、いいんだけどね、それでもつらい。

何がつらいってソースコード読むこと自体はいいんですよ。あーこうなってんだーって学びもあるしさ。こんな書き方するかよwwwってなったり楽しみはあるのさ。問題はしぬほど大規模なソフトに対して初見で障害対応するとき。 無理なのでは????????

このへんはもう経験が圧倒的に足りてないとは思っていて、だからこそ見当のつかない闇の世界に見えるわけですね。つまりソースコードの対局的な見方や、こういうふうに作られることが多いっていうデザインパターンを知らないんだと思う。きっとできるひとはおおまかな概要と掴んで、この処理はこのへんで閉じててこうされる、みたいなのが分かるんだと思う。でもそのへんがまったく自信持てなくて不安で死ぬ

動かしてみてデバッグログ仕込むとか、原始的な方法はあるにはあるけど、大規模環境で容易にソースいじれない場合はこれも難しい。専有環境をそもそも持つべきっていう論はあると思うけど。誰か「この処理はここだよ」って教えてほしい。そして呼び出し関係全部静的解析してほしい。甘えでいい。おねがい。

問題切り分けのつらみ

ソフトウェアはバグと切っては切れない関係にあります。というかバグとの戦いがソフトウェア開発の9割をしめるといっても過言です。

ちなみにプログラミング的なバグか、環境の一時的要因かはさておき、何か起きたときは問題を切り分けなければなりません。

まったく見たことないのに「~番のトラブル対応、よろしゃす」とリーダーに振られるわけですが、いやまってそもそもこれは何の機能のコンポーネントなの?ログはどこに出るの?ログ何個かあるけど何が違うの?内部でコンポーネントいくつかあるけどそれぞれの役割は何なの?このコンポはどのコンポとどうやって通信して連携してるの?まったく分からないところから切り分けスタートです

ビル・ゲイツも問題を切り分けよと言ってますが、それができりゃ苦労しないよと言わせておいてほしい。もちろん仮説のもと試行してこの時に起きる、このときは起きない、とやってだんだん範囲を狭めていったり、もしくは時系列に並べて関連するidなりなんなりで並べて どこまでは通信はいっててここで消えてる、としたりして切り分けするのは分かってます。切り分けは、前提知識がない以上、仮説思考の上の試行錯誤をするしかないと思っていて、これがとても苦しい。知らないものに対する仮説を立てるのが難しい。つらい。

影響調査のつらみ

ではここにバグがあったので修正しましょう。はい。これで起きなくなりました。よかったよかった。で終わらない

そう、デグレートの危険性があります。その修正をしたことによって、該当箇所はよくなったかもしれませんが、それによって他の機能が動かなくなる可能性があります。これを見極めるのが難しい。つらい。

いやいや今時全部自動テスト書いてるからリグレッションテストできるし安心でしょっていう世界に僕は行きたい。お願いします。行きたい。

テストで担保せずとも(もちろんテストで担保は必要だが)論理的にこのメソッドはここからしか通らないって言い切りたい。grepしただけじゃ不安だ。

再現テストのつらみ

なるほどこんな障害が起きたんですね。まずは再現しましょう、そのぐらいは僕も分かってますよ。でもね、再現させるのって超難しい。

まずそもそも同じ操作をするのが難しい。操作って難しいんですよ。API打つのかCLI打つのかいろいろありますけど、製品によっては前準備とか環境を整えてあげないといけなかったり、そのために手続きが必要だったりしてそもそもめんどくさい。その上でオペレーションをする、まずそのやり方を知らないから調べるところからだったりする。そして再現できてるっぽいけどこれで本当に再現になっているのか不安になる。だって再現しないから。再現しないといっても自分のやり方が正しい自信がない。

再現したら儲けなもんで、あとはいくらでも網をしかけられるんだけど、再現しないことにはなかなか正体を暴けない。

おわりに

僕がいかに低レベルなプログラマで常に不安と戦っているかを愚痴る記事になったこと、反省してます。たまには許してほしい。

そしてこの不安を消すためにこれからも努力を続けます。

UNISON SQUARE GARDEN - mixjuiceの言うとおり 耳コピギター編

はじめに

バンドの次回課題曲なので耳コピしました。ユニゾンやるの久しぶりだけど歌える気がまったくしません。

www.youtube.com

前回はベースを取りました。

take-she12.hatenablog.com

Bメロ

MVではAメロ斎藤くんギター弾いてる気がするけど聴こえないので無視しますね。

E|                                                          |
B|10 10 10  8 10  5 5 5 3 5  10 10 10 8  10  11 11 11 10  8 |
G|10 10 10 10 10  5 5 5 5 5  10 10 10 10 10  10 10 10 10 10 |
D|                                                          |
A|                                                          |
E|                                                          |

E|                                            8  8  8       |
B|10 10 10  8 10  5 5 5 3 5  10 10 10 8  10  11 11 11 11 10 |
G|10 10 10 10 10  5 5 5 5 5  10 10 10 10 10           10 10 |
D|                                                          |
A|                                                          |
E|                                                          |

最後、2弦13フレットが遠いので1弦8フレットにしたんですが、和音が正確じゃないかもしれない。

その後はGm → Am → C# → C

最後は

E|                   |
B|                   |
G|                   |
D|                   |
A| 3 0 1   0 1  3  3 |
E|       3           |

www.youtube.com

サビ

|F    |Asus4 A  |Dm   |C   F      |
|B♭ C |Am7   Dm |B♭   |B♭m C B♭AGF|
            *2→ |Gm C |B♭  F      |

www.youtube.com

1周目終わるところがちょっとあやしい気もする。

ギターソロ

E|           |
B|           |
G|           |
D| 6  6      | ×2
A| 8↑ 8 6 6  |
E|         8 |

E|16 15 13   16 15 13    16 16 |
B|        13          13 15 15 |
G|                             |
D|                             | 
A|                             |
E|                             |

E|13  15  17   |
B|16↑ 19↑ 21↑  |
G|             |
D|             | 
A|             |
E|             |

E|15 15 15 15 15 18 18 18 17 15  20 20 20 20 18 18 18 19 20 |
B|15 15 15 15 15 15 15 15 15 15  17 17 17 17 17 17 17 17 17 |
G|                                                          |
D|                                                          |
A|                                                          |
E|                                                          |

演奏動画はこちら。

www.youtube.com

シュビドゥバッバ

B♭→C→Dm | B♭→C

www.youtube.com

ラスサビ

一番最後の全世界のスケールで〜のところだけ足しました。

Gm → C → Fを適当にアルペジオ

E|      1   1 |
B|    1  1  1 |
G|  2       2 |
D|3         3 | 
A|            |
E|            |

www.youtube.com

アウトロ

一番むずかしい。

オクターブは省略。5弦の13,12,10,8あたりをあげさげしてください。

E|13 13 13 13 12 13  15 15 15 15 13 15  17 17 17 17 18 17  20 20 20 20 20|
B|13 13 13 13 13 13  13 13 13 13 13 13  15 15 15 15 15 15  17 17 17 17 17|
G|                                                                       |
D|                                                                       |
A|                                                                       |
E|                                                                       |

E|20↑ 20 18 17 18 20                 17 17 20 20 18 17 13 13 |
B|                   18  18 18 20 20 17 17 17 17 17 17 13 13 |
G|                       17 17 19 19                         |
D|                                                           |
A|                                                           |
E|                                                           |

www.youtube.com

おわりに

100%正解ではないとは思いますがとりあえず通して楽しい!ぐらいにはこれました。コードに関してはうちのピアニストが取ったのが95%正解でしたので自分でできておりません。。。今後もギターの耳コピ練習してできるようになりたい。続けるぞー!