Random Thoughts

guidgenとか作ってみた

2015-01-25

小ネタ。

ソースファイル数百ファイルとか,数万エントリのブログ記事のように,そこそこ分量のあるデータを管理する際,データのIDとしてユニークな文字列を振っておきたくなることがあります。このようなとき,UN*X系のシステムではuuidgen(1)の出力を使うことができます。

uuidgen(1)の出力は,UUID(Universally Unique IDentifier)と呼ばれるもので,具体的には以下のような固定長の文字列になります(出力形式はいろいろある)。

63334536-030d-40cd-b77e-8407bd8e214c

生成方法はRFC 4122にあり,システムのネットワークアドレスやランダムな値などから作られます。あれこれ難しい話はありますが,利用者側としてはとりあえず,このような文字列が,過去に生成されたものにも未来に生成されるものにも,まず被らないとみなしていい,とゆことだけ考えておけば十分です。

一方,Windows環境には,uuidgen(1)のような便利なコマンドはありません。Cygwinなどをインストールすればuuidgen(1)も使えますが,わざわざそのためだけのためにインストールするのも悲しいものがあります。そこで,Windows環境でもユニークな文字列を作るコマンドを作りました。

[more ...]
Posted by AIAN at 01:06 [Parmalink] [Trackback (0)]
qune log

11年目のqune

2015-01-22

もはやただの生存報告になっているこのサイトですが,まだ生きているので,その旨を云々。

Twitterでは,思うところをぼちぼちと書いているのだけれど,ブログエントリのようなまとまった形でネットにモノを書くことが,めっきり少なくなってしまいました。昨年の今頃は「子供も手を離れてくるから書けるようになるだろう」とは言っていたものの,実際そんなこともなく,忙しく過ごしています。あたしが子煩悩なこともあるんでしょうけど,いやはや,子育ては一大事業です。

と,ブログの方はこんな体たらくなわけですが,実生活の方ではそれなりにいろいろとやっていたりします。

まず,Twitterでときどき進捗を書いていた「村上春樹マラソン」が終わりました。村上春樹マラソンは,同氏の作品をすべて読むといった個人的な企画で,つい先日読み終わりました。厳密にいうと,まだ全作品を読み終わったわけではなく,文庫化されていない作品(『色彩を持たない多崎つくると、彼の巡礼の年』『女のいない男たち』)と,全集にしか登載されていない作品はまだ読んでいません。電車通勤のサラリーマンがやってる企画ということもあり,大きな本はなかなか進まないわけです。ともあれ,大方の作品は読んだので,追々思うところを書いていこうと思います。

もうひとつ,数年前からさんざん静的なサイト作りに移行したいと書いていたのに,まったく手つかずだったので,少しずつ進めています。具体的には,DocBookで書いた文章をウェブサイトの形に変換するモジュールを通し、そのままアップロードするような感じです。サイト(ドメインやホスティングサービス)の移行も含めて進めているので,少し手間がかかっています。

また,今年はインプットの年にしようと思っているところがあり,新しい分野のお勉強を始めていたりもします。金融工学はきちんとやりたい。あと,文芸方面では村上春樹マラソンの影響もあったので,英米文学を中心に関連する作品も読み進めていくつもり。近頃は,Kindleを使えば格安ないし無料で過去のいい作品を読めるので,あとは読む人のモチベーションの問題なんじゃないかと思っています。ソフト開発関係は……まぁあんまり新しい話もないので,ぼちぼち見ていく。

いずれにしても,このサイトの話でいうならば,今年はもう少し書くつもり。11年目のquneも,どうぞご愛顧のほどを。

Posted by AIAN at 13:00 [Parmalink] [Trackback (0)]
Random Thoughts

ソフトウェア技術に対するバランス感覚

2014-06-19

プロとしてソフトウェア技術に対してどのようにアプローチするか,という問題は,おそらく,当のソフトウェア技術にどれだけ通じているかといった問題よりも,長期的に見て重要なんじゃないか,と,近頃考えるようになっています。

と考えるのはそもそも,これまで見てきた様々な開発者に,まったく経験がなくてもお金を稼ぐ開発者と,数年かけても全く(プロとして)モノにならない開発者がいるのを見ているからです。彼/彼女らの違いはどこからくるのだろう,と云々。例によって,自分のことは棚上げにしておきますが。

この違いは,何もあたしだけが感じているわけでもないようで,巷の開発者は少なからず,陰に陽にこの問題を考えているようです。例えば,この違いを「地頭の違い」とか「積極的に動いているかの違い」と説明するといった具合。しかし,少なくともあたしから見る限り,地頭の違いというのは結果論であろうし,積極的に動いているからといって(例えば,勉強会に積極的に参加するなど)魅力的な開発者であるとは限らない,といったところがあります。もっと何かしら根本的な違いがあるのではないか,というわけです。

[more ...]
Posted by AIAN at 00:01 [Parmalink] [Trackback (0)]
Random Thoughts

