So-net無料ブログ作成
前の10件 | -

今年の目標 [日記]

今年は、年始に有給休暇を取ったので成人の日まで10連休になったが、びっくりするほど寝正月で何もしないままここまで来てしまった。思い立って、今更ながら、今年の目標を設定しておく。

昨年立てた目標 http://nakagami.blog.so-net.ne.jp/2017-01-01 は、すっかり忘れてしまっていた。
忘れてしまっていたが、https://mokupy.connpass.com/event/71876/ この頃から始めて、 Firebird の Django database backend が(まだ動かないけど) 形になり始めている https://github.com/nakagami/djfirebirdsql ので達成ということにしよう。

今年は、唐突だけど

- プログラミング言語 elixir を少し書けるようになりたい
- それと関連して Erlang をもう少し理解したい

を目標にしよう

コメント(0) 
共通テーマ:日記・雑感

衰退産業 [日記]

昨年の年末のペットフード協会が発表した日本の犬と猫の推計飼育数でついに猫の飼育数が犬の飼育数を超えた。
数年前から予想されていたことだが、ついに来る時が来たという感じだ。

身も蓋もないことを言わせてもらえば、動物病院からしたら猫はもうからない。
「犬も猫も増えたけど、猫の増加のほうが大きかった」
ならまだいいが、犬の飼育頭数がこの一年で 4.7% 減だそうな。
厳しい。一年で市場が 5%減になる業界だと
「今は生活苦しいけど明日はいいことあるかもしれないから頑張ろう」
という気になれないだろうなぁ。

さらに身も蓋もないことを言うと、犬の中でも小さい犬は儲からない。
昔は、シベリアンハスキーやらゴールデンレトリバーやら流行ったが、今、我が家の雑種の中型犬を散歩に連れて行くと近所で散歩している犬たちの中で一番大きい。

それもこれも、日本が少子高齢化と若い世代の生活が大変なせいで、子供のいる家は中・大型犬を飼わなくなったし、年寄りは小型犬しか飼わないし、年寄りは死んじゃうんで犬を飼っている人が急激に減る。減るにしても予想を超えるスピードで進んでいる。
日本国内の消費者を顧客にする外食、小売りなんかもそうなんだろうなぁ。
どんなに魅力的な商品、サービスでも、年取ってから若い頃より2倍食べるとか、2倍着るとかいうことないだろうしな。

IT業界は、まあいろいろあるんだろうけど、まだ日本でも
「今日よりは明日のほうが良いかもしれない」
と思える。
いい業界だけど、日本の会社や個人を相手にしているとこれもいつまで続くんだろうか?という一抹の不安もある。
あと15年以内に
「あらゆるサービスで情報システムがいきわたってしまったので平凡なプログラマーの需要はありません」
という時代がくるだろうか?

コメント(0) 
共通テーマ:日記・雑感

テレビで放映された「君の名は。」をようやく見て [日記]

昨日、テレビで「君の名は。」をやっていた。
この一年半の間に、ネタバレ情報を耳にしていたので、サプライズは期待してなかったが、家族が見ていたので一緒に見た。

神職の手伝いもちゃんとやっていて将来も神社の仕事をしそうな三葉が
「カフェも本屋もないこんな田舎出たい。東京に行きたい」
と憧れる描写や、周囲の人たちが親の仕事も含めてお互いの仕事を良くしっているという描写だけじゃなくて、三葉が住む町で、町長と土建屋が仲良くて、んでもって町民が
「町長なんて誰がやっても同じ。交付金の配分が変わるだけで」
と言っている描写もあって、やけにリアルだなー、って思った。
田舎の経済って、地方交付税を元にした公共事業で回ってて、んでもって都会の人はそれをあんまよくわかってないんだよなぁ。田舎のきれいな情景を映しつつ、そんな描写がされるのは珍しいなぁ。

Wikipedia で調べたら監督は、田舎の土建屋の息子らしい。妙に納得してしまった。

コメント(0) 
共通テーマ:日記・雑感

労働時間短縮 [日記]

昨年と同様、納会の社長のプレゼンで、今年も炎上案件ゼロという話が出た
http://nakagami.blog.so-net.ne.jp/2016-12-30
素晴らしい。炎上案件がなかったことも素晴らしいが、それを成果として出しているのも素晴らしい。
「俺、意外とまだプログラム書けてるな」
と思うことがあるが、きっと若い頃のように夜10時まで仕事するのが普通な環境だったら無理だろうな。

