何か着ていればいいよ

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

考える作業と考えない作業

通勤中にぼんやり考えたこと 仕事をしていて、"あまり考えず"する作業と"よく考えて"すべき作業があったりします。 それぞれ、どんなものかなーって考えていた内容をつらつらと。 "あまり考えず"する作業 これにあてはまるっぽい作業を羅列してみます。 ルー…

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

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

PHP BLT #4 に参加しました

今回、まとめブログ枠で参加したこともあり、のエントリーです。 参加理由 正直、PHPの勉強会は今回が初めて。 JavaとRuby、EcmaScriptのコミュニティと同じなのか違うのか、一週間前くらいからワクワクしていました。 発表内容 PHP fukuokaの紹介 speakerde…

Meguro.es #3に参加しました。

こちらの勉強会に参加してきました。 第三回ですが、自分は二回目の参加です。 meguroes.connpass.com 会社から徒歩で目黒駅近辺なら行けるということが分かったのが最初の収穫ですね。 開始時間ギリギリになってしまいましたが、ドリコムさんの綺麗なミーテ…

遅読の自分を許すこと

すべての元凶はこの本 Soft Skills: The Software Developer's Life Manual作者: John Z. Sonmez,Scott Hanselman,Robert C. Martin出版社/メーカー: Manning Pubns Co発売日: 2014/12/29メディア: ペーパーバックこの商品を含むブログを見る 最初の一章を読…

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

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

購入する技術書を電子書籍のみにしてみた結果

技術書 紙と電子書籍の使い分けについて雑文を書いてみようと思います。 経緯 我々ソフトウェアエンジニアは常に勉強し続けなければ時代に取り残されてしまう哀れな生き物です。 なので、片時も技術書が手放せません。 しかし、良書と世に言われている技術書…

2015年に読んだ本まとめ

2015年に読んだ本を読書メモから簡単にまとめておきます。 まず、ベストの一冊を先に記載し、 そのあとに読んだ本リストという形にしておきます。 最高の一冊 How Google Works How Google Works作者: エリック・シュミット,ジョナサン・ローゼンバーグ,アラ…

キャッシュサーバーをスケールアウトしたい人はtwemproxyを使うといいよ

最近ちょこちょこ触っているtwemproxyの知見を書き残しておきます。 言いたいことはタイトルが全てって感じです。 twemproxyとは? github.com twitterでも使われている。memcacheまたはredis向けproxy。 以前はnutcrackerと呼ばれていたそうです。 twemprox…

ちゃちゃっとWebサーバーを立てる方法

自分のやってきた方法の履歴を公開してみます。 やりたいこと 開発環境(Windows)であるところの自分のPCでちゃちゃっとWebサーバーたてて、静的コンテンツ確認したいな。 的な場合の話です。 題名とちょっとずれているような気もするけど気にしない。 例え…

twemproxyのソースを緩く読む

github.com これを緩く読み始めた。 エントリーポイントは /src/nc.c ありとあらゆるところにプリフィックスとして"nc"が振られている。 うーん?こういうものかな? twemproxyとは?みたいのは面倒だから書かない。 もう、これは自分用のメモと割り切るよ!…

Yahoo! JAPANデータサイエンスソリューションワークショップ+懇親会 #yjdsw2

参加してきました。 yahoo-ds-event.connpass.com なぜ参加したか? 最近業務でデータサイエンスを利用できそうな大規模なデータを扱う可能性が出てきたという経緯があります。 ただ、自分のバックグランドとして受託開発の何でも屋だったので大規模なデータ…

第二回 Tokyo Apache Drill Meetup #tokyodrill に参加したよ

こちらに参加しました。 drill.connpass.com 経緯 実は今回、Apache Drillに興味があっての参加というわけではありませんでした。 大規模データを扱う勉強会に意図的にここのところ参加しているのですが、昨日の「Yahoo! JAPANデータサイエンスワークショッ…

ソフトウェアエンジニアとしての目標を立てたよ

ポエムを少々書きます。 自分は今年で38才。 一時騒がれたプログラマーの定年とされる35才をとっくにすぎたこの時期に至って未だに5年後、10年後の目標を漠然としか思い描けないままここまできてしまいました。 ただ、物事を始めるのに遅すぎることはない。…

