読者です 読者をやめる 読者になる 読者になる

Vue.jsにおける親子関係

フロントエンドの作成にVue.jsを使い始めたのですが、コンポーネントの使い方について少し悩んだので簡単にメモ

Vue.jsの親子関係

結果

  • item1
  • item2
  • item3

処理の流れ

  1. 2行目, v-for内のitemsに対して親(app)からデータ(items)が渡る
  2. 2行目, :child=‘item'によって親のitemsの要素itemと子(child)内で宣言したprops(childという名前)が紐づく
  3. props子コンポーネントのテンプレート内で親のデータを利用を(child.name)といった形で利用可能になる
  4. 以上の処理をitemsについて繰り返し、テンプレートを作成

機械学習や関数型についても少しづつ書いていきたい

今年度の目標について

1月ももう残すところ少しだが、今年度の目標を立てておこうと思う。 目標を立てるために、データ分析を行っている業界の人にいろいろと話を聞いて回っていた。 結果として、データ分析業務の雰囲気はつかめたものの具体的な目標はすべて自分で立てる必要があるだろう。

主な目的

近年、私の携わる受託開発の現場においてもビッグデータを何かができないか、 もしくはこういった課題をデータ分析で解決できないかといった需要は増えてきている。 しかし、経験も身近に聞ける人もいないためお断りしている現状であるのでこれをなんとかしたい。 特に、データ解析を自動で行う手法の一つである機械学習は、そのアルゴリズムについて 興味があることもあるので是非身につけ実務に活かせるようにしたい。(もしくは活かせるような環境に身を置きたい)

資格

現在、機械学習に関する資格は存在しないようだが、関連する資格として以下をとって置きたい

データベーススペシャリスト 4月 ・統計検定準1級 6月 ・統計検定1級 11月 ・Pythonエンジニア認定試験 随時

といっても、これらは機械学習に直接関係するわけではないので 試験勉強にはあまり時間をかけないようにしたい。

スケジュール

月単位の予定、1月は除く - 1月 Python及びそのライブラリ利用方法の基本を学ぶ - 2-3月 courseraの機械学習コース受講 - 4月データベーススペシャリスト - 5月 ディープラーニング学習 - 6月 統計検定準1級 - 11月 統計検定1級 * 機械学習については学習を進める中で随時次の目標を決めていきたい

感想

なかなか大変な目標になってしまったが、100%の達成は無理だとしても 半分達成できれば十分に意味があると思うので投げずに頑張りたい。

Strategyパターン

 

最近、変更が容易なプログラムの必要性を実感しているので、デザインパターンをなるべく自分の言葉でまとめてみようと思う。

まずはStrategyパターンについて

概要

GoFのカタログによると

 アルゴリズムの集合を定義し、各アルゴリズムカプセル化して、それらを交換可能にする。Strategyパターンを利用することで、アルゴリズムを、それを利用するクライアントからは独立に変更することができるようになる。

 

一部のアルゴリズムが異なるようなクラスの作成を容易に行えるようになって便利ということ。

将来変更・追加がアルゴリズムの部分に起きそうな場合、デザインパターンの原則に従い具体的なアルゴリズムの実装はカプセル化しておく。

クライアントごとに利用するアルゴリズムを選べるようにもなり便利である。

クラス図

f:id:Kleisli:20161224064036p:plain

コンテキストごとのアルゴリズムの違いは、具体的なアルゴリズムの呼び出しをStrategyクラスに移譲することで実現している

 

感想

githubリポジトリを追加して、具体的に実装してみた。

GitHub - S2P/design_pattern

Javaに慣れる意味でも他のパターンについても実装してみようと思う。次はDecoratorパターンあたりにするかもしれない。

 

オブジェクト指向における再利用のためのデザインパターン

オブジェクト指向における再利用のためのデザインパターン

 

 以前捻挫したGoFに再挑戦したが、オブジェクト指向に慣れたのか以外に分かりやすく感じた。

サンプルコードが実践的であること、他の入門書にはない細かなメリット・デメリットについての記述があるのも良かった。

利用例はさっぱりわからなかったが特にきにする必要もないだろう

ネットワークスペシャリストに合格したのでその感想

12/16(金)はネットワークスペシャリスト試験の合格発表日だった。

発表時間の正午すぐに IPAのホームページにアクセスして試験結果を確認した。

皆一斉にアクセスしたためであろうか、ネットワークの遅さに苦労しながらなんとか合格発表ページをみたところ無事に合格していた。

