02/02: 効果無し

Category: 雑多
10年前の体型を取り戻すことを目標に無理のない範囲でダイエットを始めました。

今取り組んでいるのは、

毎日腹筋運動
大盛り禁止
お昼は魚系中心
職場の8階まで階段を使う
駅構内で忙しいかのように小走り
平日の晩酌は原則禁止。但し特に良く働いた日はその限りではない。

そこそこ意識しているつもりですが、今のところ目立った効果無し。

Category: 雑多
最近体重がヤバイことになってきました。
ビリーズブートキャンプブームが去った後、これといって運動をしなくなってしまったのが主要因かと。
娘にも警告されてしまったので、真面目にダイエットでもしようと思います。
とりあえずは、毎晩に晩酌を週末のみにして、毎日軽く運動でもしようと思います。
少し効果が出てくると、グッとモチベーションが上がるような気がします。
Category: 雑多
3週間ほど前に家の近所にコストコがオープンしました。

車で3分で余裕で着く距離です。

コストコフリークの人にはうらやましい話しなのでしょうね。

パンがおいしいと聞いて、クロワッサンを買いました。大きめのクロワッサンがたくさん入っており、1週間弱かけて完食しました。最後は飽きてしまいますね。

既に体重がやばいことになっているのですが、この秋はコストコ太りしないように気をつけねば。

しかし、大きめのホットドック+フリードリンクで180円は安い。
Category: 仕事系
良い子のみんながこのブログをみているかもしれないので、動的SQLについて解説しておきます

ORACLEのPL/SQLの場合、ソースコード中に直接SQLを埋め込むことができます。これは静的SQLと言い、条件の値は可変で動作させられますが、SQL文自体は固定になってしまいます。静的SQLの良いところは、ソースコンパイル時にSQLもパースされるので、実行速度的に有利です。
ただし、SQL文が固定化されるため、複雑な検索バリエーションがある問い合わせを、1つの静的SQLで実現するのは困難です。

SQL文自体をプログラムで文字列編集する方法もあります。これが動的SQLです。

SQL文がSQLの構文通りにソースに埋まっているのではなく、分断された文字列として埋まっているため、SQL文として解析するのが難しいのです。


まともに動的SQLを解析するとしたら、コンパイラを作ることになります。
まずはPL/SQLの文脈を解釈し、個々の命令やモジュール階層を解析する必要があります。
動的SQLを実行するステートメントを見つけたら、パラメータに渡している変数の編集処理を、プログラムロジック、モジュール構造に沿って分析します。

言葉では説明会できても、これをプログラムで実現することは僕にはできません。


いんちきな方法を考える必要がありそうです
Category: 仕事系
久々の書き込みです。

去年の12月5日に「 SQLのCRUDマトリックスを機械的に作るには・・・」という記事を投稿し、誰かが作ってくれることを心待ちにしていました。

約1年経とうとしているのに、誰も反応してくれません。。。

しかし、現在も同じプロジェクトが継続しており、CRUDマトリックスの必要性が消えることはありません。

仕方ないので、自分で作ることにするか。

以前は、カラム単位のCRUDが必要でしたが、テーブル単位で良いことになりました。

それなら厳密な字句解析・構文解析(yacc&lex、JavaCC等)を使用するまでもなく、実現できそうかな。

» Read More

07/13: 近所にSC

Category: 雑多
自分の家は前橋南ICの近辺にあります。

近所に大きなお店がなくて不便だったのですが、今年の12月頃に巨大なショッピングセンターがオープン予定です。

核店舗は地元群馬が誇る流通業の雄であるベイシアさんだ。
グループのホームセンターや、家電量販店などもオープンする上、テナントも50近く入るらしい。

現在誘致交渉中らしいですが、超有名な巨大家具屋、会員制ディスカウントストアの動向にも注目が集まっているとかいないとか。

普段の買い物が近所で済ませられるので待ち遠しい限りですが、子供の通学の安全面や治安の悪化が心配です。

土地はまだまだ余っているので、5年後とかには跡形もないくらい変わっているかもしれません。

でっかい本屋、レンタル屋、シネコンもつくって欲しい。お願いします。
Category: 雑多
iPhoneアプリ開発チーム ご苦労様でした。

ついにiPhoneアプリ販売となりましたね。

http://catchapp.net/item/detail/366770578

スリーアイにとっては画期的なことです。

いままでは、企業や官公庁向けの開発のみでしたが、初となるコンシューマ向けの製品となります。

電車とかで学生とかが「むら単」を使っているのを見れたら嬉しいですねぇ。
前回まではカメラの基本的な知識や機能について説明してきました。

今回は撮影した画像の「編集」に関しての記事を書きます。

画像を加工するためにGIMP(ギンプ)というソフトウェアを利用します。

GIMPはタダで使える高機能なフォトレタッチソフトです。
商用のフォトレタッチソフトといえば、Adobe Photo Shopが定番ですが、Photo Shopは高価なので個人ではなかなか手が出せません。GIMPは無料でありながらPhoto Shopに匹敵するとも言われる程高機能です。

