涼の成長記録

自らの人生に主導権を持つべく、独立を目指して2014年3月31日を持ってITエンジニアを退職。そんな23歳♂の成長記録。

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

理想の自分を形成するために

かっこいい生き方 誰もが理想の自分を持っていると思います。理想の自分っていうのは、理想に対して自分の時間をどれだけ投資するかで決まってくると思います。しかし、人間というのは弱いもので、そのことから逃げ出してしまいがちです。ある程度の妥協点を…

ノー残業デーについて考える

ノー残業デーの目的は何か 例年のごとく、厚生労働省 福岡労働局より、11月20日(水)を「ノー残業デー」にしませんか?という提案が来ており、今日がその日でございます。 そもそも我が社は毎週水曜日がノー残業デーです。しかし、よく訓練された社畜である私…

笑えるくらい不幸な日も、 世界を閉じたくなるようなつらい日も

たまに、ふっと消えてしまいたくなることがあります。 様々な重圧だったり、不安だったり、疲労だったり、ストレスだったり。嫌なことは重なるもので、これらが全て襲い掛かってきた時に、メンタルに深刻な脆弱性を抱えている私は、何のために生きているのか…

TempFileを添付ファイル

この文章をたまたま見かけて、仕事中にも関わらず吹き出してしまった。 このプロジェクト…まさか…「TempFile」という言葉を「添付ファイル」の意味で使っているのか…

codepad

便利なサイトがあるのですね。 codepad ちょっと実行結果が知りたい時とかに、WEBブラウザー上でプログラムを組んで、コンパイルして動かすことができます。そして、それをWEB上で公開することもできます。何故今まで知らなかったのでしょうか。めちゃくちゃ…

英語の読み方

今日の今日まで、true, falseのfalseを「ファルス」と読んでいたのですが、正しくは「フォールス」だということを知りました。英語に対して、日本人特有の慣習的な読み方ってありますよね。NULLは英語圏では「ナル」と読みますが、日本人の慣習的な読み方は…

ソフトウェアの世界でキャリアを築く1

今、この本を読んでいます。"ソフトウェアの世界でキャリアを築く" CODE COMPLETE以来の衝撃を覚えた一冊で、いや、まだ読んでいる最中("もなか"ではなくて"さいちゅう")なので正しくは"CODE COMPLETE以来の衝撃を覚えている一冊で"ですね。まだ少ししか読ん…

ただの日記

技術とは関係のない日記となります。一昨年、昨日、今日で東京旅行に行って参りました。1日目はディズニーシー、2日目はディズニーランド、3日目はスカイツリーへ。 ディズニーリゾートで驚いたのは、噂通りの圧倒的なサービス力です。ゲストを楽しませる意…

static constの定数で、"定数式が必要"のエラー

C++

先日定数クラスを作ったのですが、今日STLのbitsetのテンプレート引数に、定数を指定すると、"定数式が必要"のエラーが発生しました。 ソースはこんな感じです。 TConstant.h #ifndef TConstantH #define TConstantH class TConstant { public: static const…

プログラマーにとって、ハロウィンとクリスマスは同じ

いわゆる、プログラマージョークというやつを紹介します。 Why do programmers always mix up Halloween and Christmas? Because Oct 31 equals Dec 25. 何も考えず素直に日本語に訳すと、以下のようになります。 何故プログラマーは、いつもハロウィンとク…

アクセサメソッドにdoxygenコメント入れると冗長

C++

まあ、記事タイトルの通りなのですが、 /*! 高さを返す。 @return 高さ */ int getHeight(); /*! 横幅を返す。 @return 横幅 */ int getWidth(); のような感じで、ずらーっと冗長なメソッド宣言が並ぶことになります。@returnを与えないと、ドキュメント化さ…

const, enumによる定数名は大文字にしない

C++

今まで、「名前付き定数は大文字にする」って勝手に思い込んでいました。事実、そういうプログラムをずっと書いてきました。CODE COMPLETEでもそう言っていました。キリストだって多分そう言っていました。 // マクロ #define MACRO 10; // const修飾子 stat…

constexpr

C++

C++素人の私が、大規模アプリケーションを開発するものだから、作るクラス作るクラス、WEBで調べながら、今の私が理解できる範囲で、最適な実装方法を模索しています。そんな中で、今日作るクラスは、アプリケーション全体で使用する定数を定義しておくクラ…

いつまで経ってもオブジェクト指向が分からない

アプリケーション初期化の方法 最近オブジェクト指向がほんの少しだけ分かるようになってきて、C++Builderでアプリケーションを開発しているのですが、初期化処理をどこで実装するのかが分かりません。INIファイルを読み込んだり、各種DLLを初期化したり等、…

497日問題

前置き 社内で、497日問題が何たらー、というメールがCcで回ってきました。そういえば、そんなの聞いたことあるなーと思い、少し調べてみました。概要や問題、対象OS等については、以下にあります。Windows Vista、Windows 7、Windows Server 2008 および Wi…

CSVファイルアクセスクラス

