Androidアプリ 「World Ama Shopping」のご紹介

本記事の概要

各国Amazonサイトの商品を調べるときに簡単に調べられるように Androidアプリ「World Ama Shopping」を開発・リリースしました。 簡単に各国Amazonサイトの商品を調べられます。

f:id:rydeenworks:20210305194250p:plain

本記事では以下を説明します。

  • アプリの使い方
  • 各国の商品の違い(利用例)

アプリの使い方

入手方法

GooglePlayからインストールします。

https://play.google.com/store/apps/details?id=com.rydeenworks.amago

Get it on Google Play

アプリの説明

メイン画面

f:id:rydeenworks:20210305194358p:plain

AmazonURL

検索対象のAmazonサイトを表示します。タップすると"Select Country"画面に遷移して、Amazonサイトを選択できます。

Search Word

検索したいキーワードを入力できます。

Sort Order

Amazon商品検索結果の並び順を指定できます。

GoTo Amazonボタン

Amazonサイトで商品検索を実行します。

各国の商品の違い(利用例)

"Emacs"で検索してみました。各国で違いがあって面白いです。

f:id:rydeenworks:20210305194433j:plain

f:id:rydeenworks:20210305194455j:plain

f:id:rydeenworks:20210305194521j:plain

f:id:rydeenworks:20210305194543j:plain

f:id:rydeenworks:20210305194603j:plain

f:id:rydeenworks:20210305194624j:plain

f:id:rydeenworks:20210305194643j:plain

映画監督「大林宣彦」作品をAmazonプライムビデオで観る(2021年1月時点)

以前、こういう記事を書きました。

rydeenworks.hatenablog.com

Amazonプライムビデオで視聴できる大林宣彦監督作品が以前の記事から変わってますので、2021/1月の状況を整理しました。 私は気になっていた初期作品『HOUSE ハウス』を観る事ができました、面白かったです。

Amazonプライムビデオで視聴できる大林宣彦監督作品

注)情報は2021年1月10日時点のものです。実際の情報はAmazonプライムビデオのサイトで確認してください。(タイトルからプライムビデオページへリンクしてます)

タイトル 視聴可能 予告編
HOUSE ハウス あり
ふりむけば愛 あり
金田一耕助の冒険 あり
ねらわれた学園 なし
転校生
時をかける少女 なし
天国にいちばん近い島 なし
少年ケニヤ なし
廃市 あり
さびしんぼう あり
姉妹坂 あり
彼のオートバイ、彼女の島 あり
日本殉情伝 ...
異人たちとの夏 あり
ふたり あり
青春デンデケデケデケ あり
風の歌が聴きたい
理由 なし
転校生 -さよなら あなた- あり
この空の花 -長岡花火物語 あり
野のなななのか あり
花筐/HANAGATAMI あり

○:Amazonプライムビデオの定額サービスで視聴可能

△:有料レンタル等で別途料金がかかるが視聴可能

ー:Amazonプライムビデオで視聴できないもの

大林宣彦監督作品の入り方(どの作品から観るか)

もちろんご自身の好みで観れば良いと思います。

Amazonプライムビデオで予告編が無料で見られるものがありますので、予告編を見て好みの映画か判断するのも良いと思います。

普段あまり映画(特に邦画)を見ない方は長時間の映画や難解な映画は避けた方が良いと思います。

上記3つが大林宣彦監督作品として入りやすいと思いますので参考にしてください。

参照

図書館の予約を便利にするアプリの紹介

私は図書館をよく利用するのですが、大林宣彦監督は本も出しています。読みたい本が図書館にあるかAndroidアプリ 図書さがし(Google Play)で簡単に調べることができて便利です。

使い方は紹介記事を見てください。 rydeenworks.hatenablog.com

ブラウザブックマークによるGTDのinbox整理方法について

本記事で解決する事

GTDではinboxに情報収集するという考えがあります。 inboxにどんどん情報を収集した結果、情報を整理できずに活用できなくなってしまう事があると思います。 本記事ではinboxの整理を上手くやる方法について紹介します。

本記事の概要

本記事ではGTDの5ステップのうち、ステップ1-3をブックマーク機能を使って実現する方法を説明します。

  • STEP1 CAPTURE - あなたの気を引くものを捕らえる ->ブラウザからブックマークする
  • STEP2 CLARIFY - それが何を意味するのか明確にする ->ブックマークを定期的に見直す
  • STEP3 ORGANIZE - それをあるべき所に整理する -> ブックマークを定期的にしかるべきフォルダに移動する

この運用のメリットは次のとおりです。

  • ブックマークするだけで CAPTURE できる
  • ネットから得た情報はブックマークで一元管理するルールにできる
  • ブックマークはアカウントに紐づくのでスマホ・ノートPCなど端末に依存せずに参照できる

ブックマークでinboxを簡潔に運用する事で、ステップ1−3のサイクルが回るようになります。

本記事の著者について

もともと手帳術のようなものが好きで20年くらい続けています。 その過程でGTDを知って、自分なりのやり方をブラッシュアップし続けています。 メモ帳を電子化する事で手帳術を強化できないかと考えて、Emacsとorg-modeも5年ほど愛好しています。

f:id:rydeenworks:20191027224859j:plain

STEP1 CAPTURE - あなたの気を引くものを捕らえる

準備

ブックマークのフォルダ構成を決めておく事が大事です。 フォルダ構成を決めておかないと、GTDをスピーディに運用できないからです。

フォルダは1つのinbox、複数の整理用フォルダを用意します。整理用フォルダは、過去記事のgoal.org「私生活の大事な事や目標など実現したい事」の構成に合わせます。

私の場合、トップフォルダは以下のようなイメージです。 ブックマークが多くなってきたらサブフォルダを作ってください。

フォルダ名 役割
inbox 最初に入れる場所
goal 自分の人生を通して極めたい事の参考資料
life-work 個人的な研究・プロジェクトの参考資料
maintenance 人間関係・資産・自分自身のメンテナンスの参考資料
rice-work 今の仕事に役立つ事の参考資料

ブックマークする

ネットサーフィンしていて気になる記事を見つけたらブックマークします。 ブックマークは全てinboxに保存します。

以上でステップ1は終わりです。

STEP2 CLARIFY - それが何を意味するのか明確にする

準備

inboxに貯めたブックマークは時々は棚卸しましょう。 1ヶ月、3ヶ月、半年、1年などのタイミングが良いと思います。 なぜなら、少し時間を置いてブックマークを見直すと、やっぱり不要な情報だと冷静に気づけるためです。

準備として以下が必要です。

  • 時間 - ブックマークを整理するための1時間程度のまとまった時間
  • 整理方針 - 「私生活の大事な事や目標など実現したい事」とその優先順位
  • 整理する強い意思

ステップ2の運用

棚卸しの目的はGTDの以下のプロセスの実行です。

それが実行可能なら次のアクションやプロジェクトにする。そうで無ければ、捨てるか、参考資料にするか、保留にする。

私の経験上、ブックマークは「参考資料」か「捨てる」のどちらかです。「次のアクション」や「プロジェクト」にはせずに、目的のための「参考資料」とした方が運用しやすいためです。同様の理由で「保留」にはせずに、目的に役立つかどうかで「参考資料」か「捨てる」かどちらかにします。これでinboxを空にできます。

ステップ2と3はセットで行います。 ステップ2はステップ3の準備と考えて良いと思います。

STEP3 ORGANIZE - それをあるべき所に整理する

ブックマークの整理

ステップ2で整理方針が決まれば、ステップ3でinboxのブックマークを整理します。

分類 整理方針と照らし合わせた結果 処理
参考資料 目標や実現したい事に役立つ情報 ブックマークを移動する
捨てる 不要な情報 ブックマークを削除する

以上で終わりです。

参考

GTDの5ステップ

https://gettingthingsdone.com/what-is-gtd/

オススメの本

図書館の予約を便利にするアプリの紹介

私は図書館をよく利用するのですが、上記の本は図書館から借りました。本も「参考資料」としてブックマークしています。本が図書館にあるかAndroidアプリ 図書さがし(Google Play)で簡単に調べることができます。このアプリは私が開発しました。

詳しくは以下の記事をご覧ください。 rydeenworks.hatenablog.com

Androidアプリ「図書さがし」で20冊借りた2020年読書を振り返る

1. Android向けアプリ「図書さがし」の紹介

読書好きの自分がもっと便利に図書館から予約するために作ったアプリです。

私の使い方は以下の通りです。

(1)ネットをしていて気になる本に出会うと、まずAmazonのレビューを見ます。

(2)レビュー見て自分が読みたいと思ったらアプリで調べます。

(3)図書館で借りられる場合は、予約します。

アプリはGooglePlayからインストールできます。全く文字入力せずに調べられるのが、このアプリの良いところです。 Get it on Google Play

2. 借りた本

2.1. ビジネススキル関連(7冊)

今年は働き方や採用など長期的な展望や指針を考えるために本を読みましたが、のめり込む本に出会えませんでした。特定の状況で通用する事例や経験論よりも論理的で再現可能な内容の方が好みです。 「NO HARD WORK!」「ビジネスマンの父より息子への30通の手紙」は参考になりました。来年は(事例や経験論ではなく)具体的スキルに落とし込まれた本を読みたいと思います。

