[Windows] 2つのフォルダを比較して差分ファイル(新規または更新)のみコピーを作成する
お仕事でタイトルにある様な処理を定期に実行させなければならなくなりました。 環境がWindows だったので、下記の様なバッチスクリプトを書いて、タスクスケジューラで定期実行させることにしました。 差分の単純なバックアップなんかは、こんなんで充分じゃないでしょうか。 @echo off SET DIR_ORIGINS=C:¥hoge¥ SET DIR_DESTINATIONS=D:¥piyo¥...
View Articleアルゴリズムのチカラ
昨日の社内勉強会で詰まって悔しかったのでリベンジ。 x^3 + x^2 + x = 1 となるx を求めよ(近似値 = 0.000001とする)という三次方程式の解を求めるプログラム。 まず、ループを使ったベタな線形探索。 解答に至るまで543690ステップの計算を要しています。 EPSILON = 0.000001 # 近似値イプシロン FUNC_EQUAL = 1 # 三次方程式func の値...
View ArticleCentOS6 にpyenv でPython の複数バージョン環境を構築する
作業の流れ pyenv インストール(git clone) 環境変数にpyenv のパスを通す pyenv インストール後確認 Python 2.7系と3.5系をインストール 既定のPython バージョンを指定 Python バージョン確認 1. pyenv インストール(git clone) git clone https://github.com/yyuu/pyenv.git ~/.pyenv...
View ArticleCentoOS6 + Python(pyenv) にNumpy をインストール
前提条件 pyenv 環境 Python 2.7系とは3.5系のいずれでもOK 作業の流れ pip をアップグレード Numpy インストール 確認 1. pip をアップグレード pip install --upgrade pip 2. Numpy インストール pip install numpy 3. 確認 import numpy して何も文句を言われなければOK python import...
View ArticleCentoOS6 + Python(pyenv) にmatplotlib をインストール
前提条件 pyenv 環境 Python 2.7系とは3.5系のいずれでもOK Numpy インストール済み 手順の流れ 必要なライブラリをインストール matplotlib をインストール 確認 1. 必要なライブラリをインストール sudo yum install -y freetype* sudo yum install -y libpng-devel 2. matplotlib...
View Articlematplotlib のplt 結果をファイル出力する
plt.show() でなくplt.savefig(‘hoge.png’) するだけ。 例:「機械学習 はじめよう」の第7回 、ヒストグラムの出力 CUIベースの環境でもApache のDocument Root 下に出力してやれば、ブラウザ経由で確認可能。 # -*- coding:utf-8 -*- import matplotlib.mlab as mlab import...
View ArticleRails のActiveRecord に大量のCSV を取り込もうとすると絶望的に遅いので
約30万件、46MBのセミコロン区切りテキストをインポート CSV ファイルを元にモデルにレコードをセットしたかったのですが、思った以上に処理が遅くてあれこれ試行錯誤したので備忘録的に。 Rails のお作法とかはガン無視のSQLベタ打ち実行なので、ほんまにこれで良いのかはちょっと疑問。 ちなみに取り込み対象のテキストファイルは以下の様な仕様。 セミコロン区切り 文字コードはShift_JIS...
View Article[ライフハックプログラム考] タスクの最小構成
“タスク”の最小構成 タスクは”何を(target)” と “どうする(action)” という情報を持つ。 class Task attr_accessor :action, :target def initialize(action:, target:) @action = action @target = target end end myTask = Task.new(action:...
View Article[ライフハックプログラム考] タスクは所有者を持てる
“タスク”は所有者を持てる タスクは”誰がそれを所有するのか(owned_by)”という情報を持てる。 module TaskInterface class Core attr_accessor :action, :target def initialize(action:, target:) @action = action @target = target end end module...
View Article[ライフハックプログラム考] ToDo はタスクに所有者と期限を加えたものである
タスクは所有者と期限を持つことで”ToDo”となる。 タスクは”誰がそれを所有するのか(owned_by)”という情報と、”いつまでにそれを行うのか(due_date, due_time)”という情報を持つことで、ToDoタスクとなる。 module TaskInterface class Core attr_accessor :action, :target def...
View Article
More Pages to Explore .....