メモ2ブログ

メモtoウェブログ。旧ブログはこちら。 http://sakebook.blogspot.jp/

pub.dev用にcredentials.jsonを再取得する

pub.devにpackageを上げる際にはpub.devの認可が必要です。まだであればpublishする際にブラウザが立ち上がり、ローカルにcredentials.jsonが保持されます。 CIなどに組み込みたい場合、このcredentials.jsonを環境変数に渡します。そして、有効期限が切れた…

Flutter製AndroidアプリできちんとSplashを設定する

Pluginのマイグレーション作業をしてたら気になって調べたのでまとめます。 情報はFlutter v1.17.5のものです。 Splash Androidのときにまとめましたが、Flutterでも同じです。 sakebook.hatenablog.com Flutterの場合、公式にドキュメントが用意されており…

電動式昇降デスクを設置する上でのTips

電動式昇降デスクを導入しました。これまではIKEAのデスクを部屋に置いていました。 知ってる人はもう少ないかもですが、昔あったLivlisというあげたいものと欲しい人をつなげるサービスで頂いた思い出のあるものです(新卒で上京してきたときに頂いてそこか…

Gradleタスクでadbを実行してアプリを起動する

ちょいちょいターミナルからビルドしてアプリを立ち上げたりとかしたくなるときがあり、都度一発でできてなくて面倒なところがありました。 そうすればいいのかーって思ったのでメモと、ちょっと汎用的にしたものを共有。 こちら見かけたやつです app/build.…

Kotlin/JSでLINE Botを動かす

Kotlin/JSを扱う題材としてCloud FunctionsでLINE Botを動かしてみたのですが、前回の記事がモリモリになってしまうので導入と実践を分けました。今回が実践編です。 前回の記事はこちら sakebook.hatenablog.com 環境は次のとおりです Kotlin v1.3.72 dukat…

Kotlin/JSでCloud Functionsを動かす

最近Kotlin/JSを触ってます。 実はCloud FunctionsがまだJavaをサポートしていないのでKotlinでCloud Functionsを動かそうと思ったらJSに変換する必要があります。 DartでもJSに変換してCloud Functionsを動かしたことがあったので、同じ用に動かせるのでは…

dukatでKotlin/JSを快適にする

前回、Kotlinで気持ちよくJSのライブラリを利用するには、モジュールを作成してあげる必要があると書きました。 sakebook.hatenablog.com しかしこれをちゃんとやろうとすると、結構な手間になります。 定義して使い回しできるようにしている人がチラホラい…

Kotlin/JSことはじめ

なんでもKotlinで解決したいと思いがちの筆者です。 Kotlin/JSを触ってみたので動かし方などまとめます。 環境は Kotlin 1.3.61 Node 13.3.0 です Setup Gradle Plugin kotlin js プラグインを使います。 build.gradle.kts plugins { kotlin("js") version "…

dartdocでAPIドキュメントを作成する

Dartで書かれたプロジェクトであれば、 dartdoc でドキュメントが自動生成できます。 $ dartdoc 自分が作りたかった理由はPluginのscoreを上げたかったからなのですが、ローカルで試すに当たり、Dart自体の、Pluginには不要なドキュメントが生成されてしまい…

2019年を振り返って

目標とか ジム通い 1月から通い始めていたのですが、目標週2ペースで行きたかったのですが、結果的には週1ペースでした。 体調崩したり旅行に行っていたことを考えると、継続できていたのかなと思います。 競プロ AtCoderを取り組んでたのですが、継続できま…

Flutter for WebのプロジェクトをGitHub ActionsでFirebase Hostingにデプロイする

タイトルのまんまです。 FlutterとFirebaseのバージョンは次のとおりです。 $ flutter --version Flutter 1.10.14 • channel dev • https://github.com/flutter/flutter.git Framework • revision 1946fc4da0 (12 days ago) • 2019-10-07 15:23:31 -0700 Eng…

GitHub ActionsでFlutterのPluginをリリースできるActionをMarketplaceに公開した

FlutterでPluginを作りたいと思ったらPubに登録するのが一般的です。 もともとGitHub Actionsでリリースできるようにしていたのですが、Pluginに依らずやることは同じなのでAction化してMarketplaceに公開しました。 github.com Marketplaceに公開までにあた…

パッケージが統合されたFlutter for Webへのアップグレード

Flutter for Webのパッケージがflutterに統合されました。それに伴い既存のFlutter for Webのプロジェクトでアップグレードが必要になったのでその記録です。 Upgrading まだstableには来てないのでdevに向けて、webを有効にします。 $ flutter channel dev …

技術書典7にFitbit本の続編を出した

先日開催された技術書典7にサークル参加しました。サークル参加としては2回目で、技術書典5以来なので1年ぶりの参加でした。 前回の参加記事はこちら sakebook.hatenablog.com 事前準備(執筆編) 1年ぶりで、結構色々忘れていました。 次の記事を参考に環境を…

DartでCloud Functions for Firebaseを動かす

最近FlutterでDartを触っているので、Dartでなにかできればなと思いました。 ちょっとした処理をしたくなって、Cloud Functions for Firebaseが使えればなと思い調べたところ、DartをJavascriptにトランスパイルしてCloud Functionsで利用できるようにするPl…

Flutterで秘匿情報を扱う

最近Flutterを触ってます。 Gitなどに載せたくない情報の扱い方についてのメモ。2つの方法を取り上げます。 .env + flutter_dotenv flutter_dotenvを使います。pubspec.ymlに以下を追加して pubspec.yml dependencies: .. flutter_dotenv: ^2.0.1 .. flutter…

DockerHubでAutomated Buildsを使った時にDocker Tagがうまく設定できない

OpenSSLでファイルの暗号化/復号化をしたくてAlpineベースのDockerイメージを作成しました。 github.com ググったら同じようなものがあったのですが、OpenSSLのバージョンやCA証明書が古かったりで使いにくかったので作成しました。 どのバージョンのOpenSSL…

2018年を振り返って

すでに2019年が10%以上過ぎてますが、2018年の振り返りをまとめてなかったのでまとめておきます。 はじめに目標としてたことに対して振り返ります。 目標としてたこと 自炊の回数を増やす 12月から自炊を再開しました。相変わらずパスタ一辺倒です。振り返っ…

Node.jsを使ったアプリケーションのサンプル集にlernaを使うと便利だった

先日参加した技術書典でFitbitのClock Faceの作り方に関する本を出しました。サンプルコードを添えたのですが、そこで使ったlernaが今回のようなケースと相性が良いと感じたので紹介します。 今回のケース 1つのリポジトリに複数のNode.jsのアプリケーション…

技術書典5でFitbit本を出すまで

技術書典5にサークルとして初参加しました。やったことや思ったことをつらつらと書きます。 参加の経緯や意気込みはこちらです。 sakebook.hatenablog.com 執筆の流れ スケジュール感などはこちらの記事を参考にしました。 執筆はRe:VIEWで行いました。と言…

技術書典5にサークル(う14)として参加してFitbitのClock Faceに関する本を出します

タイトルの通りです。 2018/10/08に開催される技術書典5に、サークルとして参加します。 サークル概要 サークル名は「sakebook」で、配置は「う14」です。 内容は「FitbitのClock Faceの作り方について」です。 techbookfest.org どうして参加したのか 前回…

2017年を振り返って

2017年の目標 ブログを20回以上更新 未達 GoとかPythonとかでWeb APIみたいなの作ってアプリに組み込み 未達 ライブラリにPRを送る 未達 設計力を高める 未達 やばいですね。。 ブログを20回以上更新 記事数は12本でした。間隔が空いてる期間がありますが、…

続続・Androidアプリ開発を学生に教えた話

今までと同じく、TRUNKから講師の依頼があったので講師をしてきました。 過去の話はこちらです sakebook.hatenablog.com sakebook.hatenablog.com 進め方 週一で、一回あたり2~3時間の全8回のコースで、全体を通すとおよそ2ヶ月のコースとなり、今までで最長…

Kotlinの可変長引数とフォーマット

Kotlinの可変長引数とフォーマットを利用した置き換えで詰まったのでメモ 可変長引数 メソッドの引数として定義するときは vararg を付けます。 fun someMethod(vararg args: String) { args.forEach { println(it) } } someMethod("one") // ok someMethod(…

JavaからKotlinに変換してSupport LibraryとMockitoとRobolectricでハマった話とその解決方法

先日勤務先で開発合宿に行きました。プロダクトのKotlin化が途中だったので、仕上げてきました。 スライドでは省略した、ハマった点の詳細を共有します。 確認できるサンプルを用意してあります。サンプルの環境は次の通りです。 Android Studio: 2.3.3 Supp…

BITRISEでPrivateなDockerイメージを利用してビルドする(Push時のみ)

自分のDockerイメージを作成したので、CIサービスでも利用して、環境を持ち運べるようにしたいなと思いました。 sakebook.hatenablog.com BITRISEがモバイルアプリのCIサービスとして良いという話を見かけたので、BITRISE上で自分のDockerイメージを利用して…

AlpineベースのAndroidビルド環境のDockerイメージを作成した

なるべく小さく、sdkmanagerにも対応させた、CI用のDockerイメージを作成しました。 Emulatorなどを利用したAndroid Testにはまだ未対応ですが、Unit Testは実行できます。 PublicなDockerHubに上げたかったのですが、ライセンス違反という話があるのでPriva…

RecyclerViewで複数のDividerを実装するライブラリ「MultiLineDivider」を公開しました

以前の記事で、RecyclerViewで複数のDivider実装する方法をまとめたのですが、これを使うには ItemDecoration を実装したクラスを作る必要がありました。 そのあたりをよしなにして導入できるライブラリを公開しました。 github.com 使い方 DividerItemDecor…

RecyclerViewで複数のDividerを実装する

RecyclerViewでは、Divider(区切り)は自分で実装しなければなりません。 標準の線を引く方法はよく見つかるのですが、複数の線を引いたり、逆に線を引かなかったりするというのがあまり見つからないのでまとめました。 Support Libraryに追加されたDividerIt…

DroidKaigi 2017で登壇してChrome Custom Tabsについて発表しました。

スライドとサンプルアプリと、そのコードです。 speakerdeck.com play.google.com github.com スピーカーから見たDroidKaigiと、それにまつわる個人的なメモです。 スピーカーから見たDroidKaigi DroidKaigiスケジュール 日程 出来事 行動 2016.10.01 CFP募…