何か着ていればいいよ

ソフトウェア技術者の日常や技術の話を書こうと思います。

プログラマー

Soft Skills の日本語訳本が出ていた!

僕は昨年、@higeponさんのこの記事 d.hatena.ne.jp から惹かれて英語版を半年かけて読んだわけですが やはりその間に翻訳が進んでいたんですねー。 SOFT SKILLS ソフトウェア開発者の人生マニュアル作者: ジョン・ソンメズ,まつもとゆきひろ(解説),長尾高弘…

表参道.rb #4に参加したよ #omotesandorb

omotesandorb.connpass.com ちょっと、時間が経ってしまったのですが上記のイベントへ行ってきました。 目的 Rubyエンジニアとして成長したいが実務では触らないので、勉強会で刺激を受けたい。 個人でやるにも限界が…。 ということで第二回から一回飛んでの…

メールが文字化けするのは仕方ない

最近、メールを受信してその中身を解析し、その結果に応じて また次の処理を行うというアプリケーションをいじっています。 その中で思ったのが表題の件。 ドロドロした部分は(特にMS製の)メーラーが何とかしてくれていた。 昔*1はメールが文字化けすると…

最近の"プログラマーの毎日を少しだけ有意義にする習慣"

以前こんなことを書いてました。 プログラマーの毎日を少しだけ有意義にする習慣 - 何か着ていればいいよ プログラマーの毎日を少しだけ有意義にする習慣 - 何か着ていればいいよ で、習慣とか言って実際はなかなか習慣化出来ていませんでした。*1 でも、最…

レガシーシステムに文句を言っていると本質を見失う恐れがある

経緯 レガシーシステムは、その歴史的経緯により様々な問題を抱えています。 例えば以下のような テストが(ほとんど)無い DB設計がいまいち クラス設計がゴッドオブジェクトパターン etc. レガシーシステムに文句を言うのは簡単 テストが無いことに文句を…

マネージャーを諦める

我々プログラマーを始め、技術者にそういう選択肢があっても良いと思うんだよね。 まぁ、それだけ。

『簡単でしょ』って簡単に言うよね

顧客や上司から、あれこれやりたい事や夢だかポエムだかそういった話を聞いた後に 『これくらい簡単でしょ?」と言われた事のあるプログラマーやデザイナーは多いのではないでしょうか? そんな、無邪気な発言に対しての最近考えている戦略*1について書き残…

プログラミング上の勘所についての小ネタ

最近、プログラミング関連で思った事なんか雑多なものを適当に書き残す。 条件分岐の考え方 条件分岐を意味する部分をifやswitchではなく例外やgotoで実現してしまうというアンチパターン 自分にも経験があるが、やっているときは便利やんこれと思っていても…

コードレビュー中に『う゛んぎぃ!!!』ってなった話

とあるシステムのコードレビュー中の話 こんなコードを見てイライラした。 ※変数名やコメントは業務コードだったので実際のものとは変えています。 この短いセンテンスの中にイラッと来るポイントが複数あって凄い! if文ごとにコメントがあるがifの条件をま…

自分がいつもやっているソース解析の方法

この記事作成時点の自分のソース解析のために普段行っている手法を記録しておきます。 前提 ソース解析の目的は主に以下のもの 不具合原因調査 ソースレビュー 仕様変更(追加)に伴う変更箇所調査 解析手法をどう選択するか 主に目的によって以下のように分け…

Webアプリケーションの常識集

タイトルは調子こいて大きな話になっていますが、自分がWebアプリを開発する上で常識だと思っている事。 常識集といいつつ、アンチパターンを集めている気もするなぁ。 コンテキストが書いてないんでアレなんですが、とりあえず列挙しておきたかった。 実装…

スペルミス集作っているよ

長い事プログラマーをやっているとさけて通れない英語のスペルミス。*1 最近はEclipseなどのIDEでもある程度チェックしてくれたりするのですが、camel cas とかでクラス名や変数名に紛れ込ませてしまうと正直、見つけ出すのは困難で見逃しまくりです。 自分…

今まで見たもっともクソなテーブル設計

あれは、僕がデータベースを扱ううち最初から3件目のプロジェクトだった。C++のソースが難解で火を吹いているという話で、自分は低スキルの若造。火にくべるには丁度良い程度のやる気と責任感をもっていた。折悪く別のプロジェクトが終了した直後だったもの…

技術の2分化とそこに取り残された自分

昨年のデブサミは印象深かった デブサミの季節ですね。 去年は仕事を休んで二日とも参加したのですが、今年はプロジェクトが絶賛火を吹いている関係で参加できませんでした。そこで、去年のデブサミで感じたことと、その感触を一年間経って生かせなかった反…

コードスニペットをファイルで管理していたがGistに上げた方が良いと気づいた話。

タイトルが全てという感じです。 が、とりあえず経緯もふまえて残しておきます。 元々はどうしていたのか? 自分用の簡単なプログラム類は"Programs"というフォルダ配下に一応言語ごとにフォルダ分けしてしまっておりました。 そして、言語のフォルダ内にス…

S2Dao.NetでTable定義と異なるEntityを使う方法

Seasar.NetのS2Dao.NetでDaoにSql属性を付与してSelect文を書きたかったのだけど、Entityとは異なる(複数テーブルをJoinした)形で書きたかったのでその方法をメモ。例えば、こんなSQL select t1.id, t21.value option_value, t22.value additional_value f…

勉強会とソフトウェア業界では空気が違う

最近、協力会社から外注の方一人にプロジェクトへ参加してもらいました。 その、方と接する中で気づいたことをつらつらと。 頑張って新しい技術を取り入れながらプロジェクトやっているよ まず、我々がどのようなシステムを構築しているかというのを差しさわ…

自己流コードレビューのやり方

ソフトウェア開発にまつわるコードレビューってありますよね。 ここ数年、僕が自己流で試行錯誤しながらやっているコードレビューの細かい作業詳細を記録しておきます。 レビュー依頼 基本的にある程度の機能単位でのチケット駆動開発でプロジェクトを進めて…

システム管理者兼プログラマーの格闘

ここ数年の話 私は自分のことを根っこではプログラマーだと思っています。 単純にキャリアのスタートがプログラマーだったということもありますし、今までの仕事で顧客に一番価値を提供できていたのはプログラマーとしてだったという側面もあります。 ただ、…

プログラマーのキャリアパスについての悩み

キャリアパスに最近思い悩む 自分のキャリアは最初にプログラマーとしてスタートして仕事の必要性にその都度応じつつ、データベースエンジニアやアーキテクト、ネットワークエンジニア、インフラエンジニアというスキルを広く浅く修めてきました。 そこで、…