×
ラベル recommended の投稿を表示しています。 すべての投稿を表示
ラベル recommended の投稿を表示しています。 すべての投稿を表示

目次 [隠す]

トップ画像
出典:Christina Morillo in Pexels

はじめに

この度、素人ながらスマホアプリ開発に挑戦してみました。
今回の記事では概要と経緯について書き綴ってみたいと思います。
実際に行った作業の詳細は、今後それぞれ記事を書き、こちらにリンクを追記します。

はじめてスマホアプリを作ってみた 記事一覧
  1. 検討フェーズ(どんなアプリを作るか)
  2. 要件フェーズ(どんな要件のアプリにするか)
  3. 調査フェーズ(どんな技術を使うか)
  4. 設計フェーズ(どうやって作るか)
  5. 開発フェーズ(実際に作りはじめる)
  6. 公開フェーズ(アプリを公開する)
  7. 保守フェーズ(公開から現在まで)


作ったアプリ「OneThird」の概要

毎日の睡眠を入力によって記録するアプリです。

OneThird ストア画像

こちらでインストールできます
※iOSは実装は作ったもののAppleIDがないので現在リリース未定です。

Google Play で手に入れよう

基本的な機能

寝た時間、起きた時間、5段階評価、メモ(150文字以内)を記録することができます。
月単位や直近の平均睡眠時間(7日、30日、1年を知ることができます。

データの保存

サインアップするとクラウド上にデータを保存することができます。
サインインしなくてもローカルにデータを保存し、使うことができます。
後からサインアップし、ローカルに貯めたデータをクラウドにアップロードすることも可能です。

なぜに睡眠アプリ?

技術の習得やリリース後の保守におけるモチベーションを維持するには毎日自分が使うものにしようと最初に決めました。

わたしは物心つく頃から今に至るまで睡眠が大の苦手です。
寝付くも地獄、目覚めも地獄、滅べよ睡眠、と思って生活しています。
睡眠がなくても生きられる進化を遂げてこなかった祖先たちを軽く恨んでいたりします。

睡眠を自動で記録してくれるアプリなど、これまで色々と試してきましたが、設定の複雑さ・不便さなどが気になり習慣にすることができませんでした

シンプルに記録する機能に絞ったものであれば続くかもしれない、ましてや自分で作ったのなら...
そんな期待を込めての選択です。

そもそもなぜスマホアプリを作ってみようと思ったのか

昨年2020年夏ごろ、幸いコロナ禍による致命的な被害はないものの、鬱々とした気分に陥りやすくなっていました。
守り受け身の姿勢で生活を送っていると精神が死ぬ。
何か新しいことを始めてみよう!というのが一番のキッカケです。

わたしは誰だ

アラフォーです。
超絶小規模不動産会社勤務のリーマンです。
プログラミングとは無縁の生活をしています。

システムエンジニアとしてのキャリア

文系高卒、最終学歴は海外の底辺語学学校。
コンピュータサイエンスとは無縁の人生でしたが、アラサーのとき全くの異業種からシステムエンジニアの門を叩きました。

当時、情シスエンジニアとしてコード書いたりしてました。
言語はC#、「ASP.NET Web Forms」(バージョンは2.0だったかな)という、いま思えばとてもウェブアプリとは言い難いフレームワークを扱っていました。
またドイツの「SAP」というごっついパッケージソフトのお守りをしていました。
「プログラマ」というよりは、業務分析・設計とかの作業が多かったと記憶しています。

で5年ほどいたのですが、諸事情によりいまの会社へ移り、それ以降約10年の間、プログラマとしてはなんもしてませんでした。

作りたいものを考えつつ準備学習したこと

さて何をつくろうか?と考え始めると同時に、どうやって作るかの学習を開始。

まったくイチから始めるか、発掘した鉄器なみに錆びついているとはいえ.NETを使うか迷いましたが、結局.NET開発を採用することにしました。

C#も当時からかなりバージョンが上がっており復習を兼ねて以下を読んでいきました。
内容について簡単に記載してますが、素人の感想なので悪しからず。

※読んだ順

Peacock-ANDERSON

school.anderson02.com

ウェブサイトですね。
有料の講座があるようですが、無料で読めるコンテンツが結構あり以下を一通り読みつつチュートリアルをやってみました。

  • Xamarin.Fomrs
  • Prism
  • ドメイン駆動開発
  • テスト駆動開発

オブジェクト指向のこころ (SOFTWARE PATTERNS SERIES)

アラン・シャロウェイ氏、ジェームズ・R・トロット氏による書籍です。
デザインパターンに主眼を置き、デザインパターンを実践するためにオブジェクト指向言語の機能性を併せて理解するといった感じの内容です。

テスト駆動開発

ケント・ベック氏による書籍。
当時、テストという概念が著しく欠如した環境にいたので「テスト駆動開発」、「TDD」というキーワードにすごく引き寄せられるんですね。
テスト駆動開発のやり方というよりは、TDDを実践すると良い設計をすることができるようになるよという内容です。

ドメイン駆動設計入門 ボトムアップでわかる!ドメイン駆動設計の基本

成瀬 允宣氏による書籍。
ドメイン駆動によるアプリケーション開発を実際にコード(C#)を示しつつ解説してくれます。
とっつきやすくなるような構成になっており、非常にわかりやすかったですね。

Clean Architecture 達人に学ぶソフトウェアの構造と設計

ロバート・C・マーチン氏による書籍。
良いコード、良い設計を目指してもう一歩踏み込みたい、と思って選んでみた一冊。

ここまで読んできたのはどちらかというと「How」に寄った内容ばかりで、本書は「Why」を口酸っぱく説いてくれる本で非常にためになった。
そもそもソフトウェアって?なんで設計すんの?という本質的な部分を、すごい短い言葉で表現していてカッコいい。惚れる。

Microsoft Learn

https://docs.microsoft.com/ja-jp/documentation/

マイクロソフトの公式ウェブラーニングサイトです。
無料で利用できます。
実際にやってみたのは以下。

  • Xamarin.Forms関連
  • Azure関連(基本、B2C、CosmosDB)
  • App Center

Microsoft Docs

https://docs.microsoft.com/ja-jp/learn/

マイクロソフト公式のドキュメント
必要に応じて検索し参照するという感じで読みました。

上記以外にも数多くの方のブログなどを参考にさせていただきましたが、敬意を表しつつ割愛させていただきます。

開発環境

IDE

Visual Studio 2019 Community

デバッグ用端末

ASUS ZenFone 3 Max (Android 7.1)
SHARP SH-41A (Android 11.0)

ソース・タスク管理

Azure DevOps

リリース管理

Visual Studio App Center

サーバ

Microsoft Azure

言語

C# 8.0

フレームワーク・プラグイン

.NET Standard 2.1
Xamarin.Forms 5
Prism 8
xUnit 2.4.1

データベース

CosmosDB
Realm 10.0

その他

Azure AD B2C (ユーザ認証用)

アプリの仕様概要

機能一覧

  • 睡眠記録を保存・修正・削除する。(就寝・起床時間、5段階評価、メモ)
  • データをローカルまたはクラウドのDBに保存する。
  • 月単位で睡眠記録の一覧と平均睡眠時間を表示する。
  • 直近の睡眠時間を表示する。(直近7・30・365日間)
  • メールアドレスまたはSNSアカウント(Google・Twitter・Facebook)でサインアップする。
  • サインアップアカウントでユーザ認証する。
  • ユーザ設定として、デフォルトの就寝・起床時間を保存する。
  • ローカルに保存した睡眠記録をクラウドにアップロードする。
  • プライバシーポリシー、ヘルプページを表示する。
  • 広告を表示する。
  • 複数の言語で表示する。(日本語・英語、端末の言語環境に依存)

Project構成

Project構成図
Project構成図

Domain

睡眠記録のドメインモデル、何時から何時までを当日分とするとか、二度寝は記録できるけど重複した時間帯は保存しないといったビジネスルール、Repositoryインターフェイスなどを実装しています。

Application

Xamarin側のCoreと、ドメインのインターフェイスを介したInfrastructureとのやり取りを中継しています。

Core

Xamarin Formsのcommonプロジェクトです。Android、iOSの共通部分を実装しています。

Android・iOS

各プラットフォームに依存する部分を実装しています。

Infrastructure

RealmとCosomosDBとのやり取りを実装しています。
ユーザがログインしていればCosmosDB、そうでなければRealmに接続します。
RealmはSQLiteのようなローカルDBを提供してくれる製品です。

realm.io

今後の目標

直近は見つけた不具合修正や、あるべきだけど抜けてた機能実装などを頑張る。

最初の到達点として、分析を充実させたいという思いがあります。
記録を続け振り返り寝つきが悪かった時期と、天候・気温差などと比較したり。
自分なりの睡眠対策を発見するための気づきを与えてくれるようになれば成功だと考えています。 他には、不眠症が多い国に随時ローカライズしていきたいですね。

人生の約3分の1を過ごすと言われている睡眠の時間を、少しでも幸せな時間にしたい。

まとめ

素人のアプリ開発チャレンジについて長々と失礼しました。

学んでいる時間や壁を超える作業の繰り返しは、精神安定には非常に良かったです。

世界はいまだ不安定な状況で連日大変な思いをしている方々がいることを思うと苦しい気持ちになりますが、没頭することで何とか人間に戻ることができます。

ざっくりとした日記のような情報価値の低い記事ですが、別途いろいろ調べたことなどで日本語情報が少なかったものなどを後日まとめていきたいと思います。

長文駄文しつれいしました。

はじめてスマホアプリを作ってみた 記事一覧
  1. 検討フェーズ(どんなアプリを作るか)
  2. 要件フェーズ(どんな要件のアプリにするか)
  3. 調査フェーズ(どんな技術を使うか)
  4. 設計フェーズ(どうやって作るか)
  5. 開発フェーズ(実際に作りはじめる)
  6. 公開フェーズ(アプリを公開する)
  7. 保守フェーズ(公開から現在まで)

アラフォー初心者だけどスマホアプリを開発~リリースまでがんばってみた【Android・Xamarin.Forms】

目次 [隠す]

お笑い、特に漫才が好きです。

Dr.ハインリッヒ
出典:AMeeT

M-1グランプリ 2020

年末と言えば「M-1グランプリ」が開催されますね。
これを書いている2020年11月22日現在は、準々決勝が終わり、準決勝進出25組が決定しています。

毎年楽しく視聴させていただいているこの大会ですが、今年はひとつ思い入れを持って追っています。

個人的にもっとも応援していますのが、上記画像の「Dr.ハインリッヒ」というコンビです。
結成15年目のコンビのためラストイヤーでもあったのですが、惜しくも準々決勝で敗退となってしまいました。

望みはこれで完全に断たれたわけではなく、「M-1グランプリ」と動画配信サービス「Gyao」による、「Gyao!ワイルドカード」という準々決勝敗者復活企画というのがあるのです。

M-1グランプリ2020 特集|無料動画|GYAO![ギャオ]

今年もやります独占企画!予選ネタ映像、ワイルドカードなど漫才頂上決戦『M-1グランプリ2020』を楽しめる企画が盛りだくさん!

M-1 2020 Gyao

準々決勝で敗退した芸人さんの動画がGyaoにあがっており、視聴数がもっとも多かったコンビないしトリオが準決勝に進むことができるという企画です。

私としては、Dr.ハインリッヒにこの枠を勝ち取っていただいて、決勝まで勝ち進み、全国に彼女たちの漫才が届けばいいなと願っている次第です。

そして、みごと優勝するまでの妄想はしっかりできている自信があります。

Dr.ハインリッヒとは

最近少しずつ増えてきたとはいえ、やはり圧倒的に男性が多い世界においてはめずらしい女性二人の漫才師によるコンビです。

京都出身の双子だそうで、とてもよく似た声と声による掛け合いが不思議な空気を生み出すところも魅力のひとつです。

彼女たちの漫才の最も魅力に感じている点は、「既存概念を細かく粉砕し撒き散らし、優美な所作でもって再びひとつの円環へと紡ぎあげる」ところです。

はい、何を言っているのかわかりませんね。

上記の動画は、Dr.ハインリッヒの漫才に登場するワードを基に作られた映像です。

コンビニやファミレスなど身近な設定を用いて繰り広げられる漫才が多いですが、Dr.ハインリッヒのネタはそもそもの設定が一味も二味も違います。

まるでSFの世界のように、時間や空間がしばしば歪んでいます。

そして、二つの相似した突き抜けるようなハイトーンボイスによって表現されたこの無限に広がった世界は、「オチ」という結末によりひとつの塊へと収束するのです。

Dr.ハインリッヒの漫才を聞くたび、私はいつも宇宙を感じます。

幸(みゆき)さんが生み出すおよそ凡人にはなかなか理解しがたい世界観を、ツッコミである彩さんは否定しないのですよね。

受け止め乗っかっていくことで幸さんを独りぼっちにさせません。

そして、おおきな動作を交えながら観客側に幸さんの世界観の素晴らしさを翻訳し、両者を結びつけてくれます。

最初は戸惑っていた観客(かつての私)も、その世界のおもしろさ素晴らしさに気づくことができたとき、歓喜が訪れます。

以前からごく普通の熱量でお笑い番組を見たり楽しんで生きてきましたが、Dr.ハインリッヒの漫才を知り、私は漫才が大好きになりました。

それまで囚われていた価値観や思考を取りはらい、何も見えていなかった私の視力を1兆倍ぐらい引き上げてくれたのです。

「M-1」で女性コンビが優勝すると「THE W」はどうなる

お笑いのコンペ形式の大会に「THE W」というのがあります。

女芸人No.1決定戦 THE W - Wikipedia

「THE W」の「W」は「Woman」の「W」なのでしょう、女性芸人の頂点を決める大会です。

「THE M」という大会はありません。

ああ、「M-1」の「M」が「漫才(Manzai) の M」ではなく、「Man の M」っていうことか。

と言いたくなるのも「M-1」の歴代優勝コンビのなかに女性は「ゼロ」なのですね。

M-1グランプリ#歴代優勝者 - Wikipedia

どの芸人さんの漫才も毎年おもしろく楽しませていただいています。

だけれども、Dr.ハインリッヒに風穴をあけてほしい気持ちが正直あったりします。

Dr.ハインリッヒが優勝することで、笑いという表現の幅がグッと広がり、女性の審査員が増えたり、いろいろと変化をもたらし、M-1はもっともっとおもしろい大会になると思うのです。

Dr.ハインリッヒが優勝し、「M-1」の「M」が真の意味で「漫才 の M」になる、そんな2020年12月20日を夢見ています。

Dr.ハインリッヒ M-1グランプリ2020 準々決勝[大阪] | バラエティ | 無料動画GYAO!

無料でお楽しみいただけます。M-1グランプリ2020 準々決勝 エントリーNo.2197 Dr.ハインリッヒ(幸 / 39歳、 彩 / 39歳) 所属事務所名 / コンビ結成歴:吉本興業

M-1 2020 Gyao

Dr.ハインリッヒのコンテンツ

Dr.ハインリヒの漫才やトークは彼女たちのYoutubeチャンネルで見ることができます。

Dr.ハインリッヒチャンネル - YouTube

Dr.ハインリッヒの公式チャンネルです。ネタ等アップしていきます。よろしくお願いします。

Dr.ハインリッヒチャンネル画像

こちらで長尺のインタビューを読むことができます。

グラデーションの犬と、チャーハンを食べるデブの鰯:前半 インタビュー:Dr.ハインリッヒ|Feature|AMeeT

「色が全体的にパープルで尻尾の方がグリーンのみょうがみたいな犬」といった、脳内に風変りで美しいビジュアルイメージが思い浮かぶ言葉を用いるなど、他のお笑い芸人と一線を画す漫才師 Dr.ハインリッヒ。AM

Dr.ハインリッヒ画像

グラデーションの犬と、チャーハンを食べるデブの鰯:後半 インタビュー:Dr.ハインリッヒ|Feature|AMeeT

「色が全体的にパープルで尻尾の方がグリーンのみょうがみたいな犬」といった、脳内に風変りで美しいビジュアルイメージが思い浮かぶ言葉を用いるなど、他のお笑い芸人と一線を画す漫才師 Dr.ハインリッヒ。AM

Dr.ハインリッヒ画像

「生まれてすいませんへのアンチテーゼやないか」 Dr.ハインリッヒ

目次 [隠す]

記事画像
出典:joplinapp.org

Joplinに至る経緯

私は日々消費するTodoや、物忘れ防止に「Google Keep」を使用しています。

ただ、学習したことをまとめたり、文量があったり、アーカイブとして記録しておきたい場合、Google Keepでは視認性や分類といった点で適していないと感じています。

ノート用として以前「EverNote」を使用していたのですが、無料で利用できる端末台数に制限がかかったタイミングで有償利用に踏み切ることができず(お世話になっていたのにすいません)Microsoft OneNoteに移行しました。

無料ノートアプリ「Joplin」を使用しています(EverNote → OneNoteを経て)

目次 [隠す]

「山」に興味を持つにいたるまで

突然ですが、「山」は好きですか?

記事画像

遠くから美しい山の稜線を眺めたり、一歩ずつ足を踏み入れ頂上を目指したり。いつからか私はすっかり山の虜になってしまいました。

もとはと言えば、身近に登山をする人がいたことや、『岳』という山岳救助をテーマにした漫画を読んだことがキッカケでした。

【作品紹介】 「山」にまつわる本 ~小説、ノンフィクションなどなど

目次 [隠す]

序章:アマゾンにどっぷり依存した生活を省みる

※はてなブックマークでコメントいただいた内容を参考に追記しました。
コメントいただいたみなさまに感謝申しあげます。(2017.07.12)

みなさんは電子書籍を利用していますか?

そしてどこのサービスを利用していますか?

top-image

これまで私はオンラインショッピングをアマゾンに深く依存してきました。

そんなわけで、電子書籍を利用しようと思い立ったときにアマゾンが提供する「Amazon Kindle」を選択するのは極めて自然な流れだったのです。

電子書籍を「Amazon Kindle」から「honto」に乗り換えてみた ~電子書籍サービスを比較