何か着ていればいいよ

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

開発

データベース設計時の正規化について忘れがちだけど大事なこと

これはDB設計ポエムです。 以下読むならポエムと割り切って斜め読み推奨です。 自分はこれまでDB設計を多少は経験してきました。 他人の設計を引き継いで追加設計:8割 新規に自分で設計:2割 というような割合で。 他人の設計にはほれぼれするようなものもあ…

ソフトウェア見積の非対称性について

今回の話は受託案件を念頭に書いています。 まず、ソフトウェア技術者が行う見積について 顧客とソフトウェア技術者の間の見積の内訳、あるいは根拠となるソフトウェア開発にまつわる知見の非対称性の問題を最近の経験からどういものか考えてみたいと思いま…

クソコードをクソで終わらせないために僕らが出来ること

あけましておめでとうございます。 新年最初のエントリーですが、こんな話題でなんだかな?って感じもしますが気にしない! 本題 仕事でプログラマーをしていると避けられないのが、既存のくそコードです。 このエントリーではクソコードを プログラマーが読…

プログラマーとして夢想する作り捨てを許さない組織文化

自分がソフトウェア開発プロジェクトにプログラマーであったり、プロジェクトリーダーであったり色々な役割を担いながら参加してきて、常に悩まされてきた問題についてちょっと考察してみようと思います。 それは作り捨てと個人的には呼んでいる、小規模な案…

Webシステムでアカウントのパスワードの暗号化の話

Internet上に公開しているWebアプリケーションを開発している人間にとっては当たり前の事かもしれませんが、自分は今まで業務システムや制御系が多かったので最近になって初めてちゃんと考えた表題の件。 とりあえず、備忘録としてまとめておこう。 前提とな…

セキュリティ(ログイン機構への攻撃)について調べた事

最近、機会があって調べたWebアプリケーションのログイン機構に対する攻撃手法とその対策について 備忘録として残しておこう。 いかに記載した対策は調べて分かった部分と自分で考えた部分がごっちゃになっているので 今後、実際にシステムに取り入れる際に…

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

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

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

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

イテレーションの振り返りをこんな感じでやっているよ

自分の携わっている案件では比較的アジャイル的なプロジェクトの進め方をしています。 その一例としてだいたい一週間を1イテレーションとしたサイクルで(出来るのであれば)その時点の成果物リリースを行っています。 そのため、毎週の振り返り(と称した週…

見積は自己ベストを基準にしてはいけない。

今日もタイトルが全てという感じですが以下本文はおまけみたいなものです。 事の経緯 これはソフトウェア開発における、機能の見積もりに関するお話です。 最近の工数見積もりはある程度経験のあるメンバーがチームに多いという状況もあって、チーム全員が集…

週次進捗会議を『イテレーション振り返り』と称することでアジャイルな雰囲気を醸すこと

ソフトウェア開発プロセスにおいてウォーターフォールと並ぶプロセスとして、アジャイ開発プロセスがすでに確固たる地位を気づいてもう何年たったでしょうか? ウォータフォールに最適化された組織に見えた大手SIerでさえもアジャイルプロセスのメリットを取…

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

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