Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationYou can use dark themeWhat you can do with signing up
![Androidアプリ開発で使うライブラリのチートシート - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/e567f755c398320a64a326063085b8b349aaf068/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9QW5kcm9pZCVFMyU4MiVBMiVFMyU4MyU5NyVFMyU4MyVBQSVFOSU5NiU4QiVFNyU5OSVCQSVFMyU4MSVBNyVFNCVCRCVCRiVFMyU4MSU4NiVFMyU4MyVBOSVFMyU4MiVBNCVFMyU4MyU5NiVFMyU4MyVBOSVFMyU4MyVBQSVFMyU4MSVBRSVFMyU4MyU4MSVFMyU4MyVCQyVFMyU4MyU4OCVFMyU4MiVCNyVFMyU4MyVCQyVFMyU4MyU4OCZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnM9OTg5ZjI2YTczM2IyMzdmOTgwNWVlODcxZGMyZDY0ZmI%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBma20mdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPWFiYjI4MTA0OGJkZjkzZTQ3NmJlYTQxNDZlMDJiNzRj%26blend-x%3D142%26blend-y%3D486%26blend-mode%3Dnormal%26s%3Df1196d255bfc5b5a93bcdf6268727403)
はじめに クリーンアーキテクチャの書籍を読んだので、実際にクリーンアーキテクチャの考え方を採用したREST APIをGO言語で実装してみた。 ↓↓↓↓ソースコード↓↓↓↓ https://github.com/yoshinorihisakawa/sample-api-hoop/tree/develop この記事ではクリーンアーキテクチャの説明というよりかは、実装ベースの実践的な内容にしている。 対象読者 ・クリーンアーキテクチャで実装されたソースコードを理解したい人 ・クリーンアーキテクチャの右下の図がよくわからない人 ・アーキテクチャについて勉強を始めた初心者 クリーンアーキテクチャとは? クリーンアーキテクチャとは、8th Light, Inc.のブログ記事で提案されている。 一言で言うと、依存関係をコントロールし持続可能なソフトウェアを実現するための体系的な手法である。 ※ DIやD
Kotlin FestのLTのネタです。(3分でどこまで話せるか謎です。) きっかけ RxJavaとCoroutinesについてJakeさんが以下のように言っていて、確かにsuspend functionのほうがわかりやすく書けると自分も感じています。 I don't use Single, Maybe, or Completable anymore since suspend functions are superior. Channels do not replace Observables. — Jake Wharton (@JakeWharton) 2018年8月3日 また既存のアプリの実装を思い浮かべたときにほとんどのRxJavaを使っているところがSingleまたはCompletableなどだったので、置き換えたほうが良さそうでは?と思いました。 個人的にはRxJavaのObs
なぜRxJava? RxJavaは様々な特性を併せ持ったライブラリですが、簡単にまとめると以下のような機能に分類されます。 List処理の抽象化・ストリーム化 Optional Future/Promise Data Binding Event Bus Android開発でRxJavaをチームに導入した話 Java 8ではStream APIやOptionalが導入されていますが、Androidや業務要件などそのAPIを使えない環境も存在します。 また、非同期や並列などそもそもJavaで扱いにくい処理を、統一されたインターフェイスで簡潔に記述できるなどのメリットも多く、その基本的な機能を試してみたので紹介します。 なお、ここに記載する内容はRxJavaの使い方が中心で、RxJava自体の概念やFRPなどについては、他にも多くの方々紹介してくださっていますので、そちらをご覧いただければと思い
聞きながら書いてたので抜けてたり誤字とか多いと思う。各々の資料はあとで公開されるはず。Twitter のハッシュタグは #ゲームサーバ勉強会 なお、会場内からも発表されてましたが、第二回の開催も検討とのことです。 皆さまご来場ありがとうございました。懇親会で話しましたが、好評いただいたので、第2回やる方向で検討します。次回予告イメージとしては、10月頃、負荷試験、うどんの会による自家製うどん。 #ゲームサーバ勉強会 — 元イカ2 (@seizans) August 3, 2018 アカツキ: 失敗から学ぶ・大規模環境における Ruby on Rails on AWS の最適化 めっちゃ鳥肌 これ、正月かな......#ゲームサーバ勉強会 pic.twitter.com/RKARkr3F5f — 紫苑 (@grwth1009) 2018年8月3日 Rubyはsmallスタートむき#ゲームサー
はじめに GraffityというARを使った落書き通話アプリを作っているむーつんといいます。 好きな言語はJavaScriptなサーバサイドエンジニアです。 弊社のAPIは元々Railsで出来ており、以下のような構成でした。 ここにはスケーラビリティは考慮されておらず、同じインスタンスをコピーしてALBに振り分けてもらうという粗末なものでした。(スピード感が求められるスタートアップにおいてはこれで良いのかも) しかし、Graffityは過去にZIP!で取り上げて頂いたり、弊社代表の森本(以降Totti)がJ-Waveでラジオ出演するなどメディアへの露出が増える中、これではいつ大量アクセスでサーバがダウンするかわからず不安です。 ラジオ初出演!本日のJWAVE8:30〜9:00までARの未来について別所さんと話しました:) 森本節炸裂してるのですが、内容は面白いので是非! もっとARの未来を
結論(2021-07-06更新) 個人的なスタンス 個人的な意見として、原則 nullableのためにletを使うのみに留めたいところです。 そもそも、このような記事を書いて、それなりに閲覧されている程度には、スコープ関数は難しいからです。 JavaのAPIを使う場合、alsoやapplyが便利な場面があって、これは例外的に使ってもいいかもしれません。 が、スコープ関数を使わない素直なコードの選択肢を常に持っておくべきでしょう。 一応 スコープ関数の図解 --------以下、詳しく知りたい人向け-------- Kotlinの標準ライブラリには「スコープ関数」と呼ばれる4つの関数があります。 let、with、run、applyです。 それぞれ似ているので使い分けが難しいと思い、私なりの考えをまとめておきます。 (2017-01-26 追記) ver1.1で追加されるalsoについて解説
この記事はとある勉強会で身内のために作成したもので、Fragmentをまだあまり使ったことの無い方が、どうしてFragmentを使うのかと、どこから始めればいいのかをまとめたものになります。 Fragment(フラグメント)とは? Fragmentとは、簡単にいうと、コンテンツとライフサイクルを持ったビューです。 プログラミングでいうライフサイクルとは、インスタンスが作成されてから、それが捨てられるまでの一連の流れのことをいいます。 Androidでは、例としてActivity(アクティビティ)だとインスタンスが作成される際にonCreateメソッドが呼ばれ、破棄される際にonDestroyメソッドが呼ばれ、他にも画面の状態によって、onResume・onStart・onPause・onStopなどのメソッドが呼ばれます。 このように、ライフサイクルに応じて呼び出されるメソッドを持っている
from icrawler.builtin import GoogleImageCrawler crawler = GoogleImageCrawler(storage={"root_dir": "images"}) crawler.crawl(keyword="猫", max_num=100) 2018-07-15 13:20:58,410 - INFO - icrawler.crawler - start crawling... 2018-07-15 13:20:58,411 - INFO - icrawler.crawler - starting 1 feeder threads... 2018-07-15 13:20:58,412 - INFO - feeder - thread feeder-001 exit 2018-07-15 13:20:58,412 - INFO - ic
public fun BooleanArray.toObservable() : Observable<Boolean> = this.toList().toObservable() public fun ByteArray.toObservable() : Observable<Byte> = this.toList().toObservable() public fun ShortArray.toObservable() : Observable<Short> = this.toList().toObservable() public fun IntArray.toObservable() : Observable<Int> = this.toList().toObservable() public fun LongArray.toObservable() : Observable<L
2018 年 7 月 12 日に、ESLint 開発チームが管理する npm パッケージに悪意あるコードが挿入されるセキュリティ インシデントがありました。 ESLint からのアナウンス: https://eslint.org/blog/2018/07/postmortem-for-malicious-package-publishes npm からのアナウンス: https://status.npmjs.org/incidents/dn7c1fgrr7ng 以下の場合に npm install を実行したユーザーの npm アカウントへのログイン情報 (アクセストークン) が盗まれた恐れがあります (盗まれたアクセストークンはすでに無効化されています)。 日本時間の 18:49 から 19:25 の約 1 時間のあいだに npm install を実行し、eslint-config-e
はじめに コードリーディングの重要性はそこらじゅうで語り尽くされてる感があります。 僕も地道にコードリーディングをしているのですが、いざやろうとするとハードルが高いことがままあります。そこで、個人的にコードリーディングがはかどったと感じたテクニックをまとめておこうと思います。 筆者環境の前提 ソースコードのバージョン管理は Git を使っている 開発 PC は Mac を使っている エディタは Vim を使っている ghq + peco で読みたいリポジトリに気軽にたどり着く 読みたいソースコードのリポジトリが増えてくると、ローカル環境でのリポジトリをどのディレクトリに置くか、またいざ読もうとするときにディレクトリを辿っていくのが煩雑になってきます。 そんな時、読みたいリポジトリに気軽にたどり着くことができれば、読むハードルが下がります。 僕は peco と ghq の組み合わせを使ってい
Android Studio 2.2 previewより、ConstraintLayoutという新しいLayoutが導入されました。本稿では実際に触ってみた操作感や実装方法などについて紹介します。 ConstraintLayoutとは ConstraintLayoutは自動的にレイアウトの位置をマテリアルデザインに沿った最適な位置に調整してくれます。iOSでいうところのStoryboardのAutoLayoutのような機能をもったレイアウトです。 具体的な特徴として AutoConnectという機能を使って最適なレイアウトを調整できる Android Studioが自動的に一番フラットなxmlを生成してくれる Inferenceという機能で全体の整合性も調整できる API 9 までのバックポート対応 同梱ライブラリではなく、導入してもサイズが小さい (100kb) ということが挙げられます
Firebase は機能が多すぎてよく分からなかったので、自分の整理用に「 Firebase で何ができるか」をだいたい3行でまとめてみました。 利用可能な環境かどうかは、以下のアイコンで示しています。 … Android 利用可能 … iOS 利用可能 … Web 利用可能 [追記] 新しい機能が増えたので2018/09/26時点で整理しました。 Analytics Google Analytics for Firebase イベントベースでデータ収集・分析ができる。無料。 アプリの場合は Google Analytics for Firebase を、ウェブサイトの場合は Google Analytics を使うことになる。 BigQuery と統合して複雑な解析を行うこともできる。 Develop Firebase Authentication メールアドレスとパスワードを利用したユ
Kotlinをはじめるにあたって 言語仕様でここは押さえておこう、的な記事です。 普段の開発をJavaからKotlinへ移行していく過程で これは足りない、と気づいたら随時追記します。 何からはじめればいいですか Kotlin https://kotlinlang.org/ ここを起点に。本記事では主にAndroid開発を想定しています。 Try Kotlin ブラウザ上でサンプルを見ながら、その場でコードを書いて動作確認ができます。 コンソール↓の Open in Playground → からエディタが開きます。 More examples からはカテゴリごとにサンプルコードが見れます。 Kotlin Language Documentation 英語ですけどコードは読めるのでなんとなく意味はわかります。 https://kotlinlang.org/docs/kotlin-docs.
はじめに Google HomeでYoutube連携機能がありますが、これは動画をchromecast上にcastするのみで音声のみをGoogle Home上で再生することはできません。1 Youtube上の音楽をGoogle Home上で再生できたらリビングで気軽に音楽聞けて便利では!と思ったのが今回の試みになります。 処理の流れ Actions On Googleで任意のキーワードを取得 → Firebase DB経由で自宅内サーバーへ(ラズパイなど) → 自宅内サーバー上にてYoutube Data APIで動画ID取得 → youtube-dlで音声URL取得 → google home notifierで音声再生 (Actions On Googleの箇所はIFTTTでも代用可能ですが、こちらのほうが反応速度が早いです) 実際の例 Google Homeでyoutubeの音楽流す
Kotlin が Android の公式言語になることが Goole I/O 2017 で発表されました。これから Kotlin を始める Java プログラマが多くなると思うので、本投稿では Java プログラマが Kotlin でつまづきがちなところについて説明します。 本投稿は単独で理解できるように書いていますが、↓の連載の第二弾です。 Kotlin の基礎的な構文は理解していることを前提としているので、 Kotlin の基礎については "Javaとほぼ同じところ" を御覧下さい。 Javaとほぼ同じところ 新しい考え方が必要でつまづきがちなところ ←この投稿で扱う内容 Kotlinならではの便利なこと 新しい考え方が必要でつまづきがちなところ 新しい概念を学ぶときには、何ができるのかだけでなく、どうしてそうなっているのかがわからないとそれをうまく使いこなすことができません。 本節で
はじめに 今回は競馬予想 siva の改修に伴い、バックエンドをnode.jsで作っていたものをGoで実装した際のメモになります。 Go経験ゼロから最低限必要な機能をサクッと実装するまでの記録です。 〇 ここでやること 依存ライブラリの導入説明 echoでRESTサーバを立てたときの設定 個人的にやってしまったミス × ここでやらないこと goのインストール説明 goの基本構文等の説明 テストに関すること 環境 Windows 10 Go 1.10.1 1. 導入 まずは以下のコマンドをインストールします。 依存関係管理(dep) xormツール(xorm) Swaggerコード生成(swag) タスクランナー(godo) 依存関係管理(dep) node.jsでいうnpmのようなパッケージ管理ツールです。 インストール
Kubernetesを一言で言うと、自動デプロイ、スケーリング、アプリ・コンテナの運用自動化のために設計されたオープンソースのプラットフォームです。 Kubernetesによって、要求に迅速かつ効率良く対応ができます。 アプリを迅速に予定通りにデプロイする (コンテナをサーバー群へ展開する) 稼働中にアプリをスケールする(稼働中にコンテナ数を変更する) 新機能をシームレスに提供開始する (稼働中にロールアウトする) ハードウェアの利用率を要求に制限する (コンテナで共存させて稼働率を高くする) Kubernetesのゴールは、下記の様なアプリの運用負担を軽減するためのエコシステムのコンポーネントとツールを整備することです。 可搬性: パブリック・クラウド、プライベート・クラウド、ハイブリッド・クラウド、マルチ・クラウド 拡張可能: モジュール化、追加可能、接続可能、構成可能 自動修復: 自
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く