タイトル
NO HARD WORK!
3分間コーチ
人事の超プロが明かす評価基準
NETFLIXの最強人事戦略
ビジョナリーカンパニー 2
ビジネスマンの父より息子への30通の手紙
ワーク・ルールズ!

2.2. 科学・哲学関連(7冊)

「確率の出現」がとても面白かったです。あとは「ストア派(文庫クセジュ)」が良くて、ストア派についての知識の整理ができました。「セネカ」は年末年始に読みます。「自省録」は今年3回借りましたが読み切っておらず来年も様子見しそう、相性の問題かも。2021年は「セネカ 道徳書簡集―倫理の手紙集」「自省録」と確率関係の本に絞ろうと思います。図書館の良いところは、本が合わなくても金銭的ダメージが少ない所ですね。

タイトル 感想
運ぶヒトの人類学 面白いが興味なかった
セネカ 読書中
ストア派 とても良い
自省録 未読了。来年持ち越し
測りすぎ いまいちピンと来ない
確率の出現 とても良い
その悩み、哲学者がすでに答えを出しています 興味なかった

確率の出現

確率の出現

ストア派 (文庫クセジュ)

ストア派 (文庫クセジュ)

セネカ (文庫クセジュ)

セネカ (文庫クセジュ)

2.3. プログラミング系(4冊)

どれもほとんど読んでません。プログラミングはネットや動画を活用しています。2020年はSDL2というゲーム用ライブラリで遊んでました。あとは9ccというCコンパイラ作りがためになりました。PodCast「Rebuild FM」は継続して聞いてます。

タイトル
プロセッサを支える技術
リファクタリング・ウェットウェア
The DevOpsハンドブック
プログラミングWindows

2.4. 趣味・小説(2冊)

個人的な趣味なので特にオススメは無いです。

タイトル
発酵の技法
三体

発酵の技法 ―世界の発酵食品と発酵文化の探求 (Make:Japan Books)

発酵の技法 ―世界の発酵食品と発酵文化の探求 (Make:Japan Books)

  • 作者:Sandor Ellix Katz
  • 発売日: 2016/04/23
  • メディア: 単行本(ソフトカバー)

三体

三体

3. 買ったらいくら?

合計:48,042円です(2020/12月 Amazonで調査)。図書館に感謝します。

Androidアプリ「図書さがし」で34冊借りた2019年読書を振り返る

1. Android向けアプリ「図書さがし」の紹介

読書好きの自分がもっと便利に図書館から予約するために作ったアプリです。

私の使い方は以下の通りです。

(1)ネットをしていて気になる本に出会ったらAmazonのレビューを見る

(2)レビュー見て自分が読みたいと思ったらアプリで調べる

(3)図書館で借りられる場合は予約する

アプリはGooglePlayからインストールできます。全く文字入力せずに調べられるのが、このアプリの良いところです。 Get it on Google Play

2. 借りた本

2019年は次の本を借りました。

2.1. ビジネススキル関連(11冊)

「学習する組織」「全体最適の問題解決入門」「ロジカル・プレゼンテーション」「はじめてのGTD ストレスフリーの整理術」の4冊が特にのめり込んで読みました。ビジネス系の本は内容が論理的で再現可能かどうかで自分は評価します。時間がなくてほとんど読まずに返却したため評価してない本もあります。

タイトル
「仕組み」仕事術
アナタはなぜチェックリストを使わないのか?
学習する組織
ケースで学ぶTOC思考プロセス
無敵の思考
全体最適の問題解決入門
過剰管理の処方箋
ロジカル・プレゼンテーション
60分間・企業ダントツ化プロジェクト
はじめてのGTD ストレスフリーの整理術
起業の科学

学習する組織――システム思考で未来を創造する

学習する組織――システム思考で未来を創造する

全体最適の問題解決入門―「木を見て森も見る」思考プロセスを身につけよう!

全体最適の問題解決入門―「木を見て森も見る」思考プロセスを身につけよう!

全面改訂版 はじめてのGTD ストレスフリーの整理術

全面改訂版 はじめてのGTD ストレスフリーの整理術

2.2. 科学・哲学関連(12冊)

「道徳書簡集」を知ったのが一番の収穫でした。「哲学の原風景」「ストア派の哲人たち」も興味深かったです。「科学哲学への招待」も自分の興味ある内容で良かったです。 もともとはナシーム・ニコラス・タレブの影響で、古代から淘汰されずに残った本の方が(新書よりも)価値があるという考えに基づいて、古代の哲学の思想に取り組んだのが2019年でした。大変面白かったです。最初は間違って東洋の思想ということで四書五経を読もうとしたのですが、なんか違うと気づいて西洋哲学にしました。

タイトル
強さと脆さ
ブラック・スワン箴言
セネカ入門
ルキリウスへの手紙/モラル通信
道徳書簡集
人生談義 (上)
ストア派の哲人たち
科学哲学の冒険
科学哲学への招待
哲学の原風景
四書五経入門
日本の名著 (13) 伊藤仁斎

セネカ 道徳書簡集―倫理の手紙集

セネカ 道徳書簡集―倫理の手紙集

哲学の原風景 古代ギリシアの知恵とことば (NHKライブラリー)

哲学の原風景 古代ギリシアの知恵とことば (NHKライブラリー)

  • 作者:荻野 弘之
  • 出版社/メーカー: NHK出版
  • 発売日: 1999/11/01
  • メディア: 単行本(ソフトカバー)

科学哲学への招待 (ちくま学芸文庫)

科学哲学への招待 (ちくま学芸文庫)

2.3. プログラミング系(5冊)

どれもほとんど読んでません。プログラミングはネットや動画で学ぶ時代だと思います。ドットインストールとProgateは時々課金して有料講座受けてます。2020年はPythonとKotlinに習熟したい。本を読むよりは手を動かしてアプリ作ってリリースした方が100倍学びになります。本の場合は学ぶというよりは読んで楽しむ方が自分の好みに合ってます。あとはPodCastだと「Rebuild FM」「TuringComplete FM」が面白くて聴いてます。

タイトル
リレーショナルデータベース入門
プロセッサを支える技術
Emacs Lispプログラミング入門
Emacs Lispリファレンスマニュアル
プログラミング言語C

2.4. 趣味・小説(6冊)

個人的な趣味なので特にオススメは無いです。

タイトル
昭和16年夏の敗戦
騎士団長殺し 第1部
騎士団長殺し 第2部
図解ベランダ・庭先でコンパクト堆肥
イラスト基本からわかる土と肥料の作り方・使い方
イラスト基本からわかる堆肥の作り方・使い方

3. 買ったらいくら?

合計:104,062円 (2020/1月 Amazonで調査)。道徳書簡集は新品で22,00円でした、個人では買えませんので、図書館に感謝します。

4 リンク

rydeenworks.hatenablog.com

2020年も読書を楽しみましょう。

AndroidアプリをGooglePlayに公開する手順[APK版]

AndroidアプリをGooglePlayストアに公開するまでの手順についてまとめました。大まかな流れは以下の通りです。

  • アプリのバージョンを上げる
  • AndroidStudioでリリース向けのapkを作成をする
  • GooglePlayConsoleで新しいリリースを作成する

私が個人開発したAndroid向けアプリ「図書さがし」を例に手順を説明します。 Get it on Google Play

(注意事項) GoogleではBundle版でのリリースを推奨しているようですが、本記事ではAPKによるリリースの手順となっています。

(著者について) この記事を書いている私は個人開発歴は3年、今までに2つのアプリをリリースしています。

1 アプリのバージョンを上げる

GooglePlayストアではアプリのバージョン情報を管理しているため、リリース済みのバージョンのままリリースする事はできません。バージョンを上げてリリースします。

1.1 build.gradleの表示

AndroidStudioのProjectツールウィンドウからbuild.gradleを表示しましょう。

https://rydeenworks.github.io/assets/android_release/app-version.png

1.2 バージョンを上げる

上の画像の versionCodeversionName の部分がバージョンの記述です。この部分を書き換えればOKです。私は1ずつ上げてます。

        versionCode 5
        versionName "5.0"

2 AndroidStudioでリリース向けのapkを作成をする

AndroidStudioの Buildメニュー > Generate Signed Bundle / APK... を選択する。

https://rydeenworks.github.io/assets/android_release/release_build_menu.png

APKを選択して[Next]ボタンを押す。

https://rydeenworks.github.io/assets/android_release/release_by_apk.png

key情報を設定して[Next]ボタンを押す。

https://rydeenworks.github.io/assets/android_release/release_key_info.png

releaseを選択する。Signatureは V1 と V2 両方をチェックする。[Finish]ボタンを押す。

https://rydeenworks.github.io/assets/android_release/release_signature_info.png

ビルドが終わるとAndroidStudio上に通知が出る。

https://rydeenworks.github.io/assets/android_release/release_build_notify.png

作成したapkはきちんとバージョンがわかるようにして管理しましょう。以上でapk作成は完了です。

https://rydeenworks.github.io/assets/android_release/release_apk_version.png

3 GooglePlayConsoleで新しいリリースを作成する

今回は過去にGooglePlayConsoleでリリースしたことがある前提です。

