プログラマ英語学習日記

プログラミングと英語学習のまとめなど

WWDC2018 What's New in Swift

リスニングの練習かねて最近はWWDC2018動画を見てます。せっかくなのでまとめ共有です。

推測聞きばかり...さすがに網掛け聞きできるほど器用ではない。

一回目は What's New in Swift 。今までと比べると小規模な変化です。

概要

  • Swiftロードマップ
  • 新規API
  • ビルド設定関係

Swiftロードマップ

  • Swift4.2は秋リリース
  • Swift5.0が来年の早い段階でリリース予定
    • Swift-RuntimeがOSに入るらしい
    • 起動が早くなるとか

新規API

hashable

hashCode関数が大幅変更。Hasher に値をいれていく。Hash用の値がプロセスごとに変わりより安全になる。

//Before 
protocol Hashable {
   var hash : Int 
}

//After
protocol Hashable {
   func hashValue(into hasher: inout Hasher)
}
struct User : Hashable {
   let name: String
   let id : Int64
   func hashValue(into hasher: inout Hasher)
      name.hash(&hasher)
      id.hash($hasher)
   }
}

CaseIterable

CaseIterable が追加、allCasesenum定数一覧をまとめた定数を自動生成してくれる

enum Direction2: CaseIterable {
    case east
    case west
    case north
    case south
}
 
print(Direction2.allCases)  //east,west,north,south

Random

Random生成がInt/Floatなどに追加され楽に。shuffledなど便利機能も

//range指定で取得
let randInt = Int.random(in: 1..< 10)
let randFloat = Float.random(in: 0..< 1)

//配列系
let arr = [1, 2, 3, 4, 5]
//ランダムに要素取得。Optionalが返るので注意
let randomValue = arr.randomElement()!
//ランダムに並び替えた配列の取得
let randomized = arr.shuffled()

便利マクロ系

  • #if canImport()
    • ()内Framewokrがあるかどうか。 #if canImport(UIKit) など
  • #if hasTargetEnvironment
    • #if hasTargetEnvironment(simulator)
    • x86判定しなくてもいいように

Xcode

  • Size-Optimizedオプションが追加された
    • 10~30%小さいが、5%遅くなる
    • 新興国向けなどに
  • Incrementalビルドモードが追加



ざっと目立った変更は上記ぐらいでした。去年おととしと比べると、だいぶ控えめですね。
もっとも聞き取りが甘いので、細かい見落とし(聞き落とし)はかなりあると思いますけど。

しかし1年前と比べてまったくリスニング力が変わっていない気が少々。本当に英語は長い道のりですね...

Kindle入手 & 「もしも高校四年生があったら、英語が話せるようになるか」感想

久々の大型出費。ここ数日開催されていた「母の日セール」でついに Kindle 購入しました!

もちろん多読用途です。ついでに気になっていた本「もしも高校四年生があったら、英語が話せるようになるか」をついでに発注しました。

以下簡単な感想でも

f:id:nexus1:20180513211409j:plain

続きを読む

Oxford Reading Tree読了、多読5万語突破

先日のプレプレ多読、再度図書館にいきOxford Reading TreeのStage 6-9、図書館にあるだけ全て読破しました。実は前回の記事の翌日にもいっており、合計約15時間 という読書づけな連休でした。

15時間後の感想と身体に起こった変化をメモしておきたいと思います。

続きを読む

図書館でプレプレ多読を始める

まだマップだとだいぶ先になるのですが、どうしても「ある程度の長さの文章を読む」ことへの抵抗感を消したくて多読を始めてみました。

ただし本来のマップの多読より相当レベルの低い本から始めたので、プレプレ多読 というところです。

続きを読む

シグマ基本問題集&Forest問題集レビュー

この間かったForestの問題集が無事一周目終わりました。

せっかくなので最初に買った「シグマ基本問題集」と比較しながらレビューしてみたいと思います。

f:id:nexus1:20180430210138j:plain

続きを読む

ぐんぐん音読1周目(30回)終了!

3月上旬から始めた「ぐんぐん音読パッケージ」ですが、本日ようやく1周目(各30回)が終了しました!

初級編の「みるみる」と比べて、なれたせいか短く感じます。以下すでに絶版ですが軽く感想でも

続きを読む

疲れたときはウォーキング+瞬間英作文

仕事でミスってしまいだいぶ精神的にやられてしまった今日...久しぶりにアプリバージョンアップでやらかしてしまった次第。 帰宅後、気分落ち込みまくりで「今日はもう英語せずに寝ようかな....」という感じでした。

しかし 全く何もしないのも抵抗がある。メンタルやられて何もしたくないのに、何もしないと罪悪感を感じるという矛盾... そこでウォーキングに繰り出してみました。

やはり運動

というのも、(精神的に)疲れたときは運動がきく というのを何度も経験しているからです。動くと脳内に麻薬級の物質が分泌されるのでハイな気分になれるからでしょう(笑)。 ※もちろん肉体的に疲れているときは別です。


本当はジムがベストなのですが、帰宅が遅くなりやむをえず自宅周囲ウォーキングに。そこで せっかくなので完全上達マップの著者が行っていた ウォーキングしながら瞬間英作文 にトライしてみました。

聞き取りやすさは犠牲になりますが、安全上の都合で片耳イヤフォンを iPhone にセット!さっそく家を出発です。ちなみに題材はスラスラ。まだ2周ちょっとなので、音声でやるのはちょっと早い題材です。


即座にあがるテンション

やはり人間は歩くようにできているのでしょう。歩き始めるまでは億劫なものの、歩いてしばらく経つと明確にストレスが発散していきます。


さらに 瞬間英作文で声を出している のがコレに拍車をかけている印象です (人が少ない田舎でよかった!!)。ものの5分ぐらいでテンションがあがっていくのを実感できました。時制を間違えたあとに 「くっそ!」 と声に出すぐらい(笑)。運動前の落ち込みはどこへやらです。


そんなわけで気が付いたら結構遠出してしまいました。なんだかんだで30分ぐらい出ていたようです。純粋に楽しかった。瞬間英作文の時間効率でいうなら相当悪いですが、気分転換としては非常に良いです。 軽い身体負荷+声に出す というのが思ったより相性よかったです。


運動大事!

このおかげで、ウォーキング前は本当に「今日は何もしたくない...」だったのが「さて、今からFOREST軽くやるか」という気分になっています(笑)。やはり運動は大事ですね。


実はほとんどスコアが伸びなかった前回のTOEIC以来、定期的なジム通いもあまり行かなくなり英語に集中してたのですが、逆にこれが効率を下げていたのではないか疑惑。 単純な勉強時間増加によるストレスはもちろん、精神的にも自分で自分を追いこんでおり無意識的に疲れがたまっていたのでしょうね。そこに仕事でミスと(笑)


Learning How To Learnでも運動が大事 といってましたし、「語学を効率するために運動する」というのは遠回りなようで案外近道な気がしてきました。


定期的な運動再開はもちろん、週に1,2回のペースでこのウォーキングは新しい趣味になりそうです。



ちなみに先週はスラスラの他に第二ステージの文法問題集として、「Forest 解いてトレーニング」を買いました。またも絶版本(笑)。Forestは持っていた、レベルがほど良さそうだったのが選定理由ですね。

また1周目終えたあたりでレビューしてみます。