マインドマップからのタスク化について

こちらを聞いてマインドマップからタスクを作る方法をちゃんとやりたいなと思った

https://dex.fm/post/188178525293/083-my-dream-is-early-retirement
dex.fm

個人開発もしっかりやっていかないといけないな感じたので、なにか作ろうと思う。 なにかはまだ何も決まっていないけど

note.mu

最近githubで毎日日記をつけているんだけど、ちゃんと草がついていくっていうだけで続けている

きっと途切れたらもう二度と書かないんだろうな

リポジトリごと消す気がする

最近色んな所で仕事ができているので楽しい

遊びでも大阪行ったり京都行ったり福岡行こうとしたり北海道行こうとしている

ずっと家で仕事しているので少し楽しい気持ちになったりしている

なんとかモチベーションだったりいろんなやる気出して開発を続けていきたい

しかし移動は疲れる
僕には自力で走る以上のスピードで移動することはただの負担でしかない
引きこもりたい

WPの移行について

さくらのレンサバからkusanagi for さくらVPSにWPを移行した

移行していろいろ良くないことがあったので、簡単に書いておく

これはただのストレスを吐き出すだけで備忘録でもなんでもない

本当にレンサバは使いたくないという意志の現れ


スポンサーリンク





そもそもレンサバにインストールされているWPのバージョンが古いせいなのかDBの構成が違ってダンプ取って移行してもなんかダメだった 気のせいかもしれないけど出来なかった 調べてもいないので本当に気のせいかもしれない

All-in-One WP Migrationを使って移行したけどちゃんと移行できたり出来なかったり不安定だった プラグインまで移行できたり出来なかったり

ApacheからNginxにWebサーバを変更したせいかPHPのせいかAll-in-One WP Migrationのせいか知らないけどテーマがめちゃくちゃ崩れた デザイナーに全部直してもらったけどデザイナーも結構辛そうだったので原因は不明だけどやっぱりいろいろ良くない

.htaccessを使ったプラグインが多かったからApacheにすればよかったかな

プラグインの設定も死ぬから再設定したいけど、前の設定がよくわからないと終わる

なにが最善か分からないからもうこのままやったほうがいいかな

kusanagi導入

WPの新サーバとしてkusanagiを採用したので少しメモ

sakura VPS

さくらVPSのkusanagiのイメージを使って環境は整えました。 さくらVPSのコンパネでkusanagiイメージを選択してOSインストールするだけなので簡単でした。 少しハマったところとしてインストール時に80ポートを許可してあげないとkusanagiの初期設定してもWebの確認ができなかった。

kusanagiの初期設定

kusanagi init

対話式でもろもろ選択していくだけなので簡単

各サイトの設定

kusanagi provision ホスト名

別にホスト名じゃなくてもいいけど、この名前でディレクトリ諸々作成されるのでわかりやすくホスト名にした。 ドットはハイフンに直しても良かったかなと思うけど気にしないことにする。 こちらも対話式なので簡単に設定は終わる

移行にはAll-in-One WP Migrationというプラグインを使ったので特に旧サーバからプロジェクトやDBをコピーして持ってくるとかはしなかった。 新サーバでWPの初期設定をして持ってくるだけでできた。

バージョンが変わったせいなのか.htaccessの設定等々変わっているので不安なところはあるけどなんとかなりそう。

速度については未検証なのでなんとも言えないけど、レンサバからVPSにできただけでも嬉しいので、とりあえず良しとする。

天気の子見てきたので雑に感想書いた

 天気の子を見てきた。
公開日に2回見て小説を読んでもう1回見てきた。

 

なんかもやもやするので雑に文章にしていこうと思う。
文章とも言えないかもしれないけど、なんとなくまとめて見ようと思う。

 

僕は新海誠さんの作品は昔から好きで高校生の頃に「雲のむこう、約束の場所」を見て、友人と何だこの作品(内容がさっぱり分からない)となったのを覚えている。
それから何回も「雲のむこう、約束の場所」を見て、今でも見返せばセリフが出てくるくらいには脳裏に刻まれている。
「秒速5センチメートル」を見ては心が苦しくなり、当時高校生の自分の心をえぐりまくるようなそんな感情にさせられていた。
コスモナウトは本当にやばい。今見てもなんかぐさっと胸に突き刺さる。

 

「君の名は」を見た感想は今までの作品とは大きく何かが変わっと言う感じだったと思う。
製作委員会を発足させたとかそういうところでいろいろ変わったのかなと、推測したりしていた。
ただ新海さんの中2男子のようなところが大好きなのでそういう描写がいくつかあったのはとても良かった。

 

そして今作の「天気の子」、「君の名は」では想定外に作品がヒットしてしまい、いろんなところでいろんなことを言われたそう。
死んだ人を生き返らす映画とか災害をなかったことにしたとか。
そんな中でもっと叱られる作品を作らなければと思う新海さん本当に(自粛)て好きです。

 