忘れないうちに反省点などをまとめておこうと思う。f:id:Kleisli:20161217181213j:plain

 試験対策

ネットワークに関する知識は、普段から分からない部分があれば調べるようにしていたため知識的な部分はクリアしていたと思う。昨年は午後2で長文問題が解けず落ちてしまったため、その対策に重点的に時間を当てることにした。

試験対策にかけた時間は2週間ほどだったが、下の2冊の参考書を読んだ後に過去問を3年ほど解くことで効率良く勉強できた。どちらの本も役に立ったのでオススメしたい。

 

ネスペ 27 礎 -ネットワークスペシャリストの最も詳しい過去問解説 (情報処理技術者試験)

ネスペ 27 礎 -ネットワークスペシャリストの最も詳しい過去問解説 (情報処理技術者試験)

 

 この本は1年分の試験問題のうち午後1、午後2について1冊を使って解説している。

この本の解説を読むと1つの問題を解くだけでも、その背景には深い考えや知識が必要だと分かり、勉強する際にどのくらい深く理解すればよいのかの目安になると思う。

 

情報処理教科書 ネットワークスペシャリスト 2016年版

情報処理教科書 ネットワークスペシャリスト 2016年版

 

 この本は筆記問題の解き方のテクニックが前半で説明されている。この本を読んだ後に、実際に過去問で実践したおかげで筆記問題を解けるようになったと思う。また、過去に問われたことのある問題をカテゴリごと分類しており、どのような問題が問われやすいのかまとめてくれていたのも助かった。

試験の感想

午前1、2は省略。

午前1は問1と問3を選択しました。それぞれメールの運用と移行計画について問われており、経験があったので選択したのだが結果はわりと危なかった。

問2は過去にも問われていそうな無線LANに関する問題だったので、きちんと対策できている場合はそちらを選択しただろう。

午後2は問1を選択した。理由は消去法で、問2で問われていたVPNに自信がなかったからであるが、良く問われる題材でもあるのでしっかり対策しておくべきだった。

問1は音声電話に関する問題が出題されていたが、必要な知識は問題文中で解説されているためネットワークの基礎知識があれば解けるようになっていたと思う。

反省など

知らない用語に出会ったら普段から調べるようにしていたのは大切だと思うが、それだけだと知識にむらができてしまうため、試験範囲を確認した上で普段なじみのない分野については教科書で勉強し実機で試しておくべきだった。

来春はデータベーススペシャリスト試験を受験予定であるが、業務的には論理設計のみで物理設計は行う機会がないので、上記の反省を活かしていきたい。

数式なしで機械学習の基本概念が学べる[機械学習入門 ボルツマン機械学習から深層学習まで]

 

機械学習入門 ボルツマン機械学習から深層学習まで

機械学習入門 ボルツマン機械学習から深層学習まで

 

 機械学習の勉強はじめとして機械学習入門 ボルツマン機械学習から深層学習まで

を読んでいますがなかなかいい本です。

 

この本の特徴として白雪姫を主人公とした物語をベースに機械学習が説明されており、 本文中に数式がほとんどでてきません。出てきたとしてもグラフと分かりやすいイラストと一緒にでてくるので数学を知らない人でも読めるでしょう。

 

私は数学は嫌いではなく、これまでも機械学習アルゴリズムを少しばかり勉強してはいたのですが、数式を追うのに必死になりすぎ「木を見て森を見ず」の状態になっていました。

この本では、 主人公である白雪姫の"美しさ"を客観的に証明するにはどうすればよいかといった具体例を軸に説明されているためなぜ機械学習や様々な技法が必要なのかが開設されているため、難しい概念がすんなり頭に入ってきます。

 

まだ、半分ほどしか読んでいませんがニューラルネットワーク、深層学習、オンライン学習などについての概念がよく分かりました。

今後サポートベクターマシン、ボルツマン学習といったものが開設されているみたいですので一気に読んでみます。

それで、モチベーションの高いうちにアルゴリズムを勉強して実装したいですね。

 

このブログについて

はじめまして

 

プログラミングや数学について勉強したことを記録するためにブログを書いていこうと思います。

現在興味があるのは、関数型プログラミング圏論機械学習ですのでそれらについて

学んだことを記事にしていこうかと

 

特に関数型プログラミング圏論の関係について興味があるので、今年も残り少ないですが、毎日更新を目標に頑張っていきます