昔の会社でやっていたような、誰も読まないような詳細設計書を書くとか、会議で参加人数分の資料のコピーを取ってホッチキスで止めるとか、やらなくていいことをやらない結果、今は
「(お客さんの)価値に繋がらない不合理なものはやらない」
という感じで、なんとか定時でこなしている。

社内の slack の雑談部屋に書き込んでいて、暇そうに見えるかもしれないけど、意外と必死である。
だからこそ、さらなる時短と言われると「これ以上やらなくていいことあるかな?」と思ってしまう。
その分、収入が減ってもいいなら、短くできるけど、収入減るのは困るんで。

ただ、世の中も
「このままの長時間労働では生活できない(結婚できない、子育てできない)。過労死は会社が訴えられる」
という流れになっているようで
「簡単に残業できなくなった」
「19:00以降の会議は禁止された」
「週に一日はリモート勤務可」
という話はよく聞くし、社会全体が、必死に勤務時間を短くしたり、出社しないでも働けるようにしたりしている空気を感じる。
失われた20年でデフレの時代は
「顧客にどれだけ安く商品やサービスを提供するか」
が勝負だったが、これからは
「どれだけ働きやすい環境を作って、労働者を集めるか」
というのも、重要な企業間の競争になってくるんだろうなぁ。

僕は病気もしないし、子供が病気になることも、家族旅行することも最近はなくて、
「用事がないと有給休暇を取らない」
という感覚でいると、有給休暇が取得しきれずに、消滅してしまう。
それでもいいかなと思っていた時期もあったが、
自分の子供たちがこれから就職して、生きていくためには、そんな世の中はダメで、
自分も、もっと必死に有給休暇を使い切らないといかんな、と思っている。
難点は、僕以外の家族が、あまり休みがなくて、僕だけが休みにしていると、なんとなく心苦しい点。その心苦しさを克服しなくては

コメント(0) 
共通テーマ:日記・雑感

スーツを着ない大人 [日記]

長年うやむやのままにしていたが、クローゼットの中にあるスーツを確認した。
最近は、年忌のたびに、ちょっと暗い部屋で「これかなー」と思うものを引っ張り出して着ていたが、結局

礼服は
- 夏の礼服(シングル)
- 秋冬の礼服(シングル)
- 春秋(?)の礼服(ダブル)
を持っていることがわかった。最近、シングルしか着てない気がするけど、ダブル着ることあるかな?
もう何着かダブルの礼服あった気がするけど、捨てたかな?クリーニングに持って行ったきり疑惑もあるが、もうわかんないな。

驚いたことに、スーツは義父の遺品の紺の冬のスーツ(品質は良いが、型がもうだいぶ古い)一着と、自分がセットで買って傷んだので上着は捨ててしまった夏のスラックスが1本しか持ってないことが発覚した。
つまり、俺、夏の上着、持ってないんだ!
夏と冬のスーツ、一着づつは買っておいたほうがいいかなぁ、と思わないでもないが、今買っても10年間一度も着ない自信あるので、必要になったら買う。
また必要になった頃には、バブルの頃のソフトスーツ全盛かもしれないし。
どうか、急に必要になることがありませんように・・・

ドレスコードよろしく毎日スーツを着ていた時代もあったけど、夏場は、徐々にクールビズが定着して上着は着なくなっていた。
その職場を離れて以来8年くらいの間に、冠婚葬祭で礼服を着る以外は、本当にただの一度も着ることなくなったので数年前にだいぶ捨ててしまった。
いささか捨てすぎたかもしれない。
ただ、もうだいぶよれて傷んでいて、あれをわざわざ引っ張り出して着たら、それはそれで恥ずかしいしな。

父は農家で普段は飼料会社にもらった会社の名前の刺繍の入ったボロボロの作業着で仕事をしていた。
(自宅から数十メートル離れた牛舎に歩いていく途中に、おまわりさんに職務質問されるような風貌だった)
都会のスーツを着た大人は立派そうに見えて、それに比べて自分の父親の恰好はちょっと恥ずかしいな、と子供の頃には思ったが、そんな父も、地区の寄り合いに出かけるときはスラックスにジャケットを羽織っていた。

