タグ

ブックマーク / futurismo.biz (16)

  • 結局、機械学習に必要な数学ってなに?

    前置き# 記事がはてぶ炎上して恥ずかしい思いをしたので、結構書き直しました。 この記事よりも良質な記事を参考記事に列挙したので、このページをブックマーク集だとして、他のページを参照していただければと思います。 はじめに# 機械学習を勉強するにあたって、 ベースとなる数学を勉強したいというモチベーションが高まってきた。なぜか?それは、今まで数学的な知識なしに勉強を進めていたのたけれども、論文が読めなかったり、少し数式で込み入ってくると、とたんにわけがわからなくなったからだ。 しかし、一番のモチベーションは、やっぱり機械学習を勉強するものとしての登竜門、PRML(パターン認識と機械学習)を読みたいというものがある。 参考記事# そこで、機械学習のために必要な数学を調べてみたのだが・・・どのサイトをみてもこれはというものがみつからないのだ。 2017年現在で、有益な記事をできるかぎり集めてみた。

    結局、機械学習に必要な数学ってなに?
  • はじめて UML で設計を体験した

    会社の話. 今週から, ソフト設計の工程に入った. UML のクラス図とコミュニケーション図を利用して, ソフトのアーキテクチャについて検討した. 実は, 仕事で UML を利用してクラス設計をするのは今週が社会人初なのだ! Java による新規開発案件# 今までの仕事は, C 言語での流用開発. switch 文に条件を追加していくだけの簡単なお仕事だったので, クラス設計やソフト構造の設計などまったく関わりがなかった. しかし, 今回の仕事Java の新規開発案件だ. そのため, はじめの設計で保守性の高いクラス構造を決める必要がある. はじめての OO 設計# 一応 UMTP L2 の資格を持っているし, デザインパターンについてもいろいろ調べたりしてきたけれども, 実践で利用したことがないということについて,とても歯がゆい気持ちでいた. そのため, (ついに!) 仕事で クラス

    はじめて UML で設計を体験した
    yuiseki
    yuiseki 2014/10/07
  • 画像認識でアプリケーション操作の自動化を実現!Sikuliがあまりに革命的で興奮した

    アプリケーションの自動操作をスクリプトで実現するために、Sikuliを調べてみました。 Sikuliとは# Sikuliとは、 OpenCVをつかった画像認識 OCRをつかった文字認識 で、アプリケーションの自動操作を実現するためのツール、スクリプト言語。 Sikuli Script - Home Javaで実装されているため、JVM上で動作するスクリプト言語から利用できる。 スクリプト編集のためのIDEは、画像とプログラム言語を合わせて表示できるという、革命的なソフトウェア。久々に、スゴイ!とおもったソフトウェアだ。 インストール# sikuli-setup.jarをダウンロードして、インストーラをダブルクリックで起動するだけ。 すると、いろいろとインストールオブションがきかれる。JRubyを選択。 slkulix.jarをダブルクリックで起動。IDEが立ち上がる。 インストールは、以下

    画像認識でアプリケーション操作の自動化を実現!Sikuliがあまりに革命的で興奮した
    yuiseki
    yuiseki 2014/05/24
  • Selenium BuilderでRubyコードを自動生成して実行する | Futurismo

    Selenium Builderは forefoxのブラグイン。 なので、まずはfirefoxをインストール。 Firefox のダウンロード — 自由な Web ブラウザ — Mozilla 次に、以下からプラグインをインストール。 Selenium Builder – The next evolution firefoxを再起動後、Ctrl+Alt+B or メニュー -> 開発ツール -> Launch Senium Builder. Selenium Builderについては、以下の記事がとても詳しい。Special Thanks!! 次世代のIDE、Selenium Builderまとめ | 品質向上ブログ まとまったドキュメントはここ。 Pages · sebuilder/se-builder Wiki

    yuiseki
    yuiseki 2014/05/24
  • [edX]Embedded Systems - Shape The World ずっと受けたかった組み込みソフト開発の授業

    結果は、途中で挫折しました。全15週の10週目くらいで挫折。なので、この記事も中途半端な記事になります。 自分はリアル組み込みエンジニアにはなれませんでしたorz. 内容# 0,1のフリップフロップから電子回路、レジスタへと、基礎からしっかり解説される。オームの法則とか、忘れた。電子回路は読んで読まないふりをした。 期待していた?電子回路の知識は十分過ぎるほど出てきた。 ADC,DACあたりはほんとうに挫折。 言語はC言語# 言語はもちろん、C言語だ。補足的にアセンブラ言語もでてくる。楽勝楽勝。 実践も重視# 知識的な部分だけではなく、開発プロセスや品質の考え方、デバッグ手法など実践的な部分も説明される。 開発プロセスでは、フローチャートやサブルーチンといった、手続き型用語が解説されて、やや時代遅れを感じた。 進め方# 講義の流れ# イントロダクションとして、2人のコント?から始まる。動画

    [edX]Embedded Systems - Shape The World ずっと受けたかった組み込みソフト開発の授業
    yuiseki
    yuiseki 2014/05/13
  • How to write a code like English(英文のようにプログラミングをする方法)

    英語の文章のようにプログラミングをする方法についてのまとめです。 はじめに書いておくと、今回の記事の元ネタは以下の2つです。 正しいコーディングが身につくエンジニア英語の手引き 文法とクラス/メソッド、命名規則 | Find Job ! Startup 散文的ブログラミングの哲学につら抜かれたCleanCodeでカルチャーショック体験 | Futurismo メソッド名と引数は文法にこだわるべし# まずは、オブジェクト指向と英語の5文型との関係性について。 S(Subject主語)はオブジェクト、V(Verb動詞)はメソッドに対応する。 英語5文型のまえがきと目次 第1文型 S + V# 第一文型は、S+V。 誰・何は、どうする、SはVする。 Vには、自動詞が使われる。主語と動詞で文が完結する。 go、wait、start、listen、work, begin, come

    How to write a code like English(英文のようにプログラミングをする方法)
    yuiseki
    yuiseki 2014/03/18
  • 散文的ブログラミングの哲学につら抜かれたCleanCodeでカルチャーショック体験

    ボブおじさんのProfessionalな哲学につら抜かれた、CleanCodeを読んだ。 Clean Code アジャイルソフトウェア達人の技 | Robert C.Martin, 花井 志生 | | 通販 | Amazon 感想# めくるめくカルチャーショック体験# このは、自分のこれからのコーディングスタイルを変えるかもしれないと思った。 ページをめくる度に、新たな発見と感動を感じた。 カルチャーショックの詳細は、下の方に列挙するが、ダイジェストを書くと、 コメントは嘘 関数は20行以内 コードは上から下へ物語のように書く つまり一言で言うと、 文章のようにコーディングする ということ。 散文的プログラミング# 散文的プログラミング、文芸的ブログラミング、それらは考え方としては 知っていたが、所詮は妄想だと思っていた。 しかし、そのような夢を気で追求し、かつ実践し、 そのような

    散文的ブログラミングの哲学につら抜かれたCleanCodeでカルチャーショック体験
    yuiseki
    yuiseki 2014/02/10
  • GoogleTestとEclipseのGDB機能の組み合わせが最強だった件

    Eclipse CDTでデフォルトで付いているグラフィカルなGDB用のインタフェースと、GoogleTestなどのxUnitをあわせて利用するとデバッグが捗ったので、メモ。 基は動的、バグったら静的# 方法は以下の通り。 GoogleTestを使ってテストを書いて実行。 テスト失敗したら、失敗したテストケースでブレイクポイントをはる。 GoogleTestを再実行して、ブレイクしたところからステップ実行して、テスト失敗の理由を調査。 基的には、GoogleTestで自動テストを書いていく。 しかし、テストが失敗し、その原因がよくわからないときはGDBでメモリの値の変化をステップごとに追いながらデバッグをするというスタンスだ。 EclipseのGDB機能はスゴく高性能で、 構造体のネスト構造まで、スケスケ丸見えなのだ(下品 (・∀・)ニヤニヤにや) キーバインドでパースペクティブを行った

    GoogleTestとEclipseのGDB機能の組み合わせが最強だった件
    yuiseki
    yuiseki 2013/11/30
  • TDD | Futurismo

    REPL と REPL 駆動開発について調べたメモです. REPL とは Read-Eval-Print-Loop の略. 読んで、評価して、表示するを繰り返す. Read – eval – print loop ・・・ 続きを読む

    yuiseki
    yuiseki 2013/11/30
  • レガシーコードをC言語のTDD用フレームワーク『Fake Function Framework (fff)』ですっぽんぽんにする

    レガシーコードをC言語のTDD用フレームワーク『Fake Function Framework (fff)』ですっぽんぽんにする 以前、こんな記事を書きました。 恐るべきレガシーコードの救世主になるか?!ドロドロ依存なモジュールたちを『CMock』ですっ裸にする | Futurismo CMockは素晴らしいツールで、正直これがないとこの3ヶ月で心がへし折られていたと思う。しかし今日は、CMockに対向できるような素晴らしいツールを発見したので紹介。その名も、 FFF ファイナルファンタジーではないが、魔法のようなツールだ。 FFFってなに# Fake Function Framework。ダミー関数を自動生成してくれる、『C言語』のためのツール。フェイク関数のフレームワークといいつつも、実際はスタブ関数やスパイ関数などなど、いろいろ生成するツールだ。 meekrosoft/fff git

    レガシーコードをC言語のTDD用フレームワーク『Fake Function Framework (fff)』ですっぽんぽんにする
    yuiseki
    yuiseki 2013/11/30
  • これぞテストの最終形態!FitNesseとRubySlimで実現するエンドツーエンドテスト

    FitnesseとRubySlimを使ってでエンドツーエンドを書いてみました。 なんどもおんなじネタで恐縮だけれども、FitNesseとRubySlimを利用して、エンドツーエンドを実装してみました。 この記事は、以下の記事の延長になります。 組込み開発のシステムテスト・機能テストを自動化できるか?Rubyのminitestで非同期テストを実施する方法を気出して考えてみた | Futurismo ミライの組込み開発!vagrant × sahara × minitestで実現する仮想エンドツーエンドテスト | Futurismo teratermマクロで自由自在にエンドツーエンドを書く!TTLのためのxUnitフレームワーク「TTLUnit」 | Futurismo FitNesse テストケースの用意# まずは、テストケースのページの作成です。 RubyAPIレベルのテストを直叩きで

    これぞテストの最終形態!FitNesseとRubySlimで実現するエンドツーエンドテスト
    yuiseki
    yuiseki 2013/11/30
  • 組込み開発のシステムテスト・機能テストを自動化できるか?Rubyのminitestで非同期テストを実施する方法を本気出して考えてみた

    組込み開発のシステムテスト・機能テストを自動化できるか?Rubyのminitestで非同期テストを実施する方法を気出して考えてみた はじめに# 非同期な振る舞いをxUnitでテストできたらいいなと思った。具体的には、コンソールからコマンドを打ち込んで標準出力に現れたメッセージをアサートできればいいなと思った。 そういうツールを探してみたのだが、ちょっと探しただけでは見つからなかった。teratermマクロ(TTL)では、コンソールにコマンドを打ち込んでアサートということは簡単に実現できたが、xUnitのような機能、 SetUp Teardown テストの実行 テスト結果の集計 を自分で実装するのがけっこう大変そうだった。いろいろ調べていると、linuxで標準出力を監視するコマンドでexpectというのがある。これは、RubyPythonでも同様なツールがあるようだ。 この記事では、GU

    組込み開発のシステムテスト・機能テストを自動化できるか?Rubyのminitestで非同期テストを実施する方法を本気出して考えてみた
    yuiseki
    yuiseki 2013/11/30
  • C言語のビルドでほのぼのrakeでmakeするよ

    はじめに# C言語/C++でコンパイルするときは、makeするのが当たり前だと思っていた昨今、rakeなるビルドツールがあるとのことで、調査してみた。 まずは、世の中の人気度。。。。makefileの5%にも満たないシェア(2013年現在) 環境# Cygwin Ruby 1.9.3 Rake version 10.0.4 目次# rakeとmakeの比較とメリット# rakeとは、makefileをrubyの文法で記述するためのツール。もう少し正当にいうと、繰り返し使うようなスクリプトを「タスク」にまとめて、必要に応じて実行できるツール。 makeとrakeを比較すると、 makeはmakefileを作ってmakeする。 rakeはrakefileを作ってrakeする。 なんだか偽物のミッキーマウスみたい(-_-;)しかし、makeに対するrakeのメリットは以下。 記述にRubyが使え

    C言語のビルドでほのぼのrakeでmakeするよ
    yuiseki
    yuiseki 2013/11/30
  • C言語/C++でJenkins実践入門してみるよ

    最近継続的インテグレーション(CI)に興味を持ったので、 Jenkinsの日での初めての入門書である、Jenkins実践入門を読んでみた。 https://amzn.to/3DEosi2 内容はとても興味深いものの、残念、JAVA中心で述べられていた。...┌(´_`)┐ C言語つかいの自分としては、C/C++でのツールの情報が欲しいところだ。 Jenkins実践入門目次チラ見せしちゃいます C言語でJenkinsをハック!継続的インテグレーションだぃ# というわけで、こので紹介されていることを、 C言語/C++でしようとするとどうすればいいのかを調べてみた。 目次に対応させると、以下のような感じ。 第4章 番を想定して開発環境を準備する。(Ant, Maven) make を利用する。 git commitをフックしてJenkins でビルドを起動 第5章 JUnitでテストする(

    C言語/C++でJenkins実践入門してみるよ
    yuiseki
    yuiseki 2013/11/30
  • 「モダンC言語プログラミング」を読んだ!C言語の組込みエンジニアのためのモダンテクニックが満載

    とてもエキサイティングなに出会い、一気に読んでしまいました。感想を書こうと思います。 モダンC言語プログラミング - 花井志生 https://amzn.to/3DKnQHT ターゲット読者層は組込み分野!# こののターゲット読者はズバリ、組込みエンジニア。ソースコードのサンプルも、ズバリ組込みな内容を扱っています。C言語を使う人=組込みの人と決めつけているよう。書籍のあちこちで、このアプローチを組込み開発で適応するためにはどうすればいいかという考察が入るのがよい。 TIOBEというプログラミング言語の統計を見ると、C言語を利用している人がプログラマの2割程度いることがわかる。自分はこのデータを初めて知ったけれども、まずこの事実をしれたことは嬉しい事だ。C言語はいかに重要なのかという論題が冒頭で熱く語られる。 www.tiobe.com/content/paperinfo/tpci/i

    「モダンC言語プログラミング」を読んだ!C言語の組込みエンジニアのためのモダンテクニックが満載
  • Rubyで書かれた統合C言語TDD開発環境 「Ceedling」 がけっこう便利そうな件

    UnityやCMockについて色々調べて来ましたが、今日はそれらを束ねるツール Ceedlingにつついて調べました。 Ceedlingとは# Ceedlingとは、UnityとCMockを使ってテストを実行するためのテスト管理用フレームワーク。テストを助けるための便利なツールがRubyスクリプトで書かれていて、それらを利用してC言語でのTDDをウマクやるためのツール。 Ceedlingのインストール# CeedlingはRuby,Rakeが必要なので、まずはrubyとrakeをインストールしておくこと。また、Rubygemもパッケージ取得のために必要。入れておくこと。 Ceedlingのインストールは以下のコマンドで実施する。 gem install ceedling Ceedlingプロジェクトの作成する。 ceedling new ceedling_study Unity・CMock

    Rubyで書かれた統合C言語TDD開発環境 「Ceedling」 がけっこう便利そうな件
  • 1