エンジニアの細分化/専門職化とフルスタックエンジニアの話

2014-04-24

こちらを読んで。

3月中旬から4月上旬にかけて、SIベンダーやネット系企業を取材し、多くの現場を訪れた。多数のエンジニア(40人以上)に取材して分かったのは、こうしたエンジニアには共通点がいくつかあるということだ。

最大の共通点は、技術や業務面で多くの領域の知識、スキルを兼ね備えているという点。つまり「マルチスキルなエンジニア」である。

記者の眼 - ITエンジニアのみなさん、“儲かるエンジニア”になれますか?:ITpro

しばらくエンジニア業に身を置いていて,そこそこ分かってきたことなんだけれども,理想とされるエンジニア像というのは,今も昔もそんなに変わらないな,とか云々。「マルチスキル」つまるところ,ソフトウェア開発にまつわる技術領域を広く回せるスキルというのは,あたしがこの業界に入った時から言われていました。ソフトウェア技術は,各領域で細分化されているけれども,開発にあたってはそれらを総合して作り上げなくてはいけません。なので,多方面に亘る専門的な知識が各エンジニアに要求されるのは,当たり前といえば当たり前のことです。

[more ...]
Posted by AIAN at 12:55 [Parmalink] [Trackback (0)]
Random Thoughts

思春期プログラミングの憂鬱

2014-02-17

しばらくTwitterでつらつらと書いていたのだけれども,少しまとまったことを書きたかったのでこちらに。

巷でその手の文章を読んでいると,たまに次のような話を目にすることがあります。

大人になると,様々なことに価値的な序列がつけられるようになり,勝ち組になったり負け組になったりする。それに比べて,子供はこれらの価値から自由でいられる。子供ばんざい。子供ばんざい。

あたしゃもうオッサンになって,いわゆるオトナの世界にいるわけですけれど,たしかに,勝ち組とか負け組とか,どっちが優れてるとか,あいつは劣ってるとかいった,ある種の「差」が話題になることがあります。その内容は,仕事の出来不出来であるとか,就いてる職業であるとか,学歴であるとか,年収であるとか,家族構成とか,家はどうしてる,貯金は,趣味は,交友関係は……と,際限がありません。

一方で,それなら子供の世界はそうした価値的な序列から自由かというと,そゆわけでもないと思うんですね。とゆか,むしろ,子供の方がそうした価値的な序列について敏感に見える。あたしゃTwitterで,時々学生さんのツイートを読ませてもらうことがあるんですけれど,序列化の問題は,大人よりもむしろ子供に多い気がしています。特に思春期。

[more ...]
Posted by AIAN at 22:00 [Parmalink] [Trackback (0)]
qune log

10年目のqune

2014-01-01

あけましておめでとうございます。

久しぶりのエントリになってしまいました。一応,そこそこ平穏無事に生活しているので,そのログも兼ねて,この頃のあれこれなんかをつらつら。

管理人のaianは,家に子供が産まれてから,しばらく落ち着いてパソコンに向かうことができていません。自分がイクメンパパになるとは思ってもみなかったんですけれど,子供は産まれてみるとかわいいもので,毎日デレデレと子供の世話をしています。

そんなこんなで,quneは現在育休中といったところです。ネットでは,Twitterにほぼ毎日何かしら書いているので,覗いていただければと思います(Twitter@aian)。娘ももうすぐ2歳になるので,そろそろ手もかからなくなり,逆にパパを相手にしてくれなくなる日も刻一刻近づいているようです。ぼちぼち再開することになりそうです。

aianの個人的な興味としては,今年で37歳になるということもあって,そろそろこれまでの自分の仕事を一旦まとめておこうかと思っています。電子書籍の形になるのか,ブログのような一過性のものでない文章をネットに上げるのか,まだ決めていませんけれど,40歳くらいを目処に,何かしら形にしておくつもりです。

37歳とか40歳とかいうと,もう弁明の余地なくオッサンなわけで,しかもこういったまとめに入ると,先が見えなくなるところもあるのだと思います。オッサンもオッサンなりに先を見ながら,まとめていければと思っています。とりあえず,貝原益軒でも読もうかとほげほげ。

ともあれ,旧年中もquneをご愛顧いただいてありがとうございました。本年もよろしくお願いいたします。

Posted by AIAN at 14:16 [Parmalink] [Trackback (0)]
Random Thoughts

比較的実用的なC言語のポリモーフィズムについて(その1)

2012-09-22

ちょっと前のエントリが,まだ「その1」でとまってるけれども,少し新しい話題。コードが長くなったので,2つのエントリに分けます。

C言語でわざわざ OOP を実践する必要もないんだけれども,知っておくと便利なパターンとして構造体を利用したポリモーフィズム的な使い方があります。あくまでも,ポリモーフィズム「的」であって,多態そのものではないんですけど,ちょっと紹介。

