Technically Impossible

Lets look at the weak link in your statement. Anything "Technically Impossible" basically means we haven't figured out how yet.

2019年のアクセス集計、分析 アクセス集計から、クラスタ分析によりブログの特徴を探る

2019年も終わりに近づき、空いている時間でブログの年間アクセス集計をしてみようか、という気分になった。Google Analyticsを日々参照し、大体の傾向は掴んでいるのだが、複数の観点から参照することで思いがけない特徴を示すのではないか、同時に昨年から学び始めた統計を用いて、興味深い分類、傾向を見出せないか、と考えたからだ。

アクセス集計でよくあるのは、今年最も参照された記事、のような事柄だろう。「最も参照された」と言えば、おそらくアクセス数(Pageview)を真っ先に思い浮かべるのではないだろうか。とはいえ同一人物が繰り返し参照している可能性もあれば、アクセス数は多いものの、実際のところ短時間で離脱されている可能性もある。加えて次の事柄も集計すべきだろう。

User ユーザー数
New User 新規ユーザー数
Bounce rate 繰り返し参照された数
Avg. Time on Page 参照時間

同時に、これらのデータを元に同じタイプの投稿を分類し、傾向を分析してみることにした。

どういう結果が出るだろうか。

  • 準備
  • Pageview
  • User
  • New User
  • Bounce rate
  • Avg. Time on Page
  • RStudioでの集計
  • 参照
続きを読む

42 SILICON VALLEY Piscine 2017 evalexprを考える

42 SILICON VALLEY Piscine 2017の個人プロジェクト、3つ目はevalexpr。文字列として入力された四則演算を計算し、結果を出力するものだ。個人プロジェクトとして最後の課題となるためか、Day02~13までの学習内容を包含した出題内容となっている。関連するのは、例えば次の課題だ。

Day03 ft_atoi
Day05 atoi
ft_str_is_alpha
ft_str_is_numeric
Day07 ft_split_whitespace
Day08 ft_split_whitespace
Day11 スタック、pushとpop
Day13 木構造

evalexprを実装するに際し、これらすべてを使用する必要はないのだがatoiの使用は避けられないだろう。スタックと木構造の使用は受講者次第だ。私は使用していないのだが、人によっては数式を木構造、スタックへ変換し、あるべき順序での計算するために使用するだろう。
例によって問題は詳細を語らず、一部の解釈を受講者に委ねている節がある。

この投稿では、次の話題を採り上げている。

  • 問題の分析と仕様策定:対応すること、しないことの判断
  • 考え方、アプローチ
  • 実装

これまで同様、サンプル・コードはPythonで記述した。Piscine受講生に配慮して、C言語的な記述になるよう配慮している。1月実施のPiscineまで1週間に迫ろうとしている。この投稿がPiscine受講生の一助になれば、と思う。

  • 準備
  • evalexpr
    • 分析と仕様
    • 考え方とアプローチ
  • 実装
    • reformat
    • expression
    • term
    • factor
  • 余談
  • 参照
  • サンプル・コード
続きを読む

42 SILICON VALLEY Piscine 2017 Day04 Exercise 04 フィボナッチ数列と再帰の実践

昨日の投稿では再帰を説明した。あくまでも説明にフォーカスするため、42SV Piscine 2017の課題から離れて、独自の問題を用いた。考えやすい問題で、再帰する価値のある処理を示すためだ。
42 SILICON VALLEY Piscine 2017 match/nmatchを考える(番外編) 再帰の説明 - Technically Impossible
今回は再帰の実践として、Day 04 Exercise 04に挑戦する。これはフィボナッチ数列の問題だ。実際のところ、フィボナッチ数列再帰を用いることなく解くことができる。むしろ再帰を用いるのは非効率だ。しかし課題は再帰を使用することを求めている。

本日の投稿では、実践と共に次のことを示そうと思う。

  • 再帰を使わない解き方
  • 再帰を使う解き方
  • なぜ再帰を用いると非効率なのか
  • 非効率ではない再帰の解き方

この投稿がPiscine受講生の一助になれば、と思う。

  • 準備
  • Exercise 04
  • 大いなる無駄?
  • 余談-メモ化再帰
  • 参照
  • サンプル・コード
続きを読む