続きを読む

隠しファイルも含めてcp,mvする

vagrantしたあとにそこにgit cloneしたいよってことが何度があったので一度cloneでカレントへディレクトリを作成してからカレントへ戻すということをしている。

めんどくさいので普通はこういうふうにするよっていうの教えてほしい。。。

cd /var/www/project -> ここをvagrantのカレントにしているのでvagrantfile等がある

git clone git-url git-project
cd git-project
mv * .[^\.]* ..

他にもlaravelでcreate-projectしたときとかよく使っている 空じゃないディレクトリにcreateする方法ってなかったっけ…?

BottomNavigationViewにバッジをつける

AndroidのBottomNavigationViewにバッジを付ける方法

今回は良さそうな AHBottomNavigation というライブラリを採用した

build.gradleに追加

implementation 'com.aurelhubert:ahbottomnavigation:2.1.0'

layoutはこんな感じ

<com.aurelhubert.ahbottomnavigation.AHBottomNavigation
            android:id="@+id/navigationView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="?android:attr/windowBackground"
            app:itemIconTint="@drawable/bottom_navigation_item_state"
            app:itemTextColor="@drawable/bottom_navigation_item_state"
            app:labelVisibilityMode="labeled"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintRight_toRightOf="parent"
            app:menu="@menu/navigation" />

menuはBottomNavigationViewと同じでOK


スポンサーリンク





ナビゲーションのセットアップ

対象のActivityに追加

onCreateとかで良い

AHBottomNavigation navigation = findViewById(R.id.navigation);
mAdapter = new AHBottomNavigationAdapter(this, R.menu.navigation);
mAdapter.setupWithBottomNavigation(navigation);
navigation.setOnTabSelectedListener(mOnTabSelectedListener);

ナビゲーションの実装

private AHBottomNavigation.OnTabSelectedListener mOnTabSelectedListener = new AHBottomNavigation.OnTabSelectedListener() {
    @Override
    public boolean onTabSelected(int position, boolean wasSelected) {
        MenuItem menuItem = navigationAdapter.getMenuItem(position);

        switch (menuItem.getItemId()) {
            case R.id.menu1:
                webView.loadUrl(getResources().getString(R.string.system_url));
                return true;
            case R.id.menu2:
                webView.loadUrl(getResources().getString(R.string.tab_message));
                return true;
            case R.id.menu3:
                webView.loadUrl(getResources().getString(R.string.tab_camera));
                return true;
            case R.id.menu4:
                webView.loadUrl(getResources().getString(R.string.tab_etc));
                return true;
        }
        return false;
    }
};

バッジを付けるメソッド

適当なところで呼んであげる

private void showNotification(int count) {
    int position = navigationAdapter.getPositionByMenuId(R.id.menu2);
    AHBottomNavigation navigation = findViewById(R.id.navigationView);
    navigation.setNotification(count == 0 ? "" : String.valueOf(count), position);
}

Android で アプリ実行時に Waiting For Debugger が表示され続ける

前提

発生前提として、
DeployGateからインストール
他の端末では起こらずに特定端末のみ
再インストールをしても直らない

解決方法

あまりにも単純だったが、再起動で直った

むしろなぜ再起動を試さなかったのか疑問ではあるが、戒めのために記事にした。

まとめ

何事も困ったら再起動!

ハードもソフトも機嫌が悪くなったらとりあえず再起動をすればそれまでのことは綺麗サッパリ忘れて期待通りの動きをしてくれることがある

もし再起動でも直らないのなら機嫌の問題ではなく全面的に自分のせいだと思って行いを見つめ直しましょう

Android Java WebViewでtarget=_blankのリンクを外部ブラウザで表示する

こんな感じ

        WebChromeClient chromeClient = new WebChromeClient() {
            public boolean onCreateWindow (WebView view,
                                           boolean isDialog,
                                           boolean isUserGesture,
                                           Message resultMsg) {
                Message href = view.getHandler().obtainMessage();
                view.requestFocusNodeHref(href);
                String url = href.getData().getString("url");

                view.stopLoading();
                Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
                startActivity(browserIntent);
                return true;
            }
        };

        webView.getSettings().setSupportMultipleWindows(true);
        webView.setWebChromeClient(chromeClient);

簡単に説明

URL取得して

                Message href = view.getHandler().obtainMessage();
                view.requestFocusNodeHref(href);
                String url = href.getData().getString("url");

外部ブラウザで表示

                Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
                startActivity(browserIntent);

マルチウィンドウ許可

        webView.getSettings().setSupportMultipleWindows(true);

セット

        webView.setWebChromeClient(chromeClient);

THE☆雑