"アプリのリリース"の製品版の"管理"をクリックする。

https://rydeenworks.github.io/assets/android_release/console_product_manage.png

[リリースを作成]ボタンを押す。

https://rydeenworks.github.io/assets/android_release/console_new_release.png

[ファイルを選択]ボタンを押して、作成したapkを選択する。

https://rydeenworks.github.io/assets/android_release/console_select_apk.png

リリースノートを書いて保存ボタンを押す。

https://rydeenworks.github.io/assets/android_release/console_release_note.png

APKでリリースすると警告が出ますが、今回は無視します。

https://rydeenworks.github.io/assets/android_release/console_release_warning.png

[製品版として公開を開始]ボタンを押すとGooglePlayストアで公開されます。1時間〜半日くらいでストアに反映されると思います。お疲れ様でした。

https://rydeenworks.github.io/assets/android_release/console_product_release.png

参考アプリ

「図書さがし」はこちらのアプリです。読書好きの方にオススメです。

rydeenworks.hatenablog.com

GitHub Flowとmagitによるプルリクエスト開発フロー[個人開発向け]

GitHub issueを対応するときの開発フローについてまとめました。大まかな流れは以下の通りです。

  • gitブランチを作成しcheckoutする
  • ブランチ上で開発し実装完了したらコミットする
  • リモートにブランチ名でpushする(masterにpushしない)
  • GitHub上でプルリクエストを作成してmasterにマージする
  • issueをクローズする
  • ローカルにpullする

f:id:rydeenworks:20191230162741j:plain

photo credit: ben_nuttall Octocat @ GitHub's Oval Office via photopin (license)

著者について

この記事を書いている私はプログラミング歴15年です。 個人開発歴は3年、magit歴は2年程度です。

1 magitの使い方

私はSpacemacsを愛用しています。以降の操作は全てSpacemacs環境での利用を想定しています。

1.1 magit-status

git管理下にあるファイルをemacsで表示中に magit-status を実行する。

f:id:rydeenworks:20191230212249p:plain

1.2 magitヘルプ表示

magit-status画面で ?キーを押すとヘルプを表示できる。

f:id:rydeenworks:20191230212314p:plain

2 gitブランチを作成しcheckoutする

ヘルプ表示より bキーを押すとブランチが作成できることがわかりましたので bキーを押します。 そうするとブランチのメニュー表示が出ます。 今回はブランチを作成してcheckoutしたいので cキーを押します。

f:id:rydeenworks:20191230212343p:plain

次にブランチの元を入力する画面が表示されます。masterをブランチ元とします。

f:id:rydeenworks:20191230212405p:plain

ブランチ元を入力したら、今度はブランチ名を入力する画面が表示されます。 ブランチ名は feature/#issue番号/issue概要 にします。全部英語。 "feature"は機能開発用のブランチという意味です。

f:id:rydeenworks:20191230212434p:plain

入力するとmagit-status画面に戻り、ブランチが作成されてcheckoutされた状態になりました。

f:id:rydeenworks:20191230212454p:plain

一応ターミナル上でもgitの状態を確認してみると、ブランチがcheckoutされていることがわかります。

f:id:rydeenworks:20191230212520p:plain

3 ブランチ上で開発し実装完了したらコミットする

3.1 修正ファイルのstage

今回はAndroidStudioで開発しましたが、git操作は全てmagitで行うことにします。修正は完了した状態とします。

magit-statusのヘルプ表示から gキーを押すとmagit-statusの表示更新ができることがわかります。gキーを押すと修正ファイルがunstageの状態となっています。

f:id:rydeenworks:20191230212543p:plain

修正ファイルの行にカーソルを当てて sキーを押すとstage状態になります。S(大文字S)キーで一括でstageできます。

3.2 修正ファイルのcommit

stage状態の設定が終わったらcommitします。commitはcキーです。commitメニューが表示されます。メニュー画面でcキーを押すとcommitできます。

f:id:rydeenworks:20191230212605p:plain

そうするとdiff画面とcommitコメントを入力する画面が表示されます。とても便利です。 commitコメントには issue番号 を必ず入れます。issue番号を入れるとGitHubが自動でissueとcommitを紐づけてくれるからです。

今回のissue番号は #18 です。コメント記入したらC-c C-cとキー入力するとcommit実行できます。

f:id:rydeenworks:20191230212627p:plain

4 リモートにブランチ名でpushする

magit-status画面でP(大文字P)キーを押すとpushメニューが表示されます。 push先のURLが設定済みの前提ですが、uキーでpushします。

f:id:rydeenworks:20191230212650p:plain

ブランチ名を入力する画面が表示されます。origin/ + ブランチ名 を入力します。 origin/feature/#18/issue_testです。これでpush完了です。

f:id:rydeenworks:20191230212715p:plain

5 GitHub上でプルリクエストを作成してmasterにマージする

5.1 GitHub上でブランチを確認しプルリクエストを作成する

GitHubリポジトリのPullRequestsタブを開くと、ブランチがpushされたと表示されています。 Compare & pull requestボタンを押てプルリクエストを作成します。

f:id:rydeenworks:20191230212747p:plain

ボタンを押すとプルリクエスト作成画面になります。必要な情報を入力してCreate pull requestボタンを押します。

f:id:rydeenworks:20191230212831p:plain

5.2 GitHub上でmergeする

プルリクエストが作成されると、Merge pull requestボタンが出現しますので、ボタンを押します。

f:id:rydeenworks:20191230212923p:plain

次にConfirm mergeボタンを押します。confirmとはマージして良いかの確認を意味します。

f:id:rydeenworks:20191230212946p:plain

画面上にmergedと表示されました。マージ成功です。マージが終わったらブランチは不要なのでDelete baranchボタンを押してブランチを削除します。

f:id:rydeenworks:20191230213004p:plain

6 issueをクローズする

issue画面を表示するとブランチでコミットした内容とプルリクエストによってマージした内容が表示されています。 Close issueボタンを押してissueをクローズします。

f:id:rydeenworks:20191230213024p:plain

クローズしました。

f:id:rydeenworks:20191230213041p:plain

7 ローカルにpullする

リモートのmasterの内容をローカルにpullします。まずはmagit-statusで状態の確認します。 featureブランチのままだったので、masterブランチに切り替えます。

f:id:rydeenworks:20191230213102p:plain

magit-statusの画面で bキーを押してブランチメニューを表示します。ブランチメニューでも bキーを押してcheckoutするブランチを入力します。

f:id:rydeenworks:20191230213131p:plain

checkoutするのはmasterですので、masterと入力します。

f:id:rydeenworks:20191230213200p:plain

入力完了するとmagit-statusの画面に戻り、masterに切り替わった事がわかります。

f:id:rydeenworks:20191230213227p:plain

masterに対してpullします。magit-status画面でF(大文字F)キーでpullのメニュー画面が表示されます。メニューではuキーを押す事でリモートのmasterの内容をローカルに反映できます。

f:id:rydeenworks:20191230213245p:plain

反映できました。

f:id:rydeenworks:20191230213307p:plain

不要になったブランチは削除しましょう。"feature/#18/issue_test"ブランチを削除しました。bキーでブランチメニューを表示してxキーでdeleteを選択し、削除するブランチ名を入力すればOKです。

f:id:rydeenworks:20191230213330p:plain

参考

GitHub実践入門 ~Pull Requestによる開発の変革 (WEB+DB PRESS plus)

GitHub実践入門 ~Pull Requestによる開発の変革 (WEB+DB PRESS plus)

GitHub issueによる個人開発プログラミングの高速化

個人開発のスピードを上げるためにすべき事

個人開発していて開発スピードが上がらないことはありませんか?

開発したい内容をタスクとして整理したり、タスク粒度を適度に小さくする事で開発スピードを上げられる場合があります。

前提条件

  • プログラミング経験はある
  • 技術的な事はネットを検索して自分で解決できる

本記事では、この疑問を解決します。

本記事の内容

  • 開発内容をタスクとして整理する方法がわかる
  • GitHub issueを使った開発ワークフローがわかる

f:id:rydeenworks:20191230162741j:plain

photo credit: ben_nuttall Octocat @ GitHub's Oval Office via photopin (license)

著者について

この記事を書いている私はプログラミング歴15年です。 個人開発歴は3年で、会社員をしながら2つのアプリをGooglePlayにリリースした実績があります。

f:id:rydeenworks:20191027224859j:plain

1 GitHub issueを使った開発タスク整理

1.1 開発タスクを箇条書きで書き出す

まず最初にGitHub issueに登録するために、開発タスクを箇条書きで書き出します。

以下の理由があります。

  • 頭の中にある開発内容を書き出すことで整理できる
  • 開発タスクを並べることで優先順位をつけられる
  • 開発の全体ボリュームがなんとなくわかる

紙に書き出しても良いですし、PCにテキストで書いても良いです。

1.2 開発タスクの粒度を半日程度の規模に分割する

個人開発は時間との勝負です。 そして開発することが目的ではなく、リリースして初めて意味があります。 そのためにも開発タスクの粒度は半日程度にしてください。

以下の理由があります。

  • 開発に着手するときのハードルが低い
  • タスクが小さいので開発の中断と再開がしやすい
  • タスクをcloseするまでの時間が短くて達成感を得やすい

