Facebook Twitter Google Maps RSS
formats

パッケージ管理システム

Published on 2015年2月13日, by in その他, 未分類.

どもっ!陽気なシステム屋のなんちゃんです。

今日は2月13日の金曜日!!明日はバレンタインデーですね!
会社や学校などでも男性の皆さんはソワソワされてるのでは?!ww
そんなわたくしも女性社員の皆様や同僚の奥様方からバレンタインデーチョコを頂きました!
机の上がチョコやらケーキやらでごっちゃごっちゃです。。。汗

業務で利用しているPCもライブラリやパッケージでごっちゃごっちゃです。。。汗
もう・・・何をどこに入れているのか全くもって不明です。。。
そんな状態を回避し、一元管理して使いやすくしましょう!という時に便利なのがこれだ!!

1、2、3!!

Macのパッケージ管理システム”Homebrew”

Homebrew(ホームブルー)は、Mac OS Xオペレーティングシステム上でソフトウェアの導入を単純化するパッケージ管理システムのひとつである。

wikipedia

実行ファイルや設定ファイル、ライブラリなどを一つのファイルとしてまとめているものをパッケージと呼び、パッケージ管理システムとはこのパッケージのインストール(アンインストール)作業を一元的管理するものです。パッケージやライブラリの依存関係なども管理できます。

さてでは早速homebrewをインストールしましょう!!

■homebrewのインストール

ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”

■homebrewの基本操作

  • 検索
brew search <パッケージ名>
  • インストール
brew install <パッケージ名>
  • アンインストール
brew remove <パッケージ名>
  • 更新
brew update
  • 一覧表示
brew list

上記のようなわかりやすいコマンドが用意されていてパッケージを一元管理できるなんて素敵すぎますよね?!
素敵なバレンタインデーのチョコやケーキを食べながらセットアップしてくださいね〜☆

弊社の開発実績はこちら

Tags:
formats

AWS Lambdaでサーバー要らずの問い合わせフォーム

こんにちは。陽気なシステム屋のうっちーです。

前回は、S3 SDK for Javascriptを使用して、問い合わせフォームに書かれた内容をS3にアップロードする仕組みを作りました。

今回は、AWS Lambdaを使用して、アップロードされたファイルに対して処理を行う仕組みを作ります。

AWS Lambdaはre:Invent 2014で発表された新機能です。AWSリソースに対して何らかのイベントが発生したタイミングでnode.jsのプログラムを動かすことができます。

AWS Lambdaはまだプレビューサービスなので、東京リージョンで使用することができません。「US West (Oregon)」を選びます。

「 Get Started Now 」をクリックします。

Lambda Functionの作成画面が表示されます。ここにnode.jsのコードを書いていきます。サンプルで入っているコードをそのまま使えるのですが、一箇所だけ書き換えます。
19行目の

console.log(‘CONTENT TYPE:’,data.ContentType);

console.log(‘DATA BODY:’, data.Body);

に書き換えましょう。これにより、テキストファイルの内容がconsole.logされるようになります。


次に「Create/Select Role」のボタンをクリックします。

AWS LambdaのFunctionを初めて作成する際には、Lambda実行用のIAMロールを作成する必要があります。

このロールではS3のBucketを読み取る権限が必要です。
今回特に修正する必要はありませんので、そのまま「Allow」をクリックします。
戻った画面で「lambda_exec_role」を選択して、「Create Lambda function」をクリックすると以下の画面へ遷移します。

Lambda Functionは作成されたのですが、このFunctionを起動するトリガー(event source)を設定しなければなりません。
「Configure event source」ボタンをクリックします。

S3の特定のBucketに対するイベントとAWS Lambda Functionを関連付ける画面が表示されます。
初めてS3 event notificationとLambdaを関連付ける際には、LambdaをトリガーするためのIAMロールを作成する必要があります。
ここも “lambda:InvokeFunction” できれば良いので、既定値のまま「Allow」をクリックします。
作成した「lambda_invoke_role」を選択し、前回作成した問い合わせフォームの宛先Bucketを選んで「Submit」をクリックします。

これで、AWS Lambda Functionの設定が全て完了しました。
早速動作を確認してみましょう。

前回作成したフォームよりSubmitします。

すると、Lambdaの管理画面のグラフに変化が現れます。

