日々是好日

プログラミングについてのあれこれ、ムダ知識など

プログラミング

CoordinatorLayout+Toolbar+BottomNavigation+FAB使用時のメモ

RecyclerViewのスクロールにあわせてToolbarやBottomNavigationView, FloatingActionButtonを隠そうとしたら、いろいろとハマったのでメモ。 何をしたいのか レイアウト CoordinatorLayout Toolbarの場合 AdView, BottomNavigationViewの場合 FABの場合 リポ…

Sushi Buffet を支える技術 ver2.0.0

VS Code でいつでも回転寿司を眺められる拡張機能を作りました。 sushi-buffetを支える技術 - 日々是好日 のメジャーアップデートです。 マーケットプレイスはこちら。 marketplace.visualstudio.com ぎとはぶ github.com どうやって回転させているの? 追加…

sushi-buffetを支える技術

VSCode の背景にたくさんのお寿司を流す拡張機能を作りました。 Flow Many Sushi on VS Code(拡張機能名: Sushi Buffet)流れるSushi。CSSけっこうがんばった。マーケットプレイスに公開済 pic.twitter.com/9B6YGR6llc— KC# (@kcpoipoi) 2019年5月2日twitte…

VSCode 拡張機能開発で OAuth 認証 - 4

VSCode 拡張機能開発で OAuth 認証 - 3 <終> - 日々是好日 この記事の続き。型エイリアスと async/await で、OAuth 認証フローをもっと簡単に記述してみた。 認証には oauth モジュールを使用。 全ソースはこちら↓ github.com

VSCode Extension を VSIX ファイルでインストール

開発した拡張機能をインストールしたときのメモ。

VSCodeから記事編集

oauth.put この記事は VSCode 拡張機能からoauth.putをコールして編集しました。

はてな API を叩いて投稿

