【SwiftでAlgorithm】BinarySearch(二分探索)

KhanAcademyでアルゴリズムの勉強中。KhanAcademyではJavaScriptが使われているので、Swiftに書き直してみます。なお、Swiftでアルゴリズムやりたい方は、『swift-algorithm-club』がおすすめです。Swiftで、代表的なアルゴリズムやデータ構造を実装したソースコードが多数公開されています。

今回は、バイナリサーチ。

コード

GitHub

https://github.com/bick-jp/swiftAlgorithmStudy

以上。

【ドラムセットの歴史】第1回:ダブルドラミング(1865年)

【ドラムセットの歴史】第1回:ダブルドラミング(1865年)

スティックメーカーでおなじみVic Firth社が公開している『History of the Drumset』という動画がとても面白い!1865年から1965年までの100年間に注目し、ドラムセットの進化を、科学技術の発展・社会情勢の変化・音楽の流行などの視点から考察しています。自分用も兼ねて、内容をメモしていきます。

動画

『History of the Drumset – Part 1, 1865 – Double Drumming』

社会情勢

1865年は、アメリカ南北戦争が終わった年。ドラムセットの歴史はここからスタートします。南北戦争の終決後、奴隷だったアフリカ人は、アフリカンアメリカンとして社会により深く参加することになり、彼らの音楽的エッセンスがアメリカに広まっていきます。

ミュージックスタイル

この時代は、まだ、マーチングバンドが主流でした。バスドラムのような低音を、ダウンビートの1拍目3拍目において、ドンチッドンチッと行進していくような音楽です。

ドラムセットの発展

この時期には、Double Drummingといわれるセッティングが登場しました。バスドラムとスネアドラムを、スティックで叩いて演奏するものです。

doubledrumming
http://vicfirth.com/drumset-history/

スタンドがないため、スネアドラムは椅子の上に置かれていたようです。また、当時は、フットペダルやハイハットスタンドはもちろん、タムやシンバル類もありません。

当時の演奏を再現した様子が、上記の動画にありますので確認してみてください。ルーディメンツを使って、上手に叩き分けていたようです。ルーディメンツはドラムの基礎、と言いますが、それが本当によく分かります。

以上!

【ドラムメモ】なぜスネアの音が悪いのか、よくある5つの理由。:Why Your Snare Sounds Like Crap – Common Problems

【ドラムメモ】なぜスネアの音が悪いのか、よくある5つの理由。:Why Your Snare Sounds Like Crap – Common Problems

Rob Brownが解説するスネアのサウンドプロブレムに関する動画。よくある5つの原因を教えてくれています。スネアの音がビミョーだと悩んでいる場合は、役に立つかも!
Why Your Snare Sounds Like Crap – Common Problems

1.裏面のヘッドが十分にタイトか

裏面のヘッドを十分に張るべし。

2.表面のヘッドが死んでないか

表面のヘッドに張りがない、ボコボコにへこんでる、などの場合は、ヘッドが死んでますので張り替えましょう!

3.面裏とも、ヘッドが均等にチューンされているか

完璧に均等でなくても構いませんが、おおよそは均等にチューニングされていた方が良し!

4.スナッピーが伸びきってないか

スナッピーに張りがない場合は、変えましょうね。。。

5.フープが歪んでないか

フープが歪んでる場合は変えること!また、フープにたいしてヘッドが寄ったり傾いたりしていないかも注意してください。

以上!

時間は命。「~しながら勉強」はやめて、上質な勉強時間を確保しよう。

要は、集中して勉強しましょうよ、という話。

このブログは英語学習に関してですから、英語学習者向けに書いてますが、「時間の取り方」という点では、仕事でも他のことでも概ね一緒だと思います。

これはやめよう

「英語がなかなかできるようにならなくて、、、」という方、こんな勉強してませんか?

  • テレビ見ながら勉強
  • ツイッター見ながら勉強
  • LINEしながら勉強
  • 家族と話ながら勉強
  • 電話が来たら勉強中断しちゃう

などなど。

つまり、勉強以外の別のことで、勉強を中断してしまってませんか?もしもそうだったら、勉強しているように感じているだけで、ただただ学習効果の薄い時間を過ごしているだけですよ。

こうしよう