「Request duration」の「logs」のリンクをクリックします。
すると、Lambda Functionの実行結果ログを表示できる画面が開きます。

ログを開いていくと、Lambda Functionが実行されたことがわかります。

もう少し実用的な内容に書き換えてみましょう。
S3に書き込まれたファイルの内容をSlackへPOSTするようにします。

requestモジュールとスクリプトを1つのzipファイルにまとめてアップロードします。

駆け足になってしまいましたが、AWS LambdaとS3 Event Notificationsを組み合わせて、専用サーバーが不要の問い合わせフォームを実現してみました。

※アイエンターではAmazon Web Services(AWS)を用いたサイト構築、ソリューション提案の実績が多数あります。様々なサービスに対する豊富な知見をもとに最適なご提案を行うことが可能です。お気軽にアイエンターへご相談ください!

Tags:
formats

Vagrantを使用してWebサイトを作る~Apache導入編~

こんにちは!

駆け出しプログラマー安東です。

今回第2回目となるのですが、
前回予告した通り、Apacheの導入を行っていこうと思います。

Apacheのインストールの前にまずIPアドレスの設定を行います。

Vagrantfileの以下の文のコメントを外して下さい。

config.vm.network “private_network”, ip: “192.168.33.10”

上書き保存したらVagrantを起動しましょう!

前回やったので、簡単に説明しますと
Vagrantfileがあるディレクトリに移動し

#vagrant up

これでおっけーです!

ではTeraTermからログインしてみましょう。

これで前回のTeraTermを使ってログインできました。
次にroot権限に下記コマンドで切り替えます。

#sudo su

実はapatchのインストールはとても簡単で、
下記コマンドを実行するだけです。

#yum -y install httpd

実行すると以下の写真のようにインストールされます。

ではインストールしたapacheのバージョンを確認してみましょう。
確認コマンドは以下の通りです。

#httpd -v

写真のようになれば無事インストールが完了しています!
インストールが完了したら、Apacheを起動しましょう。

#service httpd start

apacheの状態は以下のコマンドで確認できます。

#service httpd status

また以下のコマンドでVagrantにログインすると自動的にApacheを起動できるように
設定できます。

#chkconfig httpd on

Webブラウザから確認してみようと思うので、
/var/www/html/配下にtestフォルダを作成し、そのフォルダにindex.htmlを作成します。

#cd /var/www/html:htmlフォルダに移動します
#mkdir test:testフォルダを作成します
#cd test:テストフォルダに移動
#touch index.html:index.htmlファイルを作成します。

これでtestフォルダにindex.htmlができました。

#vi index.html

このコマンドでindex.htmlを修正します。

ではWebブラウザから確認してみましょう。

http://192.168.33.10/test

でアクセスするとこのように表示されます。

先ほど作成した。”Hello Vagrant World”が表示されています!!

これで簡単ですがApacheの導入が完了です。
次回はWebサーバーも入りましたので今度は言語の開発環境を整えていこうと思います。

ではこの辺で失礼します。


ECサイト構築はこちら


ホームページ製作はこちら

formats

【Android】 USBケーブルを使わずに実機デバッグする

こんにちわ!

駆け出しプログラマ中村です。

Androidアプリ開発で実機デバッグをする場合、USBケーブルでPCと接続して行うのが一般的かと思いますが、

USBポートが埋まっている、ケーブルが散らかっているのが許せないという佐藤可士和氏的センスの人のために

Wi-Fi経由でのデバッグ方法をご紹介します。

【手順】

1. 実機のIPアドレスを確認する。

設定 – Wi-Fi – 接続しているWifiをタップ でIPアドレスが表示されます。

2. PCと実機をUSBケーブルで接続し、ターミナルで下記を実行する。

$ adb tcpip 5556

ポートは5556以外の任意のものでもokです。

3. ターミナルで下記を実行する。

$ adb connect 192.168.10.201(1で調べた実機IPアドレス)

4. ケーブルから実機を外し、ターミナルで下記を実行して接続確認する。

$ adb devices

デバイスが接続されていることが確認できます。

List of devices attached
192.168.10.201:5556 device

切断は、下記を実行して下さい。

$ adb disconnect 192.168.10.201(実機IPアドレス)

以上、USBケーブルを使わずに実機デバックする手順でした。

formats