1.3 開発タスクをGitHub issueに登録する

私が個人開発している「図書さがし」を例に issue を登録します。

https://github.com/rydeenworks/MyBookSearch/issues

初期状態

f:id:rydeenworks:20191230162845p:plain

[New issue]ボタンを押します。

issue作成画面が表示されるので、issueのタイトルを記入します。 詳細な情報はコメント欄に記入できます。 記入が終わったら[Submit new issue]ボタンを押します。

f:id:rydeenworks:20191230162901p:plain

ボタンを押すと issue が登録されました。

issue 登録後

f:id:rydeenworks:20191230162923p:plain

1.4 issueに優先順位をつける

その機能は本当に必要ですか?

個人開発は時間との勝負です。

  • あなたが開発に投入可能な時間
  • issueの開発に必要な時間

上記の2つの時間のバランスを考えて、リリースに最低限必要な機能を選んで開発しましょう。

f:id:rydeenworks:20191230162956p:plain

まとめ:開発スピードアップのためにはGitHub issueでタスク化!

記事のポイントを以下にまとめます。

  • 開発内容をGitHub issueでタスク化する
  • タスクは半日程度で終わる粒度にする
  • リリースに必要なタスクを優先度決めて片付ける

こんな感じです。

参考

GitHub実践入門 ~Pull Requestによる開発の変革 (WEB+DB PRESS plus)

GitHub実践入門 ~Pull Requestによる開発の変革 (WEB+DB PRESS plus)

読書「ルキリウスへの手紙/モラル通信」(ストア派哲学者セネカ)

哲学に興味がある方へ

本記事は以下のような興味がある方に向けて書きました。

  • 哲学にちょっと興味がある、でも難しいのは嫌だ
  • 昔の人の知恵を知りたい、そして自分の人生に生かしたい
  • 2000年以上も大事に受け継がれてきた哲学者の文章に興味がある

長く伝わる文章にこそ叡智がある

セネカは2000年ほど前に生きた哲学者です。

ルキウス・アンナエウス・セネカ(紀元前1年頃 - 65年 4月)は、ユリウス・クラウディウス朝時代(紀元前27年 - 紀元後68年)のローマ帝国の政治家、哲学者、詩人。Wikipedia - ルキウス・アンナエウス・セネカ

f:id:rydeenworks:20191209063055j:plain

(Jean-Pol GRANDMONT - 自ら撮影, CC 表示 3.0, https://commons.wikimedia.org/w/index.php?curid=27620840による)

「ルキリウスへの手紙/モラル通信」は現存するセネカの124通の手紙を翻訳した本です。

  • 昔の人の考えだから古臭い
  • 現代には通用しない、今の時代には合わない

などと考えてしまうともったいないです。

それだけの価値があると認められて、淘汰されずに 2000年も残り続けてきた文章なのです。

ルキリウスへの手紙/モラル通信

ルキリウスへの手紙/モラル通信

目次

目次を見て手紙の内容が少し想像できると思います。セネカの124通の手紙にはもともとタイトルはついてないため、訳者の方がタイトルをつけているようです。

また「セネカ 道徳書簡集―倫理の手紙集」という本もセネカ124通の手紙の訳本ですので比較してみました。比較することで、訳の違いの傾向が少しイメージできると思います。

セネカ 道徳書簡集―倫理の手紙集

セネカ 道徳書簡集―倫理の手紙集

No 「道徳書簡集」 「ルキリウスへの手紙」
001 時間の節約について 時間は唯一の資産
002 読書の散漫について 読書について
003 真の友情と偽の友情について 友情について
004 死の恐怖について 真の豊かさとは
005 哲学者の中庸について 哲学が約束すること
006 知識の共有について 生き方を学ぶ
007 大衆について 内面に見出す価値
008 哲学者の隠遁について 哲学の使命
009 哲学と友情について 自己に充足する
010 自分自身で生きることについて 自己の進歩
011 羞恥の赤面について 生き方のモデル
012 老年について 毎日を最後の日として
013 謂れのない恐怖について 恐怖の克服について
014 世の中を引退する理由について 避難場所としての哲学
015 筋肉と頭脳について 心身へのきくばり
016 哲学、ないし生活の指針について 哲学は人生への指針
017 哲学と富について 望ましき貧困
018 祭りと断食について 貧困の訓練
019 俗世の生活と引退について 社会からの撤退
020 教えの実践について みずからの哲学を生きる
021 手紙のもたらす栄誉について 困難のもとは自分に
022 中途半端な遣り方の無益さについて 野心は奴隷精神
023 哲学の真の喜びについて 内面からの喜び
024 死を軽視することについて 不安の克服
025 心の改造について 真の同伴者
026 老年と死について 死を学ぶ
027 永続きする善について 自分の人生の完成
028 不満を治す旅について 自己認識はすべての始まり
029 友人マルケリヌスの危期について 大衆的賞賛について
030 死に勝つことについて 心安らかに人生から立ち去る
031 魔女サイレンの歌声について ライフ・スタイルの確立
032 心の進歩について ほんとうの幸福
033 格言を学ぶことの無益さについて 学者批判と自立した思案
034 前途有望な弟子について 生き方と善の実現の一務
035 同じ心の持主の友情について 自己との調和
036 引退の価値について 死と永劫回帰
037 理性に従うことについて 全力で活路を切り開く
038 静かな会話について 小さな言葉を豊かな思索へ
039 過度と適度について 自然の節度
040 哲学者の談話にふさわしい話し方について 思索を穏やかに語る
041 われらの内なる神について 賢者は超人的存在
042 真の価値について 虚栄の資産
043 良心のやましさについて 生き方の評価
044 哲学と家柄について ほんとうの高貴さ
045 詭弁について 詭弁術批判
046 ルキリウスの新しい著作について ルキリウスの著作評価
047 主人と奴隷について 奴隷とのつきあい
048 哲学者にはふさわしくない詭弁について 言葉遊びと真の哲学
049 人生の短さについて 真実を表現する素朴な言葉
050 われわれの盲目とその治療について 魂の治癒
051 歓楽地と良き性格について 歓楽の街バイエス
052 教師を選ぶことについて 自己の改良と哲学
053 心の障害について 病んだ魂と哲学
054 呼吸困難(喘息)と死について 運命への愛
055 ヴァティアの別荘について 別荘地にて
056 閑静なことと勉強について 騒音と内面の静穏
057 旅の試練について トンネル初体験
058 存在について プラトン哲学批判
059 快と喜びについて 健全な精神とは
060 災いの祈りについて 自然の法則と私利私欲
061 死を喜んで迎えることについて より良き死を求めて
062 良き交わりについて 自分自身であること
063 友を失った悲しみについて 友人の死に際して
064 哲学者の仕事について 精神的遺産の引きつぎ
065 第一の原因について 自分探求、そして世界の起源を
066 徳の諸相について 美徳について
067 不健康と、苦痛に堪えることとについて 勇気という美徳
068 英知と閑暇な生活について 最良の旅立ちのために
069 安静と動揺について 彷徨のいましめ
070 死ぬべき適時について 死ぬ自由と勇気
071 最高善について 高潔な生き方
072 哲学の敵である実務について 魂の健康について
073 哲学者と帝王について 神々への接近
074 世俗的な娯楽からの逃げ場としての徳について 運命の受容
075 心の病について 率直な語り/実感を言葉に、言葉を実感し・・・
076 古の英知を学ぶことについて 生涯、より良い生き方を学ぶ
077 自分の命を取ることについて 世界は劇場、人生はドラマ・・・
078 心を癒す力について 病苦の克服
079 学問上の発見の報酬について 美徳の実現
080 世の中のまやかしについて ほんとうの人間的価値
081 善行(または恩恵)について 恩恵への感謝
082 死への自然の恐怖について 死を克服する勇気
083 酔払いについて 飲酒について
084 諸種の思想の収集について 読むこと、書くこと
085 幾つかの空虚な三段論法について 災悪は自由の放棄
086 偉人スキピオの質素な別荘について スキピオの別荘にて
087 質素な生活に賛成する若干の議論について 自己偽善の反省
088 自由な勉強と職業の勉強について 学芸批判と哲学
089 哲学の各部分について ライフ・スタイルに規律を
090 人間の進歩において哲学の演じた役割について 歴史の起源を求めて
091 ルグドゥーヌムの大火から学ぶべき教訓について 破局の覚悟を/リヨンの大火事
092 幸福な生活について 苦痛の中での幸福
093 人生の長さに対するその質について 太く短く生きる充実した人生
094 忠告の価値について 教えと忠告について1
095 基本原理の有益性について 教えと忠告について2
096 苦難に直面することについて 必然の災悪に立ち向かう
097 時代の堕落について 時代の腐敗について
098 運命の気紛れについて 喪失や滅亡はなぐさめ
099 子供を失った人への慰めについて 死別の悲しみの克服
100 ファビアヌスの書物について 文体とライフ・スタイルの一致
101 予め計画を立てることの無益さについて 毎日自己の最良の実現を
102 不死をそれとなく知らせることについて 名声と称賛について
103 人間が人間と付き合うことの危険について 危害の予期
104 健康の注意と心の平静について 旅行の精神的効果
105 自信を持って世間に対処することについて 邪念について
106 徳の物体性について 新刊の予告
107 普遍的な意志に従うことについて あらゆる事件は不可避
108 哲学への接近について 若き日々の回想
109 賢者との交友について 賢者の助け合い
110 真の富と偽の富について 裕福は虚栄
111 頭の体操の空虚さについて 孤高の頂きに存在する哲学
112 悪習に固まった人間の改造について 更生不可能な悪徳
113 心の活力とその属性について ストア派内の論争
114 性格を映す鏡としての文体について 現代風潮、著者のライフ・スタイルとそして文体
115 上辺の幸福について 文体への過度な配慮
116 自制について 情熱について
117 論理の巧妙さ以上に勝れている真の倫理について 言葉の浪費、無用な議論
118 高位を求めることの空しさについて 善とは何か
119 われわれの最善の供与者としての自然について 自然の欲求と調和
120 さらに徳について 美と高潔について
121 動物の本能について 動物の自己への配慮のすばらしさ
122 邪悪を隠すとばりとしての闇について 昼夜逆転した生活
123 快と徳との争いについて 不測の事態は魂の試練
124 理性によって得られる真の善について 自分に固有な善の実現を

感想

6章までしか読んでませんが。

  • 読みやすい
  • 口語調で意訳っぽい
  • 文体は「セネカ 道徳書簡集―倫理の手紙集」の方が好み
  • 本のサイズは辞書サイズで大きいが「セネカ 道徳書簡集―倫理の手紙集」よりはコンパクト(ギリギリ持ち運びできるかも)

もう少しセネカについて知りたいので「セネカ 現代人への手紙」「ローマの哲人 セネカの言葉」という本を読んでみたいと思います。

参照

rydeenworks.hatenablog.com

図書館の予約を便利にするアプリの紹介

私は図書館をよく利用するのですが、この本も図書館から借りました。本が図書館にあるかAndroidアプリで簡単に調べることができて便利です。

rydeenworks.hatenablog.com

EmacsとorgmodeによるGTD実例【ビジネススキル】

Emacsでorgmodeを使いこなしたい人

Emacsでorgmodeを使ってタスク管理しているんだけど、なんか使いこなせない。 あと、なんか便利なテンプレートや設定があれば知りたい。」

と考えていませんか?

本記事では、この疑問を解決します。

本記事の内容

  • Emacsでorgmodeを使ってGTDする方法がわかる

  • タスク管理と週次レビューはセットで実行すべき

f:id:rydeenworks:20191027224859j:plain

著者について

この記事を書いている私はGTD歴10年、Emacsとorgmode歴が3年ほどです。仕事で毎日orgmodeを使ってタスク管理と振り返りを継続してます。

1 orgmodeを使ったGTDシステムの構築方法

1.1 org-capture-templatesを設定する

orgmodeを使ってGTDするためにはorg-capture-templatesの設定を行います。

以下の理由があります。

  • キーボードショートカットでGTDの操作を身体で覚えられてストレスなく作業できる
  • 記述内容のテンプレートが自動で挿入されて高速に作業できる

Emacsでのorgmodeの環境構築は過去記事を参考にしてください。記事の中でorg-capture-templatesの設定も説明しています。

rydeenworks.hatenablog.com

org-capture-templatesの設定内容を以下に抜粋しました。

  (setq org-capture-templates
        '(("t" "Todo entry" entry (file "~/Dropbox/org-for-cat/private/todo.org")
           "* TODO %?\n    :LOGBOOK:\n    - Added: %U\n    :END:" :empty-lines 1)
          ("p" "Plan entry" entry (file+datetree "~/Dropbox/org-for-cat/private/plan.org")
           "- [ ] %?")
          ("j" "Journal entry" entry (file+datetree "~/Dropbox/org-for-cat/private/journal.org")
           "* 週次レビュー\n- good:%?\n- bad:\n- try:\n")
          ("r" "Review entry" entry (file+datetree "~/Dropbox/org-for-cat/private/review.org") (file "~/Dropbox/org-for-cat/private/template-review.org"))
          )
        )

