エンジニアが作る最新ITブログ トップ>【2006年09月】
2006年09月30日データ型のアラインメントとは何か,なぜ必要なのか?
最終更新:2007/01/15(月) 12:38
この記事の内容は加筆修正の上,↓こちら
に移動しました.
http://www5d.biglobe.ne.jp/~noocyte/Programming/Alignment.html
関連ページ
データ型のアラインメントとは何か,なぜ必要なのか?
複合データ型 (配列,構造体,共用体) のアラインメント
構造体のアラインメントに関する誤解
sizeof とアラインメントの関係 (sizeof がアラインメントの倍数に切り上げって知ってます?)
C/C++ マクロ集 (処理系・OS 非依存)
型のアラインメントを返すマクロ
オフセットのアラインメントを調整するマクロ
malloc()
...続きを読む
2006年09月30日印字レイアウトさて、仕事も大詰めになってきました。 俺は仕事もあらかた終わり、プログラムは作ったけど詳細設計書が無いもの(*1)があるのでそれを作っていたところ・・・ ん? あれ? そういえば、印刷(*2)ってどうするんだろう? 仕様ってあるのかな?? ってか、この時期にタスク漏れって厳しくない? とりあえず、上の人(*3)に仕様を聞きに行ったら 完全に仕様からもれてました。 との事。 しかも、気づいた手前自分がやらなければならないとの事。 俺、自分の仕事はほぼ完璧にこなしてるんだけどなぁ・・・。 上が足を引っ張ってどうするんだろう?? まぁ、いいや。 とりあえず、印字の仕様を固めてもらってる間に印字のツールとかがあることを確認しよう。 ・・・ ・・・・ で、確認の結果。 印字のツールは結構前に作成されていることが分かった。 しかし・・・ めちゃめちゃ使いにくい!!! ツールって言うからにはユーザーインターフェースをもう少しやさしくしない?? レイアウトあわせるためにテストプリントを何度も行わなければならないの?? 普通、この項目はこの辺に印字jして、この項目はこの辺に印字して・・・ と言った具合にGUIで印字ツールって使わない? なのに・・・ それを・・・ 意味不明なXML(*4)データで定義するなんて!! XMLデータを使うのは良いけど、手動でXMLデータを作るのってかなりきつくない? で、作ってみてから印刷・・・。レイアウトがおかしかったらまたXMLデータ操作しなおし・・・。 (しかも、印字レイアウトを設定するだけのXMLが複雑・・・) いやぁ~~。 そんなので作ってたらどれくらいかかるか分からない。 こんなの作るのに一ヶ月以上かけてるなんて信じられない・・・。 と言うことで、、、 俺が二日かけてかなりましな印字ツールを作ったよ。 (GUIでレイアウト設計できるし、印字用データ変換も一発だ。) 時間が無いから、コードが若干汚いがこの際贅沢言ってられない。 こんなものに一ヶ月もかけて・・・ もったいない。 ん? ちょっと、自慢ぽいな。 ************************************ 難しく考えることは簡単で 簡単に考えることはきわめて難しい -カーバー・ミード- ************************************ この言葉を実践していれば、みんなスキルアップすると思うんだけどなぁ。 考えたこと無いのかな? この言葉に関してはまたいつか、詳しく書いておこう。 自分のためにも心に刻んでおくぜ! ------------------------------------------------------------- *1・・・詳細設計を行わないでプログラムを作る事は基本的には無いのですが、忙しくていきなり製造をする場合や上の人が認識していない仕事を行った場合などに発生します。 *2・・・その名の通り印刷機能です。 *3・・・ある意味お客様。 *4・・・CSVとデータベースの合いの子みたいなもので、データを格納する技術のひとつ。 2006年09月30日2006年9月の目次2006年9月の記事一覧です。 ☆・・・私のお勧め記事 ◎・・・コメントが多い記事 ・初めての日記 (傲慢SEの戯言) ・なんちゃってSEとは (なんちゃってSE) ・プロセスの継続的改善 (傲慢SEの戯言) ・してやったり (傲慢SEの戯言) ・C#のスコープ (なんちゃってSE) ・年上の後輩 (傲慢SEの戯言) ・喫煙所 (傲慢SEの戯言) ・もちはもち屋? (なんちゃってSE) ・あ~。言いて~!!! (傲慢SEの戯言) ・姫と呼ばれたSE(おっさん) (ありえないSE) ・DLLの仕様 (SEの実態) ・博学なSE (出来るSE) ・DLLの仕様2 (SEの実態) ・仕事が無い (傲慢SEの戯言) ・SEってオタク? (SEの実態) ・他のチームで作ったプログラムが使えるから・・・ (なんちゃってSE) ・SEの結婚 (SEの実態) ・共通DLL (なんちゃってSE) ☆開発プロセス (SEの実態)←初コメントがついた記事w ・一生懸命書いたブログが!! (傲慢SEの戯言) ・オブジェクト指向 (本の紹介) ・印字レイアウト (なんちゃってSE) 【2007年7月に本記事を読み返してみた筆者のコメント】 記事がかなり拙い文章だ。 しかも、内容が薄い。 良くこれで満足して書いてたなぁ・・・。 でも、何事もやってみる事が大切な事であり、それによって今のモチベーションが生まれたと思うとやっていて良かったと思う。 もし、この目次をみてこれからこの記事を読もうと考えている奇特な方へ 相当拙い記事なので覚悟していてください。 2006年09月29日メタボリックなソースコードあるAccessVBAのコードを見ていて「こりゃ、無駄な処理が多いなー。ぜい肉落とすか!」と思った際にひらめいた。 こういうプログラムをスパゲッティコードという命名に倣って「メタボリックコード」と呼ぶのはどうだろう。ここではメタボリックを余計で要らないもの、くらいの意味として捉えている。 メタボリックなコード、などと間に「な」を入れたりするのも自由。 用例として ・システムを修正する際に「えらくメタボリックですねえ。治療しましょう。」 ・「この業務プロセスはメタボリックでは?」 ・「このシステムは既にメタボリックだから、捨てるという治療方針を取れば運用コストが削減できますね。」 メタボリックなソースコードは多い。業務の合間に少しづつ治療していく所存である。 2006年09月29日2006年09月29日いつトランザクションが解放される?これは先日作っていたシステム。 ExcelからADOを使ってSQL Serverにアクセスしているシステムを作った。 テスト時はさくさく動いたが、顧客にテストして貰った際にレスポンスが悪かった。なんのことはない。テーブルにロックがかかっていたために相違ない。 ところが、確認してみると、トランザクションを開始した後、コミットやロールバックを遅延させているところはない。 第三者に意見を求めると「何が影響するか分からないので、ADOオブジェクトをこまめにNothingしてみてはどう?」という意見が出てきた。へ?馬鹿げてるぜ、とは思いつつもそれなら説明がつくよな、と試してみた。 あれあれ、なんでこれですんなり行ってしまう?と脱力してしまった。 これはデータベースにもよるかもしれない。もし情報をお持ちの方がいればコメントかトラックバックを。 2006年09月28日大抵必要なRails日本語化の最初
Ruby on Railsのプロジェクトを日本語で利用するには、まず
config/environment.rbの一番上に追加。
app/controllers/application.rbに追加。
何を置いてもまずはこれです。 2006年09月28日Subversionでのファイル管理
RailsプロジェクトをSubversionにインポートした時に、バージョン管理しないディレクトリやファイルを設定します。
と、やってやれば だいたいオッケ
2006年09月28日ソートミス 数字と文字2000年対応のプロジェクトで銀座の外れで仕事をし始めてまもなくの頃。
コンパイルリストをPCにエクスポートし、この行番号を利用してVBAで2000年問題の対処候補を絞り込めるだろうと提案し実装した。処理さえ出来てしまえば簡単である。あとは帰りに実行しておけば朝には怪しい箇所にチェックを付けたリストが保存される。 しばらくそれで行っていたが、ある時「なんかこれ、引っかかってきてないんだけれど」という指摘を受けた。 データを分解し、行をソートしてマッチング処理なんかをしていたのだが、ソート順が「文字順」になっていたのだ。 どういうことかというと、11 と 2 ならどちらが大きい?と判定させた場合、数字順なら 2 だが、文字順だと 11 が小さいと判断されてしまうのだ。行番号を利用して「数字順」に並んだという前提で処理をしていたため、いわゆる順ファイルのマッチング処理で網羅できなかったのだ。セルの設定で何とでもなるみたいだが、当時はミスってしまった。 Excelでソートをかける際、そういう落とし穴にはまらないようご注意を。 |
エンジニアが作る最新ITブログ トップ>【2006年09月】