Poetryを使ってLambda関数をデプロイしたい

AWSのドキュメントに従ってAWS Lambda用のPythonスクリプト(Poetryの仮想環境内)をパッケージ化してデプロイしたい。 背景 serverless frameworkを使ってPython Lambda関数をデプロイする方法については、すでに多くの記事が存在するが、Poetryと組み合わ…

Python、distutilsの削除提案

Pythonではdistutils モジュールのかわりにsetuptools パッケージの使用を推奨してきたた。setuptools は最近 distutils の完全なコピーを統合し、この標準ライブラリに依存しなくなった。Pip はすでに長い間、パッケージをインストールする際に黙って distu…

Pythonのライブラリ・フレームワークにおけるloggingの設計基礎、4つのキワードを理解する

Pythonのログイングを理解する上で重要な4つのキーワードを解説する Loggers : loggingシステムにメッセージを送信するためにアプリケーションコードによって使用される Formatters : 出力のためにメッセージをフォーマットする Filters : 細かい出力制御を…

aws s3にあるファイルサイズなどを取得するaws-cliコマンド

取得予定のファイルサイズを知りたいことってあるよね。 aws s3にあるファイルサイズなどを取得するaws-cliコマンドを以下に示します aws-cliコマンド aws s3 ls s3://[バケット名]/[フォルダ名]/ --recursive --human --sum オプションの説明: --human-read…

yum install したライブラリのインストールディレクトリを調べる

rpm -ql t を使う rpm -ql t libraryname 例: yum install でlogstashをインストールした場合 rpm -ql t logstash |fgrep bin/logstash

shell scriptでcsvファイルのカラム数を数える

headerがあるcsv、または1行目のカラム数が最大のカラム数であることが保証されているとすると以下のスクリプトが使える head -1 yourcsvfilename.csv | sed 's/[^,]//g' | wc -c point sedコマンドを使いカンマ以外の文字列を削る

Elasticsearchでのreindexとclone indexの違い

Question: Elasticsearchでのreindexとclone indexの違いはなに? ElasticSearch 7.4からは、新しく導入されたClone Index APIとreindexの違いはんだろうか? Clone API Reindex API 答え: Reindexは、ソースインデックスから設定をコピーしない。マッピング…

Rundeckのオプション設定講座

許容値/許可された値(Allowed values) 許可される値は、引数が取り得る値のこと。これには、値の静的なリストや、オプションデータを提供するサーバーへのURLを含めることができる。値は、,(カンマ) 区切りの文字列を入力として指定することができますが、"…

run task時のtask definitionのoverride

run-task コマンドの--overridesオプションを指定することで既存のタスク定義をオーバーライドすることができる。例えばtask definitionで設定されたデフォルトの環境変数をオーバーライドして新しい環境変数を追加したりできる。ただしオーバーライドには合…

shell scriptでエラーをみやすくする

GNU/Linux上で書かれテストされたスクリプトがmacOS上で正しく実行されない、あるいはその逆で、コアとなるユーティリティのGNU版とBSD版の違いのために正しく実行されないというのはよくある問題です。エラーメッセージはスクリプトの出力で溺れてしまうこ…

shellで拡張子を落とす方法

shellで拡張子を落とす方法 : cut commandを使う name=$(echo "$filename" | cut -f 1 -d '.')

aws s3のcliでs3 lsを使ってディレクトリだけ取得する

sedを使っていらないものを削除。 sed のオプション d ... sedで削除 E ... sedの正規表現 source awsc.sh ; aws s3 ls s3://bucketname/path/to/file/ | awk '{print $2}' |sed -E '/.*[^\/]$/d' > folders.txt

shell scriptでファイル読み込みながらloopをぶん回す

while read do ..done < filename でできる while read f do echo $f done < load.txt

shellスクリプトで環境変数を読み込んでその値のまま他のコマンドを実行する方法

「;」を使って以下のように1行でかける secrets.sh ... 環境変数などの設定が書いてるシェル do.py ... その設定ファイルをもとに実行したいスクリプト $ source ./secrets.sh; sh do.py

ファイルディスクリプタとは

ファイルディスクリプタ(File descriptor,FD)とは、OSがカーネルのレイヤで用意している抽象化の仕組みの一つ。POSIX系のOSでは可能な限り多くのものが「ファイル」として抽象化される。例えば、いわゆるファイルとしてイメージされるもの以外のOSやCPUに内…

Rで回帰分析 with mtcars

mtcarsで回帰分析 Rのビルトインデータフレームmtcarsを使って、回帰分析をしてみる。 燃費( mpg )と重量( wt )は逆相関の関係がある。 mpg ~ wtという式はwtが説明変数mpgが教師データであることを示す plot(mpg ~ wt, data = mtcars, col=2) # Weight …

mtcars: Rのビルトインデータフレーム

Rのビルトインデータフレーム : mtcars ビルトインのmtcars データフレーム。 1974年の『Motor Trend US』誌から抜粋した、32台(1973~74年モデル)の自動車の燃費と、自動車のデザインと性能の10の側面から構成されている。 詳細については、 help(mtcars)…

DataFrameでDate Typeを降順にsortする

Rでdate type columnをsortする testdata <- data.frame(value=c(1, 2,4), date=as.Date(c('2004/1/10 ', '2006/1/11 ', '2001/1/2'))) testdata[order(testdata$date),] 数値型などだと-をつけると逆にsortできる。 日付だと「-」はつけれないのでrev関数を…

バギングとは?

ブートストラップ・アグリゲーティング(bootstrap aggregating)またはバギング(bagging)とは、学習データセットの異なるサブセットに複数のモデルを適合させ、すべてのモデルからの予測値を結合して予測を行うメタアルゴリズムのこと。アンサンブル・ア…

Rで複数の系列を異なるタイプでプロットする方法

How to plot multiple series with different types R言語でヒストグラムとラインプロットを組み合わせる x <- seq(-2, 2, 0.01) y1 <- pnorm(x) y2 <- pnorm(x, 1, 1) plot(x,y1,type="l",col="red") lines(x,y2,col="green",type="h") Results ヒストグラ…

Rでデータの丸点つきのラインをプロットする方法

Example type = "o" を指定する ここでx: timeSeries型。 set.seed(1) x = ts(rnorm(20), frequency = 12, start = c(2002, 2)) ts.plot(x, gpars=list(xlab="year", ylab="random value", lwd=c(1:4), col=c("red"),type="o")) Reuslts pointLine

RでtimeSeries型をhistogramでplotする方法

How to plot histgram(bar) graph with timeSeries Type data. R言語でtimeSeries型をヒストグラムでプロットする方法 set.seed(1) x = ts(rnorm(20), frequency = 12, start = c(2002, 2)) ts.plot(x, gpars=list(xlab="year", ylab="random value", lwd=c(…

timeSeries型で二つの系列をプロットする方法

How to plot two series with timeSeries type in R programing. ts.plot の引数に複数のtimeseriesを渡す Reuslts ラベルをつけたい場合 Results 線を太くしたい場合:lwd (line width) Reuslts cbindを使って結合する方法 2系列を2段に分けるcbind + mult…

Rで行数が同じ2つのデータを結合する方法

R言語で行数が同じ2つのデータを結合する方法 cbindを使う cbind(x, y) x,y ...が同じ行数である場合、結合できる。

Rで型を見る方法

R言語で型を見る方法 > str(data) > class(data)

Rでdataframeの型を見る方法

R言語でdataframeの型を見る方法 data<- read.csv(file = "test.csv", header=TRUE) sapply(data, class)