PHPに入門したよ

<注意> 初心者が単に感想を書くだけです。以下読む意味はほとんどありません。 PHPに入門して最近覚えたというか知ったこと。 おまじない どの入門用ソースをみてもおまじない的なphp用のタグが必要だということ。 本当にこれ要るんだろうか? なんかものに…

Seasarのサポートはあと1年!繰り返すSeasarはあと一年で終わる!#seasarcon

ちょっと、自分的に衝撃を受けたのでそんな題名にしました。 本日はSeasar Conference 2015に参加してきました。 event.seasarfoundation.org 最近は、あまり比嘉さんの新規昨日開発停止宣言もあり、大きな動きもなかった*1Seasar界隈ですが久しぶりのSeasar…

Webアプリケーションやらかし集(その1)

Webアプリケーションの開発に関連していままで見たことあるやつや、やってしまったことがあるやらかし集。 アンチパターンと言っても良いと思う…。 というわけで、尊敬すべき愛読書"SQLアンチパターン"の記法に沿って解説していみます。 SQLアンチパターン作…

WindowsのTerminalはConEmuがオススメだよ

最近使っているterminalについて書いておきます。 結論 最初に結論 ConEmuが良いよ。 conemu.github.io 前提条件 仕事ではWindowsで作業しています。 なのでWindowsでの話。 自分の過去のterminal遍歴はこんな感じ コマンドプロンプト Cygwin Windows Power …

InfoQ(英語)で良書と出会える

エンジニアにおなじみのInfoQ*1。 この英語版のサイトでは電子書籍を発行しているのですが*2、これがなかなかの良書ぞろいだと自分は思っています。 先日はこちらを手に入れずっと読んでおりまする。 www.infoq.com 形式も書籍によりますが、PDF, ePub, mobi…

個人の成功体験と失敗体験

なんかそれっぽいことを書いてみたくなって書いていますが、基本的にはクソポエムです。 社会人の仕事上の成功と失敗について個人の経験はどう関わる?って部分で最近思っていること。 前段 自分は社会人経験が12年ちょっとしかありませんが、いっぱいの失敗…

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

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

人月から価値へ

人月のを提供する企業から価値を提供する企業に転職して一週間。 そこらへんのパラダイムの違いを自分なりに整理してみます。 人月の世界での自分を売る 転職前、人月世界でソフトウェアエンジニアとしての自分の売りは以下のようなものでした。 相対的に人…

Rubyの配列(あるいはオブジェクト)の振る舞いがよく分からない。

表題の件について、今日は色々はまっているのでその経緯を残しておく。 環境 OS:mac os x ruby: ruby 2.0.0p481 状況 ruby koansのabout_dice_project.rbを解いていて以下の状況にぶち当たった。 あるクラスのメンバ変数*1を配列クラスでもっており、そのcle…

僕はこうして失敗しました - 転職面接でのコーディングについて

ここ数ヶ月ソフトウェアエンジニアとして転職面接をしていて非常に苦手だったのが 面接のその場でコーディングってやつ。 というわけで、その失敗経験をちょっと記録しておきます。 いきなりコーディングはやばい 面接官が入ってきて、自己紹介をするや否や…

第二回表参道.rbに参加してみた #omotesandorb

表題の通り参加してみました。 表参道.rb #2 (2015/07/02 19:30〜)omotesandorb.connpass.com なぜ参加したのか? Rubyをプロダクトとして書いていないがRubyコミュニティに顔を出してみたかった。 でも、歴史のあるコミュニティでは新参ものが浮きそうだし…

ループを使わないFizzBuzz問題の解き方

プログラマの登竜門FizzBuzz問題について。 ループを使わない解き方を書いてみた。 通常、この手のループを使わない系は関数の再帰呼び出しで解くのだけど そこをもう一捻りしてコンパイル時に全てのループが展開されている方法をやってみた。 つまり、C++の…

Virtual Box上でRails 4.2.1で WEBRickを立ち上げたら接続できなかった話