今回は"p"(plan.org)"j"(journal.org)を使います。

"t"(todo.org)"r"(review.org) は使用しません。

1.2 毎日のタスク管理にplan.orgを使用する

毎日のタスク管理をするためにplan.orgだけを使います。 また、チェックボックス形式のリスト行で完了/未完了の状態だけを管理します。

以下の理由があります。

  • 完了/未完了の管理だけでGTDでは十分
  • plan.orgにタスクを集約すると決めた方が迷いなく高速にタスク処理できる
  • 仕事の優先度は日々変わるためplan.orgで一覧した方が優先順位をつけやすい

それではplan.orgの使い方を説明します。

1.2.1 plan.orgを開く

初期状態が次の画面だとします。

f:id:rydeenworks:20191124232428p:plain

1.2.2 org-captureを実行して今日の日付を追加する

キー操作 C-c c でorg-captureを実行します。 org-capture-templatesで設定したテンプレート設定が表示されます。 この画面で p を押します。

f:id:rydeenworks:20190901211428p:plain

この画面では、C-c C-cを押して、plan.orgへの記述を確定します。

f:id:rydeenworks:20191124232554p:plain

以上で、plan.orgに今日の日付が追加されました。

f:id:rydeenworks:20191124232621p:plain

1.2.3 昨日の未完了タスクを今日の日付に移動する、そしてタスクの整理をする

タスク整理は以下のことを行います。 整理することで今日すべきことが明確になって集中力がアップします。

  • 不要なタスクの削除
  • 新規タスクの追加
  • 既存タスクの内容の見直し
  • タスク優先順位の見直し

以下の状態になりました。あとは今日すべきことをするだけです。

f:id:rydeenworks:20191124232731p:plain

1.3 今週分のjournal.orgを用意する

週の始まりごとにjournal.orgにエントリーを追加しましょう。 そして日々のタスクを行う中で気づいた事をjournal.orgに記入していきましょう。

  • 良かった事(good)
  • 悪かった事(bad)
  • 改善点(try)

なぜなら、単にタスクをこなすだけでは物事が改善しないからです。 タスクをこなす事で自身の気づきがあると思いますが、その気づきをjournal.orgに記録し振り返る事で改善につながるのです。

1.3.1 org-captureを実行して今週のエントリーを追加する

キー操作 C-c c でorg-captureを実行します。 org-capture-templatesで設定したテンプレート設定が表示されます。 この画面で j を押します。

f:id:rydeenworks:20190901211428p:plain

この画面では、C-c C-cを押して、journal.orgへの記述を確定します。

f:id:rydeenworks:20190901211606p:plain

1.3.2 journal.orgに自身の気づきを記入する

まずは気軽に自分の思ったことや気づいた事を書いてみましょう。 この記録は自分の行動を振り返ってみるときに役に立ちます。

f:id:rydeenworks:20191124233034p:plain

2 タスク管理と合わせて週次レビューをすべき

タスク管理をするときには週次レビュー(一週間おきに振り返り)をセットで行うべきです。

2.1 週次レビューをしましょう

以下の理由があります。

  • タスクを処理するだけでは単なるタスクマシーンになる恐れがある
  • 自分の目標達成に向かって行動しているか確認するのが大事である
  • 目標達成に向かってない場合の方向修正の機会になる
  • タスク処理の効率性や効果改善につながる

自分の行動を客観的に見てみると、改善ポイントが見えてくるのです。

2.2 週次レビューのやり方

(1) 左画面にplan.org、右画面にjournal.orgを表示する (2) plan.orgに今週完了したタスクを表示させる (3) 完了タスクを眺めながら思ったこと気づいたことをjournal.orgに記入する

f:id:rydeenworks:20191124233134p:plain

記事のポイント

ポイントを以下にまとめます。

  • plan.orgで日々のタスクを管理する
  • journal.orgで日々のタスクの気づきを記入する
  • 一週間に一度はplan.orgとjournal.orgを見返して振り返りを行なう

こんな感じです。 orgmodeの操作を身体に覚えさせて、GTDと週次レビューのサイクルを回せるようになると圧倒的に成果が出るようになります。ぜひ試してください。

オススメの本

GTDについて詳しく知りたい方は書籍がオススメです。

全面改訂版 はじめてのGTD ストレスフリーの整理術

全面改訂版 はじめてのGTD ストレスフリーの整理術

こちらはチェックリストの効果について学べる本です。 チェックリストはシンプルですがとても強力です、私はこの本を読んで大変役に立っています。

アナタはなぜチェックリストを使わないのか?【ミスを最大限に減らしベストの決断力を持つ!】

アナタはなぜチェックリストを使わないのか?【ミスを最大限に減らしベストの決断力を持つ!】

図書館の予約を便利にするアプリの紹介

私は図書館をよく利用するのですが、上記の本は図書館から借りました。本が図書館にあるかAndroidアプリ 図書さがし(Google Play)で簡単に調べることができて便利です。

詳しくは以下の記事をご覧ください。

rydeenworks.hatenablog.com

組み込みプログラミングのためのハードウェア基礎知識

組み込み系のC言語/C++の開発現場に配属された人

組み込み系のC言語/C++の開発現場に配属されたんだけど、なんか、CPUやメモリなどハードウェアの事についてよく知らない、組み込みプログラミングの基礎知識が欲しい。あと、ついでに良い学習の仕方があれば知りたい、と考えていませんか?

