タグ

ブックマーク / qiita.com/yuya_presto (9)

  • 次にJSガッツリ書くときはTypeScriptで - Qiita

    すっかりTypeScript厨(同僚談)になっているyprestoです。 AndroidKotlinがどんどん採用されていくのを横で指を加えて見てるわけには行かないので、JSにもTypeScriptをぶち込みました。SwiftKotlinを書いたことがある人ならばすっと馴染むと思います。 新しく書くJSはもう基的にTSで書いてます(botすらTypeScriptに書き換えて引かれましたw)。ちょうど1年前からガッツリ使っていたので知見を垂れ流すフェーズに入ります。 完全な初級というよりは、ちゃんと使いたい中級な人向けに、基的な使い方+最初に引っかかるところという感じで書いたつもりです。どちらでも大丈夫なように書くつもりなので、疑問点をコメント頂けるとうれしいです・・! なんでそんなにTypeScript使いたいの React使うなら常にTypeScriptという気持ちが高まりました

    次にJSガッツリ書くときはTypeScriptで - Qiita
    peketamin
    peketamin 2017/12/27
  • Java/Androidにおける例外設計、あるいは「契約による設計」によるシンプルさの追求 - Qiita

    なぜ今Javaの例外処理か Javaにおける「チェック例外」はSwift、Objective-C、RubyJavaScriptといったネイティブ・ウェブアプリ開発でよく用いられる他の言語には現れないものです。 SwiftにはOptionalやErrorTypeがありますが、Javaにおいてもnullやエラーのハンドリングの実装方法をうまくやる必要があります。 なぜ例外を握りつぶしたらいけないのか、なぜアサーションが望ましいのか、なぜチェック例外と非チェックを分けたのか、という点を考えてみたいと思います。 参考資料 例外設計における大罪 (契約プログラミングについて) Effective Java読書会9日目 - 例外 (Javaにおける例外の扱いについて) 契約による設計から見た例外 (この記事の方がより詳しいけど難しいイメージ) チェック例外と非チェック例外の違い チェック例外→「回復

    Java/Androidにおける例外設計、あるいは「契約による設計」によるシンプルさの追求 - Qiita
    peketamin
    peketamin 2016/03/07
  • iOS - Auto Layoutの設計ベストプラクティスと、Viewの種類ごとのテクニック集 - Qiita

    Auto Layoutを使って既存アプリをiPhone 6(S)/6(S) Plus対応した際に得た知見をまとめてみました。 以下、上級編となります。 ※iOS 9で導入されたStack ViewについてはiOS 8を切れない事情で使えませんでしたorz... ※下記のサンプルに使用したStoryboardファイルはこちらです。 https://gist.github.com/ypresto/ee3b2f592b40936c11ec ※設計が悪くて画面サイズ変わるとぶっ壊れちゃう箇所をUnit Testで把握するライブラリ書きました https://github.com/ypresto/AutoLayoutLint http://qiita.com/yuya_presto/items/742a9e6dd95667bd62c9 詳解編 Auto Layoutの仕組みやPriority、Int

    iOS - Auto Layoutの設計ベストプラクティスと、Viewの種類ごとのテクニック集 - Qiita
    peketamin
    peketamin 2015/11/01
  • 詳解RxJava:Scheduler、非同期処理、subscribe/unsubscribe - Qiita

    非同期でやるには?どこからが非同期で実行されるの? Observableの実装や叩いたOperator(map()やfilter()などのメソッド)によりますが、基的に現在のスレッド(subscribe()を呼び出したスレッド)で「同期的に」実行されます。 ドキュメントに Scheduler: This version of XXX does not operate by default on a particular Scheduler. と書かれているものは、現在のスレッドで実行されます from(): 現在のスレッドで実行されます Subject: onNext()などを呼び出したスレッドで実行されます ドキュメントのScheduler欄にそれ以外の事が書かれている場合はそれに準じます repeat(Scheduler scheduler)のようにschedulerを引数に取る場合

    詳解RxJava:Scheduler、非同期処理、subscribe/unsubscribe - Qiita
    peketamin
    peketamin 2015/10/04
  • ssh越しにAtom他GUIエディタを使いたい?それ、同期ツールunisonでできるよ - Qiita

    追記:これを書いた当時は開発者ごとにEC2インスタンスが配られてる環境でした。Amazon LinuxやRDSとかも使っていたので、ローカルでやるのは面倒という状況だったので、いかにEC2上でローカルと同じように開発するかを追求したという背景です。 EC2とかでもAtom使いたい・・! VimとかEmacsとかのCUIエディタでの開発からの脱却を狙っていて、 ローカルエディタで開発したいが・・ ssh先のサーバでしか開発できない 手元のMacに依存関係のセットアップするのがとても面倒 実際やってみたが・・ 変更都度rsyncとかscpとか許せない sshfsは遅すぎて使いものにならない エディタの機能でssh上のファイルを開くとGit連携とかのいろんな機能が使えずつらい (以前上がっていたAtomプラグインを使用する方法だと一部機能が使えないはずです) エディタだけじゃなくシェルなどもなる

    ssh越しにAtom他GUIエディタを使いたい?それ、同期ツールunisonでできるよ - Qiita
    peketamin
    peketamin 2015/08/04
  • RxJavaに3日で入門し、Androidアプリのリスト操作、非同期処理、変更通知の課題を解決した話 - Qiita

    なんでこの記事書いたのか 今開発中のプロダクトにおいて、RxJavaの導入をやってみたので、実際に使った箇所とその例、調べないとわからなかったことを載せておきました。 そう(retrolambdaのためにjdk8を投入)までして導入したかったメリットを話してくれ、サンプルコードがないとわからん、といった声を頂いているので、実際に何が解決されたのか、どんなコードで解決したのかということと、そのために勉強しなくてはならなかった点について書いています。 (追記)警告:差分作ってコード上では解決したんですが、この差分まだ「リリース」したわけじゃないので、その点だけご注意くださいmm 続報あり次第追記します。 追記:リリースして安定運用しています!最近まで監視に難がありましたがそれも修正しました。この記事の監視スニペットも更新済みです! なぜRxJavaを導入したのか 次の課題をまとめて解決できるの

    RxJavaに3日で入門し、Androidアプリのリスト操作、非同期処理、変更通知の課題を解決した話 - Qiita
    peketamin
    peketamin 2015/06/29
  • Gitコンフリクト解消ガイド(git mergetoolの使い方) - Qiita

    ファイル編集がコンフリクトした場合 下記はよくある(忌々しい)コンフリクト画面ですね。 皆さんはコンフリクトのmergeはどんな方法でやっていますでしょうか? vimemacsで直接編集している方が多いイメージですが、実際開いてみると、下記のように差分が表示されていると思います。 この画面を見ただけではどのようにmergeすればよいのかわかりません。(Objective-CのARC/MRC双方の開発経験がある人は目をつぶってください・・) gitにはこのようなコンフリクトのmergeを支援するgit mergetoolコマンドが搭載されています。 このままEnterキーを押すと下記のような画面が立ち上がります。 画面幅の都合でフォントが小さいのですが、ここで「mergeしたい差分が作られる直前の状態」と「mergeしたい差分」に注目してみます。 この2つを見比べると、@propertyの

    Gitコンフリクト解消ガイド(git mergetoolの使い方) - Qiita
  • gitのdiff, status, logを極限までコンパクト化+便利化する - Qiita

    git diffを見やすくする git diff --color-words で差分を小さく表示する 通常のgit diffは行単位なので、例えば変数名を一括変更した場合見づらいです。 --color-wordsを指定すると記号やスペースで区切られた単語単位でのdiffを表示できます。gitの設定は不要です。 より細かな表示のカスタマイズも可能です。man git-diffで--word-diffを検索してみてください。 ※ただし、変更が複雑な場合は、通常のgit diffのほうが見やすいこともあります。 .gitattributesを設置してもっと小さく表示する .gitattributesファイルを設置することで、言語文法に基づいて変数名、関数名といった単位でdiffを表示できます ファイル設置後にgit diff --color-wordsとすると、下記のようにさらに小さく表示できま

    gitのdiff, status, logを極限までコンパクト化+便利化する - Qiita
    peketamin
    peketamin 2014/02/05
  • [dup] Androidの超速エミュレータを導入する - Qiita

    重複した記事があるとの指摘がありました。 下記のほうが図とかステップが充実しています! http://qiita.com/items/8bc1a11f1382409f1d2a 【もはやエミュレータとは言わせない】 そもそも超速エミュレータが必要な理由 AndroidアプリやWebアプリを作る際、OSバージョンが多すぎて実機とか全部揃えていられないので、エミュレータを使ってデバッグすることになると思います。しかしこのエミュレータが非常に重たくて、MacBook Airなんかで使えたものではありません。これはスマホのARMアーキテクチャのCPUを、PCのx86アーキテクチャのCPU上でエミュレートしているためです。 この問題の解決策として、Intelがx86 CPUで直接動作可能なAndroidを配布しています。Androidの各種アプリは基的にJava製なので、「Java(Dalvik)仮

    [dup] Androidの超速エミュレータを導入する - Qiita
    peketamin
    peketamin 2013/03/18
  • 1