タグ

2016年1月29日のブックマーク (9件)

  • [Swift] iOS でテキストの読み上げをする - Qiita

    AVSpeechSynthesizer を使って音声読み上げをする iOS アプリで音声読み上げをやりたくなったので調べてみたメモです。 AVSpeechSynthesizer というクラスを使うと簡単に読み上げができました。 AVSpeechSynthesizer を生成 読み上げるテキストを引数に AVSpeechUtterance を生成 voice プロパティに言語指定した Voice を指定(ここでは ja-JP) 読み上げ という順で処理を行います。コードにすると下記の通り。 let talker = AVSpeechSynthesizer() let utterance = AVSpeechUtterance(string: text) utterance.voice = AVSpeechSynthesisVoice(language: "ja-JP") talker.spe

    [Swift] iOS でテキストの読み上げをする - Qiita
    tokorom
    tokorom 2016/01/29
  • もしiPhoneの「3D Touch」がUIのスタンダードになったら

    Rianは皆が使いたがる高品質のソフトウェアをデザイン・作成しています。『Making It Right:スタートアップのプロダクトマネージメント』という著作もあります。シリコンバレーと南アフリカのケープタウンで数年働き、現在はオレゴン州ポートランドのJive Softwareでプロダクトデザイン・ディレクターをしています。 テクノロジーのこととなると、皆が賛同できそうなことがひとつだけあります。Louis C.K.の言葉を借りれば、「何もかもが素晴らしいのに誰もハッピーじゃない」。だから、iPhone 6sや6s Plusの3D Touchという機能が常に好評なのを見て、ちょっとした驚きを感じました。発売直後のiPhoneのレビューのほとんどが、生産性の上昇や機能の優れた実装に言及し、開発者はそれを使ってどうするかといった話に皆夢中です。 3D Touchをリサーチし、遊んでみて最初に思

    もしiPhoneの「3D Touch」がUIのスタンダードになったら
    tokorom
    tokorom 2016/01/29
  • Python 3誕生の理由 ― つまり、なぜunicode/str/bytesの仕様は変更されたのか | POSTD

    12月、私は PuPPy(the Puget Sound Python users group)の会合でQ&A セッション を行いました。そこでようやくPython 3が誕生した理由と、string/bytesに関する全てを説明しました。Python 3が作られた理由をユーザはもう知っているはずだと思っていたので、私はこの説明で称賛を得たことに、ちょっと驚きました。後で考えてみると、Pythonに詳しい人もそうでない人も含めて大多数の人が、その理由を探すように言われたり、好奇心からその理由を探し当てられるなどと考えた私が愚かでした。ですから、このブログの記事で、Python 3が存在する理由をわかりやすく説明します。後方互換性の全くない unicode / str / bytes の仕様変更は、Python 3のコードの移植の中でも当に難解な部分ですので、私たちがその仕様変更を選択した理

    Python 3誕生の理由 ― つまり、なぜunicode/str/bytesの仕様は変更されたのか | POSTD
    tokorom
    tokorom 2016/01/29
  • Swift 2のProtocol-Oriented Programmingっぽい書き方を理解する - Qiita

    func isEven(number: Int) -> Bool { return number % 2 == 0 } let evens = Array(1...10).filter(isEven) print(evens) // [0, 2, 4, 6, 8, 10] 何が古いかというと、いちいち1...10をArrayにしているところ。もうしなくていいんです。そう、Swift 2ならね。 実際、Swift 2では.mapはもうArrayでは定義されてないんです。公式ドキュメントのArray Structure Referenceを見ても、.mapはどこにも見当たりません。 ではどこで定義されているか? Arrayが準拠しているprotocol CollectionType です。実際にCollectionType Protocol Referenceを見てみると、.mapや.filt

    Swift 2のProtocol-Oriented Programmingっぽい書き方を理解する - Qiita
    tokorom
    tokorom 2016/01/29
  • [RxSwift] shareReplayをちゃんと書いてお行儀良くストリームを購読しよう - Qiita

    RxSwiftのサンプルコードを見てみると、頻繁にshareReplayというオペレーターが登場することに気づくと思います。しかし、このshareReplayを書かなくともコードは動くし、ホントにこれ必要なの?てか、コイツは何をしてるの?という疑問が湧いたので詳しく調べてみました。 shareReplayがないとき まずは、shareReplayがなぜ必要なのか考えるためにRxSwiftのExampleを多少シンプルにした下記の様な画面の実装について考えてみます。 ↓のような感じで3つのIBOutletで接続していて、 @IBOutlet weak var usernameOutlet: UITextField! // ユーザー名を入力するTextView @IBOutlet weak var usernameValidOutlet: UILabel! // 赤い文字で警告を表示するUIL

    [RxSwift] shareReplayをちゃんと書いてお行儀良くストリームを購読しよう - Qiita
    tokorom
    tokorom 2016/01/29
  • AWSで避けるべき5つの間違い | POSTD

    今年からAWSAmazon Web Services)クラウドコンサルタントとして、中小規模のAWSデプロイの相談を受けています。その多くは典型的なWebアプリケーションです。ここで、ぜひ避けたい5つのよくある間違いを紹介します。 インフラストラクチャを手動で管理する。 Auto Scaling グループを使わない。 CloudWatchのメトリクスを分析しない。 Trusted Advisorを無視する。 仮想マシンを活用しない。 典型的なWebアプリケーションにおける間違いを防ぎたい人は、次に進んでください。 典型的なWebアプリケーション 典型的なWebアプリケーションは最低限次の要素で構成されているものを指します。 ロードバランサ スケーラブルなWebバックエンド データベース そしてこのアプリケーションは、次の図のような仕組みを持っています。 注釈:(左から)DNS、CDN、静

    AWSで避けるべき5つの間違い | POSTD
    tokorom
    tokorom 2016/01/29
  • iPad Air 3が3月イベントで登場し、なんとApple Pencil対応に?

    iPad Air 3が3月イベントで登場し、なんとApple Pencil対応に?2016.01.28 18:00 塚直樹 iPadといえばペン入力が当たり前に? 昨年iPad Proが登場した時に、オプションのスタイラス「Apple Pencil」を羨ましく思ったiPadオーナーの方も多いでしょう。あんなふうに自由自在にiPadでお絵かきができたらいいのに、と。しかし海外ニュースサイトの9to5Macによると、なんと3月のイベントで発表されるiPad Air 3はペン入力ができるかもしれないというのです! そもそも、アップルは3月中旬にイベントを開催することが以前より囁かれていました。今回の情報によれば、そのイベントでiPad Air 3や4インチディスプレイの「iPhone 5se」、そしてApple Watchの新モデルが登場します。また、イベントはおそらく3月の第3週になるとのこ

    iPad Air 3が3月イベントで登場し、なんとApple Pencil対応に?
    tokorom
    tokorom 2016/01/29
  • 橋本商会 » lernaでmonorepoした

    monorepoという1つのリポジトリに複数プロジェクトを入れる開発手法がある。 この記事で知った。 単一リポジトリで複数package|projectを管理することをmonorepoというそう – なっく日報 そういえばRocketIOやnode-lindaを作っていた時は自作のライブラリ/パッケージが3,4層に積み上がっていて、単一パッケージ内で生じるバグはテストを書けば潰せるけどパッケージ間で起こるバグは非常に解決が難しかった。イベント発火のタイミングによるものとか。パッケージをまたがったテストをどこに書くのかという問題がある。 複数パッケージで起こったバグはどっちのissueに書けばいいのかわからないし、両方でブランチ切って同時に修正してリリースしたりとか超面倒だった。 バージョン毎の依存関係も、serverの1.3に対応してるのはclientの1.5で・・とか依存関係を書くのがや

    橋本商会 » lernaでmonorepoした
    tokorom
    tokorom 2016/01/29
  • SwiftLint 0.7.1 アップデート内容まとめ - Qiita

    強化されたもの MissingDocsRule パフォーマンスが上がりました。 CustomRules 新しく追加されたルールです。名前の通り、ルールをカスタマイズして追加することができます。 ただしものすごく自由にカスタマイズできるわけではなく、「正規表現ベースのルール」という制限があります。 書き方は以下のようになります(公式のDefining Custom Rulesから抜粋)。 custom_rules: dont_use_str: # rule identifier name: "Don't use 'str'" # rule name. optional. regex: "(str)" # matching pattern match_kinds: # SyntaxKinds to match. optional. - doccomment message: "Don't us

    SwiftLint 0.7.1 アップデート内容まとめ - Qiita
    tokorom
    tokorom 2016/01/29