シュンカの日記

基本的に書きたいことを書いていくスタイル。

ビジネスで活用できる統計学~ポアソン分布~

今回はビジネスで活用できる統計学として「ポアソン分布」について紹介します。

f:id:nukano0522:20200524173512p:plain

ビジネスシナリオ

ビジネスシナリオ
あなたは会社で、社外向けのセミナーの企画・運営担当をしています。
とあるセミナーで参加者全員に記念品を1つずつ配ることにしました。
しかし、セミナー参加者を事前に把握することができません。
上司から、記念品をいくつ用意するかを見積もるように依頼されました。

これは統計検定2級の過去問を参考にしています。(2016年11月試験:問9)
さて、このときあなたはどのように考えていきますか?
今回はこのケースを統計学を使って考えていきたいと思います。
(※平均λが20以上のポアソン分布は正規分布で近似できるものとして考える)

ポアソン分布とは

ポアソン分布とは簡単に言うと「特定の期間中にランダムに起きる事象が何回発生するか」です。
ポアソン分布の確率関数は下記のようになります。


\begin{aligned}
f(x)= \frac{e^{-λ}λ^x}{x!}
\end{aligned}

特定の単位時間あたりにランダムに起こる事象の平均λ回として、
単位時間あたりにx回発生する確率を求める関数がf(x)です。

また、ポアソン分布の平均=λ、分散=λとなります。
このポアソン分布は、特定の条件下で正規分布で近似できるので、
この特徴を使って、以下を考えてみましょう。

ケース1 記念品が不足する確率を求める

あなたはまず、セミナー参加者の過去実績を調べました。
セミナー参加者の平均は100名でした。
記念品を120個用意した場合に、記念品が不足する確率はどの程度でしょうか?

まず、X=セミナーの参加人数とします。

データが正規分布に従う場合は、このデータを標準化することで「標準正規分布表」を用いて確率を求めることができます。
Xが用意していた記念品120個よりも多くなる確率を、この方法を使って求めていきます。
まずはXを標準化(Z)していきます。

  • 標準化の式


\begin{aligned}
Z= \frac{X-平均}{\sqrt 分散}
\end{aligned}

これに、確率変数X=120、平均=100、分散=100を代入し、セミナーの参加者が用意していた記念品120個よりも多くなってしまう確率を求めます。


\begin{aligned}
Z= \frac{120-100}{\sqrt 100}
=2.0\end{aligned}

標準正規分布表より、Z=2.0のときの確率は0.0228とあるので、
記念品を120個用意した場合に記念品が不足する確率は 0.0228であることが求められました。

ケース2 いくつ記念品を用意するかを求める

記念品を120個用意した場合の不足確率は0.02であるということを上司に報告したところ、
「う~ん記念品が余っても困るなあ、予め参加者を把握しておくことはできる?できれば足りなくなる確率を0.05くらいでもう一度見積もってもらえるかな?」
とレビューを受けます。
そこで、あなたは記念品が不足するリスクを回避するために、セミナー参加者には事前に参加登録をしてもらうことになりました。
ただし、事前登録がなかった場合の参加もOKとします。
そしてこのとき事前登録は60名でした。この60名は全員セミナーに参加するものとします。
事前登録をしていないセミナー参加者が平均40名のポアソン分布に従う場合、記念品をいくつ用意すれば、不足する確率は0.05になるでしょうか?

まず、標準正規分布表より、確率が0.05程度になる値を見つけます。
今回は、Z=1.64とします。
Y=事前登録をしないセミナーの参加者とすると、Yは平均40名のポアソン分布に従います。
Yの分布は平均40、分散40の正規分布で近似できるため、確率Pについて、次の関係式が成り立ちます。


\begin{aligned}
P(Y+60\gt x)= 0.05\end{aligned}

事前登録をしないセミナーの参加者(Y)に、事前登録があったセミナーの参加者の人数(60名)を足して、必要な記念品の数(x)を計算します。
左辺の不等式をちょっと変換します。


\begin{aligned}
P(Y\gt x-60)\end{aligned}