f:id:rydeenworks:20191120152010j:plain

本記事では、この疑問を解決します。

本記事の内容

  • ハードウェアの基礎知識

  • ハードウェアの基礎知識の学習方法

著者について

この記事を書いている私はプログラミング歴が15年ほどあり、直近5年は組み込みプログラミングの開発をしています。

デスクトップアプリ開発5年(C/C++)→スマホアプリ開発5年(Java/Objective-C)→組み込みアプリ開発5年(C/C++)

経歴は上記の通りですが、初心者の時に学んだハードウェアの基礎知識はずっと役に立ってきました。

1 ハードウェアの基礎知識

f:id:rydeenworks:20191027224859j:plain

1.1 ハードウェア特性の理解

プログラムはハードウェア上で動作しますので、ハードウェアの特性を理解してプログラムする必要があります。

たくさんの種類の部品が集合してハードウェアを構成していますが、はじめのうちは主要なものだけ理解すれば良いです。

  • CPU
  • メモリ
  • ストレージ
  • ネットワーク

各ハードの主要な特性は以下の通りです。

CPU

  • CPUはプログラムで命令した計算処理を行うハード
  • 一定時間内にどれだけの計算量をこなせるかはCPUによって決まる
  • 一定時間内の計算量上限に達するとCPU使用率100%になる、それ以上の計算は待たされるので最終的な計算完了までの時間が長くなる。
  • たくさんの計算量をこなせるCPUは高価

メモリ

  • メモリはプログラムで処理するデータを保持するハード
  • 保持できるデータサイズはメモリによって決まる
  • メモリが保持できるデータサイズの上限を超えた場合、メモリ上のデータをストレージに退避する。退避処理が発生するとプログラム動作が遅くなる。ストレージに退避したデータをメモリに復帰させる処理も、同様にプログラム動作が遅くなる。
  • たくさんのデータを保持できるメモリは高価

ストレージ

  • ストレージはデータをファイルとして保存するハード
  • プログラムはファイルからデータを読み込んでメモリに保持する、またデータをファイルに保存する
  • ストレージに保存できるデータサイズ上限はストレージ容量によって決まる
  • ストレージ容量を超えて保存させようとした場合、保存処理は失敗する

  • ストレージのハードの種類は色々ある(ハードディスク/SSD/USBメモリ/SDカード)

  • ハードディスクはSSDに比べて安くて大容量、ただしデータ保存・読み込みのためにディスクを物理的に回転させるのでプログラムの動作が遅くなる

  • たくさんのデータを保持できるストレージは高価

ネットワーク

  • ネットワークはコンピュータ間でデータを送受信するためのハード
  • 一定時間内にどれだけの通信量をこなせるかはネットワーク環境とハードで決まる
  • 一定時間内の通信量上限に達するとネットワーク使用率100%になる、それ以上の通信は待たされるので最終的な通信完了までの時間が長くなる。
  • たくさんの通信量をこなせるハード・ネットワーク環境は高価

1.2 利用可能なハードウェア資源の確認

ハードウェア特性の理解 を踏まえて、実際にプログラムする上で利用可能なハードウェア資源を確認します。

全般

  • ハードウェア上で動作するプログラムは1つだけか?

複数のプログラムを同時に実行する場合、1つのプログラムがハードウェア資源を使い切ってしまうと困るので確認します。

CPU

  • CPU使用率100%まで使い切って問題ないか?

基本的には100%まで使い切るのは良くありません。CPUが熱くなったり、電力をたくさん消費したり、他のプログラムが止まってしまったり、色々と支障があります。

メモリ

  • プログラムが利用可能なメモリサイズ上限は?

ストレージ

  • プログラムが利用可能なストレージ容量上限は?

ネットワーク

  • プログラムが利用可能な通信量上限は?

1.3 ソフトウェア設計の確認

利用可能なハードウェア資源を踏まえてソフトウェア設計します。

基本的には以下のことを行うイメージです。

  • 設計上のハードウェア資源使用量を算出する
  • 資源使用量の実績値をログ出力して可視化する
  • 設計改善によって資源使用量を削減する

基本的にはハードウェア資源使用量を減らすということは、性能がそれだけ落ちます。ハードウェア資源使用量と性能のバランスを理解した上でトレードオフします。(処理データ量削減やアルゴリズム改善によってハードウェア資源使用量を減らした場合は性能は落ちません)

f:id:rydeenworks:20191120152053j:plain

CPU

  • 計算量が多いプログラムの特定
  • 計測処理ログ出力(処理時間、CPU使用率)の検討
  • 改善設計の検討(データ削減、アルゴリズム改善)

メモリ

  • プログラムの設計上のメモリ使用量の算出
  • メモリ使用量のログ出力の検討
  • 改善設計の検討(データ削減、アルゴリズム改善)

ストレージ

  • プログラムの設計上のストレージ使用量の算出
  • ストレージ読み書き処理のログ出力(ファイルサイズ、処理時間)の検討
  • 改善設計の検討(データ削減、ストレージアクセス回数削減)

ネットワーク

  • プログラムの設計上の通信量の算出
  • 通信ログ出力(通信量、通信回数)の検討
  • 改善設計の検討(データ削減、アルゴリズム改善)

2 ハードウェアの基礎知識の学習方法

2.1 組み込み系なら初学者のうちに基礎知識を習得しましょう

ハードウェアの知識はなるべく早く身につけた方が良いです。

なぜなら、どんなハードウェアもCPU/メモリ/ストレージというハードウェア構成は変わらないため、一度これらの知識を身につけておくと一生この知識がプログラミングで生かせてコストパフォーマンスが良いからです。

また、近年ではネットワーク常時接続が当たり前になっているためネットワークの知識を持っている方が良いです。

2.2 学習の仕方

インターネットでたくさんの情報が得られますが、それらは断片的で体系的ではない事があり初学者に情報の取捨選択するのは大変だと思います。

そのため、評判の良い本でハードウェアの基礎知識について体系的な全体像を学ぶのがおすすめです。以下の方法で調べると良いでしょう。

  • Google検索で評判の良い本を調べる
  • Amazonで本のレビューを調べる

2.3 ハードウェア基礎知識の学習の実例

初学者には次の本が特にオススメです。

図書館の予約を便利にするアプリの紹介

私は図書館をよく利用するのですが、上記の本も図書館から借りました。本が図書館にあるかAndroidアプリ 図書さがし(Google Play)で簡単に調べることができて便利です。

rydeenworks.hatenablog.com

f:id:rydeenworks:20191027225236p:plain

映画監督「大林宣彦」作品をAmazonプライムビデオで観る

映画監督の大林宣彦さんの作品を観たい人へ。大林宣彦監督の映画作品をあまり観たことが無いけど知りたい。どの作品を観たら良いだろう。あと、Amazonプライムビデオで視聴できる映画も知りたい」こういった疑問に答えます。

本記事の内容

  1. 大林宣彦監督の主要な映画作品
  2. Amazonプライムビデオで視聴できる大林宣彦監督作品

この記事を書いている私自身は"異人たちとの夏"という映画が特に好きで5回くらい観てます。毎年お盆が近づくとこの映画を観たくなります。

1. 大林宣彦監督の主要な映画作品

大林宣彦さんは多くの映画作品を製作しています。大林宣彦監督の全作品を年代別に並べたものは次の通りです。( Wikipediaから引用 )

f:id:rydeenworks:20191115072936p:plain

その中から私の趣味と興味で主要な作品をピックアップします。

初期作品

  • HOUSE ハウス

『HOUSE ハウス』は、1977年公開の日本映画。ファンタジータッチのホラー・コメディ作品。 CM監督として活動していた大林宣彦の初劇場用映画監督作品。元祖"Jホラー(ジャパニーズホラー)"とも、元祖"アイドル×ホラー"とも評される。 (ハウス (映画) - Wikipedia)

尾道三部作

1982年、自身の郷愁を込めて尾道を舞台とした『転校生』を発表。『時をかける少女』、『さびしんぼう』と合わせ"尾道三部作として多くの熱狂的な支持を集め、1984年にはロケ地巡り目的で、20万人以上の若い観光客が訪れたといわれる。"尾道三部作"という言葉は大林映画のファンが作った言葉である。(大林宣彦 - Wikipedia )

アイドル映画

角川映画のアイドル路線および、大林宣彦の“大林ワールド”と呼ばれる独自の映像スタイルを確立させた作品。薬師丸ひろ子も本作でアイドルとしての地位を確立させた。「キャンペーンの最中に行く先々でファンが増えてくる、アイドルが誕生する過程を体験した」と大林は話している。このため『ねらわれた学園』は「アイドル映画」時代の開幕を告げる作品と評される。( 大林宣彦 - Wikipedia )

1980年代〜1990年代

妻子と別れ、孤独な日々を送るシナリオライターは、故郷・浅草の街で幼い頃に死別した若い父母とそっくりな二人に出逢った。だが、美しい恋人・ケイは、二人にもう決して逢わないでくれと迫ってくる。渇ききった現代人の生活に、そっと忍び込んでくる孤独と幻想。お伽話といって笑えない不思議な時間と非現実な空間を描く。(Amazonプライムビデオあらすじ引用)

