Adobe XDを触ってみる日記#1

プロトタイピングのために、AdobeXDを触っている。これについても進捗をメモしていきたい。 アートボードを遷移でつなぎ、それなりに動く見た目にはなったが、ボタンがたくさんあるような設定画面で個々のボタンのためにアートボードを増やしたくはない。。。いい方法はないものかと調査中。あるあるだし簡単に実装できる方法があってもおかしくないので、チュートリアル動画を眺める。

helpx.adobe.com

シンボル化: シンボル化すると便利。

Androidアプリ開発日記#2 Android jetpackってなんだよ

Android jetpackというものがあるらしい。紹介動画を見る限り、GUIでいい感じに作れるし、過去互換もある程度保証してくれそうだし、UIなど4つのパートから構成されていて、個別に使うことも可能な様子。知人が「GUIでいい感じに生成できる」と言っていたのはこれだろう。Android開発の入門書(きっとAndroid studioの操作説明からはじまり、書いてあるままに読み進めれば、書いてある内容はとりあえず作れるタイプの入門書。途中で飽きてやらなくなるパターンの奴。)を読んで何となくアプリを作っているのはこれに違いない。おそらくこれを採用するのが無難なのだろうが、なぜそれなのだという背景くらいはおさえておきたい。 developer.android.com

それを確認するにはこちらのドキュメント。(ここに書いてあるように、アーキテクチャに関心を持つのはまだ早い気もするが。サクッと読もう。) developer.android.com

禁じ手:アプリのデータや状態をアプリコンポーネント内に保存してはならない。(おいおい、じゃあ一体どうしたらいいんだよ。と思わせて、すぐ解決策を示すのは関心の引き方として見習いたい。)

Table of contents アプリの推奨アーキテクチャ,概要までをまず理解したい。 関心の分離、UIをモデルで操作する、アプリコンポーネントアーキテクチャコンポーネント

コンポーネント、モジュール、パッケージ このあたりの用語をごっちゃにしているところがあるのでこれらも今度整理しよう。

Androidアプリ開発日記#1

ユースケースからスクラッチでソフトウェア設計をする方法は知っているけれど、Androidアプリを開発する上でモダンな設計方法は知らなかったりする。 ユースケースを書いて、ユースケース図を描いて、ロバストネス図を描いて...と、ICONIXが好みで使うことが多いから、いつもの調子で(思考停止で)設計をしていたが、これでよいのだろうかと立ち止まる。組込ソフトウェアを自社開発しているわけではないのだから、もっと良い(スマートな)方法が用意されているはずだし、先人が考案してくれているはずである。ということで調べてみると、以下の記事が参考になりそうである。簡単なMVPを作るにしても、何も知らずぐっちゃぐちゃというのもよろしくないので、はまり込まない程度に一通り目を通してみたい。

qiita.com

GO日記#2 A tour of Go.

A tour of Goの続き:

  • 大文字で始まる関数は、外部から参照できるExported name.
     Exported nameの場合、コメントの付与をコンパイラから推奨される。
  • 関数の型名は後ろに書く...直感的には気持ち悪い。
     理由は↓にあるらしい。後で読む。  blog.golang.org

  • 変数型名の省略が可。//これが有効な場面とは?

  • := は、型の省略ができる変数定義 //後で出てくる。
  • 関数は複数の戻り値を返せる
package main

import "fmt"

func swap(x, y string) (string, string) {
    return y, x // 複数の戻り値
}

func main() {
    a, b := swap("hello", "world")
    fmt.Println(a, b)
}
  • Named return value. "Naked" return  returnには何も書かず、冒頭で定義した変数が戻る。  関数の冒頭で、何が戻るか判るから可読性が向上する? こういう書き方もできると知っておけばよい気がする。  A tour of Goの説明にもあるように、一目でわかるレベルの関数であれば有効か。(5行程度までかな。)
package main

import "fmt"

func split(sum int) (x, y int) { //ここで定義
    x = sum * 4 / 9
    y = sum - x
    return //ここは何も書かなくとも、x,yが戻り値になる。
}

func main() {
    fmt.Println(split(17))
}
  • var 変数宣言を、一度に行える。
package main

import "fmt"

var c, python, java bool //ここ。

func main() {
    var i int
    fmt.Println(i, c, python, java)
}
  • 初期化子 Initilaizer  初期化子が持つ型によって、型宣言を省略できる。  // 何がうれしいの?いつうれしいの?デメリットは?
package main

import "fmt"

var i, j int = 1, 2

func main() {
    var c, python, java = true, false, "no!" //型宣言の省略
    fmt.Println(i, j, c, python, java)
}
  • :=  変数定義かつ初期化が可能  関数の中限定 //なんで?
package main

import "fmt"

func main() {
    var i, j int = 1, 2
    k := 3 //変数定義かつ初期化
    c, python, java := true, false, "no!"

    fmt.Println(i, j, k, c, python, java)
}

GO日記#1

Visual Studio Codeでgoを書いていると、import分が勝手に消えて四苦八苦した。 原因はフォーマッタ。 Goは使用していないimport文があるとエラーとなるが、 VScodeのデフォルトのフォーマッタでは、"math"が使用されていないと判断されて消えてしまう。 まるで読み取り専用になっているような挙動。。。

package main

import (
    "fmt"
    "math" //←ここが勝手に消える
)

func main() {
    fmt.Println(math.Pi)
}

以下の記事により解決しました。 qiita.com

脱退一時金を確定拠出年金へ移管できるらしい

2月末で退職することになった。それに伴い、退職一時金が支給されるとのこと。 前職と転職先企業から資料を頂いて見てみると、退職金(正確に書くと、確定給付型企業年金の脱退一時金)は確定拠出年金へ移管できる様子。 一時金として受け取ると、税金がかかるようだし、今すぐお金が必要なこともないので確定拠出年金へ移管できるのなら安心かな。 個人型のiDecoも移管するので、それと合算されることになるはず。

良かったこと スーツをクリーニングに出した HCI研究の論文を読んだ 荷物を受け取れた

改善点 朝からだらだらしていたこと