そうじゃなくて、こうしましょう。

  • 絶対に誰にも邪魔されないように勉強する
  • Lineは無視
  • FacebookとかTwitterとか見ない
  • テレビ消す
  • 家族や同居人にも声を掛けさせない
  • 宅配便も無視

とにかく、他の何者にも邪魔されない、純粋に勉強だけに使う時間を確保してください。

30分間集中してみよう

まずは、30分間の集中した時間をとってみてください。案外それは難しいことに気づくはずです。でも、終わった後に、今までの勉強とは違った、充実感も味わうことができますよ。

隙間時間で効率的に勉強したい?

そりゃ、中には、隙間時間で勉強をしたりして、効果的に時間を使うこともあります。勉強する内容によっては、隙間時間でも効果がでるものもあります。

でも、「英語がなかなかできるようにならなくて、、、」程度の悩みを持っているんであれば、隙間時間を効率的に使うという以前の問題です。「集中した時間」をとることができなければ、隙間時間に効果がでるほど集中できる勉強する事なんてできません。

おススメの時間管理術

ポモドーロテクニック、がおススメです。

さいごに

時間は命。集中してない無駄な勉強時間を、集中する上質な勉強時間に変えましょう。そうすれば、結果的に勉強に必要な総時間は少なくなり、他の事にたくさんの時間を使えるようになります。

今日も勉強がんばりましょう!

以上。

英語は、知力の問題ではなく、「やる気」と「行動力」の問題だよね。

Kazuki Fujisawaさんが言ってることに同意。言い表現だなー。

英語は、知力の問題ではなく、「やる気」と「行動力」の問題だよね。

「そこ」を超えれば、あとは勉強しなくても惰性で英語力は維持できる。「そこ」に到達している人は、英語の勉強法をよく分かっているので、より高みを目指すために更に勉強することもできる。でも、多くの人は、「そこ」に到達する前に勉強を止めてしまう。

「そこ」に到達するための答えは簡単で、とにかく量をこなすこと。たくさんやる。がむしゃらにやる。とにかくやる。不安があってもやる。答えがわからなくてもやる。暗記するくらいやる。自然に体にみにつくくらいやる。やってやってやりまくれば、いつか必ず到達する。

いつか、っていうのも20年や30年とかっていう単位じゃなくて、もっと短い。義務教育を受けた大人なら、1日1時間の勉強を2年もやれば、英語のウェブ記事読むくらいは十分到達できるんじゃないかな(なんとなくですけど)。

結局、「英語ができない」の問題の根本は、やる気を維持できない、行動できない、ということですよ。

【Q&A】speakとtalkの使い方

質問

テキストの中で、speakとtalkが出てきますがどちらを使っても良いのでしょうか。

例えば、「彼はホワイトさんと英語で話すことができましたか?」は、
Was he able to talk to Mr.White in English?
Was he able to speak to Mr.White in English?

どちらでも良いですか?

答え

speak toとtalk toは、微量のニュアンスの違いはありますが、ほとんど同じように使って大丈夫です。

例文の場合では、
Was he able to talk to Mr.White in English?
Was he able to speak to Mr.White in English?
どちらでも大丈夫です。

前置詞を付ける

talkやspeakの場合は、「人に話しかける、人と話す」というときは、talk toやspeak toのように、動詞の後に前置詞が必要です。

辞書でspeakを引いてみると、

【自動詞】〔人と〕〔…について〕話す,話をする 〔to,with〕 〔about,on,of〕《★受身可》《★【用法】 〔人と〕の前置詞は to が一般的だが,with の場合には談合・意見の交換が暗示される》.
http://ejje.weblio.jp/content/speak

とでてきますね。これによれば、実は、speak to (人)でもいいし、speak with(人)でもよい、となります。talkも同様に、toでもwithでも使えます。

気を付けること

ややこしいのは、I speak Englishのような使い方。まず、I talk Englishとは言いません。更に、この時のspeakは【他動詞】で、目的語が必要な使い方です。

【他動詞】〈国語を〉話す,しゃべる.
用例 Mr. Jones speaks three languages. ジョーンズ氏は 3 か国語を話す.

同じspeakでも、「人に話しかける」という時は自動詞でtoやwithなどの前置詞が必要で、「言語を話す」という時は他動詞となるんですね。