良さげなものがWEBで見つからなかったので、自分で無理矢理作ってみる。※ 2013年11月25日 以下の記事もご覧になった方が良いかもしれません。 TStrings::CommaTextは半角スペースも区切り文字とみなす - 涼の成長記録 TCsvFileAccess.h /*! @file TCsvFileAc…

幸せに生きる

「人生楽しそうだね」と、言われました。どういう意味かは分かりませんが、確かに楽しいです。人生楽しみまくっています。でも、なんで俺は人生が楽しいんだろう、言い換えれば、なんで俺はこんなに幸せなんだろう、と少し考えてみることにしました。 人間は…

INIファイルアクセスクラス

一般レベルの品質の強固なプログラムを組むためには、どうしたら良いのでしょう。いつになれば、初心者を卒業できるのでしょう。そんなことを思いながら、コードをブログに載せまくって、誰かエンジニアとしてメンターになってくれる人が、現れないかを待ち…

constメンバー変数をコピーコンストラクターでコピー

C++

constメンバー変数を持ったクラスをコピーする時に、コピーコンストラクターからコピーする方法が分からず、1時間ぐらい格闘していました。別にコピーコンストラクターであっても、普通のコンストラクターと同じくイニシャライザー使えば、constメンバー変…

IPv4アドレス文字列の区切り文字(.)を除去して0埋め12Byte文字列に変換する

C++

こんなルーチンが必要になったり。 /*! IPv4アドレス文字列の区切り文字(.)を除去して0埋め12Byte文字列に変換する。 例) ["192.168.0.1" → "192168000001"] @param address :変換元のIPアドレス文字列。 @param str :変換結果。12Byte確保しておくこと。入…

16進数ASCIIコードをint型の16進数に変換する

C++

こんな感じです。他に方法ないのですかね。 /*! 16進数ASCIIコードをint型の16進数に変換する。 例) ['0' → 0x00], ['a' → 0x0a], ['F' → 0x0f] @param character :変換元の16進数文字(ASCII) @return 変換結果。16進数文字でなければ0を返す */ int charact…

bool型をint型に変換

C++

bool型の変数を、int型に変換したい時が稀にあります。falseなら0, trueなら1にしたい場合、とりあえず、適当な変換ルーチン作っとけばいいかな、みたいな安易な考えの結果がこれです。 int boolToInt(bool b) { return b ? 1 : 0; } 何故か嫌われる三項演算…

YAGNI (You Are'nt Going to Need It)

XP(エクストリーム・プログラミング)に、YAGNIという言葉があります。"You Are'nt Going to Need It"の略で、「そんなの必要ないって」という意味です。 Wikipedia大先生は、こう語ります。 YAGNI原則を提唱する人々は、その理由として以下を挙げている。 あ…

doxygen 俺的規約

今回開発するアプリケーションは、初めてのdoxygenに挑戦しようと思っています。以下のWEBサイトを参考に、私的に好みな感じにしてみました。できるだけ、書く量が少なくなるように意識しています。いるかなー。。?と思ったらいらない。初めてなので、まだ…

二重起動防止クラス

アプリケーションを二重起動しないためのクラスを作成しました。 TDoubleStartingGuard.h /** * @file TDoubleStartingGuard.h * @brief 二重起動防止クラス定義 */ #ifndef TDoubleStartingGuardH #define TDoubleStartingGuardH #include <vcl.h> #pragma hdrstop</vcl.h>…

Gitを知らない私がGitHubを覚えたい

前置き バージョン管理システムを知らない私が、"良いコードを書く技術"という本に「GitHubやっとくといいよ!」みたいなことが書いてあったため、WEB上の資料を漁りながら、GitHubを始めてみることにします。 良いコードを書く技術 - 涼の成長記録 この記事…

プロジェクトのフォルダ構成

今回、C++Builder XE2で完全新規のWindowsアプリケーションを開発することになりました。今の私の全ての力を使って、過去最高のアプリケーションを作り上げようと思います。軽く見積もったところ、150クラスぐらいのアプリケーションなのですが、工期が2か月…

テクハラ(Technology Harassment)

たった今知ったのですが、テクハラなんて言葉が存在するのだそうです。テクノロジー・ハラスメント(Technology Harassment)、つまり、技術的な嫌がらせですかね。 テクハラ(てくはら) - 日本語俗語辞書 具体的にはコンピュータが疎い人にわかりそうもない…

きれいなコードを書くための鉄則

先日に続き、良いコードを書くための本を読みました。読書な休日も素敵なものです。秋ですからね。今日読んだのは"きれいなコードを書くための鉄則"です。 本のタイトルの通り、きれいなコードを書くための鉄則が、易しめに書かれてあります。 目次はこんな…

スティーブ・ジョブズ

今日は、映画を観に行きました。目的は"スティーブ・ジョブズ"です。 ところで、先日こんな記事を書きました。 なんと、1人映画です。1人ラーメン屋、1人カラオケ、1人居酒屋などの経験はありますし、結構余裕なのですが、今回は1人映画です。しかし、…