Amazon CognitoとS3で問い合わせフォームを作る

こんにちは。陽気なシステム屋のうっちーです。

皆さん、Amazon Web Services(AWS)のシンプル・ストレージ・サービス、S3は活用されているでしょうか??

S3を使用すると、非常に低価格でWebサイトをホスティングすることができ、しかも、レスポンスの心配もありません!
ただ、これまでS3では静的なWebページしかホスティングできなかったので、WordPressを使って構築したサイトの場合、StaticPressといったプラグインを使って静的なサイトに変換するテクニック(いわゆる、「永代供養」などと呼ばれているものですね)を使って運用していました。

この方法で問題ないケースであれば、この方法でご提案させていただくのですが、場合によっては「お問い合わせフォーム」など、特定のページだけはメール送信やDB書き込みしなければいけないといった要件もありますよね。

「お問い合わせフォーム」のためだけにPHPのサーバーを立てるのも無駄な話ですし、「お問い合わせフォーム」の部分だけ外部のサービスを利用するというのもスマートな解決法とは言えませんでした。

 

今回はAWSのサービスとJavaScriptだけを使って問い合わせフォームを実現する方法を考えてみたいと思います。

 

いきなりですが、完成形です。

手抜きでシンプルですが、説明用ということで許してください(笑)

 

で、そのソースコードです。

 

順を追って説明していきます。

まず、JavaScriptからAWSサービスの機能を使用するために、AWS SDK for Javascriptのファイルを読み込んでいます。

AWSのAPIを使用する際には、目的に合わせたIAMユーザーを作成してIAMユーザーのアクセスキー(アクセスキー ID とシークレットアクセスキー)を指定するというのがよくあるパターンなのですが、アクセスキーを公開するのはパスワードを公開するのと同様のリスクがあり、AWSリソースへのアクセスを許してしまうので、今回のような外部へ公開するHTML内に埋め込むのは避けなければなりません。

そこで、Cognito Identityの一時キー払い出し機能(Security Token Service)を使用します。

Cognito Identityを使用するには、AWSの管理コンソール画面からCognitoを選んで、Identity Poolというものを作成しなければなりません。

※現状、CognitoをサポートしているRegionが限られているため、「us-east-1」(N. Virginia)に切り替えてください。

「Amazon Cognito」の画面に遷ったら「New Identity Pool」をクリックします。

「Identity Pool Name」を入力し、「Enable Access to Unauthenticated Identities」のチェックボックスにチェックを付けます。
これは、認証(ログイン画面)を要求しないで、このIdentity Poolを使わせるという指定です。facebook IDやGoogleアカウントといった外部の認証プロバイダを使用することもできます。

「Create Pool」を押下すると、対応するIAM Roleを作成する画面が表示されます。既定値のまま「Update Roles」をクリックします。

すると、 Cognitoを使用するためのサンプルコードが表示されます。

生成された「Identity Pool ID」をメモったらCognitoの準備は完了です。

 

次にIdentity Pool作成時に自動作成されたIAM Roleに対して、使用したいAWSリソースへの権限をポリシーで追加します。

自動作成されたIAM Roleの画面で「Attach Role Policy」をクリックして、「Custom Policy」を選びます。

今回は特定のS3のバケットにファイルをPUTする権限のみを付与したいので、対象のバケット名(この例では「hyamauchitest2」)を記述して「”s3:PutObject”,”s3:PutObjectAcl”」権限を指定します。

 

最後に対象のS3バケットにJavaScriptからアクセスできるように CORS (Cross-Origin Resource Sharing)の設定を行います。

JavaScriptはドメインを跨いだ呼び出し、クロス ドメイン リクエスト (Cross-Domain Requests) に制限がかけられています。この制限を回避する伝統的な方法として、JSONP (Json with Padding) がありますが、Amazon S3はJSONP呼び出しをサポートしていません。対応するWebブラウザが限られるのですが、HTML 5 で仕様定義された Cross-Origin Resource Sharing (CORS) を使用する必要があります。これは、S3側がHTTPのAccess-Control-Allow-Origin ヘッダーにより呼び出しを許可するドメインの情報を Webブラウザに返すことで、クロス ドメインの呼び出しを許可する仕様です。S3バケットのプロパティから「Edit CORS Configuration」をクリックしてCORS Configuration Editorを開きます。