今の自分は、いついかなる時も、あの時の父よりもカジュアルで、父よりも大人の恰好をしていない。子供たちも、お父さんが「立派な大人の装いでない」感じを感じとっていると思う。
自分も、会社の行きかえりに近所のおばちゃん達(かみさんを子供の頃から知っている)に会うと、内心(あ、やべ、見つかった。さっちゃんの旦那さん、どんな仕事してるのかしら?スーツも着ないで、って思われてるんだろうなぁ)と思ってしまう。

いろいろ考えて疲れたので、今年の自分の大掃除終わった感ある
コメント(0) 
共通テーマ:日記・雑感

Firebird4.0 Planning Board 2017 update [Firebird]

この記事はFirebird Advent Calendar 2017 https://qiita.com/advent-calendar/2017/firebird の24日目の記事です。

Firebird Advent Calendar 2016 の http://nakagami.blog.so-net.ne.jp/2016-12-19 の振り返り
↑を書いた時には、Planning Board にある Deadline は遅れに遅れていたのですが、その後日付が見直されて、現在は妥当な進捗になっているようです。

Firebird の Planning Board はここにあります
https://www.firebirdsql.org/en/planning-board/

各機能の status を見ても、(間に合わなさそうな issue の status を POSTPOND にすることも考えると)Beta Release の2018-01-01 も、無理ではない気がします。

Firebird 4.0 の alpha1 はリリース済みです
https://www.firebirdsql.org/en/news/firebird-4-0-alpha-1-release-is-available-for-testing/
まだ、実装予定の機能もあるみたいなんですが、 個人的には alpah1 の機能で 4.0 をリリースしちゃってもらって、未実装の機能は 5.0 以降でいいかな、と思います。
4.0 まで未実装の機能↓
http://tracker.firebirdsql.org/secure/IssueNavigator.jspa?reset=true&mode=hide&sorter/order=DESC&sorter/field=priority&resolution=-1&pid=10000&fixfor=10750

COMPLETE になっていて私が注目している機能は以下のようなところです

- 物理スタンバイ
- 31文字以上の識別子(63文字)
- Windows 関数の追加
- Decimal の精度向上 https://github.com/FirebirdSQL/firebird/pull/108/files

IN PROGRESS で注目している機能は
- ビルトイン論理レプリケーション
です

コメント(0) 
共通テーマ:日記・雑感

Firebird Contributors [Firebird]

この記事はFirebird Advent Calendar 2017 https://qiita.com/advent-calendar/2017/firebird2120日目の記事です。(間違えてた&間に合ってない。21日に書いたけど 20日の記事でした)

いつの頃からかわからないんですが、Firebird の公式サイトの Contributors のページに名前載ってました。

https://www.firebirdsql.org/en/contributors/

Jim Starkey, Ann Harrison ご夫妻と名前を連ねることができて大変光栄です。

まあ、このお二方は、名誉職的なポジションですが、RedSoft Corporation という会社の人たちが、最近の Firebird の重要な機能の寄贈をしてくれていて、その人たちと一緒に Contributers に名前を載せていただいているのは、さらに光栄です。
コメント(0) 
共通テーマ:日記・雑感

pyfirebirdsql 1.0.1 released [Firebird]

この記事はFirebird Advent Calendar 2017 https://qiita.com/advent-calendar/2017/firebird の17日目の記事です。
python の Firebird データーベースドライバー pyfirebirdsql の 1.0.1 を昨日リリースしました

https://pypi.python.org/pypi/firebirdsql/1.0.1

1.0.0 をリリースしたのが昨年のアドベントカレンダー6日目なので、1年ぶりのリリースです
http://nakagami.blog.so-net.ne.jp/2016-12-06

機能の追加は IPv6 サポートだけです。

もう、あまり機能の追加をする気はないのですが、Firebird 4.0 になると、新しいデータ型が追加されるようなので、その時には対応したバージョンを出すと思います。

コメント(0) 
共通テーマ:日記・雑感

Firebird 3.0 の新しい SQL 構文 [Firebird]

この記事はFirebird Advent Calendar 2017 https://qiita.com/advent-calendar/2017/firebird の15日目の記事です。

いままでと重複あるかもしれませんが、ここで Firebird3.0 のリリースノートを見直して、新しい SQL 構文を自分で試してみました。
https://firebirdsql.org/file/documentation/release_notes/Firebird-3.0.0-ReleaseNotes.pdf
(トリガーは自分は使わなさそうなので試してません)

