2012-01-01から1年間の記事一覧

今年の経済書ベスト3

今年は仕事が忙しくてほとんど読めてないんだけど、Amazon アソシエイトの足しにでもなるかなという不純な動機で書いてみる。 3位 イアン エアーズ著、山形浩生訳「ヤル気の科学 行動経済学が教える成功の秘訣」 ヤル気の科学 行動経済学が教える成功の秘訣…

生きものの記録

土居丈朗(慶應義塾大学経済学部教授) window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platfo…

最低賃金を撤廃すべきでない理由

このブログでも以前言及したことがありますが、最低賃金規制は貧困対策としてはまるで役に立ちません。まず、働いている人にしか効果をもたらしませんし、最低賃金を高くしすぎれば失業増にも繋がります(ただし、現実の最低賃金水準ではそれほど大きな影響…

再分配目標というアイデア

このブログでも長年主張してきたインフレ目標による景気回復策であるが、自民党、みんなの党、維新の会、公明党が公式に政策として打ち出してきたこともあり、ようやく次の政権では実現しそうな見込みだ。批判的とは言え、朝日新聞にすら「リフレ論」なる文…

複数の履歴管理されるマスタを結合してマスタを作る(外部結合編)

前々回の記事にて、内部結合を使って複数の履歴管理されるマスタを結合する方法を書いたが、マスタを外部結合する必要がある場合、困ったことになる。外部結合では下図のように空き領域を埋めなければ、その部分の開始日、終了日が取得できない。 今のところ…

SQLで安全に除算を行なう

本日は軽い話題。SQLで除算を行なう時に困るのは、ゼロ除算の扱いだ。通常のプログラミング言語ならともかく、集計・分析をメインとするSQLにおいては、ゼロ除算はNULLあるいは0になってくれれば問題ない場合が多く、ゼロ除算エラーが発生してしまうのは、単…

複数の履歴管理されるマスタを結合してマスタを作る(内部結合編)

開始日と終了日を持つ履歴管理されるマスタは、特定の日付においては一意に定まるので通常の利用であれば問題ないが、複数の履歴管理されるマスタから別の履歴管理されたマスタを生成するのはものすごく困難である。しかし、内部結合する(=関係する履歴管…

「業務系SEの末路的なお話でして」と一人当たりGDP

「業務系SEの末路的なお話でして」という資料が一部の人々(というかソフトウェア業界人に)の話題になっています。 業務系SEの末路的なお話でして from okachimachi この資料自体は業界人的には、現在置かれている絶望的状況を的確に記述しているように思う…

履歴管理されているマスタを圧縮するSQL

[2012/8/23] 内容に誤りがあったため、一旦公開を停止していましたが、SQLが修正できたの再度公開しました。昨今は、どこの会社でもマスタを履歴管理するのが流行りらしく、適用期間(適用開始日と終了日)を持つことが多い。以前からこのようなマスタを扱う…

Oracle で SELECT INSERT 文を生成する

データをコピーする場合、CREATE TABLE テーブル名 AS SELECT ... の形式で書くとテーブルのコピーを作ることができる。当然、INSERT INTO テーブル名 SELECT ... の形式で書けばデータコピーできる……と思うのが実は大間違い。この構文では、テーブルのカラ…

PL/SQLでテーブルを同期する

他システムなど外部からデータを取り込み加工して本テーブルに取り込みたい場合というのは非常に多い。非常に多いにも関わらず、SQLでこのような処理を書くのは意外と難しい。いろいろと試行錯誤した結果、FULL JOINを使う方法に落ち着いた。 FOR cur_rec IN…

SQLで条件分岐

条件分岐という言葉を聞いた瞬間、SQLで書くことを諦めてしまう人がいる。しかし、SQLで条件分岐を書きたい時には次のどちらかのパターンを使えば良いだけである。 CASE 句を使う UNION ALL を使う 区分によって計算方法を変えたい場合は前者を使う。 SELECT…

按分時に端数を寄せるSQL

仕訳の配賦処理や消費税の按分計算で端数を伝票の特定の行に寄せたい場合がある。しばしば、この手の計算はPL/SQLなどを使って手続き型で実装されることが多いが、ウィンドウ関数を使えば簡単に実装できる。基本的な考え方はこうだ。 総金額に対する各明細へ…

重複データからユニークな行を取り出すSQL

昨日のエントリで N対M になるようなテーブルを結合するときは、N対1 にする必要がある旨書いたが、具体的にどうするかまでは書かなかった。例えば、全銀CSVをそのまま取り込んだ銀行マスタ(銀行コード、銀行名称、銀行支店コード、銀行支店名称)から銀行…

SQLの組み立て方

ソフトウェア開発をやっていると、SQLが苦手なプログラマに多く出会う。SQLはすごく柔軟で高度な処理を簡潔にかけるにも関わらず、わざわざ単純なSQLを使って大量のデータをした後、Javaなどの手続き型言語で加工するわけだ。単にアホなだけという可能性も否…

ベーシック・インカムについての個人的見解

Twitterでベーシック・インカムの話を書くと、どうにも批判を多く受ける。たしかにベーシック・インカムについて様々な意見を見ると、飯田泰之氏などが主張する月5万円という穏当なものから山森亮氏が主張する月15万円という理解し難いものもあり、単にベー…

債務問題の争点

債務問題、論点が多すぎることもあり、どうにも議論の争点が定まらない。ひとつには債務問題は「冷たい方程式」上にあり、バラ色の解決策が存在しない、ということがあるのだろう。「消費税を上げるべきだ」という主張が政策の争点になっていることもあり、…

分配問題についての個人的見解

最近、生活保護の問題が世間を騒がせており、特に片山さつきはキ○○イだと思うが、日本人の醜さを露呈させる結果になっている。さておき、一方の左な方々も小宮山厚労相の生活保護費削減ばかりに怒りをぶつけ過去、保護費の水準ばかりを問題にしてきたため保…

ナッジと選挙制度

ブログの更新も途絶えているので、たまには思いついたことでも書いておこう。ナッジにあるようにデフォルトに適切な選択肢を準備しておくことは、政策として重要なことである。翻って、現在の日本の選挙制度を思い出した時、デフォルトの選択肢は何であろう…

JSONIC 1.3.0 ベータ2 でどれくらい速度が改善したか

というわけで、JSONIC 1.3.0 ベータ2 出しました。直前の計測では、GSONを上回るパフォーマンスが出ていたのですが、GSON2.1が出ているのを気づかずにいたため、入れ替えて測ってみたら、高速化されててまた負けてしまってましたorzまぁ、それはともかく、JS…

json-simple その実力はいかに。

Twitterで検索すると不具合情報がつかみやすいので、たまに検索しているのだが、昨日検索してたらjson-simpleがいいらしいよ、という話が出ていたので調べてみた。Heap based parserとか書かれているので、もしかすると高速化のヒントが得られるかもしれない…

JSONライブラリのパフォーマンス比較

つい先日、Androidアプリで使えるJSONライブラリ比較という記事で例によってJSONICパフォーマンス悪い、という話が出ており、個人的には必要性を感じていないものの、悔しいのでパース側も高速化してみることにしました。というわけで、本日、いわゆるプルパ…