AllowOriginに 「お問い合わせフォーム」のHTMLファイルを置いたドメインを指定し、AllowedMethodに「PUT」のみを指定します。これでJavaScriptからこのBucketへ書き込むことができるようになります!

この設定を「*」などにしてしまうと、同じIdentity Pool IDを使って他のドメインからもアクセスすることができるようになってしまいます。

 

それでは全ての設定が完了したので、「お問い合わせフォーム」からsubmitして、書き込まれた結果を確認してみましょう。

 

うまく宛先Bucketにテキストファイルとして書き込むことができていますね。

 

でも、実要件では単にテキストファイルを書き込むのではなく、メールを送るとかDBへ書き込むといった要件の方が多いですよね。

次回はこの部分を解決する、AWS LambdaとS3 Event Notificationsをご紹介します。

 

※アイエンターではAmazon Web Services(AWS)を用いたサイト構築、ソリューション提案の実績が多数あります。様々なサービスに対する豊富な知見をもとに最適なご提案を行うことが可能です。お気軽にアイエンターへご相談ください!

 

Tags: ,
formats

サブスクリプションコマースとは

こんにちは!
年が明けてからあっという間に2月に入り、寒〜い日が続いています。。
冷え性なのでしっかりと防寒対策をして、体調を崩さないように気をつけたいところです。

 

さて、今回のブログのテーマは、

サブスクリプションコマースについてです!

どのようなものなのかというと!
毎月一定の料金を支払うと商品が届く、定期購入の仕組みです。
しかも、その道のプロ”キュレーター”が選んだオススメ商品が毎月届くという
とっても便利なサービスなんです!

 

詳しくはこちらのサイトをご覧ください。

 

私はGLOSSYBOXというサービスをきっかけに、サブスクリプションコマースの存在を知りました。
毎月自分の好みに合った化粧品のサンプルを届けてくれる、
女性には嬉しいサービスです♪

 

他にもどんなサービスがあるのか気になり、国内のものを簡単にまとめてみました。

 

■国内で今注目のサブスクリプションコマース

ソムリエが厳選したワインが毎月届きます。
「自宅」×「ラグジュアリー」=「宅ラグ」というライフスタイルの提案をしています。
生産者さんから選んで野菜を購入できるサイト。
クックパッドが提供しているので、購入後の調理方法にも悩まずにすみます!
企業の広告をボクサーパンツに掲載し、無料でパンツが届きます。
男性にぜひオススメしたいサービスですね!
何かに特化したサイトというわけではなく、様々なジャンルのキュレーターが
いていろんな商品を提案してくれます。
自分自身が定期購入の出品者になれるサイトです。
初期費用は一切かからず、売上の10%手数料を払うだけです。

 

■弊社ECサイトの定期購入サービス

弊社ECサイト「アイス・スイーツ専門店 善左エ門」でも、
このような定期購入のサービスを行っています。

その名も「スイーツ定期便」!

毎月一定額の料金をいただき、企業の社員数に合わせて
善左エ門の人気スイーツをお届けする法人向けの定期購入サービスです。

 

会社の福利厚生として利用する事で、社員の満足度をアップさせたり、
会社説明会で自社の取り組みとしてアピールが出来ます。
また、会議や懇親会の日程に合わせてお届け出来るので、
社員間のコミュニケーションアップにも繋がります!

 

■購入者にも販売側にもメリットがあります!

【購入者のメリット】
世の中に溢れ返っているたくさんの商品の中から、
良いものを選ぶ事に疲れてしまった消費者も増えてきています。
選ぶ手間が省けるという所が消費者にとっての一番メリットではないでしょうか。
しかもプロが選んだ間違いない商品なら、安心して購入できますよね♪

 

【販売側のメリット】
安定した収益が得られるところです。
また在庫のリスクも少ないので、スタートアップの企業が参入しやすいという
メリットもあります。

 

詳しくはこちらのサイトをご覧ください。

 

■サブスクリプションコマースの課題点…

とても便利に思える販売方法ですが、
お届けする頻度と消費するスピードのバランスがとれないという問題点もあります。
そのため、商材と適切な頻度がサブスクリプションコマース定着の鍵になるのではないかと思います。
海外のサイトですが、商材が良かった例として1つあげてみます。

 