GIMPは http://www.gimp.org/ からダウンロードできます。


今回は加工する写真はこちらです。

室内で撮影した写真です。全体的に暗っぽくてコントラストが低いイマイチな写真ですね。

室内の撮影では、露出不足や、照明光による影響で不自然な色合いになりがちです。

まずはヒストグラムを表示して画像のコントラストを確認してみましょう。
GIMPのメニューから「色」→「色の情報」→「ヒストグラム」を実行しましょう。
null


これが「ヒストグラム」です。
画像のコントラスト階調の分布を表しています。
左端が明度0%(真っ黒)の分布を表しています。明度0%からの傾斜になっていますので、暗部は表現出来ていることになります。
極端に露出アンダーな写真の場合、黒の階調が表現しきれずに黒潰れしてしまいますが、その場合には明度0%(左端)が0ではなく高い分布から始まります。
右端が明度100%(真っ白)の分布を表しています。この写真の場合、明度0%の部分が一切ありませんので、白の階調は使いきっていない状態であることがわかります。

このヒストグラムを全体で見ると、明度80%から100%の領域がほとんど無い状態であることや、低い明度よりであることが解ります。写真の見た目の印象通りとも言えます。

さて、補正に取り掛かりましょう。
簡単に使える「自動補正」の機能を使ってみます。
null

まずは「コントラスト伸長」を試してみましょう。
「コントラスト伸長」は、明暗の分布で使用されていない領域が無いように伸長します。
今回の写真の場合、明度80%から100%に近い部分が無いため、この領域が拡張されます。

実際に補正してみた写真がこれです。

黒はしっかり残した状態で白が引き立ち、全体的に明るい印象になったと思います。

補正後のヒストグラムはこのようになりました。

明度100%の部分までしっかり使用されるように補正されていますね。


今度は違う補正機能を使ってみます。コントラスト伸長前の画像を使用することにします。
「ホワイトバランス」を使ってみます。色味は太陽光や照明の影響を受けて不自然な色になります。わかりやすい例では、夕暮れの写真は赤っぽい写真になりますよね。「ホワイトバランス」はこのような光源による色味の影響を補正する機能で、白(無彩色)を自動検出し、全体の色味を補正します。

「ホワイトバランス」補正後の写真がこれです。

黄色味が薄れ、全体的に明るい写真になりました。好みの問題かもしれませんが、「コントラスト伸長」後の写真よりこっちの方が見栄えが良いと思います。

「ホワイトバランス」補正後のヒストグラムがこれです。

「コントラスト伸長」よりもダイナミックに変化していますね。やや白飛びしてしまったかも、、、

Category: 仕事系
たまには本業的なネタを。

データベース変更に伴うプログラムの影響範囲を把握するための材料として、カラム単位のCRUDマトリックスを作成する必要が発生しました。

SQL数十本程度であれば地道に頑張って作る気にもなるのですが、数百本単位のSQLがソースコードに埋まっている状況なので、なかなか重い腰が上がりません。

ツールか何かでサクっポチっとできればよいのですが、SQLの構文はそれなりに複雑なので、機械的に分析するのは容易ではありません。既存のソフトも探してみましたが、よさげ(群馬弁)なものが見つかりません。(よさげ=良さそう)

いつもなら「無いなら作ればいいじゃん」となるところですが、今回ばかりは実現不可能っぽい。(ツール作りに2週間かけられればできるかもしれないケド、、、)

yacc&lexは昔使ったことがあるので、解決へのアプローチはわかるんだけど、それでもねぇ、、、

誰か作ってくれないかなぁ。。。(JavaCCで作ってもいいし)

SQLを入力させて、
テーブル カラム CRUD種別
        :
        :
みたいなリストが取得できればいいんですけど。ヨロシク
以前解説したように、デジタル一眼の基本的な撮影モードには、プログラムオート(P)、シャッタースピード優先オート(S)、絞り優先オート(A)、マニュアル(M)があります。
それらに加え、入門機や一部の中上級機には「シーンプログラム」という撮影モードを搭載しています。

「シーンプログラム」は、撮影シーンに最適化されたモードを複数もっています。シーンとは、人物撮影、風景、夕焼け、スポーツなどがあります。
シーンプログラムの種類は機種によって異なっており、多いものでは30種類のシーンプログラムが搭載されているものもあります。

細かく自分で設定して撮影したい”こだわり派”の人には大きなお世話かもしれませんが、手軽で簡単に綺麗な写真が撮れるので、初心者にはお勧めです。

例えば「ポートレート」(人物写真)の場合、背景にボケ味を付けるために、絞りを開放気味にしたり、肌色が健康的に見えるように色相を調整する等、カメラがいろいろな設定や補正を自動でやってくれます。

とは言え、カメラも万能ではありませんし、個人ごとの好みというのもあるでしょうから、JPEGだけではなくRAWでも保存しておくと後々調整できます。