私の歴史と今

振り返ると恥ずかしくなるのが私の歴史。だけどそのときは真面目に書いていた訳でね。そんな今の私を書いていく。

カタカナ英語の弊害を感じた日だった

Railsのセキュリティガイドを音読しているんだけど、「filter」という単語を素早く発音しにくいなーと思っていた。 日本語では「フィルター」。短い単語なので難しくはない、なのに発音しにくいなーと感じることがあり、言い直すことが多かった。

原因を考察して、一つの原因に達した。

私は日本語の「フィルター」に似たように発音することが多いということ。問題は「ル」。「ル」と発音した場合は、一度舌を前歯の後ろから離さなければならない。その上で、「ター」を発音したければならないから、素早発音することが難しくなる。

しかし、この「ル」は「l」であり、母音はついていない。だから舌を前歯の後ろから話す必要はない。そのまま「ター」に移行すれば良い。

これに気づいた時、カタカナ英語の弊害、つまり、私のこれまでの先入観と経験が如何に英語学習の障害になっているかを感じた。

思い返してみると、セキュリティガイドを読んでいて、アクセントを間違えて覚えている単語が多い。日本語では棒読みが多いし、アクセントの場所が異なっていると、無意識のうちに間違ってしまっている。「Rails」すら間違う。日本語だと右上がり、英語では右下がり。根深いわー。

JRuby on Railsを3.2.8から5.2.1にバージョンアップした

Railsのバージョンアップの案件があり、JRuby, Java, Rails, DBをコツコツバージョンアップしていった。なおかつ、OSもWin->Linuxに変え、APサーバも変更した。

非互換を確認したのは、ログイン操作、画面一つの中のAjaxを含むCRUD操作、CSV/PDF出力。他の画面の非互換は未確認。

非互換は、以下のような結果として現れた。

  • Railsサーバ(rails s)がそもそも起動しない
  • その他のRails/Gem専用コマンドで例外が発生する
  • 警告がログ出力される
  • ブラウザ操作中に例外が発生する
  • 例外は発生しないけど結果異常になる

発生した非互換の数は約70個。一人で半月ちょいかかった。

注意が必要なのは、最後の非互換。例外が発生しないからテストコードない場合は大変だと思う。

横展開が大変なのは、ActiveRecordの書き方を変更しなければならないこと。ほぼ全てを修正する必要がある。

面倒だったのは、メンテナンスが滞っているgemの対応。今回は2つのgemがRails5に対応していなくて、モンキーパッチを当てる羽目になった。

悩ましかったのは、Railsに追加された新しい機能を使うべきか否か、という点。元々リクエストパラメータのプロテクトをしていなかったので、既に標準的な機能であるStrong Parameterを採用するには工数がかかりすぎる。新機能を使わない方が工数を減らせるので、その方向に進みがちになるとも思うけど、安易に捨てるべきでは無いとは思う。バージョンアップした意味が薄れてしまうので。

今後のバージョンアップで大変になるだろうなと思うことは、Strong Parameterが強制された場合の対応と、routes.rbでワイルドカードが非推奨から非互換に変わった場合の対応。どちらも一つ一つ確認していかなければならないので地道な作業。

なお、全てを最新バージョンにしたが、JRubyのみ一つ前の9.1.7(Ruby2.3.3互換)に留めた。

最近、英語の発音の勉強をしている

今まで意味さえ分かっていればいいと思っていたが、読み方(発音とアクセント)がわからず話す段になって困ってしまった。ということで、簡単な単語も調べている。中学単語も調べないといけない状況。

読み方と意味を覚えた単語

  • countermeasure
  • malicious
  • fixation

もっとあったはずだけど、思い出せない。。。

読み方を覚えた単語

  • opposite
  • asynchronously
  • redirection
  • security
  • vulnerable
  • vulnerability
  • interpreter (preがむずい)
  • disadvantage (tが発音されない場合があるようだ。どっちが米国英語で主流なのだろう)
  • executable
  • popular
  • upload
  • download
  • process
  • parameter
  • sanitizer
  • possibly
  • attack
  • consortium
  • Intranet
  • document

「あ」の発音が間違っているケースが多い。「お」だと思ったら「あ(æ)」だった、という感じ。 interpreterのreがほとんど発音されない。インターピターと聞こえる。

アクセントが間違っている、あるいは、全く認識していない単語も多かった。例えばintranet。日本語では棒読みしているからその習慣がついてしまっていて最初にアクセントが来るという認識が全くなかった。

意味だけ覚えた単語

  • take over
  • tailor-made
  • eventually

もっとあったはずだけど。。。

雑感

アクセントを調べていて困ったのは、recordのアクセントが名詞と動詞で変わるように、調べたアクセントが名刺だけのものなのか、動詞もそうなのか、あるいは両方なのか、ハッキリしなかったこと。

chrome拡張機能を入れたからかわからないけど、コンテキストメニューで単語意味とネイティブの音声が流れるようになっているのはいいけど、発音記号が表示されないのが面倒。別途weblioで調べ直している。全部わかるchrome拡張機能はないものか。

中学の時から正確に覚えておくべきだった。