2000年代以降

  • この空の花 長岡花火物語
  • 野のなななのか
  • 花筐/HANAGATAMI

    2000年代に入ると尾道を舞台にした映画は無くなり、代わって、大分や長野、新潟、北海道芦別など、その町の伝統や歴史を題材にした映画を製作している。大林はこれを「ふるさと映画」と称している。(大林宣彦 - Wikipedia)

2. Amazonプライムビデオで視聴できる大林宣彦監督作品

注)情報は2019年11月13日時点のものです。実際の情報はAmazonプライムビデオのサイトで確認してください。(タイトルからプライムビデオページへリンクしてます)

タイトル 視聴可能 予告編
HOUSE ハウス あり
ふりむけば愛 あり
金田一耕助の冒険 あり
ねらわれた学園 なし
転校生
時をかける少女 なし
天国にいちばん近い島 なし
少年ケニヤ なし
廃市 あり
さびしんぼう あり
姉妹坂 あり
彼のオートバイ、彼女の島 あり
日本殉情伝 ...
異人たちとの夏 あり
ふたり
青春デンデケデケデケ
風の歌が聴きたい
理由 なし
転校生 -さよなら あなた- あり
この空の花 長岡花火物語
野のなななのか
花筐/HANAGATAMI あり

○:Amazonプライムビデオの定額サービスで視聴可能

△:有料レンタルとして料金がかかるが視聴可能

ー:Amazonプライムビデオで視聴できないもの

大林宣彦監督作品の入り方(どの作品から観るか)

もちろんご自身の好みで観れば良いと思います。

Amazonプライムビデオで予告編が無料で見られるものがありますので、予告編を見て好みの映画か判断するのも良いと思います。

普段あまり映画(特に邦画)を見ない方は長時間の映画や難解な映画は避けた方が良いと思います。

上記3つが大林宣彦監督作品として入りやすいと思いますので参考にしてください。

参照

図書館の予約を便利にするアプリの紹介

私は図書館をよく利用するのですが、大林宣彦監督は本も出しています。読みたい本が図書館にあるかAndroidアプリ 図書さがし(Google Play)で簡単に調べることができて便利です。

使い方は紹介記事を見てください。 rydeenworks.hatenablog.com

読書「セネカ 道徳書簡集―倫理の手紙集」、そして時間の大切さ

セネカ という哲学者に興味を持ったので「セネカ 道徳書簡集―倫理の手紙集」という本を読んでいます。哲学と聞くと身構えてしまうかもしれませんが、2000年も受け継がれて残ってきた文章なので、なるほど大事なことが書かれており共感しました。

内容紹介

書籍の紹介文から引用。

「道徳書簡集」は現存する124通の手紙を収め、セネカ最晩年の作とされる。多事多難の生涯にわたって長年体験し考え続けてきた思想を、平易に、簡潔に、それでいて俗には堕さず、学問的色彩も失わずに説く。本邦初の全訳。

ほんの10章程度しか読んでないのですが、次のように感じました。

  • 手元に置いて繰り返し読みたくなるような文章
  • とても読みやすい
  • Amazonのレビューには翻訳があまり良くないと書いてあるが問題ない
  • 内容が全部理解できると思って読まずに、2000年も残されてきた文章への興味で読むと良い

最初の章の「時間に節約について」は特に気に入ったので前半部を抜粋します。

001:時間の節約について

ルキリウス君。

君はこうなさったらよいでしょうーーー

自分自身のために自分を自由にし、今までに君から奪い去られ、盗み取られ、あるいは逃げ去った時間を拾い集め、それを守ることです。

 

次に書くような僕の言葉の真実を、ご自分に説得してください。 或る時間はわれわれから裂き取られ、或る時間は運び去られ、また或る時間は流れ去る。 しかし、なかんずく最も恥ずべき時間の損失は、怠慢によって生ずるそれです。

 

またもし、よく気を付けて見るならば、人生の最も大きな部分が良からぬ事をしている間に、またその大きな部分が何もしていない間に、また人生全部が何かつまらぬ事をしている間に、消え失せていることが分かるでしょう。

 

君は誰を僕に教えてくれるでしょうかーーー

いやしくも時間に何らかの価値を認める人を、毎日毎日を重んずる人を、自分が日々死につつある事を知っている人を。 死を遠くに見るなどと思ったら大間違いですから。死の大部分はすでに通り過ぎてしまっているのです。 どれだけの年月が残されていようとも、死がそれを支配しているのです。

 

それゆえ、わがルキリウス君、君はお手紙に書いているような、現に自分で行なっていることを行うがよい。 つまり、毎時毎時をしっかりと抱きしめることです。君がもし今日のことに手をかけているならば、明日のことには余り頼らなくなるでしょう。 愚図々々している間に、人生は走り過ぎ去って行くのです。

 

ルキリウス君、あらゆるものは他者のものですが、時間だけはわれわれのものです。

私は読書が好きなので色々な本を読みますが「002:読書の散漫について」も、読んでいてハッとさせられる内容でした。

目次

001:時間の節約について

002:読書の散漫について

003:真の友情と偽の友情について

004:死の恐怖について

005:哲学者の中庸について

006:知識の共有について

007:大衆について

008:哲学者の隠遁について

009:哲学と友情について

010:自分自身で生きることについて

011:羞恥の赤面について

012:老年について

013:謂れのない恐怖について

014:世の中を引退する理由について

015:筋肉と頭脳について

016:哲学、ないし生活の指針について

017:哲学と富について

018:祭りと断食について

019:俗世の生活と引退について

020:教えの実践について

021:手紙のもたらす栄誉について

022:中途半端な遣り方の無益さについて

023:哲学の真の喜びについて

024:死を軽視することについて

025:心の改造について

026:老年と死について

027:永続きする善について

028:不満を治す旅について

029:友人マルケリヌスの危期について

030:死に勝つことについて

031:魔女サイレンの歌声について

032:心の進歩について

033:格言を学ぶことの無益さについて

034:前途有望な弟子について

035:同じ心の持主の友情について

036:引退の価値について

037:理性に従うことについて

038:静かな会話について

039:過度と適度について

040:哲学者の談話にふさわしい話し方について

041:われらの内なる神について

042:真の価値について

043:良心のやましさについて

044:哲学と家柄について

045:詭弁について

046:ルキリウスの新しい著作について

047:主人と奴隷について

048:哲学者にはふさわしくない詭弁について

049:人生の短さについて

050:われわれの盲目とその治療について

051:歓楽地と良き性格について

052:教師を選ぶことについて

053:心の障害について

054:呼吸困難(喘息)と死について

055:ヴァティアの別荘について

056:閑静なことと勉強について

057:旅の試練について

058:存在について

059:快と喜びについて

060:災いの祈りについて

061:死を喜んで迎えることについて

062:良き交わりについて

063:友を失った悲しみについて

064:哲学者の仕事について

065:第一の原因について

066:徳の諸相について

067:不健康と、苦痛に堪えることとについて

068:英知と閑暇な生活について

069:安静と動揺について

070:死ぬべき適時について

071:最高善について

072:哲学の敵である実務について

073:哲学者と帝王について

074:世俗的な娯楽からの逃げ場としての徳について

075:心の病について

076:古の英知を学ぶことについて

077:自分の命を取ることについて

078:心を癒す力について

079:学問上の発見の報酬について

080:世の中のまやかしについて

081:善行(または恩恵)について

082:死への自然の恐怖について

083:酔払いについて

084:諸種の思想の収集について

085:幾つかの空虚な三段論法について

086:偉人スキピオの質素な別荘について

087:質素な生活に賛成する若干の議論について

088:自由な勉強と職業の勉強について

089:哲学の各部分について

090:人間の進歩において哲学の演じた役割について

091:ルグドゥーヌムの大火から学ぶべき教訓について

092:幸福な生活について

093:人生の長さに対するその質について

094:忠告の価値について

095:基本原理の有益性について

096:苦難に直面することについて

097:時代の堕落について

098:運命の気紛れについて

099:子供を失った人への慰めについて

100:ファビアヌスの書物について

101:予め計画を立てることの無益さについて

102:不死をそれとなく知らせることについて

103:人間が人間と付き合うことの危険について

104:健康の注意と心の平静について

105:自信を持って世間に対処することについて

106:徳の物体性について

107:普遍的な意志に従うことについて

108:哲学への接近について

109:賢者との交友について

110:真の富と偽の富について

111:頭の体操の空虚さについて

112:悪習に固まった人間の改造について

113:心の活力とその属性について

114:性格を映す鏡としての文体について

115:上辺の幸福について

116:自制について

117:論理の巧妙さ以上に勝れている真の倫理について

118:高位を求めることの空しさについて

119:われわれの最善の供与者としての自然について

120:さらに徳について

121:動物の本能について

122:邪悪を隠すとばりとしての闇について

123:快と徳との争いについて

124:理性によって得られる真の善について

感想

  • この文章が長い間受け継がれてきた理由が感じられる
  • 知恵と人生経験が凝縮されている
  • 時々図書館から借りて研究したい
  • 本のサイズは辞典サイズ、重さは1kgを超えていて持ち運ぶのには向いてない。

