くうと徒然なるままに

モバイルアプリを作りながらバックエンドも作っています。

RecyclerView.ListAdapter でアイテム挿入後に何かしたい!非同期辛い!

RecyclerView を使って何かする時に ListAdapter を使ってますか? DIFFUtil を使うときに合わせて使うことが多いかなと思います。 問題点 submitList しても非同期で挿入されるため、 SubmitList() した直後にRecyclerView(Adapter) に対してあれこれすると…

NodeJS で Json のAPIを叩いてみる

コード const fetch = require('node-fetch') fetch("http://weather.livedoor.com/forecast/webservice/json/v1?city=130010") .then(response => { return response.json() }).then(json => { console.log(json.description.text) }) 結果

LiveData-Kotlin Extension を試してみた

基本的には、 Transformations の拡張関数の集合です。 implementation "androidx.lifecycle:lifecycle-livedata-ktx:2.1.0-alpha04" class MainActivityViewModel : ViewModel() { private val source1LiveData = Source1Livedata() // 同じものが流れてき…

TypeScript で コードの変更を検知して自動で Compile -> Unit Test までを実行する

TypeScript を書いてて Live Unit Testing みたいなのを やってみたいですよね。 Live Unit Testing とは、コードの変更を検知して即時に Unit Test を実行するものです。 さて、やっていきましょう 環境構築 typescript mocha (- chai) 適当に TypeScript …

20卒地方Fラン大のウェブ系就活記録

あなたは誰? 基本情報 くぅ寿司大好き 地方にあるFラン私立情報系に通う3回生 パソコン大好き 中学生の頃からプログラミングが大好きで、高校生の時にPHPやWindows Phone 向けアプリの開発に熱中、C#にハマりMicrosoft信者に、大学生の時にXamarinのイベン…

Android Architecture Components 勉強会 #5 に参加してきた。

せっかく東京にいるので、ということで AAC の勉強会に参加してきました。 Google で開催されてました。 GDE な人がたくさんいており技術難易度も結構高めだった気がします。 感想 めちゃめちゃ勉強になりました。 AAC は普段使っていてノリで色々しているの…

Power Assert を TypeScript で書いてる時に has no default export って言われる件について。

Type Script よくわからないのでとりあえず解決方法だけ書く。 npm install hoge~ は済んでる前提。 以下のコードの時にダメって言われた。 import assert from 'power-assert' 動くコード import * as assert from 'power-assert'

Azure Functions を NodeJS で動かす時には NodeJS のバージョンを8 or 10 にしなければいけない

NodeJS の LTS は 6,8,10 がリリースされています。 nodejs.org Azure Functions は開発ポリシーでLTS しかサポートされないそうです。 github.com 解決策 NodeJS のバージョンをNVM とかで切り替えれば良さそうですね。

Gradle 公式が出している kotlin-dsl のサンプル集リポジトリが良さそう

Kotlin-DSL を書こうとしていて色々つまづくことがあります。そんな時に参考にすると良さそうなリポジトリ。 プレーンなやつからBuildSrc を利用したりするやつまである程度揃ってる。 github.com

Spek/Kotlin を使っている時に LiveData を利用した Unit Test を記述する

Live Data を使ったコードのテストを記述する場合にはメインスレッドで実行しなければいけない Live data をUnit Test であれこれする時には、 MainThread で実行しなければいけないという制限が問題になります。 具体的には、 LiveData の setValue メソッ…

GMO ペパボでインターンシップをしていました。やっていき💪

タイトルの通り最近何かと話題なGMO ペパボでインターンシップをしていました。 技術的な話はにゃーんなことが含まれてるとにゃーんなので基本的には書いません。 どんな感じ? ポジションは minne の Android アプリ版開発です。 いわゆる業務のタスクを取…

kotlin で lambda 関数の呼び出しログと回数を記録できる便利クラスを作ってみた。

Unit Test 等で lambda 関数 を使用しているところで呼び出しログと呼び出し回数を記録したいことはたまによくあると思います。 そこで、記録できる便利クラスを書いてみました。 機能 呼び出しログの記録 回数の記録と検証(指定された回数呼び出されてなか…

Kotlinで文字列から雑にDate のインスタンスを作れる拡張関数

必要そうだったから書いてみた。エラー処理とかないので場所に応じて使うべし。 fun String.toDate(format: String = "yyyy/MM/dd HH:mm"): Date = SimpleDateFormat(format, Locale.JAPAN).parse(this) ex "2019/1/2 3:4".toDate()

やっていきって何? :yatteiki: の謎を追ってみた!

導入 渋谷とか六本木とかにあるIT企業で働いてる人が良く使い言葉に「やっていき」というものがあります。 私もTwitterなどでノリで使っています。 とはいえどの雰囲気で使っておりどのような意味を持つ日本語なのかよくわからないため調べてみました。 使用…

Android でプログレスリングを表示する方法。

そういえば、毎回ググってたなぁと思って書いた。 覚えるほどではないのに使うんですよね。。 <ProgressBar android:layout_width="wrap_content" android:layout_height="wrap_content" style="?android:attr/progressBarStyleLarge" /></progressbar>

Chrome Custom Tabs の Pre Fetch を Kotlin っぽく書いてみた。

Chrome Custom Tabs には Pre Fetch という機能が存在します。 これは、 Chrome Custom Tabs でウェブページを表示する前に事前に読み込んでおくことで表示速度の最適化を行える機能です。 自前実装しようとすると大変なこの機能ですが、 Google Chrome の機…

ChromeCustomTabs の Androidx パッケージ

ChromeCustomTabs を使うときに必要になるパッケージ名が Androidx では変更されていたため記事にします。 具体的には、以下のパッケージになっているようです。 implementation "androidx.browser:browser:1.0.0" 以下にパッケージの詳細が書いてあります。…

Android でタップしたときにリップルエフェクトを設定する方法

ForeGround に以下の属性を適用させるとできます。 android:foreground="?android:attr/selectableItemBackground"

JXUG (Japan Xamarin User Group) 名古屋支部 の運営募集します。

もっと早く宣言すべきだったかもしれない点についてはすいません。 注意点 JXUG 本家と JXUG 名古屋支部は距離的にも離れてますし運営とかはある程度別物です。 この記事の対象は 名古屋支部についての話です。 交代したい理由 Xamarin に対する興味が薄れて…

しがない大学生が #Droidkaigi に初参加してみた。

体調崩して投稿が遅れてしまいました/// DroidKaigi とは 02/7-02/8 に 新宿で開催された Android App Developer のためのカンファレンスです。 前日に shibuya.spk とかも開催されてたので前日に参加してたりしました。 参加した理由 Android アプリ開発の…

Android アプリのパッケージ依存管理と大変だったところ。

導入 Android アプリ開発をしていると各Module ごとに依存しているライブラリのバージョンや種類がバラバラになって後で苦労することは多々あると思います。 私の認識では、依存するライブラリを集中管理するためのテクニック。について書きます。 英語でグ…

Android App のCI を Azure DevOps から Circle CI に移行して大変だったところについて。

Azure DevOps から業界で幅広く使われている Circle CI に移行中です。 ※最近見てる企業では大体Circle CI 使ってるみたい。 また、DroidKaigi のアプリ開発やインターンシップで少しCircle CI を触った感触的には面白そうだったのも理由の一つにあります。 …

日本全国各都道府県で開催される勉強会の割合を調べたら東京が圧倒的だった。

日本全国各都道府県で開催されている勉強会、東京に集中して開催されてるなぁ。と思ったので調べてみました。 調べ方 大体の有名どころの勉強会の募集がされている connpass.com というウェブサイトがあります。そこのAPI を使ってデータを抜いてきました。 …

Android Studio が壊れた時は リストからプロジェクトを削除して再度開くといいかもしれない。

Android Studio を利用してプログラムを書いている時に壊れることはたまによくあると思います。 そんな時どうしますか?再起動、キャッシュ消す、パソコン再起動。 色々なことを試してみるとおもます。 今回の記事では、そんな時に試してみる施策の一つとし…

初心者がプログラマとしての能力を身に着けるには学生時代にIT 企業でインターンシップをすると良さそう。

こんにちは、明日名古屋駅まで遊びに行きます。 さて、本題。 以下のようなブログ記事が投下されてバズってます。 note.mu soudai.hatenablog.com kirimin.hatenablog.com 上記記事群の感想から自身の体験より「初心者がプログラマとしての能力を身に着ける…

2018年を振り返って。大変革な一年でした。

2018年を3行で アンヨヨイヨ インターンシップ 就活 2018年の感想 書き出してみると割と行動してました。 東京と地元を往復する日々でした。幸いなことに交通費は企業様から出していただけているため自費で行くことはありませんでした。感謝です。 振り返ってみる…

Android で ChipGroup に属しているChip を列挙する

ChipGroup Class には 追加されている Chip 一覧を取得できそうな関数が生えてないです。 val chipGroup = // Chip Group への参照を取得する val chipCount = chipGroup.childCount // 2 (0..chipCount - 1) .map { chipGroup.getChildAt(it) as Chip } .ma…

Flutter 向け CI/CD サービスについてLT してました。

Flutter 向け CI/CD サービスについてLT してました。 Nagoya iOS Meetup という 名前の通り名古屋で開催された iOS アプリ開発に関する勉強会でLT してきました。 話したこと Flutter 向け CI/CD サービスの Codemagic について話しました。 codemagic.io L…

Android-NDK で エラーがでた。 No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android

C++ で書かれたライブラリを Android 向けライブラリにビルドしようとしたら下記のようなエラーが出ました。 No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android mios64el-linux-android に対応した NDK Toolch…

IT エンジニア6人とFactorio をAzure の上で12時間プレイしてみた

Factorio してますか? RPS とか FA とか言われているものをゲームでもするやつです。 Factorio 毎年恒例(?)の CenterCLR ゲーム会が開催されました。 今年もゲームは、 Factorio でした。 環境 Discord で音声通話しつつFactorio 。 最初は19時までの…