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

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

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

    次にJSガッツリ書くときはTypeScriptで - Qiita
    kkeisuke
    kkeisuke 2017/12/28
  • Android Studioの超高速コーディングを支える技術(テクニック) - Qiita

    追記(宣伝): 今年の夏から大阪でフルリモートなフリーランスAndroid/iOS/Webエンジニアをやっています。ただいま週1-2または請負のお仕事お待ちしております・・! 画面見た人から(Enterやらショートカットやら連打で)何やってんだかわからないって言われることがたまにあるので、Android Studioでどうやってコーディングしているのかを書きました。 単なるショートカット集ではなく、あえてエラーのある状態を作るなどのテクニック集です。 なおMacかつAndroid Studio標準のキーバインドを前提としているので違う方は読み替えてください。(もちろんIntelliJでも同じことができるはずです・・!) 原則 考えるな、感じろ。: Alt+Enterや補完キーなどを押した次の状態を頭の中に思い浮かべながらに対して反射的に操作すると、超高速コーディングできる エラーだろうが汚

    Android Studioの超高速コーディングを支える技術(テクニック) - Qiita
    kkeisuke
    kkeisuke 2016/09/15
  • 自分が知っているAndroidライフサイクルのツラミとベストプラクティスのすべて - Qiita

    何が辛いのかとそのツラミを減らす方法について説明してみます(今すぐ導入したら解決!みたいなのはまだちょっと出せてないです)。 TL;DR→ライフサイクル理解してるぜ!という人はベストプラクティスからどうぞ・・! 前提1: Androidのコンポーネントとプロセス Androidの主なコンポーネントはActivity, Service, Content Provider, Broadcast Receiverです。これらはアプリをまたがると原則別のプロセスになります。 また、あまり知られていないことですが、AndroidManifest.xmlに記述することで1つのアプリ内でも別のプロセスとして起動することができます。逆に、特別な設定をすれば同じプロセス内で2つのアプリを実行することもできます(普通しない)。 https://developer.android.com/guide/compo

    自分が知っているAndroidライフサイクルのツラミとベストプラクティスのすべて - Qiita
    kkeisuke
    kkeisuke 2016/06/01
  • Java/Androidにおける例外設計、あるいは「契約による設計」によるシンプルさの追求 - Qiita

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

    Java/Androidにおける例外設計、あるいは「契約による設計」によるシンプルさの追求 - Qiita
    kkeisuke
    kkeisuke 2016/03/07
  • 詳解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
    kkeisuke
    kkeisuke 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
    kkeisuke
    kkeisuke 2015/08/05
  • Gitコンフリクト解消ガイド(git mergetoolの使い方) - Qiita

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

    Gitコンフリクト解消ガイド(git mergetoolの使い方) - Qiita
    kkeisuke
    kkeisuke 2014/02/10
  • [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
    kkeisuke
    kkeisuke 2013/02/13
  • 1