最近、ドットインストールでRailsの勉強していたのですが、レッスン通りにやっても動かなくて困った話。 #03 はじめてのRuby on Rails | Ruby on Rails 4入門dotinstall.com "はじめてのRuby on Rails #3" でブラウザから動作確認すると接続できなかったので…

Native2AsciiのJavaScript版を作ってみた

前職でJavaで他言語Webアプリケーションを書いている時に欲しかった機能をモヤモヤが残っていたので作ってみた。 超適当なものだけど、思ったより簡単にできたので以前困っていた時につくってしまえばよかった…。 やりたかったこととその経緯 Eclipseで開発…

Testing Casual Talks #2 に行ってきました #testingcasual

Testing Casual Talks #2 : ATNDatnd.org 最初にまとめ なぜ、参加したのか 今年に入ってからテスト周りの学習をしているが勉強会には参加できていなかったので 本の読書会だと個人的事情で全部は参加しづらいが、一発ものだと参加しやすい テスト周りでの求…

退職しました(旧職でやったことまとめその2)

退職しました(旧職でやったことまとめその1) - 何か着ていればいいよwkubota.hatenablog.com 上記記事の続きです。 前職でやったことの備忘録的な色合い強いです。 チケット駆動開発 Tracを社内に先輩が導入してくれたのですが、最初はどう使ったものかよ…

退職しました(旧職でやったことまとめその1)

本日(4/30)をもって新卒から12年働いた会社を退職します。 ここで、自分が旧職で行った仕事のうちで公開しても問題なさそうな部分を中心にいろいろ思い返してみます。 Javaによる新人教育問題作成 自分の入社時(2003年)はVB6による新人研修を行っていたの…

Unit Testについてちょっと思ったこと

問題が出がちな場所に限ってUnit Testが無かったりする。 Unit Testが無いということと不具合が発生する箇所の因果を立証するような根拠はない しかし、Uni Testが書きづらい設計や動作確認が不十分であることなど、経験上は相関関係があると思う テストケー…

人月見積で困るところ

ソフトウェア開発のプロジェクトで見積を行う際にいつも思い悩んでいること 人がアサインされる前に見積もる これに尽きる で、困っているばかりでは仕事にならないので今までやってきたことを書き残しておきます。 経験の浅い頃 標準的な人で見積もる まず…

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

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

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

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

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

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

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

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

マネージャーを諦める

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

プログラマーだけどクソポエムが気に入っている

最近のブームというか…。 Qiitaにクソポエムを書く云々の記事だかつぶやきを見て『そんなんが流行っているのか?』 と勘違いしたのが発端。 流行っていた訳ではないけど、なんだかプログラマーとクソポエムというフレーズが気に入ってしまった。 ただ、Qiita…

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

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

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

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

概念図を書くツールについて

概念図を書くツールについて、簡単にメモ 何を書きたいか? アーキテクチャ かんたんなクラス設計(これはUMLでもよい) 図の用途 考えを纏めたり 開発前にチームで簡単に共有したり どういう具合? 手書きワイヤーフレームレベル そんなにカチッとしたものを…

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

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

XSSついて改めて勉強してみた

きっかけ 社内勉強会でXSSについてやってみようと思い立った。 周りが企業LAN内での運用を前提として業務システムとかそういうWebしかやっていない中であまり、セキュリティとか気にせずに今までやってこれた。 でも、これからはそれじゃいかんよね。という…

アジャイルチームでコードレビューを実施する上での障害と対策

このエントリは アジャイルCasual Advent Calendar 2014 の 3 日目のエントリです。 前日はa_suenamiさんのPDCAに関するお話でした。 "アジャイルチームでコードレビューを実施する上での障害と対策" ということで、現場で自分が今まで試行錯誤をさらしてみ…

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

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

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

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

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

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

座右の銘がマジすぎて引かれた話

もう3年くらい経つかな。以前の現場で現場に加わって一ヶ月目くらいに歓迎会を開いてもらった。 厳しいリリース済みの製品の不具合対応がメインで日々終電帰りの厳しい環境だったけど、チームの方々は気の良い人々でデスマプロジェクトをなんとか仕上げた直…

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

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