みるなよ、みるなよ。

狂ってる人のどこかのエンジニアブログ。

超絶初心者ですが、Droidkaigiに行ってきました。

 

Droidkaigiに行ってきました。

ブログ長く書きすぎたせいか遅刻しましたが、

2月8日 9日に2日間連続で、Droidkaigiに行ってきました。 

f:id:berukokoko:20180220233334j:plain

楽しかったです。


私は仕事ではExcelを見てるd...(おっと 開発をしていないのですが、

プライベートでAndroidアプリを作ることにハマっていて、

Droidkaigiの存在を教えていただき、

これは勉強になるかなと思い行ってきました。

 

ちなみに有給を消化して自腹だったのですが、

有給が承認されないので「私の!諭吉が!飛ぶ!」と震えながら

数日間待っていまs(おっと 

 

当日からの話

名札にTwitterのアイコンがついていてこれは
顔出してない人が誰が誰かわかって便利だし、

SNS分かれば繋がれるな、すごいなあと思っていました。

何故か背景が透明になっていました・・・私のアイコン・・・。笑

 

見たことある方とか知り合いの方ちらほらいらして、

話せなかった方もいましたが、何人か声をかけていただきました。

覚えていただけたみたいで嬉しかったです。ありがとうございます。

次は登壇した方と話してみたいな・・・

仕事でやるようになったら...転syoku...したら...てんsy・・・あっ

 

セッションについて

たくさんのセッションを聞くことができました。
自分が聞いた全セッションについて書いた・・・はず。

www.slideshare.net

Kotlinアンチパターン

【わかったこと】

・ほぼわからなかった😇
・あまりよろしくないコードの書き方について?

【わからないこと】
アンチパターンとは。

あまり推奨されない書き方やダメなコードの書き方のこと。

アンチパターン - Wikipedia

 

わからないので、もう少し経ってから勉強したい。 

 

speakerdeck.com

アプリの中を覗いてみよう!

【わかったこと】

Androidアプリの中はやり方を覚えれば誰でも簡単に覗ける。

 

【わからないこと】

・apkファイルとは。

AndroidのアプリはAPKというファイル形式で作られている。
ファイルには、アプリの画像だったり、音だったり
アプリを作るもの入っており、これを端末にインストールすると使えるようになる。


・Analyze APKとは。
APKの作りについて調査ができるものらしい。

westplain.sakuraweb.com

 

・APKMirrorとは。
様々なAPKのファイルが載っているサイト。
様々なAPKがダウンロードできる。

www.apkmirror.com

 

Android Apps APK - Free download app apk, download game apk

 

・APK-Downloaderとは。
APKMirrorになければこのサイトから落とすこともできる。

apps.evozi.com

・Apk Extractorとは。

端末から落とすことでもできる。

play.google.com

・JD-GUI
classファイルからソースコードを起こしてくれる・・・ようだ。

jd.benow.ca

 

少し試してみましたが、簡単に見ることができました(*'-'*)!

f:id:berukokoko:20180220230738p:plain

 

 

speakerdeck.com

今から始めるAndroidアプリ開発

【わかったこと】

Androidアプリの基礎について。

 

【わからないこと】

・Runtime Permissionとは
実行時のパーミッションのリクエストのこと。
パーミッションとは、この機能使っていいですか、と
ユーザーに許可をもらうこと。

たとえば、ユーザーがカメラアプリを起動した場合、ユーザーは、カメラを使用するためのパーミッションが求められても驚くことはないでしょう。しかし、アプリがユーザーの位置情報や連絡先へのアクセスを求める理由は理解できないかもしれません。 

実行時のパーミッション リクエスト | Android Developers

 

・Fragmentとは
Activityの中に組み込むことが出来る部品のようなもののこと。

フラグメント | Android Developers

 

・DataBindingとは
データバインディング
その名の通りデータをバインドしてくれる機能で、クラスのオブジェクトの状態の変更に応じて、XML に書いた View のプロパティを
変更してくれる。

やってみたいところ

dev.classmethod.jp

 

・Notificationとは
通知について。

通知 | Android Developers

 

・Async processとは
AsyncTask を使うと、非同期の処理を実行できる。(非同期については勉強なうなので、また別記事を詳しく書いてみたいところ)

プロセスとスレッド | Android Developers

 

・MVVMとは

ModelとViewとViewModelの3つに分けて
設計・実装する、ソフトウェアアーキテクチャパターンである。
ソフトウェアアーキテクチャパターンとは、
アーキテクチャは、構造の意味を持つため、ソフトウェアの作り方のパターンのこと。

 

・CIとは

継続的インテグレーションのこと。ビルドやテストなど自動化できるものを使って行うことで、統合を早め、バグを早期に発見して対処すること、ソフトウェアの品質を高めること、そしてソフトウェアの更新を検証してリリースするためにかかる時間を短くすることができるプログラミングの手法のこと。https://aws.amazon.com/jp/devops/continuous-integration/

 

・Resourceとは

元は資源という意味。OSで使用する特別なメモリ領域のことや、プロジェクトの遂行に必要な人手や資金、設備なども指す。

 

 

ピュアJavaだと思った?残念androidでした~いつからAndroidをJavaだと錯覚していた?~ from JustSystems Corporationwww.slideshare.netピュアJavaだと思った?残念Androidでした
~いつからAndroidJavaだと錯覚していた?~

 

【わかったこと】

・OlacleJavaとAndroidJavaは同じJavaを書いているが、違うところがある。

Javaは標準ライブラリがrt.jar androidandroid.jarであり違う。 

・標準ライブラリが違うことによって、違うところが発生する。

 

【わからないこと】

・Dalivikとは。 
Dalvik仮想マシン だるびっくかそうましん。
Androidプラットフォームで採用されていたレジスタベースの仮想マシンAndroid 5.0よりAndroid Runtime(ART)に置き換えられた。

Dalvik仮想マシン - Wikipedia


JREとは。
Javaのプログラムを実行するためにいるソフトウェアのこと。
JREは、Java VMやクラスライブラリなどから作られている。
が、コンパイラやデバッガなどはついていない。
JREを使うことにより、Javaバイトコードで配布されているJavaのプログラムを、ネイティブコードと呼ばれる形に変換して、実行することができる。

Server JRE (Java SE Runtime Environment) 8 Downloads


・ARTとは。
Android Runtime あんどろいど らんたいむ。
Android 5.0のあとからを実行している端末のデフォルトのランタイムのこと。Android ランタイム (ART) でアプリ動作を確認 | Android Developers


・なぜAndroidレジスタ・ベースのVMを採用したのか?(脱線)

携帯電話の世界だけで考えてみると,CPUはARMアーキテクチャデファクトです.ARMはレジスタ数に32ビット・レジスタを16本内蔵しており,それなりに余裕があります.そのため,Androidは「ARM」系での実行に特化し,レジスタ・ベースのDalvik VMが採用されたと言われています.

Android携帯ゲームを作って世界に配信してみよう(1) ―― まずは小さなアプリからこつこつ作ってみる|Tech Village (テックビレッジ) / CQ出版株式会社

 

 ・ConcurrentModificationExceptionとは。
マルチスレッド(処理Aと処理Bを並行して実行することができる処理のこと)で、同じArrayListを変更したときなどに発生する例外。ConcurrentModificationException (Java Platform SE 7) 

 

speakerdeck.comまだAPI定義管理で消耗してるの?
〜Swaggerを用いた大規模アプリ時代のAPI定義管理とコードジェネレート〜

【わかったこと】

・ほぼわからなかった😇 

API定義定義について?

 

【わからないこと】

・Swaggerとは
RESTful API(RESTの原則に則って構築されたWebシステムのHTTPでの呼び出しインターフェースのこと)を作るためのフレームワークのこと。

 

 ・Swagger Codegen とは
Swagger Spec(?)で書かれた設計から、
クライアント・サーバコードを作るコマンドラインツールのこと。(サーバコード?よく分からない)実際に手を動かしたいところ。news.mynavi.jp

 

わからないので、もう少し経ってから勉強したい。 

 speakerdeck.comMVVMベストプラクティス

【わかったこと】

・ほぼわからなかった😇 

・MVVMとは?

 

【わからないこと】

・ほぼ わからないので、もう少し経ってから勉強したい。 

 

 
Usb接続するアプリを開発した時に試行錯誤した事
from Masataka Konowww.slideshare.net
Usb接続するアプリを開発した時に試行錯誤した事
【わかったこと】

・USBを接続するアプリについて、やり方、苦労したところについて。


【わからないこと】 

・USB Accessoryとは。

Androidの端末とアクセサリを接続するための
インターフェース仕様で接続されるアクセサリ機器のこと。

USB Accessory | Android Developers

電子工作室


はじめてのKotlinハンズオン - Google スライド

はじめてのKotlinハンズオン
【わかったこと】

・Kotlinの文法について。


【わからないこと】 

・ハンズオンはやるのみ(゚∀゚)

 

 

アプリを成長させるためのログ取りとログ解析に必要なこと from Takao Sumitomowww.slideshare.netアプリを成長させるためのログ取りとログ解析に必要なこと

【わかったこと】

・ログを書くことについて大切なことについて。

 

【わからないこと】 

・ANRについて。
Application Not Responding ANR Application Not Responding

アプリを強制終了するエラー。

 

わからないので、もう少し経ってから勉強したい。 

 

speakerdeck.comDagger2を活用してAndroid SDKの依存関係をクリーンにする

 【わかったこと】

・ほぼわからなかった😇 

【わからないこと】

DIコンテナ
オブジェクト注入と意味する。

コンストラクタで他のオブジェクトを参照するとき、実装前であっても、オブジェクトを注入することで、使うことができる。


(仕組みについてよく分からなかったので、拝見しました🙏)

qiita.com

qiita.com

 

わからないので、もう少し経ってから勉強したい。 

 

 

speakerdeck.com

 【わかったこと】

・ほぼわからなかった😇 

 

【わからないこと】
・OAuth 2.0
認可の仕組みのこと。
特定のデータへ特定の操作を許可すること。
(仕組みについてよく分からなかったので、拝見しました🙏)

qiita.com

 

わからないので、もう少し経ってから勉強したい。 

 

 

DroidKaigi 2018 - Dialogflow for Android from SENSY Incwww.slideshare.netDroidKaigi 2018 - Dialogflow for Android

 

【わかったこと】

・チャットボットについての話。
Dialogflowを使って、Androidアプリに入れてみました、まで。

 

やってみたい。

qiita.com

 

speakerdeck.comHTTPSの基本から
NetworkSecurityConfigまで

【わかったこと】

・HTTPではなく、HTTPSを使うようにしましょう、という話。

・証明書ってものがあるからその仕組みについて。

・悪意のあるユーザーから守る方法がある話。

 

 【わからないこと】 

・CA
認証局のこと。


・アンカー
ホームページで使われる別のページに移動するための仕組みのこと。

 

・平文
暗号化されてないデータのこと。

 

 

speakerdeck.comコードで見るFlutterアプリの実装

【わかったこと】

・ほぼわからなかった😇 

【わからないこと】

Dart言語
2011年10月、Google社によって公開された、Web向けオブジェクト指向プログラミング言語
JavaScriptの代替えとなる
プログラミング言語として開発された。

2015年にDart言語はどう変わってどこに向かっていってるのか - Qiita 

 

・プラットフォーム computing platform
コンピュータにおいて、主に、オペレーティングシステム (OS) やハードウェアといった基礎部分のこと。


クロスプラットフォーム cross-platform違うプラットフォーム(例えばPC/AT互換機Macintosh、あるいはWindowsmacOSFreeBSDLinuxなどのように、仕様が全く異なる機械(ハードウェア)または
オペレーティングシステム)上で、
同じ仕様のものを動かすことができるプログラム(ソフトウェア)のことを言う。   

 

やってみたい(o^ω^o)

qiita.com

 

speakerdeck.comGuide to build Gradle Plugin for efficient development

【わかったこと】

・Guideのプラグインを作る話。

・それを公開する話。

 

【わからないこと】

Gradle - Plugins

 為になりそうなので、やってみたい。(`・ω・´) 

 

 余談 

スポンサーブースが面白かったです。

パーティブースとかもわちゃわちゃ楽しかったです。

 

 

 

 

そんな感じでDroid君の名を連呼してたせいか、
転職ドラフトさんのガチャガチャで、
見事にフィギュアを引き当てることができました。
めちゃくちゃ嬉しい。ありがとうございます、ドラフトさん。 

 

 

知らないことを知れました。
自分が勉強不足なところもたくさんありすぎるので、復習していきたいです。

同じものを作ってる人たちがたくさんいる領域で
共有できて楽しかったです(゚∀゚) 来年もまた行きたいな〜。