不等式の両辺を標準化していきます。


\begin{aligned}
P(\frac{Y-40}{\sqrt 40}\gt \frac{(x-60)-40}{\sqrt 40})\end{aligned}

このxZ=1.64を満たすように計算をします。


\begin{aligned}
\frac{(x-60)-40}{\sqrt 40}
=1.64\end{aligned}


\begin{aligned}
x
=110.37\end{aligned}

記念品を110個用意しておけば、記念品が不足する確率を0.05にすることができそうだということがわかりました。

まとめ

今回はポアソン分布(とほとんど正規分布)をつかって、
統計学をビジネスで活用する例を書いてみました。
いかがでしたでしょうか?
ぜひ、みなさんも活用いただければと思います。

プログラミングを「写経」して学ぶというSHAKYO.ioをやってみた。

SHAKYO.ioというサービスが目についたので、やってみました。
shakyo.io


習うより慣れろ。という反復練習をコンセプトに、教科書的な勉強ではなくトレーニングとしてプログラミングスキルを高める学習サービスです。

f:id:nukano0522:20200422224949p:plain
習うより慣れろ


写経(仏教の経典の文を書き写すこと)から転じてプログラムを書き写すことで、プログラミングのトレーニングをするものです。
どうでもいいんですけど、大学時代に試験時に手書きノートのみ持込可とする、恐ろしく板書を書く教授がいたことを思い出しました。あれも写経の一種でしたね。
youtu.be



SHAKYO.ioのサービス内容

学べる言語

SHAKYO.ioのサービスで学習できるプログラミング言語は下記7つ。
いろいろできますね。

  • C
  • C++
  • GO
  • Java
  • Java Script
  • Python
  • Ruby

機能紹介

f:id:nukano0522:20200422225700p:plain
機能紹介

SHAKYOすることでアルゴリズムを身につけることができる

これは実際やってみて、「あ、こういう順序で書いてるんだな~」ということが理解できた気がしました。

SHAKYOしたいコードを自分でアップロードできる

やってないので割愛します。。

あなたのコードを世界中の人がプレイできる

こういうなんかみんなで育てていく感じ、なんかいいですよね。



進め方

ちなみに進め方はとても簡単でした。
勉強したい言語を選んで、レッスンを選びます。
そしたらスタート。
f:id:nukano0522:20200422225539p:plain
画面にプログラムが出てきて、どんどんプログラムを写経していきます。
(実際はもっとながいやつがどーーーんとでてきます。)

いや、わからん。。。なにもわからん。。。
と思いつつも、なんとか書ききる。

そうすると スコアがでてきます。
時間とかミスの少なさとか、タイピングっぽいものが出てきますが
こういうのを上げてく!って思うとモチベーション上がりそうですね。

コメントつけてくれたらなー

一回しか写経してないくせに、こんなこというのもあれなのですが
ここがどういう処理なのかのコメントをつけてくれたらなーと思いながら書いていました。
でもすごい書いてる感(できる俺!感)を味わえるのでいい気分でした。

以上、みじかいですが終わります。

ぼくの妻がつみたてNISAをはじめてからの実績(2018年4月~2019年12月)

こんにちは、もう2020年がはじまりましたね。
ぼくの妻は2018年4月に急に思い立ったように「わたし、投資はじめるわ」と宣言してから、かれこれ1年8か月つみたてNISAを続けています。
ちなみに、ぼくは一般NISAを利用していたのですが、飽き性な妻も続けられている圧倒的な楽さと、20年×40万円という期間の長さ×投資額を考慮して今年からつみたてNISAに変更してみました。

そんな妻の運用の実績をまとめてみようと思います。

つみたてNISAの運用実績(妻ver.)

妻:+98,345円

買付金額 累計買付金額 評価金額 損益(円) 損益(%)
2018 330,000 330,000 299,507 △30,493 △10.18%
2019 400,000 730,000 828,345 +98,345 +11.87%

