docker 概念整理

dockerとは dockerとはホストマシン(macのローカル)に依存せず、開発環境を構築出来るツール linuxカーネルの仮想技術を用いているため、オーバーヘッドが少ない。 コンテナ技術を用いて、実行環境を他のプロセスから隔離してアプリを起動させます。 カーネ…

Google Maps Direction API を使ってみる。

概要 最近、mapsAPIを調べた所、Direction APIというのがあったのを知った のでまとめておきます。(昔からあったかも??) Direction APIとは 2つの地点の距離、移動時間を計測するAPIです。 公式HPにそのまま書いてある通りです。 移動時間については、徒歩…

【Rubyメモ】Struct

Structとは Structは構造体を表現するクラスです。 構造体とは1つ以上のフィールドを持つクラスです。 これを用いることで複数のフィールドをもたせることが出来ます。 少し特殊なのはStruct.newを行なうと、Sturctクラスの サブクラスを返すことです。 通常…

【デザインパターン勉強】Proxyメソッド

ざっくり概要 ある処理を肩代わりする代わりに出来ない処理が着た場合、 処理を他のクラスに肩代わさせるメソッドです。 生徒と先生の関係を考えてみます。 先生といえども、生徒の質問に全て答えられるわけではないですね。 数学の先生が英語の質問をされた…

【デザインパターン勉強】Decoratorメソッド

ざっくり概要 decoratorとは 装飾 の意味です。 あるコアクラスを元にして機能をかぶせていく手法です。 今回は簡略化のために1つのコア、一つの機能をかぶせた例を用いて説明します。 コード class PlainNumber(): def __init__(self,num): self._num = num…

【デザインパターン勉強】Facadeメソッド

ざっくり概要 Facade(建物の正面)という意味を指しています。 このパターンは内部の処理を簡素化したクラスを一つにすることで、複雑な処理を見せないメソッドです。 自分なりの言葉で言うと、処理を一つのクラスに集約したら見通して良くなって、すぐわかる…

【デザインパターン勉強】Singletonメソッド

ざっくり概要 このパターンの目的は 一つのクラスに複数のインスタンスを作らないようにすることです。 利用シーン… パスワード管理のメソッドなど管理が厳重にする必要があるメソッドを管理する時に使うんでしょうかね。。 コード class Singleton: initial…

【デザインパターン勉強】adapterメソッド

ざっくり概要 adapterメソッドとはざっくり言うと既に 提供されているclassと既に必要な抽象classを結びつけてプログラムを作成する方法です。 ポイントは、仲介役classを設定(提供されているclassと必要な抽象class)することです。 登場メソッド 必要な抽…

【デザインパターン勉強】builderメソッド

ざっくり概要 builderメソッドを自分の言葉でいうと、 作成するメソッドの役割は同じだが、異なる結果を得るプログラムを何個も 作る際、有用なプログラム(パターン) といった感じです。 ここで重要な点は 作成するメソッドの役割は同じ ということです。 本…

Rails でログロテート

久しぶりにrubyネタ 知らない間に自分が作ったサービスが止まっていた件 サービス 確認してみたら定期的にproduction logを削除していなかった。。。 config.logger = Logger.new("log/production.log", 5, 10*1024*1024) #第一引数ログパス、第二引数は保存…

【Pythonメモ】collectionsモジュール

# collectionsモジュール勉強 import collections #counterメソッドはカウント系メソッド c = collections.Counter() c['spam'] += 1 c[100] += 1 c[200] += 2 c[200] += 3 # Counter({200: 5, 'spam': 1, 100: 1}) print(type(c)) c2 = collections.Counter…

エクセルコピペ作業自動化(xls、xlsx)

エクセルをpythonで扱う 仕事していると、エクセルで延々と だるい コピペ作業とかってありませんか。 先日、pythonを使ってコピペ作業を自動化しました。 その時、用いたpython用ライブラリ、使用方法を紹介します。 ※今回は読み込みにしぼって説明 ライブ…

【Pythonメモ】 後置 if

後置 if 最近、rubyみたいに後置if無いかなと ぐぐってみました。 以下はメモ # testはtrueの際の出力 if True なら test = "true" test = "true" if True else "false" print(test) #true # Falseになった際、elseの式 test2 = "false" if False else "fals…

Slack BOT + Backlog APIでタスク管理する。

仕事の管理ツール 現在、仕事でプロジェクト管理は backlog をコミュニケーションツールは slack を使っています。 会議はあまりないので、仕事の打ち合わせはslack上が多いです! slackとbacklogを使う際の問題点・・・ 最近になってようやく(汗)、slackとb…

【linuxメモ】date

date dateとは「 日付や時刻を表示,設定する 」ことです。 $ date 2017年 7月29日 土曜日 00時58分03秒 JST # +をつけると表示形式を指定出来る date +%Y%m%d:%H-%M-%S 20170726:20-23-50 日時を明記したファイル作るケースはよくあるのではないでしょうか…

【メモ】XMLパース方法

xml 個人的備忘録として、XMLのファイルを元にパースメモを記します。 document <data> <country name="Liechtenstein"> <rank>1</rank> <year>2008</year> <gdppc>141100</gdppc> <neighbor name="Austria" direction="E"/> <neighbor name="Switzerland" direction="W"/> </country> <country name="Singapore"> <rank>4</rank> …</country></data>

