cargo installに失敗する

久しぶりにAtCoderに復帰しようとこのサイトを参考にしつつcargo-generateをinstallしようとしたら以下のエラーで失敗: error: linking with `cc` failed: exit code: 1... = note: Undefined symbols for architecture x86_64: "_RSA_get0_factors", refere…

funcall vs apply

funcall と apply は両方とも第一引数に指定された関数を残りの引数に対して実行するのに使用できます。 基本的に、引数がリストではない場合はfuncallを使用し、引数がリストの場合はapplyを使用します。 ちなみにapplyは最後の引数がリストであれば、その…

極限までシンプルなREPL

REPL (Read-Eval-Print-Loop)は文字通り read、eval、print、loop関数を使用して実装sすることがします。 まずは最もシンプルな形式から。 read関数で読み取った入力をeval関数で実行し、print関数で出力しています。 現在のREPLでは、どこからREPLが開始さ…

prin1、princ、print の違いについて

Common Lisp には出力に使用される関数が複数存在します。今回はそれぞれの個性について自分なりに調べた結果を書いていきます。 prin1 read 関数に使用しやすいフォーマットとは、上記のように文字列を出力することです。人が読みやすいフォーマットで出力…

リスト内を検索する

Common Lispにはエレメントがリストに含まれているかを検索する関数が複数存在します。今回はそれぞれの違いについて自分なりに解説していきます。 find find 関数は第一引数が第二引数のリストに含まれている場合、第一引数を返します。第一引数が第二引数…

eq、eql、equal、equalpの違いについて

今回は Common Lisp の eq、eql、equal、equalpの違いについて書いていきます。 eq eq は 第一引数と第二引数が同じオブジェクトの場合、true を返します。 eq は主にシンボル同士を比較する場合に使用します。 eql eql は eq が true を返す場合と、数字とc…

mapcar, mapcan, mapcの違いについて

Common Lispにはリストのエレメントに関数をマッピングする関数が複数存在する。 今回はその中でもよく使う三つの関数 mapcar、mapc、mapcan の違いについて解説していきます。 mapcar mapcarは第一引数の関数を第二引数以降のリストに適用することができま…

assocでalistから値を取り出す

alist (Association Lists) はkey/valueペアのリスト。assoc関数でkey/valueペアを取得し、car/cdrを使用することでそれぞれの値を取得することが可能。 assocは最初にマッチしたkey/valueを返すため、先頭に値を追加(push)することで、取得するデータを更新…

Lisp 勉強のための学習本

自分用のメモ。随時更新していきます。(最終更新:2018/03/25) Common Lisp Land of Lisp Land of Lisp 作者: M.D. ConradBarski,Conrad Barski,川合史朗 出版社/メーカー: オライリージャパン 発売日: 2013/02/23 メディア: 大型本 購入: 1人 クリック: 18…

AWRレポート生成スクリプト

今回はAWRレポート生成について。マニュアルから調べるのが面倒なのでまとめてみた。スクリプトは以下の6つ: スクリプト名用途 awrrpt.sql 主にSIでAWRレポートを生成するときに使用する。 awrgrpt.sql Oracle RAC環境でAWRレポートを生成する。 awrrpti.sq…

パッチ備忘録

パッチにはシングル・インスタンスのDBに当てるケース、RACに当てるケース、Grid Infrastructureに当てるケースなど、様々なパターンが存在するが、今回はRACのDBにのみ当てるケース。オプティマイザの検証などに使用することが多いので、忘れないように備忘…

実行統計の取得

EXPLAIN PLAN FORでは取得できない実行統計を取得する手順。 セッション単位でstatistics_level=allを設定する。 SQL> alter session set statistics_level=all; 実行統計を取得したいSQLを実行する。実行する際、SQLを特定するコメントなどを入れておくとベ…

USBでCentOS 6.5以降をインストールする方法

現在UnetbootinやFedora LiveUSB Createrなど、USBを使用してCentOSをインストールする方法が存在しているが、意外と落とし穴が多い。インストール画面で"Unable to read package metadata. This may be due to missing repodata directory. Please ensure t…

オフラインの環境でyumを使用する

使用した環境はOracle Linux。当然RHELやCentOSでも同じことが出来る。 オフラインの環境でisoイメージをマウントし、rpmを使用してパッケージインストールをしていたが依存関係にうんざりした。しかし、yumのlocalinstallを実行したら以下のエラーが発生: …

SQLHCを使用した性能分析

SQLHCのライセンスは無料。オラクル社の製品サポートサイトからダウンロード可能 使用手順: ダウンロードしたzipファイルを展開。 sqlplusでログインし、スクリプトを実行: $ sqlplus /nolog SQL> conn /as sysdba SQL> START sqlhc.sql [T|D|N] SQL_ID [T…

STAT_TABLEを使用して統計情報を移行する

Oracle 11gで表のデータは移行せず、統計情報だけを他のデータベースへ移行する方法 マニュアル:https://docs.oracle.com/cd/E16338_01/appdev.112/b56262/d_stats.htm STAT_TABLEを作成する。下記の例ではSHIOYAMAスキーマ上にSTAT_TABLEという表を作成: …

RHEL6.4をUNetbootinを使用してインストールする時の問題

UNetbootinを使ってRHEL6.4をインストールする時にハマったこと。 簡単に手順を説明すると UNetbootinをインストール http://61.164.110.188:82/Redhat/からrhel-server-6.4-x86_64-boot.isoを入手 UNetbootinを使用してrhel-server-6.4-x86_64-boot.isoを展…

Linuxコマンド集

忘れがちなLinuxコマンド Linux上でCtrl+vを押してからCtrl+Mを押すとWindowsの改行が出せる。 これを使用してVimやperlでWindowsの改行をLinuxの改行に変更できる。 プロセス管理 2秒ごとにコマンドを実行。 $ watch コマンド コマンドを実行中にCtl-z⇒コマ…

SQLコマンド集

SQL関連のメモ ファイル名に日付を付けてspoolするSQL alter session set NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS'; alter session set NLS_TIMESTAMP_FORMAT='YYYY-MM-DD HH24:MI:SS'; col spool_file_name new_value spool_file_name for a100 select 'フ…

Perlワンライナー集

perlワンライナーでよく使いかたを忘れるやつ。 改行コード置き換え perl -i.org -pe 's/\r\n/\n/g' filename 複数条件をREGEXに渡す perl -nle '/(AA|BB|CC)/ or print' filename ワンライナーでREGEXにシングルクォートを含む場合\x27でエスケープする。 …

Performance Tuning

※ソースは以下のリンク:http://www.orapub.com/tools-firefighting-diagnostic-xls-toolkit パフォーマンス・チューニングにおいて覚えておくことは3つ。 Must empbrace different perspective 様々な視点から考える。Oracleのパフォーマンス・チューニング…

iostatの使用方法

iostatの出力例 $ iostat -x 20avg-cpu: %user %nice %system %iowait %steal %idle 0.35 0.00 0.48 0.04 0.00 99.13Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %utilsda 0.00 1.37 0.13 4.70 2.13 62.13 13.30 0.01 1.69 …

STATSPACKレポートの使用方法

基本的に通常時のデータと異常事態が発生しているときのデータを見比べて問題点を発見する。 今回は以下の項目について:1. Load Profile2. Top 5 Timed Events3. Instance Efficiency Percentages 1. Load Profileレポート対象期間中のPer SecondとPer Tran…