セネカの手紙の翻訳書籍として「ルキリウスへの手紙」という本もあるので、読み比べてみると良さそうです。

参照

図書館の予約を便利にするアプリの紹介

私は図書館をよく利用するのですが、この本も図書館から借りました。本が図書館にあるかAndroidアプリ 図書さがし(Google Play)で簡単に調べることができて便利です。

f:id:rydeenworks:20191027225236p:plain

仕事で頼まれたことを忘れないためのタスク管理法【紙とペン】

仕事で上手にタスク管理をしたい方へ

人から仕事を頼まれた時に、約束や締め切りを守れない。なんか忘れてしまう。 便利なツールとかあれば知りたい。と考えていませんか?

本記事では、この疑問を解決します。

本記事の内容

  • タスクを忘れずに片付ける方法とは

  • タスクを受け取る時に締め切りと成果内容を具体化すべき

著者について

この記事を書いている私は会社員としてソフトウェア開発の経験が18年ほどあり、 直近3年は20名程度のプロジェクトでリーダーとして開発管理をしています。 上司・部下・顧客から依頼されるタスクを日々片付けています。

1 タスクを忘れずに片付ける方法とは

f:id:rydeenworks:20191027224859j:plain

1.1 タスクを記録する

タスク管理のために、まずはタスクを記録します。
人間は時間が経過すると忘れてしまいます、だから記録して残してください。記憶力に頼ってはいけません。
タスクが記録に残っていると思えば、そのタスクに取り掛かっていない時に安心して忘れることができます。
(自宅で休息している時、通勤している時、他のタスクに取り掛かっている時、など)
依頼されたタスクの内容を安心して忘れることはストレスの軽減になります。
その結果、あなたの仕事のパフォーマンスは良くなります。

記録する媒体は紙が良いでしょう。 私は会社の備品のキャンパスノートを使っています。

ノートPCのメモ帳、スマホのノートアプリ、TODO管理のWebサービスなど世の中にはたくさんのツールがありますが まずは紙のノートでタスク管理することをオススメします。

紙のノートの利点は次の通りです。

(1)メモするまでのハードルが低い
ノートPC・スマホアプリ・Webサービスは環境の準備の手間がかかりますし、ツールの使い方を習得する必要があります。 紙のノートなら誰でも使ったことがありますし、ノートを開けばすぐにメモできます。 社内や顧客との打ち合わせに手軽に持って行くことができますので、その場で記録すれば忘れることはありません。

(2)自由に書ける
紙のノートなら図や表など、なんでも自由に書けます。 追加の説明を書き込んだ事も、内容を訂正したことも、見たらわかります。

ちなみに私は三菱鉛筆ジェットストリームボールペンを愛用しています。

(3)検索が速い
紙のノートなら開けばすぐに内容を確認することができます。 ノートを使い慣れると、視覚と触覚で記憶が強化されると個人的に感じています。 どのあたりに何が書いてあるか確認して思い出せる事を体感すれば、安心して忘れることができます。

1.2 タスクの優先順位をつける

あなたのノートにタスクが並んだら、タスクの優先順位をつけます。 なぜなら全てのタスクを同時に片付けることは出来ないからです。

AさんとBさんの二人から別々のタスクを依頼された場合、 あなたに上司や先輩がいるなら相談して優先順位をつけてもらうと良いでしょう。 いない場合は、タスクの締め切り日や依頼者の重要度・得られる報酬などを元に自分で優先順位を判断します。

タスクの優先順位をつけた結果、締め切りを守れないタスクがある時は タスクの依頼者に正直に話して、締め切りやタスク内容の変更を打診して達成可能になるように調整しましょう。

出来ないことを事前に伝えて調整する姿勢は、相手から信頼を得ることが出来ます。 やって見たけどダメでした、と事後に伝えると信頼を失います。 相手に出来ないと伝えることは気が引けますが、仕事をする上でとても大切なことだと思います。

1.3 タスクが完了したら削除する

タスクが完了したら、完了したことがわかるようにします。
なぜならノートに完了したタスクが残っていると、完了してないタスクと区別がつかないためです。

私の場合は、タスクを取り消し線の要領で横棒の線を引いて、その右側に (OK) と書いて完了したことがわかるようにしています。
タスクを削除すると達成感を感じて気分が良くなります。
この達成感を励みにしてタスク管理を続けていってください。
完了したタスクが積み重なって行くと、自分はこんなにたくさんの仕事をしたのだと自信になると思います。
一息ついたら次のタスクに取り掛かりましょう。
f:id:rydeenworks:20191027225044j:plain

2.タスクを受け取る時に締め切りと成果内容を具体化すべき

タスクを受け取るときは締め切りと成果内容を具体化して、依頼者と合意を取りましょう。 「え?合意?そんなの面倒じゃん・・・」て思うかも知れませんが、それじゃあ甘いです。

2.1 タスクは締め切りと成果定義があって初めて仕事となる

Aさんがあなたにタスクを依頼したということは、Aさんはあなたのタスク成果を使って次のタスクを開始する予定だということを想定するべきです。 想定することであなたは精度の高い仕事をできるようになるからです。

例えば、あなたがある商品の調査をAさんから依頼されたとしたら、以下のようにAさんの次のタスクがあるということです。
あなたのタスク成果:商品の調査結果
Aさんの次のタスク:商品の購入判断

Aさんはいつまでに商品を購入する必要があるのか?ということがタスクの締め切りに関係しているはずです。
また、商品の購入判断の基準としてAさんはどんな情報が欲しいのか要望があるはずです(価格?性能?口コミ?)
このような想定に基づいて、Aさんから情報をヒアリングして締め切り日やタスク成果を具体化をすることが大事です。

Aさんが具体的な締め切り日を言わない場合でも、あなたの方からいつ成果を提出するか示して決めてしまうのが良いです。
急にAさんから明日までに必要と言われて、遅くまで残業となるのは誰でも嫌なはずです。
締め切り日を事前に合意しておけば、そのようなことは防げます。

タスク成果も事前に具体化して合意しておけば、Aさんに成果を提出してから、「○○の情報も調査して欲しい」と言われる事を防げます。

以上のことから、タスクを受け取るときは締め切りと成果内容を具体化して、依頼者と合意しましょう。
もちろん合意した内容は紙のノートに記録として残しましょう。

参考情報

アナタはなぜチェックリストを使わないのか?【ミスを最大限に減らしベストの決断力を持つ!】

図書館の予約を便利にするアプリの紹介

私は図書館をよく利用するのですが、上記の本も図書館から借りました。本が図書館にあるかAndroidアプリ 図書さがし(Google Play)で簡単に調べることができて便利です。 f:id:rydeenworks:20191027225236p:plain

Androidアプリ「図書さがし」の使い方

アプリ紹介

このアプリは図書館でよく本を借りる人のためのものです。私の場合、ネットサーフィンしてて気になる本を見かけたら、Amazonでレビューを見て読むか判断します。PC環境のGoogleChromeブラウザでは、Amazonで表示中の本が図書館から借りられるか表示するプラグインがあるので便利です。AndroidWebブラウザで同様の事を実現するのが、「図書さがし」(Google Play)です。

最近の図書館はネットから本を予約できるのでとても便利ですが、このアプリはそれをさらに便利にします。使い方は動画を見ると雰囲気がわかると思います。全く文字入力せずに図書館の予約サイトにたどり着けるので楽です。

使い方

Amazonページで表示中の本が図書館にあるか調べる

(1)Webブラウザで読みたい本のAmazon書籍ページを表示する

(2)Chromeブラウザの右上のメニューボタンをタップしてメニューを表示する

(3)メニューの「共有...」をタップする

f:id:rydeenworks:20190912213929p:plain

(4)共有の選択画面が表示されるので、「図書さがし」をタップする

f:id:rydeenworks:20190912214137p:plain

(5)アプリが起動し、それから自動で カーリル の書籍ページを開く

f:id:rydeenworks:20190912214157p:plain

(注意事項)カーリルの図書館設定

カーリルのページでは探したい図書館を設定してください。最初に一度設定すれば大丈夫です。

f:id:rydeenworks:20190912214213p:plain

アプリの履歴から本が図書館にあるか調べる

(1)ホーム画面から「図書さがし」アプリを起動する

(2)履歴一覧から調べたい本のリンクをタップする

f:id:rydeenworks:20190912214233p:plain

(3)Amazonで本の検索結果ページが表示されるので、「Amazonページで表示中の本が図書館にあるか調べる」の方法で調べてください

詳細仕様

  • Amazonページの解析内容

    • <title> </title>タグで本のタイトルを取得する
    • ISBN-13タグでISBN文字列を取得する
    • 上記の理由によりKindle版の本には対応してない
    • 本のタイトル、ISBNを取得できない場合は"このページは検索できませんでした"と表示する
  • Amazonページの解析に成功したらhttps://calil.jp/book/ URLに ISBN文字列をつけて外部ブラウザを起動する。

  • カーリルが対応してない本は図書館にあるか調べられない
  • 本の履歴は100件
  • 履歴ページのリンクは、Amazonの検索クエリURLに本のタイトル付与して生成する

ソースコード

GitHubで公開しています。 https://github.com/rydeenworks/MyBookSearch

参照