シェルスクリプト入門 その1 入力、出力、変数

はじめに 動機 シェルスクリプトを最近(ようやく?)、自分で書くようになってきました。 スクリプト言語と違うところ及び自分の頭の整理のために書いていきます。 シェルクスクリプトとは シェルスクリプトとはunixコマンドを一つのファイルにまとめて実行す…

Atom ショートカットキー

ココとココ が素晴らしかったのでメモ。 暇な時、更新していきたい。 出来ること コマンド カーソルを上に移動 ctr + p カーソルを下に移動 ctr + n カーソルを左に移動 ctr + b カーソルを右に移動 ctr + f 次単語の移動 option + F 単語を一つ戻る option …

【Go言語】スライス

最近、Go言語を勉強しているので、メモがてら書いておきます。 スライスの特徴 容量を増やせば可変長型配列のように使えるようです。 GoはArrayだと要素数は最初に宣言した以上には増やせません。 使い方コード例 package main import "fmt" func main() { s…

【ruby】キーワード引数と通常の引数組み合わせ

キーワード引数と通常の引数組み合わせ エラー例 def test_method1(params = {}, hoge: true) return params, hoge end # こける $ irb> test_method1({test: 'test', test2: 'test2'}) $ ArgumentError: unknown keywords: test, test2 エラーとならない de…

【サーバーレス Lambda】Apexを使ってデプロイ環境を整備する

Lambdaとは 公式によると AWS Lambda はサーバーをプロビジョニングしたり管理しなくてもコードを実行できるコンピューティングサービスです。AWS Lambda は必要に応じてコードを実行し、1 日あたり数個のリクエストから 1 秒あたり数千のリクエストまで自動…

docker 使うコマンド

コマンド 気が向いた時に更新していきます。 $ docker search イメージ名 #コンテナのもととなるイメージを検索 $ docker pause コンテナ識別子 # 起動中のコンテナを停止 $ docker pull イメージ名 $ dcoker attach # 稼働しているコンテナの接続 $ docker …

docker 頭の整理

docker for mac Macでdockerを使う際はdocker for mac という素晴らしいアプリが ある。これは docker docker-machine docker-compose というありがたいツールがオール・インワンになっているアプリケーションです。 docker-machineは前回話した通り、仮想マ…

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…