TravisCI入門しました!

はじめに Travis CIを利用し始めたので、 備忘録も兼ねてブログに書き込んでおきます。 利点 Travis CIを使うことによる利点は、 TravisCI側サーバーで設定した環境でテスト テスト結果をメールなどで開発メンバーに通知 連携しているホスティングサービスに…

Tensorflow で OLS(最小二乗法) ~その1~

はじめに 先日、Google社製のライブラリTensorflowを使ってみました。 備忘録も兼ねてブログにまとめていきます。 本ブログでは、スクレイピングした賃貸情報データを元に 家賃(非説明変数)と他の情報(説明変数)を用いて回帰分析を行います。 分析対象データ…

【linuxメモ】 cat sed

説明の前提、カレントディレクトリに以下のファイルがあるとする。 hoge1 hoge2 hoge3 cat 定義 ファイル内容を標準出力に表示 $ cat hoge.txt hoge1 hoge2 hoge3 と出力される。 -nをつけると、行番号が表示される。 $ cat -n hoge.txt 1 hoge1 2 hoge2 3 h…

【Pythonメモ】zip

zip 複数のシーケンスを並列的に反復処理が出来る。 list1 = [1, 2, 3] list2 = [4, 5, 6] for (a, b) in zip(list1, list2): #list1,list2を同時にループ … print(a,b) >> list1 = [1, 2, 3] >> list2 = [4, 5, 6] for (a, b) in zip(list1, list2): print(…

【Pythonメモ】enumerate OrderDicts nditer

enumerate リストをインデックス化することができます。 >> list=["a","b","c","d","e"] >>> for index,val in enumerate(list): print(index,val) (0, 'a') (1, 'b') (2, 'c') (3, 'd') (4, 'e') OrderDicts ディクショナリとほぼ同じだが、順序が保存出来…

【pythonメモ】numpyメソッド randn max sum

random randn 標準正規分布を出力(標準0、分散1) import numpy as np >>> np.random.randn() #-0.728737781876976 >>> np.random.randn(2,3) #2×3 array([[-0.01827125, -0.38984807, 0.08674773], [ 0.68593183, 0.82708901, -0.15050036]]) max 配列の中…

【Pythonメモ】numpyメソッド argmax

argmax 配列の中の最大値のインデックスを返すメソッドです。 >>> import numpy as np >>> test = np.array([1,2,5,40,20,30]) #配列は6個 >>> np.argmax(test) 3 #インデックスは0から数える >>> test2 = np.array([[1,2,3][10,20,30]]) #二次配列 >>> np.a…

【Pythonメモ】numpyメソッド

メソッド調査 arange reshape linspace zeros_like ones_like zeros ones linspace arange np.arange([start,]stop, [step,]) 一次元の配列を返す。 startが入っていない場合は0から始まる import numpy as np np.arange(6) #初期値 start 0 step 1 #array([…

【Python】OpenCV2.4系 輪郭メソッド メモ

findContours(img,retrieval_mode,approx_mode) 画像の輪郭抽出に用いられます。 img:入力画像 retrieval_mode:抽出方法 approx_mode:近似モード 抽出方法について わかりづらいのですが 輪郭が複数あった際の処理方法を示しています。 よく取り上げられるの…

【Python】OpenCV 初歩的メソッドメモ

はじめに opencvを最近になって勉強しています。 備忘録として初歩的なメソッドをメモしておきます。 環境:Python 2.7.12 opencv 2.4.12 画像の読み込み imread(読み込み画像パス) 色空間の変換 cvtColor(img,cv2.COLOR_BGR2GRAY) COLOR_BGR2GRAY ・・・グ…

【ネットワーク】リバースプロキシ、ロードバランサ

リバースプロキシとは リバースプロキシとは、クライアント(ブラウザ)と webサーバー(nginx)の間にたって、代理で処理出来るものです。 リバースプロキシのメリットとしては、 クライアントとwebサーバーの間に挟まることで、様々な前後処理を施すことが出来…

サーバー構築で詰まった話

はじめに VPSでrailsで作成したサービスを公開する時、 サーバー(≒VPS)設定につまずきました。 初心者(=私)がサーバー設定につまずいた理由 僕が思うにサーバー設定が障害となる最大の理由は 今までやっていた開発(js、ruby、php・・・)と別の知識 が要求さ…

nginx 特徴

最近、nginxでサーバー構築を行っているので、メモがてらブログでまとめます。 webサーバーとは ブラウザ(chromeやsafari)のリクエスト(例えば、http://www.hatena.ne.jp/にアクセス) に対して自身の返すデータを返す役割を持っています。 ブログを例に取る…

【linux】パフォーマンス確認に使えそうなコマンド メモ

free メモリの使用状況を表示 オプション -m メガバイト単位で表示 -t 仮想メモリと物理メモリを表示 仮想メモリ・・・hdd ssdなどのストレージで物理メモリを代替。物理メモリと比較して速度遅い vmstat メモリやCPUの使用状況を表示 watch 定期的にプログ…