はてなブログへの記事投稿部分の実装。この記事も VSCode 拡張機能からの投稿です。 HatenaBlogUtil Post するデータはまるっとoauth.postのcontentに入れてしまえば OK らしい。 export default class HatenaBlogUtil{ postMember() { ... const folders = …

ファイル・フォルダを生成して VSCode エクスプローラにドンッッ

やりたいこと コード上でファイル・フォルダを生成する 生成したファイルを VSCode のエクスプローラに表示する コード vscode.WorkspaceEditとvscode.workspace.applyEditを使えばできそうだと思いましたが、 ファイルできる気配がない……( ˘ω˘)ウーン const ed…

updateWorkspaceFolders でハマった件

症状 vscode.workspace.updateWorkspaceFolders(0,0,{uri: vscode.Uri.parse('フォルダパス')}); を実行したら、デバッグは正常に起動しないわなんかメニューバーもサイドバーも表示されない真っ黒い VSCode 画面が表示されるわで冷や汗かいたのでメモ。 デ…

はてなAPI叩いてみた

とりあえず叩いてみただけ。 はてな Blog のカテゴリ一覧取得。oauthモジュール Promise ベースでできれば……ってコールバック地獄になるわけではないから別にいいか( ˘ω˘) this.atomUri = `https://blog.hatena.ne.jp/${id}/${domain}/atom`; /** * Get Hate…

VSCode 拡張機能開発で OAuth 認証 - 3 <終>

最終的にこんな形になりました。Promise ベースで Http リクエストを送れるrequest-promiseモジュールを新たに導入しました。

VSCode 拡張機能開発で OAuth 認証 - 2.5

前回の記事のリクエスト部分を書き直した。 やったことはaxiosを追放して、request及びoauthモジュールで OAuth 認証を完了させたところ。すまんaxios。

VSCode 拡張機能開発で OAuth 認証 - 2

力技で Access Token の取得までやってやりました!!ヾ(:3ノシヾ)ノシ 参考 www.iruca21.com やったこと コード リクエストトークンの取得 はてなログイン処理 連携許可処理(oauth_verifier の取得) Access Token の取得 所感 やったこと VSCode 拡張機能では…

VSCode 拡張機能開発で OAuth 認証 - 1

VSCode で はてなブログ に直接投稿する拡張機能を作っています(唐突)が、OAuth 認証でクソハマったので( ..)φメモメモ ※今回は Request Token の取得までしかできていませんのであしからず ※※getOAuthRequestTokenのcallback_urlに間違いがあったので修正

VSCode の拡張機能開発おぼえがき

完全に趣味( ˘ω˘) 翻訳元 code.visualstudio.com onCommand: Activation Event onCommand:extension.helloWorld ユーザがHello Worldコマンドを実行したときにactivate contributes.commands: Contribution Point コマンドパレットにコマンドを提供 "command…

HeaderView に Animator を DataBinding で実装

参考 medium.com 前回に引き続き、HeaderView と DataBinding でいろいろやった話。 Android Studio 3.2.1 アーキテクチャ : MVVM 言語 : Kotlin やりたいこと NavigationDrawer の項目をタップすると、HeaderView の背景色(ConstraintLayout.background要…

HeaderView + DataBinding でハマった話

HeaderView に DataBinding でアニメーション実装しようとしたら意外とハマったのでメモ。 アーキテクチャ : MVVM 言語 : Kotlin ハマりポイント HeaderView は動的に生成しないとバインドされない NavigationDrawer のapp:headerLayoutは使わない 正直これ↓…

DataBinding で ViewHolder パターンを書き直してみた

ListView と DataBinding を組み合わせてガリガリ書いてましたが、RecyclerView に置き換えて使わなくなってしまったので供養のための投稿です。 完全にメモなので詳細な説明はなし……すみません(; ˘ω˘) 言語は Kotlin です。 data class 定義 ListView に表…

MVVM 完全に理解した - 11.5

DataBindingとViewModelについてまたもやクソ勘違いしてたので安らかな死( ˘ω˘)スヤァ— KC@MVVMでアプリ再考 (@kcpoipoi) December 22, 2018 ということで(?)、安らかな死因を述べます。 ViewModel + DataBinding + LiveData の重要なメソッド kcpoipoi.hatenab…

MVVM 完全に理解した - 11

前回は、 Android Architecture BluePrints の TasksRepository クラスについて見てきましたが、途中で Dependency Injection (長いので以下 DI )に関係してそうな Injection というクラスが出てきました。 今回はこの Injection クラスより、どのようにデ…

MVVM 完全に理解した - 10

前回は期せずして MVVM っぽく ViewModel を介してイベントをやり取りする実装を載せることができました。 View と ViewModel との関係はそこそこ書いてきたと思うので、今回は Model を見ていきます。 Model とは wikiる。 アプリケーションのドメイン(問…

MVVM 完全に理解した - 9

前回は、Activity 1枚と Fragment 1個の構成における Data Binding の基本的な構造について確認しました。 所感において「次は Navigator インターフェースを定義して、テキストのクリア機能と大文字化、小文字化機能を追加してみようと思います。」と書いて…

MVVM 完全に理解した - 8

前回は Activity 1枚だけの超簡単構成だったので、今回は Activity 1枚と Fragment 1個に少しだけ発展させてみます。 機能と外観 変更点 手順 MainViewModel.ktの確認 activity_main.xmlの修正 fragment_main.xmlの作成 MainFragment.ktの作成 View の infla…

MVVM 完全に理解した - 7

前回 Android Architecture BluePrints を読んで挫折した(早っ)ので、基本に立ち返り最もシンプルな構成で Data Binding を体験してみます。 作るのは、MainActivity 1枚だけのミニアプリです。 純粋にリファレンスに沿って実装しました。 機能と外観 手順…

MVVM 完全に理解した - 6

MVVM 理解するために、小さいテストアプリを作ってみます。 お題は前回投稿した簡易メモアプリ。 プロジェクトを作る MVVMPractice とでもしてプロジェクト生成。 Gradle の編集 Data Binding と Architecture Components を有効にするため、app.gradleに次…

MVVM 完全に理解した - 5

お待ちかね Two-way data binding(双方向バインディング) です。 Two-way data binding | Android Developers ホントは一つ前の Bind layout views to Architecture Components についても書いてみたいところですが、そろそろ双方向バインディングも書かな…

MVVM 完全に理解した - 4

前回、次は双方向バインディングと言いましたが、その前に Observable object というものをやらないとつながらないのでそちらを少しだけ。 今回はこちらのページから。 Work with observable data objects | Android Developers Observable fields 前回は不…

MVVM 完全に理解した - 3

今回は Data Binding について。 といってもなかなか一筋縄ではいかないので、本記事ではデータをバインドするところまで。 ちょっと長いので目次付けてみる。 Data Binding Library の概要 ライブラリの導入 レイアウトファイルへの記述 データをバインドす…

MVVM 完全に理解した - 2

今回は ViewModel について。 ViewModel とは developer.android.com The ViewModel class allows data to survive configuration changes such as screen rotations. Activity が破棄・再生成される画面回転などの操作について、(UI と関連した)データを…

MVVM 完全に理解した - 1

LiveData について調べたこと。 Observer パターンと総称型(ジェネリクス)について知っていると幸せになれるかもしれません。 LiveData とは LiveData | Android Developers LiveData is an observable data holder class. 監視可能なデータホルダークラス…