プロがアレンジした花を定期購入出来るサイト。
花は様々な場面で需要があり、時間がたつと枯れてしまうという所に
目をつけたそうです。
これなら間違いなく断続的に購入されますね!

 

以上、簡単ではありますがまとめてみました。
ネットのお買い物を便利に楽しくするために、ご参考になれば幸いです!
Tags:
formats

符号の反転方法

こんにちは。
陽気なシステム屋の一員のシホンヌです。

みなさん、Javaで開発している時に「符号を反転」させたい時ってありますよね?
こういう場合、真っ先に思いつくのは、対象の数値に「-1」をかけるだと思います。

でも、そんなことしなくても、反転したい値の頭に「-」を付ければいいだけってご存知でした?

私は今までずーーーっと「-1」をかければいいじゃん、と思ってました。
頭に「-」を付けるだけならコードも短く済んでいいですね。

int i = 10;
System.out.println( (-1) * i ) // -10が表示される

int j = -8;
System.out.println( (-1) * j ) // 8が表示される

int i = 10;
System.out.println( -i ) // -10が表示される

int j = -8;
System.out.println( -j ) // 8が表示される

コードが少しスッキリしますね!
こういう裏ワザ的(?)な書き方を発見したらまたお知らせします。

またはご存じの方教えてください!

 

 

アプリ開発実績はこちら

Tags:
formats

Vagrantを使用してWebサイトを作る~Vagrant導入編~

こんにちわ!

駆け出しプログラマー安東です。

今回からシリーズ構成で書き進めて参ります。
シリーズ完結まで読んで下さると幸いです。

ではシリーズのタイトル・・・

「Vagrantを使用してWebサイトを作る」

タイトルの通り、Vagrantという開発環境を使ってPHPで
Webサイト作ろうと思います。
今回シリーズ一本目なでVagrantをインストールし起動したいと思います。

その前にVagrantとは

仮想環境の雛形を作成し、どこでも簡単に同じ環境を再現できるようにする
ソフトウェア。
※引用:http://e-words.jp/w/Vagrant.html

Vagrantの一番のメリットとしては、
同じ開発環境を誰とでも簡単に共有できる事です。
それにより、「私の環境では動かないんだけど・・・」などの
トラブルを防ぐ事ができます。

それではVagrantの開発環境を作っていきます。

まずVagrantを使用するために、以下のソフトをインストールします。
・Vagrant
・VirtualBox
 ※私はVirtualBoxを使用致しましたが、たとえばVMwareなどでも使用できます。
・TeraTerm
 ※WindowsでSSHコマンドを導入していない場合、
  コマンドプロンプトからログインできないため使用致します。
  Putty、Poderosaなども使用できます。

上記ソフトウェアのダウンロードは以下にURLを張ります。
そちらから自分の環境に合ったものをダウンロードし、インストールして下さい。