なお、これまたややこしいですが、tellを使って「人に話しかける」と言う場合は、I tell youのように、他動詞で、目的語に人を使います。

出典

今回の質問は、『どんどん話すための瞬間英作文トレーニング』p.104から。
忙しい社会人の方が、基礎英語を復習するのにとてもおススメの本です。

以上

【Q&A】asとbecauseの違いは何ですか?

質問

asとbecauseの違いは何ですか?同じように使ってしまって良いのでしょうか?

答え

理由を表すという点ではどちらも同じですので、大きな違いはなく使えます。ですが、厳密に言えば、次のような違いがあります。

because

becauseは、「理由」の意味しかない接続詞で、特に、話し相手にとって新しい情報を伝える時、または、話し手にとってその情報がとても重要で話し相手に伝えるべき時、に使われます。

as

一方、asは「理由」以外にも「時」「程度」「譲歩」などを表したりすることができる接続詞です。asを使って「理由」を説明する場合には、becauseとは違い、話し相手がすでに知っていることや、話し手にとっては特別に強調するほど重要ではない普通の理由、を伝える時に使用します。

例えば、「ご存知のとおり、私は音楽が好きです。」は「As you know, I like music」と言えます。この「すでにあなたが知っているように〜」という感覚は、asのおかげです。

おススメ書籍

日本語に非常に堪能な外国人著者が、日本人がつまづきがちな英語をとても分かりやすく解説してくれています。目から鱗の情報がたくさん!

以上

【Q&A】firstとfor the first timeは、どちらを使ってもいいですか?

質問

I first met him.
I met him for the first time.

のように、firstとfor the first timeを入れ替えても同じように使えますか?

答え

はい、firstとfor the first timeは入れ替えても同じように使えます。

ただし、副詞のfirstは、「初めて」以外にも「最初に(まずは)~」という意味があるので注意してください。
Firstの置かれている位置で判断されます。

例)
I first met him.「私は、はじめて彼に会った。」
I met him first.「私は、まず最初に彼に会った。」(その次に別の人に会った、などが続く。)

出典

今回の質問は、『どんどん話すための瞬間英作文トレーニング』p.192から。
忙しい社会人の方が、基礎英語を復習するのにとてもおススメの本です。

以上

【Q&A】when he will comeとwhen he comesの違い

質問

I will tell you when he comes.
I will tell you when he will come.

この二つの文の違いは何ですか?

答え

以下の違いがあります。

I will tell you when he comes.
「私は、あなたに、彼が着いたら教えます。」
つまり、「彼が到着したら、あなたに、それ(彼が到着したこと)を教える。」ということです。

I will tell you when he will come.
「私は、あなたに、彼がいつ到着するかを教えます。」
つまり、「彼は、何時頃に着くだろう、ということを教える。」ということです。

出典

今回の質問は、『どんどん話すための瞬間英作文トレーニング』p.193から。
忙しい社会人の方が、基礎英語を復習するのにとてもおススメの本です。

以上。

【Q&A】関係代名詞の中の、現在形と未来形(will)

質問

This is the train which leaves at three.
This is the train which will leave at three.

この二つの文の違いは何ですか?

答え

どちらも同じような意味で、「これは、3時に出発する電車です。」となります。
違いは、leaveという現在形を使うか、will leaveという未来形を使うかですね。

現在形leaveを使う場合

現在形leaveを使う場合は、「習慣的に毎回その電車は3時に出発する」ということが決まっている場合(もしくは、話者がそれを知っている場合)です。現在形は、日常の習慣を表すことができます。例えば、I wake up 8 everyday.「私は、毎朝8時に起きます。」など。

未来形will leaveを使う場合

will leaveでは、現在形leaveのような”習慣”の意味が無くなります。

今回の例文であれば、その電車はいつも3時に出発することが決まっているわけではなく、日によっては2時55分だったり3時4分だったり、時刻表がまちまちの場合、もしくは、話者が、その電車がいつも3時に出発することは知らない場合(例えば、その日たまたま利用した駅で、電光掲示板を見たら3時に出発するって書いてあった)などのシチュエーションが考えられます。

出典

今回の質問は、『どんどん話すための瞬間英作文トレーニング』p.170関係代名詞から。
忙しい社会人の方が、基礎英語を復習するのにとてもおススメの本です。

以上。