「記憶力を強くする」にみる英語教材「Duo」の勉強方法
はじめに...
語学教材のCDでは複数の文章を1トラックで記録していますが、文章毎に再生可能なアプリなどを利用すると、より学習しやすくなります。
例えば、私が作成したiOS用アプリcut & loopを利用すると、 1トラックに記録されている文章を、簡単に文単位に切り取る事ができ、文ごとの繰り返し再生や、速度を変えた再生などを行う事ができます。
興味のある方は、iTunes Store cut & loopを参照下さい。
「記憶力を強くする」について
最近「記憶力を強くする」という本を読み、その中で解説されていた記憶方法をもとに、勝手にDuoの勉強方法を考えてみました。(私は専門家ではないので効果については未知数ですが、自分自身試して、Duoの推奨勉強である「BGMのように聞く」よりは効果があると実感しています。)
ちなみに「記憶力を強くする」は、脳科学の視点から、記憶の仕組みについて分かりやすく解説されていて、ちょっとでも記憶力に興味がある方にはおすすめです。この記事では、特に第6章の「科学的に記憶力を鍛えよう」を参考にしています。
方法1 演じる
動機:感情(情動)が伴うと、LTPという記憶力を向上させる現象が生じやすい。
方法:Duoの文章も「ただ読むのでは無く、その人になったつもりで感情を込めて読む」
方法2 関連づける
動機:シナプス可塑性の「連合性」という性質。単一の事でもできるだけ多くの事を関連づけた方が、覚えやすくなる。さらに自分の経験などに紐づけると、エピソード記憶になり記憶しやすくなるし、思い出しやすくなる。
方法:Duoの文章は、前後につながりがある文章が多いので、1文ずつというより文脈で覚える。 (他に、文章を自分の身の回りに置き換えて作り替えりしてみる。)
方法3 好奇心を持つ
動機:興味や好奇心を持つと、記憶に関係するθ波という脳波が発生し、記憶しやすくなる。
方法:Duoの文章を漠然と読むのではなく、文章の行間にある事も想像し、さらにその人になったつもりで読む。
余談:歳を取ると物忘れがひどくなりますが、物事に対する情熱が薄れたり、感動が薄くなった結果、記憶力が落ちたように感じてしまうようです。
方法4 聞く
動機: 進化の過程では、動物は目よりも耳を良く利用していた。今でも耳の記憶力の方が強い。
方法: 復習用CDなどで音を聞き、音から文章を覚える。その上でテキストを読む。
方法5 理解する
動機:理解していない事は、覚えられない。 (法則性を導き出したり、自分の記憶に関連づける事で、物事が理解できその物事を知識として利用できるそうです。)
方法:CDを聞いて意味が分からない場合は、無理に聞き取ろうとせず、まずはテキストを見て文章上の単語や意味を確認する。
方法6 まずはおおまかに理解する
動機:いきなり細かく覚えようとするよりも、まずはおおまかにとらえた方が覚えやすい。
方法:最初からDuoにある全ての単語を覚えようとはせず、まずは文章を暗唱できるようにし、徐々に単語も覚える。
方法7 アウトプットする
動機:覚えた事を誰かに説明したり、誰かと演じあったりする事で、その記憶は「エピソード記憶」となり、思い出しやすくなる。
方法:聞いたままを声にだして読んでみたり、友人同士で読み合ったりする。
方法8 エビングハウスの忘却曲線
動機:脳は覚えた直後にどっとわすれて、残った記憶は多少長く残る。完全に忘れるまでに復習をすると、1度目に忘れてしまった事も覚えやすくなる。
方法:復習を1日後、2日後、1週間後、2週間後、1ヶ月後と間隔を徐々に空けながら行う。 ※エピソード記憶は次第に意味記憶になるので、定期的にアウトプットする事が大切なようです。
方法9 一度に詰め込みすぎない
動機:人は「忘れる」という事を意識的にできないが、内容が類似した事を覚えようとすると記憶は上書きされる。(この現象を「記憶の干渉」というそうです)
方法:一度の勉強で詰め込むのではなく、1section、またはその半分など、自分に無理のない量を覚える。
まとめ
上記の方法を組み合わせた一例として、私は次のようにsectionを学習しています。
- 前回覚えた文章を暗唱する。
- 暗唱できなかった文章を確認し、暗唱できるようにする。
- 新しい1文を聞く
- 意味が分からなければ、テキストを見てその文章を覚える。(英文と日本語の意味も)
- その1文を聞き、聞いたままに発声してみる。(できるだけその人になりきって)
- テキストや音声を参照せずに、発声できるまで4,5を繰り返す。
- 暗唱できるようになったら、次の文章も2-5と同様の手順で、暗唱できるようにする。
- 覚えた文章を1度全て暗唱してから( この例では2で覚えた1文と、6で覚えた一文)、2に戻る。 この手順を半sectionから1sectionをめどに行います。あとは復習として、過去に覚えた内容を暗唱します。
この方法で、実際に英語が喋れるようになるかは未知数ですが、Duoの例文を覚えるという点においては、今のところ効果を実感しています。
VirtualBoxにCentOS, mysql, ruby, railsをインストールする
案の定いくつかはまったところがあったのでメモに残します。
環境
前提
必要に応じて、各コマンドはsudoで実行してください。
- CentOSのイメージファイルのインストール
CentOSのダウンロードページからisoファイルをダウンロードします。
VirutalBoxのインストール
注意点
- ネットワークアダプタはブリッジ接続とします。
- ブリッジ接続するため、VirtualBox用に一つIPアドレスを割り当てる 必要があります。(DHCPサーバが立っていれば、DHCPに振らせる事も可能です)
ネットワークの設定
centosのアップデート
必要なものを入れます。これをいれないと,後々rubyとrailsのインストールにはまります。
yum update yum groupinstall 'Development tools' yum install openssl-devel yum install sqlite-devel yum install mysql-devel
mysqlのインストール
rubyのインストール
rbenvを入れることにより、rubyのバージョン管理を行いやすくできます。
bundler railsのインストール
bundlerを入れることにより、railsとそれに関連するgemをプロジェクト単位で管理 できるようになります。
railsとプロジェクトを一式を保存するディレクトリ上にGemfileを作成し、 下記のようにします。
source "http://rubygems.org" gem "rails", "4.0.0" # ←ローカルインストールしたいRailsのバージョンを指定。指定しなければ最新版が入る。
railsプロジェクトの新規作成
Gemfileのあるディレクトリ上で下記コマンドを実行し、railsをインストールします。
> bundle install --path vendor/bundle > # exampleのrailsプロジェクトを作成する。 > #--skip-bundleを忘れずに!! これを忘れるとruby直下にgemがはいってしまう。 > bundle exec rails new example --skip-bundle
railsの仕方
# gemのインストール先をvendor/bundleにする > bundle install --path vendor/bundle
rails,rakeの起動方法
# 必ずbundle execを介すこと > bundle exec rails > bundle exec rake
rails4 jQuery.readyが働かない場合の対処法
rails4から導入されているturbolinksという機能が影響しているらしい。
参考
とりあえずの対処
// $(document).ready(function() {}) ↓に置き換える。 $(document).on('page:change', function() {});
rails4 fields_forの要素に対してはfile_fieldが働かない?
Rails4でfields_forの要素に対して、file_fieldを行ってもファイルアップロードが行えなかった。 form_forの要素に対して、行う必要がある。
例
NGな例
<%= form_for(@model) %> |f| <%= f.fields_for(@model.file) %> |ff| <%= ff.file_field :fileinfo %> <% end %> <% end %>
上のケースでは、request parameterにファイル情報が入ってこない。
OKな例
<%= form_for(@model) %> |f| <%= f.fields_for(@model.file) %> |ff| <%= f.file_field :fileinfo %> <% end %> <% end %>
上のケースでは、request parameterにファイル情報が入ってくる。
FileMaker ProとRubyを接続してみた。
最近FileMaker Pro(以下FM)というDBを利用する機会があったのですが、このFMのスクリプトがどうしても好きになれず、rubyでスクリプトが書けないか模索してみました。
(好きになれない理由: FMではスクリプトを作成するために、本来のテーブル構造には不要なテーブルオカレンスやらフィールドを追加しなければならず、構造が汚れるのが嫌。簡潔から遠のく感じがします。)
結論
先に結論を書くと、ODBCによる接続はあきらめました。
色々なサイトを参考(※1)にして、FileMaker〜iODBC間の接続は行えたのですが、ruby-odbc〜iODBC間でSQLを発行すると、select文でsegmentation faultが発生することがあり、これがどうしても解決できずあきらめました。(どうやらruby-odbcはruby1.9.1 (32bit)までしか対応していない?)
※1 参考にしたサイト
で、接続できた環境は以下の通りです。 rubyとJDBCって接続できる環境ない?って思ったのが解決のきっかけでした。
・・・rubyはあきらめて、Javaのruby実装であるjRubyで接続する事にしました。 今までjRubyの使い道ってどこにあるんだろうと思っていましたが、こんなところで使うことになるとは思いませんでした。
余談ですが、FileMaker Serverと接続する場合には、もっと良さそうなRfmというgemが存在するので、そちらを使った方が良いと思います。
手順
具体的な導入手順です。
1: jRubyをインストールする.
http://jruby.orgより、jRubyの最新版(バイナリ版)を任意のフォルダにダウンロードします。
以下は一例
# jRuby を /usr/local/jRuby-1.7.10 に保存したとします。 cd /usr/local ln -s jRuby-1.7.10 jRuby_current_version # symbolic linkを設定します。
2: PATHを設定します。
vim ~/.bash_profile # ログインシェルがbashの例 PATH="$PATH":/usr/local/jruby_crrent_version/bin/ #適当な行に追加する.
3: JDKが入っていない場合は、JDKをインストールします。
ダウンロード先 Java SDK Downloads
4: jdbc-helperをインストールします。
参考 jdbc-helper
jRuby -S gem install jdbc-helper
5: FileMakerのJDBCドライバをインストールします。
FileMakerのインストーラより、fmjdbc.jarを任意のフォルダにコピーします。
コピー先の例 ~/Library/JDBC/fmjdbc.jar
6: classpathの追加
vim ~/.bash_profile # ログインシェルがbashの例 export CLASSPATH=$CLASSPATH:~/Library/JDBC/fmjdbc.jar
テスト
FileMaker側
1: FileMaker Proでテストをするファイルを開きます。仮に"test.fmp12"とします。
2: ファイル 共有設定で[ODBC/JDBCを有効にする]を選択します。
3: ODBC/JDBC共有をONにして、ファイルのアクセスを[すべてのユーザ]にします。 (必要に応じて制限します)
4: ファイルオプションの[開く]タブにてアカウント名とパスワードを指定します。 (無指定だとJDBCから接続できなかったので、念のため指定します)
注意:接続する際は、test.fmp12は開きっぱなしの必要があります。
ソース
1: test.rb
テストソースを、テスト環境に合わせて作成します。
require 'jdbc-helper' con = JDBCHelper::FileMaker.connect('localhost', 'testuser', 'password', 'test') sql = 'SELECT id, name, "点数" FROM "テスト"' con.query(sql) do |row| id, name, score = row puts "#{id} #{name} #{score}" end con.close
2: 実行
jruby test.rb
以上です。
rails 既存DBを使ってrailsしてみた。
環境
- osx10.9.1
- ruby2.0.0
- rails4
- MySQL5.6.x
経緯
既にMySQL上に存在するtableを使ってrailsしてみた。
MySQLと接続する
下のサイトを参考にして、database.yamlを定義。
- development: adapter: mysql2 encoding: utf8 database: my_db_name username: root password: root host: localhost pool: 5 timeout: 5000
参考サイト http://threetreeslight.com/post/61834000065/rails-db
MySQL上のテーブルからscheme.rbを生成する。
rake environment -v -t RAILS_ENV=development db:schema:dump
参考サイト http://threetreeslight.com/post/61834000065/rails-db
scheme.rbを参考にしてgenerate scaffoldしたりgenerate model する
rails console上でテーブルの属性名と型の一覧を取得する。
(※できればrails consoleでrbファイルを直接実行したい。。。)
rails console
table_name = 'master_company' #ここにDBのテーブル名 field_names = Array.new cols = ActiveRecord::Base.connection.columns(table_name) #*1 cols.each do |c| field_names << "#{c.name}:#{c.type}" end puts field_names.join(' ') # この出力結果をコピペしておく。
rails g scaffold Company コピペした内容をペースト --skip-migration # *2
参考サイト http://kagen88.blogspot.jp/2012/12/rails.html
参考元サイトからの変更点
- columnsメソッドの引数を2つから1つに変更
- --skip-migrate を --skip-migrationに変更
modelのテーブル名を変更する。
class Company < ActiveRecord::Base self.table_name='master_company' end
参考サイト http://threetreeslight.com/post/61834000065/rails-db http://kagen88.blogspot.jp/2012/12/rails.html
modelの主キーを変更する。
class Company < ActiveRecord::Base self.table_name='master_company' self.primary_key=:company_id end
参考サイト http://threetreeslight.com/post/61834000065/rails-db http://kagen88.blogspot.jp/2012/12/rails.html
modelに複合キーを設定する。
composite_primary_keysライブラリを利用する。
class CompanyEmploy < ActiveRecord::Base self.primary_keys=:company_id, :employ_id end
参考サイト http://www.oiax.jp/rails/zakkan/composite_primary_keys_1.html
残項目
- railsの予約列と既存DBの列がかぶった場合
- 作成日、更新日の対応
- 論理削除対応
iOS CoreAudioを使う上で参考になったサイト
iPadでバーチャルピアノ的なものを(今更ながら)試作しようとしたら、「CoreAudioのドキュメントは分かりづらい、取っつきづらい」など、散々な目に遭ったので、参考になったサイトをメモしておきます。
前口上
開発当初は、サウンドフォントのような音源が使えるのか、MIDIが利用できるのか全く分かりませんでしたが、結果的にはサウンドフォントも少なからずMIDIも利用できる事がわかりました。
サウンドフォント・MIDIを使ったずばりのサンプルが、http://qiita.com/shu223/items/cd612613761720ccc059のDrumMachineにあり、これが大変参考になりました。このサンプルではAUSamplerが利用されていますが、バーチャル楽器を作る上では、これが一番良い方法だと思います。
(サウンドフォントのような音源が使えるかも分からず、これじゃないんだよな〜と思いながら、フリーサイトで探してきた音階のmp3ファイルをAUAudioFilePlayerでを鳴らしたのは良い経験でした。他にpitchsifterで音程を変えられるか確認したり等、色々周り道をしました。。。まぁ周り道をしなければ、私にはCoreAudioが全く理解できませんでした。)
参考にしたサイトや本
以下は、CoreAudioを学ぶ際に参考にしたサイトや本です。
My Codex Leiceste
このサイトのGetting Started With Audio Unitの記事とiPhone Core Audioが大変参考になりました。運営されている方は、CoreAudioに関する本を出版しているようですが、現在は廃盤となっており、Amazonで高値が付いています。
iPhone Core Audioプログラミング(Amazon)
Learning Core Audio: A Hands-On Guide to Audio Programming for Mac and iOS
これは洋書ですが、CoreAudioについて幅広く解説しており大変参考になりました。 私は英語が苦手ですが、サンプルコードでなんとなくイメージはつかめした。 ただしiOS5が出る頃の本のため、AUSamplerなどについては薄いです。
ダウンロード可能な Audio Unit 関連のサンプルコード11個
前口上でも紹介しましたが、このサイトにはAudioUnitに関する様々なサンプルがあります。バーチャルピアノを試作する上で、DrumMachineは大変参考になりました。
Sound fonts sf2 Free download
ピアノなどのフリーのサウンドフォントがあります。