はとのーと

エジソンノート(アイデア、思い付き、メモ)として使っています。誰かの役に立つかもしれないので公開しています。

メモ 2019-05

2019-05-01

Linuxで仮想コンソールを切り替えるにはCtrl+Alt+F1〜F6

unix.stackexchange.com

LinuxX Window SystemではCtrl+Alt+F1〜F6で別のコンソールに切り替えることができる。 または仮想コンソールを切り替える chvt コマンドも使える。

Arch Linuxでパッケージキャッシュを削除するには pacman -Sc

qiita.com

/varの使用量が100%になり、調べたらパッケージ管理ツールpacmanのパッケージキャッシュが44GBも食っていた。 pacman -S --clean (pacman -Sc) でキャッシュを削除した。

2019-05-07

インターフェイス再考:アラン・ケイ「イメージを操作してシンボルを作る」は何を意味するのか

以前にメモした 概念に触れることから、創造性は生まれる——OOUIの目当て #WIAD2019|デザインビジネスマガジン"designing" に次のような文言があった。

オブジェクト指向とは、オブジェクト自身が自分が何をできるのか知っているという意味である。——(アラン・ケイユーザーインターフェース 個人的見解』より)

そこで「ユーザーインターフェース 個人的見解」でググって発見したページ。

touch-touch-touch.blogspot.com

ケイとマクルーハンの『メディア論』の関係

上記ページに次のような文言があった。

ケイは,マーシャル・マクルーハンの『メディア論』を読み,コミュニケーション・メディアで最も重要な点は「メッセージを受けとることは,メッセージを復元することである10」と理解する.

そこで「メッセージ 受けとる 復元 アラン・ケイ」でググッて発見したページ。

hakkka.g.hatena.ne.jp

アラン・ケイマクルーハンから影響を受けたことについてのリンクがある。

copy and destroy

上記の記事を書いた方のはてなブログ

copyanddestroy.hatenablog.com

読まれている本に良いものが多いと思うので参考にさせていただきたい。

2019-05-09

SONY NEWSとSIOS

NEWS(1) NWS-800 | Good Old Bits

SIOS (1) 統合電子ファイリングシステム | Good Old Bits

tech.nikkeibp.co.jp

BPMN(業務プロセスモデリング表記)

上記記事にBPMNと書かれていたのでググッて発見。

www.bpm-portal.jp

SVGでテキストを割り付けるにはlength​Adjustを使う

stackoverflow.com

でtextタグのlengthAdjust属性を知った。

developer.mozilla.org

lengthAdjustには次の値を指定する:

  • spacing … 文字サイズは変わらず文字送り量(空白)だけが変わる
  • spacingAndGlyphs … 文字全体のサイズが変わる

これだとtextLengthに対して文字列が長い場合は拡大、短い場合は縮小する。縮小のみする方法はあるのだろうか?

2019-05-14

Microsoft Access vs Web App

www.experts-exchange.com

AccessとWebアプリはどちらがいいの?という質問に対して「Accessアプリの4〜5倍の予算があるならばWebアプリを作ればよいでしょう。Accessならフル機能のアプリが素早く作れます」と回答されている。 珍しくAccess擁護の論調。

10 reasons to turn your Access applications into Web-based applications

www.techrepublic.com

AccessアプリをWebアプリに変更する10の理由:

  1. 処理がクライアント側かサーバー側か
  2. クライアントへのインストールが不要
  3. クロスプラットフォーム展開の容易さ
  4. セキュリティを簡素にできる
  5. IISならNTドメイン認証が使える
  6. データベース破損と別れられる
  7. バージョンの問題がない
  8. 配布不要ですぐ更新できる
  9. 可搬性(Webサーバーがあればどこでも開発できる)
  10. ユーザー増加への対応
モバイルWebアプリのための軽量JavaScript UIライブラリApp.js

www.softantenna.com

App.jsを使うとWebアプリの見た目や操作性をiPhoneAndroidの標準UIのようにできる。

@IT連載: ウェブアプリケーションユーザーインターフェース

www.sociomedia.co.jp

ソシオメディア 上野先生の連載。

2019-05-15

PowerApps

このツイートからPowerAppsに興味を持った。

www.cloudtimes.jp

Office 365 Business Premium, Business Essentialsで使える。

products.office.com

月額900円のOffice 365 Businessでは使えない模様。

qiita.com

qiita.com

どうやらOne DriveやDropbox上のOffice文書などあらゆる情報をソース/ディスティネーションにできるYahoo! Pipesのような感じっぽい。

2019-05-16

ペルソナとシナリオ

www.atmarkit.co.jp

連載: ペルソナとシナリオを用いたソフトウェア開発

データベース・マイグレーション

www.slideshare.net

www.slideshare.net

※Migr8.rb については Migr8.rbについてのメモ - はとのーと にまとめました。

2019-05-17

Gitのブランチの内部構造

