のんびりしているエンジニアの日記

ソフトウェアなどのエンジニア的な何かを書きます。

2014-06-01から1ヶ月間の記事一覧

シグモイド関数を微分する

皆さんこんにちは お元気ですか。私は普通です。さて、今日は以下のシグモイド関数を微分してみます。 シグモイド関数とは何か? 以下のような形で示す関数です。ニューラルネットワークの活性化関数とかで使われます。 ニューラルネットワークの学習で最急…

Haskellのインストール(関数型言語)

皆さんこんにちは お元気ですか。私は元気です。今日はHaskellをインストールしてみるよ Haskellとは Haskell(ハスケル)は非正格な評価を特徴とする 純粋関数型プログラミング言語である。名称は論理学者である ハスケル・カリーに由来する。(Wikipediaよ…

git revertとresetの違い

皆さんこんにちは お元気ですか?私は眠いです。gitで戻したいときは2通りの方法がある。git resetとgit revertである。しかし、この2つ何が違うのだろうか。 resetとrevertの違いについて 例を用いて行います。以下のようなブランチが存在した場合におい…

DesignPattern Composite(再帰処理)

皆さんこんにちは お元気ですか?私はふるふるしてます。お酒がきついーさて今日、DesignPatternのCompositeです。 CompistePatternとは 「容器と中身を同一視すること」とのことです。実装上では容器と中身のメソッドを統一し、 容器の中に更に容器があるよ…

記念すべき100件目としてこれまでのまとめ(これまでを振り返って)

皆さんこんにちは お元気ですか。私はほっとしてますさて、珍しく技術以外の記事を書きます。 アクセス状況 一応、毎週伸びてます!書けば書くほど伸びているのかわかりませんが、 とりあえず、頑張れば頑張るほど伸びていってくれれば嬉しいです。なんかモ…

C++ 関数ポインタ(メンバ関数+関数)

C++

皆さんこんにちは お元気ですか?私は元気です。さて、今日は関数ポインタについて 関数ポインタの利点 関数ポインタを使うと、テーブルとして関数を引けるので、処理が簡単になります。 例えば以下のようなコードが有ります。(add,mulは定義されているとし…

lnコマンド ハードリンクとシンボリックリンク

皆さんこんにちは お元気ですか?い、いかん胃が、胃が…さて、皆さん色々なものでリンクを作成しています。 リンクとは Windowsのショートカットみたいなイメージです。 つまり、場所だけ記録してあって、飛ぶことができます。 因みに、リンクの種類には2種…

C++言語 プリプロセッサ及びプリプロセッサ変数

C++

皆さんこんにちわ お元気ですか?私は元気です。さて、本日はプリプロセッサについて #defineとか#ifdefとかがそれにあたりますね。 一番有名かつ使われてるのはおそらく#includeでしょうか。それらを解説していきましょう。 プリプロセッサって? ソースコ…

DesignPattern Bridge(新しく機能を追加したい貴方へ)

皆さんこんにちは お元気ですか。ねむいさて、本日はDesign Patternについて前回までは製造関係のデザインパターンの解説を行っていました。 今回からは構築についてのパターンを学習します。 Bridgeとは 日本語訳で「橋」ですね。つまりつなぐことかな 例え…

PyQtのインストール

皆さんこんにちは お元気ですか?私は元気です。さて、今日はPyQtのインストールです。 PyQtとは、QtをPythonで扱うためのライブラリです。なぜか、結構手こずったので、残しておきます。 SIPとqtが必要です。qt4(1) インストールについて - のんびりしてい…

C++ STL vectorのメモリ解放

C++

皆さんこんにちは お元気ですか?私は眠いです!I love sleepingさて、今日は微妙なTips。STLのvectorです。 vectorの解放について このvector色々と使い勝手いいですよね。なんかオブジェクトとかフリーダムに入れれたり、ネストできたりと最高でございます…

Ruby デバッガー binding.pry

皆さんこんにちは お元気ですか。かきぴーって辛いですね。さて、今日はRubyのデバッグツールpryこと binding.pry先生です。実行する時にデバッグモードへと変身を遂げます。 インストール gem install pry 使い方 require "pry" def add_method(a,b) return…

C++ 単体テストツール CppUnitの使い方

皆さんこんにちは お元気ですか?私は元気です。今日はCppUnitについて解説していきたいと思います。 CppUnitとは? C++の単体テストを自動化するライブラリです。 インストール Homebrewを使いましょう。 brew install cppunit CppUnitの使い方 サンプルコ…

ニューラルネットワークとは?

皆さんこんにちは お元気ですか?私はー。さて、本日はニューラルネットワークについて ニューラルネットワークって? 脳機能に見られるいくつかの特性を計算機上のシミュレーションによって表現することを目指した数学モデルである(Wikipedia)。なるほど…

最急降下法(機械学習のパラメータを求めるのに使います)

皆さんこんにちは お元気ですか?私は元気です。さて、本日は最急降下法について 最急降下法 関数(ポテンシャル面)の傾き(一階微分)のみから、関数の最小値を 探索する勾配法のアルゴリズムの一つ。勾配法としては最も単純であり、 直接・間接にこのアル…

Python numpyとwaveライブラリを利用したwaveファイルの読み込み

皆さんこんにちは お元気ですか?私は眠いさて、音声関係のファイルですね。 Pythonではwaveファイルを読み込み、書き込みするようなライブラリが予め用意されています。 さっそく使ってみましょう。 サンプルソースコード #coding: utf-8 import wave impor…

シェルコマンド screen(眠りたいときとかに使いましょう)

皆さんこんにちは お元気ですか?お酒さいこーさて、本日はscreenについてscreenコマンド聞き覚えないでしょうか? screenとは? 使う側から見ると死なないshellです。つまり、このscreenコマンドを実行し、その上のshellからコマンドを実行すると睡眠を取る…

Virtual Boxを使ってみよう!

皆さんこんにちは お元気ですか。私は元気です。最近、VirtualBoxと呼ばれるソフトが流行っておりまして、 それを使ってみようかなと思います。 Virtual Boxって? 動作させているOS上に仮想的に別のOSを立ち上げます。 画面にして表示をするとこのような感…

nvmを利用したNode.jsのインストール

皆さんこんにちは お元気ですか?私は…お酒飲みたいあるさて、nodejsをインストールしてみましょう。 Nodejsとは サーバーサイドのプラットフォームです。全てjavascriptで動きます。ノンブロッキングIOでの動作を可能とし、出力を終える前に次の動作をコー…

Python debugツール ipdbの紹介

皆さんこんにちは お元気ですか?私は日々rarejobで英語を磨いています。さて、本日はPythonのデバッグツール ipdbをご紹介させて頂きます。 ipdb インストール sudo pip install ipdb 実際の動作 とりあえず、このプログラムを動作させてみましょう。 因み…

C++ 速度比較(7) unordered_map,mapの違い、速度の面から検討する

皆さんこんにちは お元気ですか。ふらふらしてます。さて、今日は速度比較を行おうと思います。概略については前回の記事を参考にしてください 実験 実験内容 1、全てをループした時に速度がどうなるか →iterater と foreach それぞれで検証するので4種類 …

シェルコマンド nkfの使い方(文字コードに泣きたい貴方へ)

皆さんこんにちは お元気ですか?文字コードって本当に辛いよねということで今日は文字コードのお話。 今まで知らなかったんだ。nkfってコマンドがあることを… nkfとは nkfとは文字コードを変換してくれる素晴らしいコマンドです。 SHIFT-JIS→UTF-8など、手…

C++ STL 意外に忘れるvectorの並び替え

C++

皆さんこんばんは お元気ですか?私は元気です。さて、本日はよーく忘れるstlのvectorの並び替え方 今回は文章が少ないですがいってみましょう。 まずは普通に vector<int> vect(5); vect[0] = 1;vect[1] = 100; vect[2] = 30; vect[3] = 20; vect[4] = 4; sort(v</int>…

Makefileとは(いちいちコンパイル打つコマンド覚えるのめんどくさいよな貴方へ)

皆さんこんにちは お元気ですか。私は汗をかいています 要は暑いのです。さて、本日はMakefileについて 皆さんMakefileを書いたこと有りますか? 使ったことない人、知らない人は是非使ってみましょう。 What is Makefile? makeコマンドを実行した時に それ…

C++11 unordered map(mapとは少し違うよー)

C++

皆さんこんにちは お元気ですか。早起きするとしんどいですね。さて、今日はC++11で実装されたunordered mapとやらを見てみよう。 unordered_mapって? C++11にて追加されたSTLです。 mapはTree構造で実装されているのに対し、unordered_mapはHashでの実装を…

DesignPattern Prototype(大量にコピーしよう)

皆さんこんにちは お元気ですか。私は本日はDesign PatternのPrototypeについて記載します。 Prototypeとは? 動作 一つインスタンスを生成するとそれらをコピーして複製を行うことをプロトタイプパターンといいます。 clone()メソッドで新しいオブジェクト…

Django(3) Djangoからデータベースを弄ってみよう

皆さんこんにちは お元気ですか?ええ、数学って難しいですよねさて、久しぶりにDjangoについて前回の記事は以下Django(2) アプリケーションを作ろう。 - のんびりしているエンジニアの日記今回はデータベースを触ってみよう まずsettings.pyを編集しますDAT…

qt4(1) インストールについて

C++

皆さんこんにちは お元気ですか?私は元気です。さて、本日はqtについて 皆さんは自分のプログラムをGUIで表示させたいとか思ったことありませんか?そんな時に利用するのがqtです。さてやってみよう インストール brew install qt4 実行 とりあえず、以下の…

Python Numpy(2)行列演算

皆さんこんにちは お元気ですか?私はサンプルコード実行して死にそうです。さて、本日はPython Numpyについて今日は、行列周りのことをやります! How to Use 行列演算 通常の四則演算です。 >>> import numpy as np >>> a = np.array([[2,3,4],[5,6,7],[3,…

Theano 関数でグラフを書くための準備(Failed to import pydotなんていわれたくない)

皆さんこんにちは お元気ですか。私は元気です。さて、本日はTheanoで関数のGraphを書きましょう。 Printing/Drawing Theano graphs — Theano 0.6 documentation因みに必要なライブラリがないとサンプルコードは動きません。それらから解決していきましょう…