C言語では,C++ や Java のように言語仕様として異なる引数を持つ同じ識別子の関数を定義することができません。したがって,関数引数の多態は表現できません。しかし,継承に基づく多態なら,C言語でも似たようなことができます。

[more ...]
Posted by AIAN at 22:43 [Parmalink] [Trackback (0)]
qune log

いろいろ忙しいので Twitter にも書き込もうかな,と

2012-09-03

仕事やら育児やらが忙しく,また最近新居に引越したもんで,こちらにまとまった文章を書く暇がありません。とゆことで,ぼちぼち Twitter(@aian)にでも書こうかな,と。お暇な方は,ぜひ覗いてみてください。あたしのことを知ってる方は,aian の出自をバラさないようによろしくお願いします。

Twitter アカウントは流行る前の黎明期に取っていたもんで,今じゃなかなか取れない4文字アカウントだったりする。いや,自慢にもなんにもなりゃしないんだけど。とゆことで,よく分からなくなってしまったけれども,ひとまずよろしくお願いします。

Posted by AIAN at 22:56 [Parmalink] [Trackback (0)]
Random Thoughts

勝手に考えた夏休みの宿題(公法学・政治学)

2012-08-23

今日電車の中で考えた。

「マニフェスト政治」について以下の各問いに答えなさい。

  1. 「マニフェスト政治」の内容とそれが提唱されることとなった背景について簡単に説明しなさい。
  2. マニフェストに基づく政治と以下の概念はどのような関係があるか,それぞれ検討しなさい。
    • 議会制民主主義
    • 直接民主主義
    • 政党政治
    • 国民主権/人民主権
  3. マニフェストに基づく政治を徹底するために以下の制度を法律で導入した場合,日本国憲法上問題となる点を検討しなさい(憲法改正の余地についても言及せよ)。また,この制度が地方議会に導入された場合についても検討しなさい。
    • 政権与党の大臣がマニフェストに違反した政策を実行した場合,国会が大臣罷免の国民投票を行う動議を提出することができる。この国民投票が可決された場合,大臣は罷免される。
    • 上記制度によって,2/3以上の大臣が罷免された場合,内閣は総辞職し衆議院は解散する。
    • 国会議員がマニフェストに違反した国会行動をとった場合,国会議員罷免の国民投票を行う動議を提出できる。この国民投票が可決された場合,国会議員は罷免される。
  4. 上記制度の運用上の問題点について検討しなさい。

できねかな。こゆ法律。

Posted by AIAN at 01:03 [Parmalink] [Trackback (0)]
Random Thoughts

ソースコード解析におけるアタリのつけ方とか(その1)

2012-08-19

仕事でプログラムを書いていると,デバッグ以外に他人のソースコードを読む機会がたくさんあるわけですけれど,大抵の場合,漫然と読んでいるのではなく目的があります。例えば,字句解析する際のバッファ管理の方法を知りたいから GCC を読むとか,ベクタオブジェクトの描画系はどうやってるんだろと思って,Inkscape のソースを読むとかいった具合。もちろん,それらが最適なプログラムとは限らないわけですけれど,他の人の考え方を取り入れるには,下手な能書きが書かれた本を読むよりも,ソースを読む方が手っ取り早かったりします。

で,ま,目的をもってソースを読むわけですけれど,この場合,まずもって目的のソースにたどり着けなくちゃいけません。全然関係ないところを読むのは時間の無駄ですから。この点,巷には,ソースの読み方をあちこちで紹介しているわけですけれど,あたしはあまりこゆ読み方はしていない気がします。例えば,某所で紹介している方法は次のようなもの。

  • ファイル名やコメントから処理を判断する
  • デバッガを使って main 関数から順に処理を追っていく

はじめの方法は,例えば,grep(1) や ctags,GNU Global なんかを使って,怪しそうな処理を片っ端からあげつらっていくみたい。しかし,特定の処理に対して,人間が取り決めた識別子を狙い撃ちするのは,なかなかできることではありません。メモリ管理について,memory.c なんてソースがあるならいいとしても,mmng.c なんてこともあり得るし,util.c なんかに隠れてるかもしれない(関数名等の識別子も同じ)。こゆ方法は,アヒルが混ざってる白鳥の群れに対して,アヒルだけを打ち落とすようなもんです。方法としては下手っぴだと思う。

もうひとつの方法である,main 関数から云々みたいな話は,ほんとにやってる人がいるなら見てみたい。少し大きなファイルになると,まず途中で挫折すると思う。

[more ...]
Posted by AIAN at 02:02 [Parmalink] [Trackback (0)]
Ads
About
Search This Site
Ads
Categories
Recent Entries
Log Archive
Syndicate This Site
Info.
クリエイティブ・コモンズ・ライセンス
Movable Type 3.36
Valid XHTML 1.1!
Valid CSS!
ブログタイムズ

© 2003-2012 AIAN