2018年末には△10%だったのに、2019年はマイナス分をさらにプラスに変えてトータルでは+11%以上まであがりました。
たまたま運がよかったっていうのもあるかもしれないけど、低いときにもあきらめずにコツコツ積み立てたからこそ、ここまで上がったのかな~と思っています。

それに一度積み立て金額と商品を設定してしまえば、あとはボーっとしていても証券会社が投資信託を購入してくれる。正直ものすごい楽だ。

買っている商品

ちなみに妻が購入している商品はこれら。

  • eMAXIS Slim先進国株式インデックス(月10,000、ボーナス月10,000)
  • ニッセイ外国株式インデックスファンド(月10,000)
  • 楽天・全世界株式インデックスファンド(月10,000、ボーナス月10,000)

妻の選定基準は「世界に投資してるやつ買えば、分散投資になると思ってる」だそうだ。

eMAXIS Slim先進国株式インデックスはMSCIコクサイインデックスをベンチマークにしている投資信託で、日本以外の先進国を投資の対象にしている、らしい。

「MSCI-KOKUSAIインデックス」とは?
MSCI(モルガンスタンレー・キャピタル・インターナショナル)社が提供する世界の株式を対象とした指数、MSCI All Country World Index (ACWI:アクイ)から、新興国と日本を除外したものがMSCI-KOKUSAIインデックス(MSCIコクサイ指数)です。また、MSCI World Index (MSCI先進国株指数)から日本を除いたインデックスでもあります。この指数は1986年3月31日に算出が開始されてから30年の実績のある指数で、多くの投資家によって日本を除く先進国株式投資の物差し(ベンチマーク)として使われています。
(楽天証券HPより 学ぼう!「MSCI-KOKUSAIインデックス」の魅力 | 特集 | 楽天証券

「eMAXIS Slim」シリーズは運用手数料が安くて初心者におすすめだと他のブログなどで勉強して購入を決めたようだ。
そしてなぜか全く同じベンチマークのニッセイ外国株式インデックスファンドを購入している。なぜだ、分散投資はどうした?しかも運用コストを比較しても「eMAXIS Slim」シリーズのほうが安いのに。。。

さいごに楽天・全世界株式は、FTSEグローバル・オールキャップ・インデックスをベンチマークにしている。
MSCIコクサイインデックスとの違いは、ベンチマークを作っている会社が違うってのと、あとは投資対象の国が若干異なるらしい。

ぼくがつみたてNISAをはじめた理由

積み立てる商品・金額設定を一度してしまえば、そのあとは楽

最初は商品もたくさんあるし、なににいくら投資するか結構考えて設定することが必要になるが、そのあとはボーっとしててもよいのが魅力だ。数年おきにポートフォリオを見直すというのは必要になるとは思うが。

20年間×40万円の運用益が非課税

つみたてNISAのメリットとしてあげられるのが通常、投資信託で利益を出した場合20%が税金としてひかれてしまう。例えば、10万円の利益をだしても、手元には8万円しか残らない。しかしつみたてNISAの場合この20%が非課税になるため、10万円まるまる手元に残るのだ。

20年間の複利効果を得ることができる

投資信託で得た運用益を元本に足して、どんどん運用金額を増やしていくことが複利効果の魅力だ。
例えば、40万円を年間3%で20年間運用した場合、

元本 運用益 元本+運用益
1年目 400,000 12,000 412,000
2年目 812,000 24,360 836,360
3年目 1,236,360 37,090 1,273,450
4年目 1,673,450 50,203 1,723,654
5年目 2,123,654 63,709 2,187,363
6年目 2,587,363 77,620 2,664,984
7年目 3,064,984 91,949 3,156,934
8年目 3,556,934 106,708 3,663,642
9年目 4,063,642 121,909 4,185,551
10年目 4,585,551 137,566 4,723,118
11年目 5,123,118 153,693 5,276,811
12年目 5,676,811 170,304 5,847,116
13年目 6,247,116 187,413 6,434,529
14年目 6,834,529 205,035 7,039,565
15年目 7,439,565 223,186 7,662,752
16年目 8,062,752 241,882 8,304,635
17年目 8,704,635 261,139 8,965,774
18年目 9,365,774 280,973 9,646,747
19年目 10,046,747 301,402 10,348,149
20年目 10,748,149 322,444 11,070,594

なので、最終的には1107万となり、
何もせずに20年間×40万円=800万円ためておくのと比べて、300万程度上積みすることができる。

さらに普通に投資していたらここから300万×0.2=60万円 税金でもってかれてしまうが、NISAであれば300万の利益をそのまま享受できる。

非課税と複利効果のメリットを両取りできるのはとても魅力的だ。

妻がリングフィットアドベンチャーにはまった話

ぼくの妻がリングフィットアドベンチャーというゲームにどはまりしています。
このゲーム、試しにぼくもやってみたのですがたかがゲームと侮ることなかれ。
このリングフィットアドベンチャーによって、我が家はジムと化しました。

f:id:nukano0522:20191231092838j:plain

出会い

きっかけは妻のひとことだった。
「わたし、ガッキーになりたい。リングフィットアドベンチャーやってガッキーになりたい。」
任天堂switchのゲームのCMで女優の新垣結衣さんがやってるのを見て感化されたようだ。
まずガッキーになれないことは置いておいて、リングフィットアドベンチャーというゲームでダイエットしたいと言っているようだった。
また妻のいつもの癖(すぐあきる)だろうと適当に流していたが、3日おきくらいに妻の「ほしいよ~」「かってよ~」攻撃が行われた。

妻との2週間ほどの攻防を経て、ついにぼくは折れることにした。

他のブログでも、リングフィットアドベンチャーを3か月やって実際に痩せたという記事があったりして、ぼくも少し興味がでてきたのだ。

妻の喜ぶ顔みたさ半分、ぼくの興味半分で購入を決意したぼくたちだったが、
その後なんども近くの家電量販店に足を運んだものの、いつ行ってもリングフィットアドベンチャーは売り切れていた。
その時点で発売から約1か月半もたっていたのにだ。

妻は「入荷未定」のポップが貼られたリングフィットアドベンチャーの空き箱を見てはがっかりすることを繰り返しながら「クリスマスまでにほしい。年末年始休暇はリングフィットアドベンチャーしまくるの。」と謎の決意を述べていた。
クリスマス直前になって、妻が通販サイトで定価の1.5倍くらいの高値で転売されているのをポチろうとしているのを止めながら、少し離れた駅の家電量販店に行ってみた。

そこで初めて「予約受付中」のポップが貼られたリングフィットアドベンチャーと出会った。
店員さんによると、クリスマス前にはリングフィットアドベンチャーは入荷されるということで、妻は大喜びだった。
喜びすぎて、結局妻のクレジットカードでどや顔で予約購入していた。

冒険のはじまり

リングフィットアドベンチャーを手に入れた妻の冒険がはじまった。
このゲームはswitchの左右のコントローラーをそれぞれリングと足にセット、プレイヤーの動きをよみとって実際に体を動かすとストーリーが進んでいくというゲームだ。
ちなみにこのリング、普通に筋トレ器具みたいだ。結構弾力があって、内側に押し込んだり、外側に引っ張ったりすると結構腕がきつい。
ストーリーを進めたりするときにAボタンを押す感覚で内側に押し込まないといけないから、基本ずっと筋トレだ。

さらに、冒険中は実際にジョギングをしないとキャラクターも進まない。己の足で進まなければストーリーを進めるどころか、チュートリアルすらクリアできないのである。

ちなみに、ゲーム中に登場する「魔物」と呼ばれる敵を倒すには、腕、腹、脚、ヨガの4種類のトレーニングで攻撃しなければならない。妻は敵が出てくるたびにスクワットをしたり、バンザイプッシュ(リングを頭上で押し込むトレーニング)をしたりして「きゃーなにこれ」「きっつ」「・・・きつ」「涙」とかなり頑張りながら戦っている。妻曰く「ヨガのやつは楽。あとスワイショウも楽。」らしい。

まだきっと序盤だが引き続き妻の冒険を応援していきたい。

妻がはまった理由を考えてみる

このリングフィットアドベンチャーに妻がはまった理由を考えてみる。
飽き性な妻は大抵のことは3日経たずに飽きるのだが、すでに5日も続けている。(今後は分からないが)

冒険以外にもコンテンツが多い

ちなみにぼくもやってみたが、冒険以外にもリングや脚を使ったミニゲームや、体力・筋力測定のメニュー、あとは気になる部位に効くトレーニングをカスタマイズできるなど、結構いろいろあって楽しい。
きちんと正しい姿勢でできているかもチェックしてくれるので一人で筋トレするより圧倒的にモチベーションも維持できる。

運動のログが残る

あとは日々のログを見れるのも、妻にとってはうれしいらしい。何分トレーニングしたか、とその中身(スクワットを何回したのかとか)、何キロカロリー消費したのかとかも日単位と累計回数で確認できる。「積み上げた努力」が自動で目に見えるというのは楽だし(妻はそういう記録つけるのすらめんどくさがる)、嘘つけないし、よさそうだ。

運動をはじめるハードルが低い

妻はいままでも「ジムに通ってみたい」「ヨガに通ってみたい」「ランニングはじめる」となんども挑戦をしてきたが、なんども挫折してきた。まず、トレーニングウェアに着替えることのハードルが越えられない、次に家をでること、そこまでしてやっとトレーニングをやるかやらないかというハードルにぶち当たる。
しかしリングフィットアドベンチャーはテレビの前に適当な恰好で立ってswitchのホームボタンを押せば始められる。
運動を始めるまでのハードルがボタン一つしかない。だから続いてるような気もする。

おわりに

今後も妻を応援したいと思う。
年末年始で体がなまっている人、ぜひやってみてください。
(まだ売り切れてるのかな・・・

2回転職を重ねて感じたこと

4月から社会人6年目に突入しましたが、2か月前ほどに2回目の転職をしました。
なので、早くも(?)3社目となります。

1社目に2年、2社目に3年在籍し、そして今の会社に転職して2か月ほど経ちました。

1社目は中小SI、2社目はIT系のコンサル、そして今回はWeb系の事業会社に転職しました。
業界は全部バラバラですが職種に大きな変化はなく、基本的には”データ”にかかわる仕事をすることが多い5年間でした(データウェアハウス、レポーティング、DB管理、たまにデータ分析的なことなど)。

なので、転職しているからといってまったく新しいことに挑戦しているわけではなく、いろんな会社でデータにまつわるキャリアを伸ばしているという感じです。
ちなみに1社目→2社目の主な転職動機は給料を上げるためで、2社目は終盤望まないプロジェクトにアサインされることが多くなってしまい3社目に移った、という感じです。

転職してよかった~という点もあるにはあるんですが、いろんなところで書き尽くされているようなこととあまり違わないので、今回は転職を重ねるのも考え物だなぁ~という点をいくつか書いておきます。
もしこれから転職を考えている人の参考になれば。

■またイチから実績を積まねばならない
まぁ当たり前っちゃ当たり前なんですが。

業界内で多数の実績残してて有名な人は別だと思いますが、そうではない人は前職までの実績ってある意味白紙になってしまうわけです。
1年2年積み重ねてきたものってバカにできません。
その時間で多くの人と一緒に仕事をして、評価されて(されないこともありますが)、また新たな仕事に取り組んで・・・といったことを繰り返すことで築き上げてきた信頼を、新しい会社でまた築いていかなければなりません。

結局、面白い仕事ややりがいのある仕事って、ある程度実績積んで信頼されている人に回ってくるもんじゃないですか。

そういう良きサイクルを作り上げるまでにまた1年2年愚直にがんばらねばと思うと、けっこうしんどいな~と思っちゃいます。

なので、今の会社で人間関係がうまくいっていて、キャリア形成も望む方向に進んでいる人は、安易に転職することはお勧めしないです(そもそもそんな人は転職しないか?)

■人間関係もイチから
1点目と似ていますが、人間関係もイチから築かなければならんです。

ぼくなんかは打ち解けるまでにそれなりに時間がかかるほう(半年~1年とか)なので、これもけっこうつらいところではあります。

これは賛否両論ありそうですが、一緒に飲みにいけるようになったり、プライベートでも会うような仲になれたほうが仕事ってうまく回ることが多くなる気がしています。
仕事って基本的に行きたくないもんですが、人間関係がうまくいっていれば楽しいと感じることも多いですしね。

相手の懐に入るのがうまいとか、コミュニケーション大好き、みたいな人はいいんですけどね。

■転職1年目の給料はなんだか微妙
なにが微妙って、ボーナスが満額もらえないことですね。
中途入社だと賞与の評価期間の一部しか在籍しないパターンになることがほとんどだと思うので、その分ボーナスも按分されてしまいます。

また転職1年目でいきなり最高評価!ってのは普通の人はないと思うので、ボーナスはそこそこに収まって年収も微妙(前職より下がる?)なんてことになる可能性が高くなるんじゃないでしょうか。

100マン~200マンの年収アップで転職しているんであれば前職よりアップでしょうが、
現状維持の年収であれば、実質は下がることになると思います。

■1回転職しちゃうと何回でもやれそうな気持ちになっちゃう
別に転職することが悪いこととはおもってませんが、なんか会社で嫌なことがあったり思い通りにならないことがあると「転職するかな~」と安易に考えてしまうようになりました。

これは1社目のときはなかった感情なんですが、2社目(そして今も)からは「ま、最悪やめればいいしね~」っていうある意味開き直ったようなことを考えるようになったんですね。
最初の転職って不安も大きいしけっこうハードル高いもんだと思うんですが、1回キメてしまうと2回目以降はすごく簡単に見えてしまうんですよね。

ちゃんと目的意識をもってやらねばいかんことは分かってはいるんですが・・・。
ジョブホッパーにならないように気を付けたいです。

ま、ここもその人の考え方次第なのかな。




転職を2回重ねて感じたこと(主にデメリット)を書いてみました。

新しい環境で新たな気持ちで仕事ができるのが転職の一番のメリットだと個人的に思ってますが、上記のようなこともあるってことで。

とりあえず今の会社で適度にキャリア形成しつつ、(なるべく長く働けるように)適度にがんばっていきます。

Apache上でFlaskを動かすまで(Apache2+wsgi+Flask)

PythonのフレームワークであるFlaskでWebアプリを作成中。
Web上で公開したいため、Apacheと連携させるまでの手順を書く。

ここでは、開発環境(ローカル)でFlaskの動作検証を実施するとともに、その後本番環境(本番Apache)上で動かすまでの手順を書いていく。

環境

※下記は全てインストール済の前提で進めていく

  • OS:Raspbian(Raspberry Pi 3)
  • Pythonバージョン: 3.6.3
  • ウェブサーバー:Apache2

なおPythonアプリの場所は、/var/www/html/flask
でやっていくが、適宜、各々の環境に置き換えてほしい。

参考

qiita.com

開発環境での動作検証

Flaskインストール

pip install flask

テストアプリ作成

[/var/www/html/flask/Hello.py]

from flask import Flask

app = Flask(__name__)

@app.route('/')
def index():
    return 'Hello'

if __name__ == '__main__':
    app.debug = True
    app.run(host='0.0.0.0', port=80)

本番環境(公開サーバー)で動かす

apache2のインストール

apache2は既にインストール済の前提だが、なければ下記

 sudo apt-get -y install apache2

mod_wsgiのインストール

mod_wsgi(ウィズギー)は、PythonフレームワークとApache2を連携させるためのインターフェースモジュール。らしい。
wsgi無しでは、PythonをWebサーバーと連携できないので、インストールが必要。※一応cgiを使うという手もある

sudo apt-get -y install libapache2-mod-wsgi

wsgiファイルを作成

/var/www/html/flask にwsgiファイルを作成する。
[/var/www/html/flask/test.wsgi]

import sys, site

#pythonのpathを指定
site.addsitedir('/path/python3.6/site-packages') 

#wsgi, Flaskファイルのディレクトリを指定
sys.path.insert(0, '/var/www/html/flask')
from Hello import app as application

apache2の設定ファイルでVirtualHostを追加

バーチャルホストを使えば、一つのドメインで複数のサイトを作ることができる。
デフォルト(80番)でよければいいが、自分は既に別サイトで使用していたので、ポート8080番でVirtualHostを追加する。

念の為、デフォルトの設定ファイルはいじらず、新しく作る。

sudo cp 000-default.conf 001-default.conf

下記コードを追加する。
[/etc/apache2/sites-available/001-default.conf]

<VirtualHost *:8080>

 WSGIDaemonProcess test user=pi group=pi threads=5
 WSGIScriptAlias / /var/www/html/flask/test.wsgi

<Directory /var/www/html/flask>
 WSGIProcessGroup test
 WSGIApplicationGroup %{GLOBAL}
 WSGIScriptReloading On

 Require all granted
</Directory>
</VirtualHost>

apache2の設定ファイルでポートを追加

上記でポートを追加した場合、設定ファイルの編集が必要。
(従って、ここは本筋ではない)
ports.confを編集して、とりあえず8080番を追加

[/etc/apache2/ports.conf]

   # If you just change the port or add more ports here, you will likely also
   # have to change the VirtualHost statement in
   # /etc/apache2/sites-enabled/000-default.conf
  
   Listen 80
   
 #以下を追加
   Listen 8080
   
   <IfModule ssl_module>
       Listen 443
   </IfModule>
 
  <IfModule mod_gnutls.c>
      Listen 443
  </IfModule>

ルーターの設定でポートを追加する

(上記同様、本筋では無いが)ルーターの設定で、今回新しく追加したポートを公開する必要がある。
今回で言えば8080番を公開する必要がある。
やり方は、ルーターの種類によって異なってくるかと思うので割愛。



以上。ポート8080番で、Flaskアプリケーションが実行できればOK。
f:id:nukano0522:20180430144544p:plain

CakePHPプロジェクト作成時のhtaccessの設定方法

CakePHPのプロジェクトを作成したまではいいが、htaccessの設定に不備があるようで、CSS等のファイル読込がうまくいかなかった。

不備事象

下記のように、「URL rewriting is not properly configured on your server」というエラーメッセージが表示される。CSS等のファイルも読み込まれていないようである。
f:id:nukano0522:20180328161929p:plain

環境、前提

OS:Raspbian
Webサーバー:Apache

また、ここでは、/path/toというディレクトリ配下に、appというCakePHPプロジェクトを作成した前提で話をすすめる。

対応

.htaccessを有効にする

そもそも.htaccessの読込が有効化されていなかったようなので、apacheの設定ファイルを編集する。

以下を追記する。
[apache2.conf]

LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so

ちなみにmod_rewrite.soの場所は予め調べておく。
f:id:nukano0522:20180331153536p:plain

.htaccessのoverrideの設定を変更

apacheの設定ファイルに下記を追記

[apache2.conf]

<Directory /path/to/app>
    Options FollowSymLinks
    AllowOverride All 
</Directory>

参考:公式サイト
https://book.cakephp.org/3.0/en/installation.html#url-rewriting

.htaccessを編集

.htaccessのファイルを編集する。
こちらも公式サイトを参考。

[/path/to/app/.htaccess]

<IfModule mod_rewrite.c>
    RewriteEngine on
    #RewriteBaseの記述を追加
    RewriteBase   /app
    RewriteRule    ^$    webroot/    [L] 
    RewriteRule    (.*)  webroot/$1    [L] 
</IfModule>

[/path/to/app/webroot/.htaccess]

<IfModule mod_rewrite.c>
    RewriteEngine On
    #RewriteBaseの記述を追加
    RewriteBase /app/webroot
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule ^ index.php [L] 
</IfModule>

参考:公式サイト
https://book.cakephp.org/3.0/enひょうじされるようになりました。ml#url-rewriting


以上、ちゃんとひょうじされるようになりました。
f:id:nukano0522:20180331155444p:plain