・Vagrant(https://www.vagrantup.com/downloads.html)
・VirtualBox(http://www.forest.impress.co.jp/library/software/virtualbox/)
・TeraTerm(http://www.forest.impress.co.jp/library/software/utf8teraterm/)

上記ソフトウェアのインストールを使用したら、
コマンドプロンプトを立ち上げ、vagrantが無事インストールできているか
確認致します。

#vagrant -v
上記コマンドで確認する事ができます。
無事パスが通っていたら、Vargrantディレクトリにフォルダを作成しフォルダに入ります。
今回はtestフォルダを作成致しました。

次にvagrant boxを作成致します。
作成コマンドは
#vagrant box add test {BoxのURL}
です。
※Boxは下記サイトから取得できます
 VagrantBox.es(http://www.vagrantbox.es/)

次にtestフォルダにvagrantfileを作成致します。
作成コマンドは
#vagrant init test
です

このコマンドで先程作ったtest boxを初期化し、
vagrantfileを作成致します。

最後に#vagrant up コマンドを実行し、
Vagrantを実行致します。

実際にVagrantが起動しているか確認してみましょう。
下記コマンドで確認できます。
#vagrant status

上記写真のように runningになっていればVagrantは起動しています。
これで無事Vagrantのインストールと起動が完了しました。

Vagrantを止めるためには#vagrant haltコマンドで止めれます。

それでは改めて、Vagrantを起動しTeraTermからSSH接続してみます。

接続画面のスクリーンショットを取り忘れてしまい写真はないのですが、
無事接続できると下記画面が表示されると思います。

無事接続する事ができました!

VirtualBoxを立ち上げて、確認すると
testという名前の仮想環境が作成されています。

これでVagrantを無事起動することができました。
このままですとWebサーバやデータベースがインストールされていないので、
次回はApacheのインストールと設定を行っていきます。

今回はこの辺で失礼致します。

ECサイト構築はこちら


ホームページ製作はこちら

formats

jQueryってなーに??

こんにちは!

駆け出しプログラマー安東です。

最近フロント画面を実装する機械が増えて、
おしゃれでかっこいいフロントを作る際に
必ず欠かせないものがあります。
それは「jQuery」です。

今回はWEBにはもはや欠かせない

ライブラリとなった「jQuery」について紹介致します。

まず「jQuery」とは

jQuery(ジェイクエリー)は、ウェブブラウザ用のJavaScriptコードを
より容易に記述できるようにするために設計された軽量なJavaScriptライブラリである。
※ウィキペディア引用:http://ja.wikipedia.org/wiki/JQuery

こんな「jQuery」なのですが
特徴について調べてみました!!

1.繰り返し記述がない
.each()メソッドを使用すると、様々な要素にバインドする事ができます。

2.ブラウザ依存しにくい
JavaScriptを使用するとどうしてもブラウザに依存してしまいますが、
JQueryを使えばそんなことは起こりません!

こんな特色のあるjQueryなのですが
バージョンが違うと異なる点がいくつか出てきます。

■1.x系と2.x系の違い

・1.x系はIE8以前をサポートする古いWebブラウザ(レガシーブラウザ)向けのバージョン
・2.x系はIE8以前をサポートしてはおりませんが、高速かつ安定して動作する事を目指したバージョン

上記の通り、1.x系と2.x系でも大きな違いがでてきます。

■jQuery1.9以降の変更点

jQuery1.9で大きな変更点があり、
使えなくなったり、仕様が変更になったメソッドがあるので
わたしが良く使用するものを以下にまとめます。

・toggle(func,func…)
アコーディオンを実装する際に使う事が多いようです。
※表示/非表示のtoggle()は使用できます。

・live()、die()
.on(), .off()があるので、そちらを使いましょう!

・.add()
要素の追加順が変更になりました。
存在する要素→新しく生成する要素の順番に変更になりました。

また、以下のメソッドも変更になったみたいですので、
いくつかご紹介させて頂きます。

・hover擬似イベント
jQuery1.9では”mouseenter mouseleave”のエイリアスとして”hover”が使用できなくなったみたいです。

・jQuery.attr()
jQuery.attr(elem, name, value, pass)をサポートしなくなります。

業務でも使う事の多いjQueryなので
バージョンの違いなどに気をつけて
今後も業務に望みたいと思います。

今回はこの辺で失礼致します。
ご閲覧ありがとうございました。


ECサイト構築はこちら


ホームページ製作はこちら

formats

ARを利用した障害者支援スマホアプリ

こんにちわ。
本日は気になる記事をみつけたので紹介します。

 

 

こちらの記事では、身体障害者で車いすに乗る方々が、
大学構内を迷わず動き回れる様な案内を、AR技術を利用し実現しています。

トイレや教室までの道のりを、
現実の風景にルート表示する事で、スムーズに目的地までたどりつく事が出来るそうです。
ARの技術を利用したスマホアプリはめずらしくはありませんが、
障害者の方向けのアプリという視点が良いと思いました。

 

弊社は社員を10グループに分け、各チーム一年に一回は社会貢献活動を行っています。
児童施設に行き、児童を引率し遊び相手になる活動や、老人ホームで演劇を行って楽しんで頂いたり、
アイエンターの理念である「楽しむ」という所を様々な場所で啓蒙しています。

 

今回の記事の様に、スマホならではのARの技術を利用し、
障害者の方の暮らしを便利にする事は、アイエンターがもっとしていかなければいけない事だと感じました。
楽しむという理念も元、いかに人々の生活を楽しく便利にするか、
そこをITの力で実現していきたいとおもいます。

 

弊社は300を超えるスマホアプリの開発実績がございます。
普段の業務や生活でお悩みがある方、もしくはこんなアプリあったらいいなと思っている方、
一度お話を聞かせてください。