すのふら

日々の備忘録

技術

再入可能・再帰的・再使用可能・再配置可能について調べる

プログラムをメモリに格納するときの構造と、プログラム自体の性質について調べた。再入可能(リエントラント) プログラムやサブルーチンが実行中に割り込まれ、その実行が完了する前に再び呼び出され実行されても安全だという性質を指す。 割り込みは分岐…

木構造について調べる

相変わらずwikipediaをメインに調べていく。 木構造(きこうぞう)とは、グラフ理論の木の構造をしたデータ構造のこと。 木構造 (データ構造) - Wikipedia親に子供がぶら下がっている構造のこと。 こんな感じで親に当たる根ノードとその子供である葉ノードに…

ソートアルゴリズムメモ

ソートのアルゴリズムをちゃんと理解したいなあと思いつつネットで調べてみたんだけど、歴史からちゃんと書いているものはないなあ。 そういう書籍ってないのかなー。バブルソート 隣り合う要素の大小を比較しながら整列させること。最悪計算時間がO(n2)と遅…

ソフトウェアテスト技法からテストを再勉強する。その1

社会人になってからテスト周り任されることが多く、ただ経験ベースでしかテストを語れなかったので、以下の本を読んで勉強中。はじめて学ぶソフトウェアのテスト技法作者: リー・コープランド,宗雅彦出版社/メーカー: 日経BP社発売日: 2005/11/03メディア: …

日経ネットワークの「インターネットができるまで」メモその2

日経ネットワーク2018年5月号の「インターネットができるまで」がよくまとまっており学びがあったので、学んだところをメモする。続き。snofra.hatenablog.com TCP/IP:データを小包に分けて送るここではTCPからTCP/IPへの変遷について記載されている。 TCP/…

日経ネットワークの「インターネットができるまで」メモその1

日経ネットワーク2018年5月号の「インターネットができるまで」がよくまとまっており学びがあったので、学んだところをメモする。構成としては以下となっている。 プロローグ:たった4拠点から始まった TCP/IP:データを小包に分けて送る IPアドレス:みん…

Redshift COPYで改行を含むデータをロードする

以下のようなRedshift COPYコマンドでロードしようとした際に、取り込もうとしたデータに改行が含まれていた場合「Delimited value missing end quote」エラーになってしまって困った。 COPY [table-name] FROM 's3://[bucket-name]/xxx/yyyy/' CREDENTIALS …

ANACONDAでpython実装環境を構築しよう

PCを買い替えたので、環境整備ついでにANACONDAの導入方法をまとめておく。 これをやっておくと、とりあえずJupyter Notebookでpython実装できるようになる。 pythonを始めたい人ファーストステップがANCONDAの導入だと思うので、極力丁寧に書きたい。*1 目…

「index "pg_toast_16408_index" is not a btree」というエラーが出力する。

RedshiftにCOPYコマンドでデータを投入するとたまーに発生する「index "pg_toast_16408_index" is not a btree」というエラー。 調査 テーブルにレコードがない状態でCOPYコマンドを実行した際、ANALYZE実行されると発生するAWSのバグらしい。 *1 [COPY from…

dir(cls)は何をしているんだ

Luigiという公式に某配管工の弟なフロー制御フレームワークの実装を読む日々。つらみ。 そもそもLuigiとはなんぞや?の場合、以下を読むとなんとなくイメージつくかもです。 https://qiita.com/colspan/items/453aeec7f4f420b91241qiita.com 読んでいくとき…

Redshiftのデータロード方法についてメモ

Redshiftのデータロード方法について、初めて触れるところがあるのでメモする。 データのロード - Amazon Redshift Insert COPYコマンドが推奨される。 COPY コマンドは Amazon Redshift の超並列処理 (MPP) アーキテクチャを活用し、Amazon S3 のファイル、…

EMR起動時のインストールコンポーネントについて調べる

前回Sparkについて調べた。 次はSpark、というかhadoopをEMRで立てるので、どういう設定になっているのかを調べる。 インストールされるコンポーネントだけで今は精一杯なので、とりあえずそこだけわかっていることをメモしておく。 インストールされるコン…

apache Saprkについて最初の調査

仕事でpySparkを使うことになりそうなので、事前学習中。 まずはそもそものSparkについて勉強するために以下あたりで勉強。 初めてのSpark作者: Holden Karau,Andy Konwinski,Patrick Wendell,Matei Zaharia,Sky株式会社玉川竜司出版社/メーカー: オライリー…

アキュムレータについて調べる

Sparkの本読んでいて、アキュムレータというワードが出てきた。 あれ、これってCPUじゃないのと思っていろいろ調べたのでメモしておく。 CPUでアキュムレータっていうと算術論理演算装置(ALU)の演算結果を格納する場所ってイメージがあった。 wikipediaだ…

importした自作のモジュール内のクラスをリロードする

テストクラス作っていた時に、詰まったのでメモする。 python実装していて、自分で作ったモジュール(クラス)が今実装しているpyファイルとは別ディレクトリで、 別ディレクトリのモジュール内のクラスをimportするってことは往々にしてある。 はまったとき…