【BOOLEAN Type】
いままでは 0/1 で持っていたのですが、BOOLEAN 型ができました。
SQL> CREATE TABLE bool_table (b BOOLEAN);
SQL> INSERT INTO bool_table (b) VALUES (TRUE);
SQL> INSERT INTO bool_table (b) VALUES (FALSE);
SQL> INSERT INTO bool_table (b) VALUES (NULL);


MySQL の boolean みたいに 1/0 じゃなくて true/false が返ります。

【自動インクリメント型のカラム定義】
今までも、 generator + trigger を使うとか、sequence を使うとかで、
自動インクリメントで採番するカラムの作成はできたんですが
https://firebirdsql.org/refdocs/langrefupd21-ddl-sequence.html

より、直接的に書ける方法ができました。
SQL> CREATE TABLE id_table (id INTEGER GENERATED BY DEFAULT AS IDENTITY, name VARCHAR(30));
SQL> INSERT INTO id_table (name) VALUES ('nakagami');
SQL> SELECT * FROM id_table;

          ID NAME
============ ==============================
           1 nakagami



採番される値をリセットするには、以下のような SQL文を使います
SQL> ALTER TABLE id_table ALTER COLUMN id RESTART; 
SQL> ALTER TABLE id_table ALTER COLUMN id RESTART WITH 100; 

WITH 100 を付けた場合、次の INSERT 文では 101 が設定されます。


【カラムの NOT NULL 制約を付ける、外す】
カラムの NOT NULL 制約を付けたり外したりするのに、今まではシステムテーブルを update するという荒業が行われていました。
http://www.firebirdfaq.org/faq103/

Firebird 3.0 から、このシステムテーブルの update ができなくなり(エラーになり)代わりに、カラムの nullability を設定する直接的な ALTER 文が書けるようになりました。

table に NOT NULL 制約を付ける
ALTER TABLE table_name ALTER COLUMN column_name SET NOT NULL;

table の NOT NULL 制約を外す
ALTER TABLE table_name ALTER COLUMN column_name DROP NOT NULL;

【OFFSET/FETCH 句】
結果セットの中の「何行目から何行」という指定をしたいときは、
いままでも、 FIRST ~ SKIP という構文は使えました。
https://scott.yang.id.au/2004/01/limit-in-select-statements-in-firebird.html

SQL:2008 標準で OFFSET ~ FETCH という構文があるそうで、Firebird 3.0 で、それが使えるようになりました
SQL> select id from id_table order by id;

          ID
============
           1
           2
           3
           4

SQL> select id from id_table order by id offset 1 rows fetch next 2 rows only;

          ID
============
           2
           3


コメント(0) 
共通テーマ:日記・雑感

Firebird をソースからビルドして Ubuntu 17.10 にインストールする [Firebird]

この記事はFirebird Advent Calendar 2017 https://qiita.com/advent-calendar/2017/firebird の10日目の記事です。

過去にソースからインストールした手順・・・
http://nakagami.blog.so-net.ne.jp/2013-10-19
http://nakagami.blog.so-net.ne.jp/2014-12-17
の 2017年版です。

- 必要なパッケージのインストール
sudo apt update
sudo apt install -y libtommath1 libtommath-dev libtomcrypt0 libtomcrypt-dev
sudo apt install -y autoconf cmake libtool g++ btyacc
sudo apt install -y zlib1g-dev libicu-dev libreadline-dev libncurses5-dev

- (試行錯誤の結果、パッケージの firebird3.0 をインストールして削除)
sudo apt install -y firebird3.0
sudo apt remove -y firebird3.0

./autogen.sh --enable-binreloc --prefix=/opt/firebird

make
sudo make install

途中、うまくビルドできなくて試行錯誤した時に、パッケージの Firebird3.0 をインストール→アンインストールしました。
firebird というユーザーができたからうまくいったと思っているんですが、原因はよくわからず、クリーンな正しい手順はわかりません。
また、インストールした apt パッケージに、本来不要なものも入っているのかもしれません。
ただ、Ubuntu のインストール直後に apt install したので足りないものはないと思います。

cmake を使って
cd firebird
mkdir build
cd build
cmake ..
でビルドできるはずなんですが、コンパイルエラーが出ていて
firebird/src/include/../common/common.h:558:2: error: #error Define FB_CPU for your platform
 #error Define FB_CPU for your platform
こちらはまだ途上なのかな、と思いました。
コメント(0) 
共通テーマ:日記・雑感
前の10件 | -