git-scm.com

  • Gitのブランチはコミット(スナップショット)についたタグ
  • git branch ブランチ名 で作成する
  • git checkout ブランチ名 で切り替えられる
  • コミットするとブランチ(タグ)は新しいコミット(スナップショット)につく
  • HEADは現在のブランチを表す特別なタグ
  • git log --oneline --decorate --graph --all でグラフィカル(文字罫線)にブランチとコミットの関係が表示される
GitでWordのdocxの差分を表示する

rakkyoo.net

docx2txtをGitのdiffに設定することでdocxファイルの差分を表示することができる。

2019-05-20

Starting Forth

www.forth.com

公式のForth入門。

PHPからExcelファイルに値を記入する

www.ka-net.org

PhpSpreadSheetを使ってExcelテンプレートファイルにPHPから値を書き込み、それをダウンロードさせる方法。

co.bsnws.net

以下の文字列をPHPの変数の内容で置換することができる。

  • { var }: 文字列
  • [ var ]: 縦に続く配列(1次元配列)
  • [[ var ]]: 横に続く配列(2次元配列)

2019-05-27

CSSレイアウトを学ぶ

ja.learnlayout.com

2019-05-29

NetBSDが他のBSDより良い選択肢になるのはどんな状況か? (FreeBSD, NetBSD, OpenBSDの比較)

Under which circumstances is NetBSD a better option than the other BSDs? : BSD

2019-05-30

SlimフレームワークとIdiorm

PHPでちょっとしたものを作るときに便利な軽量フレームワークと軽量ORM - 書き置き。

軽量シンプルなWebフレームワークSlimと、組み合わせて使える軽量ORMのIdiormについての紹介。

Pythonで写経自動化→倉頡輸入法

「写経」を自動化し、オートで功徳を積める仕組みを作ってみたのでございます。 - Qiita

IMEで入力→ESCでキャンセル→変換後文字をペースト、という方法でキーボードから自動入力されているように見せている。 コメントで入力部分の改善策として香港で使われている倉頡輸入法が提案されていた。

倉頡輸入法 - Wikipedia

漢字の特徴的なパーツを入力することで目的の漢字に変換する方式。 たとえば 人(O) 戈(I) 日(A) 口(R) と入力すると 倉 に変換される。

2019-05-31

MVCというデザインパターンはもはや十分ではない

MVCというデザインパターンはもはや十分ではない | ++頭道++

  • MVCは「利口なUIパターン」のようなものを序盤に排除してくれる働きがある
  • しかしMVC銀の弾丸ではない
  • Modelにデータベースアクセスまでやらせるなど責務が大きすぎることがある
  • MVCを拡張し、よりドメインとマッチした設計思想が必要
  • たとえば膨らみすぎたModelをEntityやValueObjectなどに分割する
  • ドメイン(業務ロジック)に着目し、それをいかに齟齬なく実装に落としこむかに着目した設計手法がDDDである
利口なUIパターン

ドメイン駆動設計アンチパターン「利口なUI」 - Qiita

ユーザーインターフェースビジネスロジックが入っているアンチパターン。 「なぜドメインモデルが必要か」という疑問への回答の1つ。 Microsoft Accessで作るとこのパターンになりがち。

ドメインモデルにViewのロジックが食い込んでくる問題

ドメインモデルにView固有の事情が入ってくることの対策 - Qiita

こちらは逆で、View横断で保存する必要のある情報をドメインモデルに入れると煩雑になるという話。

例として「ユーザーが設定した色やフォントがWebとスマホアプリの両方に共通して適用される場合、その情報はどこに置くか?」という問題が挙げられていて、解決策としては

  • × Userドメインモデルに置く
  • ○ Viewから共通して使えるデータベースを用意する

と提案されている。

小さいオブジェクトの組み合わせでドメインモデルを作成する

ちいさなオブジェクトでドメインモデルを組み立てる

www.slideshare.net

  • ユーザーのやりたいこと、個々の関心事を小さな部品で表現する
  • やりたいことの追加・変更は部品の追加・入れ替えで実現する
  • プリミティブな型をラッピングした小さな部品に業務に必要なデーターとロジックをカプセル化する
  • ドメインオブジェクトは小さく作る:
    • クラスは50行以内
    • メソッドは3行以内
    • パッケージは10ファイル以内
    • ひとつのメソッドのインデントは1段階まで
    • else句を使わない
    • すべてのプリミティブ、文字列型をラッピングする
    • 1行につきドットは1つ
    • インスタンス変数は2つまで
    • 名前は省略しない
    • if、forではなくenum、Strategy/Stateパターン、Missing Objectパターン、Map、Setなどを使う
    • ファーストクラスコレクションを使う
    • getterを使わない(ただしフレームワークはgetterを使ってよい。アプリケーションではダメ)
    • setterを使わないで完全コンストラクタ(Value Objectパターン)で不変オブジェクトを作成する